(57)【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサに接続される記憶装置と、を備える文字認識装置であって、
前記記憶装置は、
認識対象の文字画像のデータと、前記文字画像と各文字種との類似度を計算するための関数を含む認識用辞書と、前記文字画像の劣化度を劣化の種類ごとに計算するための関数を含む複数の劣化判定用辞書と、を保持し、
前記劣化の種類ごとに、劣化が発生した前記各文字種の文字画像を保持し、
前記文字認識装置は、
前記類似度を計算するための前記文字画像の特徴を示す数値を抽出し、
前記抽出された類似度を計算するための特徴を示す数値と、前記認識用辞書に含まれる関数とを用いて、前記文字画像の前記各文字種に対する類似度を計算し、
前記劣化の種類ごとに、前記劣化度を計算するための前記文字画像の特徴を示す数値を抽出し、
前記劣化の種類ごとに、劣化度を目的変数、前記劣化が発生した前記各文字種の文字画像の特徴を示す数値を説明変数とする回帰学習を行うことによって、前記文字画像の劣化度を劣化の種類ごとに計算するための関数を生成して前記劣化判定用辞書に保存し、
前記抽出された劣化度を計算するための特徴を示す数値と、前記劣化判定用辞書に含まれる関数とを用いて、前記劣化の種類ごとに、前記文字画像の劣化度を計算し、
前記計算された劣化度に基づいて、前記文字画像の認識結果を棄却するか否かを判定し、
前記判定した結果を前記記憶装置に記録し、
文書画像を入力されると、前記文書画像の二値化又はノイズ除去の少なくとも一つを含む前処理を行い、
前記前処理がされた前記文書画像から文字列画像を切り出し、
前記文字列画像から前記文字画像を切り出し、
前記劣化の種類ごとに計算された劣化度に基づいて、前記文字画像の認識処理を再実行するか否かを判定し、
前記文字画像の認識処理を再実行すると判定した場合、前記前処理、前記文字列画像の切り出し、前記文字画像の切り出し、前記文字画像の特徴を示す数値の抽出、又は前記文字画像の前記各文字種に対する類似度の計算を、前記劣化度に応じて変更されたパラメータ又は処理方法を用いて再実行することを特徴とする文字認識装置。
【請求項２】
前記劣化の種類は、少なくとも、かすれによる劣化及びつぶれによる劣化の２種類を含み、
前記文字認識装置は、かすれによる劣化度が所定の値より大きい場合、二値化の閾値を黒と判定されやすくなるように変更されたパラメータ、又は、孤立点ノイズ除去処理を弱めるように変更されたパラメータの少なくとも一方を用いて前記前処理を再実行し、つぶれによる劣化度が所定の値より大きい場合、二値化の閾値を白と判定されやすくなるように変更されたパラメータ、又は、孤立点ノイズ除去処理を強めるように変更されたパラメータの少なくとも一方を用いて前記前処理を再実行することを特徴とする請求項１に記載の文字認識装置。
【請求項３】
前記文字認識装置は、前記文字画像の認識結果、前記文字画像の認識結果を棄却するか否かの判定結果、又は前記劣化度の少なくとも一つに応じて、前記文字画像を含む文書を分類することを特徴とする請求項２に記載の文字認識装置。
【請求項４】
前記文字認識装置は、
前記劣化の種類ごとに、前記類似度を目的変数、前記劣化が発生した前記各文字種の文字画像の特徴を示す数値を説明変数とする回帰学習を行うことによって、前記劣化の種類に応じた、前記文字画像の前記文字種に対する類似度を計算するための関数を生成し、
いずれかの劣化の種類について計算された劣化度が所定の値より大きい場合、当該劣化の種類に応じて生成された前記文字画像の前記文字種に対する類似度を計算するための関数を用いて、前記文字画像の前記各文字種に対する類似度の計算を再実行することを特徴とする請求項１に記載の文字認識装置。
【請求項５】
前記記憶装置は、前記類似度及び前記劣化の種類ごとの劣化度に基づいて棄却スコアを計算するための関数を含む棄却制御用辞書を保持し、
前記文字認識装置は、前記棄却制御用辞書に含まれる関数を用いて、前記計算された類似度及び前記計算された劣化度に対応する前記棄却スコアを計算し、
前記棄却スコアが所定の値を超える場合に、前記文字画像の認識結果を棄却すると判定することを特徴とする請求項１に記載の文字認識装置。
【請求項６】
プロセッサと、前記プロセッサに接続される記憶装置と、を備える文字認識装置が実行する文字認識方法であって、
前記記憶装置は、
認識対象の文字画像のデータと、前記文字画像と各文字種との類似度を計算するための関数を含む認識用辞書と、前記文字画像の劣化度を劣化の種類ごとに計算するための関数を含む複数の劣化判定用辞書と、を保持し、
前記劣化の種類ごとに、劣化が発生した前記各文字種の文字画像を保持し、
前記文字認識方法は、
前記類似度を計算するための前記文字画像の特徴を示す数値を抽出する第１手順と、
前記抽出された類似度を計算するための特徴を示す数値と、前記認識用辞書に含まれる関数とを用いて、前記文字画像の前記各文字種に対する類似度を計算する第２手順と、
前記劣化の種類ごとに、前記劣化度を計算するための前記文字画像の特徴を示す数値を抽出する第３手順と、
前記劣化の種類ごとに、劣化度を目的変数、前記劣化が発生した前記各文字種の文字画像の特徴を示す数値を説明変数とする回帰学習を行うことによって、前記文字画像の劣化度を劣化の種類ごとに計算するための関数を生成して前記劣化判定用辞書に保存する第４手順と、
前記抽出された劣化度を計算するための特徴を示す数値と、前記劣化判定用辞書に含まれる関数とを用いて、前記劣化の種類ごとに、前記文字画像の劣化度を計算する第５手順と、
前記計算された劣化度に基づいて、前記文字画像の認識結果を棄却するか否かを判定する第６手順と、
前記判定した結果を前記記憶装置に記録する第７手順と、
文書画像を入力されると、前記文書画像の二値化又はノイズ除去の少なくとも一つを含む前処理を行う第８手順と、
前記前処理がされた前記文書画像から文字列画像を切り出す第９手順と、
前記文字列画像から前記文字画像を切り出す第１０手順と、
前記劣化の種類ごとに計算された劣化度に基づいて、前記文字画像の認識処理を再実行するか否かを判定する第１１手順と、を含み、
前記第１１手順において、前記文字画像の認識処理を再実行すると判定された場合、前記第１手順、前記第２手順、前記第８手順、前記第９手順、又は前記第１０手順を、前記劣化度に応じて変更されたパラメータ又は処理方法を用いて再実行することを特徴とする文字認識方法。
【請求項７】
前記劣化の種類は、少なくとも、かすれによる劣化及びつぶれによる劣化の２種類を含み、
前記第１１手順において、前記文字画像の認識処理を再実行すると判定された場合、再実行される前記第８手順は、かすれによる劣化度が所定の値より大きい場合、二値化の閾値を黒と判定されやすくなるように変更されたパラメータ、又は、孤立点ノイズ除去処理を弱めるように変更されたパラメータの少なくとも一方を用いて前記前処理を再実行し、つぶれによる劣化度が所定の値より大きい場合、二値化の閾値を白と判定されやすくなるように変更されたパラメータ、又は、孤立点ノイズ除去処理を強めるように変更されたパラメータの少なくとも一方を用いて前記前処理を再実行する手順を含むことを特徴とする請求項６に記載の文字認識方法。
【請求項８】
前記文字認識方法は、さらに、前記文字画像の認識結果、前記文字画像の認識結果を棄却するか否かの判定結果、又は前記劣化度の少なくとも一つに応じて、前記文字画像を含む文書を分類する第１２手順を含むことを特徴とする請求項７に記載の文字認識方法。
【請求項９】
前記文字認識方法は、さらに、前記劣化の種類ごとに、前記類似度を目的変数、前記劣化が発生した前記各文字種の文字画像の特徴を示す数値を説明変数とする回帰学習を行うことによって、前記劣化の種類に応じた、前記文字画像の前記文字種に対する類似度を計算するための関数を生成する手順を含み、
前記第１１手順において、前記文字画像の認識処理を再実行すると判定された場合、再実行される前記第２手順は、いずれかの劣化の種類について計算された劣化度が所定の値より大きい場合、当該劣化の種類に応じて生成された前記文字画像の前記文字種に対する類似度を計算するための関数を用いて、前記文字画像の前記各文字種に対する類似度の計算を再実行する手順を含むことを特徴とする請求項６に記載の文字認識方法。
【請求項１０】
前記記憶装置は、前記類似度及び前記劣化の種類ごとの劣化度に基づいて棄却スコアを計算するための関数を含む棄却制御用辞書を保持し、
前記第６手順は、
前記棄却制御用辞書に含まれる関数を用いて、前記計算された類似度及び前記計算された劣化度に対応する前記棄却スコアを計算する手順と、
前記棄却スコアが所定の値を超える場合に、前記文字画像の認識結果を棄却すると判定する手順と、を含むことを特徴とする請求項６に記載の文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識技術に関し、特に、文字認識結果を棄却するか否かを判定する技術に関する。
【背景技術】
【０００２】
文字認識装置（ＯＣＲ装置）は、伝票・帳票類及び一般文書の文字の読み取りに用いられる。これによって、文書中の文字を電子データとして扱うことができる。伝票・帳票類には、一般企業、自治体、金融、保険、医療機関、教育機関などにおいて用いられる会計伝票、発注書、商品券、納付済通知書、給与報告書、納付済通知書、注文書、保険契約書、総振、源泉徴収、健康診断書、診療報酬明細書、解答用紙、入学願書などがある。また、一般文書には、オフィス又は個人において用いられる新聞、雑誌、技術資料、手書きメモなどがある。文字認識装置は、これらの文書からＩＤ、金融機関名、金額、商品名、個数、住所、名前などの項目を探索し、文字を読み取ることによって、これらの項目を電子化する。
【０００３】
文字認識の処理は、主に、文書のスキャンによる画像化、二値化（グレー化）及びノイズ処理などの前処理と、レイアウト解析処理、文字列抽出処理、文字列認識処理、リトライ処理及び結果記録などの認識後の処理と、に分けられる（図７）。
【０００４】
まず、文書の画像化では、スキャナなどを用いて、文書を電子画像化する。予め、文書が画像化されている場合には、この処理は必要ない。
【０００５】
前処理では、文書画像の二値化や背景除去、ノイズ処理、傾き補正などを行う。例えば、二値化については非特許文献４、傾き補正については非特許文献５に記述がある。
【０００６】
次に、レイアウト解析では、画像のテキスト部分と図などの非テキスト部分を分離したり（非特許文献６）、表の対応関係を解析したりする（特許文献１）。
【０００７】
次に文字列抽出では、テキスト部分から文字列を抽出する。一般文書の場合には、行単位の文字列となる。これについては、例えば、非特許文献７に記述がある。
【０００８】
文字列認識では、上記で抽出された文字列の認識を行う。これによって、文書中の文字が電子データ化される。ただし、所定の条件に基づいて、抽出された文字列に含まれる文字を認識できないと判定された場合は、当該文字の認識結果が棄却される。この場合、当該文字の認識は失敗し、この時点で当該文字は認識できない（不読）文字として扱われる。
【０００９】
リトライ処理では、認識をもう一度やり直すかどうか判断し、やり直すと判断した場合には、それより前の任意の処理から、処理の方法を変えて、認識を再トライする。例えば、前処理に戻り、二値化のパラメータを変えるなど、前回とは異なる方法で処理を行う。リトライ処理の結果、最初の認識では失敗したものでも、パラメータ等を変更して再び処理することによって、認識に成功する場合もある。
【００１０】
認識後の処理では、認識結果を認識結果データベースに保存したり、認識結果に基づいて、入力文書をソーティングしたりする。データベースには、認識結果とともに、スキャン画像を記録しておく場合もある。文書のソーティングは、たとえば、文書に記載された金額の大小、ＩＤ又は住所、などに基づいて行われる。また、認識が棄却された場合には、後の再処理のために、認識が棄却された文字を含む文書をそれ以外の文書と区別するように分類する場合もある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−２１０６８号公報
【特許文献２】特開２００７−３２８８２０号公報
【非特許文献】
【００１２】
【非特許文献１】Mohammed Cheriet, Nawwaf Kharma, and Cheng lin Liu, and Ching Suen, "Character Recognition Systems: A Guide for Students and Practitioners.", Wiley-Interscience, 2007.
【非特許文献２】T. M. Breuel, "Robust least square baseline finding using a branch and bound algorithm," in Document Recognition and Retrieval VIII, SPIE, San Jose, pp.20-27, 2002.
【非特許文献３】Breuel, T.M.: The OCRopus open source OCR system. In: Proceedings of SPIE Document Recognition and Retrieval XV, San Jose, CA, USA, pp. 0F1_0F15 (2008)
【非特許文献４】F. Shafait, D. Keysers, and T. M. Breuel, "Efficient implementation of local adaptive thresholding techniques using integral images," in Document Recognition and Retrieval XV, (San Jose, USA), Jan. 2008.
【非特許文献５】T. M. Breuel, "Robust least square baseline finding using a branch and bound algorithm," in Document Recognition and Retrieval VIII, SPIE, San Jose, pp.20-27, 2002.
【非特許文献６】D. Keysers, F. Shafait, and T. M. Breuel, "Document image zone classification − a simple high-performance approach," in 2nd Int. Conf. On Computer Vision Theory and Applications, pp. 44-51, Mar. 2007.
【非特許文献７】R. Smith, "An overview of the Tesseract OCR engine.," in Int. Conf. On Document Analysis and Recognition (ICDAR), Curitiba, Brazil, 2007.
【発明の概要】
【発明が解決しようとする課題】
【００１３】
劣化文字（例えば、かすれ又はつぶれなどを原因とする）は認識が困難な文字ではあるが、なるべく精度良く認識する必要がある。かすれ及びつぶれの例については後述する（図９参照）。
【００１４】
さらに、文字認識装置には、非文字が入力される可能性がある。そのため、これらを誤読しないように、精緻に棄却することが求められる。また、劣化文字も、認識が困難な場合には、誤読するよりも精緻に棄却することが求められる。
【課題を解決するための手段】
【００１５】
本発明の代表的な一例を示せば次の通りである。すなわち、プロセッサと、前記プロセッサに接続される記憶装置と、を備える文字認識装置であって、前記記憶装置は、認識対象の文字画像のデータと、前記文字画像と各文字種との類似度を計算するための関数を含む認識用辞書と、前記文字画像の劣化度を劣化の種類ごとに計算するための関数を含む複数の劣化判定用辞書と、を保持し、前記劣化の種類ごとに、劣化が発生した前記各文字種の文字画像を保持し、前記文字認識装置は、前記類似度を計算するための前記文字画像の特徴を示す数値を抽出し、前記劣化の種類ごとに、劣化度を目的変数、前記劣化が発生した前記各文字種の文字画像の特徴を示す数値を説明変数とする回帰学習を行うことによって、前記文字画像の劣化度を劣化の種類ごとに計算するための関数を生成して前記劣化判定用辞書に保存し、前記抽出された類似度を計算するための特徴を示す数値と、前記認識用辞書に含まれる関数とを用いて、前記文字画像の前記各文字種に対する類似度を計算し、前記劣化の種類ごとに、前記劣化度を計算するための前記文字画像の特徴を示す数値を抽出し、前記抽出された劣化度を計算するための特徴を示す数値と、前記劣化判定用辞書に含まれる関数とを用いて、前記劣化の種類ごとに、前記文字画像の劣化度を計算し、前記計算された劣化度に基づいて、前記文字画像の認識結果を棄却するか否かを判定し、前記判定した結果を前記記憶装置に記録し、文書画像を入力されると、前記文書画像の二値化又はノイズ除去の少なくとも一つを含む前処理を行い、前記前処理がされた前記文書画像から文字列画像を切り出し、前記文字列画像から前記文字画像を切り出し、前記劣化の種類ごとに計算された劣化度に基づいて、前記文字画像の認識処理を再実行するか否かを判定し、前記文字画像の認識処理を再実行すると判定した場合、前記前処理、前記文字列画像の切り出し、前記文字画像の切り出し、前記文字画像の特徴を示す数値の抽出、又は前記文字画像の前記各文字種に対する類似度の計算を、前記劣化度に応じて変更されたパラメータ又は処理方法を用いて再実行することを特徴とする。
【発明の効果】
【００１６】
本発明の一実施形態によれば、劣化の種類ごとにそれに適した方法で劣化の程度が計算され、それに基づいて認識結果を棄却するか否かが判定されるため、劣化文字を精緻に棄却することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態の文字認識装置のハードウェア構成を示すブロック図である。
【図２】従来の文字認識装置が実行する処理の流れを示す機能ブロック図である。
【図３】本発明の実施形態の文字認識装置が実行する処理の流れを示す機能ブロック図である。
【図４】本発明の実施形態における文字認識の処理の流れの具体例の説明図である。
【図５】本発明の実施形態の類似度算出部による類似度算出結果の説明図である。
【図６】本発明の実施形態の認識結果ＤＢに記録される、文字画像の劣化の状態を示す情報の説明図である。
【図７】本発明の実施形態の文字認識装置が実行する文字認識処理の手順を示すフローチャートである。
【図８】本発明の実施形態において扱われる劣化した文字画像の説明図である。
【図９】本発明の実施形態において分類される文字画像の劣化の種類の説明図である。
【図１０】本発明の実施形態の文字列認識部が実行する文字列の分割の説明図である。
【図１１】本発明の実施形態の文字列認識部によって扱われる文字列正解候補ネットワークの説明図である。
【図１２】本発明の実施形態の文字列辞書の説明図である。
【図１３】本発明の実施形態の文字特徴抽出部による文字特徴抽出方法の説明図である。
【発明を実施するための形態】
【００１８】
以下、図面を用いて本発明の実施形態を説明する。
【００１９】
図１は、本発明の実施形態の文字認識装置１０１のハードウェア構成を示すブロック図である。
【００２０】
文字認識装置１０１は、入力装置１０２、表示装置１０３、イメージ取得装置１０４、通信装置１０５、演算装置１０６、及び外部記憶装置１０７を備える。
【００２１】
入力装置１０２は、演算装置１０６によって実行されるプログラムを制御するためのコマンド、及び、文字認識装置１０１に接続される外部機器（図示省略）を制御するためのコマンド等を入力するための装置である。入力装置１０２は、例えば、キーボード又はマウス等である。
【００２２】
表示装置１０３は、処理内容等を適宜表示するディスプレイ装置等である。
【００２３】
イメージ取得装置１０４は、例えば光学スキャナのような、イメージ取得用の装置である。取得したイメージは、例えば、外部記憶装置１０７等に記憶される。
【００２４】
通信装置１０５は、文字認識装置１０１に接続される外部機器（例えばＰＣ（Personal Computer）又はサーバ等、図示省略）とデータを通信する。通信装置１０５は、例えば、外部機器からユーザによって入力された実行コマンド、画像データ及びテキストデータ等を受信する。さらに、通信装置１０５は、文字認識装置１０１による処理内容及び文字認識結果等を外部機器に送信してもよい。
【００２５】
演算装置１０６は、外部記憶装置１０７に記憶されるプログラム等に従って、文字認識等を実行するＣＰＵ（Central Processing Unit）である。
【００２６】
外部記憶装置１０７は、ＨＤＤ（Hard Disk Drive）及びメモリ等の外部記憶装置である。外部記憶装置１０７には、イメージ取得装置１０４によって取得された画像データ、演算装置１０６によって実行されるプログラム、及び、演算装置１０６によって実行される処理の結果として生成されるデータ等が記憶される。さらに、外部記憶装置１０７には、演算装置１０６によって実行される処理の途中で生成されるデータ等も一時的に記憶される。
【００２７】
なお、文字認識装置１０１は、少なくとも演算装置１０６及び外部記憶装置１０７を備えていればよく、入力装置１０２、表示装置１０３、イメージ取得装置１０４及び通信装置１０５の全てを備えなくてもよい。
【００２８】
文字認識装置１０１は、入力装置１０２を備えない場合、外部機器から通信装置１０５を介して受けた指示に従って処理を開始してもよいし、指定された時刻に処理を自動的に開始してもよい。
【００２９】
文字認識装置１０１は、表示装置１０３を備えない場合、通信装置１０５を介して処理結果を外部機器に送信してもよいし、外部記憶装置１０７に処理結果を記憶してもよい。
【００３０】
処理を実行するモジュール（後述）への入出力は、外部記憶装置１０７を介して行われてもよい。例えば、処理部１（図示省略）が処理結果を出力し、その処理結果が処理部２（図示省略）に入力される場合、処理部１が処理結果を外部記憶装置１０７に出力し、外部記憶装置１０７がその処理結果を記憶し、処理部２が外部記憶装置１０７に記憶された処理結果を入力として取得してもよい。
【００３１】
ユーザは、入力装置１０２を介して、処理を実行するモジュールを制御することができる。
【００３２】
図７は、本発明の実施形態の文字認識装置１０１が実行する文字認識処理の手順を示すフローチャートである。
【００３３】
図７のフローチャートは、文字認識装置１０１が実行する文字認識処理の概要を示す。各部が実行する具体的な処理内容については図３等を参照して後述する。
【００３４】
文字認識装置１０１は、伝票、帳票又は一般文書等の文書を入力されると、最初に文書を画像化する（ステップ７０１）。この処理は、イメージ取得装置１０４によって行われる。次に、文字認識装置１０１の前処理部２０１（後述）が前処理（ステップ７０２）を実行する。次に、文字列切出部２０２（後述）がレイアウト解析（ステップ７０３）及び文字列抽出（ステップ７０４）を実行する。次に、文字列認識部３００（後述）が文字列認識（ステップ７０５）を実行する。次に、リトライ判定部３１６（後述）が処理を再試行するか否かを判定し、再試行すると判定された場合は、前処理部２０１、文字列切出部２０２及び文字列認識部３００の少なくとも一つと、それに続く処理がリトライ（再試行）処理（ステップ７０６）を実行する。次に、認識結果記録部３１７及び文書分類部３１９（後述）が認識後の処理（ステップ７０７）を実行する。
【００３５】
なお、従来の文字認識装置（図２参照）が実行する処理の手順も、図７と同様である。ただし、既に説明したように、少なくともステップ７０５及び７０６における本実施形態の文字認識装置１０１の具体的な処理内容は、従来の処理内容と異なる。
【００３６】
図２は、従来の文字認識装置が実行する処理の流れを示す機能ブロック図である。
【００３７】
従来の文字認識装置は、画像入力部２００、前処理部２０１、文字列切出部２０２、文字列認識部２０３、リトライ判定部２１０、認識結果記録部２１１、認識結果データベース（ＤＢ）２１２、文書分類部２１３及び認識用辞書生成部２１４を備える。文字列認識部２０３は、文字特徴抽出部２０４、類似度算出部２０５、文字認識用辞書２０６、棄却判定部２０７、文字列認識部２０８及び文字列辞書２０９を含む。認識用辞書生成部２１４は、文字特徴抽出部２０４、認識学習用ＤＢ２１６及び認識用辞書生成部２１７を含む。
【００３８】
図２に示す文字認識装置が本実施形態と同様のハードウェア（図１）によって実現される場合、上記の辞書及びＤＢは、外部記憶装置１０７に格納される。一方、上記のうち辞書及びＤＢ以外の各部は、外部記憶装置１０７に記憶されたプログラムを演算装置１０６が実行し、必要に応じて入力装置１０２、表示装置１０３、イメージ取得装置１０４、通信装置１０５、外部記憶装置１０７及び外部機器（図示省略）等を制御することによって実現される。したがって、以下の説明において上記の各部が実行する処理は、実際には、演算装置１０６によって実行される。
【００３９】
以下、図２の各部について説明する。
【００４０】
画像入力部２００は、イメージ取得装置１０４として設けられたスキャナ等を用いて、一般文書、帳票又は伝票等の文書を光学的に走査することによって、文書画像イメージを取得する。取得される画像イメージは、カラー画像、グレー画像又は白黒画像等である。さらに、画像入力部２００は、特定の色（背景色）等を除去するための処理を実行してもよい。
【００４１】
前処理部２０１は、文書画像の二値化（白黒画像化）、ノイズ除去及び背景処理等を行う。二値化等は公知の方法によって行うことができるため、詳細な説明は省略する。その一例が非特許文献１に記載されている。
【００４２】
文字列切出部２０２は、文書画像中の文字列を探索し、文字列画像を切り出す。一般文書からの文字列探索方法については、例えば非特許文献２に記載されている。帳票からの文字列の探索については、例えば、特許文献１、特許文献２及び非特許文献３に記載されている。例えば、帳票の場合、文字列切出部２０２は、まず、枠線を探索し、枠線で囲まれた矩形部分を文字列として切り出してもよい。
【００４３】
文字列認識部２０３は、文字列画像から個々の文字の画像を切り出し、それぞれの文字を認識することによって、文字列を文字コード（又は文字を表すコード）の列として出力する。ただし、後述するように、所定の条件が満たされる場合には、文字列認識部２０３は、文字の認識が困難であると判定し、認識結果を棄却する。この場合、当該文字は「不読」として扱われる。このような文字の認識は公知の方法（例えば非特許文献１参照）によって行うことができる。詳細な処理は、文字特徴抽出部２０４、類似度算出部２０５、棄却判定部２０７及び文字列認識部２０８によって行われる。
【００４４】
文字列辞書２０９には、読み取り対象となる文字列の辞書が保存され、認識結果は、文字列辞書２０９に入っている文字列の中から選択される。読み取り対象の例は、住所、日付又は金額等である。例えば住所の場合、読取対象とする全ての住所を表示する文字列が文字列辞書２０９に格納され、文字列認識部２０８は、格納された住所を表示する文字列のいずれかを認識結果として選択する。
【００４５】
図４は、本発明の実施形態における文字認識の処理の流れの具体例の説明図である。
【００４６】
例えば、文書画像として給与明細書等の帳票画像４０１が入力されると、文字列切出部２０２が読み取り対象である金額欄４０１Ａの文字列画像４０２を切り出す。例えば、文字列切出部２０２は、金額欄４０１Ａの周囲の枠線を探索し、その枠線で囲まれた矩形部分の文字列画像４０２を切り出す。続いて、文字列認識部２０３が文字列画像４０２から個々の文字の画像（例えば文字画像４０３Ａ）を切り出す。この切り出し（分割）の方法については後述する（図１０等参照）。続いて、文字列認識部２０３が個々の文字画像に含まれる文字を認識し、電子化された文字列４０４、例えば金額を表す文字列「７，８９０，１２３」が得られる。この認識の方法については後述する（図１３、図５等参照）。
【００４７】
次に、文字列認識部２０８の処理の例を、図１０を参照しながら説明する。
【００４８】
図１０は、本発明の実施形態の文字列認識部が実行する文字列の分割の説明図である。
【００４９】
文字列認識部２０８は、文字列画像を文字単位の画像に分割するために、まず、文字列画像を複数のパターンに分割する。
【００５０】
図１０の文字列１００１は、文字列切出部２０２によって分割され、文字列認識部２０３に入力された文字列画像の例である。
【００５１】
分割結果１００２は、文字列１００１の分割結果の一例である。ノード１００２Ａ〜１００２Ｅは文字列１００１の分割点であり、分割結果１００２は文字列１００１が四つの部分（以下、「パターン」とも記載する）１００２Ｆ〜１００２Ｉに分割された例を示す。これらの四つのパターンの各々、及び、隣接する複数のパターンを合成することによって得られたパターン（以下、「合成パターン」とも記載する）が文字画像候補となる。
【００５２】
各パターン（合成パターンを含む）は、それぞれの先頭に対応するノードと、末尾に対応するノードとの組によって表すことができる。図１０の例では、二つのノードの組が5Ｃ2＝１０通り存在するため、１０個のパターン（うち６個は合成パターン）が存在する。長い文字列が入力された場合には、分割点の個数が多いために合成パターンの数が膨大になる。この場合、合成パターンの個数を制限することによってその数が膨大になることを防いでもよい。
【００５３】
文字候補パターン１００３は、上記の四つのパターン１００２Ｆ〜１００２Ｉに二つの合成パターン１００２Ｊ〜１００２Ｋを加えた文字候補ネットワークを示す。合成パターン１００２Ｊはパターン１００２Ｆ及び１００２Ｇの合成であり、合成パターン１００２Ｋはパターン１００２Ｇ及び１００２Ｈの合成である。図１０の例では存在しうる６個の合成パターンのうち二つのみを示したが、他の合成パターンがさらに追加されてもよい。
【００５４】
図１０に例示する文字候補パターン１００３は、６個の文字候補パターン（すなわちパターン１００２Ｆ〜１００２Ｋ）を含む。文字列認識部２０３は、これらの文字候補パターンの各々について文字認識を行うことによって、正解候補となる文字列を選択する。この文字認識は、文字特徴抽出部２０４、類似度算出部２０５及び棄却判定部２０７によって実行され、その際に文字認識用辞書２０６が参照される。
【００５５】
図１１は、本発明の実施形態の文字列認識部によって扱われる文字列正解候補ネットワークの説明図である。
【００５６】
図１１に示す文字列正解候補ネットワークは、図１０に示す文字候補パターン１００３に文字認識の結果を付け加えたものである。例えば、パターン１００２Ｆは、「ｔ」又は「ｌ」と認識される。
【００５７】
この文字列正解候補ネットワークの左端のノード１００２Ａから右端のノード１００２Ｅに到達する各ルートが一つの正解候補文字列となる。例えば、パターン１００２Ｆ、１００２Ｇ、１００２Ｈ及び１００２Ｉをそれぞれ「ｔ」、「ｌ」、「ｒ」及び「ｌ」と認識した場合の文字列「ｔｌｒｌ」、パターン１００２Ｆ、１００２Ｋ及び１００２Ｉをそれぞれ「ｔ」、「ｈ」及び「ｅ」と認識した場合の文字列「ｔｈｅ」等が正解候補文字列となる。
【００５８】
文字列認識部２０８は、正解候補文字列のうち、文字列辞書２０９に保存されている文字列の形式に合致するものから、文字認識結果の類似度に基づいて、尤もらしい正解候補文字列を最終的な正解候補として選択する。ただし、文字認識結果の類似度が所定の値より小さい、又は、いずれの正解候補文字列も文字列辞書２０９に保存された文字列形式に合致しない、等の所定の条件が満たされる場合には、文字認識の結果が棄却され、文字列は不読として扱われる。
【００５９】
図１２は、本発明の実施形態の文字列辞書２０９の説明図である。
【００６０】
文字列辞書２０９には、読み取り対象となる文字列を同定するための情報が保存される。しかし、例えば住所に関する辞書において、出現しうる全ての住所の文字列を保存しようとすると、そのデータ量は莫大となるため、トライ型の辞書構造が広く用いられる。図１２には、一例として、英語の曜日を表す７個の単語の辞書を示す。左端のノードから右方向のノードを順次辿って得られる単語が辞書に保存された単語である。同一の文字列を含む部分（例えば「ｄａｙ」）を共有することによって容量が削減される。
【００６１】
次に、分割結果として得られた個々のパターン１００２Ｆ〜１００２Ｋを認識するためのモジュールである文字特徴抽出部２０４、類似度算出部２０５、文字認識用辞書２０６及び棄却判定部２０７について説明する。
【００６２】
文字特徴抽出部２０４は、文字画像に含まれる文字の特徴をベクトル値ｘ＝（ｘ１，ｘ２，・・・，ｘｎ）に変換することによって数値化する。画像から特徴を抽出する方法として、画素特徴抽出法、輪郭特徴抽出法又は勾配特徴抽出法等が広く用いられる（非特許文献１参照）。本実施形態ではどのような文字特徴抽出方法が用いられてもよい。最も簡単な文字特徴抽出の例を、図１３を参照しながら説明する。
【００６３】
図１３は、本発明の実施形態の文字特徴抽出部２０４による文字特徴抽出方法の説明図である。
【００６４】
文字特徴抽出部２０４は、まず、入力文字画像１３０１を、所定のサイズの画像１３０２に正規化する。正規化の方法としては、線形正規化法、モーメント正規化法、非線形正規化法などがあり（非特許文献１参照）、どれを使用してもよい。最も単純な線形正規化法を用いた場合、入力文字画像１３０１を拡大又は縮小することによって、所定のサイズの正規化画像１３０２を生成する。
【００６５】
次に、文字特徴抽出部２０４は、正規化画像１３０２をベクトル値に変換する。変換方法としては、チェインコードを用いた輪郭特徴抽出法、勾配特徴抽出法、画素特徴抽出法などがあり（非特許文献１参照）、どれを使用してもよい。ここでは、最も単純な画素特徴抽出法について説明する。文字特徴抽出部２０４は、正規化画像１３０２を、部分矩形小領域１３０３に分割し、各小領域の画素値の総和をベクトルの要素として算出する。図１３の例では、正規化画像１３０２が８×８＝６４の部分矩形小領域１３０３に分割され、６４個の数値がベクトルの要素として算出される。このため、文字の特徴を表すベクトルの次元数は６４となる。
【００６６】
類似度算出部２０５は、文字特徴抽出部２０４から上記のようにして算出されたベクトルが入力された場合、文字認識用辞書２０６を参照し、文字候補パターンの各読み取り対象文字種に対する、入力されたベクトル（以下、入力ベクトルｘと記載する）の類似度を算出する。文字認識用辞書２０６には、認識対象となる文字種ごとに、入力ベクトルｘの当該文字種に対する類似度を計算するための関数が保存されている。
【００６７】
例えば、「０」から「９」までの１０種の数字が認識対象である場合、文字認識用辞書２０６には、入力がｎ次元ベクトル、出力が実数値となる１０個の関数
ｆ０（ｘ）
ｆ１（ｘ）
ｆ２（ｘ）
・・・
ｆ９（ｘ）
が保存されている。関数ｆｉ（ｘ）は、ベクトルｘの数字ｉに対する類似度を出力する。文字認識用辞書２０６は、認識用辞書生成部２１４によって予め生成される。類似度算出結果の例について、図５を参照して説明する。
【００６８】
図５は、本発明の実施形態の類似度算出部による類似度算出結果の説明図である。
【００６９】
図５の例では、入力ベクトルｘとの類似度が高い順に、各読み取り対象文字種が候補文字種として表示される。列５０１には、入力ベクトルｘに対応する文字画像が表示される。
【００７０】
例えば、入力ベクトルｘが文字画像４０３Ａ（図４参照）の特徴を表すベクトルである場合、１位候補文字種（列５０２）、１位候補文字類似度（列５０３）、２位候補文字種（列５０４）及び２位候補文字類似度（列５０５）はそれぞれ「７」、「９３」、「１」及び「６８」である。これは、文字画像４０３Ａの特徴を表すベクトルｘについて上記のｆ０（ｘ）〜ｆ９（ｘ）を計算した結果、ｆ７（ｘ）の値（すなわち文字画像４０３Ａと数字「７」との類似度）が最も大きい「９３」であり、ｆ１（ｘ）の値が２番目に大きい「６８」であることを示す。
【００７１】
類似度算出部２０５は、上記のようにして算出された１位候補文字種、１位候補文字類似度、２位候補文字種及び２位候補文字類似度を出力する。図５では省略されているが、類似度算出部２０５は、同様にして、３位以下の候補文字列及びその類似度も算出し、出力する。
【００７２】
棄却判定部２０７は、類似度算出部２０５による計算結果に基づいて、認識結果を棄却するか否かを判定する。ここで、従来の棄却判定方法について説明する。
【００７３】
上記のように、類似度算出部２０５は、切り出された各文字画像について、各読み取り対象文字種との類似度を算出する。このため、最も類似度が高い文字種を、認識結果として出力することもできる。しかし、実際には、例えば、著しく劣化した文字画像が入力されること、誤った位置で切り出された文字画像が入力されること、又は、非文字が文字として誤って切り出されて入力されること、などが起こりうる。このような文字画像を正しく認識することは困難又は不可能である。このような場合にも、類似度を計算することはできるため、その類似度に基づいて強制的にいずれかの文字として認識することはできる。しかし、認識の精度（信頼性）がある程度低い（言い換えると誤読の可能性がある程度高い）と予測される場合には無理に認識せずにその認識結果を棄却し、その文字を不読文字として扱うことが望ましい場合もある。
【００７４】
例えば、１位候補文字類似度と２位候補文字類似度とがほぼ同じであれば、認識結果が曖昧であるため、認識の精度が低いと予測される。あるいは、１位候補文字類似度が著しく低い場合にも認識の精度が低いと予測される。棄却判定部２０７は、このような場合に認識結果を棄却することができる。
【００７５】
以下、棄却について具体的に説明する。以下の説明において、１位候補文字種をｍ１、２位候補文字種をｍ２と記載する。
【００７６】
１位候補文字類似度と２位候補文字類似度との差が、予め定められた閾値ｈ１より小さい場合、すなわち、
ｆｍ１（ｘ）−ｆｍ２（ｘ）＜ｈ１
となる場合、棄却判定部２０７は、認識結果に曖昧性があるために認識の精度が低いと判定して、その認識結果を棄却する。
【００７７】
また、１位候補文字類似度が、予め定められた閾値ｈ２より小さい場合、すなわち、
ｆｍ１（ｘ）＜ｈ２
となる場合、棄却判定部２０７は、１位候補文字類似度が低い（すなわち、認識の精度が低い）と判定して、その認識結果を棄却する。
【００７８】
リトライ判定部２１０は、認識に失敗した（すなわち認識結果が棄却された）場合、又は認識結果の信頼性が低い場合に、パラメータ等を変更して処理を再試行するか否かを判定する。再試行すると判定された場合、前処理部２０１以降のいずれかの処理、及びそれに続く処理が再度実行される。
【００７９】
例えば、文字列認識部２０３の棄却判定部２０７によって認識結果が棄却され、不読と判定された場合に、リトライ判定部２１０は、処理を再試行すると判定してもよい。前処理部２０１及びそれに続く処理が再試行される場合、前処理部２０１において、例えば、前回の試行のときと異なる二値化のパラメータが使用されてもよいし、異なるノイズ除去方法が使用されてもよい。このようにパラメータ等を変更することによって、前回とはことなる画像を得ることができ、その結果、認識に成功する場合もある。
【００８０】
認識結果記録部２１１は、認識結果を認識結果ＤＢ２１２に保存する。認識結果とともに入力画像を保存してもよい。具体的には、例えば、図５に示す情報がそのまま認識結果ＤＢ２１２に保存されてもよい。すなわち、列５０１に入力画像が、列５０２以降に、それぞれの順位の候補文字種及びその類似度が保存される。
【００８１】
文書分類部２１３は、認識結果に基づいて文書を分類する。例えば、文書分類部２１３は、認識結果として得られた金額の大小、認識されたＩＤ又は住所等に基づいて文書を分類してもよい。また、棄却された文字を含む文書は、後のリトライのために、他の文書と区別するように分類してもよい。
【００８２】
認識用辞書生成部２１４は、認識学習用ＤＢ２１６を用いて、文字列認識部２０３によって用いられる文字認識用辞書２０６を生成する。
【００８３】
認識学習用ＤＢ２１６には、文字種ラベル付きの文字画像が保存されている。保存される文字画像の例については後述する（図８参照）。一般に、保存される文字画像は多いほどよく、例えば読み取り対象文字種ごとに１０００個以上の画像が保存されていることが望ましい。
【００８４】
認識用辞書生成部２１４内の文字特徴抽出部２０４は、文字列認識部２０３内の文字特徴抽出部２０４と同様の処理を実行する。すなわち、認識用辞書生成部２１４内の文字特徴抽出部２０４は、認識学習用ＤＢ２１６に保存されている各文字画像をベクトル値に変換する。変換されたベクトル値とそれに対応する文字種ラベルとのセットの集合は、認識用辞書生成部２１７によって、読み取り対象文字種ごとの類似度を計算するための関数を生成するために用いられる。
【００８５】
認識用辞書生成部２１７は、認識用辞書生成部２１４によって計算されたベクトル値と文字種ラベルとのセットの集合を用いて、文字種ごとの類似度を計算するための関数を生成する。例えば文字種数がＣ個である場合、Ｃ個の関数
ｆ１（ｘ）
ｆ２（ｘ）
・・・
ｆＣ（ｘ）
が生成される。ｆｉ（ｘ）は、ｉ番目の文字種を表す文字画像から抽出されたベクトルｘが入力された場合に高い値を出力するように、学習によって生成された関数である。この学習は、公知の方法によって行われる。
【００８６】
次に、本発明の実施形態の文字認識装置１０１について説明する。
【００８７】
図３は、本発明の実施形態の文字認識装置１０１が実行する処理の流れを示す機能ブロック図である。
【００８８】
本実施形態の文字認識装置１０１は、画像入力部２００、前処理部２０１、文字列切出部２０２、文字列認識部３００、リトライ判定部３１６、認識結果記録部３１７、認識結果ＤＢ３１８、文書分類部３１９及び辞書生成部３２０を備える。
【００８９】
文字列認識部３００は、文字特徴抽出部３０１、類似度算出部３０２、文字認識用辞書３０３、棄却判定部３１３、類別１特徴抽出部３０４、類別１劣化度算出部３０５、類別１劣化判定用辞書３０６、類別２特徴抽出部３０７、類別２劣化度算出部３０８、類別２劣化判定用辞書３０９、類別Ｎ特徴抽出部３１０、類別Ｎ劣化度算出部３１１、類別Ｎ劣化判定用辞書３１２、文字列認識部３１５及び文字列辞書２０９を含む。
【００９０】
辞書生成部３２０は、文字特徴抽出部３０１、認識学習用ＤＢ３２１、認識用辞書生成部３２２、類別１劣化学習用ＤＢ３２３、類別１特徴抽出部３０４、類別１劣化判定用辞書生成部３２４、類別Ｎ劣化学習用ＤＢ３２５、類別Ｎ特徴抽出部３１０、類別Ｎ劣化判定用辞書生成部３２６及び棄却制御用辞書生成部３２７を含む。
【００９１】
なお、図３にはその全てが記載されていないが、実際には、文字列認識部３００は、１からＮまでの各類別について、特徴抽出部、劣化度算出部及び劣化判定用辞書を含み、辞書生成部３２０は、１からＮまでの各類別について、劣化学習用ＤＢ、特徴抽出部及び劣化判定用辞書生成部を含む。以下の説明において、類別ｋ（ｋは１からＮのいずれか）に関する特徴抽出部、劣化度算出部、劣化判定用辞書、劣化学習用ＤＢ及び劣化判定用辞書生成部を、それぞれ、類別ｋ特徴抽出部、類別ｋ劣化度算出部、類別ｋ劣化判定用辞書、類別ｋ劣化学習用ＤＢ及び類別ｋ劣化判定用辞書生成部とも記載する。なお、類別（すなわち劣化又は非文字の種類）については後述する。
【００９２】
図３に示す文字認識装置１０１のハードウェア構成は、図１に示したとおりである。したがって、上記の辞書及びＤＢは、外部記憶装置１０７に格納される。一方、上記のうち辞書及びＤＢ以外の各部は、外部記憶装置１０７に記憶されたプログラムを演算装置１０６が実行し、必要に応じて入力装置１０２、表示装置１０３、イメージ取得装置１０４、通信装置１０５、外部記憶装置１０７及び外部機器（図示省略）等を制御することによって実現される。したがって、以下の説明において上記の各部が実行する処理は、実際には、演算装置１０６によって実行される。
【００９３】
図３に示す各部のうち、画像入力部２００、前処理部２０１、文字列切出部２０２、及び、文字列認識部３００内の文字列辞書２０９は、それぞれ図２に示した画像入力部２００、前処理部２０１、文字列切出部２０２及び文字列辞書２０９と同様であるため、これらについての説明は省略する。また、図１０〜図１３等を参照する従来の文字列認識部２０３の基本的な機能に関する説明は、本実施形態の文字列認識部３００にも適用される。以下、文字列認識部３００が実行する処理のうち、文字列認識部２０３と共通する部分については説明を省略し、文字列認識部２０３と相違する部分について説明する。
【００９４】
本実施形態では、まず、入力された文字画像に文字の認識を困難とするような劣化が発生している場合、又は、切り出された文字列が非文字を含んでいる場合に、その劣化又は非文字の種類が分類される。劣化の種類としては、例えば文字のかすれ及びつぶれ等が挙げられる。一方、非文字の種類としては、次のような例が挙げられる。
【００９５】
帳票等の文書の画像が入力された場合、特定の種類の非文字が頻繁に出現する。例えば、文字が罫線と接触したために罫線を含む画像が文字画像として切り出された場合、複数の文字の重なりを含む画像が文字画像として切り出された場合、読み取り対象でない文字の画像が切り出された場合、隣接する複数の文字が接触したためにそれらの文字の画像（又はその一部）が一つの文字画像として切り出された場合、等に、それらの文字画像が非文字として扱われる。ここで、読み取り対象でない文字とは、例えば数字が記入されるはずの欄に記入された漢字等である。隣接する文字の接触の一例は、文字「ｔ」の全体と「ｈ」の一部とが接触することによって出現した図１０の合成パターン１００２Ｊである。
【００９６】
本実施形態において、文字の劣化の種類として特に「かすれ」及び「つぶれ」を例示するが、それらの例示は非文字を排除するものではない。すなわち、本実施形態における劣化の種類に関する記述は、上記のような非文字の種類（言い換えると罫線との接触等に起因する文字の劣化の種類）にも適用することができ、類別ｋ特徴抽出部、類別ｋ劣化度算出部、類別ｋ劣化判定用辞書、類別ｋ劣化学習用ＤＢ及び類別ｋ劣化判定用辞書生成部の「類別」は、非文字の種類を含んでもよい。
【００９７】
図９は、本発明の実施形態において分類される文字画像の劣化の種類の説明図である。
【００９８】
本実施形態では、文字画像の劣化がかすれ９０１とつぶれ９０２に分類される。例えば白い背景に黒い文字が表示される白黒文字画像において、本来文字の一部であるはずの画素が白くなり、背景と同化するような劣化が「かすれ」、本来背景の一部であるはずの画素が黒くなり、文字と同化するような劣化が「つぶれ」と呼ばれる。このような劣化は、例えば、フォント、紙質、スキャナの種類、スキャナの設定、前処理時の二値化の方法、又は二値化のパラメータなどの影響によって発生する。
【００９９】
図９には、かすれ９０１の例としてかすれ文字９０１Ａ〜９０１Ｃを、つぶれ９０２の例としてつぶれ文字９０２Ａ〜９０２Ｃを示す。かすれ文字９０１Ａ〜９０１Ｃは、それぞれ、「岩」、「宇」及び「業」が劣化したものであり、かすれによって線の途切れ等が発生している。つぶれ文字９０２Ａ〜９０２Ｃは、それぞれ、「書」、「５」及び「３」が劣化したものであり、つぶれによって、線に囲まれた空白部分の消滅、線の連結等が発生している。
【０１００】
図９には、劣化の種類の例としてかすれ９０１とつぶれ９０２の２種類を示したが、本実施形態では、文字画像の劣化がそれ以外の種類に分類されてもよい。以下、文字画像の劣化がＮ個の種類（すなわち類別１、類別２、・・・、類別Ｎ）に分類される例を説明する。それらのうち一つがかすれ９０１であり、別の一つがつぶれ９０２であってもよい。
【０１０１】
文字列認識部３００は、文字列画像から個々の文字の画像を切り出し、それぞれの文字を認識することによって、文字列を文字コード（又は文字を表すコード）の列として出力する。所定の条件が満たされる場合には、文字列認識部３００は、文字の認識が困難であると判定し、認識結果を棄却する。この場合、当該文字は「不読」として扱われる。
【０１０２】
さらに、本実施形態の文字列認識部３００は、切り出された個々の文字画像について、劣化の種類ごとの劣化度を出力する。この劣化度は、後の処理の制御に用いられる。
【０１０３】
以下、文字列認識部３００の内部モジュールの処理について説明する。
【０１０４】
文字列認識部３１５は、文字列画像から個々の文字の画像を切り出し、それぞれの文字を認識することによって、文字列を文字コードの列として出力する。文字列辞書２０９には、読み取り対象となる文字列の辞書が保存され、文字列認識部３１５は、文字列辞書２０９に入っている文字列いずれかを認識結果として選択する。読み取り対象の例は、住所、日付又は金額等である。所定の条件が満たされる場合には、文字列認識部３００は、文字の認識が困難であると判定し、認識結果を棄却する。この場合、当該文字は「不読」として扱われる。さらに、文字列認識部３００は、個々の文字画像について、劣化の種類ごとの劣化度を出力する。これらの処理の詳細を説明する。
【０１０５】
文字列認識部３１５は、まず、文字列画像を文字候補パターン１００３（図１０参照）のように分割する。文字特徴抽出部３０１は、分割された各パターンの特徴を表すベクトルを算出し、類似度算出部３０２は、文字認識用辞書３０３を参照して、算出されたベクトルの各読み取り対象文字種に対する類似度を算出する。これらの処理は、図２の文字特徴抽出部２０４及び類似度算出部２０５が文字認識用辞書２０６を参照して行う処理と同様であってよい。
【０１０６】
さらに、類別１特徴抽出部３０４が、分割された各パターンの特徴を表すベクトルを算出し、類別１劣化度算出部３０５が、類別１劣化判定用辞書３０６を参照して、各パターンにおける第１の種類の劣化の程度（すなわち類別１劣化度）を算出する。同様に、類別２特徴抽出部３０７が、分割された各パターンの特徴を表すベクトルを算出し、類別２劣化度算出部３０８が、類別２劣化判定用辞書３０９を参照して、各パターンにおける類別２劣化度を算出する。類別Ｎ特徴抽出部３１０が、分割された各パターンの特徴を表すベクトルを算出し、類別Ｎ劣化度算出部３１１が、類別Ｎ劣化判定用辞書３１２を参照して、各パターンにおける類別Ｎ劣化度を算出する。
【０１０７】
例えば第１の種類の劣化が「かすれ」、第２の種類の劣化が「つぶれ」によるものであってもよい。類別ｋ特徴抽出部（ｋは１からＮのいずれであってもよい、以下同様）は、文字特徴抽出部３０１と同様の方法で各パターンの特徴を表すベクトルを算出してもよいが、それぞれの種類の劣化度（類別ｋ劣化度）の算出に適した方法を使用してもよい。
【０１０８】
文字列認識部３１５は、あるパターンの認識結果が棄却された後、リトライ判定部３１６によって処理を再試行すると判定された場合、当該パターンの類別ｋ劣化度及び当該パターンの各文字種に対する類似度に基づいて、処理の方法を変更し、類似度及び劣化度を再計算することができる。これについて例を挙げて説明する。
【０１０９】
いずれかの文字候補パターンの認識結果が棄却判定部３１３によって棄却された場合、文字列認識部３１５は、劣化の種類ごとの劣化度に基づいて、文字候補パターンの認識処理を再試行してもよい。
【０１１０】
例えば、かすれに起因する劣化度が大きい場合には、かすれた文字に適した方法で、当該文字候補パターンの画像の前処理（二値化、ノイズ除去等）を行うことによって、よりきれいな（すなわち正しく認識しやすい）文字候補パターンの画像を得ることができる場合がある。例えば、かすれの場合には、前処理部２０１が、孤立点ノイズ除去処理を弱める（又はなくす）、黒と判定されやすいように二値化の閾値を変更する、などの処理を行ってもよい。これによって、かすれの影響の少ない文字候補パターンの画像を得られる場合がある。
【０１１１】
同様に、つぶれに起因する劣化度が大きい場合には、つぶれの影響が少ない文字候補パターンを得やすい前処理を実行することができる。
【０１１２】
このようにして得られた文字候補パターン画像に対して、類似度算出部３０２及び類別ｋ劣化度算出部が類似度及び劣化度を再計算する。
【０１１３】
なお、認識結果が棄却されなかった場合であっても、ある種類の劣化度が大きい場合には、その種類の劣化の影響が少なくなる方法によって前処理を実行することができる。
【０１１４】
上記と同様に、ある種類の劣化が原因で文字候補パターンの認識結果が棄却された場合、又は棄却はされなくてもある種類の劣化度が大きい場合に、その種類の劣化に適した方法で類似度算出部３０２が各読み取り対象文字種に対する類似度を算出する。この場合、文字特徴抽出部３０１、類似度算出部３０２及び文字認識用辞書３０３は、当該種類の劣化が発生した文字の認識に適した特徴抽出方法、類似度算出方法及び認識用辞書を備える。
【０１１５】
文字特徴抽出部３０１は、文字画像に含まれる文字の特徴をベクトル値ｘ＝（ｘ１，ｘ２，・・・，ｘｎ）に変換することによって数値化する。画像から特徴を抽出する方法として、画素特徴抽出法、輪郭特徴抽出法、勾配特徴抽出法又はガボール特徴抽出法等を用いることができる。それぞれの方法に基づく特徴量の抽出処理は、文字特徴抽出部２０４（図２参照）が実行するものと同様であってよい。
【０１１６】
本実施形態の文字特徴抽出部３０１は、さらに、劣化の種類に応じて、それに適した特徴抽出方法を選択して適用してもよい。例えば、文字列認識部３１５による文字候補パターンの認識が再試行される場合に、判定された劣化の種類に応じて適切な特徴抽出方法が選択される。
【０１１７】
例えば、ガボール特徴抽出法は、計算量が多いが、かすれた文字の認識に適していることが知られている。このため、通常時は計算量の少ない勾配特徴抽出法又は輪郭特徴抽出法等を用い、文字列認識部３１５においてかすれに起因する文字候補パターンの劣化が大きいと判定され、認識が再試行される場合には、ガボール特徴抽出法を用いてもよい。
【０１１８】
類似度算出部３０２は、文字特徴抽出部３０１から上記のようにして算出されたベクトルが入力された場合、文字認識用辞書３０３を参照し、文字候補パターンの各読み取り対象文字種に対する、入力されたベクトル（入力ベクトルｘ）の類似度を算出する。文字認識用辞書３０３には、認識対象となる文字種ごとに、入力ベクトルｘの当該文字種に対する類似度を計算するための関数が保存されている。このような類似度の算出処理は、類似度算出部２０５（図２参照）が実行するものと同様であってよい。
【０１１９】
本実施形態の類似度算出部３０２は、さらに、劣化の種類に応じて、それに適した類似度算出方法を選択して適用してもよい。例えば、文字列認識部３１５による文字候補パターンの認識が再試行される場合に、判定された劣化の種類に応じて適切な類似度算出方法が選択される。
【０１２０】
劣化の種類に応じた類似度算出の一例を説明する。文字認識用辞書３０３に、認識学習用ＤＢに格納された高品質の文字パターンを用いて学習された類似度計算用の関数と、劣化した文字（例えばかすれた文字又はつぶれた文字）を用いて学習された類似度計算用の関数とが保存される。例えば、認識対象の文字種ごとに、かすれた文字と入力ベクトルｘとの類似度を計算するための関数が保存される。類似度算出部３０２は、通常時には、高品質の文字パターンを用いて学習された関数を用いて類似度を算出し、かすれに起因する劣化が大きいと判定され、認識が再試行される場合には、かすれた文字を用いて学習された関数を用いて類似度を算出する。
【０１２１】
類別ｋ特徴抽出部（すなわち、類別１特徴抽出部３０４、類別２特徴抽出部３０７及び類別Ｎ特徴抽出部３１０等）は、文字画像に含まれる文字の特徴をベクトル値ｘ＝（ｘ１，ｘ２，・・・，ｘｎ）に変換することによって数値化する。画像から特徴を抽出する方法として、画素特徴抽出法、輪郭特徴抽出法、勾配特徴抽出法又はガボール特徴抽出法等を用いることができる。この方法は、文字特徴抽出部３０１によって使用されるものと同様であってもよい。ただし、ここで算出される特徴は、後述するように劣化度の算出に用いられるため、劣化を低減するためのぼかし処理等は実行しないことが望ましい。
【０１２２】
類別ｋ劣化度算出部（すなわち、類別１劣化度算出部３０５、類別２劣化度算出部３０８及び類別Ｎ劣化度算出部３１１等）は、類別ｋ劣化判定用辞書（すなわち、類別１劣化判定用辞書３０６、類別２劣化判定用辞書３０９及び類別Ｎ劣化判定用辞書３１２等）を参照して、文字候補パターンの類別ｋ劣化度を算出する。類別ｋ劣化判定用辞書には、入力ベクトルｘの類別ｋ劣化度を計算するための関数が保存されている。
【０１２３】
読み取り対象文字種ごとに劣化度を計算する関数が用意されてもよいし、全読み取り対象文字種に共通の関数が使用されてもよい。
【０１２４】
例えば、「０」〜「９」の１０種の数字が認識対象であり、読み取り対象文字種ごとに劣化度を算出する関数が用意される場合、類別ｋ劣化判定用辞書には、入力がｎ次元ベクトル、出力が実数値となる１０個の関数
ｇ０（ｘ）
ｇ１（ｘ）
ｇ２（ｘ）
・・・
ｇ９（ｘ）
が保存されている。関数ｇｉ（ｘ）は、ベクトルｘの数字ｉに対する類別ｋ劣化度を出力する。
【０１２５】
一方、全読み取り対象文字種に共通の関数が使用される場合、類別ｋ劣化判定用辞書には、入力がｎ次元ベクトル、出力が実数値となる１個の関数
ｇ（ｘ）
が保存されている。
【０１２６】
ここで、類別ｋ劣化度の計算について説明する。読み取り対象文字種ごとに劣化度を算出する関数が用意される場合、類別ｋ劣化度算出部は、ベクトルｘとの類似度が最も高い文字種ｃについて、ｇｃ（ｘ）を計算することによって、類別ｋ劣化度を算出する。例えば、図５に示すように、画像４０３Ａの特徴を表すベクトルｘとの類似度が最も高い文字種が「７」であった場合、類別ｋ劣化度算出部は、ｇ７（ｘ）を類別ｋ劣化度として計算する。一方、全読み取り対象文字種に共通の関数が使用される場合、類別ｋ劣化度算出部は、ｇ（ｘ）を計算することによって、類別ｋ劣化度を算出する。
【０１２７】
棄却判定部３１３は、読み取り対象文字種ごとの類似度及び劣化の種類ごとの劣化度に基づいて、認識結果を棄却するか否かを判定する。棄却制御用辞書３１４には、類似度及び劣化度に基づいて棄却判定を行うために参照される情報が保存されている。具体的には、棄却制御用辞書３１４には、読み取り対象文字種ごとの類似度及び劣化の種類ごとの劣化度を入力されると、棄却スコア（実数値）を出力する関数ｐと、棄却スコアに基づいて棄却するか否かを判定するための閾値と、が保存されている。閾値は、文字種ごとに異なっていてもよいし、全文字種に共通であってもよい。
【０１２８】
棄却スコアは、類似度及び劣化度を引数としてｐの値を計算することによって得られる。棄却の判定は、例えば次のように行われる。文字種ごとに異なる閾値が用いられる場合、文字種ｉの閾値をｈｉ、１位候補文字種をｍとすると、棄却判定部３１３は、ｐ＞ｈｍの場合に認識結果を棄却し、それ以外の場合に認識結果を棄却しないと判定する。一方、全文字種に共通の閾値ｈが用いられる場合、棄却判定部３１３は、ｐ＞ｈの場合に認識結果を棄却し、それ以外の場合に認識結果を棄却しないと判定する。
【０１２９】
例えば、かすれに起因する劣化度の影響を受けやすい（すなわちかすれに起因する劣化度の大きさに応じて出力が大きくなりやすい）関数ｐを使用すれば、かすれた文字が棄却されやすくなり、それによって文字のかすれによる誤読を防ぐことができる。
【０１３０】
リトライ判定部３１６は、認識に失敗した（すなわち認識結果が棄却された）場合、又は、認識に失敗していなくても、認識結果の信頼性がある程度低い場合に、パラメータ等を変更して処理を再試行するか否かを判定する。再試行すると判定された場合、前処理部２０１、文字列切出部２０２及び文字列認識部３００のいずれかの処理、及びそれに続く処理が再度実行される。
【０１３１】
リトライ判定部３１６は、リトライ判定部２１０（図２参照）と同様に、処理を再試行するか否かを判定してもよい。ただし、リトライ判定部３１６は、さらに、文字画像の劣化の種類に応じて、再試行の方法（具体的には、どの処理を再試行するか、及び、再試行の際に使用するパラメータ等）を制御する。
【０１３２】
例えば、文字列認識部３００の棄却判定部３１３によって認識結果が棄却された場合に、リトライ判定部３１６は、前処理部２０１以降の処理を再試行すると判定してもよい。このとき、リトライ判定部３１６は、劣化の種類ごとの劣化度に基づいて、処理の方法を制御してもよい。例えば、かすれによる劣化度が大きい場合には、かすれに適した方法で文字画像の前処理（二値化及びノイズ除去等）を行うように前処理部２０１を制御してもよい。
【０１３３】
例えば、前処理部２０１は、かすれによる劣化度が大きい（例えば所定の閾値より大きい）場合に、孤立点ノイズ除去処理を弱める（又は実行しない）、又は、二値化の閾値を、黒と判定されやすい方向に変更する、などのパラメータ等の変更を行った上で、前処理を実行する。これによって、かすれの影響の少ない二値画像が得られ、その結果、認識に成功する場合がある。逆に、つぶれによる劣化度が大きい場合に、前処理部２０１は、孤立点ノイズ除去処理を強める、又は、二値化の閾値を、白と判定されやすい方向に変更する、などのパラメータ等の変更を行った上で、前処理を実行してもよい。
【０１３４】
同様に、認識結果が棄却されない場合でも、いずれかの種類の劣化度が大きい場合には、その劣化の種類に適した方法で前処理が行われる。
【０１３５】
認識結果記録部３１７は、認識結果ＤＢ３１８に認識の結果を記録する。ただし、認識結果が棄却された場合には、認識結果が棄却されたことを示す情報、及び、棄却の要因を示す情報（具体的には、例えば類別ｋ劣化度等）を記録してもよい。
【０１３６】
例えば、認識結果記録部３１７は、認識結果として図５に示したものと同様の情報を記録し、さらに、図６に示す情報を記録してもよい。
【０１３７】
図６は、本発明の実施形態の認識結果ＤＢ３１８に記録される文字認識結果の説明図である。
【０１３８】
列６０１は、図５の列５０１と同様であり、入力された文字画像が記録される。
【０１３９】
列６０２には、各文字画像の認識結果の曖昧度を示す値が記録される。例えば、１位候補文字類似度（図５の列５０３）と２位候補文字類似度（図５の列５０５）との差が小さいほど大きくなるように計算された値が曖昧度として列６０２に記録されてもよい。
【０１４０】
列６０３には、各文字画像の類似度及び類別１劣化度に基づいて前述の関数ｐによって計算された棄却スコアが記録される。また、列６０４には、各文字画像の類別１劣化度が記録される。図６では省略されているが、さらに、類別２劣化度から類別Ｎ劣化度が同様に認識結果ＤＢ３１８に記録される。
【０１４１】
文書分類部３１９は、図２に示した文書分類部２１３と同様に、認識結果に応じて文書を分類する。ただし、文書分類部３１９は、棄却された文字を含む文書を、棄却の要因に応じて分類してもよい。具体的には、文書分類部３１９は、劣化度に基づいて、文書を、それに含まれる文字の劣化の種類ごとに分類してもよいし、劣化の程度のランクごとに分類してもよい。
【０１４２】
なお、本実施形態の文字認識装置１０１は、計算された劣化度又はそれに基づいて行われた棄却の判定結果を、表示装置１０３を介して出力してもよい。例えば、文字認識装置１０１は、棄却すると判定された文字について、認識結果の文字種の代わりに、その文字が棄却されたことを示す記号等を表示してもよいし、さらに、その棄却の原因となった劣化の種類及び劣化度等を表示してもよい。棄却の原因となった劣化の種類とは、例えば、類別１劣化度から類別Ｎ劣化度のうち所定の閾値を超えるものに対応する劣化の種類であってもよいし、類別１劣化度から類別Ｎ劣化度のうち最大のものに対応する劣化の種類であってもよい。
【０１４３】
次に、本実施形態において使用される辞書の生成について説明する。
【０１４４】
辞書生成部３２０は、認識学習用ＤＢ３２１及び類別ｋ劣化学習用ＤＢ（すなわち類別１劣化学習用ＤＢ３２３及び類別Ｎ劣化学習用ＤＢ３２５等）を用いて、文字認識用辞書３０３、類別ｋ劣化判定用辞書（すなわち類別１劣化判定用辞書３０６、類別２劣化判定用辞書３０９及び類別Ｎ劣化判定用辞書３１２等）及び棄却制御用辞書３１４を生成する。生成された辞書は、文字列認識部３００において、文字列認識及び棄却判定等のために参照される。
【０１４５】
認識用辞書生成部３２２は、認識学習用ＤＢ３２１を用いて、文字列認識部３００によって用いられる文字認識用辞書３０３を生成する。その生成方法は、図２の認識用辞書生成部２１７が実行するものと同様であってよい。
【０１４６】
認識学習用ＤＢ３２１には、図２の認識学習用ＤＢ２１６と同様に、文字種ラベル付きの文字画像が保存されている。ただし、後述するように、本実施形態の認識学習用ＤＢ３２１には、高品質な文字画像に加えて、劣化した文字画像が保存されてもよい。
【０１４７】
辞書生成部３２０内の文字特徴抽出部３０１は、文字列認識部３００内の文字特徴抽出部３０１と同様の処理を実行する。すなわち、辞書生成部３２０内の文字特徴抽出部３０１は、認識学習用ＤＢ３２１に保存されている各文字画像をベクトル値に変換する。変換されたベクトル値とそれに対応する文字種ラベルとのセットの集合は、認識用辞書生成部３２２によって、読み取り対象文字種ごとの類似度を計算するための関数を生成するために用いられる。
【０１４８】
さらに、認識用辞書生成部３２２は、全て又は一部の劣化の種類に適した、類似度を算出するための関数を生成してもよい。この関数は、文字列認識部３１５が、文字候補パターンの認識を、劣化の種類に応じて再試行するために使用される。その場合、認識用辞書生成部３２２は、劣化した文字について、認識対象の文字種ごとに、入力ベクトルｘの当該文字種に対する類似度を計算するための関数を生成する。
【０１４９】
例えば、認識学習用ＤＢ３２１に、高品質な（すなわち劣化していないか、又は劣化の少ない）文字画像と、劣化した文字画像とが保存され、認識用辞書生成部３２２は、通常の文字認識の際に類似度を算出するために使用される関数を生成する場合には、高品質な文字画像のみを学習に使用し、劣化した文字画像の認識の際（例えば認識が再試行されるとき）に使用される関数を生成する場合には、劣化した文字画像のみを学習に使用してもよい。
【０１５０】
具体的には、例えば、認識学習用ＤＢ３２１に、図８の文字画像８０２に示すようなサンプルが高品質文字画像として、文字画像８０３及び８０４に示すようなサンプルが劣化文字画像として保存されてもよい。この場合、文字特徴抽出部３０１が文字画像８０２などの高品質文字画像の各々から、その特徴を表すベクトルｘを抽出し、認識用辞書生成部３２２が、高品質な文字画像に関して文字種ごとの類似度を計算するための関数ｆｉ（ｘ）を生成し、文字認識用辞書３０３に保存する。関数ｆｉは、ｉ番目の文字種を表す高品質文字画像から抽出されたベクトルｘが入力された場合に高い値を出力するように、サポートベクトルマシンなどのアルゴリズムによって、学習により生成される。さらに、文字特徴抽出部３０１が文字画像８０３又は８０４などの劣化文字画像の各々から、その特徴を表すベクトルｘを抽出し、認識用辞書生成部３２２が、劣化文字画像に関して文字種ごとの類似度を計算するための関数ｆｉ（ｘ）を生成し、文字認識用辞書３０３に保存する。
【０１５１】
例えば、類似度算出部３０２は、通常、高品質な文字画像に関する類似度を計算するための関数ｆｉ（ｘ）を使用して、入力された文字画像の各文字種との類似度を計算し、リトライ判定部３１６が処理を再試行すると判定した場合において、かすれによる劣化度が所定の閾値を超えると判定された場合には、かすれによる劣化度が１又は２の文字画像８０３又は８０４に関する類似度を計算するための関数ｆｉ（ｘ）を使用して、入力された文字画像の各文字種との類似度を計算する。
【０１５２】
類別ｋ劣化判定用辞書生成部（すなわち類別１劣化判定用辞書生成部３２４及び類別Ｎ劣化判定用辞書生成部３２６等）は、類別ｋ劣化学習用ＤＢ（すなわち類別１劣化学習用ＤＢ３２３及び類別Ｎ劣化学習用ＤＢ３２５等）を用いて、文字列認識部３００によって使用される類別ｋ劣化判定用辞書（すなわち類別１劣化判定用辞書３０６及び類別Ｎ劣化判定用辞書３１２等）を生成する。類別ｋ劣化判定用辞書には、入力ベクトルｘの類別ｋ劣化度を計算するための関数が保存されている。劣化度を計算する関数は、読み取り対象文字種ごとに用意されてもよいし、全読み取り対象文字種に共通の一つの関数が用いられてもよい。
【０１５３】
以下、全読み取り対象文字種に共通の一つの関数が用いられる場合の、劣化度を計算する関数の生成方法を説明する。読み取り対象文字種ごとに関数を生成する場合には、以下の手順を文字種ごとに行えばよい。
【０１５４】
類別ｋ劣化学習用ＤＢには、劣化した文字画像が、その劣化の度合いを示す数値と共に保存される。例えば、類別１が「かすれ」である場合、かすれによって劣化した文字画像が類別１劣化学習用ＤＢ３２３に保存される。
【０１５５】
図８は、本発明の実施形態において扱われる劣化した文字画像の説明図である。
【０１５６】
文字画像８０１は、劣化した文字画像の例であり、例えば、「納期限  平成」の文字列のうち、「納期限」の文字画像には、かすれのためにいくつかの線の消滅及び線の途切れ等が発生している。一方、「平成」の文字画像にはかすれ、つぶれ等の劣化は発生していない。
【０１５７】
文字画像８０２〜８０４は、劣化学習用ＤＢに保存される文字画像の例を示す。
【０１５８】
文字画像８０２は、劣化度が小さい（又は劣化していない）文字画像の例である。例えば、文字画像８０２Ａは、文字種「７」の画像であり、文字種ラベル８０２Ｂは、文字画像８０２Ａが文字種「７」の画像であることを示す。
【０１５９】
文字画像８０３及び８０４は、かすれによる劣化が発生した文字画像の例である。文字画像８０２の劣化度より文字画像８０３の劣化度が大きく、文字画像８０４の劣化度はさらに大きい。ここでは、文字画像８０２、８０３及び８０４の劣化度を、それぞれ０、１及び２と記載する。劣化度を示す情報も類別ｋ劣化学習用ＤＢに保存される。
【０１６０】
なお、文字画像８０２、８０３及び８０４と同様の文字画像及び劣化度を示す情報が、認識学習用ＤＢ３２１にも保存されてよい。文字画像８０２が劣化していない文字画像である場合、類別ｋ劣化学習用ＤＢは文字画像８０２を含まなくてもよい。
【０１６１】
同様に、つぶれ等、他の種類の劣化が発生した文字画像も、それぞれの種類に対応する類別ｋ劣化学習用ＤＢに格納される。
【０１６２】
入力ベクトルｘの劣化度を計算するための関数ｇ（ｘ）は、劣化度を目的変数、類別ｋ特徴抽出部によって抽出されたベクトルｘを説明変数として、類別ｋ劣化学習用ＤＢを用いて回帰学習を行うことによって生成される。その結果、ｇ（ｘ）は、学習に用いた文字画像と同じ種類の劣化が大きいほど大きい値を出力する傾向を持つ関数となる。
【０１６３】
例えば、類別１が「かすれ」である場合、類別１特徴抽出部３０４は、文字画像８０３（又は８０４）の特徴を表すベクトルｘを抽出する。類別１劣化判定用辞書生成部３２４は、類別１劣化度を目的変数、上記の抽出されたベクトルｘを説明変数として回帰学習を行うことによって、類別１劣化度を計算するための関数ｇ（ｘ）を生成し、類別１劣化判定用辞書３０６に保存する。
【０１６４】
同様に、例えば類別２が「つぶれ」である場合、類別２特徴抽出部３０７は、つぶれによる劣化が発生した文字画像（図示省略）の特徴を表すベクトルｘを抽出する。類別２劣化判定用辞書生成部（図示省略）は、類別２劣化度を目的変数、上記の抽出されたベクトルｘを説明変数として回帰学習を行うことによって、類別２劣化度を計算するための関数ｇ（ｘ）を生成し、類別２劣化判定用辞書３０９に保存する。
【０１６５】
その後、画像入力部２００に入力された文書から切り出された文字画像について（具体的には、例えばその文字画像の１位候補文字種について）、関数ｇ（ｘ）が計算される。入力された文字画像がかすれている場合には、類別１劣化度を計算するための関数ｇ（ｘ）が類別２劣化度を計算するための関数ｇ（ｘ）の値より大きくなり、入力された文字画像がつぶれている場合には、類別２劣化度を計算するための関数ｇ（ｘ）が類別１劣化度を計算するための関数ｇ（ｘ）の値より大きくなる。これによって、入力された文字画像に発生している劣化の種類及びその劣化の程度を特定することができる。
【０１６６】
棄却制御用辞書生成部３２７は、棄却判定部３１３によって用いられる棄却制御用辞書３１４を生成する。棄却制御用辞書３１４には、読み取り対象文字種ごとの類似度及び類別ごとの劣化度が入力されると棄却スコア（実数値）を出力する関数ｐと、認識結果を棄却するか否かを判定するために使用される閾値と、が保存される。閾値は、文字種ごとに異なる値であってもよいし、全文字種に共通であってもよい。棄却スコアの計算及び棄却判定の方法は、棄却判定部３１３に関する説明として記載した通りである。
【０１６７】
棄却の判定に使用される関数ｐ及び閾値は、どのような場合に認識結果を棄却するかを定めるものであり、ユーザの設定に従って生成される。例えば、多少の誤読が許容される場合は、劣化度が大きくなってもあまり大きい値を出力しないような関数ｐを生成してもよいし、つぶれによる誤読よりかすれによる誤読を防ぎたい場合には、かすれによる劣化度が大きくなったときに出力が大きくなりやすく、つぶれによる劣化度が大きくなったときには出力があまり大きくならないような関数ｐを生成してもよいし、かすれによる誤読よりつぶれによる誤読を防ぎたい場合には、つぶれによる劣化度が大きくなったときに出力が大きくなりやすく、かすれによる劣化度が大きくなったときには出力があまり大きくならないような関数ｐを生成してもよい。
【０１６８】
上記の本発明の実施形態によれば、認識結果を高精度に棄却することができ、さらに、その棄却の結果を、文字認識の高精度化に利用することができる。
【０１６９】
例えば、図８に示す帳票の一部分８０１のように、文書画像に同一の前処理（二値化処理など）を施すと、フォントの違い、色の違い、文字の大きさの違い、紙質の違い、などの原因で、様々な劣化文字（かすれ、つぶれなど）が混在する場合がある。文字画像８０１は、かすれが生じた文字列画像「納期限」と、かすれが生じていない文字列画像「平成」とを含む。そのため、帳票の位置によって、前処理の方法を変える必要がある。このような場合でも、劣化度に基づいて、文字ごとに、前処理方法及び特徴抽出処理を変えることができるため、劣化文字を高精度に認識することができる。また、文字の劣化度によって、リトライの際の処理方法を制御できるため、劣化文字を高精度に認識することができる。
【０１７０】
さらに、非文字及び劣化文字の種類ごとに、その棄却に特化した棄却方式を備えるため、従来法と比較して、精緻な棄却を行うことができる。さらに、棄却の強さを非文字、劣化文字の類別毎に調整できるようにする。
【０１７１】
さらに、非文字及び劣化文字の種類ごとに、劣化判定方式を備えることによって、棄却の原因を識別することができ、後の（例えばリトライ時の）制御に用いることができる。
【符号の説明】
【０１７２】
１０１  文字認識装置
１０２  入力装置
１０３  表示装置
１０４  イメージ取得装置
１０５  通信装置
１０６  演算装置
１０７  外部記憶装置
２００  画像入力部
２０１  前処理部
２０２  文字列切出部
２０３、２０８、３００、３１５  文字列認識部
２１０、３１６  リトライ判定部
２１１、３１７  認識結果記録部
２１２、３１８  認識結果ＤＢ
２１３、３１９  文書分類部
２１４  認識用辞書生成部
３２０  辞書生成部
【図１】
0005674615.tif 000002
【図２】
0005674615.tif 000003
【図３】
0005674615.tif 000004
【図７】
0005674615.tif 000005
【図８】
0005674615.tif 000006
【図１２】
0005674615.tif 000007
【図１３】
0005674615.tif 000008
【図４】
0005674615.tif 000009
【図５】
0005674615.tif 000010
【図６】
0005674615.tif 000011
【図９】
0005674615.tif 000012
【図１０】
0005674615.tif 000013
【図１１】
0005674615.tif 000014