🚀 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ライセンスを使用しています。