以下、本発明の各実施の形態について、図面を参照して詳細に説明する。なお、各実施の形態の文字認識装置は、帳票の読み取り画像に含まれる文字を認識する装置である。以下の説明において、帳票とは、記入される文字毎に、その記入領域を囲む文字枠を含む原稿であるものとする。
(第1の実施の形態)
本発明の第1の実施の形態としての文字認識装置1の機能ブロック構成を図1に示す。図1において、文字認識装置1は、画像取得部11と、文字枠検出部12と、文字枠補正部13と、文字認識部14とを備える。
ここで、文字認識装置1は、図2に示すようなハードウェア要素によって構成可能である。図2において、文字認識装置1は、コンピュータ装置100および読み取り装置500によって構成可能である。コンピュータ装置100は、CPU(Central Processing Unit)1001、メモリ1002、出力装置1003、入力装置1004、および、周辺機器接続インタフェース1005を含む。メモリ1002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。出力装置1003は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置1004は、キーボードやマウス等のように、ユーザ操作の入力を受け付ける装置によって構成される。周辺機器接続インタフェース1005は、読み取り装置500に接続するインタフェースである。また、読み取り装置500は、例えば、スキャナ装置によって構成される。
この場合、画像取得部11は、読み取り装置500と、入力装置1004と、周辺機器接続インタフェース1005と、メモリ1002に格納されるプログラムを読み込んで実行するCPU1001とによって構成される。また、文字枠検出部12および文字枠補正部13は、メモリ1002に格納されるプログラムを読み込んで実行するCPU1001によって構成される。また、文字認識部14は、出力装置1003と、メモリ1002に格納されるプログラムを読み込んで実行するCPU1001とによって構成される。なお、文字認識装置1およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
次に、各機能ブロックの詳細について説明する。
画像取得部11は、帳票の読み取り画像として、ドロップアウト画像および非ドロップアウト画像を取得する。ここで、帳票には、文字枠が記載されているものとする。文字枠は、文字が記入されるスペースを記入者に示すための図形要素である。また、ドロップアウト画像とは、文字枠の色が消去された読み取り画像をいうものとする。また、非ドロップアウト画像とは、文字枠の色が消去されていない読み取り画像をいうものとする。
例えば、画像取得部11は、入力装置1004からの指示に基づいて、読み取り装置500を用いて、帳票をフルカラーモードで読み取ることにより、読み取り画像を取得する。そして、画像取得部11は、フルカラーの読み取り画像を画像処理することにより、文字枠の色を消去したドロップアウト画像と、文字枠の色を残した非ドロップアウト画像とを生成してもよい。
あるいは、画像取得部11は、入力装置1004からの指示に基づいて、読み取り装置500において文字枠の色が消去されるモードを用いて、読み取り画像をドロップアウト画像として取得してもよい。また、画像取得部11は、入力装置1004からの指示に基づいて、読み取り装置500において文字枠の色が消去されないモードを用いて、読み取り画像を非ドロップアウト画像として取得してもよい。
文字枠検出部12は、非ドロップアウト画像において、帳票領域および帳票パラメータに基づいて、文字枠の仮の位置を決定する。そして、文字枠検出部12は、決定した仮の位置に基づいて、文字枠を構成する枠線を検出する。
ここで、帳票領域について説明する。文字枠検出部12は、非ドロップアウト画像においてエッジ検出を行うことにより、帳票領域を検出可能である。また、文字枠検出部12は、検出した帳票領域において、縦方向または横方向を識別してもよい。このような帳票領域における方向は、帳票領域に含まれる所定のマークに基づいて識別可能である。
また、帳票パラメータについて説明する。帳票パラメータとは、帳票の種類に応じたパラメータで、あらかじめ定められている。帳票パラメータは、帳票領域における各文字枠の位置、および、文字枠列を表す情報を含む。例えば、帳票領域における各文字枠の位置は、帳票領域の中心を基準として表されていてもよい。帳票領域の中心は、歪みの影響を受けにくいため、各文字枠の位置の基準とするのに適している。この場合、文字枠検出部12は、非ドロップアウト画像において検出した帳票領域の中心を求め、求めた中心を基準として帳票パラメータに基づいて、各文字枠の位置を仮に決定すればよい。
また、帳票パラメータに含まれる文字枠列の情報について説明する。文字枠列とは、帳票において一列に配列された文字枠のまとまりである。帳票パラメータは、例えば、文字枠列が、文字枠の横方向の配列であるか、縦方向の配列であるかを表す情報を含んでいてもよい。あるいは、帳票パラメータは、例えば、文字枠列のそれぞれについて、その文字枠列を構成する文字枠を特定する情報を含んでいてもよい。文字枠列の情報は、後述の文字枠補正部13により参照される。
また、文字枠検出部12は、決定した各文字枠の仮の位置に基づいて、非ドロップアウト画像から文字枠を検出する。例えば、文字枠検出部12は、仮に決定した位置にある文字枠を構成する枠線のそれぞれの位置を基準とした所定範囲内で、非ドロップアウト画像からその枠線に相当する線分を検出してもよい。なお、枠線とは、例えば、文字枠を構成する上端・下端・右端・左端の4本の線分である。この場合、文字枠検出部12は、上端・下端・右端・下端の枠線のうち検出できなかった枠線については、仮に決定した文字枠の枠線をそのまま適用してもよい。また、文字枠検出部12は、上端・下端・右端・下端として検出した枠線の長さに過不足がある場合でも、検出した枠線またはその延長線の交点を文字枠の頂点であると推定することにより、文字枠を検出してもよい。
なお、文字枠検出部12は、非ドロップアウト画像から文字枠を検出するにあたり、非ドロップアウト画像を事前に二値化してもよい。
文字枠補正部13は、文字枠検出部12により検出された文字枠のうち、領域が重複している文字枠間において、重複を解消するよう文字枠を補正する。具体的には、文字枠補正部13は、領域の重複がある文字枠のうち1つまたは複数の文字枠について、重複している領域を構成する枠線を、その文字枠のサイズが小さくなる方向に重複が無くなるまで移動することにより、文字枠を補正してもよい。例えば、上下に隣接する文字枠間に領域の重複がある場合、文字枠補正部13は、上側の文字枠の下端の枠線を上方向に移動するとともに、下側の文字枠の上端の枠線を下方向に移動してもよい。また、左右に隣接する文字枠間に領域の重複がある場合、文字枠補正部13は、左側の文字枠の右端の枠線を左方向に移動するとともに、右側の文字枠の左端の枠線を右方向に移動してもよい。なお、文字枠補正部13は、領域が重複している文字枠間で重複を解消する際に、各文字枠のサイズが略同一になるよう枠線の移動を行ってもよい。
また、文字枠補正部13は、文字枠列において、文字枠間での位置およびサイズのバラつきを解消するよう文字枠を補正する。前述のように、文字枠列とは、帳票において一列に配列された文字枠のまとまりであり、どの配列を文字枠列とするかは、帳票パラメータにおいて定められている。
ここで、位置およびサイズのバラつきを解消する手法の一例について説明する。例えば、横方向に一列に配列された文字枠からなる文字枠列を想定する。この場合、文字枠補正部13は、各文字枠の上端同士の位置の差、および、下端同士の位置の差が、それぞれ閾値以内になるように、1つまたは複数の文字枠の上端の枠線および下端の枠線を移動してもよい。また、縦方向に一列に配列された文字枠からなる文字枠列を想定する。この場合、文字枠補正部13は、各文字枠の右端同士の位置の差および左端同士の位置の差がそれぞれ閾値以内になるように、1つまたは複数の文字枠の右端の枠線および左端の枠線を移動してもよい。
文字認識部14は、ドロップアウト画像から、文字枠補正部13によって補正された文字枠にしたがって画像を切り出す。そして、文字認識部14は、切り出した画像毎に文字を認識する。文字認識の技術には、公知の技術を採用可能である。
以上のように構成された文字認識装置1の動作について、図3を参照して説明する。
図3では、まず、画像取得部11は、対象の帳票について、ドロップアウト画像および非ドロップアウト画像を取得する(ステップS1)。
次に、文字枠検出部12は、非ドロップアウト画像において、帳票領域を検出する(ステップS2)。
次に、文字枠検出部12は、検出した帳票領域および帳票の種類に応じた帳票パラメータに基づいて、文字枠の仮の位置を決定する(ステップS3)。
次に、文字枠検出部12は、決定した文字枠の仮の位置に基づいて、非ドロップアウト画像から文字枠を検出する(ステップS4)。
次に、文字枠補正部13は、検出された文字枠のうち領域が重複している文字枠間において、重複を解消するよう文字枠を補正する(ステップS5)。
次に、文字枠補正部13は、文字枠列において、文字枠の位置およびサイズのバラつきを解消するよう文字枠を補正する(ステップS6)。
次に、文字認識部14は、ドロップアウト画像から、文字枠補正部13によって補正された文字枠にしたがって画像を切り出す(ステップS7)。
次に、文字認識部14は、切り出した画像毎に文字を認識し、認識した文字を出力する(ステップS8)。
以上で、文字認識装置1は動作を終了する。
次に、本発明の第1の実施の形態の効果について述べる。
本発明の第1の実施の形態としての文字認識装置は、読み取り画像において帳票が歪んでいる場合にも、より精度よく文字を認識することができる。
その理由について説明する。本実施の形態では、画像取得部が、文字枠を含む帳票について、ドロップアウト画像および非ドロップアウト画像を取得する。そして、文字枠検出部が、非ドロップアウト画像において、検出される帳票領域および帳票の種類に応じた帳票パラメータに基づいて、文字枠の仮の位置を決定し、決定した仮の位置に基づいて、文字枠を検出する。そして、文字枠補正部が、検出された文字枠のうち領域が重複している文字枠間において、重複を解消するよう文字枠を補正する。また、文字枠補正部が、一列に配列された文字枠のまとまりである文字枠列において、文字枠間での位置およびサイズのバラつきを解消するよう文字枠を補正する。そして、文字認識部が、ドロップアウト画像から、補正された文字枠にしたがって画像を切り出し、切り出した画像毎に文字を認識するからである。
これにより、本実施の形態は、読み取り画像において帳票に歪みがある場合でも、検出した帳票領域および帳票パラメータに基づいて、歪みの影響が少ない帳票領域の中心部分を基準として文字枠の仮の位置を決定することができる。さらに、本実施の形態は、文字枠の仮の位置に基づいて、非ドロップアウト画像から文字枠を検出するので、帳票の歪みに伴い位置がずれた文字枠や歪んだ文字枠を検出することができる。ただし、帳票に歪みがあることを考慮すると、このようにして検出される文字枠は、そのサイズや位置の精度が低い場合がある。これは、帳票に含まれる文字枠以外の線分が枠線として認識される場合や、検出不能な枠線がある場合等のためである。そこで、本実施の形態では、文字枠補正部が、文字枠間における領域の重複を解消するよう文字枠を補正する。さらに、文字枠補正部が、文字枠列において文字枠間での位置およびサイズのバラつきを解消するよう文字枠を補正する。
このように、本実施の形態は、読み取り画像において帳票が歪んでいる場合にも、歪みに応じて文字枠を補正して精度よく文字枠を切り出すので、その結果、精度よく文字を認識することができる。したがって、本実施の形態は、読み取り装置の機種や方式(例えば、フラットベッド型、搬送型、非接触型等)によって読み取り画像に様々な歪みが生じる状況や、読み取り対象自体に歪みがある状況でも、精度よく帳票に記入された文字を認識することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第2の実施の形態としての文字認識装置2の構成を図4に示す。図4において、文字認識装置2は、本発明の第1の実施の形態としての文字認識装置1に対して、文字枠検出部12に替えて文字枠検出部22と、文字枠補正部13に替えて文字枠補正部23と、文字認識部14に替えて文字認識部24とを備える点が異なる。また、文字枠補正部23は、第1補正部231と、第2補正部232とを有する。なお、文字認識装置2およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素によって構成可能である。ただし、文字認識装置2およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
次に、文字認識装置2の各機能ブロックについて説明する。
文字枠検出部22は、本発明の第1の実施の形態における文字枠検出部12と同様に構成されることに加えて、次のように構成される。
文字枠検出部22は、文字枠の検出に用いる帳票パラメータを、次のようにして取得する。具体的には、文字枠検出部22は、帳票の種類を識別する情報に関連付けて、帳票パラメータをあらかじめ記憶しておく。帳票パラメータは、その種類の帳票領域において各文字枠の位置およびサイズを特定可能な情報と、文字枠列を表す情報とを含む。各文字枠の位置およびサイズを特定可能な情報は、本発明の第1の実施の形態と同様に、その帳票領域の中心を基準とした情報であることが望ましい。そして、文字枠検出部22は、非ドロップアウト画像において、帳票領域の所定範囲の情報に基づいて、帳票の種類を識別する。所定範囲とは、例えば、帳票の種類を示すIDやキーワードが記載されている範囲である。この場合、文字枠検出部22は、帳票領域におけるその範囲の画像を文字として認識することにより、IDまたはキーワードを、帳票の種類を識別する情報として取得すればよい。そして、文字枠検出部22は、帳票の種類を表す情報に関連付けて記憶しておいた帳票パラメータを取得する。
また、文字枠検出部22は、検出した帳票領域および取得した帳票パラメータに基づいて、本発明の第1の実施の形態と同様にして文字枠を検出する際に、検出パラメータを用いる。検出パラメータとは、文字枠の検出処理において用いられるパラメータである。検出パラメータの一例としては、文字枠の検出のために非ドロップアウト画像を二値化する際に用いる画素の閾値がある。また、検出パラメータの他の一例としては、枠線と判定する線分の長さがある。ただし、検出パラメータはこれらに限定されない。
また、文字枠検出部22は、上述のようにして検出した各文字枠について、実際の文字枠と一致する確からしさを表すスコアを算出する。スコアを算出する際に考慮される要素としては、例えば、次の要素が挙げられる。
・その文字枠について検出されたサイズ(例えば、幅および高さ)と、帳票パラメータに基づくサイズとの差異
・その文字枠について検出された枠線の数(例えば、0本〜4本)
・その文字枠について検出された位置と、帳票領域および帳票パラメータに基づき決定された仮の位置との距離
例えば、文字枠検出部22は、その文字枠について検出されたサイズ(例えば、幅および高さ)と、帳票パラメータに基づくサイズとの差異が小さいほど、スコアを高くしてもよい。あるいは、文字枠検出部22は、その文字枠について検出された枠線の数が多いほど、スコアを高くしてもよい。また、文字枠検出部22は、その文字枠について検出された位置と、帳票領域および帳票パラメータに基づき決定された仮の位置との距離が短いほど、スコアを高くしてもよい。さらに、文字枠検出部22は、その文字枠について上記の各要素に関連するスコアに重みを付け、重みを付けた値を加算した値を、その文字枠のスコアとして算出してもよい。あるいは、文字枠検出部22は、その文字枠について上記の各要素に関連するスコアの平均値を、その文字枠のスコアとして算出してもよい。
なお、文字枠検出部22は、上述した要素に限らず、他の要素や、複数の要素の組み合わせに基づいて、スコアを算出してもよい。スコアは、後述の第2補正部232による補正時に参照される。
第1補正部231は、文字枠検出部22によって検出された各文字枠について、文字枠列の間における重複を解消するよう補正を行う。例えば、横方向に一列に配列された文字枠からなる文字枠列を想定する。この場合、文字枠列が、縦方向に配列されていることを想定する。例えば、横書きの帳票においては、文字枠の並んだ1行が文字枠列に相当する。この場合、第1補正部231は、文字枠列の間における重複を解消するためには、各文字枠について、その文字枠の上または下の文字枠との間で領域が重複しているものについて、重複を解消するよう補正を行えばよい。
具体的には、第1補正部231は、ある文字枠に隣接する文字枠が1つ上の行(文字枠列)にあり、かつ、それらの文字枠間に重複する領域があれば、該当する文字枠の上端の枠線を下方向に移動し、1つ上の文字枠の下端の枠線を上方向に移動する補正を行う。このような補正を、第1補正部231は、帳票領域における2行目の最も左側の文字枠から順に、行内では右方向に、行単位では下方向に、最下行の最も右側の文字枠まで、順次行っていけばよい。
第2補正部232は、第1補正部231によって補正された各文字枠について、文字枠列の内部で、文字枠間での位置およびサイズのバラつき、並びに、領域の重複を解消するように、各文字枠の補正を行う。なお、第2補正部232は、このような文字枠列の内部での文字枠の補正を、基準となる文字枠の位置およびサイズに基づいて行ってもよい。
例えば、第2補正部232は、文字枠検出部22によって算出された各文字枠のスコアに基づいて、文字枠列において位置およびサイズの基準となる文字枠を決定する。例えば、文字枠検出部22によって算出された各文字枠のうちスコアが最も高い文字枠を、位置およびサイズの基準となる文字枠に決定してもよい。そして、第2補正部232は、文字枠列における各文字枠間での位置およびサイズのバラつき、並びに、領域の重複を、基準となる文字枠に基づいて解消する。
例えば、上述の例と同様に、横方向に一列に配列された文字枠からなる文字枠列を想定する。この場合、第2補正部232は、文字枠列の内部における重複を解消するためには、各文字枠について、その文字枠の右または左の文字枠との間で領域が重複しているものについて、重複を解消するよう補正を行えばよい。
具体的には、第2補正部232は、ある文字枠と、その右側の文字枠との間に重複する領域があれば、左側の文字枠の右端の枠線を左方向に移動し、右側の文字枠の左端の枠線を右方向に移動する補正を行う。このとき、第2補正部232は、左側の文字枠の幅と、右側の文字枠の幅とが、基準となる文字枠の幅により近づくように、枠線の移動を行えばよい。このような補正を、第2補正部232は、帳票領域の各行において、最も左側の文字枠から、右から2番目の文字枠まで、順次行っていけばよい。
また、例えば、上述の例と同様に、横方向に一列に配列された文字枠からなる文字枠列を想定する。この場合、第2補正部232は、文字枠列における各文字枠について、基準となる文字枠との間で、上端の枠線同士の縦方向の位置、および、下端の枠線同士の縦方向の位置を比較する。
そして、第2補正部232は、該当する文字枠について、基準となる文字枠との間で、上端の枠線同士および下端の枠線同士の位置の差が閾値以内になるよう、上端および下端の枠線の位置を移動して補正する。これにより、文字枠列において、各文字枠の縦のサイズのバラつきおよび縦方向の位置のバラつきが解消される。
文字認識部24は、本発明の第1の実施の形態と同様に構成されることに加えて、次のように構成される。すなわち、文字認識部24は、文字を認識できなかった文字枠を含む文字枠列について、文字枠検出部22および文字枠補正部23を用いて文字枠の検出および補正をやり直してから、再度、文字の認識を行う。文字枠検出部22は、文字認識部24からの通知により再度文字枠を検出する際には、検出パラメータを変更して文字枠の検出を行う。
以上のように構成された文字認識装置2の動作について、図5を参照して説明する。
図5では、まず、画像取得部11は、本発明の第1の実施の形態と同様にステップS1を実行し、対象の帳票についてドロップアウト画像および非ドロップアウト画像を取得する。
次に、文字枠検出部22は、本発明の第1の実施の形態と同様にステップS2を実行し、非ドロップアウト画像において、帳票領域を検出する。
次に、文字枠検出部22は、非ドロップアウト画像の帳票領域の所定範囲に含まれる情報に基づいて、帳票の種類を識別する。そして、文字枠検出部22は、識別した種類に関連付けた帳票パラメータを取得する(ステップS13)。
次に、文字枠検出部22は、本発明の第1の実施の形態と同様にステップS3を実行し、検出した帳票領域および帳票の種類に応じた帳票パラメータに基づいて、文字枠の仮の位置を決定する。
次に、文字枠検出部22は、決定した文字枠の仮の位置に基づいて、検出パラメータを用いて、非ドロップアウト画像から文字枠を検出する(ステップS14)。
次に、文字枠検出部22は、検出した文字枠のそれぞれについて、スコアを算出する(ステップS15)。
次に、文字枠補正部23の第1補正部231は、検出された文字枠について、隣接する文字枠列の間で、文字枠間における領域の重複を解消する(ステップS16)。このステップの詳細については後述する。
次に、文字枠補正部23の第2補正部232は、第1補正部231により補正された文字枠について、文字枠列の内部で、文字枠間における位置およびサイズのバラつき、並びに、領域の重複を解消する(ステップS17)。このステップの詳細については後述する。
次に、文字認識部24は、本発明の第1の実施の形態と同様にステップS7〜S8を実行する。すなわち、文字認識部24は、ドロップアウト画像から、文字枠補正部23によって補正された文字枠にしたがって画像を切り出し、切り出した画像毎に文字を認識する。
次に、文字認識部24は、文字を認識できなかった文字枠があるか否かを判断する(ステップS18)。
ここで、文字を認識できなかった文字枠がある場合、文字認識部24は、リトライ回数が閾値未満であるか否かを判断する(ステップS19)。
ここで、リトライ回数が閾値未満である場合、文字認識部24は、文字枠の再検出を、文字枠検出部22に要求する。そして、文字枠検出部22は、検出パラメータを変更する(ステップS20)
そして、文字認識装置2は、ステップS14からの処理を繰り返す。
一方、ステップS18で文字を認識できなかった文字枠がない場合、または、ステップS20でリトライ回数が閾値以上であった場合、文字認識装置2は、動作を終了する。
次に、ステップS16における第1補正部231の動作の詳細を、図6を参照して説明する。ここでは、帳票が横書きであり、文字枠として、横方向に一列に並んだ文字枠が定められているものとする。また、ここでは、第1補正部231は、帳票における2行目の左側の文字枠から、行内は右方向に、行単位では下方向に、最下行の右側の文字枠まで、この順序で補正処理を行うものとする。
まず、第1補正部231は、処理順序において最初の文字枠を選択する(ステップA1)。
次に、第1補正部231は、この文字枠について、上の行に隣接する文字枠があり、かつ、文字枠の領域が重複しているか否かを判断する(ステップA2)。
ここで、上の行に隣接する文字枠があり、文字枠の領域が重複している場合について説明する。この場合、第1補正部231は、領域が重複しなくなる位置まで、この文字枠の上端の枠線を下方向に移動し、上の行において隣接する文字枠の下端の枠線を上方向に移動する(ステップA3)。
一方、上の行に隣接する文字枠がないか、または、文字枠の領域が重複していない場合、第1補正部231は、この文字枠について処理を終了する。
そして、この文字枠が処理順序において最後の文字枠でない場合(ステップA4でNo)、第1補正部231は、次に処理を行う文字枠を選択する(ステップA5)。
そして、第1補正部231は、ステップA2からの処理を繰り返す。
一方、この文字枠が処理順序において最後の文字枠である場合(ステップA4でYes)、第1補正部231は、処理を終了する。
次に、ステップS17における第2補正部232の動作の詳細を、図7を参照して説明する。ここでは、帳票が横書きであり、文字枠として、横方向に一列に並んだ文字枠が定められているものとする。
ここでは、第2補正部232は、帳票に含まれる文字枠列のそれぞれについて、ステップB1〜B10の処理を実行する。
まず、第2補正部232は、この文字枠列に含まれる各文字枠について算出されているスコアに基づいて、基準となる文字枠を決定する(ステップB1)。
次に、第2補正部232は、この文字枠列における一番左側の文字枠を選択する(ステップB2)。
次に、第2補正部232は、この文字枠の上端の枠線と、基準となる文字枠の上端の枠線との縦位置の差が、閾値以上であるか否かを判断する(ステップB3)。
ここで、縦位置の差が閾値未満である場合、第2補正部232の動作は、ステップB5からの下端の枠線の処理に進む。
一方、縦位置の差が閾値以上である場合、第2補正部232は、その差が閾値未満となるよう、この文字枠の上端の枠線を移動する(ステップB4)。
次に、第2補正部232は、この文字枠の下端の枠線と、基準となる文字枠の下端の枠線との縦位置の差が、閾値以上であるか否かを判断する(ステップB5)。
ここで、縦位置の差が閾値未満である場合、第2補正部232の動作は、ステップB7からの領域の重複の処理に進む。
一方、縦位置の差が閾値以上である場合、第2補正部232は、その差が閾値未満となるよう、この文字枠の下端の枠線を移動する(ステップB6)。
次に、第2補正部232は、この文字枠と、右側に隣接する文字枠との間で、領域の重複があるか否かを判断する(ステップB7)。
ここで、領域の重複がない場合、第2補正部232の動作は、ステップB9に進む。
一方、領域の重複がある場合、第2補正部232は、領域が重複しなくなる位置まで、この文字枠の右端の枠線を左側に移動し、右側の文字枠の左端の枠線を右側に移動する(ステップB8)。このとき、第2補正部232は、この文字枠の幅と、右側の文字枠の幅とが、それぞれ、基準となる文字枠の幅により近づくように、枠線の移動を行う。
そして、この文字枠がこの文字枠列において最も右側の文字枠でない場合(ステップB9でNo)、第2補正部232は、この文字枠の右側の文字枠を選択する(ステップB10)。
そして、第2補正部232は、ステップB3からの処理を繰り返す。
一方、この文字枠がこの文字枠列において最も右側の文字枠である場合(ステップB9でYes)、第2補正部232は、この文字枠列について処理を終了する。
帳票に含まれる全ての文字枠列について上述のステップB1〜B10の処理を完了すると、第2補正部232は処理を終了する。
次に、文字認識装置2の動作を具体例で示す。
この具体例では、まず、画像取得部11は、対象となる帳票について、図8に示す非ドロップアウト画像と、図9に示すドロップアウト画像を取得したものとする(ステップS1)。図8および図9に示すように、この非ドロップアウト画像およびドロップアウト画像において、帳票が歪んでいる。
次に、文字枠検出部22は、図8の非ドロップアウト画像においてエッジ検出を行う。検出されるエッジは、帳票の歪みのため、矩形ではない。そこで、文字枠検出部22は、検出したエッジを矩形で近似して、図10に示すように、矩形の帳票領域を取得する(ステップS2)。
次に、文字枠検出部22は、図10の帳票領域に含まれる所定範囲のキーワード「お振り込み」を認識することにより、この帳票の種類を識別する。そして、文字枠検出部22は、種類「お振り込み」を表す情報に関連付けてあらかじめ記憶していた帳票パラメータを取得する(ステップS13)。ここでは、帳票パラメータは、帳票領域の中心を基準とした各文字枠の位置、および、各文字枠列を構成する文字枠を特定する情報である。
次に、文字枠検出部22は、図10の帳票領域の中心を基準として、帳票パラメータに基づいて、文字枠の仮の位置を決定する(ステップS3)。
次に、文字枠検出部22は、決定した文字枠の仮の位置に基づいて、検出パラメータを用いて、非ドロップアウト画像から文字枠を検出する(ステップS14)。ここでは、図11に太線で示すように、文字枠が検出されたものとする。
なお、図11では、検出された文字枠のサイズや位置にバラつきがある。これは、帳票が歪んでいるため、仮の文字枠の枠線の位置から所定範囲において、文字枠以外の線分や他の文字枠の枠線が誤って検出されているケースがあるためである。また、図11において、文字枠の枠線が、線分等の無い領域に検出されているケースがある。これは、仮の文字枠の枠線の位置から所定範囲において、枠線に相当する線分が検出されず、そのために、仮の文字枠の枠線がそのまま適用されたためである。
次に、文字枠検出部22は、検出した文字枠のそれぞれについて、スコアを算出したものとする(ステップS15)。
次に、文字枠補正部23の第1補正部231および第2補正部232は、ステップS16およびステップS17を実行する。これにより、図12に示すように、文字枠間の重複が解消されるとともに、文字枠列内における位置およびサイズのバラつきが解消された。
そして、文字認識部24は、図13に示すように、ドロップアウト画像から、補正された文字枠にしたがって画像を切り出す。そして、文字認識部24は、切り出した画像毎に文字を認識する(ステップS17)。
ここでは、文字を認識できなかった文字枠はなかったものとする(ステップS18でNo)。そこで、文字認識装置2は、動作を終了する。
以上で、具体例の説明を終了する。
次に、本発明の第2の実施の形態の効果について述べる。
本発明の第2の実施の形態としての文字認識装置は、読み取り画像において帳票が歪んでいる場合にも、さらに精度よく文字を認識することができる。
その理由について説明する。本実施の形態では、本発明の第1の実施の形態と同様の構成に加えて、文字枠検出部が、検出した文字枠について、実際の文字枠の位置と一致する確からしさを表すスコアを算出する。そして、文字枠補正部において、第1補正部が、隣接する文字枠列の間において、文字枠間の領域の重複を解消するよう文字枠を補正する。また、第2補正部が、それぞれの文字枠列において、スコアに基づいて基準となる文字枠を決定する。そして、第2補正部が、文字枠列において、基準となる文字枠に基づいて、文字枠間での位置およびサイズのばらつき、並びに、領域の重複を解消するよう、文字枠を補正するからである。
これにより、本実施の形態は、非ドロップアウト画像から検出した文字枠が、帳票の歪みに伴い位置がずれている場合や、枠線の一部が検出できていない場合にも、文字枠の補正をさらに精度よく行うことができる。その結果、本実施の形態は、より精度よく文字を認識することができる。
また、本実施の形態は、文字を認識できなかった文字枠がある場合には、文字枠列の単位で、検出パラメータを変更して文字枠の検出からやり直す。このため、本実施の形態は、読み取り画像において帳票が歪んでいる場合にも、最終的に認識できない文字を極力減らすことができる。
なお、本実施の形態において、帳票において横方向に一例に配列された文字列を文字枠列とする例を中心に説明した。ただし、文字枠列を構成する文字枠が配列される方向は、限定されない。文字枠列が横方向以外の方向に一列に配列されている場合、本実施の形態は、上述の説明および図面において用いた上、下、左、右等の方向を表す単語を、適宜、他の方向を表す単語に置き換えることにより、同様に説明可能である。例えば、帳票において縦方向に一例に配列された文字列を文字枠列とする場合、上、下、左、右の単語は、それぞれ、右、左、上、下の単語に置き換えられる。
また、本実施の形態の具体例において、第1補正部が、文字枠を補正する処理順序として、帳票における2行目の左側の文字枠から、行内は右方向に、行単位では下方向に、最下行の右側の文字枠まで、この順序で補正処理を行うものとして説明した。ただし、第1補正部による文字枠の処理順序は、これに限定されない。
また、本実施の形態の具体例において、第1補正部が、文字枠を補正する処理において、選択した文字枠に対して上の行において隣接する文字枠との間で領域の重複を判定する例について説明した。ただし、第1補正部は、選択した文字枠に対して下の行において隣接する文字枠との間で領域の重複を判定してもよい。
また、本実施の形態の具体例において、第2補正部が、最も左の文字枠から順に右方向に順次文字枠を選択して補正する例について説明した。ただし、第2補正部が文字枠列の内部で文字枠を補正する順序は、これに限定されない。
また、上述した本発明の各実施の形態において、帳票は、紙媒体である例を中心に説明したが、紙媒体に限定されない。例えば、帳票は、帳票を表す情報が画面に表示された表示画面であってもよい。また、例えば、帳票は、ナンバープレートやパッケージ基板等のような紙以外の印刷物や刻印物であってもよい。その他、帳票は、読み取り装置によって読み取られることによりコンピュータ装置によって処理可能な画像データとなり得る媒体であれば、他の媒体であってもよい。なお、紙媒体の帳票は、スキャナ装置によって読み取り可能である。また、表示画面やナンバープレート、パッケージ基板等の帳票は、カメラによって読み取り可能である。
また、上述した本発明の各実施の形態において、文字枠は、4本の枠線からなる独立した矩形であるものとして説明した。ただし、文字枠は、独立した矩形に限定されない。例えば、文字枠は、縦方向および横方向に引かれた罫線によって区切られる1文字分の記入スペースであってもよい。その他、文字枠は、1文字分の記入スペースとしてコンピュータ装置により認識可能であれば、どのような図形要素により構成されていてもよい。
また、上述した本発明の各実施の形態において、文字認識装置の各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
また、上述した本発明の各実施の形態において、文字認識装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した文字認識装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。