JP2020201822A - 画像処理装置、その制御方法、及びプログラム - Google Patents
画像処理装置、その制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2020201822A JP2020201822A JP2019109609A JP2019109609A JP2020201822A JP 2020201822 A JP2020201822 A JP 2020201822A JP 2019109609 A JP2019109609 A JP 2019109609A JP 2019109609 A JP2019109609 A JP 2019109609A JP 2020201822 A JP2020201822 A JP 2020201822A
- Authority
- JP
- Japan
- Prior art keywords
- value
- candidate
- key
- image data
- image processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/196—Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
- G06V30/1983—Syntactic or structural pattern recognition, e.g. symbolic string recognition
- G06V30/1985—Syntactic analysis, e.g. using a grammatical approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/10—Recognition assisted with metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Abstract
【課題】画像データのメタデータの内容を容易に設定することができる画像処理装置を提供する。【解決手段】画像処理サーバ105は、選択された業務に応じて規定されている1つ以上のキーに基づいてページ画像データからキー候補を特定し、当該キータイプに対してそれぞれ規定されているバリュー型ルール及びバリュー物理探索ルールに基づいてキー候補に対応するバリュー候補を特定し、特定したバリュー候補をメタデータに含めるバリューとして設定する。【選択図】図7
Description
本発明は、画像処理装置、その制御方法、及びプログラムに関する。
原稿をスキャンして画像データを生成し、当該画像データに対してOCR(Optical Character Recognition)処理を施すことで、原稿に記載された文字列をデジタルデータとして抽出する画像処理装置が知られている。画像処理装置は、生成した画像データを文字列領域や背景領域等の複数の領域に分割して画像データの構造を認識し、画像データの出力先のシステムが利用する情報として、例えば、文字列領域に含まれる文字列を含むメタデータ(付帯データ)を生成する。画像処理装置は、生成したメタデータ及び画像データを出力先のシステムへ送信する。メタデータの内容は、出力先のシステムの種別に応じて異なる。例えば、出力先のシステムが見積書や領収書といった会計帳票を扱う会計システムである場合、画像処理装置は、会計帳票に含まれる納期や金額に関する情報を含むメタデータを生成する。この例では、納期や金額といった項目をキーと呼び、納期の日付を示す文字列や金額を示す文字列といった各項目の具体値をバリューと呼ぶ。メタデータの内容の設定において、例えば、画像処理装置は、領収書の画像データから文字列領域のデジタルデータを抽出し、キーである「価格」のバリュー候補に相当する複数の文字列領域をプレビュー画像上に強調表示し、メタデータとして付される情報をユーザに選択させる(例えば、特許文献1参照)。これにより、ユーザは、画像データと共に出力先のシステムへ送信されるメタデータの内容を容易に設定することができる。
しかしながら、メタデータの内容は出力先のシステムの種別毎に異なるため、上述した特許文献1の技術では、キーのバリュー候補に相当する文字列領域を画像データから特定するための設定を、ユーザが出力先となるシステムの種別毎に変更する必要がある。すなわち、従来の画像処理装置では、画像データのメタデータの内容を容易に設定することができないという問題が生じる。
本発明の目的は、画像データのメタデータの内容を容易に設定することができる画像処理装置、その制御方法、及びプログラムを提供することにある。
上記目的を達成するために、本発明の画像処理装置は、選択された業務に関する画像データを取得し、前記画像データに関する情報を含む付帯データを生成する画像処理装置であって、前記選択された業務に応じて規定されている1つ以上のキータイプに基づいて前記画像データからキー候補を特定するキー候補特定手段と、前記1つ以上のキータイプに対してそれぞれ規定されているバリューの型ルール及びバリューの探索領域ルールに基づいて前記キー候補に対応するバリュー候補を特定するバリュー候補特定手段と、前記バリュー候補を前記付帯データに含めるバリューとして設定する設定手段とを備えることを特徴とする。
本発明によれば、画像データのメタデータの内容を容易に設定することができる。
以下、本発明の実施の形態について図面を参照しながら詳述する。
図1は、本発明の実施の形態に係る画像処理装置としての画像処理サーバ105を含む画像形成システム100のネットワーク構成を概略的に示すネットワーク図である。図1において、画像形成システム100は、画像形成装置101、画像形成装置102、情報処理装置103、情報処理装置104、画像処理サーバ105、及びストレージサーバ106を備える。画像形成装置101、画像形成装置102、情報処理装置103、情報処理装置104、画像処理サーバ105、及びストレージサーバ106は、ネットワーク107を介して互いに接続されている。なお、本実施の形態では、画像形成システム100が備える画像形成装置、情報処理装置、画像処理サーバ、及びストレージサーバの各台数は一例であり、この構成に限られない。画像形成システム100は、画像形成装置、情報処理装置、画像処理サーバ、及びストレージサーバを少なくとも1台ずつ備えていれば良い。また、本実施の形態では、画像形成装置101及び画像形成装置102は同様の構成であり、以下では、一例として、画像形成装置101を用いてその構成を説明する。
画像形成装置101は、例えば、コピー機能、スキャン機能、及びプリント機能といった複数の機能を備えるMFP(Multifunction Peripheral)である。画像形成装置101は、情報処理装置103や情報処理装置104から受信した印刷データに基づいて印刷を行う。また、画像形成装置101は、ストレージサーバ106から文書データを取得し、当該文書データを印刷する。さらに、画像形成装置101は、後述する図2のスキャナ209によって画像データを読み取って画像データを生成する。画像データは、後述する図2のプリンタ207によって印刷される、若しくは情報処理装置103、情報処理装置104、画像処理サーバ105等に送信される。画像処理サーバ105は、画像形成装置101から取得した画像データに対してOCR(Optical Character Recognition)処理や後述する図6の画像分割処理等の画像処理を施す。画像処理サーバ105は、処理済み画像データをストレージサーバ106に送信する。ストレージサーバ106は、文書データや画像処理サーバ105から取得した処理済み画像データ等の複数のデータを格納する。なお、画像処理サーバ105及びストレージサーバ106は、インターネットを通じてクラウドサービスを提供するサーバであっても良い。ネットワーク107は、例えば、LAN(Local Area Network)やインターネットである。
図2は、図1の画像形成装置101の構成を概略的に示すブロック図である。図2において、画像形成装置101は、コントローラ201、プリンタ207、スキャナ209、及び操作部211を備える。コントローラ201は、プリンタ207、スキャナ209、及び操作部211と接続されている。また、コントローラ201は、CPU202、RAM203、HDD204、ネットワークI/F205、プリンタI/F206、スキャナI/F208、操作部I/F210、及び拡張I/F212を備える。CPU202、RAM203、HDD204、ネットワークI/F205、プリンタI/F206、スキャナI/F208、操作部I/F210、及び拡張I/F212はバス213を介して互いに接続されている。
CPU202は、HDD204から読み出した命令をRAM203に展開し、RAM203に展開した命令を実行する。RAM203は、CPU202がHDD204から読み出した命令を一時的に格納する。また、RAM203は、命令の実行に必要となるデータを格納する。例えば、画像処理では、入稿されたデータがRAM203に展開される。HDD204は、CPU202が実行する命令、画像形成装置101が使用する設定値、及びユーザが指示した処理に関するデータ等を格納する。ネットワークI/F205は、画像形成装置101が外部装置とネットワーク通信を行うためのI/Fである。例えば、ネットワークI/F205は、情報処理装置103や情報処理装置104等からデータを受信したことをCPU202に伝達する。また、ネットワークI/F205は、RAM203に格納されたデータを、情報処理装置103、情報処理装置104、画像処理サーバ105等へ送信する。
プリンタI/F206は、コントローラ201及びプリンタ207間のデータの受け渡しを制御する。例えば、プリンタI/F206は、CPU202から受けた印刷データをプリンタ207へ送信し、また、プリンタ207から受けたプリンタ207の状態を示す情報をCPU202へ送信する。プリンタ207は、プリンタI/F206から受信した画像データを用紙に印刷する。スキャナI/F208は、コントローラ201及びスキャナ209間のデータの受け渡しを制御する。例えば、スキャナI/F208は、CPU202から受けた画像読み取り指示をスキャナ209へ送信し、また、スキャナ209から受けた画像データをCPU202へ送信する。スキャナ209は、スキャナI/F208から受信した画像読み取り指示に従って、配置された原稿を読み取って画像データを生成する。操作部I/F210は、コントローラ201及び操作部211間のデータの受け渡しを制御する。例えば、操作部I/F210は、ユーザが操作部211から入力した指示をCPU202に送信し、また、ユーザが操作するための画面情報をCPU202から受けて当該画面情報を操作部211へ送信する。
操作部211は、図3に示すように、タッチパネル画面301、設定キー302、開始キー303、及びキャンセルキー304を備える。ユーザは、タッチパネル画面301及び設定キー302を操作して、ジョブに関する設定を行う。ジョブは、例えば、コピージョブや、原稿を読み取って画像データを生成し当該画像データを画像処理サーバ105へ送信するジョブである。開始キー303は、上記ジョブの実行を開始させるための操作ボタンである。キャンセルキー304は、実行中のジョブを中止させるための操作ボタンである。拡張I/F212は、画像形成装置101に外部機器を接続するためのI/Fである。拡張I/F212は、例えば、USB(Universal Serial Bus)形式のI/Fを備える。拡張I/F212は、画像形成装置101に接続されたUSBメモリ等の外部記憶装置に格納されているデータを読み取る制御や、上記外部記憶装置へデータを書き込む制御を行う。
図4は、図1の画像処理サーバ105及びストレージサーバ106の構成を概略的に示すブロック図である。図4(a)は、画像処理サーバ105の構成を示す。図4(b)は、ストレージサーバ106の構成を示す。
図4(a)において、画像処理サーバ105は、CPU401、RAM402、HDD403、及びネットワークI/F404を備える。CPU401、RAM402、HDD403、及びネットワークI/F404は、バス405を介して互いに接続されている。
CPU401は、画像処理サーバ105全体を統括的に制御する。CPU401は、HDD403から読み出したプログラムをRAM402に展開し、RAM402に展開されたプログラムを実行する。ネットワークI/F404は、画像処理サーバ105が外部装置とネットワーク通信を行うためのI/Fである。例えば、ネットワークI/F404は、画像形成装置101から画像データを受信する。
図4(b)において、ストレージサーバ106は、CPU406、RAM407、ネットワークI/F408、及びHDD409を備える。CPU406、RAM407、ネットワークI/F408、及びHDD409は、バス410を介して互いに接続されている。
CPU406は、ストレージサーバ106全体を統括的に制御する。CPU406は、HDD409から読み出したプログラムをRAM407に展開し、RAM407に展開されたプログラムを実行する。ネットワークI/F408は、ストレージサーバ106が外部装置とネットワーク通信を行うためのI/Fである。HDD409は、画像処理サーバ105から取得した画像データ、及び当該画像データに関連付けられたメタデータ等を格納する。メタデータは、受信した画像データから抽出した特定の文字列に関する情報を含む。また、HDD409は、メタデータの生成に用いられる下記表1及び表2のメタデータテンプレートを格納する。
HDD409には、会計、法務等の業務の種別毎に異なるメタデータテンプレートが格納されている。メタデータテンプレートは、1つ以上のキーと、当該キーに対応するバリューで構成される。表1の例では、会計業務向けメタデータテンプレートは、「請求額」、「納期」、「案件番号」の3つのキーと、これらのキーに対応するバリューで構成される。また、表1の例では、法務業務向けメタデータテンプレートは、「案件番号」、「依頼主」、「日付」の3つのキーと、これらのキーに対応するバリューで構成される。なお、本実施の形態では、キーに対応するバリューとして固定値ではなく、選択型の値を設定することも可能である。キーに対応するバリューとして選択型の値を設定する際には、ユーザや管理者が各キーに対して選択肢となる複数のバリューを予め設定しておく必要がある。
画像形成システム100では、例えば、画像形成装置101等が生成した画像データをストレージサーバ106に格納する場合、画像処理サーバ105が、選択された業務に対応するメタデータテンプレートをストレージサーバ106から取得する。画像処理サーバ105は、画像データ及びメタデータテンプレートに基づいてメタデータを生成し、画像データ及びメタデータをストレージサーバ106に送信する。ストレージサーバ106は、画像データ及びメタデータを対応付けして格納する。このように、画像形成システム100では、メタデータが関連付けられた画像データが、例えば、ユーザが画像データを検索する際に用いられる。ストレージサーバ106は、格納される複数のデータの中から、ユーザが指定した文字列を含むメタデータが関連付けられた画像データを検索する。例えば、画像データの検索において、「請求額」を指定することで、「請求額」を含むメタデータが関連付けられた画像データを容易に検索することが可能となる。
また、ストレージサーバ106に格納されたメタデータ及び画像データを他のシステムに出力して、作業の効率化を図ることが可能となる。例えば、書類に記載された会計情報を人手で転記する必要がある会計システムに対し、「請求額」や「納期」といった会計情報を含むメタデータを出力する。これにより、人手で行うことなく、メタデータを用いて会計情報の転機を容易に行うことができ、転記作業の効率化を図ることができる。
図5は、図1の画像形成システム100によって実行されるデータ格納処理の手順を示すフローチャートである。図5の処理における後述するステップS501、S502の処理は、例えば、画像形成装置101によって実行される処理である。この処理に係るプログラムは、格納元であるHDD204からRAM203に読み出され、CPU202によって実行される。また、図5の処理における後述するステップS503〜S505、S508〜S510の処理は、画像処理サーバ105によって実行される処理である。この処理に係るプログラムは、格納元であるHDD403からRAM402に読み出され、CPU401によって実行される。さらに、図5の処理における後述するステップS506〜S507、S511〜S512の処理は、ストレージサーバ106によって実行される処理である。この処理に係るプログラムは、格納元であるHDD409からRAM407に読み出され、CPU406によって実行される。
図5において、まず、画像形成装置101のCPU202は、開始キー303の押下等の原稿のスキャン指示を受けると、スキャン処理を実行する(ステップS501)。ステップS501では、CPU202がスキャナ209に対してスキャン指示を行い、スキャナ209が原稿を読み取って画像データを生成する。次いで、CPU202は、ネットワークI/F205を介して、画像データを画像処理サーバ105へ送信する(ステップS502)。例えば、複数ページの原稿のスキャン指示を受けた場合、画像形成装置101は、各ページに対応する複数の画像データを生成し、生成した全てのページの画像データを画像処理サーバ105へ送信する。
画像処理サーバ105のCPU401は、画像形成装置101から画像データを受信すると(ステップS503)、当該画像データに基づいて図6の画像分割処理を実行する(ステップS504)。ステップS504では、画像データのメタデータの生成に必要となるデータが生成される。
図6は、図5のステップS504の画像分割処理の手順を示すフローチャートである。図6において、CPU401は、ステップS503にて受信した画像データのうち、1ページ分の画像データ(以下、「ページ画像データ」という。)を読み込む(ステップS601)。次いで、CPU401は、読み込んだページ画像データに対し、ブロック分割処理を実行する(ステップS602)。ブロック分割処理では、CPU401は、ページ画像データの構造を解析し、ページ画像データを背景領域と文字列領域とに分割する。ステップS602の処理結果として、ページ画像データが分割された領域(以下、「分割領域」という。)毎の位置データと属性データとが関連付けられてHDD403に格納される。位置データは、ページ画像データにおける分割領域の位置を示す。属性データは、分割領域が背景領域及び文字列領域の何れであるかを示す。本実施の形態では、分割領域は、例えば、矩形で表現される。分割領域の位置データは、分割領域の左上頂点の座標、矩形の幅、及び矩形の高さを示す情報の組み合せで表現される。なお、分割領域の形状は、矩形以外の任意の形状であっても良い。
次いで、CPU401は、ステップS602の処理結果の中から文字列領域に関するデータを読み出す。CPU401は、上記文字列領域に対してOCR処理を施し(ステップS603)、上記文字列領域に含まれる文字列を示す文字コードデータを取得する。次いで、CPU401は、取得した文字コードデータと、上記文字列領域の位置データと、ページ画像データとを関連付けてHDD403に格納する(ステップS604)。次いで、CPU401は、ステップS503にて受信した全てのページ画像データを読み込んだか否かを判別する(ステップS605)。
ステップS605の判別の結果、ステップS503にて受信した何れかのページ画像データを読み込んでいないとき、CPU401は、ステップS601の処理に戻る。ステップS605の判別の結果、ステップS503にて受信した全てのページ画像データを読み込んだとき、CPU401は、画像分割処理を終了し、図5のステップS505の処理を行う。以上の手順で画像処理サーバ105が画像分割処理を実行することで、画像形成装置101がステップS501で生成した全てのページ画像データにおける文字列領域の位置データと、当該文字列領域の文字コードデータとが取得される。
図5に戻り、CPU401は、ストレージサーバ106に対し、選択された業務に対応するメタデータテンプレートの取得要求を送信する(ステップS505)。ストレージサーバ106のCPU406は、画像処理サーバ105から上記取得要求を受信し(ステップS506)、上記取得要求に対応するメタデータテンプレートをHDD409から読み出す。次いで、CPU406は、当該メタデータテンプレートを画像処理サーバ105へ送信する(ステップS507)。例えば、CPU406は、表1に示すように、キーとして「請求額」、「納期」、「案件番号」を含む会計業務向けメタデータテンプレートを画像処理サーバ105へ送信する。
画像処理サーバ105のCPU401は、メタデータテンプレートをストレージサーバ106から受信し(ステップS508)、当該メタデータテンプレートをHDD403に格納する。次いで、CPU401は、HDD403に格納されたメタデータテンプレートに基づいて後述する図7のメタデータ設定処理を実行し(ステップS509)、ステップS503にて受信した画像データのメタデータを生成する。次いで、CPU401は、ネットワークI/F404を介して、画像データ及びメタデータをストレージサーバ106へ送信する(ステップS510)。
ストレージサーバ106のCPU406は、ネットワークI/F408を介して、画像処理サーバ105から画像データ及びメタデータを受信する(ステップS511)。CPU406は、受信した画像データ及びメタデータを対応付けしてHDD409に格納し(ステップS512)、本処理を終了する。
図7は、図5のステップS509のメタデータ設定処理の手順を示すフローチャートである。図7において、画像処理サーバ105のCPU401は、ステップS602の処理結果及びページ画像データを読み込む(ステップS701)。次いで、CPU401は、HDD403に格納したメタデータテンプレートの中の一のキーを読み込む(ステップS702)。ステップS702では、例えば、CPU401は、キーとして「請求額」、「納期」、「案件番号」を含む会計業務向けメタデータテンプレートの中から、一のキーとして「請求額」を読み込む。次いで、CPU401は、CPU401がページ画像データから一のキーをキー候補として特定するための文字列(以下、「キー候補特定文字列」という。)を図8(a)の連携先キー変換辞書801から取得する(ステップS703)。連携先キー変換辞書801には、ストレージサーバ106が管理する全てのメタデータテンプレートのキーに関する情報が登録されている。連携先キー変換辞書801には、1つのキー(連携先Key)に対し、1つ以上のキー候補特定文字列(ページ上のキー文字)が登録されている。すなわち、本実施の形態では、例えば、文字列領域に含まれる文字列が「請求額」以外、具体的に、連携先キー変換辞書801の「請求額」に対応付けて登録された「総額」や「合計」であっても、文字列領域に含まれる文字列が「請求額」として認識される。また、一つのキー候補特定文字列(ページ上のキー文字)に対して一つの探索ルールが登録され、各キー候補特定文字列の探索ルールが明確化されている。ステップS703では、CPU401は、連携先キー変換辞書801からキー候補特定文字列として、例えば、ステップS702にて一のキーとして読み込んだ「請求額」に対応する「総額」、「合計」、「請求額」を取得する。
次いで、CPU401は、ステップS604にてHDD403に格納したデータを読み込む。次いで、CPU401は、ステップS703にて取得したキー候補特定文字列、例えば、「総額」、「合計」、「請求額」の中から、HDD403に格納された文字コードデータが示す文字列と一致する文字列を探索する(ステップS704)。すなわち、CPU401は、ステップS702〜S704の処理により、ページ画像データにおいて一のキーに相当する文字列を含む文字列領域が存在するか否かを判別する。次いで、CPU401は、発見されたキー候補特定文字列に対応する探索ルールを連携先キー変換辞書801から特定する(ステップS705)。次いで、CPU401は、特定した探索ルールに対応するバリュー物理探索ルールを図8(b)のバリュー物理探索辞書802から特定する(ステップS706)。
バリュー物理探索ルールには、キー候補特定文字列と一致する文字列を含む文字列領域からの距離、例えば、図9(a)の文字列領域900の左上頂点901からの距離が規定されている。すなわち、バリュー物理探索ルールのLに続く値は、キー候補特定文字列と一致する文字列を含む文字列領域の左上頂点から左方向への距離を表す。バリュー物理探索ルールのRに続く値は、キー候補特定文字列と一致する文字列を含む文字列領域の左上頂点から右方向への距離を表す。バリュー物理探索ルールのTに続く値は、キー候補特定文字列と一致する文字列を含む文字列領域の左上頂点から上方向への距離を表す。バリュー物理探索ルールのBに続く値は、キー候補特定文字列と一致する文字列を含む文字列領域の左上頂点から下方向への距離を表す。例えば、バリュー物理探索辞書802において、「金額」のバリュー物理探索ルールは、L:0cm, R:10cm, T: 0cm, B: 2cmである。「金額」のバリュー物理探索ルールは、ページ画像データ902において、左上頂点901と、左上頂点901から下方向へ2cmの位置の頂点903と、左上頂点901から右方向へ10cmの位置の頂点904とで形成される領域905に含まれる文字列がバリュー候補であることを示している。なお、領域905の形状は、図9(a)に示すように直角三角形であっても良く、また、図9(b)に示すように、扇型であっても良い。
次いで、CPU401は、特定したバリュー物理探索ルールに基づいてバリュー候補を特定する(ステップS707)(バリュー候補特定手段)。例えば、図9(a)では、領域905の中に文字列領域906及び文字列領域907の少なくとも一部が含まれる。このとき、ステップS707では、CPU401は、文字列領域900に含まれるキー候補の文字列のバリュー候補として、文字列領域906に含まれる「振込先」、及び文字列領域907に含まれる「5000円」を特定する。CPU401は、特定したバリュー候補を含む文字列領域の位置を示す位置データ、及び特定したバリュー候補を示す文字コードデータをRAM402に格納する。次いで、CPU401は、ステップS705にて特定した探索ルールに対応するバリュー型ルールを図8(c)のバリュー型探索辞書803から特定し(ステップS708)、特定したバリュー型ルールをRAM402に格納する。バリュー型ルールは、画像データから特定の型の文字列を抽出するためのルールであり、例えば、「-?\\?((\n+),?)+円?」のように正規表現によって表現される。なお、バリュー型ルールは、バリューを文字情報から特定するルールであれば良く、例えば、一つ以上の文字の完全一致を用いた処理を実行させるルールであっても良い。
次いで、CPU401は、ステップS707にて特定されたバリュー候補を絞り込む。具体的に、CPU401は、ステップS707にて特定されたバリュー候補の中から上記バリュー型ルールを満たす文字列を特定する(ステップS709)(バリュー候補特定手段)。ステップS709では、例えば、CPU401は、バリュー候補である「振込先」及び「5000円」が、バリュー型ルールである正規表現「-?\\?((\n+),?)+円?」を満たすか否かを判別する。この判別は、正規表現を使用可能なプログラミング言語、例えば、Perl言語で表現される以下の命令で行われる。
$value_candidate =~ /-?\\?((\n+),?)+円?/g
$value_candidate =~ /-?\\?((\n+),?)+円?/g
判別した結果、「5000円」は上記正規表現を満たすので、CPU401は、格納されていた文字列領域907の位置データ、及び「5000円」を示す文字コードデータをRAM402に保持する。また、「振込先」は上記正規表現を満たさないので、CPU401は、格納されていた文字列領域906の位置データ、及び「振込先」を示す文字コードデータをRAM402から削除する。
次いで、CPU401は、ステップS707にて特定されたバリュー候補を更に絞り込む。具体的に、CPU401は、ステップS709にて特定されたバリュー候補の中から文字列領域900までの距離が最も短いバリュー候補を特定する(ステップS710) (バリュー候補特定手段)。ステップS710では、CPU401は、文字列領域900の位置データ及びバリュー候補の位置データを用いて、ページ画像データにおける文字列領域900及びバリュー候補間の距離を算出する。CPU401は、ユーグリッド距離やマンハッタン距離等を用いて上記距離を算出する。すなわち、本実施の形態では、バリュー型ルール及びキー候補に相当する文字列までの距離に基づいてキー候補に対応するバリュー候補が特定される。次いで、CPU401は、ステップS710にて特定したバリュー候補の文字列を一のキーのバリューとして設定する(ステップS711)。例えば、図10(a)に示すように「請求額」、「住所」、「電話番号」がキーとして規定された業務のメタデータとして、「請求額」のバリューに「5000円」が設定されたメタデータが生成される(例えば、図10(b)を参照。)。次いで、CPU401は、メタデータテンプレートのキーの中に未処理のキーが残っているか否かを判別する(ステップS712)。
ステップS712の判別の結果、メタデータテンプレートのキーの中に未処理のキーが残っているとき、CPU401は、ステップS702の処理に戻り、未処理のキー、例えば、「請求額」、「納期」、「案件番号」の中の「納期」を読み込む。このようにして、本実施の形態では、ステップS508にて受信したメタデータテンプレートの全てのキーに対して上述した処理が実行される。ステップS712の判別の結果、メタデータテンプレートのキーの中に未処理のキーが残っていないとき、CPU401は、取得した画像データの中に未処理のページ画像データが残っているか否かを判別する(ステップS713)。
ステップS713の判別の結果、取得した画像データの中に未処理のページ画像データが残っているとき、CPU401は、ステップS701の処理に戻る。ステップS713の判別の結果、取得した画像データの中に未処理のページ画像データが残っていないとき、CPU401は、上述した処理によって各バリューが設定されたメタデータをRAM402に格納する。次いで、CPU401は、メタデータ設定処理を終了して、上述したステップS510の処理を行う。
上述した実施の形態によれば、選択された業務に応じて規定されている1つ以上のキー(キータイプ)に基づいてページ画像データからキー候補が特定される。上記キーに対してそれぞれ規定されているバリュー型ルール及びバリュー物理探索ルール(探索領域ルール)に基づいてキー候補に対応するバリュー候補が特定される。特定されたバリュー候補がメタデータに含まれるバリューとして設定される。これにより、画像データのメタデータの生成においてバリューを特定するための設定を出力先のシステムの種別に応じて変更する必要を無くすことができ、もって、画像データのメタデータの内容を容易に設定することができる。
また、上述した実施の形態では、バリュー型ルールは、画像データから特定の型の文字列を抽出するためのルールである。また、バリューの型ルールは、正規表現によって表される。これにより、画像データのメタデータに含める文字列として、バリュー型ルールを満たす特定の型の文字列を画像データから確実に抽出することができる。
上述した実施の形態では、バリュー型ルール及びキー候補に相当する文字列までの距離に基づいてキー候補に対応するバリュー候補が特定される。これにより、キー候補に対応するバリューとして相応しい文字列、具体的に、キー候補の比較的近傍の文字列であってバリュー型ルールを満たす文字列をメタデータに設定することができる。
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、画像処理サーバ105ではなく、画像形成装置101(又は画像形成装置102)が、ステップS501〜S502の処理を行った後に続けてステップS504〜S510の処理を行っても良い。画像形成装置101(又は画像形成装置102)がステップS501〜S502の処理を行った後に続けてステップS504〜S510の処理を行っても、上述した実施の形態と同様の効果を奏することができる。
また、上述した実施の形態では、後述する一致率に基づいてキー候補に対応するバリュー候補を特定しても良い。
図11は、図7のメタデータ設定処理の変形例の手順を示すフローチャートである。図11において、CPU401は、ステップS701〜S707の処理を行う。次いで、CPU401は、ステップS705にて特定した探索ルールに対応するバリュー型ルールを図12のバリュー型探索辞書1201から特定し(ステップS1101)、特定したバリュー型ルールをRAM402に格納する。例えば、ステップS705にて特定した探索ルールが「金額」である場合、当該探索ルールに対応するバリュー型ルールとして、正規表現によって表現された「-?」、「\\?」、「((\d+),?)」、及び「+円?」の4つのルールがRAM402に格納される。次いで、CPU401は、図13の一致率算出処理を実行し(ステップS1102)、RAM402に格納された各バリュー候補とバリュー型ルールとの一致率を算出する。
図13は、図11のステップS1102の一致率算出処理の手順を示すフローチャートである。図13において、CPU401は、RAM402に格納されたバリュー型ルールの中から一のルールを読み込む(ステップS1301)。例えば、「金額」の探索ルールに対応するバリュー型ルールである「-?」、「\\?」、「((\d+),?)」、及び「+円?」の4つのルールがRAM402に格納されている場合、ステップS1301では、CPU401は、その中から「-?」を読み込む。次いで、CPU401は、読み込んだルールをバリュー候補に適用して一致する文字数を算出する(ステップS1302)。一致する文字数の算出は、正規表現を使用可能なプログラミング言語、例えば、Perl言語で表現される以下の命令で行われる。なお、value_candidateは、バリュー候補である。
my$count = 0;
$count++ while $value_candidate =~ /-?/g;
my$count = 0;
$count++ while $value_candidate =~ /-?/g;
次いで、CPU401は、RAM402に格納された全てのルールを読み込んだか否かを判別する(ステップS1303)。
ステップS1303の判別の結果、RAM402に格納された何れかのルールを読み込んでいないとき、CPU401は、ステップS1301の処理に戻る。ステップS1301において、CPU401は、読み込んでいないルール、例えば、「-?」、「\\?」、「((\d+),?)」、及び「+円?」の中の「\\?」を読み込む。
ステップS1303の判別の結果、RAM402に格納された全てのルールを読み込んでいるとき、CPU401は、各ルールにおける一致文字数の合計値を算出する(ステップS1304)。CPU401は、算出した一致文字数の合計値をRAM402に格納する。次いで、CPU401は、RAM402に格納された一致文字数の合計値に基づいて一致率を算出する(ステップS1305)。ステップS1305では、CPU401は、一致文字数の合計値を対象となるバリュー候補の文字数で除算する。一致率の最大値は、1.0である。一致率の算出は、正規表現を使用可能なプログラミング言語、例えば、Perl言語で表現される以下の命令で行われる。なお、value_candidateはバリュー候補であり、sum_countは一致文字数の合計である。
$mach_rate = $sum_count / length(decode('utf-8', $value_candidate));
$mach_rate = $mach_rate > 1.0 ? $ 1.0 : $mach_rate;
$mach_rate = $sum_count / length(decode('utf-8', $value_candidate));
$mach_rate = $mach_rate > 1.0 ? $ 1.0 : $mach_rate;
CPU401は、算出した一致率を対応するバリュー候補に関連付けてRAM402に格納し、一致率算出処理を終了し、図11のステップS1103の処理を行う。
図11に戻り、CPU401は、RAM402に格納されたバリュー候補の位置データ及び一致率に基づいて確信度が最も高いバリュー候補を特定する(ステップS1103)。ステップS1103では、CPU401は、ステップS710と同様に、文字列領域900の位置データ及びバリュー候補の位置データを用いて、ページ画像データにおける文字列領域900及びバリュー候補間の距離を算出する。CPU401は、更にバリュー候補に対応する一致率を、算出した距離で除算し、算出した結果を確信度としてRAM402に格納する。CPU401は、全てのバリュー候補に対応して確信度を算出し、確信度が最も高いバリュー候補を特定し、特定したバリュー候補をRAM402に格納する。次いで、CPU401は、ステップS711以降の処理を行う。
上述した実施の形態では、一致率及びがキー候補に相当する文字列までの距離に基づいてキー候補に対応するバリュー候補が特定される。これにより、キー候補に対応するバリューとして相応しい文字列、具体的に、キー候補の比較的近傍の文字列であってバリュー型ルールとの一致率が極めて高い文字列をメタデータに設定することができる。
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
105 画像処理サーバ
401 CPU
403 HDD
802 バリュー物理探索辞書
803、1201 バリュー型探索辞書
401 CPU
403 HDD
802 バリュー物理探索辞書
803、1201 バリュー型探索辞書
Claims (7)
- 選択された業務に関する画像データを取得し、前記画像データに関する情報を含む付帯データを生成する画像処理装置であって、
前記選択された業務に応じて規定されている1つ以上のキータイプに基づいて前記画像データからキー候補を特定するキー候補特定手段と、
前記1つ以上のキータイプに対してそれぞれ規定されているバリューの型ルール及びバリューの探索領域ルールに基づいて前記キー候補に対応するバリュー候補を特定するバリュー候補特定手段と、
前記バリュー候補を前記付帯データに含めるバリューとして設定する設定手段とを備えることを特徴とする画像処理装置。 - 前記バリューの型ルールは、前記画像データから特定の型の文字列を抽出するためのルールであることを特徴とする請求項1記載の画像処理装置。
- 前記バリューの型ルールは、正規表現によって表されることを特徴とする請求項1又は2記載の画像処理装置。
- 前記設定手段は、前記バリューの型ルール及び前記キー候補に相当する文字列までの距離に基づいて前記キー候補に対応するバリュー候補を特定することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
- 前記画像データに含まれる文字列における前記バリューの型ルールとの一致率を算出する一致率算出手段を更に備え、
前記バリュー候補特定手段は、前記一致率及び前記キー候補に相当する文字列までの距離に基づいて前記キー候補に対応するバリュー候補を特定することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。 - 選択された業務に関する画像データを取得し、前記画像データに関する情報を含む付帯データを生成する画像処理装置の制御方法であって、
前記選択された業務に応じて規定されている1つ以上のキータイプに基づいて前記画像データからキー候補を特定するキー候補特定ステップと、
前記1つ以上のキータイプに対してそれぞれ規定されているバリューの型ルール及びバリューの探索領域ルールに基づいて前記キー候補に対応するバリュー候補を特定するバリュー候補特定ステップと、
前記バリュー候補を前記付帯データに含めるバリューとして設定する設定ステップとを有することを特徴とする画像処理装置の制御方法。 - 選択された業務に関する画像データを取得し、前記画像データに関する情報を含む付帯データを生成する画像処理装置の制御方法をコンピュータに実行させるプログラムであって、
前記画像処理装置の制御方法は、
前記選択された業務に応じて規定されている1つ以上のキータイプに基づいて前記画像データからキー候補を特定するキー候補特定ステップと、
前記1つ以上のキータイプに対してそれぞれ規定されているバリューの型ルール及びバリューの探索領域ルールに基づいて前記キー候補に対応するバリュー候補を特定するバリュー候補特定ステップと、
前記バリュー候補を前記付帯データに含めるバリューとして設定する設定ステップとを有することを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019109609A JP2020201822A (ja) | 2019-06-12 | 2019-06-12 | 画像処理装置、その制御方法、及びプログラム |
US16/896,527 US11694458B2 (en) | 2019-06-12 | 2020-06-09 | Image processing apparatus that sets metadata of image data, method of controlling same, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019109609A JP2020201822A (ja) | 2019-06-12 | 2019-06-12 | 画像処理装置、その制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020201822A true JP2020201822A (ja) | 2020-12-17 |
Family
ID=73743460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019109609A Pending JP2020201822A (ja) | 2019-06-12 | 2019-06-12 | 画像処理装置、その制御方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11694458B2 (ja) |
JP (1) | JP2020201822A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020201822A (ja) * | 2019-06-12 | 2020-12-17 | キヤノン株式会社 | 画像処理装置、その制御方法、及びプログラム |
JP2022006256A (ja) * | 2020-06-24 | 2022-01-13 | キヤノン株式会社 | 撮像装置、画像撮影処理方法、プログラムおよび記憶媒体 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW338815B (en) * | 1995-06-05 | 1998-08-21 | Motorola Inc | Method and apparatus for character recognition of handwritten input |
US8162125B1 (en) * | 1996-05-29 | 2012-04-24 | Cummins-Allison Corp. | Apparatus and system for imaging currency bills and financial documents and method for using the same |
US7254269B2 (en) * | 2000-08-31 | 2007-08-07 | Hewlett-Packard Development Company, L.P. | Character recognition system |
US20050289182A1 (en) * | 2004-06-15 | 2005-12-29 | Sand Hill Systems Inc. | Document management system with enhanced intelligent document recognition capabilities |
JPWO2008050462A1 (ja) * | 2006-10-24 | 2010-02-25 | グローリー株式会社 | 紙幣識別計数機 |
WO2009087996A1 (ja) * | 2008-01-07 | 2009-07-16 | Nec Corporation | 情報抽出装置及び情報抽出システム |
US20160379183A1 (en) * | 2013-03-15 | 2016-12-29 | Elwha Llc | Methods and systems for agnostic payment systems |
US20150149952A1 (en) * | 2013-11-27 | 2015-05-28 | Qualcomm Incorporated | Text input for abugida writing systems with conjuncts |
JP6406890B2 (ja) * | 2014-06-19 | 2018-10-17 | キヤノン株式会社 | 情報処理装置 |
US9881225B2 (en) | 2016-04-20 | 2018-01-30 | Kabushiki Kaisha Toshiba | System and method for intelligent receipt processing |
JP2020201822A (ja) * | 2019-06-12 | 2020-12-17 | キヤノン株式会社 | 画像処理装置、その制御方法、及びプログラム |
JP2021092862A (ja) * | 2019-12-06 | 2021-06-17 | グローリー株式会社 | 貨幣収納容器及び貨幣処理装置 |
WO2022035886A1 (en) * | 2020-08-11 | 2022-02-17 | Cortina Health, Inc. | Systems and methods for using artificial intelligence for skin condition diagnosis and treatment options |
-
2019
- 2019-06-12 JP JP2019109609A patent/JP2020201822A/ja active Pending
-
2020
- 2020-06-09 US US16/896,527 patent/US11694458B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200394432A1 (en) | 2020-12-17 |
US11694458B2 (en) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6881990B2 (ja) | 画像処理装置とその制御方法、及びプログラム | |
JP5061151B2 (ja) | オブジェクト取得装置、オブジェクト管理システム、オブジェクト管理方法 | |
US20080117472A1 (en) | Document management system, a document management method, and a document management program | |
US9424498B2 (en) | Information processing apparatus, information processing method, and recording medium for conversion of vendor-specific print data | |
JP7112278B2 (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
JP2020201822A (ja) | 画像処理装置、その制御方法、及びプログラム | |
US20180270387A1 (en) | Printing apparatus, server, printing method, and control method | |
JP7187845B2 (ja) | 印刷サーバ、画像形成装置、プログラム、印刷システム | |
JP6115299B2 (ja) | 中継装置、画像処理装置、通信システム、および中継装置のプログラム | |
JP2021056722A (ja) | 情報処理装置及びプログラム | |
JP2020024582A (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
JP7396126B2 (ja) | 情報処理装置、情報処理システム、変換方法およびプログラム | |
US9584697B2 (en) | Apparatus, system, and method for editing and delivering data files | |
JP7379051B2 (ja) | 情報処理装置、情報処理装置の制御方法及びそのプログラム | |
JP7102284B2 (ja) | ファイル管理装置、ファイル管理方法、及びプログラム | |
JP7292988B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US9286531B2 (en) | Log-image extracting apparatus for high security | |
JP2018149770A (ja) | 印刷装置、印刷制御装置とその制御方法、及びプログラム | |
JP7121336B2 (ja) | 画像形成装置、画像形成プログラムおよび画像形成システム | |
JP2023170130A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6191269B2 (ja) | 画像形成装置及び画像形成プログラム | |
JP2023068989A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2023041242A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2021068274A (ja) | 画像処理システム、画像処理方法、及びプログラム | |
JP2022044454A (ja) | プログラムおよびデバイス |