PP-OCRv5
PP-OCRv5はPaddleOCRのテキスト検出・認識パイプラインです。differentiable binarization検出器がテキストの四角形を見つけ、SVTR・CTC認識器が読み取ります。LibreYOLOは2つの層をPyTorchへ移植しています。
- タスク
- ocr
- サイズ
- t, l at 960 px
- インストール
pip install libreyolo- サポートティア
- 推論のみ、v以降。推論、検証、エクスポートのみです。学習機能は対象外です。
- ライセンス
- コード:Apache-2.0、重み:Apache-2.0。商用利用
インストール
PP-OCRv5には基本パッケージ以外の追加パッケージは必要ありません。
pip install libreyolo推論
重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePPOCRl-ocr.pt")result = model(SAMPLE_IMAGE, save=True) for text, conf in zip(result.ocr.texts, result.ocr.conf): print(text, float(conf))libreyolo predict model=LibrePPOCRl-ocr.pt source=receipt.jpg save=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePPOCRl-ocr.pt")result = model(SAMPLE_IMAGE) # 読み順の(N, 4, 2)ポリゴン: 左上、右上、右下、左下# 検出された四角形は実際のポリゴン(回転テキスト)のため# result.boxesではなくresult.ocrに格納print(result.ocr.data.shape)print(result.ocr.det_conf)各チェックポイントは検出と認識の両段階を1個の.ptファイルにまとめ、認識用文字セットと
パイプラインのデフォルト値をチェックポイントのメタデータに格納します。認識器は1個の辞書で
簡体字中国語、繁体字中国語、英語、日本語、ピンインを読み取ります。result.ocrは
OCRRegionspayloadです。.dataには4点ポリゴン、.textsには転写テキスト、.confには
領域ごとの認識スコア、.det_confには検出スコアが入ります。複数画像の入力ソースは順番に
実行されます。2段階パイプラインは画像をまたいでバッチ化しません。入力ソース、ストリーミング、
結果の処理については推論を参照してください。
バリアント
層は2種類です。tはCPU向けの軽量なPP-LCNetV3・PP-OCRv5_mobileバックボーン上に構築され、
lは高精度なPP-HGNetV2 serverバックボーン上に構築されます。両方の層が固定長辺上限で検出を
実行し、クロップをバッチで認識します。rec_batchは1回の順伝播で認識器を通過するクロップ数を
制御します。
検証
val()は、画像ディレクトリとlabels/<split>.jsonlファイルの組、または同等のデータセットYAMLに
対してパイプラインを測定します。各ラベルには画像ごとのテキスト領域ポリゴンと転写テキストが
記載されます。検出hmean(IoUで対応付けた適合率・再現率・F1)、エンドツーエンドF1(hmeanと
正規化後の転写テキスト完全一致を組み合わせたチェックポイントのfitness指標)、1-NED
(対応付けたペアの平均正規化編集距離)を報告します。
from libreyolo import LibreYOLO model = LibreYOLO("LibrePPOCRl-ocr.pt")metrics = model.val(data="my-dataset") print(metrics["metrics/det_hmean"])print(metrics["metrics/e2e_f1"]) # 主要指標print(metrics["metrics/rec_1-NED"])libreyolo val model=LibrePPOCRl-ocr.pt data=my-datasetエクスポート
| タスク | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ocr | ocr to ONNX:非対応 | ocr to TorchScript:非対応 | ocr to ExecuTorch:非対応 | ocr to TensorRT:非対応 | ocr to OpenVINO:非対応 | ocr to Paddle:非対応 | ocr to MNN:非対応 | ocr to RKNN:非対応 | ocr to ncnn:非対応 | ocr to TFLite:非対応 | ocr to CoreML:非対応 | ocr to Core AI:非対応 |
PP-OCRv5は検出と認識が連動する2ネットワークのパイプラインで、トレース可能な単一グラフでは
ありません。そのためエクスポートは未実装で、対応する形式はまだありません。この形式以外の
チェックポイントが必要な場合は、Apache-2.0のアップストリーム学習コードを直接ファインチューニングし、
weights/convert_ppocr_weights.pyで結果を変換してください。
チェックポイント
このファミリーで公開されているすべての重みファイルです。
| ファイル | 入力(px) | 重みのライセンス |
|---|---|---|
| ocr | ||
| LibrePPOCRt-ocr.pt | apache-2.0 | |
| LibrePPOCRl-ocr.pt | apache-2.0 | |
上記のすべてのファイルは現在LibreYOLO orgにあり、初回使用時にダウンロードされます。
ライセンス
ダウンロードする特定の重みについて、Hugging Faceリポジトリのライセンスを確認してください。LibreYOLO orgの各チェックポイントにはライセンスが付与されており、同じファミリー内でも常に同一とは限りません。そのリポジトリが正式な情報源です。以下の概要は、このページを最後に検証した時点で適用されていた内容を示します。
これは関連するライセンスの説明であり、法的助言ではありません。商用上重要な場合は、自分でライセンスを読み、専門家の助言を受けてください。
- 原著作物
- PaddleOCR (PP-OCRv5), PaddlePaddle Authors
- アップストリームのライセンス
- Apache-2.0
- アップストリームのソース
- github.com/PaddlePaddle/PaddleOCR
- LibreYOLOのコード
- MIT
- 重み
- Apache-2.0、huggingface.co/LibreYOLOで再公開
- 解釈
- Apache-2.0 is a permissive license: the architecture, the officially released PP-OCRv5 checkpoints this port converts, and LibreYOLO's own PyTorch port may all be used, modified and redistributed, including commercially, provided the license text and attribution notices travel with any copy. It grants a patent license and places no obligation on your own application code.
引用
@misc{cui2025paddleocr30technicalreport,
title={PaddleOCR 3.0 Technical Report},
author={Cheng Cui and Ting Sun and Manhui Lin and Tingquan Gao and Yubo Zhang and Jiaxuan Liu and Xueqing Wang and Zelun Zhang and Changda Zhou and Hongen Liu and Yue Zhang and Wenyu Lv and Kui Huang and Yichao Zhang and Jing Zhang and Jun Zhang and Yi Liu and Dianhai Yu and Yanjun Ma},
year={2025},
eprint={2507.05595},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2507.05595},
}著者によるgithub.com/PaddlePaddle/PaddleOCR#citationの引用ブロックからコピーしています。