Tesseract 近況 その2 (2018/10 Early)
スポンサーリンク
前回に引き続き、オープンソースのOCRエンジンTesseractの開発状況ウォッチング、です。
2018年10月の状況
10/1付けでRC1がリリースされています。
もうすぐ待望のバージョン4.0の正式版が(数々のバグとともに)リリースされそうです。ただ、状況としては未解決のバグがいろいろと存在しており、Help wantedとのこと。「求ム、C++ハッカー」、です。
メンテナの意向としては10月中旬で4.0をリリースしたいらしいです。
Heads up: release of tesseract 4.0 - Google グループ
何もリリースしないよりは、多少問題があってもリリースするほうが良いという判断の模様。
ref. RFC: Tesseract 4.0.0 – open tasks · Issue #1423 · tesseract-ocr/tesseract
4.0系使用時の注意点
Tesseract内部で使用している「ロケール依存で挙動の変わる関数」への対策として、API実行時に環境変数LANG
をC
にセットする必要があります。
tesseract
コマンドの使用時には影響はありません。
- ref. tesseract failed loading non-english language.traineddata · Issue #1250 · tesseract-ocr/tesseract
- ref. Test for correct locale settings by stweil · Pull Request #1649 · tesseract-ocr/tesseract
未解決のバグで影響の大きそうなもの
#1015
wrong coordinate in LTSM ocr mode and Japanese · Issue #1015 · tesseract-ocr/tesseract
認識結果は正しいが、文字の認識した領域の座標が(一部)おかしい。
これに関連するバグは複数あり(#1712、#1146、他)。
認識結果に関するIssue
グレースケール v.s. 二値化画像
以前にも書いた気がしますが、4.0系は単純に二値化するよりグレースケール化するほうが結果が良好なことがあります。
レイアウト解析の際は二値化画像(白黒)、文字認識はグレースケール画像、という使い分け。
PNG形式のアルファチャンネル問題
対処方法はPNG形式の画像からアルファチャンネルを除去する。Tesseract側で除去する処理を入れるかは不明。いまのところは前処理でどうにかすべき。
背景色と圧縮形式による認識結果の変動?
png vs jpg recognition results are different · Issue #1895 · tesseract-ocr/tesseract
文字色が白で背景色が濃い色の場合に、PNG形式とJPEGで認識結果が異なるらしい。
JPEG圧縮特有ののアーティファクトが悪さをしているのか。どちらかというLeptonicaの問題ではないかと思うけど。
c.f. The Hallucination Effect · tesseract-ocr/tesseract Wiki
まとめ
テストしてフィードバックしないと改善されないので積極的に新しいバージョンを試していきましょう(他力本願)。
そろそろ4.0系の再学習にリトライしないと行けないと思いつつ半放置です。
まあ確かにアルファ版から期間が空いているので多少の問題があってもリリースするほうがベターでしょう。
C++のコードを解読するのはしんどいし、しかもLSTMとなるとさすがにお手上げです。誰かサクッと直してくれるといいのですが、まあ厳しそうですね。
- 作者: 矢吹太朗,WINGSプロジェクト山田祥寛
- 出版社/メーカー: 日経BP社
- 発売日: 2017/02/16
- メディア: 単行本
- この商品を含むブログを見る
- 作者: 柴田望洋
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/09/15
- メディア: 単行本
- この商品を含むブログを見る