ニュースマクロBaiduのUnlimited-OCRで画像とPDF向けのエンドツーエンドOCRパイプラインを構築

BaiduのUnlimited-OCRで画像とPDF向けのエンドツーエンドOCRパイプラインを構築

著者: MarkTechPost·

重要ポイント

  • MarkTechPostは、Baiduの3Bパラメータ視覚言語モデルUnlimited-OCRをGoogle Colab上で文書画像と複数ページPDFに実行するためのチュートリアルを公開した。
  • Unlimited-OCRはエンドツーエンドの文書理解を実行し、従来のOCRエンジンで必要だったテキスト検出、認識、レイアウト解析の各段階への依存を低減する。
  • チュートリアルでは、密なレイアウト向けにタイル状の画像クロップを使うGundamモードと、きれいなページを高速処理するために単一の1024ピクセルビューを使うBaseモードを比較している。
  • このパイプラインは、PyMuPDFでページをラスタライズし、安定したデコードのために反復制御を拡張した長期ホライズン推論関数へ渡すことで、複数ページPDF解析に拡張される。
  • 結果はMarkdown、JSON、MMDなど複数の構造化形式で出力でき、ドキュメント化、プログラムによる利用、図表レンダリングのワークフローを支援する。
BaiduのUnlimited-OCRで画像とPDF向けのエンドツーエンドOCRパイプラインを構築

MarkTechPostが公開したチュートリアルでは、BaiduのUnlimited-OCRモデルを文書画像と複数ページPDFで実行するための完全なワークフローを構築する方法が説明されている。このパイプラインはGoogle Colab向けに設計されており、環境設定、依存関係のインストール、モデルの読み込み、サンプル文書の生成、単一ページOCR、複数ページPDFの解析を扱う。Unlimited-OCRは、文書理解を単一のエンドツーエンドシステムで処理する視覚言語モデルへの大きな流れの一部であり、従来のOCRエンジンで使われてきたテキスト検出、認識、レイアウト解析という多段階パイプラインの必要性を低減する。

ワークフローは、GPU対応ランタイムの設定と、Unlimited-OCRの推論に必要なライブラリのインストールから始まる。CUDA対応GPUが利用可能であることを確認し、ハードウェアのサポートに応じてbfloat16またはfloat16を自動的に選択する。チュートリアルでは、Hugging Faceからトークナイザーと3Bパラメータの視覚言語モデルを読み込み、モデルを評価モードに切り替え、推論のためにGPUへ移動する。Hugging Faceでモデルがホストされているため、開発者は事前学習済みの重みを直接読み込むことができ、文書認識モデルをゼロから学習または微調整する必要がない。

再現可能なテスト入力を作成するため、チュートリアルでは必要な入力ディレクトリと出力ディレクトリを設定し、PILを使って現実的なサンプル文書ページを3ページ生成する。これらのページには見出し、段落、表、脚注が含まれており、単純なテキストブロックだけでなく、構造化されレイアウトが豊富なコンテンツで認識をテストできる。生成された最初のページは、OCRワークフローに渡される前にMatplotlibでプレビューされる。

単一画像OCRでは、チュートリアルはまずGundamモードを使用する。このモードは文書全体のグローバルビューと、タイル状の画像クロップを組み合わせる。この設定ではcrop_modeを有効にし、小さめのタイルサイズを使うことで、細かな文字を保持し、密なレイアウトでの認識精度を高める。ワークフローでは、複雑な文書を処理する際にモデルが安定した構造化出力を生成できるよう、長い出力向けの生成設定と反復制御も適用する。

同じ文書は次にBaseモードで処理される。このモードでは単一の1024ピクセル画像ビューを使用する。画像クロップは無効化され、推論の複雑さを減らし、きれいに印刷された明瞭なページで処理速度を向上させる。チュートリアルでは、BaseモードをGundamモードと一貫した生成パラメータの下で直接比較できるよう、同じ出力長と反復制御の設定を維持している。

その後、パイプラインは画像OCRから複数ページPDF解析へ拡張される。チュートリアルでは、生成した文書画像から3ページのPDFを作成し、PyMuPDFを使って各ページを高解像度PNGにラスタライズする。得られたページ画像のシーケンスはinfer_multi()に渡され、モデルが文書全体を単一の長期ホライズン推論実行で解析できるようにする。複数ページにわたって安定したデコードを支えるため、n-gram反復ウィンドウも拡張される。

単一ページ推論と複数ページ推論の両方を実行した後、チュートリアルではワークフローが生成した出力ディレクトリを確認する。生成された各ファイルを一覧表示し、対応するテキスト、Markdown、MMD、JSON成果物のプレビューを表示する。また、推論モードを選択するための簡潔なリファレンスも含まれており、密な画像、きれいなページ、複数ページPDFに対して異なる構成を推奨している。Markdownはドキュメント化、JSONは後続のプログラム利用、MMDは図表レンダリングに使えるなど、複数の構造化形式で結果を出力できるため、このパイプラインはさまざまな文書処理ニーズに適応できる。

完成したワークフローは、Google ColabでUnlimited-OCRを使用し、高精細な単一ページ文書とより長い複数ページPDFを処理する方法を示している。GundamとBaseの推論モードを比較し、PDFをモデルで扱えるページ画像に変換し、長期ホライズンの文書解析を実行し、出力フォルダ内の生成テキスト、Markdown、補助成果物を確認する。この設定は、安定した長文書デコードに必要な生成パラメータを保持しながら、異なるGPU機能にも適応する。

MarkTechPostによると、このワークフローは、従来型のOCRとレイアウト解析を分離したスタックに依存せず、レポート、スキャン済みフォーム、技術文書、表、その他のレイアウトが豊富なコンテンツにUnlimited-OCRを適用するための再利用可能な基盤を提供する。完全なチュートリアルコードはGitHubで公開されている。