JP2023086023A - 画像処理装置とその方法およびプログラム - Google Patents
画像処理装置とその方法およびプログラム Download PDFInfo
- Publication number
- JP2023086023A JP2023086023A JP2021200396A JP2021200396A JP2023086023A JP 2023086023 A JP2023086023 A JP 2023086023A JP 2021200396 A JP2021200396 A JP 2021200396A JP 2021200396 A JP2021200396 A JP 2021200396A JP 2023086023 A JP2023086023 A JP 2023086023A
- Authority
- JP
- Japan
- Prior art keywords
- character
- character area
- area
- image processing
- handwritten
- 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
Landscapes
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
Description
本発明は、入力画像から特定の情報を抽出する技術に関し、例えば画像処理装置とその方法およびプログラムに関する。
従来、スキャナなどにより読み込んだ帳票等の入力画像から特定の意味を持つ値を抽出する方法としてKey-Value抽出法がある。Key-Value抽出法では、項目名(key)および当該項目の項目値(Value)それぞれに相当する文字列を入力画像から検索し、それらの関係性を定義しておくことによって、項目名に該当する項目値を抽出する。例えば、"金額"という項目名の文字列の隣にある、数字から構成される文字列を項目値として抽出する。この方法により、抽出された文字列が金額を示していることが特定できる。
Key-Value抽出法により、領収証のようにフォーマットが定型化されていない帳票からも項目値情報を抽出することができる。しかしながら、領収証のような帳票はフォーマットが定型化されていないだけでなく、サイズや縦横比も様々であり、物理的にも取り扱いが煩雑である。そのため従来、台紙と呼ばれるA4等の定型サイズの用紙に領収証を貼付して取り扱うことが多い。台紙には台紙であることを示す文字列や、帳票を貼付する場所を示す文字列が書かれていることが多いが、台紙に帳票が貼付されている場合、台紙に書かれている文字の方向と帳票の貼付方向が異なることがある。このような場合、帳票の文字の方向が項目名および項目値それぞれの文字列の向きであるため、その向きがわからなければ文字認識が行えず、このKey-Value抽出法では、抽出すべき情報を選択することが困難になる。
そこで、一つの文書画像データを複数の領域に分割し、それぞれの分割領域の向きを判別する技術として、特許文献1の方法がある。特許文献1によれば、文書画像を、文字列を含む複数の矩形部分領域に分割し、それぞれの部分領域に含まれる天地判別可能な文字数から、部分領域の天の向きの信頼度を算出する。そして、信頼度が低い矩形部分領域の画像を表示し、天の向きを指定するユーザ入力を受け付ける。これにより、分割した各矩形領域の向きを判別する。
しかし、特許文献1の方法では、領収証のように文字数の少ない文書であったり、また、数字や記号のような天地判別が難しい文字が多い文書であったりする場合には、自動的に部分領域の向きを判別するのが難しく、ユーザの入力が必要になる頻度が高くなる。また、部分領域に分割する際に文字列の意味を解していないため、分割した部分領域にどの項目が含まれているかがわからず、Key-Value抽出法による項目名と項目値の抽出が困難である。
本発明は以上を鑑みて成されたもので、その目的は、複数の帳票を含む画像から、それぞれの帳票に含まれた情報を高精度で抽出することである。
上記目的を達成するために本発明は以下の構成を有する。すなわち、本発明の一側面によれば、画像データから、文字列を含む文字領域を特定する第1の特定手段と、
前記文字領域のうちから、予め定めた文字列を含む文字領域と、含まれた文字列に応じた種類および向きを特定する第2の特定手段と、
第1の種類の文字領域である第1の文字領域に対して所定の位置関係にある第2の文字領域の向きを前記第1の文字領域と同じ向きであるとして、前記第2の文字領域の文字認識を行う文字認識手段と、
前記第2の文字領域の文字認識結果を、前記第1の文字領域の文字列と関連付けた項目値として抽出し、保存する抽出手段と、を有する
ことを特徴とする画像処理装置が提供される。
前記文字領域のうちから、予め定めた文字列を含む文字領域と、含まれた文字列に応じた種類および向きを特定する第2の特定手段と、
第1の種類の文字領域である第1の文字領域に対して所定の位置関係にある第2の文字領域の向きを前記第1の文字領域と同じ向きであるとして、前記第2の文字領域の文字認識を行う文字認識手段と、
前記第2の文字領域の文字認識結果を、前記第1の文字領域の文字列と関連付けた項目値として抽出し、保存する抽出手段と、を有する
ことを特徴とする画像処理装置が提供される。
本発明によれば、複数の帳票領域を含む画像から、それぞれの帳票に含まれた情報を高精度で抽出することができる。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
(第一の実施形態)
●システム構成
図1は、第1の実施形態に係る画像情報抽出システムを示す図である。画像情報抽出システムは、複写機100と、情報処理装置110とを有している。複写機100は、スキャナ101と、プリンタ102と、複写機側通信部103とを有している。スキャナ101は、紙文書のスキャンを行い、入力画像を生成する。スキャナ101には複数枚のシートを連続的に読み取るための自動文書送り装置を備えていてもよい。プリンタ102は、画像を形成する。複写機側通信部103は、ネットワークを介して外部装置と通信を行う。複写機100は、スキャナ101による画像読み取り機能に着目して画像読取装置と呼ばれることがあり、また、プリンタ102による画像形成機能に着目して画像形成装置と呼ばれることがある。複写機100は、CPUによりメモリに格納したプログラムを実行してスキャナ101やプリンタ102を含む複写機100を制御するための制御部を有する。複写機100はその制御の下で機能する。情報処理装置110は画像データを処理対象とすることから画像処理装置と呼ぶこともできる。
●システム構成
図1は、第1の実施形態に係る画像情報抽出システムを示す図である。画像情報抽出システムは、複写機100と、情報処理装置110とを有している。複写機100は、スキャナ101と、プリンタ102と、複写機側通信部103とを有している。スキャナ101は、紙文書のスキャンを行い、入力画像を生成する。スキャナ101には複数枚のシートを連続的に読み取るための自動文書送り装置を備えていてもよい。プリンタ102は、画像を形成する。複写機側通信部103は、ネットワークを介して外部装置と通信を行う。複写機100は、スキャナ101による画像読み取り機能に着目して画像読取装置と呼ばれることがあり、また、プリンタ102による画像形成機能に着目して画像形成装置と呼ばれることがある。複写機100は、CPUによりメモリに格納したプログラムを実行してスキャナ101やプリンタ102を含む複写機100を制御するための制御部を有する。複写機100はその制御の下で機能する。情報処理装置110は画像データを処理対象とすることから画像処理装置と呼ぶこともできる。
情報処理装置110は、CPU111と、ROM112と、RAM113と、HDD114と、表示部115と、入力部116と、情報処理装置側の通信部117とを有している。CPU111は、ROM112に記憶された制御プログラムを読み出して各種処理を実行する。RAM113は、CPU111の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD114は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置110の機能や処理は、CPU111がROM112又はHDD114に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
情報処理装置側の通信部117は、ネットワークを介して複写機100などの外部装置との通信処理を行う。表示部115は、各種情報を表示する。入力部116は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。なお、表示部115と入力部116は、タッチパネルのように一体に設けられていてもよい。また、表示部115は、プロジェクタによる投影を行うものであってもよく、入力部116は、投影された画像に対する指先の位置を、カメラで認識するものであってもよい。
本実施形態においては、複写機100のスキャナ101が領収証等の紙文書をスキャンし、入力画像を生成する。そして、入力画像は、複写機側通信部103により情報処理装置110に送信される。情報処理装置110においては、情報処理装置側の通信部117が入力画像を受信し、これをHDD114等の記憶部に記憶する。
●情報抽出処理
図2は、本実施形態に係る情報抽出処理を示すフローチャートである。S201の画像入力処理において、CPU111は、複写機100のスキャナ101により紙文書の原稿を読み取って生成された画像データ(入力画像と呼ぶ)を受信し、受信した入力画像をHDD114に格納する。ここでの入力画像は、紙文書などの原稿を、カメラなどのモバイル端末で撮影した画像データや、予め電子ファイル化された画像データであってもよい。
図2は、本実施形態に係る情報抽出処理を示すフローチャートである。S201の画像入力処理において、CPU111は、複写機100のスキャナ101により紙文書の原稿を読み取って生成された画像データ(入力画像と呼ぶ)を受信し、受信した入力画像をHDD114に格納する。ここでの入力画像は、紙文書などの原稿を、カメラなどのモバイル端末で撮影した画像データや、予め電子ファイル化された画像データであってもよい。
図3に入力画像の一例を示す。入力画像300は領収証を貼り付けるための台紙301に、領収証302と領収証303の2枚の領収証が貼り付けられた原稿をスキャンした入力画像である。台紙301の領域には「領収証貼付台紙」という、台紙であることを表す帳票見出しや申請日が記載されている。これらの記載事項は予めシート上に印刷されたものであり、所定のフォントの文字列で表示されている。領収証302、領収証303は、予め印刷された領収証フォーマットに手書きで情報を記入する、典型的な手書き領収証の例である。領収証302、領収証303には領収証の帳票見出し、宛先敬称、金額項目名、発行元の会社名等が活字で記載され、発行日、領収金額、宛先、但し書が手書きで記載されている。
また、台紙301上の文字の向きに対して領収証302、領収証303は異なる向きに貼り付けられている場合もあり、さらに、図3に示したように、領収証同士の向きが異なるように貼り付けられている場合もある。本実施形態では、これらの向きの異なる帳票の中から、領収証302、303に記載されている項目の向きを判別し、項目情報を抽出するシステムの処理について説明する。また、本実施形態では、台紙に貼り付けられた領収証の入力画像を用いるが、スキャナ101の原稿台上に直接1または複数枚の領収証が置かれたもののように、それ以外の入力画像でも構わない。なお活字とは手書き文字に対して手書きではない文字を示している。ここでいう活字は活版印刷に限らず、選択された書体で、たとえば印刷装置や画像形成装置により形成された文字を示す。活字文字のことを印刷文字と呼ぶこともある。書体はどの様なものであってもよく、まとめて活字体と呼ぶことがある。
次に、S202の項目情報抽出ルール設定処理において、CPU111は、あらかじめHDD114に保存された項目情報抽出ルールを読み出し、後続の処理で使用できるようにする。項目情報抽出ルールは、領収書の経費精算用、請求書の請求システム転記用等、項目情報抽出の対象となる帳票と、抽出した項目情報の送信先によって分類して保存されている。CPU111は、入力部116で受け付けたユーザによる設定、あるいは、複写機100で行われ、通信部117から受信した設定に基づいて項目情報抽出ルールを選択し、読み出す。項目情報抽出ルールのことを抽出規則あるいは抽出規則情報とも呼ぶ。
図4に領収証の経費精算で使用する項目情報抽出ルールの例を示す。図4において、項目情報抽出ルールは、帳票見出しテーブル400と項目情報テーブル420の2つのテーブルから構成される。帳票見出しテーブル400は、帳票見出しと判定する文字列を正規表現で表現した帳票見出し列411と、帳票見出し列411にマッチした帳票が情報抽出対象となるかどうかを表した情報抽出対象列412とを持つ。項目情報テーブル420は、項目情報抽出ルールの定義内容を表現するテーブルである。ラベル列421には、抽出内容の名称を定義している。項目名列422には、項目名の文字列辞書を定義している。位置関係列423には、項目名からみた項目値を探索する位置関係を定義している。項目値列424には、項目値ごとの正規表現式を定義している。すなわち項目情報テーブル420は、項目名(key)と項目値(value)との対応付けを示している。本実施形態の項目情報テーブル420は、情報抽出対象の帳票に対しては帳票の種類に拠らず適用されるが、帳票の種類に応じて異なる内容としてもよい。なお帳票の種類は、帳票の見出しに応じて決めることができる。
ここで入力された設定と項目情報抽出ルールとの関連付けは予め定義しておいてよい。たとえば領収証に対して予め領収証の見出し401と領収証貼付台紙405とを関連付けておくことで、設定が領収証であれば、領収証の見出し401と領収証貼付台紙405とが項目情報抽出ルールとして選択され、読み出されてよい。また項目情報テーブル420は、選択された項目情報抽出ルールに情報抽出対象が含まれている場合に選択され、読み出されてよい。
また項目情報テーブル420は、情報処理装置110のユーザーインターフェイスから設定してもよい。その場合には、ラベル、項目名、位置関係、項目値それぞれについてユーザが入力するものであってよい。ただしユーザが正規表現の入力をテキストで行うのは困難を伴うことがあるので、例えばメニューを用意しておき、ユーザはそこから選択するようにユーザーインターフェイスを構成してもよい。
次に、S203の手書き・活字分離処理において、CPU111は、入力画像データ300上の手書きされた画素を判定し、手書き画素のみの手書き画像と、印刷された文字及び背景の活字画像とに分離する。本実施形態では、手書き・活字分離処理には、Deep Learningを使用したセマンティックセグメンテーションを適用する。手書き・活字分離処理の学習には、手書き画像と印刷画像を重畳した手書き活字混在画像を複数生成し、これを学習データとして用いる。また、生成した手書き活字混在画像に対応する手書き画像を2値化した画像データの画素値が手書き画素を示すラベル値となるように、この手書き2値化画像データを教師データとする。これらの学習データと教師データを用いて、セマンティックセグメンテーションを行うように構成されたDeep Neural Network(DNN)の学習を行うことにより、手書き・活字分離処理は画像分離処理を実行できるようになる。手書き・活字分離処理において実行する画像分離処理においては、学習したDNNを用いて画素毎に手書き画素か活字画素かのラベル付けを行う。そして、ラベル値に従って画素を分離し、手書き画素のみを含む手書き文字画像と、印刷された活字文字及び罫線を含む活字文字画像の2つの画像を生成する。図3に示した入力画像データ300について手書き・活字分離処理S203を行うと、図5(a)に示した活字画像データ500と、図5(b)に示した手書き画像データ510が得られる。活字画像データ500と手書き画像データ510それぞれにおける文字等のオブジェクトの位置は分離後も対応付けられている。このため一方の画像データにおける特定の位置は、他方の画像データでも対応する位置にある。
次に、S204の文字領域分割処理において、CPU111は、手書き・活字分離処理S203で出力された手書き画像データ510と活字画像データ500それぞれに対して、文字が書かれていると推定される領域を検出し、それを1行ごとに分割する。具体的には、下記の処理を実行する。
(1)画像に対して直線検出を行い、罫線を除去する。
(2)罫線除去後の画像に対して画素が連結している連結画素を検出し、さらに連結画素を太らせることによって、連結しやすくする。
(3) 太らせ後連結している画素の外接矩形を1行の文字領域とする。
上記(3)で検出した文字領域に画像を分割することにより、1行ごとの文字領域分割処理を行うことができる。このように画像データから特定される文字領域とは、連続して描かれた文字を含む領域であるといえる。
(1)画像に対して直線検出を行い、罫線を除去する。
(2)罫線除去後の画像に対して画素が連結している連結画素を検出し、さらに連結画素を太らせることによって、連結しやすくする。
(3) 太らせ後連結している画素の外接矩形を1行の文字領域とする。
上記(3)で検出した文字領域に画像を分割することにより、1行ごとの文字領域分割処理を行うことができる。このように画像データから特定される文字領域とは、連続して描かれた文字を含む領域であるといえる。
●文字領域種類・属性判別処理(S205,図6A)
次に、S205の文字領域種類・属性判別処理において、CPU111は、S204で活字画像データ500を分割した活字文字領域それぞれについて、文字領域種類とその属性を判別する。本実施形態では、文字領域種類は、帳票見出し、項目名、その他である。項目名とは項目情報テーブル420に項目名として登録されている文字列である。文字領域の属性は、文字領域に含まれる文字列の向き、文字列の認識結果である。図6AにS205の文字領域種類・属性判別処理のフローチャートを示し、この図を用いてS205の文字領域種類・属性判別処理の説明を行う。
次に、S205の文字領域種類・属性判別処理において、CPU111は、S204で活字画像データ500を分割した活字文字領域それぞれについて、文字領域種類とその属性を判別する。本実施形態では、文字領域種類は、帳票見出し、項目名、その他である。項目名とは項目情報テーブル420に項目名として登録されている文字列である。文字領域の属性は、文字領域に含まれる文字列の向き、文字列の認識結果である。図6AにS205の文字領域種類・属性判別処理のフローチャートを示し、この図を用いてS205の文字領域種類・属性判別処理の説明を行う。
図6Aにおいて、文字領域種類・属性判別処理を開始すると、CPU111は、ステップS601からS607の処理を、すべての活字文字領域のそれぞれについて処理対象として順次着目して実行する。
ステップS602では、処理対象の活字文字領域について、上下左右の4方向をそれぞれ天とした画像から文字認識を行う。ここで、文字認識は、文字領域分割処理S204で分割した1行ごとの文字領域を、さらに連結画素を用いて文字毎に切り出し、予め用意した字形辞書と比較を行い、最も字形が近い文字を認識結果とする。
ステップS603では、CPU111は、文字認識を行った結果の文字列が帳票見出しテーブル400の帳票見出し列411のいずれかにマッチし、かつ情報抽出対象かどうかを判定する。すなわち、対象領域に帳票見出しが含まれており且つそれが情報抽出対象か判定する。続いて、ステップS604では、CPU111は、帳票見出し列411のいずれかにマッチし、かつ情報抽出対象であれば、その活字文字領域の種類を見出し文字領域とし、マッチしたときの文字認識の向きを活字文字領域の向きとする。すなわち、対象領域の種類とその向きを特定する。例えば、図5の活字文字領域501においては、上を天とした文字認識結果「領収証貼付台紙」が帳票見出しパターン405にマッチし、下・左・右を天とした文字認識結果は帳票見出し列411のいずれのパターンとも一致しない。しかし、帳票見出しパターン405は情報抽出対象412ではないため、活字文字領域501についてはステップS604の処理を行わない。すなわち、文字認識された文字列が帳票見出し列411のいずれにもマッチしないか、又はマッチしたとしても情報抽出対象でなければ、対象領域の種類とその向きの特定を行う必要はない。
一方、活字文字領域502に対して上下左右の4方向から文字認識を行うと、左を天とした文字認識結果「領収証」が帳票見出しパターン401にマッチし、上・下・右を天とした文字認識結果は帳票見出し列411のいずれのパターンとも一致しない。また、帳票見出しパターン401の情報抽出対象412は「〇」である。そこで、CPU111は、活字文字領域502の文字領域種類・属性を、次のように決定する。すなわち、活字文字領域502に固有の文字領域ID(例として502)を割り当て(文字領域IDは任意の値で良い)、文字領域種類は「帳票見出し」と判定し、属性として文字領域向きは左、文字認識結果は「領収証」であると判定する。同様に、活字文字領域503に対してステップS603、S604の処理を行うことによって、CPU111は、活字文字領域503の文字領域種類・属性を、次のように決定して保存する。すなわち、文字領域種類は帳票見出しと判定し、文字領域IDとして固有の文字領域ID(例として503)を割り当て、属性として文字領域向きは右、文字認識結果は「領収証」であると判定する。CPU111は、判定した活字文字領域の種類及び属性を、図5(c)に示す文字領域種類・属性テーブル540へ登録する。ここで、文字領域種類・属性テーブル540の文字領域種類として帳票見出しと決定した活字文字領域のことを、以降、帳票見出し領域と呼ぶ。
ステップS605では、CPU111は、文字認識を行った結果の文字列が、項目情報テーブル420の項目名422とマッチするかどうかを判定する。すなわち対象領域に項目名が含まれているか判定する。続いて、ステップS606では、CPU111は、項目名422のいずれかにマッチしたら、対象の活字文字領域を項目名領域とし、マッチした時の文字認識の向きを活字文字領域の向きとする。例えば、文字領域504については、左を天とした文字認識結果「金額」は帳票見出しテーブル400のいずれにもマッチしない。この場合には、ステップS605で「金額」は項目ラベル421の金額の行の項目名として含まれた文字列「金額」にマッチする。そのため、ステップS606で文字領域504の文字領域種類を「項目名」とし、文字領域種類・属性テーブル540の文字領域ID504の属性を図5(c)のように決定し、文字領域種類・属性テーブル540へ登録する。決定された属性は、文字領域の向きが左、文字認識結果が「金額」である。ここで、文字領域種類・属性テーブル540の文字領域種類として項目名と決定した活字文字領域のことを、以降、項目名領域と呼ぶ。
また、上下左右4方向から文字認識した結果が帳票見出し列411、項目名422のいずれともマッチしない場合は、その文字領域の属性は決定せず、文字領域種類・属性テーブル540への登録も行わない。
ステップS607では、処理対象となる未処理の活字文字領域が残っているか判定し、残っていればそれを処理対象としてステップS602から繰り返す。
このように画像に含まれた全ての各活字文字領域について属性判定と向き判別を行う。こうすることで、CPU111は、S205文字領域種類・属性判別処理において文字領域種類・属性テーブル540を生成することができる。
なお、ステップS205においては、上下左右4方向から文字認識を行った結果が、帳票見出しにマッチするかどうかによって、文字領域の向きの判別を行ったが、文字領域の向きの判別を行う方法はこれに限るものではない。例えば、帳票見出しの文字特徴量をあらかじめ記憶しておき、これを上下左右に回転しながら文字領域とマッチするかどうかで決定する方法でも良い。また、1文字ごとに文字認識を行った上でその尤度を算出し、尤度の高い文字が多い向きを文字領域の向きとする、という方法ととっても良い。
●情報抽出文字領域向き決定処理(S206,図6B)
次に、S206の情報抽出文字領域向き決定処理において、本実施形態では、CPU111は、項目値情報を抽出する対象である手書き文字領域の向きの決定処理を行う。活字のみで構成された領収証の場合は、項目値情報を抽出する対象が活字文字領域であるため、活字文字領域を対象にステップS206の処理を行っても良い。図6Bに情報抽出文字領域向き決定処理のフローチャートを示し、この図を用いて情報抽出文字領域向き決定処理の説明を行う。
次に、S206の情報抽出文字領域向き決定処理において、本実施形態では、CPU111は、項目値情報を抽出する対象である手書き文字領域の向きの決定処理を行う。活字のみで構成された領収証の場合は、項目値情報を抽出する対象が活字文字領域であるため、活字文字領域を対象にステップS206の処理を行っても良い。図6Bに情報抽出文字領域向き決定処理のフローチャートを示し、この図を用いて情報抽出文字領域向き決定処理の説明を行う。
図6Bにおいて、情報抽出文字領域向き決定処理を開始すると、CPU111は、文字領域分割処理S204で手書き文字画像データ510上で分割した手書き文字領域1つずつを対象として、ステップS621からステップS625の処理を実行する。
ステップS622では、CPU111は、S205において文字領域種類・属性テーブル540に帳票見出しとして登録した帳票見出し領域の中から、対象手書き文字領域が、その帳票見出し領域から見て所定の位置関係、この例では下方向にあるものを選択する。図5(a)、図5(b)の活字画像データ500、手書き画像データ510においては、活字文字領域502は天が左であるため、手書き文字領域511は活字文字領域502から見て下方向に存在する。また同様に、活字文字領域503は天が右であるため、手書き文字領域511は活字文字領域503から見ても同様に下方向に存在する。そのため、ステップS622の処理において、手書き文字領域511について帳票見出し文字領域の選択処理を行うと、帳票見出し領域502と帳票見出し領域503の2つが選択される。同様に、手書き文字領域512について帳票見出し文字領域の選択処理を行うと、こちらでも帳票見出し領域502と帳票見出し領域503が選択される。
ステップS623では、CPU111は、処理対象の手書き文字領域に対して1つの帳票見出し領域を関連付ける。ここで、ステップS622で1つの帳票見出し領域が選択された場合には、その帳票見出し領域を関連付ける。一方、複数の帳票見出し領域が選択された場合には、優先順位に従って1つの帳票見出し領域を選択する。本実施形態では、優先順位は下記の順としている。すなわち(1)でも1つに絞れない場合には次に(2)を適用し、それでも複数の帳票見出し領域があるなら(3)を適用する。これは他の有線順位についても同様である。
(1)手書き文字領域が入力画像データ300に対して横長であれば、手書き文字領域から見て上下にある帳票見出し領域を優先、手書き文字領域が入力画像データ300に対して縦長であれば、手書き文字領域から見て左右にある帳票見出し領域を優先。すなわち、手書き文字領域の短手方向にある帳票見出し領域を優先する。
(2)手書き文字領域と帳票見出し領域の位置関係について、帳票見出し領域の向きから見て左右方向のずれ量がより小さい帳票見出し領域を優先。ずれ量はたとえばそれぞれの領域について、帳票見出し領域の向きから見て左右方向の中心位置を決定し、それぞれの中心位置のずれ量であってよい。
(3)手書き文字領域と帳票見出し領域の距離がより近い帳票見出し領域を優先。
(1)手書き文字領域が入力画像データ300に対して横長であれば、手書き文字領域から見て上下にある帳票見出し領域を優先、手書き文字領域が入力画像データ300に対して縦長であれば、手書き文字領域から見て左右にある帳票見出し領域を優先。すなわち、手書き文字領域の短手方向にある帳票見出し領域を優先する。
(2)手書き文字領域と帳票見出し領域の位置関係について、帳票見出し領域の向きから見て左右方向のずれ量がより小さい帳票見出し領域を優先。ずれ量はたとえばそれぞれの領域について、帳票見出し領域の向きから見て左右方向の中心位置を決定し、それぞれの中心位置のずれ量であってよい。
(3)手書き文字領域と帳票見出し領域の距離がより近い帳票見出し領域を優先。
図5(a)、(b)の画像データにおいては、手書き文字領域511に対して選択されている帳票見出し領域は活字文字領域502と活字文字領域503の2つである。上記の優先順位(1)では優劣がつかないため、優先順位(2)から、ステップS623においては、優先順位が高い活字文字領域502が手書き文字領域511に関連付けられる。同様に、手書き文字領域512に対しては、活字文字領域503が関連付けられる。
ステップS624において、CPU111は、処理対象の手書き文字領域の向きを、関連付けた帳票見出し領域と同じ向きに決定する。すなわち、手書き文字領域511については、活字文字領域502の向きである、天が左の向きを手書き文字領域511の向きと決定する。手書き文字領域512については、活字文字領域503の向きである、天が右の向きを手書き文字領域512の向きと決定する。決定した手書き文字領域の向きについては、それ自体を手書き文字領域と関連付けて記憶しておいてよい。あるいは、ステップS623において手書き文字領域を関連付ける見出し文字領域を決定したことで手書き文字領域の向きは決まるので、ステップS624では、対象の手書き文字領域とS623で関連付けた見出し文字領域との関連付けを記憶してもよい。その関連付けはたとえば、文字領域種類・属性テーブル540の文字領域IDに関連付けて追加的に手書き文字領域の識別情報を登録することで記憶してもよい。
ステップS621からS625の処理をすべての手書き文字領域に対して行うことにより、情報抽出文字領域決定処理を終了する。
次に、ステップS207において、CPU111は、項目値情報抽出処理を行う。本実施形態では、項目値情報を抽出する対象は手書き文字領域としているため、項目値情報抽出処理S207では手書き文字領域を対象に処理を行う。活字のみで構成された領収証の場合は、情報抽出文字領域向き決定処理S206と同様に、活字文字領域を対象に処理を行っても良い。図6Cに項目値情報抽出処理のフローチャートを示し、この図を用いて項目値情報抽出処理の説明を行う。
●項目値情報抽出処理(S207,図6C)
図6Cにおいて、項目値情報抽出処理を開始すると、CPU111は、本実施形態における項目値情報抽出対象である手書き文字領域について順次着目し、それぞれの手書き文字領域を対象としてステップS641からステップS646の処理を行う。
図6Cにおいて、項目値情報抽出処理を開始すると、CPU111は、本実施形態における項目値情報抽出対象である手書き文字領域について順次着目し、それぞれの手書き文字領域を対象としてステップS641からステップS646の処理を行う。
ステップS642では、CPU111は、処理を行う手書き文字領域に対して、ステップS624で決定した向きが天となるように、手書き文字領域の画像データを回転する。ステップS643では、CPU111は、回転した手書き文字領域の画像データに対して手書き文字認識を実行する。ここで、手書き文字は文字の字形や間隔の揺らぎが活字文字よりも大きいため、手書き文字認識では下記のようなDeep Neural Networkを用いた認識処理を行う。
(1)行分割された手書き文字領域の画像データを畳み込み処理して特徴マップを生成。
(2)特徴マップを文字行方向にスライスしてベクトル化し特徴情報の系列を生成。
(3)特徴情報の系列をDeep Neural Network(DNN)で処理。
(4)DNNの系列出力に対応した予測文字列を出力。
このような文字認識を行うことにより、手書き文字領域511からは「¥8,192-」、手書き文字領域512からは「¥2,000-」という文字認識結果が得られる。なお画像データを回転しなくとも、ステップS624で決定した向きが天となるように文字認識を行えばそれでよい。
(1)行分割された手書き文字領域の画像データを畳み込み処理して特徴マップを生成。
(2)特徴マップを文字行方向にスライスしてベクトル化し特徴情報の系列を生成。
(3)特徴情報の系列をDeep Neural Network(DNN)で処理。
(4)DNNの系列出力に対応した予測文字列を出力。
このような文字認識を行うことにより、手書き文字領域511からは「¥8,192-」、手書き文字領域512からは「¥2,000-」という文字認識結果が得られる。なお画像データを回転しなくとも、ステップS624で決定した向きが天となるように文字認識を行えばそれでよい。
ステップS644では、CPU111は、ステップS643で得られた手書き文字認識結果が、項目情報テーブル420の項目値424とマッチするかどうかを判定する。項目値424とマッチしたら、その行の抽出項目ラベル421に対応する項目値情報を持つ文字列領域の可能性があるため、項目値候補として選択する。例えば、手書き文字領域511の手書き文字認識結果「¥8,192-」は金額の項目値パターンとマッチするため、金額の項目値候補として選択される。同様に、手書き文字領域512の認識結果「¥2,000-」も金額の項目値パターンとマッチするため、金額の項目値候補として選択される。
ステップS645では、CPU111は、文字領域種類・属性テーブル540で項目名として分類された項目名領域と、処理を行っている手書き文字領域の位置関係が、項目情報テーブル420の位置関係423を満たすものがあるか判定する。あれば、該当する項目名領域を対象の手書き文字領域と関連付ける。例えば、手書き文字領域511に対して、項目名領域504は、項目情報テーブル420の位置関係423ある「右下」を満たす。そこで、手書き文字領域511に対して項目名領域504を項目名として関連付ける。手書き文字領域512に対しては、項目情報テーブル420の位置関係423である「右下」を満たす活字文字領域は存在しない。そのため、手書き文字領域512に対しては、項目名領域は関連付けられない。
すべての手書き文字領域についてステップS641からステップS646の処理を行うことにより、項目値候補となる手書き文字領域が選択される。さらに、選択された手書き文字領域に項目名となる活字文字領域(項目名領域)が関連付けられる。
次に、ステップS651からS657までの処理を、文字領域種類・属性テーブル540に登録された帳票見出し領域それぞれについて実行する。
ステップS652では、CPU111は、ステップS623で見出し文字領域に対して関連付けられた手書き文字領域のうち、ステップS644で項目値候補として選択された手書き文字領域を選択する。
次に、ステップS653からステップS656までの処理を、項目情報テーブル420の項目ラベル421それぞれについて実行する。
ステップS654では、CPU111は、ステップS652で選択した手書き文字領域のうち、ステップS644において項目値424にマッチしたと判定された手書き文字領域を1つ選択する。ただしこの項目値424は、着目している項目ラベルに関連付けられた項目値424である。例えば、着目項目ラベルが金額であるとする。帳票見出し領域502に対しては、ステップS623で関連付けられ、ステップS644で金額の項目値候補として選択された、手書き文字領域511が選択される。また同様に、帳票見出し領域503に対しては、手書き文字領域512が選択される。なお、ここで複数の手書き文字領域が選択された場合、予め決めた優先順位に従って1つの手書き文字領域を選択する。本実施形態では、優先順位は下記のようにしている。
(1)ステップS645で項目名領域が関連付けられている手書き文字領域。
(2)手書き文字領域の高さ(書かれている文字の大きさ)が他の手書き文字領域よりも所定の割合以上大きい手書き文字領域。
(3)帳票見出し領域により近い手書き文字領域。
(1)ステップS645で項目名領域が関連付けられている手書き文字領域。
(2)手書き文字領域の高さ(書かれている文字の大きさ)が他の手書き文字領域よりも所定の割合以上大きい手書き文字領域。
(3)帳票見出し領域により近い手書き文字領域。
ステップS655では、CPU111は、ステップS654で選択した手書き文字領域から、ステップS643で文字認識を行った結果を、着目している項目ラベルに対応する項目値として抽出し、項目ラベルと関連付けて共に出力する。出力した情報は保存される。ステップS651からS657の処理により、帳票ごとに、その帳票に含まれた各項目の項目名を特定し、対応する項目値を項目値候補から抽出できる。
ステップS651からS657までの処理を行うことにより、ステップS205で判別した見出し文字領域毎に、項目ラベルに対応した項目値を抽出することができる。抽出された帳票見出しと項目名および項目値は互いに関連付けられて電子化された帳票として保存される。
以上説明したステップS207の項目値情報抽出処理を行い、本実施形態に係る情報抽出処理を終了する。
以上説明した通り、帳票見出し領域の向きから項目を抽出する領域の向きを決定し、項目値を抽出する。こうすることにより、項目を抽出する領域の向き判別して項目値を抽出することができる。また、台紙に領収証が貼り付けられている場合のように、複数の帳票が向きを変えて混在する可能性がある場合においても、それぞれの帳票の向きを特定して抽出対象とする項目の情報を抽出することができる。さらに、混在する複数の帳票の中に抽出対象となる帳票が複数あった場合にも、複数の帳票見出し領域を検出し、情報抽出対象の帳票見出し領域と対応する項目抽出領域を決定することにより、項目値を抽出することが可能となる。
なお上記実施形態で情報処理装置110により実行されるものとして説明した機能は、複写機100の制御部により実行されてもよい。これは第二の実施形態についても同様である。
(第二の実施形態)
第二の実施形態については、第一の実施形態との差分のみの説明とし、特に明記しない部分については第一の実施形態と同じ構成および手順となる。
第二の実施形態については、第一の実施形態との差分のみの説明とし、特に明記しない部分については第一の実施形態と同じ構成および手順となる。
第一の実施形態の文字領域種類・属性判別処理S205においては、活字文字領域すべてについて上下左右の4方向から文字認識を行い、帳票見出し列411とマッチするかどうかを判断している。しかしながら、文字認識は計算量が多いためすべての活字文字領域に対して行うとさらに計算量が多くなる。一方で、手書きで情報を記入する領収証や台紙のような帳票では、予め印刷してある活字文字が多いが、手書き文字は必要な情報のみが記入されているため、文字数が少ない場合が多い。本実施形態では、手書き文字領域に対して所定の位置関係にある活字文字領域を優先的に文字認識と帳票見出し列411とのマッチを行う。こうすることにより、文字認識を行う活字文字領域の数を減少させ、計算量を少なくする。
本実施形態において、第一の実施形態と異なるのは文字領域種類・属性判別処理S205のみであるため、文字領域種類・属性判別処理S205の説明のみ行う。
図7に本実施形態の文字領域種類・属性判別処理のフローチャートを示す。図7は、本実施形態では、第1の実施形態における図6Aに代えて実行される。図7において領域属性判別処理を開始すると、CPU111は、手書き文字領域毎にステップS701からステップS707の処理を実行する。ステップS702では、CPU111は、手書き文字領域が縦長であれば、縦長の活字文字領域を以降の処理対象として選択し、手書き文字が横長であれば、横長の活字文字領域を以降の処理対象として選択する。すなわち、対象手紙文字領域と長手方向が一致する活字文字領域を処理対象として選択する。これは、対象帳票では文字が横書きされているため、文字が同じ向きになるのは横長の手書き文字領域と活字文字領域の組合せ、縦長の手書き文字領域と活字文字領域の組合せになるためである。
さらに、ステップS703からステップS706のループでは、CPU111は、選択した縦長または横長の活字文字領域について、手書き文字領域との領域の重心(幾何中心)間の距離が近い順に順序付けする。そして、CPU111は、活字文字領域をその順序に従って処理対象としてステップS703からS706のループを実行する。
ステップS704では、CPU111は、処理対象である活字文字領域に対して、図6AのS602-S606に示した文字領域種類・属性判別処理を行っているかどうかを判断する。ここで、行っていなければ図6AのS602-S606と同じ処理、すなわち4方向からの文字認識と見出し列411とのマッチ判定を行い、見出し文字領域であればその向きも判別する。S602-S606の処理結果は保存しておく。また、第一の実施形態の文字領域種類・属性判別処理(図6A)をすでに処理対象の活字文字領域に対して行っていれば、そのときの見出し文字領域であるかどうかと向きの判定結果を次のS705の処理で用いる。
ステップS705では、CPU111は、処理対象としている活字文字領域が帳票見出し領域であり、かつ、その帳票見出し領域から見て処理対象としている手書き文字領域は下方向にあるかどうかを判断する。ステップS705がNOであれば、CPU111は、処理対象としている手書き文字領域に関連付けることが可能な帳票見出し領域が見つかっていないため、ステップS706へ進み、次の活字文字領域についてS703からS706のループを実行する。ステップS705がYESであれば、CPU111は、処理対象としている手書き文字領域に関連付けることが可能な帳票見出し領域が見つかったと判断して、その手書き領域を対象とする処理を終える。そして、CPU111は、次の手書き文字領域を処理対象としてステップS701からS707の処理を実行する。
以上のステップS701からS705の処理を手書き文字領域毎に実行することにより、手書き文字領域に対応する帳票見出し領域を見つけることができる。
このように手書き文字領域から近い順に活字文字領域を処理対象とすることから、初めに項目名がマッチし、その後で帳票見出しがマッチすることが期待できる。したがってS705で処理対象の手書き文字領域に関する処理ループを抜ける際には、帳票見出しと、該当するものがあれば項目名とに関して、それぞれの領域と向きとが決定される。上記手順を言い換えれば次のようにいうことができる。すなわち、手書き画像データから特定された着目文字領域と長手方向が一致する活字画像データから特定された文字領域を対象とする。そして対象文字領域から帳票見出し領域までの間(帳票見出し領域を含む)にある、項目名に一致する文字列を含む文字領域と、その文字列に応じた種類および向きを特定するものといえる。
以上説明したように、本実施形態では、各手書き文字領域について距離が近い活字文字領域の文字認識を行い、さらに、手書き文字領域に対応する帳票見出しである活字文字領域が見つかると、そこで次の活字文字領域の文字認識処理を中断する。そのため、手書き文字領域から帳票見出し領域よりも遠い活字文字領域については、文字認識を行うことが不要になり、計算量の減少と処理の高速化を行うことが可能となる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100 ・・・複写機、110 ・・・情報処理装置
Claims (15)
- 画像データから、文字列を含む文字領域を特定する第1の特定手段と、
前記文字領域のうちから、予め定めた文字列を含む文字領域と、含まれた文字列に応じた種類および向きを特定する第2の特定手段と、
第1の種類の文字領域である第1の文字領域に対して所定の位置関係にある第2の文字領域の向きを前記第1の文字領域と同じ向きであるとして、前記第2の文字領域の文字認識を行う文字認識手段と、
前記第2の文字領域の文字認識結果を、前記第1の文字領域の文字列と関連付けた項目値として抽出し、保存する抽出手段と、を有する
ことを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置であって、
前記画像データを、手書き文字を含む手書き画像データと活字文字を含む活字画像データとに分離する分離手段とを更に有し、
前記第2の特定手段は、前記活字画像データから予め定めた文字列を含む文字領域と、含まれた文字列に応じた種類および向きを特定し、
前記文字認識手段は、前記手書き画像に含まれた前記第2の文字領域の文字認識を行う
ことを特徴とする画像処理装置。 - 請求項2に記載の画像処理装置であって、
前記第2の特定手段は、前記手書き画像データから特定された文字領域と長手方向が一致する前記活字画像データから特定された文字領域を対象として、前記手書き画像データから特定された前記文字領域から前記第1の文字領域までの間にある前記予め定めた文字列を含む文字領域と、含まれた文字列に応じた種類および向きを特定する
ことを特徴とする画像処理装置。 - 請求項1乃至3のいずれか一項に記載の画像処理装置であって、
前記所定の位置関係は、前記第1の文字領域に対して文字の向きについて下になる位置関係である
ことを特徴とする画像処理装置。 - 請求項1乃至4のいずれか一項に記載の画像処理装置であって、
前記抽出手段は、前記第2の文字領域が複数ある場合には、第1の優先順位で一つを選択する
ことを特徴とする画像処理装置。 - 請求項5に記載の画像処理装置であって、
前記第1の優先順位では、前記第2の文字領域と予め設定された関係にある第3の文字領域がある前記第2の文字領域が優先され、次に、文字の大きさが他の第2の文字領域よりも大きい前記第2の文字領域が優先され、次に、前記第1の文字領域により近い前記第2の文字領域が優先される
ことを特徴とする画像処理装置。 - 請求項6に記載の画像処理装置であって、
前記第2の文字領域と予め設定された関係にある第3の文字領域がある場合には、前記抽出手段は、前記第2の文字領域の文字認識結果を、前記第2の文字領域と予め設定された関係にある第3の文字領域に対応する項目の項目値として抽出し、保存する
ことを特徴とする画像処理装置。 - 請求項6乃至7のいずれか一項に記載の画像処理装置であって、
前記予め設定された関係は、前記第3の文字領域と前記第2の文字領域との位置関係と、前記第3の文字領域と前記第2の文字領域のそれぞれに含まれる文字列とを含む
ことを特徴とする画像処理装置。 - 請求項1乃至8のいずれか一項に記載の画像処理装置であって、
前記文字認識手段は、前記第2の文字領域と前記所定の位置関係となる前記第1の文字領域が複数ある場合には、第2の優先順位で一つを選択する
ことを特徴とする画像処理装置。 - 請求項9に記載の画像処理装置であって、
前記第2の優先順位では、前記第2の文字領域の短手方向にある前記第1の文字領域が優先され、次に、前記第2の文字領域との左右方向のずれ量がより小さい前記第1の文字領域が優先され、次に、前記第2の文字領域との距離がより近い前記第1の文字領域が優先される
ことを特徴とする画像処理装置。 - 請求項1乃至10のいずれか一項に記載の画像処理装置であって、
前記予め定めた文字列は、帳票見出しまたは項目名を表す文字列である
ことを特徴とする画像処理装置。 - 請求項1乃至11のいずれか一項に記載の画像処理装置であって、
前記第1の文字領域は帳票見出しを含む文字領域であり、前記第2の文字領域は項目値を含む文字領域である
ことを特徴とする画像処理装置。 - 請求項7または8のいずれか一項に記載の画像処理装置であって、
前記予め定めた関係をユーザが設定するための手段を更に有する
ことを特徴とする画像処理装置。 - 請求項1乃至13のいずれか一項に記載の画像処理装置としてコンピュータを機能させるためのプログラム。
- 第1の特定手段と第2の特定手段と文字認識手段と抽出手段とを有する画像処理装置による画像処理方法であって、
前記第1の特定手段が、画像データから、文字列を含む文字領域を特定し、
前記第2の特定手段が、前記文字領域から、予め定めた文字列を含む文字領域と、含まれた文字列に応じた種類および向きを特定し、
前記文字認識手段が、第1の種類の文字領域である第1の文字領域に対して所定の位置関係にある第2の文字領域の向きを前記第1の文字領域と同じ向きであるとして、前記第2の文字領域の文字認識を行い、
前記抽出手段が、前記第2の文字領域の文字認識結果を、前記第1の文字領域の文字列と関連付けた項目値として抽出し、保存する
ことを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021200396A JP2023086023A (ja) | 2021-12-09 | 2021-12-09 | 画像処理装置とその方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021200396A JP2023086023A (ja) | 2021-12-09 | 2021-12-09 | 画像処理装置とその方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023086023A true JP2023086023A (ja) | 2023-06-21 |
Family
ID=86776061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021200396A Pending JP2023086023A (ja) | 2021-12-09 | 2021-12-09 | 画像処理装置とその方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023086023A (ja) |
-
2021
- 2021-12-09 JP JP2021200396A patent/JP2023086023A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5903904A (en) | Iconic paper for alphabetic, japanese and graphic documents | |
CA2116600C (en) | Methods and apparatus for inferring orientation of lines of text | |
US9430716B2 (en) | Image processing method and image processing system | |
JP4785655B2 (ja) | 文書処理装置及び文書処理方法 | |
US20120039536A1 (en) | Optical character recognition with two-pass zoning | |
US11418658B2 (en) | Image processing apparatus, image processing system, image processing method, and storage medium | |
US11321558B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
US20080218812A1 (en) | Metadata image processing | |
US11941903B2 (en) | Image processing apparatus, image processing method, and non-transitory storage medium | |
US11615244B2 (en) | Data extraction and ordering based on document layout analysis | |
JP2018042067A (ja) | 画像処理システム、画像処理方法、情報処理装置 | |
US20150261735A1 (en) | Document processing system, document processing apparatus, and document processing method | |
US11657367B2 (en) | Workflow support apparatus, workflow support system, and non-transitory computer readable medium storing program | |
JP2023086023A (ja) | 画像処理装置とその方法およびプログラム | |
JP2008257543A (ja) | 画像処理システム及びプログラム | |
US11475686B2 (en) | Extracting data from tables detected in electronic documents | |
JP2018067096A (ja) | 文字認識装置及び文字認識方法 | |
JP7317612B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP3841318B2 (ja) | アイコン生成方法、ドキュメント検索方法及びドキュメント・サーバー | |
US11354496B2 (en) | Information processing apparatus and non-transitory computer readable medium storing program | |
JP2009223391A (ja) | 画像処理装置及び画像処理プログラム | |
US20230273952A1 (en) | Image processing apparatus, image processing method, and storage medium | |
US11315351B2 (en) | Information processing device, information processing method, and information processing program | |
US11782990B2 (en) | Document processing apparatus and non-transitory computer readable medium | |
WO2023062799A1 (ja) | 情報処理システム、原稿種識別方法、モデル生成方法及びプログラム |