JP6055297B2 - 文字認識装置及び方法、文字認識プログラム - Google Patents

文字認識装置及び方法、文字認識プログラム Download PDF

Info

Publication number
JP6055297B2
JP6055297B2 JP2012268549A JP2012268549A JP6055297B2 JP 6055297 B2 JP6055297 B2 JP 6055297B2 JP 2012268549 A JP2012268549 A JP 2012268549A JP 2012268549 A JP2012268549 A JP 2012268549A JP 6055297 B2 JP6055297 B2 JP 6055297B2
Authority
JP
Japan
Prior art keywords
rejection
recognition result
value calculation
character
value
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.)
Active
Application number
JP2012268549A
Other languages
English (en)
Other versions
JP2014115781A (ja
Inventor
利昇 三好
利昇 三好
新庄 広
広 新庄
永崎 健
健 永崎
庸昂 堤
庸昂 堤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Information and Telecommunication Engineering Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Information and Telecommunication Engineering Ltd filed Critical Hitachi Information and Telecommunication Engineering Ltd
Priority to JP2012268549A priority Critical patent/JP6055297B2/ja
Priority to CN201310661200.7A priority patent/CN103870823B/zh
Publication of JP2014115781A publication Critical patent/JP2014115781A/ja
Application granted granted Critical
Publication of JP6055297B2 publication Critical patent/JP6055297B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、文字認識装置及び方法、文字認識プログラムに係り、特に、複数の棄却値を組み合わせた棄却判定方式を有する光学的文字認識装置及び方法、文字認識プログラムに関する。また、本実施例は、文字認識の技術のうちでも、特に、棄却の技術に関する。
本技術分野は、光学的文字認識(OCR: Optical Character Recognition)装置に関する。OCR装置は、紙文書をスキャナ等によって読取り、画像中の文字や記号を認識することによって、Unicode等にコード化することで、電子化する。OCR装置は、一般企業、自治体、金融機関、医療機関、教育機関などにおいて、会計伝票、納付済通知書、給与報告書、注文書、総振り、診療報酬明細書、解答用紙、などの電子化に用いられる。また、一般ユーザ向けには、携帯電話による文字認識、メモ等の一般文書中の文字認識などで用いられる。
OCR装置による文書電子化の処理の流れを簡略化して説明する。
図6は、文字認識装置による文書電子化の流れを説明するための図である。まず、スキャナ等による文書の画像化、二値化やノイズ処理等の前処理となる。これにより、例えば、図6の参照番号601のような二値の文書画像が得られる。次に、OCR装置による、図表の位置や文書の段落構造等のレイアウト解析と文字列抽出によって、文字列画像が、例えば、図6の参照番号602のように得られる。その後、OCR装置は、文字列画像から文字切出によって文字単位の画像を切出し、その後、個々の画像中の文字を認識する。文書の画像化から文字列抽出までの処理は、例えば、特許文献1、特許文献2に記載されている。また、文字列画像から個々の文字を認識するまでの処理は、例えば、特許文献3、非特許文献1、非特許文献2に記載されている。
本技術は、個々の文字画像の認識技術に関する。以下では、個々の文字画像中に描かれている文字を認識する技術に関して簡単に説明する。
まず、文字画像をベクトル値に変換する特徴抽出処理を行う。ベクトル値の次元数をNとすると、特徴抽出処理によって、1つの文字画像はN次元ベクトルとして表現される。同じ字種の文字画像から抽出されるN次元ベクトルは、N次元空間上の近い位置に分布する。
図9は、その様子を模式図により示したものである。丸、三角、四角がそれぞれ、文字種A,文字種B、文字種Cに対応する各文字画像から抽出されたベクトル値を表している。
次に予め作成しておいた文字識別用辞書を参照し、文字画像から抽出されたベクトル値に基づいて、文字画像中に描かれている文字を識別する。
ここで、まず、文字識別辞書について説明しておく。文字識別用辞書には、例えば、各識別対象文字種kに対して、N次元ベクトルを引数にとり、実数値を値にとる識別関数fk(x)が保存されている。識別関数fk(x)は、文字種kが描かれている文字画像から生成されるN次元ベクトルxに対しては大きい値を、その他の字種が描かれている文字画像から生成されるN次元ベクトルxに対しては小さい値をとるように、予め、学習によって生成しておく。識別関数fk(x)の値は、ベクトルxの字種kに対する類似度、尤度などと呼ばれる。例えば、数字を対象とした認識の場合には、0〜9の10字種に対応して、10個の識別関数f0(x)、f1(x)、…、f9(x)が存在する。
文字の識別では、文字画像から抽出したN次元ベクトルxを用いて、各字種の識別関数fk(x)の値を計算する。識別関数fk(x)の値は、字種kに対する類似度であるため、fk(x)の値が最も大きい字種kが認識結果の第一位候補となる。同じように、二番目に値が大きい識別関数に対する字種kが認識結果の第二候補となる。このようにして第n候補まで認識結果が得られる。
図7は、文字識別の結果を説明するための図である。例えば、図6の文字切出(参照番号603)によって切出した文字画像の認識は、図7のようになる。以上により、図6の参照番号604のように認識結果が得られ、計算機が扱える文字コードなどのコードに変換される。
上記で説明した文字識別は、文字画像と各認識対象字種の類似度を計算し、それに基づいて、候補文字を得る処理である。OCR装置の有用性を高めるためには、この文字識別の精度が重要である。しかし、認識結果が疑わしい場合には、それを知らせる認識結果の棄却処理も重要である。
図12は、非文字と曖昧文字の例を示すための図である。棄却の対象となるものには、たとえば、図12の文字例1201に示すような非文字や文字例1202に示すような曖昧文字がある。非文字は、たとえば、文字切出のミスによる文字の一部や複数文字が合わさった画像、汚れなどの外乱要因が混入したものなどがある。曖昧文字は、たとえば、文字例1202の左端の画像のように7と9の区別がつかないものなどがある。
棄却処理が精緻であれば、いくつかの利点がある。ひとつは、もし、誤って文字を認識したまま結果が保存されると、誤ったままにするか、これを修正するためには、全認識結果を人手によって再チェックしなければならない。これに対して、認識結果が疑わしい場合に、これをユーザに知らせることができれば、ユーザはその部分のみ修正すればよい。また、棄却を精度良く行うことができれば、その要因として、前処理、文字行抽出、文字切出など、前の処理に失敗している可能性があると判断して、前のいずれかの処理から処理方法や処理条件などを変えて、再度、処理を試すことができる。これにより、認識精度を高めることができる。
以下では、正しく文字画像中の文字を認識する率を正読率、誤って認識する率を誤読率、認識結果を棄却する率を棄却率とよぶことにする。正読率、誤読率、棄却率の和は1となる。一般に、棄却を強くしすぎると、誤読していたものを棄却するようになるだけでなく、正しく読めていたもののうちいくつかは棄却してしまうため、正読率、誤読率ともに低くなる。そのため、棄却は、正読率をなるべく落とさないように、かつ、誤読率を減少させることが望ましい。
棄却の方法について説明する。入力画像から抽出されたN次元ベクトルをxとする。また、第一位候補文字k1に対応する識別関数をfk1とする。このとき、fk1(x)は文字種k1に対する類似度である。r1(x)=−fk1(x)とおくと、r1(x)は、文字種k1に対する非類似度とみなすことができる。そのため、閾値h1をあらかじめ定めておき、r1(x)>h1のとき、非類似度が高い(類似度が低い)として棄却の判断をする。これは、入力画像が非文字であったとき、第一位候補の文字に対しても類似度が低いことが想定されるため、非文字の棄却を想定したものである。
さらに、第二位候補文字k2に対応する識別関数をfk2とする。このとき、fk2(x)は文字種k2に対する類似度である。また、fk1(x)≧fk2(x)となる。r2(x)=fk2(x)−fk1(x)とおくと、このr2(x)の値が大きいほど、fk1(x)とfk2(x)の値が近いことになる。このとき、第一位候補文字と第二位候補文字の間で識別が曖昧であることを示している。そのため、閾値h2をあらかじめ定めておき、r2(x)>h2のとき、識別結果が曖昧であるとして棄却する。
図13は、棄却対象となる画像の例を示すための図である。
ほかにも、特許文献4では、図13の文字例1301のような文字のかすれ度合いr3(x)や、文字例1302のような文字のつぶれ度合いr4(x)を算出して、それを基に棄却判定を行う方法が記載されている。あらかじめ閾値h3を定めておいて、r3(x)>h3となったときには、かすれが大きいため棄却する。また、あらかじめ閾値h4を定めておいて、r4(x)>h4となったときには、つぶれが大きいため棄却する。
特開2010−244372号公報 特開平11−53466号公報 特開2004−171316号公報 特願2011−212308号
Mohammed Cheriet, Nawwaf Kharma, Cheng lin Liu, and Ching Suen. Character Recognition Systems: A Guide for Students and Practitioners. Wiley−Interscience, 2007. 石井健一郎, 上田修功, 前田英作, 村瀬洋. パターン認識. オーム社出版局.
文字を棄却するための指標には、上記の非文字度(非類似度)r1、曖昧度r2、かすれ度r3、つぶれ度r4のように様々な指標が考えられる。しかし、これらの指標の組み合わせ方は明らかでない。従来技術では、いずれかの基準により棄却されたものを棄却とするなど単純な方法をとるか、人手で試行錯誤しながら複数の指標を組み合わせる、などの方法がとられる。
前者の単純な方法では、すべての棄却指標を算出する必要があるため、計算コストがかかる。その上、いずれかの棄却指標で閾値を超えた場合に棄却されるため、一般に棄却が強すぎて正読率が低下する場合が想定され、高い正読率且つ低い誤読率を達成するという棄却の目的からしても、必ずしも適しているとは限らない。また、後者の人手での試行錯誤は、この指標の数が多くなると、相当コストのかかる方法であり、実現が困難である場合が想定される。
本発明は、以上の点に鑑み、高正読率、低誤読率、高速な棄却方法を低い人的コストで提供することを目的とする。
本発明の第1の解決手段によると、
入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部と、
複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部と、
を備え、
複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識装置が提供される。
本発明の第2の解決手段によると、
文字認識方法であって、
入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部を用い、
複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部を用い、
複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識方法が提供される。
本発明の第3の解決手段によると、
文字認識プログラムであって、
処理部が、複数の棄却値算出部を用い、入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する機能と、
処理部が、ひとつ又は複数の棄却判定部を用い、複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定する機能と、
処理部が、複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させる機能と
をコンピュータに実行させるための文字認識プログラム。
本実施例によると、高正読率、低誤読率、高速な棄却方法を低い人的コストで提供することができる。
本発明の実施例4の文字認識装置の処理を説明するフローチャートの例である。 文字認識装置の構成図の例である。 独立性の高い2つの棄却値を説明するための図である。 独立性の低い2つの棄却値を説明するための図である。 本発明の関連技術の文字認識装置の処理を説明するフローチャートの例である。 文字認識装置による文書電子化の流れを説明するための図である。 文字識別の結果を説明するための図である。 棄却値の例を示す図である。 文字識別用の方式を説明するための図である。 文字切出処理を説明するための図である。 文字認識と認識結果選定処理を説明するための図である。 非文字と曖昧文字の例を示すための図である。 棄却対象となる画像の例を示すための図である。 特徴抽出の処理の例を示すための図である。 学習用文字画像データベースの例を示すための図である。 直列構成の場合の棄却領域を示す図である。 本発明の実施例1と実施例2の文字認識装置の処理を説明するフローチャートの例である。 本発明の実施例3の文字認識装置の処理を説明するフローチャートの例である。 勾配特徴抽出方法についての説明図(1)である。 勾配特徴抽出方法についての説明図(2)である。 棄却関数の説明図である。 棄却値の構成処理のフローチャートである。
以下、実施例を図面を用いて説明する。

1.概要

本実施形態では、その一例を挙げるならば、
文字認識装置は、
文書を光学的に走査することによって文書画像を取得する文書画像化部と、
前記入力画像からノイズや背景を除去し、二値化して二値画像を生成する手段を有する前処理部と、
前記二値画像の文書構造、図表構造を解析する手段を有するレイアウト解析部と、
前記二値画像から文字列単位の画像を抽出する手段を有する文字列抽出部と、
前記抽出された文字列画像の各々から文字単位の画像を切出す手段を有する文字切出部と、
文字切出部で切りだされた各文字単位の画像中の文字を認識する手段を有する文字識別部と、
複数の棄却値算出手段を備え、棄却能力が高い棄却値算出手段ほど、先に配置し、先の棄却値算出手段によって算出された棄却値に基づいて棄却と判定された場合には、後の棄却値算出処理を省略することで、前記認識結果を棄却するかどうか判定する手段を有する棄却判定部と、
前記認識結果と棄却判定結果に基づいて、前記各文字列画像の認識結果を選定する手段を有する認識結果選定部と、
前記認識結果に基づいて、認識の再処理を行うかどうか判断する手段を有するリトライ判定部と、
認識結果を保存したり表示装置に出力するなどの処理を行う手段を有する認識後処理部と、
を有する。

本実施形態の文字認識装置は、棄却判定部において、棄却能力の強度と棄却値算出コストに基づく棄却効率が高いほど先に配置し、先の棄却値算出手段によって算出された棄却値に基づいて棄却と判定された場合には、後の棄却値算出処理を省略することで、前記認識結果を棄却するかどうか判定することを特徴としていても良い。

本実施形態の文字認識装置は、
上述の棄却判定部において、並列に配置した複数の棄却値算出手段の各々の棄却値に基づいて、新たな棄却値を生成し、その棄却値に基づいて棄却判定を行うことを特徴としていてもよい。

本実施形態の文字認識装置は、
上述の棄却判定部において、複数の棄却値の独立性を判定する手段を有し、独立性の高い棄却値算出手段を直列に処理することを特徴としていてもよい。

本実施形態の文字認識装置は、
上述の棄却判定部において、複数の棄却値の独立性を判定する手段を有し、独立性の低い棄却値算出手段を並列に処理することを特徴としていてもよい。

本実施形態の文字認識装置は、上述の棄却判定部において、複数の棄却値の独立性を判定する手段を有し、前記独立性を判断する手段として、前記棄却値による棄却画像データベースと正読画像データベースを識別する関数を、識別誤差に基づくコスト関数により学習し、前記関数による識別誤差と、棄却値を直列に構成した場合の識別誤差を比較し、両者の誤差の差が予め定めておいた閾値以上であった場合に、独立性が低いと判定し、それ以外の場合に独立性が高いと判定することを特徴としていてもよい。
2.実施形態
棄却方法を備える文字認識装置の実施例について、図表を参照しながら説明する。本実施例の文字認識装置は、入力文書画像中の文字を検知、認識し、文字をコード化することよって、入力文書を電子化する装置である。入力文書には、一般文書の他に、例えば、帳票、明細書などがある。
図2は、本実施例の文字認識装置の一例を示す構成図である。
本実施例の文字認識装置201は、例えば、押印認識および帳票認識を行うものであり、入力装置202、表示装置203、イメージ取得装置204、通信装置205、演算装置(CPU)206、外部記憶装置207を備える。外部記憶装置207は、正読画像データベース211及び棄却画像データベース212を含む。
入力装置202は、コマンド等を入力するためのキーボードやマウス等である。入力装置202は、演算装置(CPU)206で実行されるプログラムの制御や、その他、接続機器の制御のために実行されるコマンド等を入力するための装置である。
表示装置203は、処理内容を適宜表示するディスプレイ等の装置である。
イメージ取得装置204は、スキャナなどのイメージ取得用の装置である。取得したイメージは、外部記憶装置等に記憶してもよい。
通信装置205は、PCやサーバ等の外部機器からのデータのやりとりを行うために用いる。通信装置205は、外部機器からのユーザによる実行コマンドの取得や、画像やテキストなどの情報の外部機器からの取得等の目的に用いられる。また、通信装置205は、押印認識および帳票認識装置201での処理内容を外部機器に送信する等の目的にも用いられる。
演算装置(CPU)206は、文書画像中の文字認識に用いる認識用辞書の生成などの処理を実行する演算装置である。
外部記憶装置207は、HDD,メモリ等の外部記憶装置である。外部記憶装置207には、帳票画像、押印画像、押印認識用辞書などの各種データが保存されている。また、外部記憶装置には、演算装置(CPU)206によって実行される処理の途中で生成されるデータ等を一時的に記憶しておくためにも用いられる。
入力装置202、表示装置203、イメージ取得装置204、通信装置205はなくてもよい。入力装置202が無い場合には、処理の開始は、通信装置205を用いて外部機器から指示するか、または、時刻指定等により自動的に行う。表示装置203が無い場合には、処理結果は通信装置205を用いて外部機器に送信するか、外部記憶装置207に記憶しておく。
処理を実行するモジュールの出力と入力は、外部記憶装置207を介して行ってもよい。すなわち、処理部1が、処理結果を処理部2に出力し、処理部2は、その処理結果を入力として受け取る場合、実際には、処理部1が処理結果を外部記憶装置207に出力し記憶しておき、処理部2では、外部記憶装置207に記憶されている処理部1の出力結果を入力として取得してもよい。
次に、本実施例における文字認識装置201によって実施される処理の説明に移る。
以下では、まず、本発明の関連技術による文字認識装置の処理を図5を用いて説明する。なお、その後、本実施例の処理を図1を用いて説明する。
まず、本発明の関連技術による文字認識装置の処理について説明する。
図5に、文字認識装置による文書電子化の流れの典型的な例を示す。
文書の画像化(スキャン)101では、文字認識装置201のCPU206は、スキャナ等により文書を読込み、画像化する。このときに、背景印刷がカラーで印字されている場合などは、CPU206は、特定の色の印字を光学的に除去するカラードロップアウト等の処理を行う場合もある。入力文書は、一般文書、帳票類、また、初めから文字認識装置で処理する目的で作成されているマークシート用紙等がある。
前処理102では、CPU206は、文書画像のカラー画像の二値化(白黒化)やノイズ除去、背景印刷などの不要部分の除去等の処理を行う。前処理後の二値画像は、例えば、図6の帳票画像601のようになる。
レイアウト解析103で、CPU206は、二値画像のレイアウト解析を行い、図表の位置、段落構造、項目とデータの位置などを認識する。項目とデータの位置については、CPU206は、例えば、図6の参照番号602の場合には、表構造の関係から参照番号602の欄の上にある支払金額が項目名で、その下の7,890,123が記載されている枠がデータ枠である、などと解析する。論文や技術報告書の場合などには、文書の構造と位置関係から、タイトル、著者、要旨、ページ番号などが書かれている位置を認識するなどのメタデータ抽出を行う場合もある。
文字列抽出104では、CPU206は、文書画像中から文字列単位の画像を抽出する。CPU206は、一般文書の場合には1行分の画像、表の場合には枠内の画像、など文字列単位の画像を抽出する。例えば、図6の参照番号602のように、表の枠内の画像を抽出する。
文字切出105、文字認識503、認識結果選定114、の一連の処理では、抽出した各文字列画像中の文字を認識する。ここでの処理は、図6の参照番号603のように、文字列画像を文字単位に分割して、各々の文字画像中の文字を認識することにより、最終的に参照番号604のように文字コード等の計算機が扱えるコードに変換する。
上記の文字列抽出104から後の、文字切出105から認識結果選定114までの処理を、例を挙げて説明する。
図10は、文字切出処理を説明するための図である。
まず、文字切出105について説明する。例えば、文字列抽出によって、図10の画像1001のような文字列画像が得られたとする。まず、文字切出105の処理では、CPU206は、文字線同士が交差する点や、文字線が途切れた点などを基に、切断候補点を作成する。図10の画像1002が、切断候補点による分割を示す。この例では、4つの画像に分割されている。この各分割画像と、隣接した複数個の画像の合成が、文字画像候補となる。図10の画像1003の例では、左から1つ目と2つ目の画像、左から2つ目と3つ目の画像も、それぞれ文字画像候補として、6つの文字画像候補を得ている。左端の点から右端の点に左から右に至る各ルートが、文字列1001の切出し候補となる。
図7は、文字識別の結果を説明するための図である。
次に、文字認識503では、CPU206は、候補となっている個々の文字画像中の文字を認識する。ここでは、例えば、図7のように各文字画像に対する正解候補文字(1位候補文字種)と、その正解候補文字に対する類似度(尤度、信頼度)を得る。
次に、CPU206は、文字認識503で得た正解候補文字と類似度を基に、認識結果の候補となるネットワークを図11の参照番号1101のように作成する。画像を除いたものが、参照番号1102である。左端の点から右端の点に左から右に至る各ルートが認識結果候補となる。また、ここでは、CPU206は、文字画像の認識結果の信頼性が低いと判断した場合、棄却処理を行い、認識結果に対して棄却フラグを立てるなどして、認識結果の信頼性が低いことを後の処理、またはユーザに知らせる。
この文字認識503の内部の処理について説明する。ここでは、CPU206は、個々の文字画像中に描かれている文字を認識する。また、認識結果の棄却処理も行う。
まず、文字識別106について説明する。ここでは、まず、CPU206は、文字画像をベクトル値に変換する特徴抽出処理を行う。ベクトル値の次元数をNとすると、特徴抽出処理によって、1つの文字画像はN次元ベクトルとして表現される。文字画像をベクトル値として表現することにより、文字画像の分布を統計的に扱うことが可能となる。
図14は、特徴抽出の処理の例を示すための図である。
特徴抽出について、図14を用いて説明する。まず、CPU206は、文字画像の正規化を行う。一般に入力文字画像は、サイズが異なる。そのため、正規化では、文字画像のサイズを揃えることによって、後の処理で統一的に扱えるようにする。また、入力文字画像は、筆記具、筆記者、フォントなどの違いによって同じ字種の文字であっても字形が大きくことなる場合がある。このことは、認識精度低下の原因となる。そこで、正規化処理では、入力文字画像のサイズの変形と字形の変形によって、サイズの統一や同一字種間での字形のばらつきを低減する。図14の画像1401が入力文字画像の例で、画像1402は64×64のサイズに変形した画像である。正規化処理に関しては、様々な方法があり、例えば、非特許文献1に詳しく記載されている。
次に、正規化により生成された正規化画像をベクトル値に変換する特徴抽出を行う。特徴抽出にも様々な方法があり、例えば、非特許文献1に詳しく記載されている。ここでは、最も簡単な画素特徴抽出の例を用いて説明する。画素特徴抽出では、正規化画像を小領域に分割する。図14の例では、正規化画像1402を64個の小領域に分割している。分割の様子を画像1403に示した。次に、各小領域の黒画素の個数を要素とするベクトル値に変換する。小領域が64個あるため、画像1404のように64次元のベクトル値が生成される。
広く用いられている特徴抽出の方法のもう一つ例として、勾配特徴抽出方法について説明する。
図19及び図20は、勾配特徴抽出方法についての説明図(1)及び(2)である。
ここでは、正規化により生成される正規化画像には、1画素分の白縁をつけているとする。また、画素点(i、j)の正規化画像の画素値をf(i、j)とおく。このとき、CPU206は、正規化画像の各画素点(i、j)において、勾配ベクトルg=(gx、gy)を以下のように計算する。これは、図19に示すフィルタをかけることに相当する。
gx(i、j)={f(i+1、j+1)+2f(i、j+1)+f(i−1、j+1)−f(i+1、j−1)−2f(i、j−1)−f(i−1、j−1)}/8
gy(i、j)={f(i+1、j+1)+2f(i+1、j)+f(i+1、j−1)−f(i−1、j+1)−2f(i−1、j)−f(i−1、j−1)}/8
ただし、上記の式において、画素点(i、j)が画像の縁にある場合には、その周囲の画素点が画像の領域外となる場合がある。そのときは、画像外の領域におけるfの値は0と考えて、上記の式を計算する。これによって、各画素点(i、j)において、画素値の勾配ベクトルg=(gx、gy)が得られる。
次に、CPU206は、ベクトルg(i、j)を図20の参照番号2001に示す45度間隔の8方向g0(i、j)、g1(i、j)、…、g7(i、j)に分解する。分解は、g(i、j)の方向に近接する2つの方向に分解する。但し、g(i、j)の方向が8方向のいずれかに完全に一致する場合には、分解の必要はなく、仮に方向0に一致した場合には、g0(i、j)=ベクトルg(i、j)の長さ、とし、他の方向については、g1(i、j)=…=g7(i、j)=0とおく。図20の参照番号2002の図によって、分解の方法を説明する。CPU206は、g(i、j)が参照番号2002に示すように、方向0と方向1の間に存在する場合、ベクトルg(i、j)を方向0と方向1の成分に分解する。このとき、方向0の成分の長さをp0、方向1の成分の長さをp1とすると、g0(i、j)=p0、g1(i、j)=p1、p2(i、j)=…=p7(i、j)=0とする。
以上のようにして、8つの方向画像g0(i、j)、…、g7(i、j)が生成される。文字の変形に対する頑健性を高めるために、この画像にガウスフィルタによるぼかしを施す場合もある。その場合には、ぼかしをかけた方向画像をあたらめて、g0(i、j)、…、g7(i、j)とおく。次に、CPU206は、各方向画像gi(x、y)を小領域に分割し、各小領域の画素値の合計値を要素とするベクトルを生成する。いま、各方向画像を64の小領域に分割したとすると、各方向画像から64個の値が得られる。これが、各方向について得られるため、8方向で合計64×8=512個の値が得られる。これをベクトルの成分として、512次元のベクトルが生成される。
以上が、勾配特徴抽出方法の説明である。
以上のようにして、CPU206は、文字画像をベクトル値に変換する。以下では、特徴抽出によって生成されるベクトル値の次元数をNとする。これによって、1つ1つの文字画像は、N次元空間上の点として表現され、同一文字種は近い領域に分布することになる。その様子を次の図9に模式的に示した。
図9は、文字識別用の方式を説明するための図である。丸、三角、四角がそれぞれ、文字種A,文字種B、文字種Cに対応する各文字画像から抽出されたN次元ベクトル点を表している。例えば、一つ一つの○は、文字種Aの異なる画像から抽出されたベクトルを表している。
次に、CPU206は、予め作成しておいた文字識別用辞書を参照し、文字画像から抽出されたベクトル値に基づいて、文字画像中に描かれている文字を識別する。
ここで、まず、文字識別辞書について説明しておく。文字識別用辞書には、例えば、各識別対象文字種kに対して、N次元ベクトルを引数にとり、実数値を値にとる識別関数fk(x)が保存されている。識別関数fk(x)は、文字種kが描かれている文字画像から生成されるN次元ベクトルxに対しては大きい値を、その他の字種が描かれている文字画像から生成されるN次元ベクトルxに対しては小さい値をとるように、予め、学習によって生成しておく。識別関数fk(x)の値は、ベクトルxの字種kに対する類似度、尤度などと呼ばれる。例えば、数字を対象とした認識の場合には、0〜9の10字種に対応して、10個の識別関数f0(x)、f1(x)、…、f9(x)が存在する。
CPU206は、この識別関数を、例えば、文字画像と文字ラベルから成る学習用文字画像データベースを用いて作成することができる。
図15は、学習用文字画像データベースの例を示すための図である。図示のように、文字ラベルは、文字画像中に描かれている文字を示すコード化されている正解ラベルである。学習用文字画像データベースは、例えば、指定の枠内に指定の文字を人に書いてもらうなどとして、文字画像を収集して作成することができる。CPU206は、この学習用文字画像データベースに含まれている各画像を上記と同様の方法によってN次元ベクトルに変換する。ここで、CPU206は、これらのN次元ベクトルと正解ラベルに基づいて、識別関数fk(x)を字種kに対応するN次元ベクトルに対しては大きな値を、それ以外の字種に対応するN次元ベクトルに対しては小さな値をとるように学習により生成する。識別関数の学習方法には、例えば、SVM(Support Vector Machine),ニューラルネットワーク、ガウスモデル、LVQ(Learning Vector Quantization)等の様々な方法を用いることができる。
文字の識別では、CPU206は、文字画像から抽出したN次元ベクトルxを用いて、各字種の識別関数fk(x)の値を計算する。識別関数fk(x)の値は、字種kに対する類似度であるため、fk(x)の値が最も大きい字種kが認識結果の第一位候補となる。同じように、二番目に値が大きい識別関数に対する字種kが認識結果の第二候補となる。このようにして第n候補まで認識結果が得られる。例えば、図6の文字切出603によって切出した文字画像の認識は、図7のようになる。以上により、図6の参照番号604のように認識結果が得られ、計算機が扱える文字コードなどのコードに変換される。
以上が文字識別106の説明である。
上記で説明した文字識別は、文字画像と各認識対象字種の類似度を計算し、それに基づいて、候補文字を得る処理である。OCR装置の有用性を高めるためには、この文字識別の精度が重要である。しかし、認識結果が疑わしい場合には、それを知らせる認識結果の棄却処理も重要である。
図12は、非文字と曖昧文字の例を示すための図である。棄却の対象となるものには、たとえば、図12の参照番号1201に示すような非文字や参照番号1202に示すような曖昧文字がある。非文字は、たとえば、文字切出のミスによる文字の一部や複数文字が合わさった画像、汚れなどの外乱要因が混入したものなどがある。曖昧文字は、たとえば、参照番号1202の左端の画像のように7と9の区別がつかないものなどがある。
棄却処理が精緻であれば、いくつかの利点がある。ひとつは、もし、誤って文字を認識したまま結果が保存されると、誤ったままにするか、これを修正するためには、全認識結果を人手によって再チェックしなければならない。これに対して、認識結果が疑わしい場合に、これをユーザに知らせることができれば、ユーザはその部分のみ修正すればよい。また、棄却を精度良く行うことができれば、その要因として、前処理、文字行抽出、文字切出など、前の処理に失敗している可能性があると判断して、前のいずれかの処理から処理方法や処理条件などを変えて、再度、処理を試すことができる。これにより、認識精度を高めることができる。
以下では、正しく文字画像中の文字を認識する率を正読率、誤って認識する率を誤読率、認識結果を棄却する率を棄却率とよぶことにする。一般に、棄却を強くしすぎると、誤読していたものを棄却するようになるだけでなく、正しく読めていたもののうちいくつかは棄却してしまうため、正読率、誤読率ともに低くなる。そのため、棄却は、正読率をなるべく落とさないように、かつ、誤読率を減少させることが望ましい。
以下では棄却判定部の処理である非文字棄却501、曖昧文字棄却502について説明する。
非文字棄却501について説明する。入力文字画像から抽出されたN次元ベクトルをxとする。また、第一位候補文字k1に対応する識別関数をfk1とする。このとき、fk1(x)は文字種k1に対する類似度である。r1(x)=−fk1(x)とおくと、r1(x)は、文字種k1に対する非類似度とみなすことができる。そのため、CPU206は、閾値h1をあらかじめ定めておき、r1(x)>h1のとき、非類似度が高い(類似度が低い)として棄却の判断をする。これは、入力画像が非文字であったとき、第一位候補の文字に対しても類似度が低いことが想定されるため、非文字の棄却を想定したものである。
次に、曖昧文字棄却502について説明する。第二位候補文字k2に対応する識別関数をfk2とする。このとき、fk2(x)は文字種k2に対する類似度である。また、fk1(x)≧fk2(x)となる。r2(x)=fk2(x)−fk1(x)とおくと、このr2(x)の値が大きいほど、fk1(x)とfk2(x)の値が近いことになる。このとき、第一位候補文字と第二位候補文字の間で識別が曖昧であることを示している。そのため、CPU206は、閾値h2をあらかじめ定めておき、r2(x)>h2のとき、識別結果が曖昧であるとして棄却する。この処理は、非文字棄却501において、すでに棄却判定がされている場合には、スキップしてもよい。
以上が、文字認識503での処理の説明である。この処理を各文字画像に対して行う。
認識結果選定114では、CPU206は、単語辞書等を参照し、各文字に対する認識の類似度(信頼度)を総合的に判断しながら、認識結果候補の中から、最終的な認識結果を選定する。単語辞書は、例えば、住所認識をしている場合には、予め、住所のリストを保存した辞書等とすることができる。一般文書の認識の場合には、単語などとなる。
以上が、文字切出105から認識結果選定114までの処理である。この処理を各文字列画像に対して行う。
次に、リトライ判定115では、CPU206は、処理を変えて認識の再処理を行うかどうか判断する。再処理は、例えば、文書画像全体を対象とする場合もあるし、文字列画像単位、文字画像単位の場合もある。例えば、文字列認識結果に類似度(尤度、信頼度)が低い文字が存在する場合、単語辞書に合致する結果が得られなかった場合、読みとれなかった文字が存在する場合、などに、CPU206は、再処理を行う。再処理を行う場合には、CPU206は、これ以前のいずれかの処理から処理方式を変える、処理条件を変える、などして、再度認識を試す。例えば、前処理102の二値化やノイズ除去の方式を変えるなどである。最後に、認識後処理116では、CPU206は、認識結果を記憶装置等に保存する、ディスプレイに表示する、などの処理を行う。
以上が本発明の関連技術による文字認識装置の処理の流れである。
図13は、棄却対象となる画像の例を示すための図である。棄却指標には、上記のr1、r2のほかにも、CPU206は、図13の参照番号1301のような文字のかすれ度合いr3(x)や、参照番号1302のような文字のつぶれ度合いr4(x)を算出して、それを基に棄却判定を行う方法がある。あらかじめ閾値h3を定めておいて、r3(x)>h3となったときには、かすれが大きいため棄却する。また、あらかじめ閾値h4を定めておいて、r4(x)>h4となったときには、つぶれが大きいため棄却する。また、他にも、文字画像の重心位置や文字線の線幅の平均値なども使うことができる。例えば、重心位置の場合には、文字識別結果が8であるのに重心位置が中心から大きくずれている場合は、棄却する、などの判定を行う。
ここで、かすれ度合いr3(x)、つぶれ度合いr4(x)の例を挙げる。ただし、上記では、xは特徴抽出により抽出されるベクトルとしたが、ここでは、xは正規化画像であるとする。各字種ごとに、学習DBから正規化画像の平均合計画素値mを予め計算しておく。入力画像に対して、r3(x)は、mから入力画像の正規化画像の合計画素値を引いた値、r4(x)は、入力画素の正規化画像の合計画素値からmを引いた値とする。これによって、入力画像の正規化画像の合計画素値がmより小さい場合にはr3が大きく、逆に大きい場合にはr4が小さくなる。
しかし、これらの指標の組み合わせ方は従来明らかでない。従来技術では、いずれかの基準により棄却されたものを棄却とするなど単純な方法をとるか、人手で試行錯誤しながら複数の指標を組み合わせる、などの方法がとられる。
前者の単純な方法では、すべての棄却指標を算出する必要があるため、計算コストがかかる。その上、いずれかの棄却指標で閾値を超えた場合に棄却されるため、一般に棄却が強すぎて正読率が低下する場合が想定され、高い正読率、且つ低い誤読率を達成するという棄却の目的からしても、必ずしも適しているとは限らない。また、後者の人手での試行錯誤は、この指標の数が多くなると、相当コストのかかる方法であり、実現が困難である場合が想定される。
3.文字認識

本実施例では、複数の棄却指標を効果的に組み合わせた棄却方式を自動的に構成することができる。これによって、複数の棄却指標を組み合わせるための人的コストを削減できる。また、正読率を高水準に維持したまま、誤読率を削減することができ、精緻かつ高速な棄却方式を構成することができる。
本実施例の文字認識装置の処理を図を用いて説明する。
図17は、本発明の実施例の文字認識装置の処理を説明するフローチャートの例である。
文書の画像化101、前処理102、レイアウト解析103、文字列抽出104、文字切出105、文字識別106、認識結果選定114、リトライ判定115、認識後処理116は図5及びその説明箇所で記載したように、本発明の関連技術文字認識装置の処理と同様である。
以下では、文字認識1707の内部の棄却判定部である処理1701から処理1706までの処理について説明する。棄却処理では、CPU206は、文字識別106の結果と、棄却値とを用いて、棄却判断を行う。CPU206は、棄却と判定された場合には、当該文字認識結果に棄却フラグを立てるなどして、後の処理や、ユーザに知らせ、その結果を利用できるようにする。
本実施例の棄却組合せの構成には、予め、棄却したい画像サンプルを集めた棄却画像データベースと正読させたい画像サンプルを集めた正読画像データベースを準備しておく。棄却画像データベースは、文字識別106で誤読してしまうサンプル、非文字画像、曖昧文字画像、かすれ画像、つぶれ画像など、棄却したい画像サンプルを集めたデータベースである。正読画像データベースは、文字識別106の処理で正しく文字識別できるものなど、正読させたい文字画像サンプルを集めたデータベースである。以下では、正読画像データベースのサンプルのうち棄却判定されるものの割合を誤棄却率、棄却画像データベースのサンプルのうち棄却判定されないものの割合を誤受理率とよぶことにする。誤棄却率、誤受理率がともに小さいほど、棄却判定の精度が良いことになる。
以下では、n個の棄却値算出部があるとして、棄却値に棄却値1、棄却値2、…、棄却値nのように、番号を付ける。また、画像xを入力として、棄却値を出力する関数(棄却関数)をr1(x)、r2(x)、…、rn(x)などと書くことにする。
棄却値の性質について簡単に説明しておく。棄却関数ri(x)は、棄却したいサンプルに対しては高い値をとり、棄却したくないサンプルに対しては低い値をとるような性質をもつように構成されたものである。例えば、すでに述べたように、かすれ度、つぶれ度や、識別関数の値を用いて計算される非文字度、曖昧度などである。閾値h1を設けておき、ri(x)>h1のときに棄却する、などとして用いる。このとき、h1が大きすぎると、十分に棄却することができず、誤読率が高くなる。一方で、h1が低すぎると、誤読率は小さくなるが、正読率も落ちてしまう。そのため、ユーザの要求に応じて、正読率をなるべく落とさないように、かつ、誤読率を減少させるように、h1を調整する。
図16は、二つの棄却値に対して、いずれかの棄却値で閾値を超えたときに棄却と判断する場合に、棄却と判断される値の領域を斜線により示した。棄却値1が閾値1を超えた場合、または、棄却値2が閾値2を超えた場合に棄却されるので、棄却領域は図16の斜線部のようになる。
本実施例では、これらn個の棄却値を棄却強度が強い順に配置する。棄却強度が強いとは、当該棄却値に基づく棄却判定の棄却率が高いことを意味する。棄却強度の定め方の例をいくつか挙げる。
一つ目の例を挙げる。まず、誤棄却率と誤受理率の和eを指定する。各棄却関数riに対して、ri(x)>hiによって棄却判定を行った場合の誤棄却率と誤受理率の和eが最も小さくなるように、hiを設定する。このとき、ri(x)>hiのときに棄却することによる棄却判定を行った場合の学習用文字画像データベースのサンプルの棄却率が高い順に、棄却値を選定する。
二つ目の例を挙げる。各棄却関数riに対して、予めユーザによって閾値hiが指定されているとする。このとき、ri(x)>hiのときに棄却することによる棄却判定を行った場合の学習用文字画像データベースの棄却率が高い順に、棄却値を選定する。
いま、棄却値が3つ存在し、r1、r2、r3の順に棄却率が高い、すなわち、棄却強度が高いとする。このとき、図17の処理1701から処理1706のような順で処理を行う。つまり、棄却値1算出1701で入力画像xに対する棄却値r1(x)を算出し、棄却判定1(1702)で、r1(x)>h1であれば、棄却と判定し、そうでなければ、棄却しない。棄却と判定された場合には、後の棄却処理である処理1703から処理1706までの処理をスキップする。棄却と判定されなかった場合には、次の処理1703に移る。以下、同様にして、棄却判定2の処理、又は、棄却判定2と棄却判定3の処理を続ける。例では、棄却値が3つの場合について説明したが、2個以上のいずれの個数の棄却値がある場合にも同様である。
本実施例では、棄却と判定された時点で処理を終えることができる。さらに、棄却率が高い順番に先に配置されているため、計算コスト上、効率的である。
図2は、本実施例の文字認識装置の一例を示す構成図であり、実施例1と同様である。図17に、本実施例の文字認識装置の処理の流れを示す。文書の画像化101、前処理102、レイアウト解析103、文字列抽出104、文字切出105、文字識別106、認識結果選定114、リトライ判定115、認識後処理116の文字認識装置の処理も、実施例1と同様である。また、文字識別106も実施例1と同様である。
本実施例では、棄却判定部の各1701〜1706の処理の流れが異なる。
実施例1では、棄却値算出処理と棄却判定処理を棄却強度が強い順に配置した。棄却値算出の計算コストにあまり差が無い場合にはこの方法で十分であるが、そうでない場合には、非効率である場合がある。例えば、棄却率が高くとも、棄却値算出の計算コストが高い棄却値算出処理が先にあると、常に計算コストが高い棄却値を計算することになる。ここで、計算コストは、例えば、学習用文字画像データベースに含まれる画像を処理する場合の棄却関数の計算にかかる平均処理時間などとして求める。
そのため、本実施例では、各棄却値算出の計算コスト(処理時間)も考慮して、処理の順番を定める。つまり、棄却値の棄却率と計算コスト(処理時間)に基づいて定めた棄却効率をもとに、棄却効率が高い程、先に配置するような構成にしてもよい。棄却効率は、例えば、棄却率×計算コスト(平均処理時間)、で算出できる。
図21は、棄却関数の説明図である。
本実施例の棄却の構成を表で示すと、図21の表2101のようになる。表の各行(横方向)は並列の並びを示し、合成する棄却関数とその合成関数、列方向(縦方向)は直列での並びを示す。本実施例の場合には、いずれの棄却関数も直列につないでいるため、各列は1つの棄却関数である。棄却値1算出1701、棄却値2算出1703、棄却値3算出1705は、それぞれ、f1(r1(x))、f2(r2(x))、f3(r3(x))、を計算して棄却値とするが、本実施例のように、並列方向に1つの棄却関数しかない場合には、f1、f2、f3は恒等関数として、例えば、f1(r1(x))=r1(x)としてよい。
図2は、本実施例の文字認識装置の一例を示す構成図であり、実施例1と同様である。図18に、本実施例の文字認識装置の処理の流れを示す。文書の画像化101、前処理102、レイアウト解析103、文字列抽出104、文字切出105、文字識別106、認識結果選定114、リトライ判定115、認識後処理116の文字認識装置の処理も、実施例1と同様である。また、文字識別106も実施例1と同様である。
本実施例では、文字認識1805における棄却判定を行う処理1801〜1804が異なる。本実施例では、処理1801〜1803に示すように、複数の棄却値を平行して算出し、それらの値に基づいて、処理1804において棄却判定処理を行う。
まず、このように棄却値算出を並列につなぐ理由について説明する。
図16は、二つの棄却値に対して、いずれかの棄却値で閾値を超えたときに棄却と判断する場合に、棄却と判断される値の領域を斜線により示した。棄却値1が閾値1を超えた場合、または、棄却値2が閾値2を超えた場合に棄却されるので、棄却領域は図16の斜線部のようになる。これは、実施例1や実施例2のように棄却値算出と棄却判定を順に行い、直列に処理を繋いだ場合に相当する。
図4は、2つの棄却値の値と、棄却したいサンプル、正読したいサンプルの分布を模式的に表したものである。三角が棄却画像データベースのサンプルを表し、丸が正読画像データベースのサンプルを表す。このような分布の場合には、正読画像データベースのサンプルの分布と棄却画像データベースのサンプルの分布の境界が、図4の境界線のようになっており、棄却すべきサンプルは、この境界線よりも右上の側に位置している。一方で、棄却を直列に行った場合には、図16のような棄却領域となり、この例では、多数の棄却すべきサンプルを棄却できなくなってしまう。これらの棄却すべきサンプルが棄却できるように、閾値1と閾値2の値を小さくすると、今度は、正読させたい丸のサンプルを多数棄却してしまうことになる。
このようなことから、本実施例では、棄却値1と棄却値2の両方の値に基づいて棄却判断を行う。つまり、棄却値1の値をx1、棄却値2の値をx2としたとき、これらを引数にとる関数f(x1、x2)により新たな棄却値を定め、f(x1、x2)の値が一定の閾値以上の場合に棄却する。f(x1、x2)としては、例えば、f(x1、x2)=x1+x2を用いることができる。関数f(x1、x2)の定め方について、もうひとつ例を挙げる。
関数f(x1、x2)は、a11、a22、a12、a1、a2、a0をパラメータとしてもつx1、x2の二次関数f(x1、x2)=a11x1x1+a22x2x2+a12x1x2+a1x1+a2x2+a0、として定義する。このパラメータa11、a22、a12、a1、a2、a0を、正読画像データベースのサンプルに対して負の値をとるように、棄却画像データベースのサンプルに対して正の値をとるように、設定する。ただし、全てのサンプルに対してこの条件を満たすようなパラメータを設定することは、一般には不可能な場合が想定されるので、パラメータを引数にとり、条件を満たさない度合いを示すコスト関数(損失関数)(又は、正読画像データベースのサンプルと、棄却画像データベースのサンプルとの識別誤差に基づくコスト関数)c(f)を定義し、この値が小さくなるように、機械学習によって学習する。例えば、棄却画像データベースのサンプルに対してはfが1、正読画像データベースのサンプルに対してはfが−1をとる方向に学習するとして、c(f)をこれらの値からの全サンプルに対する二乗誤差の和とする。c(f)は、例えば、棄却画像データベースのサンプルから計算されるfの値と1との二乗誤差の和をv1=Σ|f−1|^2、正読画像データベースのサンプルから計算されるfの値と−1との二乗誤差の和をv2=Σ|f+1|^2とし、c(f)=v1+v2(二乗誤差の和)などとする。例えば、ニューラルネットワークやSVMなどを用いることができる。このようにして作成したfのf=0となる等高線は、図4の境界線のように、正読画像データベースの分布と棄却画像データベースのサンプルの境界線となる。なお、ここでは、fは二次関数を例として説明したが、より一般の関数、例えば、より高次の関数や、ニューラルネットワーク、動径基底関数の線型結合なども用いることができる。
以上、説明を簡単にするために、2つの棄却値をもつ場合について説明したが、3つ以上の棄却値の場合も同様である。図18には、3つの棄却値が存在する場合に処理の流れを示している。処理1801、処理1802、処理1803では、それぞれ棄却値1、棄却値2、棄却値3、を算出する。それぞれの棄却値をx1、x2、x3とする。棄却判定3(1804)では、上記で説明したようにして作成した新たな棄却値f(x1、x2、x3)に基づいて、f(x1、x2、x3)が予め定めておいた閾値より大きい場合には棄却とし、そうでない場合には、棄却しない。
本実施例の方法は、直列につなぐよりも精度のよい棄却を行うことができる。しかし、全ての棄却値を算出しなければならない上、それらの棄却値に基づいてfの値も計算する必要がある。そのため、棄却にかかる計算コストは大きくなる場合が想定される。
本実施例の棄却の構成を表で示すと図21の表2102のようになる。表の各行(横方向)は並列の並びを示し、合成する棄却関数とその合成関数、列方向(縦方向)は直列での並びを示す。本実施例の場合には、いずれの棄却関数も並列につないでいるため、1行である。合成関数はfで、棄却判定1804で算出される値は、f(r1(x)、r2(x)、r3(x))となる。fは、例えば、上記で説明した方法で作成した関数である。
図2は、本実施例の文字認識装置の一例を示す構成図であり、実施例1と同様である。図1に、本実施例の文字認識装置の処理の流れを示す。文書の画像化101、前処理102、レイアウト解析103、文字列抽出104、文字切出105、文字識別106、認識結果選定114、リトライ判定115、認識後処理116の文字認識装置の処理も、実施例1と同様である。また、文字識別106も実施例1と同様である。
本実施例では、文字認識117における棄却判定を行う処理の組み合わせ(107〜113の部分に相当)が異なる。
本実施例の棄却組合せの構成には、予め、棄却したい画像サンプルを集めた棄却画像データベースと正読させたい画像サンプルを集めた正読画像データベースを準備しておく。棄却画像データベースは、文字識別106で誤読してしまうサンプル、非文字画像、曖昧文字画像、かすれ画像、つぶれ画像など、棄却したい画像サンプルを集めたデータベースである。正読画像データベースは、文字識別106の処理で正しく文字識別できるものなど、正読させたい文字画像サンプルを集めたデータベースである。以下では、正読画像データベースのサンプルのうち棄却判定されるものの割合を誤棄却率、棄却画像データベースのサンプルのうち棄却判定されないものの割合を誤受理率とよぶことにする。誤棄却率、誤受理率がともに小さいほど、棄却判定の精度が良いことになる。
以下では、n個の棄却値算出部があるとして、棄却値に棄却値1、棄却値2、…、棄却値nのように、番号を付ける。また、画像xを入力として、棄却値を出力する関数をr1(x)、r2(x)、…、rn(x)などと書くことにする。
本実施例では、これらn個の棄却値を棄却値同士の独立性の高さ、独立性の低さ(相関性の高さ)、棄却効率を考慮しながら、組み合わせる。本実施例の棄却値算出器の組み合わせの方針は、棄却値算出器を直列または並列につなぐ。その組み合わせ方は、独立性の高い棄却値算出器同士は直列に組合せ、独立性の低い(相関性の高い)棄却値算出器同士は並列に組合せ、棄却強度が強い棄却値算出器ほど先に配置する。また、並列に組み合わせる場合には、組み合わせた複数の棄却値に基づいて、新たな棄却値を定め、それに基づいて棄却判断を行う。さらに、棄却効率が高い処理ほど先に配置する。
図16は、二つの棄却値に対して、いずれかの棄却値で閾値を超えたときに棄却と判断する場合に、棄却と判断される値の領域を斜線により示した。棄却値1が閾値1を超えた場合、または、棄却値2が閾値2を超えた場合に棄却されるので、棄却領域は図16の斜線部のようになる。
まず、図3を用いて、棄却値同士の独立性について説明する。図3は、2つの棄却値の値と、棄却したいサンプル、正読したいサンプルの分布を模式的に表したものである。三角が棄却画像データベースのサンプルを表し、丸が正読画像データベースのサンプルを表す。このような分布では、正読画像データベースのサンプルの分布と棄却画像データベースのサンプルの分布の境界線が、図3のように、右上方向に大きく凸状になる。このような場合に、2つの棄却値は独立性が高いと呼ぶことにする。このような状況は、2つの棄却値が独立性の高い事象を基に棄却値を算出する場合に起こり得る。例えば、棄却値1は、文字のかすれ度を計算しており、棄却値2は、文字の重心位置の標準的な重心位置からの乖離の大きさを計算している場合などである。
本実施例では、棄却値が独立性が高い場合には、棄却値1算出と棄却値2算出を直列に処理する。つまり、まず、棄却値1を算出した上で、閾値1より値が高い場合には棄却とする判断を行う。棄却と判定されれば、棄却処理を終える。棄却と判定されなかった場合には、棄却値2を算出した上で、閾値2より値が高い場合には棄却と判断する。棄却と判定されれば、棄却処理を終える。棄却と判定されなかった場合には、次の棄却処理に移る。図3のように閾値1、閾値2を定め、棄却値1が閾値1を超えた場合、または、棄却値2が閾値2を超えた場合に棄却と判断することで、効率良く棄却することができる。このような棄却値は直列に処理すれば良い。
次に、図4を用いて、棄却値同士の独立性の低さ(相関性の高さ)について説明する。図4は、2つの棄却値の値と、棄却したいサンプル、正読したいサンプルの分布を模式的に表したものである。三角が棄却画像データベースのサンプルを表し、丸が正読画像データベースのサンプルを表す。このような分布では、正読画像データベースのサンプルの分布と棄却画像データベースのサンプルの分布の境界線が、図4のように、図3の場合ほど凸度が大きく無い場合、直線に近い場合、または、逆に左下方向に凸となる場合、2つの棄却値は独立性が低いと呼ぶことにする。このような状況は、2つの棄却値が相関性の高い事象を基に棄却値を算出する場合に起こり得る。例えば、棄却値1は、すでに説明したような識別関数に基づく非文字度を算出しており、棄却値2は、識別関数に基づく曖昧度を算出しているような場合である。このような場合には、どちらも識別関数を基にして棄却値を計算しているため、互いに関連性をもち、図4のような分布となる。
本実施例では、棄却値の独立性が低い場合には、棄却値1算出と棄却値2算出を並列に処理する。つまり、棄却値1をx1、棄却値2をx2としたとき、これらを引数にとる関数f(x1、x2)により新たに棄却値を定め、f(x1、x2)の値が一定の閾値以上の場合に棄却する。棄却と判定されれば、棄却処理を終える。棄却と判定されなかった場合には、次の棄却処理に移る。関数fの定め方は、実施例3と同様である。図4の分布の場合には、例えば、f(x1、x2)=x1+x2とすれば、左上から右下に斜め方向に閾値境界線を定めることができ、正読画像データベースのサンプルと棄却画像データベースのサンプルを分離することができる。図4のような分布の場合には、棄却値を直列につなぐと、棄却値1が閾値1より大きいか、または、棄却値2が閾値2より大きい領域のみが棄却され、閾値1より左で、かつ、閾値2より下に分布している三角のサンプルが棄却できない。また、これらを棄却するために閾値1や閾値2の値を下げると、今度は、正読させたい丸のサンプルを多数棄却してしまうことになる。そのため、このような棄却値は並列に繋ぐ必要がある。
以上のように、本実施例では、独立性の高い棄却値同士は直列に処理し、並列性の高い棄却値同士は並列に処理する。
ここで、2つの棄却値の独立性が高いか、独立性が低い(相関性が高い)か、判断するための方法の例を挙げる。2つの棄却値をそれぞれx1、x2とおく。この2個の棄却値を引数とする2つの関数g1(x1、x2)、g2(x1、x2)を定義する。
関数g1(x1、x2)は、実施例3と同様に二次関数で、正読画像データベースのサンプルに対して負の値をとり、棄却画像データベースのサンプルに対して正の値をとるように、コスト関数cに基づいて、機械学習により設定する。g1は、例えば、図3、図4に示すように、g1=0となる等高線が境界線となり、境界線より左下の領域で負、右上の領域で正となるような関数となる。
関数g2(x1、x2)は、2つの値h1、h2をパラメータとしてもち、x1>h1、またはx2>h2となる場合にg2(x1、x2)=1、その他の場合にg2(x1、x2)=−1となるような関数とする。すなわち、g2(x1、x2)>0となる領域が棄却領域である。ただし、全てのサンプルに対してこの条件を満たすようなパラメータを設定することは、一般には不可能であるので、パラメータを引数にとり、条件を満たさない度合いを示すコスト関数c(h1、h2)を定義し、この値が小さくなるように、機械学習によって学習する。c(h1、h2)は、例えば、棄却画像データベースのサンプルでg2=−1となるものの個数をv1、正読画像データベースのサンプルでg2=1となるものの個数をv2とし、c(h1、h2)=v1+v2(条件を満たさないサンプルの個数)などとする。例えば、ニューラルネットワークやSVMなどを用いることができる。このようにして作成したg2のg2=1とg2=−1の境界線は、棄却値1または棄却値2の軸に平行で、正読画像データベースの分布と棄却画像データベースのサンプルを分けるような境界となる。図3、図4の例では、閾値1がh1、閾値2がh2を示す点線であるとすると、g2は閾値1より左側でかつ、閾値2より下側の領域でg2=−1、閾値1より右側か、または閾値2より上側の領域でg2=1となる。
上記の関数g2(x1、x2)によるg2=1とg2=−1の境界は、棄却処理を直列に繋いだ場合の棄却領域の境界に相当する。一方、関数g1(x1、x2)によるg1=0の等高線は、実施例3の方法により棄却処理を並列に繋いだ場合の棄却領域の境界に相当する。
ここで、関数g1により生成される棄却領域による精度と関数g2により生成される棄却領域による精度を比較する。棄却画像データベースのサンプルでg2=−1となるサンプルの個数をv1、正読画像データベースのサンプルでg2=1となるサンプルの個数をv2、棄却画像データベースのサンプルでg1<0となるサンプルの個数をw1、正読画像データベースのサンプルでg1≧0となるサンプルの個数をw2とする。v1、w1が誤受理の個数、v2、w2が誤棄却の個数に相当する。誤受理の個数p1、誤棄却の個数p2の場合の損失関数をh(p1、p2)とおく。hは、p1、p2の単調増加関数である。例えば、h(p1、p2)=p1+p2などとする。この場合は、誤受理数と誤棄却数の和である。hの値が小さいほど、棄却の精度が良いとみなすことができる。
次に、h(v1、v2)とh(w1、w2)を比較する。一般に、関数g1による棄却領域のほうが精度が良く、h(v1、v2)はh(w1、w2)より大きくなる。ここで、D=h(v1、v2)−h(w1、w2)は、直列に繋いだ場合と並列に繋いだ場合の損失の差を表している。これが一定以上、大きい場合には、g2による棄却領域では不十分であり、棄却値1と棄却値2の独立性が低いと判断する。逆に、D=h(v1、v2)−h(w1、w2)が一定の値以上、小さい場合には、棄却値1と棄却値2の独立性が高いと判断する。
以上、説明を簡単にするために、2つの棄却値について説明したが、3つ以上の場合にも同様である。
本実施例では、独立性が高い処理は並列に、独立性が低い処理は直列に配置する。並列に配置した場合の棄却値には、実施例3と同じく上記の関数g1を用いることができる。また、実施例2と同じく、棄却効率が高いものほど先に配置する。
n個の棄却値がある場合に、棄却値の構成法について例を挙げる。
図22に、棄却値の構成処理のフローチャートを示す。この処理は、文字認識装置201のCPU206、又は、文字認識装置201以外の他の処理装置で実行するようにしてもよい。まず、CPU206又は他の処理装置は、n個の棄却値の中から最も独立性が低い(上記のDの値が大きい)ペアを選定する。CPU206又は他の処理装置は、この独立性を判定する値Dが予め定めた値より低い場合には、選定したペアは独立性が高いので、このn個の棄却値は直列に配置する。CPU206又は他の処理装置は、選定したペアの独立性が低いと判定された場合には、選定したペアは並列につなぎ、これらの棄却値に基づく新たな棄却値を実施例3の方法と同様にして定める。この並列に繋がれた棄却値を1つの棄却値とみなすと、n−1個の棄却値が存在する。同様にして、CPU206又は他の処理装置は、n−1個の棄却値の中から最も独立性が低いペアを選定する。選定したペアが独立性が高いと判定された場合には、CPU206又は他の処理装置は、このn−1個の棄却値は直列に配置する。選定したペアの独立性が低いと判定された場合には、CPU206又は他の処理装置は、選定したペアは並列につなぎ、これらの棄却値に基づく新たな棄却値を実施例3の方法と同様にして定める。このとき、もし、選定したペアを構成する棄却値(r1、r2とする)が複数の棄却値の並列から成っている場合には、CPU206又は他の処理装置は、その棄却値を構成する元の棄却値に分解し、それらの棄却値を並列につなぎ、これらの棄却値に基づく新たな棄却値を実施例3の方法と同様にして定める。たとえば、r1は、もともと2つの棄却値s1、s2を並列につなぐことで構成されていた場合、CPU206又は他の処理装置は、r1をもとの棄却値に分解し、s1、s2、r2を並列につなぐ。以上のようにして、CPU206又は他の処理装置は、最終的に、独立性が低いと判定されるペアがなくなるまで続ける。
図1には、棄却値1と棄却値2が並列に繋がれ、棄却値3、棄却値4、棄却値5が並列に繋がれ、前者のセットと後者のセットが直列に繋がれている構成を示している。
図1の場合の棄却の構成を表で示すと図21の表2103のようになる。表の各行(横方向)は並列の並びを示し、合成する棄却関数とその合成関数、列方向(縦方向)は直列での並びを示す。図1の場合には、まず棄却値1と棄却値2が並列に繋がれ、棄却値3、棄却値4、棄却値5が並列に繋がれているため、最初の行には、棄却関数1と棄却関数2が、次の行には棄却関数1、棄却関数2、棄却関数3が並んでいる。合成関数f1、f2は、例えば、上記で説明したg1を作成した方法により作ることができる。
上記の実施例2、実施例3、実施例4において、並列演算装置が使える場合には、並列に並んだ棄却関数同士は並列に計算してもよい。また、直列に並んでいる場合であっても、次の棄却関数を計算できる場合には、計算しておいてもよい。その場合には、次の棄却関数の計算結果が不要になった場合にはその結果を捨てればよい。
4.実施例の効果

本実施例によると複数の棄却指標を組み合わせた棄却方式を自動的に構成することができる。これによって、複数の棄却指標を組み合わせるための人的コストを削減できる。また、本実施例によると、正読率を高水準に維持したまま、誤読率を削減することができ、精緻かつ高速な棄却方式を構成することができる。

また、本実施例では、複数の棄却指標を、棄却指標同士の独立性を基準として、独立性の高いもの同士は直列に、独立性の低いもの同士は並列に構成することによって、高正読率、低誤読率、高速な棄却方法を低い人的コストで提供することができる。
5.付記
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。

本発明の文字認識方法又は文字認識装置・システムは、その各手順をコンピュータに実行させるための文字認識プログラム、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体、文字認識プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
201 文字認識装置
202 入力装置
203 表示装置
204 イメージ取得装置
205 通信装置
206 演算装置(CPU)
207 外部記憶装置(HDD、メモリ)

Claims (15)

  1. 入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部と、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部と、
    を備え、
    棄却能力又は棄却率が高い棄却値を算出する前記棄却値算出部ほど、先に配置して算出処理を行う構成とした複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識装置。
  2. 入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部と、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部と、
    を備え、
    複数の棄却値の独立性の高い棄却値を算出する前記棄却値算出部を直列に配置し、且つ、独立性の低い棄却値を算出する前記棄却値算出部を並列に配置して算出処理を行う構成とした複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識装置。
  3. 入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部と、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部と、
    を備え、
    棄却能力又は棄却率の高さと棄却値算出コストとに基づく棄却効率が高い前記棄却値算出部ほど先に配置した複数の前記棄却値算出部を用いて、前記棄却判定部により、先の前記棄却値算出部によって算出された棄却値に基づいて棄却と判定された場合には、後の前記棄却値算出部による棄却値の算出処理を省略し、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識装置。
  4. 入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部と、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部と、
    を備え、
    複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、並列に配置した複数の前記棄却値算出部の各々の棄却値に基づいて、新たな棄却関数を定め、前記新たな棄却関数により複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識装置。
  5. 入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部と、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部と、
    を備え、
    複数の前記棄却値算出部の独立性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させ
    さらに、
    予め、棄却したい画像サンプルを集めた棄却画像データベースと、
    正読させたい画像サンプルを集めた正読画像データベースを
    備え、
    複数の棄却値の前記独立性の判定として、前記棄却画像データベースに記憶された画像サンプルと前記正読画像データベースに記憶された画像サンプルとを識別する前記棄却値を引数とする関数を、識別誤差に基づく関数により学習し、前記関数による識別誤差と、棄却値を直列に構成した場合の識別誤差とを比較し、両者の誤差の差が予め定めておいた閾値以上であった場合に、独立性が低いと判定し、それ以外の場合に独立性が高いと判定する、
    ことを特徴とする文字認識装置。
  6. 文字認識方法であって、
    入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部を用い、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部を用い、
    棄却能力又は棄却率が高い棄却値を算出する前記棄却値算出部ほど、先に配置して算出処理を行う構成とした複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識方法。
  7. 文字認識方法であって、
    入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部を用い、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部を用い、
    複数の棄却値の独立性の高い棄却値を算出する前記棄却値算出部を直列に配置し、且つ、独立性の低い棄却値を算出する前記棄却値算出部を並列に配置して算出処理を行う構成とした複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識方法。
  8. 文字認識方法であって、
    入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部を用い、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部を用い、
    棄却能力又は棄却率の高さと棄却値算出コストとに基づく棄却効率が高い前記棄却値算出部ほど先に配置した複数の前記棄却値算出部を用いて、前記棄却判定部により、先の前記棄却値算出部によって算出された棄却値に基づいて棄却と判定された場合には、後の前記棄却値算出部による棄却値の算出処理を省略し、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識方法。
  9. 文字認識方法であって、
    入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部を用い、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部を用い、
    複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、並列に配置した複数の前記棄却値算出部の各々の棄却値に基づいて、新たな棄却関数を定め、前記新たな棄却関数により複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させることを特徴とする文字認識方法。
  10. 文字認識方法であって、
    入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する複数の棄却値算出部を用い、
    複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定するひとつ又は複数の棄却判定部を用い、
    複数の前記棄却値算出部の独立性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部が、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させ
    さらに、
    複数の棄却値の前記独立性の判定として、予め棄却したい画像サンプルを集めた棄却画像データベースに記憶された画像サンプルと正読させたい画像サンプルを集めた正読画像データベースに記憶された画像サンプルとを識別する前記棄却値を引数とする関数を、識別誤差に基づく関数により学習し、前記関数による識別誤差と、棄却値を直列に構成した場合の識別誤差とを比較し、両者の誤差の差が予め定めておいた閾値以上であった場合に、独立性が低いと判定し、それ以外の場合に独立性が高いと判定する、
    ことを特徴とする文字認識方法。
  11. 文字認識プログラムであって、
    処理部が、複数の棄却値算出部を用い、入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する機能と、
    処理部が、ひとつ又は複数の棄却判定部を用い、複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定する機能と、
    処理部が、棄却能力又は棄却率が高い棄却値を算出する前記棄却値算出部ほど、先に配置して算出処理を行う構成とした複数の前記棄却値算出部を用いて、前記棄却判定部により、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させる機能と
    をコンピュータに実行させるための文字認識プログラム。
  12. 文字認識プログラムであって、
    処理部が、複数の棄却値算出部を用い、入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する機能と、
    処理部が、ひとつ又は複数の棄却判定部を用い、複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定する機能と、
    処理部が、複数の棄却値の独立性の高い棄却値を算出する前記棄却値算出部を直列に配置し、且つ、独立性の低い棄却値を算出する前記棄却値算出部を並列に配置して算出処理を行う構成とした複数の前記棄却値算出部を用いて、前記棄却判定部により、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させる機能と
    をコンピュータに実行させるための文字認識プログラム。
  13. 文字認識プログラムであって、
    処理部が、複数の棄却値算出部を用い、入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する機能と、
    処理部が、ひとつ又は複数の棄却判定部を用い、複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定する機能と、
    処理部が、棄却能力又は棄却率の高さと棄却値算出コストとに基づく棄却効率が高い前記棄却値算出部ほど先に配置した複数の前記棄却値算出部を用いて、前記棄却判定部により、先の前記棄却値算出部によって算出された棄却値に基づいて棄却と判定された場合には、後の前記棄却値算出部による棄却値の算出処理を省略し、前記棄却判定部により、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させる機能と
    をコンピュータに実行させるための文字認識プログラム。
  14. 文字認識プログラムであって、
    処理部が、複数の棄却値算出部を用い、入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する機能と、
    処理部が、ひとつ又は複数の棄却判定部を用い、複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定する機能と、
    処理部が、複数の前記棄却値算出部の相関性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部により並列に配置した複数の前記棄却値算出部の各々の棄却値に基づいて、新たな棄却関数を定め、前記新たな棄却関数により複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させる機能と
    をコンピュータに実行させるための文字認識プログラム。
  15. 文字認識プログラムであって、
    処理部が、複数の棄却値算出部を用い、入力画像から識別された文字の認識結果に対して、予め設定された棄却関数により棄却値を算出する機能と、
    処理部が、ひとつ又は複数の棄却判定部を用い、複数の前記棄却値算出部のいずれかひとつ又はいずれか複数により算出されたひとつ又は複数の棄却値に基づき、それぞれ、前記認識結果を棄却するかどうか判定する機能と、
    処理部が、複数の前記棄却値算出部の独立性に基づいて組み合わせた複数の前記棄却値算出部を用いて、前記棄却判定部により、複数の棄却値に基づき前記認識結果の棄却判定をして、棄却すると判定された前記認識結果を棄却することにより、棄却すると判定されない前記認識結果を記憶部に保存又は表示部に表示させる機能と、
    さらに、
    処理部が、複数の棄却値の前記独立性の判定として、予め棄却したい画像サンプルを集めた棄却画像データベースに記憶された画像サンプルと正読させたい画像サンプルを集めた正読画像データベースに記憶された画像サンプルとを識別する前記棄却値を引数とする関数を、識別誤差に基づく関数により学習し、前記関数による識別誤差と、棄却値を直列に構成した場合の識別誤差とを比較し、両者の誤差の差が予め定めておいた閾値以上であった場合に、独立性が低いと判定し、それ以外の場合に独立性が高いと判定する機能と、
    をコンピュータに実行させるための文字認識プログラム。
JP2012268549A 2012-12-07 2012-12-07 文字認識装置及び方法、文字認識プログラム Active JP6055297B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012268549A JP6055297B2 (ja) 2012-12-07 2012-12-07 文字認識装置及び方法、文字認識プログラム
CN201310661200.7A CN103870823B (zh) 2012-12-07 2013-12-06 字符识别装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012268549A JP6055297B2 (ja) 2012-12-07 2012-12-07 文字認識装置及び方法、文字認識プログラム

Publications (2)

Publication Number Publication Date
JP2014115781A JP2014115781A (ja) 2014-06-26
JP6055297B2 true JP6055297B2 (ja) 2016-12-27

Family

ID=50909339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012268549A Active JP6055297B2 (ja) 2012-12-07 2012-12-07 文字認識装置及び方法、文字認識プログラム

Country Status (2)

Country Link
JP (1) JP6055297B2 (ja)
CN (1) CN103870823B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210564B2 (en) 2018-04-19 2021-12-28 Fujifilm Business Innovation Corp. Information processing apparatus for character recognition and non-transitory computer readable medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331980A (zh) * 2014-11-04 2015-02-04 广州御银自动柜员机技术有限公司 凭证扫描回收装置及其回收方法
JP6091552B2 (ja) * 2015-06-24 2017-03-08 株式会社Jストリーム 動画処理装置及び動画処理システム
CN108280389A (zh) * 2017-01-06 2018-07-13 南通艾思达智能科技有限公司 医疗票据icr识别系统及其医疗票据识别方法
EP3711826A4 (en) * 2017-11-15 2021-09-22 Angel Playing Cards Co., Ltd. DETECTION SYSTEM
WO2019203489A1 (ko) * 2018-04-19 2019-10-24 넷마블 주식회사 문자 인식을 위한 영상 전처리 장치 및 방법
CN111291758B (zh) * 2020-02-17 2023-08-04 北京百度网讯科技有限公司 用于识别印章文字的方法和装置
TWI775634B (zh) * 2021-10-07 2022-08-21 博相科技股份有限公司 英文字體影像辨識方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5679375A (en) * 1979-11-30 1981-06-29 Hitachi Ltd Character read device
JPS62166483A (ja) * 1986-01-20 1987-07-22 Ricoh Co Ltd 文字認識装置の認識文字選択方法
JPH01277983A (ja) * 1988-04-28 1989-11-08 Nec Corp 文字認識方式
JP3936436B2 (ja) * 1997-07-31 2007-06-27 株式会社日立製作所 表認識方法
JP2000155803A (ja) * 1998-11-20 2000-06-06 Nec Corp 文字読取方法および光学式文字読取装置
AU2007215636B2 (en) * 2006-02-17 2012-04-12 Lumex As Method and system for verification of uncertainly recognized words in an OCR system
JP5146190B2 (ja) * 2008-08-11 2013-02-20 オムロン株式会社 文字認識装置、文字認識プログラム、および文字認識方法
JP5500480B2 (ja) * 2010-06-24 2014-05-21 株式会社日立情報通信エンジニアリング 帳票認識装置及び帳票認識方法
CN102298696B (zh) * 2010-06-28 2013-07-24 方正国际软件(北京)有限公司 一种字符识别方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210564B2 (en) 2018-04-19 2021-12-28 Fujifilm Business Innovation Corp. Information processing apparatus for character recognition and non-transitory computer readable medium

Also Published As

Publication number Publication date
JP2014115781A (ja) 2014-06-26
CN103870823A (zh) 2014-06-18
CN103870823B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
JP6055297B2 (ja) 文字認識装置及び方法、文字認識プログラム
US10853638B2 (en) System and method for extracting structured information from image documents
US11676411B2 (en) Systems and methods for neuronal visual-linguistic data retrieval from an imaged document
Rehman et al. Neural networks for document image preprocessing: state of the art
Choudhary et al. A new character segmentation approach for off-line cursive handwritten words
He et al. Beyond OCR: Multi-faceted understanding of handwritten document characteristics
US7929769B2 (en) Script recognition for ink notes
EP3535689A1 (en) Method and system for transforming handwritten text to digital ink
JP5674615B2 (ja) 文字認識装置及び文字認識方法
JP6170860B2 (ja) 文字認識装置及び識別関数生成方法
CN109389050B (zh) 一种流程图连接关系识别方法
Faizullah et al. A survey of OCR in Arabic language: applications, techniques, and challenges
US11295175B1 (en) Automatic document separation
Singh et al. Statistical comparison of classifiers for script identification from multi-script handwritten documents
Bhattacharya et al. Understanding contents of filled-in Bangla form images
EP4244761A1 (en) Fraud detection via automated handwriting clustering
Al Ghamdi A novel approach to printed Arabic optical character recognition
US20220284722A1 (en) End-to-end system for extracting tabular data present in electronic documents and method thereof
Kumar et al. Line based robust script identification for indianlanguages
CN115880702A (zh) 数据处理方法、装置、设备、程序产品及存储介质
Liu et al. Investigating coupling preprocessing with shallow and deep convolutional neural networks in document image classification
Khan et al. Evaluation of bengali handwritten mathematical equationusing convolutional neural network
Hijam et al. Zone and rule assisted recognition of Meitei-Mayek handwritten characters
ALSalamah et al. Using Prior Knowledge to Facilitate Computational Reading of Arabic Calligraphy
Singh et al. A Case Study on Handwritten Indic Script Classification: Benchmarking of the Results at Page, Block, Text-line, and Word Levels

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161202

R150 Certificate of patent or registration of utility model

Ref document number: 6055297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250