1. 概要

本ソフトウェアは、AIRead Viewerで誤読結果を修正した値を教師データとして自動的に作成することができます。
自動作成した教師データを対象として、追加学習を行います。
※学習可能なモデルは、数値・電話番号(multi_number)、数字(multi_numeric)、カタカナ(multi_katakana)です。

2. training_tool のインストール

training_tool はサポートサイトのダウンロードページよりダウンロード可能です。
サポートサイトへログイン後、下記URLへアクセスし、学習ツールをダウンロードしてください。
https://airead.tech/training-tool-v102

ダウンロードした training_tool.zip を解凍します。

解凍した training_tool フォルダは、<AIREAD_HOME>直下に配置してください。

3. 教師データの作り方

3.1. 設定の変更

共通設定ファイルの学習タブを開き、「教師データを作成する」にチェックを入れます。
また、「教師データ作成フォルダ」は実行環境に合わせて、変更してください。
「学習するモデルの名称」は、学習可能なモデル(数値・電話番号、数字、カタカナ)のみ指定可能です。
詳細は、3.1.7 学習 を参照ください。

3.2. 定義の作成

教師データを作成するには、FormEditorからAIReadを実行する必要があります。
学習対象としたい画像を対象に、定義の作成を行ってください。

3.3. AIReadの実行

教師データとしたい画像を対象に、作成した定義で読み取りを実行します。

3.4. 読み取り結果の修正

実行が完了すると、AIRead Viewer で読み取り結果が表示されます。
表示された読み取り結果の内、「学習するモデルの名称」で指定されたモデルで読み取られた値が教師データとして作成されます。

また、誤読した結果をAIRead Viewer 上で修正することで、誤読した文字に対して効果的に学習を行うことができます。

3.5. 読み取り結果の保存

修正した読み取り結果を保存すると、「教師データ作成フォルダ」で指定したフォルダに修正結果を反映した教師データが出力されます。

4. 学習の手順

学習の実行を行う際、デフォルトの状態では差分学習(AIRead Viewerで読み取り結果の修正があった項目のみの学習)を行います。
「教師データ作成フォルダ」の全画像を使用して学習を行いたい場合は、学習の実行時のコマンドの変更が必要です。
詳細は、4.2. 学習の実行 を参照ください。

4.1. 学習時の設定

学習時に使用する設定は、それぞれの学習対象モデルごとに<AIREAD_HOME>\training_tool\AIRead_TrainHW_setting_XXX.ini で
管理されています。
設定の変更を行う際は、AIRead_TrainHW_setting_XXX.ini をテキストエディタで編集してください。

4.1.1. 学習時のパラメータ

No.項目名デフォルト値説明
1model_name各モデル名
例:multi_number
対象にする学習モデル名
2output_dir.\outputs\学習結果を保存する場所
実行するたびにoutput_dir以下にタイムスタンプフォルダが生成される
3label_dir.\labels\各種学習対象モデルに合わせたpklファイルを指定する
4raw_data_dir各教師データのフォルダパス
例:..\training_data\multi_number
使用する教師データのフォルダを指定する
5data_dir.\data\教師データのコピー先を指定する
6logs_dir.\logs\学習時のログの出力先を指定する
7epochs10学習を行う回数を指定する
8lr0.01学習時のラーニングレートを指定する
9reduce_lr_after0.75連続でx回結果が改善しない場合に、ラーニングレートを自動的に小さくして学習を続ける
10NO_CLASSES各モデルに含まれる文字数+1
例:15
学習モデルに含まれる文字の数を+1の数を指定する
multi_numberの場合は、「0~9の数字」と「- , ( ) 」、合計14文字に対応しているため、15に設定する
11best_model_weight各モデルごとのファイル
例:./base-models/multi_number_best.h5
追加学習を行うための、ベースモデルのh5ファイルを指定する

4.2. 学習の実行

学習を行うときは、C:\AIRead\training_tool 以下に配置されているモデルごとの実行bat から実行します。

  • 差分学習:
"%AIREAD_HOME%\training_tool\dist\training_tool\training_tool.exe"
--setting "%AIREAD_HOME%\training_tool\AIRead_TrainHW_setting_multi_number.ini"
  • 全データ学習:
"%AIREAD_HOME%\training_tool\dist\training_tool\training_tool.exe" --data all
--setting "%AIREAD_HOME%\training_tool\AIRead_TrainHW_setting.ini"
No.引数説明
1--setting学習時に使用する設定ファイルを指定
学習したいモデルに合わせて指定する設定は変更する
2--data all学習時に「教師データ作成フォルダ」に指定されたフォルダ内の全画像を使用して学習を行う
※--data all の指定が存在しない場合は、デフォルトの差分学習となる

4.3. 学習結果の反映方法

学習が完了すると、AIRead_TrainHW_setting.ini の output_dir で指定したフォルダへ学習後のモデルが出力されます。

学習後のモデルは、<AIREAD_HOME>\tessdata へ配置してください。
なお、このとき学習前の学習モデルが存在する場合、学習後の学習モデルと置き換えてください。
※学習前の学習モデルを残しておきたい場合は、学習後の学習モデルをリネームしてから配置してください。

学習後の学習モデルをリネームして配置した場合は、FormEditorから参照できるようにする必要があります。
<AIREAD_HOME>\FormEditor\File\HWLang.ja-JP.tsv に下記のように追記してください。

※Key と Display の間はタブ区切りです。
 文字コードは必ずUTF-8で保存してください。

4.4. 学習で効果が得られない場合の対応

学習後に効果が得られない場合は、下記をお試しください。

・教師データを増やす
・学習回数(epoch)を増やす
・ラーニングレートを減らす(3倍~5倍ぐらい小さくする)