説明

パターン認識辞書作成装置及びプログラム

【課題】 辞書を記憶する記憶容量が小さな装置であっても、画像パターンの認識精度を向上させることができるパターン認識辞書作成装置を提供する。
【解決手段】 入力画像の特徴量を求めて特徴ベクトルを生成する特徴ベクトル生成部111と、各画像の特徴ベクトル同士を比較して類似度の高い画像をグループとしてまとめるグループ化部114と、特徴ベクトル生成部で生成された特徴ベクトルに基づいて、画像の画素分布の情報を含む複数の特徴データを生成する主成分分析部113と、パターン認識用辞書を作成する場合に、グループに含まれない画像の特徴データのデータ量よりもグループに含まれる画像の特徴データのデータ量が多くなるように記憶装置23にデータを記憶させる辞書生成・登録部115とを有している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パターン認識辞書作成装置及びプログラムに関する。
【背景技術】
【0002】
近年、携帯電話、PDA(Personal Digital Assistants)、カーナビゲーション装置等のメモリの容量が小さい装置で文字認識に代表されるパターン認識が行われるようになってきた。メモリ容量の小さい装置では、パターン認識に用いる辞書の容量と、パターン認識の精度とが課題となる。すなわち、認識精度をあまり低下させず、辞書容量が大幅に削減できるパターン認識辞書が求められている。
【0003】
例えば、文字認識であれば、まず、各文字の標準的な文字パターンに基づいて求めた特徴ベクトルを認識用辞書に登録しておく(特徴ベクトルについては後述する)。そして、入力した文字パターンに基づいて求めた特徴ベクトルと、認識用辞書に登録された各特徴ベクトルとのベクトル間距離を計算し、ベクトル間距離が最も近い文字を認識結果とする手法が通常の手法である。
また、距離計算の方法として、1次識別手法と2次識別手法とがある。一次識別手法は、認識用辞書に登録された各文字の特徴ベクトルと、入力した文字パターンに基づいて求めた特徴ベクトルとのユークリッド距離を求める方法である。また、2次識別手法では、マハラノビス距離、擬似ベイズ距離識別等の手法を用いて、文字パターンの画素分布を表す固有値、固有ベクトルを求め、これらの値を認識用辞書に登録しておく。そして、入力した文字パターンから求めた固有値、固有ベクトルと、認識用辞書に登録された固有値、固有ベクトルとを比較して、入力した文字パターンを認識する方法である(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−67743号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
1次識別手法では、辞書として各文字コードの特徴ベクトルを登録しておけばよいので辞書容量は小さいが、パターン認識の精度が低いという課題がある。また、2次識別手法では、パターン認識の精度が高いが、文字パターンの画素分布を表す固有値、固有ベクトルを辞書に登録しなければならないため大きな辞書容量が必要となった。従って、メモリ容量の小さな装置では、パターン認識の精度を犠牲にして1次識別手法を使用していた。
【0006】
本発明は上記事情に鑑みてなされたものであり、辞書を記憶する記憶容量が小さな装置であっても、画像パターンの認識精度を向上させることができるパターン認識辞書作成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本明細書に開示のパターン認識辞書作成装置は、入力画像の画像パターンに基づく特徴量を求めて、該特徴量を要素とする特徴ベクトルを生成する特徴ベクトル生成手段と、各画像の特徴ベクトル同士を比較して類似度の高い画像を抽出し、前記類似度の高い画像をグループとしてまとめるグループ化手段と、前記特徴ベクトル生成手段で生成された特徴ベクトルに基づいて、画像の画素分布の情報を含む複数の特徴データを生成する特徴データ生成手段と、各画像を識別する識別情報と、該各画像の特徴データとを記憶手段に記憶させてパターン認識用辞書を作成する場合に、前記グループに含まれない画像の特徴データのデータ量よりも前記グループに含まれる画像の特徴データのデータ量が多くなるように前記パターン認識用辞書を作成し、該作成したパターン認識用辞書を前記記憶手段に記憶させる認識用辞書作成手段とを備えている。
【発明の効果】
【0008】
本明細書に開示のパターン認識辞書作成装置によれば、パターン認識用辞書を記憶する記憶容量が小さな装置であっても、画像パターンの認識精度を向上させる認識辞書を作成することができる。
【図面の簡単な説明】
【0009】
【図1】パターン認識辞書作成装置の構成を示す図である。
【図2】辞書作成部の構成を示す図である。
【図3】グループ化について説明するために用意された文字と、その平均ベクトルとを示す図である。
【図4】(A)は、各文字の平均ベクトルに基づいてベクトル空間に文字を配置した様子を示す図であり、(B)は、1回目の階層的クラスタリングの結果を示す図である。
【図5】(A)は、2回目の階層的クラスタリングの結果を示す図であり、(B)は、3回目の階層的クラスタリングの結果を示す図である。
【図6】(A)は、4回目の階層的クラスタリングの結果を示す図であり、(B)は、5回目の階層的クラスタリングの結果を示す図である。
【図7】6回目の階層的クラスタリングの結果を示す図である。
【図8】インデックステーブルの構成の一例を示す図である。
【図9】コードブックテーブルの構成の一例を示す図である。
【図10】(A)は、固有ベクトルの要素列のうち、部分一致するサブベクトルを抽出する様子を示す図であり、(B)は、抽出したサブベクトルにインデックス番号を付与してコードブックテーブルに登録する例を示す図であり、(C)は、固有ベクトルの要素列を、誤差を許容して部分一致するサブベクトルを抽出する様子を示す図であり、(D)は、抽出したサブベクトルにインデックス番号を付与してコードブックテーブルに登録する例を示す図である。
【図11】辞書作成部の処理手順を示すフローチャートである。
【図12】グループ化の他の方法を説明するための図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照しながら本発明の好適な実施例を説明する。
【0011】
本実施例のパターン認識辞書作成装置1は、図1に示すように辞書作成部10と、スキャナ装置21と、操作部22と、記憶装置23と、表示装置24とを備えている。
【0012】
スキャナ装置21は、用紙に印刷された文字等の画像をパターン画像データとして読み込む。読み込んだパターン画像データは、CPU(Central Processing Unit)11の制御により記憶装置23に保存される。
【0013】
操作部22は、ユーザの指示を受け付ける操作入力受付部であり、スキャナ装置21の動作開始の指示や、辞書作成部10で作成した辞書を表示装置24に表示させる指示等を受け付ける。
【0014】
記憶装置23には、スキャナ装置21で読み込まれたパターン画像データや、辞書作成部10で作成されたパターン認識用辞書等が記憶される。
【0015】
表示装置24は、CPU11の制御に従って、辞書作成部10で作成したパターン認識用辞書のデータを表示させる。
【0016】
辞書作成部10は、図1に示すようにCPU11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、入出力インターフェース14と、グラフィックインターフェース15と、ネットワークインターフェース16とを備えている。
【0017】
ROM12には、CPU11を制御するプログラムが記録されている。CPU11は、ROM12に記録されたプログラムを読み込んで、読み込んだプログラムに従った演算を行う。CPU11などのハードウェアと、ROM12に格納されたプログラムとの協働によって実現される辞書作成部10の機能ブロックについては図2を参照しながら後ほど説明する。また、RAM13には、CPU11による演算途中のデータや、演算後のデータが記録される。例えば、スキャナ装置21により読み込まれ、記憶装置23に保存されていたパターン画像データを、CPU11の制御により読み出してRAM13に格納する。
なお、プログラムについては、必ずしもROM12に記憶させておく必要はなく、例えば、コンピュータで読み込み可能なフレキシブルディスク(FD)、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)、光磁気ディスク、ICカードなどの可搬記憶媒体、またはコンピュータに備えられるHDDなどの記憶媒体、さらには公衆回線、インターネット、LAN、WANなどを介してコンピュータに接続される他のコンピュータ(またはサーバ)などにプログラムを記憶させておき、コンピュータがこれからプログラムを読み出して実行するようにしてもよい。あるいは公衆回線、インターネット、LAN、WANなどを介して他のコンピュータ(またはサーバ)からプログラムを可搬記憶媒体や記憶媒体に格納し、コンピュータがこれからプログラムを読み出して実行するようにしてもよい。
【0018】
入出力インターフェース14は、信号の入出力部である。入出力インターフェース14には、スキャナ装置21で読み取られたパターン画像データが入力される。入出力インターフェース14は、入力したパターン画像データをCPU11の制御により記憶装置23に出力する。また、入出力インターフェース14は、CPU11の制御によって記憶装置23から読み出されたパターン認識用辞書を、例えば外部記憶装置30等に出力する。
【0019】
グラフィックインターフェース15は、CPU11で処理された画像を表示装置24に表示させるためのインターフェースであり、表示装置24に表示させるためにグラフィックデータを波形電気信号に変換する。
【0020】
ネットワークインターフェース16は、ネットワークに接続する。例えば、CPU11の制御に従って記憶装置23から読み出されたパターン認識用辞書をネットワークを介して他の装置に転送する。
【0021】
次に、図2を参照しながらCPU11などのハードウェアと、ROM12に格納されたプログラムとの協働によって実現される辞書作成部10の機能ブロックについて説明する。
プログラム制御されたCPU11によって実現される機能部110は、特徴ベクトル生成部111と、平均ベクトル算出部112と、主成分分析部113と、グループ化部114と、辞書生成・登録部115とを備えている。また、辞書生成・登録部115は、グループ化文字情報登録部116と、非グループ化文字情報登録部117と、テーブル格納部118とを備えている。以下、各ブロックについて説明する。
【0022】
まず、特徴ベクトル生成部111について説明する。
スキャナ装置21でスキャンされ、記憶装置23に保存されているパターン画像データは、CPU11の制御によて記憶装置23から読み出されRAM13に保存される。
特徴ベクトル生成部111は、RAM13に保存されているパターン画像データをRAM13から取得する。
なお、以下では用紙に印刷された文字をスキャナ装置21で読み込んだ文字画像を用いてパターン認識用辞書を作成する場合を例に説明するが、本実施例は文字に限定されるものではない。例えば、人間の顔画像や、声をマイクで入力した音声データであってもよい。
特徴ベクトル生成部111は、文字画像の文字パターンに基づく特徴量を求めて、特徴量を要素とする特徴ベクトルを生成する。具体的には、例えば、
「孫 寧, 田原 透, 阿曽 弘具, 木村 正行著「方向線素特徴量を用いた高精度文字認識」電子情報通信学会論文誌(D-II), J74-D-II, 3, pp.330-339 (1991-2)」
等の文献に開示された方法を用いて、文字画像をD次元(Dは任意の自然数)の特徴ベクトルに変換する。また、記憶装置23には、同一の文字について、フォントの異なる文字や手書き文字などの複数の学習サンプルが収集されている。特徴ベクトル生成部111は、RAM13からこれら複数の学習サンプルの文字画像を読み込み、読み込んだ文字画像の特徴ベクトルをそれぞれ作成する。なお、本実施例では、パターン画像データとしてスキャナ装置21で読み取ったパターン画像データを例に説明するが、パターン認識辞書作成装置1自身で作成したパターン画像データであってもよい。その他に、他の装置で生成したパターン画像データをネットワークを介して入力したものを使用してもよい
式(1)には、同一文字のN(Nは任意の自然数)個の学習サンプルX,X,X,・・・,Xの特徴ベクトルをそれぞれ示す。
【0023】
【数1】

特徴ベクトル生成部111は、上述した処理を複数の文字ごとにそれぞれ行う。特徴ベクトル生成部111は、特徴ベクトルを生成すると、文字ごとに複数収集した学習サンプルの特徴ベクトルに文字を識別する文字コードを割り付けて記憶装置23に保存する。また、特徴ベクトル生成部111は、文字を識別する文字コードと、文字ごとに複数収集した学習サンプルの特徴ベクトルとを平均ベクトル算出部112と、主成分分析部113とに出力する。
【0024】
平均ベクトル算出部112は、特徴ベクトル生成部111から取得した同じ文字の特徴ベクトルを用いて、平均ベクトルを文字ごとに算出する。
平均ベクトルは、以下に示す式(2)によって求められる。
【0025】
【数2】

また、式(2)に従って求めた平均ベクトルを式(3)のように表す。
【0026】
【数3】

平均ベクトル算出部112は、式(2)に示すように各特徴ベクトルの同一次元のベクトル要素同士を加算し、これを学習サンプル数Nで除算して平均ベクトルを求める。
例えば、特徴ベクトルの1次元のベクトル要素であれば、上述した式(1)に示すx,x,x,・・・,xの値を加算して、これをNで除算した値が、式(3)に示す平均ベクトルの1次元のベクトル要素となる。
平均ベクトル算出部112は、文字ごとに平均ベクトルを算出し、算出した平均ベクトルを文字コードに対応付けて記憶装置23に保存する。また、平均ベクトル算出部112は、文字ごとに求めた平均ベクトルを主成分分析部113と、グループ化部114とに出力する。
【0027】
次に、主成分分析部113について説明する。主成分分析部113は、特徴ベクトル生成部111で生成された複数の学習サンプルの特徴ベクトルを文字ごとに取得する。また、主成分分析部113は、平均ベクトル算出部112で文字ごとに求められた平均ベクトルを取得する。
主成分分析部113は、取得した情報を用いてパターン画像データの画素分布を表す固有値、固有ベクトルを各文字ごとに生成する。まず、主成分分析部113は、平均ベクトルと特徴ベクトルとから分散共分散行列を求める。分散共分散行列Σを式(4)に示す。
【数4】

【0028】
分散共分散行列Σの共分散値σijは、以下に示す式(5)によって算出される。
【0029】
【数5】

主成分分析部113は、各学習サンプルの特徴ベクトルの要素iと平均ベクトルの要素iとの差と、特徴ベクトルの要素jと平均ベクトルの要素jとの差とを掛け合わせて平均を求めたものを、要素iと要素jの共分散値として算出する。
なお、iとjは、1〜Dの任意の自然数である。
【0030】
次に、主成分分析部113は、求めた分散共分散行列Σを対象に固有値計算を行い、分散共分散行列Σから固有値、固有ベクトルを求める。
固有値は、λi(i=1,2,・・・,D)のD個の値で、λ1>λ2>・・・>λDとなる。
固有ベクトルは、Φi=(Φ,Φ,・・・,Φ)(i=1,2,・・・,D)となる。
固有ベクトルは、互いに直交する大きさ1のベクトルとなる。
また、固有値λiは、固有ベクトルΦiで示される方向で見たときの複数の学習サンプルの標準偏差値を表す。そのため、複数個の固有値、固有ベクトルで複数の学習サンプルの全体分布を近似的に表現できる。
【0031】
なお、固有値、固有ベクトルは、D行D列の分散共分散行列Σから通常D個ずつ取得できる。しかし、一般的に値の小さい固有値は、学習サンプルの分布形状にあまり大きな影響を与えないので、固有値の大きな上位M個だけで学習サンプルの分布を十分に表現できる。
従って、
固有値は、λi(i=1,2,・・・,M)
固有ベクトルは、Φ=(Φ,Φ,・・・,Φ)(i=1,2,・・・,M)(M<D)となる。なお、Mは、Dよりも小さい任意の自然数である。
主成分分析部113は、固有値、固有ベクトルを文字ごとに求め、求めた固有値、固有ベクトルを文字コードと共に記憶装置23に保存する。また、主成分分析部113は、求めた固有値、固有ベクトルを辞書生成・登録部115のグループ化文字情報登録部116と、非グループ化文字情報登録部117とに出力する。
【0032】
次に、グループ化部114の処理について説明する。
グループ化部114は、平均ベクトル算出部112から平均ベクトルを文字ごとに取得する。グループ化部114は、取得した各文字の平均ベクトルに基づいて階層的クラスタリングを行い、文字を、平均ベクトルの類似する文字が存在する文字と、平均ベクトルの類似する文字が存在しない文字とに分ける。グループ化部114は、平均ベクトルの類似する文字が存在する文字を、同じグループに振り分ける。
【0033】
階層的クラスタリングについて図3〜図7を参照しながら具体的に説明する。
図3には、「大」、「犬」、「太」、「木」、「鳥」、「烏」、「土」、「士」、「±」、「亜」、「腕」、「右」、「日」の13個の文字と、その平均ベクトルのベクトル要素とを示す。なお、図3に示す例では、平均ベクトルの次元を20次元(すなわち、20個のベクトル要素)としているが、平均ベクトルの次元は20次元に限定されるものではない。また、図3に示す13個の文字は、「大、犬、太、木」と、「鳥、烏」と、「土、士、±」の3つの類似文字グループと、類似する文字のない、それ以外の4つの文字とに分けられる。
【0034】
グループ化部114は、これら13個の文字を対象として階層的クラスタリングを行う。図4(A)には、13個の文字を2次元のベクトル空間に配置した様子を示す。なお、平均ベクトルは、実際には20次元のベクトルであるが、簡略化して2次元で表示している。
また、ベクトル空間を規定する軸1は、平均ベクトルの20個あるベクトル要素のうち第1ベクトル要素の成分だけが値を持つ軸である。また、軸2は、20個のベクトル要素のうち第2ベクトル要素だけが値を持つ軸である。
グループ化部114は、13個の平均ベクトルのベクトル間距離をそれぞれ求める。グループ化部114は、求めたベクトル間距離のうち、距離の最も近い2つのベクトルをグループとして統合する。図4(B)に1回目の階層的クラスタリングの結果を示す。図4(B)に示す例では、グループ化部114は、「土」と「±」のベクトル間距離が最も近いと判断し、これらの文字を同一グループに分類する。グループ化部114は、同一グループに分類した文字の平均ベクトル同士の平均を平均ベクトルとして求め、求めた平均ベクトルをグループの代表ベクトルに設定する。
【0035】
次に、グループ化部114は、11文字の平均ベクトルと、設定したグループの代表ベクトルとについてベクトル間距離をそれぞれ求める。グループ化部114は、求めたベクトル間距離のうち、距離の最も近い2つのベクトルをグループとして統合する。図5(A)に2回目の階層的クラスタリングの結果を示す。
図5(A)に示す例では、グループ化部114は、「土」と「±」のグループを示す代表ベクトルと、「士」の平均ベクトルとのベクトル間距離が最も近いと判定し、「土」と「±」のグループに「士」を統合する。
グループ化部114は、同一グループに分類した文字「土」、「±」、「士」の平均ベクトルの平均である平均ベクトルを求め、求めた平均ベクトルをグループの代表ベクトルとする。なお、ここでは、先に求めた「土」と「±」の代表ベクトルと、「士」の平均ベクトルとの平均を平均ベクトルとして求め、求めた平均ベクトルをグループの代表ベクトルとしてもよい。
【0036】
以下、同様の手順で、グループ化部114は階層的クラスタリングを行っていく。図5(B)に3回目の階層的クラスタリングの結果を示し、図6(A)に4回目の階層的クラスタリングの結果を示す。また、図6(B)に5回目の階層的クラスタリングの結果を示し、図7に6回目の階層的クラスタリングの結果を示す。
【0037】
グループ化部114は、上述したように平均ベクトルと平均ベクトル、又は代表ベクトルと平均ベクトルとのベクトル間距離を求めて、ベクトル間距離の最も近い文字を同一グループに分類していく。また、ベクトル間距離には予めしきい値が設定してあり、グループ化部114は、求めたベクトル間距離がこのしきい値よりも大きくなると、同一グループへの分類を終了させる。図4〜図7に示す例では、6回の階層的クラスタリングで、3つのグループと、類似する文字のない4つの文字とに分類される。
【0038】
グループ化部114は、分類したグループにグループを識別する識別情報を割り当て、グループに分類された文字コードと共に記憶装置23に保存する。また、グループ化部114は、グループ化されなかった文字コードに、当該文字がグループ化されなかった文字コードであることを示す識別情報を付加して記憶装置23に保存する。
また、グループ化部114は、グループに分類された文字コード、及び当該グループを示す識別情報をグループ化文字情報登録部116と非グループ化文字情報登録部117とに出力する。またグループ化部114は、グループに分類されなかった文字コードと、この文字コードがグループに分類されなかったことを示す識別情報とをグループ化文字情報登録部116と非グループ化文字情報登録部117とに出力する。
【0039】
次に、辞書作成・登録部115について説明する。辞書作成・登録部115は、グループ化文字情報登録部116と、非グループ化文字情報登録部117と、テーブル格納部118とを有している。
グループ化文字情報登録部116は、グループ化部114で類似する文字があると判定され、グループに分類された文字の固有値、固有ベクトルをインデックステーブルに登録する。インデックステーブルの一例を図8に示す。インデックステーブルには、図8に示すように文字を識別する文字コードと、インデックスフラグと、文字コードが示す文字の固有値、固有ベクトルとが含まれる。なお、インデックステーブルとコードブックテーブルとが前述のパターン認識用辞書に該当する。
グループに分類された文字には、類似する文字が存在し、文字認識用に多くの情報を必要とすることから、主成分分析部113で生成される固有値、固有ベクトルのすべてをインデックステーブルに登録する。上述したように主成分分析部113で生成される固有ベクトルは、複数のベクトル要素を有するD次元のベクトルである。グループ化文字情報登録部116は、D次元の固有ベクトルのベクトル要素のすべてを、文字認識用の固有ベクトルとしてインデックステーブルの該当文字欄に登録する。なお、ベクトル要素のすべてをインデックステーブルに登録した文字には、インデックスフラグとして「0」が記録される。
【0040】
非グループ化文字情報登録部117は、グループ化部114で類似する文字がないと判定され、グループに分類されなかった文字の固有値、固有ベクトルをインデックステーブルと、コードブックテーブルとに登録する。
グループに分類されなかった文字は、類似する文字が存在せず、文字認識用に多くの情報を必要としないことから、主成分分析部113で生成された固有ベクトルのベクトル要素のすべてを正確にインデックステーブルに登録する必要がない。そこで、非グループ化文字情報登録部117は、グループ化されなかった文字の固有ベクトルのベクトル要素のうち、他の文字の固有ベクトルのベクトル要素と部分一致する要素列を抽出する。非グループ化文字情報登録部117は、抽出した要素列に、この要素列を識別するインデックス番号を付与する。そして、非グループ化文字情報登録部117は、インデッステーブルの該当文字の固有ベクトル記録欄には、付与したインデックス番号を記録させる。また、非グループ化文字情報登録部117は、インデックス番号と、抽出した要素列との対応付けを管理するため、インデックス番号と、対応する要素列とをコードブックテーブル(サブ辞書)に記録する。コードブックテーブルの一例を図9に示す。
【0041】
非グループ化文字情報登録部117の処理について具体的に説明する。
主成分分析部113で生成される固有ベクトルは、上述のようにD次元のベクトルであり、D個のベクトル要素からなる。
Φ=(Φ,Φ,・・・,Φ
これらD個の要素のうち、他のグループ化されなかった文字コードの固有ベクトルの要素と部分一致する要素列(以下、この要素列をサブベクトルと呼ぶ)を抽出する。例えば、図10(A)に示す例では、文字コード「0x8148」で固有値が「12.5」の固有ベクトルと、文字コード「0x7652」で固有値が「25.3」の固有ベクトルとでサブベクトルに部分一致が見られる。
非グループ化文字情報登録部117は、この部分一致した(21、11、45、62)のサブベクトルにインデックス番号を付与する。そして、非グループ化文字情報登録部117は、インデックステーブルに文字コードが「0x8148」で固有値が「25.3」の固有ベクトルを記録するときに、インデックステーブルの該当欄には、付与したインデックス番号を記録する。同様に、非グループ化文字情報登録部117は、インデックステーブルに文字コードが「0x7652」で固有値が「12.5」の固有ベクトルを記録するときに、インデックステーブルの該当欄には、付与したインデックス番号を記録する。また、非グループ化文字情報登録部117は、コードブックテーブルには、部分一致したサブベクトルと、このサブベクトルを識別するインデックス番号とを登録する(図10(B)参照)。
【0042】
また、非グループ化文字情報登録部117は、誤差を許容して部分一致するサブベクトルを検出する。
例えば、図10(C)に示す例では、文字コード「0x5241」、固有値「10.1」の「83、55、36、22」のサブベクトルと、文字コード「0x3698」、固有値「9.6」の「83、55、32、22」のサブベクトルとは、一致してはいないが、類似したサブベクトルである。
非グループ化文字情報登録部117には、ベクトル間距離のしきい値が設定されている。非グループ化文字情報登録部117は、サブベクトル同士が完全一致していないが、ベクトル間距離がしきい値以下であるサブベクトル同士を、同じインデックス番号に割り当てる。
このときコードブックテーブルに、「83、55、36、22」と、「83、55、32、22」のいずれか一方を登録しなければならないが、非グループ化文字情報登録部117は、サブベクトルの出現回数の多いほうを選択して登録する。例えば、「83、55、36、22」の出現回数が5回で、「83、55、32、22」の出現回数が3回であれば、コードブックテーブルには、サブベクトルとして「83、55、36、22」を登録する。コードブックテーブルへの登録例を図10(D)に示す。このようにして非グループ化文字情報登録部117は、グループに分類されなかった文字の固有ベクトルのベクトル要素をすべてインデックス番号で置き換える。そして、非グループ化文字情報登録部117は、インデックステーブルの該当文字の固有ベクトル記録欄には、付与したインデックス番号だけを記録する。
【0043】
このようにして、グループに分類されない、すなわち、類似する文字が存在しない文字については、インデックステーブルに登録する情報量を削減することができる。なお、図9に示すコードブックテーブルでは、4次元(4つの要素列)のサブベクトルを単位としてコードブックテーブルに登録している。しかしながら、コードブックテーブルに登録するサブベクトルの要素数は、4つに限定されるものではなく、例えば、5つ、6つなど要素数の多いサブベクトルを単位として、コードブックテーブルに登録してもよい。また、ベクトル要素数の異なるサブベクトルをコードブックテーブルに登録することもできる。
【0044】
テーブル格納部118は、グループ化文字情報登録部116と、非グループ化文字情報登録部117によって作成されたインデックステーブルと、コードブックテーブルとを記憶装置23に記憶させる。
【0045】
次に、図11に示すフローチャートを参照しながら辞書作成部10の処理フローを説明する。
まず、辞書作成部10は、パターン認識用辞書を作成する文字のパターン画像データをRAM13から取得する(ステップS1)。パターン画像データは、文字ごとに学習サンプルとして複数用意されている。
【0046】
次に、辞書作成部10は、学習サンプルとして複数用意されたパターン画像データの特徴ベクトルを特徴ベクトル生成部111で作成し(ステップS2)、それらの平均ベクトルを求める(ステップS3)。平均ベクトルは、文字ごとに算出される。
【0047】
次に、辞書作成部10は、算出した平均ベクトルを用いて主成分分析部113で主成分分析を行い、固有値、固有ベクトルを求める(ステップS4)。固有ベクトルは、固有値ごとに求められ、複数のベクトル要素を有している。
【0048】
次に、辞書作成部10は、グループ化部114でパターン認識用辞書を作成する文字を、類似する文字が存在する文字と、類似する文字が存在しない文字とに分ける(ステップS5)。グループ化部114は、類似する文字同士を同じグループに分類し、グループを識別する情報と、グループに属する文字の文字コードとを記憶装置23に保存する。また、グループ化部114は、類似する文字が存在しない文字の場合に、グループに属さない文字であることを示す情報を文字の文字コードと共に記憶装置23に保存する。
【0049】
次に、辞書作成部10は、辞書生成・登録部115で文字の固有値、固有ベクトルをインデックステーブルとコードブックテーブルに登録して、パターン認識用辞書を作成する(ステップS6)。
このとき、グループ化文字情報登録部116は、グループに分類された文字の固有値、固有ベクトルをすべてインデックステーブルに登録する。また、非グループ化文字情報登録部117は、グループに分類されない文字の固有ベクトルのベクトル要素のうち、他の文字の固有ベクトルのベクトル要素と部分一致するサブベクトルを検出する。このとき、非グループ化文字情報登録部117は、ベクトル間距離が誤差の範囲内のサブベクトルも部分一致するサブベクトルとして抽出する。非グループ化文字情報登録部117は、抽出したサブベクトルに、インデッス番号を付与する。そして、非グループ化文字情報登録部117は、インデックステーブルの該当文字の固有ベクトル登録欄には、インデックス番号を登録し、コードブックテーブルに、抽出したサブベクトルとインデックス番号とを登録して対応を管理する。このようにして非グループ化文字情報登録部117は、グループに分類されなかった文字の固有ベクトルのベクトル要素をすべてインデックス番号で置き換える。そして、非グループ化文字情報登録部117は、インデックステーブルの該当文字の固有ベクトル記録欄には、付与したインデックス番号だけを記録する。
【0050】
辞書作成部10は、テーブル格納部118により、グループ化文字情報登録部116と、非グループ化文字情報登録部117で作成されたインデックステーブルと、コードブックテーブルとを記憶装置23に記憶させる(ステップS7)。
【0051】
このように本実施例は、類似する文字のある文字の場合には、文字認識用に多くの情報を必要とすることから、この文字の固有値、固有ベクトルをすべてインデックステーブルに登録する。
また、類似する文字が存在しない文字の場合、類似する文字がある文字に比較して、文字認識用の情報を多く必要とはしない。このため、固有ベクトルのベクトル要素のうち、ベクトル間距離に誤差を許容して他の固有ベクトルのベクトル要素列と部分一致するサブベクトルを抽出する。そして、抽出したサブベクトルに代えてサブベクトルを識別するインデックス番号をインデックステーブルに登録する。これにより、インデックステーブルに登録するデータ量を削減することができる。また、類似する文字については、2次識別方式の固有値、固有ベクトルをそのままパターン認識用辞書に登録するため、文字の認識精度を向上させることができる。
【0052】
例えば、4,000文字で各文字が6個の固有ベクトル(1つの固有ベクトルは200バイトとする)を持つとする。
グループ化しないですべての文字の固有値、固有ベクトルをインデックステーブルに登録するとすると、固有ベクトルのデータ量は、4,000×6×200で4,800,000バイトとなる。
また、固有値は、1固有値は浮動小数点数値で8バイトとすると、4,000×6×8で192,000バイトとなる。従って、固有値と固有ベクトルとの合計のデータ量は、4,992,000バイトとなる。
【0053】
これに対して、本実施例では、固有ベクトルについては、4,000×6個のベクトルを階層的クラスタリングして、1,000個のグループを作成したとする。すると、1文字の固有ベクトルは、6個のサブベクトルで表現できるので、1文字当たり6×2バイトとなる(1つのサブベクトルは、2バイトで表現される)。従って全体で4,000×6×2=48,000バイトとなる。また、インデックステーブルのデータ量は、1,000×8=8,000バイトとなる。さらに、固有値、固有ベクトルの合計は、304,000バイトとなり、元のサイズの6%程度でよい。
【0054】
次に、作成したインデックステーブルと、コードブックテーブルとを使用して、パターン画像認識を行う場合について説明する。
例えば、文字パターンの画像を入力し、入力した文字パターンの文字認識を行うとする。まず、入力した文字パターンの特徴ベクトルを生成して主成分分析を行い、入力した文字パターンの固有値、固有ベクトルを作成する。
次に、標本として登録された文字の固有値、固有ベクトルをインデックステーブルとコードブックテーブルから読み出して入力した文字パターンとの文字認識を行う。このとき、インデックステーブルのインデックスフラグに「1」が記録された文字の固有ベクトルを再現する場合は、インデックステーブルの該当文字欄に記録されたインデックス番号をまず取り出す。そして、該当するインデックス番号のサブベクトルをコードブックテーブルを参照して取り出す。取り出したサブベクトルを、インデックステーブルに記録されたインデックス番号順に並べてD次元の固有ベクトルを再現する。そして、再現した固有ベクトルとインデックステーブルに登録された固有値とに基づいて、入力した文字パターンと、標本として登録された文字とが一致するか否かを判定する。
【0055】
[変形例]
階層的クラスタリングの他の方法について説明する。
グループ化部114は、まず、取得した文字の平均ベクトルを、ベクトル空間に配置する。ベクトル空間は、例えば、平均ベクトルが20個のベクトル要素を有する20次元のベクトルからなれば、20本の軸で表現される空間である。図12には、簡略化のため軸1と軸2の2次元のベクトル空間を示す。軸1は、平均ベクトルの20個ある要素のうち第1要素の成分だけが値を持つ軸である。また、軸2は、20個の要素のうち第2要素だけが値を持つ軸である。
【0056】
次に、グループ化部114は、1つの平均ベクトルに注目し、各軸上の座標値を求める。さらにグループ化部114は、求めた座標値を中心に、軸上で左右に一定値だけ拡大した範囲を求める。そして、この範囲内に入っている文字を求めて、求めた文字群をこの軸上での文字集合とする。
図12に示す例では、例えば「大」の文字に注目すると、軸1上では、「大」を中心とした大きさ7の範囲内に、「太、犬、大、木」の4つの文字が存在することが分かる。同様に、軸2上では、「大」を中心とした大きさ7の範囲内に「犬、亜、大、木、太、腕」の6つの文字が存在することが分かる。グループ化部114は、各軸上で求めた文字集合の論理積を演算し、すべての軸上で「大」の近傍に位置する文字を検出する。図12に示す例では、軸1から求めた文字集合と、軸2から求めた文字集合の論理積を求めることで、「太、犬、大、木」がグループ化部114によって抽出される。グループ化部114は、抽出した文字集合を似ている文字集合として抽出する。グループ化部114は、以上の処理をすべての文字について行い、すべての文字で似ている文字集合を求める。そして、グループ化部114は、求めた似ている文字集合のうち、完全一致した似ている文字集合をグループに設定する。グループ化部114は、設定したグループ情報を記憶装置23と、グループ化文字情報登録部116と、非グループ化文字情報登録部117とに出力する。
【0057】
上述した実施例は、本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0058】
(付記)
(付記1)
入力画像の画像パターンに基づく特徴量を求めて、該特徴量を要素とする特徴ベクトルを生成する特徴ベクトル生成手段と、
各画像の特徴ベクトル同士を比較して類似度の高い画像を抽出し、前記類似度の高い画像をグループとしてまとめるグループ化手段と、
前記特徴ベクトル生成手段で生成された特徴ベクトルに基づいて、画像の画素分布の情報を含む複数の特徴データを生成する特徴データ生成手段と、
各画像を識別する識別情報と、該各画像の特徴データとを記憶手段に記憶させてパターン認識用辞書を作成する場合に、前記グループに含まれない画像の特徴データのデータ量よりも前記グループに含まれる画像の特徴データのデータ量が多くなるように前記パターン認識用辞書を作成し、該作成したパターン認識用辞書を前記記憶手段に記憶させる認識用辞書作成手段と、
を有するパターン認識辞書作成装置。
(付記2)
前記認識用辞書作成手段は、前記グループに含まれない画像の前記パターン認識用辞書を作成する際に、他の画像の複数の特徴データと共通する特徴データを抽出し、該抽出した複数の特徴データを識別する識別情報を前記抽出した複数の特徴データに代えて前記パターン認識用辞書に登録すると共に、前記抽出した複数の特徴データと、該抽出した複数の特徴データを識別する識別情報とを関連付けるサブ辞書を作成する、付記1記載のパターン認識辞書作成装置。
(付記3)
前記特徴データ生成手段は、前記特徴ベクトルに基づいて主成分分析を行い、画像の画素分布を示す固有値と、複数のベクトル要素を有する固有ベクトルを生成する手段である、付記1記載のパターン認識辞書作成装置。
(付記4)
前記認識用辞書作成手段は、前記グループに含まれない画像の前記パターン認識用辞書を作成する場合は、該画像の固有ベクトルのベクトル要素のうち、他の画像の固有ベクトルのベクトル要素と部分一致するベクトル要素列と、ベクトル要素同士の差が所定値以下にあるベクトル要素列との少なくとも一方を抽出し、該抽出したベクトル要素列を識別する識別情報を前記記憶手段に記憶させると共に、前記抽出したベクトル列と、前記識別識別とを関連付けるサブ辞書を作成する、付記3記載のパターン認識辞書作成装置。
(付記5)
コンピュータを、
入力画像の画像パターンに基づく特徴量を求めて、該特徴量を要素とする特徴ベクトルを生成する手段と、
各画像の特徴ベクトル同士を比較して類似度の高い画像を抽出し、前記類似度の高い画像をグループとしてまとめる手段と、
前記特徴ベクトル生成手段で生成された特徴ベクトルに基づいて、画像の画素分布の情報を含む複数の特徴データを生成する手段と、
各画像を識別する識別情報と、該各画像の特徴データとを記憶手段に記憶させてパターン認識用辞書を作成する場合に、前記グループに含まれない画像の特徴データのデータ量よりも前記グループに含まれる画像の特徴データのデータ量が多くなるように前記パターン認識用辞書を作成し、該作成したパターン認識用辞書を前記記憶手段に記憶させる手段として機能させるプログラム。
(付記6)
前記パターン認識用辞書を前記記憶手段に記憶させる手段は、前記グループに含まれない画像の前記パターン認識用辞書を作成する際に、他の画像の複数の特徴データと共通する特徴データを抽出し、該抽出した複数の特徴データを識別する識別情報を前記抽出した複数の特徴データに代えて前記パターン認識用辞書に登録すると共に、前記抽出した複数の特徴データと、該抽出した複数の特徴データを識別する識別情報とを関連付けるサブ辞書を作成する、付記5記載のプログラム。
(付記7)
前記特徴データを生成する手段は、前記特徴ベクトルに基づいて主成分分析を行い、画像の画素分布を示す固有値と、複数のベクトル要素を有する固有ベクトルを生成する手段である、付記5記載のプログラム。
(付記8)
前記パターン認識用辞書を前記記憶手段に記憶させる手段は、前記グループに含まれない画像の前記パターン認識用辞書を作成する場合は、該画像の固有ベクトルのベクトル要素のうち、他の画像の固有ベクトルのベクトル要素と部分一致するベクトル要素列と、ベクトル要素同士の差が所定値以下にあるベクトル要素列との少なくとも一方を抽出し、該抽出したベクトル要素列を識別する識別情報を前記記憶手段に記憶させると共に、前記抽出したベクトル列と、前記識別識別とを関連付けるサブ辞書を作成する、付記7記載のプログラム。
【符号の説明】
【0059】
1 パターン認識辞書作成装置
10 辞書作成部
21 スキャナ装置
22 操作部
23 記憶装置
24 表示装置
30 外部記憶装置
111 特徴ベクトル生成部
112 平均ベクトル算出部
113 主成分分析部
114 グループ化部
115 辞書生成・登録部
116 グループ化文字情報登録部
117 非グループ化文字情報登録部
118 テーブル格納部

【特許請求の範囲】
【請求項1】
入力画像の画像パターンに基づく特徴量を求めて、該特徴量を要素とする特徴ベクトルを生成する特徴ベクトル生成手段と、
各画像の特徴ベクトル同士を比較して類似度の高い画像を抽出し、前記類似度の高い画像をグループとしてまとめるグループ化手段と、
前記特徴ベクトル生成手段で生成された特徴ベクトルに基づいて、画像の画素分布の情報を含む複数の特徴データを生成する特徴データ生成手段と、
各画像を識別する識別情報と、該各画像の特徴データとを記憶手段に記憶させてパターン認識用辞書を作成する場合に、前記グループに含まれない画像の特徴データのデータ量よりも前記グループに含まれる画像の特徴データのデータ量が多くなるように前記パターン認識用辞書を作成し、該作成したパターン認識用辞書を前記記憶手段に記憶させる認識用辞書作成手段と、
を有するパターン認識辞書作成装置。
【請求項2】
前記認識用辞書作成手段は、前記グループに含まれない画像の前記パターン認識用辞書を作成する際に、他の画像の複数の特徴データと共通する特徴データを抽出し、該抽出した複数の特徴データを識別する識別情報を前記抽出した複数の特徴データに代えて前記パターン認識用辞書に登録すると共に、前記抽出した複数の特徴データと、該抽出した複数の特徴データを識別する識別情報とを関連付けるサブ辞書を作成する、請求項1記載のパターン認識辞書作成装置。
【請求項3】
前記特徴データ生成手段は、前記特徴ベクトルに基づいて主成分分析を行い、画像の画素分布を示す固有値と、複数のベクトル要素を有する固有ベクトルを生成する手段である、請求項1記載のパターン認識辞書作成装置。
【請求項4】
前記認識用辞書作成手段は、前記グループに含まれない画像の前記パターン認識用辞書を作成する場合は、該画像の固有ベクトルのベクトル要素のうち、他の画像の固有ベクトルのベクトル要素と部分一致するベクトル要素列と、ベクトル要素同士の差が所定値以下にあるベクトル要素列との少なくとも一方を抽出し、該抽出したベクトル要素列を識別する識別情報を前記記憶手段に記憶させると共に、前記抽出したベクトル列と、前記識別識別とを関連付けるサブ辞書を作成する、請求項3記載のパターン認識辞書作成装置。
【請求項5】
コンピュータを、
入力画像の画像パターンに基づく特徴量を求めて、該特徴量を要素とする特徴ベクトルを生成する手段と、
各画像の特徴ベクトル同士を比較して類似度の高い画像を抽出し、前記類似度の高い画像をグループとしてまとめる手段と、
前記特徴ベクトル生成手段で生成された特徴ベクトルに基づいて、画像の画素分布の情報を含む複数の特徴データを生成する手段と、
各画像を識別する識別情報と、該各画像の特徴データとを記憶手段に記憶させてパターン認識用辞書を作成する場合に、前記グループに含まれない画像の特徴データのデータ量よりも前記グループに含まれる画像の特徴データのデータ量が多くなるように前記パターン認識用辞書を作成し、該作成したパターン認識用辞書を前記記憶手段に記憶させる手段として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−170352(P2010−170352A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願番号】特願2009−12503(P2009−12503)
【出願日】平成21年1月23日(2009.1.23)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】