JP2007026470A - パターン認識装置 - Google Patents
パターン認識装置 Download PDFInfo
- Publication number
- JP2007026470A JP2007026470A JP2006298258A JP2006298258A JP2007026470A JP 2007026470 A JP2007026470 A JP 2007026470A JP 2006298258 A JP2006298258 A JP 2006298258A JP 2006298258 A JP2006298258 A JP 2006298258A JP 2007026470 A JP2007026470 A JP 2007026470A
- Authority
- JP
- Japan
- Prior art keywords
- character
- frame
- recognition
- pattern
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Character Discrimination (AREA)
Abstract
【課題】文字の書かれている環境に応じた適切な認識処理を精度良く行うことが可能なパターン認識装置を提供する。
【解決手段】本発明のパターン認識装置は、入力画像から文字を抽出する文字抽出手段と、入力画像から非文字を抽出する非文字抽出手段と、文字についての認識処理を行う文字認識手段(12)と、非文字についての認識処理を行う非文字認識手段(25)と、前記文字抽出手段が文字を抽出した場合、前記文字認識手段により認識処理を行わせ、前記非文字抽出手段が非文字を抽出した場合、前記非文字認識手段により認識処理を行わせる環境認識手段(11)とを備える。
【選択図】図3
【解決手段】本発明のパターン認識装置は、入力画像から文字を抽出する文字抽出手段と、入力画像から非文字を抽出する非文字抽出手段と、文字についての認識処理を行う文字認識手段(12)と、非文字についての認識処理を行う非文字認識手段(25)と、前記文字抽出手段が文字を抽出した場合、前記文字認識手段により認識処理を行わせ、前記非文字抽出手段が非文字を抽出した場合、前記非文字認識手段により認識処理を行わせる環境認識手段(11)とを備える。
【選択図】図3
Description
本発明はパターン認識装置に係わり、特に手書き用文字認識装置のみならず、印刷文字認識装置や図面認識装置における文字、図形及び記号の認識を入力画像の様々な状態に応じて正確に行うようにするものである。
OCR(Optical Character Reader) 等の手書き文字認識装置は、会計帳票などに書かれている文字を自動的に読み取って、文字を自動入力することにより、会計帳票などから人手で文字を見つけ出し、文字をキー入力するような手間を省くようにしていた。
図79は、従来の手書き文字認識装置の構成を示すブロック図である。
図79において、帳票/文書311をスキャナで読み込み、その帳票/文書311の多値画像を得る。
図79において、帳票/文書311をスキャナで読み込み、その帳票/文書311の多値画像を得る。
次に、前処理部312において、その多値画像の2値化、雑音除去、帳票/文書311の傾き補正を行う。
次に、文字切り出し部313において、予め定義されている罫線情報や文字の位置情報を用いることにより、文字を1文字づつ切り出す。
次に、文字切り出し部313において、予め定義されている罫線情報や文字の位置情報を用いることにより、文字を1文字づつ切り出す。
次に、文字認識部314において、それぞれの文字ごとに文字認識を行い、文字コードを出力する。ここで、この文字認識は、文字切り出し部313により切り出された未知の文字パターンの特徴のそれぞれに対し、認識辞書315に予め登録されている個々の文字カテゴリの特徴と1つずつ照合することにより行われる。
例えば、2次元の文字パターンを文字の特徴を表す特徴空間上の特徴ベクトルに変換し、未知の文字パターンと認識辞書315に予め登録されている文字カテゴリとの類似度として、特徴空間上の特徴ベクトル間の距離を算出する。そして、未知の文字パターンの特徴ベクトルと認識辞書315に予め登録されている文字カテゴリの特徴ベクトルとの間の距離が最も近いものを、未知の文字パターンに対応する文字カテゴリとして認識する。
ここで、消し線、雑音、模様などの非文字を文字と誤って認識し、文字の文字コードが非文字に対して出力されることを防止するため、2つの特徴ベクトル間の距離に対してしきい値を設定しておく。そして、2つの特徴ベクトル間の距離がこのしきい値以上の場合、未知の文字パターンが認識辞書315に予め登録されている文字カテゴリのどれに対応しているのかかわからないとするか、非文字であると判断してリジェクトコードを出力するようにしていた。
また、認識辞書315として、高品質文字、かすれ文字、つぶれ文字のそれぞれの文字カテゴリの特徴を登録したものを用意しておき、高品質文字に対しては、高品質文字についての認識辞書315を使用し、かすれ文字に対しては、かすれ文字についての認識辞書315を使用し、つぶれ文字に対しては、つぶれ文字についての認識辞書315を使用することにより、帳票/文書311の文字の品質の違いに対応できるようにしていた。
しかしながら、従来の手書き文字認識装置は、文字がかすれている場合であっても、文字がつぶれている場合であっても、文字が高品質文字であっても、切り出した1文字に対して、同一の認識辞書315を用いて画一的に処理を行っていた。
このため、認識辞書315に登録してあるかすれ文字についての情報が、高品質文字の認識処理を行う際に悪影響を及ぼし、かすれ文字が認識辞書315に登録してあるために、高品質文字が読めなくなってしまうという問題があった。
また、かすれやつぶれだけでなく、文字が罫線に接触しているなどの文字が書かれている環境は様々なものがあり、画一的な認識辞書315で様々な環境に対応しようとした場合、互いに相互作用を及ぼし合い、認識処理の精度の大幅な改善は望めないという問題があった。
そこで、本発明の目的は、文字の書かれている環境に応じた適切な認識処理を精度よく行うことが可能なパターン認識装置を提供することである。
上述した課題を解決するために、本発明のパターン認識装置は、入力画像から文字を抽出する文字抽出手段と、入力画像から非文字を抽出する非文字抽出手段と、文字についての認識処理を行う文字認識手段と、非文字についての認識処理を行う非文字認識手段と、前記文字抽出手段が文字を抽出した場合、前記文字認識手段により認識処理を行わせ、前記非文字抽出手段が非文字を抽出した場合、前記非文字認識手段により認識処理を行わせる環境認識手段とを備える。
なお、本発明の一態様によれば、処理対象の状態を入力画像から抽出し、その状態に適した認識処理を処理対象ごとに選択することにより、パターン認識を行うようにしている。
このことにより、様々な状態を有する入力画像に対し、それぞれの状態に適したパターン認識処理を行うことができ、認識処理を精度よく行うことが可能となる。
また、本発明の一態様によれば、処理対象の状態を入力画像から抽出し、第1の状態を有する処理対象に対しては、第1の状態専用のパターン認識処理を行い、第2の状態を有する処理対象に対しては、第2の状態専用のパターン認識処理を行うようにしている。
また、本発明の一態様によれば、処理対象の状態を入力画像から抽出し、第1の状態を有する処理対象に対しては、第1の状態専用のパターン認識処理を行い、第2の状態を有する処理対象に対しては、第2の状態専用のパターン認識処理を行うようにしている。
このことにより、第1の状態を有する処理対象の認識処理と第2の状態を有する処理対象の認識処理とが互いに相互作用を及ぼすことがなくなり、認識処理を精度よく行うことが可能となる。
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、認識辞書を使い分けるようにしている。
このことにより、例えば、かすれ文字やつぶれ文字や高品質文字が入力画像の中に混在している場合においても、かすれ文字に対してはかすれ文字に適した認識辞書を使用し、つぶれ文字に対してはつぶれ文字に適した認識辞書を使用し、高品質文字に対しては高品質文字に適した認識辞書を使用して認識処理を行うことができ、認識処理を精度よく行うことが可能となる。
このことにより、例えば、かすれ文字やつぶれ文字や高品質文字が入力画像の中に混在している場合においても、かすれ文字に対してはかすれ文字に適した認識辞書を使用し、つぶれ文字に対してはつぶれ文字に適した認識辞書を使用し、高品質文字に対しては高品質文字に適した認識辞書を使用して認識処理を行うことができ、認識処理を精度よく行うことが可能となる。
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、識別関数を使い分けるようにしている。
このことにより、例えば、1文字枠に書かれている文字についてはシティブロック距離を用いて文字認識を行い、フリーピッチ枠に書かれている文字に対しては判別関数を用いて文字の切り出し信頼度を考慮しながら文字認識を行うことができ、認識処理を精度よく行うことが可能となる。
このことにより、例えば、1文字枠に書かれている文字についてはシティブロック距離を用いて文字認識を行い、フリーピッチ枠に書かれている文字に対しては判別関数を用いて文字の切り出し信頼度を考慮しながら文字認識を行うことができ、認識処理を精度よく行うことが可能となる。
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、知識を使い分けるようにしている。
このことにより、例えば、未知文字の変形が大きくて、認識辞書に格納されている文字カテゴリとの対応関係が取れない場合、文字セグメントに文字を分割することにより、未知文字と文字カテゴリとの対応関係をとるようにしたり、文字列から文字を切り出す場合、学習パターンに基づいて生成した判別関数を用いて切り出し信頼度を算出したり、枠接触文字についての文字認識を行う場合、学習パターンにより得られた信頼度を用いて、枠接触文字についての認識信頼度を評価したりすることができ、認識処理を精度よく行うことが可能となる。
このことにより、例えば、未知文字の変形が大きくて、認識辞書に格納されている文字カテゴリとの対応関係が取れない場合、文字セグメントに文字を分割することにより、未知文字と文字カテゴリとの対応関係をとるようにしたり、文字列から文字を切り出す場合、学習パターンに基づいて生成した判別関数を用いて切り出し信頼度を算出したり、枠接触文字についての文字認識を行う場合、学習パターンにより得られた信頼度を用いて、枠接触文字についての認識信頼度を評価したりすることができ、認識処理を精度よく行うことが可能となる。
また、本発明の一態様によれば、同一の処理対象に対して複数の認識処理が呼ばれた場合、認識処理による信頼度が所定の値以上となるまで、優先順位に従って認識処理を行わせるようにしている。
このことにより、認識処理の信頼度を上げることができ、認識処理の精度を向上させることができる。
また、本発明の一態様によれば、入力画像から非文字を抽出し、この非文字についての認識処理を文字についての認識処理と別々に行うようにしている。
また、本発明の一態様によれば、入力画像から非文字を抽出し、この非文字についての認識処理を文字についての認識処理と別々に行うようにしている。
このことにより、文字が非文字とみなされたり、非文字が文字とみなされたりして認識処理が行われることが減少し、認識処理を精度よく行うことが可能となる。
以上説明したように、本発明によれば、処理対象の状態を入力画像から抽出し、その状態に適した認識処理を処理対象ごとに選択することにより、様々な状態を有する入力画像に対し、それぞれの状態に適したパターン認識処理を行うことができ、認識処理を精度よく行うことが可能となる。また、処理対象の評価が、その状態を抽出する時と、その処理対象についての認識処理を行う時の両方で行われるので、認識処理の精度をより一層向上させることができる。
また、本発明の一態様によれば、処理対象の状態を入力画像から抽出し、第1の状態を有する処理対象に対しては、第1の状態専用のパターン認識処理を行い、第2の状態を有する処理対象に対しては、第2の状態専用のパターン認識処理を行うことにより、第1の状態を有する処理対象の認識処理と第2の状態を有する処理対象の認識処理とが互いに相互作用を及ぼすことがなくなり、認識処理を精度よく行うことが可能となる。
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、認識辞書を使い分けることにより、それぞれの状態に対して最適な認識辞書を使用することができ、認識処理の精度を向上させることが可能となる。
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、識別関数を使い分けることにより、それぞれの状態に対して最適な識別関数を使用しながら認識処理を行うことができ、認識処理の精度を向上させることが可能となる。
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、知識を使い分けることにより、それぞれの状態に対して最適な知識を使用しながら認識処理を行うことができ、認識処理の精度を向上させることが可能となる。
また、本発明の一態様によれば、認識処理による信頼度が所定の値以上となるまで、同一の処理対象に対して複数の認識処理を行うようにすることにより、認識処理の信頼度を上げることができ、認識処理の精度を向上させることができる。
また、本発明の一態様によれば、非文字についての認識処理と文字についての認識処理とを別々に行うようにすることにより、文字を非文字とみなしたり、非文字を文字とみなしたりして認識処理が行われることが減少し、認識処理を精度よく行うことが可能となる。
以下、本発明の一実施例によるパターン認識装置について図面を参照しながら説明する。
図1は、本発明の一実施例によるパターン認識装置の機能的な構成を示すブロック図である。
図1は、本発明の一実施例によるパターン認識装置の機能的な構成を示すブロック図である。
図1において、環境認識手段1は、第1〜第Nの状態を入力画像から抽出する。ここで、入力画像から抽出される状態とは、例えば、1文字枠やフリーピッチ枠や表などのいずれの形式で文字が書かれているかの状態、文字と枠との接触状態、文字のかすれ状態、文字のつぶれ状態、文字が消し線で消されている状態などである。
第1のパターン認識手段2は、第1の状態を有する処理対象についてのパターン認識処理を専用に行い、第2のパターン認識手段4は、第2の状態を有する処理対象についてのパターン認識処理を専用に行い、第Nのパターン認識手段6は、第Nの状態を有する処理対象についてのパターン認識処理を専用に行う。
ここで、第1〜第Nのパターン認識手段2、4、6は、それぞれの認識結果についての信頼度を算出する信頼度算出手段3、5、7を備え、第1〜第Nのパターン認識手段2、4、6による認識結果についての信頼度を算出する。
そして、環境認識手段1は、第1〜第Nのパターン認識手段2、4、6の中から、第1〜第Nの状態に対応するものを呼び出して認識処理を実行させる。
例えば、環境認識手段1が、入力画像から第1の状態を抽出した場合、その第1の状態の処理対象に対して、第1のパターン認識手段2によるパターン認識処理を呼び出し、入力画像から第2の状態を抽出した場合、その第2の状態の処理対象に対して、第2のパターン認識手段4によるパターン認識処理を呼び出し、入力画像から第Nの状態を抽出した場合、その第Nの状態の処理対象に対して、第Nのパターン認識手段6によるパターン認識処理を呼び出す。
例えば、環境認識手段1が、入力画像から第1の状態を抽出した場合、その第1の状態の処理対象に対して、第1のパターン認識手段2によるパターン認識処理を呼び出し、入力画像から第2の状態を抽出した場合、その第2の状態の処理対象に対して、第2のパターン認識手段4によるパターン認識処理を呼び出し、入力画像から第Nの状態を抽出した場合、その第Nの状態の処理対象に対して、第Nのパターン認識手段6によるパターン認識処理を呼び出す。
また、環境認識手段1が、同一の処理対象に対して、例えば、第1の状態及び第2の状態を抽出した場合、第1のパターン認識手段2によるパターン認識処理及び第2のパターン認識手段4によるパターン認識処理を、その同一の処理対象に対して呼び出す。
例えば、第1の状態が一文字枠に文字が書かれている状態であるとし、第2の状態がフリーピッチ枠に文字列が書かれている状態であるとし、第3の状態が文字と枠とが接触している状態であるとし、第4の状態が文字のかすれ状態であるとし、第5の状態が文字のつぶれ状態であるとし、第6の状態が文字が消し線で訂正された状態であるとすると、第1のパターン認識手段2は一文字枠に書かれている文字についての認識処理を行い、第2のパターン認識手段4はフリーピッチ枠に書かれている文字列についての認識処理を行い、第3のパターン認識手段は枠接触文字についての認識処理を行い、第4のパターン認識手段はかすれ文字についての認識処理を行い、第5のパターン認識手段はつぶれ文字についての認識処理を行い、第6のパターン認識手段は訂正文字についての認識処理を行う。
そして、環境認識手段1が、入力画像から一文字枠を抽出した場合、その一文字枠に書かれている文字に対し、第1のパターン認識手段2により認識処理を実行させ、環境認識手段1が、入力画像からフリーピッチ枠を抽出した場合、そのフリーピッチ枠に書かれている文字に対し、第2のパターン認識手段4により認識処理を実行させ、環境認識手段1が、入力画像から枠接触文字を抽出した場合、その枠接触文字に対し、第3のパターン認識手段により認識処理を実行させ、環境認識手段1が、入力画像からかすれ文字を抽出した場合、そのかすれ文字に対し、第4のパターン認識手段により認識処理を実行させ、環境認識手段1が、入力画像からつぶれ文字を抽出した場合、そのつぶれ文字に対し、第5のパターン認識手段により認識処理を実行させ、環境認識手段1が、入力画像から訂正文字の候補を抽出した場合、その訂正文字の候補に対し、第6のパターン認識手段により認識処理を実行させる。
また、例えば、環境認識手段1が、入力画像からフリーピッチ枠に接触している枠接触文字を抽出した場合、そのフリーピッチ枠に接触している枠接触文字に対し、パターン認識手段2及びパターン認識手段3により認識処理を実行させ、入力画像からフリーピッチ枠に接触している消し線付きの枠接触文字を抽出した場合、そのフリーピッチ枠に接触している消し線付きの枠接触文字に対し、第2のパターン認識手段4、第3のパターン認識手段及び第6のパターン認識手段により認識処理を実行させる。
ここで、同一の処理対象についての複数の状態が入力画像から抽出され、それに対応して複数のパターン認識手段2、4、6が呼び出された場合、複数のパターン認識手段2、4、6をどの順序で呼び出すかを格納した処理順序テーブルに基づいて、複数のパターン認識手段2、4、6による認識処理の順序を決定する。そして、パターン認識手段2、4、6による認識処理により、所定のしきい値以上の信頼度が信頼度算出手段3、5、7により得られるまで、複数のパターン認識手段2、4、6による認識処理を呼び出し順序に従って順次に実行する。
例えば、環境認識手段1が、入力画像からフリーピッチ枠に接触している枠接触文字を抽出した場合、そのフリーピッチ枠に接触している枠接触文字に対し、パターン認識手段3による認識処理を実行してからパターン認識手段2による認識処理を実行し、入力画像からフリーピッチ枠に接触している消し線付きの枠接触文字を抽出した場合、そのフリーピッチ枠に接触している消し線付きの枠接触文字に対し、第3のパターン認識手段による認識処理を実行してから第6のパターン認識手段による認識処理を実行し、さらに、第2のパターン認識手段4による認識処理を実行させる。
図2は、図1の環境認識手段1の一実施例の構成を示すブロック図である。
図2において、状態抽出手段1aは、第1〜第Nの状態を入力画像から抽出する。
認識処理制御手段1bは、状態抽出手段1aにより抽出された第1〜第Nの状態に対応させて、図1の第1〜第Nのパターン認識手段2、4、6の中のいずれか1つ又は複数を呼び出して認識処理を行わせる。
図2において、状態抽出手段1aは、第1〜第Nの状態を入力画像から抽出する。
認識処理制御手段1bは、状態抽出手段1aにより抽出された第1〜第Nの状態に対応させて、図1の第1〜第Nのパターン認識手段2、4、6の中のいずれか1つ又は複数を呼び出して認識処理を行わせる。
処理順序テーブル1fは、第1〜第Nのパターン認識手段2、4、6の中から複数の認識手段が呼び出された際に、これらの第1〜第Nのパターン認識手段2、4、6をどのような順序で実行するかを示す処理順序を格納する。
処理順序制御ルール格納手段1dは、状態抽出手段1aにより抽出された第1〜第Nの状態に基づいて、第1〜第Nのパターン認識手段2、4、6の中からどの認識手段を呼び出すかを示す呼び出し手順を格納する。
中間処理結果テーブル作成手段1cは、処理順序制御ルール格納手段1dに格納されている呼び出し手順及び処理順序テーブル1fに格納されている処理順序に基づいて、第1〜第Nのパターン認識手段2、4、6の実行順序を示す中間処理結果テーブルを作成する。
処理実行ルール格納手段1eは、中間処理結果テーブルに記入された認識処理の実行結果に基づいて、次の処理の実行を指示する手順を格納する。
図3は、本発明の一実施例によるパターン認識装置の具体的な構成を示すブロック図である。
図3は、本発明の一実施例によるパターン認識装置の具体的な構成を示すブロック図である。
図3において、環境認識系11は、入力画像の状態を抽出し、この抽出された状態に基づいて、文字認識部12の基本文字認識部17、文字列認識部15、接触文字認識部13、かすれ文字認識部19、つぶれ文字認識部21又は非文字認識部25の消し線認識部26及び雑音認識部28のいずれか1つ又は複数を呼び出す。ここで、入力画像の状態を抽出するために、入力画像のレイアウト解析、品質解析及び訂正解析を行う。
文字認識部12は、入力画像の状態ごとに文字認識処理を行うもので、文字についての文字認識を行う基本文字認識部17、文字列についての文字認識B及び文字切り出しBを行う文字列認識部15、枠に接触した文字についての文字認識A及び文字切り出しAを行う接触文字認識部13、かすれ文字についての文字認識C及び文字切り出しCを行うかすれ文字認識部19、つぶれ文字についての文字認識D及び文字切り出しDを行うつぶれ文字認識部21及びくせ字についての文字認識E及び文字切り出しEを行うくせ字認識部23を備えている。
また、基本文字認識部17、文字列認識部15、接触文字認識部13、かすれ文字認識部19、つぶれ文字認識部21及びくせ字認識部23はそれぞれ、文字認識の手法についての知識を格納した知識テーブル14、16、18、20、22、24を備えている。知識テーブル14には、例えば、枠接触状態と認識の信頼度に関する知識や重複の部分パターン法に関する知識が格納され、知識テーブル16には、例えば、切り出しの信頼度に関する知識や切り出しと認識の融合法に関する知識が格納され、知識テーブル18には、例えば、詳細識別法に関する知識が格納されている。
非文字認識部25は、入力画像の状態ごとに非文字認識処理を行うもので、消し線についての非文字認識F及び非文字切り出しFを行う消し線認識部26、雑音についての非文字認識G及び非文字切り出しGを行う雑音認識部28を備えている。
また、消し線認識部26及び雑音認識部28はそれぞれ、非文字認識の手法についての知識を格納した知識テーブル27、29を備えている。
図4は、環境認識系11の全体的な処理の一例を示すフローチャートである。
図4は、環境認識系11の全体的な処理の一例を示すフローチャートである。
図4において、まず、ステップS1に示すように、入力画像の前処理を行う。この入力画像の前処理は、ファクシミリやスキャナなどにより2値化された入力画像に対しラベリングを行い、入力画像とラベル画像とを格納するものである。なお、入力画像とラベル画像とは、これ以降の処理でいつでもアクセスできるようにしておく。
図5は、図4の入力画像の前処理を示すフローチャートである。
図5において、ステップS11に示すように、2値化された入力画像に対しラベリングを行うことにより、連結パターンを抽出してラベル付けを行い、抽出したラベル画像と入力画像とを格納する。この際、ラベル付けされた連結パターンを外接矩形の加減算で圧縮表現することにより、メモリ容量を削減する。このラベル付けされた連結パターンの圧縮表現によれば、例えば、400dpiの高解像度のスキャナで入力したA4サイズ(約3000×4000)の文書/帳票に対し、、数百キロバイト以内で表すことができる。
図5において、ステップS11に示すように、2値化された入力画像に対しラベリングを行うことにより、連結パターンを抽出してラベル付けを行い、抽出したラベル画像と入力画像とを格納する。この際、ラベル付けされた連結パターンを外接矩形の加減算で圧縮表現することにより、メモリ容量を削減する。このラベル付けされた連結パターンの圧縮表現によれば、例えば、400dpiの高解像度のスキャナで入力したA4サイズ(約3000×4000)の文書/帳票に対し、、数百キロバイト以内で表すことができる。
次に、図4のステップS2に示すように、レイアウト解析を行う。このレイアウト解析は、ラベル付けされた連結パターンのサイズや配置状態などに基づいて、テキスト認識、罫線抽出、枠抽出、枠の種類及び表の判別、枠接触文字の有無の判断及び図認識を行う。
図6は、図4のレイアウト解析を示すフローチャートである。
図6において、まず、ステップS21に示すように、テキスト認識を行う。このテキスト認識は、ラベル付けされた連結パターンのサイズを解析し、連結パターンのサイズが比較的小さいものを抽出し、これを文字の候補とみなす。そして、隣接する文字の候補を統合することにより、テキストを抽出する。
図6において、まず、ステップS21に示すように、テキスト認識を行う。このテキスト認識は、ラベル付けされた連結パターンのサイズを解析し、連結パターンのサイズが比較的小さいものを抽出し、これを文字の候補とみなす。そして、隣接する文字の候補を統合することにより、テキストを抽出する。
次に、ステップS22に示すように、罫線抽出を行う。この罫線抽出は、ステップS21でテキストと認識されなかった連結パターンを対象として、縦又は横方向のヒストグラム値が大きいものについての探索を行うことにより、罫線を抽出する。
次に、ステップS23に示すように、枠抽出を行う。この枠抽出は、ステップS22で抽出された罫線から4辺に相当する罫線を見つけて枠を抽出する。
次に、ステップS24に示すように、枠の種類/表判別を行う。この枠の種類/表判別は、ステップS23で抽出された枠に対し、その枠の種類を判別して枠の種類の属性を付与する。枠の種類の属性としては、一文字枠、ブロック枠、フリーピッチ枠、表などがある。
次に、ステップS24に示すように、枠の種類/表判別を行う。この枠の種類/表判別は、ステップS23で抽出された枠に対し、その枠の種類を判別して枠の種類の属性を付与する。枠の種類の属性としては、一文字枠、ブロック枠、フリーピッチ枠、表などがある。
次に、ステップS25に示すように、枠接触文字の有無の判断を行う。この枠接触文字の有無の判断は、枠内を枠線に沿って探索した際に、交差するパターンがあるかどうかを検出し、交差するパターンがある場合は、文字が枠に接触しているものと判断する。ここで、交差するパターンが存在していても、注目している枠の隣の枠から、文字がはみ出している場合があるので、交差するパターンが隣の枠からはみ出しているものについては、注目している枠に対し、接触文字でないとする。
次に、ステップS26に示すように、図認識を行う。この図認識は、テキストや枠や表などの属性が付与されなかったサイズが比較的大きな連結パターンに対して、図の属性を付与する。
次に、図4のステップS3に示すように、品質解析を行う。この品質解析は、入力画像にかすれやつぶれがあるかどうかを検出するもので、大局的品質解析と局所的品質解析とがある。
この品質解析では、所定の領域について、(面積、縦/横の長さがそれぞれ所定のしきい値以下の連結領域の数)/(前記所定の領域の全ての連結領域の数)の値が、所定値よりも大きい時にかすれと判断する。
また、罫線抽出の際にかすれた罫線を部分的に統合した情報を用いることにより、所定の領域について、(かすれた罫線を補完した際の補完された部分の長さの合計)/(各罫線の長さの合計)の値が、所定値よりも大きい時にかすれと判断する。
さらに、所定の領域について、(黒画素密度が所定のしきい値より大きい連結領域の数)/(前記所定の領域の全ての連結領域の数)の値が、所定値よりも大きい時につぶれと判断する。
図7は、図4の品質解析を示すフローチャートである。
図7において、まず、ステップS31に示すように、大局的品質解析を行う。この大局的品質解析は、文書/帳票全体に対して品質解析を行うもので、入力画像を2値化する際のしきい値が適切であったかどうか、ファクシミリで送られてきた文書/帳票に対してノイズが全体にのったため品質が不正常になっていないかどうか、かすれやつぶれが発生していないかを解析する。
図7において、まず、ステップS31に示すように、大局的品質解析を行う。この大局的品質解析は、文書/帳票全体に対して品質解析を行うもので、入力画像を2値化する際のしきい値が適切であったかどうか、ファクシミリで送られてきた文書/帳票に対してノイズが全体にのったため品質が不正常になっていないかどうか、かすれやつぶれが発生していないかを解析する。
次に、ステップS32に示すように、局所的品質解析を行う。この局所的品質解析は、レイアウト解析により一文字枠やテキストやフリーピッチ枠や表などの属性が付与された領域ごとにかすれやつぶれが発生していないかを調べたり、ノイズが発生していないかを調べたりして品質解析を行うものである。
次に、図4のステップS4に示すように、訂正解析を行う。この訂正解析は、入力画像から消し線を抽出して、消し線で訂正された文字については、文字の認識処理を省略できるようにするものである。
図8は、図4の訂正解析を示すフローチャートである。
図8において、まず、ステップS41に示すように、訂正特徴抽出を行う。この訂正特徴抽出は、訂正文字に有効な特徴を抽出するもので、訂正文字には、つぶれた文字、2重線で消した文字、斜線で消した文字及びばつで消した文字の大きく分けて4種類あり、各訂正文字の特徴を黒画素線密度、線密度、オイラー数、ヒストグラム値などを算出して抽出する。
図8において、まず、ステップS41に示すように、訂正特徴抽出を行う。この訂正特徴抽出は、訂正文字に有効な特徴を抽出するもので、訂正文字には、つぶれた文字、2重線で消した文字、斜線で消した文字及びばつで消した文字の大きく分けて4種類あり、各訂正文字の特徴を黒画素線密度、線密度、オイラー数、ヒストグラム値などを算出して抽出する。
次に、ステップS42に示すように、訂正文字候補抽出を行う。この訂正文字候補抽出は、訂正文字の特徴を表す特徴空間で、訂正文字と訂正されていない通常文字との分布の違いから訂正文字の候補を抽出する。
次に、図4のステップS5に示すように、文字認識/非文字認識の制御を行う。この文字認識/非文字認識の制御は、図4のステップS2〜S4で抽出された入力画像の状態に基づいて、文字認識部12の基本文字認識部17、文字列認識部15、接触文字認識部13、かすれ文字認識部19、つぶれ文字認識部21又は非文字認識部25の消し線認識部26及び雑音認識部28のいずれを呼び出すかを決定するもので、中間処理結果テーブルの読み込み/処理順序制御ルールの実行、終了判定や処理実行ルールによる処理の実行を行う。
ここで、処理順序制御ルールは、環境認識系11が抽出した状態に基づいて、文字認識部12の基本文字認識部17、文字列認識部15、接触文字認識部13、かすれ文字認識部19、つぶれ文字認識部21又は非文字認識部25の消し線認識部26及び雑音認識部28のいずれを呼び出すかの手順を示すものである。
また、処理実行ルールは、処理順序制御ルールにより呼ばれた認識処理の結果に基づいて、次にどのような処理を行うのかの手順を示すものである。
また、中間処理結果テーブルは、レイアウト解析により一文字枠やテキストやフリーピッチ枠や表などの属性が付与された領域ごとに、図4のステップS2〜S4で抽出された入力画像の状態を記入するとともに、入力処理順序制御ルールにより呼ばれた処理を処理順序テーブルに格納されている処理順序で記入するものである。
また、中間処理結果テーブルは、レイアウト解析により一文字枠やテキストやフリーピッチ枠や表などの属性が付与された領域ごとに、図4のステップS2〜S4で抽出された入力画像の状態を記入するとともに、入力処理順序制御ルールにより呼ばれた処理を処理順序テーブルに格納されている処理順序で記入するものである。
例えば、環境認識系11が、文字を抽出した場合、この文字に対しては、基本文字認識部17を呼び出して認識処理を実行し、環境認識系11が、図6のステップS21でテキストを抽出した場合、このテキストに対しては、文字列認識部15を呼び出して認識処理を実行し、環境認識系11が、図6のステップS25で枠接触文字を抽出した場合、この枠接触文字に対しては、接触文字認識部13を呼び出して認識処理を実行し、環境認識系11が、図7のステップS32で、(面積、縦/横の長さがそれぞれ所定のしきい値以下の連結領域の数)/(前記所定の領域の全ての連結領域の数)の値が所定値よりも大きいと判断した場合、この領域の文字に対しては、かすれ文字認識部19を呼び出して認識処理を実行し、環境認識系11が、図7のステップS32で、(黒画素密度が所定のしきい値より大きい連結領域の数)/(前記所定の領域の全ての連結領域の数)の値が所定値よりも大きいと判断した場合、この領域の文字に対しては、つぶれ文字認識部21を呼び出して認識処理を実行し、環境認識系11が、図8のステップS42で、訂正文字候補を抽出した場合、この訂正文字候補に対しては、消し線認識部26を呼び出して認識処理を実行し、環境認識系11が、図7のステップS32で雑音を検出した場合、この雑音に対しては、雑音認識部28を呼び出して認識処理を実行する。
図9は、図4の文字認識/非文字認識の制御を示すフローチャートである。
図9において、まず、ステップ51に示すように、中間処理結果テーブルの読み込み/処理順序制御ルールの実行を行う。
図9において、まず、ステップ51に示すように、中間処理結果テーブルの読み込み/処理順序制御ルールの実行を行う。
次に、ステップ52に示すように、終了判定を行う。この終了判定は、処理順序制御ルールに基づいて、中間処理結果テーブルの全ての処理が完了して中間処理結果テーブルの全ての処理指示欄に終了が記入された場合、終了と判定する。終了判定で未終了と判定された場合、ステップ53に進んで、処理実行ルールによる処理を実行してステップ51に戻り、ステップ52の終了判定で終了と判定されるまで以上の処理を繰り返す。
図10は、本発明の一実施例によるパターン認識装置のシステム構成を示すブロック図である。
図10において、画像格納部41は帳票画像を格納し、処理条件格納部42は帳票のレイアウト構造や読み取り文字情報、例えば、枠の位置、種類、サイズ、文字種、文字数などの定義体を格納し、ラベル画像格納部43はラベル付けされたラベル画像を圧縮表現により格納する。
図10において、画像格納部41は帳票画像を格納し、処理条件格納部42は帳票のレイアウト構造や読み取り文字情報、例えば、枠の位置、種類、サイズ、文字種、文字数などの定義体を格納し、ラベル画像格納部43はラベル付けされたラベル画像を圧縮表現により格納する。
環境認識系30はレイアウト解析部31及び訂正解析部32を備え、環境認識系38はくせ字解析部39及び終了判定処理部40を備え、文字認識系/非文字認識系33は基本文字認識部34、黒枠接触文字認識部35、フリーピッチ文字列認識部36及び消し線認識部37を備えている。
レイアウト解析部31は、ラベル画像格納部43に格納されているラベル画像について、処理条件格納部42に格納されている定義体を参照しながら、罫線抽出、枠抽出及び黒枠接触文字抽出を行う。ここで、枠の位置やサイズなどのフォーマット情報及び傾きに関する情報を予め帳票データとして格納しておき、この帳票データに基づいて、罫線抽出や枠抽出を行う方法は、例えば、特開昭62−21288号公報や特開平3−126186号公報に記載されている。
なお、例えば、特開平6−309498号公報や特開平7−28937号公報に記載されているように、枠の位置やサイズなどのフォーマット情報の入力を必要とせずに、罫線抽出や枠抽出を行うようにしてもよい。
訂正解析部32は消し線候補の抽出を行い、くせ字解析部39は個人筆記特性によるくせ字の解析を行い、終了判定処理部40は文字認識の終了判定を行い、終了判定で終了と判定された場合、文字認識結果の出力を行う。
基本文字認識部34は、1文字ごとに切り出された文字の認識を行い、黒枠接触文字認識部35は、黒枠接触文字から枠を除去し、その枠を除去することによりかすれた文字の補完を行ってから文字の認識を行い、フリーピッチ文字列認識部36は、文字列から文字を切り出す際の切り出し信頼度を考慮しながら文字列についての文字認識を行い、消し線認識部37は、訂正文字の黒画素線密度、線密度、オイラー数、ヒストグラムなどに基づいて、消し線の認識を行う。
中間処理結果テーブル44は、環境認識系30、38により抽出された状態に基づいて、文字認識系/非文字認識系33のいずれの処理を実行するかを示す処理順序やその処理結果を格納する。
図11は、図1〜3のパターン認識装置が適用される文字認識システムの具体的な構成を示すブロック図である。
図11において、51は全体的な処理を行う中央演算処理ユニット(CPU)、52はCPU51で実行されるプログラムを格納するプログラムメモリ、53は画像データをビットマップ形式で格納する画像メモリ、54は画像処理に使用するワークメモリ、55は画像を光学的に読み取るスキャナ、56はスキャナ55により読み取られた情報を一時的に格納するメモリ、57は各文字画像の特徴を格納した辞書ファイル、58は認識結果を表示するディスプレイ、59は認識結果を印刷するプリンタ、60はディスプレイ58及びプリンタ59の入出力インターフェイス、61はCPU51、プログラムメモリ52、画像メモリ53、ワークメモリ54、メモリ56、辞書ファイル57、入出力インターフェイス60及びドライバ64を接続しているバス、62は通信ネットワーク63を介してデータやプログラムの送受信を行う通信インターフェイス、64はドライバ、65はハードディスク、66はICメモリカード、67は磁気テープ、68はフロッピー(登録商標)ディスク、69はCD−ROMやDVD−ROMなどの光ディスクである。
図11において、51は全体的な処理を行う中央演算処理ユニット(CPU)、52はCPU51で実行されるプログラムを格納するプログラムメモリ、53は画像データをビットマップ形式で格納する画像メモリ、54は画像処理に使用するワークメモリ、55は画像を光学的に読み取るスキャナ、56はスキャナ55により読み取られた情報を一時的に格納するメモリ、57は各文字画像の特徴を格納した辞書ファイル、58は認識結果を表示するディスプレイ、59は認識結果を印刷するプリンタ、60はディスプレイ58及びプリンタ59の入出力インターフェイス、61はCPU51、プログラムメモリ52、画像メモリ53、ワークメモリ54、メモリ56、辞書ファイル57、入出力インターフェイス60及びドライバ64を接続しているバス、62は通信ネットワーク63を介してデータやプログラムの送受信を行う通信インターフェイス、64はドライバ、65はハードディスク、66はICメモリカード、67は磁気テープ、68はフロッピー(登録商標)ディスク、69はCD−ROMやDVD−ROMなどの光ディスクである。
この文字認識システムは、スキャナ55により読み取った画像データをメモリ56に一時的に格納し、その画像データをビットマップ形式で画像メモリ53に展開する。そして、画像メモリ53からワークメモリ54にコピーされた2値画像データに対してパターン抽出処理を行う。その結果に基づいて、スキャナ55により読み取った画像データから文字画像の切り出しを行い、切り出された文字画像の特徴と辞書ファイル57に格納された特徴データとの比較を行い、文字の認識を行う。その後、その認識結果を、ディスプレイ58又はプリンタ59に出力する。
この文字認識システムにおいて、図1〜3のパターン抽出装置は、プログラムメモリ52に格納されたプログラムに従って処理を行うCPU51の機能として実現される。ここで、パターン抽出処理を行うプログラムは、プログラムメモリ52のROMに予め格納しておくことが可能である。また、パターン抽出処理を行うプログラムを、ハードディスク65、ICメモリカード66、磁気テープ67、フロッピー(登録商標)ディスク68または光ディスク69などの記憶媒体からプログラムメモリ52のRAMにロードした後、このプログラムをCPU51で実行させるようにしてもよい。
さらに、パターン抽出処理を行うプログラムを、通信インターフェイス62を介して通信ネットワーク63から取り出すこともできる。通信インターフェイス62と接続される通信ネットワーク63として、例えば、LAN(LocalAreaNetwork)、WAN(Wide Area Network)、インターネット、アナログ電話網、デジタル電話網(ISDN:IntegralService Digital Network)、PHS(パーソナルハンディシステム)や衛星通信などの無線通信網などを用いることが可能である。
以下、図3の環境認識系11、文字認識部12及び非文字認識部25の構成をより具体的に説明する。
図12は、図5のステップS11のラベリング処理を説明する図である。
図12は、図5のステップS11のラベリング処理を説明する図である。
図12において、“0”と“1”とからなる2値画像がラベリング処理部70に入力されると、ラベリング処理部70は、連結した画素で構成される連結パターンを入力された2値画像から抽出し、各連結パターンごとにラベルを付したラベル画像を生成して、ラベル画像格納部71に格納する。例えば、“0”と“1”とからなる2値画像72が入力された場合、各連結パターンごとにラベル“1”、“2”、“3”を付してラベル画像73を生成する。
ここで、例えば、255個の連結パターンが1画像内に存在する場合、255個のラベルが必要となるため、1画素当たり8ビットを必要とし、ラベル画像格納部71に必要な記憶容量は、1画像全体の画素数の8倍となり、ラベル画像を格納するために多くの記憶容量が必要となる。
図13は、図12のラベル画像73を圧縮表現することにより、ラベル画像格納部71に必要な記憶容量を削減する方法を説明する図である。
図13において、例えば、図13(a)の連結パターンA1 及び連結パターンA2 のそれぞれに対し、図13(b)に示すように、ラベル“1”及びラベル“2”が付され、図13(c)に示すように、連結パターンA1 に外接する外接矩形B1 及び連結パターンA2 に外接する外接矩形B2 が生成されている。外接矩形B1 及び外接矩形B2 は、図13(d)に示すように、その外接矩形B1 及び外接矩形B2 の左上頂点の座標(x1 、y1 )及び右下頂点の座標(x2 、y2)によって特定することができる。
図13において、例えば、図13(a)の連結パターンA1 及び連結パターンA2 のそれぞれに対し、図13(b)に示すように、ラベル“1”及びラベル“2”が付され、図13(c)に示すように、連結パターンA1 に外接する外接矩形B1 及び連結パターンA2 に外接する外接矩形B2 が生成されている。外接矩形B1 及び外接矩形B2 は、図13(d)に示すように、その外接矩形B1 及び外接矩形B2 の左上頂点の座標(x1 、y1 )及び右下頂点の座標(x2 、y2)によって特定することができる。
そして、連結パターンA1 に外接する外接矩形B1 と連結パターンA2 に外接する外接矩形B2 とが重なっているかどうかを判定し、連結パターンA1 に外接する外接矩形B1 と連結パターンA2 に外接する外接矩形B2 とが重なっていない場合、それぞれの外接矩形B1 及び外接矩形B2 の左上頂点の座標(x1 、y1 )及び右下頂点の座標(x2 、y2 )を記憶する。
一方、連結パターンA1 に外接する外接矩形B1 と連結パターンA2 に外接する外接矩形B2 とが重なっている場合、他の外接矩形と重ならないようにより小さな矩形領域に外接矩形B1 及び外接矩形B2 を細分化し、細分化された矩形領域が元の外接矩形B1 及び外接矩形B2 のどちらに属するかを判定し、連結パターンA1 及び連結パターンA2 を、細分化された矩形領域の和や差などの演算で表現する。
例えば、図13(c)において、連結パターンA1 は、連結パターンA1 に属する最大の矩形領域(1−1)及び矩形領域(1−1)に含まれる矩形領域(1−2)を用いて、
A1 =(1−1)−(1−2)
のように矩形領域(1−1)と矩形領域(1−2)との差で表現することができる。
A1 =(1−1)−(1−2)
のように矩形領域(1−1)と矩形領域(1−2)との差で表現することができる。
また、連結パターンA2 は、連結パターンA2 に属する最大の矩形領域(2−1)、矩形領域(2−1)に含まれる矩形領域(2−2)及び矩形領域(2−2)に含まれる矩形領域(2−3)を用いて、
A2 =(2−1)−(2−2)+(2−3)
のように矩形領域(2−1)と矩形領域(2−2)との差及び矩形領域(2−3)との和で表現することができる。
A2 =(2−1)−(2−2)+(2−3)
のように矩形領域(2−1)と矩形領域(2−2)との差及び矩形領域(2−3)との和で表現することができる。
このように、連結パターンを連結する画素の外接矩形で表現することにより、連結パターンを表現する情報量を減らして、ラベル画像を格納するために必要な記憶容量を削減することができる。
なお、このラベル画像の圧縮表現の方法については、例えば、特開平8−55219号公報に記載されている。
図14は、図6のステップS21のテキスト認識処理の一実施例を示すフローチャートである。
図14は、図6のステップS21のテキスト認識処理の一実施例を示すフローチャートである。
図14において、まず、ステップS61に示すように、スキャナで文書を読み込み、読み込んだ文書の画像データをメモリに格納する。
次に、ステップS62に示すように、ステップS61で読み込んだ画像データのうち、横方向の特定の区間の短冊状の部分領域だけに注目し、その注目した部分領域の中でラベリングを行い、黒連結画素の外接矩形を求める。
次に、ステップS62に示すように、ステップS61で読み込んだ画像データのうち、横方向の特定の区間の短冊状の部分領域だけに注目し、その注目した部分領域の中でラベリングを行い、黒連結画素の外接矩形を求める。
例えば、処理対象として複数の文書A、B、Cがあり、図15(a)の文書Aの文字列81の領域が、図15(d)に示すように、区間Aの範囲内にあり、図15(b)の文書Bの文字列82の領域が、図15(d)に示すように、区間Aの範囲内にあり、図15(c)の文書Cの文字列83の領域が、図15(d)に示すように、区間Bの範囲内にある場合、この区間A,Bの部分領域にのみ着目し、この部分領域の短冊状の中でのみラベリング処理を行って、黒連結画素の外接矩形を求める。
次に、ステップS63に示すように、ステップS62で求めた外接矩形の高さと、予め求めておいた矩形の高さylenとの差がしきい値thy以内で、かつステップS62で求めた外接矩形の幅と、予め求めておいた矩形の幅xlenとの差がしきい値thx以内であるような外接矩形だけを抽出する。そして、その外接矩形が存在しているy方向(縦方向)の座標を求め、メモリに記憶する。
次に、ステップS64に示すように、ステップS63で求めたy方向の座標を中心として、ステップS62で抽出した矩形を含む左右方向の長さが画像幅に等しい横長部分領域に注目する。
次に、ステップS65に示すように、ステップS64で求めた横長部分領域に対してラベリングを行うことにより、黒連結画素の外接矩形を求める。
次に、ステップS66に示すように、ステップS65で求めた外接矩形の高さと、予め求めておいた矩形の高さylenとの差がしきい値thy以内で、かつステップS65で求めた外接矩形の幅と、予め求めておいた矩形の幅xlenとの差がしきい値thx以内であるような外接矩形だけを抽出し、メモリに記憶する。
次に、ステップS66に示すように、ステップS65で求めた外接矩形の高さと、予め求めておいた矩形の高さylenとの差がしきい値thy以内で、かつステップS65で求めた外接矩形の幅と、予め求めておいた矩形の幅xlenとの差がしきい値thx以内であるような外接矩形だけを抽出し、メモリに記憶する。
次に、ステップS67に示すように、ステップS66で抽出した矩形を対象にx座標でソートし、抽出した矩形の中心線の間隔からピッチを計算し、この計算により求めたピッチと予め求めておいたピッチpitchとの差がしきい値thpitch以内の矩形が横方向に所定の数th個以上並んでいるものをテキストとして出力する。
なお、このテキスト抽出方法については、例えば、特開平8−171609号公報に記載されている。
次に、図6のステップS22の罫線抽出処理の一実施例についてより具体的に説明する。
次に、図6のステップS22の罫線抽出処理の一実施例についてより具体的に説明する。
この罫線抽出処理は、ラベリングにより得られた連結パターンを横方向及び縦方向に複数に分割し、横方向及び縦方向に分割したそれぞれの範囲内で連結パターンの隣接投影値を算出し、ある一定の長さの線分又は直線の一部を矩形近似により検出することにより罫線を抽出するものである。
ここで、隣接投影とは、注目行又は注目列の投影値に周囲の行又は列の投影値を足し合わせたものである。また、注目行又は注目列の投影値は、その行又は列に存在する黒画素の総和をとったものである。
図16は、この隣接投影処理を説明する図である。
図16において、i行の投影値をp(i)とすると、隣接投影値P(i)は、(1)式により算出することができる。
図16において、i行の投影値をp(i)とすると、隣接投影値P(i)は、(1)式により算出することができる。
P(i)=p(i−j)+・・・+p(i)+・・・+p(i+j) (1)
なお、図16に示す例は、(1)式においてj=1とおいたものである。
図17は、部分パターンの投影値の例を示す図である。
なお、図16に示す例は、(1)式においてj=1とおいたものである。
図17は、部分パターンの投影値の例を示す図である。
図17において、縦方向の長さがLY 、横方向の長さがLX の矩形84の水平方向jの投影値Ph(i)をHP(i)、矩形84の垂直方向iの投影値Pv(j)をVP(j)とすると、HP(1)=HP(n)=m、HP(2)〜HP(n−1)=2、VP(1)=VP(m)=n、VP(2)〜VP(m−1)=2である。
このように、矩形84を構成する直線が存在している部分は、その投影値が大きくなるので、この投影値を算出することにより、罫線を構成している直線を抽出することができる。
例えば、隣接投影値と縦横それぞれの分割長との比が所定の閾値以上である部分パターンを検出することにより、罫線を構成している直線の候補を抽出することができる。
図18は、罫線抽出処理を示すフローチャートである。
図18は、罫線抽出処理を示すフローチャートである。
図18において、まず、ステップ601に示すように、隣接投影値と縦横それぞれの分割長との比が所定のしきい値以上であるかどうかを判定する。そして、隣接投影値と縦横それぞれの分割長との比が所定のしきい値以上でないと判断された場合、ステップS602に進み、罫線を構成している線分が存在しないものとみなす。
一方、ステップS601で隣接投影値と縦横それぞれの分割長との比が所定のしきい値以上であると判断された場合、ステップS603に進み、罫線を構成している線分が存在するものとみなす。
次に、ステップS604において、ステップS603で線分とみなされたパターンが、その上下に存在する線分と接しているかどうかを判断する。そして、上記パターンが上下に存在する線分と接していないと判断された場合、ステップS605に進み、そのパターンを矩形線分とする。
一方、ステップS604において、ステップS603で線分とみなされたパターンがその上下に存在する線分と接していると判断された場合、ステップS606に進み、上記パターンとその上下に存在する線分とを統合する。そして、ステップS607で、ステップS606で統合した線分を矩形線分として検出する。例えば、図19(a)に示すような3つの矩形線分85を統合し、図19(b)に示す1つの矩形線分86を得る。この後、ステップS605又はステップS607で求めた矩形線分を対象として探索を行うことにより、罫線を抽出する。
なお、この罫線抽出処理については、例えば、特開平6−309498号公報に記載されている。
図20は、図6のステップS22の罫線抽出処理において、かすれ罫線の補完を行いながら、探索を行う方法を説明する図である。
図20は、図6のステップS22の罫線抽出処理において、かすれ罫線の補完を行いながら、探索を行う方法を説明する図である。
このかすれ罫線の補完方法は、直線を構成するパターンの探索を行う際、探索の進行方向にパターンのない空白領域が存在しても、一定の画素数以下の空白領域に対してはパターンがあるとみなして探索を行うようにするものである。
例えば、図20に示すように、直線91に対して、この直線91を構成する画素92の検索を行う場合、一定の画素数以下の空白領域93に対しては画素92があるとみなして探索を行う。
図21は、罫線抽出処理におけるかすれ罫線の補完方法を示すフローチャートである。
図21において、まず、ステップS71に示すように、所定の矩形範囲内のパターンのうち、最も細い部分のX座標を算出する。
図21において、まず、ステップS71に示すように、所定の矩形範囲内のパターンのうち、最も細い部分のX座標を算出する。
次に、ステップS72に示すように、ステップS71で算出したX座標におけるパターンの中心点を算出する。そして、ステップS73に示すように、ステップS72で算出したパターンの中心点を探索の開始点とする。ここで、探索の開始点をパターンの最も細い部分とするのは、最も細い部分は文字である可能性が低いため、枠となる直線の探索をより確実に行うことができるからである。
次に、ステップS74で直線の探索方向を右に設定する。
次に、ステップS75に示すように、空白領域の長さをカウントする変数Kの初期値を0に設定する。
次に、ステップS75に示すように、空白領域の長さをカウントする変数Kの初期値を0に設定する。
次に、ステップS76に示すように、ステップS73で求めた開始点をパターンの探索の現在地と設定する。
次に、ステップS77に示すように、ステップS76で設定した探索の現在地が、ステップS71で注目した矩形範囲の内部であるかどうかの判定を行い、探索の現在地が、ステップS71で注目した矩形範囲の内部でない場合、ステップS86に進む。
次に、ステップS77に示すように、ステップS76で設定した探索の現在地が、ステップS71で注目した矩形範囲の内部であるかどうかの判定を行い、探索の現在地が、ステップS71で注目した矩形範囲の内部でない場合、ステップS86に進む。
一方、ステップS77で探索の現在地が、ステップS71で注目した矩形範囲の内部であると判定された場合、ステップS78に進み、探索の現在地からみて探索方向隣にパターンがあるかどうか判定する。ここで、探索の現在地からみて探索方向隣にパターンがあるとは、図22に示すように、パターン101からみて右方向隣の位置にパターン102が存在していることを意味している。そして、探索の現在地からみて探索方向隣にパターン102があると判定された場合、ステップS81に進み、探索方向隣にあるパターン102を探索の現在地とする。
一方、ステップS78で探索の現在地からみて探索方向隣にパターンがないと判定された場合、ステップS79に進み、探索の現在地からみて探索方向斜め隣にパターンがあるかどうか判定する。
ここで、探索の現在地からみて探索方向斜め隣にパターンがあるとは、図22に示すように、パターン103からみて右方向斜め隣の位置にパターン104a又はパターン104bが存在していることを意味している。そして、探索の現在地からみて探索方向斜め隣にパターン104a、104bがあると判定された場合、ステップS83に進み、探索方向斜め隣にあるパターン104a、104bを探索の現在地とする。なお、探索方向斜め隣にあるパターン104a、104bが2つある場合はパターン104a、104bのどちらか一方を探索の現在地とする。一方、ステップS79で探索の現在地からみて探索方向斜め隣にパターン104a、104bがないと判定された場合、ステップS80に進み、空白領域の長さをカウントする変数Kがしきい値以下であるかどうかを判定する。そして、空白領域の長さをカウントする変数Kがしきい値以下である場合、ステップS84に進み、探索の現在地からみて探索方向隣にありパターンを構成しない画素を現在地とする。例えば、図20において、一定の画素数以下の空白領域93に対してはパターンがあるとみなして探索を行う。
次に、ステップS85に示すように、空白領域の長さをカウントする変数Kの値を1ドットだけ増やし、ステップS77に戻る。
一方、ステップS80で空白領域の長さをカウントする変数Kがしきい値以下でないと判定された場合、ステップS86に進み、探索方向は右に設定されているかどうかを判定する。そして、探索方向は右に設定されていない場合、処理を終了する。
一方、ステップS80で空白領域の長さをカウントする変数Kがしきい値以下でないと判定された場合、ステップS86に進み、探索方向は右に設定されているかどうかを判定する。そして、探索方向は右に設定されていない場合、処理を終了する。
ステップS86で探索方向は右に設定されている場合、ステップS87に進み、探索方向を左に設定する。そして、探索方向を右に設定して行った処理と同様に、ステップS75〜ステップS85の処理を繰り返す。
ここで、探索方向を左に設定して処理を行う場合、探索の現在地からみて探索方向隣にパターンがあるとは、図22に示すように、パターン105からみて左方向隣の位置にパターン106が存在していることを意味している。また、探索の現在地からみて探索方向斜め隣にパターンがあるとは、図22に示すように、パターン107からみて左方向斜め隣の位置にパターン108a又はパターン108bが存在していることを意味している。
なお、このかすれ罫線の補完方法については、例えば、特願平8−107568号の明細書及び図面に記載されている。
次に、図6のステップS23の枠抽出処理について説明する。
次に、図6のステップS23の枠抽出処理について説明する。
図23は、一文字枠抽出処理の一実施例を示すフローチャートである。
図23において、まず、ステップS91に示すように、図18の処理により矩形線分として検出されたパターンに対し探索を行う。この際、図21のフローチャートに示すように、所定の長さの空白領域に対しては、パターンが存在するものとみなして探索を行い、かすれを補完する。
図23において、まず、ステップS91に示すように、図18の処理により矩形線分として検出されたパターンに対し探索を行う。この際、図21のフローチャートに示すように、所定の長さの空白領域に対しては、パターンが存在するものとみなして探索を行い、かすれを補完する。
次に、ステップS92に示すように、ステップS91で探索を行った結果、パターンが所定の長さで途切れているかどうかを判断し、パターンが所定の長さで途切れていない場合、図24のブロック枠抽出処理に進む。一方、パターンが所定の長さで途切れている場合、ステップS93に進み、探索された線分を統合して直線を検出する。
次に、ステップS94に示すように、ステップS93で検出した直線のうち、4方を囲んでいる直線を抽出する。
次に、ステップS95に示すように、4方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内であるかどうかを判断し、4方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内であるか場合、ステップS96に進んで、4方を直線で囲まれた部分を一文字枠であるとみなし、4方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内でない場合、ステップS97に進んで、4方を直線で囲まれた部分を一文字枠でないとみなす。
次に、ステップS95に示すように、4方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内であるかどうかを判断し、4方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内であるか場合、ステップS96に進んで、4方を直線で囲まれた部分を一文字枠であるとみなし、4方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内でない場合、ステップS97に進んで、4方を直線で囲まれた部分を一文字枠でないとみなす。
図24は、ブロック枠抽出処理の一実施例を示すフローチャートである。
図24において、まず、ステップS101に示すように、探索により検出された横直線が所定値以上の長さを有するかどうかを判断し、探索により検出された横直線の長さが所定値より小さい場合、ステップS102に進んで、その横直線を横枠でないとみなす。一方、探索により検出された横直線の長さが所定値以上の場合、ステップS102に進み、探索により検出された横直線を横枠であるとみなす。
図24において、まず、ステップS101に示すように、探索により検出された横直線が所定値以上の長さを有するかどうかを判断し、探索により検出された横直線の長さが所定値より小さい場合、ステップS102に進んで、その横直線を横枠でないとみなす。一方、探索により検出された横直線の長さが所定値以上の場合、ステップS102に進み、探索により検出された横直線を横枠であるとみなす。
次に、ステップS104に示すように、ステップS103で抽出された横枠から、互いに隣接する2本の横枠を取り出す。
次に、ステップS105に示すように、ステップS104で取り出した2本の横枠の間に挟まれた範囲を1行のブロック枠とみなす。
次に、ステップS105に示すように、ステップS104で取り出した2本の横枠の間に挟まれた範囲を1行のブロック枠とみなす。
次に、ステップS106に示すように、図18の処理により検出された矩形線分のうち、縦方向の矩形線分を抽出して縦線を検出する。
次に、ステップS107に示すように、ステップS106で検出した縦線の探索を行い、ステップS108において、縦線がステップS104で取り出した上下の横枠に達したかどうかを判断する。そして、縦線が上下の横枠に達しない場合、ステップS109に進み、その縦線を縦枠の候補から除外する。一方、縦線が上下の横枠に達した場合、ステップS110に進み、その縦線を縦枠の候補とする。
次に、ステップS107に示すように、ステップS106で検出した縦線の探索を行い、ステップS108において、縦線がステップS104で取り出した上下の横枠に達したかどうかを判断する。そして、縦線が上下の横枠に達しない場合、ステップS109に進み、その縦線を縦枠の候補から除外する。一方、縦線が上下の横枠に達した場合、ステップS110に進み、その縦線を縦枠の候補とする。
次に、ステップS111に示すように、処理の対象が規則的な表形式のブロック枠であるか、不規則な表形式のブロック枠であるかを判断する。そして、処理の対象が規則的な表形式のブロック枠である場合、ステップS112に進み、ステップS110で縦枠の候補とみなされた縦線同士の間隔を算出するとともに、算出された縦線同士の間隔とその出現頻度との関係を示すヒストグラムを算出する。
次に、ステップS113に示すように、互いの隣接する2本の横枠の間に挟まれた範囲内の縦線のうち、他の縦線と異なる間隔を形成する縦線を縦枠の候補から除外し、残った縦線を縦枠として処理を終了する。
一方、ステップS111で処理の対象が不規則的な表形式のブロック枠であると判断された場合、ステップS110で縦枠の候補とされたものを全て縦枠として処理を終了する。
次に、図6のステップS24の枠種類/表判別処理について説明する。
図25は、図6のステップS23の枠抽出処理により抽出された枠や表の一例を示す図である。
図25は、図6のステップS23の枠抽出処理により抽出された枠や表の一例を示す図である。
図25において、図25(a)は一文字枠、図25(b)はフリーピッチ枠、図25(c)はブロック枠、図25(d)は規則的な表、図25(e)は不規則な表を示している。そして、一文字枠には一文字枠の属性を付与し、フリーピッチ枠にはフリーピッチ枠の属性を付与し、ブロック枠にはブロック枠の属性を付与し、表には表の属性を付与する。
なお、枠抽出処理及び枠種類/表判別処理については、例えば、特開平7−28937号公報に記載されている。
次に、図6のステップS25の枠接触有無の判断処理について説明する。ここでは、元の入力画像をOR処理により縮小率1/nで縮小してから、枠接触有無の判断処理を行う例について述べる。ここで、画像の各画素に対応して座標が設定され、画像の横方向にX座標、画像の縦方向にY座標を設定し、X座標は右向きに増加し、Y座標は下向きに増加するものとしている。
次に、図6のステップS25の枠接触有無の判断処理について説明する。ここでは、元の入力画像をOR処理により縮小率1/nで縮小してから、枠接触有無の判断処理を行う例について述べる。ここで、画像の各画素に対応して座標が設定され、画像の横方向にX座標、画像の縦方向にY座標を設定し、X座標は右向きに増加し、Y座標は下向きに増加するものとしている。
図26は、入力画像の縮小処理の一実施例を示すフローチャートである。
図26において、まず、ステップS121に示すように、原画像を入力する。
次に、ステップS122に示すように、原画像の左上から横n画素×縦n画素の範囲(左上座標(1,1)、右下座標(X,Y))を設定する。
図26において、まず、ステップS121に示すように、原画像を入力する。
次に、ステップS122に示すように、原画像の左上から横n画素×縦n画素の範囲(左上座標(1,1)、右下座標(X,Y))を設定する。
次に、ステップS123に示すように、原画像の設定された範囲内に黒画素があるかどうかを判断し、原画像の設定された範囲内に黒画素がある場合、ステップS124に進み、縮小画像の座標(X/n,Y/n)の画素を黒画素とし、原画像の設定された範囲内に黒画素がない場合、ステップS125に進み、縮小画像の座標(X/n,Y/n)の画素を白画素とする。
次に、ステップS126に示すように、原画像の右下まで処理が終了したかどうかを判断し、原画像の右下まで処理が終了していない場合、ステップS127に進み、原画像の右端に達したかどうかを判断する。
そして、原画像の右端に達していない場合、処理した範囲の右隣に横n画素×縦n画素の範囲(左上座標(x,y)、右下座標(X,Y))を設定し、原画像の右端に達した場合、処理した範囲の下側で、かつ、原画像の左端から横n画素×縦n画素の範囲(左上座標(x,y)、右下座標(X,Y))を設定して、ステップS123に戻り、原画像の全ての範囲内について縮小処理が終了するまで以上の処理を繰り返す。
次に、入力画像の縮小処理により縮小された圧縮画像データにおける枠線の内側を枠に沿って探索することにより、文字が枠に接触しているかどうかの判定を行い、文字の接触している辺に関して、矩形領域を所定の距離だけ外側に拡大し、この拡大した矩形領域の座標を原画像データにおける座標に変換する。
例えば、図27(a)に示すように、圧縮画像データの枠線の範囲110が抽出され、この枠線により囲まれた矩形領域内に「4」の文字112が存在し、この「4」の文字112が下側の枠線111に接触しているものとする。
次に、図27(b)に示すように、枠線の内側に沿って真っ直ぐに探索を行い、探索の途中でパターンと交差した場合、枠線の近辺に文字が存在し、この文字は枠線に接触している可能性が高いとみなして、この枠線により囲まれた矩形領域内に存在する「4」の文字112は枠と接触しているものとする。この例の場合、「4」の文字112は下側の枠111と接触しているものとされる。
次に、枠線111の内側に沿って探索を行い、文字112が枠線111に接触しているとみなされた結果、図27(c)に示すように、文字112が接触している枠線111から外側の方向へ枠線により囲まれた矩形領域を拡大し、この拡大した矩形領域113を文字112が存在する文字領域とする。なお、文字が枠線に接触していないとみなされた場合は、枠の内部をそのまま文字領域とする。
次に、圧縮画像データにおける文字領域から原画像データにおける文字領域を求めるため、図27(c)の矩形領域113の座標を原画像データにおける座標に変換する。このことにより、図27(d)に示すように、原画像データにおける矩形領域116を求めることができる。
次に、原画像データの矩形領域116における枠線114についての投影処理を行い、枠線114の枠座標を原画像データから算出する。この際、枠線114を所定の長さの短冊状の矩形によって表現する。そして、図27(e)に示すように、この矩形領域116に存在するパターンを文字補完処理に送り、原画像データから算出した枠線114の枠座標に基づいて、枠線114に接触している文字115の補完処理を行う。
図28は、枠接触有無の判断処理の一実施例を示すフローチャートである。
図28において、まず、ステップS131に示すように、圧縮画像データによる矩形表現を、例えば、図26の処理により行う。
図28において、まず、ステップS131に示すように、圧縮画像データによる矩形表現を、例えば、図26の処理により行う。
次に、ステップS132に示すように、縦横4本の直線に囲まれた矩形部分を抽出する。
次に、ステップS133に示すように、直線の内側を示す矩形の左上及び右下を示す座標をそれぞれ算出する。
次に、ステップS133に示すように、直線の内側を示す矩形の左上及び右下を示す座標をそれぞれ算出する。
次に、ステップS134に示すように、枠の内側を示す矩形の4辺(上側横枠、下側横枠、右側縦枠、左側縦枠)に沿って圧縮画像の探索を行う。
次に、ステップS135に示すように、探索の途中で画像パターンと交差した場合、探索を行っていた辺に文字が接触しているものとする。
次に、ステップS135に示すように、探索の途中で画像パターンと交差した場合、探索を行っていた辺に文字が接触しているものとする。
次に、ステップS136に示すように、枠の内側を示す矩形の座標値を原画像上の座標値に変換することにより、圧縮画像データにおける矩形領域から原画像データにおける矩形領域を算出する。
次に、ステップS137に示すように、ステップS136で算出された矩形領域を原画像データにおける文字領域とする。
次に、ステップS138に示すように、ステップS135の処理により文字が枠に接触していたかどうかを判断し、文字が枠に接触している場合、ステップS139〜S143の接触文字範囲獲得処理を行う。
次に、ステップS138に示すように、ステップS135の処理により文字が枠に接触していたかどうかを判断し、文字が枠に接触している場合、ステップS139〜S143の接触文字範囲獲得処理を行う。
接触文字範囲獲得処理では、まず、ステップS139において、文字の接触している辺から外側方向に文字領域を拡大し、ステップS137で算出された文字領域位置より一定の距離だけ外側の位置を文字領域の端とする。
次に、ステップS140に示すように、ステップS139で算出された文字領域に含まれる枠線の位置座標を原画像上の座標値に変換することにより、圧縮画像データにおける枠線の位置座標から原画像データにおける枠線の位置座標を算出する。
次に、ステップS141に示すように、ステップS140で算出された原画像データにおける枠線の位置座標に基づいて獲得した原画像データの枠線領域について、横枠は横方向、縦枠は縦方向に投影処理を行う。
次に、ステップS142に示すように、投影値が一定値以上の領域を原画像上の枠座標とする。
次に、ステップS143に示すように、算出した原画像上の文字領域を示す座標値と文字領域内の枠線の位置を示す座標値とを文字補完処理へ渡す。
次に、ステップS143に示すように、算出した原画像上の文字領域を示す座標値と文字領域内の枠線の位置を示す座標値とを文字補完処理へ渡す。
次に、ステップS144に示すように、算出した原画像上の文字領域を示す座標値を文字領域とする。
なお、枠接触有無の判断処理については、例えば、特願平8−107568号の明細書及び図面に記載されている。
なお、枠接触有無の判断処理については、例えば、特願平8−107568号の明細書及び図面に記載されている。
次に、図8のステップS41の訂正特徴抽出処理及びステップS42の訂正文字候補抽出処理について説明する。
図29は、訂正文字の一実施例を示す図である。
図29は、訂正文字の一実施例を示す図である。
図29において、訂正文字は、文字を消し線で消したものであり、訂正文字の形態として、図29(a)に示すように、文字を“×”印により消したもの、図29(b)に示すように、文字を横二重線によりにより消したもの、図29(c)に示すように、文字を斜め線により消したもの、図29(d)に示すように、文字を波線により消したもの、図29(e)に示すように、文字を真っ黒に塗りつぶすことにより消したものなど様々なものがある。
このような訂正文字に対し、訂正文字に特有な特徴を抽出する。この訂正文字に特有な特徴として、「所定方向の線密度」、「オイラー数」、「黒画素密度」などがある。
「所定方向の線密度」は、矩形内の画像を所定の一定方向に沿って走査した際に、白画素から黒画素(又は黒画素から白画素)に変化する回数を計数した値である。また、所定方向は、消し線として想定された線分の方向と垂直方向に設定する。
「所定方向の線密度」は、矩形内の画像を所定の一定方向に沿って走査した際に、白画素から黒画素(又は黒画素から白画素)に変化する回数を計数した値である。また、所定方向は、消し線として想定された線分の方向と垂直方向に設定する。
例えば、図30(a)は、「6」の文字について、縦方向の最大線密度を計数した例を示すもので、この場合の縦方向の最大線密度は3となっている。
訂正文字の「所定方向の線密度」は、通常文字の「所定方向の線密度」に比べて大きくなる傾向があり、この「所定方向の線密度」を算出することにより、訂正文字の候補を抽出することができる。
訂正文字の「所定方向の線密度」は、通常文字の「所定方向の線密度」に比べて大きくなる傾向があり、この「所定方向の線密度」を算出することにより、訂正文字の候補を抽出することができる。
「オイラー数」Eは、画像中での互いに連結している連結成分の個数Cから、その画像が有する穴の個数Hを引いた値である。
例えば、図30(b)は、互いに連結している連結成分が画像中に2つだけ存在し、その画像中に穴が1つだけ存在する例を示すもので、この例の場合のオイラー数Eは、E=C−H=2−1=1となる。
例えば、図30(b)は、互いに連結している連結成分が画像中に2つだけ存在し、その画像中に穴が1つだけ存在する例を示すもので、この例の場合のオイラー数Eは、E=C−H=2−1=1となる。
訂正文字の「オイラー数」は絶対値が大きな負の値となる傾向があり、通常文字の「オイラー数」は絶対値が小さな値(2〜−1)となる傾向がある。したがって、この「オイラー数」を算出することにより、訂正文字の候補を抽出することができる。
「黒画素密度」Dは、注目する画像自体の面積(黒画素数)Bと注目する画像の外接矩形の面積Sとの比である。
例えば、図30(c)は、「4」の文字について黒画素密度Dを算出した場合の例を示すもので、「4」の文字に外接している外接矩形の面積をS、「4」の文字の面積をBとすると、D=B/Sとなる。
例えば、図30(c)は、「4」の文字について黒画素密度Dを算出した場合の例を示すもので、「4」の文字に外接している外接矩形の面積をS、「4」の文字の面積をBとすると、D=B/Sとなる。
訂正文字の「黒画素密度」は、通常文字の「黒画素密度」に比べて大きくなる傾向があり、この「黒画素密度」を算出することにより、訂正文字の候補を抽出することができる。
次に、図3の基本文字認識部17について具体的に説明する。
図31は、基本文字認識部17の構成の一実施例を示すブロック図である。
図31において、特徴抽出部121は、入力された未知の文字パターンから文字の特徴を抽出し、この抽出した特徴を特徴ベクトルにより表す。一方、基本辞書122には、各文字カテゴリの特徴ベクトルが格納されている。
図31は、基本文字認識部17の構成の一実施例を示すブロック図である。
図31において、特徴抽出部121は、入力された未知の文字パターンから文字の特徴を抽出し、この抽出した特徴を特徴ベクトルにより表す。一方、基本辞書122には、各文字カテゴリの特徴ベクトルが格納されている。
そして、照合部123は、特徴抽出部121により抽出した未知の文字パターンの特徴ベクトルを、基本辞書122に格納されている各文字カテゴリの特徴ベクトルと照合し、特徴空間上での特徴ベクトル間の距離Dij(iは未知文字の特徴ベクトル、jは基本辞書122のカテゴリの特徴ベクトル)を算出する。その結果、特徴ベクトル間の距離Dijを最小とするカテゴリjを未知文字iとして認識する。
ここで、特徴空間上での特徴ベクトル間の距離Dijは、例えば、ユークリッド距離Σ(i−j)2 、シティブロック距離Σ|i−j|、又は判別関数などの識別関数を用いて算出することができる。
なお、第1位のカテゴリとの距離をDij1 、第2位のカテゴリとの距離をDij2 とすると、第1位のカテゴリj1、第2位のカテゴリj2、カテゴリ間の距離(Dij2 −Dij1 )及び信頼度に関するテーブル1を予め作成しておく。また、第1位のカテゴリとの距離をDij1 、第1位のカテゴリj1及び信頼度に関するテーブル2も予め作成しておく。そして、テーブル1とテーブル2とからそれぞれ得られる信頼度の小さい方を中間処理結果テーブルに格納する。
図32は、特徴ベクトルの算出例を示す図である。
この例は、図32(a)の縦5×横4の合計20個の枡目に「2」の文字が書かれており、黒く塗りつぶされた枡目を“1”、白抜きの枡目を“0”として、枡目の左上から右下の順に枡目を見ていき、その時現れる“1”又は“0”の数値を順に並べたものを、特徴ベクトルとしたものである。
この例は、図32(a)の縦5×横4の合計20個の枡目に「2」の文字が書かれており、黒く塗りつぶされた枡目を“1”、白抜きの枡目を“0”として、枡目の左上から右下の順に枡目を見ていき、その時現れる“1”又は“0”の数値を順に並べたものを、特徴ベクトルとしたものである。
例えば、図32(b)の場合の特徴ベクトルvectorAは、vectorA=(1、1、1、1、0、0、0、1、1、1、1、1、1、0、0、0、1、1、1、1、)となり、図32(c)の場合の特徴ベクトルvectorBは、vectorB=(0、1、1、1、0、0、0、1、1、1、1、1、1、0、0、0、1、1、1、1、)となり、図32(d)の場合の特徴ベクトルvectorCは、vectorC=(1、1、1、1、0、0、0、1、0、1、1、0、1、0、0、0、1、1、1、1、)となる。
図33は、シティブロック距離d(i,j)により特徴ベクトル間の距離Dijを算出する例を示す図である。
図33は、シティブロック距離d(i,j)により特徴ベクトル間の距離Dijを算出する例を示す図である。
ここで、シティブロック距離d(i,j)は、特徴ベクトルの次元数をN、特徴ベクトルの番号をiとすると、i番目の特徴ベクトルxi は、xi =(xi1,xi2,xi3,・・・xiN)と表され、j番目の特徴ベクトルxj は、xj =(xj1,xj2,xj3,・・・xjN)と表される。そして、i番目の特徴ベクトルxiとj番目の特徴ベクトルxj とのシティブロック距離d(i,j)は、
d(i,j)=|xi −xj | ・・・(2)
と定義される。
d(i,j)=|xi −xj | ・・・(2)
と定義される。
例えば、図33において、基本辞書122には、「1」、「2」、「3」、「4」の文字カテゴリの特徴ベクトルが登録されているものとする。ここで、「1」の文字カテゴリの特徴ベクトルvector1は、vector1=(0、1、1、0、0、1、1、0、0、1、1、0、0、1、1、0、0、1、1、0、)、「2」の文字カテゴリの特徴ベクトルvector2は、vector2=(1、1、1、1、0、0、0、1、1、1、1、1、1、0、0、0、1、1、1、1、)、「3」の文字カテゴリの特徴ベクトルvector3は、vector3=(1、1、1、1、0、0、0、1、1、1、1、1、0、0、0、1、1、1、1、1、)、「4」の文字カテゴリの特徴ベクトルvector4は、vector4=(1、0、1、0、1、0、1、0、1、1、1、1、0、0、1、0、0、0、1、0、)とする。
そして、特徴ベクトルvectorが、vector=(0、1、1、1、0、0、0、1、1、1、1、1、1、0、0、0、1、1、1、1、)である未知文字が入力された場合、この特徴ベクトルvectorと、基本辞書122に登録されている「1」の文字カテゴリの特徴ベクトルvector1、「2」の文字カテゴリの特徴ベクトルvector2、「3」の文字カテゴリの特徴ベクトルvector3、「4」の文字カテゴリの特徴ベクトルvector4のそれぞれとの間のシティブロック距離d(i,j)を(2)式により算出する。
すなわち、未知文字の特徴ベクトルvectorと「1」の文字カテゴリの特徴ベクトルvector1との間のシティブロック距離d(i,j)は、d(i,j)=|vector−vector1|=|0−0|+|1−1|+|1−1|+|1−0|+|0−0|+|0−1|+|0−1|+|1−0|+|1−0|+|1−1|+|1−1|+|1−0|+|1−0|+|0−1|+|0−1|+|0−0|+|1−0|+|1−1|+|1−1|+|1−0|=11となる。
同様に、未知文字の特徴ベクトルvectorと「2」の文字カテゴリの特徴ベクトルvector2との間のシティブロック距離d(i,j)は、d(i,j)=|vector−vector2|=1、未知文字の特徴ベクトルvectorと「3」の文字カテゴリの特徴ベクトルvector3との間のシティブロック距離d(i,j)は、d(i,j)=|vector−vector3|=3、未知文字の特徴ベクトルvectorと「4」の文字カテゴリの特徴ベクトルvector4との間のシティブロック距離d(i,j)は、d(i,j)=|vector−vector4|=11となる。
ここで、未知文字の特徴ベクトルvectorと、「1」の文字カテゴリの特徴ベクトルvector1、「2」の文字カテゴリの特徴ベクトルvector2、「3」の文字カテゴリの特徴ベクトルvector3、「4」の文字カテゴリの特徴ベクトルvector4のそれぞれとの間のシティブロック距離d(i,j)のうち、未知文字の特徴ベクトルvectorと「2」の文字カテゴリの特徴ベクトルvector2との間のシティブロック距離d(i,j)が最小となっている。
従って、特徴ベクトルvectorが、vector=(0、1、1、1、0、0、0、1、1、1、1、1、1、0、0、0、1、1、1、1、)である未知文字は、「2」の文字カテゴリに属すると判定される。
次に、図3の基本文字認識部17の知識テーブル18に格納されている詳細識別法について説明する。この詳細識別法は、各文字カテゴリの局所的な部分パターンを文字セグメントとして取り出し、未知文字の文字セグメントの位置や角度変化量とセグメント辞書に予め格納してある文字セグメントの位置や角度変化量とを比較することにより、未知文字と文字カテゴリとの対応を取りながら文字を認識する。
図34は、文字セグメントの抽出方法を説明する図である。
図34(a)は、「2」の文字についての2値画像パターンを示しており、斜線部分が黒画素で表された文字部分を示している。
図34(a)は、「2」の文字についての2値画像パターンを示しており、斜線部分が黒画素で表された文字部分を示している。
図34(b)は、図34(a)の2値画像パターンから抽出された輪郭線を示しており、点線部分は元の2値画像パターンを示している。
図34(c)は、図34(b)の輪郭線を文字セグメントS1、S2と端点部分T1、2とに分割した状態を示している。この端点部分T1、2は、図34(a)の「2」の文字の書き始め及び書き終わりに対応するものである。
図34(c)は、図34(b)の輪郭線を文字セグメントS1、S2と端点部分T1、2とに分割した状態を示している。この端点部分T1、2は、図34(a)の「2」の文字の書き始め及び書き終わりに対応するものである。
図35は、端点の検出方法を説明する図である。
図35において、端点は輪郭線の傾きが急激に変化する場所として検出され、具体的には、一定間隔だけ離れた3点A、B、Cを輪郭線S上にとり、その3点A、B、Cを結んだ真ん中の点Aを頂点としてなす角θが所定値以下となる輪郭線上の領域を、端点として検出する。
図35において、端点は輪郭線の傾きが急激に変化する場所として検出され、具体的には、一定間隔だけ離れた3点A、B、Cを輪郭線S上にとり、その3点A、B、Cを結んだ真ん中の点Aを頂点としてなす角θが所定値以下となる輪郭線上の領域を、端点として検出する。
文字の輪郭線を端点で分割することにより、文字セグメントを2値画像パターンから抽出すると、例えば、文字セグメント上に代表点X、Y、Zを一定の距離ごとにとる。そして、連続する代表点X、Y、Zのなす角度を求め、各代表点X、Y、Zでの特徴量として、文字セグメント上の最初の代表点から各代表点までの角度変化量の累積値を求める。
図36は、角度変化の検出方法を説明する図である。
図36において、任意の間隔だけ離れた代表点X、Y、Zを輪郭線S上にとり、代表点Xから代表点Yに引いたベクトルXYと、代表点Yから代表点Zに引いたベクトルYZとを作り、ベクトルXYとベクトルYZとのなす角θ2 が代表点Yでの角度変化となる。
図36において、任意の間隔だけ離れた代表点X、Y、Zを輪郭線S上にとり、代表点Xから代表点Yに引いたベクトルXYと、代表点Yから代表点Zに引いたベクトルYZとを作り、ベクトルXYとベクトルYZとのなす角θ2 が代表点Yでの角度変化となる。
角度変化の初期値である輪郭線S上の代表点Xでの角度変化は、文字の重心Gから代表点Xに引いたベクトルGXとベクトルXYとのなす角θ1 を代表点Xでの角度変化とする。
各代表点X、Y、Zでの特徴量は、角度変化の初期値を有する代表点Xから各代表点Y、Zまでの角度変化を累積した値で表し、例えば、代表点Yでの特徴量は、θ1 +θ2 の値となる。
未知文字の文字セグメント上の代表点での角度変化量の累積値を求めた後、この未知文字の文字セグメントについての代表点とセグメント辞書に格納してある文字セグメントの代表点との対応をとる。すなわち、未知文字の文字セグメントについての代表点の角度変化量の累積値と、セグメント辞書に格納してある文字セグメントの代表点の角度変化量の累積値との距離を算出し、この距離が最も小さくなるセグメント辞書の文字セグメントの代表点を未知文字の文字セグメントの代表点に対応させる。
図37(a)は、未知文字の文字セグメントの代表点とセグメント辞書の文字セグメントの代表点との対応関係を示す図である。
図37(a)において、代表点a1 〜a8 は、未知文字の文字セグメント上の代表点を表し、代表点b1 〜b8 は、セグメント辞書に格納されている文字セグメント上の代表点を表している。そして、未知文字の文字セグメントについての代表点a1 〜a8 はそれぞれ、セグメント辞書に格納されている文字セグメントの代表点b1 〜b8 に対応している。
図37(a)において、代表点a1 〜a8 は、未知文字の文字セグメント上の代表点を表し、代表点b1 〜b8 は、セグメント辞書に格納されている文字セグメント上の代表点を表している。そして、未知文字の文字セグメントについての代表点a1 〜a8 はそれぞれ、セグメント辞書に格納されている文字セグメントの代表点b1 〜b8 に対応している。
未知文字の文字セグメントの代表点とセグメント辞書の文字セグメントの代表点との対応関係を求めた後、セグメント辞書に格納されている文字セグメント上の基準点に対応する未知文字の文字セグメントについての代表点を検査点とする。
図37(b)は、基準点と検査点との対応関係を示す図である。
図37(b)において、セグメント辞書に格納されている文字セグメントの基準点d1 、d2 はそれぞれ、未知文字の文字セグメントの検査点c1 、c2 に対応している。
図37(b)において、セグメント辞書に格納されている文字セグメントの基準点d1 、d2 はそれぞれ、未知文字の文字セグメントの検査点c1 、c2 に対応している。
基準点と検査点との対応関係を求めた後、未知文字の文字セグメントの検査点c1 、c2 についての検査情報を算出する。
この検査情報は、例えば、1つの検査点に対しては、その検査点が文字画像全体の中でどの位置に存在しているかという個々の検査点の絶対位置情報や、2つの検査点に対しては、それらの検査点間の距離や方向などの相対位置情報や、2つの以上の検査点に対しては、それらの検査点間の角度変化や直線性などの情報からなっている。
この検査情報は、例えば、1つの検査点に対しては、その検査点が文字画像全体の中でどの位置に存在しているかという個々の検査点の絶対位置情報や、2つの検査点に対しては、それらの検査点間の距離や方向などの相対位置情報や、2つの以上の検査点に対しては、それらの検査点間の角度変化や直線性などの情報からなっている。
そして、検査点についての検査情報を算出した結果、所定の判定条件を満たす場合、判定条件を満たしたセグメント辞書に格納されている文字セグメントの文字カテゴリを未知文字の認識結果として出力する。
例えば、判定条件として、図37(b)の文字セグメント上の検査点c1 から文字セグメントに沿って検査点c2 までの角度変化を検査情報とした場合、この角度変化が60度以上である文字セグメントの文字画像が、その文字セグメントに対応して格納されているセグメント辞書の「2」の文字カテゴリに属するとした場合、図37(b)の文字セグメント上の検査点c1 から文字セグメントに沿って検査点c2 までの角度変化を算出することにより、図34(a)の文字パターンが「2」の文字カテゴリに属すると認識できる。
図38は、詳細識別法による文字認識処理を示すフローチャートである。
図38において、まず、ステップS150に示すように、文字認識の対象となる帳票などをスキャナで走査し、読み込んだ文字画像を白黒2値の画像に2値化する。
図38において、まず、ステップS150に示すように、文字認識の対象となる帳票などをスキャナで走査し、読み込んだ文字画像を白黒2値の画像に2値化する。
次に、ステップS151に示すように、ステップS150で得られた2値画像データから文字セグメントを抽出する。
次に、ステップS152に示すように、セグメント辞書に格納されている複数の文字セグメントから、未知文字の文字セグメントとの対応関係が付けられていない文字セグメントを取り出す。
次に、ステップS152に示すように、セグメント辞書に格納されている複数の文字セグメントから、未知文字の文字セグメントとの対応関係が付けられていない文字セグメントを取り出す。
次に、ステップS153に示すように、セグメント辞書から取り出した文字セグメントと未知文字の文字セグメントとの対応関係を付ける。
次に、ステップS154に示すように、未知文字の文字セグメント上にとった代表点の中から検査点を決定し、この検査点についての検査情報を算出する。
次に、ステップS154に示すように、未知文字の文字セグメント上にとった代表点の中から検査点を決定し、この検査点についての検査情報を算出する。
次に、ステップS155に示すように、ステップS154で算出した検査情報に基づいて、セグメント辞書から取り出した文字セグメントと未知文字の文字セグメントとを比較し、セグメント辞書から取り出した文字セグメントの検査情報と未知文字の文字セグメントの検査情報とが一致するかどうかを判定することにより、未知文字に対する文字候補の決定処理を行う。
次に、ステップS156に示すように、未知文字に対する文字候補の決定処理で、文字候補が決定した場合、ステップS153で取り出した文字セグメントに対応する文字カテゴリを認識結果として出力する。一方、文字候補が決定しない場合、ステップS157に進み、未知文字の文字セグメントとの対応関係が付けられていない未処理の文字セグメントがセグメント辞書にあるかどうかを判断し、未処理の文字セグメントがセグメント辞書にある場合、ステップS152に戻って、以上の処理を繰り返す。
一方、未知文字の文字セグメントとの対応関係が付けられていない未処理の文字セグメントがセグメント辞書にない場合、入力された未知文字は認識不能であると判断して、認識不能という認識結果を出力する。
なお、詳細識別法については、例えば、特開平6−309501号公報に記載されている。
次に、図3の接触文字認識部13の一実施例について説明する。
次に、図3の接触文字認識部13の一実施例について説明する。
図39は、接触文字認識部13の文字補完処理を説明する図である。
この文字補完処理では、枠接触文字の2値画像から枠だけを抽出してこの枠を除去する。この際、枠接触文字の枠に接触している文字線分の枠接触部分がかすれてしまい、文字線分が複数の部分に途切れてしまうので、途切れた文字線分について、各ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して、それを補完する。
この文字補完処理では、枠接触文字の2値画像から枠だけを抽出してこの枠を除去する。この際、枠接触文字の枠に接触している文字線分の枠接触部分がかすれてしまい、文字線分が複数の部分に途切れてしまうので、途切れた文字線分について、各ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して、それを補完する。
例えば、図39(a)に示すように、「3」を表している文字パターン131と枠132とが接触したために連結している2値画像にラベル“1”が付されている。そして、図39(a)の2値画像から枠132を抽出し、この枠132を除去することにより、図39(b)に示すように、「3」を表している文字パターン131が3個に分割されて、ラベル“1”、ラベル“2”及びラベル“3”が付与された3個の文字線分が生成される。
このラベル“1”、ラベル“2”及びラベル“3”が付与された3個の文字線分について、各ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して、それを補完する。これにより、ラベル“1”、ラベル“2”及びラベル“3”が付与された3個の文字線分が連結されて、図39(c)に示すように、ラベル“1”が付された「3」を表している文字補完パターン132が生成される。
この文字補完処理により復元された文字は、認識文字の候補として認識処理が行われる。この認識処理では、文字カテゴリ辞書に登録されている標準パターンと照合して、相違度が最も小さい文字カテゴリのコードを出力する。
図40は、接触文字認識部13の再補完処理を説明する図である。
この再補完処理では、枠に平行な文字線分が枠に接触し、枠を除去したために枠に平行な文字線分が消滅した場合に、この文字線分を補完するもので、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、文字補完処理により補完された文字補完パターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。
この再補完処理では、枠に平行な文字線分が枠に接触し、枠を除去したために枠に平行な文字線分が消滅した場合に、この文字線分を補完するもので、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、文字補完処理により補完された文字補完パターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。
例えば、図40(a)に示すように、「7」を表している文字パターン141と枠142とが接触したために連結している2値画像にラベル“1”が付されている。そして、図40(a)の2値画像から枠142を抽出し、この枠142を除去することにより、図40(b)に示すように、「7」を表している文字パターン141が3個に分割されて、ラベル“1”、ラベル“2”及びラベル“3”が付与された3個の文字線分が生成される。
このラベル“1”、ラベル“2”及びラベル“3”が付与された3個の文字線分について、各ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して、それを補完する。これにより、ラベル“1”及びラベル“2”が付与された2個の文字線分が連結されて、図40(c)に示すように、ラベル“1”及びラベル“2”が付与された2個の文字線分からなる文字補完パターン142が生成される。
この場合、文字補完処理で補完されるのは、図40(b)のラベル”1”が付与されていた部分とラベル”2”が付与されていた部分との間のみで、図40(b)のラベル”1”が付与されていた部分とラベル”3”が付与されていた部分については、補完することができない。この図40(b)のラベル”1”が付与されていた部分とラベル”3”が付与されていた部分の補完は、再補完処理により行う。
この再補完処理は、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、図40(c)のパターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。すなわち、図40(c)のラベル”1”が付与されたパターンとラベル”2”が付与されたパターンとは、図40(a)に示すように、枠を除去する前は互いに連結していたので、図40(c)のラベル”1”が付与されたパターンとラベル”2”が付与されたパターンとを、枠に平行な線分を用いて互いに連結する。
これにより、図40(c)のラベル”1”とラベル”2”の2つの文字線分に分かれていた「7」の2値画像が補完され、図40(d)に示すように、ラベル“1”が付された「7」を表している再補完パターン143が生成される。
この再補完処理により復元された文字は、認識文字の候補として認識処理が行われる。この認識処理では、文字カテゴリ辞書に登録されている標準パターンと照合して、相違度が最も小さい文字カテゴリのコードを出力する。
すなわち、図40に示す例では、図40(c)に示す文字補完パターン142は、「リ」の文字カテゴリに属すものと認識される。また、図40(d)に示す再補完パターン143は、「7」の文字カテゴリに属すものと認識される。そして、「リ」よりも「7」のほうが相違度が小さいと判断されて、最終的に「7」と認識され、その文字コードが出力される。
次に、図3の接触文字認識部13が知識テーブル14を参照しながら認識処理を行う場合について説明する。
図41は、誤読文字対を学習し、知識テーブル14に登録しておくことにより、枠接触文字を認識する例を説明する図である。
図41は、誤読文字対を学習し、知識テーブル14に登録しておくことにより、枠接触文字を認識する例を説明する図である。
この例の場合、図41(a)に示すように、「2」を表している文字パターン151と枠152とが接触したために連結している2値画像にラベル“1”が付されている。そして、図41(a)の2値画像から枠152を抽出し、この枠152を除去することにより、図41(b)に示すように、「2」を表す文字151がラベル“1”とラベル“2”の2つの部分パターンに分離される。
次に、図41(c)に示すように、文字補完処理により、図41(b)のラベル“1”とラベル“2”の2つの部分パターンが連結され、文字補完パターン153が生成される。
この場合、「2」を表している文字パターン151の下線部分が枠152に接触し、その接触部分がほぼ完全に枠152に重なっている。このため、再補完処理を用いても、「2」を表している文字パターン151の下線部分を補完することができず、「2」の文字を、誤って「7」と認識してしまう可能性が高くなる。
このように、枠接触文字の一部が枠からはみ出すことなく、枠に完全に重なっているため、他の文字と誤って認識してしまう場合、誤読文字対を学習して登録しておくことにより、枠接触文字が正しく認識されるようにする。
以下、誤読文字対を学習して登録しておくことにより、枠接触文字を認識する方法について説明する。
図42は、図3の接触文字認識部13において、誤読文字対を学習する構成を示すブロック図である。
図42は、図3の接触文字認識部13において、誤読文字対を学習する構成を示すブロック図である。
枠接触文字の自動生成部161は、入力された枠に未接触の学習文字を枠に重ね合わせて、枠接触文字を生成する。ここで、枠に対する学習文字の変動の方法により、同一の学習文字に対して複数の枠接触文字が生成される。図42では、「2」を表している学習文字168が枠接触文字の自動生成部161に入力され、文字「2」の下辺と下枠とが重なった枠接触文字169を生成した例を示している。枠接触文字の自動生成部161により生成された情報は、知識テーブル167に登録される。
学習文字に枠を重ね合わせる際の変動の種類は、例えば、「文字枠に対する文字の変動」と「文字枠の変動」の2種類があり、「文字枠に対する文字の変動」には、例えば、「位置ずれ」、「サイズ変動」及び「傾き変動」などがあり、「文字枠の変動」には、例えば、「傾き変動」、「枠幅変動」、「サイズ変動」及び「枠の凹凸」などがある。
また、これらの変動についての変動量を表すパラメータとして以下のパラメータがある。なお、垂直方向にx軸を、水平方向にy軸を設定するものとする。
1.文字枠に対する文字の変動
位置ずれ:dx、dy、
ここで、dx(図43で黒丸で示した位置)、dy(図43で ×で示した位置)は、それぞれ、文字の重心と文字枠の重心の位置の差のx方向、y方向の大きさを表す。
1.文字枠に対する文字の変動
位置ずれ:dx、dy、
ここで、dx(図43で黒丸で示した位置)、dy(図43で ×で示した位置)は、それぞれ、文字の重心と文字枠の重心の位置の差のx方向、y方向の大きさを表す。
サイズ変動:dsx、dsy、
ここで、dsx,dsyは、それぞれ、文字のx方向、y方向の大きさを表す。
傾き変動:dα、
ここで、dαは、垂線に対する文字の傾き角度を表す。
2.文字枠の変動
傾き変動:fα、
ここで、垂線に対する文字枠の傾き角度を表す。
ここで、dsx,dsyは、それぞれ、文字のx方向、y方向の大きさを表す。
傾き変動:dα、
ここで、dαは、垂線に対する文字の傾き角度を表す。
2.文字枠の変動
傾き変動:fα、
ここで、垂線に対する文字枠の傾き角度を表す。
枠幅変動:w、
ここで、wは、文字枠の幅を表す。
サイズ変動:fsx、fsy、
ここで、fsx,fsyは、それぞれ、文字のx方向、y方向の大きさを表す。
ここで、wは、文字枠の幅を表す。
サイズ変動:fsx、fsy、
ここで、fsx,fsyは、それぞれ、文字のx方向、y方向の大きさを表す。
枠の凹凸:fδ、
ここで、fδは、例えば、ファクシミリなどに印刷された文字枠の品質劣化等を考慮した文字枠の凹凸を制御するパラメータである。例えば、文字枠の周囲長をLとすると、fδは、このサイズLの配列fδ〔L]として表現され、この配列の各要素fδ〔i](i=1、2、3,・・・)は、乱数発生により決定される−β〜+βの範囲内の整数値をとる。
これらの変動の種類及び変動量に基づいて、学習文字に対して操作F(dx,dy,dsx,dsy,dα,w,fsx,fsy,fα、fδ)を施すことにより、枠接触文字を生成する。
ここで、fδは、例えば、ファクシミリなどに印刷された文字枠の品質劣化等を考慮した文字枠の凹凸を制御するパラメータである。例えば、文字枠の周囲長をLとすると、fδは、このサイズLの配列fδ〔L]として表現され、この配列の各要素fδ〔i](i=1、2、3,・・・)は、乱数発生により決定される−β〜+βの範囲内の整数値をとる。
これらの変動の種類及び変動量に基づいて、学習文字に対して操作F(dx,dy,dsx,dsy,dα,w,fsx,fsy,fα、fδ)を施すことにより、枠接触文字を生成する。
図43は、「7」を表す学習文字171に対して枠172を合成することにより、枠接触文字を生成する例を示す図である。
図43(a)に示すように、「7」を表す学習文字171に対して変換操作F(dx,dy,dsx,dsy,dα,w,fsx,fsy,fα、fδ)を施すことにより、図43(b)に示すように、枠172に接触する「7]の枠接触文字を生成する。
図43(a)に示すように、「7」を表す学習文字171に対して変換操作F(dx,dy,dsx,dsy,dα,w,fsx,fsy,fα、fδ)を施すことにより、図43(b)に示すように、枠172に接触する「7]の枠接触文字を生成する。
すなわち、学習文字171及び枠172に対して変換操作F(dx,dy,dsx,dsy,dα,w,fsx,fsy,fα、fδ)を施し、学習文字171と枠172とを重ね合わせることにより、枠接触文字を生成する。この場合、例えば、枠172の方の重心の位置を固定しながら変換操作F(dx,dy,dsx,dsy,dα,w,fsx,fsy,fα、fδ)を実行する。
図44は、x方向のサイズ変動fsx及びy方向のサイズ変動fsyを固定し、枠の大きさを固定した場合について、「3」の学習文字に対して生成した各種枠接触文字の例を示す図である。
図44(a)は、変動の種類が“位置ずれ”の場合の例であり、変動量がdx=0、dy>0の場合である。この場合、「3」の文字が枠の下にはみ出すことになる(下位置変動)。
図44(b)は、変動の種類が“サイズ変動”の場合の例であり、変動量がdsx=fsx,dsy=fsyの場合である。この場合、「3」の文字が枠の上下、左右に接触することになり、「3」の外接矩形が枠に等しくなる。
図44(c)は、変動の種類が“文字の傾き変動”の例であり、変動量がdα=10度の場合である。
図44(d)は、変動の種類が“文字枠の傾き変動”の例であり、変動量がfα=−10度の場合である。
図44(d)は、変動の種類が“文字枠の傾き変動”の例であり、変動量がfα=−10度の場合である。
図44(e)は、変動の種類が“枠幅変動”の例であり、変動量がw=5の場合である。
図44(f)は、変動の種類が、“枠の凹凸”の例であり、変動量fδ〔L]の各要素fδ〔i]を制御した場合である。
図44(f)は、変動の種類が、“枠の凹凸”の例であり、変動量fδ〔L]の各要素fδ〔i]を制御した場合である。
次に、図42の枠除去部162は、枠接触文字の自動生成部161により生成された枠接触文字から枠のみを抽出し、この枠を除去して得られたかすれ文字についての画像データを、文字補完部163に出力する。
文字補完部163は、枠除去部162によって枠が除去された文字の画像データを、ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して補完する。図42は、枠接触文字の自動生成部161により生成された枠接触文字169から枠を除去した後、文字補完部163により補完を行って文字補完パターン170を生成した例を示している。
再補完部164は、文字補完部163によって補完しきれなかった領域について、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、文字補完部163により補完されたパターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。
文字補完部163によって補完された文字補完パターンと再補完部164によって補完された再補完パターンとは、基本文字認識部165に入力される。
基本文字認識部165は、文字補完部163によって補完された文字補完パターンと再補完部164によって補完された再補完パターンについて、文字認識を実行する。そして、各学習文字についての認識結果を枠接触状態と認識の知識獲得部166に出力する。
基本文字認識部165は、文字補完部163によって補完された文字補完パターンと再補完部164によって補完された再補完パターンについて、文字認識を実行する。そして、各学習文字についての認識結果を枠接触状態と認識の知識獲得部166に出力する。
枠接触状態と認識の知識獲得部166は、基本文字認識部165から出力される認識結果を予め与えられている正解データと比較して、全サンプルデータに対する認識率を得る。そして、この認識率を信頼度として、また、誤読文字(誤って認識した文字)と正解の文字との組み合わせを誤読文字対として、知識テーブル167に登録する。なお、上記誤読文字対は、例えば、文字コードにより登録される。また、枠接触状態と認識の知識獲得部166は、枠と文字の接触状態の特徴を示すパラメータを抽出して、これも知識テーブル167に登録する。
このようにして、知識テーブル167には、各文字カテゴリについて、枠と文字の様々な接触状態におけるその文字に対する認識率が、その誤読文字対とともに登録される。
図45は、学習により生成された知識テーブル167の一例を示す図である。
図45は、学習により生成された知識テーブル167の一例を示す図である。
図45において、知識テーブル167には、例えば、誤読文字対(2、7)及び信頼度77%が、“下位置ずれ変動”の変動量dy=5、W=5等と共に登録され、変動量が、dy=5、W=5の“下位置ずれ”の「2」の枠接触文字の場合、基本文字認識部165は、23%の確率で、「2」を誤って「7」と認識してしまうことが示される。すなわち、この場合、基本文字認識部165が「7」と認識したとしても、その信頼度は77%であり、実際の文字が「2」である可能性が22%ある旨が知識テーブル167を参照することにより判断できる。
同様にして、他の誤読され易い文字対についても、“変動量”、“枠の線幅”、“誤読文字対”及び信頼度が、枠接触状態と認識の知識獲得部166によって知識テーブル167に登録される。
なお、誤読文字対(L1、L2)は、実際は、文字「L1」が文字「L2」に誤って認識されてしまう場合を示すものである。また、上記文字「L1」、「L2」には、例えば、該当する文字「L1」、「L2」の文字コードが登録される。
知識テーブル167には、図45に示す変動量dy=5,W=5の“下位置ずれ変動”以外にも、図46に示すように“文字枠に対する文字の傾き変動”(この場合、左枠接触)などの図43に示す各種変動について、各文字カテゴリ毎に登録される。
すなわち、例えば、図46に示すように、“下位置ずれ”変動については、例えば、dx=「−3」〜「+3」、dy=5、w=5、dsy=1、dα=「−10」〜「+10」、fα=「−10」〜「+10」が登録される。このように、同じ”下位置ずれ”変動であっても、知識テーブル167に登録される変動量は、x方向の位置ずれdx、y方向の位置ずれdyのみでなく、その他の変動量が登録される場合がある。また、“左枠接触の文字枠に対する文字の傾き変動”については、例えば、dx=「−3」〜「+3」、dy=「−3」〜「+3」、w=5,dsy=1,dα=「−20」〜「+20」、fα=「−10」〜「+10」が登録される。
また、信頼度が予め定められた所定のしきい値(例えば、90%)以下の誤読文字対(L1,L2)について、信頼度がその所定のしきい値以上となるような文字認識方法を学習し、学習した文字認識方法を知識テーブル167に登録する。
例えば、図45に示すように、dy=5,w=5の”下位置ずれ”の状態の「2」の枠接触文字の文字認識の信頼度は77%であり、「7」と誤って認識される確率が高いので、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンを、例えば、領域強調の手法により再認識すれば認識率が向上することを学習して知識テーブル167に登録しておく。
この(2、7)の誤読文字対の場合における領域強調の手法を図47を参照しながら説明する。
まず、図47(a)に示すように、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンの外接矩形180を、縦の行がm個、横の列がn個のm×n個の分割領域に分割する。そして、図47(b)にハッチングで示すように、外接矩形180の上半分のm/2×n個の領域を特に強調して、文字認識を再度行う。
まず、図47(a)に示すように、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンの外接矩形180を、縦の行がm個、横の列がn個のm×n個の分割領域に分割する。そして、図47(b)にハッチングで示すように、外接矩形180の上半分のm/2×n個の領域を特に強調して、文字認識を再度行う。
すなわち、このm/2×n個の領域の特徴パラメータを抽出して、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンが「2」または「7」のいずれであるかを調べる。この領域強調の手法により、認識度が95%まで向上する。図45の知識テーブル167には、誤読文字対が(2、7)の行に、再認識方法として「領域強調」を、再認識領域として「m/2×n」を、さらに再認識信頼度として「95%」を登録する。
この領域強調の手法は、図48(a)に示すような枠接触文字の場合にも有効である。図48(a)は、「2」を表している文字パターンの下部が文字枠182に接触している例である。
この場合、文字補完部163により、図48(b)に示すような「7」に類似する文字補完パターン183が得られる。この文字補完パターン183に対して図48(c)に示す外接矩形184を算出する。そして、この外接矩形184を、図47に示すように、m×n個の領域に分割した後、上半分のm/2×n個の部分領域185を特に強調して文字認識すれば、文字補完パターン183が「2」と認識される確率が高い、すなわち、正解率(信頼度)が高くなることを学習し、枠接触による誤読文字対(2、7)に対する再認識方法として、上記領域強調の手法を知識テーブル167に登録する。
図49は、領域強調による文字パターンの再認識方法を示すフローチャートである。
図49において、まず、ステップS601に示すように、知識テーブル167から信頼度の低い誤読文字対のデータを取り出す。そして、この誤読文字対の左側に登録されている文字について、2値の学習データとしての文字パターンと、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンとを入力する。
図49において、まず、ステップS601に示すように、知識テーブル167から信頼度の低い誤読文字対のデータを取り出す。そして、この誤読文字対の左側に登録されている文字について、2値の学習データとしての文字パターンと、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンとを入力する。
この文字補完パターンまたは再補完パターンは、知識テーブル167に登録されている変動量パラメータによって規定されるパターンであり、同一カテゴリであっても複数の形状のパターンを取りうる。
次に、ステップS602に示すように、ステップS601で入力された学習データとしての文字パターンと、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンとを、m×nの領域に分割する。
そして、ステップS603に示すように、このm×nの領域内のX×Yの部分パターンについて文字認識を実行する。そして、この場合の認識率zを求める。
上記X×Yの部分パターンは、再認識領域である。このとき、X,Yは、それぞれ、m×nの領域のX方向、Y方向の長さを表す変数であり、X≦m,Y≦nである。また、上記認識率zは、上記X×Yの部分パターンを用いて文字認識を行った際の、正解となる確率である。
上記X×Yの部分パターンは、再認識領域である。このとき、X,Yは、それぞれ、m×nの領域のX方向、Y方向の長さを表す変数であり、X≦m,Y≦nである。また、上記認識率zは、上記X×Yの部分パターンを用いて文字認識を行った際の、正解となる確率である。
すなわち、学習データとしての文字パターンの部分パターンの文字認識結果を正解とみなす。そして、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンについての複数の部分パターンに対する文字認識結果を、学習データとしての文字パターンの部分パターンの文字認識結果と比較していくことにより、文字補完部163により補完された文字補完パターンまたは再補完部164により補完された再補完パターンについての部分パターンの認識率zを求める。
続いて、ステップS604に示すように、認識率zが最大認識率maxよりも大きいか否かを判別する。この最大認識率maxは、X×Yの部分パターンを変化させていった場合における認識率zの最大値を記憶する変数であり、最初はある初期値(例えば、「0」)が設定される。
そして、認識率zが最大認識率maxよりも大きければ、ステップS605に進んで、この認識率zを最大認識率maxに代入し、続いて、ステップS606に進んで、長さX,Yを変更可能か否か調べる。一方、ステップS604で、認識率zが最大認識率max以下であれば、直ちに、このステップS606に移行する。
この長さX,Yの変更操作は、例えば、長さX,Yの大きさの変更である。また、X×Yの部分パターンのm×nの領域内での位置変更操作を含んでいてもよい。
ステップS606で、長さX,Yを変更可能であると判別すると、ステップS603に戻り、長さX,Yの変更操作を行い、新たなX×Yの部分パターンを決定し、この部分パターンに対して文字認識を行う。
ステップS606で、長さX,Yを変更可能であると判別すると、ステップS603に戻り、長さX,Yの変更操作を行い、新たなX×Yの部分パターンを決定し、この部分パターンに対して文字認識を行う。
以上述べたステップS603〜S606の処理を、上記ステップS506で長さX,Yを変更できないと判別するまで繰り返す。そして、ステップS606で長さX,Yを変更できないと判別すると、最大識別率maxとその最大識別率maxが得られたX×Yの部分パターンを、それぞれ、再認識信頼度、再認識領域として知識テーブル167に登録する。また、再認識方法として「領域強調」を知識テーブル167に登録する。
なお、図49のフローチャートは、「領域強調」の手法を用いて再文字認識の方法を学習する例であるが、「領域強調」の手法以外についても、再文字認識の方法を学習するようにしてもよい。
図50は、学習により得られた知識テーブル167を用いて枠接触文字の文字認識を行う構成を示すブロック図である。
図50において、枠接触状態の検出部191は、入力された未知の枠接触文字について、枠と文字との接触状態を検出する。ここでは、図50(a)の下枠が「2」の下辺と部分的に重なっている枠接触文字パターン201と、図50(b)の下枠が「2」の下辺と完全に重なっている枠接触文字パターン203とが入力された例について示している。そして、枠接触状態の検出部191は、枠接触文字パターン201及び枠接触文字パターン203を検出する。
図50において、枠接触状態の検出部191は、入力された未知の枠接触文字について、枠と文字との接触状態を検出する。ここでは、図50(a)の下枠が「2」の下辺と部分的に重なっている枠接触文字パターン201と、図50(b)の下枠が「2」の下辺と完全に重なっている枠接触文字パターン203とが入力された例について示している。そして、枠接触状態の検出部191は、枠接触文字パターン201及び枠接触文字パターン203を検出する。
枠除去部192は、枠接触状態の検出部191により検出された枠接触文字パターンから枠を除去する。
文字補完部193は、枠除去部192により枠が除去された文字パターンについて、ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して補完する。
文字補完部193は、枠除去部192により枠が除去された文字パターンについて、ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して補完する。
再補完部194は、文字補完部193によって補完しきれなかった領域について、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、文字補完部163により補完されたパターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。ここで、再補完パターン202は、図50(a)の枠接触文字パターン201に対し、再補完部194の再補完処理により補完されたパターンを示し、再補完パターン204は、図50(b)の枠接触文字パターン203に対し、再補完部194の再補完処理により補完することができなかったパターンを示している。
基本文字認識部195は、文字補完部193によって補完された文字補完パターンと再補完部194によって補完された再補完パターンとのそれぞれに対し、文字認識を実行する。この結果、例えば、図50(a)の再補完パターン202に対しては、「2」の文字コードが出力され、図50(b)の再補完パターン204に対しては、「7」の文字コードが出力される。そして、その認識結果により得られた文字コードを、枠接触状態と認識の知識参照部196に出力する。
枠接触状態と認識の知識参照部196は、文字補完部193によって補完された文字補完パターン又は再補完部194によって補完された再補完パターンの外接矩形の位置情報及び図50(a)の枠接触文字パターン201又は図50(b)の枠接触文字パターン203から抽出された文字枠の位置情報や幅情報などを基に、変動の種類を求める。
すなわち、図43に示されているような”位置ずれ”、”サイズ変動”、”傾き変動”などの文字枠に対する文字の変動、または、”傾き変動”、枠幅変化”、”枠の凹凸”などの文字枠の変動を求める。さらに、求めた各変動の種類について、変動量dx,dy,dsx,dsy,dα、w,fsx,fsy,fα、fδを算出する。
次に、算出した変動種類情報及び変動量情報と、基本文字認識部195から入力される文字コードとをキー項目として、知識テーブル167を検索し、このキー項目に一致する変動種類情報、変動量情報及び誤読文字対を有する行が知識テーブル167に登録されているか否か調べる。
そして、キー項目に一致する行が存在した場合には、この行に登録されている信頼度が所定のしきい値以上であるか否かを判別し、そのしきい値未満であれば、文字補完部193によって補完された文字補完パターン又は再補完部194によって補完された再補完パターンを再文字認識部197に出力し、その行に登録されている再認識方法に従って、文字認識を再度行う。
すなわち、文字補完部193によって補完された文字補完パターン又は再補完部194によって補完された再補完パターン、あるいは未知文字の2値画像データを用いて、基本文字認識部195による手法とは別の手法で未知画像データに含まれる枠接触文字の再認識を実行する。そして、再認識により得られた文字コードを出力する。
例えば、基本文字認識部195が、再補完部194によって補完された再補完パターン204の認識結果として、「7」の文字コードを出力した場合、枠接触状態と認識の知識参照部196は、再補完パターン204の外接矩形の位置情報と枠接触文字パターン203から抽出した文字枠の位置情報及び幅情報とを基に、変動の種類及び変動量を求める。この結果、変動の種類として“下位置ずれ”が算出され、この“下位置ずれ”の変動量として「dy=5」が算出され、文字枠の幅として「w=5」が算出される。
そして、枠接触状態と認識の知識参照部196は、変動の種類として“下位置ずれ”、“下位置ずれ”の変動量として「dy=5」、文字枠の幅として「w=5」、及び基本文字認識部195から入力された文字コード「7」をキー項目として、図45の知識テーブル167を検索する。この検索の結果、これらのキー項目に対応する行には誤読文字対(2、7)が登録され、基本文字認識部195で認識された文字コード「7」の信頼度は77%であり、23%の確率で「2」を「7」と読み間違えていることを知る。
この場合、これらのキー項目に対応する行に登録されている信頼度は所定のしきい値よりも低いので、再文字認識部197は、基本文字認識部195による手法とは別の手法で未知画像データに含まれる枠接触文字パターン203の再認識を実行する。この際、再文字認識部197は、知識テーブル167のキー項目に対応する行を参照し、再認識方法を特定する。
すなわち、再文字認識部197は、再認識方法として、「領域強調」を行うことを教えられるとともに、「領域強調」を行う場合の再認識領域として、再補完パターン204の上半分のm/2×nの部分領域205だけを強調して再認識することを教えられる。また、この場合の再認識信頼度が95%であることも教えられる。
再文字認識部197は、知識テーブル167に登録されている再認識方法に従って、再補完パターン204の上半分の部分領域205のみについての再認識を行う。そして、再補完パターン204の部分領域205は、文字コード「2」に対応する文字パターン206の部分領域207に95%の確率で一致し、文字コード「7」に対応する文字パターン208の部分領域209に5%の確率で一致することを知り、未知の枠接触文字パターン203の枠に接触した文字の認識結果として、文字コード「2」を出力する。
図51は、枠接触状態と認識の知識参照部196の動作を示すフローチャートである。
図51において、まず、ステップS171に示すように、未知の枠接触文字パターンから抽出した枠と、枠接触文字パターンから分離した文字パターンとに基づいて、文字の枠に対する変動量を算出し、この変動量をキー項目として知識テーブル167を探索する。そして、この算出された変動量に一致する変動量を登録している行が知識テーブル167に存在するか否かを調べる。
図51において、まず、ステップS171に示すように、未知の枠接触文字パターンから抽出した枠と、枠接触文字パターンから分離した文字パターンとに基づいて、文字の枠に対する変動量を算出し、この変動量をキー項目として知識テーブル167を探索する。そして、この算出された変動量に一致する変動量を登録している行が知識テーブル167に存在するか否かを調べる。
これにより、例えば、下位置ずれ変動となっている「2」の文字について、その変動量としてdx=5,w=5が算出されると、図45に示す知識テーブル167の最上位の行が検出される。
そして、変動量が一致する行が存在する場合、ステップS172に進み、基本文字認識部195から入力される文字コード(文字認識コード)を誤読文字対に含んでいる行が、変動量が一致する行の中に存在するか否かを調べる。
これにより、例えば、下位置ずれ変動となっている「2」の文字の場合、図45に示す知識テーブル167の最上位の行が検出される。
そして、ステップS173に示すように、基本文字認識部195から入力される文字コードを誤読文字対に含んでいる行が、変動量が一致する行の中に存在する場合、知識テーブル167の該当する行に登録されている再認識信頼度と基本文字認識部195により算出された信頼度とを比較し、知識テーブル167の該当する行に登録されている再認識信頼度が基本文字認識部195により算出された信頼度よりも大きいか否か判別する。
そして、ステップS173に示すように、基本文字認識部195から入力される文字コードを誤読文字対に含んでいる行が、変動量が一致する行の中に存在する場合、知識テーブル167の該当する行に登録されている再認識信頼度と基本文字認識部195により算出された信頼度とを比較し、知識テーブル167の該当する行に登録されている再認識信頼度が基本文字認識部195により算出された信頼度よりも大きいか否か判別する。
これにより、例えば、下位置ずれ変動となっている「2」の文字の場合、図45に示す知識テーブル167の最上位の行に登録されている再認識信頼度及び基本文字認識部195により算出された信頼度が、それぞれ、「95%」及び「77%」であり、知識テーブル167の該当する行に登録されている再認識信頼度が基本文字認識部195により算出された信頼度よりも大きいと判別される。
知識テーブル167の該当する行に登録されている再認識信頼度が基本文字認識部195により算出された信頼度よりも大きい場合、ステップS174に進み、知識テーブル167の該当する行に登録されている再認識信頼度が予め定められたしきい値th1よりも大きいか否かを判別し、しきい値th1よりも大きけば、ステップS175に進み、知識テーブル167のステップS172で検出した行に登録されている「再認識方法」及び「再認識領域」を参照する。
次に、ステップS176に示すように、文字補完部193によって補完された文字補完パターン又は再補完部194によって補完された再補完パターンから、知識テーブル167で示される「再認識領域」を切り出し、この切り出した領域について、知識テーブル167で示される「再認識方法」により文字認識を実行する。そして、その文字認識により得られた文字コードを出力する。
これにより、例えば、しきい値th1が「95%」よりも小さい場合、基本文字認識部195により入力される下位置ずれ変動となっている「2」の文字の補完パターンについて、上半分の「m/2×n」の領域を用いた「領域強調」手法により、文字認識が再度実行され、最終的に「2」の文字コードが出力される。
なお、枠接触文字の認識方法については、例えば、特願平7−205564号の明細書及び図面に記載されている。
次に、図3の文字列認識部15の一実施例について説明する。
次に、図3の文字列認識部15の一実施例について説明する。
この文字列認識部15は、図4のステップS2のレイアウト解析により抽出された文字列に対し、この文字列から文字を一文字ずつ切り出す際に用いる特性値としてのパラメータについて、文字の統合判定を行うの際の閾値をヒューリスティクに決定するのではなく、統計的に妥当な値を設定するようにしたものである。
具体的には、各パラメータ毎に、パラメータ値とそのパラメータ値に対する文字の統合の成功又は失敗に関する統計データをとる。そして、各パラメータを個別に評価するのではなく、全てのパラメータを多次元空間上の1点として捉え、多変量解析の手法を用いて、統合が成功した場合と統合が失敗した場合との2群を分離する判別面を上記多次元空間内で求めるようにする。
すなわち、パターンの特徴を示すP個の特性値からなるサンプルデータを、切り出し成功を示す第1の群と切り出し失敗を示す第2の群とに分類し、第1の群と第2の群との判別面をP次元空間において生成するものである。
この判別面は、例えば、判別分析法により求めることができる。すなわち、判別面を線形な判別関数により構成する場合、その判別関数の係数ベクトルは、
Σ-1(μ1 −μ2 ) ・・・(3)
で与えられる。
Σ-1(μ1 −μ2 ) ・・・(3)
で与えられる。
ここで、
Σ :第1の群及び第2の群の母分散共分散行列、
μ1 :第1の群の母平均ベクトル、
μ2 :第2の群の母平均ベクトル、
である。
Σ :第1の群及び第2の群の母分散共分散行列、
μ1 :第1の群の母平均ベクトル、
μ2 :第2の群の母平均ベクトル、
である。
(3)式の係数ベクトルを有する判別関数は、前記第1の群と前記第2の群の各重心から等距離となるように構成される。
なお、この判別関数の係数ベクトルは、第1の群と第2の群との間の群間変動の群内変動に対する比を最大にするという基準に基づいて、算出することもできる。
なお、この判別関数の係数ベクトルは、第1の群と第2の群との間の群間変動の群内変動に対する比を最大にするという基準に基づいて、算出することもできる。
また、文字列から文字を切り出す処理は、パターンの外接矩形の位置、サイズ、並びなどからパターン同士を統合していく統計的処理と、文字列中の濁点、分離文字などを処理するためにパターン形状に着目する非統計的処理に分けて実行する。
統計的処理では、パターンの外接矩形の位置、縦横比、平均文字サイズに対するサイズ比、隣接するパターン同士の距離、統合したときのサイズ、パターン同士の重なり幅、文字列の粗密度などを切り出しパラメータとして用いる。
例えば、図52に示すように、
1)外接矩形211の右枠と外接矩形212の左枠との距離a、
2)外接矩形211の左枠と外接矩形212の右枠との距離b、
3)外接矩形211の右枠と外接矩形212の左枠との距離aと外接矩形211の左枠と外接矩形212の右枠との距離bとの比c、
4)外接矩形211の左枠と外接矩形212の右枠との距離bと外接矩形平均幅MXとの比d、
5)外接矩形213の下枠と外接矩形213の下枠の中点から外接矩形214の下枠の中点とを結ぶ直線とのなす角度e、
6)外接矩形213の下枠と外接矩形213の右下の頂点から外接矩形214の左下の頂点とを結ぶ直線とのなす角度f、
7)外接矩形215と外接矩形216とが重なっている場合、外接矩形215の右枠と外接矩形216の左枠との距離pと外接矩形215の左枠と外接矩形216の右枠との距離qとの比g、
を切り出しパラメータとして用いる。
1)外接矩形211の右枠と外接矩形212の左枠との距離a、
2)外接矩形211の左枠と外接矩形212の右枠との距離b、
3)外接矩形211の右枠と外接矩形212の左枠との距離aと外接矩形211の左枠と外接矩形212の右枠との距離bとの比c、
4)外接矩形211の左枠と外接矩形212の右枠との距離bと外接矩形平均幅MXとの比d、
5)外接矩形213の下枠と外接矩形213の下枠の中点から外接矩形214の下枠の中点とを結ぶ直線とのなす角度e、
6)外接矩形213の下枠と外接矩形213の右下の頂点から外接矩形214の左下の頂点とを結ぶ直線とのなす角度f、
7)外接矩形215と外接矩形216とが重なっている場合、外接矩形215の右枠と外接矩形216の左枠との距離pと外接矩形215の左枠と外接矩形216の右枠との距離qとの比g、
を切り出しパラメータとして用いる。
すなわち、
c=a/b ・・・(4)
d=b/MX ・・・(5)
g=p/q ・・・(6)
である。
c=a/b ・・・(4)
d=b/MX ・・・(5)
g=p/q ・・・(6)
である。
次に、統計的処理を図53のフローチャートを参照しながら説明する。
まず、ステップS181に示すように、連結パターンの外接矩形を取り出す。
次に、ステップS182に示すように、ステップS181で取り出した外接矩形の右隣に他の外接矩形があるかどうか調べる。そして、ステップS181で取り出した外接矩形の右隣に他の外接矩形がない場合、ステップS181で取り出した外接矩形を統計的処理の対象から除外する。
まず、ステップS181に示すように、連結パターンの外接矩形を取り出す。
次に、ステップS182に示すように、ステップS181で取り出した外接矩形の右隣に他の外接矩形があるかどうか調べる。そして、ステップS181で取り出した外接矩形の右隣に他の外接矩形がない場合、ステップS181で取り出した外接矩形を統計的処理の対象から除外する。
一方、ステップS182において、ステップS181で取り出した外接矩形の右隣に他の外接矩形があると判断された場合、ステップS184に進む。
また、ステップS183に示すように、文字列の外接矩形の平均文字サイズを算出する。ここで、文字列の外接矩形の平均文字サイズを算出する場合、1文字ごとの切り出しがまだ行われていないので、厳密には、正確な平均文字サイズを算出することができない。
また、ステップS183に示すように、文字列の外接矩形の平均文字サイズを算出する。ここで、文字列の外接矩形の平均文字サイズを算出する場合、1文字ごとの切り出しがまだ行われていないので、厳密には、正確な平均文字サイズを算出することができない。
そこで、例えば、連結パターンの外接矩形を仮統合することにより、暫定的に平均文字サイズを算出する。仮統合の方法として、近接する連結パターンを統合した際の縦横比Pが、例えば、
N(=0.8)<P<M(=1.2)
を満たす場合、仮統合を行う。そして、仮統合を行った後の平均文字サイズを算出する。なお、文字列の外接矩形の平均文字サイズは、外接矩形のサイズ別の頻度ヒストグラムを生成して求めるようにしてもよい。
N(=0.8)<P<M(=1.2)
を満たす場合、仮統合を行う。そして、仮統合を行った後の平均文字サイズを算出する。なお、文字列の外接矩形の平均文字サイズは、外接矩形のサイズ別の頻度ヒストグラムを生成して求めるようにしてもよい。
次に、ステップS184に示すように、図52のパラメータa〜gを算出する。
非統計的処理では、文字列中の濁点や分離文字などを対象にしており、分離文字処理と濁点処理とに分ける。
非統計的処理では、文字列中の濁点や分離文字などを対象にしており、分離文字処理と濁点処理とに分ける。
分離文字に対する処理では、パターンの傾き、線密度、隣接するパターン同士を統合したときのサイズ、パターン同士の距離を切り出しパラメータとして用いる。
例えば、図54に示すように、
8)外接矩形221の右枠と外接矩形222の左枠との距離aと外接矩形221の左枠と外接矩形222の右枠との距離bとの比p、
9)外接矩形221の左枠と外接矩形222の右枠との距離bと外接矩形平均幅MXとの比q、
10)外接矩形21の面積cと外接矩形22の面積dとの積と外接矩形平均幅MXと外接矩形平均高さMYとの積の平方との比r、
を切り出しパラメータとして用いる。
例えば、図54に示すように、
8)外接矩形221の右枠と外接矩形222の左枠との距離aと外接矩形221の左枠と外接矩形222の右枠との距離bとの比p、
9)外接矩形221の左枠と外接矩形222の右枠との距離bと外接矩形平均幅MXとの比q、
10)外接矩形21の面積cと外接矩形22の面積dとの積と外接矩形平均幅MXと外接矩形平均高さMYとの積の平方との比r、
を切り出しパラメータとして用いる。
すなわち、
p=a/b ・・・(7)
q=b/MX ・・・(8)
r=(c×d)/(MX×MY)2 ・・・(9)
である。
p=a/b ・・・(7)
q=b/MX ・・・(8)
r=(c×d)/(MX×MY)2 ・・・(9)
である。
次に、分離文字処理を図55のフローチャートを参照しながら説明する。この分離文字処理は、例えば、“ハ”又は“ル”などのように2つ以上の連結パターンから構成される分離文字を検出するものである。
まず、ステップS191に示すように、連結パターンのうち、右上がりとなっているパターンがあるかどうか判断する。そして、右上がりとなっているパターンがない場合、分離文字処理の対象から除外する。
一方、ステップS191において、右上がりとなっているパターンであると判断された場合、ステップS192に進み、右上がりとなっているパターンの右隣に隣接し、且つ右下がりとなっているパターン、すなわち、例えば、“ハ”に対応するパターン、又は、右上がりとなっているパターンの右隣に隣接し、且つ直角方向に探索した場合のパターンと交差する回数(直角線密度)が2となるパターン、すなわち、例えば、“ル”に対応するパターンがあるかどうか判断する。そして、これらの“ハ”又は“ル”などのような形状のパターンでなければ、分離文字処理の対象から除外する。
一方、ステップS192において、“ハ”又は“ル”などのような形状のパターンであると判断した場合、ステップS194に進む。
また、上記ステップS191、S192とは別に、ステップS193で、文字列の外接矩形の平均文字サイズを算出する。
また、上記ステップS191、S192とは別に、ステップS193で、文字列の外接矩形の平均文字サイズを算出する。
上記ステップS192とS193が終了した後、ステップS194で、図54に示されたパラメータp〜rの値を算出する。
また、濁点処理では、濁点候補パターンに着目し、例えば、そのパターンとその隣接パターンを統合したときのサイズ、両パターン間の距離、及びそれらと平均文字サイズとの比を、切り出しパラメータとして用いる。
また、濁点処理では、濁点候補パターンに着目し、例えば、そのパターンとその隣接パターンを統合したときのサイズ、両パターン間の距離、及びそれらと平均文字サイズとの比を、切り出しパラメータとして用いる。
すなわち、図56に示すように、
11)外接矩形231の右枠と外接矩形232の左枠との距離aと外接矩形231の左枠と外接矩形232の右枠との距離bとの比p、
12)外接矩形231の左枠と外接矩形232の右枠との距離bと外接矩形平均幅MXとの比q、
13)外接矩形231の面積cと外接矩形232の面積dとの積と外接矩形平均幅MXと外接矩形平均高さMYとの積の平方との比rを、
切り出しパラメータとして用いる。
11)外接矩形231の右枠と外接矩形232の左枠との距離aと外接矩形231の左枠と外接矩形232の右枠との距離bとの比p、
12)外接矩形231の左枠と外接矩形232の右枠との距離bと外接矩形平均幅MXとの比q、
13)外接矩形231の面積cと外接矩形232の面積dとの積と外接矩形平均幅MXと外接矩形平均高さMYとの積の平方との比rを、
切り出しパラメータとして用いる。
すなわち、パラメータp〜rは、(7)〜(9)式と同様に表すことができる。
次に、濁点処理を図57のフローチャートを参照しながら、説明する。
まず、ステップS201で、濁点候補となるパターンを抽出する。すなわち、例えば、連結パターン抽出手段1により抽出された連結パターンが2つ隣接して存在する場合で、且つそれらを統合した時のサイズと文字列の外接矩形の平均文字サイズとの比が所定のしきい値以下、例えば、1/4以下である場合、濁点候補となるパターンとして抽出する。
次に、濁点処理を図57のフローチャートを参照しながら、説明する。
まず、ステップS201で、濁点候補となるパターンを抽出する。すなわち、例えば、連結パターン抽出手段1により抽出された連結パターンが2つ隣接して存在する場合で、且つそれらを統合した時のサイズと文字列の外接矩形の平均文字サイズとの比が所定のしきい値以下、例えば、1/4以下である場合、濁点候補となるパターンとして抽出する。
次に、ステップS202に示すように、濁点候補となるパターンの左隣に隣接する外接矩形があるかどうかを調べる。そして、濁点候補となるパターンの左隣に隣接する外接矩形がない場合、濁点候補となるパターンを濁点処理の対象から除外する。
一方、ステップS202において、濁点候補となるパターンの左隣に隣接する外接矩形があると判断された場合、ステップS204に進む。
また、上記ステップS201、S202とは別に、ステップS203で、文字列の外接矩形の平均文字サイズを算出する。そして、上記ステップS202、S203の処理が終了した後、ステップS204で、図56に示されたパラメータp〜rの値を算出する。
また、上記ステップS201、S202とは別に、ステップS203で、文字列の外接矩形の平均文字サイズを算出する。そして、上記ステップS202、S203の処理が終了した後、ステップS204で、図56に示されたパラメータp〜rの値を算出する。
次に、学習データを用いて、未知の手書き文字列に対する文字の切り出しの信頼度を算出するための判別面を設定し、パラメータ数がnの場合、切り出しが成功した群と切り出しが失敗した群との2群をn次元の空間上に生成する。
図58は、切り出しの成否データの算出方法を示すフローチャートである。
図58において、まず、ステップS211で、事前に集めた学習データに対して、着目する外接矩形とそれに隣接する外接矩形とを統合して1文字になるかどうかを目視により判断する。そして、着目する外接矩形とそれに隣接する外接矩形とを統合して1文字になる場合、ステップS212に進み、着目する外接矩形とそれに隣接する外接矩形とを統合して1文字にならない場合、ステップS213に進む。
図58において、まず、ステップS211で、事前に集めた学習データに対して、着目する外接矩形とそれに隣接する外接矩形とを統合して1文字になるかどうかを目視により判断する。そして、着目する外接矩形とそれに隣接する外接矩形とを統合して1文字になる場合、ステップS212に進み、着目する外接矩形とそれに隣接する外接矩形とを統合して1文字にならない場合、ステップS213に進む。
ステップS212では、着目する外接矩形とそれに隣接する外接矩形とを統合して1文字になる統合成功の場合について、その着目する外接矩形とそれに隣接する外接矩形におけるパラメータの値を記録する。ここで、着目する外接矩形とそれに隣接する外接矩形におけるパラメータは、統計的処理の場合、図48のパラメータa〜gを用いることができ、非統計的処理の場合、図54、56のパラメータp〜rを用いることができる。
また、ステップS213では、着目する外接矩形とそれに隣接する外接矩形とを統合して1文字にならない統合失敗の場合について、その着目する外接矩形とそれに隣接する外接矩形におけるパラメータの値を記録する。
次に、未知の文字列について、統計的処理における切り出しパラメータと非統計的処理における切り出しパラメータの値を算出し、このパラメータの値によって定まる多次元空間上の点に対し、学習データにより得られている判別面からの距離を求め、これを切り出しの信頼度として定量化する。
例えば、特徴量パラメータ数が3の場合、図59に示すように、切り出し成功と切り出し失敗との2群を判別する判別面をH、判別面Hの単位法線ベクトルをnとし、あるパラメータの値がpのベクトル値をとるとき、そのパラメータの値に対応する3次元空間内の点pの判別面からの距離hは、
h=OP・n ・・・(10)
と表される。ここで、OPは、3次元空間内の原点Oから3次元空間内の点pに向けたベクトルである。
h=OP・n ・・・(10)
と表される。ここで、OPは、3次元空間内の原点Oから3次元空間内の点pに向けたベクトルである。
そして、判別面Hからの距離hが正をとるか負をとるかで、パラメータの値がどちらの群、すなわち、切り出しが成功した方の群または切り出しが失敗した方の群のいづれの群に属するか、また、パラメータの値が判別面Hからどの程度離れているかが分かる。
次に、図60に示すように、多次元空間内の学習データの全パラメータに対して、判別面Hからの距離hに基づいて、切り出し成功のヒストグラム分布241と切り出し失敗のヒストグラム分布242をとる。一般的に、このヒストグラム分布241、242は正規分布になるので、ヒストグラム分布241、242を正規分布で近似する。これらの正規分布は、通常、部分的に重なる領域が生ずる。
本実施例では、この重なる領域に位置する切り出しパラメータを有する隣接パターンについての切り出しの信頼度に加え、文字認識の信頼度を加味してそれらを統合するか否かを判定する。
図61は、切り出し信頼度の算出法の一例を示すフローチャートである。
図61において、まず、ステップS221に示すように、複数のパラメータの値によって定まる多次元空間上の点に対する判別面Hからの距離hを、前記(10)式により算出する。
図61において、まず、ステップS221に示すように、複数のパラメータの値によって定まる多次元空間上の点に対する判別面Hからの距離hを、前記(10)式により算出する。
次に、ステップS222に示すように、学習データにより得られた複数のパラメータの値のヒストグラム分布を正規分布で近似する。すなわち、例えば、図62に示すように、切り出し成功のヒストグラム分布を正規分布251で近似し、切り出し失敗のヒストグラム分布を正規分布252で近似する。
次に、ステップS223で、2群の重なり領域を算出する。例えば、図62に示すように、切り出し成功の正規分布251と切り出し失敗の正規分布252とが重なる領域を2群の重なり領域254として算出する。また、このとき、切り出し成功の正規分布251の内、上記2群の重なり領域254以外の領域253を切り出し成功領域と設定する。さらに、切り出し失敗の正規分布252の内、上記2群の重なり領域254以外の領域255を切り出し失敗領域と設定する。
次に、ステップS224に示すように、未知文字についての入力パラメータの値のヒストグラム分布上での位置を判定する。
次に、ステップS225に示すように、未知文字についての入力パラメータの値のヒストグラム分布上での位置を判定した結果、未知文字についての入力パラメータの値が2群の重なり領域254に含まれる場合、ステップS226に進む。そして、2群の重なり領域254での未知文字についての入力パラメータの値の位置に基づいて、切り出し信頼度を算出する。
次に、ステップS225に示すように、未知文字についての入力パラメータの値のヒストグラム分布上での位置を判定した結果、未知文字についての入力パラメータの値が2群の重なり領域254に含まれる場合、ステップS226に進む。そして、2群の重なり領域254での未知文字についての入力パラメータの値の位置に基づいて、切り出し信頼度を算出する。
一方、ステップS225において、未知文字についての入力パラメータの値が2群の重なり領域254に含まれないと判断された場合、ステップS226に進み、未知文字についての入力パラメータの値が切り出し成功領域253に含まれるかどうかを判断する。
そして、未知文字についての入力パラメータの値が切り出し成功領域253に含まれると判断された場合、ステップS228に進み、切り出し信頼度を“1”とし、未知文字についての入力パラメータの値が切り出し成功領域253に含まれないと判断された場合、ステップS229に進み、切り出し信頼度を“0”とする。
例えば、図62において、未知文字についての入力パラメータの値に対する判別面からの距離を算出した結果、未知文字についての入力パラメータの値の判別面からの距離が重なり領域254に含まれる場合、未知文字についての入力パラメータの値の判別面からの距離に基づいて、切り出し信頼度を算出する。また、未知文字についての入力パラメータの値の判別面からの距離が切り出し成功領域253に含まれる場合、その切り出し信頼度を“1”とする。また、未知文字についての入力パラメータの値の判別面からの距離が切り出し失敗領域255に含まれる場合、その切り出し信頼度を“0”に設定する。
図63は、2群の重なり領域算出方法の一例を示すフローチャートである。
図63において、まず、ステップS231に示すように、学習データから得られた切り出し成功のヒストグラム分布と切り出し失敗のヒストグラム分布のそれぞれについて、ヒストグラム261の平均値mと分散値vとを算出する。
図63において、まず、ステップS231に示すように、学習データから得られた切り出し成功のヒストグラム分布と切り出し失敗のヒストグラム分布のそれぞれについて、ヒストグラム261の平均値mと分散値vとを算出する。
次に、ステップS232で、切り出し成功のヒストグラム分布と切り出し失敗のヒストグラム分布について、正規分布曲線262とヒストグラム261との2乗誤差の総和dを算出する。
次に、ステップS233で、適合度Tを下記の(11)式により算出する。
T=d/S ・・・(11)
ここで、Sは正規分布曲線262の面積である。
T=d/S ・・・(11)
ここで、Sは正規分布曲線262の面積である。
次に、ステップS234で、正規分布曲線262の中心から端までの距離Lを下記の(12)式により算出する。
L=k×(1+T)×v1/2 ・・・(12)
ここで、kは比例定数である。また、v1/2 は、標準偏差に等しい。
L=k×(1+T)×v1/2 ・・・(12)
ここで、kは比例定数である。また、v1/2 は、標準偏差に等しい。
次に、ステップS235で、正規分布曲線263の右端267から正規分布曲線264の左端266までの間の領域を、2群の重なり領域265として設定する。
次に、切り出し文字の候補に対し、図61の処理により求めた切り出し信頼度に基づいて認識処理を行うかどうかを決定する。この場合、例えば、切り出し信頼度が高い切り出し文字の候補に対しては認識処理を行わず、切り出し信頼度が低い切り出し文字の候補に対してのみ認識処理を行うようにする。
次に、切り出し文字の候補に対し、図61の処理により求めた切り出し信頼度に基づいて認識処理を行うかどうかを決定する。この場合、例えば、切り出し信頼度が高い切り出し文字の候補に対しては認識処理を行わず、切り出し信頼度が低い切り出し文字の候補に対してのみ認識処理を行うようにする。
ここで、複数の切り出し文字の候補に対して、それらに対する認識の信頼度だけでなく、切り出しの信頼度も考慮して切り出し文字を決定する。このことにより、部分的に見ると文字のように見えるが、文字列全体から見ると間違っているような候補文字を、切り出し文字から除外することができる。例えば、各隣接パターンまたは切り出し確定部の切り出し信頼度をαi 、認識信頼度をβi 、重み係数をjとすると、全体の信頼度Rは、
R=Σ(j・αi +βi ) ・・・(13)
と表せる。
R=Σ(j・αi +βi ) ・・・(13)
と表せる。
そして、複数の切り出し文字の候補の中から全体の信頼度Rが最も大きいものを、最終的な切り出し文字として選択する。
図64は、“グンマ”という文字列から文字を1文字ずつ切り出す場合を示す図である。ここで、“グンマ”という文字列の切り出しを行うのに先立ち、学習データを用いて、統計的処理と非統計的処理とに対する判別面とヒストグラム値の正規分布曲線を、それぞれ、個別に求める。
図64は、“グンマ”という文字列から文字を1文字ずつ切り出す場合を示す図である。ここで、“グンマ”という文字列の切り出しを行うのに先立ち、学習データを用いて、統計的処理と非統計的処理とに対する判別面とヒストグラム値の正規分布曲線を、それぞれ、個別に求める。
ここで、統計的処理では、文字列の切り出しの成功又は失敗を判定するためのパラメータとして、図52のパラメータc、e、fを用い、学習データにより得られた判別面の式は、
0.84x0+0.43x1+0.33x2−145.25=0 ・・・(14)
であるものとする。
0.84x0+0.43x1+0.33x2−145.25=0 ・・・(14)
であるものとする。
また、図63に示す学習データの切り出し成功を示すヒストグラム分布の平均値mは128.942、標準偏差は34.77となり、適合度Tは(11)式より0.12となる。また、比例定数kを2とすると、分布中心から端までの距離Lは(12)式より77.8となる。
また、図63に示す学習データの切り出し失敗を示すヒストグラム分布の平均値mは71.129、標準偏差は36.26となり、適合度Tは(11)式より0.35となる。また、比例定数kを2とすると、分布中心から端までの距離Lは(10)式より92.2となる。
図64において、まず、ステップS241に示すように、イメージ入力により未知文字についての入力パターンを読み込む。
次に、ステップS242で、ラベリングにより連結パターンを抽出し、抽出された各連結パターンに対して図64に示すようにラベル番号(1)〜(6)を付す。
次に、ステップS242で、ラベリングにより連結パターンを抽出し、抽出された各連結パターンに対して図64に示すようにラベル番号(1)〜(6)を付す。
次に、ステップS245に示すように、ステップS243の統計的処理及びステップS244の非統計的処理に基づいて、切り出し信頼度の定量化を行う。
ステップS243の統計的処理では、互いに隣接する連結パターンを統合した場合の切り出し信頼度を、パラメータc、e、fの値を有する3次元空間上の点に対する判別面からの距離hに基づいて算出する。この切り出し信頼度αは、例えば、
α=(h−w1 )/(w2 −w1 )×100 ・・・(15)
で表すことができる。
ステップS243の統計的処理では、互いに隣接する連結パターンを統合した場合の切り出し信頼度を、パラメータc、e、fの値を有する3次元空間上の点に対する判別面からの距離hに基づいて算出する。この切り出し信頼度αは、例えば、
α=(h−w1 )/(w2 −w1 )×100 ・・・(15)
で表すことができる。
ここで、
w1 :2群の重なり領域の左端の位置
w2 :2群の重なり領域の右端の位置
である。
w1 :2群の重なり領域の左端の位置
w2 :2群の重なり領域の右端の位置
である。
例えば、ラベル番号(1)のパターンとラベル番号(2)のパターンとを統合した場合の切り出し信頼度は80、ラベル番号(2)のパターンとラベル番号(3)のパターンとを統合した場合の切り出し信頼度は12、ラベル番号(3)のパターンとラベル番号(4)のパターンとを統合した場合の切り出し信頼度は28、ラベル番号(4)のパターンとラベル番号(5)のパターンとを統合した場合の切り出し信頼度は92、ラベル番号(5)のパターンとラベル番号(6)のパターンとを統合した場合の切り出し信頼度は5となる。
また、ステップS244の非統計的処理では、濁点候補を有するパターン“グ”についての切り出し信頼度を、図56のパラメータp〜rの値を有する3次元空間上の点に対する判別面からの距離hに基づいて算出する。
例えば、ラベル番号(1)のパターンと、ラベル番号(2)のパターン及びラベル番号(3)のパターンからなる切り出し確定部271の濁点パターンとを統合した場合の切り出し信頼度は85となる。
このステップS244の非統計的処理における切り出し信頼度の算出方法を図65に示す。
まず、ステップS251で、濁点候補となるパターン272を抽出する。例えば、連結パターンが2つ隣接して存在する場合で、且つ、それらを統合した時のサイズと文字列の外接矩形の平均文字サイズとの比が所定のしきい値以下である場合、濁点候補となるパターンとする。
まず、ステップS251で、濁点候補となるパターン272を抽出する。例えば、連結パターンが2つ隣接して存在する場合で、且つ、それらを統合した時のサイズと文字列の外接矩形の平均文字サイズとの比が所定のしきい値以下である場合、濁点候補となるパターンとする。
次に、ステップS252で、濁点候補となるパターン272の左隣に隣接する外接矩形281があるかどうかを調べ、この場合、濁点候補となるパターン272の左隣に隣接する外接矩形281があると判断された結果、ステップS253に進み、図56のパラメータp〜rの値を算出する。
図65の例では、
p=a/b=0.1 ・・・(16)
q=b/MX=1.3 ・・・(17)
r=(c×d)/(MX×MY)2 =0.3 ・・・(18)
となる。
p=a/b=0.1 ・・・(16)
q=b/MX=1.3 ・・・(17)
r=(c×d)/(MX×MY)2 =0.3 ・・・(18)
となる。
ここで、
a:外接矩形281の右枠と外接矩形272の左枠との距離、
b:外接矩形281の左枠と外接矩形272の右枠との距離、
c:外接矩形281の面積、
d:外接矩形272の面積、
MX:外接矩形平均幅、
MY:外接矩形平均高さ、
である。
a:外接矩形281の右枠と外接矩形272の左枠との距離、
b:外接矩形281の左枠と外接矩形272の右枠との距離、
c:外接矩形281の面積、
d:外接矩形272の面積、
MX:外接矩形平均幅、
MY:外接矩形平均高さ、
である。
次に、ステップS254に示すように、パラメータp〜rの値を有する3次元空間上の点に対する判別面293からの距離を算出する。
このパラメータp〜rの値を有する3次元空間上の点に対する判別面293からの距離を算出するために、学習パターンに基づいて判別面293を算出しておく。この判別面293は、例えば、学習パターンの文字列の切り出しの成功を示すヒストグラム分布292及び失敗を示すヒストグラム分布291に基づいて、(3)式により求めることができ、濁点抽出のパラメータp〜rを用いた場合の判別面293の式は、例えば、
0.17x0+0.75x1+0.64x2+30.4=0 ・・・(19)
で表され、3次元空間内の平面の方程式となる。
このパラメータp〜rの値を有する3次元空間上の点に対する判別面293からの距離を算出するために、学習パターンに基づいて判別面293を算出しておく。この判別面293は、例えば、学習パターンの文字列の切り出しの成功を示すヒストグラム分布292及び失敗を示すヒストグラム分布291に基づいて、(3)式により求めることができ、濁点抽出のパラメータp〜rを用いた場合の判別面293の式は、例えば、
0.17x0+0.75x1+0.64x2+30.4=0 ・・・(19)
で表され、3次元空間内の平面の方程式となる。
従って、判別面293からの距離hは、(16)〜(18)の値を(19)式に代入して、
h=0.17×0.1−0.75×1.3+0.64×0.3+30.4
=29.6 ・・・(20)
となる。
h=0.17×0.1−0.75×1.3+0.64×0.3+30.4
=29.6 ・・・(20)
となる。
また、学習データの切り出し成功を示すヒストグラム分布292の平均値mは38、標準偏差は25となり、適合度Tは(11)式より0.2となり、学習データの切り出し失敗を示すヒストグラム分布291の平均値mは−34、標準偏差は28となり、適合度Tは(11)式より0.3となる。
また、学習データの切り出し成功を示すヒストグラム分布292の左端w1 は、比例定数kを2とすると、(12)式より、
w1 =38−2×(1+0.2)×25=−22 ・・・(21)
となる。
w1 =38−2×(1+0.2)×25=−22 ・・・(21)
となる。
また、学習データの切り出し失敗を示すヒストグラム分布291の右端w2 は、比例定数kを2とすると、(12)式より、
w2 =−34+2×(1+0.3)×28=38.8 ・・・(22)
となる。
w2 =−34+2×(1+0.3)×28=38.8 ・・・(22)
となる。
従って、2群の重なり領域294は、判別面からの距離が−22〜38.8の間の領域となる。
次に、ステップS255で、切り出し信頼度αを求める。この切り出し信頼度αは、(20)〜(22)の値を(15)式に代入して、
α=(29.6−(−22))/(38.8−(−22))×100
=85 ・・・(23)
となる。
次に、ステップS255で、切り出し信頼度αを求める。この切り出し信頼度αは、(20)〜(22)の値を(15)式に代入して、
α=(29.6−(−22))/(38.8−(−22))×100
=85 ・・・(23)
となる。
これにより、ラベル番号(2)とラベル番号(3)とが統合されて切り出し確定部271となる。
次に、図64のステップS246で、統計的処理と非統計的処理の信頼度を合成する。このとき、切り出し確定部があれば、それを優先する。従って、切り出し確定部271の信頼度が優先して合成される。
次に、図64のステップS246で、統計的処理と非統計的処理の信頼度を合成する。このとき、切り出し確定部があれば、それを優先する。従って、切り出し確定部271の信頼度が優先して合成される。
この結果、ラベル番号(1)のパターンと切り出し確定部271のパターンとを統合した場合の切り出し信頼度は85、切り出し確定部271のパターンとラベル番号(4)のパターンとを統合した場合の切り出し信頼度は30、ラベル番号(4)のパターンとラベル番号(5)のパターンとを統合した場合の切り出し信頼度は92、ラベル番号(5)のパターンとラベル番号(6)のパターンとを統合した場合の切り出し信頼度は5となる。
そして、例えば、切り出し信頼度が所定のしきい値(例えば、90)より大きいか又は、切り出し信頼度が所定のしきい値(例えば、70)より大きく且つ、その隣の切り出しパターンの切り出し信頼度との比が所定の値(例えば、5)より大きい場合、パターンの統合を行う。
また、切り出し信頼度が所定のしきい値(例えば、8)より小さい場合、パターンの統合を行わない。
例えば、ラベル番号(1)のパターンと切り出し確定部271のパターンとを統合した場合の切り出し信頼度は85で、その隣のラベル番号(4)のパターンに対する切り出し信頼度の比は、85/30=2.8であるので、ラベル番号(1)のパターンと切り出し確定部271のパターンとを統合しない。また、切り出し確定部271のパターンとラベル番号(4)のパターンとを統合した場合の切り出し信頼度は30であり、切り出し確定部271のパターンとラベル番号(4)のパターンとを統合しない。
例えば、ラベル番号(1)のパターンと切り出し確定部271のパターンとを統合した場合の切り出し信頼度は85で、その隣のラベル番号(4)のパターンに対する切り出し信頼度の比は、85/30=2.8であるので、ラベル番号(1)のパターンと切り出し確定部271のパターンとを統合しない。また、切り出し確定部271のパターンとラベル番号(4)のパターンとを統合した場合の切り出し信頼度は30であり、切り出し確定部271のパターンとラベル番号(4)のパターンとを統合しない。
また、ラベル番号(4)のパターンとラベル番号(5)のパターンとを統合した場合の切り出し信頼度は92であるので、ラベル番号(4)のパターンとラベル番号(5)のパターンとを統合する。また、ラベル番号(5)のパターンとラベル番号(6)のパターンとを統合した場合の切り出し信頼度は5であり、ラベル番号(5)のパターンとラベル番号(6)のパターンとを統合しない。
これにより、ラベル番号(4)のパターンとラベル番号(5)のパターンとを統合した切り出し確定部273に対応する外接矩形275、ラベル番号(6)のパターンに対応する外接矩形276が生成される。
また、新たに生成された切り出し確定部273のパターンと切り出し確定部271のパターンとを統合した場合の切り出し信頼度を求める。この切り出し信頼度は、図64の例では、60となる。
次に、ステップS247に示すように、切り出し信頼度によるパターンの統合が終了した時点で、切り出し候補1及び切り出し候補2を抽出する。そして、切り出し候補1及び切り出し候補2のそれぞれの文字に対して認識処理を行い、切り出し候補1及び切り出し候補2における文字内の切り出し信頼度αと認識信頼度βとをそれぞれの文字について求め、切り出し信頼度αと認識信頼度βとの総和をとったものを全体の信頼度Rとする。
例えば、切り出し候補1として、外接矩形275、276、278を切り出した場合、外接矩形278内のパターンに対して文字認識を行った場合の認識信頼度βは80となり、外接矩形275内のパターンに対して文字認識を行った場合の認識信頼度βは90となり、外接矩形276内のパターンに対して文字認識を行った場合の認識信頼度βは85となる。
また、ラベル番号(1)のパターンと切り出し確定部271のパターンとを統合した場合の切り出し信頼度αは85であるので、全体の信頼度Rは、重み係数jを1とすると、(13)式により、345となる。
また、切り出し候補2として、外接矩形276、281、282を切り出した場合、外接矩形281内のパターンに対して文字認識を行った場合の認識信頼度βは83となり、外接矩形282内のパターンに対して文字認識を行った場合の認識信頼度βは55となり、外接矩形276内のパターンに対して文字認識を行った場合の認識信頼度βは85となる。
また、切り出し確定部271のパターンと切り出し確定部273のパターンとを統合した場合の切り出し信頼度αは60であり、全体の信頼度Rは283となる。
次に、ステップS248で、切り出し候補1又は切り出し候補2のうち、全体の信頼度Rが大きい方の切り出し候補1を切り出し成功の文字候補として選択する。この結果、“グンマ”という文字列から、“グ”、“ン”、“マ”の各文字を1文字ずつ正しく切り出すことができる。
次に、ステップS248で、切り出し候補1又は切り出し候補2のうち、全体の信頼度Rが大きい方の切り出し候補1を切り出し成功の文字候補として選択する。この結果、“グンマ”という文字列から、“グ”、“ン”、“マ”の各文字を1文字ずつ正しく切り出すことができる。
なお、文字列からの切り出し信頼度を考慮しながら文字の認識処理を行う方法については、例えば、特願平7−234982号の明細書及び図面に記載されている。
次に、図3のかすれ文字認識部19の動作について具体的に説明する。
次に、図3のかすれ文字認識部19の動作について具体的に説明する。
図66は、かすれ文字認識部19の構成の一実施例を示すブロック図である。
図66において、特徴抽出部301は、かすれ文字パターンから文字の特徴を抽出し、この抽出した特徴を特徴ベクトルにより表す。一方、かすれ辞書302には、かすれ文字についての各カテゴリの特徴ベクトルが格納されている。そして、照合部303は、特徴抽出部301により抽出した文字パターンの特徴ベクトルを、かすれ辞書302に格納されている各カテゴリの特徴ベクトルと照合し、特徴空間上での特徴ベクトル間の距離Dij(iは未知文字の特徴ベクトル、jはかすれ辞書302のカテゴリの特徴ベクトル)を算出する。その結果、特徴ベクトル間の距離Dijを最小とするカテゴリjを未知文字iとして認識する。
図66において、特徴抽出部301は、かすれ文字パターンから文字の特徴を抽出し、この抽出した特徴を特徴ベクトルにより表す。一方、かすれ辞書302には、かすれ文字についての各カテゴリの特徴ベクトルが格納されている。そして、照合部303は、特徴抽出部301により抽出した文字パターンの特徴ベクトルを、かすれ辞書302に格納されている各カテゴリの特徴ベクトルと照合し、特徴空間上での特徴ベクトル間の距離Dij(iは未知文字の特徴ベクトル、jはかすれ辞書302のカテゴリの特徴ベクトル)を算出する。その結果、特徴ベクトル間の距離Dijを最小とするカテゴリjを未知文字iとして認識する。
ここで、特徴空間上での特徴ベクトル間の距離Dijは、例えば、ユークリッド距離Σ(i−j)2 、シティブロック距離Σ|i−j|、又は判別関数などの識別関数を用いて算出する。
なお、第1位のカテゴリとの距離をDij1 、第2位のカテゴリとの距離をDij2 とすると、第1位のカテゴリj1、第2位のカテゴリj2、カテゴリ間の距離(Dij2 −Dij1 )及び信頼度に関するテーブル1を予め作成しておく。また、第1位のカテゴリとの距離をDij1 、第1位のカテゴリj1及び信頼度に関するテーブル2も予め作成しておく。そして、テーブル1とテーブル2とからそれぞれ得られる信頼度の小さい方を中間処理結果テーブルに格納する。
図3のつぶれ文字認識部21は、かすれ文字認識部19のかすれ辞書302の代わりに、つぶれ文字についての各カテゴリの特徴ベクトルを格納したつぶれ辞書を用いることを除いて、かすれ文字認識部19と同様の構成とすることができる。
次に、図3の消し線認識部26の一実施例について説明する。この消し線認識部26は、図4のステップS4の訂正解析により抽出された訂正文字の候補に対し、例えば、横方向の画素数の和をとったヒストグラムを作成し、このヒストグラム値が所定の値を越えた領域に横消し線が存在するものとして、この領域に存在している横線を除去する。
次に、この横線を除去することによりかすれた部分を補完し、この補完後のパターンについて辞書照合を行うことにより、文字認識を行う。この結果、文字と認識されたものについては、訂正文字の候補を消し線付き文字とみなし、リジェクトされたものについては、訂正文字の候補を通常文字とみなす。
例えば、図67において、訂正文字の候補として、横二重線により訂正された状態の「5」が入力され、この横二重線を除去して補完したパターンが「5」のカテゴリとして認識された結果、入力されたパターンは訂正文字とみなされる。また、訂正文字の候補として、「5」が入力され、この「5」の横線を除去したパターンがリジェクトされた結果、入力されたパターンは訂正文字でないとみなされる。
次に、図3のくせ字解析部23の一実施例について説明する。このくせ字解析部23は、同一のカテゴリに属すると認識された手書き文字を所定のクラスタ数にクラスタリングし、異なるカテゴリに属するクラスタ間の距離の小さいものについては、要素数が少ない方のクラスタの文字カテゴリを要素数が多い方のクラスタの文字カテゴリに修正することにより、別のカテゴリに属するものと誤って認識された手書き文字を正読化する。
図68は、「4」の文字カテゴリに属すると判定された手書き文字の特徴ベクトルによるクラスタリング処理を示す図である。
図68には、認識辞書に格納されている「4」の文字カテゴリの特徴ベクトルとの距離が近いため、「4」の認識結果カテゴリに属すると判定された手書き文字が示されている。ここで、この認識処理では、「2」と手書きされた文字が「4」の認識結果カテゴリに属すると誤って認識されている。
図68には、認識辞書に格納されている「4」の文字カテゴリの特徴ベクトルとの距離が近いため、「4」の認識結果カテゴリに属すると判定された手書き文字が示されている。ここで、この認識処理では、「2」と手書きされた文字が「4」の認識結果カテゴリに属すると誤って認識されている。
そして、1回目のクラスタリング処理では、「4」の文字カテゴリに属すると判定された手書き文字をそれぞれ1つのクラスタとみなし、2回目のクラスタリング処理では、クラスタとみなされた手書き文字の間での特徴ベクトルの距離を算出し、特徴ベクトルの距離が最も近いものを1つのクラスタに統合する。この結果、図68の例では、クラスタ数が11から1つだけ減少して10になっている。
3回目以降のクラスタリング処理においても、クラスタ間での特徴ベクトルの距離を算出し、特徴ベクトルの距離が最も近いものを統合することにより、クラスタ数を減少させ、11回目のクラスタリング処理でクラスタ数は1となる。
ここで、クラスタ同士を統合する場合、要素数が1のクラスタ、すなわち、特徴ベクトル同士の距離の比較には、例えば、シティブロック距離を用いる。要素数が複数のクラスタ同士の場合、例えば、重心法を用いる。この重心法は、要素数がM個のクラスタのi番目(i=1、2、3、・・・、M)の要素の特徴ベクトルxi をxi =(xi1、xi2、xi3、・・・、xiN)と表した時、そのクラスタを代表する代表ベクトルxm を、そのクラスタの要素の特徴ベクトルxi の平均で表し、
とする。
そして、代表ベクトルxm 同士についてのシティブロック距離を算出することにより、要素数が複数のクラスタ同士の距離の比較を行うものである。
そして、代表ベクトルxm 同士についてのシティブロック距離を算出することにより、要素数が複数のクラスタ同士の距離の比較を行うものである。
なお、クラスタ数が1になるまでクラスタリング処理を続けると、「4」の文字カテゴリに属すると誤って認識された「2」の手書き文字も、「4」の文字カテゴリに属すると正しく認識された「4」の手書き文字と同一のクラスタに属するようになるので、クラスタリング処理を途中で打ち切るクラスタリング打ち切り条件を設定する。
このクラスタリング打ち切り条件としては、例えば、
(1)最終クラスタ数が所定の数(例えば、3)になった時、
(2)クラスタ統合時のクラスタ間距離が所定のしきい値以上になった時、
(3)クラスタ統合時のクラスタ間距離の増加率が所定のしきい値以上になった時、
のいずれかの条件を用いることができる。
(1)最終クラスタ数が所定の数(例えば、3)になった時、
(2)クラスタ統合時のクラスタ間距離が所定のしきい値以上になった時、
(3)クラスタ統合時のクラスタ間距離の増加率が所定のしきい値以上になった時、
のいずれかの条件を用いることができる。
図69は、クラスタリング処理を示すフローチャートである。
図69において、まず、ステップS261に示すように、ある文字カテゴリに属すると認識された手書き文字の特徴ベクトルだけを抽出し、抽出されたそれぞれの手書き文字の特徴ベクトルを1つのクラスタとみなす。
図69において、まず、ステップS261に示すように、ある文字カテゴリに属すると認識された手書き文字の特徴ベクトルだけを抽出し、抽出されたそれぞれの手書き文字の特徴ベクトルを1つのクラスタとみなす。
次に、ステップS262に示すように、クラスタリング処理を途中で打ち切るクラスタリング打ち切り条件を設定する。
次に、ステップS263に示すように、ある文字カテゴリについての全てのクラスタの中で、最も距離の近い2つのクラスタを選択する。
次に、ステップS263に示すように、ある文字カテゴリについての全てのクラスタの中で、最も距離の近い2つのクラスタを選択する。
次に、ステップS264に示すように、ステップS262で設定したクラスタリング打ち切り条件を満たしているかどうかを判断し、クラスタリング打ち切り条件を満たしていない場合、ステップ265に進んで、ステップS263で選択した2つのクラスタ同士を統合し、ステップS263に戻り、クラスタを統合する処理を繰り返す。
そして、クラスタを統合する処理を繰り返した結果、ステップS264でクラスタリング打ち切り条件を満たすと判断された場合、ステップ266に進んで、全ての文字カテゴリに対してクラスタリング処理を行ったかどうかを判断し、全ての文字カテゴリに対してクラスタリング処理を行っていない場合、ステップ261に戻り、クラスタリング処理を行っていない文字カテゴリについてのクラスタリング処理を行う。
一方、ステップ266で全ての文字カテゴリに対してクラスタリング処理を行ったと判断された場合、ステップ267に進んで、クラスタリング結果をメモリに格納する。
次に、クラスタリング処理により得られたクラスタリング結果に基づいて、別のカテゴリに属するものと誤って認識された手書き文字を正読化する。
次に、クラスタリング処理により得られたクラスタリング結果に基づいて、別のカテゴリに属するものと誤って認識された手書き文字を正読化する。
図70は、「2」と手書きされた文字が「4」の文字カテゴリに属すると誤って認識された認識結果を、正しい文字カテゴリ「2」に正読化する処理を示す図である。
図70には、「2」の認識結果カテゴリに属すると判定された手書き文字及び「4」の認識結果カテゴリに属すると判定された手書き文字が示されている。ここで、「3」と手書きされた文字が「2」の認識結果カテゴリに属すると誤って認識され、「2」と手書きされた文字が「4」の認識結果カテゴリに属すると誤って認識され、「4」と手書きされた文字がいずれの認識結果カテゴリにも属さないとしてリジェクトされている。
図70には、「2」の認識結果カテゴリに属すると判定された手書き文字及び「4」の認識結果カテゴリに属すると判定された手書き文字が示されている。ここで、「3」と手書きされた文字が「2」の認識結果カテゴリに属すると誤って認識され、「2」と手書きされた文字が「4」の認識結果カテゴリに属すると誤って認識され、「4」と手書きされた文字がいずれの認識結果カテゴリにも属さないとしてリジェクトされている。
次に、クラスタリング打ち切り条件を、同一カテゴリ内における最終クラスタ数が3になった時に設定して、クラスタリング処理を行うことにより、「2」の認識結果カテゴリについてはクラスタa、b、cが生成され、「4」の認識結果カテゴリについてはクラスタd、e、fが生成され、リジェクトされた3つの「4」の手書き文字についてはそれぞれクラスタg、h、iが生成されている。
次に、「2」の認識結果カテゴリに属するクラスタa、b、cと「4」の認識結果カテゴリに属するクラスタd、e、fとの中から、文字数の少ないクラスタa、dを誤読候補クラスタとして抽出する。
次に、誤読候補クラスタaとそれ以外のクラスタb、c、d、e、fのそれぞれとの距離及び誤読候補クラスタdとそれ以外のクラスタa、b、c、e、fのそれぞれとの距離を算出する。そして、誤読候補クラスタaと最も距離が近いクラスタとしてクラスタbを抽出し、誤読候補クラスタaとクラスタbとの間の距離が所定の値以下であるかどうかを判定し、誤読候補クラスタaとクラスタbとの間の距離は所定の値以下でないので、誤読候補クラスタaはリジェクト化される。
この結果、「2」の認識結果カテゴリに属すると誤って認識された「3」と手書きされた文字が、「2」の認識結果カテゴリから除外される。
また、誤読候補クラスタdと最も距離が近いクラスタとしてクラスタbを抽出し、誤読候補クラスタdとクラスタbとの間の距離が所定の値以下であるかどうかを判定し、誤読候補クラスタdとクラスタbとの間の距離は所定の値以下なので、誤読候補クラスタdはクラスタbと統合されクラスタjが生成されるとともに、クラスタjは、要素数が多い方のクラスタbの属していた「2」の認識結果カテゴリに属すると判定されて、「4」と誤読されたために誤読候補クラスタdに属するとされた「2」の手書き文字が正読化される。
また、誤読候補クラスタdと最も距離が近いクラスタとしてクラスタbを抽出し、誤読候補クラスタdとクラスタbとの間の距離が所定の値以下であるかどうかを判定し、誤読候補クラスタdとクラスタbとの間の距離は所定の値以下なので、誤読候補クラスタdはクラスタbと統合されクラスタjが生成されるとともに、クラスタjは、要素数が多い方のクラスタbの属していた「2」の認識結果カテゴリに属すると判定されて、「4」と誤読されたために誤読候補クラスタdに属するとされた「2」の手書き文字が正読化される。
さらに、いずれの認識結果カテゴリにも属さないとしてリジェクトされたクラスタg、h、iとそれ以外のクラスタa〜fとの距離を算出する。そして、クラスタgと最も距離が近いクラスタとしてクラスタeを抽出し、クラスタgとクラスタeとの間の距離が所定の値以下であるかどうかを判定し、クラスタgとクラスタeとの間の距離は所定の値以下なので、クラスタgはクラスタeと統合される。
また、クラスタhと最も距離が近いクラスタとしてクラスタeを抽出し、クラスタhとクラスタeとの間の距離が所定の値以下であるかどうかを判定し、クラスタhとクラスタeとの間の距離は所定の値以下なので、クラスタhはクラスタeと統合される。クラスタg及びクラスタhがクラスタeに統合された結果、クラスタkが生成されるとともに、クラスタkは、要素数が多い方のクラスタeの属していた「4」の認識結果カテゴリに属すると判定されて、認識不能としてリジェクトされた「4」の手書き文字が正読化される。
また、クラスタiと最も距離が近いクラスタとしてクラスタeを抽出し、クラスタiとクラスタeとの間の距離が所定の値以下であるかどうかを判定し、クラスタiとクラスタeとの間の距離は所定の値以下でないので、クラスタiはクラスタeと統合しないようにする。
図71は、文字カテゴリ認識結果修正処理を示すフローチャートである。
図71において、まず、ステップS271に示すように、図69のクラスタリング処理により得られたクラスタリング結果についてのデータをメモリから読み出す。
図71において、まず、ステップS271に示すように、図69のクラスタリング処理により得られたクラスタリング結果についてのデータをメモリから読み出す。
次に、ステップS272に示すように、図69のクラスタリング処理により得られた全てのカテゴリの全てのクラスタについて、各クラスタ間での距離を算出し、各クラスタ間の距離を比較する。
次に、ステップS273に示すように、クラスタ間の距離がしきい値以下のクラスタが存在するかどうかを判断し、クラスタ間の距離がしきい値以下のクラスタが存在する場合、ステップS274に進んで、それらのクラスタ同士を統合し、クラスタ間の距離がしきい値以下のクラスタが存在しない場合、それらのクラスタをリジェクトする。
ここで、クラスタ統合時のクラスタ間の距離のしきい値として、例えば、2つのクラスタのうち、要素数が多い方のクラスタ内のベクトル間距離の定数倍を用いる。すなわち、要素数がM個のクラスタAと要素数がN(M>N)個のクラスタBとを統合する場合、クラスタAの代表ベクトルをxam、クラスタBの代表ベクトルをxbm、クラスタA内の特徴ベクトルをxai(i=1、2、・・・、M)とすると、クラスタA内のベクトル間距離dt hは、
従って、クラスタ同士を統合する条件は、例えば、1.5に定数を設定すると、
|xam−xbm|<1.5dt h
となる。
|xam−xbm|<1.5dt h
となる。
次に、ステップS275に示すように、ステップS274で統合された全てのクラスタについて、クラスタ内の文字カテゴリの判定を行う。
次に、ステップS276に示すように、統合されたクラスタ同士の文字カテゴリが異なるかどうかを判断し、クラスタ同士の文字カテゴリが異なる場合、ステップS277に進み、要素数が少ない方のクラスタの文字カテゴリを要素数が多い方のクラスタの文字カテゴリに修正してから、ステップS278に進む。一方、クラスタ同士の文字カテゴリが一致する場合、ステップS277をスキップしてステップS278に進む。
次に、ステップS276に示すように、統合されたクラスタ同士の文字カテゴリが異なるかどうかを判断し、クラスタ同士の文字カテゴリが異なる場合、ステップS277に進み、要素数が少ない方のクラスタの文字カテゴリを要素数が多い方のクラスタの文字カテゴリに修正してから、ステップS278に進む。一方、クラスタ同士の文字カテゴリが一致する場合、ステップS277をスキップしてステップS278に進む。
次に、ステップS278に示すように、クラスタ内の文字について、その文字カテゴリを出力する。
次に、本発明の一実施例によるパターン認識装置の動作について、図72の帳票を処理する場合を例にとって、より具体的に説明する。
次に、本発明の一実施例によるパターン認識装置の動作について、図72の帳票を処理する場合を例にとって、より具体的に説明する。
図72は、本発明の一実施例によるパターン認識装置に入力される帳票の例を示す図である。
図72の帳票には、枠番号1のフリーピッチ枠、枠番号2、3、4の一文字枠、枠番号5のブロック枠、枠番号6の不規則な表が設けられている。また、枠番号1のフリーピッチ枠には、枠に接触した状態で且つ横二重線により訂正されている「5」、枠に接触した状態の「3」、「2」、枠に接触した状態で且つかすれた状態の「7」、くせ字の「4」、「6」、枠からはみ出した状態で且つくせ字の「4」が記入されている。
図72の帳票には、枠番号1のフリーピッチ枠、枠番号2、3、4の一文字枠、枠番号5のブロック枠、枠番号6の不規則な表が設けられている。また、枠番号1のフリーピッチ枠には、枠に接触した状態で且つ横二重線により訂正されている「5」、枠に接触した状態の「3」、「2」、枠に接触した状態で且つかすれた状態の「7」、くせ字の「4」、「6」、枠からはみ出した状態で且つくせ字の「4」が記入されている。
枠番号2の一文字枠には「5」が記入され、枠番号3の一文字枠には「3」が記入され、枠番号4の一文字枠には枠からはみ出した状態で且つ横二重線により訂正されている「8」が記入されている。枠番号5のブロック枠のうち、枠番号5−1の枠には横二重線により訂正されているくせ字の「6」が記入され、枠番号5−2の枠には枠に接触した状態で「2」が記入され、枠番号5−3の枠にはくせ字の「4」が記入されている。
枠番号6の不規則な表のうち、枠番号6−1−1の枠には、枠からはみ出した状態の「3」、「2」、「1」が記入され、枠番号6−1−2の枠には、「6」、「3」、「8」が記入され、枠番号6−1−3の枠、枠番号6−1−4−1の枠、枠番号6−1−4−2の枠、枠番号6−1−4−3の枠、枠番号6−2−1の枠、枠番号6−2−2の枠及び枠番号6−2−3の枠はそれぞれ空欄となっており、枠番号6の不規則な表全体が×印により訂正されている。
次に、図3の環境認識系11は、図72の帳票に対し、図5〜図8の処理を行うことにより、入力画像の状態を図72の帳票から抽出する。
例えば、図6のレイアウト解析により、図72の帳票から、枠番号1のフリーピッチ枠、枠番号2、3、4の一文字枠、枠番号5のブロック枠及び枠番号6の不規則な表を抽出するとともに、枠番号1のフリーピッチ枠からは、8つのパターンが文字の候補として抽出され、枠番号2、3、4の一文字枠からは、それぞれ1つのパターンが文字の候補として抽出され、枠番号5のブロック枠からは、3つのパターンが文字の候補として抽出され、枠番号6−1−1の枠からは、3つのパターンが文字の候補として抽出され、枠番号6−1−2の枠からは、3つのパターンが文字の候補として抽出され、枠番号6−1−3の枠、枠番号6−1−4−1の枠、枠番号6−1−4−2の枠、枠番号6−1−4−3の枠、枠番号6−2−1の枠、枠番号6−2−2の枠及び枠番号6−2−3の枠からは、文字の候補は抽出されない。
例えば、図6のレイアウト解析により、図72の帳票から、枠番号1のフリーピッチ枠、枠番号2、3、4の一文字枠、枠番号5のブロック枠及び枠番号6の不規則な表を抽出するとともに、枠番号1のフリーピッチ枠からは、8つのパターンが文字の候補として抽出され、枠番号2、3、4の一文字枠からは、それぞれ1つのパターンが文字の候補として抽出され、枠番号5のブロック枠からは、3つのパターンが文字の候補として抽出され、枠番号6−1−1の枠からは、3つのパターンが文字の候補として抽出され、枠番号6−1−2の枠からは、3つのパターンが文字の候補として抽出され、枠番号6−1−3の枠、枠番号6−1−4−1の枠、枠番号6−1−4−2の枠、枠番号6−1−4−3の枠、枠番号6−2−1の枠、枠番号6−2−2の枠及び枠番号6−2−3の枠からは、文字の候補は抽出されない。
ここで、図72の帳票から文字列を抽出するには、例えば、図14及び図15に示したテキスト抽出方法を使用し、図72の帳票から罫線を抽出するには、例えば、図16〜図22に示した罫線抽出方法を使用し、図72の帳票から枠や表を抽出するには、例えば、図23及び図24に示した枠抽出方法を使用する。
さらに、枠番号1のフリーピッチ枠から抽出された第1番目のパターン、第2番目のパターン、第5番目のパターン、第8番目のパターンは、枠接触文字の候補とされる。また、枠番号4の一文字枠から抽出されたパターン、枠番号5−2の枠から抽出されたパターン、枠番号6−1−1の枠から抽出された第1番目のパターンも、枠接触文字の候補とされる。
ここで、図72の帳票から枠接触文字の候補を抽出するには、例えば、図27及び図28に示した枠接触文字抽出方法を使用する。
また、図7の品質解析により、図72の帳票から、かすれ状態やつぶれ状態や高品質文字などを検出する。この例では、画像の品質は正常で、かすれ状態やつぶれ状態や高品質文字などは検出されない。
また、図7の品質解析により、図72の帳票から、かすれ状態やつぶれ状態や高品質文字などを検出する。この例では、画像の品質は正常で、かすれ状態やつぶれ状態や高品質文字などは検出されない。
また、図8の訂正解析により、図72の帳票から訂正文字候補を抽出する。この例では、枠番号1のフリーピッチ枠から抽出された第1番目のパターン、枠番号2、4の一文字枠から抽出されたパターン、枠番号5−1の枠から抽出されたパターン及び枠番号6の不規則な表から抽出されたパターンは、訂正文字候補とされる。
ここで、図72の帳票から訂正文字の候補を抽出するには、例えば、図30に示した特徴量抽出方法を使用する。
次に、環境認識系11は、入力画像から抽出した文字の候補ごとに、図5〜図8の処理により帳票から抽出した状態を記入した中間処理結果テーブルを作成する。
次に、環境認識系11は、入力画像から抽出した文字の候補ごとに、図5〜図8の処理により帳票から抽出した状態を記入した中間処理結果テーブルを作成する。
図73は、図5〜図8の処理により帳票から抽出した状態を記入した中間処理結果テーブルを示す図である。
図73において、枠番号1の欄には、「枠種類」として「フリーピッチ」、「文字数」として「8」が記入され、枠番号1の第1番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「有2」、「品質」として「正常」が記入され、枠番号1の第2番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入され、枠番号1の第8番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されている。
図73において、枠番号1の欄には、「枠種類」として「フリーピッチ」、「文字数」として「8」が記入され、枠番号1の第1番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「有2」、「品質」として「正常」が記入され、枠番号1の第2番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入され、枠番号1の第8番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されている。
ここで、「消し線」の欄の「有1」は複数文字に対して消し線候補が存在していることを示し、「消し線」の欄の「有2」は一文字に対して消し線候補が存在していることを示している。
枠番号2の欄には、「枠種類」として「一文字」、「枠接触有無」として「無」、「消し線」として「有2」、「品質」として「正常」、「文字数」として「1」が記入され、枠番号3の欄には、「枠種類」として「一文字」、「枠接触有無」として「無」、「消し線」として「無」、「品質」として「正常」、「文字数」として「1」が記入され、枠番号4の欄には、「枠種類」として「一文字」、「枠接触有無」として「有」、「消し線」として「有2」、「品質」として「正常」、「文字数」として「1」が記入されている。
枠番号5の欄には、「枠種類」として「はしご」、「文字数」として「3」が記入され、枠番号5−1の欄には、「枠接触有無」として「無」、「消し線」として「有2」、「品質」として「正常」、「文字数」として「1」が記入され、枠番号5−2の欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」、「文字数」として「1」が記入され、枠番号5−3の欄には、「枠接触有無」として「無」、「消し線」として「無」、「品質」として「正常」、「文字数」として「1」が記入されている。
枠番号6の欄には、「枠種類」として「表」が記入され、枠番号6−1−1の欄には、「枠種類」として「フリーピッチ」、「枠接触有無」として「有」、「消し線」として「有1」、「品質」として「正常」が記入され、枠番号6−2−2の欄には、「枠種類」として「フリーピッチ」、「枠接触有無」として「無」、「消し線」として「有1」、「品質」として「正常」が記入されている。
次に、環境認識系11は、図5〜図8の処理により帳票から抽出した状態に基づいて、図9の処理を行う。
すなわち、図73の中間処理結果テーブルに記入された入力画像の状態に基づいて、図3の文字認識部12の基本文字認識部17、文字列認識部15、接触文字認識部13、かすれ文字認識部19、つぶれ文字認識部21、又は非文字認識部25の消し線認識部26及び雑音認識部28のいずれの処理を呼び出すかを処理順序制御ルールを参照しながら決定し、決定した処理を図73の中間処理結果テーブルの「処理呼出し」の欄に記入する。そして、図73の中間処理結果テーブルの「処理呼出し」の欄に記入された処理をどのような順序で実行するかを、処理順序テーブルを参照しながら決定し、決定した順序を図73の中間処理結果テーブルの「処理順序」の欄に記入する。
すなわち、図73の中間処理結果テーブルに記入された入力画像の状態に基づいて、図3の文字認識部12の基本文字認識部17、文字列認識部15、接触文字認識部13、かすれ文字認識部19、つぶれ文字認識部21、又は非文字認識部25の消し線認識部26及び雑音認識部28のいずれの処理を呼び出すかを処理順序制御ルールを参照しながら決定し、決定した処理を図73の中間処理結果テーブルの「処理呼出し」の欄に記入する。そして、図73の中間処理結果テーブルの「処理呼出し」の欄に記入された処理をどのような順序で実行するかを、処理順序テーブルを参照しながら決定し、決定した順序を図73の中間処理結果テーブルの「処理順序」の欄に記入する。
処理順序制御ルールの例としては、
(A1)もし、ある処理対象に対し、中間処理結果テーブルの状態を示す欄が「有」で、その状態に対応する処理が実行されていないならば、その状態に対応する処理を中間処理結果テーブルの「処理呼出し」の欄に記入する、
(A2)もし、ある処理対象に対し、中間処理結果テーブルの状態を示す全ての欄が「無」、または「正常」で、基本文字認識部17の処理が実行されていないならば、中間処理結果テーブルの「処理呼出し」の欄に「基本」と記入する、
(A3)もし、ある処理対象に対し、中間処理結果テーブルに記入された状態に対応する処理が複数個存在しているならば、複数個の処理の順序を決定している処理順序テーブルをアクセスして「処理呼出し」の欄の順序を並び替える、
(A4)もし、ある処理対象に対し、中間処理結果テーブルに記入された状態に対応する処理が終了したならば、終了した処理を中間処理結果テーブルの「処理完了」の欄に記入するとともに、次に行うべき指示や処理の中断や終了を示す指示を中間処理結果テーブルの「処理指示」の欄に記入し、それらの情報に基づいて、中間処理結果テーブルの「処理呼出し」の欄の順序を並び替える、
などがある。
(A1)もし、ある処理対象に対し、中間処理結果テーブルの状態を示す欄が「有」で、その状態に対応する処理が実行されていないならば、その状態に対応する処理を中間処理結果テーブルの「処理呼出し」の欄に記入する、
(A2)もし、ある処理対象に対し、中間処理結果テーブルの状態を示す全ての欄が「無」、または「正常」で、基本文字認識部17の処理が実行されていないならば、中間処理結果テーブルの「処理呼出し」の欄に「基本」と記入する、
(A3)もし、ある処理対象に対し、中間処理結果テーブルに記入された状態に対応する処理が複数個存在しているならば、複数個の処理の順序を決定している処理順序テーブルをアクセスして「処理呼出し」の欄の順序を並び替える、
(A4)もし、ある処理対象に対し、中間処理結果テーブルに記入された状態に対応する処理が終了したならば、終了した処理を中間処理結果テーブルの「処理完了」の欄に記入するとともに、次に行うべき指示や処理の中断や終了を示す指示を中間処理結果テーブルの「処理指示」の欄に記入し、それらの情報に基づいて、中間処理結果テーブルの「処理呼出し」の欄の順序を並び替える、
などがある。
図74は、処理順序テーブルの一例を示す図である。
図74において、処理順序テーブルには、例えば、
(B1)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に1つの処理しか記入されていない場合は、中間処理結果テーブルの「処理順序」の欄にその処理を記入する、
(B2)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠/フリーピッチ」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「黒枠→フリーピッチ」と記入する、
(B3)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「消し線(有2)/黒枠」と記入された場合は、「黒枠→一文字消し線」と記入する、
(B4)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠/フリーピッチ/消し線(有2)」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「黒枠→一文字消し線→フリーピッチ」と記入する、
(B5)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠/フリーピッチ/消し線(有1)」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に複数文字の「消し線→黒枠→フリーピッチ」と記入する、
(B6)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「フリーピッチ/消し線(有1)」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「複数文字の消し線→フリーピッチ」と記入する、
(B7)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理A、B、C」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理B→処理A→処理C」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理B」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理A→処理C」に更新する、
(B8)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理A、B、C」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理B→処理A→処理C」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理B」と記入され、中間処理結果テーブルの「処理指示」の欄に「処理Cにスキップ」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理C」に更新する、
(B9)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理A、B、C」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理B→処理A→処理C」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理B」と記入され、中間処理結果テーブルの「処理指示」の欄に「処理Cと処理Aとの順序逆転」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理C→処理A」に更新する、
(B10)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理B、A」と記入され、中間処理結果テーブルの「処理完了」の欄に「処理A」と記入され、中間処理結果テーブルの「処理指示」の欄に「終了」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「終了」とする、
などの手順が格納されている。
図74において、処理順序テーブルには、例えば、
(B1)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に1つの処理しか記入されていない場合は、中間処理結果テーブルの「処理順序」の欄にその処理を記入する、
(B2)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠/フリーピッチ」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「黒枠→フリーピッチ」と記入する、
(B3)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「消し線(有2)/黒枠」と記入された場合は、「黒枠→一文字消し線」と記入する、
(B4)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠/フリーピッチ/消し線(有2)」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「黒枠→一文字消し線→フリーピッチ」と記入する、
(B5)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠/フリーピッチ/消し線(有1)」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に複数文字の「消し線→黒枠→フリーピッチ」と記入する、
(B6)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「フリーピッチ/消し線(有1)」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「複数文字の消し線→フリーピッチ」と記入する、
(B7)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理A、B、C」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理B→処理A→処理C」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理B」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理A→処理C」に更新する、
(B8)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理A、B、C」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理B→処理A→処理C」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理B」と記入され、中間処理結果テーブルの「処理指示」の欄に「処理Cにスキップ」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理C」に更新する、
(B9)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理A、B、C」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理B→処理A→処理C」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理B」と記入され、中間処理結果テーブルの「処理指示」の欄に「処理Cと処理Aとの順序逆転」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理C→処理A」に更新する、
(B10)ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理B、A」と記入され、中間処理結果テーブルの「処理完了」の欄に「処理A」と記入され、中間処理結果テーブルの「処理指示」の欄に「終了」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「終了」とする、
などの手順が格納されている。
図75は、図73の中間処理結果テーブルに記入された入力画像の状態に基づいて呼び出す処理を「処理呼出し」の欄に記入するとともに、「処理呼出し」の欄に記入された処理を実行する順序を「処理順序」の欄に記入した例を示す図である。
図75において、枠番号1の欄には、「枠種類」として「フリーピッチ」が記入され、枠番号1の第1番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「有2」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「黒枠/フリーピッチ/消し線(有2)」と記入するとともに、処理順序制御ルールの(A3)に従って処理順序テーブルの(B4)を参照し、「処理順序」の欄に「黒枠→一文字消し線→フリーピッチ」と記入する。
枠番号1の第2番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「黒枠/フリーピッチ」と記入するとともに、処理順序制御ルールの(A3)に従って処理順序テーブルの(B2)を参照し、「処理順序」の欄に「黒枠→フリーピッチ」と記入する。
枠番号1の第8番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「黒枠/フリーピッチ」と記入するとともに、処理順序制御ルールの(A3)に従って処理順序テーブルの(B2)を参照し、「処理順序」の欄に「黒枠→フリーピッチ」と記入する。
枠番号2の欄には、「枠種類」として「一文字」、「枠接触有無」として「無」、「消し線」として「有2」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「消し線(有2)」と記入するとともに、処理順序制御ルールの(A1)に従って「処理順序」の欄に「一文字消し線」と記入する。
枠番号3の欄には、「枠種類」として「一文字」、「枠接触有無」として「無」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A2)に従って「処理呼び出し」の欄に「基本」と記入するとともに、処理順序制御ルールの(A1)に従って「処理順序」の欄に「基本」と記入する。
枠番号4の欄には、「枠種類」として「一文字」、「枠接触有無」として「有」、「消し線」として「有2」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「黒枠/消し線(有2)」と記入するとともに、処理順序制御ルールの(A3)に従って処理順序テーブルの(B3)を参照し、「処理順序」の欄に「黒枠→一文字消し線」と記入する。
枠番号5の欄には、「枠種類」として「はしご」が記入され、枠番号5−1の欄には、「枠接触有無」として「無」、「消し線」として「有2」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「消し線(有2)」と記入するとともに、処理順序制御ルールの(A1)に従って「処理順序」の欄に「一文字消し線」と記入する。
枠番号5−2の欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「黒枠」と記入するとともに、処理順序制御ルールの(A1)に従って「処理順序」の欄に「黒枠」と記入する。
枠番号5−3の欄には、「枠接触有無」として「無」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A2)に従って「処理呼び出し」の欄に「基本」と記入するとともに、処理順序制御ルールの(A1)に従って「処理順序」の欄に「基本」と記入する。
枠番号6の欄には、「枠種類」として「表」が記入され、枠番号6−1−1の欄には、「枠種類」として「フリーピッチ」、「枠接触有無」として「有」、「消し線」として「有1」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「黒枠/フリーピッチ/消し線(有1)」と記入するとともに、処理順序制御ルールの(A3)に従って処理順序テーブルの(B5)を参照し、「処理順序」の欄に「複数文字の消し線→黒枠→フリーピッチ」と記入する。
枠番号6−2−2の欄には、「枠種類」として「フリーピッチ」、「枠接触有無」として「無」、「消し線」として「有1」、「品質」として「正常」が記入されているので、処理順序制御ルールの(A1)に従って「処理呼び出し」の欄に「フリーピッチ/消し線(有1)」と記入するとともに、処理順序制御ルールの(A3)に従って処理順序テーブルの(B6)を参照し、「処理順序」の欄に複数文字の「複数文字の消し線→フリーピッチ」と記入する。
次に、「処理呼出し」の欄及び「処理順序」の欄が記入された図75の中間処理結果テーブルに基づいて、処理実行ルールを参照しながら最初の認識処理を実行する。そして、処理が完了した認識処理を中間処理結果テーブルの「処理完了」の欄に記入するとともに、その時の認識処理で得られた信頼度を中間処理結果テーブルの「信頼度」の欄に記入する。
また、中間処理結果テーブルの「処理順序」の欄を、図74の処理順序テーブルの(B7)〜(B9)に従って更新するとともに、処理実行ルールによって指示される次の処理がある場合は、中間処理結果テーブルの「処理指示」の欄にその処理を記入する。
処理実行ルールとしては、例えば、
(C1)もし、ある処理対象に対し、中間処理結果テーブルの「処理順序」の欄に記入されている処理が存在するならば、優先順位の最も高い処理を実行する。そして、実行した処理が終了したならば、中間処理結果テーブルの「処理完了」の欄に終了した処理を記入し、中間処理結果テーブルの「処理順序」の欄からその処理を削除する。また、次に実行する処理を指示する場合は、中間処理結果テーブルの「処理指示」の欄にその処理を記入する、
(C2)もし、ある処理を実行した結果、あるパターンが非文字ではなく、文字であると判断され、その文字コードが所定の値以上の信頼度で算出されたならば、「個人筆記特性」による文字認識処理を呼び出すことを中間処理結果テーブルの「処理指示」の欄に記入する、
(C3)もし、ある処理を実行した結果、あるパターンが消し線であると判断され、その消し線が所定の値以上の信頼度で算出されたならば、中間処理結果テーブルの「処理指示」の欄に「終了」と記入し、中間処理結果テーブルの「処理順序」の欄に記入されているそれ以降の処理を打ち切って、処理を終了させる、
(C4)もし、中間処理結果テーブルの「処理順序」の欄の最初に「フリーピッチ」と記入され、同じ枠番号の他の処理対象についての「フリーピッチ」より前の処理が未処理であるならば、同じ枠番号の全て処理対象の「処理順序」の欄の最初に「フリーピッチ」と記入された後、同じ枠番号の全て処理対象の「フリーピッチ」の処理を同時に実行する、
(C5)もし、中間処理結果テーブルの「処理順序」の欄に記入された全ての処理が終了し、全ての処理対象について、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるか、又は「個人筆記特性」と記入されたならば、「処理指示」の欄に「個人筆記特性」と記入されている処理対象に対して、「個人筆記特性」による文字認識処理を呼び出してその処理を実行し、「個人筆記特性」による文字認識処理が終了したならば、中間処理結果テーブルの「処理指示」の欄に「終了」と記入する、
(C6)もし、全ての処理対象について、中間処理結果テーブルの「処理指示」の欄に終了と記入されたならば、全ての処理を終了して認識結果を出力する、
などがある。
(C1)もし、ある処理対象に対し、中間処理結果テーブルの「処理順序」の欄に記入されている処理が存在するならば、優先順位の最も高い処理を実行する。そして、実行した処理が終了したならば、中間処理結果テーブルの「処理完了」の欄に終了した処理を記入し、中間処理結果テーブルの「処理順序」の欄からその処理を削除する。また、次に実行する処理を指示する場合は、中間処理結果テーブルの「処理指示」の欄にその処理を記入する、
(C2)もし、ある処理を実行した結果、あるパターンが非文字ではなく、文字であると判断され、その文字コードが所定の値以上の信頼度で算出されたならば、「個人筆記特性」による文字認識処理を呼び出すことを中間処理結果テーブルの「処理指示」の欄に記入する、
(C3)もし、ある処理を実行した結果、あるパターンが消し線であると判断され、その消し線が所定の値以上の信頼度で算出されたならば、中間処理結果テーブルの「処理指示」の欄に「終了」と記入し、中間処理結果テーブルの「処理順序」の欄に記入されているそれ以降の処理を打ち切って、処理を終了させる、
(C4)もし、中間処理結果テーブルの「処理順序」の欄の最初に「フリーピッチ」と記入され、同じ枠番号の他の処理対象についての「フリーピッチ」より前の処理が未処理であるならば、同じ枠番号の全て処理対象の「処理順序」の欄の最初に「フリーピッチ」と記入された後、同じ枠番号の全て処理対象の「フリーピッチ」の処理を同時に実行する、
(C5)もし、中間処理結果テーブルの「処理順序」の欄に記入された全ての処理が終了し、全ての処理対象について、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるか、又は「個人筆記特性」と記入されたならば、「処理指示」の欄に「個人筆記特性」と記入されている処理対象に対して、「個人筆記特性」による文字認識処理を呼び出してその処理を実行し、「個人筆記特性」による文字認識処理が終了したならば、中間処理結果テーブルの「処理指示」の欄に「終了」と記入する、
(C6)もし、全ての処理対象について、中間処理結果テーブルの「処理指示」の欄に終了と記入されたならば、全ての処理を終了して認識結果を出力する、
などがある。
図76は、図75の中間処理結果テーブルに基づいて、処理実行ルールを参照しながら認識処理を実行し、その時の認識処理で得られた信頼度を中間処理結果テーブルの「信頼度」の欄に記入し、処理実行ルールに基づいて中間処理結果テーブルの「処理順序」の欄を更新するとともに、中間処理結果テーブルの「処理指示」の欄に記入を行った例を示す図である。
まず、図75の中間処理結果テーブルの枠番号1の第1番目のパターンの「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行する。
この接触文字認識部13では、例えば、図39及び図40に示したように、枠を除去したパターンに対して文字補完や再補完を行うことにより、枠接触文字についての文字認識を行う。また、文字補完や再補完を用いても十分な信頼度が得られないパターンについては、知識テーブル14を参照し、図42〜図51に示した学習文字に対する再文字認識を行うことにより、枠接触文字についての文字認識を行う。
接触文字認識部13の文字認識処理により、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンの認識信頼度が20%と算出された結果、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンは文字でないとみなされ、中間処理結果テーブルの「文字コード」の欄に「リジェクト」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「20%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄が「一文字消し線→フリーピッチ」に更新される。
次に、図75の中間処理結果テーブルの枠番号1の第2番目のパターンの「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号1のフリーピッチ枠から抽出された第2番目のパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行し、枠接触文字についての文字認識を行う。
次に、図75の中間処理結果テーブルの枠番号1の第2番目のパターンの「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号1のフリーピッチ枠から抽出された第2番目のパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行し、枠接触文字についての文字認識を行う。
接触文字認識部13の文字認識処理により、図72の枠番号1のフリーピッチ枠から抽出された第2番目のパターンは、認識信頼度が60%の確率で文字カテゴリ「3」であると認識され、中間処理結果テーブルの「文字コード」の欄に「3」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「60%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄が「フリーピッチ」に更新される。
次に、図75の中間処理結果テーブルの枠番号1の第8番目のパターンの「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号1のフリーピッチ枠から抽出された第8番目のパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行し、枠接触文字についての文字認識を行う。
次に、図75の中間処理結果テーブルの枠番号1の第8番目のパターンの「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号1のフリーピッチ枠から抽出された第8番目のパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行し、枠接触文字についての文字認識を行う。
接触文字認識部13の文字認識処理により、図72の枠番号1のフリーピッチ枠から抽出された第8番目のパターンは、認識信頼度が95%の確率で文字カテゴリ「4」であると認識され、中間処理結果テーブルの「文字コード」の欄に「4」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「95%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄が「フリーピッチ」に更新される。
次に、図75の中間処理結果テーブルの枠番号2の「処理順序」の欄において、「一文字消し線」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号2の一文字枠から抽出されたパターンに対し、「一文字消し線」に対応する図3の消し線認識部26の処理を実行する。
次に、図75の中間処理結果テーブルの枠番号2の「処理順序」の欄において、「一文字消し線」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号2の一文字枠から抽出されたパターンに対し、「一文字消し線」に対応する図3の消し線認識部26の処理を実行する。
この消し線認識部26では、例えば、図67に示したように、訂正文字の候補として抽出されたパターンから所定値以上のヒストグラム値を有する横線を除去し、この横線を除去したパターンが、文字と認識された場合は、除去した横線を消し線とみなすことにより、訂正文字の候補として抽出されたパターンを訂正文字と認識し、所定値以上のヒストグラム値を有する横線を除去したパターンが、リジェクトされた場合は、除去した横線を消し線を文字に一部とみなして消し線でないとすることにより、訂正文字の候補として抽出されたパターンを通常文字と認識する。
消し線認識部26の消し線認識処理により、図72の枠番号2の一文字枠から抽出されたパターンの認識信頼度が10%と算出された結果、図72の枠番号2の一文字枠から抽出されたパターンは訂正文字でないとみなされ、中間処理結果テーブルの「信頼度」の欄に「10%」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「基本」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「消し線」と記入され、中間処理結果テーブルの「処理順序」の欄に「基本」と記入される。
次に、図75の中間処理結果テーブルの枠番号3の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号3の一文字枠から抽出されたパターンに対し、「基本」に対応する図3の基本文字認識部17の処理を実行する。
次に、図75の中間処理結果テーブルの枠番号3の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号3の一文字枠から抽出されたパターンに対し、「基本」に対応する図3の基本文字認識部17の処理を実行する。
この基本文字認識部17では、例えば、図31に示したように、入力された未知文字の特徴を抽出し、この未知文字の特徴を特徴ベクトルにより表し、基本辞書に予め格納されている各カテゴリの特徴ベクトルと照合することにより、特徴空間上での特徴ベクトル間の距離を算出し、特徴ベクトル間の距離を最小とする文字カテゴリを未知文字として認識する。
また、基本文字認識部17は、未知文字の輪郭の凹凸の個数を算出することにより、未知文字の変形度を算出する。そして、未知文字の変形度が大きくて、認識率が低下する場合は、知識テーブル18を参照し、図34〜図38に示した詳細識別法を用いて文字認識を実行する。
基本文字認識部17の文字認識処理により、図72の枠番号3の一文字枠から抽出されたパターンは、認識信頼度が95%の確率で文字カテゴリ「3」である1認識され、中間処理結果テーブルの「文字コード」の欄に「3」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「95%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「基本」と記入され、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図75の中間処理結果テーブルの枠番号4の「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号4の一文字枠から抽出されたパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行し、枠接触文字についての文字認識を行う。
次に、図75の中間処理結果テーブルの枠番号4の「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号4の一文字枠から抽出されたパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行し、枠接触文字についての文字認識を行う。
接触文字認識部13の文字認識処理により、図72の枠番号4の一文字枠から抽出されたパターンの認識信頼度が15%と算出された結果、図72の枠番号4の一文字枠から抽出されたパターンは文字でないとみなされ、中間処理結果テーブルの「文字コード」の欄に「リジェクト」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「15%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄が「一文字消し線」に更新される。
次に、図75の中間処理結果テーブルの枠番号5−1の「処理順序」の欄において、「一文字消し線」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号5−1の枠から抽出されたパターンに対し、「一文字消し線」に対応する図3の消し線認識部26の処理を実行し、訂正文字の候補として抽出されたパターンの認識処理を行う。
次に、図75の中間処理結果テーブルの枠番号5−1の「処理順序」の欄において、「一文字消し線」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号5−1の枠から抽出されたパターンに対し、「一文字消し線」に対応する図3の消し線認識部26の処理を実行し、訂正文字の候補として抽出されたパターンの認識処理を行う。
消し線認識部26の消し線認識処理により、図72の枠番号5−1の枠から抽出されたパターンの認識信頼度が95%と算出された結果、図72の枠番号5−1の枠から抽出されたパターンは訂正文字とみなされ、中間処理結果テーブルの「信頼度」の欄に「95%」と記入されるとともに、中間処理結果テーブルの「処理完了」の欄に「消し線」と記入される。
また、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図75の中間処理結果テーブルの枠番号5−2の「処理順序」の欄において、「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号5−2の枠から抽出されたパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行し、枠接触文字についての文字認識を行う。
次に、図75の中間処理結果テーブルの枠番号5−2の「処理順序」の欄において、「黒枠」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号5−2の枠から抽出されたパターンに対し、「黒枠」に対応する図3の接触文字認識部13の処理を実行し、枠接触文字についての文字認識を行う。
ここで、図72の枠番号5−2の枠から抽出されたパターンは、下線部分が枠と接触し、図39の文字補完や図40の再補完による処理では十分な信頼度が得られないので、図50(b)に示したように、図45の知識テーブル167を参照することにより、誤読文字対(2、7)を獲得し、図47に示した領域強調の手法により、再文字認識を行う。
接触文字認識部13の文字認識処理により、図72の枠番号5−2の枠から抽出されたパターンは、認識信頼度が95%の確率で文字カテゴリ「2」であると認識され、中間処理結果テーブルの「文字コード」の欄に「2」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「95%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図75の中間処理結果テーブルの枠番号5−3の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号5−3の枠から抽出されたパターンに対し、「基本」に対応する図3の基本文字認識部17の処理を実行し、基本文字についての文字認識処理を行う。
次に、図75の中間処理結果テーブルの枠番号5−3の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号5−3の枠から抽出されたパターンに対し、「基本」に対応する図3の基本文字認識部17の処理を実行し、基本文字についての文字認識処理を行う。
基本文字認識部17の文字認識処理により、図72の枠番号5−3の枠から抽出されたパターンは、認識信頼度が90%の確率で文字カテゴリ「6」であると認識され、中間処理結果テーブルの「文字コード」の欄に「6」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「90%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「基本」と記入され、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図75の中間処理結果テーブルの枠番号6−1−1の「処理順序」の欄において、最初に「複数文字の消し線」と指示されているので、処理実行ルールの(C1)に従って、「複数文字の消し線」に対応する図3の消し線認識部26の処理を実行し、消し線の認識処理を行う。
次に、図75の中間処理結果テーブルの枠番号6−1−1の「処理順序」の欄において、最初に「複数文字の消し線」と指示されているので、処理実行ルールの(C1)に従って、「複数文字の消し線」に対応する図3の消し線認識部26の処理を実行し、消し線の認識処理を行う。
消し線認識部26の消し線認識処理により、枠番号6の表から消し線が抽出され、その消し線の認識信頼度が98%と算出された結果、図72の枠番号6−1−1の枠から抽出されたパターンは訂正文字とみなされ、中間処理結果テーブルの「文字コード」の欄に「消し線」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「98%」と記入され、中間処理結果テーブルの「処理完了」の欄に「消し線」と記入される。
また、処理実行ルールの(C3)に従って、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図75の中間処理結果テーブルの枠番号6−2−2の「処理順序」の欄において、最初に「複数文字の消し線」と指示されているので、処理実行ルールの(C1)に従って、「複数文字の消し線」に対応する図3の消し線認識部26の処理を実行し、消し線の認識処理を行う。
消し線認識部26の消し線認識処理により、枠番号6の表から消し線が抽出され、その消し線の認識信頼度が98%と算出された結果、図72の枠番号6−2−2の枠から抽出されたパターンは訂正文字とみなされ、中間処理結果テーブルの「文字コード」の欄に「消し線」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「98%」と記入され、中間処理結果テーブルの「処理完了」の欄に「消し線」と記入される。
また、処理実行ルールの(C3)に従って、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
以上に処理により、図76の中間処理結果テーブルが生成される。ここで、図76の中間処理結果テーブルの「処理順序」の欄には、次に呼び出す処理が記入されているので、処理実行ルール(C1)に従って処理を続行する。
図77は、図76の中間処理結果テーブルに基づいて認識処理を続行し、その際に得られた結果を示す図である。
まず、図76の中間処理結果テーブルの枠番号1の第1番目のパターンの「処理順序」の欄において、最初に「一文字消し線」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンに対し、「一文字消し線」に対応する図3の消し線認識部26の処理を実行し、訂正文字についての認識処理を行う。
まず、図76の中間処理結果テーブルの枠番号1の第1番目のパターンの「処理順序」の欄において、最初に「一文字消し線」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンに対し、「一文字消し線」に対応する図3の消し線認識部26の処理を実行し、訂正文字についての認識処理を行う。
消し線認識部26の認識処理により、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンの認識信頼度が96%と算出された結果、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンは訂正文字とみなされ、中間処理結果テーブルの「文字コード」の欄に「消し線」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「96%」と記入され、中間処理結果テーブルの「処理完了」の欄に「黒枠/消し線」と記入される。
また、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図75の中間処理結果テーブルの枠番号1の第2番目のパターンの「処理順序」の欄において、「フリーピッチ」と指示されているので、処理実行ルールの(C4)に従って、図72の枠番号1のフリーピッチ枠から抽出された第2番目のパターンに対し、同じ枠番号1の他の全てのパターンの「処理順序」の欄が「フリーピッチ」となるまで待機し、枠番号1の全てのパターンの「処理順序」の欄が「フリーピッチ」となった時に、枠番号1のフリーピッチ枠から抽出された全てのパターンを対象として、「フリーピッチ」に対応する図3の文字列認識部15の処理を実行し、文字の切り出し信頼度を考慮しながら文字認識を行う。
次に、図75の中間処理結果テーブルの枠番号1の第2番目のパターンの「処理順序」の欄において、「フリーピッチ」と指示されているので、処理実行ルールの(C4)に従って、図72の枠番号1のフリーピッチ枠から抽出された第2番目のパターンに対し、同じ枠番号1の他の全てのパターンの「処理順序」の欄が「フリーピッチ」となるまで待機し、枠番号1の全てのパターンの「処理順序」の欄が「フリーピッチ」となった時に、枠番号1のフリーピッチ枠から抽出された全てのパターンを対象として、「フリーピッチ」に対応する図3の文字列認識部15の処理を実行し、文字の切り出し信頼度を考慮しながら文字認識を行う。
次に、図75の中間処理結果テーブルの枠番号1の第8番目のパターンの「処理順序」の欄において、「フリーピッチ」と指示されているので、処理実行ルールの(C4)に従って、図72の枠番号1のフリーピッチ枠から抽出された第8番目のパターンに対し、同じ枠番号1の他の全てのパターンの「処理順序」の欄が「フリーピッチ」となるまで待機し、枠番号1の全てのパターンの「処理順序」の欄が「フリーピッチ」となった時に、枠番号1のフリーピッチ枠から抽出された全てのパターンを対象として、「フリーピッチ」に対応する図3の文字列認識部15の処理を実行し、文字の切り出し信頼度を考慮しながら認識処理を行う。
そして、枠番号1の全てのパターンの「処理順序」の欄が「フリーピッチ」となった場合、図72の枠番号1のフリーピッチ枠から抽出された全てのパターンを対象として、文字列認識部15の文字認識処理を行う。
ここで、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンについては、図77の中間処理結果テーブルの枠番号1の第1番目のパターンの「処理指示」の欄が「終了」となっているので、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンを文字列認識部15の処理対象から除外し、図72の枠番号1のフリーピッチ枠から抽出された第2番目のパターンから第8番目のパターンについて、文字列認識部15の認識処理を実行する。
この文字列認識部15では、例えば、図52〜図65に示したように、文字を切り出した際の信頼度を判別面からの距離に基づいて算出し、(文字切り出しの信頼度)と(文字認識の信頼度)との積が最大となるものを、切り出し文字とする。
文字列認識部15の認識処理により、図72の枠番号1のフリーピッチ枠から抽出された第2番目のパターンは、認識信頼度が95%の確率で文字カテゴリ「3」であると認識され、中間処理結果テーブルの「文字コード」の欄に「3」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「95%」と記入される。
また、処理実行ルールの(C1)に従って、中間処理結果テーブルの「処理完了」の欄に「黒枠/フリーピッチ」と記入され、中間処理結果テーブルの「処理順序」の欄が空欄となり、処理実行ルールの(C4)に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
図72の枠番号1のフリーピッチ枠から抽出された第8番目のパターンは、認識信頼度が98%の確率で文字カテゴリ「4」であると認識され、中間処理結果テーブルの「文字コード」の欄に「4」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「98%」と記入される。
また、処理実行ルールの(C1)に従って、中間処理結果テーブルの「処理完了」の欄に「黒枠/フリーピッチ」と記入され、中間処理結果テーブルの「処理順序」の欄が空欄となり、処理実行ルールの(C4)に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
また、図72の枠番号1のフリーピッチ枠から抽出された第3番目のパターンは、文字カテゴリ「2」であると認識され、図72の枠番号1のフリーピッチ枠から抽出された第4番目のパターンと図72の枠番号1のフリーピッチ枠から抽出された第5番目のパターンとは、文字列認識部15の認識処理により1つの文字に統合され、文字カテゴリ「7」であると認識され、図72の枠番号1のフリーピッチ枠から抽出された第6番目のパターンは、文字カテゴリ「4」であると認識され、図72の枠番号1のフリーピッチ枠から抽出された第7番目のパターンは、文字カテゴリ「6」であると認識される。
この結果、図77の中間処理結果テーブルの「文字数」の欄は「7」に変更される。
次に、図76の中間処理結果テーブルの枠番号2の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号2の一文字枠から抽出されたパターンに対し、「基本」に対応する図3の基本文字認識部17の処理を実行し、基本文字についての文字認識処理を行う。
次に、図76の中間処理結果テーブルの枠番号2の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号2の一文字枠から抽出されたパターンに対し、「基本」に対応する図3の基本文字認識部17の処理を実行し、基本文字についての文字認識処理を行う。
基本文字認識部17の文字認識処理により、図72の枠番号2の一文字枠から抽出されたパターンは、認識信頼度が97%の確率で文字カテゴリ「5」であると認識され、中間処理結果テーブルの「文字コード」の欄に「5」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「97%」と記入される。
また、中間処理結果テーブルの「処理呼び出し」の欄に「消し線(有2)/基本」と記入され、中間処理結果テーブルの「処理完了」の欄に「消し線/基本」と記入され、中間処理結果テーブルの「処理順序」の欄は空欄となり、処理実行ルールの(C4)に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
次に、図76の中間処理結果テーブルの枠番号3の「処理順序」の欄は空欄となっているので、処理実行ルールの(C4)に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
次に、図76の中間処理結果テーブルの枠番号4の「処理順序」の欄において、「一文字消し線」と指示されているので、処理実行ルールの(C1)に従って、図72の枠番号4の一文字枠から抽出されたパターンに対し、「一文字消し線」に対応する図3の消し線認識部26の処理を実行し、訂正文字の候補として抽出されたパターンの認識処理を行う。
消し線認識部26の消し線認識処理により、図72の枠番号4の一文字枠から抽出されたパターンの認識信頼度が95%と算出された結果、図72の枠番号4の一文字枠から抽出されたパターンは訂正文字とみなされ、中間処理結果テーブルの「信頼度」の欄に「95%」と記入されるとともに、中間処理結果テーブルの「処理完了」の欄に「黒枠/消し線」と記入される。
また、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図76の中間処理結果テーブルの枠番号5−1の「処理指示」の欄に「終了」と記入されているので、図72の枠番号5−1の枠から抽出されたパターンについては、処理を行わない。
次に、図76の中間処理結果テーブルの枠番号5−1の「処理指示」の欄に「終了」と記入されているので、図72の枠番号5−1の枠から抽出されたパターンについては、処理を行わない。
次に、図76の中間処理結果テーブルの枠番号5−2の「処理順序」の欄は空欄となっているので、処理実行ルールの(C4)に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
次に、図76の中間処理結果テーブルの枠番号5−3の「処理順序」の欄は空欄となっているので、処理実行ルールの(C4)に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
次に、図76の中間処理結果テーブルの枠番号6−1−1の「処理指示」の欄に「終了」と記入されているので、図72の枠番号6−1−1の枠から抽出されたパターンについては、処理を行わない。
次に、図76の中間処理結果テーブルの枠番号6−2−2の「処理指示」の欄に「終了」と記入されているので、図72の枠番号6−1−1の枠から抽出されたパターンについては、処理を行わない。
以上に処理により、図77の中間処理結果テーブルが生成される。ここで、図77の中間処理結果テーブルの「処理指示」の欄には、「個人筆記特性」と記入されているものがあるので、処理実行ルール(C5)に従って処理を続行する。
図78は、図77の中間処理結果テーブルに基づいて認識処理を続行し、その際に得られた結果を示す図である。
まず、図76の中間処理結果テーブルの枠番号1の第1番目のパターンの「処理指示」の欄に「終了」と記入されているので、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンについては、処理を行わない。
まず、図76の中間処理結果テーブルの枠番号1の第1番目のパターンの「処理指示」の欄に「終了」と記入されているので、図72の枠番号1のフリーピッチ枠から抽出された第1番目のパターンについては、処理を行わない。
次に、図75の中間処理結果テーブルの枠番号1の第2番目のパターンの「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの(C5)に従って、図72の枠番号1のフリーピッチ枠から抽出された第2番目のパターンに対し、「個人筆記特性」に対応する図3のくせ字解析部23の処理を実行する。
このくせ字解析部23は、例えば、図68〜図71に示したように、同一筆者が書いた手書き文字を各カテゴリごとにクラスタリングし、クラスタリングにより得られた手書き文字の第1のクラスタと距離が近く、且つ他のカテゴリに属する第2のクラスタで要素数が少ないものを第1のクラスタに統合することにより、第2のクラスタに属する手書き文字のカテゴリを第1のクラスタのカテゴリに修正する。
くせ字解析部23の解析処理により、図72の枠番号1のフリーピッチ枠から抽出された第2のパターンは、認識信頼度が97%の確率で文字カテゴリ「3」であると認識され、中間処理結果テーブルの「文字コード」の欄に「3」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「97%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠/フリーピッチ/個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
次に、図75の中間処理結果テーブルの枠番号1の第8番目のパターンの「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの(C5)に従って、図72の枠番号1のフリーピッチ枠から抽出された第8番目のパターンに対し、「個人筆記特性」に対応する図3のくせ字解析部23の処理を実行する。
くせ字解析部23の解析処理により、図72の枠番号1のフリーピッチ枠から抽出された第8番目のパターンは、認識信頼度が98%の確率で文字カテゴリ「4」であると認識され、中間処理結果テーブルの「文字コード」の欄に「4」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「98%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠/フリーピッチ/個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
次に、図76の中間処理結果テーブルの枠番号2の「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの(C5)に従って、図72の枠番号2の一文字枠から抽出されたパターンに対し、「個人筆記特性」に対応する図3のくせ字解析部23の処理を実行する。
くせ字解析部23の解析処理により、図72の枠番号2の一文字枠から抽出されたパターンは、認識信頼度が97%の確率で文字カテゴリ「5」であると認識され、中間処理結果テーブルの「文字コード」の欄に「5」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「97%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠/フリーピッチ/個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
次に、図76の中間処理結果テーブルの枠番号3の「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの(C5)に従って、図72の枠番号3の一文字枠から抽出されたパターンに対し、「個人筆記特性」に対応する図3のくせ字解析部23の処理を実行する。
くせ字解析部23の解析処理により、図72の枠番号3の一文字枠から抽出されたパターンは、認識信頼度が97%の確率で文字カテゴリ「3」であると認識され、中間処理結果テーブルの「文字コード」の欄に「3」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「97%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠/フリーピッチ/個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
次に、図76の中間処理結果テーブルの枠番号4の「処理指示」の欄に「終了」と記入されているので、図72の枠番号4の一文字枠から抽出されたパターンについては、処理を行わない。
次に、図76の中間処理結果テーブルの枠番号5−1の「処理指示」の欄に「終了」と記入されているので、図72の枠番号5−1の枠から抽出されたパターンについては、処理を行わない。
次に、図76の中間処理結果テーブルの枠番号5−2の「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの(C5)に従って、図72の枠番号5−2の枠から抽出されたパターンに対し、「個人筆記特性」に対応する図3のくせ字解析部23の処理を実行する。
くせ字解析部23の解析処理により、図72の枠番号5−2の枠から抽出されたパターンは、認識信頼度が97%の確率で文字カテゴリ「2」であると認識され、中間処理結果テーブルの「文字コード」の欄に「2」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「97%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠/フリーピッチ/個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
次に、図76の中間処理結果テーブルの枠番号5−3の「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの(C5)に従って、図72の枠番号5−3の枠から抽出されたパターンに対し、「個人筆記特性」に対応する図3のくせ字解析部23の処理を実行する。
くせ字解析部23の解析処理により、図72の枠番号5−3の枠から抽出されたパターンは、認識信頼度が96%の確率で文字カテゴリ「4」であると認識され、中間処理結果テーブルの「文字コード」の欄が「4」に変更されるとともに、中間処理結果テーブルの「信頼度」の欄に「96%」と記入される。
また、中間処理結果テーブルの「処理完了」の欄に「黒枠/フリーピッチ/個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
次に、図76の中間処理結果テーブルの枠番号6−1−1の「処理指示」の欄に「終了」と記入されているので、図72の枠番号6−1−1の枠から抽出されたパターンについては、処理を行わない。
次に、図76の中間処理結果テーブルの枠番号6−2−2の「処理指示」の欄に「終了」と記入されているので、図72の枠番号6−1−1の枠から抽出されたパターンについては、処理を行わない。
以上に処理により、図78の中間処理結果テーブルが生成される。ここで、図78の中間処理結果テーブルの「処理指示」の欄は、全ての処理対象に対して「終了」と記入されているので、処理実行ルール(C6)に従って、全ての処理を終了する。
以上説明したように、本発明の実施例によれば、文字認識部12及び非文字認識部25では、環境認識系11で認識された入力画像の状態を処理するために適合した認識処理を行う。
例えば、環境認識系11が罫線に接触した文字を抽出した場合、罫線に接触した文字についての認識処理を専用に行う接触文字認識部13を使用し、環境認識系11がフリーピッチ文字列を抽出した場合、フリーピッチ文字列についての認識処理を専用に行う文字列認識部15を使用し、環境認識系11がかすれ文字を抽出した場合、かすれ文字についての認識処理を専用に行うかすれ文字認識部19を使用し、環境認識系11がつぶれ文字を抽出した場合、つぶれ文字についての認識処理を専用に行うつぶれ文字認識部21を使用し、環境認識系11が非文字を抽出した場合、非文字についての認識処理を専用に非文字認識部25を使用する。
また、文字認識部19又は非文字認識部25の認識結果についての信頼度を算出し、信頼度が低い文字や非文字については、環境認識系11、文字認識部19及び非文字認識部25の間で相互にフィードバックを行うようにして他の処理をやり直すようにし、信頼度が高くなるか、又は実行できる処理がなくなった場合に全体の処理を終了する。
このように、本発明の実施例によれば、文字が書かれている環境に応じて、文字を認識する際に使用する特徴及び識別法をアダプティブに変化させて認識処理を実行することができるので、文書や帳票の様々な環境に対応した高精度な文字認識が可能となる。
また、文字コードのみを認識結果として出力するだけでなく、環境認識系11による環境認識結果を文字認識結果と同時に出力することができるとともに、環境認識結果と文字認識結果とが相互に一致した時に文字認識結果を出力することが可能となり、文字認識結果に対する確認機能及び信頼性を向上させることができる。
さらに、非文字認識部25を専用に設け、非文字認識を文字認識と独立して行うことができるので、文字認識及び非文字認識の信頼性を向上させることができる。
さらにまた、各文字が書かれている環境に応じた独立な認識処理を行うことができるので、各認識処理における辞書や知識を増加させることにより、認識信頼度を向上させることができる。
さらにまた、各文字が書かれている環境に応じた独立な認識処理を行うことができるので、各認識処理における辞書や知識を増加させることにより、認識信頼度を向上させることができる。
1 環境認識手段
2 第1のパターン認識手段
4 第2のパターン認識手段
6 第Nのパターン認識手段
3、5、7 信頼度算出手段
1a 状態抽出手段
1b 認識処理制御手段
1c 中間処理結果テーブル作成手段
1d 処理順序制御ルール格納手段
1e 処理実行ルール格納手段
1f 処理順序テーブル
11 環境認識系
12 文字認識部
13 接触文字認識部
15 文字列認識部
17 基本文字認識部
19 かすれ文字認識部
21 つぶれ文字認識部
23 くせ字解析部
25 非文字認識部
26 消し線認識部
28 雑音認識部
14、16、18、20、22、24、27、29 知識テーブル
30 環境認識系
31 レイアウト解析部
32 訂正解析部
33 文字認識系/非文字認識系
34 基本文字認識部
35 黒枠接触文字認識部
36 フリーピッチ文字列認識部
37 消し線認識部
38 環境認識系
39 くせ字解析部
40 終了判定処理部
41 画像格納部
42 処理条件格納部
43 ラベル画像格納部
44 中間処理結果テーブル
50 プログラムメモリ
51 中央演算処理ユニット
52 画像メモリ
53 ワークメモリ
54 バス
55 インターフェイス回路
56 ディスプレイ
57 プリンタ
58 メモリ
59 スキャナ
60 辞書ファイル
2 第1のパターン認識手段
4 第2のパターン認識手段
6 第Nのパターン認識手段
3、5、7 信頼度算出手段
1a 状態抽出手段
1b 認識処理制御手段
1c 中間処理結果テーブル作成手段
1d 処理順序制御ルール格納手段
1e 処理実行ルール格納手段
1f 処理順序テーブル
11 環境認識系
12 文字認識部
13 接触文字認識部
15 文字列認識部
17 基本文字認識部
19 かすれ文字認識部
21 つぶれ文字認識部
23 くせ字解析部
25 非文字認識部
26 消し線認識部
28 雑音認識部
14、16、18、20、22、24、27、29 知識テーブル
30 環境認識系
31 レイアウト解析部
32 訂正解析部
33 文字認識系/非文字認識系
34 基本文字認識部
35 黒枠接触文字認識部
36 フリーピッチ文字列認識部
37 消し線認識部
38 環境認識系
39 くせ字解析部
40 終了判定処理部
41 画像格納部
42 処理条件格納部
43 ラベル画像格納部
44 中間処理結果テーブル
50 プログラムメモリ
51 中央演算処理ユニット
52 画像メモリ
53 ワークメモリ
54 バス
55 インターフェイス回路
56 ディスプレイ
57 プリンタ
58 メモリ
59 スキャナ
60 辞書ファイル
Claims (3)
- 入力画像から文字を抽出する文字抽出手段と、
入力画像から非文字を抽出する非文字抽出手段と、
文字についての認識処理を行う文字認識手段と、
非文字についての認識処理を行う非文字認識手段と、
前記文字抽出手段が文字を抽出した場合、前記文字認識手段により認識処理を行わせ、前記非文字抽出手段が非文字を抽出した場合、前記非文字認識手段により認識処理を行わせる環境認識手段とを備えることを特徴とするパターン認識装置。 - 前記環境認識手段は、
前記文字抽出手段が文字を抽出した場合、前記文字認識手段による認識結果についての確からしさを示す信頼度を算出し、前記文字認識手段による認識結果の信頼度が所定の値より小さい場合、前記文字抽出手段が抽出した文字を非文字とみなして前記非文字認識手段により認識処理を行わせることを特徴とする請求項1に記載のパターン認識装置。 - 前記環境認識手段は、
前記非文字抽出手段が非文字を抽出した場合、前記非文字認識手段による認識結果についての確からしさを示す信頼度を算出し、前記非文字認識手段による認識結果の信頼度が所定の値より小さい場合、前記非文字抽出手段が抽出した非文字を文字とみなして前記文字認識手段により認識処理を行わせることを特徴とする請求項1に記載のパターン認識装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006298258A JP2007026470A (ja) | 1996-09-27 | 2006-11-01 | パターン認識装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25521796 | 1996-09-27 | ||
JP2006298258A JP2007026470A (ja) | 1996-09-27 | 2006-11-01 | パターン認識装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26129197A Division JP4176175B2 (ja) | 1996-09-27 | 1997-09-26 | パターン認識装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007026470A true JP2007026470A (ja) | 2007-02-01 |
Family
ID=37787071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006298258A Pending JP2007026470A (ja) | 1996-09-27 | 2006-11-01 | パターン認識装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007026470A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011079432A1 (en) * | 2009-12-29 | 2011-07-07 | Nokia Corporation | Method and apparatus for generating a text image |
JP2022104498A (ja) * | 2020-12-28 | 2022-07-08 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、情報処理方法、プログラム |
-
2006
- 2006-11-01 JP JP2006298258A patent/JP2007026470A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011079432A1 (en) * | 2009-12-29 | 2011-07-07 | Nokia Corporation | Method and apparatus for generating a text image |
JP2022104498A (ja) * | 2020-12-28 | 2022-07-08 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、情報処理方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100248917B1 (ko) | 패턴인식장치및방법 | |
EP2943911B1 (en) | Process of handwriting recognition and related apparatus | |
US5583949A (en) | Apparatus and method for use in image processing | |
US7327883B2 (en) | Character recognition system and method | |
EP1497787B1 (en) | System and method for identifying and extracting character strings from captured image data | |
JP3345224B2 (ja) | パターン抽出装置、パターン再認識用テーブル作成装置及びパターン認識装置 | |
JPH06309498A (ja) | 画像抽出方式 | |
CN109685065B (zh) | 试卷内容自动分类的版面分析方法、*** | |
JP2007058882A (ja) | パターン認識装置 | |
Lacerda et al. | Segmentation of connected handwritten digits using Self-Organizing Maps | |
KR100220213B1 (ko) | 문자화상의 히스토그램의0-1패턴표현에 기초한 문자인식방법 및 장치 | |
JP3851742B2 (ja) | 帳票処理方法及び装置 | |
CN114882599A (zh) | 基于双分支神经网络的离线手写签名分割***和方法 | |
US6256408B1 (en) | Speed and recognition enhancement for OCR using normalized height/width position | |
JP4176175B2 (ja) | パターン認識装置 | |
JP2007026470A (ja) | パターン認識装置 | |
JP4810853B2 (ja) | 文字画像切出装置、文字画像切出方法およびプログラム | |
Naz et al. | Challenges in baseline detection of cursive script languages | |
JP3476595B2 (ja) | 画像領域分割方法、および画像2値化方法 | |
JP2000322514A (ja) | パターン抽出装置及び文字切り出し装置 | |
JP2020119291A (ja) | 情報処理装置及びプログラム | |
VM et al. | AN OCR FOR ARABIC CHARACTERS WITH ADVANCED BASELINE SEGMENTATION AND ENHANCED CONVOLUTIONAL NEURAL NETWORK FOR CLASSIFICATION | |
JP2005004395A (ja) | 帳票、帳票処理方法、帳票処理プログラム、帳票処理プログラムを記録した記録媒体及び帳票処理装置 | |
JPH0877293A (ja) | 文字認識装置および文字認識用辞書作成方法 | |
CA2421673C (en) | Character recognition system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080826 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081027 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081202 |