(57)【特許請求の範囲】
【請求項１】
格子状に標本化され２値に量子化された文字パターンを受けて入力文字パターンとして蓄積する文字パターン入力部と、
前記文字パターン入力部に蓄積された前記入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分を含む輪郭情報を抽出する輪郭情報抽出部と、
文字カテゴリの各々について代表的な前記文字パターンの前記有向線分を含む前記輪郭情報を前記文字カテゴリに対応する文字コードとともに予め格納する辞書と、
前記輪郭情報抽出部により抽出された前記入力文字パターンの前記輪郭情報と前記辞書に格納された前記代表的文字パターンの前記輪郭情報とを前記文字カテゴリの各々について前記輪郭情報に含まれる前記有向線分を単位にして照合し、前記入力文字パターンと前記代表的文字パターンとの距離を求め距離値として出力する構造マッチング部と、
前記文字カテゴリの各々について前記構造マッチング部が出力した前記距離値より最も確からしい前記入力文字パターンの前記文字カテゴリを求める文字認識結果出力部と、
を有する文字認識装置であって、
前記輪郭情報抽出部は、前記文字パターン入力部に蓄積された前記入力文字パターンに対して左回りまたは右回りで輪郭追跡を行なって前記入力文字パターンの輪郭の座標値列を抽出する輪郭追跡部と、
前記輪郭追跡部で抽出した前記入力文字パターンの輪郭の前記座標値列より前記入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分をプリミティブセグメントとしてそれぞれ抽出するプリミティブセグメント生成部と、
前記プリミティブセグメント生成部で抽出した前記入力文字パターンのそれぞれの前記プリミティブセグメントを前記入力文字パターンの幅と高さとがそれぞれ予め定められた一定サイズになるようにそれぞれ変換し、この変換したそれぞれの前記プリミティブセグメントを含む前記輪郭情報を前記構造マッチング部に出力する正規化処理部と、
前記正規化処理部により変換されて正規化された前記入力文字パターンのそれぞれの前記プリミティブセグメントから前記入力文字パターン中の凸部分を形成する前記プリミティブセグメントの組を示す凸セグメントとこの凸セグメント以外の部分である前記入力文字パターン中の凹部分を形成する前記プリミティブセグメントの組を示す凹セグメントとを生成する凹凸セグメント生成部と、
前記凹凸セグメント生成部が生成した前記凹セグメント及び前記凸セグメントに予め定めた角度以内のコーナーがあるか否かを調べ前記コーナーがあるときにこのコーナー位置でこのコーナーを有する前記セグメントを分割しこの分割したセグメントと前記コーナーのない前記凹セグメント及び前記凸セグメントを輪郭セグメントとして生成するコーナー分割処理部と、
前記コーナー分割処理部が生成した前記輪郭セグメント単位で、前記輪郭追跡部が抽出した前記入力文字パターンの輪郭の前記座標値列を１又は数画素の距離毎にサンプリングして新たな座標値列を生成し、この座標値列に座標値列の並び順の方向を与えて有向線分の列としたものを標準輪郭セグメントとし、この標準輪郭セグメントを含む前記輪郭情報を入力文字パターンに対応する文字コードとともに出力し前記辞書に予め格納させる標準輪郭セグメント生成部と、
を備え、
前記構造マッチング部は、前記輪郭情報抽出部から得られる前記入力文字パターンに含まれるｉ番目（但し、ｉ＝１〜前記入力文字パターンに含まれる前記プリミティブセグメントの数）の前記プリミティブセグメントＶｉと、前記辞書中の任意の前記文字コードに対応する任意の文字パターンに含まれるすべての前記標準輪郭セグメントとの間で第１の距離計算を行いこの距離値が予め定めたしきい値以内のときに前記しきい値以内となった文字パターンに対応する文字コードとこの文字コードに対応する文字パターンに含まれる前記しきい値以内となった前記標準輪郭セグメントとを出力し、前記計算値が予め定めたしきい値以内でないときに任意の前記文字パターンの中に前記プリミティブセグメントＶｉに対応する標準輪郭セグメントがないことを通知する候補セグメント検出部と、
前記候補セグメント検出部から出力された１以上の前記文字コードのそれぞれの前記標準輪郭セグメントと前記プリミティブセグメントＶｉとの間で第２の距離計算をそれぞれ行ない距離値をそれぞれ出力するセグメント間距離算出部と、
セグメント間距離算出部が出力したそれぞれの前記距離値のうちの前記プリミティブセグメントＶｉとの間で最も小さい距離値に対応する前記標準輪郭セグメントを検出し、その距離値を出力する最良セグメント検出部と、
最良セグメント検出部の出力する距離値を集計して前記入力文字パターンと前記辞書中の前記文字パターンとの文字間の距離値を求める文字パターン間距離算出部と、
を備えたことを特徴とする文字認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は文字認識装置および文字認識方法に関し、特に２値の文字パターンを構造解析的手法を用いて文字認識する文字認識装置および文字認識方法に関する。
【０００２】
【従来の技術】
文字を自動的に読取る光学的文字読取り装置においては、印刷活字、手書文字についてそれぞれ英数字や漢字といった様々な字種を認識する文字認識技術が発達してきている。このような文字認識技術においては、大きく分けてパターンマッチング的な手法と構造解析的な手法の２つが用いられている。パターンマッチング的な手法は、印刷活字のように変形の少ない文字の認識に非常に優れる。変形の大きい手書文字に対しても文字サイズを一定に揃える前処理、いわゆる正規化処理を事前に施すことにより有効性が高いことが種々報告されている。しかしながら、パターンマッチング的な手法においては手書文字の中で類似形状を持つものを誤読する場合が生じうる。例えば片仮名の「シ」と「ン」のように全体形状が似ている文字を互いに誤読する場合が生じる。このような類似形状を持つ手書文字の認識には構造解析的な手法が有効である。片仮名の「シ」と「ン」についても、構造解析的な手法では全ての文字ストロークや輪郭の情報を個別に辞書登録し、辞書と入力文字パターンの間で対応する文字ストロークや輪郭を照合することによって正しい識別が可能になる。
【０００３】
従来の構造解析的な手法を用いた文字認識装置の一例が、特開平７−１７５８９５号広報に記載されている。この従来の文字認識装置は、文字を構成する輪郭の数、各輪郭をその図形の凹部分と凸部分に分割した線分の数、線分形状特徴、輪郭間特徴、線分間特徴を構造識別辞書に格納された識別対象の代表的な文字と入力文字パターンとの間で照合することによって文字認識を行なう。また、特開平８−７７２９３号広報には別の文字認識装置の例が記載されている。この文字認識装置は、文字を構成する輪郭の外接矩形の包含関係から抽出する穴部の位置と文字パターンの端点の位置および曲率およびストローク方向を特徴量として辞書と照合を行なう。しかしながら、これらの従来技術には、入力文字パターンに途切れが生じていた場合に棄却、誤読が生じ易い。特開平８−７７２９３号広報では端点間の距離等によって文字パターンの穴部の一部が切断されていると考えられる場合には、切断部を接続して得られる特徴とする前の特徴の２通りの特徴を辞書パターンとの照合に利用するが、穴部以外でも様々生じうる途切れの問題を全て解決しているわけではない。
【０００４】
【発明が解決しようとする課題】
上述した従来の文字認識装置および文字認識方法は、入力文字パターンに途切れが生じていた場合に棄却、誤読が生じ易いという問題点がある。また、端点間の距離等によって文字パターンの穴部の一部が切断されていると考えられる場合には、切断部を接続して得られる特徴とする前の特徴の２通りの特徴を辞書パターンとの照合に利用する広報があるが、穴部以外で様々生じうる途切れについては未解決であるという問題がある。
【０００５】
本発明の目的はこのような従来の欠点を除去するため、文字ストロークの途切れに頑強な文字認識装置および文字認識方法を提供することにある。
【０００６】
【課題を解決するための手段】
本発明の文字認識装置は、格子状に標本化され２値に量子化された文字パターンを受けて入力文字パターンとして蓄積する文字パターン入力部と、
前記文字パターン入力部に蓄積された前記入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分を含む輪郭情報を抽出する輪郭情報抽出部と、
文字カテゴリの各々について代表的な前記文字パターンの前記有向線分を含む前記輪郭情報を前記文字カテゴリに対応する文字コードとともに予め格納する辞書と、
前記輪郭情報抽出部により抽出された前記入力文字パターンの前記輪郭情報と前記辞書に格納された前記代表的文字パターンの前記輪郭情報とを前記文字カテゴリの各々について前記輪郭情報に含まれる前記有向線分を単位にして照合し、前記入力文字パターンと前記代表的文字パターンとの距離を求め距離値として出力する構造マッチング部と、
前記文字カテゴリの各々について前記構造マッチング部が出力した前記距離値より最も確からしい前記入力文字パターンの前記文字カテゴリを求める文字認識結果出力部と、
を有する文字認識装置であって、
前記輪郭情報抽出部は、前記文字パターン入力部に蓄積された前記入力文字パターンに対して左回りまたは右回りで輪郭追跡を行なって前記入力文字パターンの輪郭の座標値列を抽出する輪郭追跡部と、
前記輪郭追跡部で抽出した前記入力文字パターンの輪郭の前記座標値列より前記入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分をプリミティブセグメントとしてそれぞれ抽出するプリミティブセグメント生成部と、
前記プリミティブセグメント生成部で抽出した前記入力文字パターンのそれぞれの前記プリミティブセグメントを前記入力文字パターンの幅と高さとがそれぞれ予め定められた一定サイズになるようにそれぞれ変換し、この変換したそれぞれの前記プリミティブセグメントを含む前記輪郭情報を前記構造マッチング部に出力する正規化処理部と、
前記正規化処理部により変換されて正規化された前記入力文字パターンのそれぞれの前記プリミティブセグメントから前記入力文字パターン中の凸部分を形成する前記プリミティブセグメントの組を示す凸セグメントとこの凸セグメント以外の部分である前記入力文字パターン中の凹部分を形成する前記プリミティブセグメントの組を示す凹セグメントとを生成する凹凸セグメント生成部と、
前記凹凸セグメント生成部が生成した前記凹セグメント及び前記凸セグメントに予め定めた角度以内のコーナーがあるか否かを調べ前記コーナーがあるときにこのコーナー位置でこのコーナーを有する前記セグメントを分割しこの分割したセグメントと前記コーナーのない前記凹セグメント及び前記凸セグメントを輪郭セグメントとして生成するコーナー分割処理部と、
前記コーナー分割処理部が生成した前記輪郭セグメント単位で、前記輪郭追跡部が抽出した前記入力文字パターンの輪郭の前記座標値列を１又は数画素の距離毎にサンプリングして新たな座標値列を生成し、この座標値列に座標値列の並び順の方向を与えて有向線分の列としたものを標準輪郭セグメントとし、この標準輪郭セグメントを含む前記輪郭情報を入力文字パターンに対応する文字コードとともに出力し前記辞書に予め格納させる標準輪郭セグメント生成部と、
を備え、
前記構造マッチング部は、前記輪郭情報抽出部から得られる前記入力文字パターンに含まれるｉ番目（但し、ｉ＝１〜前記入力文字パターンに含まれる前記プリミティブセグメントの数）の前記プリミティブセグメントＶｉと、前記辞書中の任意の前記文字コードに対応する任意の文字パターンに含まれるすべての前記標準輪郭セグメントとの間で第１の距離計算を行いこの距離値が予め定めたしきい値以内のときに前記しきい値以内となった文字パターンに対応する文字コードとこの文字コードに対応する文字パターンに含まれる前記しきい値以内となった前記標準輪郭セグメントとを出力し、前記計算値が予め定めたしきい値以内でないときに任意の前記文字パターンの中に前記プリミティブセグメントＶｉに対応する標準輪郭セグメントがないことを通知する候補セグメント検出部と、
前記候補セグメント検出部から出力された１以上の前記文字コードのそれぞれの前記標準輪郭セグメントと前記プリミティブセグメントＶｉとの間で第２の距離計算をそれぞれ行ない距離値をそれぞれ出力するセグメント間距離算出部と、
セグメント間距離算出部が出力したそれぞれの前記距離値のうちの前記プリミティブセグメントＶｉとの間で最も小さい距離値に対応する前記標準輪郭セグメントを検出し、その距離値を出力する最良セグメント検出部と、
最良セグメント検出部の出力する距離値を集計して前記入力文字パターンと前記辞書中の前記文字パターンとの文字間の距離値を求める文字パターン間距離算出部と、
を備えて構成されている。
【００１２】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００１３】
図１は、本発明の文字認識装置の一つの実施の形態を示すブロック図である。
【００１４】
図１に示す本実施の形態は、格子状に標本化され２値に量子化された文字パターンを受けて入力文字パターンとして蓄積する文字パターン入力部１と、文字パターン入力部１に蓄積された入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分を含む輪郭情報を抽出する輪郭情報抽出部２と、文字カテゴリの各々について代表的な文字パターンの有向線分を含む輪郭情報を文字カテゴリに対応する文字コードとともに予め格納する辞書３と、輪郭情報抽出部２により抽出された入力文字パターンの輪郭情報と辞書３に格納された代表的文字パターンの輪郭情報とを文字カテゴリの各々について輪郭情報に含まれる有向線分を単位にして照合し、入力文字パターンと代表的文字パターンとの距離を求め距離値として出力する構造マッチング部４と、文字カテゴリの各々について構造マッチング部４が出力した距離値より最も確からしい入力文字パターンの文字カテゴリを求める文字認識結果出力部５とにより構成されている。
【００１５】
なお、図１には、文字認識装置に使用する文字認識プログラムを記憶する記録媒体６を併せて示し、文字認識装置は文字認識プログラムをこの記録媒体６より読み込みこの文字認識プログラムを実行することにより文字認識する。
【００１６】
次に、本実施の形態の文字認識装置の動作を図２から図１２を参照して詳細に説明する。
【００１７】
図２は、本発明の実施の形態の動作の一例を示し、本発明の文字認識方法の一例を示す図である。
【００１８】
図３は、輪郭情報抽出部の一つの実施の形態を示すブロック図であり、この輪郭情報抽出部２は、文字パターン入力部１に蓄積された入力文字パターンに対して左回りまたは右回りで輪郭追跡を行なって入力文字パターンの輪郭の座標値列を抽出する輪郭追跡部７と、輪郭追跡部７で抽出した入力文字パターンの輪郭の座標値列より入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分をプリミティブセグメントとしてそれぞれ抽出するプリミティブセグメント生成部８と、プリミティブセグメント生成部８で抽出した入力文字パターンのそれぞれのプリミティブセグメントを入力文字パターンの幅と高さとがそれぞれ予め定められた一定サイズ（例えば、４０ｘ４０画素）になるようにそれぞれ変換し、この変換したそれぞれのプリミティブセグメントを含む輪郭情報を構造マッチング部４に出力する正規化処理部９と、正規化処理部９が変換した入力文字パターンのプリミティブセグメントの中点座標を求めこの求めた中点座標を輪郭情報の一部として構造マッチング部４に出力する中心位置算出部１０とにより構成されている。また、この輪郭情報抽出部２は、正規化処理部９により変換されて正規化された入力文字パターンのそれぞれのプリミティブセグメントから入力文字パターン中の凸部分を形成するプリミティブセグメントの組を示す凸セグメントとこの凸セグメント以外の部分である入力文字パターン中の凹部分を形成するプリミティブセグメントの組を示す凹セグメントとを生成する凹凸セグメント生成部１１と、凹凸セグメント生成部１１が生成した凹セグメント及び凸セグメントに予め定めた角度（例えば、９０度）以内のコーナーがあるか否かを調べコーナーがあるときにこのコーナー位置でこのコーナーを有するセグメントを分割しこの分割したセグメントとコーナーのない凹セグメント及び凸セグメントを輪郭セグメントとして生成するコーナー分割処理部１２と、コーナー分割処理部１２が生成した輪郭セグメントと輪郭追跡部７が抽出した入力文字パターンの輪郭の座標値列とにより、輪郭セグメントに対応する座標値列を予め定めた個数（例えば、１から３個）おきにサンプリングして新たな座標値列を生成して標準輪郭セグメントとしこの標準輪郭セグメントを輪郭情報の一部として入力文字パターンに対応する文字コードとともに出力し辞書３に予め格納させる標準輪郭セグメント生成部１３とを更に備えている。
【００１９】
図４は、構造マッチング部の一つの実施の形態を示すブロック図であり、構造マッチング部４は、輪郭特徴抽出部から得られる入力文字パターンに含まれるｉ番目（但し、ｉ＝１〜入力文字パターンに含まれるプリミティブセグメントの数）のプリミティブセグメントＶｉと、辞書３中の任意の文字コードに対応する任意の文字パターンに含まれるすべての標準輪郭セグメント｛ＲＳｋ｝との間で第１の距離（プリミティブセグメントの中点と標準輪郭セグメントを構成するすべての有向線分の終点との距離）計算を行いこの距離値が予め定めたしきい値以内のときにこのしきい値以内となった文字パターンに対応する文字コードとこの文字コードに対応する文字パターンに含まれるこのしきい値以内となった標準輪郭セグメントＲＳｋとをセグメント間距離算出部１５に出力し、計算値が予め定めたしきい値以内でないときに任意の文字パターンの中にプリミティブセグメントＶｉに対応する標準輪郭セグメントＲＳｋがないことを文字パターン間距離算出部１７に通知する候補セグメント検出部１４と、候補セグメント検出部１４から出力された１以上の文字コードのそれぞれの標準輪郭セグメントＲＳｋとプリミティブセグメントＶｉとの間で第２の距離計算をそれぞれ行ない距離値をそれぞれ出力するセグメント間距離算出部１５と、セグメント間距離算出部１５が出力したそれぞれの距離値のうちのプリミティブセグメントＶｉとの間で最も小さい距離値に対応する標準輪郭セグメントＲＳｋを検出し、その距離値を出力する最良セグメント検出部１６と、最良セグメント検出部１６の出力する距離値を集計して入力文字パターンと辞書３中の文字パターンとの文字間の距離値を求める文字パターン間距離算出部１７とを備えている。
【００２０】
図５は、入力文字パターンの一例を示す図である。
【００２１】
図６は、プリミティブセグメント抽出の一例を示す図である。
【００２２】
図７は、凹凸セグメント生成の一例を示す図である。
【００２３】
図８は、標準輪郭セグメント生成の一例を示す図である。
【００２４】
図９は、輪郭追跡の一例を示す図である。
【００２５】
図１０は、プリミティブセグメント生成の一例を示す図である。
【００２６】
図１１は、プリミティブセグメントと標準輪郭セグメントとの距離計算の一例を示す図である。
【００２７】
図１２は、辞書を作成する動作の一例を示すフローチャートである。
【００２８】
図１において、図２を使用して説明すると、文字パターン入力部１により、格子状に標本化され２値に量子化された文字パターンを受けて入力文字パターンとして蓄積し（Ｓ２１）、輪郭情報抽出部２により、この蓄積した入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分を含む輪郭情報を抽出し（Ｓ２２）と、構造マッチング部４により、文字カテゴリに対応する文字コードとともに予め格納した文字カテゴリの各々における代表的な文字パターンの有向線分を含む輪郭情報と第２のステップ（Ｓ２２）にて抽出した入力文字パターンの輪郭情報とを文字カテゴリの各々について輪郭情報に含まれる有向線分を単位にして照合し、入力文字パターンと代表的文字パターンとの距離を求め（Ｓ２３）、文字認識結果出力部５により、第３のステップで求めた距離より最も確からしい入力文字パターンの文字カテゴリを求めて出力する（Ｓ２４）。ここで、第２のステップ（Ｓ２２）は、前記第１のステップ（Ｓ２１）で蓄積した入力文字パターンに対して左回りまたは右回りで輪郭追跡を行なって入力文字パターンの輪郭の座標値列を抽出し、この抽出した入力文字パターンの輪郭の座標値列より入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分をプリミティブセグメントとしてそれぞれ抽出し、この抽出した入力文字パターンのそれぞれのプリミティブセグメントを入力文字パターンの幅と高さとがそれぞれ予め定められた一定サイズになるようにそれぞれ変換し、この変換したそれぞれのプリミティブセグメントを含む輪郭情報を出力するようにしている。
【００２９】
図１において、更に詳しく説明すると、文字パターン入力部１は、格子状に標本化され２値に量子化された文字パターン（入力文字パターン）を受け取る入力インターフェイスおよび入力文字パターンを蓄積するメモリを含んでいる。ここで、入力文字パターンは、文書をイメージスキャナ等で光電変換して得られる格子状に標本化され２値またはそれ以上の多値で量子化されたディジタル画像から１文字単位で切出され２値に量子化された部分画像である。入力文字パターンは、背景部分の画素値を０、文字部分の画素値を１とし、値０の画素を白画素、値１の画素を黒画素と呼ぶものとする。本実施例においては以上に述べたように背景部分の画素値を０、文字部分の画素値１とするディジタル化された文字パターンを対象として説明を行なうが、勿論、背景部分の画素値を１、文字部分の画素値を０とした反転画像を対象とする場合でも画素値の判定処理部の１と０に対する判定結果を入れ替えれば本実施例と同様な装置を実現できる。
【００３０】
輪郭情報抽出部２は、図３の説明で示した構成をしており、輪郭追跡部７は、図形を構成する画素の内で背景と接する画素である輪郭画素を輪郭追跡によって検出する。図形輪郭上にある着目画素の８近傍画素の中から着目画素に隣接する輪郭上の画素（輪郭画素）を反時計回り（または時計回り）に検出してその検出された画素へ着目画素を移動させる処理を繰り返しながら全ての輪郭画素を検出する。図９にその様子を示す。図９において斜線の付された画素は追跡済み画素、×印の付された画素は着目画素、円弧の矢印は隣接画素の中から次の輪郭画素を見つける順序を示す。検出された輪郭画素はその座標値が検出順に保存される。これが輪郭画素の座標値列である。輪郭追跡の詳細は文献「ディジタル画像処理」（近代科学社）の３５３頁〜３６０頁などにも紹介されている。
【００３１】
プリミティブセグメント生成部８は、輪郭追跡部７から出力された輪郭画素の座標値列を有向線分で近似して出力する。各有向線分の方向は、輪郭画素の座標値列の順序に従った方向とする。近似アルゴリズムは様々なものを用いることができるが、本実施例では図１０に示されるように輪郭と線分との距離ｄｎが予め定めたしきい値以下になるまで繰り返し分割してゆく方法を用いる。この方法は、例えば文献「Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ，  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ」Ｍｉｌａｎ  Ｓｏｎｋａ，  ＶａｃｌａｖＨｌａｖａｃ  ａｎｄ  Ｒｏｇｅｒ  Ｂｏｙｌｅ（ＣＨＡＰＭＡＮ  ＆  ＨＡＬＬ）の２０９頁〜２１０頁に紹介されている。これを例をあげて説明すると、例えば、輪郭追跡法によって得られた輪郭画素の座標値列Ｐｉ（ｘｉ，ｙｉ）を、Ｐ１（１，１），Ｐ２（２，１），Ｐ３（３，１），Ｐ４（４，２），Ｐ５（５，３），Ｐ６（６，４），Ｐ７（５，４），Ｐ８（４，４），Ｐ９（３，４），Ｐ１０（２，４）とする時、以下のステップで線分近似を行い、プリミティブセグメントを生成する。ただし、しきい値Ｔｈを１とする。ステップ１：始点と終点すなわちＰ１とＰ１０を結ぶ有向線分  Ｌ（１，１０）をつくる。Ｐ１からＰ１０へ至る方向を正とする。ステップ２：輪郭画素の座標値列でＰ１からＰ１０に至るすべての輪郭画素と有向線分Ｌ（１，１０）との距離を測定して距離最大になる画素（点）とその時の距離を求める。この場合、分割点はＰ６であり、そのときの線分Ｌ（１，１０）とＰ６との距離ｄ１は、ｄ１＝ＳＱＲＴ｛Ｌ（１，６）・Ｌ（１，６）−Ｌ（１，６）・Ｌ（１，１０）／（Ｌ（１，１０）・Ｌ（１，１０））｝≒約４．１２３となる。ただし、’・’は内積演算記号、Ｌ（１，６）は画素Ｐ１からＰ６へ至る有向線分、ＳＱＲＴ｛｝は平方根の演算を表す。ステップ３：ｄ１＞Ｔｈなので、画素Ｐ６において分割を行って、輪郭画素の座標値列Ｐ１〜Ｐ６とＰ６〜Ｐ１０をつくる。ステップ４：分割された２つの輪郭画素の座標値列Ｐ１〜Ｐ６とＰ６〜Ｐ１０について、各々、有向線分Ｌ（１，６）とＬ（６，１０）との距離をステップ２と同様に求める。その結果、Ｐ１〜Ｐ６とＬ（１，６）との距離ｄ２≒１．９２５（ただし、距離最大となる画素はＰ３）、Ｐ６〜Ｐ１０とＬ（６，１０）との距離ｄ３＝０となる。ステップ５：ｄ２＞Ｔｈなので座標値列Ｐ１〜Ｐ６はＰ３で分割する。ステップ６：全ての分割された座標値列（セグメント）と対応する座標値列との最大距離が１以下となったので分割を終了する。生成されたプリミティブセグメントは、Ｌ（１，３），Ｌ（３，６），Ｌ（６，１０）である。
【００３２】
正規化処理部９は、プリミティブセグメント生成部８から出力されたプリミティブセグメントを入力として、文字パターンの幅および高さがそれぞれ予め定められた一定値になるように輪郭の座標値列とプリミティブセグメントをスケール変換する。例えば文字パターンの幅がＷ、高さがＨであり、予め定めた幅と高さの一定値が共にＦの場合、輪郭の座標値列とプリミティブセグメントの始点・終点のｘ座標値を全てＷ／Ｆ倍し、ｙ座標値を全てＨ／Ｆ倍する。この操作を正規化と呼ぶ。
【００３３】
凹凸セグメント生成部１１は、図３の説明で示したとおりであり、例えば、図５、図６に示される文字パターンからは、図７に示されるＳ１、Ｓ２、Ｓ３、Ｓ４の４つの輪郭セグメントが生成される。
【００３４】
コーナー分割処理部１２は、凹凸セグメント生成部１１から出力された凹セグメントまたは凸セグメント内にコーナーがある場合に凹セグメトまたは凸セグメントをコーナー位置で分割する。その結果得られるセグメントを輪郭セグメントとする。例えば、図７では凹セグメントＳ３が点Ｐにおいて分割される。つまり、図７の凹凸セグメントを点Ｐで分割したものを輪郭セグメントとする。
【００３５】
標準輪郭セグメント生成部１３は、コーナー分割処理部１２から出力される輪郭セグメントと輪郭追跡部７から出力される輪郭の座標値列とを入力とし、この輪郭セグメントに対応する輪郭座標値列を検出した後、この輪郭座標値列を正規化し、さらに例えば１〜３画素程度の距離毎に座標値を間引いて新たな座標値列を生成する。この座標値列に座標値列の並び順の方向を与えて有向線分の列としたものを標準輪郭セグメントとして出力する。例えば、図７の輪郭セグメントからは、図８で示されるような５つの標準輪郭セグメント：ＲＳ１，ＲＳ２，ＲＳ３，ＲＳ４，ＲＳ５が出力される。
【００３６】
中心位置算出部１０は、正規化処理部９から出力される正規化されたプリミティブセグメント（有向線分）の中心座標値を算出して出力する。
【００３７】
辞書３は、文字カテゴリ毎に、輪郭情報抽出部２から出力される標準輪郭セグメントを文字コードとともに保存している。
【００３８】
構造マッチング部４は、図４の説明で示した構成をしており、候補セグメント検出部１４は、入力文字パターンと辞書３に格納されている任意の文字コードに対応する任意の文字パターンとの照合において、入力文字パターンに含まれるｉ番目のプリミティブセグメントＶｉと任意の文字パターンに含まれる全ての標準輪郭セグメント｛ＲＳｋ｝との間で距離を計算する。ただし、距離計算は、プリミティブセグメントＶｉの中点と、標準輪郭セグメントＲＳｋを構成する全ての有向線分の終点との間で１対１で行う。距離がしきい値（例えば、文字パターンの正規化サイズ（正規化処理部９におけるＦの値）に依存するが、４０×４０画素程度のサイズの場合で１０画素程。）以内の場合にはこのしきい値以内となった文字パターンに対応する文字コードとこの文字コードに対応する文字パターンに含まれるこのしきい値以内となった標準輪郭セグメントＲＳｋとをセグメント間距離算出部１５に通知し、この距離が予め定めたしきい値以内でないときに任意の文字パターンの中にプリミティブセグメントＶｉに対応する標準輪郭セグメントＲＳｋがないことを文字パターン間距離算出部１７に通知する。以上の動作を辞書３内のすべての文字コードについて行う。
【００３９】
セグメント間距離算出部１５は、プリミティブセグメントＶｉと候補セグメント検出部１４から通知された１以上の文字コードのそれぞれの標準輪郭セグメントＲＳｋとの間で第２の距離計算を行なう。この計算を図１１を用いて説明する。図１１において、Ｖ９はプリミティブセグメント、ＲＳ２は有向線分ｕ２１、ｕ２２、ｕ２３、ｕ２４、ｕ２５、ｕ２６、ｕ２７、ｕ２８、ｕ２９から構成される標準輪郭セグメントである。標準輪郭セグメントＲＳ２を構成する全ての有向線分の終点（または始点）からプリミティブセグメントＶ９に対して垂線を下して交わった点（交点）までの距離をそれぞれｄ２１、ｄ２２、ｄ２３、ｄ２４、ｄ２５、ｄ２６、ｄ２７とする。ここで、プリミティブセグメトＶ９の範囲外で直線と交わった場合は距離計算を行なわない。この時のプリミティブセグメントＶ９と標準輪郭セグメントＲＳ２との距離Ｄ（９，２）は、Ｄ（９，２）＝（１／Ｎ）｛ｄ２１＋ｄ２２＋ｄ２３＋ｄ２４＋ｄ２５＋ｄ２６＋ｄ２７＋α（｜Δθ２１｜＋｜Δθ２２｜＋｜Δθ２３｜＋｜Δθ２４｜＋｜Δθ２５｜＋｜Δθ２６｜＋｜Δθ２７｜）｝（式１）である。ここで、Ｎ＝７である。つまりＮは標準輪郭セグメントＲＳ２を構成する有向線分の内、プリミティブセグメントＶ９に垂線を下ろしてＶ９の範囲内で交わったものの数である。Δθ２ｊは、有向線分ｕ２ｊとプリミティブベクトルＶ９の成す角の大きさである。また、αは実験的に求められる結合係数である。距離計算の後、標準プリミティブセグメントＲＳｋはプリミティブセグメントとの間で距離を求めることができた有向線分に照合済みマークを付けて辞書３へ書き戻しておく。入力文字パターンのプリミティブセグメントＶｉと任意の文字コードの標準輪郭セグメントＲＳｋとの距離値Ｄ（ｉ，ｋ）を算出して出力する。以上の動作を辞書３内のすべての文字コードについて行う。
【００４０】
最良セグメント検出部１６は、セグメント間距離算出部１５が候補セグメント検出部１４から通知されたすべての標準輪郭セグメントＲＳｋとの間で距離値を算出し終えセグメント間距離算出部１５から距離値Ｄ（ｉ，ｋ）を受け取り終えたら、受け取った距離値Ｄ（ｉ，ｋ）の中で最小距離をとる標準輪郭セグメントＲＳｋｍｉｎを検出し、この時の距離値を出力する。検出後、ＲＳｋｍｉｎ以外の標準輪郭セグメントＲＳｋ（ｋはｋｍｉｎ以外）の有向線分に（セグメント間距離算出部１５で）つけられた照合済みマークは全てクリアする。
【００４１】
文字パターン間距離算出部１７は、最良セグメント検出部１６から出力される距離値を累積して文字パターン間距離とする。ただし、候補セグメント検出部１４で候補が１つも見つからなかった場合は、ペナルティ評価値Ｂ（ここで、ペナルティ評価値Ｂとは、入力文字パターンと辞書３中の文字コードの標準輪郭セグメントとのマッチングにおいて、ミスマッチしたセグメントの長さを評価する値である。ミスマッチしたセグメント長の総和がしきい値以上ならば、文字認識結果出力部５において、文字認識結果をリジェクトとする。ミスマッチしたセグメントには、入力文字パターンに含まれるものと、辞書３中の文字コードの標準輪郭セグメントに含まれるものの２種類があり、両者の和をペナルティ評価値とする。入力文字パターンに含まれるプリミティブセグメントの内、候補セグメント検出部１４において、辞書３中の文字コードのどの標準輪郭セグメントとも対応のつかなかった（距離が遠かった）ものがミスマッチしたプリミティブセグメントとなる。辞書３中の文字コードの標準輪郭セグメントの内、入力文字パターンの何れのプリミティブセグメントＶｉとも対応のつかなかったもの、あるいは、極一部でしか対応のつかなかったものがミスマッチした標準輪郭セグメントとなる。）の値にプリミティブセグメントＶｉの長さに比例した値を加算する。プリミティブセグメントの長さに比例した値は、例えば入力文字パターンのプリミティブセグメント長の総和を１に正規化した時の相対値とする。また、辞書３内の文字パターンの標準輪郭セグメントにおいて照合済みマークの無いものおよび、照合済みマークはあるもののそのマーク数が含まれる有向線分数のＧ％（ただし、Ｇは予め与える定数で、例えば３０％である。）に満たないものがある場合もその標準輪郭セグメントの長さに比例した値をペナルティ評価値Ｂに加算する。辞書３中の文字パターンに含まれる標準輪郭セグメントの内、照合済みマークの全く無い、またはほとんど無いものの長さに比例した値は、例えば文字パターンに含まれる全ての輪郭線セグメントを構成する有向線分の長さの総和を１に正規化した時の相対値とする。
【００４２】
文字認識結果出力部５は、構造マッチング部４の文字パターン間距離算出部１７から出力される文字パターン間距離が最小値をとる文字コードを出力する。ただし、同じく文字パターン間距離算出部１７から出力されるペナルティ評価値がしきい値以上の時は棄却と判定し、棄却を表すコードを出力する。ペナルティ評価値のしきい値は例えば０．３程度の値を設定する。
【００４３】
また、辞書３へは予め次のようにして格納しておく。すなわち、図１２を参照してまず、文字パターン入力部１に代表的文字パターンを入力する。次に、図３に示すようにこの文字パターンに対して、輪郭追跡部７により輪郭追跡を行って輪郭画素の座標値列を生成し（Ｓ１２１）、プリミティブセグメント生成部８によりステップ１２１で得られた輪郭画素の座標値列を有効線分で近似してこれをプリミティブセグメントとし（Ｓ１２２）、正規化処理部９によりプリミティブセグメントの座標を正規化する（Ｓ１２３）。次に、凹凸セグメント生成部１１により、ステップ１２３で正規化されたプリミティブセグメントから凹凸セグメントを生成し（Ｓ１２４）、コーナー分割処理部１２によりこの凹凸セグメント内のコーナーを分割点として凹凸セグメントを分割し得られたセグメントを輪郭セグメントとする（Ｓ１２５）。そして、標準輪郭セグメント生成部１３により輪郭セグメントから標準輪郭セグメントを生成しこの生成した標準輪郭セグメントを文字カテゴリを表す文字コードとともに辞書３へ格納する（Ｓ１２６）。
【００４４】
以上説明した動作は、記録媒体６に予め記録した文字認識プログラムを文字認識装置内の図示しないコンピュータが読み込みこのコンピュータがこの文字認識プログラムを実行することにより成される。
【００４５】
【発明の効果】
以上説明したように、本発明の文字認識装置および文字認識方法によれば、輪郭情報抽出部により、文字パターン入力部に蓄積された入力文字パターンの輪郭を折線近似しこの折線近似したときのそれぞれの折れ線である有向線分を含む輪郭情報を抽出し、構造マッチング部により、輪郭情報抽出部により抽出された入力文字パターンの輪郭情報と辞書に予め格納された代表的文字パターンの輪郭情報とを文字カテゴリの各々について輪郭情報に含まれる有向線分を単位にして照合し、入力文字パターンと代表的文字パターンとの距離を求め距離値として出力し、文字認識結果出力部により、文字カテゴリの各々について構造マッチング部が出力した距離値より最も確からしい入力文字パターンの文字カテゴリを求めるため、文字パターンの照合の単位を文字パターンの輪郭を折線近似して生成した有向線分としこの照合単位が従来よりも小さいので、文字ストロークに途切れのある文字や文字の一部に潰れのある文字でも従来よりも高い文字認識性能が得られる。
【図面の簡単な説明】
【図１】本発明の文字認識装置の一つの実施の形態を示すブロック図である。
【図２】本発明の実施の形態の動作の一例を示し、本発明の文字認識方法の一例を示す図である。
【図３】輪郭情報抽出部の一つの実施の形態を示すブロック図である。
【図４】構造マッチング部の一つの実施の形態を示すブロック図である。
【図５】入力文字パターンの一例を示す図である。
【図６】プリミティブセグメント抽出の一例を示す図である。
【図７】凹凸セグメント生成の一例を示す図である。
【図８】標準輪郭セグメント生成の一例を示す図である。
【図９】輪郭追跡の一例を示す図である。
【図１０】プリミティブセグメント生成の一例を示す図である。
【図１１】プリミティブセグメントと標準輪郭セグメントとの距離計算の一例を示す図である。
【図１２】辞書を作成する動作の一例を示すフローチャートである。
【符号の説明】
１    文字パターン入力部
２    輪郭情報抽出部
３    辞書
４    構造マッチング部
５    文字認識結果出力部
６    記録媒体
７    輪郭追跡部
８    プリミティブセグメント生成部
９    正規化処理部
１０    中心位置算出部
１１    凹凸セグメント生成部
１２    コーナー分割処理部
１３    標準輪郭セグメント生成部
１４    候補セグメント検出部
１５    セグメント間距離算出部
１６    最良セグメント検出部
１７    文字パターン間距離算出部
【図１】
0003546827.tif 000002
【図２】
0003546827.tif 000003
【図３】
0003546827.tif 000004
【図４】
0003546827.tif 000005
【図５】
0003546827.tif 000006
【図６】
0003546827.tif 000007
【図７】
0003546827.tif 000008
【図８】
0003546827.tif 000009
【図９】
0003546827.tif 000010
【図１０】
0003546827.tif 000011
【図１１】
0003546827.tif 000012
【図１２】
0003546827.tif 000013