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