はじめに

クイックスタートと APIインストールオンライン OCRCode generator (EN)

モデルとパイプライン

PP-OCRv6 モデル対応言語PP-StructureV3PaddleOCR-VL

デプロイと連携

Serving & API (EN)PaddleOCR.js (EN)MCP server (EN)

トラブル対応と移行

トラブルシューティング2.x からの移行Releases (EN)

評価

Our benchmark (EN)Compare OCR tools (EN)License & cost (EN)

ツール

オンライン OCRインストールコマンド生成Code generator (EN)エラー解決ツール2.x → 3.x 変換言語コード検索

言語

English简体中文日本語オンラインで OCR
モデル · PaddleOCR 3.7

PP-OCRv6 モデル比較:tiny・small・medium

PP-OCRv6 は、PaddleOCR 3.7 が既定で読み込むテキスト検出・文字認識モデルのファミリーです。tiny(パラメータ数 1.5M、6.3 MB)、small(7.7M、30 MB)、medium(34.5M、133 MB)の 3 つのティアがあり、1 つのモデルで 50 言語を読み取ります。このページでは、Baidu の精度表と速度表、私たち自身の CPU での計測結果、各ティアの選び方と読み込み方を紹介します。

PaddleOCR 3.7.0 で確認済み更新日 14 分で読めます
このページの内容
  1. PP-OCRv6 とは(そして「PaddleOCR v6」ではないもの)
  2. 3 つのティア:パラメータ数、サイズ、言語
  3. PP-OCRv6 の仕組みをわかりやすく
  4. 公式の精度:PP-OCRv6 と PP-OCRv5 の比較
  5. サイズと精度
  6. 公式の速度表(ハードウェア付き)
  7. 私たちの CPU ベンチマーク:精度、速度、メモリ、ディスク
  8. どのティアを使うべきか
  9. Python と CLI でティアを選ぶ方法
  10. PP-OCRv6 の対象外の文字体系:PP-OCRv5 の多言語モデル
  11. PP-OCRv5 と PP-OCRv6 の比較一覧
  12. PP-OCR のバージョン履歴
  13. 公式資料どうしの食い違い
  14. よくある質問

結論:精度を重視するなら、既定の PP-OCRv6 medium のままにしてください。私たちのテストでは 124 項目中 123 項目を正確に読み取りました。CPU アプリや対話的な用途なら small に切り替えます。テストでは medium より約 3.3 倍速く(1 ページあたり 0.90 秒対 2.92 秒)、誤りは 2 項目多いだけでした。エッジデバイスには tiny(6.3 MB)を使えますが、日本語には絶対に使わないでください。かなを読めません。韓国語、アラビア文字、キリル文字、デーヴァナーガリー文字、タイ語、ギリシャ語、タミル語、テルグ語は、今も PP-OCRv5 のモデルを使います。

パラメータ数(medium)
34.5M
small 7.7M · tiny 1.5M(det + rec)3
モデルファイル(medium)
133 MB
small 30.0 MB · tiny 6.3 MB4
1 モデルあたりの言語数
50
tiny は 49(日本語なし)1

PP-OCRv6 とは(そして「PaddleOCR v6」ではないもの)#

PP-OCR は、PaddleOCR のテキスト行 OCR システムの名前です。テキスト行をすべて見つけてポリゴンを返す検出モデルと、切り出した行を読み取る認識モデルで構成されます。PP-OCRv6 はこのモデルの組の第 6 世代です。2026年6月11日に paddleocr パッケージのバージョン 3.7.0 とともにリリースされ、既定のモデルになりました。3

バージョン番号は混同しやすいので注意してください。「PaddleOCR v6」というパッケージは存在せず、最新のパッケージは PaddleOCR 3.7.0 です。「v6」はモデルの世代を指します。同じパッケージで PP-OCRv5、v4、v3 のモデルも引き続き読み込めます。PP-OCRv6 が対応していない言語では、自動的にそれらが読み込まれます(後述)。

Baidu は PP-OCRv6 を、エッジ/IoT(tiny)、モバイル/デスクトップ(small)、サーバー(medium)向けの 3 つのティアからなる 1 つのファミリーと説明しています。PP-OCRv5 からの最大の変更点は対応言語です。small と medium の認識モデルは 1 つのモデルで 50 言語(簡体字中国語、繁体字中国語、英語、日本語、ラテン文字の 46 言語)を読み取るため、フランス語やベトナム語のために別のモデルを用意する必要はなくなりました。1 PaddleOCR() をそのまま呼び出すと、medium ティアが使われます。6

pythondefault.py
from paddleocr import PaddleOCR

ocr = PaddleOCR()   # lang=None, ocr_version=None -> PP-OCRv6_medium_det + PP-OCRv6_medium_rec

3 つのティア:パラメータ数、サイズ、言語#

各ティアは PP-OCRv6_<tier>_det と PP-OCRv6_<tier>_rec の 2 つのモデルで構成されます。パラメータ数は Hugging Face のモデルカードから、サイズは公式のモジュールのドキュメントから取りました。後者は MiB(1,048,576 バイト)で数えると Hugging Face のファイルと一致します。45

ティア用途det パラメータ数rec パラメータ数合計det MBrec MB合計 MB言語数
PP-OCRv6 mediumサーバー(既定)15.5M19M34.5M59.473.3132.750
PP-OCRv6 smallモバイル/デスクトップ2.48M5.2M7.7M9.620.430.050
PP-OCRv6 tinyエッジ/IoT0.43M1.1M1.5M1.94.46.349 — 日本語なし

det と rec のパラメータ数を足すと、丸めた結果が Baidu の公表するティアごとの合計(1.5M / 7.7M / 34.5M)になります。3 MB 列の合計は、公表されているモデルごとのサイズを私たちが足したものです。

tiny ティアは日本語を読めない — どれほど読めないかを計測しました#

公式ドキュメントではこの点に一節("tiny supports 49, excluding Japanese")で触れているだけで、OCR パイプラインのドキュメントに PP-OCRv6_tiny は japan に対応していないという補足があります。17 理由は中国語版のアルゴリズムのドキュメントに書かれています。約 4,000 字の漢字とかなが、tiny の認識モデルの 1.1M パラメータの出力層に与える影響を避けるため、日本語を除外したというものです。2 各モデルに同梱されている辞書を数えたところ、tiny は 6,904 エントリでひらがなもカタカナも 1 文字も含まれていません。small と medium はどちらも 18,708 エントリで、そのうち 180 がかなです。12

実際にどうなるかというと、日本語の店舗掲示で tiny の文字誤り率は 47.3% で、small と medium は 0% でした。8 行のうち正しく読めたのは 1 行だけで、漢字と数字だけの行です。PaddleOCR は警告を出さず、信頼度スコアもしきい値フィルタをすり抜けるほど高めに出ます。1112

正解PP-OCRv6 tiny の出力スコア
臨時休業のお知らせ臨時休業⑦书知5世0.880
いつもご利用いただき誠にありがとうございます。八⊃毛己利用大龙老誠仁亡方己忒末寸。0.706
設備点検のため、下記の日程で臨時休業いたします。設備点梭D大女、下記D日程飞臨時休業大L末寸。0.808
休業日:2026年11月18日(水)休業日:2026年11月18日(水)0.950
営業再開:2026年11月19日(木)午前10時當業再開:2026年11月19日(木)午前10時0.948
お客様にはご迷惑をおかけしますが、书客様C己迷惑左书力L末寸、0.801
何卒ご理解のほどよろしくお願い申し上げます。何卒己理解D話∑上弓L<书顧申L上伏末寸。0.725
みなと町ベーカリー 店主办太亡町心一力一店主0.778

かなはすべて、tiny の辞書にある形の似た文字に置き換えられています。の は ⑦ に、お は 书 に、し は L になります。medium と small は 8 行すべてを正しく読み取りました。入力に日本語が含まれる可能性があるなら、small か medium を使ってください。ブラウザで動く私たちのオンラインツールが既定で small を使うのも、これが理由です。

PP-OCRv6 の仕組みをわかりやすく#

バックボーンPPLCNetV4両方のタスクで共有する 1 つの軽量な特徴抽出器。
検出RepLKFPN ネック大きなカーネルのネックで画素ごとに広い文脈を見て、行のポリゴンを出力。
認識LightSVTR ネック + CTC行全体に局所的・大域的なアテンションをかけ、1 文字ずつデコード。
  • 2 つの処理に 1 つのバックボーン。PPLCNetV4 は MetaFormer のパターン(低コストな「トークンミキサー」の後に「チャネルミキサー」)に従い、構造的再パラメータ化を使います。学習時には追加の分岐が役立ち、推論時にはそれらが 1 つの畳み込みにまとめられます。検出では画像を縦横両方向に縮小し、認識では高さだけを縮小するので、テキスト行は左から右への系列になります。1
  • 検出はより広い文脈を見る。新しい RepLKFPN ネックは 3×3 ではなく 7×7 の depthwise 畳み込みを使い、パラメータ数は PP-OCRv5 の RSEFPN より 31% 少なくなっています(118K 対 172K)。1
  • 認識は局所と大域の視点を組み合わせる。EncoderWithLightSVTR ネックは、隣り合う文字を見る小さな畳み込みと、行全体を見る 1〜2 層の self-attention を組み合わせます。テキストは CTC ヘッドが出力し、NRTR ヘッドは学習時にのみ使われ、推論時には取り除かれます。1
  • tiny は蒸留モデル。tiny の認識モデルにはネックがまったくなく、medium モデルを模倣するように学習されています(知識蒸留)。1
  • 50 言語で 1 つの辞書。文字セットに約 200 のダイアクリティカルマーク付き文字が追加されました。これにより、1 つのモデルで中国語と並んでポーランド語、ベトナム語、アイスランド語も読めるようになっています。1

公式の精度:PP-OCRv6 と PP-OCRv5 の比較#

これらの数値はBaidu 自身が社内のマルチシナリオベンチマークで計測したもので、検出 16 カテゴリ、認識 15 カテゴリからなります。テストセットは公開されていないため、ベンダー公表値として扱ってください。1

Baidu のベンチマーク:v6 small が v5 server を上回る

検出 Hmean(16 カテゴリの平均)と認識精度(15 カテゴリの加重平均)、%。Baidu 社内ベンチマーク。

検出 Hmean認識精度
モデル検出 Hmean認識精度
PP-OCRv6 medium86.2%83.2%
PP-OCRv6 small84.1%81.3%
PP-OCRv6 tiny80.6%73.5%
PP-OCRv5 server81.6%78.1%
PP-OCRv5 mobile75.2%73.7%
ベンダー公表値:PP-OCRv6.en.md、3.1〜3.2 節。

目立つ点が 2 つあります。small(パラメータ数 7.7M)は、はるかに大きい PP-OCRv5 server を両方の平均で上回っています。また tiny の認識の平均(73.5%)は、ダウンロードサイズが約 3 分の 1 でありながら PP-OCRv5 mobile(73.7%)と同等です。ただし、カテゴリ別の表を見ると、手書き文字では大きく劣ります。

カテゴリ別の検出 Hmean(%)#

モデル平均手書き中国語手書き英語印刷中国語印刷英語繁体字古籍日本語ぼやけ絵文字歪みピンインアート表回転産業一般
v6 medium86.283.784.095.193.786.380.284.394.199.688.674.069.096.893.873.382.8
v6 small84.180.587.194.293.685.772.682.392.699.787.669.665.395.693.767.678.2
v6 tiny80.679.485.993.192.383.763.076.689.399.886.159.060.194.791.062.073.8
v5 server81.680.384.194.591.781.567.677.290.196.287.667.167.397.180.064.379.7
v5 mobile75.274.477.790.591.082.358.172.787.493.682.757.552.592.864.752.872.1

検出で最も改善したのは回転したテキストです(v5 server の 80.0 に対して 93.8)。表(97.1 対 96.8)と手書き英語(84.1 対 84.0)では、今も PP-OCRv5 server が medium をわずかに上回っています。1

カテゴリ別の認識精度(%)#

モデル加重平均手書き中国語手書き英語印刷中国語印刷英語繁体字古籍日本語形の似た文字特殊文字一般ピンインアート産業画面カード
v6 medium83.262.167.891.594.178.672.490.564.961.787.578.171.277.482.588.1
v6 small81.357.661.190.593.377.071.188.264.160.285.775.968.476.479.786.9
v6 tiny73.540.139.386.788.465.068.489.852.357.178.065.454.762.171.280.5
v5 server78.158.059.690.185.174.760.473.759.456.886.574.464.070.268.187.6
v5 mobile73.741.750.986.086.072.057.875.855.754.880.772.554.059.357.681.7

Baidu は、v5 server に対する medium の改善として、日本語(+16.8 ポイント)、古籍(+12.0)、画面テキスト(+14.4)を強調しています。2 この表には不自然なセルがあります。tiny は日本語で 89.8% と medium に近いスコアですが、tiny はかなを読めません。このセルの元になったテストセットについてドキュメントに説明はありません。実際の日本語テキストについては、上で示した計測結果を信頼してください。

同じ表には視覚言語モデル(Gemini-3.1-Pro、GPT-5.5、Qwen3-VL-235B)も含まれており、Baidu のテストセットではいずれも PP-OCRv6 medium より低いスコアです。パラメータ数 34.5M のモデルが「VLM を上回る」という主張の根拠はこれです。1

これらを以前の PP-OCRv5 の数値と比べないでください。同じ PP-OCRv5_server_rec モデルが、モジュールの表では 86.38%、PP-OCRv5 の論文のベンチマークでは 0.8401、ここでは 78.1% と記載されています。3 つは別々のテストセットで、比較できるのは同じ表の中の数値だけです。48

サイズと精度#

1 MB あたりの精度が最も高いのは PP-OCRv6 small

Baidu の認識精度(加重平均)と det + rec の合計モデルサイズ。サイズの軸は対数目盛。

PP-OCRv6PP-OCRv5
モデルサイズ(MB)認識精度
v6 tiny6.3 MB73.5%
v6 small30.0 MB81.3%
v6 medium132.7 MB83.2%
v5 mobile20.7 MB73.7%
v5 server165.3 MB78.1%
精度:Baidu 社内ベンチマーク、PP-OCRv6.en.md。サイズ:公式のモジュールのドキュメント。det + rec の合計は paddleocr.dev が算出。

tiny から small にすると、24 MB 増えて精度が 7.8 ポイント上がります。small から medium にすると、さらに 103 MB 増えて 1.9 ポイントの向上です。前世代と比べると、small は 9 MB 多いだけで PP-OCRv5 mobile を 7.6 ポイント上回り、medium はサイズが小さいのに PP-OCRv5 server を 5.1 ポイント上回り、tiny は 3 分の 1 未満のサイズで PP-OCRv5 mobile と同等です。

公式の速度表(ハードウェア付き)#

Baidu は、画像の読み込み、前処理・後処理、2 つのモデルを含むパイプライン全体の時間を、一般画像と文書画像 200 枚で計測しました。値は画像 1 枚あたりの秒数です。ドキュメントにハードウェアは記載されていますが、スレッド数やバッチの設定は書かれていません。1

ハードウェアバックエンドv6 mediumv6 smallv6 tinyv5 serverv5 mobilev4 mobile
NVIDIA A100PaddlePaddle0.290.250.130.320.250.14
NVIDIA A100TensorRT--0.320.16--0.330.16
NVIDIA V100PaddlePaddle0.720.490.210.660.500.25
NVIDIA V100ONNX Runtime0.670.530.290.770.460.27
NVIDIA V100TensorRT0.770.600.230.730.590.27
Intel Xeon 8350CPaddlePaddle2.050.790.322.040.800.62
Intel Xeon 8350COpenVINO1.400.590.207.300.780.60
Intel Xeon 8350CONNX Runtime3.310.610.226.360.610.49
Apple M4PaddlePaddle8.823.070.96>105.825.65
Apple M4ONNX Runtime5.551.290.357.201.101.02

見出しの数字ではなく、行ごとに読んでください。GPU では、medium は A100 で v5 server よりわずかに速いだけで(0.29 秒対 0.32 秒)、V100 の PaddlePaddle では遅くなっています(0.72 秒対 0.66 秒)。Baidu が挙げる大きな高速化(OpenVINO での medium の 5.2 倍、Apple M4 での tiny の 6.1 倍)は、PP-OCRv5 server や mobile が極端に遅い CPU の行から来ています。1 Apple Silicon では、この表のすべてのモデルで ONNX Runtime が PaddlePaddle より速くなっています。

モジュールのドキュメントには、4 つの推論エンジン(PaddlePaddle の静的グラフと動的グラフ、Transformers、ONNX Runtime)でのモデルごとの処理時間も NVIDIA A100 と Xeon Gold 6248 について掲載されていますが、どの数値がどのデバイスのものかが書かれていないため、ここには載せていません。4

私たちの CPU ベンチマーク:精度、速度、メモリ、ディスク#

現行の 5 つのモデルすべてを、4 vCPU の Intel Xeon @ 2.10 GHz、15 GB RAM、GPU なしの環境で、PaddleOCR 3.7.0 と 2 つのエンジン(PaddlePaddle 3.2.0 と ONNX Runtime)で実行しました。テストセットは、既知のテキストが 124 項目ある 5 つの文書です。きれいなレシート、同じレシートを斜めから撮影したもの、英語の請求書、中国語と英語の掲示、日本語の掲示です。各数値はウォームアップ後 3 回の中央値で、文書の向き補正、歪み補正、行の向き分類はオフにしました。詳しい方法と生データはベンチマークページ (EN) にあります。11

モデル正確な項目 /124CER(5 文書すべて)CER(日本語を除く)秒/ページ Paddle 3.2.0秒/ページ ONNX Runtimeピーク RAM Paddleピーク RAM ORTディスク上
v6 medium1230.03%0.03%4.512.922,579 MB2,890 MB139.2 MB
v6 small1210.17%0.21%1.230.901,503 MB1,858 MB31.6 MB
v6 tiny1119.83%0.46%0.390.261,259 MB1,427 MB6.6 MB
v5 server1170.34%0.43%5.2535.703,521 MB5,206 MB173.6 MB
v5 mobile1170.67%0.84%0.900.731,433 MB1,846 MB22.1 MB

列の見方:CER は文字誤り率で、正解と出力の両方の全角記号、ダッシュ、空白を正規化してから計算し、文書ごとの値を平均したものです。ピーク RAM は、5 文書すべてを処理する間の Python プロセス全体の最大常駐メモリです。ディスク上は PaddlePaddle エンジン用にダウンロードした det + rec のモデルフォルダーのサイズで、10 進の MB(106 バイト)で示しています。ONNX のフォルダーとの差は 1 MB 以内です。11

v5 server を除き ONNX Runtime が速い

4 vCPU の Xeon での 1 ページあたりの秒数。5 文書の平均(それぞれウォームアップ後 3 回の中央値)。短いほど高速。

PaddlePaddle 3.2.0ONNX Runtime
モデルPaddlePaddle 3.2.0ONNX Runtime
PP-OCRv6 tiny0.39 s0.26 s
PP-OCRv5 mobile0.90 s0.73 s
PP-OCRv6 small1.23 s0.90 s
PP-OCRv6 medium4.51 s2.92 s
PP-OCRv5 server5.25 s35.70 s — 範囲外
paddleocr.dev による計測、2026-10-27。生データと方法:/benchmarks (EN)。

ここからわかること:

  • テストしたモデルで最も正確なのは medium です。124 項目で唯一の誤りは、請求書の "600x600" を乗算記号を使った "600×600" と読んだもので、これはすべてのモデルが同じ誤りをしました。精度(123 対 117)と速度(PaddlePaddle で 4.51 秒対 5.25 秒)の両方で PP-OCRv5 server も上回りました。
  • CPU では small が最もバランスに優れます。ONNX Runtime で medium より約 3.3 倍速く、ピークメモリは 36〜42% 少なく、ダウンロードサイズは 4 分の 1 未満で、誤りは 2 つ多いだけでした(2 枚のレシートの両方で "Order" を "0rder" と読んだもの)。
  • tiny は本当に小さくて速い — 1 ページ 0.26 秒です。日本語以外での誤り率(0.46%)は PP-OCRv5 server(0.43%)に近い値でした。
  • PP-OCRv5 server + ONNX Runtime の異常。PP-OCRv5 server は ONNX Runtime で 1 ページ 35.7 秒かかり、PaddlePaddle では 5.2 秒でした。出力テキストは同じです。Baidu 自身の Xeon の行でも、はるかに小さい差ながら同じ傾向が見られます(ONNX Runtime 6.36 秒対 PaddlePaddle 2.04 秒)。後日、同じ v5 server の検出モデルと小さな韓国語認識モデルを使う lang="korean" で確認したところ、同じパターン(画像 1 枚あたり 12.35 秒対 1.80 秒)が見られたため、遅いのは検出モデルのようです。CPU で v5 server や PP-OCRv5 の言語を使う必要がある場合は、PaddlePaddle エンジンを使ってください。114
  • medium についての私たちの CPU の結果は、ONNX Runtime(3.31 秒)が PaddlePaddle(2.05 秒)より遅かった Baidu の Xeon 8350C の行とは異なります。CPU、スレッド数、エンジンのバージョンが違うとこれらの数値は大きく変わるので、採用する前に自分のハードウェアでベンチマークしてください。

paddlepaddle==3.2.0 を使ったのは、PyPI の現在のリリースである 3.3.1 では、oneDNN を無効にしない限り CPU で PaddleOCR 3.7.0 がクラッシュするためです。また enable_mkldnn=False にすると、medium は 1 ページ 11.9 秒かかりました。対処法はトラブルシューティングのページに、インストールコマンドはインストールガイドにあります。

どのティアを使うべきか#

状況使うもの理由
精度を最も重視するサーバーやバッチ処理v6 mediumBaidu の表でも私たちのテストでも最高スコア(123/124)。既定なのでコードの変更は不要です。
手書き文字、古籍、文字の詰まったスクリーンショットv6 mediumBaidu の認識の表で small との差が最も大きい項目:手書き英語 67.8 対 61.1、手書き中国語 62.1 対 57.6。
CPU のみのアプリ、対話的なツール、デスクトップソフトv6 small4 コアの CPU と ONNX Runtime で 1 ページ 0.9 秒。モデルは 31 MB。
ブラウザやモバイルアプリv6 smallPaddleOCR.js は ocrVersion: "PP-OCRv6" を small に対応付け、公式 iOS デモの既定のプリセットも small です。Android デモには small と tiny が含まれています。
エッジや IoT デバイス、非常に大量の処理、ラテン文字か中国語のみv6 tiny6.3 MB、私たちのテストで 1 ページ 0.26 秒。手書き文字に弱い(手書き英語 39.3%)。
日本語が含まれる可能性があるv6 small または mediumtiny の辞書にはかながありません。
韓国語、アラビア文字、キリル文字、デーヴァナーガリー文字、タイ語、ギリシャ語、タミル語、テルグ語PP-OCRv5 多言語PP-OCRv6 の対象外です。lang を渡せば 3.7 が適切なモデルを選びます。対応言語を参照してください。
PaddleOCR 3.0〜3.6 の結果を再現する必要があるPP-OCRv5 serverocr_version="PP-OCRv5"。3.7 の PP-StructureV3 が既定で使うのもこのモデルです。

出典:プラットフォームの行は PaddleOCR.js のソースコードと iOS・Android のデプロイのドキュメント、精度は上記の Baidu の表、速度は私たちのベンチマークです。11113 自分の画像で small と tiny を並べて試すには、オンライン OCR ツールを使ってください。

Python と CLI でティアを選ぶ方法#

ここが多くの人がつまずくところです。lang と ocr_version で選べるのは medium ティアだけです。PP-OCRv6 の言語であれば、PaddleOCR 3.7 は必ず PP-OCRv6_medium_det + PP-OCRv6_medium_rec を返します。small や tiny を使うには、モデル名を明示的に指定します。6

from paddleocr import PaddleOCR

ocr = PaddleOCR(
    text_detection_model_name="PP-OCRv6_small_det",     # or PP-OCRv6_tiny_det
    text_recognition_model_name="PP-OCRv6_small_rec",   # or PP-OCRv6_tiny_rec
    use_doc_orientation_classify=False,
    use_doc_unwarping=False,
    use_textline_orientation=False,
    engine="onnxruntime",   # optional: fastest CPU engine in our test
)
for res in ocr.predict("receipt.jpg"):
    print(res["rec_texts"])
paddleocr ocr -i receipt.jpg \
    --text_detection_model_name PP-OCRv6_small_det \
    --text_recognition_model_name PP-OCRv6_small_rec \
    --use_doc_orientation_classify False \
    --use_doc_unwarping False \
    --use_textline_orientation False \
    --engine onnxruntime

モデル名やモデルのディレクトリを渡すと、PaddleOCR は lang と ocr_version を無視し、次の警告をログに出します。6

text
`lang` and `ocr_version` will be ignored when model names or model directories are not `None`.

そのため PaddleOCR(lang="japan", text_recognition_model_name="PP-OCRv6_tiny_rec") は、エラーを出さずに日本語テキストを tiny で処理してしまいます。そのほかの選び方は次のとおりです。

  • 以前の世代:PaddleOCR(ocr_version="PP-OCRv5") は PP-OCRv5_server_det + PP-OCRv5_server_rec を読み込みます。ocr_version="PP-OCRv4" は lang="ch" と "en" でのみ動作し、v4 の mobile モデルを読み込みます。それ以外のバージョン文字列は ValueError になります。6
  • その他の文字体系:PaddleOCR(lang="korean") は PP-OCRv5_server_det + korean_PP-OCRv5_mobile_rec を読み込みます。私たちの言語コード検索で、すべてのコードについて使われるモデルを確認できます。
  • ブラウザ:PaddleOCR.js は ocrVersion: "PP-OCRv6" を small ティアに対応付けます。こちらでも tiny を使うにはモデル名の明示が必要です。PaddleOCR.js ガイド (EN) を参照してください。
  • PP-StructureV3 の中:既定では今も PP-OCRv5 server でテキストを読み取ります。PP-OCRv6 のモデルを渡すと、私たちの請求書で誤認識していた 3 行が直りました。方法。

コード生成ツール (EN) を使えば、HTTP 版や JavaScript 版も含めてこれらのコードを自動で作成できます。

PP-OCRv6 の対象外の文字体系:PP-OCRv5 の多言語モデル#

PP-OCRv6 が対応するのは中国語、日本語、ラテン文字の言語です。PaddleOCR 3.7 でそれ以外の言語を担当するのは、2025年6月から10月にかけてリリースされた小さな PP-OCRv5 の認識モデルで、PP-OCRv5_server_det 検出モデルと組み合わせて使われます。精度の数値は Baidu によるもので、それぞれ別のテストセットで計測されているため、「前世代比」の列とだけ比べてください。8

認識モデル読める言語精度前世代比(%)テスト画像数
korean_PP-OCRv5_mobile_rec韓国語、英語88.0%+65.05,007
arabic_PP-OCRv5_mobile_recアラビア語、ペルシャ語、ウイグル語、ウルドゥー語、パシュトー語、クルド語、シンド語、バローチー語、英語81.27%+22.832,676
cyrillic_PP-OCRv5_mobile_recキリル文字の 33 言語、英語80.27%+21.27,600
eslav_PP-OCRv5_mobile_recロシア語、ベラルーシ語、ウクライナ語、英語81.6%+31.47,031
devanagari_PP-OCRv5_mobile_recヒンディー語、マラーティー語、ネパール語ほか 10 言語、英語84.96%+68.263,611
th_PP-OCRv5_mobile_recタイ語、英語82.68%–4,261
el_PP-OCRv5_mobile_recギリシャ語、英語89.28%–2,799
ta_PP-OCRv5_mobile_recタミル語、英語94.2%+39.232,121
te_PP-OCRv5_mobile_recテルグ語、英語87.65%+43.472,478

このほかの 2 つの PP-OCRv5 多言語モデル、latin_ と en_PP-OCRv5_mobile_rec は、現在はほぼ PP-OCRv6 に置き換えられています。ただし 3.7 は、PP-OCRv6 が明示的に除外しているパーリ語(pi)にはラテン文字のモデルを読み込みます。6 ka の 1 コードだけは PP-OCRv3 のモデルしかありません。全 112 コードの対応は対応言語のページにあります。

PP-OCRv5 と PP-OCRv6 の比較一覧#

PP-OCRv5PP-OCRv6
リリース2025年5月20日(PaddleOCR 3.0)2026年6月11日(PaddleOCR 3.7.0)
ティアmobile、servertiny、small、medium
メインモデルの言語簡体字・繁体字中国語、ピンイン、英語、日本語50:中国語(簡体字・繁体字)、英語、日本語、ラテン文字の 46 言語
その他の文字体系個別の多言語認識モデルなし — v5 の認識モデルにフォールバック
Baidu のベンチマーク、rec / detserver 78.1 / 81.6 · mobile 73.7 / 75.2medium 83.2 / 86.2 · small 81.3 / 84.1 · tiny 73.5 / 80.6
私たちのテスト、正確な項目 /124server 117 · mobile 117medium 123 · small 121 · tiny 111
3.7 での既定PP-StructureV3 のテキストモデル、v6 非対応の言語PaddleOCR()

アップグレードすべきでしょうか。中国語、英語、日本語、ラテン文字のテキストなら、答えは「はい」です。Baidu の数値でも私たちの数値でも、medium と small は v5 server や v5 mobile より正確です。私たちの CPU では、medium は v5 server より速くもありました。small は v5 mobile よりわずかに遅いものの(ONNX Runtime で 0.90 秒対 0.73 秒)、誤りは 4 つ少なくなっています。v5 にとどまるのは、v6 が対応していない文字体系を使う場合か、以前の出力を正確に再現する必要がある場合だけです。111

PP-OCR のバージョン履歴#

  1. 最初の軽量モデル — "Open source 8.6M lightweight Chinese OCR model"。9
  2. PP-OCR — 最初に名前の付いたシステム。論文は arXiv:2009.09941(2020年9月21日)。9
  3. PP-OCRv2 — PaddleOCR 2.3 とともにリリース。arXiv:2109.03144。9
  4. PP-OCRv3 — PaddleOCR 2.5 とともにリリースされ、6 月に論文 arXiv:2206.03001 が続きました。3.7 でも lang="ka" に使える認識モデルはこれだけです。9
  5. PP-OCRv4 — release/2.7、mobile 版と server 版。公式の一覧で論文がない唯一の世代です。9
  6. PP-OCRv5 — PaddleOCR 3.0 とともにリリース。3.0.1(2025年6月5日)で既定が mobile から server に変わりました。9
  7. PP-OCRv5 多言語モデル — 3.1.0 でフランス語、スペイン語、ロシア語、韓国語など 37 言語の認識モデル、3.2.0 で英語、タイ語、ギリシャ語、3.3.0 でキリル文字、アラビア文字、デーヴァナーガリー文字、テルグ語、タミル語が追加されました。39
  8. PP-OCRv6 — tiny、small、medium の 3 ティア、1 つのモデルで 50 言語。PaddleOCR 3.7.0 で既定に。論文は arXiv:2606.13108。39

モデルの世代ではなくパッケージのリリースについては PaddleOCR のリリース (EN) を、古い 2.x のコードを 3.x の API に移行するには移行ガイドをご覧ください。

公式資料どうしの食い違い#

このページの数値をすべて確認する中で、次の食い違いが見つかりました。どちらかを選ぶ必要がある場合は、ソースコードか実際のファイルに従いました。

  • 「GPU 推論 2.37 倍高速化」。PP-OCRv6 のドキュメントは冒頭の段落で medium について PP-OCRv5 server 比でこう主張していますが、同じドキュメントの速度表では A100 で 0.29 秒対 0.32 秒(ドキュメント自身が "1.1× faster" と書いています)で、V100 の PaddlePaddle と TensorRT では medium のほうが遅くなっています。2.37 倍を裏付ける表は見つかりませんでした。README は別の数値(OpenVINO を使った CPU で 5.2 倍、Apple M4 の tiny で 6.1 倍)を挙げています。13
  • 48 言語か 50 言語か。英語版のドキュメントと認識モデルのカードは 50 としています。Hugging Face の 3 つの検出モデルのカードは "Supports 48 languages" で、中国語版のドキュメントは 48 とする箇所と 50 とする箇所があります。コードが受け付ける PP-OCRv6 のコードは 52 個で、そのうち 2 つ(french、german)は別名なので、50 言語です。256
  • モデルサイズ。PP-OCRv5_server_det はモジュールのドキュメントでは 84.3 MB、model_list.md では 101 MB で、ファイルの合計は 84.24 MiB です。ch_RepSVTR_rec は 1 つのドキュメントで 22.1 MB、ほかの 2 つで 48.8 MB です。韓国語、ラテン文字、東スラブ語の v5 認識モデルはいずれも 14 MB と記載されていますが、ファイルは 13.0、7.8、7.7 MiB です。公表されている「MB」は実質的に MiB です。上で示したディスク上の数値はモデルフォルダー全体を 10 進の MB で表したものなので、数パーセント大きくなります。4510
  • 同じモデルでスコアが異なる。PP-OCRv5_server_rec は、どのドキュメントを読むかによって 86.38%、0.8401、78.1% になります。3 つの異なるベンチマークです(上の注意を参照)。48
  • PP-OCRv5 の多言語対応は 106 言語か 109 言語か。v5 の多言語のドキュメントは 106、2025年10月のリリース後の README は 109 としています。38
  • PP-OCRv6 の行がない。model_list.md では PP-OCRv6 の精度、レイテンシ、サイズが "-" で、標準の T4 レイテンシ表でも PP-OCRv6 は "- / -" です。410

ほかの食い違いを見つけた場合や、これらが上流で修正された場合は、hello@paddleocr.dev までメールでお知らせください。

よくある質問#

PP-OCRv6 とは何ですか?

PP-OCRv6 は PaddleOCR のテキスト検出・文字認識モデルの第 6 世代で、2026年6月11日に PaddleOCR 3.7.0 とともにリリースされました。tiny(パラメータ数 1.5M)、small(7.7M)、medium(34.5M)の 3 つのティアがあり、small と medium の認識モデルは 1 つのモデルで 50 言語を読み取ります。PaddleOCR 3.7 の既定は medium です。

PaddleOCR v6 はありますか?

パッケージとしてはありません。paddleocr の最新リリースは 3.7.0 です。「v6」は、3.7.0 が既定で使う PP-OCRv6 というモデルの世代を指します。pip install paddleocr==3.7.0 で PP-OCRv6 が使えます。

PaddleOCR のモデルのサイズはどれくらいですか?

検出と認識の合計で、PP-OCRv6 tiny は 6.3 MB、small は 30.0 MB、medium は 132.7 MB です(公表サイズ)。PP-OCRv5 mobile は 20.7 MB、PP-OCRv5 server は 165.3 MB です。ダウンロードしたモデルフォルダーをディスク上で計測すると、6.6、31.6、139.2、22.1、173.6 MB(10 進)でした。私たちの CPU で実行したときのプロセスのピークメモリは、PaddlePaddle で約 1.3 GB(tiny)から 3.5 GB(v5 server)でした。

PP-OCRv6 は PP-OCRv5 より優れていますか?

中国語、英語、日本語、ラテン文字のテキストなら、はい。Baidu のベンチマークでは、medium の認識精度は 83.2% で、PP-OCRv5 server は 78.1% です。私たちの 5 つのテスト文書では、medium が 124 項目中 123 項目を正確に読み取ったのに対し、v5 server は 117 項目で、CPU では medium のほうが速くもありました。PP-OCRv6 は韓国語、アラビア文字、キリル文字、デーヴァナーガリー文字、タイ語、ギリシャ語、タミル語、テルグ語には対応しておらず、これらは今も PP-OCRv5 のモデルを使います。

medium の代わりに PP-OCRv6 の small や tiny を使うには?

両方のモデル名を渡します:PaddleOCR(text_detection_model_name="PP-OCRv6_small_det", text_recognition_model_name="PP-OCRv6_small_rec")。CLI でも同じフラグを使います。lang と ocr_version で選べるのは medium だけです。

PP-OCRv6 tiny は日本語に対応していますか?

いいえ。辞書にひらがなもカタカナもありません。私たちのテストでは、日本語の掲示で文字誤り率が 47.3% になりました。警告は一切出ず、信頼度スコアもほとんどが 0.7 を超えていました。日本語には small か medium を使ってください。

PP-OCRv5 や PP-OCRv4 に戻すには?

v5 の server モデルなら PaddleOCR(ocr_version="PP-OCRv5") を、v4 の mobile モデルなら lang="ch" または "en" とともに ocr_version="PP-OCRv4" を使います。CLI では paddleocr ocr -i img.png --ocr_version PP-OCRv5 です。

PP-OCRv6 に GPU は必要ですか?

いいえ。GPU なしの 4 vCPU の Xeon で、ONNX Runtime を使うと small は 1 ページ平均 0.9 秒、medium は 2.9 秒でした。Baidu の A100 の数値は、画像 1 枚あたり 0.25 秒と 0.29 秒です。

出典

  1. PP-OCRv6 アルゴリズムのドキュメント(英語)— ティア、50 言語、アーキテクチャ、検出・認識の表、エンドツーエンドの速度表:docs/version3.x/algorithm/PP-OCRv6/PP-OCRv6.en.md(3〜123 行目、リポジトリのコミット dab3fe3)。
  2. PP-OCRv6 アルゴリズムのドキュメント(中国語)— tiny が日本語を除外する理由(138 行目)、「48 言語」という記述(65 行目)、カテゴリ別の改善幅(107 行目):PP-OCRv6.md。
  3. PaddleOCR の README — 2026.06.11 の 3.7.0 リリース、ティアごとの合計 "tiny (1.5M) / small (7.7M) / medium (34.5M)"、3.3.0 の多言語リリース:README.md(71〜131 行目)。
  4. モジュールのドキュメント — モデルサイズ、PP-OCRv5/v4 のモジュール表(NVIDIA T4 / Intel Xeon Gold 6271C)、エンジン別の処理時間:text_detection.en.md と text_recognition.en.md。
  5. PaddlePaddle/PP-OCRv6_{tiny,small,medium}_{det,rec} の Hugging Face モデルカードとファイル一覧 — パラメータ数、検出モデルのカードにある "Supports 48 languages"、ファイルサイズ、inference.yml 内の辞書。2026-10-27 取得。
  6. PaddleOCR 3.7.0 のソースコード paddleocr/_pipelines/ocr.py — v6 の言語セット(58〜62 行目)、モデル名による上書きと警告(102〜127 行目)、_get_ocr_model_names(318〜422 行目)、CLI フラグ(434〜565 行目)。PyPI の 3.7.0 wheel とバイト単位で同一。
  7. OCR パイプラインのドキュメント — ocr_version ごとに対応する lang、tiny と日本語に関する注記(2862 行目):OCR.en.md。
  8. PP-OCRv5 のドキュメント — PP-OCRv5.en.md と PP-OCRv5_multi_languages.en.md(多言語モデルごとの精度は 154〜179 行目、言語一覧は 244〜256 行目)。
  9. リリース履歴 — docs/update/update.en.md、docs/papers.en.md、docs/index/index.en.md(PP-OCRv4、58〜60 行目)。
  10. docs/version3.x/model_list.md — 別のサイズの数値(PP-OCRv5_server_det 101 MB、ch_RepSVTR_rec 48.8 MB)と、PP-OCRv6 の行の "-"。
  11. paddleocr.dev ベンチマーク、2026-10-27:Linux x86-64、4 vCPU の Intel Xeon @ 2.10 GHz、15 GB RAM、GPU なし、Python 3.13、paddleocr 3.7.0、paddlex 3.7.2、paddlepaddle 3.2.0 または onnxruntime 1.31.1。5 文書、既知のテキスト 124 項目、ウォームアップ後 3 回の中央値。文書の前処理とテキスト行の向き分類はオフ。生データ:results.jsonl と summary.json。方法 (EN)。
  12. paddleocr.dev による、日本語の掲示での PP-OCRv6 tiny の再実行、2026-10-27(ONNX Runtime エンジン、同じマシン)。出力テキストはそのまま引用。辞書のサイズは、各モデルの Hugging Face の inference.yml から私たちが数えたもの。
  13. クロスプラットフォームのデプロイ:PaddleOCR.js のソースコード(paddleocr-js/packages/core/src/pipelines/ocr/shared.ts、PP-OCRv6 → small)、iOS デプロイのドキュメント(プリセット、既定は small)、Android デプロイのドキュメント。
  14. paddleocr.dev、2026-10-28:きれいなレシート画像に対する PaddleOCR(lang="korean")(PP-OCRv5_server_det + korean_PP-OCRv5_mobile_rec)、同じマシン、ウォームアップ後 3 回の中央値:onnxruntime 1.31.1 で 12.35 s、paddlepaddle 3.2.0 で 1.80 s。全モデルの項目ごとの誤認識は /benchmarks (EN) に掲載。
更新日 2026年10月27日·事実確認の方法