
PP-OCRv6の日本語の認識精度は公式ベンチマークで90.5%
PP-OCRv6とはPaddlePaddleが開発する、オープンソースのOCRライブラリ「PaddleOCR」の最新モデルです。OCR(光学文字認識)とは、画像やPDFに写った文字をテキストデータとして取り出す技術のこと。そのため、日本語の書類に使うことができるかどうかは、書かれた文字をどこまで正しく認識できるかによって変わります。
日本語の認識精度(PaddleOCR社内ベンチマークのJP列)
mediumの90.5%は、前世代のサーバー向けモデル73.7%より16.8ポイント高い。smallの88.2%でも前世代を超えるため、日本語だけを見ればmediumとsmallのどちらを選んでも前世代からは改善する。
日本語の認識精度はPP-OCRv5から16.8ポイント向上
公式ドキュメントのベンチマーク表には日本語だけを取り出したJPという列があり、認識精度はmediumが90.5%で前世代のサーバー向けモデルPP-OCRv5_serverの73.7%から16.8ポイント上がり、smallも88.2%です。同じ表では印刷中国語が91.5%で印刷英語が94.1%なので、日本語はこの2つに次ぐ水準になりました。
Hmeanとは文字がどこにあるかを見つける検出処理の精度を、適合率と再現率の調和平均で表した値のこと。日本語の検出Hmeanはmediumが84.3%で、PP-OCRv5_serverの77.2%を超えました。日本語では検出よりも認識のほうが大きく伸びました。
文字そのものを読み分ける精度が上がったため、日本語の帳票や書類を処理する案件では前世代から乗り換える価値があります。ただし前世代からの伸びが大きいことと、自社の書類で業務に利用できる水準であることは別の話です。
Text recognition accuracy (%) on our in-house multi-scenario benchmark (15 categories)/Model W-Avg HW-CN HW-EN Print-CN Print-EN TC Anc. JP Conf. Spec. Gen. Pin. Art. Indus. Screen Card PP-OCRv6_medium 83.2 62.1 67.8 91.5 94.1 78.6 72.4 90.5 64.9 61.7 87.5 78.1 71.2 77.4 82.5 88.1 PP-OCRv6_small 81.3 57.6 61.1 90.5 93.3 77.0 71.1 88.2/PP-OCRv5_server 78.1 58.0 59.6 90.1 85.1 74.7 60.4 73.7/PP-OCRv5_mobile 73.7 41.7 50.9 86.0 86.0 72.0 57.8 75.8/Text detection Hmean (%) on our in-house multi-scenario benchmark (16 categories)/PP-OCRv6_medium 86.2 83.7 84.0 95.1 93.7 86.3 80.2 84.3/PP-OCRv5_server 81.6 80.3 84.1 94.5 91.7 81.5 67.6 77.2 — Text Recognition と Text Detection の Multi-Scenario Benchmark 表より公式情報を見る →
90.5%はPaddleOCRの自社測定で第三者検証ではない
公式ドキュメントによると評価に使ったのは検出16カテゴリ・認識15カテゴリからなる社内の評価セットで、評価データは公開されておらず第三者機関が同じ条件で追試した結果もありません。そのため、90.5%は開発元が自分で用意した問題を自分で解いた結果です。
もっとも前世代のPP-OCRv5_serverも同じ表に掲載されています。少なくともv5とv6の差は、同じ評価セットで計測した値どうしの比較になります。
モデル一覧のページには表の下に別の但し書きがあり、PP-OCRv6の数値は社内の多シナリオ評価セット、PP-OCRv5とv4の数値は汎用の評価セットで算出しており、評価セットが異なるため直接は比較できないとしています。ページによって比較できる範囲が変わるため、数字を使うときは表の但し書きまで目を通しておくのが確実です。
On our in-house multi-scenario benchmark, PP-OCRv6_medium achieves +5.1% recognition accuracy and +4.6% detection Hmean over PP-OCRv5_server — PP-OCRv6 Introduction の冒頭より公式情報を見る →
PP-OCRv6 metrics are evaluated on an internal multi-scenario evaluation set, while PP-OCRv5/v4 metrics are based on a general evaluation set. As the evaluation sets differ, the metrics are not directly comparable. — List of Supported Models の表の但し書きより公式情報を見る →
手書きは62.1%で産業用テキストも77.4%と日本語より低い
同じ表の中でもシナリオによって数字は大きく異なります。mediumの手書き中国語は62.1%、手書き英語は67.8%で印刷英語の94.1%とは開きがあり、デジタル表示やドットマトリクス文字を含む産業用テキストも77.4%にとどまりました。
手書きの伝票やメモを読ませる案件ではこの差がそのまま誤読の多さに出ます。印刷された書類なら十分な精度でも、手書きの記入部分が混ざる帳票では人が目で確認する工程を挟んでください。日本語90.5%という数字は印刷された日本語の値だと読んでください。 文書AI全般で精度をどう見るかは「Mistral OCR 4の文書AI機能と精度、表や数式の読み取り」で解説しています。
PP-OCRv6_medium 83.2 62.1 67.8 91.5 94.1 78.6 72.4 90.5 64.9 61.7 87.5 78.1 71.2 77.4 82.5 88.1 — Text Recognition Accuracy (%) の表(列は W-Avg・HW-CN・HW-EN・Print-CN・Print-EN・TC・Anc.・JP・Conf.・Spec.・Gen.・Pin.・Art.・Indus.・Screen・Card の順)より公式情報を見る →
PP-OCRv6のモデルは3種類あり、日本語ならSmall以上を選ぶ
tiny・small・mediumはパラメータ数が1.5Mから34.5Mまで差が大きく、選び方を誤ると精度も速度も想定どおりにはなりません。そのため、日本語を対象にするかどうかで選ぶことができる範囲そのものが変わります。
PP-OCRv6の3ティア
| ティア | パラメータ数 | 認識モデルの容量 | 認識の平均精度 | 対応言語 |
|---|---|---|---|---|
| Tiny | 1.5M | 4.4MB | 73.5% | 49言語(日本語を除く) |
| Small | 7.7M | 20.4MB | 81.3% | 50言語 |
| Medium | 34.5M | 73.3MB | 83.2% | 50言語 |
PP-OCRv6の3ティアの認識精度と処理時間(公式ベンチマーク)
左は認識の平均精度(%・高いほど良い)。右はApple M4で一般文書1枚を処理する秒数(短いほど速い)で、棒の高さは最大値を100とした比。
Tiny・Small・Mediumのパラメータ数と認識モデルの容量
パラメータ数とはモデルの内部が持つ数値がいくつあるかを表す数のこと。PP-OCRv6は次の3段階で公開されました。
- tiny:1.5M(エッジ機器向けの想定)
- small:7.7M(モバイル向けの想定)
- medium:34.5M(サーバー向けの想定)
ディスクに置くファイルの大きさは別の数字で、公式のモデル一覧ではテキスト認識モデル単体の容量がtiny 4.4MB・small 20.4MB・medium 73.3MBと記載されています。認識の平均精度はtiny 73.5%・small 81.3%・medium 83.2%で、容量と精度はきれいに連動します。
アプリへ同梱するなら4.4MBのtinyが現実的で、サーバーに置くなら73.3MBのmediumでも問題ありません。 smallとmediumの間では容量が20.4MBから73.3MBへ増えるのに平均精度は81.3%から83.2%までしか上がらないため、処理する枚数が多いなら精度の差より容量と速度の差のほうが運用に影響します。
PP-OCRv6_medium_rec Inference Model / Training Model 83.2* - / - - / - 73.3/PP-OCRv6_small_rec Inference Model / Training Model 81.3* - / - - / - 20.4/PP-OCRv6_tiny_rec Inference Model / Training Model 73.5* - / - - / - 4.4 — List of Supported Models の表(列は Recognition Avg Accuracy・GPU Inference Time・CPU Inference Time・Model Storage Size (MB) の順)より公式情報を見る →
2026.6.11 v3.7.0 released/Three tiers for all scenarios: tiny (1.5M) / small (7.7M) / medium (34.5M) for edge, mobile, and server deployment. — Releases API が返した v3.7.0 の本文より公式情報を見る →
Tinyの対応49言語に日本語は入っていないと公式ドキュメントにある
対応言語はティアによって異なります。公式ドキュメントはmediumとsmallを50言語、tinyを日本語を除く49言語と書いており、内訳は簡体字中国語・繁体字中国語・英語・日本語に、フランス語やドイツ語をはじめとする46のラテン文字系言語を加えた構成です。
ただし同じページのベンチマーク表にはtinyの日本語認識89.8%という値が掲載されており、数字の上では読めているようですが対応言語の一覧とは矛盾します。PaddleOCRの公式ドキュメントが対応言語に日本語を含めていない以上、日本語の案件でtinyを選ぶ根拠にはできません。
PP-OCRv6は認識用の辞書へ約200文字のダイアクリティカル文字(アクセント記号の付いた文字)を追加して50言語を1つのモデルで読み取ることができるようにしたため、mediumとsmallでは言語ごとに別のモデルをダウンロードして切り替える運用が不要になりました。多言語の書類が混ざる現場でもモデルを入れ替える処理を書く必要がありません。
the medium/small tiers support 50 languages with a single unified model, including Simplified Chinese, Traditional Chinese, English, Japanese, and 46 Latin-script languages (tiny supports 49, excluding Japanese)./Multilingual Unification: Dictionary extended with ~200 diacritical characters, enabling single-model 50-language coverage./PP-OCRv6_tiny 73.5 40.1 39.3 86.7 88.4 65.0 68.4 89.8 — PP-OCRv6 Introduction と Recognition Module、および Text Recognition の表より公式情報を見る →
Apple M4ではTinyが0.96秒、Mediumが8.82秒かかる
速度は機材とモデルで大きく変わります。PaddleOCRの公式ドキュメントは一般文書200枚を対象に画像の読み書きと前後処理まで含めたエンドツーエンドの秒数を公開しており、Apple M4での1枚あたりの秒数は次のとおりです。
- tiny:0.96秒
- small:3.07秒
- medium:8.82秒
GPUを積んだ環境なら開きは縮みます。NVIDIA A100ではtiny 0.13秒・medium 0.29秒でmediumでも1秒を大きく下回り、CPUのIntel Xeon 8350Cはtiny 0.32秒・medium 2.05秒です。
自分のMacでmediumを回すと1枚あたり8.82秒かかるため、枚数が多い処理はサーバー側で処理します。 日本語を読ませる以上tinyは選ぶことができないので、Macで数をこなすならsmallの3.07秒が現実的な落としどころです。
Tested on 200 images (general + document scenes), including image I/O, pre/post-processing, and model inference./NVIDIA A100 PaddlePaddle 0.29 0.25 0.13 0.32 0.25 0.14/Intel Xeon 8350C PaddlePaddle 2.05 0.79 0.32 2.04 0.80 0.62/Apple M4 PaddlePaddle 8.82 3.07 0.96 >10 5.82 5.65 — End-to-End Inference Speed (s/image) の表(列は PP-OCRv6_medium・PP-OCRv6_small・PP-OCRv6_tiny・PP-OCRv5_server・PP-OCRv5_mobile・PP-OCRv4_mobile の順)より公式情報を見る →
PP-OCRv6はPythonのバージョンを見てから導入
導入の作業には、パッケージをインストールする工程と、推論エンジンをインストールする工程の2つがあります。 片方だけでは推論が走らないため順番を先に押さえておくと途中で止まりません。
PP-OCRv6を動作させるまでの順番
- Pythonを確認する(paddleocr本体は3.8以降)
- pip install paddleocrを実行する
- 推論エンジンを1つ選び、インストールする(PaddlePaddle / Transformers / ONNX Runtime)
- PaddleOCR() を作り、predictに画像を入力する
PaddleOCRはPython3.8以降、オプション依存なら3.9以降
最初に確認するのはPythonのバージョンです。公式のインストール手順によるとpaddleocr本体と文書変換用のdoc2md依存グループはPython 3.8以降で動作し、モデルの学習とエクスポートも同じくPython 3.8以降が対象です。
オプションの依存グループを追加すると条件が変わります。次の4つは上流の依存関係が理由でPython 3.9以降が必要です。
- doc-parser(文書解析)
- ie(情報抽出)
- trans(文書翻訳)
- all(全部入り)
一般的なOCRと文書画像の前処理までなら、追加の依存グループは必要ありません。 表や数式まで構造化したくなってからdoc-parserを導入すれば、環境に余計なものが増えません。
Python version requirement:公式情報を見る →paddleocritself and thedoc2mddependency group support Python 3.8 and later. The other optional dependency groups (doc-parser,ie,trans,all, etc.) require Python 3.9 or later due to upstream dependencies./The general OCR pipeline and the document image preprocessing pipeline require no extra dependency groups/Python version requirement: training and model export support Python 3.8 and later. — Installation の 1. と 2. より
pip installだけでは動かず、推論エンジンを別に入れる
推論エンジンとはモデルを実際に読み込んで走らせる実行基盤のこと。PaddleOCRが対応するのは、PaddlePaddleフレームワーク・Transformers・ONNX Runtimeの3系統です。
pip install paddleocrはライブラリをインストールするだけのコマンドで、推論エンジンを含みません。
公式のインストール手順も、推論を実行するには選んだエンジンを別にインストールする必要があるとしています。
エンジンを明示しなければ、多くの場合はPaddlePaddleフレームワークで推論します。PaddlePaddleなら公式手順にしたがって本体を入れ、TransformersとONNX Runtimeはそれぞれtransformersとonnxruntimeを入れてください。
公式ドキュメントは依存が衝突することがあるため、1つの環境にエンジンを1つだけ入れるよう勧めています。 用途ごとに仮想環境を分けておくと、あとから別のエンジンを試すときに既存の環境を壊す心配がありません。
Since different inference engines may have conflicting dependencies, it is recommended to install only one inference engine per environment./in most cases, the PaddlePaddle framework will be used for inference/PaddlePaddle framework |公式情報を見る →paddle,paddle_static,paddle_dynamic| Runs on the PaddlePaddle framework./Transformers |transformers| Runs on Hugging Face Transformers./ONNX Runtime |onnxruntime| Runs on ONNX Runtime. — Inference Engine and Configuration の 2. と 3. より
日本語の画像からテキストを取り出す最小のPythonコード
実行そのものに必要なコードは短いものです。 モデルを指定せずにPaddleOCR()を作ると認識モデルにはPP-OCRv6_mediumが使われ、50言語を1つのモデルで読み取ることができるため、日本語だからといって言語を選ぶ引数は必要ありません。
from paddleocr import PaddleOCR
ocr = PaddleOCR(
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_textline_orientation=False,
)
result = ocr.predict("sample.png")
for res in result:
res.print()
res.save_to_json("output")
3つの引数は文書の向きの判定・ゆがみの補正・行の向きの判定をそれぞれ切る設定で、まっすぐスキャンした書類なら切っておくと処理が軽くなります。コマンドラインから試すだけならpaddleocr ocr -i <画像>でも実行できます。
読み取ったテキストを、社内の検索や入力の自動化と連携する流れは「ビジネス文書のデジタル化を5ステップで進める手順と注意点・効果」で整理しています。
Default: PP-OCRv6_medium ocr = PaddleOCR( use_doc_orientation_classify=False, use_doc_unwarping=False, use_textline_orientation=False, )/# CLI usage paddleocr ocr -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png — Quick Start の Python と CLI の例より公式情報を見る →
PaddleOCRはApache License 2.0で商用利用も無償
文字を認識することができても、業務で使ってよいかは別の判断です。PaddleOCRのライセンスはApache License 2.0で、リポジトリのLICENSEがその条文です。
Apache License 2.0が定めること
ライセンス条文に用途を制限する条項は無く、改変も再配布も可能
Apache License 2.0とは、著作権者が複製・改変・再配布を広く許諾する種類のオープンソースライセンスです。PaddleOCRのリポジトリに置かれたLICENSEは、全文がApache License 2.0です。
条文は永続的かつ世界規模で無償・取消不能の許諾として、複製・派生物の作成・公開・サブライセンス・配布を認めています。用途を商用と非商用で分ける条項が無いため、自社製品へ組み込んでも追加の許諾交渉や利用料は発生しません。
義務が生じるのは再配布するときです。配布先にライセンス文の写しを同梱すること、変更したファイルにその旨を明示すること、著作権表示とNOTICEを残すことの3つが条件です。社内で動作させるだけなら再配布に該当しません。
Apache License Version 2.0, January 2004/each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form./You must give any other recipients of the Work or Derivative Works a copy of this License/You must cause any modified files to carry prominent notices stating that You changed the files — LICENSE の Section 2 と Section 4 より公式情報を見る →
クラウドのOCR APIと自前運用ではコスト構造が異なる
クラウドのOCR APIを呼ぶかPP-OCRv6を自分の環境に置くかで、費用のかかり方が変わります。Apache License 2.0は無償かつ取消不能の許諾なので、自前で運用するかぎり読み取った枚数に応じたライセンス料は発生せず、かかるのは自分で用意した計算資源とその運用の費用だけです。
ただし自前で動作させるとPythonの環境と推論エンジンの保守や、モデルの更新への追随を自分で引き受けることになります。枚数が増えてもライセンス料は増えませんが、増えた枚数ぶんの処理時間は自分の機材にかかります。
Apple M4でmediumなら1枚8.82秒なので、日次で数千枚を回すつもりならGPUを置くかsmallへ落とすかの判断が先に必要です。読み取りの前段でPDFを画像へ分ける工程は「PDFをJPGに変換する方法、無料・スマホで高画質に保つ目安」でまとめています。
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license — LICENSE Section 2 Grant of Copyright License より公式情報を見る →
導入前に自社データで精度・手書き・処理時間を測る
ベンチマークはPaddleOCRが用意した評価セットで算出した値で、フォントもレイアウトも自社の帳票とは異なるため、公式の数字が自社の書類でそのまま出るとは限りません。採用を判断する前に、精度・手書き・処理時間の3点を自社のデータで検証してください。
1つ目は日本語の読み取り精度で、実際に流す書類を数十枚通して誤読がどこに集中するかを確認します。2つ目は手書き部分への対応で、mediumでも手書きの認識精度は6割台にとどまるので、人が確認する工程をどこに挟むかを先に定めます。
3つ目は実際に使う機材での処理時間で、1枚あたりの秒数を計測し日次の枚数を掛けて運用に間に合うかを判断します。ライセンスは明示・黙示を問わず無保証で提供されるため、読み取りの誤りによる損害は利用する側が負います。
読み取り前の画像を圧縮しすぎると文字がつぶれて精度が落ちます。画質と容量の兼ね合いは「画像圧縮のやり方、無料で写真の容量を減らす手順と画質の見極め」で詳しく解説しています。
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied — LICENSE Section 7 Disclaimer of Warranty より公式情報を見る →
採否は自社の書類での精度と処理時間で判断
PP-OCRv6の日本語の認識精度はmediumで90.5%に達し、前世代のPP-OCRv5_serverから16.8ポイント上がりました。smallも前世代を超えるため、日本語の書類を処理する案件なら乗り換える理由を数字で説明できます。
ただしこの値はPaddleOCRが自分で用意した社内ベンチマークの結果で、第三者機関の追試はありません。tinyは対応言語に日本語が含まれていないため、日本語を読ませるならsmall以上に限られます。
導入ではpip install paddleocrのあとに推論エンジンを1つ入れる工程が必要になり、ライセンスはApache License 2.0で用途の制限は無いものの無保証です。公式の数字をそのまま採否の根拠にせず、自社の書類で精度と処理時間を確認してから判断してください。
FAQ
- PP-OCRv6は日本語をどれくらい正確に認識できますか?
- 公式の社内ベンチマークではMediumモデルの日本語の認識精度が90.5%、Smallが88.2%です。前世代のPP-OCRv5_serverは同じ表で73.7%だったため、16.8ポイント上がりました。ただしPaddleOCRが用意した評価セットの値で、第三者機関が追試した結果ではありません。
- PP-OCRv6のTinyモデルで日本語は使えますか?
- 公式ドキュメントはMediumとSmallを50言語対応、Tinyを日本語を除く49言語としています。日本語の書類を処理するならSmall以上を選びましょう。同じページのベンチマーク表にはTinyの日本語認識89.8%も掲載されていますが、対応言語の一覧とは矛盾します。
- PP-OCRv6は無料で商用利用できますか?
- PaddleOCRはApache License 2.0で公開されており、複製・派生物の作成・サブライセンス・配布を無償かつ取消不能の許諾として認めています。用途を商用と非商用で分ける条項が無いため、自社製品への組み込みに追加の許諾は必要ありません。再配布するときはライセンス文の同梱と変更点の明示が条件になります。
- PP-OCRv6はGPUがないと利用できませんか?
- CPUでも動作します。公式の計測ではIntel Xeon 8350CでTinyが0.32秒、Mediumが2.05秒です。Apple M4ではTinyが0.96秒、Mediumが8.82秒でした。GPUを積んだNVIDIA A100ならMediumでも0.29秒なので、枚数が多い処理ほどGPUの差が大きく出ます。
- PP-OCRv6は手書き文字も認識できますか?
- 認識自体はできますが印刷文字より精度は落ちます。Mediumモデルの手書き中国語は62.1%、手書き英語は67.8%で印刷英語の94.1%とは開きがあります。手書きの記入部分が混ざる帳票では人が確認する工程を前提に運用を組んでください。



