👁️

OCRオープンソースカタログ — 画像からテキストを抽出するすべての方法

TesseractからEasyOCR、PaddleOCR、Surya、TrOCR、Qwen2-VLまで — 難易度・言語・速度比較

OCR = image → model(image) → text

今まで整理したパターンと同じ。

最も簡単:EasyOCR(3行)

import easyocr
reader = easyocr.Reader(['ja', 'en'])
result = reader.readtext('doc.png')

ツール比較

ツール タイプ サイズ GPU CJK 難易度
EasyOCR CNN+RNN ~100MB 不要 対応 ★☆☆☆☆
Tesseract LSTM ~15MB 不要 対応 ★★☆☆☆
PaddleOCR CNN+RNN 10-150MB 不要 最強 ★★☆☆☆
Surya Transformer ~300MB 推奨 対応 ★★☆☆☆
Qwen2-VL LLM 2B+ 必要 対応 ★★★★☆

キーコンセプト

1

EasyOCR(★☆☆☆☆)— pip install+3行。80言語。最も簡単

2

PaddleOCR(★★☆☆☆)— CJK最強。軽量モデル10MB

3

Surya(★★☆☆☆)— 最新Transformer。90言語。ベンチマーク最高

4

Tesseract(★★☆☆☆)— 15MBで最軽量。100言語。GPU不要

5

Qwen2-VL(★★★★☆)— マルチモーダルLLM。「読んで」の一言でOCR。GPU必要

ユースケース

文書デジタル化 — スキャンされた文書/画像からテキスト抽出 シーンテキスト認識 — 看板、メニュー、名刺などの写真からテキスト抽出 RAGパイプライン — OCRで文書をテキスト化→ベクトルDBに保存→LLM質疑応答