中級 12 分ビジョン

PaddleOCR:ページを理解するOCR page

端的な回答

PaddleOCR は、Apache 2.0 ライセンスで提供されるオープンソースの OCR ツールキット(GitHub でのスター数は 90,000 超)で、ページ上のどこにあるテキストでも検出し、表を再構築します。派生版の PaddleOCR-VL では、約 9 億パラメータのビジョンモデルが、標準的なベンチマークである OmniDocBench v1.6 で 96.33% を達成しています。実際の文書で行単位の読み取りエンジンを置き換えられる性能ですが、その分、インストールの負担は大きくなります。

PaddleOCRは、従来の光学文字認識エンジンにはできないことを実現します。ページ上のどこにあるテキストでも検出し、密集した文字を読み取り、表の構造を再構成します。従来のエンジンよりも処理は重くなりますが、請求書、フォーム、レポート、多言語のスキャン文書といった重要な文書には、まさにこうした機能が必要です。

著者 Mohamed Meguedmi·更新 2026-09-29·Windows・macOS・Linuxでテスト済み

#まず検出を行うことで何が変わるのか

PaddleOCRはApache 2.0ライセンスで公開されているオープンソースのOCRツールキットです。ページを1行ずつ読むのではなく、まずテキストの位置を探し、次に各領域を読み取り、その後、ページや表の構造を再構成できます。この仕組みにより、請求書、フォーム、傾いたスキャン、多言語文書にも強く、Tesseractのようなエンジンが自信満々に意味不明な結果を出す場面でも対応できます。プロジェクトには2つの系統があります。モジュール式パイプライン(読み取り用のPP-OCRv6と構造解析用のPP-StructureV3)と、PaddleOCR-VLです。PaddleOCR-VLは約9億パラメータの視覚モデルで、1回の処理でページをMarkdownに変換し、開発元によるとOmniDocBench v1.6で96.33%を記録しています。その代わり、PaddlePaddleとモデルの重みが必要になるため、インストールの負担は大きくなります。また、VL版にはドキュメントに記載されたGPU要件があります。読み取りやすいテキストを大量に処理するなら、軽量なエンジンの方が手軽です。

従来のエンジンは、ページが本のように並んだテキストの行で構成されていると想定しています。しかし、実際の文書はそうではありません。請求書には枠があり、フォームには入力欄があり、プレゼンテーションでは画像の上にテキストが重なり、スキャン画像は傾いていることがあり、技術図面には斜めに配置されたラベルがあります。

PaddleOCR は問題を分離します。検出モデルはテキスト領域をどこに位置していても特定し、その位置を返します。認識モデルは各領域を読み取ります。傾いたテキスト、余白のキャプション、セル内の数値は、他の領域とともに三つの領域として扱われます。これにより、行ごとに処理するリーダーが誤りを示すことなく失敗する文書でも、PaddleOCR は対応できます。

#パイプラインのステップ

ローカルAIキット

お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 生涯アップデート
各ステップが生成するもの
ステップ生成する内容なぜ重要なのか
テキストの検出各テキスト領域を囲む枠通常とは異なる位置にあっても見落とされない
向きの分類各領域の正しい向き斜めにスキャンされた文書も、特別扱いする必要がなくなる
認識各枠内の文字列実際の読み取りステップ
レイアウト分析各ゾーンのタイプ:タイトル、段落、図、表分割は文字数ではなく構造に従うことができます
テーブルの認識行、列、セル数値には、その意味を示す項目名が保持される

すべての工程が必須というわけではありません。少数のラベルを読むだけなら、検出と認識だけで十分です。一方、文書検索のために財務報告書を取り込む場合は、パイプライン全体を使う意義があります。2026年に公開された認識モデルの世代であるPP-OCRv6は、それだけで50言語(中国語、英語、日本語、およびラテン文字を使う46言語)を単一の統合モデルでカバーしており、言語ごとにモデルを切り替える必要はありません。

#PaddleOCR-VL : OCRがビジョンモデルに進化する

2025年10月以降、プロジェクトは同じ名称の下で第二のファミリーとして PaddleOCR-VL を公開しています。これはコンパクトなビジョン・言語モデルであり、5段階の全パイプラインを単一パスに置き換えます。2026年5月末にリリースされたバージョン 1.6 は、パラメータ数が約 0.9B であり、動的解像度のビジュアルエンコーダーと小型の言語モデルを組み合わせます。ドキュメントを Markdown または JSON に変換するための標準ベンチマークである OmniDocBench v1.6 では、96.33% というスコアを達成しており、プロジェクト自身もこれを新たな最上位性能(SOTA)と位置づけています。

注目すべき点はスコアだけではありません。そのスコアを達成したモデルのサイズです。InsiderLLMが公開したガイドは、この状況を一言で要約しています。0.9Bパラメータのモデルが、文書OCRにおいて72BモデルやGPT-4oを上回ったのです。同じ記事では、汎用競合製品のメモリコストも算出されています。Qwen2.5-VL-72BはQ4量子化で48 GB以上のVRAMを必要としますが、GGUF形式に変換されQ4_K_Mで量子化されたPaddleOCR-VLは、言語モデルとビジュアルプロジェクターの重みを合わせて約1〜1.5 GBを占めます。このGGUFへの対応は比較的新しく、PaddleOCR-VLのサポートは2026年2月にllama.cpp(バージョン b8110)に統合されました。また、利用可能なGGUFファイルはPaddleOCRチームではなくコミュニティによって提供されたものです。

OmniDocBenchのスコアを出している構成要素だけが、このプロジェクトのすべてではありません。PaddleOCR-VLに加え、プロジェクトはPP-StructureV3も保守しています。これは、複雑なPDFをMarkdownまたはJSONに変換し、表の各セルと各テキストブロックの正確な座標を含めるための専用パイプラインです。両者が目指すのは、実際の文書をきれいに変換するという同じ目標ですが、その方法は異なります。PaddleOCR-VLは単一のモデルを使い、PP-StructureV3は特化したコンポーネントを連携させます。どちらのエンジンも、マルチGPUとマルチプロセスによる推論を標準でサポートしています。これは、数万ページ規模のコーパスを現実的な時間内に処理する必要がある場合に重要です。

i
2つの製品、1つの名前
PaddleOCR(5段階のモジュール化パイプライン)と PaddleOCR-VL(ワンパスのビジョン・言語モデル)は、同じチームによって公開された2つの異なるツールです。前者は、各段階を制御したい大量の処理に適しています。後者は、パイプラインを構築せずに、複雑な文書を直接構造化された Markdown に変換したい場合に適しています。

#PaddleOCRまたはTesseract

予算の異なる2つの選択肢であり、競合関係ではない(定性的な評価)
PaddleOCRTesseract
インストールPythonのソフトウェアスタックとモデルの重み小さなバイナリ
1 列でクリーンなスキャン優秀優秀で、しかもより高速
ページ上のどこにあるテキストでも優秀弱い
表再構成された構造Aplatis
ラテン文字以外の文字非常に優れています言語パッケージに強く依存しています
数度傾いたドキュメント向きの分類によって補正読み取り率を低下させる可能性があります
GPUオプションです。大きな効果があります。使用されていません

適切に設計された処理パイプラインでは、両方を使います。単純なページは軽量なエンジンに、複雑なページはコストの高いエンジンに振り分けます。この振り分けにはコストがかからず、大規模なコーパスでは何時間もの節約になります。傾きについての記述は些細な話ではありません。請求書から情報を抽出するソフトウェアを提供するKoncileは、独自のテストで、Tesseractの読み取り率が、傾きのない請求書では100%だったのに対し、スキャン画像がわずか3~5度傾くだけで31%に低下することを測定しました。これはまさに、PaddleOCRの向き分類の工程が対応するために設計されたケースです。

#使用例:PaddleOCR に切り替える場合

請求および会計
請求書のスキャン画像は、完全にまっすぐな状態で取り込まれることはめったにありません。金額が意味を保ち、単なる数字の羅列にならないように、表の構造(数量、単価、付加価値税)が読み取れる状態を維持する必要があります。
多言語行政文書
さまざまな文字体系で書かれた申請書、身分証明書、書簡。PaddleOCRは幅広い言語に対応しているため、国や文字体系ごとに別のエンジンを用意する必要がありません。
RAG用の長文レポート
見出し、小見出し、表を含む数十ページの報告書は、その構造を保って変換すると効果的です。文字数で区切るより、セクションの区切りを尊重して分割するほうが適しています。
スキャンされたアーカイブ(未整理)
箱に入った紙文書を雑にスキャンし、ページの向きもばらばらになっている場合でも、向きの分類処理が、読み取り前に乱れの大部分に対処します。
大量処理と読み取りやすいテキスト
一方、すでに適切に枠内に収まっているレシートや明細書を大量に処理する場合は、より軽量なエンジンのほうが適していることが多いです。上記のTesseractとの比較を参照してください。

#インストールして最初の抽出を実行する

インストールにはpipを使いますが、注意点があります。3.xシリーズ以降は、paddleocrパッケージだけでは不十分です。ドキュメントでは、まず選択した推論エンジン(デフォルトはPaddlePaddle)をインストールし、その後にpaddleocrパッケージをインストールするよう求めています。使用する各パイプラインの初回起動時に、検出モデル、認識モデル、必要に応じてレイアウトモデルの重みがダウンロードされます。

  1. 01
    ライブラリのインストール
    まず、公式インストールページに従ってPaddlePaddleをインストールする(マシンに応じてCPU版またはGPU版を選ぶ)。続いて、python -m pip install paddleocrを実行する。基本パッケージはPython 3.8以上に対応しています。文書解析用の追加機能(paddleocr[doc-parser])にはPython 3.9以上が必要です。
  2. 02
    最初の抽出を実行
    paddleocr ocr コマンドは、-i オプションで指定した画像を入力として受け取り、--save_path で指定したフォルダに結果を書き出します。PaddleOCR-VLでページをMarkdownに変換するには、paddleocr doc_parser コマンドを使います。このコマンドでも、同じ -i と --save_path オプションを指定します。
  3. 03
    必要なステップを有効にします
    use_doc_orientation_classify、use_doc_unwarping、use_textline_orientation は、ページやテキスト行の傾きなどを補正する機能を有効にするオプションです。状態のよいスキャンでは、これらを False に設定すると処理が速くなります。公式ドキュメントでも、推論が遅すぎる場合は不要な機能を無効にすることが推奨されています。
ターミナル(PaddlePaddleのインストール後)
python -m pip install paddleocr
paddleocr ocr -i ./facture.jpg --use_doc_orientation_classify True --use_textline_orientation True --save_path ./output
→
直接利用可能な出力
結果には、認識されたテキストと各領域の座標が含まれます。構造解析を有効にすると、文書検索用にそのままインデックス化したり、言語モデルに送ったりできるMarkdownまたはJSON形式の出力も得られます。どのセルがどの表に属するかを特定するために、独自のパーサーを書く必要はありません。

#消費するリソース

このプロジェクトはページあたりの汎用的な処理速度を公開していません。処理速度は文書の密度、有効化された処理ステップ、およびハードウェアに依存するため、推論が遅い場合は不要な機能を無効にするか、より軽量なモデルを選択するようドキュメントで推奨されています。コーパス全体に外挿する前に、約20ページで測定してください。PaddleOCR-VLについては、公式ドキュメントでGPUの前提条件としてNVIDIA(PaddlePaddle:計算能力7.0以上かつCUDA 11.8以上、vLLM:8.0以上かつCUDA 12.6以上)を記載しており、x64プロセッサ向けのパスも用意されています。重みは一度ダウンロードすれば、以降はすべてローカルで動作します。APIもページあたりのコストもかかりません。

!
GPUは共有されています
言語モデルも稼働させているマシンでは、OCRの一括処理と推論が同じメモリを取り合います。誰もシステムに問い合わせていないときにバッチで取り込みを実行し、結果をキャッシュします。文書の変換は一度だけ行い、質問のたびには行いません。

#決め手となる理由:内容を捏造しない

PaddleOCRはピクセルを読み取ります。文字を誤読することがあり、数字が別の数字に置き換わっても、必ずしも気づけるとは限りません。汎用の画像認識モデルに文書の書き起こしを依頼すると、形式が整っていてもっともらしく見えるものの、ページには存在しない値を生成することがあります。しかも、出力にはそれを示すものが何もありません。PaddleOCR-VLでは、さらに注意が必要です。領域ごとに文字を読み取るのではなくテキストを生成するため、書き起こし用に学習されていても、汎用の画像認識モデルと同じ種類のリスクがあります。判別が難しい文字については、どのシステムも誤りを免れません。

文書のチェック、会計、その他監査可能でなければならない用途では、この違いを基準に選ぶ必要があります。判断の根拠にする数値には専用のOCRエンジンを、文書の文字起こしよりも内容の説明を求める場合には汎用のビジョンモデルを使います。重要な文書では、両方を使って比較することも、妥当な第3の選択肢です。

実際の確認作業では、すべてを読み直す必要はありません。各バッチから数十件の文書をサンプルとして取り、エンジンの出力と手作業で比較するだけで、系統的なずれを検出できます。フィールドの範囲指定の誤り、言語の誤認識、表の分割で繰り返し起きる誤りなどを、自動処理される数千ページに影響が広がる前に見つけられます。

#FAQ

PaddleOCR は無料ですか?+
はい。このプロジェクトはApache 2.0ライセンスで公開されており、商用利用を含めて自由に利用できます。GitHubでは90,000を超えるスターを獲得しています。ローカルで動作し、APIキーは不要で、ページ単位の料金もかかりません。ただし、ダウンロードする個々のモデルのライセンスは確認してください。研究用の派生モデルの中には、異なる条件が適用されるものもあります。
GPU は必要か?+
スタートには使用しません:従来のパイプラインはCPU上で動作し、PaddleOCR-VLのドキュメントではx64 CPU向けのパスが想定されています。NVIDIA GPUは依然として最もよくドキュメント化されており、数千ページを超えるデータ量になると必要になります。このプロジェクトはCPUでのページあたりの処理時間の公表を行っていません。自らのドキュメントで測定してください。
PaddleOCRかTesseractか?+
読みやすい単一列のテキストを大量に処理するならTesseractが適しています。スキャン画像が傾いていなければ、より高速で軽量です。レイアウトが乱れた文書、傾いたスキャン画像、フォーム、表、非ラテン文字にはPaddleOCRが適しています。こうした条件では、軽量エンジンの信頼性が急速に低下します。
表を抽出できますか?+
はい、構造認識はツールセットに含まれており、従来の処理パイプラインまたは PP-StructureV3 で利用できます。行、列、セルは、数値を 1 行に並べるのではなく、構造を復元した形で取り出されます。どのベンチマークスコアも、お使いの表での結果を保証するものではありません。処理全体を信頼する前に、いくつかの文書、特に結合セルを含むものを手作業で確認してください。
PaddleOCR-VLとは、具体的にどのようなものですか?+
約9億パラメータのビジョン言語モデルで、従来のOCRパイプラインと同じチームによって公開されました。検出-認識-構造の個別チェーンを構築することなく、1回のパスでページを直接Markdownまたは構造化JSONに変換し、OmniDocBench v1.6ベンチマークで96.33%のスコアを記録しています。
オフラインで動作しますか?+
はい、モデルの重みをダウンロードした後はオフラインで動作します。その後はデータがマシンの外に出ることはありません。これが機密文書にこのツールを選ぶ主な理由です。請求書、診療記録、法的資料は、最初の1バイトを読み込んでから最後の文字を抽出するまで、ディスク上にとどまります。
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。