VLMベースOCRの台頭 - DeepSeek-OCRとハイブリッド活用の可能性
きっかけ
GitHubで「local_ai_ocr」というツールを見かけた。ローカルで動くAI OCRツールらしい。中身を調べてみたら、DeepSeek社の公式モデル「DeepSeek-OCR」をラップしたものだった。
DeepSeek-OCRを調べていくと、これが従来のOCRとは根本的に異なるアプローチだと分かった。
以前、2025年のウェブOCR実装について記事を書いた。そこでは Tesseract.js、NDLOCR、Cloud Vision API などを比較したが、VLMベースのOCRは「AI」として軽く触れただけだった。今回はそこを掘り下げる。
DeepSeek-OCRとは
DeepSeek社(deepseek-ai)が公開している公式プロジェクト。
- リポジトリ: github.com/deepseek-ai/DeepSeek-OCR
- スター数: 22k以上
- ライセンス: MIT
- リリース: 2025年10月
- 論文: arXiv:2510.18234
正式名称は「Contexts Optical Compression」。OCR(Optical Character Recognition)ではなく、あえて別の名前を使っている点が興味深い。
VLM-OCRと従来OCRの違い
ここで言う「VLM-OCR」とは、VLM(Vision Language Model)を使って画像からテキストを抽出する手法を指す。従来のOCRとは根本的にアプローチが異なる。
比較表
| 項目 | 従来OCR | VLM-OCR |
|---|---|---|
| 代表例 | Tesseract.js、NDLOCR | DeepSeek-OCR、GPT-4V |
| 方式 | パターンマッチング・画像処理 | LLMによる推論 |
| 仕組み | 文字の形状を認識 | 画像を見て「何が書いてあるか」を生成 |
| 出力 | プレーンテキスト | Markdown等の構造化テキスト |
| 処理速度 | 高速 | 比較的遅い |
| リソース | 軽量 | GPU推奨、メモリ大量消費 |
それぞれの強みと弱み
従来OCRの強み
- 高速・軽量
- 明瞭な印刷文字には高精度
- 決定論的(同じ入力なら同じ出力)
従来OCRの弱み
- 0とOの混同、1とlの混同など形状の似た文字に弱い
- 手書き・崩れた文字の認識精度が低い
- レイアウト理解が苦手(表、段組みなど)— NDLOCRでも4段組は苦戦した
VLM-OCRの強み
- 文脈を理解して補完できる(「金額欄だから0だろう」など)
- 手書きや崩れた文字にも強い
- 表や段組みを構造化して出力できる
VLM-OCRの弱み
- ハルシネーションのリスク(実際には書かれていない文字を生成する可能性)
- 処理が重い(GPU推奨、モデルサイズが大きい)
- 非決定論的(同じ入力でも出力が変わりうる)
ハイブリッドOCRの可能性
両者の弱点を補完できるのではないか、という発想が浮かぶ。
補完関係
従来OCRの弱点 → VLMで補える
────────────────────────────────────
0/Oの混同 → 文脈から「金額だから0」と判断
手書き・崩れた文字 → 意味を推測して補完
レイアウト理解 → 表や段組みを構造化
VLMの弱点 → 従来OCRで補える
────────────────────────────────────
ハルシネーション → 「実際にある文字」の証拠として照合
細かい数字の精度 → ピクセル単位の認識結果
処理速度・コスト → 軽量で高速な一次処理
実装イメージ
- 両方でOCR実行 - 従来OCRとVLM-OCRを並列で走らせる
- 差分を検出 - 結果が異なる箇所を特定
- マージまたは確認 - 差分箇所はVLM側を採用、または人間確認
特に精度が重要な業務(請求書処理、契約書のデジタル化など)で有効そうだ。
local_ai_ocrについて
冒頭で触れた「local_ai_ocr」は、DeepSeek-OCRをWindows向けにパッケージングしたサードパーティ製ツール。
- リポジトリ: github.com/th1nhhdk/local_ai_ocr
- ライセンス: Apache-2.0
- 対応OS: Windows 10以降
- 初期セットアップ: 6.67GBのモデルダウンロードが必要
オフラインで動作する点は魅力だが、サードパーティ製なのでメンテナンス継続性は不明。本格的に使うなら、DeepSeek-OCR本体を直接使う方が安心かもしれない。
OCRは「読む」から「理解する」へ
VLM-OCRの登場で、OCRの概念が変わりつつある。
従来のOCRは「画像から文字を読み取る」ツールだった。VLM-OCRは「画像の内容を理解してテキスト化する」ツールと言える。
どちらが優れているという話ではなく、用途に応じた使い分けが重要。そして両者のハイブリッドには、まだ掘り下げる余地がありそうだ。
関連記事
- 【OCR】2025年のウェブ実装の限界と知見まとめ - 各OCRライブラリの比較
- Tesseract.js OCRツール - ブラウザで動くOCRデモ
- NDLOCRのDockerビルド手順 - 高精度日本語OCRのセットアップ
- NDLOCRの段組認識問題をヒストグラム解析で力技解決 - レイアウト解析の実践