🚀 PP-DocLayout-L
PP-DocLayout-Lは高精度のレイアウト領域定位モデルです。このモデルはRT-DETR-Lアーキテクチャに基づいており、自社で構築した、中英語の論文、雑誌、契約書、書籍、試験用紙、研究報告などの文書を含むデータセットで訓練されています。このモデルは23種類の一般的な文書レイアウトカテゴリを検出でき、文書レイアウト検出の問題を効果的に解決し、文書処理に正確なレイアウト情報を提供します。
🚀 クイックスタート
📦 インストール
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 PP-DocLayout-L \
-i https://cdn-uploads.huggingface.co/production/uploads/63d7b8ee07cd1aa3c49a2026/N5C68HPVAI-xQAWTxpbA6.jpeg
また、レイアウト検出モジュールのモデル推論をあなたのプロジェクトに統合することもできます。以下のコードを実行する前に、サンプル画像をローカルマシンにダウンロードしてください。
from paddleocr import LayoutDetection
model = LayoutDetection(model_name="PP-DocLayout-L")
output = model.predict("N5C68HPVAI-xQAWTxpbA6.jpeg", batch_size=1)
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': 8, 'label': 'table', 'score': 0.9866371154785156, 'coordinate': [74.3101, 105.714195, 321.98795, 299.11014]}, {'cls_id': 2, 'label': 'text', 'score': 0.9859796166419983, 'coordinate': [34.659634, 349.9106, 358.33762, 611.34357]}, {'cls_id': 2, 'label': 'text', 'score': 0.9850561618804932, 'coordinate': [34.94621, 647.37744, 358.32578, 849.23584]}, {'cls_id': 8, 'label': 'table', 'score': 0.9850051403045654, 'coordinate': [438.06946, 105.37968, 662.88696, 313.88608]}, {'cls_id': 2, 'label': 'text', 'score': 0.9847787022590637, 'coordinate': [385.971, 497.0397, 710.95557, 697.68115]}, {'cls_id': 2, 'label': 'text', 'score': 0.980556845664978, 'coordinate': [385.79675, 345.93768, 710.07336, 459.1456]}, {'cls_id': 2, 'label': 'text', 'score': 0.9799885749816895, 'coordinate': [386.07678, 735.3819, 710.60815, 850.1992]}, {'cls_id': 9, 'label': 'table_title', 'score': 0.9376334547996521, 'coordinate': [35.275173, 19.85299, 358.9236, 77.812965]}, {'cls_id': 0, 'label': 'paragraph_title', 'score': 0.8755854964256287, 'coordinate': [386.63153, 476.6075, 699.78394, 490.1158]}, {'cls_id': 0, 'label': 'paragraph_title', 'score': 0.8617689609527588, 'coordinate': [387.2742, 715.95734, 524.38525, 729.20825]}, {'cls_id': 0, 'label': 'paragraph_title', 'score': 0.860828161239624, 'coordinate': [35.453644, 627.4963, 185.6373, 640.4026]}, {'cls_id': 0, 'label': 'paragraph_title', 'score': 0.857572615146637, 'coordinate': [35.33445, 330.80554, 141.46928, 344.407]}, {'cls_id': 9, 'label': 'table_title', 'score': 0.7964489459991455, 'coordinate': [385.9402, 19.755222, 711.51154, 75.00652]}, {'cls_id': 2, 'label': 'text', 'score': 0.5557674765586853, 'coordinate': [385.9402, 19.755222, 711.51154, 75.00652]}]}}
可視化画像は以下の通りです。

高度な使用法
単一のモデルの能力には限界がありますが、複数のモデルから構成されるパイプラインは、現実のシーンでの難題を解決するためのより強力な能力を提供できます。
PP-StructureV3
レイアウト分析は、文書画像から構造化情報を抽出する技術です。PP-StructureV3には以下の6つのモジュールが含まれています。
- レイアウト検出モジュール
- 汎用OCRサブパイプライン
- 文書画像前処理サブパイプライン(オプション)
- テーブル認識サブパイプライン(オプション)
- 印章認識サブパイプライン(オプション)
- 公式認識サブパイプライン(オプション)
単一のコマンドでPP-StructureV3パイプラインをすばやく体験できます。
paddleocr pp_structurev3 --layout_detection_model_name PP-DocLayout-L -i https://cdn-uploads.huggingface.co/production/uploads/63d7b8ee07cd1aa3c49a2026/KP10tiSZfAjMuwZUSLtRp.png
また、数行のコードでパイプライン推論を体験することもできます。PP-StructureV3パイプラインを例に説明します。
from paddleocr import PPStructureV3
pipeline = PPStructureV3(layout_detection_model_name="PP-DocLayout-L")
output = pipeline.predict("./KP10tiSZfAjMuwZUSLtRp.png")
for res in output:
res.print()
res.save_to_json(save_path="output")
res.save_to_markdown(save_path="output")
パイプラインでデフォルトで使用されるモデルは PP-DocLayout_plus-L
なので、パラメータ layout_detection_model_name
を PP-DocLayout-L
に指定する必要があります。また、パラメータ layout_detection_model_dir
を使用してローカルのモデルファイルを使用することもできます。
コマンドとパラメータの説明の詳細情報については、ドキュメントを参照してください。
📚 ドキュメント
モデルの紹介
PP-DocLayout-Lは高精度のレイアウト領域定位モデルで、RT-DETR-Lを使用して、自社で構築した中英語の論文、雑誌、契約書、書籍、試験用紙、研究報告を含むデータセットで訓練されています。このレイアウト検出モデルには23の一般的なカテゴリが含まれています。文書タイトル、段落タイトル、テキスト、ページ番号、概要、目次、参考文献、脚注、ヘッダー、フッター、アルゴリズム、公式、公式番号、画像、画像注釈、テーブル、テーブルタイトル、印章、画像タイトル、グラフィック、ヘッダー画像、フッター画像、サイドテキストです。主要な指標は以下の通りです。
モデル |
mAP(0.5) (%) |
PP-DocLayout-L |
90.4 |
注意:上記の精度指標の評価セットは、自社で構築したレイアウト領域検出データセットで、中英語の論文、新聞、研究論文、試験用紙などの500枚の文書タイプの画像が含まれています。
関連リンク
📄 ライセンス
本プロジェクトはApache-2.0ライセンスを採用しています。