(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-03
(45)【発行日】2025-06-11
(54)【発明の名称】帳票処理装置及び帳票処理方法
(51)【国際特許分類】
G06V 30/412 20220101AFI20250604BHJP
【FI】
G06V30/412
(21)【出願番号】P 2021072804
(22)【出願日】2021-04-22
【審査請求日】2024-04-19
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】鶴 俊哉
(72)【発明者】
【氏名】中村 昇太
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2002-358521(JP,A)
【文献】特開2008-165506(JP,A)
【文献】特開2010-266964(JP,A)
【文献】特開2019-016128(JP,A)
【文献】特開2015-169978(JP,A)
【文献】上野 智史 Satoshi UENO,携帯カメラ画像を用いた位置・方向情報取得手法に関する一検討,映像メディア処理シンポジウム 第14回シンポジウム資料 The Proceedings of the 14th Image Media Processing Symposium,2009年10月07日
【文献】沖谷 卓哉 Takuya Okitani,画像認識に基づく現在地推定法の撮影シーン依存性の検証,FIT2016 第15回情報科学技術フォーラム 講演論文集 第3分冊 査読付き論文・一般論文 画像認識・メディア理解 グラフィクス・画像 ヒューマンコミュニケーション&インタラクション 教育工学・福祉工学・マルチメディア応用 Forum on Information Technology 2016,2016年08月23日
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/412
(57)【特許請求の範囲】
【請求項1】
複数のテンプレート画像から帳票画像に対応する対応テンプレート画像を選択する帳票処理装置であって、
前記帳票画像における複数の特徴点と各特徴点の特徴量記述子とを算出し、当該算出結果に基づいて、前記テンプレート画像ごとに、当該テンプレート画像における各特徴点に対応する複数の対応点を選択し、各特徴点と各テンプレート画像の各対応点とに基づいて、前記対応テンプレート画像を選択する選択部を有
し、
前記選択部は、前記テンプレート画像ごとに、前記複数の特徴点から選択した1以上の特徴点の座標を当該1以上の特徴点に対応する1以上の前記対応点の座標に変換する座標変換行列を推定し、当該座標変換行列を用いて他の前記特徴点の座標変換を行った変換後特徴点と前記他の特徴点に対応する対応点との距離を算出し、前記選択した特徴点と、前記距離が所定距離以下となる前記他の特徴点とを抽出する処理を繰り返し行い、各処理の処理結果に基づいて、前記対応テンプレート画像を選択し、
前記選択部は、前記対応テンプレート画像に対応する前記座標変換行列に基づいて、前記対応テンプレート画像が適正か否かを判断し、
前記選択部は、前記対応テンプレート画像を2値化した画像における全ての黒画素の数に対する、前記座標変換行列を用いて前記帳票画像を変形した変形画像を2値化した画像と前記対応テンプレート画像を2値化した画像とでどちらも同じ位置の画素かつ黒画素である画素の数の割合が一定値以上の場合、前記対応テンプレート画像を適正と判断する、帳票処理装置。
【請求項2】
前記選択部は、前記特徴量記述子に基づいて、前記帳票画像の特徴点ごとに、前記テンプレート画像の特徴点であるテンプレート特徴点のうち、前記帳票画像の特徴点との類似度が高い方から所定数番目までのテンプレート特徴点を前記対応点として選択する、請求項1に記載の帳票処理装置。
【請求項3】
前記選択部は、前記テンプレート画像ごとに、前記変換後特徴点と前記対応点との
距離を評価したエラー率が最も低い処理にて抽出された特徴点に対応する対応点を有効対応点として特定し、前記有効対応点の数が最大の前記テンプレート画像を前記対応テンプレート画像として選択する、請求項
1に記載の帳票処理装置。
【請求項4】
前記選択部は、前記有効対応点の数が最大の前記テンプレート画像における当該有効対応点の数が規定数以上の場合、当該テンプレート画像を前記対応テンプレート画像として選択する、請求項
3に記載の帳票処理装置。
【請求項5】
前記選択部は、前記座標変換行列にて示される拡大率が許容範囲以内の場合、前記対応テンプレート画像を適正と判断する、請求項
1に記載の帳票処理装置。
【請求項6】
前記選択部は、前記対応テンプレート画像の全画素数に対する、前記座標変換行列を用いて前記帳票画像を変形した変形画像と前記テンプレート画像とが重複する画素の画素数の割合が一定値以上の場合、前記対応テンプレート画像を適正と判断する、請求項
1に記載の帳票処理装置。
【請求項7】
前記選択部は、前記対応テンプレート画像が適正でない場合、前記対応テンプレート画像が存在しない旨を出力する、請求項
1に記載の帳票処理装置。
【請求項8】
複数のテンプレート画像から帳票画像に対応する対応テンプレート画像を選択する帳票処理装置による帳票処理方法であって、
前記帳票画像における複数の特徴点と各特徴点の特徴量記述子とを算出し、当該算出結果に基づいて、前記テンプレート画像ごとに、当該テンプレート画像における各特徴点に対応する複数の対応点を選択し、各特徴点と各テンプレート画像の各対応点とに基づいて、前記対応テンプレート画像を選択
し、
前記対応テンプレート画像の選択部では、前記テンプレート画像ごとに、前記複数の特徴点から選択した1以上の特徴点の座標を当該1以上の特徴点に対応する1以上の前記対応点の座標に変換する座標変換行列を推定し、当該座標変換行列を用いて他の前記特徴点の座標変換を行った変換後特徴点と前記他の特徴点に対応する対応点との距離を算出し、前記選択した特徴点と、前記距離が所定距離以下となる前記他の特徴点とを抽出する処理を繰り返し行い、各処理の処理結果に基づいて、前記対応テンプレート画像を選択し、
前記対応テンプレート画像に対応する前記座標変換行列に基づいて、前記対応テンプレート画像が適正か否かを判断し、
前記判断では、前記対応テンプレート画像を2値化した画像における全ての黒画素の数に対する、前記座標変換行列を用いて前記帳票画像を変形した変形画像を2値化した画像と前記対応テンプレート画像を2値化した画像とでどちらも同じ位置の画素かつ黒画素である画素の数の割合が一定値以上の場合、前記対応テンプレート画像を適正と判断する、帳票処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、帳票処理装置及び帳票処理方法に関する。
【背景技術】
【0002】
帳票を示す帳票画像に記載された内容を認識して種々の処理を行う帳票処理装置は、通常、帳票の書式に対応したテンプレート画像を用いて、帳票の内容を認識している。しかしながら、帳票の書式は業務などによって異なり、その種類も豊富であるため、帳票画像に対して適切なテンプレート画像を選択することは難しい。
【0003】
これに対して特許文献1には、帳票画像に記載された表ごとに、罫線の本数、分布及び間隔のような特性を抽出し、その特性に応じて帳票画像をグループ分けする帳票処理装置が記載されている。この帳票処理装置は、グループに応じたテンプレート画像を選択することで、適切なテンプレート画像の選択を行っている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、罫線のない帳票画像に対して複数種類のテンプレート画像が存在する場合には対応できないという問題がある。また、帳票画像における表以外の記述部分(例えば、印字部分)が異なる複数種類のテンプレート画像が存在する場合にも対応できない。したがって、特許文献1に記載の技術では、汎用性が低いという問題がある。
【0006】
本開示の目的は、汎用性の高いテンプレート画像の選択を実現することが可能な帳票処理装置及び帳票処理方法を提供することにある。
【課題を解決するための手段】
【0007】
本開示の一態様に従う帳票処理装置は、複数のテンプレート画像から帳票画像に対応する対応テンプレート画像を選択する帳票処理装置であって、前記帳票画像における複数の特徴点と各特徴点の特徴量記述子とを算出し、当該算出結果に基づいて、前記テンプレート画像ごとに、当該テンプレート画像における各特徴点に対応する複数の対応点を選択し、各特徴点と各テンプレート画像の各対応点とに基づいて、前記対応テンプレート画像を選択する選択部を有する帳票処理装置。
【発明の効果】
【0008】
本発明によれば、汎用性の高いテンプレート画像の選択を実現することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】本開示の一実施形態の帳票認識システムの機能的な構成を示すブロック図である。
【
図2】テンプレート特徴情報の一例を示す図である。
【
図3】テンプレート前処理情報の一例を示す図である。
【
図4】テンプレート読取位置情報の一例を示す図である。
【
図5】帳票認識システムの動作の一例を説明するためのシーケンス図である。
【
図6】テンプレート選択処理の一例を説明するためのフローチャートである。
【
図7】サイズ絞込処理の一例を説明するためのフローチャートである。
【
図8】色絞込処理の一例を説明するためのフローチャートである。
【
図9】大域特徴量絞込処理の一例を説明するためのフローチャートである。
【
図10】局所特徴量絞込処理の一例を説明するためのフローチャートである。
【
図11】適正判断処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0010】
以下、本開示の実施形態について図面を参照して説明する。
【0011】
なお、以下では、種々の情報を、テーブルを用いて説明することがあるが、情報のデータ構造はテーブルに限定されるものではない。また、識別情報について説明する際に、「識別情報」、「名」及び「番号」などの表現を用いることもあるが、これらは互いに置換が可能である。
【0012】
図1は、本開示の一実施形態の帳票認識システムの機能的な構成を示すブロック図である。
図1に示す帳票認識システム100は、帳票を示す帳票画像の内容を認識する帳票認識処理に係るサービスを提供するシステムであり、インターネット500を介してユーザ端末200及び外部システム300と相互に接続される。
【0013】
ユーザ端末200は、帳票認識システム100によるサービスの提供を受けるユーザにて使用される端末であり、例えば、PC(personal computer)などである。ユーザ端末200は、帳票認識処理の対象となる帳票画像を帳票認識システム100に対して送信し、帳票認識システム100から帳票認識処理の処理結果である文字認識結果を受信する。
【0014】
外部システム300は、帳票認識システム100からの要求に従って帳票画像に記載された文字を認識する文字認識処理を実行し、その処理結果を文字認識結果として帳票認識システム100に送信する帳票認識エンジンである。
【0015】
なお、帳票認識システム100、ユーザ端末200及び外部システム300の接続形態は、
図1の例に限らない。例えば、帳票認識システム100は、ユーザ端末200及び外部システム300とインターネット500以外のネットワークを介して相互に接続されてもよいし、ネットワークを介さずに直接接続されてもよい。また、ユーザ端末200及び外部システム300の機能の少なくとも一部が帳票認識システム100に備わっていてもよい。
【0016】
帳票認識システム100は、Webサーバ101と、連携サーバ102と、サービスサーバ103とを有する。
【0017】
Webサーバ101は、ユーザ端末200と接続されるサーバであり、ユーザ端末200から帳票画像を入力画像として受信する機能と、文字認識結果をユーザ端末200に送信する機能とを有する。なお、Webサーバ101は、本実施形態では、httpd(Hyper Text Transfer Protocol Daemon)にて実現される。また、Webサーバ101は、DMZ(Demilitarized Zone)に設けられている。ただし、Webサーバ101は、これらの例に限定されない。
【0018】
連携サーバ102は、帳票認識システム100と外部システム300とを接続するサーバであり、本実施形態では、プロキシサーバにて実現される。
【0019】
サービスサーバ103は、Webサーバ101が受信した入力画像に対して帳票認識処理を行う帳票処理装置である。サービスサーバ103は、具体的には、サービス制御部111と、テンプレート選択処理部112と、画像前処理部113と、帳票認識処理部114と、帳票認識結果後処理部115とを有する。
【0020】
サービス制御部111は、サービスサーバ103全体を制御する制御部である。
【0021】
テンプレート選択処理部112は、予め登録された複数のテンプレート画像の中から、Webサーバ101が受信した入力画像に対応するテンプレート画像を対応テンプレート画像として選択するテンプレート選択処理を実行する選択部である。テンプレート選択処理部112は、複数のテンプレート画像(図示せず)と、複数のテンプレート画像に関するテンプレート特徴情報121とを保持する。テンプレート特徴情報121は、例えば、テンプレート画像を登録する際にサービスサーバ103にて算出される。なお、入力画像には、余白が含まれていてもよい。また、入力画像の向きは特に限定されない。一方、テンプレート画像の余白の有無及び向きは、外部システム300の仕様に応じて定められる。本実施形態では、テンプレート画像には、余白が含まれず、テンプレート画像の向きは、所定の向き(具体的には、テンプレート画像内の文字が正規の方向を向く向き)である。ただし、テンプレート画像の余白の有無及び向きはこの例に限らず、例えば、外部システム300に画像の回転補正機能が備わっている場合、テンプレート画像の向きは特に限定されない。
【0022】
画像前処理部113は、帳票認識処理よりも前に入力画像に対して行う前処理を実行する前処理部である。前処理は、入力画像とテンプレート画像とのフィッティングを行うフィッティング処理と、対応テンプレート画像に応じて行う選択前処理とを含む。画像前処理部113は、選択前処理に関するテンプレート前処理情報122を保持し、テンプレート前処理情報122に基づいて、実行する選択前処理を決定する。
【0023】
帳票認識処理部114は、画像前処理部113にて前処理が行われた入力画像である画像前処理結果画像に対する帳票認識処理を実行する認識部である。本実施形態では、帳票認識処理部114は、連携サーバ102を介して外部システム300と連携して帳票認識処理を実行する。具体的には、帳票認識処理部114は、各テンプレート画像における文字認識を行う位置を示すテンプレート読取位置情報123を保持し、テンプレート読取位置情報123に基づいて画像前処理結果画像における文字認識を行う位置を示す文字読取位置情報を生成する。帳票認識処理部114は、画像前処理結果画像及び文字読取位置情報を外部システム300に渡して文字認識処理を実行する。また、帳票認識処理部114は、画像前処理結果画像から文字読取位置情報に応じた部分を切り出した切り出し画像を外部システム300に渡して文字認識処理を実行してもよい。
【0024】
帳票認識結果後処理部115は、帳票認識処理部114の処理結果である文字認識結果に対して行う後処理を実行する後処理部である。後処理は、例えば、文字認識結果の確信度を調整する処理などである。
【0025】
以上説明した帳票認識システム100のWebサーバ101、連携サーバ102及びサービスサーバ103は、それぞれCPU(Central Processing Unit)のようなプロセッサ、メモリ、補助記憶装置、入力装置、出力装置、及びネットワークカードのような通信装置(いずれも図示せず)を備えた一般的なコンピュータ装置と同等なハードウェア構成にて実現することができる。また、帳票認識システム100の各機能の少なくとも一部は、プロセッサがメモリなどに記録されたプログラムを読み取り、その読み取ったプログラムを実行することで実現されてもよい。プログラムが実行されることによって実現される機能の少なくとも一部は、ハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array))にて実現されてもよい。また、プログラムは、半導体メモリ、磁気ディスク、光ディスク、磁気テープ又は光磁気ディスクなどのような非一時的にデータを記憶する記録媒体に記録させることもできる。また、帳票認識システム100のWebサーバ101、連携サーバ102及びサービスサーバ103は、物理的に別々の装置で構成されてもよいし、同一の装置で構成されてもよい。
【0026】
図2は、テンプレート特徴情報121の一例を示す図である。
図2に示すテンプレート特徴情報121は、フィールド201~207を含むレコードを備えたテーブルである。
【0027】
フィールド201は、テンプレート画像を識別する識別情報であるテンプレートIDを格納する。フィールド202~206は、テンプレート画像の特徴を示す特徴量を格納する。具体的には、フィールド202及び203は、テンプレート画像のサイズに関する特徴量であるサイズ特徴量を格納するフィールドであり、より具体的には、フィールド202は、テンプレート画像の横幅を格納し、フィールド203は、テンプレート画像の縦幅を格納する。フィールド204は、テンプレート画像の色に関する特徴量である色特徴量を格納する。フィールド205は、テンプレート画像の大域的な特徴量である大域特徴量を格納する。フィールド206は、テンプレート画像の局所的な特徴量である局所特徴量を格納する。フィールド207は、テンプレート画像に関する付加情報を格納する。
【0028】
局所特徴量は、1以上の特徴点と、各特徴点の特徴量記述子とから構成される。また、
図2の例では、色特徴量、大域特徴量及び局所特徴量は、バイナリデータで格納されているが、バイナリデータでなくてもよい。また、
図2の例では、テンプレート画像に関する付加情報は、テンプレート画像が所属するグループを識別する識別情報であるグループIDを示しているが、この例に限らない。
【0029】
図3は、テンプレート前処理情報122の一例を示す図である。
図3に示すテンプレート前処理情報122は、フィールド301~304を含むレコードを備えたテーブルである。
【0030】
フィールド301は、テンプレートIDを格納する。フィールド302~304は、フィールド301に格納されたテンプレートIDにて特定されるテンプレート画像が対応テンプレート画像として選択された際の入力画像に対して選択前処理を実行するか否かを示す要否情報を格納する。具体的には、フィールド302は、前処理として入力画像の地紋を除去する地紋除去処理を実行するか否かを示す地紋除去要否情報を格納する。フィールド303は、前処理として入力画像のノイズを除去するノイズ除去処理を実行するか否かを示すノイズ除去要否情報を格納する。フィールド304は、前処理として入力画像を2色(例えば、黒及び白)の画像に変換する二値化処理を実行するか否かを示す2値化要否情報を格納する。
図3の例では、各要否情報は、選択前処理を実行する場合、「TRUE」を示し、選択前処理を実行しない場合、「FALSE」を示す。
【0031】
なお、地紋除去処理、ノイズ除去処理及び二値化処理は、選択前処理の一例であり、選択前処理はこれらの例に限らず、例えば、他の処理を含んでもよい。
【0032】
図4は、テンプレート読取位置情報123の一例を示す図である。
図4に示すテンプレート読取位置情報123は、フィールド401~407を含むレコードを備えたテーブルである。
【0033】
フィールド401は、テンプレートIDを格納する。フィールド402は、テンプレート画像における文字を読み取る読取領域の属性を識別する識別情報である属性名を格納する。フィールド403~406は、テンプレート画像上の読取領域の位置を示すテンプレート読取位置情報を格納する。具体的には、フィールド403は、読取領域の所定の箇所の位置のX座標を格納し、フィールド404は、読取領域の所定の箇所の位置のY座標を格納する。フィールド405は、読取領域のX方向の長さである幅を格納し、フィールド403は、読取領域のY方向の長さである高さを格納する。フィールド407は、読取領域に関する付加情報を格納する。
【0034】
図4の例では、読取領域の属性は、読取領域に記載される文字の属性であり、例えば、「銀行名」及び「口座番号」などを示す。また、読取領域を矩形としているが、他の形状でもよい。また、所定の箇所は、例えば、読取領域の左上の箇所である。X方向は画像の横方向(水平方向)であり、Y方向は画像の縦方向(垂直方向)である。読取領域に対する付加情報は、外部システム300による文字認識処理に対して指定する情報であり、
図4の例では、読取領域に記載される可能性のある文字の種類である文字種を示す。
【0035】
図5は、帳票認識システム100の動作の一例を説明するためのシーケンス図である。
【0036】
先ず、ユーザ端末200は、ユーザからの指示に従って、帳票認識処理の実行を要求する実行要求を帳票認識システム100のWebサーバ101に送信する(ステップS101)。実行要求は、帳票認識処理の対象となる帳票画像を含む。また、帳票画像には、その帳票画像に関する付加情報が付与されていてもよい。付加情報は、本実施形態では、帳票画像に対応する対応テンプレート画像の候補であるテンプレート候補を絞り込むための情報であり、例えば、テンプレート画像のグループを識別するグループID又はテンプレート画像を識別するテンプレートIDを示す。また、帳票画像は、複数あってもよい。
【0037】
Webサーバ101は、実行要求を受信すると、その実行要求をサービスサーバ103のサービス制御部111に送信する(ステップS102)。
【0038】
サービス制御部111は、実行要求を受信すると、その実行要求に含まれる帳票画像を入力画像としてテンプレート選択処理部112に送信する(ステップS103)。テンプレート選択処理部112は、入力画像を受信すると、その入力画像に対応する対応テンプレート画像を選択するテンプレート選択処理(
図6参照)を実行し、その処理結果としてテンプレート選択結果をサービス制御部111に送信する(ステップS104)。
【0039】
サービス制御部111は、テンプレート選択結果を受信すると、入力画像と、テンプレート選択処理にて推定される座標変換行列と、テンプレート選択結果である対応テンプレート画像のテンプレートIDとを画像前処理部113に送信する(ステップS105)。画像前処理部113は、入力画像、座標変換行列及び対応テンプレート画像のテンプレートIDを受信すると、入力画像に対して、座標変換行列を用いたフィッティング処理と、対応テンプレート画像のテンプレートIDに応じた選択前処理とを含む前処理を行い、前処理を行った入力画像を画像前処理結果画像としてサービス制御部111に送信する(ステップS106)。
【0040】
なお、画像前処理部113は、前処理として、フィッティング処理、選択前処理の順に行う。フィッティング処理は、テンプレート選択処理にて推定される座標変換行列を用いて入力画像を変換することで、入力画像における文字の読取領域を対応テンプレート画像の読取領域に合わせる処理である。座標変換行列については後述する。また、画像前処理部113は、テンプレート前処理情報122において、対応テンプレート画像のテンプレートIDに対応する要否情報が「TRUE」の選択前処理を実行する。
【0041】
サービス制御部111は、画像前処理結果画像を受信すると、その画像前処理結果画像及び対応テンプレート画像のテンプレートIDを帳票認識処理部114に送信する(ステップS107)。帳票認識処理部114は、画像前処理結果画像及びテンプレートIDを受信すると、テンプレート読取位置情報123から、受信したテンプレートIDに対応するテンプレート読取位置情報を、画像前処理結果画像の読み取り領域の位置を示す文字読取位置情報として取得する。帳票認識処理部114は、画像前処理結果画像及び文字読取位置情報を含む文字認識要求を連携サーバ102に送信する(ステップS108)。なお、文字認識要求は、受信したテンプレートIDに対応する属性名及び付加情報を含んでもよい。また、帳票認識処理部114は、画像前処理結果画像から文字読取位置情報に応じた部分を切り出した切り出し画像を含む文字認識要求を連携サーバ102に送信してもよい。
【0042】
連携サーバ102は、文字認識要求を受信すると、その文字認識要求を外部システム300に送信する(ステップS109)。外部システム300は、文字認識要求を受信すると、文字認識要求に含まれる文字読取位置情報を用いて、文字認識要求に含まれる画像前処理結果画像に対して文字認識処理を行い、その文字認識処理の処理結果を文字認識結果として連携サーバ102に送信する(ステップS110)。文字認識結果は、例えば、画像前処理結果画像、文字読取位置情報、画像前処理結果画像から認識した文字情報、及び、文字情報の正確性を示す確信度などを含む。
【0043】
連携サーバ102は、文字認識結果を受信すると、その文字認識結果を帳票認識処理部114に送信する(ステップS111)。帳票認識処理部114は、文字認識結果を受信すると、その文字認識結果をサービス制御部111に送信する(ステップS112)。サービス制御部111は、文字認識結果を受信すると、その文字認識結果を帳票認識結果後処理部115に送信する(ステップS113)。
【0044】
帳票認識結果後処理部115は、文字認識結果を受信すると、その文字認識結果に含まれる確信度を予め定められた補正ルールに従って補正し、確信度を補正した文字認識結果である補正認識結果をサービス制御部111に送信する(ステップS114)。補正ルールは、文字情報を読み取った読取領域の属性ごとに設定される。例えば、補正ルールは、属性名が「口座番号」の場合、口座番号の読取結果が7桁ではない場合、確信度を下げるなどである。
【0045】
サービス制御部111は、補正認識結果を受信すると、その補正認識結果をWebサーバ101に送信する(ステップS115)。Webサーバ101は、補正認識結果を受信すると、その補正認識結果をユーザ端末200に送信する。ユーザ端末200は、補正認識結果を受信すると、補正認識結果を表示又は記憶するなどして(ステップS116)、処理を終了する。
【0046】
図6は、
図5のステップS104にて実行されるテンプレート選択処理の一例を説明するためのフローチャートである。
【0047】
テンプレート選択処理では、テンプレート選択処理部112は、入力画像に付加情報が付与されているか否かを判断する(ステップS201)。
【0048】
付加情報が付与されている場合、テンプレート選択処理部112は、その付加情報にて絞り込まれる対応テンプレート画像の候補であるテンプレート候補が1つか否かを判断する(ステップS202)。例えば、付加情報がテンプレートIDを示す場合、又は、付加情報がグループIDを示し、そのグループIDにて識別されるグループに含まれるテンプレート画像が1つの場合、テンプレート選択処理部112は、付加情報にて絞り込まれるテンプレート候補が1つであると判断する。
【0049】
テンプレート候補が1つの場合、テンプレート選択処理部112は、そのテンプレート候補を対応テンプレート画像として選択して、処理を終了する。
【0050】
一方、付加情報が付与されていない場合、及び、テンプレート候補が1つでない場合、テンプレート選択処理部112は、入力画像のサイズに基づいてテンプレート候補を絞り込むサイズ絞込処理(
図7)を実行する(ステップS203)。
【0051】
続いて、テンプレート選択処理部112は、入力画像の色に基づいてテンプレート候補を絞り込む色絞込処理(
図8)を実行する(ステップS204)。
【0052】
その後、テンプレート選択処理部112は、入力画像の大域特徴量に基づいてテンプレート候補を絞り込む大域特徴量絞込処理(
図9)を実行する(ステップS205)。
【0053】
さらに、テンプレート選択処理部112は、入力画像における局所特徴量(複数の特徴点及び各特徴点の特徴量記述子)を算出し、大域特徴量絞込処理にて絞り込まれたテンプレート候補ごとに、そのテンプレート候補における複数の特徴点に対応する複数の対応点を選択し、各特徴点と各テンプレート画像の各対応点とに基づいて、対応テンプレート画像を選択する局所特徴量絞込処理(
図10)を実行する(ステップS206)。
【0054】
そして、テンプレート選択処理部112は、局所特徴量絞込処理にて選択された対応テンプレート画像が適正か否かを判断する適正判断処理(
図11参照)を実行して(ステップS207)、処理を終了する。
【0055】
なお、ステップS203~S205の処理は、入力画像の特徴に応じてスキップされてもよい。例えば、入力画像に余白が含まれる帳票画像と余白が含まれない帳票画像とが混在する場合、ステップS203のサイズ絞込処理とステップS205の大域特徴量絞込処理とはスキップされてもよい。また、入力画像がスキャナで読み込まれた画像ではなく、タブレット端末又はデジタルカメラなどで撮影された画像の場合、撮影環境によって画像の色味が変化してしまうため、ステップS204の色絞込処理はスキップされてもよい。スキップする処理は、例えば、ユーザにて設定される。
【0056】
図7は、
図6のステップS203にて実行されるサイズ絞込処理の一例を説明するためのフローチャートである。
【0057】
サイズ絞込処理では、テンプレート選択処理部112は、入力画像から、その入力画像のサイズとして入力画像の横幅及び縦幅を取得する(ステップS301)。
【0058】
その後、テンプレート選択処理部112は、テンプレート画像ごとにステップS302~S305の処理を繰り返すループ処理(A)を実行する。なお、
図6のステップS201において入力画像に付加情報が付与されている場合、テンプレート選択処理部112は、その付加情報にて絞り込まれたテンプレート画像(テンプレート候補)ごとにステップS302~S305の処理を繰り返す。
【0059】
ループ処理(A)では、先ず、テンプレート選択処理部112は、処理対象のテンプレート画像のサイズとして、テンプレート画像の横幅及び縦幅をテンプレート特徴情報121から取得する(ステップS302)。
【0060】
テンプレート選択処理部112は、サイズに関して入力画像と処理対象のテンプレート画像とが類似するか否かを判断する(ステップS303)。具体的には、テンプレート選択処理部112は、以下のサイズに関する条件式(1)及び(2)の両方が満たされるか否かを判断し、条件式(1)及び(2)の両方が満たされる場合、入力画像と処理対象のテンプレート画像とが類似すると判断する。
w×(1―X)≦W≦w×(1+X) ・・・(1)
h×(1―Y)≦H≦h×(1+Y) ・・・(2)
【0061】
なお、条件式(1)及び(2)において、テンプレート画像の横幅をW、テンプレート画像の縦幅をH、入力画像の横幅をw、入力画像の縦幅をh、X及びYを0以上かつ1未満の値としている。なお、X及びYは同一の値でもよい。
【0062】
テンプレート選択処理部112は、サイズに関して入力画像と処理対象のテンプレート画像とが類似する場合、処理対象のテンプレート画像をテンプレート候補として選択し(ステップS304)、サイズに関して入力画像と処理対象のテンプレート画像とが類似していない場合、処理対象のテンプレート画像をテンプレート候補から除外する(ステップS305)。
【0063】
そして、テンプレート選択処理部112は、全てのテンプレート画像に対してステップS302~S305の処理を実行すると、ループ処理(A)を抜けて、サイズ絞込処理を終了する。
【0064】
なお、以上の説明では、入力画像及びテンプレート画像のサイズとして、横幅及び縦幅が用いられていたが、アスペクト比などの他の指標が用いられてもよい。例えば、入力画像とテンプレート画像の解像度が異なる可能性がある場合、入力画像及びテンプレート画像のサイズとしてアスペクト比が用いられることが望ましい。なお、入力画像及びテンプレート画像のサイズに用いられる指標は、例えば、ユーザにて設定される。
【0065】
図8は、
図6のステップS204にて実行される色絞込処理の一例を説明するためのフローチャートである。
【0066】
色絞込処理では、先ず、テンプレート選択処理部112は、入力画像を解析して、入力画像の色特徴量を取得する(ステップS401)。色特徴量は、本実施形態では、色に関する色ヒストグラムであり、より具体的には、表色系をHSV表色系としたHSVヒスグラムである。ただし、色特徴量は、上記の例に限らず、他の表色系(例えば、RGB表色系又はL*a*b表色系など)の色ヒストグラムなどでもよい。
【0067】
その後、テンプレート選択処理部112は、
図7のサイズ絞込処理にて絞り込まれたテンプレート候補ごとにステップS402~S403の処理を繰り返すループ処理(B)を実行する。
【0068】
ループ処理(B)では、先ず、テンプレート選択処理部112は、処理対象のテンプレート候補の色特徴量である色ヒストグラムを、テンプレート特徴情報121から取得する(ステップS402)。テンプレート選択処理部112は、入力画像の色ヒストグラムと処理対象のテンプレート画像の色ヒストグラムとの類似度である色類似度を算出する(ステップS403)。色類似度は、本実施形態では、バタチャリヤ(Bhattacharyya)距離であるとするが、カイ2乗距離などの他の値でもよい。
【0069】
そして、テンプレート選択処理部112は、全てのテンプレート候補に対してステップS402~S403の処理を実行すると、ループ処理(B)を抜けて、テンプレート候補ごとに算出した複数の色類似度の分散を算出する(ステップS404)。
【0070】
テンプレート選択処理部112は、色類似度の分散に基づいて、テンプレート候補を絞り込み(ステップS405)、色絞込処理を終了する。具体的には、テンプレート選択処理部112は、色類似度の分散に応じて、テンプレート候補の絞り込み率を求め、その絞り込み率に応じた個数分、色類似度が高い方から順にテンプレート候補を選択することで、テンプレート候補を絞り込む。なお、色類似度の分散が大きいほど、色特徴量によるテンプレート画像の絞り込みが有意であると考えられるため、テンプレート選択処理部112は、色類似度の分散が大きいほど、テンプレート画像の絞り込み率を高くする。例えば、テンプレート選択処理部112は、色類似度の分散が閾値以上の場合、絞り込み率を0.5とし、色類似度の分散が閾値未満の場合、絞り込み率を0.125とする。この場合、元のテンプレート候補が8000個あるとすると、色類似度の分散が閾値以上であると、4000(8000×(1―0.5))個のテンプレート候補が選択され、色類似度の分散が閾値未満であると、7000(8000×(1―0.125))個のテンプレート候補が選択されることとなる。
【0071】
図9は、
図6のステップS205にて実行される大域特徴量絞込処理の一例を説明するためのフローチャートである。
【0072】
大域特徴量絞込処理では、先ず、テンプレート選択処理部112は、入力画像を解析して、入力画像の大域特徴量を取得する(ステップS501)。大域特徴量は、本実施形態では、ハッシュ値であり、より具体的には、aHash、dHash及びpHashの3つのハッシュアルゴリズムから算出される3つのハッシュ値である。また、各ハッシュ値は、64ビットである。ただし、ハッシュアルゴリズムは、上記の例に限らず、他のアルゴリズム(例えば、Block・Hash及びWavelet・Hashなど)でもよい。また、ハッシュ値の数は3つでなくてもよく、ハッシュ値のビット数は64ビットでなくてもよい。
【0073】
その後、テンプレート選択処理部112は、
図8の色絞込処理にて絞り込まれたテンプレート候補ごとにステップS502~S503の処理を繰り返すループ処理(C)を実行する。
【0074】
ループ処理(C)では、先ず、テンプレート選択処理部112は、処理対象のテンプレート画像の大域特徴量であるハッシュ値を、テンプレート特徴情報121から取得する(ステップS502)。テンプレート選択処理部112は、入力画像のハッシュ値と処理対象のテンプレート画像のハッシュ値との類似度である大域類似度を算出する(ステップS503)。大域類似度は、本実施形態では、ハミング距離であるとする。具体的には、テンプレート選択処理部112は、3つのハッシュ値のそれぞれについて、ハミング距離を類似度として求め、各類似度の統計値を大域類似度として算出する。統計値は、例えば、重み付け和、又は、平均値などである。なお、大域類似度は、ハミング距離に限らない。
【0075】
そして、テンプレート選択処理部112は、全てのテンプレート画像に対してステップS502~S503の処理を実行すると、ループ処理(C)を抜けて、入力画像の各テンプレート画像との大域類似度の分散を算出する(ステップS504)。
【0076】
テンプレート選択処理部112は、大域類似度の分散に基づいて、テンプレート候補を絞り込み(ステップS505)、大域絞込処理を終了する。ここでは、大域類似度の分散が大きいほど、大域特徴量によるテンプレート画像の絞り込みが有意であると考えられるため、テンプレート選択処理部112は、大域類似度の分散が大きいほど、テンプレート画像の絞り込み率を高くする。
【0077】
図10は、
図6のステップS206にて実行される局所特徴量絞込処理の一例を説明するためのフローチャートである。
【0078】
局所特徴量絞込処理では、先ず、テンプレート選択処理部112は、入力画像を解析して、入力画像の局所特徴量を取得する(ステップS501)。局所特徴量は、所定の局所特徴量算出手法を用いて算出される。局所特徴量算出手法は、本実施形態では、ORB(Oriented FAST and Rotated BRIEF(Binary Robust Independent Elementary Features))であるが、他の手法(AKAZE(Accelerated KAZE)、BRISK(Binary Robust Invariant Scalable Keypoints)及びSIFT(Scale-invariant feature transform)など)でもよい。また、局所特徴量の特徴点の数は、帳票の種類に応じて変更してもよい。
【0079】
その後、テンプレート選択処理部112は、
図9の大局絞込処理にて絞り込まれたテンプレート候補ごとにステップS602~S606の処理を繰り返すループ処理(D)を実行する。
【0080】
ループ処理(D)では、先ず、テンプレート選択処理部112は、処理対象のテンプレート候補の局所特徴量を、テンプレート特徴情報121から取得する(ステップS602)。
【0081】
テンプレート選択処理部112は、入力画像の特徴点ごとに、その特徴点に対応する処理対象のテンプレート候補の特徴点を対応点として特定する(ステップS603)。ここでは、テンプレート選択処理部112は、k近傍法を用いて、入力画像の特徴点ごとに、対象テンプレート候補の特徴点から、入力画像の特徴点との類似度が高い方から所定数番目までの特徴点を対応点として特定する。所定数は、本実施形態では、2である。
【0082】
テンプレート選択処理部112は、入力画像の特徴点ごとに、以下の比率検査(Ratio test)法を用いて対応点の絞り込みを行う(ステップS604)。比率検査法は、入力画像の特徴点miに対して、テンプレート候補の対応点のうち、最も(1番目に)類似している点nj1と2番目に類似している点nj2との類似度をそれぞれs1、s2とすると、以下の関係式(3)を満たす場合に、点nj1を特徴点miに対する対応点として採用する方法である。なお、関係式(3)において、ratioは、所定の比率である。
s1<s2*ratio・・・(3)
【0083】
さらに、テンプレート選択処理部112は、絞り込んだ対応点に対してRANSAC(Random Sample Consensus)アルゴリズムを用いて更なる絞り込みを行う(ステップS604)。
【0084】
具体的には、テンプレート選択処理部112は、以下の処理1及び2を所定回数、又は、後述するエラー率が規定値を下回るまで繰り返し、その処理結果に基づいて、処理対象のテンプレート候補の有効対応点を選択する。
処理1:テンプレート選択処理部112は、対応点を有する入力画像の特徴点をランダムに1点以上選択し、その選択した座標が対応点の座標に変換される座標変換行列を推定する。本実施形態では、テンプレート選択処理部112は、入力画像の特徴点を4点選択する。また、座標変換行列は、例えば、アフィン行列又はホモグラフィ行列などである。
処理2:テンプレート選択処理部112は、処理1にて推定した座標変換行列を用いて、入力画像の他の特徴点(選択した特徴点以外の特徴点)の座標変換を行い、その座標変換を行った変換後特徴点ごとに、変換後特徴点とその対応点(変換後特徴点の座標変換前の特徴点(他の特徴点)に対応する対応点)との距離を算出する。そして、テンプレート選択処理部112は、その距離が所定距離以下となる他の特徴点と、処理1で選択した特徴点とを抽出する。さらに、テンプレート選択処理部112は、変換後特徴点とその対応点との誤差を評価したエラー率を算出する(処理2)。
【0085】
処理1及び2を所定回数、又は、エラー率が規定値を下回るまで繰り返すと、テンプレート選択処理部112は、エラー率が最も低い処理にて抽出された特徴点に対応する対応点を有効対応点として特定する。
【0086】
その後、テンプレート選択処理部112は、有効対応点の数を算出する(ステップS606)。
【0087】
そして、テンプレート選択処理部112は、全てのテンプレート候補に対してステップS602~S606の処理を実行すると、ループ処理(D)を抜けて、テンプレート候補のうち、有効対応点の数が最大のテンプレート候補における有効対応点の数が規定数以上あるか否かを判断する(ステップS607)
【0088】
有効対応点の数が規定数以上の場合、テンプレート選択処理部112は、有効対応点の数が最大のテンプレート候補を対応テンプレート画像として選択して、局所特徴量絞込処理を終了する。
【0089】
一方、有効対応点の数が規定数未満の場合、テンプレート選択処理部112は、対応テンプレート画像がないと判断して、局所特徴量絞込処理を終了する。
【0090】
図11は、
図6のステップS207にて実行される適正判断処理の一例を説明するためのフローチャートである。
【0091】
適正判断処理では、先ず、テンプレート選択処理部112は、対応テンプレート画像に応じた座標変換行列である対象変換行列にて示される拡大率が許容範囲以内か否かを判断する(ステップS701)。例えば、テンプレート選択処理部112は、Zを0以上の値としたとき、拡大率が100±Z[%]以内か否かを判断する。なお、対応変換行列は、対応テンプレート画像の有効対応点を選択する際に使用した座標変換行列である。
【0092】
拡大率が許容範囲に含まれる場合、テンプレート選択処理部112は、対応テンプレート画像の全画素数に対する、対象変換行列を用いて入力画像を変形(座標変換)した変形画像と対応テンプレート画像とが重複する画素の画素数の割合である第1の割合が第1の一定割合以上か否かを判断する(ステップS702)。
【0093】
第1の割合が第1の一定値以上の場合、テンプレート選択処理部112は、対応テンプレート画像を2値化した画像における全ての黒画素の数に対する、変形画像を2値化した画像と対応テンプレート画像を2値化した画像とでどちらも同じ位置の画素かつ黒画素である画素の数の割合が第2の一定割合以上か否かを判断する(ステップS703)。
【0094】
第2の割合が第2の一定割合以上の場合、テンプレート選択処理部112は、対応テンプレート画像が適正であると判断して、適正判断処理を終了する。
【0095】
また、拡大率が許容範囲に含まれない場合、第1の割合が第1の一定値未満の場合、及び、第2の割合が第2の一定値未満の場合、テンプレート選択処理部112は、対応テンプレート画像がないと判断して、局所特徴量絞込処理を終了する。
【0096】
以上の処理において、
図10の局所特徴量絞込処理又は
図11の適正判断処理で応テンプレート画像がないと判断された場合、テンプレート選択処理部112は、
図5のステップS104以降の処理を行う代わりに、対応テンプレート画像が存在しない旨の通知情報をユーザ端末200に出力してもよい。
【0097】
以上説明したように本実施形態によれば、テンプレート選択処理部112は、帳帳票画像における複数の特徴点と各特徴点の特徴量記述子とを算出し、当該算出結果に基づいて、テンプレート画像ごとに、当該テンプレート画像における前記複数の特徴点に対応する複数の対応点を選択する。テンプレート選択処理部112は、各特徴点と各テンプレート画像の各対応点とに基づいて、前記対応テンプレート画像を選択する。したがって、罫線及び表などがなくてもテンプレート画像を選択することが可能となるため、より汎用性が高いテンプレート画像の選択が可能になる。
【0098】
また、本実施形態では、テンプレート選択処理部112は、特徴量記述子に基づいて、帳票画像の特徴点ごとに、テンプレート画像の特徴点であるテンプレート特徴点のうち、帳票画像の特徴点との類似度が高い方から所定数番目までのテンプレート特徴点を対応点として選択する。特には、テンプレート選択処理部112は、帳票画像の特徴点と1番目に類似しているテンプレート特徴点との類似度が、帳票画像の特徴点と2番目に類似しているテンプレート特徴点に所定の割合を乗算した値よりも小さい場合、最も類似しているテンプレート特徴点を対応点として選択する。これらの場合、より適切な対応点を選択することが可能となるため、対応テンプレート画像をより適切に選択することが可能となる。
【0099】
また、本実施形態では、テンプレート選択処理部112は、テンプレート画像ごとに、複数の特徴点から選択した1以上の特徴点の座標を当該1以上の特徴点に対応する1以上の対応点の座標に変換する座標変換行列を推定し、当該座標変換行列を用いて他の特徴点の座標変換を行った変換後特徴点と他の特徴点に対応する対応点との距離を算出し、選択した特徴点と、距離が所定距離以下となる他の特徴点とを抽出する処理を繰り返し行い、各処理の処理結果に基づいて、対応テンプレート画像を選択する。この場合、適切な対応点を有する特徴点に基づいて対応テンプレート画像を選択することが可能となるため、対応テンプレート画像をより適切に選択することが可能となる。
【0100】
また、本実施形態では、テンプレート選択処理部112は、テンプレート画像ごとに、エラー率が最も低い処理にて抽出された特徴点に対応する対応点を有効対応点として特定し、有効対応点の数が最大のテンプレート画像を対応テンプレート画像として選択する。この場合、対応テンプレート画像をより適切に選択することが可能となる。
【0101】
また、本実施形態では、テンプレート選択処理部112は、エラー率が最も低いテンプレート画像における当該有効対応点の数が規定数以上の場合、当該テンプレート画像を対応テンプレート画像として選択する。この場合、対応テンプレート画像をより適切に選択することが可能となる。
【0102】
また、本実施形態では、テンプレート選択処理部112は、対応テンプレート画像に対応する座標変換行列に基づいて、対応テンプレート画像が適正か否かを判断する。この場合、対応テンプレート画像の適正が判断されるので、対応テンプレート画像をより適切に選択することが可能となる。
【0103】
また、本実施形態では、テンプレート選択処理部112は、座標変換行列にて示される拡大率が許容範囲以内の場合、対応テンプレート画像を適正と判断する。この場合、対応テンプレート画像の適正の判断を適切に行うことが可能となる。
【0104】
また、本実施形態では、テンプレート選択処理部112は、対応テンプレート画像の全画素数に対する、座標変換行列を用いて帳票画像を変形した変形画像とテンプレート画像とが重複する画素の画素数の割合が一定値以上の場合、対応テンプレート画像を適正と判断する。この場合、対応テンプレート画像の適正の判断を適切に行うことが可能となる。
【0105】
また、本実施形態では、テンプレート選択処理部112は、対応テンプレート画像を2値化した画像における全ての黒ピクセルの数に対する、座標変換行列を用いて帳票画像を変形した変形画像を2値化した画像と対応テンプレート画像を2値化した画像とでどちらも同じ位置の画素かつ黒画素である画素の数の割合が一定値以上の場合、対応テンプレート画像を適正と判断する。この場合、対応テンプレート画像の適正の判断を適切に行うことが可能となる。
【0106】
また、本実施形態では、テンプレート選択処理部112は、対応テンプレート画像が適正でない場合、対応テンプレート画像が存在しない旨を出力する。この場合、対応テンプレート画像が存在しないことをユーザに通知することが可能になるので、新たにテンプレート画像を追加するなどの処理を行わせることが可能となる。
【0107】
上述した本開示の実施形態は、本開示の説明のための例示であり、本開示の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本開示の範囲を逸脱することなしに、他の様々な態様で本開示を実施することができる。
【0108】
例えば、上述した実施形態では、対応テンプレート画像を選択した後で文字認識処理が行われていたが、対応テンプレート画像を選択した後の処理については、特に限定されない。例えば、対応テンプレート画像をユーザ端末200に通知する処理が行われてもよい。
【符号の説明】
【0109】
100:帳票認識システム 101:Webサーバ 102:連携サーバ 103:サービスサーバ 111:サービス制御部 112:テンプレート選択処理部 113:画像前処理部 114:帳票認識処理部 115:帳票認識結果後処理部