かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

Tesseract-OCRでラオス語を認識させる。

StackOverflowに質問して、ラオス語の学習データの作成が出来ると分かってからかなりほったらかしになっていたが、ようやく意を決してやってみた。

android - Androidでマイナー言語(ラオス語)を写真に撮って、文字認識をさせたい。 - スタック・オーバーフロー

結論から言うと、取りあえず新規言語の学習データの作成とその利用は確認できた。これからは色々とデータを足していく作業が必要になりそう。

 

基本的には、こちらのブログの通りに進めていくと問題ない。本当にお世話になりました。ありがとうございました。

Tesseract-OCRの学習 - はだしの元さん

ただ、新規言語の場合は、学習データがないため、Boxファイルの作成でエラーが起きる。

f:id:name_untitled:20151102130542p:plain

 

このため、Boxファイルの作成の際は、英語(eng)や日本語(jpn)などすでに学習データのある言語を指定して、ファイルを作成し、その後の作業でラオス語(lao)に読み替えて進めるとラオス語の学習データが作成できる。

まだ、データの作りこみは全くできてないが、取りあえず学習に使ったデータはそのまま認識できた。

↓用意した学習用の画像。

f:id:name_untitled:20151102130650j:plain

↓日本語を指定してファイルを作成したので、最初は文字がくしゃくしゃ。

これを実際の文字に合わせて修正した。今回は座標の修正は行っていない。

f:id:name_untitled:20151102130653p:plain

 

手順を踏んでいくと学習データファイルが作成できる。

f:id:name_untitled:20151102130657p:plain

これをtesseractのフォルダに放り込む。f:id:name_untitled:20151102130701p:plain

学習用の画像を2行にしたものをテスト用に用意。

f:id:name_untitled:20151102131044j:plain

そして、コマンドを起動すると、エラーなく終了する。

ここでは、ラオス語を指定している。

f:id:name_untitled:20151102130652p:plain

改行がCRだけ?なのでメモ帳では改行していないようにみえるが、

改行されて認識した情報が表示されている。

f:id:name_untitled:20151102130707p:plain

 

Windowsだと学習データの作成の部分が楽出来ないらしく、そのあたりの話はこちらのサイトに詳しく載ってました。

Tesseract-OCRの日本語調教(2) - 日本語練習中

Googleの説明はこちら。ここに書かれている、training/text2imageはWindowsではできないらしい。

TrainingTesseract3 - tesseract-ocr - How to use the tools provided to train Tesseract3 for a new language. - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. - Google Project Hosting