detr doc table detection

ProviderTahaDouaji
Categoryobject-detection
Licenseapache-2.0
Downloads154.9K
Stars0

Overview

The DETR Doc Table Detection model is a specialized object detection tool designed to localize tables within complex document layouts. Unlike traditional heuristic-based table extraction, this model leverages the DEtection TRansformer (DETR) architecture to treat table detection as a direct set prediction problem, eliminating the need for manual anchor tuning or non-maximum suppression (NMS). For developers building RAG pipelines or automated document parsing systems, this model serves as a critical upstream component to isolate tabular data before passing it to OCR or structure recognition engines. It is released under the Apache-2.0 license, ensuring flexibility for commercial integration into PDF processing or data extraction workflows.

Highlights

  • Transformer-based architecture for precise table localization
  • Eliminates manual anchor tuning and NMS post-processing
  • Ideal for preprocessing RAG and document parsing pipelines
  • Permissive Apache-2.0 license for commercial deployment

Usage

Install
# Install Hugging Face transformers
pip install transformers torch
SDK Usage
# Load model with transformers
from transformers import AutoModel, AutoTokenizer

model = AutoModel.from_pretrained("TahaDouaji/detr-doc-table-detection")
tokenizer = AutoTokenizer.from_pretrained("TahaDouaji/detr-doc-table-detection")

Hugging Face Download

We recommend downloading the model via the Hugging Face CLI or Hub SDK.

Guidance:Before downloading, install huggingface_hub with:

Guidance
pip install -U huggingface_hub

CLI Download

Download the full repository

Download the full repository
huggingface-cli download TahaDouaji/detr-doc-table-detection

Download a single file to a local folder (e.g. config.json into ./dir)

Download a single file to a local folder (e.g. config.json into ./dir)
huggingface-cli download TahaDouaji/detr-doc-table-detection config.json --local-dir ./dir

See the official docs for more CLI options

SDK Download

SDK Download
# 模型下载
from huggingface_hub import snapshot_download
model_dir = snapshot_download('TahaDouaji/detr-doc-table-detection')

Git Download

Make sure git-lfs is installed first

Git Download
git lfs install
git clone https://huggingface.co/TahaDouaji/detr-doc-table-detection

To skip LFS large-file downloads, use:

Skip LFS
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/TahaDouaji/detr-doc-table-detection

Model files are hosted on the Hugging Face Hub — download directly via HF CLI / SDK / Git, not through this site.

PyTorch / Transformers Usage

Install Transformers

Install Transformers
pip install -U transformers torch

Load the model and run inference

Load the model and run inference
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained('TahaDouaji/detr-doc-table-detection')
tokenizer = AutoTokenizer.from_pretrained('TahaDouaji/detr-doc-table-detection')

Full Documentation

来源: HuggingFace

---
tags:

  • object-detection

  • '- vision'

  • onnx

license: apache-2.0
base_model: facebook/detr-resnet-50
datasets:
  • MohamedExperio/ICDAR2019

---

Model Card for detr-doc-table-detection

Model Details

detr-doc-table-detection is a model trained to detect both Bordered and Borderless tables in documents, based on facebook/detr-resnet-50.
  • Developed by: Taha Douaji
  • Shared by [Optional]: Taha Douaji
  • Model type: Object Detection
  • Language(s) (NLP): More information needed
  • License: More information needed
  • Resources for more information:
- Model Demo Space - Associated Paper

Uses

Direct Use

This model can be used for the task of object detection.

Out-of-Scope Use

The model should not be used to intentionally create hostile or alienating environments for people.

Bias, Risks, and Limitations

Significant research has explored bias and fairness issues with language models (see, e.g., Sheng et al. (2021) and Bender et al. (2021)). Predictions generated by the model may include disturbing and harmful stereotypes across protected classes; identity characteristics; and sensitive, social, and occupational groups.

Recommendations

Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.

Training Details

Training Data

The model was trained on ICDAR2019 Table Dataset

Environmental Impact

Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).

Citation

BibTeX:


bibtex
@article{DBLP:journals/corr/abs-2005-12872,
author = {Nicolas Carion and
Francisco Massa and
Gabriel Synnaeve and
Nicolas Usunier and
Alexander Kirillov and
Sergey Zagoruyko},
title = {End-to-End Object Detection with Transformers},
journal = {CoRR},
volume = {abs/2005.12872},
year = {2020},
url = {https://arxiv.org/abs/2005.12872},
archivePrefix = {arXiv},
eprint = {2005.12872},
timestamp = {Thu, 28 May 2020 17:38:09 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2005-12872.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}

Model Card Authors [optional]

Taha Douaji in collaboration with Ezi Ozoani and the Hugging Face team

Model Card Contact

More information needed

How to Get Started with the Model

Use the code below to get started with the model.
python
from transformers import DetrImageProcessor, DetrForObjectDetection
import torch
from PIL import Image
import requests

image = Image.open("IMAGE_PATH")

processor = DetrImageProcessor.from_pretrained("TahaDouaji/detr-doc-table-detection")
model = DetrForObjectDetection.from_pretrained("TahaDouaji/detr-doc-table-detection")

inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)

convert outputs (bounding boxes and class logits) to COCO API

let's only keep detections with score > 0.9

target_sizes = torch.tensor([image.size[::-1]]) results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.9)[0]

for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
box = [round(i, 2) for i in box.tolist()]
print(
f"Detected {model.config.id2label[label.item()]} with confidence "
f"{round(score.item(), 3)} at location {box}"
)

Join our Telegram