手動トレーニング

このモードは、UI で TTF フォント ファイルが使用されていない場合 (つまり自動モードを適用できない場合) で、ロボットの認識対象となる文字がすべてアルファベットの UI スクリーン ショットが多数ある場合に選択します。トレーニング画像ファイルがスクリプトによって自動的に作成される自動モードとは異なり、トレーニング画像は手動で作成する必要があります。このファイルの作成には、時間と労力が必要になります。

Tesseract 用のトレーニング データ ファイルを作成するには、以下の手順を実行します。ファイルには、最終トレーニング データ ファイルに必要なすべての文字 (大文字および小文字、数字、コンマ、ピリオドなど) を含む必要があります。以下の例は、次の UI で使用するトレーニング データの作成方法を示しています。

  1. 使用する完全な文字セットを決定します。トレーニング ファイルの作成時には、各文字に対するサンプルの最小数は 5 であることに注意してください。最も頻繁に使用される文字の場合、追加でサンプルを含めます。

  2. 単一の TIFF ファイルに、トレーニングで使用する UI スクリーン ショットの全部分を貼り付けます。この操作では使用する画像エディターは任意です。この例では、ターゲットのアルファベットを 10 ~ 15 の英字に限定します。実際の操作では、すべての文字のサンプルを用意します。

  3. 反転色の領域を選択して、色を反転させて通常色にします。

  4. 大文字の高さが 36 ピクセルになるように、キュービック補間を使用して画像の大きさを調節します。この例では、画像の大きさを 2.97 倍に拡大しました (画像の一部のみを表示)。

  5. 単語を調節して、テキスト領域間に大きな空白がなくてもテキスト行を容易に検出できるようにします。以下の例のように、余分と思われるテキストを除去します (ページに合わせて縮小しています)。

  6. 画像をグレースケールに変換し、テキストの質が最も良くなるしきい値の色効果を適用します。適切なしきい値を選択することは難しい可能性があります。複数の異なるしきい値を適用することを考慮し、結果の画像を単一の TIFF ファイルにコピーします。トレーニング画像に、表現の異なる同じ文字が複数含まれることになります。この例では GIMP エディターで 125 および 150 のしきい値を適用して、画像を 1 つのファイルにコピーしました。画像の上にある文字のほうが、下にある文字よりも薄いことが分かります (ページに合わせて縮小しています)。

  7. 以下の例のように、手動でノイズを除去します (ページに合わせて縮小しています)。

  8. 画像を圧縮せずに TIF または TIFF 形式で MyFont.tif のような名前で保存します。

  9. ボックス ファイルを作成します。ボックス ファイルは、画像を囲む境界ボックスの座標を使用して、トレーニング画像内の文字を 1 行ごとに 1 文字ずつリストするテキスト ファイルです。GitHub で Tesseract プロジェクトの「Training Tesseract - Make Box Files」ページを参照してください: https://github.com。

    ボックスのテキストをコピーし、新規ファイルに貼り付けて MyFont.box のような名前にします。

    この例では、ボックス ファイルは以下の行から開始します。

    P 15 1076 39 1108 0
    r 41 1076 53 1100 0
    i 57 1076 62 1108 0
    n 68 1076 89 1100 0
    t 92 1076
    ...
  10. tesseract_train/bin フォルダに移動し、言語コード、TIF ファイルとボックス ファイルへのパスを指定する tesstrain_manual.sh スクリプトを以下のように実行します。

    $ ./tesstrain_manual.sh --lang eng --box_file ../MyFont.box --training_image ../MyFont.tif

    スクリプトを実行すると、以下のメッセージが表示されます。

    Moving /tmp/tmp.OtEqYbS3qV/eng/eng.traineddata to ../output

トレーニングしたデータ ファイルを Tungsten RPA で使用できるようになります。

詳細については、GitHub Web サイトの Tesseract wiki ページを参照してください。