OCR (光学文字認識)
読み: おーしーあーる (こうがくもじにんしき)
画像やスキャン文書に含まれる文字を機械が読み取り可能なテキストデータに変換する技術。紙文書のデジタル化や自動データ入力に不可欠である。
OCR (Optical Character Recognition、光学文字認識) は、画像中の文字領域を検出し、各文字を認識してデジタルテキストに変換する技術である。紙の書類をスキャンしてテキスト検索可能な PDF にする、名刺の情報を自動入力する、街中の看板を翻訳するなど、日常的に幅広く利用されている。
従来の OCR はテンプレートマッチングや特徴量ベースの手法が主流だったが、深層学習の導入により認識精度が飛躍的に向上した。特に手書き文字、多言語混在テキスト、歪んだ文字 (シーンテキスト) への対応力が大幅に改善されている。
- テキスト検出: 画像内の文字領域を特定する段階。EAST、DBNet、CRAFT などのモデルが矩形や多角形で文字領域を検出する。曲線テキストや縦書きにも対応する手法が発展している
- テキスト認識: 検出された領域内の文字列を読み取る段階。CRNN (CNN + RNN + CTC) や Transformer ベースのモデルが使用される。日本語では漢字・ひらがな・カタカナ・英数字の混在に対応する必要がある
- エンドツーエンド OCR: 検出と認識を統合したモデル。PaddleOCR や TrOCR は単一モデルで画像からテキストを直接出力する。大規模言語モデルとの統合 (文書理解) も進んでいる
実用上の課題として、低解像度画像、照明ムラ、文字の遮蔽、複雑なレイアウト (表、段組み) への対応がある。前処理として二値化、傾き補正、ノイズ除去を行うことで認識精度を向上させる。近年は GPT-4V のようなマルチモーダル LLM が文書理解タスクで高い性能を示しており、従来型 OCR との役割分担が変化しつつある。