(57)【要約】【課題】  正読率の低下幅を抑えつつ、誤読率を削減する効率のよい棄却を行うこと、及び、棄却判定にかかる計算量を削減すること。【解決手段】    様々な指標による棄却判定１０９、１１３を、棄却値同士の独立性が高い場合には直列に組合せ、棄却値同士の独立性が低い場合には並列に組み合わせる。棄却率が高い棄却指標、計算コストが低い棄却指標は処理の先に配置する。文字識別部１０６は、文字切出部１０５で切りだされた各文字単位の画像中の文字を認識する。複数の棄却値算出１０７、１０８、１１０〜１１２は、棄却能力が高い棄却値算出１０７、１０８ほど、先に配置される。棄却判定１０９は、先の棄却値算出１０７、１０８によって算出された棄却値に基づいて棄却と判定された場合には、後の棄却値算出処理を省略することで、認識結果を棄却するかどうか判定する。【選択図】  図１
2014115781.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部と、
複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部と、
を備え、
複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識装置。
【請求項２】
請求項１に記載の文字認識装置であって、
先の前記棄却値算出部によって算出された棄却値に基づいて棄却と判定された場合には、後の前記棄却値算出部による棄却値の算出をスキップする構成とすることを特徴とする文字認識装置。
【請求項３】
請求項１に記載の文字認識装置であって、
棄却能力又は棄却率が高い棄却値を算出する前記棄却値算出部ほど、先に配置して算出処理を行う構成とすることを特徴とする文字認識装置。
【請求項４】
請求項１に記載の文字認識装置であって、
複数の棄却値の独立性の高い棄却値を算出する前記棄却値算出部を直列に配置して算出処理を行う構成とすることを特徴とする文字認識装置。
【請求項５】
請求項１に記載の文字認識装置であって、
複数の棄却値の独立性の低い棄却値を算出する前記棄却値算出部を並列に配置して算出処理を行う構成とすることを特徴とする文字認識装置。
【請求項６】
請求項１に記載の文字認識装置であって、
複数の棄却値の独立性の高い棄却値を算出する前記棄却値算出部を直列に配置し、且つ、独立性の低い棄却値を算出する前記棄却値算出部を並列に配置して算出処理を行う構成とすることを特徴とする文字認識装置。
【請求項７】
請求項１に記載の文字認識装置であって、
前記棄却関数は、棄却したい前記認識結果に対しては高い値をとり、棄却したくない前記認識結果に対しては低い値をとるような棄却値を算出するための関数であることを特徴とする文字認識装置。
【請求項８】
請求項１に記載の文字認識装置であって、
予め、棄却したい画像サンプルを集めた棄却画像データベースと、
正読させたい画像サンプルを集めた正読画像データベースを
備え、
前記正読画像データベースによる棄却率が比較的小さく、前記棄却画像データベースによる棄却率が比較的大きくなるように、棄却値と比較して棄却判定するためのひとつ又は複数の閾値を定めることを特徴とする文字認識装置。
【請求項９】
請求項１に記載の文字認識装置であって、
棄却能力又は棄却率の高さと棄却値算出コストとに基づく棄却効率が高い前記棄却値算出部ほど先に配置し、前記棄却判定部により先の前記棄却値算出部によって算出された棄却値に基づいて棄却と判定された場合には、後の前記棄却値算出部による棄却値の算出処理を省略することを特徴とする文字認識装置。
【請求項１０】
請求項１に記載の文字認識装置であって、
並列に配置した複数の前記棄却値算出部の各々の棄却値に基づいて、新たな棄却関数を定め、前記新たな棄却関数に基づいて棄却判定を行うことを特徴とする文字認識装置。
【請求項１１】
請求項１に記載の文字認識装置であって、
予め、棄却したい画像サンプルを集めた棄却画像データベースと、
正読させたい画像サンプルを集めた正読画像データベースを
備え、
複数の棄却値の独立性を判定し、前記独立性の判断として、
前記棄却画像データベースに記憶された画像サンプルと前記正読画像データベースに記憶された画像サンプルとを識別する前記棄却値を引数とする関数を、識別誤差に基づく関数により学習し、前記関数による識別誤差と、棄却値を直列に構成した場合の識別誤差とを比較し、両者の誤差の差が予め定めておいた閾値以上であった場合に、独立性が低いと判定し、それ以外の場合に独立性が高いと判定することを特徴とする文字認識装置。
【請求項１２】
請求項１に記載の文字認識装置であって、
並列に配置された複数の前記棄却値算出部により棄却値を並列に計算すること、及び／又は、直列に配置された複数の前記棄却値算出部により棄却値を並行して計算することを特徴とする文字認識装置。
【請求項１３】
請求項１に記載の文字認識装置であって、
文書を光学的に走査することによって文書画像を取得する文書画像化部と、
前記文書画像からノイズや背景を除去し、二値化して二値画像を生成する前処理部と、
前記二値画像の文書構造、図表構造を解析するレイアウト解析部と、
前記二値画像から文字列単位の画像を抽出する文字列抽出部と、
前記抽出された文字列画像の各々から文字単位の画像を切出する文字切出部と、
前記文字切出部で切りだされた各文字単位の画像中の文字を認識して前記認識結果を出力する文字識別部と、
前記文字識別部による前記認識結果と、前記棄却判定部による棄却判定結果に基づいて、前記各文字列画像の前記認識結果を選定する認識結果選定部と、
前記認識結果に基づいて、認識の再処理を行うかどうか判断するリトライ判定部と、
前記認識結果を保存及び／又は表示装置に出力する認識後処理部と、
を備えたことを特徴とする文字認識装置。
【請求項１４】
文字認識方法であって、
入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部を用い、
複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部を用い、
複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識方法。
【請求項１５】
文字認識プログラムであって、
処理部が、複数の棄却値算出部を用い、入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する機能と、
処理部が、ひとつ又は複数の棄却判定部を用い、複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定する機能と、
処理部が、複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させる機能と
をコンピュータに実行させるための文字認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置及び方法、文字認識プログラムに係り、特に、複数の棄却値を組み合わせた棄却判定方式を有する光学的文字認識装置及び方法、文字認識プログラムに関する。また、本実施例は、文字認識の技術のうちでも、特に、棄却の技術に関する。
【背景技術】
【０００２】
本技術分野は、光学的文字認識（ＯＣＲ：  Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）装置に関する。ＯＣＲ装置は、紙文書をスキャナ等によって読取り、画像中の文字や記号を認識することによって、Ｕｎｉｃｏｄｅ等にコード化することで、電子化する。ＯＣＲ装置は、一般企業、自治体、金融機関、医療機関、教育機関などにおいて、会計伝票、納付済通知書、給与報告書、注文書、総振り、診療報酬明細書、解答用紙、などの電子化に用いられる。また、一般ユーザ向けには、携帯電話による文字認識、メモ等の一般文書中の文字認識などで用いられる。
ＯＣＲ装置による文書電子化の処理の流れを簡略化して説明する。
図６は、文字認識装置による文書電子化の流れを説明するための図である。まず、スキャナ等による文書の画像化、二値化やノイズ処理等の前処理となる。これにより、例えば、図６の参照番号６０１のような二値の文書画像が得られる。次に、ＯＣＲ装置による、図表の位置や文書の段落構造等のレイアウト解析と文字列抽出によって、文字列画像が、例えば、図６の参照番号６０２のように得られる。その後、ＯＣＲ装置は、文字列画像から文字切出によって文字単位の画像を切出し、その後、個々の画像中の文字を認識する。文書の画像化から文字列抽出までの処理は、例えば、特許文献１、特許文献２に記載されている。また、文字列画像から個々の文字を認識するまでの処理は、例えば、特許文献３、非特許文献１、非特許文献２に記載されている。
【０００３】
本技術は、個々の文字画像の認識技術に関する。以下では、個々の文字画像中に描かれている文字を認識する技術に関して簡単に説明する。
まず、文字画像をベクトル値に変換する特徴抽出処理を行う。ベクトル値の次元数をＮとすると、特徴抽出処理によって、１つの文字画像はＮ次元ベクトルとして表現される。同じ字種の文字画像から抽出されるＮ次元ベクトルは、Ｎ次元空間上の近い位置に分布する。
図９は、その様子を模式図により示したものである。丸、三角、四角がそれぞれ、文字種Ａ，文字種Ｂ、文字種Ｃに対応する各文字画像から抽出されたベクトル値を表している。
次に予め作成しておいた文字識別用辞書を参照し、文字画像から抽出されたベクトル値に基づいて、文字画像中に描かれている文字を識別する。
ここで、まず、文字識別辞書について説明しておく。文字識別用辞書には、例えば、各識別対象文字種ｋに対して、Ｎ次元ベクトルを引数にとり、実数値を値にとる識別関数ｆｋ（ｘ）が保存されている。識別関数ｆｋ（ｘ）は、文字種ｋが描かれている文字画像から生成されるＮ次元ベクトルｘに対しては大きい値を、その他の字種が描かれている文字画像から生成されるＮ次元ベクトルｘに対しては小さい値をとるように、予め、学習によって生成しておく。識別関数ｆｋ（ｘ）の値は、ベクトルｘの字種ｋに対する類似度、尤度などと呼ばれる。例えば、数字を対象とした認識の場合には、０〜９の１０字種に対応して、１０個の識別関数ｆ０（ｘ）、ｆ１（ｘ）、…、ｆ９（ｘ）が存在する。
文字の識別では、文字画像から抽出したＮ次元ベクトルｘを用いて、各字種の識別関数ｆｋ（ｘ）の値を計算する。識別関数ｆｋ（ｘ）の値は、字種ｋに対する類似度であるため、ｆｋ（ｘ）の値が最も大きい字種ｋが認識結果の第一位候補となる。同じように、二番目に値が大きい識別関数に対する字種ｋが認識結果の第二候補となる。このようにして第ｎ候補まで認識結果が得られる。
【０００４】
図７は、文字識別の結果を説明するための図である。例えば、図６の文字切出（参照番号６０３）によって切出した文字画像の認識は、図７のようになる。以上により、図６の参照番号６０４のように認識結果が得られ、計算機が扱える文字コードなどのコードに変換される。
上記で説明した文字識別は、文字画像と各認識対象字種の類似度を計算し、それに基づいて、候補文字を得る処理である。ＯＣＲ装置の有用性を高めるためには、この文字識別の精度が重要である。しかし、認識結果が疑わしい場合には、それを知らせる認識結果の棄却処理も重要である。
図１２は、非文字と曖昧文字の例を示すための図である。棄却の対象となるものには、たとえば、図１２の文字例１２０１に示すような非文字や文字例１２０２に示すような曖昧文字がある。非文字は、たとえば、文字切出のミスによる文字の一部や複数文字が合わさった画像、汚れなどの外乱要因が混入したものなどがある。曖昧文字は、たとえば、文字例１２０２の左端の画像のように７と９の区別がつかないものなどがある。
棄却処理が精緻であれば、いくつかの利点がある。ひとつは、もし、誤って文字を認識したまま結果が保存されると、誤ったままにするか、これを修正するためには、全認識結果を人手によって再チェックしなければならない。これに対して、認識結果が疑わしい場合に、これをユーザに知らせることができれば、ユーザはその部分のみ修正すればよい。また、棄却を精度良く行うことができれば、その要因として、前処理、文字行抽出、文字切出など、前の処理に失敗している可能性があると判断して、前のいずれかの処理から処理方法や処理条件などを変えて、再度、処理を試すことができる。これにより、認識精度を高めることができる。
【０００５】
以下では、正しく文字画像中の文字を認識する率を正読率、誤って認識する率を誤読率、認識結果を棄却する率を棄却率とよぶことにする。正読率、誤読率、棄却率の和は１となる。一般に、棄却を強くしすぎると、誤読していたものを棄却するようになるだけでなく、正しく読めていたもののうちいくつかは棄却してしまうため、正読率、誤読率ともに低くなる。そのため、棄却は、正読率をなるべく落とさないように、かつ、誤読率を減少させることが望ましい。
棄却の方法について説明する。入力画像から抽出されたＮ次元ベクトルをｘとする。また、第一位候補文字ｋ１に対応する識別関数をｆｋ１とする。このとき、ｆｋ１（ｘ）は文字種ｋ１に対する類似度である。ｒ１（ｘ）＝−ｆｋ１（ｘ）とおくと、ｒ１（ｘ）は、文字種ｋ１に対する非類似度とみなすことができる。そのため、閾値ｈ１をあらかじめ定めておき、ｒ１（ｘ）＞ｈ１のとき、非類似度が高い（類似度が低い）として棄却の判断をする。これは、入力画像が非文字であったとき、第一位候補の文字に対しても類似度が低いことが想定されるため、非文字の棄却を想定したものである。
さらに、第二位候補文字ｋ２に対応する識別関数をｆｋ２とする。このとき、ｆｋ２（ｘ）は文字種ｋ２に対する類似度である。また、ｆｋ１（ｘ）≧ｆｋ２（ｘ）となる。ｒ２（ｘ）＝ｆｋ２（ｘ）−ｆｋ１（ｘ）とおくと、このｒ２（ｘ）の値が大きいほど、ｆｋ１（ｘ）とｆｋ２（ｘ）の値が近いことになる。このとき、第一位候補文字と第二位候補文字の間で識別が曖昧であることを示している。そのため、閾値ｈ２をあらかじめ定めておき、ｒ２（ｘ）＞ｈ２のとき、識別結果が曖昧であるとして棄却する。
図１３は、棄却対象となる画像の例を示すための図である。
ほかにも、特許文献４では、図１３の文字例１３０１のような文字のかすれ度合いｒ３（ｘ）や、文字例１３０２のような文字のつぶれ度合いｒ４（ｘ）を算出して、それを基に棄却判定を行う方法が記載されている。あらかじめ閾値ｈ３を定めておいて、ｒ３（ｘ）＞ｈ３となったときには、かすれが大きいため棄却する。また、あらかじめ閾値ｈ４を定めておいて、ｒ４（ｘ）＞ｈ４となったときには、つぶれが大きいため棄却する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２４４３７２号公報
【特許文献２】特開平１１−５３４６６号公報
【特許文献３】特開２００４−１７１３１６号公報
【特許文献４】特願２０１１−２１２３０８号
【非特許文献】
【０００７】
【非特許文献１】Ｍｏｈａｍｍｅｄ  Ｃｈｅｒｉｅｔ，  Ｎａｗｗａｆ  Ｋｈａｒｍａ，  Ｃｈｅｎｇ  ｌｉｎ  Ｌｉｕ，  ａｎｄ  Ｃｈｉｎｇ  Ｓｕｅｎ．  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｓｙｓｔｅｍｓ：  Ａ  Ｇｕｉｄｅ  ｆｏｒ  Ｓｔｕｄｅｎｔｓ  ａｎｄ  Ｐｒａｃｔｉｔｉｏｎｅｒｓ．  Ｗｉｌｅｙ−Ｉｎｔｅｒｓｃｉｅｎｃｅ，  ２００７．
【非特許文献２】石井健一郎，  上田修功，  前田英作，  村瀬洋．  パターン認識．  オーム社出版局．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
文字を棄却するための指標には、上記の非文字度（非類似度）ｒ１、曖昧度ｒ２、かすれ度ｒ３、つぶれ度ｒ４のように様々な指標が考えられる。しかし、これらの指標の組み合わせ方は明らかでない。従来技術では、いずれかの基準により棄却されたものを棄却とするなど単純な方法をとるか、人手で試行錯誤しながら複数の指標を組み合わせる、などの方法がとられる。
前者の単純な方法では、すべての棄却指標を算出する必要があるため、計算コストがかかる。その上、いずれかの棄却指標で閾値を超えた場合に棄却されるため、一般に棄却が強すぎて正読率が低下する場合が想定され、高い正読率且つ低い誤読率を達成するという棄却の目的からしても、必ずしも適しているとは限らない。また、後者の人手での試行錯誤は、この指標の数が多くなると、相当コストのかかる方法であり、実現が困難である場合が想定される。
本発明は、以上の点に鑑み、高正読率、低誤読率、高速な棄却方法を低い人的コストで提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の解決手段によると、
入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部と、
複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部と、
を備え、
複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識装置が提供される。
【００１０】
本発明の第２の解決手段によると、
文字認識方法であって、
入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部を用い、
複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部を用い、
複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識方法が提供される。
【００１１】
本発明の第３の解決手段によると、
文字認識プログラムであって、
処理部が、複数の棄却値算出部を用い、入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する機能と、
処理部が、ひとつ又は複数の棄却判定部を用い、複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定する機能と、
処理部が、複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させる機能と
をコンピュータに実行させるための文字認識プログラム。
【発明の効果】
【００１２】
本実施例によると、高正読率、低誤読率、高速な棄却方法を低い人的コストで提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例４の文字認識装置の処理を説明するフローチャートの例である。
【図２】文字認識装置の構成図の例である。
【図３】独立性の高い２つの棄却値を説明するための図である。
【図４】独立性の低い２つの棄却値を説明するための図である。
【図５】本発明の関連技術の文字認識装置の処理を説明するフローチャートの例である。
【図６】文字認識装置による文書電子化の流れを説明するための図である。
【図７】文字識別の結果を説明するための図である。
【図８】棄却値の例を示す図である。
【図９】文字識別用の方式を説明するための図である。
【図１０】文字切出処理を説明するための図である。
【図１１】文字認識と認識結果選定処理を説明するための図である。
【図１２】非文字と曖昧文字の例を示すための図である。
【図１３】棄却対象となる画像の例を示すための図である。
【図１４】特徴抽出の処理の例を示すための図である。
【図１５】学習用文字画像データベースの例を示すための図である。
【図１６】直列構成の場合の棄却領域を示す図である。
【図１７】本発明の実施例１と実施例２の文字認識装置の処理を説明するフローチャートの例である。
【図１８】本発明の実施例３の文字認識装置の処理を説明するフローチャートの例である。
【図１９】勾配特徴抽出方法についての説明図（１）である。
【図２０】勾配特徴抽出方法についての説明図（２）である。
【図２１】棄却関数の説明図である。
【図２２】棄却値の構成処理のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、実施例を図面を用いて説明する。
１．概要
本実施形態では、その一例を挙げるならば、
文字認識装置は、
文書を光学的に走査することによって文書画像を取得する文書画像化部と、
前記入力画像からノイズや背景を除去し、二値化して二値画像を生成する手段を有する前処理部と、
前記二値画像の文書構造、図表構造を解析する手段を有するレイアウト解析部と、
前記二値画像から文字列単位の画像を抽出する手段を有する文字列抽出部と、
前記抽出された文字列画像の各々から文字単位の画像を切出す手段を有する文字切出部と、
文字切出部で切りだされた各文字単位の画像中の文字を認識する手段を有する文字識別部と、
複数の棄却値算出手段を備え、棄却能力が高い棄却値算出手段ほど、先に配置し、先の棄却値算出手段によって算出された棄却値に基づいて棄却と判定された場合には、後の棄却値算出処理を省略することで、前記認識結果を棄却するかどうか判定する手段を有する棄却判定部と、
前記認識結果と棄却判定結果に基づいて、前記各文字列画像の認識結果を選定する手段を有する認識結果選定部と、
前記認識結果に基づいて、認識の再処理を行うかどうか判断する手段を有するリトライ判定部と、
認識結果を保存したり表示装置に出力するなどの処理を行う手段を有する認識後処理部と、
を有する。
本実施形態の文字認識装置は、棄却判定部において、棄却能力の強度と棄却値算出コストに基づく棄却効率が高いほど先に配置し、先の棄却値算出手段によって算出された棄却値に基づいて棄却と判定された場合には、後の棄却値算出処理を省略することで、前記認識結果を棄却するかどうか判定することを特徴としていても良い。
本実施形態の文字認識装置は、
上述の棄却判定部において、並列に配置した複数の棄却値算出手段の各々の棄却値に基づいて、新たな棄却値を生成し、その棄却値に基づいて棄却判定を行うことを特徴としていてもよい。
本実施形態の文字認識装置は、
上述の棄却判定部において、複数の棄却値の独立性を判定する手段を有し、独立性の高い棄却値算出手段を直列に処理することを特徴としていてもよい。
本実施形態の文字認識装置は、
上述の棄却判定部において、複数の棄却値の独立性を判定する手段を有し、独立性の低い棄却値算出手段を並列に処理することを特徴としていてもよい。
本実施形態の文字認識装置は、上述の棄却判定部において、複数の棄却値の独立性を判定する手段を有し、前記独立性を判断する手段として、前記棄却値による棄却画像データベースと正読画像データベースを識別する関数を、識別誤差に基づくコスト関数により学習し、前記関数による識別誤差と、棄却値を直列に構成した場合の識別誤差を比較し、両者の誤差の差が予め定めておいた閾値以上であった場合に、独立性が低いと判定し、それ以外の場合に独立性が高いと判定することを特徴としていてもよい。
【００１５】
２．実施形態
【実施例１】
【００１６】
棄却方法を備える文字認識装置の実施例について、図表を参照しながら説明する。本実施例の文字認識装置は、入力文書画像中の文字を検知、認識し、文字をコード化することよって、入力文書を電子化する装置である。入力文書には、一般文書の他に、例えば、帳票、明細書などがある。
図２は、本実施例の文字認識装置の一例を示す構成図である。
本実施例の文字認識装置２０１は、例えば、押印認識および帳票認識を行うものであり、入力装置２０２、表示装置２０３、イメージ取得装置２０４、通信装置２０５、演算装置（ＣＰＵ）２０６、外部記憶装置２０７を備える。外部記憶装置２０７は、正読画像データベース２１１及び棄却画像データベース２１２を含む。
入力装置２０２は、コマンド等を入力するためのキーボードやマウス等である。入力装置２０２は、演算装置（ＣＰＵ）２０６で実行されるプログラムの制御や、その他、接続機器の制御のために実行されるコマンド等を入力するための装置である。
表示装置２０３は、処理内容を適宜表示するディスプレイ等の装置である。
イメージ取得装置２０４は、スキャナなどのイメージ取得用の装置である。取得したイメージは、外部記憶装置等に記憶してもよい。
通信装置２０５は、ＰＣやサーバ等の外部機器からのデータのやりとりを行うために用いる。通信装置２０５は、外部機器からのユーザによる実行コマンドの取得や、画像やテキストなどの情報の外部機器からの取得等の目的に用いられる。また、通信装置２０５は、押印認識および帳票認識装置２０１での処理内容を外部機器に送信する等の目的にも用いられる。
演算装置（ＣＰＵ）２０６は、文書画像中の文字認識に用いる認識用辞書の生成などの処理を実行する演算装置である。
外部記憶装置２０７は、ＨＤＤ，メモリ等の外部記憶装置である。外部記憶装置２０７には、帳票画像、押印画像、押印認識用辞書などの各種データが保存されている。また、外部記憶装置には、演算装置（ＣＰＵ）２０６によって実行される処理の途中で生成されるデータ等を一時的に記憶しておくためにも用いられる。
入力装置２０２、表示装置２０３、イメージ取得装置２０４、通信装置２０５はなくてもよい。入力装置２０２が無い場合には、処理の開始は、通信装置２０５を用いて外部機器から指示するか、または、時刻指定等により自動的に行う。表示装置２０３が無い場合には、処理結果は通信装置２０５を用いて外部機器に送信するか、外部記憶装置２０７に記憶しておく。
処理を実行するモジュールの出力と入力は、外部記憶装置２０７を介して行ってもよい。すなわち、処理部１が、処理結果を処理部２に出力し、処理部２は、その処理結果を入力として受け取る場合、実際には、処理部１が処理結果を外部記憶装置２０７に出力し記憶しておき、処理部２では、外部記憶装置２０７に記憶されている処理部１の出力結果を入力として取得してもよい。
【００１７】
次に、本実施例における文字認識装置２０１によって実施される処理の説明に移る。
以下では、まず、本発明の関連技術による文字認識装置の処理を図５を用いて説明する。なお、その後、本実施例の処理を図１を用いて説明する。
まず、本発明の関連技術による文字認識装置の処理について説明する。
図５に、文字認識装置による文書電子化の流れの典型的な例を示す。
文書の画像化（スキャン）１０１では、文字認識装置２０１のＣＰＵ２０６は、スキャナ等により文書を読込み、画像化する。このときに、背景印刷がカラーで印字されている場合などは、ＣＰＵ２０６は、特定の色の印字を光学的に除去するカラードロップアウト等の処理を行う場合もある。入力文書は、一般文書、帳票類、また、初めから文字認識装置で処理する目的で作成されているマークシート用紙等がある。
前処理１０２では、ＣＰＵ２０６は、文書画像のカラー画像の二値化（白黒化）やノイズ除去、背景印刷などの不要部分の除去等の処理を行う。前処理後の二値画像は、例えば、図６の帳票画像６０１のようになる。
レイアウト解析１０３で、ＣＰＵ２０６は、二値画像のレイアウト解析を行い、図表の位置、段落構造、項目とデータの位置などを認識する。項目とデータの位置については、ＣＰＵ２０６は、例えば、図６の参照番号６０２の場合には、表構造の関係から参照番号６０２の欄の上にある支払金額が項目名で、その下の７，８９０，１２３が記載されている枠がデータ枠である、などと解析する。論文や技術報告書の場合などには、文書の構造と位置関係から、タイトル、著者、要旨、ページ番号などが書かれている位置を認識するなどのメタデータ抽出を行う場合もある。
文字列抽出１０４では、ＣＰＵ２０６は、文書画像中から文字列単位の画像を抽出する。ＣＰＵ２０６は、一般文書の場合には１行分の画像、表の場合には枠内の画像、など文字列単位の画像を抽出する。例えば、図６の参照番号６０２のように、表の枠内の画像を抽出する。
文字切出１０５、文字認識５０３、認識結果選定１１４、の一連の処理では、抽出した各文字列画像中の文字を認識する。ここでの処理は、図６の参照番号６０３のように、文字列画像を文字単位に分割して、各々の文字画像中の文字を認識することにより、最終的に参照番号６０４のように文字コード等の計算機が扱えるコードに変換する。
上記の文字列抽出１０４から後の、文字切出１０５から認識結果選定１１４までの処理を、例を挙げて説明する。
【００１８】
図１０は、文字切出処理を説明するための図である。
まず、文字切出１０５について説明する。例えば、文字列抽出によって、図１０の画像１００１のような文字列画像が得られたとする。まず、文字切出１０５の処理では、ＣＰＵ２０６は、文字線同士が交差する点や、文字線が途切れた点などを基に、切断候補点を作成する。図１０の画像１００２が、切断候補点による分割を示す。この例では、４つの画像に分割されている。この各分割画像と、隣接した複数個の画像の合成が、文字画像候補となる。図１０の画像１００３の例では、左から１つ目と２つ目の画像、左から２つ目と３つ目の画像も、それぞれ文字画像候補として、６つの文字画像候補を得ている。左端の点から右端の点に左から右に至る各ルートが、文字列１００１の切出し候補となる。
図７は、文字識別の結果を説明するための図である。
次に、文字認識５０３では、ＣＰＵ２０６は、候補となっている個々の文字画像中の文字を認識する。ここでは、例えば、図７のように各文字画像に対する正解候補文字（１位候補文字種）と、その正解候補文字に対する類似度（尤度、信頼度）を得る。
次に、ＣＰＵ２０６は、文字認識５０３で得た正解候補文字と類似度を基に、認識結果の候補となるネットワークを図１１の参照番号１１０１のように作成する。画像を除いたものが、参照番号１１０２である。左端の点から右端の点に左から右に至る各ルートが認識結果候補となる。また、ここでは、ＣＰＵ２０６は、文字画像の認識結果の信頼性が低いと判断した場合、棄却処理を行い、認識結果に対して棄却フラグを立てるなどして、認識結果の信頼性が低いことを後の処理、またはユーザに知らせる。
この文字認識５０３の内部の処理について説明する。ここでは、ＣＰＵ２０６は、個々の文字画像中に描かれている文字を認識する。また、認識結果の棄却処理も行う。
まず、文字識別１０６について説明する。ここでは、まず、ＣＰＵ２０６は、文字画像をベクトル値に変換する特徴抽出処理を行う。ベクトル値の次元数をＮとすると、特徴抽出処理によって、１つの文字画像はＮ次元ベクトルとして表現される。文字画像をベクトル値として表現することにより、文字画像の分布を統計的に扱うことが可能となる。
【００１９】
図１４は、特徴抽出の処理の例を示すための図である。
特徴抽出について、図１４を用いて説明する。まず、ＣＰＵ２０６は、文字画像の正規化を行う。一般に入力文字画像は、サイズが異なる。そのため、正規化では、文字画像のサイズを揃えることによって、後の処理で統一的に扱えるようにする。また、入力文字画像は、筆記具、筆記者、フォントなどの違いによって同じ字種の文字であっても字形が大きくことなる場合がある。このことは、認識精度低下の原因となる。そこで、正規化処理では、入力文字画像のサイズの変形と字形の変形によって、サイズの統一や同一字種間での字形のばらつきを低減する。図１４の画像１４０１が入力文字画像の例で、画像１４０２は６４×６４のサイズに変形した画像である。正規化処理に関しては、様々な方法があり、例えば、非特許文献１に詳しく記載されている。
次に、正規化により生成された正規化画像をベクトル値に変換する特徴抽出を行う。特徴抽出にも様々な方法があり、例えば、非特許文献１に詳しく記載されている。ここでは、最も簡単な画素特徴抽出の例を用いて説明する。画素特徴抽出では、正規化画像を小領域に分割する。図１４の例では、正規化画像１４０２を６４個の小領域に分割している。分割の様子を画像１４０３に示した。次に、各小領域の黒画素の個数を要素とするベクトル値に変換する。小領域が６４個あるため、画像１４０４のように６４次元のベクトル値が生成される。
広く用いられている特徴抽出の方法のもう一つ例として、勾配特徴抽出方法について説明する。
【００２０】
図１９及び図２０は、勾配特徴抽出方法についての説明図（１）及び（２）である。
ここでは、正規化により生成される正規化画像には、１画素分の白縁をつけているとする。また、画素点（ｉ、ｊ）の正規化画像の画素値をｆ（ｉ、ｊ）とおく。このとき、ＣＰＵ２０６は、正規化画像の各画素点（ｉ、ｊ）において、勾配ベクトルｇ＝（ｇｘ、ｇｙ）を以下のように計算する。これは、図１９に示すフィルタをかけることに相当する。
ｇｘ（ｉ、ｊ）＝｛ｆ（ｉ＋１、ｊ＋１）＋２ｆ（ｉ、ｊ＋１）＋ｆ（ｉ−１、ｊ＋１）−ｆ（ｉ＋１、ｊ−１）−２ｆ（ｉ、ｊ−１）−ｆ（ｉ−１、ｊ−１）｝／８
ｇｙ（ｉ、ｊ）＝｛ｆ（ｉ＋１、ｊ＋１）＋２ｆ（ｉ＋１、ｊ）＋ｆ（ｉ＋１、ｊ−１）−ｆ（ｉ−１、ｊ＋１）−２ｆ（ｉ−１、ｊ）−ｆ（ｉ−１、ｊ−１）｝／８
ただし、上記の式において、画素点（ｉ、ｊ）が画像の縁にある場合には、その周囲の画素点が画像の領域外となる場合がある。そのときは、画像外の領域におけるｆの値は０と考えて、上記の式を計算する。これによって、各画素点（ｉ、ｊ）において、画素値の勾配ベクトルｇ＝（ｇｘ、ｇｙ）が得られる。
次に、ＣＰＵ２０６は、ベクトルｇ（ｉ、ｊ）を図２０の参照番号２００１に示す４５度間隔の８方向ｇ０（ｉ、ｊ）、ｇ１（ｉ、ｊ）、…、ｇ７（ｉ、ｊ）に分解する。分解は、ｇ（ｉ、ｊ）の方向に近接する２つの方向に分解する。但し、ｇ（ｉ、ｊ）の方向が８方向のいずれかに完全に一致する場合には、分解の必要はなく、仮に方向０に一致した場合には、ｇ０（ｉ、ｊ）＝ベクトルｇ（ｉ、ｊ）の長さ、とし、他の方向については、ｇ１（ｉ、ｊ）＝…＝ｇ７（ｉ、ｊ）＝０とおく。図２０の参照番号２００２の図によって、分解の方法を説明する。ＣＰＵ２０６は、ｇ（ｉ、ｊ）が参照番号２００２に示すように、方向０と方向１の間に存在する場合、ベクトルｇ（ｉ、ｊ）を方向０と方向１の成分に分解する。このとき、方向０の成分の長さをｐ０、方向１の成分の長さをｐ１とすると、ｇ０（ｉ、ｊ）＝ｐ０、ｇ１（ｉ、ｊ）＝ｐ１、ｐ２（ｉ、ｊ）＝…＝ｐ７（ｉ、ｊ）＝０とする。
以上のようにして、８つの方向画像ｇ０（ｉ、ｊ）、…、ｇ７（ｉ、ｊ）が生成される。文字の変形に対する頑健性を高めるために、この画像にガウスフィルタによるぼかしを施す場合もある。その場合には、ぼかしをかけた方向画像をあたらめて、ｇ０（ｉ、ｊ）、…、ｇ７（ｉ、ｊ）とおく。次に、ＣＰＵ２０６は、各方向画像ｇｉ（ｘ、ｙ）を小領域に分割し、各小領域の画素値の合計値を要素とするベクトルを生成する。いま、各方向画像を６４の小領域に分割したとすると、各方向画像から６４個の値が得られる。これが、各方向について得られるため、８方向で合計６４×８＝５１２個の値が得られる。これをベクトルの成分として、５１２次元のベクトルが生成される。
以上が、勾配特徴抽出方法の説明である。
【００２１】
以上のようにして、ＣＰＵ２０６は、文字画像をベクトル値に変換する。以下では、特徴抽出によって生成されるベクトル値の次元数をＮとする。これによって、１つ１つの文字画像は、Ｎ次元空間上の点として表現され、同一文字種は近い領域に分布することになる。その様子を次の図９に模式的に示した。
図９は、文字識別用の方式を説明するための図である。丸、三角、四角がそれぞれ、文字種Ａ，文字種Ｂ、文字種Ｃに対応する各文字画像から抽出されたＮ次元ベクトル点を表している。例えば、一つ一つの○は、文字種Ａの異なる画像から抽出されたベクトルを表している。
【００２２】
次に、ＣＰＵ２０６は、予め作成しておいた文字識別用辞書を参照し、文字画像から抽出されたベクトル値に基づいて、文字画像中に描かれている文字を識別する。
ここで、まず、文字識別辞書について説明しておく。文字識別用辞書には、例えば、各識別対象文字種ｋに対して、Ｎ次元ベクトルを引数にとり、実数値を値にとる識別関数ｆｋ（ｘ）が保存されている。識別関数ｆｋ（ｘ）は、文字種ｋが描かれている文字画像から生成されるＮ次元ベクトルｘに対しては大きい値を、その他の字種が描かれている文字画像から生成されるＮ次元ベクトルｘに対しては小さい値をとるように、予め、学習によって生成しておく。識別関数ｆｋ（ｘ）の値は、ベクトルｘの字種ｋに対する類似度、尤度などと呼ばれる。例えば、数字を対象とした認識の場合には、０〜９の１０字種に対応して、１０個の識別関数ｆ０（ｘ）、ｆ１（ｘ）、…、ｆ９（ｘ）が存在する。
ＣＰＵ２０６は、この識別関数を、例えば、文字画像と文字ラベルから成る学習用文字画像データベースを用いて作成することができる。
図１５は、学習用文字画像データベースの例を示すための図である。図示のように、文字ラベルは、文字画像中に描かれている文字を示すコード化されている正解ラベルである。学習用文字画像データベースは、例えば、指定の枠内に指定の文字を人に書いてもらうなどとして、文字画像を収集して作成することができる。ＣＰＵ２０６は、この学習用文字画像データベースに含まれている各画像を上記と同様の方法によってＮ次元ベクトルに変換する。ここで、ＣＰＵ２０６は、これらのＮ次元ベクトルと正解ラベルに基づいて、識別関数ｆｋ（ｘ）を字種ｋに対応するＮ次元ベクトルに対しては大きな値を、それ以外の字種に対応するＮ次元ベクトルに対しては小さな値をとるように学習により生成する。識別関数の学習方法には、例えば、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ），ニューラルネットワーク、ガウスモデル、ＬＶＱ（Ｌｅａｒｎｉｎｇ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ）等の様々な方法を用いることができる。
文字の識別では、ＣＰＵ２０６は、文字画像から抽出したＮ次元ベクトルｘを用いて、各字種の識別関数ｆｋ（ｘ）の値を計算する。識別関数ｆｋ（ｘ）の値は、字種ｋに対する類似度であるため、ｆｋ（ｘ）の値が最も大きい字種ｋが認識結果の第一位候補となる。同じように、二番目に値が大きい識別関数に対する字種ｋが認識結果の第二候補となる。このようにして第ｎ候補まで認識結果が得られる。例えば、図６の文字切出６０３によって切出した文字画像の認識は、図７のようになる。以上により、図６の参照番号６０４のように認識結果が得られ、計算機が扱える文字コードなどのコードに変換される。
以上が文字識別１０６の説明である。
【００２３】
上記で説明した文字識別は、文字画像と各認識対象字種の類似度を計算し、それに基づいて、候補文字を得る処理である。ＯＣＲ装置の有用性を高めるためには、この文字識別の精度が重要である。しかし、認識結果が疑わしい場合には、それを知らせる認識結果の棄却処理も重要である。
図１２は、非文字と曖昧文字の例を示すための図である。棄却の対象となるものには、たとえば、図１２の参照番号１２０１に示すような非文字や参照番号１２０２に示すような曖昧文字がある。非文字は、たとえば、文字切出のミスによる文字の一部や複数文字が合わさった画像、汚れなどの外乱要因が混入したものなどがある。曖昧文字は、たとえば、参照番号１２０２の左端の画像のように７と９の区別がつかないものなどがある。
棄却処理が精緻であれば、いくつかの利点がある。ひとつは、もし、誤って文字を認識したまま結果が保存されると、誤ったままにするか、これを修正するためには、全認識結果を人手によって再チェックしなければならない。これに対して、認識結果が疑わしい場合に、これをユーザに知らせることができれば、ユーザはその部分のみ修正すればよい。また、棄却を精度良く行うことができれば、その要因として、前処理、文字行抽出、文字切出など、前の処理に失敗している可能性があると判断して、前のいずれかの処理から処理方法や処理条件などを変えて、再度、処理を試すことができる。これにより、認識精度を高めることができる。
以下では、正しく文字画像中の文字を認識する率を正読率、誤って認識する率を誤読率、認識結果を棄却する率を棄却率とよぶことにする。一般に、棄却を強くしすぎると、誤読していたものを棄却するようになるだけでなく、正しく読めていたもののうちいくつかは棄却してしまうため、正読率、誤読率ともに低くなる。そのため、棄却は、正読率をなるべく落とさないように、かつ、誤読率を減少させることが望ましい。
以下では棄却判定部の処理である非文字棄却５０１、曖昧文字棄却５０２について説明する。
非文字棄却５０１について説明する。入力文字画像から抽出されたＮ次元ベクトルをｘとする。また、第一位候補文字ｋ１に対応する識別関数をｆｋ１とする。このとき、ｆｋ１（ｘ）は文字種ｋ１に対する類似度である。ｒ１（ｘ）＝−ｆｋ１（ｘ）とおくと、ｒ１（ｘ）は、文字種ｋ１に対する非類似度とみなすことができる。そのため、ＣＰＵ２０６は、閾値ｈ１をあらかじめ定めておき、ｒ１（ｘ）＞ｈ１のとき、非類似度が高い（類似度が低い）として棄却の判断をする。これは、入力画像が非文字であったとき、第一位候補の文字に対しても類似度が低いことが想定されるため、非文字の棄却を想定したものである。
次に、曖昧文字棄却５０２について説明する。第二位候補文字ｋ２に対応する識別関数をｆｋ２とする。このとき、ｆｋ２（ｘ）は文字種ｋ２に対する類似度である。また、ｆｋ１（ｘ）≧ｆｋ２（ｘ）となる。ｒ２（ｘ）＝ｆｋ２（ｘ）−ｆｋ１（ｘ）とおくと、このｒ２（ｘ）の値が大きいほど、ｆｋ１（ｘ）とｆｋ２（ｘ）の値が近いことになる。このとき、第一位候補文字と第二位候補文字の間で識別が曖昧であることを示している。そのため、ＣＰＵ２０６は、閾値ｈ２をあらかじめ定めておき、ｒ２（ｘ）＞ｈ２のとき、識別結果が曖昧であるとして棄却する。この処理は、非文字棄却５０１において、すでに棄却判定がされている場合には、スキップしてもよい。
【００２４】
以上が、文字認識５０３での処理の説明である。この処理を各文字画像に対して行う。
認識結果選定１１４では、ＣＰＵ２０６は、単語辞書等を参照し、各文字に対する認識の類似度（信頼度）を総合的に判断しながら、認識結果候補の中から、最終的な認識結果を選定する。単語辞書は、例えば、住所認識をしている場合には、予め、住所のリストを保存した辞書等とすることができる。一般文書の認識の場合には、単語などとなる。
以上が、文字切出１０５から認識結果選定１１４までの処理である。この処理を各文字列画像に対して行う。
【００２５】
次に、リトライ判定１１５では、ＣＰＵ２０６は、処理を変えて認識の再処理を行うかどうか判断する。再処理は、例えば、文書画像全体を対象とする場合もあるし、文字列画像単位、文字画像単位の場合もある。例えば、文字列認識結果に類似度（尤度、信頼度）が低い文字が存在する場合、単語辞書に合致する結果が得られなかった場合、読みとれなかった文字が存在する場合、などに、ＣＰＵ２０６は、再処理を行う。再処理を行う場合には、ＣＰＵ２０６は、これ以前のいずれかの処理から処理方式を変える、処理条件を変える、などして、再度認識を試す。例えば、前処理１０２の二値化やノイズ除去の方式を変えるなどである。最後に、認識後処理１１６では、ＣＰＵ２０６は、認識結果を記憶装置等に保存する、ディスプレイに表示する、などの処理を行う。
以上が本発明の関連技術による文字認識装置の処理の流れである。
【００２６】
図１３は、棄却対象となる画像の例を示すための図である。棄却指標には、上記のｒ１、ｒ２のほかにも、ＣＰＵ２０６は、図１３の参照番号１３０１のような文字のかすれ度合いｒ３（ｘ）や、参照番号１３０２のような文字のつぶれ度合いｒ４（ｘ）を算出して、それを基に棄却判定を行う方法がある。あらかじめ閾値ｈ３を定めておいて、ｒ３（ｘ）＞ｈ３となったときには、かすれが大きいため棄却する。また、あらかじめ閾値ｈ４を定めておいて、ｒ４（ｘ）＞ｈ４となったときには、つぶれが大きいため棄却する。また、他にも、文字画像の重心位置や文字線の線幅の平均値なども使うことができる。例えば、重心位置の場合には、文字識別結果が８であるのに重心位置が中心から大きくずれている場合は、棄却する、などの判定を行う。
ここで、かすれ度合いｒ３（ｘ）、つぶれ度合いｒ４（ｘ）の例を挙げる。ただし、上記では、ｘは特徴抽出により抽出されるベクトルとしたが、ここでは、ｘは正規化画像であるとする。各字種ごとに、学習ＤＢから正規化画像の平均合計画素値ｍを予め計算しておく。入力画像に対して、ｒ３（ｘ）は、ｍから入力画像の正規化画像の合計画素値を引いた値、ｒ４（ｘ）は、入力画素の正規化画像の合計画素値からｍを引いた値とする。これによって、入力画像の正規化画像の合計画素値がｍより小さい場合にはｒ３が大きく、逆に大きい場合にはｒ４が小さくなる。
しかし、これらの指標の組み合わせ方は従来明らかでない。従来技術では、いずれかの基準により棄却されたものを棄却とするなど単純な方法をとるか、人手で試行錯誤しながら複数の指標を組み合わせる、などの方法がとられる。
前者の単純な方法では、すべての棄却指標を算出する必要があるため、計算コストがかかる。その上、いずれかの棄却指標で閾値を超えた場合に棄却されるため、一般に棄却が強すぎて正読率が低下する場合が想定され、高い正読率、且つ低い誤読率を達成するという棄却の目的からしても、必ずしも適しているとは限らない。また、後者の人手での試行錯誤は、この指標の数が多くなると、相当コストのかかる方法であり、実現が困難である場合が想定される。
【００２７】
３．文字認識
本実施例では、複数の棄却指標を効果的に組み合わせた棄却方式を自動的に構成することができる。これによって、複数の棄却指標を組み合わせるための人的コストを削減できる。また、正読率を高水準に維持したまま、誤読率を削減することができ、精緻かつ高速な棄却方式を構成することができる。
本実施例の文字認識装置の処理を図を用いて説明する。
図１７は、本発明の実施例の文字認識装置の処理を説明するフローチャートの例である。
文書の画像化１０１、前処理１０２、レイアウト解析１０３、文字列抽出１０４、文字切出１０５、文字識別１０６、認識結果選定１１４、リトライ判定１１５、認識後処理１１６は図５及びその説明箇所で記載したように、本発明の関連技術文字認識装置の処理と同様である。
【００２８】
以下では、文字認識１７０７の内部の棄却判定部である処理１７０１から処理１７０６までの処理について説明する。棄却処理では、ＣＰＵ２０６は、文字識別１０６の結果と、棄却値とを用いて、棄却判断を行う。ＣＰＵ２０６は、棄却と判定された場合には、当該文字認識結果に棄却フラグを立てるなどして、後の処理や、ユーザに知らせ、その結果を利用できるようにする。
本実施例の棄却組合せの構成には、予め、棄却したい画像サンプルを集めた棄却画像データベースと正読させたい画像サンプルを集めた正読画像データベースを準備しておく。棄却画像データベースは、文字識別１０６で誤読してしまうサンプル、非文字画像、曖昧文字画像、かすれ画像、つぶれ画像など、棄却したい画像サンプルを集めたデータベースである。正読画像データベースは、文字識別１０６の処理で正しく文字識別できるものなど、正読させたい文字画像サンプルを集めたデータベースである。以下では、正読画像データベースのサンプルのうち棄却判定されるものの割合を誤棄却率、棄却画像データベースのサンプルのうち棄却判定されないものの割合を誤受理率とよぶことにする。誤棄却率、誤受理率がともに小さいほど、棄却判定の精度が良いことになる。
以下では、ｎ個の棄却値算出部があるとして、棄却値に棄却値１、棄却値２、…、棄却値ｎのように、番号を付ける。また、画像ｘを入力として、棄却値を出力する関数（棄却関数）をｒ１（ｘ）、ｒ２（ｘ）、…、ｒｎ（ｘ）などと書くことにする。
棄却値の性質について簡単に説明しておく。棄却関数ｒｉ（ｘ）は、棄却したいサンプルに対しては高い値をとり、棄却したくないサンプルに対しては低い値をとるような性質をもつように構成されたものである。例えば、すでに述べたように、かすれ度、つぶれ度や、識別関数の値を用いて計算される非文字度、曖昧度などである。閾値ｈ１を設けておき、ｒｉ（ｘ）＞ｈ１のときに棄却する、などとして用いる。このとき、ｈ１が大きすぎると、十分に棄却することができず、誤読率が高くなる。一方で、ｈ１が低すぎると、誤読率は小さくなるが、正読率も落ちてしまう。そのため、ユーザの要求に応じて、正読率をなるべく落とさないように、かつ、誤読率を減少させるように、ｈ１を調整する。
【００２９】
図１６は、二つの棄却値に対して、いずれかの棄却値で閾値を超えたときに棄却と判断する場合に、棄却と判断される値の領域を斜線により示した。棄却値１が閾値１を超えた場合、または、棄却値２が閾値２を超えた場合に棄却されるので、棄却領域は図１６の斜線部のようになる。
本実施例では、これらｎ個の棄却値を棄却強度が強い順に配置する。棄却強度が強いとは、当該棄却値に基づく棄却判定の棄却率が高いことを意味する。棄却強度の定め方の例をいくつか挙げる。
一つ目の例を挙げる。まず、誤棄却率と誤受理率の和ｅを指定する。各棄却関数ｒｉに対して、ｒｉ（ｘ）＞ｈｉによって棄却判定を行った場合の誤棄却率と誤受理率の和ｅが最も小さくなるように、ｈｉを設定する。このとき、ｒｉ（ｘ）＞ｈｉのときに棄却することによる棄却判定を行った場合の学習用文字画像データベースのサンプルの棄却率が高い順に、棄却値を選定する。
二つ目の例を挙げる。各棄却関数ｒｉに対して、予めユーザによって閾値ｈｉが指定されているとする。このとき、ｒｉ（ｘ）＞ｈｉのときに棄却することによる棄却判定を行った場合の学習用文字画像データベースの棄却率が高い順に、棄却値を選定する。
いま、棄却値が３つ存在し、ｒ１、ｒ２、ｒ３の順に棄却率が高い、すなわち、棄却強度が高いとする。このとき、図１７の処理１７０１から処理１７０６のような順で処理を行う。つまり、棄却値１算出１７０１で入力画像ｘに対する棄却値ｒ１（ｘ）を算出し、棄却判定１（１７０２）で、ｒ１（ｘ）＞ｈ１であれば、棄却と判定し、そうでなければ、棄却しない。棄却と判定された場合には、後の棄却処理である処理１７０３から処理１７０６までの処理をスキップする。棄却と判定されなかった場合には、次の処理１７０３に移る。以下、同様にして、棄却判定２の処理、又は、棄却判定２と棄却判定３の処理を続ける。例では、棄却値が３つの場合について説明したが、２個以上のいずれの個数の棄却値がある場合にも同様である。
本実施例では、棄却と判定された時点で処理を終えることができる。さらに、棄却率が高い順番に先に配置されているため、計算コスト上、効率的である。
【実施例２】
【００３０】
図２は、本実施例の文字認識装置の一例を示す構成図であり、実施例１と同様である。図１７に、本実施例の文字認識装置の処理の流れを示す。文書の画像化１０１、前処理１０２、レイアウト解析１０３、文字列抽出１０４、文字切出１０５、文字識別１０６、認識結果選定１１４、リトライ判定１１５、認識後処理１１６の文字認識装置の処理も、実施例１と同様である。また、文字識別１０６も実施例１と同様である。
本実施例では、棄却判定部の各１７０１〜１７０６の処理の流れが異なる。
実施例１では、棄却値算出処理と棄却判定処理を棄却強度が強い順に配置した。棄却値算出の計算コストにあまり差が無い場合にはこの方法で十分であるが、そうでない場合には、非効率である場合がある。例えば、棄却率が高くとも、棄却値算出の計算コストが高い棄却値算出処理が先にあると、常に計算コストが高い棄却値を計算することになる。ここで、計算コストは、例えば、学習用文字画像データベースに含まれる画像を処理する場合の棄却関数の計算にかかる平均処理時間などとして求める。
そのため、本実施例では、各棄却値算出の計算コスト（処理時間）も考慮して、処理の順番を定める。つまり、棄却値の棄却率と計算コスト（処理時間）に基づいて定めた棄却効率をもとに、棄却効率が高い程、先に配置するような構成にしてもよい。棄却効率は、例えば、棄却率×計算コスト（平均処理時間）、で算出できる。
図２１は、棄却関数の説明図である。
本実施例の棄却の構成を表で示すと、図２１の表２１０１のようになる。表の各行（横方向）は並列の並びを示し、合成する棄却関数とその合成関数、列方向（縦方向）は直列での並びを示す。本実施例の場合には、いずれの棄却関数も直列につないでいるため、各列は１つの棄却関数である。棄却値１算出１７０１、棄却値２算出１７０３、棄却値３算出１７０５は、それぞれ、ｆ１（ｒ１（ｘ））、ｆ２（ｒ２（ｘ））、ｆ３（ｒ３（ｘ））、を計算して棄却値とするが、本実施例のように、並列方向に１つの棄却関数しかない場合には、ｆ１、ｆ２、ｆ３は恒等関数として、例えば、ｆ１（ｒ１（ｘ））＝ｒ１（ｘ）としてよい。
【実施例３】
【００３１】
図２は、本実施例の文字認識装置の一例を示す構成図であり、実施例１と同様である。図１８に、本実施例の文字認識装置の処理の流れを示す。文書の画像化１０１、前処理１０２、レイアウト解析１０３、文字列抽出１０４、文字切出１０５、文字識別１０６、認識結果選定１１４、リトライ判定１１５、認識後処理１１６の文字認識装置の処理も、実施例１と同様である。また、文字識別１０６も実施例１と同様である。
本実施例では、文字認識１８０５における棄却判定を行う処理１８０１〜１８０４が異なる。本実施例では、処理１８０１〜１８０３に示すように、複数の棄却値を平行して算出し、それらの値に基づいて、処理１８０４において棄却判定処理を行う。
まず、このように棄却値算出を並列につなぐ理由について説明する。
図１６は、二つの棄却値に対して、いずれかの棄却値で閾値を超えたときに棄却と判断する場合に、棄却と判断される値の領域を斜線により示した。棄却値１が閾値１を超えた場合、または、棄却値２が閾値２を超えた場合に棄却されるので、棄却領域は図１６の斜線部のようになる。これは、実施例１や実施例２のように棄却値算出と棄却判定を順に行い、直列に処理を繋いだ場合に相当する。
図４は、２つの棄却値の値と、棄却したいサンプル、正読したいサンプルの分布を模式的に表したものである。三角が棄却画像データベースのサンプルを表し、丸が正読画像データベースのサンプルを表す。このような分布の場合には、正読画像データベースのサンプルの分布と棄却画像データベースのサンプルの分布の境界が、図４の境界線のようになっており、棄却すべきサンプルは、この境界線よりも右上の側に位置している。一方で、棄却を直列に行った場合には、図１６のような棄却領域となり、この例では、多数の棄却すべきサンプルを棄却できなくなってしまう。これらの棄却すべきサンプルが棄却できるように、閾値１と閾値２の値を小さくすると、今度は、正読させたい丸のサンプルを多数棄却してしまうことになる。
このようなことから、本実施例では、棄却値１と棄却値２の両方の値に基づいて棄却判断を行う。つまり、棄却値１の値をｘ１、棄却値２の値をｘ２としたとき、これらを引数にとる関数ｆ（ｘ１、ｘ２）により新たな棄却値を定め、ｆ（ｘ１、ｘ２）の値が一定の閾値以上の場合に棄却する。ｆ（ｘ１、ｘ２）としては、例えば、ｆ（ｘ１、ｘ２）＝ｘ１＋ｘ２を用いることができる。関数ｆ（ｘ１、ｘ２）の定め方について、もうひとつ例を挙げる。
【００３２】
関数ｆ（ｘ１、ｘ２）は、ａ１１、ａ２２、ａ１２、ａ１、ａ２、ａ０をパラメータとしてもつｘ１、ｘ２の二次関数ｆ（ｘ１、ｘ２）＝ａ１１ｘ１ｘ１＋ａ２２ｘ２ｘ２＋ａ１２ｘ１ｘ２＋ａ１ｘ１＋ａ２ｘ２＋ａ０、として定義する。このパラメータａ１１、ａ２２、ａ１２、ａ１、ａ２、ａ０を、正読画像データベースのサンプルに対して負の値をとるように、棄却画像データベースのサンプルに対して正の値をとるように、設定する。ただし、全てのサンプルに対してこの条件を満たすようなパラメータを設定することは、一般には不可能な場合が想定されるので、パラメータを引数にとり、条件を満たさない度合いを示すコスト関数（損失関数）（又は、正読画像データベースのサンプルと、棄却画像データベースのサンプルとの識別誤差に基づくコスト関数）ｃ（ｆ）を定義し、この値が小さくなるように、機械学習によって学習する。例えば、棄却画像データベースのサンプルに対してはｆが１、正読画像データベースのサンプルに対してはｆが−１をとる方向に学習するとして、ｃ（ｆ）をこれらの値からの全サンプルに対する二乗誤差の和とする。ｃ（ｆ）は、例えば、棄却画像データベースのサンプルから計算されるｆの値と１との二乗誤差の和をｖ１＝Σ｜ｆ−１｜＾２、正読画像データベースのサンプルから計算されるｆの値と−１との二乗誤差の和をｖ２＝Σ｜ｆ＋１｜＾２とし、ｃ（ｆ）＝ｖ１＋ｖ２（二乗誤差の和）などとする。例えば、ニューラルネットワークやＳＶＭなどを用いることができる。このようにして作成したｆのｆ＝０となる等高線は、図４の境界線のように、正読画像データベースの分布と棄却画像データベースのサンプルの境界線となる。なお、ここでは、ｆは二次関数を例として説明したが、より一般の関数、例えば、より高次の関数や、ニューラルネットワーク、動径基底関数の線型結合なども用いることができる。
以上、説明を簡単にするために、２つの棄却値をもつ場合について説明したが、３つ以上の棄却値の場合も同様である。図１８には、３つの棄却値が存在する場合に処理の流れを示している。処理１８０１、処理１８０２、処理１８０３では、それぞれ棄却値１、棄却値２、棄却値３、を算出する。それぞれの棄却値をｘ１、ｘ２、ｘ３とする。棄却判定３（１８０４）では、上記で説明したようにして作成した新たな棄却値ｆ（ｘ１、ｘ２、ｘ３）に基づいて、ｆ（ｘ１、ｘ２、ｘ３）が予め定めておいた閾値より大きい場合には棄却とし、そうでない場合には、棄却しない。
本実施例の方法は、直列につなぐよりも精度のよい棄却を行うことができる。しかし、全ての棄却値を算出しなければならない上、それらの棄却値に基づいてｆの値も計算する必要がある。そのため、棄却にかかる計算コストは大きくなる場合が想定される。
本実施例の棄却の構成を表で示すと図２１の表２１０２のようになる。表の各行（横方向）は並列の並びを示し、合成する棄却関数とその合成関数、列方向（縦方向）は直列での並びを示す。本実施例の場合には、いずれの棄却関数も並列につないでいるため、１行である。合成関数はｆで、棄却判定１８０４で算出される値は、ｆ（ｒ１（ｘ）、ｒ２（ｘ）、ｒ３（ｘ））となる。ｆは、例えば、上記で説明した方法で作成した関数である。
【実施例４】
【００３３】
図２は、本実施例の文字認識装置の一例を示す構成図であり、実施例１と同様である。図１に、本実施例の文字認識装置の処理の流れを示す。文書の画像化１０１、前処理１０２、レイアウト解析１０３、文字列抽出１０４、文字切出１０５、文字識別１０６、認識結果選定１１４、リトライ判定１１５、認識後処理１１６の文字認識装置の処理も、実施例１と同様である。また、文字識別１０６も実施例１と同様である。
本実施例では、文字認識１１７における棄却判定を行う処理の組み合わせ（１０７〜１１３の部分に相当）が異なる。
本実施例の棄却組合せの構成には、予め、棄却したい画像サンプルを集めた棄却画像データベースと正読させたい画像サンプルを集めた正読画像データベースを準備しておく。棄却画像データベースは、文字識別１０６で誤読してしまうサンプル、非文字画像、曖昧文字画像、かすれ画像、つぶれ画像など、棄却したい画像サンプルを集めたデータベースである。正読画像データベースは、文字識別１０６の処理で正しく文字識別できるものなど、正読させたい文字画像サンプルを集めたデータベースである。以下では、正読画像データベースのサンプルのうち棄却判定されるものの割合を誤棄却率、棄却画像データベースのサンプルのうち棄却判定されないものの割合を誤受理率とよぶことにする。誤棄却率、誤受理率がともに小さいほど、棄却判定の精度が良いことになる。
以下では、ｎ個の棄却値算出部があるとして、棄却値に棄却値１、棄却値２、…、棄却値ｎのように、番号を付ける。また、画像ｘを入力として、棄却値を出力する関数をｒ１（ｘ）、ｒ２（ｘ）、…、ｒｎ（ｘ）などと書くことにする。
【００３４】
本実施例では、これらｎ個の棄却値を棄却値同士の独立性の高さ、独立性の低さ（相関性の高さ）、棄却効率を考慮しながら、組み合わせる。本実施例の棄却値算出器の組み合わせの方針は、棄却値算出器を直列または並列につなぐ。その組み合わせ方は、独立性の高い棄却値算出器同士は直列に組合せ、独立性の低い（相関性の高い）棄却値算出器同士は並列に組合せ、棄却強度が強い棄却値算出器ほど先に配置する。また、並列に組み合わせる場合には、組み合わせた複数の棄却値に基づいて、新たな棄却値を定め、それに基づいて棄却判断を行う。さらに、棄却効率が高い処理ほど先に配置する。
図１６は、二つの棄却値に対して、いずれかの棄却値で閾値を超えたときに棄却と判断する場合に、棄却と判断される値の領域を斜線により示した。棄却値１が閾値１を超えた場合、または、棄却値２が閾値２を超えた場合に棄却されるので、棄却領域は図１６の斜線部のようになる。
まず、図３を用いて、棄却値同士の独立性について説明する。図３は、２つの棄却値の値と、棄却したいサンプル、正読したいサンプルの分布を模式的に表したものである。三角が棄却画像データベースのサンプルを表し、丸が正読画像データベースのサンプルを表す。このような分布では、正読画像データベースのサンプルの分布と棄却画像データベースのサンプルの分布の境界線が、図３のように、右上方向に大きく凸状になる。このような場合に、２つの棄却値は独立性が高いと呼ぶことにする。このような状況は、２つの棄却値が独立性の高い事象を基に棄却値を算出する場合に起こり得る。例えば、棄却値１は、文字のかすれ度を計算しており、棄却値２は、文字の重心位置の標準的な重心位置からの乖離の大きさを計算している場合などである。
【００３５】
本実施例では、棄却値が独立性が高い場合には、棄却値１算出と棄却値２算出を直列に処理する。つまり、まず、棄却値１を算出した上で、閾値１より値が高い場合には棄却とする判断を行う。棄却と判定されれば、棄却処理を終える。棄却と判定されなかった場合には、棄却値２を算出した上で、閾値２より値が高い場合には棄却と判断する。棄却と判定されれば、棄却処理を終える。棄却と判定されなかった場合には、次の棄却処理に移る。図３のように閾値１、閾値２を定め、棄却値１が閾値１を超えた場合、または、棄却値２が閾値２を超えた場合に棄却と判断することで、効率良く棄却することができる。このような棄却値は直列に処理すれば良い。
次に、図４を用いて、棄却値同士の独立性の低さ（相関性の高さ）について説明する。図４は、２つの棄却値の値と、棄却したいサンプル、正読したいサンプルの分布を模式的に表したものである。三角が棄却画像データベースのサンプルを表し、丸が正読画像データベースのサンプルを表す。このような分布では、正読画像データベースのサンプルの分布と棄却画像データベースのサンプルの分布の境界線が、図４のように、図３の場合ほど凸度が大きく無い場合、直線に近い場合、または、逆に左下方向に凸となる場合、２つの棄却値は独立性が低いと呼ぶことにする。このような状況は、２つの棄却値が相関性の高い事象を基に棄却値を算出する場合に起こり得る。例えば、棄却値１は、すでに説明したような識別関数に基づく非文字度を算出しており、棄却値２は、識別関数に基づく曖昧度を算出しているような場合である。このような場合には、どちらも識別関数を基にして棄却値を計算しているため、互いに関連性をもち、図４のような分布となる。
本実施例では、棄却値の独立性が低い場合には、棄却値１算出と棄却値２算出を並列に処理する。つまり、棄却値１をｘ１、棄却値２をｘ２としたとき、これらを引数にとる関数ｆ（ｘ１、ｘ２）により新たに棄却値を定め、ｆ（ｘ１、ｘ２）の値が一定の閾値以上の場合に棄却する。棄却と判定されれば、棄却処理を終える。棄却と判定されなかった場合には、次の棄却処理に移る。関数ｆの定め方は、実施例３と同様である。図４の分布の場合には、例えば、ｆ（ｘ１、ｘ２）＝ｘ１＋ｘ２とすれば、左上から右下に斜め方向に閾値境界線を定めることができ、正読画像データベースのサンプルと棄却画像データベースのサンプルを分離することができる。図４のような分布の場合には、棄却値を直列につなぐと、棄却値１が閾値１より大きいか、または、棄却値２が閾値２より大きい領域のみが棄却され、閾値１より左で、かつ、閾値２より下に分布している三角のサンプルが棄却できない。また、これらを棄却するために閾値１や閾値２の値を下げると、今度は、正読させたい丸のサンプルを多数棄却してしまうことになる。そのため、このような棄却値は並列に繋ぐ必要がある。
以上のように、本実施例では、独立性の高い棄却値同士は直列に処理し、並列性の高い棄却値同士は並列に処理する。
【００３６】
ここで、２つの棄却値の独立性が高いか、独立性が低い（相関性が高い）か、判断するための方法の例を挙げる。２つの棄却値をそれぞれｘ１、ｘ２とおく。この２個の棄却値を引数とする２つの関数ｇ１（ｘ１、ｘ２）、ｇ２（ｘ１、ｘ２）を定義する。
関数ｇ１（ｘ１、ｘ２）は、実施例３と同様に二次関数で、正読画像データベースのサンプルに対して負の値をとり、棄却画像データベースのサンプルに対して正の値をとるように、コスト関数ｃに基づいて、機械学習により設定する。ｇ１は、例えば、図３、図４に示すように、ｇ１＝０となる等高線が境界線となり、境界線より左下の領域で負、右上の領域で正となるような関数となる。
関数ｇ２（ｘ１、ｘ２）は、２つの値ｈ１、ｈ２をパラメータとしてもち、ｘ１＞ｈ１、またはｘ２＞ｈ２となる場合にｇ２（ｘ１、ｘ２）＝１、その他の場合にｇ２（ｘ１、ｘ２）＝−１となるような関数とする。すなわち、ｇ２（ｘ１、ｘ２）＞０となる領域が棄却領域である。ただし、全てのサンプルに対してこの条件を満たすようなパラメータを設定することは、一般には不可能であるので、パラメータを引数にとり、条件を満たさない度合いを示すコスト関数ｃ（ｈ１、ｈ２）を定義し、この値が小さくなるように、機械学習によって学習する。ｃ（ｈ１、ｈ２）は、例えば、棄却画像データベースのサンプルでｇ２＝−１となるものの個数をｖ１、正読画像データベースのサンプルでｇ２＝１となるものの個数をｖ２とし、ｃ（ｈ１、ｈ２）＝ｖ１＋ｖ２（条件を満たさないサンプルの個数）などとする。例えば、ニューラルネットワークやＳＶＭなどを用いることができる。このようにして作成したｇ２のｇ２＝１とｇ２＝−１の境界線は、棄却値１または棄却値２の軸に平行で、正読画像データベースの分布と棄却画像データベースのサンプルを分けるような境界となる。図３、図４の例では、閾値１がｈ１、閾値２がｈ２を示す点線であるとすると、ｇ２は閾値１より左側でかつ、閾値２より下側の領域でｇ２＝−１、閾値１より右側か、または閾値２より上側の領域でｇ２＝１となる。
【００３７】
上記の関数ｇ２（ｘ１、ｘ２）によるｇ２＝１とｇ２＝−１の境界は、棄却処理を直列に繋いだ場合の棄却領域の境界に相当する。一方、関数ｇ１（ｘ１、ｘ２）によるｇ１＝０の等高線は、実施例３の方法により棄却処理を並列に繋いだ場合の棄却領域の境界に相当する。
ここで、関数ｇ１により生成される棄却領域による精度と関数ｇ２により生成される棄却領域による精度を比較する。棄却画像データベースのサンプルでｇ２＝−１となるサンプルの個数をｖ１、正読画像データベースのサンプルでｇ２＝１となるサンプルの個数をｖ２、棄却画像データベースのサンプルでｇ１＜０となるサンプルの個数をｗ１、正読画像データベースのサンプルでｇ１≧０となるサンプルの個数をｗ２とする。ｖ１、ｗ１が誤受理の個数、ｖ２、ｗ２が誤棄却の個数に相当する。誤受理の個数ｐ１、誤棄却の個数ｐ２の場合の損失関数をｈ（ｐ１、ｐ２）とおく。ｈは、ｐ１、ｐ２の単調増加関数である。例えば、ｈ（ｐ１、ｐ２）＝ｐ１＋ｐ２などとする。この場合は、誤受理数と誤棄却数の和である。ｈの値が小さいほど、棄却の精度が良いとみなすことができる。
次に、ｈ（ｖ１、ｖ２）とｈ（ｗ１、ｗ２）を比較する。一般に、関数ｇ１による棄却領域のほうが精度が良く、ｈ（ｖ１、ｖ２）はｈ（ｗ１、ｗ２）より大きくなる。ここで、Ｄ＝ｈ（ｖ１、ｖ２）−ｈ（ｗ１、ｗ２）は、直列に繋いだ場合と並列に繋いだ場合の損失の差を表している。これが一定以上、大きい場合には、ｇ２による棄却領域では不十分であり、棄却値１と棄却値２の独立性が低いと判断する。逆に、Ｄ＝ｈ（ｖ１、ｖ２）−ｈ（ｗ１、ｗ２）が一定の値以上、小さい場合には、棄却値１と棄却値２の独立性が高いと判断する。
以上、説明を簡単にするために、２つの棄却値について説明したが、３つ以上の場合にも同様である。
【００３８】
本実施例では、独立性が高い処理は並列に、独立性が低い処理は直列に配置する。並列に配置した場合の棄却値には、実施例３と同じく上記の関数ｇ１を用いることができる。また、実施例２と同じく、棄却効率が高いものほど先に配置する。
ｎ個の棄却値がある場合に、棄却値の構成法について例を挙げる。
図２２に、棄却値の構成処理のフローチャートを示す。この処理は、文字認識装置２０１のＣＰＵ２０６、又は、文字認識装置２０１以外の他の処理装置で実行するようにしてもよい。まず、ＣＰＵ２０６又は他の処理装置は、ｎ個の棄却値の中から最も独立性が低い（上記のＤの値が大きい）ペアを選定する。ＣＰＵ２０６又は他の処理装置は、この独立性を判定する値Ｄが予め定めた値より低い場合には、選定したペアは独立性が高いので、このｎ個の棄却値は直列に配置する。ＣＰＵ２０６又は他の処理装置は、選定したペアの独立性が低いと判定された場合には、選定したペアは並列につなぎ、これらの棄却値に基づく新たな棄却値を実施例３の方法と同様にして定める。この並列に繋がれた棄却値を１つの棄却値とみなすと、ｎ−１個の棄却値が存在する。同様にして、ＣＰＵ２０６又は他の処理装置は、ｎ−１個の棄却値の中から最も独立性が低いペアを選定する。選定したペアが独立性が高いと判定された場合には、ＣＰＵ２０６又は他の処理装置は、このｎ−１個の棄却値は直列に配置する。選定したペアの独立性が低いと判定された場合には、ＣＰＵ２０６又は他の処理装置は、選定したペアは並列につなぎ、これらの棄却値に基づく新たな棄却値を実施例３の方法と同様にして定める。このとき、もし、選定したペアを構成する棄却値（ｒ１、ｒ２とする）が複数の棄却値の並列から成っている場合には、ＣＰＵ２０６又は他の処理装置は、その棄却値を構成する元の棄却値に分解し、それらの棄却値を並列につなぎ、これらの棄却値に基づく新たな棄却値を実施例３の方法と同様にして定める。たとえば、ｒ１は、もともと２つの棄却値ｓ１、ｓ２を並列につなぐことで構成されていた場合、ＣＰＵ２０６又は他の処理装置は、ｒ１をもとの棄却値に分解し、ｓ１、ｓ２、ｒ２を並列につなぐ。以上のようにして、ＣＰＵ２０６又は他の処理装置は、最終的に、独立性が低いと判定されるペアがなくなるまで続ける。
【００３９】
図１には、棄却値１と棄却値２が並列に繋がれ、棄却値３、棄却値４、棄却値５が並列に繋がれ、前者のセットと後者のセットが直列に繋がれている構成を示している。
図１の場合の棄却の構成を表で示すと図２１の表２１０３のようになる。表の各行（横方向）は並列の並びを示し、合成する棄却関数とその合成関数、列方向（縦方向）は直列での並びを示す。図１の場合には、まず棄却値１と棄却値２が並列に繋がれ、棄却値３、棄却値４、棄却値５が並列に繋がれているため、最初の行には、棄却関数１と棄却関数２が、次の行には棄却関数１、棄却関数２、棄却関数３が並んでいる。合成関数ｆ１、ｆ２は、例えば、上記で説明したｇ１を作成した方法により作ることができる。
【実施例５】
【００４０】
上記の実施例２、実施例３、実施例４において、並列演算装置が使える場合には、並列に並んだ棄却関数同士は並列に計算してもよい。また、直列に並んでいる場合であっても、次の棄却関数を計算できる場合には、計算しておいてもよい。その場合には、次の棄却関数の計算結果が不要になった場合にはその結果を捨てればよい。
【００４１】
４．実施例の効果
本実施例によると複数の棄却指標を組み合わせた棄却方式を自動的に構成することができる。これによって、複数の棄却指標を組み合わせるための人的コストを削減できる。また、本実施例によると、正読率を高水準に維持したまま、誤読率を削減することができ、精緻かつ高速な棄却方式を構成することができる。
また、本実施例では、複数の棄却指標を、棄却指標同士の独立性を基準として、独立性の高いもの同士は直列に、独立性の低いもの同士は並列に構成することによって、高正読率、低誤読率、高速な棄却方法を低い人的コストで提供することができる。
【００４２】
５．付記
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
本発明の文字認識方法又は文字認識装置・システムは、その各手順をコンピュータに実行させるための文字認識プログラム、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体、文字認識プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【符号の説明】
【００４３】
２０１  文字認識装置
２０２  入力装置
２０３  表示装置
２０４  イメージ取得装置
２０５  通信装置
２０６  演算装置（ＣＰＵ）
２０７  外部記憶装置（ＨＤＤ、メモリ）
【図１】
2014115781.tif 000003
【図２】
2014115781.tif 000004
【図３】
2014115781.tif 000005
【図４】
2014115781.tif 000006
【図５】
2014115781.tif 000007
【図６】
2014115781.tif 000008
【図７】
2014115781.tif 000009
【図８】
2014115781.tif 000010
【図９】
2014115781.tif 000011
【図１０】
2014115781.tif 000012
【図１１】
2014115781.tif 000013
【図１２】
2014115781.tif 000014
【図１３】
2014115781.tif 000015
【図１４】
2014115781.tif 000016
【図１５】
2014115781.tif 000017
【図１６】
2014115781.tif 000018
【図１７】
2014115781.tif 000019
【図１８】
2014115781.tif 000020
【図１９】
2014115781.tif 000021
【図２０】
2014115781.tif 000022
【図２１】
2014115781.tif 000023
【図２２】
2014115781.tif 000024