🚀 日本版PP - OCRv3モバイルテキスト認識モデル
japan_PP - OCRv3_mobile_recは、PaddleOCRチームによって開発されたテキスト行認識モデルで、PP - OCRv3_recシリーズに属しています。このモデルは、PP - OCRv3_mobile_recをベースに、日本語の認識に特化して訓練されたモデルで、日本語の認識をサポートしています。以下はその重要な精度指標です:
モデル |
認識平均精度(%) |
モデル保存サイズ (M) |
説明 |
japan_PP - OCRv3_mobile_rec |
45.69 |
8.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 japan_PP - OCRv3_mobile_rec \
-i https://cdn - uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/NnQK6B5BHvbHgnx9EHBZa.png
また、テキスト認識モジュールのモデル推論をあなたのプロジェクトに統合することもできます。以下のコードを実行する前に、サンプル画像をローカルマシンにダウンロードしてください。
from paddleocr import TextRecognition
model = TextRecognition(model_name="japan_PP - OCRv3_mobile_rec")
output = model.predict(input="NnQK6B5BHvbHgnx9EHBZa.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/NnQK6B5BHvbHgnx9EHBZa.png', 'page_index': None, 'rec_text': '学校が終わってから、友達と遊んじゃったの。それで、帰るのが少', 'rec_score': 0.999738335609436}}
可視化された画像は次の通りです:

使用コマンドとパラメータの詳細については、[ドキュメント](https://paddlepaddle.github.io/PaddleOCR/latest/en/version3.x/module_usage/text_recognition.html#iii - quick - start)を参照してください。
高度な使用法
単一のモデルの能力には限界がありますが、複数のモデルで構成されるパイプラインは、現実のシーンでの難題を解決するためのより強力な能力を提供することができます。
PP - OCRv3
一般的なOCRパイプラインは、テキスト認識タスクを解決するために使用され、画像からテキスト情報を抽出して文字列形式で出力します。このパイプラインには5つのモジュールが含まれています:
- ドキュメント画像方向分類モジュール(オプション)
- テキスト画像歪み除去モジュール(オプション)
- テキスト行方向分類モジュール(オプション)
- テキスト検出モジュール
- テキスト認識モジュール
以下のコマンドを実行すると、OCRパイプラインをすぐに体験することができます:
paddleocr ocr - i https://cdn - uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/yoS5sCp5dVQUAPWFQlZX8.png \
--text_recognition_model_name japan_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/yoS5sCp5dVQUAPWFQlZX8.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([[[ 65, 9],
...,
[ 65, 39]],
...,
[[ 34, 211],
...,
[ 34, 245]]], 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': ['彼女のいいたいことが、正晴にもなんとなくわかった。その一時', '間というのには、重大な意味があるのだ。', 'Iもしそうしていたら」雪穂はいったん唇を噛んでから続け', 'た。「そうしていたら、たぶんおかあさんは死なずに済んだと思', 'う。それを思うと・'], 'rec_scores': array([0.98636633, ..., 0.94151145]), 'rec_polys': array([[[ 65, 9],
...,
[ 65, 39]],
...,
[[ 34, 211],
...,
[ 34, 245]]], dtype=int16), 'rec_boxes': array([[ 65, ..., 39],
...,
[ 34, ..., 245]], dtype=int16)}}
save_path
を指定した場合、可視化結果はsave_path
ディレクトリに保存されます。可視化出力は次の通りです:

コマンドライン方式は、すぐに体験するのに適しています。プロジェクトへの統合には、数行のコードで済みます:
from paddleocr import PaddleOCR
ocr = PaddleOCR(
text_recognition_model_name="japan_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/yoS5sCp5dVQUAPWFQlZX8.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
をjapan_PP - OCRv3_mobile_rec
に指定する必要があります。また、パラメータtext_recognition_model_dir
を使用して、ローカルのモデルファイルを使用することもできます。使用コマンドとパラメータの詳細については、[ドキュメント](https://paddlepaddle.github.io/PaddleOCR/latest/en/version3.x/pipeline_usage/OCR.html#2 - quick - start)を参照してください。
📚 ドキュメント
📄 ライセンス
このプロジェクトは、Apache - 2.0ライセンスの下で提供されています。