🚀 RT-DETR-H_layout_3cls
這是一個高精度的佈局區域定位模型,基於RT-DETR-H在自建的中英文論文、雜誌和研究報告數據集上訓練得到。該模型為3類佈局檢測模型,可檢測表格、圖像和印章。
🚀 快速開始
📦 安裝指南
1. 安裝PaddlePaddle
請參考以下命令,使用pip安裝PaddlePaddle:
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
python -m pip install paddlepaddle==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
PaddlePaddle安裝詳情請參考PaddlePaddle官方網站。
2. 安裝PaddleOCR
從PyPI安裝最新版本的PaddleOCR推理包:
python -m pip install paddleocr
💻 使用示例
基礎用法
你可以使用單條命令快速體驗模型功能:
paddleocr layout_detection \
--model_name RT-DETR-H_layout_3cls \
-i https://cdn-uploads.huggingface.co/production/uploads/63d7b8ee07cd1aa3c49a2026/N5C68HPVAI-xQAWTxpbA6.jpeg
你也可以將佈局檢測模塊的模型推理集成到你的項目中。在運行以下代碼前,請將示例圖像下載到本地:
from paddleocr import LayoutDetection
model = LayoutDetection(model_name="RT-DETR-H_layout_3cls")
output = model.predict("N5C68HPVAI-xQAWTxpbA6.jpeg", batch_size=1, layout_nms=True)
for res in output:
res.print()
res.save_to_img(save_path="./output/")
res.save_to_json(save_path="./output/res.json")
運行後,得到的結果如下:
{'res': {'input_path': '/root/.paddlex/predict_input/N5C68HPVAI-xQAWTxpbA6.jpeg', 'page_index': None, 'boxes': [{'cls_id': 1, 'label': 'table', 'score': 0.9491576552391052, 'coordinate': [73.66756, 105.629265, 322.29645, 299.0941]}, {'cls_id': 1, 'label': 'table', 'score': 0.9472811222076416, 'coordinate': [437.03156, 105.77351, 663.26776, 313.97778]}]}}
可視化圖像如下:
使用命令和參數說明詳情請參考文檔。
高級用法
單個模型的能力有限,但由多個模型組成的管道可以為解決現實場景中的難題提供更強的能力。
PP-ChatOCRv4-doc
PP-ChatOCRv4-doc是PaddlePaddle推出的獨特的文檔和圖像智能分析解決方案,它結合了大語言模型(LLM)、多模態大語言模型(MLLM)和OCR技術,以應對複雜的文檔信息提取挑戰,如佈局分析、生僻字符、多頁PDF、表格和印章識別等。它集成了ERNIE Bot,融合了海量數據和知識,實現了高精度和廣泛的適用性。
文檔場景信息提取v4管道包括佈局區域檢測、表格結構識別、表格分類、表格單元格定位、文本檢測、文本識別、印章文本檢測、文本圖像矯正和文檔圖像方向分類等模塊。
你可以使用單條命令快速體驗PP-ChatOCRv4-doc管道:
paddleocr pp_chatocrv4_doc -i vehicle_certificate-1.png -k 駕駛室準乘人數 --qianfan_api_key your_api_key
如果指定了save_path
,可視化結果將保存到save_path
下。
命令行方法適用於快速體驗。對於項目集成,也只需要幾行代碼:
from paddleocr import PPChatOCRv4Doc
chat_bot_config = {
"module_name": "chat_bot",
"model_name": "ernie-3.5-8k",
"base_url": "https://qianfan.baidubce.com/v2",
"api_type": "openai",
"api_key": "api_key",
}
retriever_config = {
"module_name": "retriever",
"model_name": "embedding-v1",
"base_url": "https://qianfan.baidubce.com/v2",
"api_type": "qianfan",
"api_key": "api_key",
}
mllm_chat_bot_config = {
"module_name": "chat_bot",
"model_name": "PP-DocBee2",
"base_url": "http://127.0.0.1:8080/",
"api_type": "openai",
"api_key": "api_key",
}
pipeline = PPChatOCRv4Doc()
visual_predict_res = pipeline.visual_predict(
input="vehicle_certificate-1.png",
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_common_ocr=True,
use_seal_recognition=True,
use_table_recognition=True,
)
visual_info_list = []
for res in visual_predict_res:
visual_info_list.append(res["visual_info"])
layout_parsing_result = res["layout_parsing_result"]
vector_info = pipeline.build_vector(
visual_info_list, flag_save_bytes_vector=True, retriever_config=retriever_config
)
mllm_predict_res = pipeline.mllm_pred(
input="vehicle_certificate-1.png",
key_list=["駕駛室準乘人數"],
mllm_chat_bot_config=mllm_chat_bot_config,
)
mllm_predict_info = mllm_predict_res["mllm_res"]
chat_result = pipeline.chat(
key_list=["駕駛室準乘人數"],
visual_info=visual_info_list,
vector_info=vector_info,
mllm_predict_info=mllm_predict_info,
chat_bot_config=chat_bot_config,
retriever_config=retriever_config,
)
print(chat_result)
管道中使用的默認模型是RT-DETR-H_layout_3cls
。使用命令和參數說明詳情請參考文檔。
📚 詳細文檔
屬性 |
詳情 |
模型類型 |
3類佈局檢測模型,可檢測表格、圖像和印章 |
訓練數據 |
自建的中英文論文、雜誌和研究報告數據集 |
🔗 相關鏈接
📄 許可證
本項目使用Apache-2.0許可證。