(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-21
(45)【発行日】2022-01-31
(54)【発明の名称】帳票認識装置、帳票認識方法、及び帳票認識プログラム
(51)【国際特許分類】
G06T 7/11 20170101AFI20220124BHJP
G06V 30/14 20220101ALI20220124BHJP
【FI】
G06T7/11
G06K9/20 340J
(21)【出願番号】P 2018129093
(22)【出願日】2018-07-06
【審査請求日】2020-12-22
(73)【特許権者】
【識別番号】504373093
【氏名又は名称】日立チャネルソリューションズ株式会社
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜特許業務法人
(72)【発明者】
【氏名】新庄 広
(72)【発明者】
【氏名】浅野 英輔
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2001-014468(JP,A)
【文献】特開2013-210785(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/00-9/20
G06T 7/00-7/194
(57)【特許請求の範囲】
【請求項1】
画像入力部から入力された帳票画像を膨張または/および収縮させることにより、前記帳票画像の中からベタ領域の候補領域を検出するベタ領域候補検出部と、
前記帳票画像の色を反転した画像を膨張または/および収縮させることにより、誤結合された前記候補領域を分離し、前記候補領域を、前記分離後の新たな候補領域とする誤結合分離部と、
前記分離後の新たな候補領域がベタ領域か否かを判定し、前記新たな候補領域がベタ領域である場合に、当該新たな候補領域を、検出すべきベタ領域と判定する領域判定部と、
を備えることを特徴とする帳票認識装置。
【請求項2】
請求項1に記載された帳票認識装置であって、
前記ベタ領域候補検出部は、前記帳票画像の膨張または/および収縮において得られた隣接する複数の前記候補領域と、前記入力された帳票画像とに基づいて、前記候補領域間の画像を抽出し、抽出した画像と複数の前記候補領域の画像とを統合する誤分割結合処理を実行する、
ことを特徴とする帳票認識装置。
【請求項3】
請求項1に記載された帳票認識装置であって、
前記誤結合分離部は、前記ベタ領域候補検出部により検出された前記候補領域に対応する入力帳票の画像の色を反転した画像を膨張または/および収縮させた画像と、前記候補領域との差分をとり、当該差分をとることにより分離した画像を、前記分離後の新たな候補領域とする、
ことを特徴とする帳票認識装置。
【請求項4】
請求項1に記載された帳票認識装置であって、
前記領域判定部により判定された前記新たな候補領域の色を反転した画像を生成し、前記入力された帳票画像の反転画像とする白抜き文字抽出部、
を備えることを特徴とする帳票認識装置。
【請求項5】
請求項1に記載された帳票認識装置であって、
カラー画像の前記帳票画像を2値化した第1の2値化画像を出力する第1の2値化部と、
前記第1の2値化部とは異なる方法で前記帳票画像を2値化した第2の2値化画像を出力する第2の2値化部と、を備え、
前記帳票認識装置は、前記第2の2値化画像に基づいて、前記検出すべきベタ領域を検出し、前記第2の2値化画像から前記検出すべきベタ領域を切り出し、切り出した前記ベタ領域に基づいて色を反転した画像を生成し、前記第1の2値化画像から前記検出すべきベタ領域を除去した画像を生成し、前記反転した画像と前記除去した画像とを統合した画像を生成する、
ことを特徴とする帳票認識装置。
【請求項6】
請求項1に記載された帳票認識装置であって、
カラー画像の前記帳票画像から、前記検出すべきベタ領域を2値化したベタ領域2値化画像を出力するベタ領域2値化部と、
前記検出すべきベタ領域が切り出された後の画像を2値化した切り出し画像を出力する切り出し2値化部と、を備え、
前記帳票認識装置は、前記ベタ領域2値化画像に基づいて、前記検出すべきベタ領域を検出して前記帳票画像から前記検出すべきベタ領域を切り出し、切り出した後の画像をネガポジ反転し、前記切り出し2値化部により前記ネガポジ反転された画像を2値化し、前記帳票画像から前記検出すべきベタ領域を除去した画像を生成し、前記2値化した画像と前記除去した画像とを統合した画像を生成する、
ことを特徴とする帳票認識装置。
【請求項7】
請求項1に記載された帳票認識装置であって、
カラー画像の前記帳票画像を2値化した第1の2値化画像を出力する第1の2値化部と、
前記第1の2値化部とは異なる方法で前記帳票画像を2値化した第2の2値化画像を出力する第2の2値化部と、
前記検出すべきベタ領域が切り出された後の画像を2値化する第3の2値化部と、を備え、
前記帳票認識装置は、前記第2の2値化画像に基づいて、前記検出すべきベタ領域を検出して前記帳票画像から前記検出すべきベタ領域を切り出し、切り出した後の画像をネガポジ反転し、前記第3の2値化部により前記ネガポジ反転された画像を2値化し、前記第1の2値化画像から前記検出すべきベタ領域を除去した画像を生成し、前記2値化した画像と前記除去した画像とを統合した画像を生成する、
ことを特徴とする帳票認識装置。
【請求項8】
請求項1に記載された帳票認識装置であって、
前記領域判定部により判定された前記新たな候補領域の色を反転した画像を生成し、前記入力された帳票画像の反転画像とする白抜き文字抽出部と、
前記反転画像からレイアウト情報を抽出するレイアウト解析部と、
前記レイアウト情報に含まれる文字列を認識する文字列認識部と、
前記認識された文字列の属性を解析する属性解析部と、
を備えることを特徴とする帳票認識装置。
【請求項9】
ベタ領域候補検出部が、画像入力部から入力された帳票画像を膨張または/および収縮させることにより、前記帳票画像の中からベタ領域の候補領域を検出し、
誤結合分離部が、前記帳票画像の色を反転した画像を膨張または/および収縮させることにより、誤結合された前記候補領域を分離し、前記候補領域を、前記分離後の新たな候補領域とし、
領域判定部が、前記分離後の新たな候補領域がベタ領域か否かを判定し、前記新たな候補領域がベタ領域である場合に、当該新たな候補領域を、検出すべきベタ領域と判定する、
ことを特徴とする帳票認識方法。
【請求項10】
コンピュータに、
画像入力部から入力された帳票画像を膨張または/および収縮させることにより、前記帳票画像の中からベタ領域の候補領域を検出する処理と、
前記帳票画像の色を反転した画像を膨張または/および収縮させることにより、誤結合された前記候補領域を分離し、前記候補領域を、前記分離後の新たな候補領域とする処理と、
前記分離後の新たな候補領域がベタ領域か否かを判定し、前記新たな候補領域がベタ領域である場合に、当該新たな候補領域を、検出すべきベタ領域と判定する処理と、
を実行させることを特徴とする帳票認識プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票画像上に記載される白黒反転領域の検出および帳票認識の技術に関する。
【背景技術】
【0002】
光学式文字認識装置(OCR)に代表される帳票認識装置は、処理する帳票の罫線や枠、文字列等のレイアウトを解析し、文字列内の文字を認識する。
【0003】
通常の帳票認識では、白い紙に記載された黒文字や、薄い色の背景上に記載された濃い色の文字を認識対象としている。しかし、黒や濃い色で塗りつぶされたベタ領域に記載された白抜き文字も帳票上に存在する。これらの白抜き文字は、通常のOCRでは認識できない。白抜き文字を認識するには、ベタ領域を抽出し、ベタ領域内部の画素を白黒反転する処理が必要となる。
【0004】
帳票からベタ領域を抽出して白抜き文字を認識する技術として、例えば特許文献1に開示の技術がある。この技術では、まず枠を抽出し、枠線が太く、枠内の黒画素比が高い枠をベタ領域(白黒反転セル)として抽出し、その枠内の画素を反転する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1の方式では、以下の2つの課題がある。
(1)枠抽出を前提としているため、矩形のベタ領域しか抽出できない。
(2)線幅に基づいてベタ領域を抽出しているため、枠の端まで文字が記載されるために
枠線が細い場合には、ベタ領域を抽出できないか、ベタ領域を誤分割してしまう。
【0007】
本発明は、矩形や矩形以外の様々な形状のベタ領域を精度よく検出することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明における帳票認識装置は、好ましくは、画像入力部から入力された帳票画像を膨張または/および収縮させることにより、前記帳票画像の中からベタ領域の候補領域を検出するベタ領域候補検出部と、前記帳票画像の色を反転した画像を膨張または/および収縮させることにより、誤結合された前記候補領域を分離し、前記候補領域を、前記分離後の新たな候補領域とする誤結合分離部と、前記分離後の新たな候補領域がベタ領域か否かを判定し、前記新たな候補領域がベタ領域である場合に、当該新たな候補領域を、検出すべきベタ領域と判定する領域判定部と、を備えることを特徴とする帳票認識装置として構成される。
【0009】
また、本発明は、上記帳票認識装置において行われる帳票認識方法、および帳票認識プログラムとしても把握される。
【発明の効果】
【0010】
本発明の一態様によれば、矩形や矩形以外の様々な形状のベタ領域を精度よく検出することができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態の帳票認識装置の構成図である。
【
図3】第1実施形態の帳票認識処理のフローを示す図である。
【
図4】第1実施形態のベタ領域候補検出の詳細フローを示す図である。
【
図5】第1実施形態のベタ領域候補検出の処理結果の例である。
【
図7】第1実施形態の誤結合分離の詳細フローを示す図である。
【
図8】第1実施形態の白抜き文字抽出の詳細フローを示す図である。
【
図9】第2実施形態の帳票認識処理のフローを示す図である。
【
図10】第3実施形態の帳票認識処理のフローを示す図である。
【
図11】第4実施形態の帳票認識処理のフローを示す図である。
【発明を実施するための形態】
【0012】
以下、実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0013】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【0014】
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0015】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【0016】
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【0017】
続いて、本実施例における帳票認識装置、帳票認識方法、及び帳票認識プログラムについて、図面を用いて詳細に説明する。まず、ハードウェア構成について説明する。
【0018】
A.装置
図1は、本実施例における帳票認識装置100のハードウェア構成例である。帳票認識装置100は、操作部110と、表示部120と、画像入力部130と、記憶部140と、制御部150と、インターフェース(IF)160とを備えるコンピュータ装置である。
【0019】
操作部110は、例えば、ユーザが数字や文字の入力操作を行う際に利用するキーボードや、スキャンの開始を指示するためのボタン等、ハードウェアとしては一般的な装置から構成される。表示部120は、例えば、入力画像や認識結果等を表示する液晶ディスプレイ等、ハードウェアとしては一般的な装置から構成される。
【0020】
画像入力部130は、例えば、フラットベッドスキャナやオートシートフィーダ付きのスキャナ、およびCCD(Charge Coupled Device)等の撮像素子を用いて画像を撮像するデジタルカメラ等、ハードウェアとしては一般的な装置から構成される。記憶部140は、例えば、メモリやハードディスク装置等からなる記憶デバイス等、ハードウェアとしては一般的な装置から構成される。記憶部140は、画像入力部130で入力された画像や各種内部処理用プログラム、および各種設定データを記憶する。また、記憶部140は、文字識別辞書等を記憶する。
【0021】
制御部150は、例えば、CPU(Central Processing Unit)等、ハードウェアとしては一般的な装置から構成される。制御部150は、白抜き文字の検出や文字列の検出、文字列認識等を行う帳票認識や装置全体の制御を行う。なお、入力画像は、画像入力部130が撮像する替わりに、記憶部140内に記録された画像データを用いてもよい。IF160は、例えば、NIC(Network Interface Card)等、ハードウェアとしては一般的な装置から構成され、他の装置とデータを入出力する。
【0022】
以下に示す各実施形態における処理は、制御部150が記憶部140に記憶されているプログラムを読み出して、メモリにロードして実行することにより実現される。例えば、制御部150は、画像入力部、ベタ領域候補検出部、誤結合分離部、領域判定部を含むベタ領域検出部、白抜き文字抽出部、2値化部、レイアウト解析部、文字列認識部、属性解析部等の各機能を実現するためのプログラムやモジュールをメモリにロードして実行する。
【0023】
上記プログラムは、IF160を介してネットワークから記憶部140にダウンロードされ、メモリ上にロードされて、制御部150により実行されるようにしてもよい。また、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有するコンピュータで読み取り可能な記憶媒体に対して情報を読み書きする読書装置を介して、当該記憶媒体からメモリ上に直接ロードされ、制御部150により実行されるようにしてもよい。さらには、上記プログラムを、コンピュータにインストール可能な形式又は実行可能な形式のファイルで上記記憶媒体に記録して提供したり、配布してもよい。さらには、上記プログラムを、通信ネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
【0024】
(第1実施形態)
B.動作概要
本実施形態における帳票装置100は、
図2(A)の入力画像から
図2(B)の白抜き文字を反転した画像を生成する。
図3を用いて、制御部150における帳票認識の概略の処理フローを示す。以下では、入力画像に含まれるベタ領域210を例に挙げて説明しているが、他のベタ領域220~240についても同様に考えることができる。すなわち、
図2(A)に示す入力画像200に含まれるベタ領域210~240のそれぞれは、以下の処理が実行されることにより、
図2(B)に示す画像250に含まれる反転領域260~290として抽出される。
【0025】
ベタ領域は、処理対象となる帳票上の領域が所定の第1の色(例えば、黒色)で塗りつぶされた領域である。当該塗りつぶされた領域には、上記帳票の背景色(例えば、白色)や上記所定の色以外の第2の色(例えば、薄い灰色)で抜かれている部分を含んでもよい。また、以下の説明において、文字といった場合には、かな、漢字等の文字情報のほか、英数字をはじめ、記号、符号、図形等の様々な識別情報を含む。これらの点は、第1実施形態以降、第4実施形態までの各実施形態についても同様である。
【0026】
図3に、制御部150が実行する帳票認識の処理フロー図を示す。
まず、ステップ300の画像入力において、制御部150は、画像入力部130が入力した帳票画像を読み出す。以降の処理は2値画像を前提とした処理であるため、カラー画像の帳票が入力された場合は2値化し、2値画像の帳票が入力された場合はそのまま後段の処理に用いる。
【0027】
次に、ステップ310のベタ領域検出処理において、制御部150(ベタ領域検出部)は、入力された帳票画像から白抜き文字が記載されているベタ領域を検出する。ステップ310はステップ320からステップ340の3つの処理から構成されている。ステップ320のベタ領域候補検出において、制御部150(ベタ領域候補検出部)は、ベタ領域の候補を検出する。この候補には、検出漏れや過検出があってもよい。ステップ310の処理の詳細は、
図4と
図5を用いて後述する。
【0028】
次に、ステップ330の誤結合分離において、制御部150(誤結合分離部)は、ステップ320によって誤って結合して検出されたベタ領域を分離する。ステップ330の処理の詳細は、
図6と
図7を用いて後述する。
【0029】
次に、ステップ340の領域判定において、制御部150(領域判定部)は、ステップ330で分離済みのベタ領域候補に対して、ベタ領域か否かを判定し、ベタ領域であると判定した場合、当該ベタ領域のみを選択する。ベタ領域の判定には、領域内の黒画素比や輪郭線の直線性などを用いる。
【0030】
ステップ350の白抜き文字抽出では、制御部150(白抜き文字抽出部)は、ステップ340において選択したベタ領域内から白抜き文字を抽出し、白黒反転した文字画像を生成する。ステップ350の処理の詳細は、
図8を用いて後述する。
【0031】
以上のように、本実施形態によると、帳票上のベタ領域を検出し、ベタ領域内の白黒反転文字を抽出して、白背景上の黒文字に変換することができる。具体的には、ベタ領域候補検出部が、画像入力部130から入力された帳票画像を膨張または/および収縮させることにより、帳票画像の中からベタ領域の候補領域を検出し、誤結合分離部が、帳票画像の色を反転した画像を膨張または/および収縮させることにより、誤結合された候補領域を分離し、候補領域を、分離後の新たな候補領域とし、領域判定部が、分離後の新たな候補領域がベタ領域か否かを判定し、新たな候補領域がベタ領域である場合に、当該新たな候補領域を、検出すべきベタ領域と判定する。上記各部の具体的な動作については後述する。
【0032】
C.詳細動作
(実施形態の処理の詳細)
以下、
図3に示した処理の詳細について説明する。
図4は、
図3のステップ320のベタ領域候補検出処理の詳細フローである。
図5は、
図4の各ステップにおける処理結果の例である。なお、この処理は2値画像を前提としている。ただし、カラー画像であっても、色ごとに画像を分離するなどしてこの処理を用いてもよい。
【0033】
2値画像の符号化方法として「ランレングス符号化」がある。ランレングス符号化は、連続する黒画素の始点座標と連続する長さ(run-length)の情報に置き換える方式である。例えば、横方向のランレングス符号は、横方向に連続する黒画素に対して、黒画素の始点座標と連続する長さを記録する。縦方向のランレングス符号は、縦方向の連続する黒画素に対して、同様に符号化したものである。本実施例では、ランレングス符号を用いた処理の例を記載する。ただし、他の符号化方法を用いてもよい。
【0034】
以下、
図4の処理フローの詳細について説明する。
まず、ステップ400の膨張・収縮・膨張処理において、制御部150(ベタ領域候補検出部)は、入力画像からベタ領域の候補となる領域を検出する。ここで、膨張処理とは黒画素の領域を拡張することであり、収縮処理とは黒画素の領域を縮小することである。具体的には、膨張処理は、白抜き文字を除去するために、ベタ領域中の白抜き文字を黒画素に変換する処理である。収縮処理は、ノイズを除去するために、画像中の罫線や黒文字等を消去する処理である。ベタ領域候補検出部は、入力画像に対してこれらの処理をした結果、黒画素が連結した領域をベタ領域候補とする。
【0035】
ここで、膨張処理、収縮処理とも、拡張する画素数と収縮する画素数のパラメータを事前に指定しておく。ランレングス符号を用いてこの処理を実行する場合には、まず横方向のランレングス符号に対して膨張(連続する黒画素を左右に拡大、もしくは隣接する黒画素と結合)した後、収縮(連続する黒画素を短縮、もしくは消去する)し、さらに膨張処理をする。この処理を施した横ランを縦方向のランレングス符号に変換して同様の処理をする。なお、白抜き文字の白画素を黒画素化し、罫線や文字の黒画素を白画素化する方式であれば、膨張・収縮・膨張以外の処理を用いてもよい。
【0036】
次に、ステップ410の誤分割結合処理において、ベタ領域候補検出部は、ベタ領域候補を誤って複数の領域に分割して検出した際の補正をする。例えば、
図5(A)の領域500に対して、ステップ400の処理を実行し、
図5(B)の領域510と領域515とが検出された場合、当該補正を行う。ステップ410は、ステップ420からステップ470の処理から構成されている。以下に示すように、ステップ410では、ベタ領域候補検出部が、帳票画像の膨張または/および収縮において得られた隣接する複数の候補領域と、入力された帳票画像とに基づいて、候補領域間の画像を抽出し、抽出した画像と複数の候補領域の画像とを統合する誤分割結合処理を実行する。
【0037】
ステップ420において、ベタ領域候補検出部は、ステップ400の膨張・収縮・膨張処理で検出されたベタ領域候補の中から隣接する2つのベタ領域候補(例えば、領域510と領域515)を選択する。
【0038】
ステップ430において、ベタ領域候補検出部は、ステップ420で選択されたベタ領域候補の中から隣接する2つのベタ領域候補間の元画像を抽出する。例えば、ベタ領域候補検出部は、ステップ420で選択したベタ領域候補と同じ座標に位置する領域と、これらの領域間に位置する領域とを、
図3のステップ300で入力した帳票画像の中から領域500として読み出し、読み出した領域500の画像(
図5(A))と、
図5(B)の領域510と領域520との差となる領域間の入力画像(
図5(C))を抽出する。
【0039】
ステップ440において、ベタ領域候補検出部は、ステップ420で選択した2つの領域の画像と、ステップ430で抽出した画像を統合する。例えば、ベタ領域候補検出部は、
図5(B)に示した各領域と、
図5(C)に示した領域とを統合して、
図5(D)に示す領域の画像を生成する。
【0040】
ステップ450において、ベタ領域候補検出部は、ステップ440で統合した領域の画像が連結した1つの領域であるか否かを判定する。例えば、ベタ領域候補検出部は、
図5(D)に示す領域の画像は連結した1つの領域となっていると判定する。
【0041】
ステップ450の連結判定において、ベタ領域候補検出部は、統合した領域が連結していると判定すると(ステップ450;YES)、ステップ460において、統合した領域を新たなベタ領域候補とする。一方、ステップ450の連結判定において、ベタ領域候補検出部は、統合した領域が連結していないと判定すると(ステップ450;NO)、そのままステップ470に進む。
【0042】
ステップ470において、ベタ領域候補検出部は、全てのベタ領域候補の組合せでステップ420からステップ460の処理をしたか否かを判定する。ベタ領域候補検出部は、全ての組合せに対して処理していないと判定した場合(ステップ470;NO)、別の組合せに対してステップ420に戻り、以降の処理を実行する。一方、ベタ領域候補検出部は、全てのベタ領域候補の組合せでステップ420からステップ460の処理をしたと判定した場合(ステップ470;YES)、ステップ410の誤分割結合処理を終了し、ステップ480に進む。
【0043】
次に、ステップ480の穴埋め処理において、ベタ領域候補検出部は、ステップ410で検出した新たなベタ領域候補に対して、領域内の白画素を黒画素に変換する。穴埋めとは、連続する白画素の両端がベタ領域候補の黒画素で挟まれている場合に、白画素を黒画素に変換することである。この処理を横方向と縦方向のランレングス符号に対して行う。ベタ領域候補検出部がこのような処理を行うことにより、例えば、
図5(D)に示した領域の画像が
図5(E)に示す領域の画像となり、欠けや結合部の白抜き文字が黒画素に変換される。ここで、穴埋めの長さの最大値を設定してもよい。この設定値により、当該最大値を超える欠けや結合部の白抜き文字が黒画素に変換されることがないため、「コ」の字形のような複雑なベタ領域も検出することができる。
【0044】
以上のように、ベタ領域候補検出部が、
図4のステップ400からステップ480を実行することにより、誤分割されたベタ領域を結合した新たなベタ領域の候補が検出される。
【0045】
しかしながら、例えば、
図6(A)に示すように、
図3のステップ300で入力した帳票画像に含まれるベタ領域が近接している場合や、罫線でつながっている場合は、
図4の処理により、
図6(C)のように2つのベタ領域が1つの新たなベタ領域候補として検出される。具体的には、
図6(A)左に示すようにベタ領域が近接している場合は、ステップ400の膨張・収縮・膨張処理により結合される(
図6(B))。また、
図6(A)右に示すように上記ベタ領域が罫線でつながっている場合は、ステップ460のベタ領域候補統合処理により結合される(
図6(C))。このため、上記新たなベタ領域候補について、誤結合された領域を分離する必要がある。
【0046】
図7は、
図3のステップ330の誤結合分離処理の詳細フローである。誤結合分離処理では、誤結合分離部が、ベタ領域候補内の白画素の塊を検出し、この白画素塊を用いて分離する。具体的には、誤結合分離部は、ベタ領域候補内の白画素に対して
図4と同様の処理をすることにより白地の領域を検出し、ベタ領域候補から除去することにより、誤結合を分離する。以下に示すように、本処理では、誤結合分離部が、ベタ領域候補検出部により検出された候補領域に対応する入力帳票の画像の色を反転した画像を膨張または/および収縮させた画像と、候補領域との差分をとり、当該差分をとることにより分離した画像を、分離後の新たな候補領域とする処理を行う。
【0047】
以下、
図7の処理フローの詳細について説明する。
まず、ステップ710の白黒反転処理において、誤結合分離部は、
図4の処理で判定された新たなベタ領域候補内の画素を白黒反転する。この処理により、白抜き文字を白黒反転して黒画素化する。
図6の例では、誤結合分離部は、
図6(C)に示す新たなベタ領域候補が穴埋めされて統合された後の領域に対応する入力帳票の画像である
図6(A)に示す帳票画像上のベタ領域を白黒反転して、
図6(D)に示す画像を生成する。
【0048】
次に、ステップ720において、誤結合分離部は、ステップ710で生成された画像に対して収縮・膨張処理をする。この処理により、白抜き文字の黒画素を除去する。例えば、誤結合分離部は、生成した白黒反転後の画像(
図6(D))に対して、
図4のステップ400における収縮処理を行って画像中の罫線や黒文字等を消去することにより、
図6(A)の白抜き文字に対応する部分の黒画素を除去する。その後、誤結合分離部は、収縮した画像を元の画像の大きさに戻すために、上記黒画素を除去した画像に対して膨張処理を行う。
図6の例では、これらの処理が実行されることにより、
図6(D)に示す画像から
図6(E)に示す画像が生成される。
【0049】
次に、ステップ730において、誤結合分離部は、各領域内で穴埋めをする。例えば、誤結合分離部は、ステップ720において行われた収縮・膨張処理により、黒画素領域に白画素領域が残っているか否かを判定し、黒画素領域に白画素領域が残っていると判定した場合、黒画素領域内に生じている白画素領域を、黒画素で穴埋めする。
図6の例では、制御部150は、
図6(E)に示す画像から
図6(F)に示す画像を生成する。
【0050】
次に、ステップ740において、誤結合分離部は、新たなベタ領域候補の画像(
図6(C))と、ステップ730で生成した画像との差分をとる。この処理により、上記新たなベタ領域候補の画像の黒画素領域が近接している場合は分離することができる。
図6の例では、誤結合分離部は、
図6(C)に示す画像から
図6(F)に示す画像を減算し、
図6(G)に示す画像を生成する。
【0051】
しかしながら、上記新たなベタ領域候補に含まれる黒画素領域が罫線で接続されている場合は、当該新たなベタ領域候補の画像がまだ誤結合された状態となっている。
【0052】
そのため、次のステップ750において、誤結合分離部は、ステップ740で生成した画像に対して収縮・膨張処理をする。この処理により、上記新たなベタ領域候補に含まれる黒画素領域を接続する黒画素の罫線を除去し、上記新たなベタ領域候補に含まれる黒画素領域を分離することができる。
図6の例では、誤結合分離部は、
図6(G)に示す画像から
図6(H)に示す画像を生成する。
【0053】
次に、ステップ760において、誤結合分離部は、上記新たなベタ領域候補を、ステップ750で分離された上記黒画素領域に更新し、当該更新した当該黒画素領域を、分離後の新たなベタ領域候補の画像とする。
【0054】
以上のように、
図7のステップ710からステップ760により、
図4の処理で検出された新たなベタ領域候補の画像うち、誤接続された新たなベタ領域候補の黒画素領域を分離し、当該黒画素領域を、分離後の新たなベタ領域候補の画像とすることができる。この結果、
図6の例では、
図6(A)の画像から
図6(I)の画像を生成することが可能となる。
図6(I)の画像の生成については、
図8を用いて後述する。
【0055】
図8は、
図3のステップ350の白抜き文字抽出処理の詳細フローである。本処理では、白抜き文字抽出部が、領域判定部により判定された新たな候補領域の色を反転した画像を生成し、入力された帳票画像の反転画像とする処理を実行する。
【0056】
まず、ステップ810において、白抜き文字抽出部は、ステップ310で検出したベタ領域を収縮する。白抜き文字抽出部が、検出したベタ領域を収縮する理由は、検出したベタ領域の境界線(
図6(I)に示す画像の枠線)を残すためである。例えば、白抜き文字抽出部は、検出したベタ領域に対して、周囲3ドット分だけ小さくなるように、当該ベタ領域を収縮する。上記境界線を残す必要がない場合には、この処理を省略してもよい。
【0057】
次に、ステップ820において、白抜き文字抽出部は、ステップ810で生成した領域内の画像を白黒反転する。例えば、白抜き文字抽出部は、
図6(A)に示した領域の画像に含まれる、ステップ810で生成した収縮後のベタ領域を白黒反転する。この処理により、検出されたベタ領域の境界線を残しつつ、ベタ領域内の白文字領域を白黒反転させ、
図6(I)が得られる。白抜き文字抽出部は、
図3のステップ300で入力した帳票画像に含まれるすべてのベタ領域について、
図3~
図8に示す処理を実行する。これにより、例えば、
図2(A)に示した帳票画像から
図2(B)に示した帳票画像を得ることができる。
【0058】
以上のように、
図3から
図8を用いてベタ領域を抽出して白黒反転することにより、ベタ領域に記載された白抜き文字を、白背景上の黒文字に変換できる。
【0059】
D.その他の実施形態
(第2実施形態)
第1実施形態では、入力画像からベタ領域を検出し、検出した領域内を白黒反転した。これに対し、第2実施形態では、黒文字生成用と白抜き文字抽出用の2値画像を分ける。2値化の手法やパラメータの違いにより、文字認識に適した黒文字を生成する2値画像と、ベタ領域検出に適した2値画像が異なることがあるためである。以下に示すように、本実施形態では、第1の2値化部が、カラー画像の帳票画像を2値化した第1の2値化画像を出力し、第2の2値化部が、第1の2値化部とは異なる方法で帳票画像を2値化した第2の2値化画像を出力し、帳票認識装置が、第2の2値化画像に基づいて、検出すべきベタ領域を検出し、第2の2値化画像から検出すべきベタ領域を切り出し、切り出したベタ領域に基づいて色を反転した画像を生成し、第1の2値化画像から検出すべきベタ領域を除去した画像を生成し、反転した画像と除去した画像とを統合した画像を生成する処理を実行する。
【0060】
図9は、第2実施形態の処理フローの例である。
まず、ステップ900の2値化A(第1の2値化)において、制御部150(2値化部)は、カラー画像を2値化する。第4実施形態の帳票認識において、ベタ領域以外の文字や罫線の認識には、この2値画像Aを用いる。当該2値化処理では、2値化部が、帳票画像に含まれるベタ領域以外の領域(例えば、背景領域やベタ領域以外の文字や罫線の領域)を検出する。検出方法については、帳票画像の種類やカラーバリエーション等によって、様々な手法やパラメータを用いることができる。
【0061】
次に、ステップ910の2値化B(第2の2値化、ベタ領域2値化)において、2値化部は、カラー画像をステップ900と異なる方法で2値化する。この2値画像Bは、ベタ領域検出と白抜き文字抽出に用いる。当該2値化処理では、2値化部が、帳票画像に含まれるベタ領域やベタ領域に含まれる白抜き文字領域を検出する。検出方法については、ベタ領域の画素値等によって、様々な手法やパラメータを用いることができる。
【0062】
次に、ステップ920のベタ領域検出において、ベタ領域検出部は、ステップ910で生成した2値画像Bからベタ領域を検出する。この処理は、
図3のステップ310と同じ処理である。
【0063】
次に、ステップ930のベタ領域切出しにおいて、ベタ領域検出部は、ステップ910で生成した2値画像Bから、ステップ920で検出したベタ領域のみを切出す。
【0064】
次に、ステップ940の白抜き文字抽出において、白抜き文字抽出部は、ステップ930で切出したベタ領域に基づいて白黒反転した画像を生成する。この処理は、
図3のステップ350と同じ処理である。
【0065】
次に、ステップ950のベタ領域除去において、ベタ領域検出部は、ステップ900で生成した2値画像Aから、ステップ920で検出したベタ領域のみを除去する。
【0066】
次に、ステップ960の統合において、ベタ領域検出部は、ステップ940とステップ950で生成した画像を統合した画像を生成する。
【0067】
図9に示した処理を行うことにより、処理する2値化画像を、ベタ領域以外の文字や罫線を認識するための黒文字生成用の2値画像と、ベタ領域検出と白抜き文字抽出用の2値画像と使い分けて入力し、後者の2値画像から検出したベタ領域の画像を用いて、前者の2値画像から、当該検出したベタ領域の画像に対応するベタ領域の画像を除去するため、元の帳票画像のベタ領域を確実に塗りつぶすことができる。
【0068】
(第3実施形態)
第3実施形態では、黒文字生成用、ベタ領域検出用、白黒反転文字生成用で、3種類の値画像を用いる。白抜き文字をカラー画像化した際に、量子化誤差などの影響で文字の色が白ではなくベタ領域に近い色になることがある。この場合、2値化した時点で文字に潰れやかすれが発生する。このような画像を白黒反転すると、正しい文字の形状を得ることができない。これを防ぐため、ベタ領域内で再度2値化する。以下に示すように、本実施形態では、ベタ領域2値化部が、カラー画像の帳票画像から、検出すべきベタ領域を2値化したベタ領域2値化画像を出力し、切り出し2値化部が、検出すべきベタ領域が切り出された後の画像を2値化した切り出し画像を出力し、帳票認識装置が、ベタ領域2値化画像に基づいて、検出すべきベタ領域を検出して帳票画像から検出すべきベタ領域を切り出し、切り出した後の画像をネガポジ反転し、切り出し2値化部によりネガポジ反転された画像を2値化し、帳票画像から検出すべきベタ領域を除去した画像を生成し、2値化した画像と除去した画像とを統合した画像を生成する処理を実行する。
【0069】
あるいは、第1の2値化部が、カラー画像の帳票画像を2値化した第1の2値化画像を出力し、第2の2値化部が、第1の2値化部とは異なる方法で帳票画像を2値化した第2の2値化画像を出力し、検出すべきベタ領域が切り出された後の画像を2値化し、帳票認識装置が、第2の2値化画像に基づいて、検出すべきベタ領域を検出して帳票画像から検出すべきベタ領域を切り出し、切り出した後の画像をネガポジ反転し、第3の2値化部によりネガポジ反転された画像を2値化し、第1の2値化画像から検出すべきベタ領域を除去した画像を生成し、2値化した画像と除去した画像とを統合した画像を生成する処理を実行する。
【0070】
図10は、第3実施形態の処理フローの例である。
以下では、第2実施形態におけるステップと同様のステップについては同一の符号を付してその説明を省略する。
【0071】
まず、ベタ領域検出部は、第2実施形態と同様に、ステップ900の第1の2値化、ステップ910の第2の2値化、ステップ920のベタ領域検出の各処理を実行する。
【0072】
次に、ステップ1000のベタ領域切出しにおいて、ベタ領域検出部は、カラー画像からステップ920で検出したベタ領域のみを切出す。
【0073】
次に、ステップ1010のネガポジ反転において、ベタ領域検出部は、ステップ1000で切り出したカラー画像をネガポジ反転する。
【0074】
次に、ステップ1020の2値化C(第3の2値化、切り出し2値化)において、2値化部は、ステップ1010で生成したカラー画像を2値化する。第3の2値化の処理では、第1の2値化や第2の2値化と同じ手法を用いたり、あるいは、これらと異なる手法を用いてもよい。
【0075】
次に、2値化部は、第2実施形態と同様に、ステップ950のベタ領域除去において、ステップ900で生成した2値画像からステップ920で検出したベタ領域のみを除去する。
【0076】
次に、ステップ1030の統合において、ベタ領域検出部は、ステップ1020とステップ950で生成した画像を統合した2値画像を生成する。
【0077】
図10に示した処理を行うことにより、処理する2値化画像を、ベタ領域以外の文字や罫線を認識するための黒文字生成用の2値画像と、ベタ領域検出と白抜き文字抽出用の2値画像と、白黒反転文字生成用の2値画像とを使い分けて入力し、ベタ領域検出と白抜き文字抽出用の2値画像から検出したベタ領域の画像を用いて、入力されるカラー画像から、当該検出したベタ領域の画像に対応するベタ領域の画像を切り出した後、当該画像をネガポジ反転した後の画像をさらに2値化するため、ベタ領域における文字の正しい形状を得ることができる。
【0078】
なお、第3実施形態では、第2実施形態と同様に、ステップ900において第1の2値化を実行したが、帳票画像に含まれるベタ領域以外の領域(例えば、背景領域やベタ領域以外の文字や罫線の領域)を検出する必要がない場合には、省略して実行してもよい。これにより、第1の2値化を実行した場合に比べて処理時間の短縮や処理負荷の軽減を実現することができる。
【0079】
(第4実施形態)
第4実施形態は、第1から第3の実施形態で生成した2値画像を利用した帳票認識である。
【0080】
図11は、第4実施形態の処理フローである。
まず、ステップ1100の2値画像生成において、制御部150は、2値画像を生成する。この2値画像生成処理は、第1から第3の実施形態のいずれかである。
【0081】
次に、ステップ1110のレイアウト解析において、制御部150は、罫線、枠、文字列等のレイアウト情報を抽出するレイアウト解析をする。
【0082】
次に、ステップ1120の文字列認識において、制御部150は、抽出されたレイアウト情報に含まれる文字列を認識する。
【0083】
次に、ステップ1130の属性解析において、制御部150は、認識した文字列の属性を決定する。
【0084】
ステップ1110からステップ1130の具体例としては、例えば、特開2011-248609号公報に記載された枠検出、文字列検出、文字列認識等の各処理を用いることができる。文字属性を解析する必要が無い場合には、ステップ1130の処理を省略することとしてもよい。
【0085】
以上のように、本実施形態によると、帳票上のベタ領域に記載された白黒反転文字を認識することができる。また、ベタ領域は矩形である必要はなく、領域の端まで文字が記載されていても頑健に検出することができる。従来、文書からベタ領域を抽出するには、黒画素が連結する領域を検出し、その中からある程度の大きさを持ち、領域内の黒画素の比が高い領域をベタ領域とするのが一般的であった。しかし、帳票内のベタ領域は罫線で他の枠と接続しているため、ベタ領域が独立した領域として検出できない。したがって、帳票上のベタ領域を検出するには、独立した領域であることを前提とした方式は適用できない。上記の各実施形態における処理を行うことにより、独立した領域を前提とすることなく、様々な形状のベタ領域を対象とすることができる。
【0086】
E.付記
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0087】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0088】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0089】
本発明の帳票認識方法又は帳票認識装置・システムは、その各手順をコンピュータに実行させるための帳票認識プログラム、帳票認識プログラムを記録したコンピュータ読み取り可能な記録媒体、帳票認識プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【符号の説明】
【0090】
100 帳票認識装置
110 操作部
120 表示部
130 画像入力部
140 記憶部
150 制御部
160 インターフェース(IF)