2011年10月21日金曜日

TesseractOCR トレーニング その1

とりあえずココを読む。

なるほど。結構めんどくさい...。
以下にまとめ。

  1. トレーニング用の画像の準備
  2. .boxファイルの作成.
    tesseract [画像ファイル名] [作成するboxファイル名(拡張子なし)]  -l jpn batch.nochop makebox
    TessractOCRが、トレーニング用の画像から大体の枠を読み取り、boxファイル(1文字毎の枠を定義したテキストファイル)を作成してくれるみたい。
  3. 作成されたboxファイルの確認・調整
  4. unicharsetファイルの作成
    前手順までに作成されたboxファイル(複数可 半角スペース区切り)を指定
    unicharset_extractor [boxファイル名] [boxファイル名] [boxファイル名]
  5. font_propertiesファイルの作成. ver3.01から必須(?)
    tesseractが、trainingに使用するフォントの概要を知るためのファイル。...多分。
    ファイルの内容:
    [フォント名] [italic] [bold] [fixed] [serif] [fraktur]
    サンプル:IPAexゴシック、IPAex明朝なら:
    ipaexg 0 0 0 0 0
    ipaexm 0 0 0 0 0 
  6. trファイルの作成.
    tesseract [画像ファイル名] [boxファイル名(拡張子なし)] nobatch box.train.stderr
    例:
    tesseract jpn.ipaexg.exp19.TIF jpn.ipaexg.exp19 nobatch box.train.stderr
    これにより、xxxx.trファイルができる。

    これ、結構つまづいた。
    とりあえず、フォントサイズ大きめに作ろうと思ってやっていたら、
    なんだか
    FAILURE! Couldn't find a matching blob
    がでる。。ようわからん。

    部首ごとにマッチしちまってるのか、サイズがでかすぎるだけなのか・・・。
    (そのときは、1文字あたりのサイズを40ptで作成した画像で実行した)
    ためしに、20ptで画像作成&実行しなおしたら、見事解決。
    16ptとかがベストかも。(根拠無いけど。なんとなく。)文字の間隔とかもかなり影響するかと。
  7. trファイルの結合.
    前手順までに作成されたtrファイル(複数可 半角スペース区切り)を指定
    cat [trファイル] [trファイル] [trファイル] … > [フォント名].tr
    こんなかんじ。
    cat jpn.ipaexg.exp1.tr jpn.ipaexg.exp2.tr jpn.ipaexg.exp3.tr >ipaexg.tr
ふぅ。
ここまでで一段落。
(フォント別の)学習データ作成準備が完了。
次の段階は、フォント毎にまとめられた「trファイル」を使ってTesseractに学習させる。

0 件のコメント:

コメントを投稿