(57)【特許請求の範囲】
【請求項１】
文字認識枠が設けられた帳票の文字を認識する文字認識装置において、
１つの文字認識枠に記入されている文字の濃淡パターンに応じた特徴ベクトルを抽出し、特徴ベクトルを入力とする異なる文字数の文字数判別関数の関数値と閾値との大小関係に応じて文字数を判定する手段と、
前記文字認識枠の文字画像から前記判定手段の判定結果に基づいた字数の文字を１文字毎に切り出して認識する手段と、
を具備することを特徴とする文字認識装置。
【請求項２】
前記文字数判別関数は文字数がｎ（ｎは任意の整数）の場合は第１の関数値、ｎでは無い場合は第２の関数値をとるｎ文字判別関数であることを特徴とする請求項１に記載の文字認識装置。
【請求項３】
文字認識枠が設けられた帳票の文字を認識する文字認識方法において、
帳票の文字画像を入力し、
１つの文字認識枠内の文字の濃淡パターンに応じた画像の特徴ベクトルを求め、
前記特徴ベクトルを入力とする異なる文字数の文字数判別関数の関数値と閾値との大小関係に基づいて１つの文字認識枠内の文字数を判定し、
判定した文字数に基づいて前記文字認識枠内の文字画像から文字を１文字毎に切り出し、
切り出した文字の特徴ベクトルと辞書に予め記憶されている各文字の特徴ベクトルとの内積を求めて認識することを特徴とする文字認識方法。
【請求項４】
前記文字数の判定は、
１文字判別関数を用いて１文字であるか否かを判定し、
否であると判定された場合は、上限まで順次文字数を増やした文字判別関数を用いて、同様な判定を行なうことを特徴とする請求項３記載の文字認識方法。
【請求項５】
文字認識枠が設けられた帳票の文字を認識する文字認識プログラムを記憶するコンピュータ読み取り可能な記録媒体において、前記文字認識プログラムは、コンピュータに、
１つの文字認識枠に記入されている文字の濃淡パターンに応じた特徴ベクトルを抽出し、特徴ベクトルを入力とする異なる文字数の文字数判別関数の関数値と閾値との大小関係に応じて文字数を判定させる機能と、
前記文字認識枠の文字画像から前記判定手段の判定結果に基づいた字数の文字を１文字毎に切り出して認識させる機能と、
を実現させるためのプログラムであることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は所定の用紙（以下、帳票と称する）に記入された文字を認識する文字認識装置、文字認識方法、及び記録媒体に関する。
【０００２】
【従来の技術】
光学的文字認識装置（以下、ＯＣＲと略称する）では入力専用のドロップアウトカラー帳票や多くの既存帳票を読み取るもので、ＯＣＲ入力の効率化を図るために、１文字毎に文字枠を設け、利用者に文字枠内に文字を記入させることにより、近接する文字同士の干渉を避けることができるように帳票を設計することが多かった。このような帳票に対してＯＣＲ読み取りアルゴリズムを設計する場合、読み取り仕様としては、各文字枠内には文字が記入されていない場合、あるいは１文字が記入されている場合の２つの場合のみを想定している。そのため、１文字枠に２文字以上の文字が記入されている場合は仕様外であり、正しい読み取りを行うことは原理的に不可能であった。
【０００３】
例えば、特開平８−２１２３０１号公報記載の文字ピッチ情報や文字ストローク情報を用いた文字数推定方法では、このような仕様の帳票に対しては、１文字枠に１文字が記載された帳票仕様どおりの記入文字に対しては文字ピッチを求めることはしないし、１文字枠に２文字が記載され、これら２文字に接触がない場合には、文字ストローク情報を使った文字数推定を行うこともできない。
【０００４】
また、特開２０００−３３９４０８号公報に記載されたペリフェラル情報と文字枠情報とを組み合わせて文字数推定を行う方法も、１文字枠に複数文字が記入された場合には適用は困難である。
【０００５】
【発明が解決しようとする課題】
このように従来の文字認識装置では、１文字毎に文字枠を設けた帳票を使用することを前提として認識アルゴリズムを設計しており、１文字枠に２文字以上の文字が記入されている場合は仕様外として正しく認識できなかった。
【０００６】
本発明は１文字枠内に複数文字が記入されている場合でも、正しく認識可能な文字認識装置、文字認識方法、及び記録媒体を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記した課題を解決し目的を達成するために、本発明は以下に示す手段を用いている。
【０００８】
本発明の一実施態様による文字認識装置は、文字認識枠が設けられた帳票の文字を認識する文字認識装置において、１つの文字認識枠に記入されている文字の濃淡パターンに応じた特徴ベクトルを抽出し、特徴ベクトルを入力とする異なる文字数の文字数判別関数の関数値と閾値との大小関係に応じて文字数を判定する手段と、前記文字認識枠の文字画像から前記判定手段の判定結果に基づいた字数の文字を１文字毎に切り出して認識する手段とを具備するものである。
本発明の他の実施態様による文字認識方法は、文字認識枠が設けられた帳票の文字を認識する文字認識方法において、帳票の文字画像を入力し、１つの文字認識枠内の文字の濃淡パターンに応じた画像の特徴ベクトルを求め、前記特徴ベクトルを入力とする異なる文字数の文字数判別関数の関数値と閾値との大小関係に基づいて１つの文字認識枠内の文字数を判定し、判定した文字数に基づいて前記文字認識枠内の文字画像から文字を１文字毎に切り出し、切り出した文字の特徴ベクトルと辞書に予め記憶されている各文字の特徴ベクトルとの内積を求めて認識するものである。
本発明の他の実施態様による記録媒体は、文字認識枠が設けられた帳票の文字を認識する文字認識プログラムを記憶するコンピュータ読み取り可能な記録媒体において、前記文字認識プログラムは、コンピュータに、１つの文字認識枠に記入されている文字の濃淡パターンに応じた特徴ベクトルを抽出し、特徴ベクトルを入力とする異なる文字数の文字数判別関数の関数値と閾値との大小関係に応じて文字数を判定させる機能と、前記文字認識枠の文字画像から前記判定手段の判定結果に基づいた字数の文字を１文字毎に切り出して認識させる機能とを実現させるためのプログラムである。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明による文字認識装置、文字認識方法、及び記録媒体の実施形態を説明する。
【００１２】
図１は、本発明の第１実施形態に係る文字認識装置の構成を示す図である。
【００１３】
入力部１０は、スキャナやデジタルカメラ等からなり、帳票上の文字の濃淡を電子信号に変換し、文字画像を得る。
【００１４】
前処理部１２は入力部１０により入力された文字画像に対して、２値化、エッジ検出、ノイズ除去、ラベル画像生成等の画像処理を行う。
【００１５】
フォーマット処理部１４は前処理部１２で処理された文字画像に対して、帳票フォーマットの解析を行い、帳票上の文字認識枠が形成されている読み取りフィールドの位置を決定する。読み取りフィールドの位置が決まると、文字数判定部１６により読み取りフィールドの文字枠中の文字数を判定し、判定された文字数の情報を基に文字切り出し部１８により１文字毎の文字画像を切り出す。切り出しは種々の手法があるが、例えば黒画素の連結成分の外接矩形を用いて文字を切り出す手法、射影を使って文字を切り出す手法がある。
【００１６】
文字切り出し部１８から出力された１文字毎の文字画像は文字認識部２０に供給され、文字画像の特徴ベクトルが抽出される。文字認識部２０は得られた特徴ベクトルと予め用意されている各文字の特徴ベクトルを記憶する辞書（図示せず）との比較を行い、候補文字を決定（文字認識）する。ここでは、文字認識枠を例えば１０×１０の画素に分割し、その画素の濃淡パターンを特徴ベクトルとし、辞書データの特徴ベクトルとの内積を求めてどの文字かを認識する。後処理部２２では文字認識結果の編集や訂正を行う。出力部２４では出力媒体に応じた認識結果のフォーマット変換やデータ変換を行う。
【００１７】
図２は、本実施形態が読み取り対象としている帳票の例を示す。この帳票例は通信販売の商品の注文票であり、各商品名の後に個数を記入する枠（読み取りフィールド）が設けられ、各読み取りフィールドには１文字（１数字）が記入されることを意図して帳票設計がされている。しかし、３番目の品名：チーズの項目では１枠内に“１２”と２文字が記入されており、本帳票の仕様外の記入になっている。しかし、本実施形態ではこのように１読み取りフィールドの文字枠中に２文字が記入されている帳票も認識可能である。これを実現するために、本実施形態では文字切り出し手段１８の前に文字数判定部１６が設けられ、１フィールド内に何文字記入されているかが判断され、この判断結果に基づいてフィールドから文字が切り出される。こうして切り出された文字を認識することにより、文字枠内に２文字が記入されたとしても、読み取り不能とするのではなく、認識した２文字を出力する。
【００１８】
図３は、文字数判定部１６の動作概要を示す流れ図である。前処理、及びフォーマット処理後の文字画像が入力されると（ステップＳ１０）、ステップＳ１２で文字画像内に読み取りフィールド（例えば、読み取り行毎に文字の記入の有無を示す数字又は記号が記入）が存在するか否か判断される。無い場合は、処理が終了する。読み取りフィールドがある場合は、ステップＳ１４で１つの読み取りフィールドが指定され、ステップＳ１６でその文字枠中に文字画像があるか否か判断される。文字枠中に文字画像が無い場合は、ステップＳ１８で文字数は０とされ、ステップＳ３２で全部の読み取りフィールドについての処理が終了したか否か判定される。全部の読み取りフィールドについての処理が終了すると、処理が終了する。未処理の読み取りフィールドが残っている場合は、ステップＳ３４で次の読み取りフィールドが指定され、ステップＳ１６の処理（読み取りフィールドの文字枠中に文字画像があるか否かの判定）が繰り返される。
【００１９】
ステップＳ１６で読み取りフィールドの文字枠中に文字画像があると判定された場合は、ステップＳ２０で文字数の仮定数を示す変数ｎに１をセットする。ステップＳ２２で、変数ｎが上限値Ｎ以下であるか否か判定する。上限値Ｎに達した場合は、ステップＳ２４で文字数は不定（判定不可能）とし、ステップＳ３２へ進み、全部の読み取りフィールドについての処理が終了したか否か判定される。
【００２０】
変数ｎが上限値Ｎ以下である場合は、ステップＳ２６で読み取りフィールドの文字枠中の文字数がｎであると仮定し、この仮定が正しいか否かを判定する。この判定は種々の方法があるが、ここでは、文字画像の特徴ベクトルの関数であるｎ文字判別関数を用いて、その関数値と閾値との大小関係により仮定が正しいか否か判定する（詳細は図４に示す）。文字数がｎであるという仮定が妥当であると判断された場合は、ステップＳ２８で文字数はｎとされ、ステップＳ３２へ進み、全部の読み取りフィールドについての処理が終了したか否か判定される。
【００２１】
ステップＳ２６で読み取りフィールドの文字枠中の文字数がｎであるという仮定が妥当ではないと判断された場合は、ステップＳ３０でｎが＋１され、ステップＳ２２に戻る。
【００２２】
このように本実施形態では読み取りフィールドの文字枠中に文字画像があると判断された場合は、１文字判別関数、２文字判別関数、…（Ｎ−１）文字判別関数を順次用いて文字数を判定し、（Ｎ−１）文字判別関数を用いても判定不能の場合は文字数を未定とする。
【００２３】
次に、ｎ文字判別関数を用いる判別動作（図３のステップＳ２６）について説明する。図４はｎ＝１の場合、すなわち文字数が１文字か否（複数文字）かの判別を行う１文字判別関数を用いた判別動作を示す流れ図である。
【００２４】
前処理、及びフォーマット処理後の読み取りフィールドの文字枠中の文字画像が入力されると（ステップＳ４０）、ステップＳ４２で文字画像から予め定められた特徴抽出アルゴリズムにより文字特徴の抽出を行い、特徴ベクトルを生成する。ステップＳ４４で、この特徴ベクトルを入力とした１文字判別関数の値を計算する。ステップＳ４６で、この関数値が予め定められた閾値より大きいか否かを判定し、大きければステップＳ４８で文字数１という仮定が妥当であるとの判断を行う。一方、この関数値が閾値よりも大きくなければ、１文字と仮定したことは間違いであり、すなわち、文字数は複数文字であると判断する。なお、関数値と閾値との大小関係を比較する場合、本実施形態では閾値より大きい場合はｎ文字の仮定が正しいとし、大きくない場合は仮定が間違いであるとしたが、判別関数の定義に応じてこれらの大小関係は入れ代えることができる。
【００２５】
同様に、ｎ文字判別関数の場合も、関数値が閾値より大きい場合はｎ文字であり、関数値が閾値よりも大きくなければ、文字数はｎではない、すなわち、（ｎ＋１）文字以上であるとする。
【００２６】
次に、ｎ文字判別関数の構成方法について説明する。例としては、ｎ＝１の場合を説明する。まず、１つの読み取りフィールドの文字枠中に１文字が記入されている文字画像サンプルと２文字以上が記入されている文字画像サンプルとを多数用意する。これらの文字画像サンプルに対して文字数判定部１６で用いられる特徴抽出アルゴリズムと同じ特徴抽出アルゴリズムにより各フィールドの特徴ベクトルを生成する。各フィールドの特徴ベクトルに対して、文字数が１文字か複数文字かに応じて符号を与える。たとえば１文字の場合は特徴ベクトルに対して＋１、複数文字の場合は−１の符号を与える。全てのサンプルの全てのフィールドの特徴ベクトルに対して、特徴ベクトルを入力とし、符号を出力とするような１文字判別関数を決定する。この決定は、図５に示すように、最小二乗法や回帰分析により回帰関数を求めることにより容易に決定できる。図５の判別関数の場合、閾値を０とすれば、判別関数の値が正ならば文字画像は１文字であると判断し、負であれば２文字以上であると判断できる。
【００２８】
以上の例ではｎ＝１の場合についてのｎ文字判別関数の構成法を説明したが、ｎ＞１の場合も同様にして判別関数を構成することができる。
【００２９】
以上説明したように、第１実施形態によれば、帳票の文字枠内の文字数を判定し、判定結果に基づいて文字を切り出して認識するので、１文字枠に２文字以上の文字が記入されている場合でも正しく認識できる。また、文字数判定は認識に使う特徴ベクトルと同じものを用いているので、高速に判定できるとともに、認識の際に特徴ベクトルを求める必要が無いので、全体の処理を短時間に行うことができる。さらに、文字数判定は文字数ｎを１から順次増やしていって、ｎ文字であるか否かだけを判定するので、高速に判定ができる。
【００３０】
変形例
本発明は上述した実施形態に限定されず、種々変形して実施可能である。例えば、上述の説明では、文字認識枠内には数字が記載されているが、これに限らず、仮名、漢字、記号等でも良い。
【００３１】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその趣旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組合わせた効果が得られる。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００３２】
【発明の効果】
以上説明したように本発明によれば、１文字枠内に複数文字が記入されている場合でも、文字数判定に従い文字認識が正しく実行することができる。また、文字数判定は認識に使う特徴ベクトルを使用する為、文字数判定に特別な処理時間を費やすことなく実行できる。
【図面の簡単な説明】
【図１】  本発明による文字認識装置の第１の実施形態の構成を示すブロック図。
【図２】  第１の実施形態で想定している帳票の一例を示す図。
【図３】  第１の実施形態の動作を示すフローチャート。
【図４】  第１の実施形態の１文字判別を示すフローチャート。
【図５】  回帰関数からなる文字数判別関数の一例を示す図。
【符号の説明】
１２…前処理部
１４…フォーマット処理部
１６…文字数判定部
１８…文字切り出し部
２０…文字認識部
【図１】
0004031210.tif 000002
【図２】
0004031210.tif 000003
【図３】
0004031210.tif 000004
【図４】
0004031210.tif 000005
【図５】
0004031210.tif 000006