web-dev-qa-db-ja.com

LinuxシステムでのOCR

私はいつも OCRテクノロジー がオープンソースシステムに遅れをとっていることを発見しました。幼い頃から Ocropusプロジェクト も見てきました。 Linuxで利用できる最高のOCRエンジンであると聞いたところ、 Tesseract を試してみましたが、ビジネスドキュメントがひどく不足していることがわかりました。他に有望なOCR実装はありますか?手書きを解釈するためのさらに希望に満ちた目標はどうですか?この分野の* nixシステムでは何が可能ですか?

14
jjclarkson

正八胞体

2018年の時点で、利用可能な最高のオープンソースOCRソフトウェアは Tesseract 4(ベータ) 新しい LSTMニューラルネットワークOCRモデル です。そのOCRパフォーマンスは、バージョン3で使用されていた以前のOCRモデルよりもはるかに優れています。

例(スキャンされたドイツ語ドキュメントのテキストレイヤーを含むPDFファイルoutput.pdfを作成):

$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf

認識されたテキストをstdoutに出力します。

$ tesseract --oem 1 -l deu page page-0001.png stdout

インストールされている言語を一覧表示します。

$ tesseract --list-langs

非常に多くの言語/スクリプトのサポートは、ダウンロード可能な形式で利用できます トレーニング済みデータセット 、例: Frakturのデータセットもあります。

新しいLSTMモデルでは、Tesseractは OCRopus 研究プロジェクトからインスピレーションを得ています。

Tesseractバージョン3は、高品質の入力画像でも比較的パフォーマンスが低下します。つまり、ダストピクセル内の単一文字を誤って検出し(テキストコンテキスト外)、よく知られた単語に単一文字エラーを簡単に導入することがよくあります。

楔形文字

楔形文字 OCRのパフォーマンスはそれほど悪くはありませんが、アクティブに維持されておらず(2011年の最後のリリース、バージョン1.1)、簡単にクラッシュし、その他の問題があります。

次のようにレイアウトアルゴリズムを無効にできます。

$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001

-lはソースドキュメントの言語を指定します)

ocrad

$ ocrad -F utf8 image-0001

テキストはデフォルトでstdoutに印刷されます。

ビジネス文書では、楔形文字/正八胞体/ gocrにはない下線付きの単語がありませんでした。

gocr

$ gocr image-0001

テキストはデフォルトでstdoutに印刷されます。

ハードウェア

Sane は、多くの自動ドキュメントフィード(ADF)スキャナーを非常によくサポートしています。 Avision および Fujits のものの場合。

Saneには、スクリプト化されたスキャンパイプラインを構築するために使用できるscanimageコマンドラインプログラムが含まれています(例:my adf2pdf.py スクリプト)。

4
maxschlepzig

StackOverflowで同様の質問Asprise OCR SDK 、リンクされた商用の1つを見つけました)製品、Linuxバージョンを誇っています。

3
Larry Smithmier

人気のあるOCRコマンドラインツールはいくつかあります。

  • TesseractReadMe[〜#〜] faq [〜#〜] )(Python)

    次の場合にも使用できます: Tesseract .NETTesseract iOS

    1985年から1995年の間にHP研究所で開発されたOCRエンジン...そして現在はGoogleで。 Tesseractは、おそらく利用可能な最も正確なオープンソースOCRエンジンです。

    使用法:

    tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
    

    例: 既存のPDFコマンドライン/スクリプトを介して検索可能(OCR)にする

  • [〜#〜] gocr [〜#〜]

    オープンソースの文字認識。スキャンしたテキスト画像をテキストファイルに変換します。 GOCRはさまざまなフロントエンドで使用できるため、さまざまなOSやアーキテクチャへの移植が非常に簡単になります。さまざまな画像形式を開くことができ、その品質は日々向上しています。

  • OCRopus ™( [〜#〜] faq [〜#〜] )(Python、NumPy、SciPyで記述)

    プラグ可能なレイアウト分析、プラグ可能な文字認識、統計的自然言語モデリング、および多言語機能を備えた、ドキュメント分析の問題に対処するための大規模な機械学習の使用に焦点を当てたOCRシステム。

    OCRopusエンジンは、90年代半ばに開発され、米国国勢調査局によって展開された高性能手書き認識機能と、新しい高性能レイアウト分析手法の2つの研究プロジェクトに基づいています。

    OCRopusは、Googleが後援する開発であり、当初は高スループットで大量のドキュメント変換を目的としています。他の多くのアプリケーションにとっても優れたOCRシステムになると期待しています。

  • Tessnet2 (オープンソース、OCR、Tesseract、.NET、DOTNET、C#、VB.NET、C++/CLI)

    TesseractはC++オープンソースOCRエンジンです。 Tessnet2は、OCRを実行するための非常に単純なメソッドを公開する.NETアセンブリです。 Tessnet2はApache2ライセンス(tesseractなど)の下にあります。つまり、商用製品に含まれているため、好きなように使用できます。

その他の提案済み: Linux用のABBYY CLI OCRAsprise OCR

また読む:

より完全なリストについては、以下を確認してください。 光学式文字認識ソフトウェアのリスト ウィキペディアで。

1
kenorb

予算がある場合は、 Linux用のABBYY FineReader Engine CLI を強くお勧めします。当社はWebアプリケーションで1年間使用しており、ライセンスを更新する予定です。非常に優れた認識品質、コマンドラインインターフェイス、多くの言語での認識。

0
minaev

... OCRは「文字認識のみ」以上のものです。画像処理、前処理-テキスト、画像、表、またはバーコードを見つけるためのページ/レイアウト分析。認識のために、さまざまなフォント、サイズ、言語を扱う必要があります。良い結果を得るには、辞書と言語定義を使用する必要があるため、これは重要です。最後に、人々はテキストよりも多くのエクスポートオプション(XML、RTF、検索可能なPDFなど)を期待しています。 SDKにはいくつかの商用オプションがありますが、安価で無料ではありません。

最近、 ABBYYのLinux用CLI OCR を見つけました。 100ページの無料トライアルがあります。

0
OldSpecckledHen