以下、実施形態の帳票識別装置について図面を参照して説明する。なお、以下の装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
(第1の実施形態)
図1乃至図11を参照して、本実施形態の帳票識別装置について説明する。
図1は、本実施形態の帳票識別装置10のハードウェア構成の一例を示す図である。この帳票識別装置10は、記憶装置11、スキャナ12、マウス13、中央演算装置14およびディスプレイ装置15を備えている。なお、帳票識別装置10は例えば、本実施形態に係る帳票識別プログラムが適用された計算機によって実現される。
記憶装置11は、中央演算装置14から読出/書込み可能な記憶装置であり、例えばRAMである。記憶装置11は、あらかじめ本実施形態の帳票識別装置10の機能を実現するためのプログラムが記憶されている。
スキャナ12およびマウス13は、入力装置である。例えばスキャナ12は入力された帳票をスキャンして帳票画像を生成し、中央演算装置14に入力する。また、マウス13は、操作者の操作により、データ又は命令からなる各種情報を中央演算装置14に入力する。
中央演算装置14は、通常のCPUであり、例えば、記憶装置11に記憶された帳票識別プログラムを実行する機能と、スキャナ12又はマウス13から入力される情報に基づいて各プログラムの実行を制御する機能と、実行結果等をディスプレイ装置15に出力する機能をもつ。
ディスプレイ装置15は、通常の表示装置であり、例えば、中央演算装置14から出力された情報を表示する機能をもっている。
図2を参照して、帳票識別装置10の機能構成の一例について説明する。図2に示すように、帳票識別装置10は、モデルデータベース(以下、モデルDBと記載する)20と、画像入力部30と、候補抽出部40と、帳票内検索部50と、帳票間検索部60と、識別キー選択部70とを備え、帳票識別処理で用いる識別キーを選択する処理を行う。
モデルDB20は、帳票識別装置10が、入力された帳票画像に対して種類を識別する処理(以下、帳票識別処理という)を行う場合に参照されるモデル帳票画像を記憶する記憶部である。以下、モデルDB20に記憶されたモデル帳票画像を登録モデル帳票画像(第1のモデル帳票画像)という。すなわち、登録モデル帳票画像は、帳票識別装置10が帳票識別処理を行う対象の帳票画像であるといえる。
図3に、モデルDB20に登録されている登録モデル帳票画像の一例を示す。
本実施形態では3つの登録モデル帳票画像201、211、221がモデルDB20に登録されているとする。なお、登録モデル帳票画像201、211、221は同一のサイズであるとする。
図3に示した登録モデル帳票画像201は、2010年度の東京都民税に関する帳票画像であり、帳票領域202と背景領域203が存在する。背景領域203は、例えば帳票がコピーされた帳票画像において帳票外の領域がコピーの対象となった場合などに発生するもので、取得された帳票画像内に存在する帳票外の領域をさす。同様に、登録モデル帳票画像211は、2010年度の埼玉県民税に関する帳票画像であり、帳票領域212と背景領域213が存在し、登録モデル帳票画像221は、2011年度の埼玉県民税に関する帳票画像であり、帳票領域222と背景領域223が存在する。
また、図3に示すように各登録モデル帳票画像には、それぞれ識別キーが設定されており、登録モデル帳票画像201の識別キーは長鎖線で囲まれた部分領域204と部分領域205である。なお、識別キーは、長鎖線で囲まれた部分領域の画像における各画素の座標と画素値とを備えるデータである。各画素の座標は、各登録モデル帳票画像の左上角を(0,0)とし、左辺下向きをy軸正方向、上辺右向きをx軸正方向とする)。
同様に、登録モデル帳票画像211の識別キーは長鎖線で囲まれた部分領域214と部分領域215、登録モデル帳票画像221の識別キーは長鎖線で囲まれた部分領域224と部分領域225である。
画像入力部30は、スキャナ12やカメラ(図示しない)などによって実現され、モデル帳票画像などの画像データを入力する。すなわち、画像入力部30は、モデル帳票画像をスキャンし、画像データを取得する。取得したモデル帳票画像は、モデルDB20に記憶される。
候補抽出部40は、画像入力部30によって入力されたモデル帳票画像から、識別キーの候補となる部分領域群を抽出する。部分領域は例えば、帳票画像に含まれる文字の領域や画像の領域である。この部分領域は、具体的には、領域内の画像や文字の画素値と各画素の位置(座標)で表される。なお、抽出する部分領域は、モデル帳票画像と、当該モデル帳票画像内における部分領域の座標の組としてもよいし、モデル帳票画像から切り出された部分領域画像と当該モデル帳票画像内における部分領域の座標との組としてもよい。
帳票内検索部50は、入力された処理対象のモデル帳票画像において、候補抽出部40によって抽出された当該モデル帳票画像の部分領域群の各々に対して識別キーとして適当であるか否かの判定を行う。
帳票間検索部60は、入力された識別キー選択対象のモデル帳票画像と、モデルDB20に登録された登録モデル帳票画像群とに基づいて、候補抽出部40によって抽出された部分領域群の各々が識別キーとして適当であるか否かの判定を行う。
識別キー選択部70は、帳票内検索部50、および帳票間検索部60の判定結果に基づき、候補抽出部40によって抽出された部分領域群の中から、帳票識別処理において識別キーとして利用する部分領域を選択する。
すなわち、帳票識別装置10は、上述の構成により、入力されたモデル帳票において当該モデル帳票を識別するための識別キーを選択し、モデル帳票と選択された識別キーとを対応づけてモデルDB20に登録する帳票識別キー登録処理を行う。
図4を参照して、本実施形態の帳票識別装置10の帳票識別キー登録処理の一例について説明する。
まず、ユーザは、画像入力部30を用いて、モデル帳票画像を入力する(ステップS10)。具体的には、ユーザが、画像入力部30を用いて、モデルDB20に登録したい帳票のブランク帳票をスキャンする。
図5にスキャンして得られたモデル帳票画像の一例を示す。図5に示したモデル帳票画像301は、2011年度の東京都民税に関する帳票画像であり、帳票領域302背景領域303が存在する。背景領域303は、例えばモデル帳票画像301が帳票のコピーである場合に発生する。
本実施形態においてはブランク帳票をスキャンしているが、これに限らず、例えばスキャンした画像をオペレータに提示して記入部分を消去させてもよい。また、多数の同種の帳票画像を入力して重ねあわせを行い、記入部分を特定して消去するなどしてもよい。
候補抽出部40は、ステップS10で入力されたモデル帳票画像301から識別キーの候補となる部分領域群を抽出する候補抽出処理を行う(ステップS20)。具体的には、候補抽出部40は、モデル帳票画像301に対してレイアウト解析を行い、結果として得られた行領域、画像領域、表領域それぞれを部分領域とする。レイアウト解析は、例えばラベリングや領域分割などが用いられる。
以下、候補抽出部40によって抽出された識別キーの候補となる部分領域の集合を部分領域群P(Pi=P1、…、Pn:nは候補抽出部40によって抽出された部分領域の数)とする。図6に、モデル帳票画像301において、候補抽出部40が抽出した部分領域群Pの一例を示す。図6に示す、破線で囲まれたドット領域が部分領域であり、ここではn=8である。モデル帳票画像301において、「部分領域P1:東京都民税」、「部分領域P2:2011年度」、「部分領域P3:氏名」、「部分領域P4:金額」、「部分領域P5:延滞金」、「部分領域P6:あり」、「部分領域P7:なし」、「部分領域P8:金額」である。
続いて、帳票内検索部50は、候補抽出部40によって抽出された各部分領域が識別キーとして適当であるか否かを判定する帳票内検索処理を行う(ステップS30)。
ここで、図7を参照して、図4のステップS30における帳票内検索部50による帳票内検索処理について説明する。
帳票内検索部50は、候補抽出部40から識別キー候補となる部分領域群Pを受信すると(ステップS31)、受信した部分領域群Pに含まれるすべての部分領域P1〜Pnに対して帳票内検索処理のステップS33の処理が終了しているか否かを判定する(ステップS32)。
受信した部分領域群Pに帳票内検索処理のステップS33が終了していない部分領域が存在する場合(ステップS32がNo)、帳票内検索部50は、部分領域群Pの帳票内検索処理が終了していない部分領域から部分領域を1つ選択する(ステップS33)。以下、ステップS33において帳票内検索部50が選択する部分領域を部分領域Aと記載する。
帳票内検索部50は、選択した部分領域Aと、受信した部分領域群Pに含まれる部分領域A以外の部分領域とを比較する(ステップS34)。
比較の結果、部分領域Aと一致する部分領域Piが、部分領域Aを除いた部分領域群Pに含まれている場合(ステップS35がYes)、帳票内検索部50は、当該部分領域Aおよび、部分領域Aと一致する部分領域Piを識別キーとして不適当であると判定する(ステップS36)。言い換えると、帳票内検索部50は、部分領域A、および部分領域Aと一致しない部分領域Piを識別キーとして適当であると判定する。
本実施形態においては、部分領域同士が一致するかの判定方法として、部分領域に対して文字認識を行って認識結果を比較する。このとき、部分領域のモデル帳票画像における位置は考慮しない。なお、例えばいずれかの部分領域に対する文字認識の類似度が事前に定める一定の閾値以下である場合には文字認識の結果が誤っている可能性が高く、さらにもし正しい場合でも実際の識別処理において文字認識をした場合にモデル帳票画像と一致する結果が得られない可能性が高いため、一致しないと判定してもよい。
図8に、帳票内検索部50による部分領域比較の概念図を示す。図8の矢印の左側に部分領域Aとして選択された部分領域が示され、矢印の右側に、部分領域Aを除く部分領域群Pが示されるとする。なお、本実施形態では、帳票内検索部50は部分領域P1から順に選択して比較したとし、部分領域のペアが以前前に比較されたペアと同一の場合は比較を行なっていない。例えば、部分領域AがP2の場合、P1との比較は以前に行なわれているため省略する。
本実施形態では、図8に示すように、部分領域P4:金額と部分領域P8:金額とが一致するため、帳票内検索部50はこれら2つの部分領域をステップS36において不適当と判定する。
ステップS36の判定後、帳票内検索部50はステップS32に進み、処理を繰り返す。
受信した部分領域群Pに含まれる部分領域全てにステップS33の処理が終了している場合(ステップS32がYes)、帳票内検索部50は、帳票内検索処理を終了する。
図4の説明に戻る。
帳票内検索処理が終了すると、帳票間検索部60は、帳票間検索処理を行う(ステップS40)。図9を参照して、帳票間検索部60による帳票間検索処理の一例について説明する。
まず、帳票間検索部60は、候補抽出部40が抽出した部分領域群Pのうち、帳票内検索部50によってキー候補として不適当と判定された部分領域以外の部分領域群Q(Q=Q1、…、Qm:mは帳票内検索部50によってキー候補として適当であると判定された部分領域の数)を取得する(ステップS41)。本実施形態においては、m=6である。すなわち、部分領域群Qは部分領域群Pから帳票内検索処理によってキー候補として不適当と判定された「部分領域P4:金額」と、「部分領域P8:金額」を削除したものであり、「部分領域Q1:東京都民税」、「部分領域Q2:2011年度」、「部分領域Q3:氏名」、「部分領域Q4:延滞金」、「部分領域Q5:あり」、「部分領域Q6:なし」である。
帳票間検索部60は、部分領域群Qに含まれる部分領域に、ステップS43の処理が終了していない部分領域が存在する場合(ステップS42がNo)、部分領域群Qから未選択の部分領域Bを1つ選択する(ステップS43)。
次に、帳票間検索部60はモデルDB20から登録モデル帳票画像を取得する(ステップS44)。
続いて、帳票間検索部60は、モデルDB20の登録モデル帳票画像における探索範囲内に存在する部分領域と、部分領域Bとを比較する(ステップS45)。なお、探索範囲とは、各登録モデル帳票画像において、部分領域Bと一致する部分領域が存在するかを探索する範囲のことである。
図10を参照して、ステップS43においてモデル帳票画像301の「部分領域Q5:あり」を部分領域Bとして選択した場合を例に、登録モデル帳票画像201における探索範囲について説明する。
図10は、ステップS43でモデル帳票画像301の部分領域Bとして「部分領域Q5:あり」が選択された場合の各登録モデル帳票画像201、211、221における探索範囲310、311、312の一例である。
図10には、各登録モデル帳票画像201、211、221と、モデル帳票画像301の中心が揃うように配置した場合の各登録モデル帳票画像上の「部分領域Q5:あり」の位置が、ドットの領域で示されている。探索範囲310、311、312は各登録モデル帳票画像上の「部分領域Q5:あり」の位置を基準とした一定の範囲の領域である。
ここで、モデル帳票画像301上の「部分領域Q5:あり」の位置は、左上座標(x1,y1)と右下座標(x2,y2)で示されるとする。この場合、探索範囲310、311、312は、x1,y1それぞれから所定数dを引いた左上座標(x1−d,y1−d)と、x2,y2それぞれに所定数dを加えた右下座標(x2+d,y2+d)で定められる範囲とする。所定数dはあらかじめ設定されており、x1−dもしくはy1−dが負の値になる場合は「0」とする。また、モデル帳票画像の幅がW、高さがHとすると、x2+d≧wとなる場合は、x2+d=W−1とし、y2+d≧Hとなる場合はy2+d=H−1とする。なお、探索範囲310、311、312は、基準とする部分領域Q5の幅と高さをそれぞれ所定の割合増加した範囲としてもよい。なお、範囲決定の際の帳票画像の揃え方はこれに限らず、例えば左上が揃うようにしてもよい。
ここで、帳票間検索部60は、モデルDB20の登録モデル帳票画像内に、以下のステップS44の処理を行っていない登録モデル帳票画像が存在するか否かを判定する(ステップS46)。ステップS44の処理を行っていない登録モデル帳票画像が存在する場合(ステップS46がNo)、帳票間検索部60は、ステップS44に戻り処理を繰り返す。
ステップS44の処理をモデルDB20に登録された全ての登録モデル帳票画に行った場合(ステップS46がYes)、帳票間検索部60は、ステップS45における比較の結果、部分領域Bと一致する部分領域が、登録モデル帳票画像201、211、221の探索範囲のうちに含まれているか否かを判定する(ステップS47)。
部分領域Bと一致する部分領域が、登録モデル帳票画像201、211、221の探索範囲のうちのいずれにも含まれていない場合(ステップS47がNo)、帳票間検索部60は、当該部分領域Bをキー候補として適当である、すなわち第1キー候補であると判定する(ステップS471)。その後、帳票間検索部60はステップS42に戻って処理を繰り返す。モデル帳票画像301において、第1キー候補と判定される部分領域の数は0である。
ステップS46における比較の結果、部分領域Bと一致する部分領域が、登録モデル帳票画像201、211、221の探索範囲のうち少なくとも1つに含まれている場合(ステップS47がYes)、帳票間検索部60は、当該部分領域Bは、登録モデル帳票画像201、211、221の探索範囲すべてに含まれているか判定する(ステップS48)。
登録モデル帳票画像201、211、221の探索範囲のうちに当該部分領域Bが含まれていないものがある場合(ステップS48がNo)、帳票間検索部60は、当該部分領域Bをキー候補として必ずしも不適当であるとはいえない、すなわち第2キー候補であると判定する(ステップS481)。その後、帳票間検索部60はステップS42に戻って処理を繰り返す。モデル帳票画像301において、第2キー候補と判定される部分領域の数は2であり、部分領域Q1:東京都民税と、部分領域Q2:2011年度、である。
当該部分領域Bは、登録モデル帳票画像201、211、221の探索範囲すべてに含まれている場合(ステップS48がYes)、帳票間検索部60は、当該部分領域Bをキー候補として不適当であると判定する(ステップS49)。その後、帳票間検索部60はステップS42に戻って処理を繰り返す。モデル帳票画像301において、識別キーとして不適当と判定される部分領域の数は4であり、「部分領域Q3:氏名」、「部分領域Q4:延滞金」、「部分領域Q5:あり」、「部分領域Q6:なし」である
図11に示すように、モデル帳票画像301の「部分領域Q5:あり」は、全ての登録モデル帳票画像201、211、221の探索領域に同一の部分領域が含まれるため、帳票間検索部60は、キー候補として不適当であると判定する。
また、部分領域Bと一致する部分領域が、登録モデル帳票画像の探索範囲に含まれていない場合(ステップS47がNo)、帳票間検索部60はステップS48〜ステップS49の処理を行わず、ステップS42に戻って処理を繰り返す。すなわち、当該部分領域Bは識別キー候補として適当であると判定されたといえる。
モデルDB20の登録モデル帳票画像すべてに、以下のステップS45〜ステップS49の処理を行っている場合(ステップS44がYes)、帳票間検索部60は、ステップS42に戻って処理を繰り返す。
部分領域群Qに含まれる部分領域すべてに、ステップS43の処理が終了している場合(ステップS42がYes)、帳票間検索部60は、帳票間検索処理を終了する。
なお、モデルDBに既に登録されたモデル帳票がない場合、帳票間検索部60は全ての部分画像を識別キー候補として適当であると判定してもよい。
図4の説明に戻る。
帳票間検索処理が終了すると、識別キー選択部70は、識別キーとして用いる部分領域を選択する識別キー選択処理を行う(ステップS50)。
図11を参照して、識別キー選択部70によるキー選択処理の一例について説明する。
まず、識別キー選択部70は、帳票内検索部50と帳票間検索部60による判定結果の第1キー候補と第2キー候補を取得する(ステップS51)。
識別キー選択部70は、あらかじめ定めた個数Zになるまで、第1キー候補から部分領域を選択する(ステップS52)。本実施形態の例では、Z=2とし、選択基準はモデル帳票画像301の中央に近い順とする。これは、中央に近い識別キーのほうが、コピーなどによる帳票部分の位置ずれがある帳票画像においても画像内からはみ出しにくく、比較的安定に検出できるためである。なお、選択基準はこれに限らず、例えば文字認識した結果の類似度が高い順や認識候補の1位と2位の類似度差が大きい順、すなわち文字認識の結果が安定して得られる順などにしてもよい。
ここで、識別キー選択部70が選択する識別キーの個数Zが第1キー候補数より大きい場合(ステップS53がYes)、識別キー選択部70は、第1キー候補と同様の選択基準を用いて、第2キー候補から不足分の識別キーを選択する(ステップS54)。
本実施形態では、第1キー候補数は「0」、識別キー選択数Zは「2」であるため、ステップS53の判定はYesとなり、識別キー選択部70は第2キー候補から2つの識別キーを選択する。ここでは、第2キー候補から識別キーとして「部分領域Q1:東京都民税」、「部分領域Q2:2011年度」が選択される。
識別キー選択部70が選択する識別キーの個数Zが第1キー候補数より小さい場合(ステップS53がNo)、すなわち、第1キー候補から必要な個数の識別キーを選択できた場合は、識別キー選択部70は、ステップS54の処理を行わずにステップS55に進む。
識別キー選択部70は、モデル帳票画像301と、選択結果の複数の識別キーとを対応付けてモデルDB20に登録し(ステップS55)、識別キー選択処理を終了する。
なお、図示しないが、帳票識別装置10は、選択した識別キーとモデル帳票画像301とを関連付けてモデルDB20に登録するモデル帳票画像登録部を備えてもよい。また、帳票識別装置10は、識別キー選択部70が識別キーとして選択した部分領域をディスプレイ15によってユーザに提示し、ユーザは表示された部分領域から識別キーを決定してもよい。
上述のように、本実施形態の帳票識別装置10によると、帳票内検索部50の帳票内検索処理によって、モデル帳票画像内に一致する部分領域が存在する部分領域を識別キーから除外することが可能となる。これにより、例えばコピーによる位置ずれや拡大縮小によって、同一の帳票画像であっても部分領域の位置がずれてしまう場合であっても、安定かつ高速に帳票識別を行うことが可能な識別キーが選択できる。
なぜなら、モデル帳票画像上の複数の場所に同一の部分領域が存在する部分領域のうちの1か所を識別キーとして利用した場合、例えばコピーなどによって帳票の位置がずれている帳票画像を識別する際に、当該帳票画像の識別キーがコピーによってずれ得る範囲内に識別キーと同一の部分領域が複数あるような場合、これら複数の部分領域に対して1つの識別キーが検出されてしまう例がある。このような場合、例えば検出された部分領域と識別キーとの類似度が高い部分領域の方を選択するなどしてどれかに決定することは可能だが、識別キーの位置関係が崩れ、正しく帳票識別することが困難となる場合が多い。
このとき、検出された複数の位置にある部分領域から1つの部分領域を選択し、選択した部分領域を識別キーであると仮定して他の識別キーの検索処理を行うことは可能である。しかしながら、検出された複数の部分領域全てに対して他の識別キーを検索するため、必要な検索処理が多くなって処理にかかる時間が増大してしまうという問題がある。また、最終的に識別キー候補をひとつに絞れない可能性があるといった問題もある。一方で、帳票識別装置10によると同一の帳票内に識別キーと同一の部分領域が存在しないため、そのようなことはおこらない。
また、本実施形態の帳票識別装置10の帳票識別処理では、モデルDB20に登録された各登録モデル帳票画像において、対応する識別キー全てを入力された識別対象の帳票画像上で検索し、全ての識別キーが一致すると判定された場合に、入力された帳票画像の種類が、当該登録モデル帳票画像であると判定する。このような場合、従来では1つでも識別キーが一致しない場合にはその時点で処理を打ち切る。なお、一定個数の識別キーで検出失敗を許容する場合であっても個数は変化するものの同様のことが行える。つまり、複数の登録モデル帳票画像において類似した識別キーを利用することにした場合、異なる登録モデル帳票画像でも当該識別キーが発見されるため、そのような登録モデル帳票画像の探索打ち切りまでにかかる時間が長くなり、結果としてより帳票識別処理に時間がかかる。
しかしながら、本実施形態の帳票識別装置10の帳票間検索部60の帳票間検索処理によって、複数の登録モデル帳票画像において類似した識別キーを利用することを防ぐことができる。これにより帳票識別装置10は、帳票識別の高速化を可能とする。
(第2の実施形態)
図12乃至図18を参照して、第2の実施形態における帳票識別装置について説明する。なお、第1の実施形態と同様の構成には同一の符号を付与し、説明は省略する。
図12は本実施形態の帳票識別装置100の機能構成の一例を示すブロック図である。なお、帳票識別装置100のハードウェア構成は第1の実施形態と同一である。
図12に示すように、帳票識別装置100は、モデルDB20と、画像入力部30と、候補抽出部40と、帳票内スコア算出部51と、帳票間スコア算出部61と、識別キー選択部71とを備える。
帳票内スコア算出部51は、入力された識別キー選択対象のモデル帳票画像において、候補抽出部40によって抽出された当該モデル帳票画像の部分領域群Pの各々に対して識別キーとして適当であるか否かを示す帳票内スコアを算出する。また、帳票内スコア算出部51は、算出した帳票内スコアに基づいて各部分領域が識別キーとして適当であるか否かを判定する。なお、本実施形態では、図5に示したモデル帳票画像301が識別キー選択対象である。
帳票内スコアは、入力された識別キー選択対象のモデル帳票画像に含まれる部分領域間の類似度を示すスコアであり、本実施形態では類似する部分領域が当該モデル帳票画像内に多い部分領域ほど低いスコアとなり、識別キーとして不適当であると判定される。
帳票間スコア算出部61は、モデルDB20に登録された登録モデル帳票画像群、および各登録モデル帳票画像に対応する識別キー群の情報を用いて、識別キー選択対象のモデル帳票画像において候補抽出部40に抽出された部分領域群の各々に対して、識別キーとして適当であるか否かを示す帳票間スコアを算出する。また、帳票間スコア算出部61は、算出した帳票間スコアに基づいて各部分領域が識別キーとして適当であるか否かを判定する。
帳票間スコアは、入力された識別キー選択対象のモデル帳票画像に含まれる部分領域と、登録モデル帳票画像に含まれる部分領域との類似度を示すスコアであり、類似する部分領域が登録モデル帳票画像内に多い部分領域ほど低いスコアとなり、識別キーとして不適当であると判定される。
識別キー選択部71は、表示部72と入力部73を備え、帳票内スコア算出部51と帳票間スコア算出部61との算出結果に基づいて、識別キー選択対象のモデル帳票画像における部分領域から識別キーを選択する。
表示部72は、例えばディスプレイ15であり、識別キー選択部71が帳票内スコア算出部51と帳票間スコア算出部61との算出結果に基づいて選択した識別キー候補を表示する。
ユーザは表示部72に表示された識別キー候補から、入力部73を操作して識別キーを選択する。入力部73は例えばマウス13やキーボード(図示しない)である。
以下、図13を参照して本実施形態の帳票識別装置100による識別キー登録処理の一例について説明する。なお、第1の実施形態における識別キー登録処理と同様の処理には同一の符号を付与し、説明は省略する。
帳票識別装置は100、第1の実施形態と同様に画像入力処理(ステップS10)と候補抽出処理(ステップS20)とを行う。
次に、帳票識別装置100の帳票内スコア算出部51は、帳票内スコア算出処理を行う(ステップS300)。
ここで、図14を参照して本実施形態の帳票内スコア算出部51による帳票内スコア算出処理の一例について説明する。
図14に示すように、帳票内スコア算出部51は、ステップS31〜ステップS33までは第1の実施形態における帳票内検索部50と同様の処理を行う。
帳票内スコア算出部51は、ステップS301において、部分領域Aと、部分領域群Pに含まれる部分領域A以外の全ての部分領域Pi(Pi=P1、…、Pn:nは候補抽出部40によって抽出された部分領域の数)とを用いて帳票内スコアを算出する(ステップS301)。例えば部分領域Aの部分領域Piに対する帳票内スコアは「Tai」とし、部分領域Bの部分領域Piに対する帳票内スコアは「Tbi」とする。
本実施形態における、帳票内スコアTaiの算出について説明する。
まず、帳票内スコア算出部51は、部分領域Aおよび類似度の比較対象となる部分領域Piをモデル帳票画像301から画像として切り出す。次に、帳票内スコア算出部51は、部分領域Piを部分領域Aと同じ大きさに正規化する。帳票内スコア算出部51は、これら2つの画像において同じ位置にある画素同士の画素値の差分値の二乗和Kai(Kai=Ka1、…Kan:nは候補抽出部40によって抽出された部分領域の数)を求める。なお、Kaiは領域同士が異なっているほど大きな値となる。
帳票内スコア算出部51は、計算した全てのKai、部分領域Aの幅(画素数)Waおよび高さ(画素数)Ha、および所定の1画素における差分値の最大値(例えば入力が2値画像であれば、画素値は最大1最小0であるので差分値の最大値は1となる)の二乗D、およびスコアにかかる係数Cに基づいて、後述する計算式(1)によって部分領域Aの部分領域Piに対する帳票内スコアTaiを算出する。なお、所定の1画素における差分値の最大値は、処理対象のモデル帳票画像によって一意に決まる。
本実施形態の帳票内スコアの計算式(1)は、「Tai=(Kai×C)/(Wa×Ha×D)」・・・(1)である。計算式(1)によって得られる値は、ある部分領域Aと、同一帳票内で部分領域Aと最も類似した部分領域との相違度である。部分領域Aと比較対象の部分領域とが異なるほど大きな値となり0〜Cの値を取る。
続いて、帳票内スコア算出部51は、算出した帳票内スコアTaiの最小値Tai_minがあらかじめ設定した閾値以下か否かを判定する(ステップS302)。すなわち、ある部分領域Aと、当該部分領域に最も類似した部分領域との相違度が低いか否か、言い換えればある部分領域Aと、部分領域Aに最も類似した部分領域は類似していると判断できるか否かを判定する。
部分領域Aと部分領域Piに対する帳票内スコアTaiの最小値Tai_minがあらかじめ設定した閾値以下である場合(ステップS302がYes)、すなわち部分領域Aと部分領域Piが類似していると判定できる場合、帳票内スコア算出部51は、部分領域Aはキー候補として不適当であると判定する(ステップS303)。その後、帳票内スコア算出部51は、ステップS32に戻り処理を繰り返す。
算出したTaiの最小値Tai_minがあらかじめ設定した閾値より大である場合(ステップS302がNo)、すなわち部分領域Aと部分領域Piが異なっていると判定できる場合、帳票内スコア算出部51は、ステップS303の処理を行わず、ステップS32に戻り処理を繰り返す。すなわち、帳票内スコア算出部51は、部分領域Aはキー候補として適当であると判定する。
ステップS32において、全部分領域にステップS33の処理が終了したと判定された場合(ステップS32がYes)、帳票内スコア算出部51は処理を終了する。
すなわち、部分領域Aに対して帳票内スコア算出部51が算出した帳票内スコアの最小値Tai_minは、モデル帳票画像301において部分領域Aに最も類似した部分領域Piとの相違度であり、このスコアが大きければモデル帳票画像301内に部分領域Aと類似した部分領域がないことを示す。
以下、第1の実施形態と同様に、同一モデル帳票画像内に同一の部分領域が存在し、識別キー候補として不適当であると判断された部分領域以外の、部分領域群Pに含まれる部分領域群をQ(Qi=Q1、…、Qm:mは適当であると判断された部分領域の数)とする。
図13の説明に戻る。帳票内スコア算出部51が算出した帳票内スコアに基づいて識別キー候補として不適当な部分領域を判定した後、帳票間スコア算出部61は、帳票間スコア算出処理を行う(ステップS400)。
図15を参照して、帳票間スコア算出部61が行う帳票間スコア算出処理の一例について説明する。
図15に示すように帳票間スコア算出部61は、まず、第1の実施形態における帳票間検索処理のステップS41〜ステップS43と同一の処理を行う。すなわち、帳票間スコア算出部61は、帳票内スコア算出部51によってキー候補として不適当と判定された部分領域以外の部分領域群Qから、未選択の部分領域Bを1つ選択する(ステップS43)。
続いて、帳票間スコア算出部61は、ステップS43で選択した部分領域Bに変形処理を行い、帳票間スコア算出対象画像群Sを作成する(ステップS401)。
変形処理では、例えば、選択した部分領域Bに対して、例えばコピー時の拡大・縮小を想定し、元の部分領域Bの画像に対して5%拡大処理した変形画像C、および5%縮小処理した部変形画像Dを作成し、画像B、変形画像C、変形画像Dを合わせて帳票間スコア算出対象の変形画像群Sとする。なお、これ以外にも、例えば傾きを考慮して回転させた画像や、コピー時のかすれや潰れを考慮して鮮鋭化やぼかしなどのフィルタリング処理を施した部分領域などを追加してもよい。
ここで、帳票間スコア算出部61は、第1の実施形態における帳票間検索処理のステップS46とステップS44の処理を行う。ステップS44で取得したモデル帳票画像に対して、帳票間スコア算出部61は、変形画像群Sに含まれる全ての変形画像に、以下のステップS403の処理を行ったか否かを判定する(ステップS402)。
変形画像群Sに含まれる画像に、以下のステップS403の処理を行っていない画像がある場合(ステップS402がNo)、帳票間スコア算出部61は、登録モデル帳票画像における探索範囲内の部分領域全ての画像と変形画像群Sとに基づいて帳票間スコアを算出する(ステップS403)。なお、探索範囲の設定は第1の実施形態と同様に行う。
ここで、帳票間スコアの算出について説明する。
帳票間スコアの算出では、例えば、帳票間スコア算出部61は、部分領域Aの位置を基準として、登録モデル帳票上において変形画像群Sとの比較対象となる部分領域の存在し得る範囲を求め、この範囲を変形画像群Sに対する探索範囲として設定する。
次に、画像群Sからスコア算出対象の画像Vを選択する。次に、探索範囲の内部から画像Vとの比較を行う部分領域の画像Pv(Pvi=Pv1、…Pvn:nは探索範囲内の部分領域の数)を画像として切り出す。比較対象となる部分領域の画像Pviは、画像Vと同程度の大きさのものとする。具体的には、縦横各々の長さの違いが5%以内に収まっているものを対象とする。すなわち、帳票間スコア算出部61は、画像Vと画像Pviの帳票間スコア「Tvi」を算出する。
続いて帳票間スコア算出部61は、比較対象となる画像Pviを画像Vと同じ大きさに正規化する。次に、これらの同じ位置にある画素どうしの値の差分値の二乗和Kviを求める。次に、上記で計算したKvi、画像Vの幅(画素数)Wvi及び部分領域の高さ(画素数)Hvi、ある画素における差分値の最大値の二乗D、スコアの係数Cから、画像Vと画像Pviに対する帳票間スコアTviを後述する計算式(2)を用いて求める。
本実施形態においては、計算式(2)を「Tvi=(Kvi×C)/(Wvi×Hvi×D)」・・・(2)とする。すなわち、帳票間スコアTviは0〜Cの値を取る、画像Vと画像Pviとの相違度であり、大きな値を取るほど相違度が高いことを示す。なお、比較対象とならなかった部分領域に対するスコアはTviの最大値であるCとする。これを変形画像群Sに含まれる全ての部分領域について繰り返す。
帳票間スコア算出部61は、変形画像群S内の全ての画像における帳票間スコアTviを算出すると、帳票間スコアTviの最小値であるTvi_minがあらかじめ設定された閾値以下か否かを判定する(ステップS404)。
帳票間スコアTviの最小値であるTvi_minがあらかじめ設定された閾値以下である場合(ステップS404がYes)、帳票間スコア算出部61は、当該部分領域Bは識別キー候補として不適当であると判定する(ステップS405)。その後帳票間スコア算出部61は、ステップS42に戻り処理を繰り返す。
帳票間スコアTviの最小値であるTvi_minがあらかじめ設定された閾値より大である場合(ステップS404がNo)、帳票間スコア算出部61は、ステップS405の処理を行わず、ステップS42に戻り処理を繰り返す。
変形画像群Sに含まれる全ての変形画像Vに、以下のステップS403の処理を行っている場合(ステップS402がYes)、帳票間スコア算出部61は、ステップS42に戻り処理を繰り返す。
ステップS42において、全部分領域にステップS43の処理が終了したと判定された場合(ステップS42がYes)、帳票間スコア算出部61は処理を終了する。
図13の説明に戻る。
帳票間スコア算出部61による帳票間スコア算出処理が終了すると、識別キー選択部71は、算出結果の帳票内スコアTaiと帳票間スコアTviに基づいて、部分領域群Pから識別キーを選択する識別キー選択処理を行う(ステップS500)。このとき、部分領域群Pでなく、部分領域Qを対象として識別キー選択処理を行ってもよい。ステップS500の識別キー選択処理が終了すると、帳票識別装置100は処理を終了する。
ここで、図16を参照して本実施形態の識別キー選択処理の一例について説明する。
図16に示すように、識別キー選択部71は、まず、部分領域群Pの各部分領域について帳票内スコアの最小値Tai_minと帳票間スコアの最小値Tvi_minを取得する(ステップS501)。
ここで、識別キー選択部71は、部分領域群Pに含まれる各部分領域に、ステップS503の処理が終了していない部分領域が存在する場合(ステップS502がNo)、部分領域群Pに含まれる各部分領域について、帳票内スコアの最小値Tai_minと帳票間スコアの最小値Tvi_minに基づいてトータルスコアLを算出する。
トータルスコアLは、例えば後述する計算式(3)に基づいて算出する。計算式(3)は、「L=Tai×C+Tvi」・・・(3)とする。なお、Cは、計算式(1)及び計算式(2)における係数である。なお、ここでは係数として共通のCを用いているが、計算式(1)と(2)において異なる値を用いてもよい。その場合、(3)におけるCとしては(2)において用いた値を用いる。
この計算式(3)によれば、帳票内スコアTaiが高い部分領域A、すなわち帳票内においてユニークな部分領域Aのスコアが高くなる。また、同様に帳票間においてユニークであればスコアTvi_minが高い部分領域、すなわち登録モデル帳票画像において近傍に類似領域がない部分領域のスコアが高くなる。したがって、識別において有効なキーとなり得る部分領域に対して高いスコアを与えることができる。なお、トータルスコアLの算出方法はこれに限らずに設定してもよい。例えばスコアTvi_minを与えた部分領域と部分領域Bとの間の距離Dを用いて「L=Tai×C+Tvi+D/F」のようにすることもできる。なお、Fはあらかじめ定める定数であり、距離をどの程度考慮するかを示す。この式によれば、同じ程度の類似領域がある部分領域から選択する必要がある場合には、距離Dが離れている方の部分領域が優先されるため、類似領域の影響を低減することが可能となる。
なお、これらの式では、帳票内においてユニークな部分領域である方が、帳票間においてユニークであるよりもスコアがより高くなるよう値が定められている。これは、帳票内においてユニークである部分領域を検出できれば、他の部分領域の位置も特定しやすくなり、高速に識別を行うことができるためであるが、実際にはこれに限らず、L=Tai+Tviのように単純に加算するなどしてもよい。
トータルスコアLを算出すると、識別キー選択部71は、部分領域群PからトータルスコアLが大きい順にあらかじめ設定された複数個の部分領域を選択する(ステップS504)。
識別キー選択部71の表示部72は、選択した複数の部分領域と各部分領域のトータルスコアLとを表示する識別キー候補表示画面をユーザに提示する(ステップS505)。
ここで、図17および図18を参照して識別キー候補表示画面の一例について説明する。
図17に示す識別キー候補表示画面701は、識別キー選択対象のモデル帳票画像301が表示され、モデル帳票画像301に含まれる部分領域群Pのうち、トータルスコアが高い順に3つの部分領域(ドット領域)が強調表示されている。ここでは、「2011年度」がトータルスコア:900、「東京都民税」がトータルスコア:800、「延滞金」がトータルスコア:700である。
また、図18に示すような識別キー候補表示画面702をユーザに提示してもよい。
図18の識別キー候補表示画面702では、ユーザが、入力部73を操作して表示されたモデル帳票画像301の部分領域上に矢印をのせると、当該部分領域においてトータルスコアが最小値である部分領域が表示される。ここでは、モデル帳票画像301の「東京都民税」上に矢印をのせると、トータルスコアが最小値である「埼玉県民税」が近傍に表示されている。
ユーザは、識別キー候補表示画面701に表示されたモデル帳票画像301の部分領域から、識別キー選択部71の入力部73を用いてあらかじめ設定された個数の部分領域を選択して選択完了ボタン711をクリックすると、識別キー選択部71は選択された部分領域を識別キーとする(ステップS506)。すなわち、ユーザは表示されたトータルスコアを参照して識別キーを選択することが可能となる。
識別キー選択部71はステップS507で決定した識別キーと、モデル帳票画像301とを対応付けてモデルDB20に登録する(ステップS507)。その後、識別キー選択部71はステップS502に戻り処理を繰り返す。
ステップS503の処理が終了していない部分領域が存在しない場合(ステップS502がYes)、識別キー選択部71は処理を終了する。
なお、ステップS505〜S506の処理を省略し、ステップS504でキー選択部が選択した部分領域をステップS507で登録するようにしてもよい。
上述のように、本実施形態の帳票識別装置100によると、帳票の位置や大きさが異なる場合であっても、安定かつ高速に帳票識別を行うことができる識別キーが選択できる。
(第3の実施形態)
図19乃至図22を参照して、第3の実施形態における帳票識別装置について説明する。なお、第2の実施形態と同様の構成には同一の符号を付与し、説明は省略する。
帳票識別装置101は、モデルDB21と、画像入力部30と、候補抽出部40と、帳票内スコア算出部51と、帳票間スコア算出部62と、識別キー選択部81とを備える。
モデルDB21は、帳票識別装置101が、入力された帳票画像に対して種類を識別する処理(以下、帳票識別処理という)を行う場合に参照されるモデル帳票画像を記憶する。モデルDB21は、登録モデル帳票画像、および登録モデル帳票画像に含まれる部分領域のうち、帳票内スコア算出部51によって識別キー候補として不適当であると判定された部分領域を除いた部分領域Qに関する情報、および当該部分領域Qの帳票内スコアを対応付けて保持する。
帳票間スコア算出部62は、第2の実施形態と同様に、モデルDB21に登録された登録モデル帳票画像、および各登録モデル帳票画像に対応する識別キーの情報を用いて、識別キー選択対象のモデル帳票画像において候補抽出部40に抽出された部分領域群の各々に対して、識別キーとして適当であるか否かを示す帳票間スコアを算出する。
さらに、帳票間スコア算出部62は、モデルDB21に登録された、識別キー選択対象のモデル帳票画像以外の登録モデル帳票画像に対しても帳票間スコアを算出する。すなわち、帳票間スコア算出部62が帳票間スコアを算出する対象のモデル帳票画像群(以下、対象モデル帳票画像群という)Tは、画像入力部30によって入力されたモデル帳票画像と、登録モデル帳票画像とを合わせた帳票画像群である。
つまり、帳票間スコア算出部62による帳票間スコアの計算の際には、帳票間スコアの計算対象として選択された帳票画像を識別キー選択対象のモデル帳票画像として扱い、対象モデル帳票画像群Tから、当該計算対象として選択された帳票画像を除いた帳票画像群Uを登録モデル帳票画像群として扱い、第2の実施形態と同様にして計算を行う。
また、帳票間スコア算出部62は、算出した帳票間スコアに基づいて各部分領域が識別キーとして適当であるか否かを判定する。
なお、帳票間スコアを算出する対象モデル帳票画像群Tは、識別キー選択対象のモデル帳票画像と、登録モデル帳票画像から選択された帳票画像を合わせた帳票画像群としてもよい。
この場合、登録モデル帳票画像から対象モデル帳票画像Tに加える帳票画像の選択方法は、例えば識別キー選択対象のモデル帳票画像に含まれる部分領域と類似すると判定された部分領域を含む登録モデル帳票画像を選択するなどしてもよい。
すなわち、本実施形態においては、登録モデル帳票画像から対象モデル帳票画像群Tに加える帳票画像の選択基準として、全画像を選択する。また、帳票間スコア算出部62による帳票間スコアの計算の際には、帳票間スコア計算の対象として選択された帳票画像を識別キー選択対象のモデル帳票画像として扱い、対象モデル帳票画像群Tから、当該計算対象として選択されたモデル帳票画像を除いた帳票画像群Uを登録モデル帳票画像群として扱い、第2の実施形態と同様にして計算を行う。
上述のように、本実施形態においては、入力されたモデル帳票画像および登録モデル帳票画像を合わせた対象モデル帳票画像群Tに含まれるすべてのモデル帳票画像に対し、第2の実施形態と同様にして各モデル帳票画像から抽出された部分領域の帳票間スコアを計算する。計算される帳票間スコアは、モデル帳票画像が新規にモデルDB21に登録された後の時点における登録モデル帳票画像群内での各部分領域の類似度を示すスコアであり、類似する部分領域が多い部分領域ほど低いスコアとなり、識別キーとして不適当であると判定される。
識別キー選択部81は、表示部82と入力部83を備え、帳票内スコア算出部51の算出結果もしくはモデルDB21に記憶された帳票間スコアと、帳票間スコア算出部62との算出結果に基づいて、対象モデル帳票画像群Tの各モデル帳票画像において、部分領域から識別キーを選択する。
表示部82は、識別キー選択部81が選択した識別キー候補を表示する。なお、表示部82には識別キー選択対象である帳票画像1枚ごとに表示され、当該帳票画像に対して入力部83による入力が終了したら次の画像に切り替えられる。なお、複数の帳票画像を同時に表示してもよい。また、例えば識別キー選択対象の部分画像に類似した部分画像を含む対象モデル帳票画像群T内の画像のサムネイルを表示してもよい。もしくは、帳票画像の全体ではなく帳票画像内の部分画像近傍を表示するようにしてもよい。
ユーザは表示部82に表示された識別キー候補から、入力部83を操作して識別キーを選択する。データの入力は表示部82に表示されている画像に対して行われ、入力の方法は第2の実施形態における入力部73と同様である。
上述の構成により、本の実施形態では、画像入力部30から新たに入力された、識別キー未選択のモデル帳票画像のみではなく、既に識別キーが選択された登録モデル帳票画像において識別キーの再設定を行うことが可能となる。したがって、本実施形態では、モデルDB21にモデル帳票画像を新たに登録することにより、既にモデルDB21に登録された所定の登録モデル帳票画像の識別キーが適当でなくなるような場合、すなわち他の登録モデル帳票の部分領域と類似した部分画像であると判定される部分領域が識別キーとして設定されている登録モデル帳票画像が存在する場合に、当該モデル帳票画像の識別キーを別の適当な識別キーに変更することが可能となる。これにより、登録モデル帳票画像の全てにおいて識別キーが適当である状態を保つことができる。
以下、図20乃至図22を参照して本実施形態の帳票識別装置101による識別キー登録処理の一例について説明する。なお、第2の実施形態における識別キー登録処理と同様の処理には同一の符号を付与し、説明は省略する。
帳票識別装置101は、第2の実施形態と同様に画像入力処理(ステップS10)と候補抽出処理(ステップS20)と帳票内スコア算出処理(ステップS300)とを行う。 次に、帳票識別装置101の帳票間スコア算出部62は、帳票間スコア算出処理を行う(ステップS401)。
図21を参照して、帳票間スコア算出部62が行う帳票間スコア算出処理の一例について説明する。
帳票間スコア算出部62は、まず、対象モデル帳票画像群Tに含まれるすべての帳票画像に対して、後述するステップS4002の処理が行われたかどうかを判定する(ステップS4001)。
対象モデル帳票画像群Tに、ステップS4002の処理が行われていない帳票画像がある場合(ステップS4001がNo)、帳票間スコア算出部62は、画像入力部30から入力された、識別キー未選択のモデル帳票画像と、モデルDB21に登録され、識別キーが対応づけられた登録モデル帳票画像を合わせた対象モデル帳票画像群Tから、帳票間スコア計算処理の対象となる帳票画像Rを選択する(ステップS4002)。
続いて、帳票間スコア算出部62は、帳票内スコア算出部51またはモデルDB21から、選択された帳票画像Rの部分領域群Qを受信する(ステップS4003)。帳票画像Rが識別キー未選択のモデル帳票画像である場合は、帳票内スコア算出部51から部分領域群Qが選択され、帳票画像Rが、識別キーを対応付けられた登録モデル帳票画像である場合は、モデルDB21から部分領域群Qが選択される。
次に、第2の実施形態と同様に、部分領域群Qから対象となる部分領域Bを選択し(ステップS43)、選択した部分領域Bに変形処理を行って帳票間スコア算出対象の変形画像群Sを作成する(ステップS401)。
次に、帳票間スコア算出部62は、全対象モデル帳票画像に対してステップS4005が終了しているかを判定する(ステップS4004)。全対象モデル帳票画像群TにステップS4005の処理が終了している場合(ステップS4004がYes)、帳票間スコア算出部62は、ステップS42に戻る。
対象モデル帳票画像群TにステップS4005の処理が終了していない画像がある場合(ステップS4004がNo)、帳票間スコア算出部62は、対象モデル帳票画像群Tから、スコア計算の対象とするRではない帳票画像群Uを選択する(ステップS4005)。なお、図示しないが、登録モデル帳票が存在せずUが選択できない場合、すなわちモデル帳票画像が登録される最初のモデル帳票である場合には、ステップS45に進み、部分領域Bをキー候補として適当であると判定する。
次に、帳票間スコア算出部62は、ステップS401で生成した変形画像群Sと、ステップS4005で選択した帳票画像群Uとを用いて帳票間スコアTviを計算する(ステップS4006)。帳票間スコアTviの算出は、対象帳票画像群Tから選択された帳票画像Rを除いた帳票画像群Uを登録モデル帳票画像群として扱い、第2の実施形態のステップS403と同様の方法で行われる。
帳票間スコアTviの最小値があらかじめ定める閾値以下である場合(ステップS404がYes)、部分領域Bは識別キー候補として不適当と判定される(ステップS405)。そうでなければ、部分領域Bは識別キーとして適当と判定される(ステップS4007)。
対象モデル帳票画像群Tに含まれるすべての画像に、ステップS4002の処理が行われている場合(ステップS4001がYes)、帳票間スコア算出部62は、帳票間スコア算出処理を終了する。
すなわち、本実施形態の帳票間スコア算出部62によって算出された各帳票画像Rの帳票間スコアは、第2の実施形態において、識別キー候補選択対象のモデル帳票画像をR、登録モデル帳票画像をUとした場合の値と同じものであり、画像入力部30から新たに入力されたモデル帳票画像、及び既にモデルDB21に登録された全ての登録モデル帳票画像に含まれる部分領域に対し、帳票間スコアが計算される。
なお、部分領域群Qの各々に対する識別キーとして不適当かどうかの判定結果は第2の実施形態においてモデル帳票画像をR、登録モデル帳票画像をUとした場合と同じ結果となる。
ここで、図20の説明に戻る。ステップS401の帳票間スコア算出処理が終了すると、識別キー選択部81が、対象モデル帳票画像群Tに含まれるすべての画像に対して、識別キーとして用いる部分領域を選択する識別キー選択処理を行う(ステップS510)
図22を参照して、本実施形態の識別キー選択処理について説明する。
まず、識別キー選択部81は、対象モデル帳票画像群Tに含まれるすべての画像に後述するステップS5002の処理が行われたかどうか判定する(ステップS5001)。
対象モデル帳票画像群TにステップS5002の処理が行われていない画像が含まれる場合(ステップS5001がNo)、識別キー選択部81は、当該画像から識別キー選択対象の帳票画像Rを選択する(ステップS5002)。
識別キー選択部81は、選択して帳票画像Rに対して、第2の実施形態におけるステップS501〜S507の処理を行う。なお、S501において、識別キー選択対象の帳票画像Rが識別キー未選択のモデル帳票画像である場合、帳票内スコアTaiの最小値は、ステップS300で算出された帳票内スコアの最小値を取得する。帳票画像Rが識別キーが選択されたモデル帳票画像である場合、帳票内スコアTaiの最小値は、モデルDB21から取得する。
対象モデル帳票画像群Tに含まれるすべての画像に後述するステップS5002の処理が行われた場合(ステップS5001がYes)、識別キー選択部81は識別キー選択処理を終了する。
上述のように、本実施形態の帳票識別装置101によると画像入力部30から新たに入力されたモデル帳票に適切な識別キーが選択されるだけでなく、既にモデルDB21に登録された登録モデル帳票画像の識別キーを最新の状態に更新することが可能となる。
なお、本実施形態では新たなモデル帳票画像をモデルDB21に登録する例を用いて説明したが、モデルDB21から任意の登録モデル帳票画像を削除する場合に、識別キーを更新することも可能である。この場合、モデルDB21から削除されずに残った登録モデル帳票画像を処理対象とし、同様の識別キー登録処理を行う。
このとき、すでに識別キー候補として不適当であると判定されている部分領域の中にも登録モデル帳票画像削除後の残った登録モデル帳票画像において、現在の識別キーよりも高いスコアとなり、識別キーとして適当であると判定される部分領域が存在しえるため、より高いスコアの識別キーを設定することが可能になる。
なお、この場合、モデルDB21に登録モデル帳票画像、および登録モデル帳票画像に含まれるすべての部分領域Pに関する情報、および当該部分領域Pの帳票内スコアを対応付けて保持する。これにより、登録モデル帳票画像の削除を行った場合でも、識別キーを最良の状態に保つことができる。すなわち、本実施形態の帳票識別装置101は、モデル帳票の削除を行っても、登録モデル帳票画像の識別キーを最新の状態に更新することが可能である。
以上、本発明のいくつかの実施形態を説明したが、これら実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、部分領域Bが一致すると判定された部分領域を持つ登録モデル帳票画像の割合や個数が全登録モデル帳票画像においてあらかじめ定めた一定の値を超える場合、部分領域Bを識別キーとして不適当であると判定してもよい。
また、上述の実施形態では登録モデル帳票画像の探索範囲内で部分領域Bと一致する領域を探索しているが、登録モデル帳票画像の全範囲で行ってもよい。
また、上述の実施形態では部分領域群Qに対して帳票間検索処理を行っているが、部分領域群Pに対して帳票間検索処理を行ってもよい。
また、モデルDB20に登録された登録モデル帳票画像は、識別キーが未設定で登録されてもよい。この場合、上述の実施形態における帳票識別装置は、画像入力部30が、モデルDB20に登録された、識別キー未設定の登録モデル帳票画像を取得して、識別キーを設定してもよい。
また、本実施形態において、比較の対象となる部分画像としてはあらかじめ抽出された部分画像群を用いているが、対象をモデル帳票画像から切り出し得る部分領域Aと同じサイズや縦横比などの画像全てなどとしてもよい。そのような場合、モデル帳票画像から切り出した部分画像との比較は、例えば画像の左上端から1画素ずつずらしながら部分領域を切り出していき、それら切り出した部分領域と部分領域Aを比較するなどの手段によって実現できる。また、部分領域Aと部分領域Piの大きさが大きく異なる場合、例えば幅または高さが5%以上異なる場合などには、計算式(1)におけるKaiをスコアの最大値Cなどの十分に大きな値としてもよい。これは、大きさが十分に異なる場合、その時点で十分に異なっていると扱ってよいことを意味している。
なお、選択の方法はこれに限らず、例えば識別キーとして用いない領域を選択するようにしてもよい。この場合には、(選択可能な部分領域の個数Y−選択する識別キーの個数Z)個の選択が行われた時点で、選択されていない部分領域を識別キーとして登録を行う。
また、モデルDB21は、登録モデル帳票画像と、当該登録モデル帳票に含まれるすべての部分領域と、各部分領域について帳票内スコア算出部51が算出した帳票内スコアと、を記憶してもよい。