今日も微速転進

ここではないどこかへ

Tesseract 近況 その2 (2018/10 Early)


スポンサーリンク

前回に引き続き、オープンソースOCRエンジンTesseractの開発状況ウォッチング、です。

a244.hateblo.jp

2018年10月の状況

10/1付けでRC1がリリースされています。

github.com

もうすぐ待望のバージョン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実行時に環境変数LANGCにセットする必要があります。

tesseractコマンドの使用時には影響はありません。

未解決のバグで影響の大きそうなもの

#1015

wrong coordinate in LTSM ocr mode and Japanese · Issue #1015 · tesseract-ocr/tesseract

認識結果は正しいが、文字の認識した領域の座標が(一部)おかしい。

これに関連するバグは複数あり(#1712#1146、他)。

認識結果に関するIssue

グレースケール v.s. 二値化画像

以前にも書いた気がしますが、4.0系は単純に二値化するよりグレースケール化するほうが結果が良好なことがあります。

OCR of binarized image does not lead to same result as OCR of input image · Issue #1780 · tesseract-ocr/tesseract

レイアウト解析の際は二値化画像(白黒)、文字認識はグレースケール画像、という使い分け。

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となるとさすがにお手上げです。誰かサクッと直してくれるといいのですが、まあ厳しそうですね。

基礎からしっかり学ぶC++の教科書 C++14対応

基礎からしっかり学ぶC++の教科書 C++14対応

広告