(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-11
(45)【発行日】2024-10-22
(54)【発明の名称】画像処理装置、画像形成システム、画像処理方法、およびプログラム
(51)【国際特許分類】
G06V 30/412 20220101AFI20241015BHJP
G06V 30/14 20220101ALI20241015BHJP
【FI】
G06V30/412
G06V30/14 340
(21)【出願番号】P 2020132464
(22)【出願日】2020-08-04
【審査請求日】2023-08-02
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】富久 泰志
【審査官】菊池 伸郎
(56)【参考文献】
【文献】特開2019-128727(JP,A)
【文献】国際公開第2020/071558(WO,A1)
【文献】特開2017-010069(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
帳票を読み取ることによって得られた読取画像を取得する画像取得手段と、
前記読取画像に含まれる手書き文字の画像と、手書き文字以外の領域の画像と、を前記読取画像から分離する分離手段と、
前記分離によって得られた夫々の画像内の文字列領域を検出して、前記読取画像に含まれる手書き文字の文字列領域
と、前記読取画像に含まれる印刷文字の文字列領域と、を
それぞれ検出する検出手段と、
手書き文字を記載するための領域が複数あり、前記複数の領域のうちの何れかの領域に手書き文字が記載された帳票の前記領域ごとの手書き文字の文字列領域の
第1位置情報
と、印刷文字の文字列領域の第2位置情報と、を含むフォームデータを取得するデータ取得手段と、
前記フォームデータに含まれる位置情報に基づく前記帳票の文字列領域の画素情報と、前記読取画像の文字列領域の画素情報との一致度が閾値を超えた場合に、前記帳票の文字列領域と前記読取画像の文字列領域との配置が類似していると特定する特定手段と、
前記フォームデータに含まれる前記第2位置情報に基づく前記帳票の印刷文字の文字列領域と、前記読取画像から検出された印刷文字の文字列領域と、が類似していると特定された場合に、当該フォームデータに含まれる前記第1位置情報に基づく前記帳票の手書き文字の文字列領域と類似しているとさらに特定された前記読取画像から検出された手書き文字の文字列領域から、前記フォームデータの
前記手書き文字の前記文字列領域に対応付けられている所定の項目の文字列
を抽出する抽出手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記抽出手段は、
前記フォームデータの印刷文字の文字列領域および手書き文字の文字列領域のうち前記所定の項目の文字列領域に対応する、前記読取画像の文字列領域に含まれる文字列を前記所定の項目の文字列として抽出する
ことを特徴とする請求項
1に記載の画像処理装置。
【請求項3】
前記読取画像に含まれる文字列領域に対して文字認識処理を行う文字認識手段をさらに有し、
前記抽出手段は、
前記フォームデータの文字列領域のうち前記所定の項目の文字列領域に対応する、
前記読取画像から検出された手書き文字の文字列領域に対して、前記文字認識手段が文字認識した結果得られた文字列を、前記所定の項目の文字列として抽出する
ことを特徴とする請求項1
または2のいずれか1項に記載の画像処理装置。
【請求項4】
前記文字認識手段は、印刷文字の文字列領域に対する文字認識処理とは異なる方法で、手書き文字の文字列領域に対して文字認識処理を行う
ことを特徴とする請求項
3に記載の画像処理装置。
【請求項5】
前記文字認識手段は、
前記特定手段が前記特定をできない場合、または、前記所定の項目のうち前記抽出手段が
文字列を抽出できない項目がある場合、前記検出手段によって検出された全ての文字列領域に対して文字認識処理を行う
ことを特徴とする請求項
3または
4に記載の画像処理装置。
【請求項6】
ユーザの指示に基づき、前記読取画像に含まれる前記所定の項目に対応する文字列領域を受け付ける受付手段と、
前記読取画像に含まれる印刷文字の文字列領域および手書き文字の文字列領域の配置を示す情報と、前記所定の項目に対応する文字列領域の位置を示す情報と、を前記フォームデータに登録するためのデータを送信する送信手段と、をさらに有する
ことを特徴とする請求項1から
5のいずれか1項に記載の画像処理装置。
【請求項7】
前記読取画像の文字列領域を強調して前記読取画像を表示部に表示する制御をする表示制御手段をさらに有し、
前記受付手段は、前記表示部に強調して表示された文字列領域のうち、ユーザによって選択された文字列領域を、前記所定の項目に対応する前記読取画像の文字列領域として受け付ける
ことを特徴とする請求項
6に記載の画像処理装置。
【請求項8】
前記送信手段から送信されたデータを前記フォームデータに登録する登録手段をさらに有し、
前記登録手段は、
前記読取画像から検出された印刷文字の文字列領域の位置情報が前記フォームデータに登録されており、前記読取画像から検出された手書き文字の文字列領域の位置情報が前記フォームデータに登録されていない場合、前記読取画像
から検出された手書き文字の文字列領域の位置情報を新規の情報として登録する
ことを特徴とする請求項
6または
7に記載の画像処理装置。
【請求項9】
請求項
6または
7に記載の画像処理装置と、
前記画像処理装置の前記送信手段から送信されたデータを前記フォームデータに登録する登録手段を有するサーバと、
を有することを特徴とする画像形成システム。
【請求項10】
帳票を読み取ることによって得られた読取画像を取得する画像取得ステップと、
前記読取画像に含まれる手書き文字の画像と、手書き文字以外の領域の画像と、を前記読取画像から分離する分離ステップと、
前記分離によって得られた夫々の画像内の文字列領域を検出して、前記読取画像に含まれる手書き文字の文字列領域と、
前記読取画像に含まれる印刷文字の文字列領域と、をそれぞれ検出する検出ステップと、
手書き文字を記載するための領域が複数あり、前記複数の領域のうちの何れかの領域に手書き文字が記載された帳票の前記領域ごとの手書き文字の文字列領域の第1位置情報と、
印刷文字の文字列領域の第2位置情報と、を含むフォームデータを取得するデータ取得ステップと、
前記フォームデータに含まれる位置情報に基づく前記帳票の文字列領域の画素情報と、前記読取画像の文字列領域の画素情報との一致度が閾値を超えた場合に、前記帳票の文字列領域と前記読取画像の文字列領域との配置が類似していると特定する特定ステップと、
前記フォームデータに含まれる前記第2位置情報に基づく前記帳票の印刷文字の文字列領域と、前記読取画像から検出された印刷文字の文字列領域と、が類似していると特定された場合に、当該フォームデータに含まれる前記第1位置情報に基づく前記帳票の手書き文字の文字列領域と類似しているとさらに特定された前記読取画像から検出された手書き文字の文字列領域から、前記フォームデータの
前記手書き文字の前記文字列領域に対応付けられている所定の項目の文字列
を抽出する抽出ステップと、
を含むことを特徴とする画像処理方法。
【請求項11】
コンピュータを、請求項1から
8のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、読取画像から所定の項目の文字列を抽出する技術に関する。
【背景技術】
【0002】
原稿をスキャンした結果得られた読取画像にOCR(Optical Character Recognition)処理を行うことで、読取画像内の文字列をデジタルデータとして抽出する方法がある。また読取画像が示す帳票の種別を検出し、その帳票の種別に応じた所定の項目の位置を特定することで、OCR処理をした結果から所定の項目の文字列を抽出する方法がある。
【0003】
特許文献1には、帳票の罫線の特徴の情報をデータベースに登録しておき、入力された画像の罫線の特徴が一致する帳票をデータベースから特定する方法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、
図3のような手書きで記載するための記載領域が複数あるフォームの場合、記載領域301および記載領域302のどちらかの記載領域に手書きで文字が記載された帳票が、OCR処理の対象となる。このような帳票では、「電話番号」、「メールアドレス」のような同一項目の記載箇所がそれぞれの記載領域に含まれることがある。このため、読取画像から所定の項目の文字列を抽出しようとする場合、どちらの記載領域の項目から文字列を抽出すべきか判断できないため、所望の文字列を抽出できない虞がある。
【課題を解決するための手段】
【0006】
本開示の技術に関わる画像処理装置は、帳票を読み取ることによって得られた読取画像を取得する画像取得手段と、前記読取画像に含まれる手書き文字の画像と、手書き文字以外の領域の画像と、を前記読取画像から分離する分離手段と、前記分離によって得られた夫々の画像内の文字列領域を検出して、前記読取画像に含まれる手書き文字の文字列領域と、前記読取画像に含まれる印刷文字の文字列領域と、をそれぞれ検出する検出手段と、
手書き文字を記載するための領域が複数あり、前記複数の領域のうちの何れかの領域に手書き文字が記載された帳票の前記領域ごとの手書き文字の文字列領域の第1位置情報と、印刷文字の文字列領域の第2位置情報と、を含むフォームデータを取得するデータ取得手段と、前記フォームデータに含まれる位置情報に基づく前記帳票の文字列領域の画素情報と、前記読取画像の文字列領域の画素情報との一致度が閾値を超えた場合に、前記帳票の文字列領域と前記読取画像の文字列領域との配置が類似していると特定する特定手段と、前記フォームデータに含まれる前記第2位置情報に基づく前記帳票の印刷文字の文字列領域と、前記読取画像から検出された印刷文字の文字列領域と、が類似していると特定された場合に、当該フォームデータに含まれる前記第1位置情報に基づく前記帳票の手書き文字の文字列領域と類似しているとさらに特定された前記読取画像から検出された手書き文字の文字列領域から、前記フォームデータの前記手書き文字の前記文字列領域に対応付けられている所定の項目の文字列を抽出する抽出手段と、を有することを特徴とする。
【発明の効果】
【0007】
本開示の技術によれば、手書きで文字を記載するための複数の領域を持つような帳票であって、何れかの領域に手書き文字が記載された帳票を読み取ることによって得られた読取画像から当該手書きで記載された文字列を抽出することができる。
【図面の簡単な説明】
【0008】
【
図5】メタデータ項目の文字情報抽出処理を示すフローチャート。
【
図12】メタデータ項目の文字情報抽出処理を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照して本開示の技術の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本開示の技術を限定するものでなく、また以下の実施形態で説明されている特徴の組み合わせの全てが本開示の技術の解決手段に必須のものとは限らない。また、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0010】
<実施形態1>
[画像形成システムの概要]
図1は、画像形成システムの構成を示す図である。
図1に示すように、画像形成システムは、画像形成装置100とホストコンピュータ170とサーバ191(クラウドサーバーであってもよい)とを含む。本実施形態では、画像形成装置100として、印刷機能、読取機能、FAX機能等、複数の機能が一体化された複合機(MFP:MultiFunctionPrinter)が用いられるものとして説明する。また、サーバ191は、文書管理機能を有するものとして説明する。画像形成装置100とホストコンピュータ170とサーバ191とは、LAN(LocalAreaNetwork)等のネットワーク190を相互に通信可能に接続されている。画像形成装置とホストコンピュータとサーバは複数台接続されていてもよく、他の装置が接続されていてもよい。また、ネットワーク190は、有線ネットワークや無線ネットワーク、または、それらが組み合わされた構成の場合がある。
【0011】
画像形成装置100は、制御装置110、リーダ装置120、プリンタ装置130、操作部140、記憶装置150を含む。制御装置110は、画像形成装置100を統括的に制御する制御基板(コントローラ)である。制御装置110は、CPU111、ROM112、RAM113、画像処理部114を含む。CPU111は、システムバス(不図示)を介して、制御装置110内の各ブロックを制御する。例えば、CPU111は、ROM112やRAM113、記憶装置150、又は、他の記憶媒体に記憶されたプログラムを読み出して実行することにより、画像形成装置100の機能を実行する。ROM112は、例えば、制御プログラムや、画像形成装置100の機能を実行する上で必要なテーブルや設定データ等を記憶する。RAM113は、例えば、CPU111のワークメモリとして用いられる。
【0012】
画像処理部114は、リーダ装置120が原稿を読み取ることによって生成された読取画像データや、外部から受信した画像データに対して、変換、補正、編集、圧縮/解凍など、種々の画像処理を実行する。画像処理部114は、ハードウェアで構成される場合があれば、ソフトウェアで実現される場合もある。このように本実施形態の画像形成装置100は画像処理装置としても機能する。
【0013】
リーダ装置120は、スキャナエンジンの構成を有し、不図示の原稿台にセットされた又は不図示の自動原稿給送装置(ADF:AutomaticDocumentFeeder)から給送された原稿を光学的に読み取り、読取画像データを生成する。プリンタ装置130は、インクジェット記録方式や電子写真方式等、各種の記録方式に対応したプリンタエンジンの構成を有し、記録媒体上に画像を形成する。
【0014】
記憶装置150は、例えば、画像データ、モードおよびライセンスなどの機器情報、アドレス帳やカスタマイズなどのユーザ情報を記憶する。操作部140は、ユーザの操作を受付けるための操作キー、及び、各種設定やユーザインターフェース画面の表示などを行う液晶パネルを備え、受け付けたユーザ操作等の情報を制御装置110へ出力する。画像形成装置100は、
図1に示す構成に限られず、画像形成装置100の実行可能な機能に応じて他の構成を含んでもよい。例えば、FAX機能の実行に必要な構成や、近距離無線通信を可能とする構成を含む場合もある。
【0015】
サーバ191は、制御装置198、操作部195、記憶装置196、表示部197を含む。制御装置198は、サーバ191を統括的に制御する制御基板(コントローラ)である。制御装置198は、CPU192、ROM193、RAM194を含む。CPU192は、システムバス(不図示)を介して、制御装置198内の各ブロックを制御する。例えば、CPU192は、ROM193、RAM194、記憶装置196、又は他の記憶媒体に記憶されたプログラムを読み出して実行することにより、サーバ191の機能を実行する。ROM193は、例えば、オペレーティングシステムプログラム(OS)等の各種制御プログラムや、サーバ191の機能を実行する上で必要なテーブルや設定データ等を記憶する。RAM194は、例えば、CPU192のワークメモリとして用いられる。記憶装置196は、例えば、各種アプリケーションプログラムや、データ、ユーザ情報、機器情報などを記憶する。操作部195は、ユーザの操作を受付けるためのキーボード、ポインティングデバイス等を備え、受け付けたユーザ操作等の情報を制御装置198へ出力する。表示部197は、例えば液晶ディスプレイであり、各種ユーザインターフェース画面や情報の表示を行う。
【0016】
[画像形成装置の機能構成]
図2は画像形成装置100のメタデータ項目の抽出処理に関わる機能構成を説明するための図である。本実施形態の画像形成装置100は、画像データ取得部201、文字列領域検出部202、文字認識部203、手書き文字分離部204、文字情報抽出部205、および表示制御部206を有する。
【0017】
画像データ取得部201は、リーダ装置120が原稿を読み取ることによって生成された読取画像データを取得する画像取得部として機能する。文字列領域検出部202は、読取画像内に存在する文字列領域を検出する処理を行う。文字列領域の検出方法は、例えば、ある閾値で2値化を行った画像から文字と推測される矩形領域を抽出する方法等、既知の方法を適用すればよい。
【0018】
文字認識部203は、文字列領域に対して光学文字認識処理(OCR処理)を行う。本実施形態の文字認識部203は、文字列領域の分類に応じた適切な方法でOCR処理を行うことができる。例えば、手書き文字は印刷文字と比べて濃度が低く、書いた人毎の字形の差が大きい。このため手書き文字をOCR処理する場合、文字認識部203は、印刷文字をOCR処理する場とは異なる方法で、OCR処理を行う。手書き文字を文字認識する方法としては、二値化処理時にコントラストを上げノイズ除去を強力にすることでOCR処理を行う。または、文字認識部203は、1文字ごとの画像特徴点で判断するのではなく前後の文字を含めてニューラルネットワークにより学習した認識エンジンを使用して、手書き文字専用のOCR処理を行ってもよい。手書き文字専用のOCR処理によって、手書き文字、印刷文字の両方の文字の認識精度を高めることができる。
【0019】
手書き文字分離部204は、読取画像に対して手書き文字を分離する処理を行い、読取画像内の手書き文字を表す手書き文字画像と手書き文字以外の画像とを生成する。読取画像から手書き文字画像を分離する方法として、手書き文字以外の画像である帳票テンプレートの画像を事前に登録しておき、その画像と読取画像データの画像との差分を導出する方法がある。手書き文字を分離する方法はこの方法に限られない。他にも、例えば、読取画像データ内の手書き文字列領域とそれ以外の背景領域とをニューラルネットワークに学習させて、画素や領域ごとに手書き文字かを判断することで手書き文字画像と手書き文字以外の画像とを生成する方法が用いられてもよい。
【0020】
文字情報抽出部205は、後述するフォームデータを取得し、読取画像の文字列領域と配置が類似する、フォームデータに登録されている文字列領域を特定する。そして、文字情報抽出部205は、文字認識部203による文字認識処理の結果得られた文字列から、文書名、氏名、電話番号等のメタデータ項目に対応する文字列を抽出するための処理を行う。文字情報抽出部205の処理の詳細は後述する。
【0021】
表示制御部206は、確認画面および修正画面を操作部140の液晶パネルに表示させるための制御を行う。確認画面および修正画面については後述する。
【0022】
図2の各部の機能は、CPU111がROM112または記憶装置150に記憶されているプログラムコードをRAM113に展開し実行することにより実現される。または、
図2の各部の一部または全部の機能をASICや電子回路等のハードウェアで実現してもよい。
【0023】
[文字情報抽出処理の対象となる帳票について]
画像形成装置100は、申込書のような手書き文字と印刷文字とが含まれる原稿を読み取ることによって得られた読取画像の画像データから、文書名、氏名、電話番号等の所定の項目の文字列を抽出する文字情報抽出処理を行う。
【0024】
文字情報抽出処理では、データベースに登録されている、帳票ごとの文字列領域の位置情報から、読取画像の文字列領域と配置が類似する文字列領域を特定する。そして特定された、フォームデータの文字列領域に対応付けられている抽出対象の項目の文字列領域と同じ領域から文字認識された読取画像内の文字列を、所定の項目の文字列として抽出する。類似する文字列領域が登録されていない場合、読取画像が示す帳票が新たな帳票として登録される。
【0025】
図3は、手書き文字が書き込まれていない帳票フォーム300を示す図である。帳票フォーム300が示すように、読み取り対象となる原稿には、「個人会員」の記載領域301と「法人会員」の記載領域302のどちらか一方の領域に手書きで記載されるような帳票フォームに基づく原稿がある。帳票フォームの「個人会員」と「法人会員」との記載領域では手書きで記載される内容が異なるが、「電話番号」、「メールアドレス」といった共通する項目も存在する。
【0026】
帳票フォーム300の「個人会員」の記載領域301に手書きで記載がされた原稿と、「法人会員」の記載領域302に手書きで記載された原稿は、「電話番号」、「メールアドレス」のように同一の項目の領域が複数ある。このためユーザが抽出したい文字列が、記載領域301に含まれる項目の文字列なのか記載領域302に含まれる項目の文字列なのかかが判断できず、所望の文字列を抽出できない虞がある。
【0027】
そこで本実施形態では、読取画像に含まれる印刷文字の文字列領域の情報と、手書き文字の文字列領域の情報と、を分離してそれぞれの情報をデータベースに登録する。読取画像から所定の項目を抽出する際は、読取画像に含まれる印刷文字の文字列領域、および読取画像に含まれる手書き文字の文字列領域のそれぞれ情報に基づき文書種別を判定することで、読取画像における所定の項目の文字列を抽出する。
【0028】
[フォームデータの登録について]
図4は、サーバ191に記憶されている、登録済み帳票(文書)の情報を示すフォームデータの一例を示す図である。画像形成装置100では、フォームデータを用いて、読取画像に含まれるメタデータ項目の文字列の抽出が行われる。
【0029】
フォームデータには、登録済みの、画像の情報とメタデータ項目の情報とが含まれる。具体的には、画像の情報として、画像データ、手書き文字BS、および印刷文字BSの情報が含まれる。読取画像400は、登録済み文書の読取画像のデータを示す。手書き文字BS情報および印刷文字BS情報は、登録済み文書の文字列領域の配置を示す位置情報である。BSはブロックセレクションを指す。
【0030】
手書き文字BS画像401は、登録済み文書の手書き文字が含まれる文字列領域(手書き文字列領域)の位置情報である手書き文字BS情報を画像として表した図である。手書き文字BS画像401内の実線の矩形領域が手書き文字列領域の位置およびサイズを示す。印刷文字BS画像402は、登録済み文書の印刷文字が含まれる文字列領域(印刷文字列領域)の位置情報を示す印刷文字BS情報を画像で表した図である。印刷文字BS画像402の実線の矩形領域が印刷文字列領域の位置およびサイズを示す。
【0031】
このように、本実施形態では、登録済み文書に対する文字列領域の情報として、印刷文字列領域と手書き文字列領域とのそれぞれの位置情報がそれぞれ登録されている。以下、手書き文字BS画像は手書き文字の文字列領域の位置情報を、印刷文字BS画像は印刷文字の文字列領域の位置情報を指すものとする。
【0032】
手書き文字BS画像401および印刷文字BS画像402のそれぞれの画像内の破線の矩形は、メタデータ項目の文字列を含む文字列領域の位置情報を示している。本実施形態におけるメタデータ項目は、「文書名」「申込日」「氏名」「法人名」「電話番号」であり、それぞれの項目に対応した位置情報がメタデータ項目情報として登録されている。位置情報403は「文書名」、位置情報404は「申込日」、位置情報405は「氏名」、位置情報406は「電話番号」のそれぞれの項目に対応する位置を示す。また、「法人名」の位置情報については不明である旨の情報が登録されている。
【0033】
本実施形態では、スキャン処理が実行される度に画像形成装置100は、サーバ191から登録済のフォームデータの取得を行うことで、複数の画像形成装置で登録済みの情報を共有することできる構成としている。他にも、登録済みのフォームデータは、それぞれの画像形成装置100の記憶装置150に記憶されている構成であってもよい。
【0034】
[文字情報抽出処理のフローについて]
図5は、文字情報抽出処理の詳細を説明するためのフローチャートである。
図5のフローチャートで示される一連の処理は、画像形成装置100のCPU111がROM112に記憶されているプログラムコードをRAM113に展開し実行することにより行われる。また、
図5におけるステップの一部または全部の機能をASICや電子回路等のハードウェアで実現してもよい。なお、各処理の説明における記号「S」は、当該フローチャートにおけるステップであることを意味し、以後のフローチャートにおいても同様とする。
【0035】
S501においてCPU111は、操作部140を介してユーザから原稿のスキャン処理の指示を受け付けると、リーダ装置120に原稿のスキャンを指示する。リーダ装置120は原稿に対してスキャンを実施し、原稿に対応した読取画像データを生成する。そして、画像データ取得部201は、リーダ装置120から原稿の読取画像データを取得する。
【0036】
図6は、本フローチャートの処理の結果生成されるデータの一例を示す図である。
図6の読取画像600は、帳票フォーム300の「個人会員」の記載領域301に記載された原稿をスキャンすることによって得られた読取画像である。
【0037】
図7は、
図6に示すデータを得るための原稿とは異なる原稿に対して、本フローチャートの処理において生成されたデータの一例を示す図である。
図7の読取画像700は、帳票フォーム300の「法人会員」の記載領域302に記載された原稿をスキャンすることによって得られた読取画像である。
【0038】
S502において手書き文字分離部204は、S501で生成された読取画像データに対して手書き文字を分離する処理を行い、手書き文字画像と手書き文字以外の画像とを生成する。なお、S502の処理が行われる前に、スキャン処理の際に生じる斜行、原稿セット時の画像ずれ、画像の向きの違いなどを判定して、読取画像の位置合わせ処理が行われてもよい。読取画像の位置合わせ処理が行われることで、差分画像を抽出する精度を高めることができる。
図6の読取画像600に対して本ステップの処理を行うことで、手書き文字が抽出された手書き文字画像601と手書き文字以外の画像602とが得られる。また、
図7の読取画像700に対して本ステップの処理を行うことで、手書き文字画像701と、手書き文字以外の画像702とが得られる。読取画像600および読取画像700は同一フォームの帳票に手書きの記載がされている原稿をスキャンすることによって得られた画像であるため、手書き文字以外の画像602および手書き以外の画像702は原則として同一の画像となる。
【0039】
S503では、S502で生成された手書き文字以外の画像602、702に対して文字認識のための処理を行う。本ステップでは、文字列領域検出部202は、OCR処理の前に、ブロック分割処理を行い、画像の帳票構造を解析し、画像に含まれる背景領域と文字列領域を示す矩形領域(ブロック)とに分割するBS処理を行う。
【0040】
手書き文字以外の画像602、702に対してBS処理が行われた結果得られる文字列領域の座標情報(位置情報)を、説明のために画像で表したものが印刷文字BS画像604、704である。印刷文字BS画像604、704において矩形で表される文字列領域は、印刷文字列領域である。手書き文字以外の画像602、702は同一の画像であるため、印刷文字BS画像604および印刷文字BS画像704は同一の画像になる。
【0041】
そして、文字認識部203は、印刷文字BS画像604、704の夫々の文字列領域に対してOCR処理を実施する。文字列領域の文字列の文字コードを取得することで、文字列領域以外の領域をOCR処理する必要はない。このため、OCR処理における処理負荷の軽減し、文字認識の精度を向上することができる。
【0042】
S504では、S502で生成された手書き文字画像601、701に対して文字認識のための処理を行う。文字列領域検出部202は、S503と同様にOCR処理の前に手書き文字画像601、701に対してBS処理を行う。手書き文字BS画像603、703は、手書き文字画像601、701に対してBS処理が行われた結果得られた手書き文字列領域の座標情報を、説明のために画像として表した図ある。図中の矩形が手書き文字列領域を表す。
【0043】
文字認識部203は、夫々の文字列領域に対してOCR処理を実施することで、文字列領域の文字列の文字コードを取得する。本ステップにおけるOCR処理の方法は、S503のOCR処理と同じ方法であってもよいし、手書き文字の文字認識に特化したS503とは異なるOCR処理の方法であってもよい。
【0044】
S505において文字情報抽出部205は、サーバ191の文書管理機能のI/Fを介して、サーバ191の記憶装置196に記憶されている、
図4を用いて説明した登録済み文書のフォームデータを取得する。
【0045】
S506において文字情報抽出部205は、読取画像の印刷文字列領域と配置が類似する印刷文字列領域がフォームデータに登録されているか判定する。配置が類似する印刷文字列領域がフォームデータに登録されている場合にはS507へ進み、登録されてない場合にはS510へ進む。
【0046】
S507において文字情報抽出部205は、読取画像の手書き文字列領域と配置が類似する手書き文字列領域がフォームデータに登録されているかを判定する。配置が類似している手書き文字列領域がフォームデータに登録されている場合(S507がYES)にはS508へ進む。
【0047】
S506およびS507における判定では、文字列領域の配置の一致度に基づき、配置が類似する文字列領域が特定される。例えば、S506では、読取画像における印刷文字列領域の座標情報に基づく印刷文字列領域の画素と、フォームデータに登録されているそれぞれの印刷文字列領域の座標情報に基づく印刷文字列領域の画素とを比較する。そして比較の結果、一致度が閾値を超えている、フォームデータに登録されている印刷文字列領域がある場合、読取画像の印刷文字列領域の配置は、フォームデータに登録されている、その印刷文字列領域の配置と類似すると特定される。
【0048】
配置が類似する文字列領域を特定する方法として、画像データそのものを比較してもよいが、文字列領域の座標情報を使うことによって、類似判定における処理負荷を抑制することができる。またフォームデータにおける文字列領域の位置情報として座標情報を登録することで、フォームデータとして登録される情報のデータサイズを抑えることができる。
【0049】
S508において文字情報抽出部205は、S506およびS507で類似すると特定された、フォームデータに登録されている文字列領域の位置情報と対応付けて記憶されている夫々のメタデータ項目の位置を示す座標情報を取得する。そして、取得された座標に対応する、読取画像の文字列領域から認識された文字列を、その項目の文字列として抽出する。抽出された文字列は項目と対応付けられ、ユーザが確認するための画面を表示するために表示制御部206に出力される。
【0050】
図8は、ユーザが、文字情報抽出部205が抽出したメタデータ項目ごとの文字列を確認するため確認画面800の一例を示す図である。確認画面は、操作部140の液晶パネルに表示される画面である。
図8の確認画面800は、
図6の読取画像600に対してS502~508の処理が行われた結果表示される画像である。プレビュー表示領域801には読取画像600が表示される。メタデータ項目表示領域803~807には文字情報抽出部205によって抽出された項目ごとの文字列が表示される。
【0051】
本フローチャートの開始時おいて、フォームデータに登録されている内容は
図4に示す内容であるものとする。この場合、読取画像600の印刷文字BS画像604が示す印刷文字列領域の配置と、
図4の登録済みの印刷文字BS画像402が示す印刷文字列領域の配置と、は類似すると判定される。また、読取画像600の手書き文字BS画像603が示す手書き文字列領域の配置と、
図4の登録済みの手書き文字BS画像401が示す手書き文字列領域の配置と、は類似すると判定される。
【0052】
このため、
図4の登録済みの印刷文字BS画像402および手書き文字BS画像401における破線で囲まれたメタデータ項目の位置を示す座標が取得される。そして、読取画像からOCR処理した結果得られた文字列のうち、メタデータ項目の位置の文字列領域で認識された文字列が、メタデータ項目の文字列として決定される。その結果、
図8の確認画面800が表示される。
【0053】
このため、確認画面800におけるメタデータ項目表示領域803には、読取画像600の位置情報403が示す文字列領域の文字列が、文書名の文字列「入会申込書」として抽出されて表示されている。同様に、位置情報404からは申込日の文字列として「2020年1月31日」、位置情報405からは氏名の文字列として「下丸子太郎」、が抽出されて確認画面に表示されている。また、位置情報406からは電話番号の文字列として「03-3758-××××」が抽出されて確認画面に表示されている。このように、抽出されたメタデータ項目の文字列を確認画面に表示させることができる。
【0054】
印刷文字列領域と配置が類似する文字列領域は登録されているが、手書き文字列領域と配置が類似する文字列領域は登録されてない場合(S507がNO)、S509へ進む。S509において文字情報抽出部205は、類似すると特定された印刷文字列領域と対応付けて記憶されている夫々のメタデータ項目の位置を示す座標情報を取得する。そして、取得された座標が示す、読取画像の文字列領域から認識された文字列をその項目の文字列として抽出する。抽出された文字列は項目と対応付けられてユーザが確認するための画面を表示するために表示制御部206に出力される。
【0055】
図9は、S509において文字情報抽出部205が抽出した項目ごとの文字列を、ユーザが確認するため確認画面の一例を示す図である。
図9の確認画面900は、
図7の読取画像700に対してS502~507、S509の処理が行われた結果表示される画像である。プレビュー表示領域901には読取画像700が、メタデータ項目表示領域903~907には、S509で抽出されたメタデータ項目の文字列が表示されている。
【0056】
本フローチャートの開始時おいて、フォームデータに登録されている内容は
図4に示す内容であるものとする。この場合、文字情報抽出対象の読取画像が読取画像700であるとき、読取画像700の印刷文字BS画像704が示す印刷文字列領域の配置と、
図4の登録済みの印刷文字BS画像402が示す印刷文字列領域の配置は類似すると判定される。しかしながら、読取画像700の手書き文字BS画像703が示す手書き文字列領域の配置と、登録済みの手書き文字BS画像401が示す手書き文字列領域の配置は類似しない。このため読取画像700の場合、S507では、読取画像の手書き文字列領域と配置が類似する手書き文字列領域はフォームデータには登録されていないと判定される。この場合、読取画像600の場合とは異なり、一部のメタデータ項目の文字列は抽出されないことになる。
【0057】
確認画面900におけるメタデータ項目表示領域903には、読取画像700における位置情報403が示す印刷文字列領域の文字列が、文書名の文字列「入会申込書」として抽出されて表示されている。同様に、位置情報403が示す印刷文字列領域からは申込日の文字列として「2020年1月31日」が抽出され、表示されている。しかしながら、登録済みの印刷文字BS画像402には、氏名、および電話番号の項目の位置情報405、406に文字列領域がない。このため、文字情報抽出部205は、読取画像700からは、一部のメタデータ項目の文字列だけを抽出している。
【0058】
S510において表示制御部206は、操作部140の液晶パネルに前述した確認画面を表示し、ユーザからの修正操作または登録操作を受け付ける。
【0059】
図8および
図9の確認画面800、900の、ファイル名表示領域802、902には、予め設定されている命名規則に基づいて、メタデータ項目を用いたファイル名が表示される。例えば、「文書名_申込日_氏名.pdf」または「文書名_申込日_法人名.pdf」の命名規則が設定されているものとする。
図9の確認画面900では、ファイル名の命名に必要なメタデータ項目である「氏名」または「法人名」の文字列がいずれも抽出されておらず、空欄である。このため、ファイル名には、メタデータが取得できていないことを示す「*」が表示されている。
【0060】
確認画面800、900には、項目修正ボタン508と登録完了ボタン509が表示されている。項目修正ボタン508がユーザによって押下されると、各メタデータ項目表示領域に表示されている文字列を修正するための修正画面が表示される。修正画面では、ユーザから、メタデータ項目の修正操作を受け付けることができる。また、
図9の確認画面900では、ファイル名に必要なメタデータの一部が空欄のため、登録完了ボタン509がグレーアウトされて、ユーザが押下できないように設定されている。
【0061】
図10は、メタデータ項目の修正操作が受け付けられた後、操作部140の液晶パネルに表示される修正画面を示す図である。
図10の修正画面1000は、
図9の確認画面900における「法人名」のメタデータ項目表示領域906が選択されて、項目修正ボタン508が押下された場合の修正画面である。
【0062】
修正画面1000では、読取画像に含まれるユーザが選択可能な文字列領域が強調して表示される。本実施形態では、メタデータ項目の文字列としてユーザが選択可能な文字列領域が破線の枠として、読取画像700上に重畳して表示される。ユーザが、「法人名」を示す枠1010を選択することで、メタデータ項目表示領域1006には枠1010が示す文字列領域から文字認識された文字列「〇〇〇株式会社」が表示される。このように、文字情報抽出部205が抽出できなかった項目の文字列は、ユーザの指示を受け付けることによってその文字列を取得することができる。
【0063】
法人名のメタデータ項目の文字列が受け付けられると、命名規則によるファイル名が決定される。このため、ユーザは登録完了ボタン509を押下できるようになる。同様にメタデータ項目表示領域1007についても、枠1011がユーザによって選択されたことが受け付けられたため、電話番号の文字列「03-3756-××××」が表示されている。
【0064】
S511において、ユーザによる登録完了ボタン509の押下を表示制御部206が受け付けると、修正指示の内容を示す情報が、サーバ191の文書管理機能のI/Fを介してサーバ191の記憶装置196に送信される。また、読取画像の印刷文字列領域を示す印刷文字BSが登録されていない場合は、新規に登録される情報として、読取画像の、画像データと印刷文字BSおよび手書き文字BSの情報とが送信される。また、読取画像の手書き文字列領域を示す手書き文字BSが登録されていない場合は、新規に登録される情報として、読取画像の、画像データと手書き文字BSの情報とが送信される。
【0065】
サーバ191では、記憶装置196内に記憶されているフォームデータに修正内容または新規の情報を登録する。なお、フォームデータが画像形成装置100に記憶されている場合は、画像形成装置100がフォームデータに修正内容または新規の情報の登録を行う。
【0066】
図11は、更新されたフォームデータを示す図である。
図11は、本フローチャートの開始時において
図4に示す状態であったフォームデータが、本フローチャートの処理を読取画像700に対して行った結果、更新されたフォームデータの例を示す。
【0067】
図11と
図4とで比較すると分かるように、読取画像700の画像データが、新規の情報として登録されている。読取画像700は、登録済みの読取画像400と同一帳票フォームの文書ではあるが記載領域が異なるため、新規の情報として登録されている。さらに、手書き文字BS画像1101が示すように、手書き文字BS画像401とは異なる、読取画像700の手書き文字列領域の座標情報が新たに登録される。
【0068】
また、
図11と
図4とで比較すると分かるように、読取画像700が示す新規の情報が新たに登録されているものの、読取画像700の印刷文字列領域の位置情報については、
図11には追加されていない。読取画像700は、読取画像400と同一の帳票フォームに基づく画像である。このような場合は、新規に登録する読取画像の印刷文字列領域の位置情報と同じ位置情報を示す印刷文字BS画像402が登録済みである。このため、読取画像700の印刷文字列領域の位置情報の登録は行わなくてよい。
【0069】
このように本実施形態では、印刷文字BS画像が示す印刷文字列領域の情報のような複数の画像で共通する情報は、共有の情報として登録される。このため、フォームデータのデータサイズを抑制することができる。また、検索範囲となるデータも削減されることから検索時の処理負荷を抑えることができる。
【0070】
なお、S506でNOと判定された場合、その読取画像の手書き文字列領域および印刷文字列領域と配置が類似する、手書き文字列領域および印刷文字列領域はフォームデータには登録されていない。このため、本フローチャートの終了後に、読取画像の手書き文字列領域の位置情報と印刷文字列領域の位置情報とが新規の文書のフォームデータとして登録される。
【0071】
また、
図4のフォームデータでは登録がされていなかった、「法人名」の位置情報1107と「電話番号」の位置情報1108とが、
図11ではメタデータ項目の位置情報として登録されている。メタデータ項目の位置情報は、登録されている読取画像ごとにそれぞれ登録されてもよいが、本実施形態では、印刷文字列領域の情報を共有している複数の読取画像には、共通のメタデータ項目の位置情報が対応づけられて登録されている。つまり、
図11の、読取画像400の手書き文字BS画像401と読取画像700の手書き文字BS画像1101には、メタデータ項目の位置情報403~406および位置情報1107、1108が対応付けられている。このように、複数の読取画像に共通のメタデータ項目の位置情報を対応づけることで、登録するフォームデータのデータサイズを抑制することができる。
【0072】
図11に示すように、読取画像700が新規の情報として登録されることによって、「電話番号」のメタデータ項目の位置情報は、位置情報406と位置情報1108との2つが登録されることになる。このように、同一項目の文字列領域が複数登録された場合は、処理対象の読取画像から文字列領域が検出された方から、その項目の文字列が抽出される。または、「電話番号」の位置情報として、位置情報406と位置情報1108どちらの位置情報を用いるかは、「個人会員」および「法人会員」に位置するチェックボックスにチェックが付いているかに応じて切り替えてもよい。または、処理対象の読取画像の手書き文字列領域の位置情報が、登録済みの手書き文字BS画像401と手書き文字BS画像1101とのどちらに類似するかに応じて切り替えてもよい。
【0073】
読取画像データを新規に登録する場合、読取画像データを組み込んだ通常のPDFではなく、OCR処理結果の文字情報を用いて、全文検索可能なPDFなどの文書フォーマットに変換した結果得られたデータを読取画像データとして登録してもよい。または、読取画像データをJPEGやPNGなどの画像フォーマットのままで登録してもよい。
【0074】
以上説明したように本実施形態によれば、読取画像の印刷文字列領域の位置情報と手書き文字列領域の位置情報と、をそれぞれ用いてメタデータ項目の文字列を抽出する。このため、同一の帳票フォームの異なる記載領域に記載されていた文書の読取画像から所望の文字列を抽出することができる。
【0075】
なお、上記の説明では、画像形成装置100上で
図5のフローチャートの処理を行うものとして説明した。他にも、処理負荷を分散するために、ネットワーク190を介してS501で生成した読取画像データをサーバ191に送信し、サーバ191でユーザからの操作受付以外の処理が行われてもよい。
【0076】
また、上記の説明では、S503およびS504ではBS処理のあとに続けてOCR処理を行うもとして説明したが、OCR処理は、メタデータ項目の文字列領域が抽出された後に行われてもよい。この場合、OCR処理は、抽出されたメタデータ項目の文字列領域に対してのみ行ってもよい。そして、フォームデータから類似する文字列領域を特定できない場合、または、文字列が抽出できないメタデータ項目がある場合は、検出された文字列領域全体に対してそれぞれOCR処理を行う形態でもよい。
【0077】
<実施形態2>
本実施形態では、実施形態1とは異なる方法による文字情報抽出処理について説明する。本実施形態については、実施形態1からの差分を中心に説明する。特に明記しない部分については実施形態1と同じ構成および処理である。
【0078】
図12は、本実施形態の文字情報抽出処理の詳細を説明するためのフローチャートである。S1201はS501と同様の処理であるため説明は省略する。
【0079】
S1202において文字列領域検出部202は、S1201で取得した読取画像データに対してBS処理を行うことで、読取画像内の文字列領域の位置を検出する。
【0080】
S1203において文字情報抽出部205は、サーバ191の文書管理機能のI/Fを介して、サーバ191の記憶装置196に記憶されている、登録済文書のフォームデータを取得する。
【0081】
S1204において文字情報抽出部205は、S1202のBS処理の結果得られた読取画像の文字列領域の位置情報と、フォームデータに登録されている印刷文字列領域の位置情報とを比較する。そして、読取画像の文字列領域と配置が類似する、印刷文字列領域がフォームデータに登録されているかを判定する。
【0082】
本ステップにおける類似の判定の方法は、実施形態1で説明した方法と同様の方法が用いられてよい。なお、判定の精度を高めるために、読取画像の文字列領域の座標情報に基づく画素のうち、手書き文字の画素を除いてから、本ステップの判定処理行われてもよい。
【0083】
読取画像の文字列領域と類似する印刷文字列領域が登録されていない場合(S1204がNO)、S1207~S1209の処理が行われる。S1207~S1209の処理は、S502~S504の処理と同様であるため説明は省略する。なお、S1209とS1210との間に、S506~S509と同様の処理が行われてもよい。
【0084】
このように本実施形態では、フォームデータに、読取画像に含まれる文字列領域と配置が類似する印刷文字列領域が含まれていない場合のみ、S502~S504の処理と同様の処理が行われる。手書き文字画像を読取画像から分離する処理、それぞれの画像に対してOCR処理をするケースを限定することで処理時間を抑制することができる。
【0085】
一方、読取画像の文字列領域と類似する印刷文字列領域がフォームデータに登録されている場合(S1204がYES)、S1205に進む。S1205において文字認識部203は、類似すると特定された、フォームデータに登録されている文字列領域に対応付けられているメタデータ項目の位置情報を取得する。そして、文字認識部203は、メタデータ項目の位置に対応する、読取画像の文字列領域に絞ってOCR処理を行う。読取画像内の文字列領域が手書き文字列領域か印刷文字列領域かを判断できる場合には、それぞれの文字列領域ごとにOCR処理の方法を切り替えてもよい。
【0086】
S1206において文字情報抽出部205は、それぞれのメタデータ項目の文字列領域からOCR処理された結果得られた文字列をそれぞれの項目の文字列として抽出する。抽出された文字列は項目と対応付けられてユーザが確認するための画面を表示するために表示制御部206に出力される。なお、文字列が抽出できないメタデータ項目があった場合には、S1207~S1209の処理を行って、手書き文字列領域の文字列を登録できる状態にしてもよい
S1206またはS1209の処理が完了した場合、S1210~S1211の処理が行われるS1210~S1211の処理は、S510~S511の処理と同様であるため説明は省略する。
【0087】
以上説明したように本実施形態によれば、OCR処理の対象を、メタデータ項目の文字列領域に限定することで処理時間を抑制することができる。
【0088】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0089】
100 画像形成装置
111 CPU
201 画像データ取得部
202 文字列領域検出部
205 文字情報抽出部