3.6. 個別後処理設定

読み取り結果を変換する設定を作成します。
作成された後処理設定ファイルと読み取り項目との紐づけは、RuleEditor/FormEditor から行います。

No.項目名説明
1設定ファイル保存先後処理設定ファイルの保存先を指定する
デフォルトは、<AIREAD_HOME>\IDELibrary\OcrPostProcess
2設定名選択中の後処理設定ファイルが表示される
後処理設定ファイルを追加する場合は、設定名に入力した名前で追加される
3設定名リスト作成済みの後処理設定ファイルの一覧が表示される
4設定名追加ボタン入力した設定名で後処理設定ファイルを追加する
選択中の設定ファイル保存先に、同一の設定名の後処理設定ファイルが存在する場合は追加不可
5設定名削除ボタン選択中の後処理設定ファイルを削除する
6設定情報リスト選択中の後処理設定ファイルの設定情報を表示する

3.6.1. 設定情報リストの設定

No.項目名説明
1変換対象変換対象の文字を指定する
変換対象の文字は正規表現で記載する
2変換後の文字変換対象の文字から変換する文字を指定する
変換後の文字は単語でも指定可能

3.7. 個別OCR設定

フォーマット定義ごとに個別でOCR設定の定義を行います。
「個別OCR設定の呼出」ボタンを押下することで、個別OCR設定用のAIRead ControlPanel 画面を呼び出します。

個別OCR設定の呼出 ボタンを押下することで、3.2.5. 共通設定ファイルの指定3.4.4. 共通設定ファイルの指定で指定した共通設定ファイルの各OCR設定を引き継いで呼び出します。

指定した共通設定ファイルが存在しない場合、共通設定ファイル指定ダイアログが表示されます。

AIRead on Cloudで有効な設定は☁マーク()がついた項目のみとなります。

Enterprise 版での利用に限り、個別設定は定義ファイルを指定したとき(キーワードで仕分けを行わないとき)のみ有効です。
これは、帳票識別時の処理フローが OCR処理→帳票識別→キーワード抽出 となっており、帳票定義(個別設定含む) が判明した時点で既にOCR処理後であるためです。

  • 個別設定の保存
    設定の編集が完了したら、保存してください。個別設定が反映されます。
  • 個別設定画面の終了
    保存が完了したら、右上の×ボタンで画面を閉じてください。

3.7.1. 基本設定

ファイルの入出力や抽出モードに関わる設定を行います。

No.内容項目名書式説明
1活字用OCRモデルOCR_LANG文字列活字OCRエンジンで利用するモデル名
OCRモデルフォルダに存在するファイルの拡張子".traineddata"を除外したファイル名を指定する
例)Japanese.traineddata → Japanese
2抽出モードの設定COMPONENT_LEVELMANUAL
ITEM
CELL
HW_ITEM
抽出モードを選択する
・MANUAL : 座標指定
・ITEM : キーワード指定
・CELL : キーワード指定(表検出付き)
・HW_ITEM: キーワード指定(手書き文字あり)

※FormEditorから個別設定を行う場合は、「座標指定」から変更不可
※RuleEditorから個別設定を行う場合は、キーワード指定、キーワード指定(表検出付き)、キーワード指定(手書き文字あり)から選択可能
3セル内の改行に付与する文字LINE_SEPARATER変更不可<抽出モードの設定=キーワード指定(表検出付き)のみ指定>
認識されたセル中の文字列が改行されていた場合、行間に付与する文字を指定する

※現状半角スペースから変更不可

3.7.2. モード別設定

モード別(座標指定、キーワード指定)のパラメータを設定します。

3.7.2.1. 座標指定モード

<Standardのみ>
座標指定OCRを実行時の設定はこちらで行います。

No.内容項目名書式説明
1手書き用OCRモデルHAND_WRITE_OCR_LANG文字列指定された手書きモデルが存在しないときに使用するモデル名
"OCR_MODEL_PATH/tessdata/"以下に存在するフォルダ名
例)jpn
2改善した手書きの文字切り取りロジックを使用するUSE_SEGMENT_MODELtrue, falseフリーピッチで複数行の手書き文字を読み取る場合はチェック(true)する
※処理時間がチェックをしない場合と比べて1.5~2.5倍ほど増加する
3OCR結果にスペースを含めるEXPORT_SPACEtrue, falseチェック(true)の時、OCR結果にスペースを含める
(活字読み取り時のみ)
4文字を置換する信頼度(手書き)HW_REPLACE_THRESH0~100手書きの項目が指定された閾値未満の信頼度の時、任意の文字に変換する
5置換後の文字HW_REPLACE_CHAR文字列文字を置換する信頼度(手書き)で変換する文字(1文字)
6位置合わせ最大矩形の認識マージンFORMAT_MARGIN0以上位置合わせ時に大きな矩形を認識しない画像端(上下左右)からの範囲を指定する
単位はピクセル
(デフォルト 15)
7位置合わせ外接矩形の認識マージンFIX_TEXT_HEIGHT0以上位置合わせ時に外接矩形を認識しない画像端(上下左右)からの範囲を指定する
単位はピクセル
(デフォルト 100)
8活字のノイズ閾値PRINT_NOISE_FILTERS-1~100活字の認識で、項目中の最大文字高さに対して指定された閾値以下の文字をノイズとして除去する
例)
30 を指定 → 読み取り範囲内の最大文字に対し30%以下の高さの文字をノイズとみなして除去する
(デフォルト -1:本機能は動作しない)
※小さい文字や記号がノイズとして削除される可能性有り
9手書きノイズの閾値 (文字の高さ、複数文字指定時)HW_NOISE_FILTERS文字列手書き文字の認識で指定したモデルについて、項目中の最大文字高さに対して任意の割合以下の文字をノイズとして除去する
手書き文字の文字数を「複数」で設定した項目を対象とする
[モデル名]:[閾値(%)]の形式で記載する
カンマ区切りで複数指定可能
例) number:25,money:30
→ 数値モデルは25%、通貨モデルは30%の高さの文字をノイズとみなして除去する
※小さい文字や記号がノイズとして削除される可能性があります
10手書きノイズの閾値 (白画素の割合、1文字指定時)HW_WHITE_THRESHOLD0~1.0手書き項目に1文字指定をしているとき、 その項目画像を読取対象外(ノイズ)と判断する白ピクセルの割合と判断する閾値を指定する
例)
 0.99 を指定 → 手書き項目が1文字指定のとき、項目内の白ピクセルの割合が99%以上であれば、項目内の記載をノイズと判断して除去する
(デフォルト 0.975)
11取り消された文字は認識しないIGNORE_CANCELED_STRINGStrue,
false
チェック(true)の時、二重取り消し線で消された文字や塗りつぶされた文字を読み飛ばす
12改行を出力するRECOGNIZE_NEWLINEtrue,
false
チェック(true)の時、読み取り項目内の改行を認識して\nとして出力する
3.7.2.2. キーワード指定モード

<Enterpriseのみ>
キーワード指定実行時の設定はこちらで行います。

<Standard/Enterprise共通>
全文OCRを実行時の一部の設定もこちらで行います。

No.内容項目名書式説明
1テキスト付きPDFでもOCRを実行するOCR_PDF_WITH_TEXTtrue, false<Enterpriseのみ>
チェックあり(true):テキスト付きPDFの場合でもOCRを実行する
チェックなし(false):PDFのテキスト情報を使用して抽出する
2改善した文字列検知ロジックを使用するUSE_DL_STRING_DETECTIONtrue, false<抽出モードの設定=キーワード指定、キーワード指定(表検出付き)のみ指定>
チェック(true)の時、従来のOCRよりも文字列検知の改善した処理を行う
※メモリの使用量が約500MB程度増加し、処理時間がA4画像1枚当たり5秒/枚ほど増加する
※文字列検知の処理が従来のものと変更となるため、読み取り結果に影響する可能性有り
3OCR結果から除外する文字リストBLACK_LIST_EXT文字列<Enterpriseのみ>
抽出処理時にキーワードおよび抽出する値から除外する文字を指定する
41つの文字列とみなす文字間隔LINKED_ITEM_THRESHOLD数値<Enterpriseのみ>
1つの文字列とみなす文字の間隔を設定
値は文字の大きさ(高さ)に対する倍率
5改善したスペース検出ロジックを使用するSPACE_MODE0,10:スペース検知の改善した検出を行う
1:従来のスペース認識機能を使用する

3.7.3. 画像処理

文字認識の前に実施する画像処理関連の設定を変更します。

No.内容項目名書式説明
1傾き補正を行うIS_SLOPE_CORRECTIONtrue, falseチェック(true)の時、文字認識前に傾き補正を行う(35度まで)
2回転補正を行うAUTO_ROTATIONtrue, falseチェック(true)の時、文字認識前に90/180/270度の画像回転補正を行う
3直線除去を行う最短の長さLINE_REMOVAL_THRESHOLD0以上の整数直線とみなす長さのしきい値(ピクセル)
0の場合、文字の大きさから自動で設定する
4直線除去時の文字高さに対する倍率LINE_REMOVAL_MULTIPLE_BY_TEXT_HEGHT0.1以上の数値指定した値×文字高さの平均(ピクセル)が直線除去の対象となる
直線除去を行う最短の長さ の値が0の場合にのみ動作する
5点線除去を行う最短の長さHOUGH_THRESHOLD0以上の整数点線とみなす長さのしきい値(ピクセル)
6罫線除去で欠けてしまった文字の復元処理を行うRESTORE_TEXTtrue, falseチェック(true)の時、罫線除去時に欠けてしまう罫線と隣接した文字を復元する
※必ず復元できるわけではない
※副作用として文字にノイズがつく場合がある
7二値化の閾値THRESH_VALUE0~255文字認識前の画像の二値化(白黒化)のしきい値
0の場合、画像全体のヒストグラムから自動で設定する
詳細は3.8.1. 二値化の閾値を参照
8直線除去時の二値化の閾値BINTHRESH_ON_LINE_REMOVAL0~255直線除去時の二値化パラメータのしきい値
0の場合、画像全体のヒストグラムから自動で設定する
9短い罫線(横)除去の閾値SHORT_LINE_THRESH_H-1以上長い罫線に接している短い罫線(横)を検知・除去する閾値
罫線の長さ(ピクセル)を指定する
-1 : 除去を行わない
0 : 除去を行わない(-1と同じ)
1以上 : この値を直線検知の閾値とする
10短い罫線(縦)除去の閾値SHORT_LINE_THRESH_V-1以上長い罫線に接している短い罫線(縦)を検知・除去する閾値
罫線の長さ(ピクセル)を指定する
-1 : 除去を行わない
0 : 除去を行わない(-1と同じ)
1以上 : この値を直線検知の閾値とする
11短い点線も除去するUSE_SHORT_DOTLINE_REMOVALtrue, falseチェック(true)の時、短い罫線除去時に点線も除去対象とする
※処理時間がA4画像1枚当たり2秒ほど増加する
※文字が除去される副作用が発生する可能性がある
12細かいノイズ除去の閾値(幅)THIN_LINE_REMOVAL_THRESHOLD_W0以上指定した幅(ピクセル)より細かいノイズを除去する
値が大きいほど大きなサイズのノイズを除去する
(デフォルト 0、推奨値 3)
詳細は3.8.2. 細かいノイズ除去を参照
13細かいノイズ除去の閾値(高さ)THIN_LINE_REMOVAL_THRESHOLD_H0以上指定した高さ(ピクセル)より細かいノイズを除去する
値が大きいほど大きなサイズのノイズを除去する
(デフォルト 0、推奨値 3)
詳細は3.8.2. 細かいノイズ除去を参照
14細かいノイズ除去の縮小フィルタ(幅)ERODE_THIN_LINE_W1以上細かいノイズ除去の収縮処理のフィルターサイズ(幅)
値が大きいとより独立したノイズのみ除去する
(デフォルト 12)
詳細は3.8.2. 細かいノイズ除去を参照
15細かいノイズ除去の縮小フィルタ(高さ)ERODE_THIN_LINE_H1以上細かいノイズ除去の収縮処理のフィルターサイズ(高さ)
値が大きいとより独立したノイズのみ除去する
(デフォルト 7)
詳細は3.8.2. 細かいノイズ除去を参照
16TIFFを300DPIに変換してからOCRを実行するCONV_TIFF_DPItrue, falseチェック(true)の時、TIFFを300DPIに変換してからOCRを実行する
TIFFで縦横のDPIが異なる場合に指定する
17抽出する色EXTRACTION_COLORS文字列抽出する色を指定する(指定した色以外を除去する)
複数色を指定する場合はカンマ区切りで記載する
例) EXTRACTION_COLORS=K,R
指定可能な色
・K(黒)
・R(赤)
・Y(黄)
・G(緑)
・C(シアン)
・B(青)
・P(紫)
個別で指定する場合は、直接数値を指定
詳細は3.8.5. 色の抽出・除去を参照
18除去する色REMOVAL_COLORS文字列除去する色を指定する
指定方法は色抽出(EXTRACTION_COLORS)と同様
抽出する色と両方指定した場合は抽出を優先する
詳細は3.8.5. 色の抽出・除去を参照
19色抽出・除去を罫線除去の前に行うFILTER_COLOR_BEFORE_LINEREMOVALtrue, falseチェック(true)の時、罫線除去の前に色抽出・除去を行う
20罫線を延長する長さLINE_EXTENSION_LEN0以上検知した罫線を延長する
単位はピクセル
(デフォルト 0)
21矩形の丸い角を除去する閾値ROUNDED_CORNER_THRESHOLD0~100半径が指定した値未満の丸い角を除去する
単位はピクセル
0の場合は除去されない
(デフォルト 0)
詳細は3.8.3. 丸い角の除去を参照
22丸い角の除去範囲を拡張する長さROUNDED_CORNER_PADDING0~100丸い角を除去する際に、指定した値分の除去範囲を拡大する
単位はピクセル
(デフォルト 10)
詳細は3.8.3. 丸い角の除去を参照
23ドット背景除去を行うREMOVE_DOTTED_BACKGROUNDtrue, falseチェック(true)の時、ドット背景除去を行う
24ドットサイズDOT_SIZE_THRESHOLD1~10ドット背景除去時の削除するドットのピクセルサイズを指定する
縦横が指定したピクセル以下のものを削除する
(デフォルト 4)
25小さい矩形を削除REMOVE_SMALL_RECTANGLEStrue, falseチェック(true)の時、小さい矩形の除去を行う
26除去する矩形の最小面積REMOVE_RECTANGLE_MIN_AREA_
THRESHOLD
0以上の整数小さい矩形を削除除去する」がチェック(true)の時に除去する矩形の最小面積を指定する
27除去する矩形の最大面積REMOVE_RECTANGLE_MAX_AREA_
THRESHOLD
0以上の整数小さい矩形を削除除去する」がチェック(true)の時に除去する矩形の最大面積を指定する
28斜め線を除去REMOVE_DIAGONAL_LINEStrue, falseチェック(true)の時、矩形内の斜めの線を除去する

28~31のパラメータは普段は折り畳まれておりますが、全て表示を押下することで表示されるようになります。
※パラメータ増加に伴い、使用頻度の低いパラメータがデフォルトで非表示になっています。

No.内容項目名書式説明
28ノイズ除去を行う DE_NOISEtrue, falseノイズ除去処理の有無
チェック(true)の時、文字認識前にノイズ除去を行う
29罫線除去を無効化するSKIP_LINE_REMOVEtrue, falseチェック(true)の時、文字認識前の罫線除去を無効化する(罫線除去は行わない)
30白黒反転処理を実施する黒の比率BLACK_WHITE_THRESHOLD0~100二値化後に白黒を反転するしきい値(%)
設定した%より黒の割合が多い場合に白黒を反転する
31シャープ補正値SHARPEN_VALUE0以上の少数OCR実行前に画像をシャープ化する
画像がぼやけている場合などに利用すると効果的
0の場合は処理しない

3.7.4. 文字認識調整

文字認識に関する設定を変更します。

No.内容項目名書式説明
1文字列の切取ロジックPAGE_SEG_MODE4, 6OCRエンジンの活字文字検知/分割アルゴリズムを指定する
・4 : 1行内の文字サイズが可変とみなして文字を検知
・6 : 1行内の文字サイズが固定とみなして文字を検知
2再読み込みの閾値RESCAN_THRESHOLD0~100指定した値よりもコンポーネントのConf値が閾値より低い場合に読み直す(活字のみ)
※コンポーネント内の文字のConf値の平均値

3.8. ユースケース

3.8.1. 二値化の閾値

OCRは画像を白と黒だけに変換(二値化)した状態で行います。各ピクセルの明るさ(黒0~255白)に対して、黒と白の境界とする値が二値化の閾値です。閾値は0~255を設定します。
二値化の閾値が低いと元の画像で濃い色のみが二値化で黒くなり、高いと薄い色でも黒くなります。
また、閾値を0とした場合は画像全体の明るさを基に自動で閾値を判定します。それによって目的の文字が消えてしまうなどあった場合は閾値を直接調整してください。

二値化の閾値の設定によって、下記画像のように変化します。

3.8.2. 細かいノイズ除去

細かいノイズ除去の閾値では、除去対象とするノイズの幅・高さを指定します。
どちらかのパラメータの対象となる場合は除去対象となります。

ControlPanel項目名共通設定ファイル項目名推奨値
細かいノイズ除去の閾値(幅)THIN_LINE_REMOVAL_THRESHOLD_W3
細かいノイズ除去の閾値(高さ)THIN_LINE_REMOVAL_THRESHOLD_H3

細かいノイズ除去の縮小フィルタは、近隣の文字・ノイズを結合して除去対象となるのを防ぎます。
結合する文字・ノイズ間の距離(ピクセル)を指定します。

ControlPanel項目名共通設定ファイル項目名推奨値
細かいノイズ除去の縮小フィルタ(幅)ERODE_THIN_LINE_W12
細かいノイズ除去の縮小フィルタ(高さ)ERODE_THIN_LINE_H7

3.8.3. 丸い角の除去

帳票によっては丸い角の矩形が存在し、直線除去では角が残ってしまい誤読の原因となる場合があります。
そういった場合に、下記のパラメータを設定することで丸い角の除去を行います。

ControlPanel項目名共通設定ファイル項目名推奨値
矩形の丸い角を除去するROUNDED_CORNER_THRESHOLD30
丸い角の除去範囲を拡張する長さROUNDED_CORNER_PADDING10

3.8.4. 表検出付全文OCR

コントロールパネルの抽出モードの設定で「キーワード指定(表検出付)」を指定した状態で全文OCRを実行すると、認識した罫線を基に表を検出し、表の各セルに対してOCRを行います。
この際、表の各セルのOCR結果は表の行・列の形に再現可能な情報が付与され構造化されます。ETL等で後続処理に表の情報を渡したい場合などにご利用ください。

なお、構造化情報の利用に応じて出力形式を選択可能です。
・付与された構造化情報含め出力したい場合: CSV形式
・構造化した表の形で出力したい場合: SIMPLE_CSV / SIMPLE_SEPARATE_CSV形式
 ※v2.3.1からタブ区切りのSIMPLE_TXT / SIMPLE_SEPARATE_TXT形式も追加されました

 ※表が段組みになっている場合には正しく構造化されません。
  行と列が揃っている表にのみ有効です。

3.8.5. 色の抽出・除去

帳票上の印影や背景の色がOCRに影響し、正しく読み取りを行えない場合があります。
OCRを行う前に、必要な文字の色のみ抽出、もしくは余計な色の除去を行って調整します。
色の指定はHSV色空間で範囲指定します。

3.8.5.1. HSV色空間について
要素指定範囲説明
H色相0~179具体的な色を定義する要素
色が環状で表現するため、0°と179°で同じ色となる
S彩度0~255色相で定義された色の鮮やかさ・濃さを表す要素
彩度が255で最も鮮やかとなり、減少に合わせて色が薄くなり、0で灰色になる
V明度0~255色相で定義された色の明るさ・暗さを表す要素
明度が255で最も明るく(白)、明度の減少に合わせて暗くなり、0で黒になる
3.8.5.2. 色の指定方法(GUI)
No.項目名説明
1指定した色カラーパレット、もしくはスポイトで対象とした色が表示される
2色の選択ボタンカラーパレットを開き、対象とする色を指定する
3スポイトボタンスポイト画面を開き、クリックした場所の色を抽出して対象とする
4色相対象とした色の色相の表示、または色相を直接入力する
5彩度対象とした色の彩度の表示、または彩度を直接入力する
6明度対象とした色の明度の表示、または明度を直接入力する
7±(指定幅)対象とした色の色相、彩度、明度に対して、指定した数値分の幅を上下に持たせる
指定された数値分の幅は、from-to の範囲となる
8色の対象範囲(from)対象とした色から±で指定した数値分をマイナスして表示する
9色の対象範囲(to)対象とした色から±で指定した数値分をプラスして表示する
10確定ボタン指定した色の範囲をAIRead ContorlPanel に反映させる
11キャンセルボタン編集内容を反映させずに、AIRead ContorlPanel へ戻る

例)赤い色の範囲を指定する場合(GUI)

対象の色の値に対して幅を持たせることで、近い色も対象とすることができます。

3.8.5.3. 色の指定方法(テキスト)

テキストで設定を行う場合、対象としたい色の色相、彩度、明度の順で”:”(コロン)で区切り、色の指定を行います。
色相が0°、彩度、明度が200を指定する際は、下記の指定となります。

0 : 200 : 200 - 0 : 200 : 200

色相に前後の幅を持たせ、さらに明るい色も対象としたい場合は、下記のような指定を行います。

-15 : 200 : 200 - 15 : 200 : 255
色相(-15 - 15)明度(200 - 255)
0から±15の値明度200より明るい色を取得するため、55プラスした値

※彩度を変更しない場合は、同じ値とします。

例)赤い色の範囲を指定する場合(テキスト)
純粋な赤色は、下記のように表現できます。

純粋な赤色の表現

0 : 255 : 255

実際は印刷等の条件により赤色の色合いは異なるため、範囲に幅を持たせることで色を対象とすることが可能です。
例)赤色を含むピンクからオレンジ色の範囲

-10:180:250-10:220:255

※色相 -10 は 170 と同義