以下、本開示の一側面に係る画像処理装置、制御方法及び制御プログラムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
図1は、実施形態に従った画像処理システム1の概略構成を示す図である。図1に示すように、画像処理システム1は、画像読取装置100と、情報処理装置200とを有する。
画像読取装置100は、例えばスキャナ装置等である。画像読取装置100は、情報処理装置200に接続されている。情報処理装置200は、画像処理装置の一例であり、例えばパーソナルコンピュータ等である。
画像読取装置100は、第1インタフェース装置101と、撮像装置102と、第1記憶装置110と、第1処理回路120とを有する。
第1インタフェース装置101は、USB(Universal Serial Bus)等のシリアルバスに準じるインタフェース回路を有し、情報処理装置200と電気的に接続して画像データ及び各種の情報を送受信する。また、第1インタフェース装置101の代わりに、無線信号を送受信するアンテナと、所定の通信プロトコルに従って、無線通信回線を通じて信号の送受信を行うための無線通信インタフェース回路とを有する通信装置が用いられてもよい。所定の通信プロトコルは、例えば無線LAN(Local Area Network)である。
撮像装置102は、主走査方向に直線状に配列されたCCD(Charge Coupled Device)による撮像素子を備える縮小光学系タイプの撮像センサを有する。さらに、撮像装置102は、光を照射する光源と、撮像素子上に像を結ぶレンズと、撮像素子から出力された電気信号を増幅してアナログ/デジタル(A/D)変換するA/D変換器とを有する。撮像装置102において、撮像センサは、搬送される媒体を撮像してアナログの画像信号を生成して出力し、A/D変換器は、このアナログの画像信号をA/D変換してデジタルの入力画像を生成して出力する。入力画像は、各画素データが、例えばRGB各色毎に8bitで表される計24bitのR(赤色)値、G(緑色)値、B(青色)値からなるカラー多値画像である。なお、CCDの代わりにCMOS(Complementary Metal Oxide Semiconductor)による撮像素子を備える等倍光学系タイプのCIS(Contact Image Sensor)が用いられてもよい。
第1記憶装置110は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、第1記憶装置110には、画像読取装置100の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて第1記憶装置110にインストールされてもよい。可搬型記録媒体は、例えばCD-ROM(compact disk read only memory)、DVD-ROM(digital versatile disk read only memory)等である。また、第1記憶装置110は、撮像装置102により生成された入力画像等を記憶する。
第1処理回路120は、予め第1記憶装置110に記憶されているプログラムに基づいて動作する。第1処理回路120は、例えばCPU(Control Processing Unit)である。なお、第1処理回路120として、DSP(digital signal processor)、LSI(large scale integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programming Gate Array)等が用いられてもよい。
第1処理回路120は、第1インタフェース装置101、撮像装置102及び第1記憶装置110等と接続され、これらの各部を制御する。第1処理回路120は、撮像装置102の媒体読取制御、第1インタフェース装置101を介した情報処理装置200とのデータ送受信制御等を行う。
情報処理装置200は、第2インタフェース装置201と、入力装置202と、表示装置203と、第2記憶装置210と、第2処理回路220とを有する。以下、情報処理装置200の各部について詳細に説明する。
第2インタフェース装置201は、画像読取装置100の第1インタフェース装置101と同様のインタフェース回路を有し、情報処理装置200と画像読取装置100とを接続する。また、第2インタフェース装置201の代わりに、無線信号を送受信するアンテナと、無線LAN等の所定の通信プロトコルに従って、無線通信回線を通じて信号の送受信を行うための無線通信インタフェース回路とを有する通信装置が用いられてもよい。
入力装置202は、キーボード、マウス等の入力装置及び入力装置から信号を取得するインタフェース回路を有し、利用者の操作に応じた信号を第2処理回路220に出力する。
表示装置203は、出力部の一例である。表示装置203は、液晶、有機EL(Electro-Luminescence)等から構成されるディスプレイ及びディスプレイに画像データを出力するインタフェース回路を有する。表示装置203は、第2処理回路220からの指示に従って、各種の情報をディスプレイに表示する。
第2記憶装置210は、記憶部の一例であり、画像読取装置100の第1記憶装置110と同様のメモリ装置、固定ディスク装置、可搬用の記憶装置等を有する。第2記憶装置210には、情報処理装置200の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて第2記憶装置210にインストールされてもよい。
また、第2記憶装置210には、データとして、取引先の名称に関するキーワード、及び、項目テーブル等が予め記憶される。取引先の名称に関するキーワードは、取引先の名称に含まれ得る文字であり、例えば株式会社、有限会社等である。項目テーブルの詳細については後述する。
第2処理回路220は、予め第2記憶装置210に記憶されているプログラムに基づいて動作する。第2処理回路220は、例えばCPUである。なお、第2処理回路220として、DSP、LSI、ASIC、FPGA等が用いられてもよい。
第2処理回路220は、第2インタフェース装置201、入力装置202、表示装置203及び第2記憶装置210等と接続され、これらの各部を制御する。第2処理回路220は、第2インタフェース装置201を介した画像読取装置100とのデータ送受信制御、入力装置202の入力制御、表示装置203の表示制御等を行う。
図2は、項目テーブルのデータ構造の一例を示す図である。
項目テーブルには、帳票に含まれる複数の項目毎に、各項目に関するキーワード及び/又はフォーマット等が関連付けて記憶される。複数の項目には、郵便番号、住所、電話番号、担当者、メールアドレス、銀行口座、日付及び文書番号等の、取引先の名称以外の項目が含まれる。キーワードは、各項目を示す文字列に含まれ得る文字である。各項目に関するキーワードは、第2キーワードの一例である。フォーマットは、各項目を示す文字列の書式である。例えば、項目が郵便番号である場合、フォーマットとして「〒」、「数字3桁」、「-」、「数字4桁」の組合せが設定され、項目が電話番号である場合、フォーマットとして「数字2桁」、「-」、「数字4桁」、「-」、「数字4桁」の組合せ等が設定される。
図3は、第2記憶装置210及び第2処理回路220の概略構成を示す図である。
図3に示すように第2記憶装置210には、取得プログラム211、画像領域検出プログラム212、文字列領域検出プログラム213、候補領域検出プログラム214、第1領域検出プログラム215、第2領域特定プログラム216、取引先領域特定プログラム217及び出力制御プログラム218等の各プログラムが記憶される。これらの各プログラムは、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。第2処理回路220は、第2記憶装置210に記憶された各プログラムを読み取り、読み取った各プログラムに従って動作する。これにより、第2処理回路220は、取得部221、画像領域検出部222、文字列領域検出部223、候補領域検出部224、第1領域検出部225、第2領域特定部226、取引先領域特定部227及び出力制御部228として機能する。
図4は、画像読取装置100による画像読取処理の動作を示すフローチャートである。以下、図4に示したフローチャートを参照しつつ、画像読取処理の動作を説明する。なお、以下に説明する動作のフローは、予め第1記憶装置110に記憶されているプログラムに基づき主に第1処理回路120により画像読取装置100の各要素と協働して実行される。
最初に、撮像装置102は、原稿として、印鑑又はロゴが含まれる請求書、通知書又は証明書等の帳票を撮像して入力画像を生成し、第1記憶装置110に保存する(ステップS101)。
次に、第1処理回路120は、第1記憶装置110に保存された入力画像を、第1インタフェース装置101を介して情報処理装置200に送信し(ステップS102)、一連のステップを終了する。
図5は、情報処理装置200による認識処理の動作を示すフローチャートである。以下、図5に示したフローチャートを参照しつつ、認識処理の動作を説明する。なお、以下に説明する動作のフローは、予め第2記憶装置210に記憶されているプログラムに基づき主に第2処理回路220により情報処理装置200の各要素と協同して実行される。
最初に、取得部221は、入力画像を、第2インタフェース装置201を介して画像読取装置100から取得し、第2記憶装置210に保存する(ステップS201)。
図6は、入力画像600の一例を示す模式図である。
図6に示すように、入力画像600には、印鑑605、郵便番号606、住所607、自社の名称608、電話番号609、取引先の名称610、住所611、銀行口座612及び銀行口座613等が含まれている。
次に、画像領域検出部222は、入力画像を複数の部分領域に分割する(ステップS202)。画像領域検出部222は、例えば入力画像を垂直方向及び/又は水平方向にそれぞれ所定数ずつに分割し、複数の部分領域に分割する。
図6に示す例では、入力画像600は、垂直方向及び水平方向にそれぞれ二つずつに分割され、四つの部分領域601~604に分割されている。情報処理装置200は、帳票が撮像された入力画像内で印鑑又はロゴが含まれる画像領域との位置関係に基づいて、取引先の名称を検出する。一般的な帳票において、取引先の名称は、左上部、右上部、左下部又は右下部の何れかに記載され、その近傍には、印鑑又はロゴが記載されている。したがって、情報処理装置200は、入力画像を垂直方向及び水平方向に二つずつに分割することにより、取引先の名称と印鑑又はロゴとが同一の部分領域に含まれるように、入力画像を分割することができる。
次に、画像領域検出部222は、入力画像内で、印鑑が含まれる印鑑領域、又は、ロゴが含まれるロゴ領域を検出する(ステップS203)。以下では、印鑑領域及びロゴ領域を総じて図形領域と称する場合がある。図形領域は、印鑑又はロゴが含まれる画像領域の一例である。画像領域検出部222は、入力画像内の複数の部分領域毎に、所定図形領域を検出する。印鑑領域には、赤色の印鑑が含まれる赤色印鑑領域、及び/又は、黒色の印鑑が含まれる黒色印鑑領域が含まれる。
画像領域検出部222は、赤色印鑑領域を検出するために、まず、入力画像内の各画素のRGB(赤色、緑色、青色)値をHSL(色相、彩度、輝度)値に変換する。次に、画像領域検出部222は、色相値が第1閾値(例えば30)未満である画素と、色相値が第2閾値(例えば330)より大きい画素(即ち、オレンジ色から赤紫色を有する画素)を抽出する。次に、画像領域検出部222は、抽出した各画素について、R値からG値を減算した値と、R値からB値を減算した値との合計値を赤色強度として算出する。なお、画像領域検出部222は、抽出した各画素について、各画素のS(彩度)値を赤色強度として使用してもよい。
次に、画像領域検出部222は、算出した赤色強度が第3閾値(例えば32)以上である画素を印鑑画素に決定する。次に、入力画像内で、抽出した印鑑画素が連結する領域を含む領域を、印鑑が写っている赤色印鑑領域として検出する。画像領域検出部222は、相互に隣接する印鑑画素で囲まれる領域をラベリングにより一つのグループとしてまとめて印鑑が写っている赤色印鑑領域とする。なお、画像領域検出部222は、各グループの内、サイズ(面積)が所定範囲内であるグループのみを赤色印鑑領域として検出してもよい。所定範囲は、一般的な印鑑が取り得る範囲に予め設定される。また、画像領域検出部222は、各グループの内、所定形状を有するグループのみを赤色印鑑領域として検出してもよい。所定形状は、丸、四角等、一般的な印鑑が取り得る形状に予め設定される。例えば、画像領域検出部222は、各グループと所定形状との正規化相互相関値を算出し、算出した正規化相互相関値が所定値以上である場合に限り、そのグループを赤色印鑑領域として検出する。また、画像領域検出部222は、各グループの外接矩形を赤色印鑑領域として検出してもよい。
また、画像領域検出部222は、ロゴ領域、又は、文字列と重なっていない黒色印鑑領域を検出するために、まず、入力画像内の各画素のRGB値をYUV(輝度、色差)値に変換する。次に、画像領域検出部222は、輝度値が第4閾値(例えば128)未満である画素を黒色画素として抽出する。次に、画像領域検出部222は、相互に隣接する黒色画素で囲まれる領域をラベリングにより一つのグループとしてまとめ、各グループの内、所定形状を有するグループをロゴ領域又は黒色印鑑領域として検出する。なお、画像領域検出部222は、各グループの内、サイズが所定範囲内であるグループのみをロゴ領域又は黒色印鑑領域として検出してもよい。また、画像領域検出部222は、各グループの外接矩形をロゴ領域又は黒色印鑑領域として検出してもよい。
また、画像領域検出部222は、文字列と重なっている黒色印鑑領域を検出するために、入力画像内の垂直方向の画素位置を階級とし、垂直方向の各画素位置における黒色画素の画素数を度数とするヒストグラムを生成する。画像領域検出部222は、度数が第5閾値(例えば10)以上である階級が連続する連続数が所定範囲内(例えば15mmに相当する画素数以上であり且つ30mmに相当する画素数以下)である垂直方向の領域を印鑑候補行として検出する。一般に、横書きの帳票では、文字は横方向に並ぶため、文字が記載されている行間には余白が存在する。しかしながら、印鑑が押下された領域では、行間に印鑑が存在するため、余白が除去される。したがって、ヒストグラム内で度数がある程度の大きさを有する階級がある程度連続している領域には印鑑が存在する可能性が高い。
次に、画像領域検出部222は、印鑑候補行内で、相互に隣接する黒色画素で囲まれる領域をラベリングにより一つのグループとしてまとめる。画像領域検出部222は、各グループの内、サイズが所定範囲内であり且つアスペクト比が所定のアスペクト比範囲内であるグループを黒色印鑑領域として検出する。所定範囲は、例えば15mmに相当する画素数以上であり且つ30mmに相当する画素数以下の範囲に設定される。アスペクト比範囲は、例えば2/3以上且つ3/2以下に設定される。また、画像領域検出部222は、各グループの外接矩形を黒色印鑑領域として検出してもよい。
図6に示す例では、部分領域601内で印鑑605を含む領域が図形領域として検出される。
次に、画像領域検出部222は、入力画像内で図形領域が検出されたか否かを判定する(ステップS204)。
入力画像内で図形領域が検出されなかった場合、取引先領域特定部227は、入力画像に含まれる、取引先の名称に対応する項目名及びその項目名に対する位置関係に基づいて、入力画像から取引先領域を検出する(ステップS205)。取引先領域は、入力画像内で取引先の名称を示す文字列が含まれる領域である。取引先領域特定部227は、公知のOCR(Optical Character Recognition)技術を利用して、入力画像から文字を検出し、第1位置関係を有する複数の文字を文字列として検出する。第1位置関係を有する複数の文字は、例えば垂直方向において相互に重複し、且つ、水平方向において一定範囲内で隣り合いつつ連続する文字である。一定範囲は、例えば余白に相当する画素数に設定される。取引先領域特定部227は、検出した文字列の内、取引先の名称に対応する項目名を含む文字列を抽出する。取引先の名称に対応する項目名は、例えば「会社名」等である。
取引先領域特定部227は、抽出した文字列に対して第2位置関係を有する文字列を、取引先の名称を示す文字列として検出する。第2位置関係は、方向(例えば右側、下側、右下側)及び距離(例えば30mmに相当する画素内)を含み、事前に設定される。取引先領域特定部227は、検出した文字列を含む領域を取引先領域として検出する。取引先領域特定部227は、例えば検出した文字列の外接矩形を取引先領域として検出する。次に、取引先領域特定部227は、処理をステップS208に移行する。
一方、入力画像内で図形領域が検出された場合、文字列領域検出部223は、入力画像から印鑑成分又はロゴ成分を除去する(ステップS206)。
入力画像内で赤色印鑑領域が検出された場合、文字列領域検出部223は、まず、入力画像に対して白色成分を膨張させた膨張画像を生成し、膨張画像内の各画素の画素値(R値、G値、B値)を、対応する入力画像内の各画素の背景情報として決定する。即ち、入力画像内の注目画素に対応する背景情報は、注目画素の周辺画素の中で輝度が最も高い画素の画素値に設定される。次に、文字列領域検出部223は、赤色印鑑領域内の各画素のR値Sr、G値Sg、B値Sbを、それぞれ以下の式(1)~(3)に従って算出されるDr、Dg、Dbに変換する。
Dr=(Br-Sr)×(赤色割合)+Sr (1)
Dg=(Bg-Sg)×(赤色割合)+Sg (2)
Db=(Bb-Sb)×(赤色割合)+Sb (3)
赤色割合は、例えば以下の式(4)により算出される。
(赤色割合)={(注目画素の赤色強度)-β}/α (4)
ここで、αは係数(例えば96)であり、赤色強度の値域幅に基づいて、予め設定される。また、βはオフセット値(例えば32)であり、赤色強度の値域に基づいて、予め設定される。赤色割合は、0以上であり且つ1以下である範囲内に設定される。即ち、式(4)により算出された値が0以下である場合、赤色割合は0に補正され、式(4)により算出された値が1以上である場合、赤色割合は1に補正される。
文字列領域検出部223は、赤色印鑑領域内の各画素の画素値を、各画素の赤色割合に応じて各画素の背景情報と合成させることにより、赤色印鑑領域において、文字の成分を残しつつ赤色印鑑の成分のみを良好に除去することができる。
入力画像内でロゴ領域、又は、文字列と重なっていない黒色印鑑領域が検出された場合、文字列領域検出部223は、まず、そのロゴ領域又は黒色印鑑領域の周辺に存在し且つ白色に近い画素を特定する。文字列領域検出部223は、そのロゴ領域又は黒色印鑑領域から一定範囲内であり且つ画素値(R値、G値、B値)が閾値(例えば200)以上である画素を特定する。文字列領域検出部223は、そのロゴ領域又は黒色印鑑領域内の各画素の画素値を特定した画素の画素値に置換することにより、印鑑成分又はロゴ成分を除去する。
また、文字列領域検出部223は、入力画像内で文字列と重なっている黒色印鑑領域については黒色印鑑の成分を除去しない。
次に、第2処理回路220は、領域特定処理を実行する(ステップS207)。領域特定処理において、第2処理回路220は、図形領域との位置関係に基づいて、入力画像から取引先領域を特定する。領域特定処理の詳細については後述する。
次に、出力制御部228は、ステップS205で検出された取引先領域、又は、ステップS207の領域特定処理で特定された取引先領域に関する情報を出力し(ステップS208)、一連のステップを終了する。出力制御部228は、取引先領域に関する情報を表示装置203に表示することにより出力する。なお、出力制御部228は、取引先領域に関する情報を、第2インタフェース装置201を介して他の情報処理装置に送信することにより出力してもよい。出力制御部228は、取引先領域に関する情報として、例えば取引先領域に含まれる、入力画像内で取引先の名称を示す文字列を出力する。なお、出力制御部228は、取引先領域に関する情報として、入力画像及び入力画像内の取引先領域の座標を示す位置情報を出力してもよい。また、出力制御部228は、取引先領域に関する情報として、取引先領域を切り出した画像等を出力してもよい。
なお、ステップS206の処理が省略され、第2処理回路220は、入力画像から印鑑成分又はロゴ成分を除去せずに、取引先領域を特定してもよい。
図7は、領域特定処理の動作の例を示すフローチャートである。図7に示す動作のフローは、図5に示すフローチャートのステップS207において実行される。
図7のフローチャートに示すステップS301~S310の処理は、複数の部分領域の内、図形領域が検出された部分領域毎に実行される。
図6に示す例では、印鑑605を含む図形領域が検出された部分領域601に対してのみ、ステップS301~S310の処理が実行される。
最初に、文字列領域検出部223は、入力画像の処理対象の部分領域から文字列領域を検出する(ステップS301)。文字列領域検出部223は、公知のOCR技術を利用して、入力画像から文字を検出し、第1位置関係を有する複数の文字を文字列として検出する。文字列領域検出部223は、検出した文字列を含む領域を文字列領域として検出する。文字列領域検出部223は、例えば検出した文字列の外接矩形を文字列領域として検出する。
図6に示す例では、部分領域601内で郵便番号606、住所607、自社の名称608、電話番号609、取引先の名称610、住所611、銀行口座612及び銀行口座613をそれぞれ含む領域が文字列領域として検出される。
次に、候補領域検出部224は、第2記憶装置210に記憶された取引先の名称に関するキーワードに基づいて、文字列領域検出部223により検出された文字列領域の中から、取引先の名称が含まれる候補領域を検出する(ステップS302)。候補領域検出部224は、検出された文字列領域の内、取引先の名称に関するキーワードが含まれる文字列領域を候補領域として検出する。
図6に示す例では、自社の名称608及び取引先の名称610にキーワード「株式会社」が含まれており、自社の名称608及び取引先の名称610をそれぞれ含む文字列領域が候補領域として検出される。
次に、第1領域検出部225は、項目テーブルに記憶された各項目に関するキーワード又はフォーマットに基づいて、文字列領域検出部223により検出された文字列領域の中から第1領域を検出する(ステップS303)。第1領域は、項目テーブルに記憶された複数の項目の内の何れかの項目が含まれる領域である。第1領域検出部225は、検出された文字列領域の内、何れかの項目に関するキーワードが含まれる文字列領域、又は、何れかの項目に関するフォーマットを満たす文字列領域を第1領域として検出する。
図6に示す例では、郵便番号606、住所607、電話番号609、住所611、銀行口座612及び銀行口座613をそれぞれ含む文字列領域が第1領域として検出される。
次に、第2領域特定部226は、文字列領域検出部223により検出された文字列領域の中から、候補領域又は第1領域として検出されなかった第2領域を特定する(ステップS304)。第2領域特定部226は、検出された文字列領域の内、候補領域として検出されず且つ第1領域として検出されなかった文字列領域を第2領域として特定する。
図6に示す例では、全ての文字列領域が候補領域又は第1領域として検出されており、第2領域は特定されない。
図8は、第2領域が含まれる入力画像800の一例を示す模式図である。
図8に示すように、入力画像800には、印鑑805、日付806、文書番号807、取引先の名称808、担当者809、メールアドレス810、郵便番号811、住所812及び電話番号813等が含まれている。入力画像800は四つの部分領域801~804に分割され、部分領域802内で印鑑805を含む領域が図形領域として検出される。また、部分領域802内で日付806、文書番号807、取引先の名称808、担当者809、メールアドレス810、郵便番号811、住所812及び電話番号813をそれぞれ含む領域が文字列領域として検出される。取引先の名称808にはキーワード「株式会社」が含まれておらず、部分領域801から候補領域は検出されない。また、部分領域801内で日付806、文書番号807、担当者809、メールアドレス810、郵便番号811、住所812及び電話番号813それぞれ含む文字列領域が第1領域として検出される。したがって、候補領域として検出されず且つ第1領域として検出されなかった取引先の名称808を含む文字列領域が、第2領域として特定される。
次に、取引先領域特定部227は、候補領域検出部224により候補領域が検出されたか否かを判定する(ステップS305)。
候補領域検出部224により候補領域が検出されなかった場合、取引先領域特定部227は、第1特定処理を実行する(ステップS306)。第1特定処理において、取引先領域特定部227は、第2領域に基づいて、部分領域内で最も有力な候補領域である最有力候補領域を特定する。第1特定処理の詳細については後述する。
一方、候補領域が検出された場合、取引先領域特定部227は、候補領域検出部224により複数の候補領域が検出されたか否かを判定する(ステップS307)。
複数の候補領域が検出されなかった場合、即ち検出された候補領域の数が一つである場合、取引先領域特定部227は、第2特定処理を実行する(ステップS308)。第2特定処理において、取引先領域特定部227は、候補領域と第2領域の位置関係に基づいて最有力候補領域を特定する。第2特定処理の詳細については後述する。
一方、複数の候補領域が検出された場合、即ち検出された候補領域の数が複数である場合、取引先領域特定部227は、図形領域からの距離に基づいて、複数の候補領域の中から一つの最有力候補領域を特定する(ステップS309)。
取引先領域特定部227は、複数の候補領域毎に、部分領域内の全ての図形領域のそれぞれとの間の距離を算出する。取引先領域特定部227は、候補領域と図形領域において、入力画像内で相互に最も近くに位置する端部位置(左上、左下、右上又は右下)の組合せを特定し、特定した端部位置間のユークリッド距離(直線距離に相当する画素数)を領域間の距離として算出する。なお、取引先領域特定部227は、領域間の距離として、特定した端部位置間のマンハッタン距離(水平方向の座標の差の絶対値と垂直方向の座標の差の絶対値の合計)を算出してもよい。また、取引先領域特定部227は、領域間の距離として、各領域の重心位置間のユークリッド距離又はマンハッタン距離を算出してもよい。また、取引先領域特定部227は、候補領域と図形領域が重複している場合(重複する画素数が所定数以上である場合)、領域間の距離を0としてもよい。
取引先領域特定部227は、複数の候補領域毎に、距離が最も小さい図形領域を各候補領域の最も近くに位置する図形領域として特定し、その領域間の距離を特定する。取引先領域特定部227は、特定した候補領域と図形領域の組合せの内、領域間の距離が最も小さい候補領域と図形領域の組合せを特定し、特定した組合せに係る候補領域を最有力候補領域として特定する。
図6に示す例では、自社の名称608を含む候補領域と取引先の名称610を含む候補領域とが検出されており、印鑑605を含む図形領域からの距離が小さい取引先の名称610を含む候補領域が最有力候補領域として特定される。
画像処理システム1が、取引先から受け取った請求書等の帳票をデータ化する企業で利用される場合、画像処理システム1は、その取引先の名称を特定して管理する必要がある。そのような請求書には、会社名として、自社の名称と、取引先の名称とが含まれる可能性が高い。但し、帳票の発行元である取引先の名称の近傍には、取引先の印鑑又はロゴが含まれ、帳票の送信先である自社の名称の近傍には、印鑑又はロゴが含まれていない可能性が高い。したがって、画像処理システム1は、複数の候補領域が検出された場合、図形領域に近い方の候補領域を最有力候補領域として特定することにより、取引先の名称が含まれる領域を精度良く検出することができる。これにより、画像処理システム1は、取引先以外の名称を取引先の名称として誤って検出することを抑制できる。
次に、取引先領域特定部227は、図形領域が検出された全ての部分領域についてステップS301~S309の処理が完了したか否かを判定する(ステップS310)。図形領域が検出され且つまだ処理されていない部分領域が残っている場合、取引先領域特定部227は、処理をステップS301に戻し、ステップS301~S309の処理を繰り返す。
一方、全ての部分領域について処理が完了した場合、取引先領域特定部227は、何れかの部分領域から最有力候補領域が特定されたか否かを判定する(ステップS311)。
何れの部分領域からも最有力候補領域が特定されなかった場合、取引先領域特定部227は、取引先の名称に対応する項目名及びその項目名からの位置関係に基づいて、入力画像から取引先領域を検出し(ステップS312)、一連のステップを終了する。取引先領域特定部227は、図5のステップS205の処理と同様にして、入力画像から取引先領域を検出する。
一方、何れかの部分領域から最有力候補領域が特定された場合、取引先領域特定部227は、特定した最有力候補領域の中から、取引先領域を特定し(ステップS313)、一連のステップを終了する。取引先領域特定部227は、図形領域が検出された部分領域毎に特定した各最有力候補領域と、各最有力候補領域に対応する図形領域との間の距離に基づいて、取引先領域を特定する。各最有力候補領域に対応する図形領域は、各最有力候補領域が含まれる部分領域に含まれ、且つ、その部分領域内で各最有力候補領域の最も近くに位置する図形領域である。取引先領域特定部227は、ステップS309の処理と同様にして、最有力候補領域毎に、部分領域内の全ての図形領域のそれぞれとの間の距離を算出する。取引先領域特定部227は、最有力候補領域毎に、距離が最も小さい図形領域を各最有力候補領域の最も近くに位置する図形領域として特定し、その領域間の距離を特定する。取引先領域特定部227は、特定した最有力候補領域と図形領域の組合せの内、領域間の距離が最も小さい最有力候補領域と図形領域の組合せを特定し、特定した組合せに係る最有力候補領域を取引先領域として特定する。
このように、取引先領域特定部227は、図形領域が検出された部分領域毎に特定した最有力候補領域の内、対応する図形領域からの距離が最も小さい最有力候補領域を取引先領域として特定する。
図6に示す例では、部分領域601内で取引先の名称610を含む最有力候補領域が検出されており、他の部分領域602~604では最有力候補領域が検出されていない。したがって、取引先の名称610を含む最有力候補領域が取引先領域として特定される。
図9は、複数の最有力候補領域が含まれる入力画像900の一例を示す模式図である。
図9に示すように、入力画像900には、取引先のロゴ905、自社の名称906、取引先の印鑑907及び取引先の名称908等が含まれている。入力画像900は四つの部分領域901~904に分割される。そして、部分領域901内で、取引先のロゴ905を含む領域が図形領域として検出され、自社の名称906を含む領域が最有力候補領域として検出される。また、部分領域902内で、取引先の印鑑907を含む領域が図形領域として検出される。取引先の名称908を含む領域が最有力候補領域として検出される。取引先の名称908を含む最有力候補領域と取引先の印鑑907を含む図形領域との間の距離は、自社の名称906を含む最有力候補領域と取引先のロゴ905を含む図形領域との間の距離より小さい。そのため、取引先の名称908を含む最有力候補領域が取引先領域として特定される。
帳票によっては、取引先のロゴ又は取引先の担当者の印鑑等が、自社の名称と同じ部分領域に含まれる場合がある。そのような場合でも、取引先の印鑑は取引先の名称の近傍に押印される可能性が高く、取引先の名称と取引先の印鑑との間の距離は、自社の名称と取引先のロゴ又は取引先の担当者の印鑑との間の距離より小さい可能性が高い。画像処理システム1は、二以上の部分領域で最有力候補領域が検出された場合、対応する図形領域に近い最有力候補領域を取引先領域として特定することにより、取引先の名称が含まれる領域を精度良く検出することができる。これにより、画像処理システム1は、取引先以外の名称を取引先の名称として誤って検出することを抑制できる。
図10は、第1特定処理の動作の例を示すフローチャートである。図10に示す動作のフローは、図7に示すフローチャートのステップS306において実行される。
最初に、取引先領域特定部227は、第2領域特定部226により第2領域が特定されたか否かを判定する(ステップS401)。
第2領域が特定されなかった場合、取引先領域特定部227は、その部分領域から最有力候補領域を特定せず(ステップS402)、一連のステップを終了する。
一方、第2領域が特定された場合、取引先領域特定部227は、第2領域特定部226により複数の第2領域が特定されたか否かを判定する(ステップS403)。
複数の第2領域が特定されなかった場合、即ち特定された第2領域の数が一つである場合、取引先領域特定部227は、その第2領域を最有力候補領域として特定し(ステップS404)、一連のステップを終了する。
図8に示す例では、候補領域が検出されず、且つ、取引先の名称808を含む第2領域が特定されており、この第2領域が最有力候補領域として特定される。
一般に、「株式会社」、「有限会社」等の一般的なキーワードが含まれない会社の名称が存在するため、キーワードのみに基づいて取引先の名称を完全に検出することは困難である。情報処理装置200は、キーワードに基づいて取引先の名称を検出できなかった場合に、一般的な帳票に含まれる住所、電話番号等の項目に対応しない文字列を、取引先の名称と推定する。これにより、情報処理装置200は、キーワードを含まない取引先の名称を精度良く特定することができる。
一方、複数の第2領域が特定された場合、即ち特定された第2領域の数が複数である場合、取引先領域特定部227は、図形領域からの距離に基づいて、複数の第2領域の中から一つの最有力候補領域を特定し(ステップS405)、一連のステップを終了する。取引先領域特定部227は、図7のステップS309の処理と同様にして、複数の第2領域毎に、部分領域内の全ての図形領域のそれぞれとの間の距離を算出する。取引先領域特定部227は、複数の第2領域毎に、距離が最も小さい図形領域を各第2領域の最も近くに位置する図形領域として特定し、その領域間の距離を特定する。取引先領域特定部227は、特定した第2領域と図形領域の組合せの内、領域間の距離が最も小さい第2領域と図形領域の組合せを特定し、特定した組合せに係る第2領域を最有力候補領域として特定する。
上記したように、取引先から受け取った請求書に自社の名称と取引先の名称とが含まれている場合、取引先の名称の近傍には取引先の印鑑又はロゴが含まれ、自社の名称の近傍には印鑑又はロゴが含まれていない可能性が高い。したがって、画像処理システム1は、複数の第2領域が特定された場合、図形領域に近い方の第2領域を最有力候補領域として特定することにより、取引先の名称が含まれる領域を精度良く検出することができる。これにより、画像処理システム1は、取引先以外の名称を取引先の名称として誤って検出することを抑制できる。
なお、全ての部分領域において候補領域検出部224により候補領域が検出されなかった場合、第2領域特定部226によって特定された第2領域のみが最有力候補領域として特定される。したがって、図7のステップS313において、取引先領域特定部227は、第2領域特定部226によって特定された第2領域の中から取引先領域を特定する。特に、第2領域特定部226により、画像領域が検出された部分領域毎に複数の第2領域が特定された場合、取引先領域特定部227は、特定された第2領域の内、対応する図形領域からの距離が最も小さい第2領域を取引先領域として特定する。
上記したように、帳票によっては、取引先のロゴ又は取引先の担当者の印鑑等が、自社の名称と同じ部分領域に含まれる場合がある。画像処理システム1は、二以上の部分領域において複数の第2領域が最有力候補領域として特定された場合、対応する図形領域に近い第2領域を取引先領域として特定することにより、取引先の名称が含まれる領域を精度良く検出することができる。これにより、画像処理システム1は、取引先以外の名称を取引先の名称として誤って検出することを抑制できる。
図11は、第2特定処理の動作の例を示すフローチャートである。図11に示す動作のフローは、図7に示すフローチャートのステップS308において実行される。
最初に、取引先領域特定部227は、候補領域検出部224によって検出された候補領域と、その候補領域の最も近くに位置する図形領域との間の距離が距離閾値以下であるか否かを判定する(ステップS501)。取引先領域特定部227は、図7のステップS309の処理と同様にして、候補領域と、部分領域内の全ての図形領域のそれぞれとの間の距離を算出する。取引先領域特定部227は、距離が最も小さい図形領域を候補領域の最も近くに位置する図形領域として特定し、その領域間の距離を特定する。距離閾値は、例えば所定行数(例えば5行)に相当する画素数に設定される。
候補領域と、対応する図形領域との間の距離が距離閾値以下である場合、取引先領域特定部227は、その候補領域を最有力候補領域として特定し(ステップS502)、一連のステップを終了する。即ち、帳票内で、キーワードが含まれる取引先の名称の近傍に印鑑又はロゴが存在する場合、その取引先の名称を含む領域が最有力候補領域として特定される。
一方、候補領域と、対応する図形領域との間の距離が距離閾値より大きい場合、取引先領域特定部227は、その候補領域より図形領域からの距離が小さい第2領域が存在するか否かを判定する(ステップS503)。取引先領域特定部227は、図10のステップS405の処理と同様にして、第2領域特定部226によって特定された第2領域毎に、各第2領域の最も近くに位置する図形領域、及び、各第2領域と各図形領域の間の距離を特定する。取引先領域特定部227は、ステップS501で候補領域について算出した距離より、何れかの第2領域について算出した距離が小さい場合、その候補領域より図形領域からの距離が小さい第2領域が存在すると判定する。一方、取引先領域特定部227は、ステップS501で候補領域について算出した距離が、全ての第2領域について算出した距離以下である場合、その候補領域より図形領域からの距離が小さい第2領域が存在しないと判定する。
候補領域より図形領域からの距離が小さい第2領域が存在しない場合、取引先領域特定部227は、その候補領域を最有力候補領域として特定し(ステップS502)、一連のステップを終了する。
図12は、候補領域が図形領域から離れている入力画像1200の一例を示す模式図である。
図12に示すように、入力画像1200には、取引先の印鑑1205及び取引先の名称1206等が含まれている。入力画像1200は四つの部分領域1201~1204に分割され、部分領域1202内で取引先の印鑑1205を含む領域が図形領域として検出され、取引先の名称1206を含む領域が候補領域として検出される。但し、部分領域1202には、項目テーブルに記憶された項目以外の項目は含まれておらず、部分領域1202内で第2領域は特定されていない。取引先の名称1206を含む候補領域と取引先の印鑑1205を含む図形領域との間の距離は距離閾値より大きい。しかしながら、部分領域1202内で第2領域は特定されないため、取引先の名称1206を含む候補領域が最有力候補領域として特定される。
このように、帳票内で、印鑑又はロゴと会社名とが離れている場合でも、印鑑又はロゴの最も近くに位置する会社名にキーワードが含まれる場合には、その会社名を含む領域が最有力候補領域として特定される。
一方、候補領域より図形領域からの距離が小さい第2領域が存在する場合、取引先領域特定部227は、第2領域と図形領域の間の距離が所定距離以下であるか否かを判定する(ステップS504)。取引先領域特定部227は、部分領域内の第2領域の中で、最も近くに位置する図形領域からの距離が最も小さい第2領域、及び、その第2領域とその第2領域の最も近くに位置する図形領域との間の距離を特定する。取引先領域特定部227は、特定した距離が所定距離以下である場合、第2領域と図形領域の間の距離が所定距離以下であると判定し、特定した距離が所定距離より大きい場合、第2領域と図形領域の間の距離が所定距離より大きいと判定する。
第2領域と図形領域の間の距離が所定距離より大きい場合、取引先領域特定部227は、候補領域を最有力候補領域として特定し(ステップS502)、一連のステップを終了する。即ち、帳票内で、キーワードを含まない会社名が、キーワードを含む会社名よりも印鑑又はロゴの近くに存在する場合でも、キーワードを含まない会社名が印鑑又はロゴから離れている場合は、キーワードを含む会社名を含む領域が最有力候補領域として特定される。
一方、第2領域と図形領域の間の距離が所定距離以下である場合、取引先領域特定部227は、第2領域を最有力候補領域として特定し(ステップS505)、一連のステップを終了する。取引先領域特定部227は、部分領域内の第2領域の中で、最も近くに位置する図形領域からの距離が最も小さい第2領域を最有力候補領域として特定する。
図13は、候補領域が図形領域から離れている入力画像1300の一例を示す模式図である。
図13に示すように、入力画像1300には、取引先の印鑑1305、自社の名称1306及び取引先の名称1307等が含まれている。入力画像1300は四つの部分領域1301~1304に分割される。そして、部分領域1301内で取引先の印鑑1305を含む領域が図形領域として検出され、自社の名称1306を含む領域が候補領域として特定され、取引先の名称1307を含む領域が第2領域として検出される。自社の名称1306を含む候補領域と取引先の印鑑1305を含む図形領域との間の距離は距離閾値より大きい。一方、取引先の名称1307を含む第2領域と印鑑1305を含む図形領域との間の距離は、自社の名称1306を含む候補領域と印鑑1305を含む図形領域との間の距離より小さく、且つ、所定距離以下である。そのため、取引先の名称1307を含む第2領域が最有力候補領域として特定される。
このように、帳票内で、印鑑又はロゴと、キーワードを含む会社名とが離れており、その会社名より印鑑又はロゴからの距離が小さい、キーワードを含まない会社名が存在する場合、キーワードを含まない会社名を含む領域が最有力候補領域として特定される。したがって、画像処理システム1は、取引先の名称にキーワードが含まれず、且つ、自社の名称にキーワードが含まれている場合でも、取引先の名称が含まれる領域を精度良く検出することができる。これにより、画像処理システム1は、取引先以外の名称を取引先の名称として誤って検出することを抑制できる。
なお、ステップS501の処理は省略されてもよい。その場合、取引先領域特定部227は、候補領域と図形領域の間の距離にかかわらず、図形領域からの距離が候補領域と図形領域の間の距離より小さく且つ所定距離以下である第2領域を取引先領域として特定する。
また、第2特定処理と同様に、図7のステップS309においても、取引先領域特定部227は、図形領域からの距離が候補領域と図形領域との間の距離より小さく且つ所定距離以下である第2領域を最有力候補領域として特定してもよい。取引先領域特定部227は、複数の候補領域が検出された場合、複数の候補領域の中で、最も近くに位置する図形領域からの距離が最も小さい候補領域を特定する。取引先領域特定部227は、特定した候補領域より図形領域からの距離が小さい第2領域が存在し、且つ、その第2領域と図形領域の間の距離が所定距離以下である場合、その第2領域を最有力候補として特定する。なお、図形領域からの距離が、特定した候補領域と図形領域との間の距離より小さく且つ所定距離以下である第2領域が複数存在する場合、取引先領域特定部227は、その距離が最も小さい第2領域を最有力候補領域として特定する。
なお、情報処理装置200は、入力画像を複数の部分領域に分割せずに、まとめて認識処理及び領域特定処理を実行してもよい。その場合、図5の認識処理において、ステップS202の処理が省略され、ステップS203において、画像領域検出部222は、入力画像全体から図形領域を検出する。また、図7の領域特定処理において、ステップS301~S309の処理は入力画像全体に対して実行され、ステップS310の処理は省略される。図7のステップS313において、取引先領域特定部227は、図7のステップS309、図10のステップS404、S405、又は、図11のステップS502、S505で特定した最有力候補領域を取引先領域として特定する。
また、情報処理装置200は、第1領域の検出及び第2領域の特定を実行することなく取引先領域を特定してもよい。その場合、図7のステップS303~S304の処理が省略される。ステップS305において、候補領域が検出されなかった場合、取引先領域特定部227は、処理をステップS312へ移行し、取引先の名称に対応する項目名及びその項目名からの位置関係に基づいて、入力画像から取引先領域を検出する。ステップS307において、検出された候補領域の数が一つである場合、取引先領域特定部227は、その検出された候補領域を最有力候補領域として特定する。この場合、ステップS313において、取引先領域特定部227は、図形領域が検出された部分領域毎に特定した候補領域の内、対応する図形領域からの距離が最も小さい候補領域を取引先領域として特定する。
また、ステップS313において、取引先領域特定部227は、候補領域として検出された最有力候補領域を優先して、取引先領域として特定してもよい。その場合、取引先領域特定部227は、候補領域として検出された最有力候補領域が存在するか否かを判定する。候補領域として検出された最有力候補領域が存在する場合、取引先領域特定部227は、候補領域として検出された最有力候補領域の内、対応する図形領域からの距離が最も小さい最有力候補領域を取引先領域として特定する。一方、候補領域として検出された最有力候補領域が存在しない場合、取引先領域特定部227は、第2領域として特定された最有力候補領域の内、対応する図形領域からの距離が最も小さい最有力候補領域を取引先領域として特定する。
以上の通り、取引先領域特定部227は、複数の図形領域が検出され且つ各図形領域に対応する複数の候補領域が検出された場合、複数の候補領域の内、対応する図形領域からの距離が最も小さい候補領域を取引先領域として特定する。また、取引先領域特定部227は、複数の図形領域が検出され、各図形領域に対応する候補領域が検出されず且つ何れかの図形領域に対応する第2領域が特定された場合、その特定された第2領域を取引先領域として特定する。特に、取引先領域特定部227は、各図形領域に対応する複数の第2領域が特定された場合、複数の第2領域の内、対応する図形領域からの距離が最も小さい第2領域を取引先領域として特定する。
以上詳述したように、情報処理装置200は、キーワードに基づいて取引先の名称の候補領域が複数検出された場合に、印鑑又はロゴが含まれる図形領域からの距離に基づいて一つの取引先領域を特定する。これにより、情報処理装置200は、入力画像から取引先の名称が含まれる領域をより精度良く特定することが可能となった。
その結果、情報処理装置200は、入力装置202を用いて利用者から取引先の名称の修正を受け付けることがなくなり、入力画像を扱う処理におけるプロセッサの処理負荷を低減させることが可能となった。また、情報処理装置200は、他の情報処理装置に取引先の名称に関する情報を送信する場合、他の情報処理装置から取引先の名称の修正要求を受信することがなくなり、情報処理装置200と他の情報処理装置の間の通信量を低減させることが可能となった。
画像処理システム1は、OCR及びRPA(Robotic Process Automation)技術を利用して帳票入力業務を自動化する企業において、担当者の業務負担を軽減させることが可能となった。特に、画像処理システム1は、請求書等の帳票を電子化して支払い依頼等の業務を自動化する際に、取引先の名称を精度良く特定することが可能となり、利用者の利便性を向上させることが可能となった。
図14は、他の実施形態に係る情報処理装置における第2処理回路230の概略構成を示すブロック図である。
第2処理回路230は、第2処理回路220の代わりに、認識処理を実行する。第2処理回路230は、取得回路231、画像領域検出回路232、文字列領域検出回路233、候補領域検出回路234、第1領域検出回路235、第2領域特定回路236、取引先領域特定回路237及び出力制御回路238等を有する。
取得回路231は、取得部の一例であり、取得部221と同様の機能を有する。取得回路231は、入力画像を、第2インタフェース装置201を介して画像読取装置100から取得し、第2記憶装置210に保存する。
画像領域検出回路232は、画像領域検出部の一例であり、画像領域検出部222と同様の機能を有する。画像領域検出回路232は、第2記憶装置210から入力画像を読み出し、入力画像内で図形領域を検出し、検出結果を第2記憶装置210に保存する。
文字列領域検出回路233は、文字列領域検出部の一例であり、文字列領域検出部223と同様の機能を有する。文字列領域検出回路233は、第2記憶装置210から入力画像を読み出し、入力画像から文字列領域を検出し、検出結果を第2記憶装置210に保存する。
候補領域検出回路234は、候補領域検出部の一例であり、候補領域検出部224と同様の機能を有する。候補領域検出回路234は、第2記憶装置210から文字列領域の検出結果及び取引先の名称に関するキーワードを読み出し、文字列領域の中から候補領域を検出し、検出結果を第2記憶装置210に保存する。
第1領域検出回路235は、第1領域検出部の一例であり、第1領域検出部225と同様の機能を有する。第1領域検出回路235は、第2記憶装置210から文字列領域の検出結果及び項目テーブルを読み出し、文字列領域の中から第1領域を検出し、検出結果を第2記憶装置210に保存する。
第2領域特定回路236は、第2領域特定部の一例であり、第2領域特定部226と同様の機能を有する。第2領域特定回路236は、第2記憶装置210から文字列領域の検出結果及び第1領域の検出結果を読み出し、文字列領域の中から第2領域を特定し、特定結果を第2記憶装置210に保存する。
取引先領域特定回路237は、取引先領域特定部の一例であり、取引先領域特定部227と同様の機能を有する。取引先領域特定回路237は、第2記憶装置210から候補領域の検出結果、第1領域の検出結果、及び、第2領域の特定結果を読み出し、取引先領域を特定し、特定結果を第2記憶装置210に保存する。
出力制御回路238は、出力制御部の一例であり、出力制御部228と同様の機能を有する。出力制御回路238は、第2記憶装置210から取引先領域の特定結果を読み出し、取引先領域に関する情報を表示装置203に出力する。
以上詳述したように、情報処理装置は、第2処理回路230を用いる場合も、入力画像から取引先の名称が含まれる領域をより精度良く特定することが可能となった。
以上、好適な実施形態について説明してきたが、実施形態はこれらに限定されない。例えば、画像読取装置100と情報処理装置200の機能分担は、図1に示す画像処理システム1の例に限られず、画像読取装置100及び情報処理装置200の各部を画像読取装置100と情報処理装置200の何れに配置するかは適宜変更可能である。または、画像読取装置100と情報処理装置200を一つの装置で構成してもよい。
例えば、画像読取装置100の第1記憶装置110が、情報処理装置200の第2記憶装置210に記憶された各プログラム及び各データを記憶してもよい。また、画像読取装置100の第1処理回路120が、情報処理装置200の第2処理回路220により実現される各部として動作してもよい。また、画像読取装置100が、情報処理装置200の第2処理回路230と同様の処理回路を有してもよい。
その場合、画像読取装置100は表示装置203と同様の表示装置を有する。認識処理は画像読取装置100で実行されるため、ステップS102、S201の入力画像の送受信処理は省略される。ステップS202~S208の各処理は、画像読取装置100の第1処理回路120によって実行される。これらの処理の動作は、情報処理装置200の第2処理回路220又は第2処理回路230によって実行される場合と同様である。この場合、画像読取装置100が画像処理装置として動作する。
また、画像処理システム1において、第1インタフェース装置101と第2インタフェース装置201は、インターネット、電話回線網(携帯端末回線網、一般電話回線網を含む)、イントラネット等のネットワークを介して接続してもよい。その場合、第1インタフェース装置101及び第2インタフェース装置201に、接続するネットワークの通信インタフェース回路を備える。また、その場合、クラウドコンピューティングの形態で画像処理のサービスを提供できるように、ネットワーク上に複数の情報処理装置を分散して配置し、各情報処理装置が協働して、認識処理等を分担するようにしてもよい。これにより、画像処理システム1は、複数の画像読取装置が読み取った入力画像について、効率よく認識処理を実行できる。