帳票認識装置、方法およびプログラム
【課題】不特定多数の種類の帳票を、予め定義されたフォームを用いずに認識する装置において、文字認識制度を劣化させることなく、二値化処理を高速化する。
【解決手段】罫線で区切られたセルの中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置であって、前記表のセルの配置を定める表構造を画定し、画像から予め定められた文字又は文字列である見出しを抽出し、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定して、画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出し、検出された前記記入済みセルのみを二値化対象セルとして選択する。前記表の中の前記二値化対象セルの二値化処理を行ない二値画像を生成することにより、前記二値画像から帳票に記載されている文字を認識する。
【解決手段】罫線で区切られたセルの中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置であって、前記表のセルの配置を定める表構造を画定し、画像から予め定められた文字又は文字列である見出しを抽出し、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定して、画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出し、検出された前記記入済みセルのみを二値化対象セルとして選択する。前記表の中の前記二値化対象セルの二値化処理を行ない二値画像を生成することにより、前記二値画像から帳票に記載されている文字を認識する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票などの表を有する文書において、帳票上の文字を認識するために用いられる帳票認識装置、方法およびプログラムに関し、特に、帳票などの表を有する画像データの二値化処理を含む帳票認識装置、方法およびプログラムに関する。
【背景技術】
【0002】
今日の、特に企業の経済活動では、多種類の帳票を同時に扱う場面が少なくない。例えば、顧客が金融機関と取引をする際には、顧客が複数種類の帳票の一つに必要な事項を記入し金融機関に提出する。顧客から記入済み帳票を受け取った金融機関は、帳票の記載内容に基づいて、所定の処理及び顧客への対応を行う。帳票の記載内容には、金額等の数字も含まれる。そして、そのような複数種類の帳票は、帳票自体の大きさが異なっていたり、表のセルを定義する罫線が異なっていたり、罫線の構造が同一でも、表のセルに記入されるべき項目が異なっていたりする。また、例えば、金融機関で用いられる振込み依頼書のように、異なる複数の対象にある処理を依頼するための帳票では、顧客によって表の記入面積が異なることがある。
【0003】
また、それらの帳票の多くは電子化された文書として処理されるようになった。このために、紙の文書を電子化された文書に変換する技術として画像認識技術が着目されている。従来から知られている画像認識技術には、OCR(Optical Characterize Recognition、光学式文字認識)などがある。
【0004】
近年、不特定多数の種類の帳票を一台の機械で処理するための、電子化された帳票の記載内容を自動的に読み取る装置が知られるようになった。
そのような装置では、不特定多数の種類の帳票の処理を行うためには、帳票上の表の罫線を認識して表のセルの構造を画定し、表の見出し(項目)を認識し、見出しの種類から各セルに入るべき中身を自動的に推測するなどして、帳票のフォーマットを推測する必要がある。予め帳票のフォーマットを記録しておき、帳票に付けられた識別のための記号を読み取ることによって、その帳票のフォーマットを特定するという方法は、今の場合、適用不可能である。
【0005】
このとき、一般に帳票に含まれる表の各セルには、見出しを表す文字、見出しの内容を示す文字、数字、又は記号などが記入されるので、そのような装置では、表の上での見出しと、その見出しに関連する文字、数字、記号などを自動的に対応付ける必要がある。たとえば、見出しが「金額」であれば、その見出しに関連するものは単位が円、ドルなどの「数字」である。もし帳票のフォーマットが予め定義されている場合には、そのような対応付けはデータベース中に記憶させることができる。しかし、予め帳票のフォーマットを定義できない場合には、対応付けを自動的に生成する必要がある。
【0006】
紙の帳票を読み込んで、表の罫線を認識し、またOCR等で文字認識を行うためには、認識処理をする前に、帳票全体の二値画像を生成する必要がある。二値画像を用いて、OCR等の文字認識などが行われる。一般に、不特定多数の種類の帳票の処理を行うためには、帳票の全面の二値化処理が必要である。
【0007】
例えば、複数の見出し(項目)に関して、その見出しに関わる数字、漢字などのデータ文字をその中に記入する記入欄と予めプリントされた項目名とが表の中に配列された帳票を光学的に読み取ったイメージから、記入欄に記入されたデータ文字(キーワード)を認識する光学式文字認識装置が知られている(特許文献1)。このような装置の例には、帳票イメージ全面に対してシステム辞書を用いてOCR処理を行い表構造及び表のセル中の文字を認識し、見出しごとに再度OCR処理が必要か否かを予め定義した再OCR処理指定情報を参照して、再度OCRをすべき記入欄を特定し、各見出しについて特定の記入欄に対して、適合した辞書を用いて、部分的にOCR処理を行うことによって、予めフォーマットが登録されていない、項目のレイアウトが異なる帳票に対しても対応することが可能な装置が含まれる。たとえば、帳票イメージ全面に対するOCR処理では、帳票の各見出しのセルのレイアウトが認識され、部分OCRでは、対象となる記入欄に適したユーザ辞書、たとえば金額が入るべき記入欄に対しては数字が記憶された辞書、を用いることができる。この方法では、項目名の属性に応じて、OCR処理で用いる辞書を変えるなど、認識方法を変更するので、データの文字の認識精度を上げることができる。
【0008】
また、上記のような装置での処理を高速化するために、項目名の文字が記入されている確率が高い領域を優先的に探索する装置が知られている(特許文献2)。
さらに、帳票の文字認識に適した二値画像を生成することによって、文字認識の精度向上を図った画像処理装置が存在する。
【0009】
そのような装置の一つの例として、ある領域内の文字の有無を判定し、その領域に文字が存在しないと判定されたときには、その領域を白画素で埋める装置が知られている(特許文献3)。この装置では、所定の領域内の連結成分のエッジ数、例えば領域内の横又は縦方向に走査したときの白黒の反転の回数に着目して、文字の有無を判定し、もしその領域に文字が無いと判定された場合には、その領域をすべて白画素にする処理を行う。
【0010】
また、文字などが記入された画像から背景ノイズの影響を除き、その後の文字認識などの処理に寄与できる画像処理装置であって、記入のない余白部分や予め用意した白紙帳票の領域の濃度分布と、任意に指定された領域を分割した小領域の濃度分布を比較して、その小領域に文字が存在するか否かを判定し、文字の記入がないと判定された領域の濃度を、所定の背景濃度に置換することによって原画像よりノイズを除去する装置が存在する(特許文献4)。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特許第4347677号公報
【特許文献2】特開2009−93305号公報
【特許文献3】特開2000−331118号公報
【特許文献4】特許第4393411号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、一般に帳票は、顧客によって表の構造も異なるし、表の記入面積も異なっている。上述のような従来技術を用いて帳票の認識を行う場合、電子化された文書から、文字認識に用いる二値化画像の生成に時間を要するという課題があった。
【0013】
また、各文字領域内の文字の有無を判定し、その領域に文字が存在しないと判定されたときには、その領域を白画素で埋める装置においては、二値化閾値を算出する処理を行う面積は変わらないので、二値化処理に要する時間を大幅に減少させることは難しいという課題があった。
【0014】
従って、不特定多数の種類の帳票を、予め定義されたフォームを用いずに認識する帳票認識装置において、文字認識精度を劣化させることなく、二値化処理を高速化した装置が要求されている。
【課題を解決するための手段】
【0015】
本発明の一態様に従う帳票認識装置は、罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置であって、前記表において、前記セルの配置を定める表構造を画定する表構造画定手段と、前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出手段と、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定手段と、前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択手段と、前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化手段と、前記二値画像から帳票に記載されている文字を認識する文字認識手段、を具備することを特徴とする。
【0016】
本発明の他の態様に従う帳票認識方法およびプログラムは、上記帳票認識装置に用いられる手段を実現する方法、上記帳票装置に用いられる手段の機能をコンピュータで実現するコンピュータ認識可能な命令を含むプログラムである。
【発明の効果】
【0017】
このような帳票認識方法および装置では、予め定義されたフォームを用いずに帳票を認識することができ、さらに、帳票上の表の一部の領域しか二値化処理を行わないことによって、二値化処理に要する時間を減らすことができる。その結果、自由なフォーラムの帳票の認識の認識精度を落とすことなく、高速化することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の装置のブロック図である。
【図2A】本発明の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図2B】本発明の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図2C】本発明の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図3】表構造情報抽出部での処理を説明するための図である。
【図4】本発明の装置が処理対象とする帳票の例を示す図である。
【図5】図4に示されている帳票の例の一部を示す図である。
【図6】本発明の例1の装置のブロック図である。
【図7】本発明の例1の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図8】罫線を残した二値画像の例である。
【図9】本発明の例1の装置が処理対象とする帳票の例を示す図である。
【図10】本発明の例2の装置のブロック図である。
【図11】本発明の例2の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図12】本発明の例2の装置が処理対象とする帳票の例の一部を示す図である。
【図13】図12に示した帳票の例の一部の二値化対象外範囲を示す図である。
【図14】本発明の例3の装置のブロック図である。
【図15】本発明の例3の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図16】本発明の例3の装置が処理対象とする帳票の例の一部を示す図である。
【図17】本発明の例4の装置のブロック図である。
【図18】本発明の例4の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図19】本発明の例4の装置に適用されるキーワード認識技術の処理方法中のはしご枠の抽出を説明する図である。
【図20】本発明の例4の装置が処理対象とする帳票の例の一部の二値化対象外範囲を示す図である。
【図21】本発明の例4の装置に適用されるキーワード認識技術の処理方法中のはしご枠のグルーピングを説明する図である。
【図22】本発明の例5の装置のブロック図である。
【図23】本発明の例5の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図24】本発明の例5の装置が処理対象とする帳票の例の一部の二値化対象外範囲を示す図である。
【図25】本発明の例6の装置のブロック図である。
【図26】本発明の例6の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図27】本発明の例6の装置に適用されるキーワード認識技術の処理方法中のセルを上下に分割する罫線のチェックを説明する図である。
【図28】本発明の例6の装置が処理対象とする帳票の例の一部のカナ項目フラグ1を二値化対象外範囲とする処理を示す図である。
【発明を実施するための形態】
【0019】
(全般的説明)
本発明の一態様に従う帳票認識装置は、罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置であって、前記表において、前記セルの配置を定める表構造を画定する表構造画定手段と、前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出手段と、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定手段と、前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択手段と、前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化手段と、前記二値画像から帳票に記載されている文字を認識する文字認識手段、を具備することを特徴とする。
【0020】
ここで、帳票の画像はカラー画像であっても良い。
ここで、表構造画定手段は、電子化された帳票の画像の全体の二値化処理を行い、その二値化画像から罫線だけを残す処理を行う。この処理は例えば、帳票の画像上の横線と縦線を抽出することによって行っても良い。さらに、帳票の画像上の横線と縦線を抽出し、残りの範囲を背景色、例えば白色、で上塗りしても良い。表の罫線が決まると、罫線で区切られたセルが定まり、各セルには列番号と行番号を付与することができる。また、以下で述べるように、表構造画定手段は、点線、破線などの実線ではない線を抽出することによって、例えばはしご枠セル等の複数のセルを含む結合セルを抽出しても良い。
【0021】
また、前記表構造画定手段は、前記画像中の点であって、そこから少なくとも2本の線が延びる点、即ち交点、または少なくとも一端が別の線と接触する線分を検出することによって前記表の前記罫線を検出しても良い。また、交点のうち、一番外側、すなわち帳票の上下左右の枠に近い交点を抽出することによって、表の外枠を画定しても良い。
【0022】
ここで、見出し抽出手段は、電子化された帳票の画像の全体または一部を二値化処理することによって得られた二値化画像から、予め見出しが記憶された見出し辞書を参照しながら文字認識を行い、帳票上の見出しを抽出する。一般に、見出しは表の上の方の行、例えば、第1行目に記載されることが多い。そこで、表構造画定手段によって画定された表構造を参照して、表の上の方の行の文字認識を優先的に行っても良い。
【0023】
ここで、見出し位置特定手段では、見出しの位置に関する情報、即ち表中の行番号、列番号が特定される。より詳細には、前記表構造画定手段で画定された表構造と、見出し抽出手段によって抽出された見出しとその位置、例えば、帳票の左上隅からの距離を比較し、見出しの表中の位置情報、即ち列番号および行番号を特定する。
【0024】
ここで、二値化対象セル選択手段では、特定の見出しに関する表の領域を二値化対象外とする。例えば、特定の見出しの列を二値化対象外とする。別の言葉では、特定の見出しに関する表の行や列の領域のみを二値化対象とし、その領域に含まれるセルを二値化対象セルとして選択する。
【0025】
しかしながら、二値化対象セル選択手段は、常に、表の列単位で二値化対象領域を選択しなくても良い。例えば、「名前」と「フリガナ」のように、一つの行の中に同一の情報を含む2つの記入欄が用意されているような場合には、「フリガナ」が記入されるセルだけを二値化対象とすることも可能である。この場合は、隔行で二値化対象セルが選択されても良い。
【0026】
ここで、二値化手段は、二値化対象セル選択手段で選択されたセルを二値化する。二値化手段を用いて得られる二値画像は、文字認識手段で用いる文字認識技術に適していることが望ましい。
【0027】
ここで、文字とは数字、記号、アルファベット、カタカナ、ひらがな、漢字等を含む。また、場合によってはバーコードのように文字を表す記号であっても良い。
また、罫線は、実線であっても良いし、点線、破線、一点鎖線等であっても良い。例えば、金額など数字の列を記入するためのはしご枠セルは、点線で区切られている。上述のようにはしご枠は表構造画定手段によって抽出されても良い。
【0028】
記入済みセル検出手段は、表構造画定手段によって定められた表の各セル中に文字が記載されているかどうかを判定し、その中に文字が記入された記入済みセルを検出する。
あるセル中に文字が記入されているか否かの判定は、セル中の黒画素数をチェックすることによって行ってもよい。また、あるセル全体の色彩を検出し、その色彩からそのセル中に文字が記入されているか否かを判定しても良い。より具体的には、その色彩の明度から判定しても良い。このように明度からあるセル中の文字の記入の有無を判定する方法では、1つのセルに対し、色彩の測定を1回行えばよく、他の方法、例えばエッジ数の検出などの方法に比べて、あるセル中の文字の記入の有無を判定を高速で行うことができる。
【0029】
また、帳票の画像がカラー画像の場合は、記入済みセル検出手段は、セルの色の、色相、彩度及び明度の3つの成分からなるHSV色空間内のベクトルを用いて、セルが記入済みか否かを判断しても良い。
【0030】
一般に、HSV空間のベクトルでは、色を表す色相軸の変域は0°〜360°、色の鮮やかさを現す彩度は0〜100%、明るさを示す明度は0〜100%である。明度の値が小さければ黒色に近い。例えば、明度が20%より小さいセル中の画素を所定の数以上含むセルを記入済みセルを判定しても良い。
【0031】
また、記入済みセル検出手段は、セルの色のHSV空間内のベクトルではなく、RGB空間のベクトルを用いて、セルが記入済みか否かを判断しても良い。
記入済みセル検出手段で検出されたセルのみを二値化対象セルとして、二値化手段によって二値化を行い二値画像を生成する。
【0032】
文字認識手段は二値画像から帳票に記載されている文字を認識する。文字認識手段としては、OCR等、公知の技術を用いることができる。
このように本態様に従う帳票認識装置では、予め定義されたフォームを用いずに帳票を認識することができ、さらに、帳票上の表の一部の領域しか二値化処理を行わないことによって、二値化処理に要する時間を減らすことができる。その結果、自由なフォーラムの帳票の認識の認識精度を落とすことなく、高速化することができる。
【0033】
本発明の別の態様に従う帳票認識装置は、さらに、前記二値化対象セル選択手段は、前記表構造画定手段で画定された前記表構造のセルのうち、前記見出しに対応する相対位置に位置するセルが記入済みセルでなかったときに、前記記入済みセルでないセルに対して所定の相対位置にあるセルを前記二値化対象セルから除外することを特徴とする。
【0034】
帳票の場合、表の明細行中に未記入セルが多くあるとき、その明細行は未記入明細である可能性が高い。よって、明細行中の未記入セルが一定数以上のとき、その行全体のセルの二値化を行わないことによって帳票の二値化処理に要する時間を減らすことができる。
【0035】
本発明の別の態様に従う帳票認識装置は、さらに、前記見出しに対応する相対位置に位置する複数のセルを前記表構造中に画定する複数セル画定手段、を含み、前記二値化対象セル選択手段は、前記複数のセルを前記二値化対象セルとして認識することを特徴とする。
【0036】
ここで、複数セル画定手段で定められる複数セルには、はしご枠セルを含む。はしご枠セルは、セル中の黒画素数をチェックするとき、表の中で、はしご枠を区切る点線などの罫線による、一定の閾値以上の黒画素数が周期的に表れるセル列を検出することによって認識することができる。そのはしご枠セルを二値化処理の対象としては複数セルとして、一つのセルとしてみなしても良い。
【0037】
帳票ではしご枠は、数字を記入する場合などに多く用いられる。また、一般に、帳票の場合、一番下の行に小計欄があることが多い。表の一番下の行で、表の中で一定の閾値以上の黒画素数が周期的に現れるセル列を抽出することによって小計欄を抽出し、小計欄を複数セルとして、一つのセルとしてみなしても良い。
【0038】
また、複数セルは、単に複数個のセルの集まりであっても良い。
このように、たとえばはしご枠を一つの複数セルとして認識し、二値化対象セルとみなすことによって、二値化処理の回数を減らすことができ、フォーマットが予め与えられていない帳票の二値化処理に要する時間をさらに減らすことができる。
【0039】
また、たとえば、何桁もの数字を記入する欄がはしご枠セルではなく、1つのセルである帳票の場合には、そのセルの端から端まで文字が記入されているとは限らない。そのような場合、文字が記入されている領域以外の領域を二値化対象外領域として、二値化処理を省略しても良い。
【0040】
本発明の別の態様に従う帳票認識装置は、さらに、前記複数のセルのうち文字が記入されているセルが連続する記入済みの複数セルを検出する記入済み複数セル検出手段と、を含み、前記二値化対象セル選択手段は、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記複数セルのうち、記入済み複数セル検出手段で検出された前記複数セルのみを二値化対象セルとして選択することを特徴とする。
【0041】
たとえば、帳票の表の金額記入欄は、金額のオーバーフローを起こさないように、大きな桁数が用意されている。帳票では、表の一番下の小計欄が最大桁数である。すると、それより上の行には、最大桁数より小さい数字が記入されている。よって、最大桁数より大きな桁のセルは空白である。その領域の二値化処理を省略することができれば、二値化処理をする面積を削減することができる。
【0042】
本発明の別の態様に従う帳票認識装置は、さらに、前記見出しに対応する相対位置に位置する複数のセルを前記表構造中に画定する結合セル画定手段、を含み、前記二値化対象セル選択手段は、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セル内の一部のみを、前記二値化対象セルとして選択することを特徴とする。
【0043】
ここで「結合セル」とは、はしご枠セル、はしご形式のセルなどとも呼ばれ、何桁もの数字を記入するために点線や破線で各桁が区切られているセルなどを指す。数字のみならず、平仮名や片仮名を記入する際に、濁点等を一文字として処理するために、点線や破線で各桁が区切られているセルも結合セルに含まれる。
【0044】
この態様では、さらに前記表構造画定手段で画定された前記表構造のセルの少なくとも一部のセルから、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、前記結合セル中の、前記記入済みセルの最大数を画定する最大セル数画定手段と、を含み、前記二値化対象セル選択手段はさらに、前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セルに含まれる前記複数のセルから、前記最大数のセルを、前記見出しに依存して二値化対象セルとして選択しても良い。
【0045】
一般に金額を含む帳票では、表の一番下の欄に小計欄又は合計欄を含むことがある。すると、その列の各行に記入された数字は、小計欄に記入された数字の桁数より小さな桁数を有する。そこで、小計欄に記載された数字の桁数を最大桁数として抽出し、その列の各行のセルの二値化処理にあたり、最大桁数を超えた桁のセルの二値化処理は省略することが可能である。
【0046】
また、前記二値化手段は、前記見出しに依存して、前記結合セル内を右端のセルから左向きに、または左端のセルから右向きに、前記接合セル内で前記記入済みセルの列の始まりを見出すまで二値化処理をスキップしても良い。
【0047】
本発明の別の態様に従う帳票認識装置は、前記二値化手段は、前記見出しに依存して、前記複数セルの各々の中を左端のセルから右向きに、または右端のセルから左向きに、前記記入済み複数セルの端のセルを見出すまで二値化処理を省略することを特徴とする。
【0048】
本態様に従えば、一つのセルの空白部分の二値化処理を省略することができ、二値化処理をすべき面積を削減することができる。
また、本発明の一態様に従う帳票認識方法は、罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識方法であって、前記表において、前記セルの配置を定める表構造を画定するステップと、前記画像から予め定められた文字又は文字列である見出しを抽出するステップと、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定するステップと、前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出するステップと、前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択するステップと、前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成することと、前記二値画像から帳票に記載されている文字を認識するステップ、を具備することを特徴とする。
【0049】
本態様に従う帳票認識方法では、予め定義されたフォームを用いずに帳票を認識することができ、さらに、帳票上の表の一部の領域しか二値化処理を行わないことによって、二値化処理に要する時間を減らすことができる。その結果、自由なフォーラムの帳票の認識の認識精度を落とすことなく、高速化することができる。
【0050】
本発明の別の態様に従う帳票認識方法は、前記表構造のセルのうち、前記見出しによって定められるある特定のセルが記入済みセルでなかったときに、前記記入済みセルでないセルに対して所定の相対位置にあるセルを前記二値化対象セルから除外するステップを含むことを特徴とする。
【0051】
本発明の別の態様に従う帳票の画像の二値化処理を行う方法は、さらに、前記見出しに対応する相対位置に位置する複数のセルを前記表構造中に画定するステップを含み、前記二値化対象セルを選択するステップは、前記複数のセルを前記二値化対象セルとして認識することを特徴とする。
【0052】
本発明の別の態様に従う帳票認識方法は、さらに、前記複数のセルのうち文字が記入されているセルが連続する記入済みの複数セルを検出するステップを含み、前記二値化対象セルを選択するステップは、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記複数セルのうち、記入済み複数セル検出手段で検出された前記複数セルのみを二値化対象セルとして選択することを特徴とする。
【0053】
本発明の別の態様に従う帳票認識方法は、前記表構造画定手段で画定された前記表構造のセルのうち、前記見出しに対応する相対位置に位置するセルが記入済みセルでなかったときに、前記記入済みセルでないセルに対して所定の相対位置にあるセルを前記二値化対象セルから除外するステップを含むことを特徴とする。
【0054】
本発明の別の態様に従う帳票認識方法は、さらに、画定された前記表構造のセルの少なくとも一部のセルから、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出するステップと、前記結合セル中の、前記記入済みセルの最大数を画定するステップを含み、前記二値化対象セルを選択することはさらに、前記見出しを含むセルの位置に対して、前記見出しによって定められる相対位置に位置する前記結合セルに含まれる前記複数のセルから、前記最大数のセルを、前記見出しに依存して二値化対象セルとして選択することを特徴とする。
【0055】
本発明の別の態様に従う帳票認識方法は、さらに、前記見出しに対応する相対位置に位置する複数のセルを含む結合セルを前記表構造中に画定するステップを含み、前記二値化対象セルを選択するステップは、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セル内の一部のみを、前記二値化対象セルとして選択することを特徴とする。
【0056】
本発明の別の態様に従う帳票認識方法は、さらに、前記表構造のセルの少なくとも一部のセルから、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出するステップと、前記結合セル中の、前記記入済みセルの最大数を画定するステップを含み、前記二値化対象セルを選択するステップは、さらに、前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セルに含まれる前記複数のセルから、前記最大数のセルを、前記見出しに依存して二値化対象セルとして選択するステップを含むことを特徴とする。
【0057】
本発明の別の態様に従う帳票認識方法は、前記見出しに依存して、前記結合セル内を右端のセルから左向きに、または左端のセルから右向きに、前記結合セル内で前記記入済みセルの列の始まりを見出すまで二値化処理をスキップするステップを含むことを特徴とする。
【0058】
本発明の別の態様に従う帳票認識方法は、前記見出しに依存して、二値化対象セル選択手段によって認識された前記複数セルの左端のセルから右向きに、または右端のセルから左向きに、前記複数セルの端のセルを見出すまで二値化処理を省略するステップを含むことを特徴とする。
【0059】
また、本発明の一態様に従うプログラムは、罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置として用いることが可能なコンピュータに、前記表において、前記セルの配置を定める表構造を画定する表構造画定機能と、前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出機能と、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定機能と、前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出機能と、前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択機能と、前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化機能と、前記二値画像から帳票に記載されている文字を認識する文字認識機能、を実現させることを特徴とする。
【0060】
図1乃至5を参照しながら、上記のような本発明に従う画像データの二値化処理方法及びそれを用いた帳票認識装置10について全般的な説明する。
図1は、本発明の帳票認識装置10のブロック図である。
【0061】
本発明に従う帳票認識装置10は、スキャナ100、罫線二値化処理部110、表構造情報抽出部120、見出し二値化処理部130、見出し・項目抽出部140、簡易文字認識処理部142、二値化対象外処理部150、はしご枠グルーピング処理部152、記入有無判定部154、部分二値化処理部160及び文字認識処理部170を含んでいる。これらは互いに電気的に接続されている。これらの処理部は、たとえば、それぞれの処理を専門に行うプロセッサであっても良いし、汎用計算機及びそれぞれの処理を行うための計算機認識可能な命令を含む媒体の組み合わせであっても良い。各処理部を汎用計算機によって実現するときには、各処理部の機能は、その機能をコンピュータに実行させる命令を含むプログラムを用いて実現する。
【0062】
また、装置10は、原画像記憶部200、罫線二値画像記憶部202、表構造情報記憶部204、見出し二値化記憶部206、見出し・項目情報記憶部208、見出し辞書部210、二値化対象外範囲記憶部212、及び閾値記憶部214を含んでいる。これらは、RAMまたはROMなどのメモリであってよい。また、上記様々な処理部とは同一のデバイス内に配置されても良いし、別個のデバイスとして準備されても良い。
【0063】
またこれらの記憶部は、上記の様々な処理部から出力されたデータを受けて記憶することができる。
原画像記憶部200はスキャナ100に通信可能に接続され、スキャナで取り込まれた画像を記憶する。罫線二値画像記憶部202は罫線二値化処理部110に通信可能に接続され、罫線二値化処理部110での結果が記憶される。表構造情報記憶部204及び見出し二値化記憶部206はそれぞれ、表構造情報抽出部120及び見出し二値化処理部130に通信可能に接続され、それぞれの処理部での結果が記憶される。見出し・項目情報記憶部208及び見出し辞書部210は共に、見出し・項目抽出部140に通信可能に接続される。見出し・項目抽出部140では、見出し辞書部210を参照しながら、帳票画像上から見出し・項目を抽出し、結果は見出し・項目情報記憶部208に出力される。見出し辞書部210には、予め設定した見出しの文字情報が収納されている。二値化対象外範囲記憶部212は、二値化対象外処理部150に通信可能に接続され、二値化対象外処理部150で選択された二値化処理を行わない範囲を記憶する。閾値記憶部214は、記入有無判定部154に通信可能に接続され、記入有無判定部154は、閾値記憶部214に記憶されている閾値を用いて、あるセル中に文字の記入があるか否かを判定する。
【0064】
記入有無判定部154は、あるセル中の黒画素の数またはその分布に基づいて、そのセル内に文字等の記入があるかどうかを判定しても良い。この場合、黒画素であるか否かは、色相、彩度及び明度の3つの成分からなるHSV色空間中のベクトルの大きさ及び/又は向きを用いて判定することができる。または、あるセル中の連結成分の個数を検出することによって、セル内に文字等の記載があるかどうかを判定しても良い。
【0065】
部分二値化処理部160では、帳票画像のうち、二値化対象外処理部150で選択された二値化対象外範囲を除いた領域の二値化処理を行う。
文字認識処理部170では、OCR(Optical Characterize Recognition、光学式文字認識)等、公知の文字認識手段を用いて、部分二値化処理部160で二値化された画像中の文字を認識する。
【0066】
表構造画定手段は、罫線二値化処理部110、表構造抽出部120、罫線二値画像記憶部202、および表構造情報記憶部204を含む。
見出し抽出手段は、見出し二値化処理部130、見出し・項目抽出部140、簡易文字認識処理部142、見出し二値化記憶部206、見出し・項目情報記憶部208、及び見出し辞書部210を含む。見出し位置特定手段は、表構造抽出部120、罫線二値画像記憶部202、表構造情報記憶部204、見出し二値化処理部130、見出し・項目抽出部140、簡易文字認識処理部142、見出し二値化記憶部206、見出し・項目情報記憶部208、及び見出し辞書部210を含む。二値化対象セル選択手段は、二値化対象外処理部150、二値化対象外範囲記憶部212を含む。二値化手段は、部分二値化処理部160を含む。記入済みセル検出手段は、記入有無判定部154および閾値記憶部214を含み、複数セル画定手段は、罫線二値化処理部110、表構造抽出部120、罫線二値画像記憶部202、表構造情報記憶部204、およびはしご枠グルーピング処理部152を含む。文字認識手段は、文字認識処理部170を含む。また、最大桁数検出手段は、記入有無判定部154を含む。結合セル画定手段は、罫線二値化処理部110、表構造抽出部120、および罫線二値画像記憶部202を含む。上記各手段は、それぞれの手段における機能を実現するコンピュータが認識可能な命令を含むプログラムによって定義されても良い。たとえば、表構造画定手段は、その手段の機能に対応する表構造画定機能を実現するコンピュータが認識可能なプログラムまたはプログラムの部分を定義しても良い。
【0067】
図2は、本発明の装置10に適用されるキーワード認識技術の処理方法を示すフローチャートである。
S1000では、スキャナ100を用いて、帳票のイメージ読取処理を行う。本発明に従う帳票認識装置10では、帳票はカラー画像であることが望ましい。カラー画像を用いることで、文字とノイズ、または文字と背景色の分離等が容易になり、高精度の帳票認識が可能である。しかしながら、本発明に従う帳票認識装置10で扱われる帳票はカラーでなくても構わない。スキャナ100を用いて読み取られた画像は、原画像記憶部200に記憶される。S1000の処理が終了するとS1005に進む。
【0068】
S1005では、S1000で罫線二値化処理部110により、原画像記憶部200に記憶されているカラー画像の二値化処理を行い、罫線を残した二値画像を出力する。より詳細には、S1005では、入力されたカラー画像の二値化処理を行い、罫線のみを残し、それ以外は全て背景色(例えば白色)とした二値画像を出力する。罫線を残した二値画像は、罫線二値画像記憶部202に出力される。このときの二値化処理は、罫線を抽出することを目的とするものなので、複数画素によって構成される、二値化処理範囲の単位の大きさを、文字を認識するには大きいが、線を認識するには十分に小さくして、処理速度を最小化しても良い。
【0069】
カラー画像から罫線だけを残した二値画像は、帳票上の横線及び縦線といった直線成分を抽出することによって生成される。S1005の処理が終了するとS1010に進む。
S1010では、罫線二値画像記憶部202に記憶された罫線を残した二値画像を参照し、表構造抽出部120によって、横線と縦線の交点の情報からセルと、最終的な線形(表形)を算出し、各セルに列番号と行番号の情報(座標)を付加したものを表構造情報として、表構造情報記憶部204に出力する。各セルの位置は、列番号と行番号の2成分であらわさずに、例えば、左上隅のセルから右下隅のセルに向かって、行に関しては左から右に、行に関しては上から下に番号付けをし、その番号によって表しても良い。
【0070】
S1010における表構造抽出部120の処理を、図3を参照しながら説明する。図3中の大きな丸印で表される点P1は、図3中に示されている罫線を有する表の仮の端点である。また、小さな丸印で表される縦線と横線が交わる交点P3を検出することによって、交点P3を頂点とする四角形を個々のセルとして認識する。表構造抽出部120が点P1を頂点とする四角形を表形とすると、点P2のように突出した交点が出現する。そこで、点P2を頂点に含む四角形も表のセルと認識し、最終的な表形を抽出する。
【0071】
また、S1010で表構造抽出部120は、後に記載するように、「はしご枠」または「結合セル」の抽出を行っても良い。はしご枠とは、複数の桁の数字を記入するために各桁が点線で区切られた連続するセルを定義する表の枠である。図4に示されている、本装置10が処理対象とする帳票の例では、「口座番号」、「金額」、及び「手数料」の見出しの列はそれぞれ、連続する10個のセル、10個のセル、5個のセルからなるはしご枠セルであって、はしご枠セルを定義する罫線がはしご枠である。S1010の処理が終了するとS1015に進む。はしご枠セルの位置、含まれるセルの数などははしご枠情報として、表構造情報記憶部204に記憶されても良い。
【0072】
S1015では、表構造抽出部120によって抽出された表構造情報を用いて、表の一番上の行を対象に、文字を残した二値画像を作成し、見出し二値化記憶部206に出力する。より詳細には、表構造情報を用いて、表の一番上の行から罫線を削除したカラー画像において、表の一番上の行の領域で二値化処理を行って文字を残した二値画像を生成しても良い。S1015は、見出し二値化処理部130によって処理される。S1015の処理が終了するとS1020に進む。
【0073】
S1015での見出し二値化処理部130による二値化処理では、二値化処理範囲の単位の大きさ(一般に複数の画素を含み、その領域内で二値化閾値が定義される領域)は、罫線二値化処理部110が行う二値化処理の際に用いられる大きさと同等または小さいことが望ましい。このように、罫線二値化処理部110と見出し二値化処理部130の二値化処理での個々の二値化処理範囲の単位の大きさを変化させることによって、帳票の二値化処理速度を改善することができる。
【0074】
S1020では、S1015で作成された表の一番上の行中の文字を残した二値画像を対象に文字認識を行い、抽出した文字情報を見出し辞書部210に記憶されている情報と比較し、見出しとみなした文字情報を見出し・項目情報記憶部208に出力する。
【0075】
S1020に引き続くS1025では、表の一番上の行中の文字を残した二値画像中の文字が見出し辞書部210に無かった場合、認識対象外の見出し項目とし、S1030に進む。また、表の一番上の行中の文字を残した二値画像中の文字が見出し辞書部210にある場合、S1035に進む。S1020及びS1025は、見出し・項目抽出部140によって処理される。
【0076】
図2のフローチャート中の分岐において、“Y”はイエス(肯定)を表し、“N”はノー(否定)を表す。図2以降の図中に表れるフローチャートにおいても同様である。
S1030では、S1025で選択された二値化対象外の見出しが属する表の列を二値化対象外とし、二値化対象外範囲記憶部212に出力する。S1030の処理は、二値化対象外処理部150によって処理される。S1030の処理が終わると、S1035に進む。
【0077】
S1035では、S1020及びS1025で抽出された見出しを対象に、右詰か左詰かの位置属性付けを行う。この処理は、見出し・項目抽出部140によって行われ、結果は、見出し・項目情報記憶部208に出力される。S1035の処理が終わると、S1040に進む。
【0078】
この位置属性情報は、見出し辞書部210に、S1020及びS1025で抽出された見出しを表す文字と共に記憶されていて良い。
S1040では、記入有無判定部154によって、S1030で抽出した見出しごとの位置属性情報に基づいて、見出し列ごとに、文字の記入がない空白部分を特定し、さらに二値化対象外処理部150によって、二値化対象外範囲記憶部212に出力する。S1040の処理が終わると、S1045に進む。
【0079】
S1045では、記入有無判定部154によってS1010で抽出した表構造情報と、閾値記憶部214に記憶されている、予め設定されたセルごとの閾値、見出しごとの閾値等に基づいて、表の下の行から表の各セルに文字が記入されているか否かを判定する。
【0080】
S1045に引き続くS1050では、表中に空白とみなせる行(明細行)があるか否かを判定する。この処理は、記入有無判定部154によって行われる。もし、空白とみなせる行があれば処理はS1055に進み、空白とみなせる行は、二値化対象外処理部150によって、二値化対象外範囲として二値化対象外範囲記憶部212に出力される。その後、処理はS1060に進む。もし、空白とみなせる行がなければ、処理は直接、S1060に進む。
【0081】
S1060では、S1010で抽出されたはしご枠情報に基づいて、表の中のはしご枠を抽出し、表構造情報記憶部204に出力する。S1060の処理が終了すると、S1065に進む。はしご枠の抽出方法は、後述のようなヒストグラムを用いる方法のほか、表中の実線で囲まれた領域内を区分する点罫線を抽出することによって行っても良い。
【0082】
S1065では、S1060の結果を参照しながら、表の中にはしご枠があるかの判定を行う。S1060及びS1065の処理は表構造情報抽出部120によって行われる。
S1065での判定の結果が「ある」であればS1070に、結果が「なし」であればS1095に進む。S1070及びS1095では、簡易文字認識処理部142によって、表構造情報抽出部120に記憶された表構造情報を用いて、表の下から2行分を対象に文字認識を行う。結果として得られる文字情報は、見出し辞書部210に記憶されているデータと突き合わされ、小計欄とみなされた見出しの文字情報を見出し・項目情報記憶部208に出力する。S1070では、はしご枠セルが存在するので、小計記載欄を抽出する際に、はしご枠セルを小計記載欄の候補として優先的に検索しても良い。S1070及びS1095の処理が終わるとそれぞれ、S1075及びS1100に進む。
【0083】
S1075及びS1100では、小計欄が抽出できたかを判定する。
S1075で小計欄が抽出された場合はS1080に、小計欄が抽出されなかった場合には、S1085に進む。S1100で小計欄が抽出された場合はS1105に、小計欄が抽出されなかった場合には、S1115に進む。
【0084】
S1080では、小計欄ははしご枠であるので、記入有無判定部154によって、記入桁数を算出する。
S1105では、小計欄ははしご枠ではないので、記入有無判定部154によって、記入範囲を示す座標を算出する。そして、この記入範囲を示す座標から、小計記入欄中で数字などの文字が記載された長さである小計記入長を算出する。
【0085】
S1080に引き続くS1085では、S1080で算出された桁数以外の、たとえば金額が記入される可能性があるセル範囲を二値化対象外範囲とし、二値化対象外範囲記憶部212に出力する。また、小計欄がはしご枠ではない場合、S1110では、S1105で算出された小計記入長以外の、たとえば金額が記入されるセル範囲を二値化対象外範囲とし、二値化対象外範囲記憶部212に出力する。
【0086】
S1085及びS1110の処理が終了するとそれぞれ、S1090及びS1115に進む。
S1090では、はしご枠グルーピング処理部152によって、S1085で特定された二値化対象外範囲をグルーピングし、グルーピング結果を二値化対象外範囲記憶部212に出力する。グルーピングされたセルは「複数セル」としても参照され得る。
【0087】
S1115では、S1010で抽出された表構造情報及びS1020で抽出された見出し情報に基づいて、受取人項目の一番上のセルを対象に、上下に分割する罫線があるかのチェックを行う。ここでは受取人項目を例に説明をしているが、氏名とふりがなの組のように、ルビを振るためにセル中に上下に分割する罫線を用いることが好適なセルを対象としても良い。
【0088】
S1115に引き続くS1120では、受取人項目の罫線有無の判定を行い、罫線がありの場合はS1125に、罫線がなしの場合はS1135に進む。
S1125及びS1135では、簡易文字認識処理部142によって、受取人項目の罫線の上または下にカナ項目があるかのチェックを行う。カナ項目としては、平仮名、片仮名の他、アルファベットなど外国語で用いられる文字であっても良い。
【0089】
S1125でカナ項目が存在するとの結果であればS1145に進み、存在しないとの結果であれば、S1130に進む。
S1135でカナ項目が存在するとの結果であればS1150に進み、存在しないとの結果であれば、S1140に進む。
【0090】
S1130及びS1140では、二値化対象処理部150によって、受取人項目のカナ項目以外の列を二値化対象外範囲とみなし、二値化対象外範囲記憶部212に出力する。
S1130及びS1140では、受取人項目のカナ項目以外の列を二値化対象外範囲とみなすが、受取人項目に漢字記入欄しか設けられていない場合は、受取人項目のカナ項目以外の列を二値化対象外範囲とせずに、二値化処理の対象として残しておいても良い。
【0091】
S1130及びS1140の処理が終了すると、S1150に進む。
一方、S1145では、受取人項目にカナ項目があるので、S1010で抽出された表構造情報に基づいて、受取人項目列中のカナ項目ではない項目が記入されたセルの位置を特定し、二値化対象外処理部150によって二値化対象外範囲とみなした後、二値化対象外範囲記憶部212に出力する。S1145の処理が終了するとS1150に進む。
【0092】
S1150では、二値化対象外範囲記憶部212を参照することによって、二値化対象外範囲があるかないかを判定する。もし、二値化対象外範囲があればS1155に、なければS1160に進む。
【0093】
S1155では、二値化対象外処理部150によって、二値化対象外範囲記憶部212から二値化対象外範囲に関する情報を読み出し、最終的な二値化対象範囲を画定する。その後、S1160に進む。
【0094】
S1160では、部分二値化処理部160によって、S1155によって画定された最終的な二値化対象範囲のセルに対し、セル単位の二値化処理を行う。処理が終了すると、S1165に進む。S1160での二値化処理では、一つ一つの二値化処理範囲の単位の大きさは、罫線二値化処理部110が行う二値化処理の際に用いられる大きさと同等または小さいことが望ましい。このようにすることによって、生成された二値画像の文字認識時の精度を犠牲にせず、二値化処理の速度を改善することができる。
S1165では、文字認識処理部170によって、帳票上の表の二値化対象範囲に対し文字認識を行う。
【0095】
図4は、本発明の装置が処理対象とする帳票の例を示す図である。帳票に含まれる表は図4の場合、22行、32列の構造を有している。ここで、「口座番号」の見出しの列は10列、「金額」の見出しの列は10列、「手数料」の見出しの列は5列と数えている。図4の場合、22行×32列=704個のセルを含む。
【0096】
図5は、図4に示されている帳票でのセル、はしご形式のセル(はしご枠のセル)、見出し、認識対象文字データを示している。
実線、破線等の直線である罫線で区切られた領域がセルである。セルは表を構成する単位要素でもある。はしご形式のセルは、点罫線等により分割されている複数のセルを含む。このはしご形式のセルは複数セルとしても参照される。図5の例では、口座番号、金額及び手数料の記入欄がはしご形式のセルである。
【0097】
図5では、表の第1行目の「項番」、「金融機関名」、「支店名」、「預金種目」、「口座番号」、「受取人」、「金額」、「振込区分」、「手数料」、「摘要」が見出しである。また、「依頼人」も見出しに含まれる。文字認識の対称となる認識対象文字データは、表の見出しの列の各々の行に記入される文字または文字列である。
【0098】
上記のような構成を取ることによって、不特定多数の種類の帳票を、予め定義されたフォームを用いずに認識する装置において、文字認識精度を劣化させることなく、二値化処理を高速化した帳票認識装置を得ることができる。
【0099】
(例1)
以下では、幾つかの例を参照して、本発明に従う画像データの二値化処理方法及びそれを用いた帳票認識装置のより詳細な説明を行う。以下では、同一または類似の機能を有する要素、または同一または類似の処理を行うステップは上述の装置10と同じ参照符号を付与し、詳細な説明を省略する。
【0100】
本例は、見出し情報から認識対象外の項目に関連するセルを二値化対象外範囲とすることによって、部分二値化する範囲を削減する方法及びそれを用いた装置に関する。
以下、図6乃至9を参照して、本例を説明する。図6は本発明の例1の装置のブロック図である。図7は本発明の本例の装置20に適用されるキーワード認識技術の処理方法を示すフローチャートである。図8は罫線を残した二値画像の例である。図9は本発明の例1の装置が処理対象とする帳票の例を示す図である。
【0101】
図6に示されているように、本例に従う帳票認識装置20は、スキャナ100、罫線二値化処理部110、表構造情報抽出部120、見出し二値化処理部130、見出し・項目抽出部140、及び二値化対象外処理部150を含んでいる。これらは互いに電気的に接続されている。
【0102】
また、装置20は、原画像記憶部200、罫線二値画像記憶部202、表構造情報記憶部204、見出し二値化記憶部206、見出し・項目情報記憶部208、見出し辞書部210、及び二値化対象外範囲記憶部212、を含んでいる。これらの記憶部は、上述の装置10と同様に対応する処理部に接続される。
【0103】
図7は装置20で実行される処理を表すフローチャートである。
本例の装置20では、図4のような帳票上の表において、認識対象項目以外の項目を二値化対象外とすることによって二値化面積を削減する処理を実行する。
【0104】
装置10で実行されるステップS1000〜S1015を処理した後、本例では、S2000で簡易文字認識を行う。
S1005で得られる罫線を残した二値画像の例を図8に示す。図8は図4の帳票上の表の罫線を残した二値画像の一部である。
【0105】
S2000では、見出し・項目抽出部140を用いて、S1015で作成された表の一番上の行中の文字を残した二値画像を対象に文字認識を行い、次のS2005に進む。
S2005では、抽出した文字情報を見出し辞書部210に記憶されている情報と突合せ、抽出した文字情報が見出し項目かどうかを判定する。
【0106】
もし、文字情報が見出し項目であればS2020に進む。S2020では、見出しの位置、例えば列番号及び行番号を表構造情報と比較することによって画定し、見出し項目とみなした文字情報を列番号及び行番号情報と共に、見出し・項目情報記憶部208に出力する。
【0107】
もし、文字情報が見出し項目になければ、認識対象外の見出し項目として、列番号及び行番号情報と共に、見出し・項目情報記憶部208に出力し、S2025に進む。
S2025では、認識対象外の見出し項目があるかを判定し、なければ二値化面積を削減する処理は終了する。
【0108】
もし認識対象外の見出し項目があれば、S2030で、表構造情報記憶部204に記憶されている表構造情報を参照しつつ、S2025で特定された認識対象外の見出し項目を含む列全体を二値化対象外範囲として、列単位で認識外フラグを付加する。
【0109】
図9は、認識外フラグ1が付与され、二値化対象外範囲とされた列の例を示している。
最後に、S2030の後のS2010で、二値化対象外範囲記憶部212によって、S2030で設定されたフラグに基づいて、認識対象外の見出し項目の列を二値化対象外として、二値化対象外範囲記憶部212に座標を出力して、二値化面積を削減する処理を終了する。
【0110】
本例で二値化面積を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0111】
図4に示した帳票を例に本例の装置20の効果を説明する。
もし本例に示したような二値化対象外範囲を二値化処理せずに、図4に示した帳票上の表の全てのセルを二値化処理をする場合、処理回数は、行数22×列数32=704回である。それに対し、本例の装置30を用いることによる二値化処理回数は、行数22×列数3=66回を削減することができる。
【0112】
(例2)
例2は、各項目のデータの記載位置に位置属性付けを行い、セルごとの空白部分と特定し対象外とすることで、部分二値化する範囲を削減する方法及びそれを用いた装置に関する。
【0113】
図10乃至13を参照して、本例を説明する。図10は本発明の例2の装置30のブロック図である。図11は本発明の例2の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。図12は本発明の例2の装置が処理対象とする帳票の例の一部を示す図である。図13は図12に示した帳票の例の一部の二値化対象外範囲を示す図である。
【0114】
図10に示されているように、本例に従う帳票認識装置30は、表構造情報抽出部120、見出し・項目抽出部140、二値化対象外処理部150、及び記入有無判定部154を含んでいる。これらは互いに電気的に接続されている。
【0115】
また、装置30は、原画像記憶部200、表構造情報記憶部204、見出し・項目情報記憶部208、見出し辞書部210、二値化対象外範囲記憶部212、及び閾値記憶部214を含んでいる。
【0116】
装置30では、見出し・項目情報記憶部208及び見出し辞書部210は見出し・項目抽出部140に、表構造情報記憶部204は表構造情報抽出部120に、閾値記憶部214及び原画像記憶部200は記入有無判定部154に接続されている。
【0117】
図11は、装置30で実行される処理を表すフローチャートである。
本例の装置30では、見出し項目を対象にデータ記載位置が左詰か右詰かの位置属性付けを行い、項目列ごとに空白部分が存在するセルにチェックを施し、特定した空白部分を部分二値化対象外範囲として、二値化処理面積を削減する。
【0118】
図11に示される処理では、S3000で、例1のS2000と同様に、表の一番上の行中の文字を残した二値画像を対象に文字認識を行い、抽出した文字情報を見出し辞書部210に記憶されている情報と突合せ、見出しとみなした文字情報を見出し・項目情報記憶部208に出力する。
【0119】
次にS1025では、表の一番上の行中の文字を残した二値画像中の文字が見出し辞書部210に無かった場合、部分二値化する範囲を削減する処理を終了する。また、表の一番上の行中の文字を残した二値画像中の文字が見出し辞書部210にある場合、S1035に進む。
【0120】
S1035では、見出し・項目情報記憶部208に記憶されている認識対象とした見出し情報を参照し、認識外フラグが付加されていない項目に位置属性フラグを付加する。フラグ例としては、0なら左詰、1なら右詰である。S1035の処理は、見出し・項目抽出部140で行われる。
【0121】
図12は、位置属性フラグの付加の例を示している。「金融機関名」なる見出しに対しては、位置属性フラグ0が付加され、認識対象文字データである「AAA銀行」、「BBB銀行」などは、セル内で左詰で記入される。一方、「口座番号」なる見出しに対しては、位置属性フラグ1が付加され、口座番号は右詰で記入される。
【0122】
S1035の次のS3005では、空白部分のチェックが行われる。
S3005の処理を、図13を参照しながら説明する。
原画像記憶部200中の、スキャナで読み込まれた帳票のカラー画像を参照し、記入有無判定部154が、前述のように設定されたフラグに基づいて、帳票上の表の列ごとにヒストグラムを用いた黒画素判定をドット単位で行い、空白部分を特定する。ここで、ヒストグラムとは、図13に示されているように、結合セル(はしご枠セル)内の黒画素領域分布を示す。図13中のヒストグラムで、横軸はセル内の左端からの距離、縦軸は黒画素数である。ヒストグラムは、二値化処理を行う個々の単位領域が黒画素であるか、そうでないかを、その領域の色のHSV空間におけるベクトルから判定した結果の分布であっても良い。例えば、明度が20%より小さい単位領域を黒画素と判定しても良い。はしご枠セルでヒストグラムを作成すると、桁を区別する罫線で黒画素数の鋭いピークが表れる。このピークの情報を利用して、はしご枠セルの抽出を行う、または確認を行っても良い。また、このピークは、空白部分として認識される。
【0123】
そして、特定された空白部分を二値化対象外範囲記憶部212に出力する。
見出し「金融機関名」には、空白部分の特定のために黒画素が存在するか否かのチャック処理をセルの右から行うことを示す列の位置属性フラグ“0”が、見出し「口座番号」には、空白部分の特定のために黒画素が存在するか否かのチャック処理をセルの左から行うことを示す列の位置属性フラグ“1”が付加される。
【0124】
S3005に引き続くS2010で、二値化対象外範囲記憶部212によって、S1030で設定されたフラグに基づいて、認識対象外の見出し項目の列の空白部分の座標を二値化対象外として、二値化対象外範囲記憶部212に座標を出力する。
【0125】
本例で二値化面積を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0126】
図4に示した帳票を例に本例の装置30の効果を説明する。
本例の装置30を用いることによる二値化処理面積は、見出しが「項番」の列の4%、「振込み」の列の8%、「摘要」の列の7%の計19%を削減することができる。
【0127】
(例3)
本例は、表のセル情報の記入の有無をチェックすることにより、部分二値化をする範囲と回数を削減する装置に関する。
【0128】
図14乃至16を参照して本例を説明する。図14は本発明の例3の装置40のブロック図である。図15は本発明の例3の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。図16は、本発明の例3の装置が処理対象とする帳票の例の一部を示す図である。
【0129】
図14に示されているように、本例に従う帳票認識装置40は、表構造情報抽出部120、二値化対象外処理部150、及び記入有無判定部154を含んでいる。これらは互いに電気的に接続されている。
また、装置40は、原画像記憶部200、表構造情報記憶部204、二値化対象外範囲記憶部212、閾値記憶部214、ヒストグラム記憶部216を含んでいる。表構造情報記憶部204は表構造情報抽出部120に、二値化対象外範囲記憶部212は二値化対象外処理部150に、並びに閾値記憶部214、ヒストグラム記憶部216及び原画像記憶部200は記入有無判定部154に接続されている。
【0130】
図15は装置40で実行される処理を表すフローチャートである。
本例の装置40では、表のセル情報の記入の有無を行単位でチェックし、未記入セルが一定数以上からなる行を二値化対象外とし、二値化処理面積を削減する。
【0131】
本例の処理では、表構造情報記憶部204から、処理をしたい帳票の電子化された画像に関する表構造情報を参照し、帳票に含まれる表の一番下の行から上の行に向かって、記入の有無をチェックする。
【0132】
まず、S4000では、原画像記憶部200から帳票のカラー画像を参照し、記入有無判定部154により黒画素数のチェックを行うことでセルごとの記入有無を判定し、記入有りと判断した時には記入フラグを付加する。例えば、記入フラグ“1”は記入有り、記入フラグ“0”は記入されているとは断定できない記入不明確の状態を表しても良い。
【0133】
図16に、記入フラグが付加された表のセルの例を示す。図16中で各セルの下に示されているのはセル中の黒画素数のヒストグラムである。
このとき、ヒストグラム中、一定の閾値以上の黒画素が周期的に見出されるセル列ははしご枠セルのヒストグラムとしてヒストグラム記憶部216に出力する。閾値は、予め閾値記憶部214に記憶されている。
【0134】
また、はしご枠セルは、表構造情報を参照して、見出しを表す文字が記入されているセルの長さと、見出しを表す文字が記入されているセルに対応する場所(たとえば、見出しが記入されているセルに対応する列)の長さを比較することによって抽出するまたは候補を抽出しても良い。一般に、はしご枠セルの各桁を区切る罫線は点線または破線であることが少なくない。よって、帳票上の点線または破線などの実線ではない罫線を抽出することによって、はしご枠セルを抽出するまたは候補を抽出しても良い。
【0135】
S4000に引き続くS4005では、その行に属する全てのセルが未記入または記入不明瞭であるかを判定する。その行に属する全てのセルが未記入または記入不明瞭であれば、その行に属する全てのセルが未記入または記入不明瞭であるかを示すフラグである、未記入フラグ“1”を立てて、S4010に進み、処理する行を一つ1の行に移し、S4000に戻る。
【0136】
S4005で、その行に記入フラグ“1”と記入フラグ“0”が立っているセルが一定数以上見出されると、その行には文字が記入されたセルが存在することになる。この時は、S4015に進み、二値化対象外処理部150によって、未記入フラグ“1”が立てられた行を、二値化対象外範囲記憶部212に、二値化対象外の座標として出力し、二値化をする範囲と回数を削減する処理を終了する。
【0137】
本例で二値化をする範囲と回数を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0138】
図4に示した帳票を例に本例の装置40の効果を説明する。
本例の装置40を用いることによる二値化処理回数は、図4中の帳票上の表の第13行目から第20行目のセルの二値化処理を削減することができる。よって、表の一番上の見出しを含む行と表の一番下の小計欄を含む行の計22行中、8行は二値化処理を行わない。よって二値化処理の回数は、約34%減らすことができる。
【0139】
(例4)
本例は、例えば金額、手数料などに関するセルなど、セルがはしご枠の場合、はしご枠内のセルをはしご枠セルとして1つにグルーピングして、表の一番下の行からはしご枠セル内に記入される数字の最大桁数を求め、はしご枠セルで部分二値化を行う範囲を削減する装置に関する。ここで、グルーピングされて生成されたセルは複数セルとしても参照され得る。
【0140】
図17乃至21を参照して本例を説明する。図17は装置50のブロック図、図18は装置50に適用されるキーワード認識技術の処理方法を示すフローチャートである。図19は装置50に適用されるキーワード認識技術の処理方法中のはしご枠の抽出を説明する図である。図20は装置50が処理対象とする帳票の例の一部の二値化対象外範囲を示す図である。図21は装置50に適用されるキーワード認識技術の処理方法中のはしご枠のグルーピングを説明する図である。
【0141】
図17に示されているように、本例に従う帳票認識装置50は、表構造情報抽出部120、見出し・項目抽出部140、簡易文字認識処理部142、二値化対象外処理部150、はしご枠グルーピング処理部152、記入有無判定部154を含んでいる。
【0142】
また、装置50は、原画像記憶部200、表構造情報記憶部204、見出し辞書部210、二値化対象外範囲記憶部212、閾値記憶部214、ヒストグラム記憶部216を含んでいる。表構造情報記憶部204は表構造情報抽出部120に、見出し辞書部210は見出し・項目抽出部140に、二値化対象外範囲記憶部212は二値化対象外処理部150に接続されている。原画像記憶部200、閾値記憶部214、及びヒストグラム記憶部216は記入有無判定部154に接続されている。
【0143】
図18は装置50で実行される処理を表すフローチャートである。
本処理では、まず、表構造情報を元に、ある見出しに対応する表の最下部に位置する小計欄を抽出し、はしご枠セルである小計欄に記入されている数字の桁数を最大桁数として抽出する。すると、その見出しの列の各行に記載される数字の桁数は、小計欄に記入される桁数より小さいので、各行の最大桁数を超える桁は空白である。その空白部分は二値化処理を行わないことによって、二値化処理の回数および二値化処理面積を減らすことができる。
【0144】
S1060では、表の中のはしご枠を抽出し、表構造情報記憶部204に出力する。次のS1065では、表構造情報記憶部204中の表構造情報を参照し、記入有無判定部154により表(明細)中のセルを対象にヒストグラムによるチェックを行い、たとえば前の例3で述べたような方法ではしご枠情報を抽出し、はしご枠とみなしたセルには、はしごフラグ“1”を付与する。図19はセルにはしごフラグが付与された例を示している。図19に示されているように、はしご枠では、例えば数字の場合の桁を区切る破線によるヒストグラムのピークが空間的に周期的に現れるという特徴を有する。はしご枠の特定に使用する閾値は予め閾値記憶部214に記憶されている。
【0145】
S1065ではしご枠があると判定された場合には、S1070に進み、簡易文字認識処理部142によって、表構造情報記憶部204の情報から帳票中の一番下行から2行分を対象に文字認識を行う。次のS1070では、抽出した文字情報を見出し辞書部210と比較し、小計欄とみなした見出し情報を(図示されていない)見出し・項目情報記憶部208に出力する。ほとんどの場合、小計欄は帳票上の表の最下部に位置し、合計欄と共に記載されることが多いため、表の下から2行分の文字認識を行うことが望ましい。
【0146】
S1065ではしご枠がないと判定された場合には、はしご枠セルで部分二値化を行う範囲を削減する処理を終了する。
S5000では、小計欄とみなした文字情報が見出しにあるのかどうかを判定する。もし、S5000の判定の結果、見出しにあると判定されればS1080に進み、s1080では、小計見出しの列に存在するセルに対し、ヒストグラムによるチェックを行う。図20の金額欄及び手数料欄のように、小計記入欄がはしご枠の場合、原画像記憶部200からカラー画像を参照し、記入有無判定部154によりはしご枠の黒画素数をチェックし、その桁数を算出する。
【0147】
S1080の次のS1155では、各明細中の金額、手数料欄のはしご枠のうち、算出した桁数以外のはしごセルを二値化対象外処理部150によって二値化対象外領域とし、二値化対象外範囲記憶部212に出力し、そのようなセルの表構造情報中のはしごフラグを削除する。
【0148】
次のS5005では、はしご枠グルーピング処理部152により、図21に示されているように、帳票全体のはしごフラグが付加されたセルのうち、隣接するセルをグルーピングし、次のS5010でグルーピング結果を二値化対象外範囲記憶部212に出力する。
【0149】
本例で二値化をする範囲と回数を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
図20に示した帳票を例に本例の装置50の効果を説明する。
【0150】
本例の装置50を用いることによる二値化処理面積は、「金額」の列の4桁分と手数料列の1桁分を削減することができる。この面積は表全体の約10%にあたる。
以上のように、本例では、小計欄、金額欄がはしご枠の場合、小計の記入桁数を特定することで見出しごとの金額、手数料の最大桁数も特定でき、二値化対象範囲を狭めることができる。よって、帳票認識装置における二値化処理の高速化を図ることができる。
【0151】
(例5)
本例は、例えば金額、手数料などに関するセルなどの、セルがはしご枠でない場合、小計の記入文字列の文字数(記入文字列の長さ)を参照し、セル中の空白部分を特定し、部分二値化を行う範囲を削減する装置60に関する。
【0152】
図22乃至24を参照して、本例を説明する。
図22に示されているように、本例に従う帳票認識装置60は、表構造情報抽出部120、見出し・項目抽出部140、簡易文字認識処理部142、二値化対象外処理部150、記入有無判定部154を含んでいる。
【0153】
また、装置60は、原画像記憶部200、表構造情報記憶部204、見出し辞書部210、閾値記憶部214を含んでいる。表構造情報記憶部204は表構造情報抽出部120に、見出し辞書部210は見出し・項目抽出部140に接続されている。原画像記憶部200及び閾値記憶部214は記入有無判定部154に接続されている。
【0154】
図23は、本例の装置60で実行される処理を表すフローチャートである。
本例の装置60では、例4でははしご枠セルであった小計欄がはしご枠ではない、一つのセルの場合に、小計欄に記入されている数字の桁数を最大文字列長として抽出する。すると、その見出しの列の各行に記載される数字の桁数は、小計欄に記入される数字より短いので、各行の最大文字列長を超える桁は空白である。その空白部分は二値化処理を行わないことによって、二値化処理の回数および二値化処理面積を減らすことができる。
【0155】
S1070及びS5000の処理を行った後、S6000では、図24に示されているように、原画像記憶部200からカラー画像を参照し、記入有無判定部154によりはしご枠の黒画素数をヒストグラムを用いてチェックを行い、小計の文字列長を算出する。
【0156】
S6000の処理が終わると、S1155に進み処理をする。即ち、二値化対象外処理部150によって、S6000で算出された小計の文字列長を超えたセル中の領域を二値化対象外範囲とする。
【0157】
本例で二値化をする範囲と回数を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0158】
図24に示した帳票を例に本例の装置60の効果を説明する。
本例の装置50を用いることによる二値化処理面積は、「金額」の列の4桁分と手数料列の1桁分を削減することができる。この面積は表全体の10%にあたる。
尚、例3で記載したような処理を行い、その結果未記入フラグが付加されたセルには上記処理を行わないようにしても良い。
【0159】
(例6)
本例は、受取人の見出し情報にカナ部分と漢字項目が存在する場合、その項目のデータセル上の漢字項目を二値化対象外範囲とすることで、部分二値化を行う範囲を削減する装置70に関する。
【0160】
図25乃至28を参照して本例を説明する。
図25に示されているように、本例に従う帳票認識装置70は、表構造情報抽出部120、見出し・項目抽出部140、簡易文字認識処理部142、二値化対象外処理部150、記入有無判定部154を含んでいる。
また、装置70は、原画像記憶部200、表構造情報記憶部204、見出し辞書部210、二値化対象外範囲記憶部212、閾値記憶部214を含んでいる。表構造情報記憶部204は表構造情報抽出部120に、見出し辞書部210は見出し・項目抽出部140に接続されている。原画像記憶部200及び閾値記憶部214は記入有無判定部154に接続されている。二値化対象外範囲記憶部212は、二値化対象外処理部150に接続されている。
【0161】
図26は、本例の装置70で実行される処理を表すフローチャートである。
S7000で、(図26には図示されていない)見出し・項目情報記憶部208から見出し情報を参照し、表構造上の受取人と口座番号の見出しの座標位置を特定する。
【0162】
次のS7005では受取人見出しの有無を判定し、あればS7010に進む。受取人見出しがない場合は、部分二値化を行う範囲を削減する処理を終了する。
また、S7010では、口座番号見出しの有無を判定し、あればS7015に進む。口座番号見出しがない場合は、部分二値化を行う範囲を削減する処理を終了する。
【0163】
S7015では、表構造情報記憶部204から表構造情報を参照し、口座番号項目の一つ下のセルを参照し、1項目(1明細)分の高さを算出する。次のS7020では、S7015で算出した1明細分の高さを参照し、見出し受取人項目から1つ下のセルを特定し、図27に示されているように、記入有無判定部154によりセル中の上下に分割する罫線があるかヒストグラムを用いてチェックを実施する。罫線チェックに使用する閾値は、予め閾値記憶部214に記憶されている。その後、S7025に進む。
【0164】
S7025では、受取人項目のセルに横罫線があるかを判定する。ある場合にはS70330に進む。S7030では、原画像記憶部200からカラー画像を参照し、受取人セルの上段と下段に対し、簡易文字認識処理部150によって、カテゴリチェックを行い、カナ項目位置の特定を行う。罫線がない場合は、このS7025の判定処理を受取人セル全体にわたって行う。
【0165】
次のS1125では、簡易文字認識処理部142によって、受取人項目にカナ項目があるかのチェックを行う。もしS1125でカナ項目があると判定された場合には、S7035に進む。
【0166】
もしS1125でカナ項目がないと判定された場合には、S1130に進む。
S7035では、受取人項目列の明細ごとに、セルの上段、下段に対しカナ項目フラグを、図28のように付与する。
【0167】
S7035のあとのS1155では、受取人項目列中のカナ項目フラグがカナ項目ではない範囲を二値化対象外処理部150によって、二値化対象外範囲として、二値化対象外範囲記憶部212に出力する。
【0168】
本例で二値化をする範囲と回数を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0169】
図28に示した帳票を例に本例の装置70の効果を説明する。
本例の装置50を用いることによる二値化処理面積は、図4中の「(フリガナ)」と「受取人」の列のうち、通常は漢字を含む「受取人」の列の二値化処理を省略する。よって、「(フリガナ)」と「受取人」の列の全体に占める面積13%のうち、半分の7%の二値化処理面積を削減することができる。
【0170】
上記では本発明の幾つかの例について記載してきたが、もちろん、上記の例を組み合わせても良い。
二値化処理回数に関しては、例えば例1と例3の技術を組み合わせることによって、例1で66回、例3でさらに242回の計308回を減少させることができる。また二値化面積に関しては、例えば例2と例4と例6の技術を組み合わせることによって、19%+10%+7%=36%の面積を減らすことができる。
【技術分野】
【0001】
本発明は、帳票などの表を有する文書において、帳票上の文字を認識するために用いられる帳票認識装置、方法およびプログラムに関し、特に、帳票などの表を有する画像データの二値化処理を含む帳票認識装置、方法およびプログラムに関する。
【背景技術】
【0002】
今日の、特に企業の経済活動では、多種類の帳票を同時に扱う場面が少なくない。例えば、顧客が金融機関と取引をする際には、顧客が複数種類の帳票の一つに必要な事項を記入し金融機関に提出する。顧客から記入済み帳票を受け取った金融機関は、帳票の記載内容に基づいて、所定の処理及び顧客への対応を行う。帳票の記載内容には、金額等の数字も含まれる。そして、そのような複数種類の帳票は、帳票自体の大きさが異なっていたり、表のセルを定義する罫線が異なっていたり、罫線の構造が同一でも、表のセルに記入されるべき項目が異なっていたりする。また、例えば、金融機関で用いられる振込み依頼書のように、異なる複数の対象にある処理を依頼するための帳票では、顧客によって表の記入面積が異なることがある。
【0003】
また、それらの帳票の多くは電子化された文書として処理されるようになった。このために、紙の文書を電子化された文書に変換する技術として画像認識技術が着目されている。従来から知られている画像認識技術には、OCR(Optical Characterize Recognition、光学式文字認識)などがある。
【0004】
近年、不特定多数の種類の帳票を一台の機械で処理するための、電子化された帳票の記載内容を自動的に読み取る装置が知られるようになった。
そのような装置では、不特定多数の種類の帳票の処理を行うためには、帳票上の表の罫線を認識して表のセルの構造を画定し、表の見出し(項目)を認識し、見出しの種類から各セルに入るべき中身を自動的に推測するなどして、帳票のフォーマットを推測する必要がある。予め帳票のフォーマットを記録しておき、帳票に付けられた識別のための記号を読み取ることによって、その帳票のフォーマットを特定するという方法は、今の場合、適用不可能である。
【0005】
このとき、一般に帳票に含まれる表の各セルには、見出しを表す文字、見出しの内容を示す文字、数字、又は記号などが記入されるので、そのような装置では、表の上での見出しと、その見出しに関連する文字、数字、記号などを自動的に対応付ける必要がある。たとえば、見出しが「金額」であれば、その見出しに関連するものは単位が円、ドルなどの「数字」である。もし帳票のフォーマットが予め定義されている場合には、そのような対応付けはデータベース中に記憶させることができる。しかし、予め帳票のフォーマットを定義できない場合には、対応付けを自動的に生成する必要がある。
【0006】
紙の帳票を読み込んで、表の罫線を認識し、またOCR等で文字認識を行うためには、認識処理をする前に、帳票全体の二値画像を生成する必要がある。二値画像を用いて、OCR等の文字認識などが行われる。一般に、不特定多数の種類の帳票の処理を行うためには、帳票の全面の二値化処理が必要である。
【0007】
例えば、複数の見出し(項目)に関して、その見出しに関わる数字、漢字などのデータ文字をその中に記入する記入欄と予めプリントされた項目名とが表の中に配列された帳票を光学的に読み取ったイメージから、記入欄に記入されたデータ文字(キーワード)を認識する光学式文字認識装置が知られている(特許文献1)。このような装置の例には、帳票イメージ全面に対してシステム辞書を用いてOCR処理を行い表構造及び表のセル中の文字を認識し、見出しごとに再度OCR処理が必要か否かを予め定義した再OCR処理指定情報を参照して、再度OCRをすべき記入欄を特定し、各見出しについて特定の記入欄に対して、適合した辞書を用いて、部分的にOCR処理を行うことによって、予めフォーマットが登録されていない、項目のレイアウトが異なる帳票に対しても対応することが可能な装置が含まれる。たとえば、帳票イメージ全面に対するOCR処理では、帳票の各見出しのセルのレイアウトが認識され、部分OCRでは、対象となる記入欄に適したユーザ辞書、たとえば金額が入るべき記入欄に対しては数字が記憶された辞書、を用いることができる。この方法では、項目名の属性に応じて、OCR処理で用いる辞書を変えるなど、認識方法を変更するので、データの文字の認識精度を上げることができる。
【0008】
また、上記のような装置での処理を高速化するために、項目名の文字が記入されている確率が高い領域を優先的に探索する装置が知られている(特許文献2)。
さらに、帳票の文字認識に適した二値画像を生成することによって、文字認識の精度向上を図った画像処理装置が存在する。
【0009】
そのような装置の一つの例として、ある領域内の文字の有無を判定し、その領域に文字が存在しないと判定されたときには、その領域を白画素で埋める装置が知られている(特許文献3)。この装置では、所定の領域内の連結成分のエッジ数、例えば領域内の横又は縦方向に走査したときの白黒の反転の回数に着目して、文字の有無を判定し、もしその領域に文字が無いと判定された場合には、その領域をすべて白画素にする処理を行う。
【0010】
また、文字などが記入された画像から背景ノイズの影響を除き、その後の文字認識などの処理に寄与できる画像処理装置であって、記入のない余白部分や予め用意した白紙帳票の領域の濃度分布と、任意に指定された領域を分割した小領域の濃度分布を比較して、その小領域に文字が存在するか否かを判定し、文字の記入がないと判定された領域の濃度を、所定の背景濃度に置換することによって原画像よりノイズを除去する装置が存在する(特許文献4)。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特許第4347677号公報
【特許文献2】特開2009−93305号公報
【特許文献3】特開2000−331118号公報
【特許文献4】特許第4393411号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、一般に帳票は、顧客によって表の構造も異なるし、表の記入面積も異なっている。上述のような従来技術を用いて帳票の認識を行う場合、電子化された文書から、文字認識に用いる二値化画像の生成に時間を要するという課題があった。
【0013】
また、各文字領域内の文字の有無を判定し、その領域に文字が存在しないと判定されたときには、その領域を白画素で埋める装置においては、二値化閾値を算出する処理を行う面積は変わらないので、二値化処理に要する時間を大幅に減少させることは難しいという課題があった。
【0014】
従って、不特定多数の種類の帳票を、予め定義されたフォームを用いずに認識する帳票認識装置において、文字認識精度を劣化させることなく、二値化処理を高速化した装置が要求されている。
【課題を解決するための手段】
【0015】
本発明の一態様に従う帳票認識装置は、罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置であって、前記表において、前記セルの配置を定める表構造を画定する表構造画定手段と、前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出手段と、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定手段と、前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択手段と、前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化手段と、前記二値画像から帳票に記載されている文字を認識する文字認識手段、を具備することを特徴とする。
【0016】
本発明の他の態様に従う帳票認識方法およびプログラムは、上記帳票認識装置に用いられる手段を実現する方法、上記帳票装置に用いられる手段の機能をコンピュータで実現するコンピュータ認識可能な命令を含むプログラムである。
【発明の効果】
【0017】
このような帳票認識方法および装置では、予め定義されたフォームを用いずに帳票を認識することができ、さらに、帳票上の表の一部の領域しか二値化処理を行わないことによって、二値化処理に要する時間を減らすことができる。その結果、自由なフォーラムの帳票の認識の認識精度を落とすことなく、高速化することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の装置のブロック図である。
【図2A】本発明の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図2B】本発明の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図2C】本発明の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図3】表構造情報抽出部での処理を説明するための図である。
【図4】本発明の装置が処理対象とする帳票の例を示す図である。
【図5】図4に示されている帳票の例の一部を示す図である。
【図6】本発明の例1の装置のブロック図である。
【図7】本発明の例1の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図8】罫線を残した二値画像の例である。
【図9】本発明の例1の装置が処理対象とする帳票の例を示す図である。
【図10】本発明の例2の装置のブロック図である。
【図11】本発明の例2の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図12】本発明の例2の装置が処理対象とする帳票の例の一部を示す図である。
【図13】図12に示した帳票の例の一部の二値化対象外範囲を示す図である。
【図14】本発明の例3の装置のブロック図である。
【図15】本発明の例3の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図16】本発明の例3の装置が処理対象とする帳票の例の一部を示す図である。
【図17】本発明の例4の装置のブロック図である。
【図18】本発明の例4の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図19】本発明の例4の装置に適用されるキーワード認識技術の処理方法中のはしご枠の抽出を説明する図である。
【図20】本発明の例4の装置が処理対象とする帳票の例の一部の二値化対象外範囲を示す図である。
【図21】本発明の例4の装置に適用されるキーワード認識技術の処理方法中のはしご枠のグルーピングを説明する図である。
【図22】本発明の例5の装置のブロック図である。
【図23】本発明の例5の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図24】本発明の例5の装置が処理対象とする帳票の例の一部の二値化対象外範囲を示す図である。
【図25】本発明の例6の装置のブロック図である。
【図26】本発明の例6の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。
【図27】本発明の例6の装置に適用されるキーワード認識技術の処理方法中のセルを上下に分割する罫線のチェックを説明する図である。
【図28】本発明の例6の装置が処理対象とする帳票の例の一部のカナ項目フラグ1を二値化対象外範囲とする処理を示す図である。
【発明を実施するための形態】
【0019】
(全般的説明)
本発明の一態様に従う帳票認識装置は、罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置であって、前記表において、前記セルの配置を定める表構造を画定する表構造画定手段と、前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出手段と、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定手段と、前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択手段と、前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化手段と、前記二値画像から帳票に記載されている文字を認識する文字認識手段、を具備することを特徴とする。
【0020】
ここで、帳票の画像はカラー画像であっても良い。
ここで、表構造画定手段は、電子化された帳票の画像の全体の二値化処理を行い、その二値化画像から罫線だけを残す処理を行う。この処理は例えば、帳票の画像上の横線と縦線を抽出することによって行っても良い。さらに、帳票の画像上の横線と縦線を抽出し、残りの範囲を背景色、例えば白色、で上塗りしても良い。表の罫線が決まると、罫線で区切られたセルが定まり、各セルには列番号と行番号を付与することができる。また、以下で述べるように、表構造画定手段は、点線、破線などの実線ではない線を抽出することによって、例えばはしご枠セル等の複数のセルを含む結合セルを抽出しても良い。
【0021】
また、前記表構造画定手段は、前記画像中の点であって、そこから少なくとも2本の線が延びる点、即ち交点、または少なくとも一端が別の線と接触する線分を検出することによって前記表の前記罫線を検出しても良い。また、交点のうち、一番外側、すなわち帳票の上下左右の枠に近い交点を抽出することによって、表の外枠を画定しても良い。
【0022】
ここで、見出し抽出手段は、電子化された帳票の画像の全体または一部を二値化処理することによって得られた二値化画像から、予め見出しが記憶された見出し辞書を参照しながら文字認識を行い、帳票上の見出しを抽出する。一般に、見出しは表の上の方の行、例えば、第1行目に記載されることが多い。そこで、表構造画定手段によって画定された表構造を参照して、表の上の方の行の文字認識を優先的に行っても良い。
【0023】
ここで、見出し位置特定手段では、見出しの位置に関する情報、即ち表中の行番号、列番号が特定される。より詳細には、前記表構造画定手段で画定された表構造と、見出し抽出手段によって抽出された見出しとその位置、例えば、帳票の左上隅からの距離を比較し、見出しの表中の位置情報、即ち列番号および行番号を特定する。
【0024】
ここで、二値化対象セル選択手段では、特定の見出しに関する表の領域を二値化対象外とする。例えば、特定の見出しの列を二値化対象外とする。別の言葉では、特定の見出しに関する表の行や列の領域のみを二値化対象とし、その領域に含まれるセルを二値化対象セルとして選択する。
【0025】
しかしながら、二値化対象セル選択手段は、常に、表の列単位で二値化対象領域を選択しなくても良い。例えば、「名前」と「フリガナ」のように、一つの行の中に同一の情報を含む2つの記入欄が用意されているような場合には、「フリガナ」が記入されるセルだけを二値化対象とすることも可能である。この場合は、隔行で二値化対象セルが選択されても良い。
【0026】
ここで、二値化手段は、二値化対象セル選択手段で選択されたセルを二値化する。二値化手段を用いて得られる二値画像は、文字認識手段で用いる文字認識技術に適していることが望ましい。
【0027】
ここで、文字とは数字、記号、アルファベット、カタカナ、ひらがな、漢字等を含む。また、場合によってはバーコードのように文字を表す記号であっても良い。
また、罫線は、実線であっても良いし、点線、破線、一点鎖線等であっても良い。例えば、金額など数字の列を記入するためのはしご枠セルは、点線で区切られている。上述のようにはしご枠は表構造画定手段によって抽出されても良い。
【0028】
記入済みセル検出手段は、表構造画定手段によって定められた表の各セル中に文字が記載されているかどうかを判定し、その中に文字が記入された記入済みセルを検出する。
あるセル中に文字が記入されているか否かの判定は、セル中の黒画素数をチェックすることによって行ってもよい。また、あるセル全体の色彩を検出し、その色彩からそのセル中に文字が記入されているか否かを判定しても良い。より具体的には、その色彩の明度から判定しても良い。このように明度からあるセル中の文字の記入の有無を判定する方法では、1つのセルに対し、色彩の測定を1回行えばよく、他の方法、例えばエッジ数の検出などの方法に比べて、あるセル中の文字の記入の有無を判定を高速で行うことができる。
【0029】
また、帳票の画像がカラー画像の場合は、記入済みセル検出手段は、セルの色の、色相、彩度及び明度の3つの成分からなるHSV色空間内のベクトルを用いて、セルが記入済みか否かを判断しても良い。
【0030】
一般に、HSV空間のベクトルでは、色を表す色相軸の変域は0°〜360°、色の鮮やかさを現す彩度は0〜100%、明るさを示す明度は0〜100%である。明度の値が小さければ黒色に近い。例えば、明度が20%より小さいセル中の画素を所定の数以上含むセルを記入済みセルを判定しても良い。
【0031】
また、記入済みセル検出手段は、セルの色のHSV空間内のベクトルではなく、RGB空間のベクトルを用いて、セルが記入済みか否かを判断しても良い。
記入済みセル検出手段で検出されたセルのみを二値化対象セルとして、二値化手段によって二値化を行い二値画像を生成する。
【0032】
文字認識手段は二値画像から帳票に記載されている文字を認識する。文字認識手段としては、OCR等、公知の技術を用いることができる。
このように本態様に従う帳票認識装置では、予め定義されたフォームを用いずに帳票を認識することができ、さらに、帳票上の表の一部の領域しか二値化処理を行わないことによって、二値化処理に要する時間を減らすことができる。その結果、自由なフォーラムの帳票の認識の認識精度を落とすことなく、高速化することができる。
【0033】
本発明の別の態様に従う帳票認識装置は、さらに、前記二値化対象セル選択手段は、前記表構造画定手段で画定された前記表構造のセルのうち、前記見出しに対応する相対位置に位置するセルが記入済みセルでなかったときに、前記記入済みセルでないセルに対して所定の相対位置にあるセルを前記二値化対象セルから除外することを特徴とする。
【0034】
帳票の場合、表の明細行中に未記入セルが多くあるとき、その明細行は未記入明細である可能性が高い。よって、明細行中の未記入セルが一定数以上のとき、その行全体のセルの二値化を行わないことによって帳票の二値化処理に要する時間を減らすことができる。
【0035】
本発明の別の態様に従う帳票認識装置は、さらに、前記見出しに対応する相対位置に位置する複数のセルを前記表構造中に画定する複数セル画定手段、を含み、前記二値化対象セル選択手段は、前記複数のセルを前記二値化対象セルとして認識することを特徴とする。
【0036】
ここで、複数セル画定手段で定められる複数セルには、はしご枠セルを含む。はしご枠セルは、セル中の黒画素数をチェックするとき、表の中で、はしご枠を区切る点線などの罫線による、一定の閾値以上の黒画素数が周期的に表れるセル列を検出することによって認識することができる。そのはしご枠セルを二値化処理の対象としては複数セルとして、一つのセルとしてみなしても良い。
【0037】
帳票ではしご枠は、数字を記入する場合などに多く用いられる。また、一般に、帳票の場合、一番下の行に小計欄があることが多い。表の一番下の行で、表の中で一定の閾値以上の黒画素数が周期的に現れるセル列を抽出することによって小計欄を抽出し、小計欄を複数セルとして、一つのセルとしてみなしても良い。
【0038】
また、複数セルは、単に複数個のセルの集まりであっても良い。
このように、たとえばはしご枠を一つの複数セルとして認識し、二値化対象セルとみなすことによって、二値化処理の回数を減らすことができ、フォーマットが予め与えられていない帳票の二値化処理に要する時間をさらに減らすことができる。
【0039】
また、たとえば、何桁もの数字を記入する欄がはしご枠セルではなく、1つのセルである帳票の場合には、そのセルの端から端まで文字が記入されているとは限らない。そのような場合、文字が記入されている領域以外の領域を二値化対象外領域として、二値化処理を省略しても良い。
【0040】
本発明の別の態様に従う帳票認識装置は、さらに、前記複数のセルのうち文字が記入されているセルが連続する記入済みの複数セルを検出する記入済み複数セル検出手段と、を含み、前記二値化対象セル選択手段は、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記複数セルのうち、記入済み複数セル検出手段で検出された前記複数セルのみを二値化対象セルとして選択することを特徴とする。
【0041】
たとえば、帳票の表の金額記入欄は、金額のオーバーフローを起こさないように、大きな桁数が用意されている。帳票では、表の一番下の小計欄が最大桁数である。すると、それより上の行には、最大桁数より小さい数字が記入されている。よって、最大桁数より大きな桁のセルは空白である。その領域の二値化処理を省略することができれば、二値化処理をする面積を削減することができる。
【0042】
本発明の別の態様に従う帳票認識装置は、さらに、前記見出しに対応する相対位置に位置する複数のセルを前記表構造中に画定する結合セル画定手段、を含み、前記二値化対象セル選択手段は、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セル内の一部のみを、前記二値化対象セルとして選択することを特徴とする。
【0043】
ここで「結合セル」とは、はしご枠セル、はしご形式のセルなどとも呼ばれ、何桁もの数字を記入するために点線や破線で各桁が区切られているセルなどを指す。数字のみならず、平仮名や片仮名を記入する際に、濁点等を一文字として処理するために、点線や破線で各桁が区切られているセルも結合セルに含まれる。
【0044】
この態様では、さらに前記表構造画定手段で画定された前記表構造のセルの少なくとも一部のセルから、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、前記結合セル中の、前記記入済みセルの最大数を画定する最大セル数画定手段と、を含み、前記二値化対象セル選択手段はさらに、前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セルに含まれる前記複数のセルから、前記最大数のセルを、前記見出しに依存して二値化対象セルとして選択しても良い。
【0045】
一般に金額を含む帳票では、表の一番下の欄に小計欄又は合計欄を含むことがある。すると、その列の各行に記入された数字は、小計欄に記入された数字の桁数より小さな桁数を有する。そこで、小計欄に記載された数字の桁数を最大桁数として抽出し、その列の各行のセルの二値化処理にあたり、最大桁数を超えた桁のセルの二値化処理は省略することが可能である。
【0046】
また、前記二値化手段は、前記見出しに依存して、前記結合セル内を右端のセルから左向きに、または左端のセルから右向きに、前記接合セル内で前記記入済みセルの列の始まりを見出すまで二値化処理をスキップしても良い。
【0047】
本発明の別の態様に従う帳票認識装置は、前記二値化手段は、前記見出しに依存して、前記複数セルの各々の中を左端のセルから右向きに、または右端のセルから左向きに、前記記入済み複数セルの端のセルを見出すまで二値化処理を省略することを特徴とする。
【0048】
本態様に従えば、一つのセルの空白部分の二値化処理を省略することができ、二値化処理をすべき面積を削減することができる。
また、本発明の一態様に従う帳票認識方法は、罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識方法であって、前記表において、前記セルの配置を定める表構造を画定するステップと、前記画像から予め定められた文字又は文字列である見出しを抽出するステップと、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定するステップと、前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出するステップと、前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択するステップと、前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成することと、前記二値画像から帳票に記載されている文字を認識するステップ、を具備することを特徴とする。
【0049】
本態様に従う帳票認識方法では、予め定義されたフォームを用いずに帳票を認識することができ、さらに、帳票上の表の一部の領域しか二値化処理を行わないことによって、二値化処理に要する時間を減らすことができる。その結果、自由なフォーラムの帳票の認識の認識精度を落とすことなく、高速化することができる。
【0050】
本発明の別の態様に従う帳票認識方法は、前記表構造のセルのうち、前記見出しによって定められるある特定のセルが記入済みセルでなかったときに、前記記入済みセルでないセルに対して所定の相対位置にあるセルを前記二値化対象セルから除外するステップを含むことを特徴とする。
【0051】
本発明の別の態様に従う帳票の画像の二値化処理を行う方法は、さらに、前記見出しに対応する相対位置に位置する複数のセルを前記表構造中に画定するステップを含み、前記二値化対象セルを選択するステップは、前記複数のセルを前記二値化対象セルとして認識することを特徴とする。
【0052】
本発明の別の態様に従う帳票認識方法は、さらに、前記複数のセルのうち文字が記入されているセルが連続する記入済みの複数セルを検出するステップを含み、前記二値化対象セルを選択するステップは、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記複数セルのうち、記入済み複数セル検出手段で検出された前記複数セルのみを二値化対象セルとして選択することを特徴とする。
【0053】
本発明の別の態様に従う帳票認識方法は、前記表構造画定手段で画定された前記表構造のセルのうち、前記見出しに対応する相対位置に位置するセルが記入済みセルでなかったときに、前記記入済みセルでないセルに対して所定の相対位置にあるセルを前記二値化対象セルから除外するステップを含むことを特徴とする。
【0054】
本発明の別の態様に従う帳票認識方法は、さらに、画定された前記表構造のセルの少なくとも一部のセルから、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出するステップと、前記結合セル中の、前記記入済みセルの最大数を画定するステップを含み、前記二値化対象セルを選択することはさらに、前記見出しを含むセルの位置に対して、前記見出しによって定められる相対位置に位置する前記結合セルに含まれる前記複数のセルから、前記最大数のセルを、前記見出しに依存して二値化対象セルとして選択することを特徴とする。
【0055】
本発明の別の態様に従う帳票認識方法は、さらに、前記見出しに対応する相対位置に位置する複数のセルを含む結合セルを前記表構造中に画定するステップを含み、前記二値化対象セルを選択するステップは、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セル内の一部のみを、前記二値化対象セルとして選択することを特徴とする。
【0056】
本発明の別の態様に従う帳票認識方法は、さらに、前記表構造のセルの少なくとも一部のセルから、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出するステップと、前記結合セル中の、前記記入済みセルの最大数を画定するステップを含み、前記二値化対象セルを選択するステップは、さらに、前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セルに含まれる前記複数のセルから、前記最大数のセルを、前記見出しに依存して二値化対象セルとして選択するステップを含むことを特徴とする。
【0057】
本発明の別の態様に従う帳票認識方法は、前記見出しに依存して、前記結合セル内を右端のセルから左向きに、または左端のセルから右向きに、前記結合セル内で前記記入済みセルの列の始まりを見出すまで二値化処理をスキップするステップを含むことを特徴とする。
【0058】
本発明の別の態様に従う帳票認識方法は、前記見出しに依存して、二値化対象セル選択手段によって認識された前記複数セルの左端のセルから右向きに、または右端のセルから左向きに、前記複数セルの端のセルを見出すまで二値化処理を省略するステップを含むことを特徴とする。
【0059】
また、本発明の一態様に従うプログラムは、罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置として用いることが可能なコンピュータに、前記表において、前記セルの配置を定める表構造を画定する表構造画定機能と、前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出機能と、前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定機能と、前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出機能と、前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択機能と、前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化機能と、前記二値画像から帳票に記載されている文字を認識する文字認識機能、を実現させることを特徴とする。
【0060】
図1乃至5を参照しながら、上記のような本発明に従う画像データの二値化処理方法及びそれを用いた帳票認識装置10について全般的な説明する。
図1は、本発明の帳票認識装置10のブロック図である。
【0061】
本発明に従う帳票認識装置10は、スキャナ100、罫線二値化処理部110、表構造情報抽出部120、見出し二値化処理部130、見出し・項目抽出部140、簡易文字認識処理部142、二値化対象外処理部150、はしご枠グルーピング処理部152、記入有無判定部154、部分二値化処理部160及び文字認識処理部170を含んでいる。これらは互いに電気的に接続されている。これらの処理部は、たとえば、それぞれの処理を専門に行うプロセッサであっても良いし、汎用計算機及びそれぞれの処理を行うための計算機認識可能な命令を含む媒体の組み合わせであっても良い。各処理部を汎用計算機によって実現するときには、各処理部の機能は、その機能をコンピュータに実行させる命令を含むプログラムを用いて実現する。
【0062】
また、装置10は、原画像記憶部200、罫線二値画像記憶部202、表構造情報記憶部204、見出し二値化記憶部206、見出し・項目情報記憶部208、見出し辞書部210、二値化対象外範囲記憶部212、及び閾値記憶部214を含んでいる。これらは、RAMまたはROMなどのメモリであってよい。また、上記様々な処理部とは同一のデバイス内に配置されても良いし、別個のデバイスとして準備されても良い。
【0063】
またこれらの記憶部は、上記の様々な処理部から出力されたデータを受けて記憶することができる。
原画像記憶部200はスキャナ100に通信可能に接続され、スキャナで取り込まれた画像を記憶する。罫線二値画像記憶部202は罫線二値化処理部110に通信可能に接続され、罫線二値化処理部110での結果が記憶される。表構造情報記憶部204及び見出し二値化記憶部206はそれぞれ、表構造情報抽出部120及び見出し二値化処理部130に通信可能に接続され、それぞれの処理部での結果が記憶される。見出し・項目情報記憶部208及び見出し辞書部210は共に、見出し・項目抽出部140に通信可能に接続される。見出し・項目抽出部140では、見出し辞書部210を参照しながら、帳票画像上から見出し・項目を抽出し、結果は見出し・項目情報記憶部208に出力される。見出し辞書部210には、予め設定した見出しの文字情報が収納されている。二値化対象外範囲記憶部212は、二値化対象外処理部150に通信可能に接続され、二値化対象外処理部150で選択された二値化処理を行わない範囲を記憶する。閾値記憶部214は、記入有無判定部154に通信可能に接続され、記入有無判定部154は、閾値記憶部214に記憶されている閾値を用いて、あるセル中に文字の記入があるか否かを判定する。
【0064】
記入有無判定部154は、あるセル中の黒画素の数またはその分布に基づいて、そのセル内に文字等の記入があるかどうかを判定しても良い。この場合、黒画素であるか否かは、色相、彩度及び明度の3つの成分からなるHSV色空間中のベクトルの大きさ及び/又は向きを用いて判定することができる。または、あるセル中の連結成分の個数を検出することによって、セル内に文字等の記載があるかどうかを判定しても良い。
【0065】
部分二値化処理部160では、帳票画像のうち、二値化対象外処理部150で選択された二値化対象外範囲を除いた領域の二値化処理を行う。
文字認識処理部170では、OCR(Optical Characterize Recognition、光学式文字認識)等、公知の文字認識手段を用いて、部分二値化処理部160で二値化された画像中の文字を認識する。
【0066】
表構造画定手段は、罫線二値化処理部110、表構造抽出部120、罫線二値画像記憶部202、および表構造情報記憶部204を含む。
見出し抽出手段は、見出し二値化処理部130、見出し・項目抽出部140、簡易文字認識処理部142、見出し二値化記憶部206、見出し・項目情報記憶部208、及び見出し辞書部210を含む。見出し位置特定手段は、表構造抽出部120、罫線二値画像記憶部202、表構造情報記憶部204、見出し二値化処理部130、見出し・項目抽出部140、簡易文字認識処理部142、見出し二値化記憶部206、見出し・項目情報記憶部208、及び見出し辞書部210を含む。二値化対象セル選択手段は、二値化対象外処理部150、二値化対象外範囲記憶部212を含む。二値化手段は、部分二値化処理部160を含む。記入済みセル検出手段は、記入有無判定部154および閾値記憶部214を含み、複数セル画定手段は、罫線二値化処理部110、表構造抽出部120、罫線二値画像記憶部202、表構造情報記憶部204、およびはしご枠グルーピング処理部152を含む。文字認識手段は、文字認識処理部170を含む。また、最大桁数検出手段は、記入有無判定部154を含む。結合セル画定手段は、罫線二値化処理部110、表構造抽出部120、および罫線二値画像記憶部202を含む。上記各手段は、それぞれの手段における機能を実現するコンピュータが認識可能な命令を含むプログラムによって定義されても良い。たとえば、表構造画定手段は、その手段の機能に対応する表構造画定機能を実現するコンピュータが認識可能なプログラムまたはプログラムの部分を定義しても良い。
【0067】
図2は、本発明の装置10に適用されるキーワード認識技術の処理方法を示すフローチャートである。
S1000では、スキャナ100を用いて、帳票のイメージ読取処理を行う。本発明に従う帳票認識装置10では、帳票はカラー画像であることが望ましい。カラー画像を用いることで、文字とノイズ、または文字と背景色の分離等が容易になり、高精度の帳票認識が可能である。しかしながら、本発明に従う帳票認識装置10で扱われる帳票はカラーでなくても構わない。スキャナ100を用いて読み取られた画像は、原画像記憶部200に記憶される。S1000の処理が終了するとS1005に進む。
【0068】
S1005では、S1000で罫線二値化処理部110により、原画像記憶部200に記憶されているカラー画像の二値化処理を行い、罫線を残した二値画像を出力する。より詳細には、S1005では、入力されたカラー画像の二値化処理を行い、罫線のみを残し、それ以外は全て背景色(例えば白色)とした二値画像を出力する。罫線を残した二値画像は、罫線二値画像記憶部202に出力される。このときの二値化処理は、罫線を抽出することを目的とするものなので、複数画素によって構成される、二値化処理範囲の単位の大きさを、文字を認識するには大きいが、線を認識するには十分に小さくして、処理速度を最小化しても良い。
【0069】
カラー画像から罫線だけを残した二値画像は、帳票上の横線及び縦線といった直線成分を抽出することによって生成される。S1005の処理が終了するとS1010に進む。
S1010では、罫線二値画像記憶部202に記憶された罫線を残した二値画像を参照し、表構造抽出部120によって、横線と縦線の交点の情報からセルと、最終的な線形(表形)を算出し、各セルに列番号と行番号の情報(座標)を付加したものを表構造情報として、表構造情報記憶部204に出力する。各セルの位置は、列番号と行番号の2成分であらわさずに、例えば、左上隅のセルから右下隅のセルに向かって、行に関しては左から右に、行に関しては上から下に番号付けをし、その番号によって表しても良い。
【0070】
S1010における表構造抽出部120の処理を、図3を参照しながら説明する。図3中の大きな丸印で表される点P1は、図3中に示されている罫線を有する表の仮の端点である。また、小さな丸印で表される縦線と横線が交わる交点P3を検出することによって、交点P3を頂点とする四角形を個々のセルとして認識する。表構造抽出部120が点P1を頂点とする四角形を表形とすると、点P2のように突出した交点が出現する。そこで、点P2を頂点に含む四角形も表のセルと認識し、最終的な表形を抽出する。
【0071】
また、S1010で表構造抽出部120は、後に記載するように、「はしご枠」または「結合セル」の抽出を行っても良い。はしご枠とは、複数の桁の数字を記入するために各桁が点線で区切られた連続するセルを定義する表の枠である。図4に示されている、本装置10が処理対象とする帳票の例では、「口座番号」、「金額」、及び「手数料」の見出しの列はそれぞれ、連続する10個のセル、10個のセル、5個のセルからなるはしご枠セルであって、はしご枠セルを定義する罫線がはしご枠である。S1010の処理が終了するとS1015に進む。はしご枠セルの位置、含まれるセルの数などははしご枠情報として、表構造情報記憶部204に記憶されても良い。
【0072】
S1015では、表構造抽出部120によって抽出された表構造情報を用いて、表の一番上の行を対象に、文字を残した二値画像を作成し、見出し二値化記憶部206に出力する。より詳細には、表構造情報を用いて、表の一番上の行から罫線を削除したカラー画像において、表の一番上の行の領域で二値化処理を行って文字を残した二値画像を生成しても良い。S1015は、見出し二値化処理部130によって処理される。S1015の処理が終了するとS1020に進む。
【0073】
S1015での見出し二値化処理部130による二値化処理では、二値化処理範囲の単位の大きさ(一般に複数の画素を含み、その領域内で二値化閾値が定義される領域)は、罫線二値化処理部110が行う二値化処理の際に用いられる大きさと同等または小さいことが望ましい。このように、罫線二値化処理部110と見出し二値化処理部130の二値化処理での個々の二値化処理範囲の単位の大きさを変化させることによって、帳票の二値化処理速度を改善することができる。
【0074】
S1020では、S1015で作成された表の一番上の行中の文字を残した二値画像を対象に文字認識を行い、抽出した文字情報を見出し辞書部210に記憶されている情報と比較し、見出しとみなした文字情報を見出し・項目情報記憶部208に出力する。
【0075】
S1020に引き続くS1025では、表の一番上の行中の文字を残した二値画像中の文字が見出し辞書部210に無かった場合、認識対象外の見出し項目とし、S1030に進む。また、表の一番上の行中の文字を残した二値画像中の文字が見出し辞書部210にある場合、S1035に進む。S1020及びS1025は、見出し・項目抽出部140によって処理される。
【0076】
図2のフローチャート中の分岐において、“Y”はイエス(肯定)を表し、“N”はノー(否定)を表す。図2以降の図中に表れるフローチャートにおいても同様である。
S1030では、S1025で選択された二値化対象外の見出しが属する表の列を二値化対象外とし、二値化対象外範囲記憶部212に出力する。S1030の処理は、二値化対象外処理部150によって処理される。S1030の処理が終わると、S1035に進む。
【0077】
S1035では、S1020及びS1025で抽出された見出しを対象に、右詰か左詰かの位置属性付けを行う。この処理は、見出し・項目抽出部140によって行われ、結果は、見出し・項目情報記憶部208に出力される。S1035の処理が終わると、S1040に進む。
【0078】
この位置属性情報は、見出し辞書部210に、S1020及びS1025で抽出された見出しを表す文字と共に記憶されていて良い。
S1040では、記入有無判定部154によって、S1030で抽出した見出しごとの位置属性情報に基づいて、見出し列ごとに、文字の記入がない空白部分を特定し、さらに二値化対象外処理部150によって、二値化対象外範囲記憶部212に出力する。S1040の処理が終わると、S1045に進む。
【0079】
S1045では、記入有無判定部154によってS1010で抽出した表構造情報と、閾値記憶部214に記憶されている、予め設定されたセルごとの閾値、見出しごとの閾値等に基づいて、表の下の行から表の各セルに文字が記入されているか否かを判定する。
【0080】
S1045に引き続くS1050では、表中に空白とみなせる行(明細行)があるか否かを判定する。この処理は、記入有無判定部154によって行われる。もし、空白とみなせる行があれば処理はS1055に進み、空白とみなせる行は、二値化対象外処理部150によって、二値化対象外範囲として二値化対象外範囲記憶部212に出力される。その後、処理はS1060に進む。もし、空白とみなせる行がなければ、処理は直接、S1060に進む。
【0081】
S1060では、S1010で抽出されたはしご枠情報に基づいて、表の中のはしご枠を抽出し、表構造情報記憶部204に出力する。S1060の処理が終了すると、S1065に進む。はしご枠の抽出方法は、後述のようなヒストグラムを用いる方法のほか、表中の実線で囲まれた領域内を区分する点罫線を抽出することによって行っても良い。
【0082】
S1065では、S1060の結果を参照しながら、表の中にはしご枠があるかの判定を行う。S1060及びS1065の処理は表構造情報抽出部120によって行われる。
S1065での判定の結果が「ある」であればS1070に、結果が「なし」であればS1095に進む。S1070及びS1095では、簡易文字認識処理部142によって、表構造情報抽出部120に記憶された表構造情報を用いて、表の下から2行分を対象に文字認識を行う。結果として得られる文字情報は、見出し辞書部210に記憶されているデータと突き合わされ、小計欄とみなされた見出しの文字情報を見出し・項目情報記憶部208に出力する。S1070では、はしご枠セルが存在するので、小計記載欄を抽出する際に、はしご枠セルを小計記載欄の候補として優先的に検索しても良い。S1070及びS1095の処理が終わるとそれぞれ、S1075及びS1100に進む。
【0083】
S1075及びS1100では、小計欄が抽出できたかを判定する。
S1075で小計欄が抽出された場合はS1080に、小計欄が抽出されなかった場合には、S1085に進む。S1100で小計欄が抽出された場合はS1105に、小計欄が抽出されなかった場合には、S1115に進む。
【0084】
S1080では、小計欄ははしご枠であるので、記入有無判定部154によって、記入桁数を算出する。
S1105では、小計欄ははしご枠ではないので、記入有無判定部154によって、記入範囲を示す座標を算出する。そして、この記入範囲を示す座標から、小計記入欄中で数字などの文字が記載された長さである小計記入長を算出する。
【0085】
S1080に引き続くS1085では、S1080で算出された桁数以外の、たとえば金額が記入される可能性があるセル範囲を二値化対象外範囲とし、二値化対象外範囲記憶部212に出力する。また、小計欄がはしご枠ではない場合、S1110では、S1105で算出された小計記入長以外の、たとえば金額が記入されるセル範囲を二値化対象外範囲とし、二値化対象外範囲記憶部212に出力する。
【0086】
S1085及びS1110の処理が終了するとそれぞれ、S1090及びS1115に進む。
S1090では、はしご枠グルーピング処理部152によって、S1085で特定された二値化対象外範囲をグルーピングし、グルーピング結果を二値化対象外範囲記憶部212に出力する。グルーピングされたセルは「複数セル」としても参照され得る。
【0087】
S1115では、S1010で抽出された表構造情報及びS1020で抽出された見出し情報に基づいて、受取人項目の一番上のセルを対象に、上下に分割する罫線があるかのチェックを行う。ここでは受取人項目を例に説明をしているが、氏名とふりがなの組のように、ルビを振るためにセル中に上下に分割する罫線を用いることが好適なセルを対象としても良い。
【0088】
S1115に引き続くS1120では、受取人項目の罫線有無の判定を行い、罫線がありの場合はS1125に、罫線がなしの場合はS1135に進む。
S1125及びS1135では、簡易文字認識処理部142によって、受取人項目の罫線の上または下にカナ項目があるかのチェックを行う。カナ項目としては、平仮名、片仮名の他、アルファベットなど外国語で用いられる文字であっても良い。
【0089】
S1125でカナ項目が存在するとの結果であればS1145に進み、存在しないとの結果であれば、S1130に進む。
S1135でカナ項目が存在するとの結果であればS1150に進み、存在しないとの結果であれば、S1140に進む。
【0090】
S1130及びS1140では、二値化対象処理部150によって、受取人項目のカナ項目以外の列を二値化対象外範囲とみなし、二値化対象外範囲記憶部212に出力する。
S1130及びS1140では、受取人項目のカナ項目以外の列を二値化対象外範囲とみなすが、受取人項目に漢字記入欄しか設けられていない場合は、受取人項目のカナ項目以外の列を二値化対象外範囲とせずに、二値化処理の対象として残しておいても良い。
【0091】
S1130及びS1140の処理が終了すると、S1150に進む。
一方、S1145では、受取人項目にカナ項目があるので、S1010で抽出された表構造情報に基づいて、受取人項目列中のカナ項目ではない項目が記入されたセルの位置を特定し、二値化対象外処理部150によって二値化対象外範囲とみなした後、二値化対象外範囲記憶部212に出力する。S1145の処理が終了するとS1150に進む。
【0092】
S1150では、二値化対象外範囲記憶部212を参照することによって、二値化対象外範囲があるかないかを判定する。もし、二値化対象外範囲があればS1155に、なければS1160に進む。
【0093】
S1155では、二値化対象外処理部150によって、二値化対象外範囲記憶部212から二値化対象外範囲に関する情報を読み出し、最終的な二値化対象範囲を画定する。その後、S1160に進む。
【0094】
S1160では、部分二値化処理部160によって、S1155によって画定された最終的な二値化対象範囲のセルに対し、セル単位の二値化処理を行う。処理が終了すると、S1165に進む。S1160での二値化処理では、一つ一つの二値化処理範囲の単位の大きさは、罫線二値化処理部110が行う二値化処理の際に用いられる大きさと同等または小さいことが望ましい。このようにすることによって、生成された二値画像の文字認識時の精度を犠牲にせず、二値化処理の速度を改善することができる。
S1165では、文字認識処理部170によって、帳票上の表の二値化対象範囲に対し文字認識を行う。
【0095】
図4は、本発明の装置が処理対象とする帳票の例を示す図である。帳票に含まれる表は図4の場合、22行、32列の構造を有している。ここで、「口座番号」の見出しの列は10列、「金額」の見出しの列は10列、「手数料」の見出しの列は5列と数えている。図4の場合、22行×32列=704個のセルを含む。
【0096】
図5は、図4に示されている帳票でのセル、はしご形式のセル(はしご枠のセル)、見出し、認識対象文字データを示している。
実線、破線等の直線である罫線で区切られた領域がセルである。セルは表を構成する単位要素でもある。はしご形式のセルは、点罫線等により分割されている複数のセルを含む。このはしご形式のセルは複数セルとしても参照される。図5の例では、口座番号、金額及び手数料の記入欄がはしご形式のセルである。
【0097】
図5では、表の第1行目の「項番」、「金融機関名」、「支店名」、「預金種目」、「口座番号」、「受取人」、「金額」、「振込区分」、「手数料」、「摘要」が見出しである。また、「依頼人」も見出しに含まれる。文字認識の対称となる認識対象文字データは、表の見出しの列の各々の行に記入される文字または文字列である。
【0098】
上記のような構成を取ることによって、不特定多数の種類の帳票を、予め定義されたフォームを用いずに認識する装置において、文字認識精度を劣化させることなく、二値化処理を高速化した帳票認識装置を得ることができる。
【0099】
(例1)
以下では、幾つかの例を参照して、本発明に従う画像データの二値化処理方法及びそれを用いた帳票認識装置のより詳細な説明を行う。以下では、同一または類似の機能を有する要素、または同一または類似の処理を行うステップは上述の装置10と同じ参照符号を付与し、詳細な説明を省略する。
【0100】
本例は、見出し情報から認識対象外の項目に関連するセルを二値化対象外範囲とすることによって、部分二値化する範囲を削減する方法及びそれを用いた装置に関する。
以下、図6乃至9を参照して、本例を説明する。図6は本発明の例1の装置のブロック図である。図7は本発明の本例の装置20に適用されるキーワード認識技術の処理方法を示すフローチャートである。図8は罫線を残した二値画像の例である。図9は本発明の例1の装置が処理対象とする帳票の例を示す図である。
【0101】
図6に示されているように、本例に従う帳票認識装置20は、スキャナ100、罫線二値化処理部110、表構造情報抽出部120、見出し二値化処理部130、見出し・項目抽出部140、及び二値化対象外処理部150を含んでいる。これらは互いに電気的に接続されている。
【0102】
また、装置20は、原画像記憶部200、罫線二値画像記憶部202、表構造情報記憶部204、見出し二値化記憶部206、見出し・項目情報記憶部208、見出し辞書部210、及び二値化対象外範囲記憶部212、を含んでいる。これらの記憶部は、上述の装置10と同様に対応する処理部に接続される。
【0103】
図7は装置20で実行される処理を表すフローチャートである。
本例の装置20では、図4のような帳票上の表において、認識対象項目以外の項目を二値化対象外とすることによって二値化面積を削減する処理を実行する。
【0104】
装置10で実行されるステップS1000〜S1015を処理した後、本例では、S2000で簡易文字認識を行う。
S1005で得られる罫線を残した二値画像の例を図8に示す。図8は図4の帳票上の表の罫線を残した二値画像の一部である。
【0105】
S2000では、見出し・項目抽出部140を用いて、S1015で作成された表の一番上の行中の文字を残した二値画像を対象に文字認識を行い、次のS2005に進む。
S2005では、抽出した文字情報を見出し辞書部210に記憶されている情報と突合せ、抽出した文字情報が見出し項目かどうかを判定する。
【0106】
もし、文字情報が見出し項目であればS2020に進む。S2020では、見出しの位置、例えば列番号及び行番号を表構造情報と比較することによって画定し、見出し項目とみなした文字情報を列番号及び行番号情報と共に、見出し・項目情報記憶部208に出力する。
【0107】
もし、文字情報が見出し項目になければ、認識対象外の見出し項目として、列番号及び行番号情報と共に、見出し・項目情報記憶部208に出力し、S2025に進む。
S2025では、認識対象外の見出し項目があるかを判定し、なければ二値化面積を削減する処理は終了する。
【0108】
もし認識対象外の見出し項目があれば、S2030で、表構造情報記憶部204に記憶されている表構造情報を参照しつつ、S2025で特定された認識対象外の見出し項目を含む列全体を二値化対象外範囲として、列単位で認識外フラグを付加する。
【0109】
図9は、認識外フラグ1が付与され、二値化対象外範囲とされた列の例を示している。
最後に、S2030の後のS2010で、二値化対象外範囲記憶部212によって、S2030で設定されたフラグに基づいて、認識対象外の見出し項目の列を二値化対象外として、二値化対象外範囲記憶部212に座標を出力して、二値化面積を削減する処理を終了する。
【0110】
本例で二値化面積を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0111】
図4に示した帳票を例に本例の装置20の効果を説明する。
もし本例に示したような二値化対象外範囲を二値化処理せずに、図4に示した帳票上の表の全てのセルを二値化処理をする場合、処理回数は、行数22×列数32=704回である。それに対し、本例の装置30を用いることによる二値化処理回数は、行数22×列数3=66回を削減することができる。
【0112】
(例2)
例2は、各項目のデータの記載位置に位置属性付けを行い、セルごとの空白部分と特定し対象外とすることで、部分二値化する範囲を削減する方法及びそれを用いた装置に関する。
【0113】
図10乃至13を参照して、本例を説明する。図10は本発明の例2の装置30のブロック図である。図11は本発明の例2の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。図12は本発明の例2の装置が処理対象とする帳票の例の一部を示す図である。図13は図12に示した帳票の例の一部の二値化対象外範囲を示す図である。
【0114】
図10に示されているように、本例に従う帳票認識装置30は、表構造情報抽出部120、見出し・項目抽出部140、二値化対象外処理部150、及び記入有無判定部154を含んでいる。これらは互いに電気的に接続されている。
【0115】
また、装置30は、原画像記憶部200、表構造情報記憶部204、見出し・項目情報記憶部208、見出し辞書部210、二値化対象外範囲記憶部212、及び閾値記憶部214を含んでいる。
【0116】
装置30では、見出し・項目情報記憶部208及び見出し辞書部210は見出し・項目抽出部140に、表構造情報記憶部204は表構造情報抽出部120に、閾値記憶部214及び原画像記憶部200は記入有無判定部154に接続されている。
【0117】
図11は、装置30で実行される処理を表すフローチャートである。
本例の装置30では、見出し項目を対象にデータ記載位置が左詰か右詰かの位置属性付けを行い、項目列ごとに空白部分が存在するセルにチェックを施し、特定した空白部分を部分二値化対象外範囲として、二値化処理面積を削減する。
【0118】
図11に示される処理では、S3000で、例1のS2000と同様に、表の一番上の行中の文字を残した二値画像を対象に文字認識を行い、抽出した文字情報を見出し辞書部210に記憶されている情報と突合せ、見出しとみなした文字情報を見出し・項目情報記憶部208に出力する。
【0119】
次にS1025では、表の一番上の行中の文字を残した二値画像中の文字が見出し辞書部210に無かった場合、部分二値化する範囲を削減する処理を終了する。また、表の一番上の行中の文字を残した二値画像中の文字が見出し辞書部210にある場合、S1035に進む。
【0120】
S1035では、見出し・項目情報記憶部208に記憶されている認識対象とした見出し情報を参照し、認識外フラグが付加されていない項目に位置属性フラグを付加する。フラグ例としては、0なら左詰、1なら右詰である。S1035の処理は、見出し・項目抽出部140で行われる。
【0121】
図12は、位置属性フラグの付加の例を示している。「金融機関名」なる見出しに対しては、位置属性フラグ0が付加され、認識対象文字データである「AAA銀行」、「BBB銀行」などは、セル内で左詰で記入される。一方、「口座番号」なる見出しに対しては、位置属性フラグ1が付加され、口座番号は右詰で記入される。
【0122】
S1035の次のS3005では、空白部分のチェックが行われる。
S3005の処理を、図13を参照しながら説明する。
原画像記憶部200中の、スキャナで読み込まれた帳票のカラー画像を参照し、記入有無判定部154が、前述のように設定されたフラグに基づいて、帳票上の表の列ごとにヒストグラムを用いた黒画素判定をドット単位で行い、空白部分を特定する。ここで、ヒストグラムとは、図13に示されているように、結合セル(はしご枠セル)内の黒画素領域分布を示す。図13中のヒストグラムで、横軸はセル内の左端からの距離、縦軸は黒画素数である。ヒストグラムは、二値化処理を行う個々の単位領域が黒画素であるか、そうでないかを、その領域の色のHSV空間におけるベクトルから判定した結果の分布であっても良い。例えば、明度が20%より小さい単位領域を黒画素と判定しても良い。はしご枠セルでヒストグラムを作成すると、桁を区別する罫線で黒画素数の鋭いピークが表れる。このピークの情報を利用して、はしご枠セルの抽出を行う、または確認を行っても良い。また、このピークは、空白部分として認識される。
【0123】
そして、特定された空白部分を二値化対象外範囲記憶部212に出力する。
見出し「金融機関名」には、空白部分の特定のために黒画素が存在するか否かのチャック処理をセルの右から行うことを示す列の位置属性フラグ“0”が、見出し「口座番号」には、空白部分の特定のために黒画素が存在するか否かのチャック処理をセルの左から行うことを示す列の位置属性フラグ“1”が付加される。
【0124】
S3005に引き続くS2010で、二値化対象外範囲記憶部212によって、S1030で設定されたフラグに基づいて、認識対象外の見出し項目の列の空白部分の座標を二値化対象外として、二値化対象外範囲記憶部212に座標を出力する。
【0125】
本例で二値化面積を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0126】
図4に示した帳票を例に本例の装置30の効果を説明する。
本例の装置30を用いることによる二値化処理面積は、見出しが「項番」の列の4%、「振込み」の列の8%、「摘要」の列の7%の計19%を削減することができる。
【0127】
(例3)
本例は、表のセル情報の記入の有無をチェックすることにより、部分二値化をする範囲と回数を削減する装置に関する。
【0128】
図14乃至16を参照して本例を説明する。図14は本発明の例3の装置40のブロック図である。図15は本発明の例3の装置に適用されるキーワード認識技術の処理方法を示すフローチャートである。図16は、本発明の例3の装置が処理対象とする帳票の例の一部を示す図である。
【0129】
図14に示されているように、本例に従う帳票認識装置40は、表構造情報抽出部120、二値化対象外処理部150、及び記入有無判定部154を含んでいる。これらは互いに電気的に接続されている。
また、装置40は、原画像記憶部200、表構造情報記憶部204、二値化対象外範囲記憶部212、閾値記憶部214、ヒストグラム記憶部216を含んでいる。表構造情報記憶部204は表構造情報抽出部120に、二値化対象外範囲記憶部212は二値化対象外処理部150に、並びに閾値記憶部214、ヒストグラム記憶部216及び原画像記憶部200は記入有無判定部154に接続されている。
【0130】
図15は装置40で実行される処理を表すフローチャートである。
本例の装置40では、表のセル情報の記入の有無を行単位でチェックし、未記入セルが一定数以上からなる行を二値化対象外とし、二値化処理面積を削減する。
【0131】
本例の処理では、表構造情報記憶部204から、処理をしたい帳票の電子化された画像に関する表構造情報を参照し、帳票に含まれる表の一番下の行から上の行に向かって、記入の有無をチェックする。
【0132】
まず、S4000では、原画像記憶部200から帳票のカラー画像を参照し、記入有無判定部154により黒画素数のチェックを行うことでセルごとの記入有無を判定し、記入有りと判断した時には記入フラグを付加する。例えば、記入フラグ“1”は記入有り、記入フラグ“0”は記入されているとは断定できない記入不明確の状態を表しても良い。
【0133】
図16に、記入フラグが付加された表のセルの例を示す。図16中で各セルの下に示されているのはセル中の黒画素数のヒストグラムである。
このとき、ヒストグラム中、一定の閾値以上の黒画素が周期的に見出されるセル列ははしご枠セルのヒストグラムとしてヒストグラム記憶部216に出力する。閾値は、予め閾値記憶部214に記憶されている。
【0134】
また、はしご枠セルは、表構造情報を参照して、見出しを表す文字が記入されているセルの長さと、見出しを表す文字が記入されているセルに対応する場所(たとえば、見出しが記入されているセルに対応する列)の長さを比較することによって抽出するまたは候補を抽出しても良い。一般に、はしご枠セルの各桁を区切る罫線は点線または破線であることが少なくない。よって、帳票上の点線または破線などの実線ではない罫線を抽出することによって、はしご枠セルを抽出するまたは候補を抽出しても良い。
【0135】
S4000に引き続くS4005では、その行に属する全てのセルが未記入または記入不明瞭であるかを判定する。その行に属する全てのセルが未記入または記入不明瞭であれば、その行に属する全てのセルが未記入または記入不明瞭であるかを示すフラグである、未記入フラグ“1”を立てて、S4010に進み、処理する行を一つ1の行に移し、S4000に戻る。
【0136】
S4005で、その行に記入フラグ“1”と記入フラグ“0”が立っているセルが一定数以上見出されると、その行には文字が記入されたセルが存在することになる。この時は、S4015に進み、二値化対象外処理部150によって、未記入フラグ“1”が立てられた行を、二値化対象外範囲記憶部212に、二値化対象外の座標として出力し、二値化をする範囲と回数を削減する処理を終了する。
【0137】
本例で二値化をする範囲と回数を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0138】
図4に示した帳票を例に本例の装置40の効果を説明する。
本例の装置40を用いることによる二値化処理回数は、図4中の帳票上の表の第13行目から第20行目のセルの二値化処理を削減することができる。よって、表の一番上の見出しを含む行と表の一番下の小計欄を含む行の計22行中、8行は二値化処理を行わない。よって二値化処理の回数は、約34%減らすことができる。
【0139】
(例4)
本例は、例えば金額、手数料などに関するセルなど、セルがはしご枠の場合、はしご枠内のセルをはしご枠セルとして1つにグルーピングして、表の一番下の行からはしご枠セル内に記入される数字の最大桁数を求め、はしご枠セルで部分二値化を行う範囲を削減する装置に関する。ここで、グルーピングされて生成されたセルは複数セルとしても参照され得る。
【0140】
図17乃至21を参照して本例を説明する。図17は装置50のブロック図、図18は装置50に適用されるキーワード認識技術の処理方法を示すフローチャートである。図19は装置50に適用されるキーワード認識技術の処理方法中のはしご枠の抽出を説明する図である。図20は装置50が処理対象とする帳票の例の一部の二値化対象外範囲を示す図である。図21は装置50に適用されるキーワード認識技術の処理方法中のはしご枠のグルーピングを説明する図である。
【0141】
図17に示されているように、本例に従う帳票認識装置50は、表構造情報抽出部120、見出し・項目抽出部140、簡易文字認識処理部142、二値化対象外処理部150、はしご枠グルーピング処理部152、記入有無判定部154を含んでいる。
【0142】
また、装置50は、原画像記憶部200、表構造情報記憶部204、見出し辞書部210、二値化対象外範囲記憶部212、閾値記憶部214、ヒストグラム記憶部216を含んでいる。表構造情報記憶部204は表構造情報抽出部120に、見出し辞書部210は見出し・項目抽出部140に、二値化対象外範囲記憶部212は二値化対象外処理部150に接続されている。原画像記憶部200、閾値記憶部214、及びヒストグラム記憶部216は記入有無判定部154に接続されている。
【0143】
図18は装置50で実行される処理を表すフローチャートである。
本処理では、まず、表構造情報を元に、ある見出しに対応する表の最下部に位置する小計欄を抽出し、はしご枠セルである小計欄に記入されている数字の桁数を最大桁数として抽出する。すると、その見出しの列の各行に記載される数字の桁数は、小計欄に記入される桁数より小さいので、各行の最大桁数を超える桁は空白である。その空白部分は二値化処理を行わないことによって、二値化処理の回数および二値化処理面積を減らすことができる。
【0144】
S1060では、表の中のはしご枠を抽出し、表構造情報記憶部204に出力する。次のS1065では、表構造情報記憶部204中の表構造情報を参照し、記入有無判定部154により表(明細)中のセルを対象にヒストグラムによるチェックを行い、たとえば前の例3で述べたような方法ではしご枠情報を抽出し、はしご枠とみなしたセルには、はしごフラグ“1”を付与する。図19はセルにはしごフラグが付与された例を示している。図19に示されているように、はしご枠では、例えば数字の場合の桁を区切る破線によるヒストグラムのピークが空間的に周期的に現れるという特徴を有する。はしご枠の特定に使用する閾値は予め閾値記憶部214に記憶されている。
【0145】
S1065ではしご枠があると判定された場合には、S1070に進み、簡易文字認識処理部142によって、表構造情報記憶部204の情報から帳票中の一番下行から2行分を対象に文字認識を行う。次のS1070では、抽出した文字情報を見出し辞書部210と比較し、小計欄とみなした見出し情報を(図示されていない)見出し・項目情報記憶部208に出力する。ほとんどの場合、小計欄は帳票上の表の最下部に位置し、合計欄と共に記載されることが多いため、表の下から2行分の文字認識を行うことが望ましい。
【0146】
S1065ではしご枠がないと判定された場合には、はしご枠セルで部分二値化を行う範囲を削減する処理を終了する。
S5000では、小計欄とみなした文字情報が見出しにあるのかどうかを判定する。もし、S5000の判定の結果、見出しにあると判定されればS1080に進み、s1080では、小計見出しの列に存在するセルに対し、ヒストグラムによるチェックを行う。図20の金額欄及び手数料欄のように、小計記入欄がはしご枠の場合、原画像記憶部200からカラー画像を参照し、記入有無判定部154によりはしご枠の黒画素数をチェックし、その桁数を算出する。
【0147】
S1080の次のS1155では、各明細中の金額、手数料欄のはしご枠のうち、算出した桁数以外のはしごセルを二値化対象外処理部150によって二値化対象外領域とし、二値化対象外範囲記憶部212に出力し、そのようなセルの表構造情報中のはしごフラグを削除する。
【0148】
次のS5005では、はしご枠グルーピング処理部152により、図21に示されているように、帳票全体のはしごフラグが付加されたセルのうち、隣接するセルをグルーピングし、次のS5010でグルーピング結果を二値化対象外範囲記憶部212に出力する。
【0149】
本例で二値化をする範囲と回数を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
図20に示した帳票を例に本例の装置50の効果を説明する。
【0150】
本例の装置50を用いることによる二値化処理面積は、「金額」の列の4桁分と手数料列の1桁分を削減することができる。この面積は表全体の約10%にあたる。
以上のように、本例では、小計欄、金額欄がはしご枠の場合、小計の記入桁数を特定することで見出しごとの金額、手数料の最大桁数も特定でき、二値化対象範囲を狭めることができる。よって、帳票認識装置における二値化処理の高速化を図ることができる。
【0151】
(例5)
本例は、例えば金額、手数料などに関するセルなどの、セルがはしご枠でない場合、小計の記入文字列の文字数(記入文字列の長さ)を参照し、セル中の空白部分を特定し、部分二値化を行う範囲を削減する装置60に関する。
【0152】
図22乃至24を参照して、本例を説明する。
図22に示されているように、本例に従う帳票認識装置60は、表構造情報抽出部120、見出し・項目抽出部140、簡易文字認識処理部142、二値化対象外処理部150、記入有無判定部154を含んでいる。
【0153】
また、装置60は、原画像記憶部200、表構造情報記憶部204、見出し辞書部210、閾値記憶部214を含んでいる。表構造情報記憶部204は表構造情報抽出部120に、見出し辞書部210は見出し・項目抽出部140に接続されている。原画像記憶部200及び閾値記憶部214は記入有無判定部154に接続されている。
【0154】
図23は、本例の装置60で実行される処理を表すフローチャートである。
本例の装置60では、例4でははしご枠セルであった小計欄がはしご枠ではない、一つのセルの場合に、小計欄に記入されている数字の桁数を最大文字列長として抽出する。すると、その見出しの列の各行に記載される数字の桁数は、小計欄に記入される数字より短いので、各行の最大文字列長を超える桁は空白である。その空白部分は二値化処理を行わないことによって、二値化処理の回数および二値化処理面積を減らすことができる。
【0155】
S1070及びS5000の処理を行った後、S6000では、図24に示されているように、原画像記憶部200からカラー画像を参照し、記入有無判定部154によりはしご枠の黒画素数をヒストグラムを用いてチェックを行い、小計の文字列長を算出する。
【0156】
S6000の処理が終わると、S1155に進み処理をする。即ち、二値化対象外処理部150によって、S6000で算出された小計の文字列長を超えたセル中の領域を二値化対象外範囲とする。
【0157】
本例で二値化をする範囲と回数を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0158】
図24に示した帳票を例に本例の装置60の効果を説明する。
本例の装置50を用いることによる二値化処理面積は、「金額」の列の4桁分と手数料列の1桁分を削減することができる。この面積は表全体の10%にあたる。
尚、例3で記載したような処理を行い、その結果未記入フラグが付加されたセルには上記処理を行わないようにしても良い。
【0159】
(例6)
本例は、受取人の見出し情報にカナ部分と漢字項目が存在する場合、その項目のデータセル上の漢字項目を二値化対象外範囲とすることで、部分二値化を行う範囲を削減する装置70に関する。
【0160】
図25乃至28を参照して本例を説明する。
図25に示されているように、本例に従う帳票認識装置70は、表構造情報抽出部120、見出し・項目抽出部140、簡易文字認識処理部142、二値化対象外処理部150、記入有無判定部154を含んでいる。
また、装置70は、原画像記憶部200、表構造情報記憶部204、見出し辞書部210、二値化対象外範囲記憶部212、閾値記憶部214を含んでいる。表構造情報記憶部204は表構造情報抽出部120に、見出し辞書部210は見出し・項目抽出部140に接続されている。原画像記憶部200及び閾値記憶部214は記入有無判定部154に接続されている。二値化対象外範囲記憶部212は、二値化対象外処理部150に接続されている。
【0161】
図26は、本例の装置70で実行される処理を表すフローチャートである。
S7000で、(図26には図示されていない)見出し・項目情報記憶部208から見出し情報を参照し、表構造上の受取人と口座番号の見出しの座標位置を特定する。
【0162】
次のS7005では受取人見出しの有無を判定し、あればS7010に進む。受取人見出しがない場合は、部分二値化を行う範囲を削減する処理を終了する。
また、S7010では、口座番号見出しの有無を判定し、あればS7015に進む。口座番号見出しがない場合は、部分二値化を行う範囲を削減する処理を終了する。
【0163】
S7015では、表構造情報記憶部204から表構造情報を参照し、口座番号項目の一つ下のセルを参照し、1項目(1明細)分の高さを算出する。次のS7020では、S7015で算出した1明細分の高さを参照し、見出し受取人項目から1つ下のセルを特定し、図27に示されているように、記入有無判定部154によりセル中の上下に分割する罫線があるかヒストグラムを用いてチェックを実施する。罫線チェックに使用する閾値は、予め閾値記憶部214に記憶されている。その後、S7025に進む。
【0164】
S7025では、受取人項目のセルに横罫線があるかを判定する。ある場合にはS70330に進む。S7030では、原画像記憶部200からカラー画像を参照し、受取人セルの上段と下段に対し、簡易文字認識処理部150によって、カテゴリチェックを行い、カナ項目位置の特定を行う。罫線がない場合は、このS7025の判定処理を受取人セル全体にわたって行う。
【0165】
次のS1125では、簡易文字認識処理部142によって、受取人項目にカナ項目があるかのチェックを行う。もしS1125でカナ項目があると判定された場合には、S7035に進む。
【0166】
もしS1125でカナ項目がないと判定された場合には、S1130に進む。
S7035では、受取人項目列の明細ごとに、セルの上段、下段に対しカナ項目フラグを、図28のように付与する。
【0167】
S7035のあとのS1155では、受取人項目列中のカナ項目フラグがカナ項目ではない範囲を二値化対象外処理部150によって、二値化対象外範囲として、二値化対象外範囲記憶部212に出力する。
【0168】
本例で二値化をする範囲と回数を削減する処理を行った後に、図2のS1150〜S1165を行うことによって、帳票の認識を行うことができる。
【0169】
図28に示した帳票を例に本例の装置70の効果を説明する。
本例の装置50を用いることによる二値化処理面積は、図4中の「(フリガナ)」と「受取人」の列のうち、通常は漢字を含む「受取人」の列の二値化処理を省略する。よって、「(フリガナ)」と「受取人」の列の全体に占める面積13%のうち、半分の7%の二値化処理面積を削減することができる。
【0170】
上記では本発明の幾つかの例について記載してきたが、もちろん、上記の例を組み合わせても良い。
二値化処理回数に関しては、例えば例1と例3の技術を組み合わせることによって、例1で66回、例3でさらに242回の計308回を減少させることができる。また二値化面積に関しては、例えば例2と例4と例6の技術を組み合わせることによって、19%+10%+7%=36%の面積を減らすことができる。
【特許請求の範囲】
【請求項1】
罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置であって、
前記表において、前記セルの配置を定める表構造を画定する表構造画定手段と、
前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出手段と、
前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定手段と、
前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、
前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択手段と、
前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化手段と、
前記二値画像から帳票に記載されている文字を認識する文字認識手段、
を具備することを特徴とする帳票認識装置。
【請求項2】
前記二値化対象セル選択手段は、前記表構造画定手段で画定された前記表構造のセルのうち、前記見出しに対応する相対位置に位置するセルが記入済みセルでなかったときに、前記記入済みセルでないセルに対して所定の相対位置にあるセルを前記二値化対象セルから除外することを特徴とする請求項1記載の帳票認識装置。
【請求項3】
前記見出しに対応する相対位置に位置する複数のセルを前記表構造中に画定する複数セル画定手段、
を含み、
前記二値化対象セル選択手段は、前記複数のセルを前記二値化対象セルとして認識することを特徴とする請求項1または2記載の帳票認識装置。
【請求項4】
前記複数のセルのうち文字が記入されているセルが連続する記入済みの複数セルを検出する記入済み複数セル検出手段と、
を含み、
前記二値化対象セル選択手段は、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記複数セルのうち、記入済み複数セル検出手段で検出された前記複数セルのみを二値化対象セルとして選択することを特徴とする請求項3記載の帳票認識装置。
【請求項5】
前記見出しに対応する相対位置に位置する複数のセルを含む結合セルを前記表構造中に画定する結合セル画定手段、
を含み、
前記二値化対象セル選択手段は、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セル内の一部のみを、前記二値化対象セルとして選択することを特徴とする請求項1から4いずれか一項に記載の帳票認識装置。
【請求項6】
前記表構造画定手段で画定された前記表構造のセルの少なくとも一部のセルから、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、
前記結合セル中の、前記記入済みセルの最大数を画定する最大セル数画定手段と、
を含み、
前記二値化対象セル選択手段はさらに、前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セルに含まれる前記複数のセルから、前記最大数のセルを、前記見出しに依存して二値化対象セルとして選択することを特徴とする請求項1から5いずれか一項記載の帳票認識装置。
【請求項7】
前記帳票の画像はカラー画像であり、
前記記入済みセル検出手段は、前記セルの色の、色相、彩度及び明度の3つの成分からなるHSV色空間内のベクトルを用いて、前記セルが記入済みか否かを判断することを特徴とする請求項1から6いずれか一項記載の帳票認識装置。
【請求項8】
罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識方法であって、
前記表において、前記セルの配置を定める表構造を画定するステップと、
前記画像から予め定められた文字又は文字列である見出しを抽出するステップと、
前記見出しを含むセルである見出しセルの位置を前記表構造中に特定するステップと、
前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出するステップと、
前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択するステップと、
前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成するステップと、
前記二値画像から帳票に記載されている文字を認識するステップと、
を具備することを特徴とする帳票認識方法。
【請求項9】
罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置として用いることが可能なコンピュータに、
前記表において、前記セルの配置を定める表構造を画定する表構造画定機能と、
前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出機能と、
前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定機能と、
前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出機能と、
前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択機能と、
前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化機能と、
前記二値画像から帳票に記載されている文字を認識する文字認識機能、
を実現させることを特徴とするプログラム。
【請求項1】
罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置であって、
前記表において、前記セルの配置を定める表構造を画定する表構造画定手段と、
前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出手段と、
前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定手段と、
前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、
前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択手段と、
前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化手段と、
前記二値画像から帳票に記載されている文字を認識する文字認識手段、
を具備することを特徴とする帳票認識装置。
【請求項2】
前記二値化対象セル選択手段は、前記表構造画定手段で画定された前記表構造のセルのうち、前記見出しに対応する相対位置に位置するセルが記入済みセルでなかったときに、前記記入済みセルでないセルに対して所定の相対位置にあるセルを前記二値化対象セルから除外することを特徴とする請求項1記載の帳票認識装置。
【請求項3】
前記見出しに対応する相対位置に位置する複数のセルを前記表構造中に画定する複数セル画定手段、
を含み、
前記二値化対象セル選択手段は、前記複数のセルを前記二値化対象セルとして認識することを特徴とする請求項1または2記載の帳票認識装置。
【請求項4】
前記複数のセルのうち文字が記入されているセルが連続する記入済みの複数セルを検出する記入済み複数セル検出手段と、
を含み、
前記二値化対象セル選択手段は、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記複数セルのうち、記入済み複数セル検出手段で検出された前記複数セルのみを二値化対象セルとして選択することを特徴とする請求項3記載の帳票認識装置。
【請求項5】
前記見出しに対応する相対位置に位置する複数のセルを含む結合セルを前記表構造中に画定する結合セル画定手段、
を含み、
前記二値化対象セル選択手段は、前記見出し位置特定手段によって特定された前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セル内の一部のみを、前記二値化対象セルとして選択することを特徴とする請求項1から4いずれか一項に記載の帳票認識装置。
【請求項6】
前記表構造画定手段で画定された前記表構造のセルの少なくとも一部のセルから、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出手段と、
前記結合セル中の、前記記入済みセルの最大数を画定する最大セル数画定手段と、
を含み、
前記二値化対象セル選択手段はさらに、前記見出しを含むセルの位置に対して、前記見出しに対応する相対位置に位置する前記結合セルに含まれる前記複数のセルから、前記最大数のセルを、前記見出しに依存して二値化対象セルとして選択することを特徴とする請求項1から5いずれか一項記載の帳票認識装置。
【請求項7】
前記帳票の画像はカラー画像であり、
前記記入済みセル検出手段は、前記セルの色の、色相、彩度及び明度の3つの成分からなるHSV色空間内のベクトルを用いて、前記セルが記入済みか否かを判断することを特徴とする請求項1から6いずれか一項記載の帳票認識装置。
【請求項8】
罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識方法であって、
前記表において、前記セルの配置を定める表構造を画定するステップと、
前記画像から予め定められた文字又は文字列である見出しを抽出するステップと、
前記見出しを含むセルである見出しセルの位置を前記表構造中に特定するステップと、
前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出するステップと、
前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択するステップと、
前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成するステップと、
前記二値画像から帳票に記載されている文字を認識するステップと、
を具備することを特徴とする帳票認識方法。
【請求項9】
罫線で区切られたセルであって、その中に文字若しくは文字列を含む、又は含まないセルで構成される表を含む帳票に記載されている文字を認識する帳票認識装置として用いることが可能なコンピュータに、
前記表において、前記セルの配置を定める表構造を画定する表構造画定機能と、
前記画像から予め定められた文字又は文字列である見出しを抽出する、見出し抽出機能と、
前記見出しを含むセルである見出しセルの位置を前記表構造中に特定する、見出し位置特定機能と、
前記表構造画定手段で画定された前記表構造のセルのうち、セル内に何らかの文字又は文字列が記入されている記入済みセルを検出する記入済みセル検出機能と、
前記記入済みセル検出手段で検出された前記記入済みセルのみを二値化対象セルとして選択する二値化対象セル選択機能と、
前記表の中の前記二値化対象セルの二値化処理を行ない、二値画像を生成する二値化機能と、
前記二値画像から帳票に記載されている文字を認識する文字認識機能、
を実現させることを特徴とするプログラム。
【図1】
【図2A】
【図2B】
【図2C】
【図3】
【図4】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図14】
【図15】
【図17】
【図18】
【図19】
【図20】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図5】
【図9】
【図13】
【図16】
【図21】
【図2A】
【図2B】
【図2C】
【図3】
【図4】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図14】
【図15】
【図17】
【図18】
【図19】
【図20】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図5】
【図9】
【図13】
【図16】
【図21】
【公開番号】特開2012−141670(P2012−141670A)
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願番号】特願2010−292253(P2010−292253)
【出願日】平成22年12月28日(2010.12.28)
【出願人】(000237639)富士通フロンテック株式会社 (667)
【Fターム(参考)】
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願日】平成22年12月28日(2010.12.28)
【出願人】(000237639)富士通フロンテック株式会社 (667)
【Fターム(参考)】
[ Back to top ]