モデル概要
モデル特徴
モデル能力
使用事例
🚀 PP-OCRv4_mobile_seal_det
PP-OCRv4のモバイル版の印章テキスト検出モデルは、より高い効率を持ち、端末デバイスでのデプロイに適しています。このモデルは、画像から迅速かつ正確に印章テキストを検出し、文書処理や画像認識などのシーンに強力なサポートを提供します。
🚀 クイックスタート
📦 インストール
1. PaddlePaddleのインストール
以下のコマンドを参考に、pipを使用してPaddlePaddleをインストールしてください。
# CUDA11.8用
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# CUDA12.6用
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
# CPU用
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 seal_text_detection \
--model_name PP-OCRv4_mobile_seal_det \
-i https://cdn-uploads.huggingface.co/production/uploads/63d7b8ee07cd1aa3c49a2026/k02u35x60XZmaL9hzeQ0T.png
また、印章テキスト検出モジュールのモデル推論をあなたのプロジェクトに統合することもできます。以下のコードを実行する前に、サンプル画像をローカルにダウンロードしてください。
from paddleocr import SealTextDetection
model = SealTextDetection(model_name="PP-OCRv4_mobile_seal_det")
output = model.predict(input="k02u35x60XZmaL9hzeQ0T.png", 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/k02u35x60XZmaL9hzeQ0T.png', 'page_index': None, 'dt_polys': [array([[463, 477],
...,
[428, 505]]), array([[297, 444],
...,
[230, 443]]), array([[457, 346],
...,
[267, 345]]), array([[325, 38],
...,
[322, 37]])], 'dt_scores': [0.9912813174046151, 0.9906722305163783, 0.9847175812219835, 0.9914792941713804]}}
可視化画像は以下の通りです。
コマンドとパラメータの説明の詳細については、ドキュメントを参照してください。
高度な使用法
単一のモデルの能力には限界がありますが、複数のモデルから構成されるパイプラインは、現実のシーンでの難題を解決するためのより強力な能力を提供することができます。
印章テキスト認識パイプライン
印章テキスト認識は、文書や画像から印章の内容を自動的に抽出して認識する技術です。印章テキスト認識は文書処理の一部であり、契約照合、倉庫の入出庫審査、請求書の経費精算審査などの様々なシーンで広く使用されています。このパイプラインには5つのモジュールが含まれています。
- 印章テキスト検出モジュール
- テキスト認識モジュール
- レイアウト検出モジュール(オプション)
- 文書画像方向分類モジュール(オプション)
- テキスト画像矯正モジュール(オプション)
以下の単一コマンドを実行して、OCRパイプラインをすばやく体験してください。
paddleocr seal_recognition -i https://cdn-uploads.huggingface.co/production/uploads/63d7b8ee07cd1aa3c49a2026/k02u35x60XZmaL9hzeQ0T.png \
--seal_text_detection_model_name PP-OCRv4_mobile_seal_det \
--use_doc_orientation_classify False \
--use_doc_unwarping False \
--save_path ./output \
--device gpu:0
結果はターミナルに表示されます。
{'res': {'input_path': '/root/.paddlex/predict_input/k02u35x60XZmaL9hzeQ0T.png', 'model_settings': {'use_doc_preprocessor': True, 'use_layout_detection': True}, 'doc_preprocessor_res': {'input_path': None, 'page_index': None, 'model_settings': {'use_doc_orientation_classify': False, 'use_doc_unwarping': False}, 'angle': -1}, 'layout_det_res': {'input_path': None, 'page_index': None, 'boxes': [{'cls_id': 16, 'label': 'seal', 'score': 0.9755404591560364, 'coordinate': [6.19458, 0.17910767, 634.38385, 628.8424]}]}, 'seal_res_list': [{'input_path': None, 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'dt_polys': [array([[320, 39],
...,
[317, 38]]), array([[456, 348],
...,
[299, 346]]), array([[436, 445],
...,
[188, 443]]), array([[159, 470],
...,
[154, 468]])], 'text_det_params': {'limit_side_len': 736, 'limit_type': 'min', 'thresh': 0.2, 'max_side_limit': 4000, 'box_thresh': 0.6, 'unclip_ratio': 0.5}, 'text_type': 'seal', 'textline_orientation_angles': array([-1, ..., -1]), 'text_rec_score_thresh': 0, 'rec_texts': ['天津君和缘商贸有限公司', '发票专用章', '吗繁物', '5263647368706'], 'rec_scores': array([0.99007857, ..., 0.99880081]), 'rec_polys': [array([[320, 39],
...,
[317, 38]]), array([[456, 348],
...,
[299, 346]]), array([[436, 445],
...,
[188, 443]]), array([[159, 470],
...,
[154, 468]])], 'rec_boxes': array([], dtype=float64)}]}}
save_path
を指定した場合、可視化結果はsave_path
ディレクトリに保存されます。可視化出力は以下の通りです。
コマンドライン方式はすばやい体験に適しています。プロジェクトへの統合については、数行のコードで実現できます。
from paddleocr import PaddleOCR
ocr = PaddleOCR(
seal_text_detection_model_name="PP-OCRv4_mobile_seal_det",
use_doc_orientation_classify=False, # use_doc_orientation_classifyを使用して文書方向分類モデルを有効/無効にする
use_doc_unwarping=False, # use_doc_unwarpingを使用して文書矯正モジュールを有効/無効にする
device="gpu:0", # deviceを使用してGPUを指定してモデル推論を行う
)
result = ocr.predict("https://cdn-uploads.huggingface.co/production/uploads/63d7b8ee07cd1aa3c49a2026/k02u35x60XZmaL9hzeQ0T.png")
for res in result:
res.print()
res.save_to_img("output")
res.save_to_json("output")
パイプラインでデフォルトで使用されるモデルはPP-OCRv4_server_seal_det
です。したがって、パラメータseal_text_detection_model_name
をPP-OCRv4_mobile_seal_det
に指定する必要があります。また、パラメータseal_text_detection_model_dir
を使用して、ローカルのモデルファイルを使用することもできます。コマンドとパラメータの説明の詳細については、ドキュメントを参照してください。
📚 ドキュメント
📄 ライセンス
このプロジェクトはApache-2.0ライセンスを採用しています。
モデルの主要指標
属性 | 詳細 |
---|---|
モデルタイプ | PP-OCRv4_mobile_seal_det |
Hmean (%) | 96.47 |
⚠️ 重要な注意事項
上記の指標は、PaddleXのカスタムテストデータセット(500枚の円形印章画像を含む)に基づいています。










