🚀 en_PP-OCRv3_mobile_rec
en_PP-OCRv3_mobile_recは、PaddleOCRチームによって開発されたPP-OCRv3_recシリーズのテキスト行認識モデルです。このモデルは、PP-OCRv3_mobile_recをベースに訓練された英語専用モデルで、英語の認識をサポートしています。主要な精度指標は以下の通りです。
✨ 主な機能
モデル |
認識平均精度(%) |
モデル保存サイズ (M) |
説明 |
en_PP-OCRv3_mobile_rec |
70.69 |
7.8 M |
PP-OCRv3認識モデルをベースに訓練された超軽量英語認識モデルで、英語と数字文字の認識をサポートします。 |
⚠️ 重要提示
行内の任意の文字(句読点を含む)が誤認識された場合、その行全体が誤りとしてマークされます。これにより、実際のアプリケーションでの精度が向上します。
🚀 クイックスタート
📦 インストール
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 text_recognition \
--model_name en_PP-OCRv3_mobile_rec \
-i https://cdn-uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/QmaPtftqwOgCtx0AIvU2z.png
また、テキスト認識モジュールのモデル推論をあなたのプロジェクトに統合することもできます。以下のコードを実行する前に、サンプル画像をローカルマシンにダウンロードしてください。
from paddleocr import TextRecognition
model = TextRecognition(model_name="en_PP-OCRv3_mobile_rec")
output = model.predict(input="QmaPtftqwOgCtx0AIvU2z.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/QmaPtftqwOgCtx0AIvU2z.png', 'page_index': None, 'rec_text': 'the number of model parameters and FLOPs get larger, it', 'rec_score': 0.990352988243103}}
可視化画像は以下の通りです。

使用コマンドとパラメータの詳細については、ドキュメントを参照してください。
高度な使用法
単一のモデルの能力には限界があります。しかし、複数のモデルで構成されるパイプラインは、現実のシーンでの難題を解決するための強力な能力を提供することができます。
PP-OCRv3
一般的なOCRパイプラインは、画像からテキスト情報を抽出し、文字列形式で出力することで、テキスト認識タスクを解決します。このパイプラインには5つのモジュールが含まれています。
- ドキュメント画像方向分類モジュール(オプション)
- テキスト画像矯正モジュール(オプション)
- テキスト行方向分類モジュール(オプション)
- テキスト検出モジュール
- テキスト認識モジュール
以下のコマンドを実行して、OCRパイプラインをすぐに試してみてください。
paddleocr ocr -i https://cdn-uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/c3hSldnYVQXp48T5V0Ze4.png \
--text_recognition_model_name en_PP-OCRv3_mobile_rec \
--use_doc_orientation_classify False \
--use_doc_unwarping False \
--use_textline_orientation True \
--save_path ./output \
--device gpu:0
結果はターミナルに表示されます。
{'res': {'input_path': '/root/.paddlex/predict_input/c3hSldnYVQXp48T5V0Ze4.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': True, 'use_textline_orientation': True}, 'doc_preprocessor_res': {'input_path': None, 'page_index': None, 'model_settings': {'use_doc_orientation_classify': False, 'use_doc_unwarping': False}, 'angle': -1}, 'dt_polys': array([[[252, 172],
...,
[254, 241]],
...,
[[665, 566],
...,
[663, 601]]], dtype=int16), 'text_det_params': {'limit_side_len': 64, 'limit_type': 'min', 'thresh': 0.3, 'max_side_limit': 4000, 'box_thresh': 0.6, 'unclip_ratio': 1.5}, 'text_type': 'general', 'textline_orientation_angles': array([0, ..., 0]), 'text_rec_score_thresh': 0.0, 'rec_texts': ['The moon tells the sky', 'The sky tells the sea', 'The sea tells the tide', 'And the tide tells me', 'Lemn Sissay'], 'rec_scores': array([0.99890286, ..., 0.99840254]), 'rec_polys': array([[[252, 172],
...,
[254, 241]],
...,
[[665, 566],
...,
[663, 601]]], dtype=int16), 'rec_boxes': array([[252, ..., 241],
...,
[663, ..., 612]], dtype=int16)}}
save_path
を指定した場合、可視化結果はsave_path
以下に保存されます。可視化出力は以下の通りです。

コマンドライン方式はすぐに試すのに適しています。プロジェクトへの統合には、数行のコードで済みます。
from paddleocr import PaddleOCR
ocr = PaddleOCR(
text_recognition_model_name="en_PP-OCRv3_mobile_rec",
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_textline_orientation=True,
device="gpu:0",
)
result = ocr.predict("https://cdn-uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/c3hSldnYVQXp48T5V0Ze4.png")
for res in result:
res.print()
res.save_to_img("output")
res.save_to_json("output")
パイプラインでデフォルトで使用されるモデルはPP-OCRv5_server_rec
です。そのため、パラメータtext_recognition_model_name
でen_PP-OCRv3_mobile_rec
を指定する必要があります。また、パラメータtext_recognition_model_dir
を使用して、ローカルのモデルファイルを使用することもできます。使用コマンドとパラメータの詳細については、ドキュメントを参照してください。
📚 ドキュメント
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下で提供されています。