目次
1. 概要
本ソフトウェアは、AIReadの手書きOCRで利用するAIモデルに対する学習ツールです。
本ツールを利用して文字の形を学習することにより、手書き文字認識の精度を高めることができます。
1.1. 対応バージョン
TrainStudio Ver. 3.2.3 は、AIRead Version3.0.0 以降のバージョンに対応しております。
AIRead のバージョンが、v3.0.0 以前の場合は、バージョンアップ後にインストールを行ってください。
1.2. 対応モデル
追加学習に対応しているモデルは、以下の通りです。
- jpn:日本語モデル
- jpn_address:住所モデル
- jpn_name:名前モデル
- money:通貨モデル
- eng:英語モデル
multi_number(数値・電話番号)、multi_numeric(数字)、multi_katakana(カタカナ)モデルの学習は、AIRead training_tool マニュアルを参照ください。
2. 推奨環境
2.1. OS
Windows Server 2012 R2 、 2016 、2019(64bit)
Windows 8.1以上 (64bit)
※必ず64bitです。
2.2. ハードウェア
メモリ 4 GB 以上必須、16 GB 以上推奨
HDD 50 GB 以上の空き領域
CPU 4 Core 以上
システムロケール 日本語 を指定
2.3. ライセンス
実帳票からAIReadが切り取った画像を使用するため、オンプレミス版のEnterpriseライセンス、もしくはオンプレミス版のStandardライセンスが必要です。
3. インストールの手順
3.1. インストーラを起動
ダウンロードしたTrainStudioHWSetUp-3.2.3.0.exeを右クリックから管理者権限で実行します。
管理者権限で実行後に確認ダイアログが表示されます。
「はい」をクリックします。
確認ダイアログから、インストールの設定画面に移動します。
「次へ」をクリックします。
3.2. インストールディレクトリの選択
インストール先を選択する際の注意事項が表示されます。
「次へ」をクリックします。
注意事項の確認後、インストールディレクトリ指定画面に移行します。
※必ずAIReadが導入されている環境のAIReadフォルダ内にインストールしてください。
3.3. タスクの選択
インストール時に、スタートメニューに作成するショートカットを選択します。
ショートカットを作成する場合は、チェックボックスで選択してください。(任意)
3.4. インストールの実行
インストーラの設定を確認後、インストールを実行します。
AIRead本体のインストール後に、「3.3. タスクの選択」で選択したショートカットが作成されます。
3.5. インストールの完了
全てのプログラムのインストールが完了すると、完了のダイアログが表示されます。
完了ボタンを押下して、ダイアログを閉じてください。
4. 教師データの作成
TrainStudioHWで使用する教師データ(学習対象画像)は1文字単位で切り取られた文字画像を使用します。
1文字単位で切り取られた画像は、実帳票の読み取りを行うことで、作成することが可能です。
4.1. 共通設定の変更
1文字単位で切り取られた画像を出力するには、下記の設定を有効にしてください。
No. | 内容 | 項目名 | 書式 | 説明 |
---|---|---|---|---|
1 | 手書き画像の出力先 | HW_CUT_IMAGE_DIR | 文字列 | 切り取った文字画像を出力するフォルダパスを入力します。 |
2 | 手書き文字画像を出力する | CREATE_HW_CHAR_IMAGE | true, false | チェック(true)の時、手書きで座標指定した範囲内に含まれる文字を1文字単位で切り取りし、「手書き画像の出力先」で指定したフォルダパスへ画像出力します。 |
4.2. 教師データの出力
4.1. 共通設定の変更 で設定を変更した共通設定ファイルを使用して、AIRead の定型読み取りを行います。
教師データを出力する際は、必ずbat を使用してコマンドで実行してください。
bat 実行の詳細は、2.3. 実行方法(batファイルを利用する場合) を参照ください。
出力が完了すると、「手書き画像の出力先」で指定したフォルダパスへ切り取られた画像が出力されます。
5. TrainStudioHW機能説明
5.1. TrainStudioHWの起動
以下のプログラムで、TrainStudioHWを起動することで、活字学習モジュールを起動することができます。
<AIREAD_HOME>/TrainStudioHW/TrainStudioHW.exe
5.2. TrainStudioHWの各種画面
TrainStudioKW起動後、左のメニューから画面を切り替えることができます。
No. | 機能名 | 説明 |
1 | 手書き学習 | 教師データの振り分けや学習時の設定、追加学習を行う画面です。 |
2 | ログ | 追加学習の結果をログとして確認できる画面です。 |
3 | 閉じる | TrainStudioHWを終了します。 |
6. 手書き学習の機能説明
6.1. 教師データセットの準備
追加学習したいモデルに対応した教師データセットを選択し、4. 教師データの作成 で作成した切り取り画像の振り分けを行います。
No. | 項目名 | 説明 |
1 | 教師データセット | 表示したい教師データセットを選択します。 数字:数字モデル(旧)に対応したデータセット 英語:英語モデルに対応したデータセット 日本語:日本語モデルに対応したデータセット jpn_address:住所モデルに対応したデータセット 日本語人名:名前モデルに対応したデータセット カタカナ:カタカナモデル(旧)に対応したデータセット 通貨:通貨モデルに対応したデータセット ※数字、カタカナ、数値・電話番号モデルの学習方法は、AIRead training_tool マニュアル を参照ください |
2 | 文字種検索欄 | 選択した教師データセットに含まれる文字種を検索します。 教師データセット文字種一覧に表示される文字種を入力した文字に絞り込んで表示します。 |
3 | 教師データセット 文字種一覧 | 選択した教師データセットの文字種一覧が表示されます。 |
4 | 教師データセット 画像一覧 | 教師データセット文字種一覧で選択中の文字種に含まれる切り取り画像が表示されます。 |
5 | 画像を削除ボタン | 教師データセット画像一覧で選択中の画像を削除します。 |
6 | 画像移動ボタン | >:教師データセット画像一覧で表示中の画像の内、選択した画像を画像一覧へ移動します。 >>:教師データセット画像一覧で表示中の画像全てを画像一覧へ移動します。 <:画像一覧で表示中の画像の内、選択した画像を教師データセット画像一覧へ移動します。 <<:画像一覧で表示中の画像全てを教師データセット画像一覧へ移動します。 ※画像はドラッグアンドドロップでも移動可能 |
7 | 画像格納フォルダパス | 画面上に表示したい画像格納フォルダを選択してください。 |
8 | 画像フォルダ一覧 | 選択した画像格納フォルダに含まれるフォルダの一覧が表示されます。 |
9 | 画像一覧 | 画像フォルダ一覧で選択したフォルダ内の画像が表示されます。 |
10 | 次へ | 学習実行画面へ移動します。 |
※過去に作成した教師データセットを利用したい場合※
作成した教師データセットのフォルダを<AIREAD_HOME>\TrainStudioHW\letters_sets に配置することで、TrainStudioHWの教師データセットで選択することが可能です。
6.1.1. 切り取り画像のアノテーション
「画像フォルダ一覧」に格納されている切り取り画像を「教師データセット文字種一覧」の対応した文字種のフォルダへ移動します。
切り取り画像の移動の時、誤った文字種のフォルダに振り分けられたまま学習されると、追加学習後に精度低下する原因となります。
アノテーション作業を行う際は、対象の切り取り画像を、正しい文字種のフォルダへ移動します。
切り取り画像は、複数同時に選択して移動することも可能です。
6.2. 学習の実行
学習画面で、学習時の設定を行い、追加学習を実行します。
No. | 項目名 | 説明 |
1 | 学習モデルの入力フォルダ | 手書き学習モデルの配置されているフォルダパスを指定します。 |
2 | 入力モデル | 「学習モデルの入力フォルダ」に配置されている手書きモデルの内、学習対象としたいモデルを指定します。 ※「教師データ準備」画面で選択している教師データセットと「入力モデル」で指定したモデルが一致しない場合は、エラーとなります。 |
3 | 学習モデルの出力フォルダ | 追加学習完了後にモデルを出力するフォルダを指定します。 ※<AIREAD_HOME>\tessdata フォルダ以外のフォルダパスを指定してください。 |
4 | 最大学習回数 | 学習の最大回数を指定します。 1~100回で指定可能です。 ※データ数や内容によって適正な値は変わるため、推奨値はあくまで参考としてお考えください。 |
5 | テストの頻度 | 「最大学習回数」で指定された学習回数の内、何回学習したらテストを実施するか、頻度を指定します。 1回目の学習完了時に初回のテストを実施し、それ以降は指定した回数ごとにテストを実施します。 1~100回で指定可能です。 |
6 | 学習実行 | 追加学習を開始します。 |
7 | 学習停止 | 追加学習を中断させます。 学習実行中のみ押下可能です。 |
8 | 現在の学習モデルを出力 | 最新の学習結果を「学習モデルの出力フォルダ」で指定したフォルダパスへ出力します。 学習実行中のみ押下可能です。 ※学習結果がまだ何もない場合は出力できません |
9 | 戻る | 教師データ準備画面へ戻ります。 |
「学習実行」を押下すると、追加学習が開始します。
追加学習が成功すると、下記のダイアログが表示されます。
7. ログの機能説明
メニューから「ログ」を選択すると、下記の画面を表示します。
No. | 項目名 | 説明 |
1 | 学習履歴一覧 | 過去の教師データ作成、および学習時のログのリストが表示されます。 リストの項目をダブルクリックすると、ログ詳細画面が表示されます。 |
No. | 項目名 | 説明 |
1 | OK | ログ詳細画面を閉じます。 |
8. 追加学習後の学習モデルの反映
追加学習の完了したモデルをAIReadで使用するには、反映作業が必要です。
8.1. 追加学習後のモデルの配置
追加学習後完了後の学習モデルを下記のフォルダへ配置します。
<AIREAD_HOME>/tessdata
※モデル名から _best 除くと、配置する時に学習元となったモデル名と競合してしまいます。
8.2. 帳票定義の変更
追加学習後のモデルと追加学習前のモデルは名称が異なるため、帳票定義の各項目の指定を変更してください。
8.2.1. FormEditorへの反映
FormEditor で指定可能な手書きモデルは、デフォルトの手書きモデルにのみ対応しております。
FormEditor 上で、追加学習後のモデルを使用できるようにするには、下記のファイルへの反映を行ってください。
HWLang.ja-JP.tsvファイルをテキストエディタで開きます。
※HWLang.en-US.tsv、HWLang.zh-CN.tsv は FormEditorの利用言語をそれぞれ英語、中国語で利用する場合に反映してください。
テキストエディタで開くと、タブ区切りで文字列が並んでいます。
No. | 項目名 | 説明 |
1 | Key | Key列には、手書き学習モデルのフォルダ名を入力します。 |
2 | Display | Display列には、FormEditor上で表示したい名称を入力します。 |
追加学習後のモデルをHWLang.ja-JP.tsv ファイル に追記いただくと、FormEditor上でも使用可能となります。
Key と Display の間は半角タブ区切りとし、文字コードはUTF-8(BOMなし)で保存してください。
8.2.2. 帳票定義の変更
HWLang.ja-JP.tsvファイルへ追記した上でFormEditorを実行すると、手書きモデルの言語で、追加学習後のモデルを選択できるようになります。
追加学習後のモデルを使用したい項目の言語を変更し、定義の保存をすると、変更した項目は追加学習後のモデルを使用した読み取りが行われます。
9. コマンドラインから実行
9.1. 教師データセットの準備
教師データの作成、仕分けについては 4. 教師データの作成、6.1. 教師データセットの準備 を参照ください。
教師データセットは、<AIREAD_HOME>\TrainStudioHW\letters_sets 以下に言語ごとのフォルダで分けて配置されています。
アノテーション作業をGUIを介さないで実施する場合は、こちらのフォルダをご利用ください。
9.2. 新規学習について
新規学習を行う場合、教師データに含まれる文字種を元に手書きモデルを新規で作成します。
元となる学習モデルを必要としないため、数字や記号を含まないひらがな、カタカナ、漢字のみを対象とした任意モデルを作成することが可能です。
ただ、モデルを新規作成する場合は、1文字種当たり数十枚~数百枚の画像は必要となります。
また、手書きの切り取り画像のみを対象に新規学習した場合、活字文字の認識精度が低いモデルが作成されることがあります。
※手書きの新規学習を実施するときは、手書きのベースとなるファイルをダウンロードしておりますので、必ずインターネットへ接続できる環境で実行してください。
インターネットへ接続できない場合、ベースファイルが取得できずエラーとなります。
9.3. 学習設定ファイル
学習に必要なパラメータを入力します。
“項目名=値”の書式で記載してください。
- ファイル名:<AIREAD_HOME>\TrainStudioHW\AIReadTrainerHW.ini
- 設定内容:
No. | 項目名 | 設定値 | 説明 |
---|---|---|---|
1 | model_path | 文字列 | 追加学習の対象モデルが配置されているフォルダまでのパスを入力します。 記入例:C:\AIRead\tessdata |
2 | model_name | 文字列 | 「model_path」で指定したフォルダパス内に存在する学習対象モデル名を入力します。 記入例:jpn |
3 | use_update_model | true, false | 追加学習 か 新規学習か切り替えを行います。 true:「train_data」で指定した教師データと「model_name」で指定した学習モデルを使用して追加学習を行う false:「train_data」で指定した教師データのみを使用し、新規学習を行う |
5 | epoch | 数値 | 学習の最大回数を指定します。 1~100回で指定可能です。 記入例:5 |
6 | threshold_epochs | 数値 | 「epoch」で指定された学習回数の内、何回学習したらテストを実施するか、頻度を指定します。 1回目の学習完了時に初回のテストを実施し、それ以降は指定した回数ごとにテストを実施します。 1~100回で指定可能です。 記入例:2 |
7 | select_net | MobileNetV2, EfficientNetB1, DenseNet121 | 「train_data」で指定した教師データと「model_name」で指定した学習モデルの文字種の数によって、設定値を変更します。 ※新規学習の場合のみ使用 MobileNetV2:文字種が50文字以下の場合に指定 EfficientNetB1:文字種が51文字以上~1000文字以下の場合に指定 DenseNet121:文字種が1001文字以上の場合に指定 |
8 | learning_rate | 1e-4 | 1e-4 で固定です。 |
9 | logs_dir | 文字列 | 学習実行時のログ出力先を指定します。 記入例:C:\AIRead\TrainStudioHW\logs |
10 | model_save | true, false | 学習中のモデルの保存設定を切り替えます。 true:epoch単位で保存 false:最終的な学習結果のみ保存 |
11 | train_data | 文字列 | 学習対象としたい教師データが配置されているフォルダまでのパスを入力します。 記入例:C:\AIRead\TrainStudioHW\letters_sets\jpn |
12 | training_ui | false | false で固定です。 |
13 | traindatasize | 0.1~1.0 | 「train_data」で指定した教師データの内、教師データとして使用する割合を指定します。 0.8を指定した場合、教師データとテストデータを8:2にランダムで分割します。 1を指定した場合、「test_data」で指定したフォルダにテストデータを別途用意する必要がある 記入例:0.8 |
14 | training_mode | 1,2 | 学習方法を指定します。 1:「epoch」で指定した値に達した時点で、モデルを保存し学習を終了する 2:1epoch学習する毎にテストし、精度が向上したepoch毎にモデルを保存する 「threshold_epochs」で指定した回数分連続で精度が上がらない場合に学習を終了 |
15 | train_width | 64 | 64 で固定です。 ※新規学習の場合のみ使用 |
16 | train_height | 64 | 64 で固定です。 ※新規学習の場合のみ使用 |
17 | batch_size | 32 | 32 で固定です。 ※新規学習の場合のみ使用 |
18 | output_data | 文字列 | テスト結果の出力先を入力します。 記入例:C:\AIRead\TrainStudioHW\testdata_output |
19 | test_data | 文字列 | 「traindatasize」が1.0の場合に、テストデータを配置するフォルダパスを入力します。 |
20 | testdatasize | 0.1~1.0 | テストデータとして使用する割合を指定します。 指定した割合のデータ数がランダムで使用されます。 記入例:0.2 |
9.4. 実行
以下のコマンドを実行してください。
> training.bat |
- 処理内容
- 指定した設定を元に、教師データと学習モデルから学習の完了した学習モデルを出力
9.5. 追加学習後のモデルの反映
8. 追加学習後の学習モデルの反映 を参照ください。
10. 制約事項
- それぞれの学習モデルに対応した文字のみ追加学習可能です。
- 対応していない文字が教師データセットに含まれていた場合、エラーとなります。
11. TrainStudioHWのバックアップ
TrainStudioHWの環境移行・アンインストールを行う前に、教師データや作成したルール定義、学習設定、学習モデル等、必ずバックアップを行ってください。
下記は必ずバックアップを行います。
- letters_sets:教師データが配置されているフォルダ
- AIReadTrainerHW.ini:学習設定
※学習完了後の学習モデルや、テストデータは個別にバックアップを取った上で、ユーザー様自身で移行を行ってください。
bat ファイルのコマンドを変更している場合は、batファイルのバックアップ、移行も行ってください。
12. アンインストール
<AIREAD_HOME>\TrainStudioHW\uninstall に自動生成されるunins000.exeを実行します。