以下、本開示の一側面に係る検査装置について図を参照しつつ説明する。但し、本開示の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
図1は、実施形態に従った検査装置100の概略構成の一例を示す図である。
検査装置100は、タブレットPC、多機能携帯電話(いわゆるスマートフォン)等の携帯可能な装置であり、その利用者により使用され、帳票画像を処理する。帳票画像は、帳票を表す画像データである。本実施形態では、帳票として多種レイアウトの帳票が使用される。多種レイアウトの帳票とは、複数の異なる機関、会社等によって個別に作成され、帳票毎に各項目の記載位置が異なり且つ各項目の類義語が複数存在する帳票のことをいう。
検査装置100は、通信装置101と、入力装置102と、表示装置103と、撮像装置104と、記憶装置110と、CPU(Central Processing Unit)120と、処理回路130とを有する。以下、検査装置100の各部について詳細に説明する。
通信装置101は、主に2.4GHz帯、5GHz帯等を感受帯域とするアンテナを含む、通信インタフェース回路を有する。通信装置101は、アクセスポイント等との間でIEEE(The Institute of Electrical and Electronics Engineers, Inc.)802.11規格の無線通信方式に基づいて無線通信を行う。そして、通信装置101は、アクセスポイントを介して外部装置(不図示)とデータの送受信を行う。通信装置101は、アクセスポイントを介して外部装置から受信したデータをCPU120に供給し、CPU120から供給されたデータをアクセスポイントを介して外部装置に送信する。なお、通信装置101は、外部装置と通信できるものであればどのようなものでもよい。例えば、通信装置101は、携帯電話通信方式に従って不図示の基地局装置を介して外部装置と通信するものでもよいし、有線LAN通信方式に従って外部装置と通信するものでもよい。
入力装置102は、操作部の一例であり、タッチパネル式の入力装置、キーボード、マウス等の入力デバイス及び入力デバイスから信号を取得するインタフェース回路を有する。入力装置102は、利用者により入力された入力データを受け付け、受け付けた入力データに応じた信号をCPU120に対して出力する。
表示装置103は、表示部の一例であり、液晶、有機EL(Electro-Luminescence)等から構成されるディスプレイ及びディスプレイに画像データ又は各種の情報を出力するインタフェース回路を有する。表示装置103は、CPU120と接続されて、CPU120から出力された画像データをディスプレイに表示する。なお、タッチパネルディスプレイを用いて、入力装置102と表示装置103を一体に構成してもよい。
撮像装置104は、1次元又は2次元に配列されたCCD(Charge Coupled Device)からなる撮像素子を備える縮小光学系タイプの撮像センサと、A/D変換器とを有する。撮像装置104は、撮像部の一例であり、CPU120からの指示に従って帳票を順次撮影して帳票画像を順次生成する(例えば30フレーム/秒)。撮像センサは、撮影したアナログの画像信号を生成してA/D変換器に出力する。A/D変換器は、出力されたアナログの画像信号をアナログデジタル変換してデジタルの画像データを順次生成し、CPU120に出力する。なお、CCDの代わりにCMOS(Complementary Metal Oxide Semiconductor)からなる撮像素子を備える等倍光学系タイプのCIS(Contact Image Sensor)を利用してもよい。以下では、撮像装置104により撮影されて出力されたデジタルの画像データを帳票画像と称する。
記憶装置110は、記憶部の一例である。記憶装置110は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶装置110には、検査装置100の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD-ROM(compact disk ROM)、DVD-ROM(digital versatile disk ROM)等のコンピュータ読み取り可能な可搬型記録媒体からインストールされてもよい。コンピュータプログラムは、公知のセットアッププログラム等を用いて記憶装置110にインストールされる。また、記憶装置110には、データとして、優先順位テーブル、配置テーブル、関係テーブル、検出結果テーブル及び判定結果テーブル等が記憶される。優先順位テーブル、配置テーブル、関係テーブル、検出結果テーブル及び判定結果テーブルの詳細については後述する。
CPU120は、予め記憶装置110に記憶されているプログラムに基づいて動作する。CPU120は、汎用プロセッサであってもよい。なお、CPU120に代えて、DSP(digital signal processor)、LSI(large scale integration)等が用いられてよい。また、CPU120に代えて、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等が用いられてもよい。
CPU120は、通信装置101、入力装置102、表示装置103、撮像装置104及び記憶装置110と接続され、これらの各部を制御する。CPU120は、通信装置101を介したデータ送受信制御、入力装置102の入力制御、表示装置103の出力制御、撮像装置104の撮像制御及び記憶装置110の制御等を行う。また、CPU120は、帳票画像を処理する。
図2は、検査装置100の記憶装置110及びCPU120の概略構成を示す図である。
図2に示すように、記憶装置110には、画像取得プログラム111、検出プログラム112、判定プログラム113及び表示制御プログラム114等の各プログラムが記憶される。これらの各プログラムは、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。CPU120は、記憶装置110に記憶された各プログラムを読み取り、読み取った各プログラムに従って動作する。これにより、CPU120は、画像取得部121、検出部122、判定部123及び表示制御部124として機能する。
図3は、検査装置100が処理する帳票画像300の一例を示す図であり、図4は、検査装置100が処理する帳票画像400の一例を示す図である。
図3、図4に示す帳票画像300、400には、帳票として、所定の機関又は会社等により発行された請求書が撮像されている。各帳票には、複数の要素項目301毎に、各要素項目301に対応する項目値302が表される。要素項目301は、帳票が表す各情報を所定の規則に従って分類した項目である。
帳票画像300、400には、要素項目301として、数量、単価、金額及び請求金額(税込)が含まれる。数量、単価、金額、請求金額(税込)の各要素項目の項目名は、帳票画像300では「単位数」、「単価」、「料金」、「合計」であり、帳票画像400では「数量」、「単価」、「金額」、「総計」である。また、数量、単価、金額の各要素項目301は、帳票画像300では左から単価、数量、金額の順に配置され、帳票画像400では左から数量、単価、金額の順に配置される。このように、本実施形態では、帳票として、複数の異なる機関、会社等によって個別に作成され、帳票毎に各要素項目301の記載位置が異なり且つ各要素項目301の類義語が複数存在する、多種レイアウトの帳票が使用される。
帳票画像300、400において、請求金額(税込)の要素項目301には、一つの項目値302のみが示されている。一方、数量、単価、金額の各要素項目301には、複数の費目303毎に項目値302が示されており、要素項目301毎に複数の項目値302が示されている。帳票画像300、400には、費目303として各商品及び消費税が含まれる。
図5Aは、優先順位テーブル500のデータ構造の一例を示す図である。
優先順位テーブル500は、検査装置100の提供者により事前に設定されて記憶装置110に記憶される。図5Aに示すように、優先順位テーブル500には、複数の要素項目毎に、各要素項目の識別情報(項目ID)、項目内容、及び、一又は複数の項目名候補等が関連付けて記憶される。各項目名候補は、優先順位に従って記憶される。
項目IDは、各要素項目を識別するための番号である。項目内容は、各要素項目の内容を示す。項目名候補は、帳票画像から要素項目の項目値を検出する際に、帳票画像に含まれるか否かが検査される名称であり、帳票画像において記載されている各要素項目の名称(項目名)の候補である。優先順位は、帳票画像から要素項目の項目値を検出する際に、優先順位テーブル500に規定された項目名候補が検査される順序を規定するための順位である。この例では、数値「1」の優先順位が最も高く、数値が大きくなる程、優先順位が低くなるように、各項目名候補に優先順位が割り当てられている。
図5Bは、配置テーブル510のデータ構造の一例を示す図である。
配置テーブル510は、検査装置100の提供者により事前に設定されて記憶装置110に記憶される。図5Bに示すように、配置テーブル510には、複数の要素項目毎に、各要素項目の項目ID及び配置情報等が関連付けて記憶される。
配置情報は、帳票画像における各特定項目の項目名と各項目名に対応する項目値の表示位置関係を規定するための情報である。特定項目は、各要素項目に対して、優先順位テーブル500に規定された各要素項目の項目名候補の内、帳票画像から実際に検出された項目名候補である。配置情報として、例えば項目名に対する項目値の相対位置(例えば、上方、下方、右方、左方、右上方、右下方、左上方、左下方に所定範囲)及び条件(例えば数値列)等が規定される。配置情報は、帳票画像から特定項目の項目値を検出する際に、特定項目に対応する項目値を特定するために使用される。
図5Cは、関係テーブル520のデータ構造の一例を示す図である。
関係テーブル520は、検査装置100の提供者により事前に設定されて記憶装置110に記憶される。図5Cに示すように、関係テーブル520には、複数の特定項目の項目値間の関係毎に、各関係の識別情報(関係ID)及び関係情報等が関連付けて記憶される。
関係IDは、各関係を識別するための番号である。関係情報は、複数の特定項目の項目値間の関係を示す。例えば、関係情報には、一つの特定項目の項目値と、他の二つ以上の特定項目の項目値との間の関係が示される。図5Cに示す例では、各特定項目の項目名に対する相対位置が同一である三つの項目値(金額、数量、単価)の組合せについて、一つの特定項目の項目値(金額)が、他の二つの特定項目の項目値(数量、単価)の積と等しいことが示されている。なお、関係情報には、一つの特定項目の項目値と、他の特定項目の複数の項目値との間の関係が示されてもよい。図5Cに示す例では、一つの特定項目の項目値(請求金額(税込))が、他の特定項目の項目値(各費目の金額)の総和と等しいことが示されている。また、関係情報には、一つの特定項目の項目値と、他の一つの特定項目の項目値との間の関係が示されてもよい。その場合、例えば、一つの特定項目の項目値(請求金額(税込))が、他の一つの特定項目の項目値(請求金額(税抜))と所定値(1+消費税率)の積と等しいことが示される。
図6Aは、検出結果テーブル600のデータ構造の一例を示す図である。
検出結果テーブル600は、判定処理において検査装置100により処理された帳票画像毎に作成されて記憶装置110に記憶される。図6Aに示すように、検出結果テーブル600には、優先順位テーブルに記憶された要素項目毎に、項目ID、特定項目の項目名、項目値及び項目値の相対位置等が関連付けて記憶される。
特定項目の項目名は、判定処理において各要素項目に対して検出された特定項目の項目名である。項目値は、判定処理において各特定項目に対して検出された項目値である。項目値の相対位置として、帳票画像内における各特定項目の項目名の重心位置から見た各項目値の重心位置の水平位置及び垂直位置(座標)が記憶される。各特定項目に対して項目値が複数検出された場合、検出された項目値毎に、項目値及び相対位置が記憶される。
図6Bは、判定結果テーブル610のデータ構造の一例を示す図である。
判定結果テーブル610は、判定処理において検査装置100により処理された帳票画像毎に作成されて記憶装置110に記憶される。図6Bに示すように、判定結果テーブル610には、関係テーブル520に記憶された各関係ID、各検査対象の識別情報(検査対象ID)、及び、判定結果等が関連付けて記憶される。
検査対象IDは、各検査対象を識別するための番号である。検査対象は、各特定項目の項目値が関係情報に示された関係を有するか否かが検査される対象である。検査対象として、各特定項目の項目値の組合せが設定される。判定結果は、検査対象毎に、検出された各項目値が各関係を有するか否かを示す。各関係を有する場合には判定結果として正常が設定され、各関係を有さない場合には判定結果として異常が設定される。
図7は、検査装置100による判定処理の動作の例を示すフローチャートである。
以下、図7に示したフローチャートを参照しつつ、検査装置100による判定処理の動作の例を説明する。なお、以下に説明する動作のフローは、予め記憶装置110に記憶されているプログラムに基づき主にCPU120により検査装置100の各要素と協働して実行される。
最初に、画像取得部121は、撮像装置104に帳票を撮像させて帳票画像を生成させ、撮像装置104から帳票画像を取得し、取得した帳票画像を記憶装置110に記憶する(ステップS101)。撮像装置104に撮像させる帳票は、図3、4に示したような多種レイアウトの帳票であり、帳票画像には各要素項目の項目名候補の何れかが含まれる。
次に、検出部122は、帳票画像に含まれる各文字列を検出する(ステップS102)。検出部122は、公知のOCR技術を利用して帳票画像から文字を検出し、検出された位置が相互に所定距離内である文字同士をグループ化して文字列として検出する。検出部122は、検出した各文字列を帳票画像内の配置位置と関連付けて記憶装置110に記憶する。
検出部122は、優先順位テーブル500に記憶された要素項目毎に、ステップS103~S109の処理を実行する。まず、検出部122は、優先順位テーブル500を読み出し、優先順位テーブル500から何れかの要素項目を抽出する(ステップS103)。
検出部122は、抽出した要素項目に関連付けられた項目名候補毎に、ステップS104~S106の処理を実行する。まず、検出部122は、優先順位テーブル500から、優先順位に従って、抽出した要素項目の項目名候補を抽出する(ステップS104)。検出部122は、抽出した要素項目に関連付けて記憶された項目名候補を、優先順位が高い順に一つずつ抽出する。
次に、検出部122は、抽出した項目名候補が、帳票画像から検出した何れかの文字列に含まれているか否かを判定する(ステップS105)。
抽出した項目名候補が帳票画像から検出した何れの文字列にも含まれていない場合、検出部122は、抽出した要素項目の全ての項目名候補を優先順位テーブル500から抽出済みであるか否かを判定する(ステップS106)。全ての項目名候補を抽出済みである場合、検出部122は、判定処理に失敗したと判定し、その旨を表示装置103に表示して、一連のステップを終了する。一方、全ての項目名候補をまだ抽出していない場合、検出部122は、処理をステップS104に戻し、ステップS104~S105の処理を繰り返す。
一方、抽出した項目名候補が帳票画像から検出した何れかの文字列に含まれている場合、検出部122は、その項目名候補を、その要素項目に対応した特定項目として検出する(ステップS107)。検出部122は、検出した項目名候補を検出結果テーブル600に特定項目として記憶する。
次に、検出部122は、検出した特定項目に対応する項目値を検出する(ステップS108)。検出部122は、配置テーブル510から、特定項目が検出された要素項目の配置情報を読み出す。検出部122は、特定項目が検出された帳票画像内の位置に対して、その配置情報に示される相対位置に存在し且つその配置情報に示される条件を満たす文字列を、検出した特定項目に対応する項目値として検出する。検出部122は、検出した項目値、及び、特定項目が検出された帳票画像内の位置に対する項目値の相対位置を各特定項目と関連付けて検出結果テーブル600に記憶する。なお、検出部122は、公知の画像処理技術を利用して、帳票画像から表の罫線を検出し、検出した罫線に基づいて、特定項目に対応する項目値が含まれる範囲を特定し、特定した範囲内でのみ項目値を検出してもよい。
帳票画像に複数の検査対象が含まれており、検出部122が複数の検査対象毎に項目値を検出した場合、各項目値及び各項目値の相対位置を各特定項目と関連付けて検出結果テーブル600に記憶する。即ち、検出部122は、複数の検査対象毎に、各要素項目に対応した特定項目の項目値を検出する。
次に、検出部122は、優先順位テーブル500に記憶された全ての要素項目に対して処理を実行したか否かを判定する(ステップS109)。まだ全ての要素項目に対して処理を実行していない場合、検出部122は、処理をステップS103に戻し、ステップS103~S109の処理を繰り返す。このように、検出部122は、複数の要素項目毎に、対応する項目名候補が帳票画像に含まれているかを優先順位に従って順次判定し、最初に含まれていると判定された項目名候補を、要素項目に対応した特定項目として検出する。
一方、検出部122が全ての要素項目に対して処理を実行した場合、判定部123は、関係テーブル520から関係情報を抽出する。そして、判定部123は、抽出した関係情報に基づく検査の検査対象とする、各特定項目の項目値の組合せを検出結果テーブル600から抽出する(ステップS110)。検査対象とする項目値の組合せが複数ある場合、判定部123は、各組合せを一つずつ抽出する。
次に、判定部123は、抽出した各特定項目の項目値が、抽出した関係情報に示された関係を有するか否かを判定する(ステップS111)。
各特定項目の項目値が関係情報に示された関係を有する場合、判定部123は、ステップS102で実行した文字認識処理が正しかったと判定する(ステップS112)。一方、各特定項目の項目値が関係情報に示された関係を有さない場合、判定部123は、ステップS102で実行した文字認識処理が誤っていたと判定する(ステップS113)。
次に、判定部123は、検査対象IDを生成し、判定結果を、関係情報に対応する関係ID及び生成した検査対象IDと関連付けて判定結果テーブル610に記憶する(ステップS114)。判定部123は、文字認識処理が正しかったと判定した場合、判定結果として正常を記憶し、文字認識処理が誤っていたと判定した場合、判定結果として異常を記憶する。
次に、判定部123は、関係テーブル520に記憶された全ての関係情報に基づく、全ての検査対象に対する検査が完了したか否かを判定する(ステップS115)。まだ全ての検査対象に対する検査が完了していない場合、判定部123は、処理をステップS110に戻し、ステップS110~S114の処理を繰り返す。このように、判定部123は、検出部122によって検出された各特定項目の項目値が、関係情報に示された関係を有するか否かを判定する。一方、全ての検査対象に対する検査が完了した場合、判定部123は、一連のステップを終了する。
なお、判定部123は、帳票画像毎に文字認識処理に誤りがあったか否かを判定し、文字認識処理に誤りがなかったと判定された帳票画像を通信装置101を介してRPA処理装置(不図示)に送信してもよい。これにより、RPA処理装置は、信頼性の高い帳票画像を自動的に取得して、所定のRPA処理を実行することが可能となる。
図3に示した帳票画像300に対して判定処理が実行されると、ステップS107において、特定項目として「単位数」、「単価」、「料金」、「合計」が検出される。ステップS108において、「単位数」、「単価」、「料金」については商品A~Jに対応する項目値が検出され、「合計」については一つの項目値(64,800)が検出される。そして、ステップS111において、商品A~Jについて「単位数×単価=料金」が成立するかと、「料金の総和=合計」が成立するかが判定される。
一方、図4に示した帳票画像400に対して判定処理が実行されると、ステップS107において、特定項目として「数量」、「単価」、「金額」、「総計」が検出される。ステップS108において、「数量」、「単価」については商品A~Jに対応する項目値が検出され、「金額」については商品A~J及び消費税に対応する項目値が検出され、「総計」については一つの項目値(64,800)が検出される。そして、ステップS111において、商品A~Jについて「数量×単価=金額」が成立するかと、「金額の総和=総計」が成立するかが判定される。
多種レイアウトの帳票では、「合計」、「総計」等のように相互に類似した意味を有する用語が、「請求金額(税込)」、「請求金額(税抜)」等のように異なる意味を示す項目名として用いられる可能性がある。例えば、要素項目「請求金額(税込)」の項目名を「合計」に固定して項目値を検出すると、帳票画像300からは対応する項目値が正しく検出されるが、帳票画像400からは対応する項目値が正しく検出されない。一方、要素項目「請求金額(税込)」の項目名を「総計」に固定して項目値を検出すると、帳票画像400からは対応する項目値が正しく検出されるが、帳票画像300からは対応する項目値が正しく検出されない。
一方、検査装置100は、各要素項目の項目名候補が帳票画像に含まれているかを優先順位に従って順次判定し、最初に含まれていると判定された項目名候補を特定項目として検出する。これにより、検査装置100は、帳票ごとに各項目の名称が異なる多種レイアウトの帳票を撮像した帳票画像300、400のそれぞれに対して、帳票画像から項目値が正しく検出されたか否かを精度良く判定することができる。
図8は、検査装置100による表示処理の動作の例を示すフローチャートである。
以下、図8に示したフローチャートを参照しつつ、検査装置100による表示処理の動作の例を説明する。なお、以下に説明する動作のフローは、予め記憶装置110に記憶されているプログラムに基づき主にCPU120により検査装置100の各要素と協働して実行される。表示処理は、利用者による入力装置102を用いた、判定結果の表示要求が受け付けられた場合に実行される。
最初に、表示制御部124は、記憶装置110から、判定処理が実行された全ての帳票画像に対応する検出結果テーブル600及び判定結果テーブル610を抽出する(ステップS201)。
次に、表示制御部124は、抽出した各判定結果テーブル610から判定結果を読み出し、文字認識処理に誤りがあった帳票画像を認識誤り画像として特定する(ステップS202)。
次に、表示制御部124は、特定した認識誤り画像の中から、特定の一つの画像を注目画像に決定する(ステップS203)。例えば、表示制御部124は、認識誤り画像の中で、判定処理が実行された時刻が最も早い(前である)画像を注目画像に決定する。なお、文字認識処理に誤りがあった帳票画像が存在しない場合、表示制御部124は、文字認識処理に誤りがなかった帳票画像の中から、特定の一つの画像を注目画像に設定する。
次に、表示制御部124は、注目画像に対応する判定結果テーブル610から判定結果を読み出し、文字認識処理が誤っていた検査対象を認識誤り対象として特定する(ステップS204)。
次に、表示制御部124は、特定した認識誤り対象の中から、特定の一つの検査対象を注目対象に決定する(ステップS205)。例えば、表示制御部124は、認識誤り対象の中で、判定結果テーブル610において最も先頭側に記憶されている検査対象を注目対象に決定する。なお、文字認識処理に誤りがあった検査対象が存在しない場合、表示制御部124は、文字認識処理に誤りがなかった検査対象の中から、特定の一つの検査対象を注目対象に設定する。
次に、表示制御部124は、抽出した帳票画像と、特定した認識誤り画像及び認識誤り対象と、決定した注目画像及び注目対象とに基づいて、判定部123による判定結果を表示するための表示データを作成する。そして、表示制御部124は、作成した表示データを表示装置103に表示する(ステップS206)。
図9は、表示装置103に表示される表示データ900の一例を示す模式図である。
図9に示すように、表示装置103の表示画面には、表示データ900が表示される。表示データ900には、画像指定ボタン901、画像表示領域902が含まれる。画像指定ボタン901は、判定処理が実行された各帳票画像を注目画像として指定するためのボタンであり、判定処理が実行された各帳票画像に対応して表示される。例えば、各画像指定ボタン901は、対応する帳票画像に対する判定処理が実行された時刻順に並べて表示される。画像指定ボタン901の内、認識誤り画像に対応するボタンは、他の画像に対応するボタンと区別可能に強調表示される。
画像表示領域902には、画像指定ボタン901により注目画像として指定された帳票画像903と、判定処理における判定結果とが表示される。画像表示領域902には、帳票画像903の一部又は全部が表示される。画像表示領域902において、帳票画像903は、注目対象として指定された項目値の組合せが基準位置Rに位置するように表示される。注目対象として指定された項目値の組合せが水平方向に並ぶ場合、基準位置Rは、例えば画像表示領域902の垂直方向の略中央位置に設定される。また、注目対象として指定された項目値の組合せが垂直方向に並ぶ場合、基準位置Rは、例えば画像表示領域902の水平方向の略中央位置に設定される。
図9に示す帳票画像903では、判定処理において「商品E」及び「商品H」について「数量×単価=金額」が成立せず、「料金の総和=合計」が成立せず、他の関係が成立している。
表示制御部124は、検出部122によって検出された各特定項目の項目値が、関係情報に示された関係を有さない場合、帳票画像において、その特定項目の項目値を、他の特定項目の項目値と区別可能に、強調表示する。表示制御部124は、複数の検査対象の内の特定の検査対象について、検出部122によって検出された各特定項目の項目値が、関係情報に示された関係を有さない場合、帳票画像において、その特定の検査対象に対応する各特定項目の項目値を強調表示する。図9に示す例では、「商品E」及び「商品H」について「数量×単価=金額」が成立していないため、「商品E」に対応する項目値906と、「商品H」に対応する項目値907が強調表示されている。また、「料金の総和=総計」も成立していないため、「金額」に対応する項目値904と、「総計」に対応する項目値905とが強調表示されている。
また、表示制御部124は、関係情報が一つの特定項目の一つの項目値と、他の特定項目の複数の項目値との間の関係とを示す場合、その一つの特定項目の一つの項目値と、他の特定項目の複数の項目値とを全て強調表示する。図9に示す例では、「料金の総和=合計」が成立していないため、「金額」に対応する各項目値904と、「総計」に対応する項目値905とが強調表示されている。
表示制御部124は、各特定項目の項目値を、他の特定項目の項目値と異なる色で表示することにより、強調表示する。なお、表示制御部124は、各特定項目の項目値を、他の特定項目の項目値と異なるフォント又はサイズで表示することにより、強調表示してもよい。これらにより、利用者は、文字認識処理が誤っていた項目値を容易に識別することが可能となり、検査装置100は、利用者の利便性を向上させることが可能となる。
また、表示制御部124は、帳票画像において、関係情報に示された関係を有さない特定項目の項目値が表示される領域と隣接する領域に、その特定項目について検出部122により検出された項目値を表示する。図9に示す例では、「金額」に対応する項目値904及び「総計」に対応する項目値905が表示された領域と隣接する領域に、検出部122により検出された各項目値908及び909が表示されている。同様に、「商品E」に対応する項目値906及び「商品H」に対応する項目値907が表示された領域と隣接する領域に、検出部122により検出された各項目値910及び911が表示される。これにより、利用者は、どの項目値の検出結果が誤っているかを容易に認識することが可能となり、検査装置100は、利用者の利便性を向上させることが可能となる。
また、表示制御部124は、帳票画像において、文字認識処理が誤っていた特定項目の項目値を強調表示すること、又は、その特定項目について検出部122により検出された項目値を表示することにより、帳票画像上に判定結果を重ねて表示している。これにより、利用者は、各項目値に対する文字認識処理が正しかったか否かを視覚的に認識することが可能となり、検査装置100は、利用者の利便性を向上させることが可能となる。
次に、表示制御部124は、受付処理を実行し、一連のステップを終了する(ステップS207)。表示制御部124は、受付処理において、利用者による指示に応じて表示データを変更する。受付処理の詳細については後述する。
図10は、受付処理の動作の例を示すフローチャートである。図10に示す受付処理は、図9に示す表示処理のステップS207で実行される。
最初に、表示制御部124は、利用者による入力装置102を用いた第1指示を受け付けたか否かを判定する(ステップS301)。第1指示は、画像表示領域902に表示する注目画像を指定する指示である。表示制御部124は、例えばマウスを用いて何れかの画像指定ボタン901が押下された場合に、画像指定ボタン901に対応する帳票画像を注目画像として指定する第1指示を受け付ける。
第1指示を受け付けた場合、表示制御部124は、第1指示で指定された帳票画像を注目画像に設定する(ステップS302)。次に、表示制御部124は、ステップS204、S205と同様にして、新たに設定した注目画像に関する認識誤り対象を特定し(ステップS303)、注目対象を決定する(ステップS304)。次に、表示制御部124は、ステップS206と同様にして、表示データを作成し、表示装置103に表示し(ステップS305)、処理をステップS301へ戻す。このように、表示制御部124は、利用者による第1指示に応じて、各帳票画像に対する判定結果を任意に切り替えて表示する。
一方、第1指示を受け付けていない場合、表示制御部124は、利用者による入力装置102を用いた第2指示を受け付けたか否かを判定する(ステップS306)。第2指示は、画像表示領域902に表示する注目画像を認識誤り画像の中から指定する指示である。表示制御部124は、例えば、現在の注目画像に対応する画像指定ボタン901が指定された状態で、キーボードを用いて下矢印キー又は上矢印キーが押下された場合に、第2指示を受け付ける。その場合、認識誤り画像に対応する画像指定ボタン901の内、現在指定されている画像指定ボタン901の下方又は上方に位置し且つその画像指定ボタン901の最も近くに配置された画像指定ボタン901に対応する帳票画像が注目画像として指定される。
第2指示を受け付けた場合、表示制御部124は、第2指示で指定された帳票画像を注目画像に設定する(ステップS307)。次に、表示制御部124は、ステップS204、S205と同様にして、新たに設定した注目画像に関する認識誤り対象を特定し(ステップS303)、注目対象を決定する(ステップS304)。次に、表示制御部124は、ステップS206と同様にして、表示データを作成し、表示装置103に表示し(ステップS305)、処理をステップS301へ戻す。このように、表示制御部124は、利用者による第2指示に応じて、各帳票画像の内、検出部122によって検出された各特定項目の項目値が、関係情報に示された関係を有さない帳票画像に対する判定結果を順次切り替えて表示する。利用者は、文字認識処理に誤りがあった帳票画像のみを順次選択して、誤りを確認又は修正していくことが可能となり、検査装置100は、利用者の作業の効率化を図ることが可能となる。
一方、第2指示を受け付けていない場合、表示制御部124は、利用者による入力装置102を用いた第3指示を受け付けたか否かを判定する(ステップS308)。第3指示は、画像表示領域902に表示された注目画像内で、複数の検査対象の中から注目対象を指定する指示である。表示制御部124は、例えばマウスを用いて画像表示領域902内の何れかの領域が押下された場合に、押下された領域に対応する項目値の組合せを注目対象として指定する第3指示を受け付ける。
第3指示を受け付けた場合、表示制御部124は、第3指示で指定された項目値の組合せを注目対象に設定する(ステップS309)。次に、表示制御部124は、ステップS206と同様にして、表示データを作成し、表示装置103に表示し(ステップS305)、処理をステップS301へ戻す。このように、表示制御部124は、利用者による第3指示に応じて、各検査対象に対する判定結果を任意に切り替えて表示する。表示制御部124は、各検査対象に対する判定結果を画像表示領域902内に全てまとめて表示できない場合でも、利用者が注目したい検査対象に対する判定結果を適切に表示することが可能となる。
一方、第3指示を受け付けていない場合、表示制御部124は、利用者による入力装置102を用いた第4指示を受け付けたか否かを判定する(ステップS310)。第4指示は、画像表示領域902に表示された注目画像内で、認識誤り対象の中から注目対象を指定する指示である。表示制御部124は、例えば、現在の注目対象に対応する項目値の組合せが指定された状態で、キーボードを用いて下矢印キー又は上矢印キーが押下された場合に、第4指示を受け付ける。その場合、認識誤り対象に対応する項目値の組合せの内、現在の注目対象に対応する項目値の組合せの下方又は上方に位置し且つその組合せの最も近くに配置された項目値の組合せに係る検査対象が注目対象として指定される。
第4指示を受け付けた場合、表示制御部124は、第4指示で指定された検査対象を注目対象に設定する(ステップS311)。次に、表示制御部124は、ステップS206と同様にして、表示データを作成し、表示装置103に表示し(ステップS305)、処理をステップS301へ戻す。このように、表示制御部124は、利用者による第4指示に応じて、各検査対象の内、検出部122によって検出された各特定項目の項目値が、関係情報に示された関係を有さない検査対象に対する判定結果を順次切り替えて表示する。表示制御部124は、各検査対象に対する判定結果を画像表示領域902内に全てまとめて表示できない場合でも、文字認識処理に誤りがあった検査対象に対する判定結果を適切に選択して表示することが可能となる。特に、利用者は、文字認識処理に誤りがあった検査対象のみを順次選択して、誤りを確認又は修正していくことが可能となり、検査装置100は、利用者の作業の効率化を図ることが可能となる。
図11は、表示装置103に表示される表示データ1100の一例を示す模式図である。
図11は、図9に示した表示データ900が表示装置103に表示された状態から、第4指示が受け付けられた場合に表示される表示データ1100を示している。図9に示した表示データ900では、「商品E」に関する各項目値の組合せ906が、注目対象に指定されて、基準位置Rに位置している。一方、図11に示す表示データ1100では、「商品H」に関する各項目値の組合せ907が、新たに注目対象に指定されている。表示データ1100では、「商品H」に関する各項目値の組合せ907が基準位置Rに位置するように、帳票画像903がスクロール表示されている。
そのために、表示制御部124は、まず、特定項目の項目値の検出結果に基づいて、帳票画像内の各検査対象の間隔を特定する。表示制御部124は、検出結果テーブル600から何れかの特定項目の各項目値の相対位置を読み出し、相互に隣接する項目値の相対位置の間の距離を、帳票画像内の各検査対象の間隔として算出する。
なお、表示制御部124は、公知の画像処理技術を利用して、帳票画像から、各項目値の間を延伸する罫線を検出し、相互に隣接する罫線の間の距離を、帳票画像内の各検査対象の間隔として算出してもよい。
次に、表示制御部124は、新たに指定された注目対象が、過去に指定されていた注目対象が表示されていた基準位置Rに表示されるように、帳票画像をスクロール表示する。表示制御部124は、特定した間隔単位で帳票画像をスクロール表示する。例えば、新たに指定された注目対象が、過去に指定されていた注目対象と隣接している場合、表示制御部124は、特定した間隔だけ帳票画像をスクロール表示する。また、例えば、新たに指定された注目対象と、過去に指定されていた注目対象との間に検査対象(費目)が一つ存在する場合、表示制御部124は、特定した間隔の2倍だけ帳票画像をスクロール表示する。
このように、表示制御部124は、注目対象の指定を新たに受け付けた場合、帳票画像の表示領域902内で、新たに指定された注目対象が、過去に指定されていた注目対象が表示されていた位置に表示されるように、帳票画像をスクロール表示する。これにより、利用者は、注目する検査対象を変更した場合に、視線を移動させることなく、新たに指定した検査対象を閲覧することが可能となり、検査装置100は、利用者の利便性を向上させることが可能となる。
一方、第4指示を受け付けていない場合、表示制御部124は、利用者による入力装置102を用いた修正指示を受け付けたか否かを判定する(ステップS312)。修正指示は、注目対象として指定された項目値の内の何れかの項目値を、利用者により指定された修正値に修正する指示である。表示制御部124は、例えば、注目対象内の特定の項目値が指定された状態で、キーボードを用いて修正値が入力された場合に、修正指示を受け付ける。
次に、表示制御部124は、検出結果テーブル600において、修正指示で指定された項目値を修正値に置換する。表示制御部124は、関係テーブル520を参照して、その項目値に対応する関係及び検査対象を特定する。そして、表示制御部124は、特定した検査対象に係る項目値の組合せが、特定した関係を有するか否かを判定することにより、文字認識処理の誤りが訂正されたか否かを判定する(ステップS313)。特定した検査対象が複数である場合、表示制御部124は、特定した検査対象毎に、文字認識処理の誤りが訂正されたか否かを判定する。
何れの誤りも訂正されていないと判定した場合、表示制御部124は、ステップS206と同様にして、表示データを作成し、表示装置103に表示し(ステップS305)、処理をステップS301へ戻す。
一方、何れかの誤りが訂正されたと判定した場合、表示制御部124は、判定結果テーブル610において、誤りが訂正された関係及び検査対象に関連付けて記憶された判定結果を異常から正常に更新する(ステップS314)。次に、表示制御部124は、ステップS204、S205と同様にして、現在の注目画像に関する認識誤り対象を特定し(ステップS303)、注目対象を決定する(ステップS304)。次に、表示制御部124は、ステップS206と同様にして、表示データを作成し、表示装置103に表示し(ステップS305)、処理をステップS301へ戻す。文字認識処理が誤っていて強調表示されていた項目値が修正された場合、その項目値は、強調表示されなくなるため、利用者は正しく修正が行われたことを確実に認識することが可能となる。
なお、表示制御部124は、誤りが訂正された帳票画像毎に、誤りが残っているか否かを判定し、誤りが残っていないと判定された帳票画像を、通信装置101を介してRPA処理装置(不図示)に送信してもよい。これにより、RPA処理装置は、信頼性の高い帳票画像のみを自動的に取得して、所定のRPA処理を実行することが可能となる。
一方、修正指示を受け付けていない場合、表示制御部124は、利用者による入力装置102を用いた終了指示を受け付けたか否かを判定する(ステップS315)。表示制御部124は、終了指示を受け付けていない場合、処理をステップS301へ戻し、終了指示を受け付けた場合、一連のステップを終了する。
以上詳述したように、検査装置100は、帳票画像に項目名候補が含まれているかを優先順位に従って判定し、最初に含まれていると判定された項目名候補を特定項目として検出し、検出した各特定項目の項目値が正しい関係を有するか否かを判定する。これにより、検査装置100は、帳票画像から項目値が正しく検出されたか否かをより精度良く判定することが可能となった。
一般に、領収書等の帳票には複数の項目が含まれており、各帳票は多種多様なフォーマットを有している。このような帳票からは、予め定められた領域から項目値を検出する、いわゆる定型OCR方式では、特定項目の項目値を検出することができない。一方、検査装置100は、帳票画像に項目名候補が含まれているかを優先順位に従って判定し、最初に含まれていると判定された項目名候補を特定項目として検出するため、特定項目を精度良く特定することが可能となった。
また、検査装置100では、帳票画像から項目値が正しく検出されたか否かをより精度良く判定することが可能となり、OCR技術を利用して帳票画像から検出した文字の信頼性を向上させることが可能となった。そのため、検査装置100は、利用者による検出した文字の確認及び修正作業を低減させることが可能となった。また、検出した文字の信頼性が高いため、利用者は、検出した文字をRPA技術に利用して、作業の効率化を図ることも可能となった。
図12は、表示装置103に表示される他の表示データ1200の一例を示す模式図である。
図9、11に示した表示データ900、1100では、帳票画像において、関係情報に示された関係を有さない特定項目について検出部122により検出された項目値が表示されていた。一方、図12に示す表示データ1200では、帳票画像において、注目対象について検出された特定項目の項目値のみが表示されている。注目対象について検出された各特定項目の項目値は、帳票画像内で注目対象に係る特定項目の項目値が表示される領域と隣接する領域に表示されている。
このように、表示制御部124は、帳票画像内で注目対象に係る特定項目の項目値が表示される領域と隣接する領域に、注目対象について検出された特定項目の項目値を表示してもよい。これにより、利用者は、注目する検査対象と他の検査対象とを容易に識別することが可能となり、検査装置100は、利用者の利便性を向上させることが可能となる。
また、図9、11に示した表示データ900、1100では、文字認識処理が誤っていた帳票画像に対応する画像指定ボタン及び特定項目の項目値が強調表示されていた。一方、図12に示す表示データ1200では、注目画像に対応する画像指定ボタン及び注目対象のみが強調表示され、それぞれ注目画像以外の帳票画像に対応する画像指定ボタン及び注目対象以外の検査対象と区別可能に表示されている。
このように、表示制御部124は、注目画像に対応する画像指定ボタンを注目画像以外の帳票画像に対応する画像指定ボタンと区別可能に表示し、注目対象を注目対象以外の検査対象と区別可能に表示してもよい。これにより、利用者は、注目する帳票画像及び検査対象と他の帳票画像及び検査対象とを容易に識別することが可能となり、検査装置100は、利用者の利便性を向上させることが可能となる。
また、表示制御部124は、キーボードを用いて矢印キーが押下された場合に、認識誤り対象の中から新たな注目対象を選択するのではなく、現在の検査対象に隣接する検査対象を新たな注目対象としてもよい。その場合も、表示制御部124は、新たに指定された注目対象が、過去に指定されていた注目対象が表示されていた基準位置に表示されるように、帳票画像をスクロール表示する。
図13は、他の実施形態に係る検査装置100における処理回路130の概略構成を示すブロック図である。
処理回路130は、CPU120の代わりに用いられ、CPU120の代わりに判定処理及び表示処理を実行する。処理回路130は、画像取得回路131、検出回路132、判定回路133及び表示制御回路134等を有する。
画像取得回路131は、画像取得部の一例であり、画像取得部121と同様の機能を有する。画像取得回路131は、撮像装置104から帳票画像を取得し、取得した帳票画像を記憶装置110に記憶する。
検出回路132は、検出部の一例であり、検出部122と同様の機能を有する。検出回路132は、記憶装置110から帳票画像を読み出し、読み出した帳票画像から特定項目を検出して検出結果を記憶装置110に記憶する。
判定回路133は、判定部の一例であり、判定部123と同様の機能を有する。判定回路133は、記憶装置110から検出結果を読み出し、読み出した検出結果に基づいて、各特定項目の項目値が所定の関係を有するか否かを判定して判定結果を記憶装置110に記憶する。
表示制御回路134は、表示制御部の一例であり、表示制御部124と同様の機能を有する。表示制御回路134は、記憶装置110から帳票画像、検出結果及び判定結果を読み出し、読み出した各情報に基づいて表示データを表示装置103に表示する。また、表示制御回路134は、入力装置102から各種指示を受け付け、受け付けた指示に基づいて、表示データを変更するとともに、記憶装置110に記憶された検出結果及び判定結果を更新する。
以上詳述したように、検査装置100が処理回路130を用いる場合においても、検査装置100は、帳票画像から項目値が正しく検出されたか否かをより精度良く判定することが可能となった。
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、各特定項目の項目値間の関係として「数量×単価=金額」と「金額の総和=請求金額」の両方が用いられるのではなく、何れか一方のみ、又は、三つ以上の関係が用いられてもよい。
また、帳票には、複数の項目の項目値が含まれていればよく、帳票は、見積書、発注書、納品書等の請求書以外の文書でもよい。
また、検査装置100は、PC(Personal Computer)、ノートPC、携帯情報端末のように、撮像装置を有さない装置でもよい。その場合、検査装置100は、ステップS101において、通信装置101を介して、タブレットPC、多機能携帯電話、スキャナ装置等の撮像装置、又は、サーバ装置と通信し、帳票画像を、各装置から受信することにより取得する。また、検査装置100がタブレットPC、多機能携帯電話のように撮像装置を有する装置である場合でも、検査装置100は、通信装置101を介してスキャナ装置又はサーバ装置と通信し、帳票画像を各装置から受信することにより取得してもよい。