PP-OCRv5

PP-OCRv5はPaddleOCRのテキスト検出・認識パイプラインです。differentiable binarization検出器がテキストの四角形を見つけ、SVTR・CTC認識器が読み取ります。LibreYOLOは2つの層をPyTorchへ移植しています。

タスク
ocr
サイズ
t, l at 960 px
インストール
pip install libreyolo
サポートティア
推論のみ、v以降。推論、検証、エクスポートのみです。学習機能は対象外です。
アップストリーム
PaddlePaddle AuthorsのPaddleOCR (PP-OCRv5)、Apache-2.0。論文ソース
ライセンス
コード:Apache-2.0、重み:Apache-2.0。商用利用

インストール

PP-OCRv5には基本パッケージ以外の追加パッケージは必要ありません。

bash
pip install libreyolo

推論

重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。

Python
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))
CLI
libreyolo predict model=LibrePPOCRl-ocr.pt source=receipt.jpg save=True
四角形
from 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.ocrOCRRegionspayloadです。.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 (対応付けたペアの平均正規化編集距離)を報告します。

Python
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"])
CLI
libreyolo val model=LibrePPOCRl-ocr.pt data=my-dataset

エクスポート

タスクONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
ocrocr 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.ptapache-2.0
LibrePPOCRl-ocr.ptapache-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の引用ブロックからコピーしています。

LibreYOLO v1.5.0で検証済みです。このページのサポート表、チェックポイント、ベンチマーク値は手作業で記述したものではなく、リリース済みライブラリと公開済みの重みから生成されています。