🚀 PP-Chart2Table
PP-Chart2Tableは、PaddlePaddleチームによって開発された先進的なマルチモーダルモデルで、中英語のチャート解析に特化しています。このモデルは、新しい「Shuffled Chart Data Retrieval」トレーニングタスクによって駆動され、細かいトークンマスク戦略を組み合わせることで、チャートをデータテーブルに変換する効率を大幅に向上させています。さらに、先進的なデータ合成パイプラインを利用し、高品質のシードデータ、RAG、大規模言語モデルのロール設計を用いて、より豊富で多様なトレーニングセットを作成しています。大規模な無ラベル、分布外(OOD)データの課題に対応するため、チームは2段階の蒸留プロセスを実施し、実際のデータに対する強力な適応性と汎化能力を確保しています。内部ベンチマークテストによると、PP-Chart2Tableは同規模のモデルを上回り、重要なアプリケーションシーンでは70億パラメータのビジュアル言語モデル(VLMs)と同等の性能を達成しています。
🚀 クイックスタート
📦 インストール
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. PaddleXのインストール
PyPIから最新バージョンのPaddleX推論パッケージをインストールします:
python -m pip install paddlex && python -m pip install "paddlex[multimodal]"
💻 使用例
基本的な使用法
PP-Chart2Tableのモデル推論をあなたのプロジェクトに統合することができます。以下のコードを実行する前に、サンプル画像をローカルにダウンロードしてください。
from paddlex import create_model
model = create_model('PP-Chart2Table')
results = model.predict(
input={"image": "https://cdn-uploads.huggingface.co/production/uploads/684acf07de103b2d44c85531/OrlFuIXQUhO3Fg1G9_H1u.png"},
batch_size=1
)
for res in results:
res.print()
res.save_to_json(f"./output/res.json")
実行後の結果は次の通りです:
{'res': {'image': 'https://cdn-uploads.huggingface.co/production/uploads/684acf07de103b2d44c85531/OrlFuIXQUhO3Fg1G9_H1u.png', 'result': 'Agency | Favorable | Not Sure | Unfavorable\nNational Park Service | 81% | 12% | 7%\nU.S. Postal Service | 77% | 3% | 20%\nNASA | 74% | 17% | 9%\nSocial Security Administration | 61% | 12% | 28%\nCDC | 56% | 6% | 38%\nVeterans Affairs | 56% | 16% | 28%\nEPA | 55% | 14% | 31%\nHealth and Human Services | 55% | 15% | 30%\nFBI | 52% | 12% | 36%\nDepartment of Transportation | 52% | 12% | 36%\nDepartment of Homeland Security | 51% | 18% | 35%\nDepartment of Justice | 49% | 10% | 41%\nCIA | 46% | 21% | 33%\nDepartment of Education | 45% | 8% | 47%\nFederal Reserve | 43% | 20% | 37%\nIRS | 42% | 7% | 51%'}}
可視化結果は次の通りです:
使用コマンドとパラメータの説明に関する詳細情報は、ドキュメントを参照してください。
高度な使用法
単一のモデルの能力には限界がありますが、複数のモデルで構成されるパイプラインは、実際のシーンでの難題を解決するためのより強力な能力を提供します。
PP-StructureV3
レイアウト分析は、ドキュメント画像から構造化情報を抽出する技術です。PP-StructureV3には以下の7つのモジュールが含まれています:
- レイアウト検出モジュール
- チャート認識モジュール(オプション)
- 汎用OCRサブパイプライン
- ドキュメント画像前処理サブパイプライン(オプション)
- テーブル認識サブパイプライン(オプション)
- 印章認識サブパイプライン(オプション)
- 数式認識サブパイプライン(オプション)
単一のコマンドでPP-StructureV3パイプラインをすぐに体験することができます:
paddleocr pp_structurev3 --chart_recognition_model_name PP-Chart2Table \
--use_chart_recognition True \
-i https://cdn-uploads.huggingface.co/production/uploads/684acf07de103b2d44c85531/Mk1PKgszCEEutZukT3FPB.png
数行のコードでパイプラインの推論を体験することもできます。PP-StructureV3パイプラインを例に説明します:
from paddleocr import PPStructureV3
pipeline = PPStructureV3(chart_recognition_model_name="PP-Chart2Table", use_chart_recognition=True)
output = pipeline.predict("./Mk1PKgszCEEutZukT3FPB.png", use_chart_recognition=True)
for res in output:
res.print()
res.save_to_json(save_path="output")
res.save_to_markdown(save_path="output")
パイプラインで使用されるデフォルトのモデルはPP-Chart2Table
です。したがって、chart_recognition_model_name
パラメータにPP-Chart2Table
を指定する必要はありませんが、chart_recognition_model_dir
パラメータを使用してローカルのモデルファイルを使用することができます。使用コマンドとパラメータの説明に関する詳細情報は、ドキュメントを参照してください。
📚 ドキュメント
関連リンク
📄 ライセンス
このプロジェクトはApache-2.0ライセンスを採用しています。