Tesseract は、さまざまなオペレーティングシステム向けの光学文字認識エンジンです。 [ 5 ] これは、 Apache ライセンスの下でリリースされたフリーソフトウェアです。[ 1 ] [ 6 ] [ 7 ]元々は1980 年代にHewlett-Packardによって独自ソフトウェアとして開発されましたが、2005 年にオープンソースとしてリリースされ、 2006 年にGoogleによって開発が支援されました。[ 8 ]
2006年当時、Tesseractは利用可能なオープンソースOCRエンジンの中で最も正確なものの1つと考えられていました。[ 7 ] [ 9 ]
Tesseract エンジンは、元々は1985 年から 1994 年にかけてイギリスのブリストルとアメリカ合衆国コロラド州グリーリーにあるヒューレット・パッカード研究所で独自ソフトウェアとして開発され、 1996 年に Windows への移植のためにさらに変更が加えられ、1998 年にCからC++への部分的な移行が行われました。コードの大部分は C で書かれ、一部は C++ で書かれていました。それ以降、すべてのコードが C++ に変換されました。[ 1 ]その後 10 年間はほとんど作業が行われませんでした。そして 2005 年にヒューレット・パッカードとネバダ大学ラスベガス校(UNLV)によってオープンソースとして公開されました。Tesseract の開発は2006 年にGoogleによってスポンサーされました。[ 8 ]
バージョン4では、LSTMベースのOCRエンジンと、多くの言語とスクリプトのモデルが追加され、合計116言語になりました。[ 10 ]さらに、37のスクリプトがサポートされています。
2018年以来、マンハイム大学図書館はいくつかのプロジェクトを通じてTesseractの開発に貢献してきました。これらのプロジェクトのほとんどはドイツ研究振興協会から資金提供を受けています。[ 11 ] [ 12 ]
バージョン5は2021年にリリースされました。[ 13 ]
Tesseractは1995年の文字精度においてトップ3のOCRエンジンでした。[ 14 ] Linux、Windows、Mac OS Xで利用可能です。[ 6 ] [ 7 ]
Tesseract は、バージョン 2 までは、入力として単純な 1 列のテキストの TIFF 画像しか受け付けられませんでした。これらの初期バージョンにはレイアウト分析が含まれていなかったため、複数列のテキスト、画像、または数式を入力すると、出力が文字化けしました。バージョン 3 以降、Tesseract は出力テキストの書式設定、hOCR [ 15 ]位置情報、およびページ レイアウト分析をサポートしています。Leptonicaライブラリを使用して、多数の新しい画像フォーマットのサポートが追加されました。Tesseract は、テキストが等幅か比例間隔かを検出できます。[ 7 ]
Tesseractの初期バージョンは、英語のテキストしか認識できなかった。
Tesseract v2では、新たに6つの西欧言語(フランス語、イタリア語、ドイツ語、スペイン語、ブラジルポルトガル語、オランダ語)が追加されました。
バージョン 3 では、表意文字 (中国語と日本語) や右から左に書く言語 (アラビア語、ヘブライ語など) に加え、多くの文字体系に対応するなど、言語サポートが大幅に拡張されました。追加された言語には、アラビア語、ブルガリア語、カタルーニャ語、中国語 (簡体字と繁体字)、クロアチア語、チェコ語、デンマーク語、ドイツ語 (フラクトゥール文字)、ギリシャ語、フィンランド語、ヘブライ語、ヒンディー語、ハンガリー語、インドネシア語、日本語、韓国語、ラトビア語、リトアニア語、ノルウェー語、ポーランド語、ポルトガル語、ルーマニア語、ロシア語、セルビア語、スロバキア語 (標準文字とフラクトゥール文字)、スロベニア語、スウェーデン語、タガログ語、タミル語、タイ語、トルコ語、ウクライナ語、ベトナム語が含まれます。
2015年7月にリリースされたV3.04では、新たに39の言語/文字の組み合わせが追加され、サポート言語の総数は100を超えました。追加された言語コードには、amh(アムハラ語)、asm(アッサム語)、aze_cyrl(キリル文字のアゼルバイジャン語)、bod(チベット語)、bos(ボスニア語)、ceb(セブアノ語)、cym(ウェールズ語)、dzo(ゾンカ語)、fas(ペルシア語)、gle(アイルランド語)、guj(グジャラート語)、hat(ハイチ語およびハイチクレオール語)、iku(イヌクティトゥット語)、jav(ジャワ語)、kat(グルジア語)、kat_old(古グルジア語)、kaz(カザフ語)、khm(中央クメール語)、kir(キルギス語)、kur(クルド語)、lao(ラオス語)、lat(ラテン語)、marなどが含まれます。 (マラーティー語)、mya (ビルマ語)、nep (ネパール語)、ori (オリヤー語)、pan (パンジャブ語)、pus (パシュトー語)、san (サンスクリット語)、sin (シンハラ語)、srp_latn (ラテン文字のセルビア語)、syr (シリア語)、tgk (タジク語)、tir (ティグリニャ)、uig (ウイグル語)、urd (ウルドゥー語)、uzb (ウズベク語)、uzb_cyrl (キリル文字のウズベク語)、yid (イディッシュ語)。[ 16 ]他の言語で動作するように訓練することができます。[ 7 ]
他の言語処理の精度率は、レイ・スミスによるDAS 2016(サントリーニ島)でのプレゼンテーションで示された。[ 17 ]
Tesseractはバックエンドとしての使用に適しており、 OCRopusなどのフロントエンドを使用することで、レイアウト分析を含むより複雑なOCRタスクに使用できます。[ 18 ]
Tesseract の出力は、入力画像がそれに合わせて前処理されていない場合、非常に品質が悪くなります。画像 (特にスクリーンショット) は、テキストのx-heightが少なくとも 20 ピクセルになるように拡大する必要があります。 [ 19 ]回転や歪みは修正しないとテキストが認識されません。低周波の明るさの変化はハイパス フィルターでフィルタリングする必要があります。そうしないと、Tesseract の二値化段階でページの大部分が破壊されます。暗い境界線は手動で削除する必要があります。そうしないと、文字として誤って解釈されます。[ 20 ]

Tesseractはコマンドラインインターフェースから実行されます。[ 21 ] TesseractにはGUIは付属していませんが、GUIを提供する独立したプロジェクトが多数存在します。[ 22 ]一般的な例としてOCRFeederがあります。[ 23 ]クロスプラットフォームのオープンソースGUIとしてはgImageReaderがあります。
2007年7月のTesseractに関する記事で、Linux JournalのAnthony Kayは、Tesseractを「優れた仕事をする風変わりなコマンドラインツール」と評した。当時彼は、「Tesseractは必要最低限のOCRエンジンです。ビルドプロセスは少し風変わりで、エンジンには(レイアウト検出などの)追加機能が必要ですが、コア機能であるテキスト認識は、私がオープンソースコミュニティで試した他のどのツールよりもはるかに優れています。スキャナーとGIMPやNetpbmなどの画像ツールだけで、優れた認識率を得ることはかなり簡単です。」と述べている。[ 5 ]
2020年11月、インターネットアーカイブのブリュースター・カーレはTesseractを称賛し、次のように述べた。
Tesseractはここ数年で大きな進歩を遂げました。前回精度を評価した時点では、独自のOCRほど優れていませんでしたが、状況は変わりました。評価を行った結果、同等の精度となり、新しいアーキテクチャのおかげで、私たちのアプリケーションではさらに向上する可能性があります。[ 24 ]
{{cite web}}: CS1 maint: deprecated archival service (link)