TesseractをWindowsへインストールする方法を解説しています。
そして、GoogleのOCRエンジンとの比較結果も載せています。
本記事の内容
- TesseractはOCRエンジンである
- TesseractをWindowsへインストールするための環境
- Tesseractのダウンロード
- TesseractのWindowsへのインストール
- Tesseractの動作確認
- Tesseractのインストール先を環境変数のPathに設定する
- Tesseractの精度確認
TesseractはOCRエンジンである
Tesseract(テッセラクト)は、画像から文字認識を行うOCR(光学文字認識)エンジンです。
エンジンであり、ソフトではありません。
(ここで言うソフトとは、画面があって誰でも操作できるモノ)
そのため、Tesseractを操作するために画面などは用意されていません。
Pythonなどのプログラムが、このTesseractを利用する形になります。
だから、ソフトではなくエンジンと表現しています。
TesseractをWindowsへインストールするための環境
- Windows 10 Home (バージョン1909)※以下の説明は64bit前提
- Tesseract 5.0.0
Tesseractのダウンロード
ドイツのマンハイム大学図書館が、Windows用インストーラーを用意してくれています。
これを利用させてもらいましょう。
次のページへアクセスします。
https://github.com/UB-Mannheim/tesseract/wiki
アルファ版ですが、これをダウンロードしましょう。
新しいほど文字認識の精度は向上しているはずです。
そのため、少々の不具合は仕方がないと受け入れるスタンスです。
「tesseract-ocr-w64-setup-v5.0.0-alpha.20200328.exe」をクリックします。
TesseractのWindowsへのインストール
ダウンロードが完了したら、tesseract-ocr-w64-setup-v5.0.0-alpha.20200328.exeを実行。
「NEXT」をクリック。
ライセンス条項の確認です。
ライセンス条項の内容を確認して、同意するなら「I Agree」をクリック。
Tesseractを利用するユーザの確認です。
「Install for anyone using this computer」(デフォルト)を選択して、「Next」をクリック。
コンポーネントの選択です。
以下の対応が必要です。
Additional script data (download)
「Japanese script」と「Japanese vertical script」を選択します。
Additional language data (download)
「Japanese」と「Japanese(vertical)」を選択します。
ややこしいですが、「Javanese」を選択しないでください。
コンポーネントの選択を確認
上記の状態であることを確認したら、「Next」をクリック。
インストール先の確認です。
デフォルトのままでも問題はありません。
しかし、個人的にインストール先には次の文字は入って欲しくありません。
理由としては、Pythonなどから呼び出すときにミスを生じさせやすいからです。
- 「 」(スペース)
- 「-」(ハイフン)
そのため、デフォルトから上記のように変更しています。
インストール先を確認して、問題ないなら「Next」をクリック。
スタートメニューフォルダは、デフォルトで問題ないでしょう。
「Install」をクリック。
インストールが完了です。
「Next」をクリック。
セットアップできました。
「Finish」を押せば、ウィンドウが閉じます。
Tesseractの動作確認
動作確認用の画像を用意する
Wikipediaの「光学文字認識」(OCR)のページの一部を画像にしています。
この画像(ocr_test.png)を利用して、動作確認を行います。
ocr_test.pngを適当な場所に配置します。
今回は、C:\tmpに置きました。
tesseract.exeのパスを確認する
あと、インストールしたtesseract.exeのパスを確認しておきます。
私の場合は、C:\soft\TesseractにTesseractをインストールしています。
そのため、tesseract.exeのパスは以下。
C:\soft\Tesseract\tesseract.exe
OCRの動作テスト
「TesseractはOCRエンジンである」で言ったように、Tesseractに画面は存在しません。
プログラムから利用するエンジンに過ぎません。
そのため、動作テストにはコマンドプロンプトを利用します。
まず、コマンドプロンプトを起動してください。
そして、ocr_test.pngのある場所にまで移動してください。
今回は、 C:\tmpとなります。
ここで次のコマンドを実行します。
もちろん、tesseract.exeのパスは各自の環境のモノに置き換えてください。
C:\soft\Tesseract\tesseract.exe ocr_test.png ocr_test_output -l jpn
上記コマンドを実行した結果は、以下。
C:\tmp>C:\soft\Tesseract\tesseract.exe ocr_test.png ocr_test_output -l jpn Tesseract Open Source OCR Engine v5.0.0-alpha.20200328 with Leptonica Detected 101 diacritics
C:\tmpに「ocr_test_output.txt」が新規で作成されています。
ocr_test_output.txtにOCRの結果が出力されるということですね。
若干、間違いはあります。
でも、高い精度で認識できていますね。
これにてOCRの動作テストは完了です。
以降では、精度テストも行います。
ただ、毎回「C:\soft\Tesseract\tesseract.exe」と入力するのは手間ではありませんか?
私は、手間に感じます。
それに、Pythonなどのプログラムから利用する場合にも、そのままだと不便です。
コード的にごちゃごちゃするという意味もあります。
そのため、「C:\soft\Tesseract\」を環境変数に設定します。
そうしておけば、「tesseract」と入力するだけでTesseractが利用できます。
Tesseractのインストール先を環境変数のPathに設定する
環境変数にTesseractをインストールしたフォルダのパスを設定します。
今回は、「C:\soft\Tesseract」にインストールしました。
そのため、設定するパスは「C:\soft\Tesseract\」となります。
ここでちょっとした便利なノウハウを紹介します。
環境変数の設定が少しだけ楽になります。
以下に「sysdm.cpl」と入力して、Enterを押してください。
以下の画面が、立ち上がります。
「詳細設定」のタブを開きます。
これ以降は、説明は省略します。
システム環境変数の「Path」にTesseractをインストールしたフォルダを指定します。
Tesseractの精度確認
GoogleのOCRと比較してみます。
Tesseractは、もともとGoogleの公開したオープンソースです。
その意味では、親戚みたいなモノだと捉えています。
GoogleのOCRは、Google DriveやGoogle KEEP(アプリ)で利用可能です。
比較することにより、Tesseractの精度がどの位置にあるのかがわかります。
難易度【高】の画像
文字認識を行うターゲットは、次の画像です。
この画像は、即席みそ汁のパッケージ裏面の一部を撮影したものです。
Googleの認識結果(正確には、Google KEEP)
名称 即席みそ汁 原材料名 調味みそ(米みそ(国内製造)、食 塩、昆布エキス、鰹エキス、鰹節粉、 煮干粉、酵母エキス/酒精、調味 料(アミノ酸等)、(一部に大豆を含 む))、 具(わかめ、ふ、調味顆粒(鰹節粉、 デキストリン、煮干粉、食塩)、乾燥 ねぎ/調味料(アミノ酸等)、酸化 防止剤(ビタミンE)、クエン酸、(一 部に小麦を含む)) 内容量 181g(調味みそ 16.6g×10袋、 具 1.5g×10袋) 賞味期限この面の左下に記載 保存方法高温の場所をさけて保存してくだ さい 株式会社永谷園 〒105-8448 東京都港区西新橋2丁目36番1号 製造所固有記号は賞味期限の下段左側に記載 賞味期限 っ 2020.11.22
Tesseractの認識結果
称 味みそ(ボカ(国内 后、 昆布エキス、鯉エキス、鯉節粉、 王徐 酵母エキスン酒精、調味 料(アミノ酸等)、(一部に大豆を含 む))、 具 (わかめ、ふ、調味数粒 (鯉節粉、 デキストリン、煮干粉、食塩)、乾燥 ねぎノ調味料(アミノ酸等) 、酸化 防止剤(ビタミンE) 、クエン酸、(一 部に小麦を含む) ) 181g(調味みそ 16.6gx10袋、 具 1.5gx10和袋) この面の左下に記載 生生才に存してく2 も
Googleの圧勝です。
レベルが、圧倒的に違いますね。
やはり、対象の画像は凹凸があり、認識が難しいのかもしれません。
そうだとしても、GoogleのOCRはちゃんと認識できていますからね。。。
というか、Googleはほぼ完璧です。
もう一度だけ、Tesseractにチャンスをあげましょう。
難易度【中】の画像
先ほどは適当に撮影した凹凸のある画像でした。
今度は、凹凸をなくしました。
ハサミで切り取って、スキャンしました。
若干、斜めになっていますが、読み取りやすくなったのでは?
Googleの認識結果(正確には、Google KEEP)名称 即席みそ汁
名称 即席みそ汁 原材料名 調味みそ(米みそ(国内製造)、食 塩、昆布エキス、鰹エキス、鰹節粉、 煮干粉、酵母エキス/酒精、調味 料(アミノ酸等)、(一部に大豆を含 む))、 具(わかめ、ふ、調味顆粒(鰹節粉、 デキストリン、煮干粉、食塩)、乾燥 ねぎ/調味料(アミノ酸等)、酸化 防止剤(ビタミンE)、クエン酸、(一 部に小麦を含む)) 内容量 181g(調味みそ 16.6g×10袋、 具 1.5g×10袋) 賞味期限この面の左下に記載 保存方法高温の場所をさけて保存してくだ さい 株式会社永谷園 〒105-8448 東京都港区西新橋2丁目36番1号 製造所固有記号は賞味期限の下段左側に記載 賞味期限 2020.11.22
Tesseractの認識結果
名 称 即席みそ汗 原材料名 調味みそ(米みそ(国内製造)、食 塩、昆布エキス、鯉エキス、鯉節粉、 煮十粉、酵母エキス酒精、調味 箇和ee (一部に大豆を含 具 (わかめ、ふ、調味天粒 (鯉節粉、 デキストリン、煮干粉、食塩)、乾燥 ねぎノ調味料(アミノ酸等)、酸化 防止剤(ビタミンE) 、クエン酸、(一 部に小麦を含む) ) 内 容量 181g(調味みそ 16.6gx10袋、 具 1.5gx10袋) 賞味期限 この面の左下に記載 保存方法 のて人衝してくだ 株式会社 永谷園 〒105 -8448 東京都港区西新橋2丁目36番1号 束操所固有記号は賞味期限の下段左側に記載 中味期限
GoogleとTesseractの比較は、もうやめておきましょう。
Tesseractの精度が向上したことにフォーカスします。
やはり、平面の画像であれば、精度は上がるのですね。
これは、今後のために収穫となりました。
まとめ
最後にまとめます。
Google、最高!!
言葉が出ません。
「何もいえね」って、こういうときに言うのでしょうね。
音声認識の分野でもそうです。
Googleの製品は、他を圧倒する精度で音声を認識することが可能です。
このことは次の記事で解説しています。
興味のある方は、記事をご覧ください。
文字認識に話を戻しましょう。
本気の精度を求めるなら、やはりGoogleです。
この記事では、Tesseractが主役のはずです。
しかし、それ以上にGoogle KEEPに可能性を感じました。
正直、Google KEEPで利用しているOCRエンジンが利用できるなら、それを使いたいですね。
でも、どうやらそのエンジンは公開されていないようです。
Tesseractについては、利用方法をもっと考えてみたいですね。
Googleには勝てませんが、スクリーンショットは高い精度で文字認識ができたので。
Tesseractに学習させることが、可能らしいです。
ある分野に特化した学習をさせることにより、その分野ではGoogleに近づくことができるかもしれません。