Model reference · open weights
RT-DETR-L_wired_table_cell_det is an open-weight language model from Baidu.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the PaddlePaddle/RT-DETR-L_wired_table_cell_det model card, 2026-10-01
What it is
| Released by | Baidu |
|---|---|
| Released | 2025-06-06 |
From the model card
The Table Cell Detection Module is a key component of the table recognition task, responsible for locating and marking each cell region in table images. The performance of this module directly affects the accuracy and efficiency of the entire table recognition process. The Table Cell Detection Module typically outputs bounding boxes for each cell region, which are then passed as input to the table recognition pipeline for further processing.
Note: The accuracy of RT-DETR-L_wired_table_cell_det comes from the results of joint testing with RT-DETR-L_wireless_table_cell_det.
Please refer to the following commands to install PaddlePaddle using pip:
# for CUDA11.8
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# for CUDA12.6
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
# for CPU
python -m pip install paddlepaddle==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
For details about PaddlePaddle installation, please refer to the PaddlePaddle official website.
Install the latest version of the PaddleOCR inference package from PyPI:
python -m pip install paddleocr
You can quickly experience the functionality with a single command:
paddleocr table_cells_detection \
--model_name RT-DETR-L_wired_table_cell_det \
-i https://cdn-uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/JUU_5wJWVo4PcmJhSdIo3.png
You can also integrate the model inference of the table classification module into your project. Before running the following code, please download the sample image to your local machine.
from paddleocr import TableCellsDetection
model = TableCellsDetection(model_name="RT-DETR-L_wired_table_cell_det")
output = model.predict("JUU_5wJWVo4PcmJhSdIo3.png", threshold=0.3, batch_size=1)
for res in output:
res.print(json_format=False)
res.save_to_img("./output/")
res.save_to_json("./output/res.json")
After running, the obtained result is as follows:
{'res': {'input_path': 'JUU_5wJWVo4PcmJhSdIo3.png', 'page_index': None, 'boxes': [{'cls_id': 0, 'label': 'cell', 'score': 0.9719462394714355, 'coordinate': [98.776054, 48.676155, 235.74197, 94.76812]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9706293344497681, 'coordinate': [235.65723, 48.66303, 473.31378, 94.746185]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9692592620849609, 'coordinate': [235.62718, 164.7009, 473.3329, 211.70175]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9682302474975586, 'coordinate': [98.61444, 164.80591, 235.63733, 211.60106]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9662815928459167, 'coordinate': [1.914098, 48.64288, 98.82235, 94.75366]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9643649458885193, 'coordinate': [1.8260963, 164.74123, 98.64024, 211.56848]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9605159759521484, 'coordinate': [98.783226, 117.873886, 235.74089, 141.91118]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9604074358940125, 'coordinate': [98.77425, 94.79676, 235.80171, 117.937065]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9603073596954346, 'coordinate': [98.788315, 1.8037335, 235.8512, 24.844206]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9592577815055847, 'coordinate': [235.70949, 94.7883, 473.3138, 117.90771]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9591122269630432, 'coordinate': [98.85015, 24.80603, 235.73082, 48.770897]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9586214423179626, 'coordinate': [235.62253, 1.8327671, 473.30493, 24.799725]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9583646059036255, 'coordinate': [235.7168, 117.81723, 473.26074, 141.87694]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9580551385879517, 'coordinate': [98.747986, 141.79, 235.71774, 164.90057]}, {'cls_id': 0, 'label': 'cell', 'score': 0.957258939743042, 'coordinate': [235.6782, 24.70515, 473.0595, 48.79732]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9568949937820435, 'coordinate': [1.8317447, 94.74939, 98.85935, 117.94785]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9563664793968201, 'coordinate': [1.8571337, 1.8207415, 98.98403, 24.901613]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9562588334083557, 'coordinate': [235.67096, 141.72911, 473.3746, 164.82388]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9557535648345947, 'coordinate': [1.922168, 117.84509, 98.85703, 141.85947]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9551460146903992, 'coordinate': [1.8364778, 141.7853, 98.83259, 164.88046]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9547295570373535, 'coordinate': [2.0152304, 24.793072, 98.84856, 48.75716]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9525823593139648, 'coordinate': [235.63931, 211.63988, 473.2472, 254.16182]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9454454779624939, 'coordinate': [98.62049, 211.4913, 235.57971, 254.40237]}, {'cls_id': 0, 'label': 'cell', 'score': 0.9410758018493652, 'coordinate': [1.9204835, 211.48651, 98.601524, 254.9897]}]}}
The visualized image is as follows:
For details about usage command and descriptions of parameters, please refer to the Document.
The ability of a single model is limited. But the pipeline consists of several models can provide more capacity to resolve difficult problems in real-world scenarios.
The general table recognition V2 pipeline is used to solve table recognition tasks by extracting information from images and outputting it in HTML or Excel format. And there are 8 modules in the pipeline:
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
How it works