(57)【要約】  【課題】  1000クラス超の多クラス識別問題を現実的な処理時間で扱え、かつ高精度の識別を可能とする。  【解決手段】  学習データ入力部１は予め用意してある学習データを入力し、前処理部２に伝送する。前処理部２は、入力されたデータから、データの濃度値の正規化やノイズ除去等行い、特徴抽出部３へ伝送する。特徴抽出部３は、前処理部２において整形されたデータから特徴量を抽出する。抽出された特徴量をもとに、識別関数作成部４は、識別関数を作成し、作成した識別関数を識別関数記憶部５に格納する。画像データ入力部６は、識別用の画像データを入力し、データを、前処理部７を介して特徴抽出部８へ伝送し、特徴量を抽出して識別部９へ伝送する。識別部９は、識別関数記憶部５に記憶されているパラメータを読み出し、類似度を算出し、その結果を出力部１０に出力する。  【選択図】  図１
2005339186.tif 000002
【特許請求の範囲】
【請求項１】
画像データに含まれる任意のパターンを識別するパターン認識装置であって、
学習用の画像データを入力する学習データ入力手段と、
学習データからパターンの特徴量を抽出する学習データ特徴抽出手段と、
各クラスにおいて学習データの分布を近似する部分空間を作成し、その部分空間同士の類似度を利用した識別関数のパラメータを算出する識別関数作成手段と、
を備えることを特徴とするパターン認識学習装置。
【請求項２】
前記識別関数作成手段において、
クラスの分布を近似する部分空間の基底ベクトルを算出する部分空間作成手段と、相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをサポートベクトルマシン（ＳＶＭ）の学習過程を利用して算出する識別関数パラメータ計算手段と、
を備えることを特徴とする請求項１に記載のパターン認識学習装置。
【請求項３】
前記識別関数作成手段において、
クラスの分布を近似する核非線形部分空間の基底ベクトルを算出する部分空間作成手段と、非線形核相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをサポートベクトルマシン（ＳＶＭ）の学習過程を利用して算出する識別関数パラメータ計算手段と、
を備えることを特徴とする請求項１に記載のパターン認識学習装置。
【請求項４】
画像データに含まれる任意のパターンを識別するパターン認識装置であって、
識別対象となるデジタル画像データを入力する画像データ入力手段と、
入力画像データからパターンの特徴量を抽出する特徴抽出手段と、
識別関数記憶手段から読み出した識別関数とそのパラメータをもとにパターンの識別を行う識別手段と、
識別結果を出力する出力手段と、
を備えることを特徴とするパターン認識識別装置。
【請求項５】
画像データに含まれる任意のパターンを識別するパターン認識方法であって、
学習用の画像データを入力する学習データ入力ステップと、
学習データからパターンの特徴量を抽出する学習データ特徴抽出ステップと、
各クラスにおいて学習データの分布を近似する部分空間を作成し、その部分空間同士の類似度を利用した識別関数のパラメータを算出する識別関数作成ステップと、
を備えることを特徴とするパターン認識学習処理方法。
【請求項６】
前記識別関数作成ステップにおいて、
クラスの分布を近似する部分空間の基底ベクトルを算出する部分空間作成ステップと、相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算ステップと、
を備えることを特徴とする請求項５に記載のパターン認識学習処理方法。
【請求項７】
前記識別関数作成ステップにおいて、
クラスの分布を近似する核非線形部分空間の基底ベクトルを算出する部分空間作成ステップと、非線形核相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算ステップと、
を備えることを特徴とする請求項５に記載のパターン認識学習処理方法。
【請求項８】
画像データに含まれる任意のパターンを識別するパターン認識方法であって、
識別対象となるデジタル画像データを入力する画像データ入力ステップと、
入力画像データからパターンの特徴量を抽出する特徴抽出ステップと、
識別関数記憶部から読み出した識別関数とそのパラメータをもとにパターンの識別を行う識別ステップと、
識別結果を出力する出力ステップと、
を備えることを特徴とするパターン認識識別処理方法。
【請求項９】
請求項１〜８のいずれか１項に記載のパターン認識学習装置と識別装置又はパターン認識学習処理方法と識別処理方法を、コンピュータに実行させるためのプログラムとしたことを特徴とするパターン認識プログラム。
【請求項１０】
請求項１〜８のいずれか１項に記載のパターン認識学習装置と識別装置又はパターン認識学習処理方法と識別処理方法を、コンピュータに実行させるためのプログラムとし、前記プログラムを前記コンピュータが読み取りできる記録媒体に記録したことを特徴とするパターン認識プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中に含まれるパターン認識学習装置と識別装置、パターン認識学習処理方法と識別処理方法及びパターン認識プログラム並びにそのプログラムを記録した記録媒体に関するものである。
【背景技術】
【０００２】
近年、パターン識別に関する理論の発展が目覚ましい。その中で、サポートベクトルマシン（以下ＳＶＭと称す）がある（非特許文献１参照。）。
【０００３】
また、カーネル非線形部分空間法もある（非特許文献２参照。）。
【０００４】
これは計算機の高速化と決して無縁ではなく、マシンパワーを最大限に利用した複雑な計算により識別性能を格段に向上させている。しかし、学習過程における計算は、現存する最速の計算機を用いたとしても、かなりの計算時間を要する。
【０００５】
ＳＶＭは、現在知られているパターン認識手法の中でも、最も識別性能に優れた手法の一つとされている。ＳＶＭは、２つのクラスを識別する手法であって、そのために、マージン最大化の基準により最適化の枠組で識別関数を算出する。
【非特許文献１】V.N. Vapnik：“Statisical Learning Theory”,John Wiley＆Sons,1998
【非特許文献２】前田英作、村瀬洋：”カーネル非線形部分空間法によるパターン認識”、電子情報通信学会論文誌D-II、Vol.J82-D-II,No.4,pp600-612,1999
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した識別関数を算出するにあたっては、凸二次計画問題を解かなくてはならないが、一般にこのための計算時間は学習データ数に対し指数関数的に増大する。
【０００７】
また、ＳＶＭを日本語文字認識のような1000クラス超の多クラス識別に適用する場合には、次のような２通りの方法がある。
（１）２つのクラスの全ての組み合わせを識別関数化して、最も多く選ばれたクラスを識別クラスとする方法と、
（２）あるクラスとそれ以外のクラスを識別する識別関数をクラス数分作り、最も類似度の大きいクラスを識別クラスとする方法とである。
【０００８】
しかし、前者の方法は、例えば1000クラスの場合、1000×999／2＝499500個ものの識別関数を計算する必要があり、あまり現実的ではない。一方、後者は1000クラスの場合、1000個の識別関数を用意すればよいので、計算すべき識別関数の数は少なくなるが、ここにも一つ別の問題がある。
【０００９】
1000クラスの場合、いわゆる“それ以外”のクラスを構成するクラスは999クラスとなる。これにあたるデータ数が膨大なものとなるのは明らかである。既に述べた通り、ＳＶＭはデータ数に対し指数関数的に計算時間が増大してしまうため、１つの識別関数を計算するのに要する時間が非現実的なものとなるのである。したがって、1000クラス超の多クラス識別問題を扱う場合、ＳＶＭは計算時間の問題で相応しないと考えられる。
【００１０】
本発明は、上記の事情に鑑みてなされたもので、ＳＶＭや他の非線形識別関数に比肩する識別性能を有し、特に1000クラス超の多クラス識別問題を扱うような場合を想定したときの、効率の良い学習過程を持つ識別器を構成した新しいパターン識別の手法を提供することを課題とする。
【課題を解決するための手段】
【００１１】
上記の課題を達成するために、ＳＶＭを用いるにあたって一番問題となるのは、学習データ数の問題である。一般に、一つのクラスに対し100〜100,000個の学習データが与えられる。この膨大なデータ数が計算時間に決定的な影響を与えている。しかし、これが、一つのクラスに対し１個のデータと置き換えられれば、前記の課題を解決できるはずである。
【００１２】
それを実現するために、各クラスの特徴空間における分布を部分空間で近似し、それら部分空間の相互の類似度を利用する。ここで、部分空間同士の類似度算出の方法として相互部分空間法（前田賢一、渡辺貞一、“局所的構造を導入したパターンマッチング法”、電子情報通信学会論文誌D,Vol.J68-D,No.3,pp.345-352,1985）のテクニックを用いる。相互部分空間法では、２つの異なる部分空間同士の類似度cos2を次式と定義する。
【００１３】
【数１】
2005339186.tif 000003
【００１４】
ここで、U,Vは２つの異なるクラスの分布を近似する部分空間を表し、u,vはU,Vの基底ベクトルを表す。また、(u,v)はuとvの内積を表す。それらの部分空間のなす最小角度がθにあたる。この類似度cos2θは、次の式（２）、（３）、（４）で表されるQの最大固有値として算出可能である。
【００１５】
（数２）          Ｑ＝（ｑij）      …（２）
【００１６】
【数３】
2005339186.tif 000004
【００１７】
【数４】
2005339186.tif 000005
【００１８】
ここで、ｕiは部分空間Uのｉ番目の基底ベクトル、ｖiは部分空間Vのｉ番目の基底ベクトル、ｕiaは部分空間Uのｉ番目の基底ベクトルの第ａ成分、ｖiは部分空間Vのｉ番目の基底ベクトルの第ａ成分、Dは特徴空間の次元数、Mは部分空間Vの次元数を表す。
【００１９】
また、これを非線形に拡張した核非線形相互部分空間法（坂野鋭、武川直樹、中村太一：“核非線形相互部分空間法による物体認識”、電子情報通信学会論文誌D-II，Vol.J84D-II,No.8,pp.1549-1556,2001）も提案されている。これは、非線形変換による高次元特徴空間へ写像した先での内積計算を、カーネル関数を用いて効率よく計算することで、高次元特徴空間上での部分空間同士の類似度を求める手法である。具体的には、次の式（５）、（６）、（７）で表される行列Qの最大固有値として算出可能である。
【００２０】
（数５）        Ｑ＝（ｑij）      …（５）
【００２１】
【数６】
2005339186.tif 000006
【００２２】
【数７】
2005339186.tif 000007
【００２３】
ここで、Ａは高次元特徴空間上での部分空間Uの基底ベクトル、Ｂは高次元特徴空間上での部分空間Vの基底ベクトル、ｘは部分空間Uを構成する学習ベクトル、ｙは部分空間Vを構成する学習ベクトル、ｋ（ｘ，ｙ）はカーネル関数、Mは部分空間Vの次元数、Ｎは学習ベクトルｘの個数、N’は学習ベクトルｙの個数を表す。また、αiは、次式（８）、（９）で表される行列Wの固有ベクトルであり、固有値の大きい順でｉ番目の固有ベクトルに相当する。
【００２４】
（数８）    Ｗ＝（ｗij）      …（８）
【００２５】
（数９）    ｗij＝ｋ（ｘi，ｘj）      …（９）
βiも同様に、学習ベクトルｙに置き換えた行列Wの固有ベクトルとして算出できる。また、カーネル関数は式（１０）の多項式カーネルや式（１１）のガウシアンカーネル等がある。
【００２６】
（数１０）      ｋ（ｘi，ｘj）＝（ｘit＋１）P      …（１０）
【００２７】
【数１１】
2005339186.tif 000008
【００２８】
さて、これらの方法を用いて、部分空間同士の類似度を計算することができるが、ここで、この類似度を、そのままカーネル関数ｋsubspace（Ｕ，Ｖ）と考える。これを用いて、ＳＶＭの枠組で識別関数ｓを、次式（１２）と表すことができる。
【００２９】
【数１２】
2005339186.tif 000009
【００３０】
ここで、ｙは識別の対象べクトル、ｈは閾値係数である。また、Ｕiはクラスｉの部分空間を表し、Supportは係数γiが「０」でないクラスを表す。またｔiはクラスｉの正解ラベルを表し、「１」か「−１」の値をとる。例えば、クラス「１」とそれ以外の識別を行う識別関数を計算する場合、ｔ1を「１」、ｔ2〜ｔc（Ｃはクラス数）を「−１」とすればよい。また、ｋsubspace（Ｕ，ｙ）は部分空間とベクトルが引数となっており、上の定式化では計算できないように思われるかもしれないが、もともとの定義としてｋsubspace（Ｕ，Ｖ）は次式（１３）であるため、
【００３１】
【数１３】
2005339186.tif 000010
【００３２】
ｋsubspace（Ｕ，ｙ）は、ベクトルｙを部分空間Ｕに投影したときの投影角度θから導き出されるcos2θを計算すれば良い。（注：ここで、部分空間Ｕの基底ベクトルは、特徴空間の原点を起点としたＫＬ展開により算出されることとする。）したがって、線形の場合なら、次式（１４）として計算できる。
【００３３】
【数１４】
2005339186.tif 000011
【００３４】
ここで、ｕjは部分空間Ｕのｊ番目の基底ベクトルを表す。
【００３５】
また、非線形の場合なら、次式（１５）、（１６）として計算できる。
【００３６】
【数１５】
2005339186.tif 000012
【００３７】
【数１６】
2005339186.tif 000013
【００３８】
ここで、ｕjは式（８）、（９）で表される行列Ｗの固有ベクトルであり、固有値の大きい順でｊ番目の固有ベクトルに相当する。また、αjはｊ番目に大きい固有値であり、ｘ1〜ｘn'は、部分空間Ｕを構成するｎ’個の学習ベクトルである。
【００３９】
そして、パラメータγは制約条件
【００４０】
【数１７】
2005339186.tif 000014
【００４１】
（数１８）      ０≦γi≦η，ｉ＝１,...,Ｃ            …（１８）
（但し、ηはソフトマージンのためのパラメータ）
のもとで、次式により目的関数を最大とするγを求めればよい。
【００４２】
【数１９】
2005339186.tif 000015
【００４３】
ここで、Ｕiはクラスｉの部分空間を表す。これは、凸２次計画法（今野浩、山下浩“非線形計画法”、日科技連出版社、1978）の枠組で算出可能である。
【００４４】
この方法を採用すると、識別関数算出の際、１クラスあたりの学習データ数を１と考えたときと演算回数が同じになり、結果として学習時間を大幅に短縮できる。
【００４５】
また、この手法は特徴空間において近接した他クラスの部分空間がサポートベクトルになり、自クラスの部分空間との位置関係が識別関数に反映されるため、従来の部分空間法あるいはカーネル非線形部分空間法よりも高い精度を期待できる。
【００４６】
本発明は、上記の課題を達成するために、画像データに含まれる任意のパターンを識別するパターン認識装置であって、学習用の画像データを入力する学習データ入力手段と、学習データからパターンの特徴量を抽出する学習データ特徴抽出手段と、各クラスにおいて学習データの分布を近似する部分空間を作成し、その部分空間同士の類似度を利用した識別関数のパラメータを算出する識別関数作成手段と、を備えることを特徴とする。
【００４７】
あるいは、前記識別関数作成手段において、クラスの分布を近似する部分空間の基底ベクトルを算出する部分空間作成手段と、相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをサポートベクトルマシン（ＳＶＭ）の学習過程を利用して算出する識別関数パラメータ計算手段と、を備えることを特徴とする。
【００４８】
あるいは、前記識別関数作成手段において、クラスの分布を近似する核非線形部分空間の基底ベクトルを算出する部分空間作成手段と、非線形核相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをサポートベクトルマシン（ＳＶＭ）の学習過程を利用して算出する識別関数パラメータ計算手段と、を備えることを特徴とする。
【００４９】
あるいは、画像データに含まれる任意のパターンを識別するパターン認識装置であって、識別対象となるデジタル画像データを入力する画像データ入力手段と、入力画像データからパターンの特徴量を抽出する特徴抽出手段と、識別関数記憶手段から読み出した識別関数とそのパラメータをもとにパターンの識別を行う識別手段と、識別結果を出力する出力手段と、を備えることを特徴とする。
【００５０】
あるいは、画像データに含まれる任意のパターンを識別するパターン認識方法であって、学習用の画像データを入力する学習データ入力ステップと、学習データからパターンの特徴量を抽出する学習データ特徴抽出ステップと、各クラスにおいて学習データの分布を近似する部分空間を作成し、その部分空間同士の類似度を利用した識別関数のパラメータを算出する識別関数作成ステップと、を備える特徴とする。
【００５１】
あるいは、前記識別関数作成ステップにおいて、クラスの分布を近似する部分空間の基底ベクトルを算出する部分空間作成ステップと、相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算ステップと、を備えることを特徴とする。
【００５２】
あるいは、前記識別関数作成ステップにおいて、クラスの分布を近似する核非線形部分空間の基底ベクトルを算出する部分空間作成ステップと、非線形核相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算ステップと、を備えることを特徴とする。
【００５３】
あるいは、画像データに含まれる任意のパターンを識別するパターン認識方法であって、識別対象となるデジタル画像データを入力する画像データ入力ステップと、入力画像データからパターンの特徴量を抽出する特徴抽出ステップと、識別関数記憶部から読み出した識別関数とそのパラメータをもとにパターンの識別を行う識別ステップと、識別結果を出力する出力ステップと、を備えることを特徴とする。
【００５４】
あるいは、パターン認識学習装置と識別装置及びパターン認識学習処理方法と識別処理方法を、コンピュータに実行させるためのプログラムとしたことを特徴とする。
【００５５】
あるいは、パターン認識学習装置と識別装置及びパターン認識学習処理方法と識別処理方法を、コンピュータに実行させるためのプログラムとし、前記プログラムを前記コンピュータが読み取りできる記録媒体に記録したことを特徴とする。
【００５６】
なお、具体的なパターン認識装置は、以下の構成を備える。即ち、画像データに含まれる任意のパターンを識別するパターン認識装置であって、学習用の画像データを入力する学習データ入力手段と、学習データの濃度値正規化、ノイズ除去を行う学習データ前処理手段と、学習データからパターンの特徴量を抽出する学習データ特徴抽出手段と、各クラスにおいて学習データの分布を近似する部分空間を作成し、その部分空間同士の類似度を利用した識別関数のパラメータを算出する識別関数作成手段と、識別関数とそのパラメータを格納する識別関数記憶手段と、識別対象となるデジタル画像データを入力する画像データ入力手段と、入力画像データの濃度値正規化、ノイズ除去を行う前処理手段と、入力画像データからパターンの特徴量を抽出する特徴抽出手段と、識別関数記憶手段から読み出した識別関数とそのパラメータをもとにパターンの識別を行う識別手段と、識別結果を出力する出力手段とを備える。
【００５７】
また、識別関数作成手段において、クラス分布を近似する部分空間の基底ベクトルを算出する部分空間作成手段と、相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算手段とを備える。
【００５８】
あるいは、識別関数記憶手段において、クラスの分布を近似する核非線形部分空間の基底ベクトルを算出する部分空間作成手段と、非線形核相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算手段とを備える。
【００５９】
また、具体的なパターン認識方法は以下の構成を備える。即ち、画像データに含まれる任意のパターンを識別するパターン認識方法であって、学習用の画像データを入力する学習データ入力ステップと、学習データの濃度値正規化、ノイズ除去を行う学習データ前処理ステップと、学習データからパターンの特徴量を抽出する学習データ特徴抽出ステップと、各クラスにおいて学習データの分布を近似する部分空間を作成し、その部分空間同士の類似度を利用した識別関数のパラメータを算出する識別関数作成ステップと、識別関数とそのパラメータを格納する識別関数記憶ステップと、識別対象となるデジタル画像データを入力する画像データ入力ステップと、入力画像データの濃度値正規化、ノイズ除去を行う前処理ステップと、入力画像データからパターンの特徴量を抽出する特徴抽出ステップと、識別関数記憶ステップから読み出した識別関数とそのパラメータをもとにパターンの識別を行う識別ステップと、識別結果を出力する出力ステップとを備える。
【００６０】
また、識別関数記憶ステップにおいて、クラスの分布を近似する部分空間の基底ベクトルを算出する部分空間作成ステップと、相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算ステップとを備える。
【００６１】
あるいは、識別関数記憶ステップにおいて、クラスの分布を近似する核非線形部分空間の基底ベクトルを算出する部分空間作成ステップと、非線形核相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算ステップとを備える。
【００６２】
また、具体的なパターン認識プログラム記録媒体は、以下の構成を備える。即ち、画像データに含まれる任意のパターンを識別するパターン認識プログラムを記録した記録媒体であって、学習用の画像データを入力する学習データ入力工程のプログラムコードと、学習データの濃度値正規化、ノイズ除去を行う学習データ前処理工程のプログラムコードと、学習データからパターンの特徴量を抽出する学習データ特徴抽出工程のプログラムコードと、各クラスにおいて学習データの分布を近似する部分空間を作成し、その部分空間同士の類似度を利用した識別関数のパラメータを算出する識別関数作成工程のプログラムコードと、識別関数とそのパラメータを格納する識別関数記憶工程のプログラムコードと、識別対象となるデジタル画像データを入力する画像データ入力工程のプログラムコードと、入力画像データの濃度値正規化、ノイズ除去を行う前処理工程のプログラムコードと、入力画像データからパターンの特徴量を抽出する特徴抽出工程のプログラムコードと、識別関数記憶工程のプログラムコードから読み出した識別関数とそのパラメータをもとにパターンの識別を行う識別工程のプログラムコードと、識別結果を出力する出力工程のプログラムコードとを備える。
【００６３】
また、識別関数記憶プログラムを記録した記録媒体において、クラスの分布を近似する部分空間の基底ベクトルを算出する部分空間作成工程のプログラムコードと、相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算工程のプログラムコードとを備える。
【００６４】
あるいは、識別関数記憶工程のプログラムコードにおいて、クラスの分布を近似する核非線形部分空間の基底ベクトルを算出する部分空間作成工程のプログラムコードと、非線形核相互部分空間法による部分空間同士の類似度をもとに構成される識別関数のパラメータをＳＶＭの学習過程を利用して算出する識別関数パラメータ計算工程のプログラムコードとを備える。
【発明の効果】
【００６５】
以上述べたように、本発明による手段やステップを実現することによって、各クラスの学習ベクトルを１つの部分空間に近似し、その相互の類似度をカーネル関数としたＳＶＭの枠組による識別関数を構成するため、識別関数算出の際に１クラスあたりの学習データ数を１とした場合と同じ演算回数となり、結果的に1000クラス超の多クラス識別問題を現実的な処理時間で扱うことができるようになる。
【００６６】
また、本発明による手段やステップは、特徴空間において近接した他クラスの部分空間がサポートベクトルになり、自クラスの部分空間との位置関係が識別関数に反映されるため、従来の部分空間法あるいはカーネル非線形部分空間法よりも高い精度を期待できるようになる。
【発明を実施するための最良の形態】
【００６７】
以下本発明の実施の形態を図面に基づいて詳細に説明する。図１は、本発明に係る実施形態のパターン認識装置の構成を示すブロック図であり、図２（ａ），（ｂ）は、本発明に係る実施形態のパターン認識方法のフローチャートである。
【００６８】
まず、図１と図２（ａ）を用いて述べる。なお、図２（ａ）は、式（１２）の係数γi，閾値係数ｈを設定する学習処理フローチャートである。
【００６９】
図１、図２（ａ）において、学習データ入力部１は，カメラやイメージスキャナ等の画像取得装置を用いて、あらかじめ用意してある学習データを入力し（Ｓ１）、そのデータを学習データ前処理部２に伝送する。
【００７０】
学習データ前処理部２は、入力されたデジタル画像データから、画像データの濃度値の正規化（例えば、濃度値の平均を０、分散を１に正規化する）やノイズ除去等行い（Ｓ２）、学習データ特徴抽出部３へ伝送する。学習データ特徴抽出部３は、学習データ前処理部２において整形された学習データから特徴量を抽出する（Ｓ３）。
【００７１】
特徴量は、いろいろ考えられるが、例えばフーリエ変換のパワースペクトル、色ヒストグラム特徴（村瀬洋、V.V.Vinod“局所色情報を用いた高速物体探索−アクティブ探索法−”」、電子情報通信学会論文誌D-II,Vol.J81-D-II,No.9,pp.2035-2042,1998）、局所方向ヒストグラム特徴（若林哲史、鶴岡信治、木村文隆、三宅康二“特徴量の次元数増加による手書き数字認識の高精度化”、電子情報通信学会論文誌D-II,Vol.J77-D-II,No.10,pp.2046-2053,1994.）等がある。また、こういった特徴抽出処理を行わず、画像の輝度値そのものを特徴量としてしまっても良い。
【００７２】
識別関数作成部４は、学習データから抽出された特徴量をもとに、識別関数を作成する（Ｓ４）。その際の識別関数作成部４における演算処理装置構成および処理の実行方法を、図３のブロック図と図４のフローチャートに示す。図３において、部分空間作成部１１では、各クラスの特徴量からクラス部分空間の基底ベクトルを算出する（図４のＳ１０）、（図４のＳ１１）。
【００７３】
これは、学習データから抽出された特徴量の共分散行列の固有ベクトルとして算出される。非線形の場合は、上述した式（８）（９）で表される行列Ｗの固有ベクトルとして算出可能である。
【００７４】
ここで、SVMに対し、部分空間の概念または相互部分空間法を適用するにあたって行った技術的工夫は、次の（ａ），（ｂ）のようなものである。
【００７５】
（ａ）SVMのカーネル関数は、Mercerの条件を満たすものでなければならないが、相互部分空間法あるいは核非線形相互部分空間法における部分空間同士の類似度計算法は、Mercerの条件を満たすものであり、これらを直接カーネル関数として用いることが可能である。
【００７６】
（ｂ）部分空間を算出するとき、重心まわりの固有ベクトルをとるか、原点まわりの固有ベクトルをとるかで結果が異なってくるが、SVMに適用するにあたっては、原点まわりの固有ベクトルを採用した。これにより、識別過程においてカーネル関数の引数である２つの部分空間のうち、一方を識別の対象ベクトルに置き換えても一般性を損なわなくなり（ベクトルを１次元の部分空間とみなせるから）、識別関数を構成することが可能となる。
【００７７】
次に、上記部分空間法について述べる。部分空間法は、類別すべきカテゴリを特徴ベクトル成分の分布から形成される部分空間への射影を通して判定する統計的手法の一種である。この場合の、変換するベクトル成分の固有ベクトル計算には、例えば、量子化アルゴリズムであるカルーネン・レーベ変換によるＫＬ解析が採用される。部分空間法における代表的な手法には、ＣＬＡＦＩＣ法や、平均学習部分空間法が知られている。
【００７８】
また、ＡＬＳＭは、対抗するカテゴリをも考慮した適応的な学習アプローチに属し、所定の訓練パターンに対する誤認識が最小となるように空間を反復的に張り直してカテゴリ境界の学習が進められる。
【００７９】
まずは、識別したいパターンのサンプルデータを予め入力し、そのパターンを表す部分空間を算出しておき、学習パターン記憶部に蓄積する。部分空間は、識別パターンから得られる特徴ベクトルの共分散行列の固有値および固有ベクトルを算出することにより、求めることができる。
【００８０】
識別の際には、学習パターン記憶部から全てのパターンの部分空間データを呼び出し、それらの部分空間との距離をもとにパターンの識別を行う。距離は、特徴空間内での単純ユークリッド距離にて計測し、距離が最も近い部分空間のパターンを識別結果とする。
【００８１】
なお、部分空間法の基本原理は、石井健一郎、上田修功、前田英作、村瀬洋共著、“わかりやすいパターン認識”、オーム社（１９９８）等に詳しく掲載されている。なお、部分空間法以外にも例えば最近傍法、フィッシャーの線形判別法、サポートベクトルマシン、ニューラルネットワーク、カーネル非線形部分空間法等を用いても良い。
【００８２】
図３の識別関数パラメータ計算部１２では、クラス部分空間データをもとに、式（１２）のパラメータγ、ｈを計算する（図４のＳ１２）、（図４のＳ１３）。式（１７）（１８）（１９）を凸２次計画法により計算することでパラメータγ、ｈが算出される。識別関数記憶部５は、識別関数のパラメータをメモリに格納する（Ｓ５）。
【００８３】
次に、図１と図２（ｂ）を用いて述べる。なお、図２（ｂ）は識別処理フローチャートである。図１、図２（ｂ）において、画像データ入力部６は、カメラやイメージスキャナ等の画像取得装置を用いて識別用の画像データを入力し（Ｓ６）、データを前処理部７に伝送する。前処理部７は、学習データ前処理部２と同様の処理を行い（Ｓ７）、特徴抽出部８へ伝送する。特徴抽出部８も特徴抽出部３と同様の処理を行い（Ｓ８）、式（１２）に示すベクトルｙを求めて識別部９へ伝送する。
【００８４】
識別部９は、識別関数記憶部５に記憶されているパラメータを読み出し、上述した式（１２）に求めた識別の対象ベクトルｙを代入して識別関数ｓを求め、及び式（１４）（１５）（１６）により各クラスの類似度を算出する。その結果を比較して、最も類似度の高いクラスを識別クラスとする（Ｓ９）。出力部１０は、識別部９で演算された識別結果を出力する。
【００８５】
なお、図１における学習装置Ｌおよび識別装置Ｄにおける「前処理部２，７」、図２（ａ）の学習処理および図２（ｂ）の識別処理における「前処理Ｓ２，Ｓ７」は、省略しても構わない。
【００８６】
本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のＣＰＵ（ＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、実現できる。その場合、記憶媒体から読み出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体、例えばＣＤ-ＲＯＭ，ＤＶＤ-ＲＯＭ，ＣＤ-Ｒ，ＣＤ-ＲＷ，ＭＯ，ＨＤＤ等は本発明を構成する。
【００８７】
実施の形態例
本発明を実施した形態例の一つとして日本語文字認識を取り上げる。日本語文字認識においては、パターンは、カメラやイメージスキャナ等により入力された画像情報あるいはそこから任意に切り出した部分画像情報であり、クラスは「あ」や「ア」や「亜」といった文字種概念に相当する。
【００８８】
学習データは、あらかじめ用意しておいた複数種類の文字画像であり、例としてゴシック体フォントや明朝体フォント等といった複数種類のフォント文字を利用することができる。
【００８９】
また、識別関数は、ある文字種概念であるか否かを判別するための関数であり（例えば「あ」であるか、「あ」でないかを判別する関数）、文字種数の分だけ識別関数が用意される。識別結果は、例えばテキストデータコードとしてファイル出力し、ディスプレイに表示する、あるいは翻訳等により加工したデータを出力するといったことが考えられる。
【００９０】
以上説明したように、本発明の実施形態によれば、1000クラス超の多クラス識別問題を現実的な処理時間で扱え、かつ高精度の識別を可能とするパターン認識装置及びその方法が提供できる。
【００９１】
上述した、図１で示した各機能実現手段をコンピュータのプログラムで構成したり、あるいは図２、図４に示したフローチャートの処理ステップをコンピュータのプログラムで構成したりして、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラム、あるいは、コンピュータでその処理ステップを実行させるためのプログラムを、そのコンピュータが読み取りできる記録媒体、例えば、フレキシブルディスクや、ＣＤ，ＤＶＤ，ＭＯ，ＲＯＭ、メモリカード、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。
【００９２】
また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。これらの記録媒体からコンピュータに前記のプログラムをインストールすることにより、あるいはネットワークからダウンロードしてコンピュータに前記のプログラムをインストールすることにより、本発明を実施することが可能となる。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施の形態を示すブロック図である。
【図２】実施の形態の動作を述べるためのフローチャートで、（ａ）は学習処理、（ｂ）は識別処理フローチャートである。
【図３】識別関数作成部における演算処理装置の構成を示すブロック図である。
【図４】識別関数作成部における演算処理の実行方法を示すフローチャートである。
【符号の説明】
【００９４】
１…学習データ入力部
２…学習データ前処理部
３…学習データ特徴抽出部
４…識別関数作成部
５…識別関数記憶部
６…画像データ入力部
７…前処理部
８…特徴抽出部
９…識別部
１０…出力部
１１…部分空間作成部
１２…識別関数パラメータ計算部
Ｌ  …学習装置
Ｄ  …識別装置
【図１】
2005339186.tif 000016
【図２】
2005339186.tif 000017
【図３】
2005339186.tif 000018
【図４】
2005339186.tif 000019