8. 仕分け付きOCR機能

8.1. 仕分けの概要

8.1.1. 処理の流れ

  1. 入力画像が複数ページであれば、ページごとに分割
  2. 画像がTIFFであれば、DPI変換
    ※「TIFFを300DPIに変換してからOCRを実行する」を設定している場合
  3. 画像の回転補正
    ※「回転補正を行う」を設定している場合
  4. 3.の画像でフォーマット判定
  5. 判定に成功したら、フォーマットの帳票定義を使ってOCRを行う
  6. 判定に失敗した場合、失敗フォルダに入力画像を移動する

8.1.2. 仕分けの判定について

フォーマット判定は 2段階 に分かれております。
1段階目では大まかな仕分けを行います。
画像全体から特徴的な箇所(特徴点)を抽出し、各テンプレート画像と入力画像を比較して最も特徴点の数がマッチした画像を持つグループに判定します。

2段階目では詳細仕分けを行います。
グループ内の画像に対して色または指定領域のみでの画像比較を行います。


での判定は、画像の見た目はほとんど似ているが色違いの帳票を判別したい場合に使います。
指定領域での画像比較 は、特定の場所に会社のロゴ等判別しやすい箇所がある場合に使います。
なお、下図のグループ2-詳細1のように、グループに属する画像が1つしかない場合は詳細な判定は行わずに判定結果が確定します。

8.2. 仕分け定義フォルダの構成

仕分けの定義は仕分け定義フォルダで行います。
仕分け定義フォルダは以下の通りに構成します。
仕分け定義フォルダの配置場所は任意ですが、フォルダの絶対パスに日本語を含まないでください。

?ClassifyDir                 --------- 1. 仕分け定義フォルダ
├?option.csv (固定名)                                      --------- 2. 仕分け定義ファイル
├?setting.ini (固定名)                                       --------- 3. 仕分け設定ファイル
└?Templates (固定名)                                       --------- 4. テンプレートフォルダ
 └?1                                                             --------- 5. 大まかな仕分けフォルダ
  └?1                                                          --------- 6. 詳細仕分けフォルダ
   └? template.jpg (固定名)                         --------- 7. テンプレート画像
  └?2
   └? template.jpg(固定名)
 └?2
  └?1
   └? template.jpg (固定名)
                                               

No.名称説明
1仕分け定義フォルダ仕分け定義を格納するフォルダ
半角英数字、(ハイフン)、_(アンダースコア)、.(ピリオド)、#(シャープ)、&(アンパサンド)で指定可能
2仕分け定義ファイルテンプレート画像に紐づく仕分け定義を記載したファイル(csv形式)
3仕分け設定ファイル仕分けに使用する設定を記載する
4テンプレートフォルダテンプレート画像を格納するフォルダ
5大まかな仕分けフォルダ大まかな仕分けのグループを表すフォルダ
数字で1,2…と順につける
6詳細仕分けフォルダ詳細仕分けの画像を配置するフォルダ
数字で1,2…と順につける
7テンプレート画像入力画像と比較するテンプレート画像
ファイルの名前は template から始まるように名称固定

8.3. AIRead SortingEditor で仕分け定義を設定

AIRead SortingEditor は、画像の仕分け設定を行うことのできるツールです。
また、RuleEditor/FormEditor で作成した定義情報を用いて、仕分け付のAIRead実行が可能です。

8.3.1. SortingEditor の起動

<AIREAD_HOME>\SortingEditor\AIReadSortingEditor.exe をダブルクリック、もしくはスタートメニューのショートカットから起動
します。

SortingEditor を起動すると、下記の画面が表示されます。

RuleEditor/FormEditor で作成済みの定義が存在する場合は、Form選択欄に表示されます。

8.3.2. SortingEditor の操作

8.3.2.1. 仕分け定義の作成

仕分け定義を新規作成する場合は、新規作成を押下するとダイアログが表示されます。
ダイアログ上で仕分け定義の作成先を指定し、任意の名称で仕分け定義を作成します。

No.名称説明
1保管場所仕分け定義の作成先を指定する
2仕分名作成する仕分け定義名を入力する
半角英数字、(ハイフン)、_(アンダースコア)、.(ピリオド)、#(シャープ)、&(アンパサンド)のみ使用可能
8.3.2.2. 仕分け定義の選択

開く ボタンを押下すると、フォルダ選択ダイアログが開かれます。
使用する仕分け定義フォルダを選択してください。

8.3.2.3. 共通設定ファイルの指定

AIReadの実行、RuleEditor/FormEditorで作成した定義との紐づけ、画像の仕分けに使用する共通設定ファイルを指定します。
共通設定ファイル ボタンを押すと、共通設定ファイル選択ダイアログを表示します。

参照 ボタンから使用する共通設定ファイルを選択します。

8.3.2.4. 仕分け定義の保存

保存 を押下すると、編集済みの仕分け定義が保存されます。
仕分け定義を変更した場合は、必ず保存してください。

8.3.3. Formの選択

共通設定ファイルによって指定された定義フォルダに配置された定義情報が、Form選択欄に表示されます。
仕分け定義フォルダに仕分け設定として紐づける定義情報にチェックを入力してください。

8.3.4. グループの作成

大まかな仕分けで仕分けを行うグループを作成します。
作成したグループは仕分け設定画面で、各定義情報に紐づけを行います。

No.項目名説明
1グループ作成大まかな仕分けで仕分けを行うグループを作成する
2グループ一覧作成したグループが表示される
3グループ削除グループを削除する
4グループ選択中のグループ名が表示される
グループ名は任意の名称で変更可能
5◀ ▶ (画像送り)表示する画像を選択する
6+ -
(画像上で Ctrlキー + マウスホイール操作)
画像を拡大/縮小する

8.3.5. 仕分け設定

Form選択でチェックを入力した定義情報が表示されます。
また、詳細仕分けで作成したグループを各定義情報へ紐づけます。

No.項目名説明
1Template追加選択中の仕分け設定に紐づけるテンプレート画像を追加する
追加されたテンプレート画像は画像仕分けを行う際にも使用される
2Template削除画面で表示中のテンプレート画像を削除する
3仕分け設定一覧Form選択画面でチェックを入れた定義情報が表示される
F:定義情報名 FormEditor で作成した定義情報(定型読み取りに使用)
R:定義情報名 RuleEditor で作成した定義情報(非定型読み取りに使用)
4グループ詳細設定画面で作成するグループを仕分け設定に紐づける
グループを紐づける場合は、予め詳細仕分け画面でグループを作成する必要がある
5◀ ▶ (画像送り)表示する画像を選択する
6+ -
(画像上で Ctrlキー + マウスホイール操作)
画像を拡大/縮小する
8.3.5.1. 定義情報とグループの紐づけ

作成したグループは、表示中の定義情報へ紐づけを行う必要があります。
ドロップダウンから作成済みのグループを紐づけてください。

8.3.6. 詳細仕分け設定

作成したグループで詳細仕分けを行う場合、色もしくは、指定領域での画像比較で設定を行う必要があります。

No.項目名説明
1詳細仕分けの方法
詳細仕分けを指定しない詳細仕分けは行わない
グループに属する定義情報が1つしかない場合は詳細な仕分けは不要
色で詳細仕分けをするグループに属する定義情報が2つ以上ある場合に、色の類似度合いで判定を行う方法
領域で詳細仕分けを行うグループに属する定義情報が2つ以上ある場合、指定した領域に絞って判定を行う方法
2フォームID選択中の定義情報が表示される
3X Y W H領域で詳細仕分けを行う を選択した場合に、指定した領域の座標
X:指定した領域の左上のX座標(ピクセル)
Y:指定した領域の左上のY座標(ピクセル)
W:指定した領域の幅(ピクセル)
H:指定した領域の高さ(ピクセル)
8.3.6.1. 色で詳細仕分けを行う場合

同じグループに色の異なるが、レイアウトの似ている帳票があるときは、色で詳細仕分けをする を選択する

8.3.6.2. 指定した領域で詳細仕分けを行う場合

同じグループに色が同じで、レイアウトが似通っている帳票があるときは、領域で詳細仕分けを行う を選択する

領域で詳細仕分けを行う を選択した状態で、画像上の任意の場所をドラッグすると、領域の指定を行うことができます。

8.3.7. 仕分けの実行

画像の仕分けのみを行う場合は、仕分け実行を押下すると仕分け実行ダイアログが表示されます。
ダイアログ上から、対象の画像を指定して仕分け実行します。

No.名称説明
1画像ファイル名仕分け対象の画像を指定する
2ページ番号仕分け対象の画像が複数枚つづりのPDF/TIFF である場合は、対象とするページを選択する
3仕分け実行指定した画像を対象に、仕分けの判定を行う
4仕分け結果仕分け実行 ボタンで実行した仕分け結果が表示される

8.3.8. 仕分け付OCRの実行

画像の仕分け付でAIReadの実行を行う場合は、AIRead ボタンを押下すると実行ダイアログが表示されます。
ダイアログ上から、対象の画像を指定して仕分け付のOCRを実行します。

正常に実行が完了すると、AIRead Viewerが起動します。
Viewer の詳細については、5.3. AIReadViewerで結果を確認を参照ください。

8.4. 直接仕分け定義を設定

8.4.1. 仕分け定義ファイルの編集

仕分け設定ファイルを直接編集する場合は、テキストエディタで<AIREAD_HOME>\ClassifyDir\option.csv で編集します。

1,1,S,order,1,0,10,10,50,50
1,2,S,order2,1,0,10,10,50,50
2,1,E,Invoice,0,0,,,,  

・文字エンコード:UTF-8
・改行コード:LF

CSV中の各列の意味は下記の通りです。

No.名称説明
1グループ番号大まかな仕分けのグループ番号
大まかな仕分けフォルダ名を指定する
2詳細番号詳細仕分けの番号
詳細仕分けフォルダ名を指定する
3抽出モード抽出モードの設定
S : 座標指定
E : キーワード抽出
W : 表検出付全文OCR
※キーワード抽出はEnterprise版のみ使用可
4フォーマットIDOCR時に使用するフォーマットID
5色判定フラグ詳細仕分けに色の類似度合いを使用するかのフラグ
0 : 使用しない(デフォルト)
1 : 使用する
※同一グループ内では同一の設定にしてください
6領域指定フラグ詳細仕分けで画像の注目する領域を絞ったマッチングを行うかのフラグ
0 : 行わない(デフォルト)
1 : 行う
※同一グループ内では同一の設定にしてください
※色判定と同時に使うことはできません(両方設定されていた場合、色判定のみ行います)
7指定領域始点X領域指定の左上のX座標(左上原点、単位はピクセル)
8指定領域始点Y領域指定の左上のY座標(左上原点、単位はピクセル)
9指定領域横幅領域指定の横幅(単位はピクセル)
10指定領域縦幅領域指定の縦幅(単位はピクセル)

8.4.2. 仕分け設定ファイルの編集

仕分け設定ファイルを直接編集する場合は、テキストエディタで<AIREAD_HOME>\ClassifyDir\setting.ini で編集します。

・文字エンコード:UTF-8
・改行コード:LF

maxFeatures=2000
matchCtTh=50
sizeDiffTh=-1

各項目の意味は下記の通りです。

No.項目名書式説明
1maxFeatures1以上の整数値画像の比較に使用する特徴的な点を検出する数
多くすると仕分け精度が上がる傾向にある一方、処理時間が増加する
(デフォルト:2000)
2matchCtTh0以上の整数値大まかな仕分け時に、入力画像とテンプレート画像が似ていると判断するのに最低限必要な特徴点のマッチ数
全てのテンプレート画像に対して特徴点のマッチ数がこの値に達しない場合、判定失敗となる
この値を上げると厳密な判定ができるが、判定失敗になる画像が増えやすくなる
(デフォルト:50)
3sizeDiffTh-1以上の整数値テンプレート画像と入力画像のピクセルでの面積を比較し、その差がこの値より大きい場合そのテンプレート画像との比較をスキップする
-1を指定した場合、このスキップ処理は行われない
(デフォルト:-1)

8.5. batからの仕分け付OCR実行

bat を用いて、仕分け付きのOCRの実行を行う場合は、仕分けの登録と実行の2段階で行います。

8.5.1. 仕分け登録

配置されたテンプレート画像の登録は、下記のコマンドで行います。

call "%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat"
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE

"%AIREAD_JAVA%/java" -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME%
-s [SettingFile] -R [仕分け定義フォルダ]
  • オプション: バッチの中身は引数で書き換えることができます。
No.引数説明
1-s [SettingFile]共通設定ファイルを指定
2-R [仕分け定義フォルダ]仕分け定義が格納されたフォルダを指定

※run_register.bat はサンプル帳票の実行ファイルです。ダブルクリックで実行できます。

8.5.2. 仕分け付きOCRの実行

仕分け付きOCRの実行は、下記のコマンドで行います。

call "%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat"
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE

"%AIREAD_JAVA%/java" -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME%
-s [SettingFile] -A [仕分け定義フォルダ]
  • オプション: バッチの中身は引数で書き換えることができます。
No.引数説明
1-s [SettingFile]共通設定ファイルを指定
2-A [仕分け定義フォルダ]仕分けに使用するフォルダを指定

※run_assort.bat はサンプル帳票の実行ファイルです。ダブルクリックで実行できます。

8.5.3. 仕分けのみの実行

仕分けのみの実行は、下記のコマンドで行います。

call "%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat"
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE

"%AIREAD_JAVA%/java" -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME%
-s [SettingFile] -a [仕分け定義フォルダ]
  • オプション: バッチの中身は引数で書き換えることができます。
No.引数説明
1-s [SettingFile]共通設定ファイルを指定
2-a [仕分け定義フォルダ]仕分けに使用するフォルダを指定