LSTMニューラルネットワークエンジン
従来のパターンマッチング方式から革新的なLSTMディープラーニングモデルへ進化。不鮮明なスキャンや歪みのある文書でも極めて高い文字認識精度を発揮します。
Tesseract OCRは、業界標準のオープンソース光学文字認識エンジンです。 LSTMニューラルネットワークにより、画像やスキャン文書から100以上の言語のテキストを読み取ります。鮮明な印刷文書では文字単位で99%を超える精度が一般的です。完全にオフラインで動作します。
$ tesseract scanned_doc.png output -l jpn+eng --psm 3 pdf hocr
Tesseract OCR v5.5.3初期化中 (LSTMエンジン)...
Leptonica画像ライブラリをロード: scanned_doc.png (300 DPI, 2480x3508)
言語モデル読み込み: jpn.traineddata, eng.traineddata
ページレイアウト解析実行中 (PSM 3: 完全自動レイアウト認識)...
文字認識処理中 (LSTMニューラルネットワーク)... 完了 (0.84秒)
✓ output.txt 生成完了 (テキスト抽出)
✓ output.pdf 生成完了 (検索可能PDF / テキストレイヤー付き)
✓ output.hocr 生成完了 (バウンディングボックス座標付きXML)
入力画像からテキスト・検索可能PDFへ変換する5段階のOCRパイプライン
画像の二値化(白黒変換)、傾き補正、ノイズ除去、300+ DPIへの正規化を行い、認識精度を最大化します。
カラム構造、段落、テキスト行、単語の境界を検出し、段落や表などの複雑な構造を自動認識します。
テキスト行の基準線(ベースライン)を追跡し、文字の塊(ブロブ)を抽出してニューラルネットワークへ渡します。
双方向LSTM(長短期記憶)リカレントニューラルネットワークが、前後の文脈を考慮して高精度に文字を識別します。
認識結果をプレーンテキスト、検索可能な透明テキスト付きPDF、hOCR (HTML)、ALTO XML、TSV、Boxファイルとして出力します。
スキャン画像やPDFを、ブラウザ内で編集可能なテキストや検索可能なPDFに変換できます。ファイルはアップロードされません。
Windows・macOS・Linux・WSL2・Docker・Conda へのインストール、言語データの追加、動作確認までを完全な手順ガイドで解説します。
日々のOCR作業で最もよく使われる Tesseract CLI コマンドです。
画像から .txt ファイルにテキストを抽出します。
-l フラグで言語を指定します(例:ドイツ語)。
+ で言語を組み合わせ、多言語の文書に対応します。
選択可能な透明テキスト付きの検索可能PDFを生成します。
認識された各単語の正確な座標をHTML形式で取得します。
--psm 6 で単一の均一なテキストブロックとして扱います。
システムにインストール済みの言語モデルを表示します。
単語ごとの詳細データと信頼度スコアを書き出します。
開発者、研究者、エンタープライズに選ばれる理由
従来のパターンマッチング方式から革新的なLSTMディープラーニングモデルへ進化。不鮮明なスキャンや歪みのある文書でも極めて高い文字認識精度を発揮します。
日本語、英語、中国語、アラビア語、キリル文字、デーヴァナーガリーなど、世界中の文字体系に対応。複数言語の混在文書も同時認識可能です。
スキャン画像の下に見えないテキストレイヤーを配置した検索可能PDFを生成。元の文書デザインを維持したまま、キーワード検索やテキストコピーが可能になります。
外部サーバーやクラウドへのデータ送信は一切不要。医療記録、契約書、機密財務データなど、厳格なセキュリティ要件を満たします。
単語や文字ごとの座標(バウンディングボックス)、信頼度スコアを含むリッチなメタデータを出力可能。高度なドキュメント解析パイプラインに最適です。
画像の解像度や品質による Tesseract 5 の典型的な精度と速度の目安です。
| 入力DPI | 文字精度 | 処理速度 | 推奨用途 |
|---|---|---|---|
| 150 DPI | ~85–90% | 高速 | 下書き・プレビューのみ |
| 300 DPI | ~98–99% | 最適 | 一般的な文書 |
| 600 DPI | ~99% | 低速 | 高精細なアーカイブ |
| 言語 | 一般的な精度(300 DPI) | 備考 |
|---|---|---|
| 英語(ラテン文字) | ~99% | 最も学習データが豊富。鮮明な印刷ならほぼ完璧 |
| スペイン語・ポルトガル語・ドイツ語・フランス語・イタリア語 | ~97–99% | アクセント記号には適切なモデルが必要 |
| ロシア語(キリル文字) | ~96–98% | 強力なLSTMモデルあり |
| 中国語・日本語・韓国語 | ~92–97% | 文字数が多く、レイアウトが重要 |
| アラビア語・デーヴァナーガリー | ~90–96% | 字形の変化や合字が結果に影響 |
| エンジン | ライセンス | 強み | 弱み |
|---|---|---|---|
| Tesseract 5 | Apache 2.0 | 100以上の言語、CPUで動作、完全オフライン、調整可能、豊富なエコシステム | 手書きや非常にノイズの多いスキャンは苦手 |
| EasyOCR | Apache 2.0 | ディープラーニングによる精度、80以上の言語、簡単なPython API | GPU向けで、CPUでは遅く調整項目が少ない |
| PaddleOCR | Apache 2.0 | レイアウト・表の解析に強く、難しいスキャンにも強い | 依存関係が大きく、PaddlePaddle ランタイムが必要 |
数値について:標準のLSTMモデルで、白地に黒の鮮明な印刷テキストを処理した場合のおおよその目安であり、正式なベンチマークではありません。実際の結果はスキャン品質、フォント、レイアウト、言語によって変わります。ご自身の文書で測定し、プロジェクトのテストに関する資料もご確認ください。
Tesseract の開発は査読付き論文として記録されており、現代のテキスト認識技術の基礎の一つになっています。
Tesseract は文字を読むだけでなく、さまざまな業界のデータ処理を自動化します。
レシートの写真から合計金額、日付、明細を自動で抽出し、経費アプリに取り込みます。
駐車場管理や交通監視のための、オープンソースのナンバープレート認識(ANPR)に利用できます。
パスポートや運転免許証から氏名やID番号をプログラムで抽出し、本人確認を効率化します。
検索できない書庫の資料や社内のTIFF画像を、検索可能なPDFにまとめて変換します。
コマンドラインが苦手な方でも、グラフィカルな画面で簡単にOCRを利用できる無料ツール
GTK/Qtベースの使いやすいGUIフロントエンド。画像やPDFの直接編集、OCR領域の選択、スペルチェック機能を備えています。
gImageReaderを見る →既存のスキャンPDFに検索可能なテキストレイヤーを追加する最高峰のCLI/自動化ツール。傾き補正や自動ページ回転にも対応。
OCRmyPDFを見る →Javaおよび.NETで構築されたクロスプラットフォームGUI。一括OCR処理、テキスト後処理、PDF変換を標準サポート。
VietOCRを見る →最適な認識精度を得るためのページ分割モード(Page Segmentation Mode)設定ガイド
| PSMフラグ | モード名称 | 最適な適用シーン |
|---|---|---|
--psm 3 |
完全自動ページ分割 (デフォルト) | 標準的なスキャン文書、複数段落、一般的なページ全体。 |
--psm 6 |
単一の均一なテキストブロック | 領収書、請求書、本の1ページなど均一なフォントの文章。 |
--psm 7 |
単一のテキスト行 | ナンバープレート、バーコード下の文字、切り抜かれた見出し。 |
--psm 8 |
単一の単語 | 切り抜かれたロゴ文字、単一の識別番号。 |
--psm 11 |
順序不定の疎なテキスト | ポスター、名刺、ランダム配置のチラシ、表内の散在データ。 |
スキャンした請求書、レシート、古い書籍などの画像に含まれる文字を、検索・編集できるテキストに変換します。データ入力の自動化ツール、デジタルアーカイブ、スキャンアプリなどで広く使われているエンジンです。
はい。Tesseract は Apache 2.0 ライセンスのオープンソースソフトウェアで、個人・学術・商用のいずれの用途でも、ライセンス料やAPI料金なしで利用できます。
はい。バージョン4で導入されたLSTMニューラルネットワーク(バージョン5でさらに改善)により、印刷物の認識では有料のOCR APIと十分に競える精度があり、完全オフラインで動作するというプライバシー上の利点もあります。
はい。旧バージョン(v3)は従来のパターンマッチングでしたが、v4以降はテキスト行のような連続データに適したディープラーニング手法であるLSTM(長短期記憶)ネットワークを使っています。
Tesseract 5 は高精度なLSTMモデルを維持しつつ、v4より処理速度が向上し、多くのメモリリークが修正され、学習ツールも刷新されました。現在、本番環境での利用にはバージョン5が推奨されます。
いいえ。Tesseract は主にC/C++ライブラリとコマンドラインツールです。GUIが必要な場合は、gImageReader や NAPS2 など、Tesseract を利用したサードパーティ製アプリを使います。
はい。tesseract.js などのプロジェクトがC++のコードをWebAssemblyにコンパイルしているため、サーバーなしでブラウザ内でOCRを実行できます。当サイトのオンラインOCRツールもこの仕組みを使っています。
tesstrain リポジトリを使います。正解データの準備から学習、既存の .traineddata モデルのファインチューニングまでを Makefile で自動化できます。
Tesseract は鮮明でコントラストの高い画像を前提としています。ぼやけた画像や背景が複雑な画像は、OpenCV や ImageMagick で二値化や傾き補正などの前処理を行ってから渡してください。
Leptonica ライブラリを通じて PNG、JPEG、TIFF、BMP、PNM、GIF、WebP に対応しています。精度を重視する場合は、300 DPI 以上の TIFF や PNG などの可逆圧縮形式がおすすめです。
鮮明で高解像度の印刷文書では、文字単位で95%以上、標準的な印刷テキストでは99%を超えることも珍しくありません。低品質なスキャン、手書き、装飾的なフォント、ノイズの多い背景では精度が下がります。
はい。Tesseract は完全にローカルで動作し、画像を外部サーバーに送信しません。医療記録、法律文書、金融データなど、クラウドOCRが使えない用途に適しています。
Tesseract は無料・オープンソースで完全オフラインで動作するため、プライバシー重視の処理、大量処理、閉じたネットワーク環境に向いています。Cloud Vision API は難しい画像や手書きに強い一方、従量課金で画像をGoogleに送信する必要があります。
最も重要なのは画像の品質です。300 DPI以上へのアップスケール、グレースケール化と二値化、傾き補正、ノイズ除去を行い、レイアウトに合ったPSM(例:--psm 6)と正しい言語モデル(例:-l jpn+eng)を選びましょう。
PaddleOCR は複雑なレイアウト、曲がった文字、表の認識に強いディープラーニング系のOCRです。Docling はPDFや画像をMarkdownやJSONに変換する文書変換エンジンで、内部でOCRエンジンを使い分けます。
1つのコマンドから、OCRの自動化パイプラインまで。
$ tesseract scan.png stdout -l jpn