(57)【要約】【課題】  入力データの変動に対するロバスト性がさらに向上されたパターン認識技術を提供する。【解決手段】  パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置であって、前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出手段と、識別対象データを入力する入力手段と、前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出手段と、前記算出手段において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別手段と、を備える。【選択図】  図３
2008282391.tif 000002
【特許請求の範囲】
【請求項１】
パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置であって、
前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出手段と、
識別対象データを入力する入力手段と、
前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出手段と、
前記算出手段において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別手段と、
を備えることを特徴とするパターン識別装置。
【請求項２】
前記超平面は、対応するクラスに属するデータ間の前記多様体の上での測地線距離を、ユークリッド距離として近似する
ことを特徴とする請求項１に記載のパターン識別装置。
【請求項３】
前記超平面は、対応するクラスに属し互いに近接するデータ間の、配置関係と、線形結合関係と、距離と、の少なくともいずれかを近似する
ことを特徴とする請求項１に記載のパターン識別装置。
【請求項４】
前記算出手段は、前記射影結果として射影長又は投影距離を算出する
ことを特徴とする請求項１に記載のパターン識別装置。
【請求項５】
前記射影規則を生成する生成手段を更に備え、
前記生成手段は、前記超平面におけるデータ間のユークリッド距離と、該超平面が近似する多様体の上での対応するデータ間の測地線距離と、の誤差を最小にする射影規則を生成する
ことを特徴とする請求項１に記載のパターン識別装置。
【請求項６】
前記生成手段は、
同一のクラスに属するデータの、ｉ番目、及びｊ番目のデータをｘi、ｘjとし、前記ｉ番目、及びｊ番目のデータ間の測地線距離をｄM（ｉ、ｊ）としたとき、
2008282391.tif 000012
なる誤差関数Ｊ（Ａ）を、ＡTＡ＝Ｉの条件の下で最小化する、線形写像行列Ａを前記射影規則として生成する
ことを特徴とする請求項５に記載のパターン識別装置。
【請求項７】
前記生成手段は、
半正定値性を満たす実対称関数であるカーネル関数Ｋ（ξ、ζ）と、同一のクラスに属するデータであるｘn（ｎ＝１、２、・・・）とを用いて、φ（ｘ）＝Σαn・Ｋ（ｘ、ｘn）と表される非線形写像であるφ（ｘ）を前記射影規則として生成する
ことを特徴とする請求項５に記載のパターン識別装置。
【請求項８】
前記超平面におけるデータ間のユークリッド距離と、該超平面が近似する多様体の上での対応するデータ間の測地線距離とに基づいて、前記カーネル関数を変更するか否かを判定する判定手段と、
前記判定手段が変更すると判定した場合に、前記カーネル関数の、関数形状とパラメータとの少なくともいずれかを変更する変更手段と、
をさらに備えることを特徴とする請求項７に記載のパターン識別装置。
【請求項９】
前記判定手段は、前記超平面における３つのデータ間のユークリッド距離の大小関係と、該超平面が近似する多様体の上での対応する３つのデータ間の測地線距離の大小関係と、が一致しない場合に、前記カーネル関数を変更すると判定する
ことを特徴とする請求項８に記載のパターン識別装置。
【請求項１０】
特徴空間において予め定義されたクラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出手段と、
処理対象データを入力する入力手段と、
前記入力された処理対象データを、前記射影規則に基づいて、前記クラスに対応する多様体を近似する超平面へ射影した射影結果を算出する算出手段と、
前記算出手段において算出された前記射影結果に基づいて、前記処理対象データが異常であるか否かを検出する検出手段と、
を備えることを特徴とする異常パターン検出装置。
【請求項１１】
前記検出手段は、前記射影結果の射影長と投影距離との少なくともいずれかに基づいて前記検出を行う
ことを特徴とする請求項１０に記載の異常パターン検出装置。
【請求項１２】
パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置の制御方法であって、
読出手段が、前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出工程と、
入力手段が、識別対象データを入力する入力工程と、
算出手段が、前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出工程と、
識別手段が、前記算出工程において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別工程と、
を備えることを特徴とするパターン識別装置の制御方法。
【請求項１３】
読出手段が、特徴空間において予め定義されたクラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出工程と、
入力手段が、処理対象データを入力する入力工程と、
算出手段が、前記入力された処理対象データを、前記射影規則に基づいて、前記クラスに対応する多様体を近似する超平面へ射影した射影結果を算出する算出工程と、
検出手段が、前記算出工程において算出された前記射影結果に基づいて、前記処理対象データが異常であるか否かを検出する検出工程と、
を備えることを特徴とする異常パターン検出装置の制御方法。
【請求項１４】
コンピュータを請求項１から９のいずれか１項に記載のパターン識別装置、または、請求項１０または１１に記載の異常パターン検出装置として機能させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体に関する。特に、本発明は、識別すべきパターンに対する、データ取得環境の差異や、データ取得時に付加されるノイズに起因する、種々のパターンの変動に対してロバストなパターン識別技術及び異常パターン検出技術に関する。
【背景技術】
【０００２】
入力されたデータが、予め定義された複数のクラスのいずれに属するかを識別する、いわゆるパターン識別技術が知られている。そして、データ取得環境の差異や、データ取得時に付加されるノイズ等に起因する、入力パターンの種々の変動にロバストなパターン識別技術として、様々な手法が提案されている。
【０００３】
非特許文献１には部分空間法が開示されており、非特許文献２には当該部分空間法を改良したカーネル非線形部分空間法が開示されている。非特許文献３には核非線形相互部分空間法が開示されている。これらの手法では、まず、主成分分析、若しくは、非特許文献４に記載のカーネル非線形主成分分析を用い、各クラスのデータ集合が収まる部分空間を求める。そして、その部分空間と、入力データ、若しくは、入力データから同様に求めた部分空間を比較することにより、入力パターンが何れのクラスに属するのかの識別を行う。
【０００４】
また、非特許文献５に開示された手法では、まず、各クラスのデータそれぞれの内、入力された識別対象データの近傍データのみを用い、クラスごとの線形の部分空間を構築し、それらの部分空間への、入力された識別対象データの投影距離を求める。そして、それらの投影距離を各クラス間で比較することにより、識別対象データが何れのクラスに属するかの識別を行う。このような、近傍の局所的なデータのみを扱うという手法により、データの分布が非線形であることによる悪影響を低減させることができる。
【０００５】
一方、近年、非特許文献６のＩｓｏｍａｐや、非特許文献７のＬｏｃａｌｌｙ  Ｌｉｎｅａｒ  Ｅｍｂｅｄｄｉｎｇ（ＬＬＥ）に代表される、非線形の次元圧縮手法が提案されている。これらは、高次元空間内で、一般に多様体（Ｍａｎｉｆｏｌｄ）と呼ばれる、より低次元の超曲面上にあると考えられるデータを、Ｍａｎｉｆｏｌｄ固有の表面形状が、許容できる程度に保存された、新たな低次元の空間に写像する手法を提供する。
【０００６】
上記の手法は、より低次元の空間でデータを表現できるという意味で、高効率なパターン表現には成功している。しかし、データが何れのクラスに属するかという情報は用いておらず、パターンの分類という点では、最適であるとは言えない。
【０００７】
これに対し、特許文献１には、カーネルフィッシャー線形識別関数、またはフィッシャー線形判別関数を用いて、従来のＩｓｏｍａｐ法を拡張することにより、パターン分類のための画像を表す構成が開示されている。また、非特許文献８においては、従来のＩｓｏｍａｐ法の改良として、他クラスに属するデータ間の測地線距離を、強制的に増加させることにより、クラス間の分離度を高める写像を構築する手法が開示されている。
【特許文献１】特表２００５−５３５０１７号広報
【非特許文献１】S. Watanabe, N. Pakvasa, “Subspace Method of Pattern Recognition”, Proceedings of 1st International Joint Conference of Pattern Recognition, pp. 25-32, 1973.
【非特許文献２】前田 英作, 村瀬 洋, “カーネル非線形部分空間法によるパターン認識”, 電子情報通信学会論文誌 D-II, Vol. J82-D-II No.4, pp. 600-612, April 1999.
【非特許文献３】坂野 鋭, 武川 直樹, 中村 太一, “核非線形相互部分空間法による物体認識”, 電子情報通信学会論文誌 D-II, Vol. J84-D-II No.8, pp. 1549-1556, August 2001.
【非特許文献４】Bernhard Scholkopf, Alexander Smola, Klaus-Robert Muller, “Nonlinear Component Analysis as a Kernel Eigenvalue Problem”, Neural Computation, Vol. 10, pp. 1299-1319, 1998.
【非特許文献５】Jorma Laaksonen, “Local Subspace Classifier”, Proceedings of 7th International Conference on Artificial Neural Networks, pp. 637-642, 1997.
【非特許文献６】Joshua B. Tenenbaum, Vin de Silva, John C. Langford, “A Global Geometric Framework for Nonlinear Dimensionality Reduction”, Science, Vol. 290, pp. 2319-2323, 2000.
【非特許文献７】Sam T. Roweis, Lawrence K. Saul, “Nonlinear Dimensionality Reduction by Locally Linear Embedding”, Science, Vol. 290, pp. 2323-2326, 2000.
【非特許文献８】Bisser Raytchev, Ikushi Yoda, Katsuhiko Sakaue, “Multi-View Face Recognition By Nonlinear Dimensionality Reduction And Generalized Linear Models”, Proceedings of the 7th International Conference on Automatic Face Gesture Recognition, pp. 625-630, 2006.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記従来の構成においては、パターン認識対象の位置や向き・照明条件等の変動を含む、入力データにおける種々の変動に応じて原特徴空間において複雑な分布を持つような、単純にモデル化できないパターンを識別することが困難だった。このため、入力されたデータの種々の変動に対して、ロバスト性を高めることが要求されている。
【０００９】
このことについて、簡単に説明する。例えば、縦横２０×２０画素の、人物の顔を切り出したグレースケール画像を入力し、それが何れの人物の顔画像であるかを識別する状況を想定する。この場合、縦横２０×２０のグレースケール画像は、各画素値をラスタスキャン的に要素として並べた、２０×２０＝４００次元のベクトルと見なせる。このとき、１つのパターンは、４００次元空間内の１つの点となる。一般に、例えば“Ａ氏の顔”といった特定のクラスであるパターンの集合は、４００次元の空間に比べてより低次元の、一般的に多様体と呼ばれる超曲面（Ｍａｎｉｆｏｌｄ）を形成する。つまり、“Ａ氏の顔”を表現するには４００次元は冗長であり、より低い次元の空間で表現可能である。
【００１０】
非特許文献１の部分空間法では、このような、あるクラスのデータ集合は、より低次元の空間で表現することができるという特性を利用して、入力されたデータが何れのクラスに属するかのパターンの識別を行う。部分空間法では、まず、各クラスのデータ集合それぞれに対し、主成分分析（ＰＣＡ：Principal Component Analysis）を適用し、各クラスのデータ集合を表現する低次元の部分空間を予め求めておく。そして、入力されたデータが、この部分空間において、どのように表現できるかを利用して、パターンの識別を行う。具体的には、入力されたデータの、各部分空間への射影長や投影距離を比較することにより、入力されたデータが、何れのクラスに属するのか（若しくは、属さないのか）を識別する。しかし、人間の顔のように、例えば、顔の向きの変動等、本質的に非線形な変動を含むパターンの集合に対して、パターン分布が正規分布であることを仮定しているＰＣＡでは、必ずしも充分な低次元表現を得られるとは言えない。
【００１１】
これに対し、非特許文献２で開示されているカーネル非線形部分空間法では、部分空間法におけるＰＣＡを、非特許文献４のカーネル非線形主成分分析に置き換え、データ集合の非線形な分布にも対応可能にしている。なお、カーネル非線形主成分分析は、ＫＰＣＡ（：Kernel PCA）と一般に称される。しかし、ＫＰＣＡを適用した場合でも、あるクラスのデータ集合が形成するＭａｎｉｆｏｌｄの構造を近似するような低次元表現が得られるとは限らない。
【００１２】
上記の他の文献に記載された構成においても、入力されたデータの種々の変動に対するロバスト性をさらに向上させることが求められている。
【００１３】
本発明は上記課題に鑑みなされたものであり、入力データの変動に対するロバスト性がさらに向上されたパターン認識技術を提供することを目的とする。また、このパターン認識技術を利用した異常パターン検出技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明によるパターン識別装置は以下の構成を備える。即ち、
パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置であって、
前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出手段と、
識別対象データを入力する入力手段と、
前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出手段と、
前記算出手段において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別手段と、
を備える。
【００１５】
また、本発明による異常パターン検出装置は以下の構成を備える。即ち、
特徴空間において予め定義されたクラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出手段と、
処理対象データを入力する入力手段と、
前記入力された処理対象データを、前記射影規則に基づいて、前記クラスに対応する多様体を近似する超平面へ射影した射影結果を算出する算出手段と、
前記算出手段において算出された前記射影結果に基づいて、前記処理対象データが異常であるか否かを検出する検出手段と、
を備える。
【００１６】
また、本発明によるパターン識別装置の制御方法は以下の構成を備える。即ち、
パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置の制御方法であって、
読出手段が、前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出工程と、
入力手段が、識別対象データを入力する入力工程と、
算出手段が、前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出工程と、
識別手段が、前記算出工程において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別工程と、
を備える。
【００１７】
また、本発明による異常パターン検出装置の制御方法は以下の構成を備える。即ち、
読出手段が、特徴空間において予め定義されたクラスに対応する多様体を近似する超平面への射影規則を記憶手段から読み出す読出工程と、
入力手段が、処理対象データを入力する入力工程と、
算出手段が、前記入力された処理対象データを、前記射影規則に基づいて、前記クラスに対応する多様体を近似する超平面へ射影した射影結果を算出する算出工程と、
検出手段が、前記算出工程において算出された前記射影結果に基づいて、前記処理対象データが異常であるか否かを検出する検出工程と、
を備える。
【発明の効果】
【００１８】
本発明によれば、入力データの変動に対するロバスト性がさらに向上されたパターン認識技術を提供することができる。また、このパターン認識技術を利用した異常パターン検出技術を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。また、本実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００２０】
＜＜第１実施形態＞＞
本実施形態では、一例として縦横２０×２０画素の、人物の顔を切り出したグレースケール画像を入力し、それが何れの人物の顔画像であるかを識別する構成例について説明する。ただし、本実施形態に係る構成を適用することのできる画像のサイズは、これに限られない。
【００２１】
前述のように、縦横２０×２０のグレースケール画像は、２０×２０＝４００次元のベクトルと見なせ、この場合、１つのパターンは、４００次元空間内の１つの点となる。そして、特定のクラスであるパターンの集合は、４００次元の空間に比べてより低次元の超曲面（Ｍａｎｉｆｏｌｄ、多様体）を形成する。従って、“Ａ氏の顔”といった特定のクラスであるパターンの集合は、４００次元よりも低い次元の空間で表現可能である。
【００２２】
一般に、Ｍａｎｉｆｏｌｄの構造を近似するような低次元表現は、原特徴空間におけるパターンの分布を近似する、原特徴空間内の、縮退した超平面、若しくは超曲面を表現している。そこで本実施形態では、あるクラスのデータ集合が形成するＭａｎｉｆｏｌｄの構造を近似するような低次元表現を用いる。そして、入力されたデータが、この低次元表現において、どのように表現できるかに基づいて、入力されたデータのパターンの識別を行う構成について説明する。
【００２３】
（パターン識別装置のハードウェア構成）
次に、本実施形態に係るパターン識別装置のハードウェア構成について、図１２を参照して説明する。図１２は、本実施形態に係るパターン識別装置のハードウェア構成を模式的に示したブロック図である。尚、本実施形態に係るパターン識別装置は、例えば、パーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）、携帯情報端末（ＰＤＡ）等で実現される。
【００２４】
図１２において、９９０はＣＰＵである。ＣＰＵ９９０は、後述するハードディスク装置９９５に格納されているアプリケーションプログラム、オペレーティングシステム（ＯＳ）や制御プログラム等を実行し、ＲＡＭ９９２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２５】
９９１はＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、基本処理において使用するフォントデータ、テンプレート用データ等の各種データを記憶する。９９２は各種データを一時記憶するためのＲＡＭであり、ＣＰＵ９９０の主メモリ、ワークエリア等として機能する。
【００２６】
９９３は記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア（記録媒体）９９４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア９９４には、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等が含まれる。
【００２７】
９９５は外部記憶装置であり、本実施形態では大容量メモリとして機能するハードディスク装置（以下、ＨＤと呼ぶ）を用いている。ＨＤ９９５には、アプリケーションプログラム、ＯＳ、制御プログラム、関連プログラム等が格納される。
【００２８】
９９６は指示入力装置であり、キーボードやポインティングデバイス（マウス等）、タッチパネル等がこれに相当する。指示入力装置９９６を用いて、ユーザは、本実施形態に係るパターン識別装置に対して、装置を制御するコマンド等を入力指示する。
【００２９】
９９７はディスプレイであり、指示入力装置９９６から入力されたコマンドや、それに対するパターン識別装置の応答出力等を表示したりするものである。
【００３０】
９９９はシステムバスであり、パターン識別装置内のデータの流れを司るものである。９９８はインターフェイス（以下、Ｉ／Ｆという）であり、このＩ／Ｆ９９８を介して外部装置とのデータのやり取りを行う。
【００３１】
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００３２】
本実施形態では、メディア９９４から本実施形態に係るプログラム及び関連データを直接ＲＡＭ９９２にロードして実行させる例を想定するが、これに限られない。例えば、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているＨＤ９９５からＲＡＭ９９２にロードするようにしてもよい。また、本実施形態に係るプログラムをＲＯＭ９９１に記録しておき、これをメモリマップの一部をなすように構成し、直接ＣＰＵ９９０で実行することも可能である。
【００３３】
また、本実施形態では、説明の便宜のため、本実施形態に係るパターン識別装置を１つの装置で実現した構成について述べるが、複数の装置にリソースを分散した構成によって実現してもよい。例えば、記憶や演算のリソースを複数の装置に分散した形に構成してもよい。或いは、パターン識別装置上で仮想的に実現される構成要素毎にリソースを分散し、並列処理を行うようにしてもよい。
【００３４】
（パターン識別装置の機能構成）
次に、上記のパターン識別装置がパターン識別処理を実行するための機能構成について、図１を参照して説明する。図１は、本実施形態に係るパターン識別装置の機能構成を示したブロック図である。
【００３５】
図１に示される各機能ブロックは、図１２を参照して上述したパターン識別装置のＣＰＵ９９０がＲＡＭ９９２にロードされたプログラムを実行し、図１２に示される各ハードウェアと協働することによって実現される。もちろん機能ブロックの一部或いは全てが専用のハードウェアで実現されてもよい。
【００３６】
図１のように、本実施形態におけるパターン識別装置は、登録モードの処理ブロック１１、及び、識別モードの処理ブロック１２を有する。登録モードでの処理は、複数の登録対象である人物の顔画像データを入力し、各人物それぞれの、Ｍａｎｉｆｏｌｄの構造を近似する低次元表現空間への射影規則を生成する処理に対応する。一方、識別モードでの処理は、識別対象である人物の顔画像データを入力し、登録モードで生成した各人それぞれの射影規則を用いて、それが何れの人物の顔画像であるのかを識別する処理に対応する。
【００３７】
本実施形態では、予め、登録モードでの処理において、所望の登録する人物の顔画像を複数入力し、各人物ごとのＭａｎｉｆｏｌｄの構造を近似する低次元表現空間への射影規則として、各人物に対応した正規直交基底の組を、後述の手法を用い生成しておく。そして、識別モードでの処理において、誰であるのか不明な人物の顔画像を入力し、それが登録モードでの処理において登録された何れの人物の顔画像であるか、若しくは、何れにも該当しないのかを、予め生成した各人に対応する射影規則を用いて識別する。図１に示したように、データ入力部１００、射影規則保持部１０１は、両モードにおいて共通の部分である。本実施形態における、登録モードにおける処理のフローチャートを図２に、識別モードにおける処理のフローチャートを図３に示す。
【００３８】
以下、まず、図１における、登録モードの処理ブロック１１の部分、及び図２を用いて、本実施形態の登録モードにおける処理（登録処理）について説明する。その後、図１の、識別モードの処理ブロック１２の部分、及び図３を用いて、識別モードにおける処理（識別処理）について説明する。
【００３９】
（登録処理）
図１において、データ入力部１００は、人物の顔画像データを入力する処理部である。入力するデータは、上述の通り、２０×２０画素のグレースケール画像である。ここで、この入力データの、２０×２０画素の各画素値を、ラスタスキャン的に並べた４００次元のベクトルをｘとする。
【００４０】
登録モード処理ブロックによる処理の概要について、図２を参照して説明する。図２は、登録モードの処理手順を示すフローチャートである。なお、この処理は、例えば、ＣＰＵ９９０がＲＡＭ９９２からプログラムを読み出し、パターン識別装置を制御することにより実行される。
【００４１】
まず、ステップＳ２００において、登録対象の画像データを入力する。ステップＳ２００では、データ入力部１００において、所望の登録人物の顔画像を複数入力し、それらを射影規則生成用データ保持部１１０に保持しておく。ここで、登録する人物の数をｍ（ｍ≧１）とし、各人物に１からｍまでのラベルを付与する。そして、入力された、ラベルがｃ（１≦ｃ≦ｍ）である人物の顔画像の枚数をＮc枚（Ｎc≧２）とする。この時、ラベルがｃである人物の顔画像の、ｉ番目（１≦ｉ≦Ｎc）の入力データである４００次元のベクトルを、ｘciとする。また、ラベルがｃである人物の顔画像の集合を、以下ではクラスｃと呼ぶ。
【００４２】
続いて、登録モードでは、射影規則生成部１１１において、射影規則生成用データ保持部１１０に保持された入力データを用い、各クラスの射影規則を生成し（ステップＳ２１０）する。そして、それらを、射影規則保持部１０１に記録する（ステップＳ２０１）処理を行う。ここで生成する射影規則は、各クラスのデータが拘束される（クラスのデータパターンの全体が表現される）Ｍａｎｉｆｏｌｄの構造を近似的に保存するような、原特徴空間内の縮退した空間への射影規則である。詳細な処理については後述するが、本実施形態では、まず各クラスのデータの、Ｍａｎｉｆｏｌｄ上の構造を近似的に保存するため、測地線距離がユークリッド距離として近似されるような、４００次元空間内の、低次元の超平面を求める。そして、この超平面を張る正規直交基底を求め、この正規直交基底を用いて射影する規則が、ここで生成する射影規則である。そこで、ここで求めた正規直交基底を、射影規則保持部１０１に記録しておく。ステップＳ２１０の処理の詳細は後述する。これらの処理を完了すると、登録モードの処理は終了となる。
【００４３】
（射影規則生成処理）
図４は、射影規則生成部１１１が実行する射影規則生成処理の手順を示すフローチャートである。以下、図４を用いて、射影規則生成部１１１における処理の詳細について説明する。なお、この処理は、例えば、ＣＰＵ９９０がＲＡＭ９９２からプログラムを読み出し、パターン識別装置を制御することにより実行される。
【００４４】
射影規則生成部１１１では、まず、登録する人物（クラス）の内、１つのクラスを順次選択する（クラス選択ステップＳ４０）。選択の順は任意で構わないので、本実施形態では、クラス１からクラスｍまでのクラスを順に選択していく。ここで選択されたクラスをｃとする。
【００４５】
次いで、距離関係算出ステップＳ４１において、データ入力部１００において入力され、射影規則生成用データ保持部１１０に保持されたデータの内、クラスｃのデータを全て用い、これらのデータ全ての組み合わせに対し、データ間の距離を算出する。つまり、クラスｃのＮc個のデータの内、ｉ番目のデータｘciと、ｊ番目のデータｘcjのユークリッド距離ｄcx（ｉ、ｊ）を、全組み合わせについて算出する。同一データの組み合わせ、つまり、ｉ＝ｊの時（当然、ｄcx（ｉ、ｊ）＝０）も考えると、（Ｎc）２個のユークリッド距離ｄcx（ｉ、ｊ）を求めることになる。ただし、任意のｉ、ｊにおいて、ｄcx（ｉ、ｉ）＝０であり、また、ｄcx（ｉ、ｊ）＝ｄcx（ｊ、ｉ）である。このため、実際にも算出する距離は、Ｎc（Ｎc−１）／２個でよい。この射影規則生成部１１１における処理では、クラス選択ステップＳ４０において１つのクラスが選択された後は、再びクラス選択ステップＳ４０に戻り新たに他のクラスが選択されるまで、他のクラスのデータは用いない。そこで以降の説明では、簡単のため、データは全てクラスｃのデータであるとし、データ数Ｎcや、データｘci、距離ｄcx（ｉ、ｊ）の添え字ｃを省略する。即ち、単純に、Ｎ、ｘi、ｄx（ｉ、ｊ）と表記する。
【００４６】
なお、本実施形態では、この距離関係算出ステップＳ４１において、ユークリッド距離を用いるが、これに限るものではない。例えばマンハッタン距離等のミンコフスキー距離や、マハラノビス距離といった統計的な距離等、対称性や、非負性といった、一般的な距離の公理を満たすものであれば、その他の指標を用いても構わない。
【００４７】
続いて、グラフ距離関係算出ステップＳ４２において、クラスｃのＮ個のデータの内、ｉ番目のデータｘiと、ｊ番目のデータｘjのグラフ距離ｄG（ｉ、ｊ）を、全組み合わせについて算出する。そして算出されたグラフ距離ｄG（ｉ、ｊ）から、グラフ距離関係行列ＤGを求める。ただし、ｄG（ｉ、ｊ）は、ｉ番目のデータｘiと、ｊ番目のデータｘjのグラフ距離である。また、グラフ距離とは、例えば、次のように定義される距離である。
・ｉ番目のデータｘiと、ｊ番目のデータｘjの２点が近傍にある（近接する）場合は、ｄG（ｉ、ｊ）＝ｄx（ｉ、ｊ）。
・ｉ番目のデータｘiと、ｊ番目のデータｘjの２点が近傍にない（近接しない）場合は、ｄG（ｉ、ｊ）＝∞。
現実的な演算においては、∞という数値は利用できないので、∞の代わりに、任意のｉ、ｊにおけるユークリッド距離ｄx（ｉ、ｊ）の最大値に比べ、充分に大きい定数を利用すればよい。グラフ距離関係行列ＤGは、ｉ行ｊ列の成分がｄG（ｉ、ｊ）となる行列であり、データ数がＮ個であるため、Ｎ次正方行列となる。また、成分であるグラフ距離ｄG（ｉ、ｊ）は、ｄG（ｉ、ｊ）＝ｄG（ｊ、ｉ）である。従って、グラフ距離関係行列ＤGは対称行列となり、且つｄG（ｉ、ｉ）＝０なので、対角成分は全て０となる。
【００４８】
２点が近傍であるか否かは、本実施形態では、それぞれのデータ自身から、距離関係算出ステップＳ４１において求めた距離が近いものから順に、自身を除いたｋ個（ｋ≧１）のデータ（自身を含めると、ｋ＋１個のデータ）を近傍であると判定する。そして、ある２点のデータで、どちらの点から見ても近傍であると判定されなかった場合、その２点は近傍ではないと判定する。このように本実施形態では、自身以外で、距離の近い順にｋ個のデータを近傍としているが、例えば、距離が予め定められた正の値ε以内である関係のデータを近傍とするようにしても良い。この場合εは、全データそれぞれにおいて、少なくとも、自身を除く１つのデータが近傍とみなされる程度に大きい値にする必要がある。しかしεが大きすぎると、本来近傍とみなすべきでないデータまでが、近傍とされてしまうため、あまり大きな値にすることは好ましくない。データの数等にも依存するが、通常このεは、数個程度のデータが近傍とみなされる程度の大きさにしておくと良い。
【００４９】
次に、測地線距離関係算出ステップＳ４３において、グラフ距離関係算出ステップＳ４２で求めたグラフ距離関係行列ＤGに基づいて、測地線距離関係行列ＤMを求める。ステップＳ４３では、グラフ距離関係行列ＤGにＦｌｏｙｄ−Ｗａｒｓｈａｌｌ法を適用し、クラスｃのＮ個のデータの内、任意の２点間の、測地線距離ｄM（ｉ、ｊ）を、全組み合わせについて算出する。そして、算出された測地線距離ｄM（ｉ、ｊ）から、測地線距離関係行列ＤMを求める。
【００５０】
ここで、ｄM（ｉ、ｊ）は、ｉ番目のデータｘiと、ｊ番目のデータｘjの測地線距離である。また、測地線距離とは、データ集合の全体が表現されるＭａｎｉｆｏｌｄに沿った、Ｍａｎｉｆｏｌｄ上の、任意の２点のデータを結ぶ最短距離であり、ここではそれを近似的に求める。測地線距離関係行列ＤMは、ｉ行ｊ列の成分が、ｄM（ｉ、ｊ）の行列であり、グラフ距離関係行列ＤGと同様に、Ｎ次正方の対角成分が０である対称行列となる。
【００５１】
ここでは、Ｆｌｏｙｄ−Ｗａｒｓｈａｌｌ法により、ｉ番目のデータｘiと、ｊ番目のデータｘjの、２点間の測地線距離ｄM（ｉ、ｊ）は、次の式で計算される。
ｄM（ｉ、ｊ）＝ｍｉｎ｛ｄG（ｉ、ｊ）、ｄG（ｉ、ｋ）＋ｄG（ｋ、ｊ）｝、ｋ≠ｉ、ｊ。
なお、測地線距離は、Ｆｌｏｙｄ−Ｗａｒｓｈａｌｌ法以外の手法を用いて算出してもよい。
【００５２】
次に、線形写像行列算出ステップＳ４４において、データ入力部１００において入力されたデータの次元（本実施形態では４００次元）から、ｈ次元（ｈ＜４００。実際のｈの値については後述する）の空間への線形写像行列Ａcを算出する。この線形写像行列Ａcは、クラスｃのデータの全体が表現されるＭａｎｉｆｏｌｄの構造を近似的に保存する空間への写像行列である。ここでは、この線形写像行列Ａcが、ｃに関するものであることを明確にするために、添え字ｃを付けて記載したが、以降では、同様に簡略のため、この添え字ｃは省略して表記する。
【００５３】
ところで、この線形写像行列Ａは、本実施形態では、４００次元からｈ次元への線形写像であるので、４００×ｈの行列となる。また、この線形写像行列Ａのｈ個の列ベクトルが、ｈ個の４００次元のベクトルからなる正規直交基底であるという拘束条件を満たすとする。つまり、ＡTＡ＝Ｉという条件を満たす。ここで、ＡTは、Ａの転置行列であり、Ｉはｈ次元単位行列である。線形写像行列Ａにより、４００次元のベクトルｘを線形写像したベクトルｚは、ｚ＝ＡTｘと表せ、これはｈ次元のベクトルとなる。この線形写像行列算出ステップＳ４４では、前述のように、写像後の空間において、写像前の空間におけるクラスｃのデータの、Ｍａｎｉｆｏｌｄ上の配置関係を近似するような線形写像行列Ａを求める。具体的には、クラスｃの、任意のｉ、ｊ番目のデータｘi、ｘjを、この線形写像行列Ａにより写像した、写像後ベクトルｚi、ｚj間のユークリッド距離が、先に求めた、測地線距離ｄM（ｉ、ｊ）を近似するような線形写像行列Ａを算出する。ただし、ｚi＝ＡTｘi、ｚj＝ＡTｘjである。そこで、本実施形態では、（数１）に示す誤差関数Ｊ（Ａ）のＡTＡ＝Ｉという拘束条件の元での最小化問題として、この線形写像行列Ａを求める。
【００５４】
【数１】
2008282391.tif 000003
このような、ＡTＡ＝Ｉという拘束条件もとで、誤差関数Ｊ（Ａ）を最小化するＡを求めることは、４００×ｈ次元空間内の、拘束条件ＡTＡ＝Ｉにより決まる代数Ｍａｎｉｆｏｌｄ上で、誤差関数Ｊ（Ａ）の最小値を探索することに相当する。
【００５５】
そこで、本実施形態では、特開２００３−３０１７２号公報に開示された手法を用いて、これを最小化する線形写像行列Ａを求める場合を例示的に想定する。ただし、これに限るものではなく、例えば、このような拘束条件付きの最適化問題において、一般的に用いられる、ラグランジュの未定乗数法を用いることができる。或いは、例えば、次の非特許文献９に開示されたEdelmanらのアルゴリズム等を用いて、この線形写像行列Ａを求めるようにしてもよい。
【非特許文献９】Alan Edelman, Tomas Arias, Steven T. Smith, “The Geometry of Algorithms with Orthogonality Constraints”, Society for Industrial and Applied Mathematics Journal on Matrix Analysis and Applications, Vol. 20, pp. 303-353, 1998.  上記手法を用いることにより、拘束条件付きの誤差関数Ｊ（Ａ）の最小化問題として、線形写像行列Ａを求めることが可能である。しかし、ここまでは、この線形写像行列Ａの列数をｈとして一般化していたが、このｈの値を定める必要がある。一般に、このｈが大きい方が、近似性能が高い、即ち、誤差関数Ｊ（Ａ）の値を小さくすることができる。しかし、本実施形態においては、後に説明する識別性能向上等の観点から、余りに大きいｈは好適ではない。そこで本実施形態では、様々な値のｈにおいて上記手法を用いＡを求め、その中で所定の条件を満たすものの内、ｈが最も小さい値であるＡを選択するようにする。具体的には、まずｈの値の初期値を１とし、Ａを求めるごとにｈの値を１ずつ増加させる。そして、各ｈの値で求めたＡにおいて、次の（数２）に示す条件を満たすかどうかを検証する。
【００５６】
【数２】
2008282391.tif 000004
【００５７】
（数２）は、写像後の空間における任意の３点の距離関係が、少なくとも測地線距離関係の順序を満たすか否かの条件を意味する。このように、ｈを１つずつ増加させて上記手法により線形写像行列Ａを求め、上記（数２）の関係を満たすＡが求められた場合、そこで演算を終了し、最後に得られた行列Ａを、この線形写像行列算出ステップＳ４４において求めるべき線形写像行列とする。本実施形態では、上記（数１）のような誤差関数を定義して、それを最小化する線形写像行列Ａを、拘束条件で与えられる代数Ｍａｎｉｆｏｌｄ上での最小値探索問題として求めた。しかし、これに限るものではなく、測地線距離関係をできるだけ保存するような、上記拘束条件を満たす線形写像行列を求めるのであれば、他の手法を用いることができる。例えば、その他の誤差関数を利用したり、前述のように、ラグランジュの未定乗数法等を用いて線形写像行列Ａを求めたりしても構わない。
【００５８】
次に、正規直交基底記録ステップＳ４５で、線形写像行列算出ステップＳ４４において求めた線形写像行列Ａのｈ個の列ベクトルを、クラスｃに関する正規直交基底として、クラスｃのラベルと共に、図１の射影規則保持部１０１に記録して保持する。線形写像行列Ａは、線形写像行列算出ステップＳ４４での処理の説明において述べたように、ＡTＡ＝Ｉという拘束条件を満足する。そのため、この線形写像行列Ａのｈ個の列ベクトルは、この線形写像行列Ａによって写像される空間の正規直交基底である。線形写像行列算出ステップＳ４４で求めた線形写像行列Ａは、クラスｃのデータの全体が表現されるＭａｎｉｆｏｌｄの構造を近似する空間への線形写像である。そこで、クラスｃのデータの全体が表現されるＭａｎｉｆｏｌｄの構造を近似する空間への射影規則として、この正規直交基底を用いる。ここで、クラスｃに関して求めた線形写像行列Ａの列数がｈcであるならば、ｈc個の正規直交基底がある。このため、これらの正規直交基底を｛ｕck｝（ｋ＝１、２、・・・、ｈc）と表し、これを射影規則保持部１０１に記録して保持しておく。
【００５９】
上記のクラス選択ステップＳ４０から、正規直交基底記録ステップＳ４５までの処理を、登録する全てのクラスについて繰り返す（全クラス終了判定分岐Ｓ４６）。即ち、ステップＳ４５の処理が完了するとステップＳ４６において、全てのクラスについてステップＳ４０〜Ｓ４５の処理が終了しているか否かを判定する。終了していない場合（ステップＳ４６でＮＯ）の場合はステップＳ４０へ戻り、まだ処理を行っていないクラスについてステップＳ４０〜Ｓ４５の処理を実行する。そして、全てのクラスについての処理が終了した段階（ステップＳ４６でＹＥＳ）で、射影規則生成部１１１における処理、即ち、図２に示した射影規則生成ステップＳ２１０、及び、射影規則記録ステップＳ２０１の処理が終了することになる。これにより、登録モードでの処理が終了する。以上の登録モードでの処理により、顔画像を登録するｍ人分の正規直交基底の組がｍ組と、それに対応するクラスのラベルが、図１の射影規則保持部１０１に保存されることになる。
【００６０】
（パターン識別処理）
次に、本実施形態の、識別モードおける処理について、識別モードの処理部の構成を示す、図１の識別モードブロック１２の部分と、処理の手順を示す図３を用いて説明する。なお、この処理は、例えば、ＣＰＵ９９０がＲＡＭ９９２からプログラムを読み出し、パターン識別装置を制御することにより実行される。
【００６１】
図３は、識別モードの処理の手順を示すフローチャートである。まず、データ入力ステップＳ３００において、データ入力部１００から、誰の画像であるのかを識別する対象である、縦横２０×２０画素の、人物の顔を切り出したグレースケール画像データを１つ入力する。そして、登録モードでの処理と同様に、この画像の各画素値をラスタスキャン的に並べた４００次元のベクトルを生成する。ここで得られたこのベクトルを、入力ベクトルｘとする。
【００６２】
次に、射影規則入力ステップＳ３２０において、予め登録された正規直交基底として表された射影規則を記憶手段から読み出す読出処理を行う。即ち、射影規則入力部１２０で、登録モードでの処理において射影規則保持部１０１に保存したｍ組の正規直交基底から、１つのクラスに対応する正規直交基底の組を、その正規直交基底の組に対応するクラスのラベルと共に、選択して入力する。選択の順は任意で構わないので、本実施形態では、登録モードでの処理において登録した、クラス１からクラスｍまでを順に選択していく。ここで選択されたクラスをｃとする。つまり、ここでは、ｈc個の正規直交基底｛ｕck｝（ｋ＝１、２、・・・、ｈc）と、これに対応するラベルｃが入力される。
【００６３】
次いで、射影結果算出ステップＳ３２１において、入力ベクトルｘの正規直交基底が張る空間への射影長（又はその２乗）を求める。即ち、射影結果算出部１２１において、射影規則入力部１２０で入力したｈc個の正規直交基底が張る空間への、データ入力部１００で入力された入力ベクトルｘの射影長の２乗｛Ｌc（ｘ）｝2を算出する。この射影長の２乗｛Ｌc（ｘ）｝2は、（数３）により求めることができる。
【００６４】
【数３】
2008282391.tif 000005
【００６５】
本実施形態では、簡便のため、このように射影長の２乗を算出するが、この平方根である射影長を求めるようにしても構わない。この射影長（射影長の２乗）は、クラスｃのデータ集合が構成するＭａｎｉｆｏｌｄの構造を近似する超平面への射影ベクトルの長さに相当する。ところでこの超平面は、クラスｃのデータ集合が構成するＭａｎｉｆｏｌｄの、平均的な法線方向（曲面であると考えられるため、Ｍａｎｉｆｏｌｄ上の位置により、法線方向は異なる）を法線ベクトルとする、原点Ｏを通過する超平面と考えられる。つまり、このＭａｎｉｆｏｌｄと、求めた超平面は、凡そ平行な位置関係となっていると考えられる。また、利用しているデータは顔画像であるので、任意のクラスｃに属するデータｘcは、それに任意の正の実数ｓを乗じたｓｘcも、クラスｃのデータである。ここで、ｓ→０の極限を考えると、ｓｘcは限りなく０に近づくため、任意のクラスｃのデータの全体が表現されるＭａｎｉｆｏｌｄは、原特徴空間の原点Ｏを通る面になるといえる。上記の２点から、求めた超平面は、元となるＭａｎｉｆｏｌｄと、略一致する超平面となっている。また、入力データの、各超平面への射影長（射影長の２乗）を、入力データの大きさで正規化したものは、入力データが、どれだけその超平面に近いかを表す評価値として用いることができる。そのため、ここで求める超平面への射影長は、入力されたベクトルｘの、クラスｃに対する類似度と考えることができる。なお、ここでは入力データの大きさで正規化していないが、後述の、識別結果判定ステップＳ３２３における大小比較により、暗に入力ベクトルの大きさでの正規化がなされることになる。そこで、ここで求めた射影長の２乗を、射影結果保持部１２２に、クラスのラベルｃと共に記録しておく。
【００６６】
上記の射影規則入力ステップＳ３２０、及び、射影結果算出ステップＳ３２１の処理を、射影規則保持部１０１に保存されている、ｍ個全てのクラスについて繰り返す（全クラス終了判定分岐Ｓ３２５）。
【００６７】
即ち、ステップＳ３２１の処理を終了すると、ステップＳ３２５において、全てのクラスについてステップＳ３２０、及び、ステップＳ３２１の処理を終了したか否かを判定する。まだ終了していない場合（ステップＳ３２５でＮＯ）はステップＳ３２０へ戻り、処理を行っていないクラスについて、ステップＳ３２０、ステップＳ３２１の処理を実行する。そして、全てのクラスについての上記処理が終了した段階で（ステップＳ３２５でＹＥＳ）、次の、識別結果判定部１２３における処理である、識別結果判定ステップＳ３２３に進む。
【００６８】
ここまでの処理により、登録済みのｍ個のクラスそれぞれに対して、各登録済みのクラスに対応するｍ個の射影長の２乗｛Ｌc（ｘ）｝2と、それぞれに対応するクラスのラベルが、射影結果保持部１２２に記録されることになる。
【００６９】
最後に、ステップＳ３２３において、識別結果判定部１２３、及び、識別結果出力部１２４での処理により、射影結果保持部１２２に記録された結果を用いて、データ入力部１００において入力された顔画像に対する判定結果を求める。そして、ステップＳ３２４において、それを外部に出力する。具体的には、まず、識別結果判定部１２３において、射影結果保持部１２２に記録された、各登録済みのクラスに対応するｍ個の射影長の２乗｛Ｌc（ｘ）｝2の内、最大の値であるものを求める。そして、その射影長の２乗が最大であったものに対応するクラスのラベルを、データ入力部１００において入力された顔画像に対する判定結果とする。ここでの処理は、図３の識別結果判定ステップＳ３２３に対応する。そして最後に、この判定結果を外部に出力（識別結果出力ステップＳ３２４）して、識別モードでの処理が終了する。
【００７０】
以上の処理により、識別モードでの処理である、識別対象の、縦横２０×２０画素の、人物の顔を切り出したグレースケール画像データから、それが誰の顔画像であるのかを識別する処理が可能になる。本実施形態では、入力される顔の画像は、予め登録モードにおいて登録した人物である場合を想定しているため、識別結果は、必ず登録モードで登録した人物の何れかとなる。もし、予め登録していない人物の画像が入力されることがある場合は、射影長の２乗｛Ｌc（ｘ）｝2の最大値を、入力ベクトルの大きさの２乗｜ｘ｜2で除した値が、予め定めた値以下であった場合、不明な人物の画像であるという識別結果にすればよい。ここで用いる予め定めた値は、例えば、登録されていない人物の画像を入力し、それが不明な人物の画像であると判定されるように、実験的に求めることができる。
【００７１】
上記の登録、及び、識別の処理により、予め、縦横２０×２０画素の人物の顔画像を複数用いて、所望の人物を登録しておき、その後、未知の同様の顔画像を入力した時に、それが登録済みの人物の内、何れの人物なのかを識別する処理が可能になる。
【００７２】
上記のように、本実施形態に係る構成は、まず、各クラスのデータ集合の全体が表現されるＭａｎｉｆｏｌｄの構造を近似する超平面を求めるために、このＭａｎｉｆｏｌｄ上の配置関係を近似、具体的には、測地線距離関係を近似する射影規則を求める。そして、射影規則により定義される線形射影空間、即ち、原特徴空間内の縮退した超平面へ、識別すべき対象である、入力された新たなデータを射影した長さを求める。この射影長は、この超平面上に分布するデータ集合に対する類似度とみなせる。その為、各クラスに対応して求めた超平面への射影長を比較することにより、何れのクラスに類似しているかを判定することが可能となる。
【００７３】
以上、本実施形態では、縦横２０×２０画素の、人物の顔を切り出したグレースケール画像を入力し、それが何れの人物の顔画像であるかを識別する場合の一例を説明した。ただし、本実施形態に係る構成が適用な可能な対象はこれに限られない。このことは後に詳述する。
【００７４】
＜＜第２実施形態＞＞
本実施形態では、第１実施形態で示したパターン識別を行う構成の変形として、第１実施形態における線形写像を、カーネル関数を用いて非線形写像に拡張した場合のパターン識別の構成例を説明する。
【００７５】
第１実施形態では、各クラスのデータの全体が表現されるＭａｎｉｆｏｌｄの構造を近似する射影空間を求める。このため、データ間の測地線距離関係をできるだけ保存（特に距離の順序において）できる、即ち、射影規則のデータサイズが小さくなるような、低次元の線形写像を考えた。線形写像を用いた場合、データの分布が比較的単純な形状（非線形な分布であっても）であれば、上記目的を達成できる。しかし、データの分布が非常に複雑な形状である場合は、目標となる写像、つまり、Ｍａｎｉｆｏｌｄのデータの配置関係を良好に近似する空間への写像を構築できない可能性が高くなる。そこで、第２実施形態では、第１実施形態における線形写像部分を、カーネル関数を用いた非線形写像に置き換えた構成について説明する。
【００７６】
ここでカーネル関数とは、ある集合χを対象とした時に、χ×χを定義域とする実対称関数で、半正定値性を満たす関数である。このようなカーネル関数の例として、多項式カーネルＫ（ｘ、ｘ’）＝（ｘ、ｘ’＋１）pや、ガウシアンカーネルＫ（ｘ、ｘ’）＝ｅｘｐ（−｜ｘ−ｘ’｜2／σ2）が一般的である。本実施形態では、このようなカーネル関数を用いた非線形写像を考え、射影規則を生成する。このように、第２実施形態は、第１実施形態と比較すると、用いる射影規則が、線形の射影規則であるのか、カーネル関数を用いた非線形な射影規則であるのかが異なるのみである。そこで、本実施形態の説明では、第１実施形態と相違する部分のみを詳細に説明し、その他の部分に関しては説明を省略する。
【００７７】
第２実施形態に係るパターン識別装置の機能構成や、処理のフローは、第１実施形態と基本的に同様であり、図１、図２、及び、図３に示した通りである。以下、図１から図３を用いて、本実施形態の、第１実施形態との差異について詳細に説明する。また、第２実施形態においても、第１実施形態と同様に、登録モードと識別モードの２つのモードが存在する。そこでまず、図１、及び、図２を用いて、本実施形態の登録モードにおける処理について説明し、その後、図１、及び、図３を用いて、識別モードにおける処理について説明する。
【００７８】
本実施形態の登録モードでは、第１実施形態と同様に、まず、図２のステップＳ２００において、データ入力部１００から所望の登録人物の顔画像を複数入力し、それらを射影規則生成用データ保持部１１０に保持する。本実施形態における、入力データやクラスの表記は、第１実施形態と同様である。
【００７９】
続いて、図２の、射影規則生成ステップＳ２１０、及び、射影規則記録ステップＳ２０１の処理を行う。即ち、射影規則生成部１１１において、射影規則生成用データ保持部１１０に保持された入力データを用いて、各クラスそれぞれの射影規則を生成して、それらを、射影規則保持部１０１に記録する処理を行う。このように、本実施形態における登録モードでの概略の処理は、基本的に第１実施形態と同様である。ただし、射影規則生成部１１１での、射影規則を生成する処理の詳細が異なる。
【００８０】
（射影規則生成処理）
図５は、本実施形態における射影規則生成部１１１が実行する射影規則生成処理の手順を示すフローチャートである。以下、本実施形態における射影規則生成部１１１の処理の詳細について、図５を用いて説明する。なお、この処理は、例えば、ＣＰＵ９９０がＲＡＭ９９２からプログラムを読み出し、パターン識別装置を制御することにより実行される。
【００８１】
図５に示すように、本実施形態における射影規則生成部１１１での処理についても、ほぼ、図４に示した、第１実施形態のそれと同様である。具体的には、図４の線形写像行列算出ステップＳ４４が、中心データ選択ステップＳ５４０、及び、非線形写像決定係数算出ステップＳ５４１に置き換わり、それ以降の正規直交基底記録ステップＳ５５における処理の内容が、この置き換えに従って変更される。そこで、以下では、本実施形態の射影規則生成部１１１の処理における、この相違する処理内容について詳細に説明する。
【００８２】
本実施形態に係るパターン識別装置は、まず、射影規則生成部１１１の処理では、図５のクラス選択ステップＳ４０から、測地線距離関係算出ステップ４３までの各ステップの処理を実行する。これらの処理は、第１実施形態において説明した、図４のステップＳ４０〜ステップＳ４３の各処理と同様である。
【００８３】
ステップＳ４０〜ステップＳ４３の処理により、第１実施形態と同様に、ここでの処理対象となるクラスｃと、そのクラスｃのデータにおける測地線距離関係行列ＤMが得られる。以下、ここでも、第１実施形態と同様に、添え字ｃは省略して表記する。本実施形態では、ステップＳ４３の処理を終了すると中心データを選択するステップＳ５４０へ進む。
【００８４】
中心データ選択ステップＳ５４０においては、クラスｃの中心データｘMを求める。この中心データｘMは、クラスｃのデータ分布を代表する値であり、例えば、クラスｃのデータの平均値や中間値がこれに該当する。本実施形態に係るパターン識別装置は、以下の手法で、クラスｃのデータの内、データの分布の中心と思われるデータ（中心データｘM）を選択する。具体的には、測地線距離関係行列ＤMの各行（ＤMは対称行列であるため、各列でも構わない）についての和を算出し、算出された値が最小のものであった行を判定する。そして、最小の和であった行が、Ｍ行目であったとした場合、クラスｃのＭ番目のデータを、ここで求める、中心と思われるデータｘMとする。この中心データｘMとして、クラスｃのデータのサンプル平均を用いても構わないが、データの分布に非線形性が強い場合、サンプル平均は一般的に、そのクラスのデータが構成するＭａｎｉｆｏｌｄ上にならない。そこで本実施形態においては、クラスｃの中心データを、上記手法により求める。ここで求めたクラスｃの中心データは、後述の識別モードにおいて、入力データの、クラスｃとの類似度を求めるために用いる。これについては、識別モードでの処理の説明において詳細に述べる。
【００８５】
続いて、非線形写像決定係数算出ステップＳ５４１において、データ間の測地線距離関係をできるだけ保存できるような、低次元表現空間への非線形な射影規則を決めるカーネル関数値結合加重ベクトル群{αn}を求める。（この場合、超平面は、対応するクラスに属し、互いに近接するデータ間の線形結合関係を近似することになる。）第１実施形態では、入力データである４００次元のベクトルｘから、ｈ次元のベクトルｚへの線形写像、ｚ＝ＡTｘという線形写像を考えた。これに対し本実施形態では、選択されたクラスｃのデータ数Ｎ個のｈ次元ベクトルαn（ｎ＝１、２、・・・、Ｎ）と、それぞれに対応する入力ベクトルｘn、及びカーネル関数Ｋ（ｘ、ｘ’）用いる。そして、ｚ＝Σαn・Ｋ（ｘ、ｘn）（ここでΣは、ｎ＝１からｎ＝Ｎまでの総和を意味する）と表される非線形な写像を考える。このＮ個のｈ次元ベクトルαnが、ここで求めるべきカーネル関数値結合加重ベクトル群である。（ここでも、クラスｃに関してのものであることを明確にするため、添え字ｃを付けるべきではあるが、簡単のため、添え字ｃは省略して表記している。）この写像は、どのようなカーネル関数を用いるか（関数自体の選択や、上記カーネル関数例でのｐやσ等のパラメータ）にも依存するが、それを固定して考えると、Ｎ個のｈ次元ベクトルαnのみにより決まる。そこで、本実施形態では、カーネル関数として、上記ガウシアンカーネルを用い、データ間の測地線距離関係をできるだけ保存できるような、低次元表現空間への写像の構築を、Ｎ個のｈ次元ベクトルαnを最適化することにより行う。ガウシアンカーネルのパラメータσは、任意の定数で構わないが、凡そ入力データ間のユークリッド距離オーダーの定数にしておくことが好ましい。
【００８６】
このＮ個のｈ次元ベクトルαnの最適化は、ｎ行目の行ベクトルがαnTであるＮ行ｈ列の行列Γについての、（数５）に示した拘束条件の元での、（数４）の誤差関数Ｊ（Γ）の最小化問題の解として得られる。
【００８７】
【数４】
2008282391.tif 000006
【００８８】
【数５】
2008282391.tif 000007
【００８９】
ここで、（数４）中のκiは、Ｋ（ｘi、ｘk）をｋ番目の要素とする、Ｎ次元のベクトルである。即ち、κi＝｛Ｋ（ｘi、ｘ1）、Ｋ（ｘi、ｘ2）、・・・、Ｋ（ｘi、ｘN）｝Tである。また、（数５）中のαk,iは、αiのｋ番目の要素である。δk,lは、クロネッカーのδ記号で、ｋ＝ｌの時、δk,l＝１、ｋ≠ｌの時、δk,l＝０である。本実施形態においても、この誤差関数を、（数５）の拘束条件の元で最小化するΓを、特開２００３−３０１７２号公報に開示の手法を用いて求める。この求めた行列Γの、ｎ行目の行ベクトルが、求めるｈ次元ベクトルαnとなる。
【００９０】
ｈの決定は、第１実施形態と同様に、写像後の距離関係が、少なくとも測地線距離関係の順序を満たすような最小のｈを選ぶようにして行うことができる。
【００９１】
●カーネル関数変更処理
基本的には、上記手法により、カーネル関数値結合荷重ベクトル群を求めればよいが、用いるカーネル関数の種別や、それらのパラメータの設定によっては、ｈを大きくしても、（数２）のような、写像前後の距離関係に関する条件を満たすのが困難な場合がある。このような場合、カーネル関数の種別や、カーネル関数に用いられているパラメータ（上記カーネル関数例でのｐやσ等のパラメータ）を変更して、再度、上記誤差関数を最小化するΓを求めるようにすればよい。このようにカーネル関数の変更を行う手法の具体例について、図１１を参照して説明する。図１１は、非線形写像決定係数算出ステップＳ５４１において、カーネル関数を変更させながら、カーネル関数値結合荷重ベクトル群を求める処理の手順を示すフローチャートである。
【００９２】
まず、カーネル関数初期設定ステップＳ１１００において、予め定めた初期設定のカーネル関数を設定する。ここでは、例えば、初期設定のカーネル関数として、ガウシアンカーネルＫ（ｘ、ｘ’）＝ｅｘｐ（−｜ｘ−ｘ’｜２／σ２）を設定し、このカーネル関数のパラメータσを、σ＝１としたとする。
【００９３】
次に、次元数ｈ初期化ステップＳ１１０１において、次元数ｈを１に初期化する。
【００９４】
そして、誤差関数最小化ステップＳ１１０２において、（数４）に示した誤差関数を最小にする行列Γを、（数５）の拘束条件の下で求める。上記説明したように、行列Γは、全データ数がＮ個であるので、Ｎ行×ｈ列の行列であり、ここで求めたΓの各行が、求めるｈ次元のカーネル関数値結合荷重ベクトル群｛αｎ｝となる。例えばΓのｎ番目の行が、ｎ番目のデータに対応するカーネル関数値結合荷重ベクトルαｎで、データ数がＮ個であるので、ｎ＝１、２、・・・、Ｎである。
【００９５】
次いで、ステップ１１０３では、距離関係が条件を満たすか否かで分岐する。まず、ステップＳ１１０２で求めたカーネル関数値結合荷重ベクトル群｛αｎ｝を用い、全Ｎ個のデータに対して、それぞれの写像後のベクトルｚ＝Σαｎ・Ｋ（ｘ、ｘｎ）を求める。この写像後のベクトルｚは、αｎがｈ次元ベクトルであるので、同じくｈ次元のベクトルになる。そして、全Ｎ個のデータの、各写像後のベクトル間のユークリッド距離を求める。ここで求める距離は、Ｎ個のデータから２個を選んだ組み合わせなので、Ｎ×（Ｎ−１）／２通りの距離を求めることになる。ここで求めた、例えばｉ番目とｊ番目のデータの、写像後のベクトルのユークリッド距離をｄｚ（ｉ、ｊ）と表記する。そして、Ｎ個のデータの中から３個を選ぶ全ての組み合わせ（Ｎ×（Ｎ−１）×（Ｎ−２）／６通りの組み合わせ）全てについて、選んだ３個のデータが、写像前後の距離関係を満たすか否かを判定する。
【００９６】
この写像前後の距離関係を満たすか否かの判定について、例えば、選んだ３個のデータが、ｉ番目、ｊ番目、ｋ番目のデータであったとした場合について説明する。まず、３個の内の、１つのデータに注目（ｉ番目のデータに注目したとする）し、このデータと、他の２個のデータとの測地線距離を参照する。測地線距離は、第１実施形態において説明した、ｄＭであるので、他の２個のデータとの測地線距離は、ｄＭ（ｉ、ｊ）とｄＭ（ｉ、ｋ）である。そして、この２つの測地線距離の大小関係と、先に求めた写像後のベクトル間の距離、ｄｚ（ｉ、ｊ）、及びｄｚ（ｉ、ｋ）の大小関係が等しければ、ここでの条件を満たしたと判定する。次に、他の２個のデータについても同様に注目して、大小関係の条件の判定を行い、３個のデータそれぞれに注目した場合のすべてにおいて、この条件を満たしたならば、この３個の距離関係は条件を満たしていると判定する。
【００９７】
上記３個のデータに関する条件を、Ｎ個のデータの中から、３個を選ぶ組み合わせ全てにおいて満たしたならば、写像前後の距離関係が条件を満たしたと判定し（ステップＳ１１０３でＹＥＳ）、カーネル関数変更処理は終了となる。そして、この時のカーネル関数、及び、カーネル関数のパラメータを記録しておく。以降では、このカーネル関数と、カーネル関数のパラメータを用い、ここで得られた、次元数ｈのカーネル関数値結合荷重ベクトル群｛αｎ｝により、非線形の写像を行うようにすればよい。
【００９８】
逆に、上記条件の判定において、１つでも条件を満たさないものがあった場合（ステップＳ１１０３でＮＯ）は、次の次元数ｈが所定値以下であるか否かを評価するステップＳ１１０４へ進む。ここでは、次元数ｈが、予め定めておいた所定の次元数（例えば、５０次元等）以下であるか否かを判定し、その結果によって処理が分岐する。次元数ｈが所定次元数以下であったならば（ステップＳ１１０４でＹＥＳ）、写像前後の距離の近似精度を高めるため、ｈを１増加ステップＳ１１０５に進み、次元数ｈを１増加させて、誤差関数最小化ステップＳ１１０２に戻り、再度、同様の処理を行う。次元数ｈが所定次元数以下でなかったならば（ステップＳ１１０４でＮＯ）、現在設定されているカーネル関数、若しくは、カーネル関数のパラメータでは、充分な写像前後の距離の近似精度を実現できない可能性が高いと判断することになる。したがって、次のカーネル関数変更ステップＳ１１０６に進む。
【００９９】
カーネル関数変更ステップＳ１１０６では、現在設定されているカーネル関数の関数形状と、カーネル関数のパラメータとの少なくともいずれかを変更する。ここでは、カーネル関数のパラメータを、予め定めた範囲で所定の粒度で振ることにより変更したり、予め定めておいた複数のカーネル関数の中から、いずれかの関数を選ぶことにより、カーネル関数の関数形状自体を変更したりする。例えば、現在設定されているカーネル関数が、ガウシアンカーネルであり、ガウシアンカーネルのパラメータσを、初期設定である１から、０．０５刻みで０．１まで変更するように予め定めていたとする。この場合、ガウシアンカーネルのパラメータσが初期設定の１であったならば、このパラメータを０．９５に変更するというようにする。また、例えば、現在のσの設定が０．８５ならば、０．８にするというように変更していけばよい。
【０１００】
もし、この現在のσ設定が０．１であった場合は、既に予め定めた範囲の限界まで達しているので、今度は、カーネル関数の関数形状自体を変更する。例えば、複数のカーネル関数として、既に現在用いているガウシアンカーネルの他に、前述の多項式カーネルや、シグモイドカーネルＫ（ｘ、ｘ’）＝ｔａｎｈ（ａ・ｘＴｘ’−ｂ）を定めておいたとする。ここで、シグモイドカーネルは、半正定値性を満たさないが、演算上、特に問題にならなければ、そのままカーネル関数として用いて構わない。
【０１０１】
この時、現在設定されているガウシアンカーネルを、これら２つのいずれかの関数に変更する。変更したカーネル関数にも、カーネル関数のパラメータ（多項式カーネルならばｐ、シグモイドカーネルならばａとｂ）があるので、それらを初期値に設定する。この初期値は、予めカーネル関数ごとに定めておいた、カーネル関数で用いるパラメータの範囲の上限（若しくは下限）に設定すればよい。
【０１０２】
このように、カーネル関数変更ステップＳ１１０６では、カーネル関数のパラメータの変更か、カーネル関数自体の変更を行う。ガウシアンカーネル以外でのカーネル関数のパラメータの変更については、多項式カーネルの場合は、ガウシアンカーネルと同様に、カーネル関数のパラメータは１つであるので、予め定めた範囲で所定の粒度でパラメータを振るようにすればよい。シグモイドカーネルのように、カーネル関数のパラメータが複数ある場合は、それぞれのパラメータについて、予め定めた範囲で所定の粒度でパラメータを振り、各パラメータの全ての組み合わせを試行するようにすればよい。
【０１０３】
カーネル関数変更ステップＳ１１０６での処理が終了した後、次元数ｈ初期化ステップＳ１１０１に戻り、次元数ｈを再度１に初期化して、同様の処理を行っていく。そして、上記説明した、距離関係が条件を満たすか否かを判定するステップＳ１１０３において、全データについて、写像前後の距離関係が条件を満たすまで、上記処理を繰り返していく。
【０１０４】
以上説明したカーネル関数変更処理により、予め定めた所定の次元数以下で、写像前後の距離関係が満たせるカーネル関数、及び、カーネル関数のパラメータが設定可能となる。
【０１０５】
なお、例えば、予め定めておいた、上限の次元数が小さすぎる、若しくは、カーネル関数のパラメータの範囲が適切でないような場合、写像前後の距離関係を満たせない場合がある。つまり、全てのカーネル関数、及び、カーネル関数のパラメータを試行しても、写像前後の距離関係を満たす解がなく、処理が終了しない場合がある。このような場合は、上限の次元数を大きくしたり、カーネル関数のパラメータの範囲を変更したり、若しくは、カーネル関数の候補を追加して、再度、同様の処理を行えばよい。
【０１０６】
また、本手法の説明においては、全てのデータにおいて、上記説明した写像前後の距離関係を満たすことを、処理終了の条件とした。しかし、この終了条件は、これに限るものではなく、例えば、全データの９０％が、上記の距離関係の条件を満たせば、処理を終了するというようにしてもよい。また、距離関係の条件についても、上記説明したような、写像前後の距離の大小関係を満たすような条件に限るものではなく、例えば、写像前後の距離の比が、所定範囲内（例えば、０．９〜１．１等）であればよいというような条件にしてもよい。
【０１０７】
図５の非線形写像係数算出ステップＳ５４１に戻り、本実施形態の登録モードにおける、射影規則生成部１１１での処理の説明を続ける。本実施形態も、上記（数４）のような誤差関数を定義して、それを（数５）の拘束条件の元で最小化する行列Γを、特開２００３−３０１７２号公報に開示の手法を用いて求める。しかし、第１実施形態と同様に、これに限るものではなく、その他の誤差関数を利用しても構わないし、ラグランジュの未定乗数法等を用いて、この行列Γを求めるようにしてもよい。特に、（数４）に示した誤差関数に関しては、よりスパースな解を得るため、Γに関するＬ１ノルムを正則化項として付加し、（数６）のようにしてもよい。
【０１０８】
【数６】
2008282391.tif 000008
【０１０９】
ここでγkは、行列Γのｋ列目の列ベクトルを示しており、Ｎ次元のベクトルである。また、｜γk｜L1は、γkのＬ１ノルムであり、第２項のΣｋは、ｋ＝１からｋ＝ｈまでの総和を意味する。また、λは正則化の効果を決める正のパラメータであり、正則化の効果を決める定数である。このλの値を大きくすることで、正則化の効果が強まるが、実際に用いる値としては、求めるスパースネスと、最終的な写像性能に応じて実験的に決めてやればよい。この場合の行列Γについても、特開２００３−３０１７２号公報の手法や、ラグランジュの未定乗数法等を用いて求めることができる。
【０１１０】
上述のような非線形写像決定係数算出ステップＳ５４１での処理により、クラスｃについての非線形写像を決めるカーネル関数値結合加重ベクトル群として、Ｎ個のｈ次元ベクトルαnが得られることになる。ここで、このカーネル関数値結合加重ベクトル群の幾何学的な意味について説明する。
【０１１１】
本実施形態において用いている、上記説明したカーネル関数（ガウシアンカーネルに限らず）は、一般に、Ｋ（ｘ、ｘ’）＝Φ（ｘ）TΦ（ｘ’）のように表すことができる。ここでΦ（ｘ）は、ある非線形変換により、ベクトルｘを高次特徴空間に写像した、高次特徴空間内のベクトルである。つまり、２つのベクトルｘ、ｘ’に対するカーネル関数の値は、この２つのベクトルを、高次特徴空間に写像した、Φ（ｘ）とΦ（ｘ’）の内積となる。一般に、この高次特徴空間は、非常に高次元（もとのデータの次元に比べて）の空間となり、本実施形態で用いたガウシアンカーネルの場合、無限次元の空間となる。
【０１１２】
ここで、データの全体が表現されるＭａｎｉｆｏｌｄの構造ができるだけ保存される評価基準で求めた、本実施形態における非線形変換、ｚ＝Σαn・Ｋ（ｘ、ｘn）を考える。この非線形変換は、上記カーネル関数の特性（Ｋ（ｘ、ｘ’）＝Φ（ｘ）TΦ（ｘ’）＝Φ（ｘ’）TΦ（ｘ））から次のように表すことができる。
ｚ＝Σαn｛Φ（ｘn）TΦ（ｘ’）｝＝［ΣαnΦ（ｘn）T］Φ（ｘ’）。
ここで、ΣαnΦ（ｘn）Tは、高次特徴空間の次元をＤとすると、αnがｈ次元のベクトルであるので、ｈ行Ｄ列の行列とみなせる。ここから、この非線形変換ｚ＝Σαn・Ｋ（ｘ、ｘn）は、次元Ｄの高次特徴空間での、縮退したｈ次元空間への線形写像と考えられる。つまり、データの全体が表現されるＭａｎｉｆｏｌｄの構造ができるだけ保存されるような、行列ΣαnΦ（ｘn）Tの、ｈ個の行ベクトルが張る、高次特徴空間の超平面への写像となる。ここで、高次特徴空間の超平面を張る、行列ΣαnΦ（ｘn）Tのｋ番目の行ベクトルを、ベクトルΨkとし、αnのｋ番目の要素をαk,nとする。このとき、Ψk＝Σαk,nΦ（ｘn）と表される。またここで、非線形写像決定係数算出ステップＳ５４１の処理における（数５）に示した拘束条件を考える。この拘束条件は、（数７）のように変形することができる。
【０１１３】
【数７】
2008282391.tif 000009
ここで、Σはｎ＝１からｎ＝Ｎまでの総和を意味するとした、上記における定義を用いている。この（数７）は、高次特徴空間内の、ｈ次元に縮退した超平面を張るベクトルΨk（ｋ＝１、２、・・・ｈ）が、このｈ次元に縮退した超平面空間の正規直交基底であることを示している。つまり、本実施形態の射影規則生成部１１１での処理は、第１実施形態と比較して、原特徴空間か、高次特徴空間かの違いはあるが、第１実施形態と同様に、Ｍａｎｉｆｏｌｄの構造を近似的に保存するような超平面を張る正規直交基底を求めていることになる。
【０１１４】
以上のように、ステップＳ５４１までの処理により、クラスｃについて、クラスの中心データｘMと、高次元特徴空間内の、ｈ次元に縮退した空間を張る、ｈ個の正規直交基底｛Ψk｝（ｋ＝１、２、・・・ｈ）が得られる。
【０１１５】
そこで最後に、正規直交基底記録ステップＳ５５の処理において、このクラスのラベルと、クラスの中心データ、ｈ個の正規直交基底を記録する。だが、クラスのラベルと、クラスの中心データｘMは記録可能だが、正規直交基底は、非常に高次元のベクトルであり、記憶容量が限られた記録媒体に記録することが実際には困難である。特に、本実施形態のように、ガウシアンカーネルを用いた場合は、無限次元のベクトルとなるため、そのまま記録することは不可能である。しかし、後に説明する識別モードでの処理において、実際にこの正規直交基底を用いてデータを射影する場合には、この正規直交基底と、高次特徴空間に写像したデータとの内積のみを用いる。この内積値は、カーネル関数で表すことができるため、直接的に、この正規直交基底を用いることはない。
【０１１６】
そこで、ステップＳ５５では、ステップＳ５４１で求めた、Ｎ個のｈ次元ベクトルである、カーネル関数値結合加重ベクトル群αn、及び、クラスｃのデータを、実際の高次特徴空間内で定義される正規直交基底の代わりに記録する。ここで記録した、クラスｃに関するデータは、後述の識別モードでの処理において用いる。そこで、識別モードでの処理の説明においては、このクラスｃの中心データをｘcM、クラスｃのデータ数をＮcと表記する。また、Ｎc個のｈc次元のカーネル関数値結合加重ベクトル群の内、ｎ番目のカーネル関数値結合加重ベクトルをαcn（ｎ＝１、２、・・・、Ｎc）と表記する。そして、Ｎc個の内の、ｉ番目のクラスｃのデータをｘci（ｉ＝１、２、・・・、Ｎc）と表記する。
【０１１７】
本実施形態においても、第１実施形態と同様に、上記、クラス選択ステップＳ４０から、正規直交基底記録ステップＳ５５までの処理を、登録する全てのクラスについて繰り返す（全クラス終了判定分岐Ｓ５６）。そして、全てのクラスについての処理が終了した段階で、射影規則生成部１１１における処理、即ち、図２に示した射影規則生成ステップＳ２１０、及び、射影規則記録ステップＳ２０１の処理が終了することになる。これにより、登録モードでの処理が終了する。以上の登録モードでの処理により、以下のデータが、図１の射影規則保持部１０１に保存されることになる。
・顔画像を登録するｍ人分の、高次特徴空間における正規直交基底に対応する上記カーネル関数値結合加重ベクトル群等のデータがｍ組。
・クラスｃの中心データ。
・対応するクラスのラベル。
【０１１８】
（識別処理）
次に、本実施形態の識別モードおける処理について、識別モードの処理部の構成を示す図１の識別モードブロック１２の部分と、処理の手順を示す図３を用いて説明する。
【０１１９】
本実施形態の登録モードでは、第１実施形態と同様に、まず、データ入力ステップＳ３００の処理を実行する。即ち、データ入力部１００から誰の画像であるのかを識別する対象である画像データを１つ入力し、画像の各画素値をラスタスキャン的に並べた４００次元のベクトルを生成する。
【０１２０】
次に、射影規則入力ステップＳ３２０の処理を実行する。即ち、登録モードで射影規則保持部１０１に保存した、ｍ組のカーネル関数値結合加重ベクトル群等のデータから、１つのクラスに対応するデータの組を、そのデータの組に対応するクラスのラベルと共に、射影規則入力部１２０が順次選択して入力する。これも第１実施形態と同様に、選択の順は任意で構わないので、登録モードでの処理において登録した、クラス１からクラスｍまでを順に選択していく。また第１実施形態における説明と同様に、ここで選択されたクラスをｃとする。つまり、ここでは以下のデータが入力される。
・クラスｃの中心データｘcM。
・Ｎc個のｈc次元のカーネル関数値結合加重ベクトル群αcn（ｎ＝１、２、・・・、Ｎc）。
・Ｎc個のクラスｃのデータｘci（ｉ＝１、２、・・・、Ｎc）。
・対応するラベルｃ。
【０１２１】
次いで、図３の射影結果算出ステップＳ３２１の処理を実行する。即ち、射影結果算出部１２１において、データ入力部１００で入力した入力ベクトルｘの、高次特徴空間での像Φ（ｘ）の、高次特徴空間内の超平面への投影距離の２乗｛Ｒc（ｘ）｝2を求める。ただし、高次特徴空間内の超平面は、射影規則入力部１２０で入力したデータにより決定される。これは、登録モードでの処理で用いたのと同じカーネル関数Ｋを用い、（数８）により求めることができる。
【０１２２】
【数８】
2008282391.tif 000010
【０１２３】
ここで、射影規則入力部１２０で入力したカーネル関数値結合加重ベクトル群の、ｎ番目のｈc次元ベクトルαcnの、ｋ番目の要素を、αck,nとしている。この（数８）中の、第３項目のＫ（ｘcM、ｘcM）（＝１）と、第４項目内の
2008282391.tif 000011
は、入力データｘに依存しないので、予め求めておくようにしてもよい。ここで、Ｋ（ｘcM、ｘcM）＝１となるのは、本実施形態では、カーネル関数に、ガウシアンカーネルを用いているためである。
【０１２４】
本実施形態でも、簡便のため、このように投影距離の２乗を算出するが、この平方根である投影距離を求めるようにしても構わない。この投影距離（投影距離の２乗）は、高次特徴空間に写像した入力データの、クラスｃのデータ集合が構成するＭａｎｉｆｏｌｄの構造を近似する、高次元特徴空間内の超平面までの距離である。
【０１２５】
第１実施形態においても述べたように、各クラスに対応する、この高次特徴空間内の超平面は、高次特徴空間内において、各クラスのデータの全体が表現されるＭａｎｉｆｏｌｄと、凡そ平行な位置関係となっていると考えられる。しかし、第１実施形態とは異なり、用いるカーネル関数にもよるが、一般に、クラスｃに属する入力データｘcの、高次特徴空間内での像Φ（ｘc）に、任意の正の実数ｓを乗じたｓΦ（ｘc）は、クラスｃのデータとならない。つまり一般に、高次特徴空間内でのＭａｎｉｆｏｌｄは、原点Ｏを通る面になるとは限らない。そのため、本実施形態において、第１実施形態と同様に、射影長をクラスｃの類似度とすると、充分な性能を得られない可能性がある。そこで、本実施形態では、まず、入力した射影規則により決まる、Ｍａｎｉｆｏｌｄと凡そ平行な位置関係ではあるが、高次特徴空間内の原点Ｏを通る超平面を、高次特徴空間内でのＭａｎｉｆｏｌｄと略一致するように平行移動する。本実施形態では、この平行移動として、超平面の原点Ｏの位置が、射影規則入力ステップＳ３２０で入力した、クラスの中心データの、高次特徴空間内の像の位置になるように平行移動をする。この平行移動により、この超平面は、高次特徴空間内でのＭａｎｉｆｏｌｄと略一致するようになると考えられる。そして、この移動した超平面と、入力されたベクトルｘの、高次特徴空間内の像Φ（ｘ）の距離を、ここで算出する投影距離として求める。平行移動した超平面は、高次特徴空間内のＭａｎｉｆｏｌｄに略一致するので、この投影距離は、入力されたベクトルｘの、クラスｃに対する類似度と考えることができる。そこで、ここで求めた投影距離の２乗を、射影結果保持部１２２に、クラスのラベルｃと共に記録しておく。
【０１２６】
第１実施形態では、この射影結果算出部１２１において、クラスｃに対する類似度として、各超平面への射影長を求めたのに対し、本実施形態では、上記のような投影距離を求め、それを各クラスに対する類似度として用いる。このように、本実施形態のパターン識別方法は、非特許文献１を代表とする、いわゆる部分空間法で、一般的に用いられる、射影長法も、投影距離法も用いることができる。また、本実施形態では、超平面を平行移動する量として、予め求めておいた、クラスの中心データの、高次特徴空間内での像を用いたが、これに限られない。例えば、高次特徴空間内でのサンプル平均を用いるようにしてもよい。
【０１２７】
上記、射影規則入力ステップＳ３２０、及び、射影結果算出ステップＳ３２１の処理を、第１実施形態と同様に、射影規則保持部１０１に保存されている、ｍ個全てのクラスについて繰り返す（全クラス終了判定分岐Ｓ３２５）。そして、また第１実施形態と同様に、全てのクラスについての上記処理が終了した段階で、次の、識別結果判定部１２３における処理である、識別結果判定ステップＳ３２３に進む。ここまでの処理により、登録済みのｍ個のクラスそれぞれに対して、射影結果算出ステップＳ３２１で求めた、各登録済みのクラスに対応する、ｍ個の投影距離の２乗｛Ｒc（ｘ）｝2と、それぞれに対応するクラスのラベルが、射影結果保持部１２２に記録される。
【０１２８】
次に、識別結果判定ステップＳ３２３の処理を行う。即ち、第１実施形態と同様に、識別結果判定部１２３、及び、識別結果出力部１２４での処理により、射影結果保持部１２２に記録された結果を用いて、データ入力部１００において入力された顔画像に対する判定結果を求める。
具体的には、まず、識別結果判定部１２３において、射影結果保持部１２２に記録された、各登録済みのクラスに対応するｍ個の投影距離の２乗｛Ｒc（ｘ）｝2の内、最小の値であるものを求める。そして、その投影距離の２乗が最小であったものに対応するクラスのラベルを、データ入力部１００において入力された顔画像に対する判定結果とする。
【０１２９】
最後に、識別結果出力ステップＳ３２４において、この判定結果を外部に出力する。そして、識別モードでの処理を終了する。
【０１３０】
以上の処理により、識別モードでの処理である、識別対象の、縦横２０×２０画素の、人物の顔を切り出したグレースケール画像データから、それが誰の顔画像であるのかを識別する処理が可能になる。本実施形態でも、入力される顔の画像は、予め登録モードにおいて登録した人物である場合を想定しているため、識別結果は、必ず登録モードで登録した人物の何れかとなる。もし、登録していない人物の画像が入力された場合、識別結果判定部１２３において求めた、投影距離の２乗｛Ｒc（ｘ）｝2の最小値が、所定値以上であった場合、それは不明な人物の画像であるという識別結果にすればよい。ここで用いる所定値は、登録されていない人物の画像を入力し、それが不明な人物の画像であると判定されるように、実験的に求めてやればよい。上記の登録モード、及び、識別モードの処理により、予め、縦横２０×２０画素の人物の顔画像を複数用いて、所望の人物を登録しておき、その後、未知の同様の顔画像を入力した時に、それが登録済みの人物の内、何れの人物なのかを識別する処理が可能になる。
【０１３１】
上記のように、本実施形態では、まず、各クラスのデータ集合の全体が表現されるＭａｎｉｆｏｌｄの構造を近似する、高次特徴空間内の超平面を求めるため、このＭａｎｉｆｏｌｄ上の配置関係、具体的には、測地線距離関係を近似する射影規則を求める。そして、射影規則により定義される高次特徴空間における線形射影空間、即ち、高次特徴空間内の縮退した超平面と、識別すべき対象である、入力された新たなデータの、高次特徴空間における像との距離（投影距離）を求める。この超平面との距離は、この超平面上に分布するデータ集合に対する類似度とみなすことができる。その為、各クラスに対応して求めた超平面への距離を比較することにより、入力されたデータが、何れのクラスに類似しているかを判定することが可能となる。本実施形態に係る構成は、非特許文献５のように、局所的なデータのみを用いて、Ｍａｎｉｆｏｌｄの接平面を求める手法に比べ、データ全体を用いてＭａｎｉｆｏｌｄを近似する。このため、データの粗密等による影響が低減され、安定した性能を得られる傾向がある。
【０１３２】
上記手法により、第１実施形態における線形写像を、カーネル関数を用いた非線形な写像に置き換えることができ、より複雑なパターンの分布に対応可能となる。本実施形態では、カーネル関数を固定として説明したが、これに限られない。例えば、他の様々なカーネル関数（関数自体の選択や、上記カーネル関数例でのｐやσ等のパラメータも含めて）を用いて射影規則を生成した後に、性能検定を行い、最も性能が良いものを選ぶようにしてもよい。性能検定は、登録モードで用いたものとは別の、多数のデータを用いて、それらに対する識別の誤りの少なさを、性能の尺度として用いるようにすればよい。
【０１３３】
＜＜第３実施形態＞＞
（概要）
本実施形態では、正常であるとラベル付けされたデータ集合を用い、第２実施形態と同様の射影規則を生成し、その射影規則を用いて、新たに入力されたパターン（処理対象データ）が、正常であるのか異常であるのかを検出する構成例について説明する。
【０１３４】
例えば、非特許文献１に記載されているいわゆる部分空間法は、異常パターン検出に有効であるとして知られている。部分空間法を用いた異常パターン検出では、まず、複数の正常パターンを用いて、正常パターンの部分空間をＰＣＡにより求めておく。そして、新たな入力パターンを、ＰＣＡで求めた部分空間に投影し、その射影長が所定閾値以下、若しくは投影距離が所定の閾値以上であった場合、その入力パターンを異常パターンとして検出する。
【０１３５】
第１、第２実施形態で説明した手法は、部分空間法と同様に、このような異常パターン検出にも適用可能である。そこで、本実施形態では、このような異常パターン検出の例として、複雑なテクスチャパターンを有する製造物の表面を撮影した画像から、その表面上の欠陥を、異常パターンとして検出する構成例を示す。本実施形態では、複雑なテクスチャパターンを有する製造物の例として、表面に粗し加工を施したゴム板を対象とするが、これに限るものではなく、その他の製造物の、表面欠陥の検出にも適用可能である。
【０１３６】
図６は、本実施形態において処理対象となるパターンの例を示す図である。これらは、表面粗し加工を施したゴム板の表面を撮影したグレースケール画像から、１２８×１２８画素の領域を切り出した図である。図６の（ａ）から（ｅ）は、正常であるゴム板の画像から切り出したものであり、（ｆ）から（ｊ）は、欠陥を含むゴム板の画像から、欠陥部（図６中、丸印にて図示）を含むような領域を切り出した図である。
【０１３７】
本実施形態では、（ａ）から（ｅ）のような画像パターンを正常パターンとし、（ｆ）から（ｊ）のような画像パターンを異常パターンとする。（ｆ）、及び（ｇ）は、黒いスポット状のムラのような欠陥が存在するパターンの例であり、図６に示したように、形状やサイズが様々である。また、（ｈ）のように、全体的にグラデーションがあるようなパターンや、（ｉ）のように、白いスポット状のムラがあるもの、（ｊ）のように、テクスチャのコントラストが一部だけ低いようなもの等、様々な欠陥の種類が存在する。
【０１３８】
本実施形態で扱うような、コントラストの高い、複雑なテクスチャパターンの中に存在する欠陥を検出する場合、従来の表面欠陥の検出においてよく用いられる、輝度値やエッジ抽出値の閾値処理では、正しく欠陥を検出することが困難である。また、欠陥の種類が限定されているならば、その欠陥に対応した処理を行うことで、欠陥の検出が可能であると考えられるが、欠陥の種類が様々で、今後どのような欠陥が現れるかが不明の場合は、それぞれの欠陥に対処する手法を適用することも困難である。そこで、本実施形態では、複数の正常パターンを用いて、正常パターンを何らかの形でモデル化し、その正常パターンのモデルと比較することによって、異常パターンを検出する。
【０１３９】
本実施形態に係る部分空間法を用いた異常パターン検出では、複数の正常パターンを用いて、正常パターンを良好に近似表現できる線形部分空間を、ＰＣＡにより求め、それを正常パターンのモデルとする。そして、その正常パターンのモデルである、線形部分空間からの乖離度を、その線形部分空間へ入力パターンを射影した時の、射影長、若しくは、投影距離を用いて評価し、乖離度の大きさに基づいて異常パターンを検出する。
【０１４０】
本実施形態に係る異常パターン検出では、この部分空間法と同様に、複数の正常パターンから、正常パターンのモデルを生成し、そのモデルとの乖離度を評価することにより、異常パターンを検出する。具体的には、まず、第２実施形態と同様の、カーネル関数を利用した手法を用いて、正常パターンの全体が表現されるＭａｎｉｆｏｌｄ上のデータの配置関係を良好に近似する高次特徴空間における線形射影空間を求める。そして、入力パターンを、求めた高次特徴空間の線形射影空間に射影して、その投影距離に基づいて、入力パターンが正常パターンであるのか、異常パターンであるのかを判定することにより、異常パターンを検出する。
【０１４１】
つまり、第２実施形態では、複数のクラスを対象としていたのに対し、本実施形態では、対象とするクラスを１つだけにし、その１クラスを正常パターンのみのクラスとする。そして、新たな入力データが、そのクラス、つまり、正常パターンのクラスであるかどうかを判定することによって、異常パターンであるかどうかを検出する。このように、本実施形態は、入力データが異なる、登録するクラスが１つだけである等の違いはあるが、第２実施形態と類似している。そこで、本実施形態の説明においては、第２実施形態と異なる部分のみ詳細に説明し、第２実施形態と同様の部分については、説明を省略する。
【０１４２】
（機能構成）
次に、本実施形態に係る異常パターン検出装置の機能構成について、図７を参照して説明する。図７は、本実施形態に係る異常パターン検出装置の機能構成を示すブロック図である。
【０１４３】
本実施形態に係る構成においても、第１実施形態、及び第２実施形態と同様に、大きく分けて２つのモードが存在する。１つは、正常パターンのモデル生成を行う、正常パターンモデル化モード７１であり、もう１つは、新たな入力パターンが異常パターンであるか否かを検出する、異常パターン検出モード７２である。
【０１４４】
それぞれ２つのモードでの処理の概要について説明する。正常パターンモデル化モード７１では、複数の正常パターンを用いて、正常パターンのモデル化を行う。具体的には、第２実施形態において説明したのと同様に、複数の正常パターンの全体が表現されるＭａｎｉｆｏｌｄ上の配置関係を近似する、高次特徴空間における線形射影空間を求め、それを正常パターンのモデルとして生成する処理を行う。
【０１４５】
異常パターン検出モード７２では、正常パターンモデル化モード７１で生成したモデルを利用し、新たな入力パターンが、モデルに対してどの程度、乖離しているかを求め、それに基づいて、新たな入力パターンが、異常パターンであるか否かを検出する。具体的には、正常パターンのモデルとして生成した高次特徴空間における線形射影空間に、新たな入力パターンを投影し、その時の投影距離を乖離度とみなし、その乖離度が所定値以上であれば、そのパターンを異常パターンとして検出する処理を行う。
【０１４６】
（正常パターンモデル化モードでの処理）
以下、図７に示した各処理部での処理について、まず、正常パターンモデル化モード７１での処理の詳細を、図７、及び、正常パターンモデル化モード７１での処理のフローを示した図８を用いて説明する。その後、異常パターン検出モード７２での処理の詳細を、図７、及び、異常パターン検出モード７２での処理のフローを示した、図９を用いて説明する。
【０１４７】
本実施形態の正常パターンモデル化モードでは、まず、データ入力部７００において、複数枚の正常画像データを入力する（ステップＳ８００）。ここで入力する正常画像データとは、正常であると予め判定されている、表面粗し加工を施したゴム板（以下、正常サンプルとする）の表面を撮影した画像である。本実施形態では、この正常画像データは、１０２４×７６８画素のグレースケール画像であり、Ｎ個の正常サンプルについて撮影した、Ｎ枚の正常画像データを入力したとする。
【０１４８】
続いて、本実施形態の正常パターンモデル化モードにおける特徴抽出処理部７０２での処理（ステップＳ８０２）について説明していく。特徴抽出処理部７０２では、データ入力部７００で入力したＮ枚の正常画像データそれぞれから、正常パターンを切り出し、そのパターンそれぞれに対して、階層的に離散Ｗａｖｅｌｅｔ変換を行う。そして、それぞれのパターンの変換結果を基に、それぞれのパターンに対応する、Ｗａｖｅｌｅｔ特徴ベクトルを生成し、それを射影規則生成用データ保持部７１０に記録して保持する。以下、ここでの各処理の詳細について述べる。
【０１４９】
本実施形態では、正常パターンとして、正常画像データの任意の位置から、１２８×１２８画素の領域を切り出したものを用いる。切り出す個数や位置は任意だが、多くのパターンを用いた方が、正常パターンの全体が表現されるＭａｎｉｆｏｌｄの構造を、精度良く近似できる可能性が高い。そのため、本実施形態では、正常画像データから、とり得る全ての１２８×１２８画素のパターンを切り出す。正常画像データは、１０２４×７６８画素なので、とり得る１２８×１２８画素のパターン数は、（１０２４−１２８＋１）×（７６８−１２８＋１）＝５７４９７７である。これを、Ｎ枚の正常画像データから切り出すので、全部で５７４９７７×Ｎ個のパターンが切り出される。
【０１５０】
そして、この切り出したパターンそれぞれに対して、階層的に離散Ｗａｖｅｌｅｔ変換を行う。本実施形態では、離散Ｗａｖｅｌｅｔ変換においてＨａａｒ基底を用いる。画像のような２次元のパターンに対する離散Ｗａｖｅｌｅｔ変換では、変換前パターンの１／２の解像度の、縦方向・横方向・縦横方向の高周波成分抽出パターンと、低周波成分パターンの、４つのパターンに変換される。本実施形態では、１２８×１２８画素のパターンを用いるので、１回目の離散Ｗａｖｅｌｅｔ変換では、６４×６４画素の、上記４つのパターンに変換される。
【０１５１】
ここで、変換された縦方向高周波成分抽出パターンをＨＬ１、横方向高周波成分抽出パターンをＬＨ１、縦横方向高周波成分抽出パターンをＨＨ１、低周波成分パターンをＬＬ１とする。ＨＬ・ＬＨ・ＨＨは、それぞれ、縦方向・横方向・縦横方向の高周波成分抽出パターンであることを表し、ＬＬは低周波成分パターンであることを表す。また、例えばＨＬ１の、１という数値は、１回目の離散Ｗａｖｅｌｅｔ変換の結果であることを示す。
【０１５２】
本実施形態では、更に、この低周波成分パターンＬＬ１に対して、離散Ｗａｖｅｌｅｔ変換を行い、今度は、３２×３２画素の、上記４つのパターンに変換する。ここで、変換された縦方向高周波成分抽出パターンはＨＬ２、横方向高周波成分抽出パターンはＬＨ２、縦横方向高周波成分抽出パターンはＨＨ２、低周波成分パターンはＬＬ２ととなる。同様に、この低周波成分パターンＬＬ２に対して離散Ｗａｖｅｌｅｔ変換をするというように、階層的に離散Ｗａｖｅｌｅｔ変換を行っていく。最終的に、１×１画素の、縦方向・横方向・縦横方向の高周波成分抽出パターン、及び、低周波成分パターンになるまで離散Ｗａｖｅｌｅｔ変換を繰り返す。変換前のパターンは、１２８×１２８画素なので、１回目の変換で、６４×６４画素、２回目の変換で、３２×３２画素、以降、１６×１６画素、８×８画素、４×４画素、２×２画素となり、最後の７回目の変換で１×１画素のパターンになる。つまり最後に得られる１×１画素の、４つのパターンはＨＬ７、ＬＨ７、ＨＨ７、ＬＬ７である。
【０１５３】
次に、このような階層的な離散Ｗａｖｅｌｅｔ変換により得られた各パターンから、Ｗａｖｅｌｅｔ特徴ベクトルを生成する。ここでは、各方向高周波成分抽出パターンと、最後に抽出した低周波成分パターンＬＬ７の、各要素値を、順番に要素として並べたベクトルを生成する。各要素値の並べ方は、各パターンにおいて共通であれば、任意の並べ方で構わない。本実施形態では、縦方向、横方向、縦横方向という順で、１回目の離散Ｗａｖｅｌｅｔ変換により得られた各パターンから順番に、ラスタスキャン的に数値を並べていく。つまり、最初の６４×６４＝４０９６個の要素は、１回目の離散Ｗａｖｅｌｅｔ変換により得られた、縦方向高周波成分抽出パターンＨＬ１の各画素値を、左上から順にラスタスキャンで並べたものとなる。そして、次の、４０９７番目から４０９６個分の、８１９２番目までの要素は、１回目の離散Ｗａｖｅｌｅｔ変換により得られた、横方向高周波成分抽出パターンＬＨ１の各画素値を、左上から順にラスタスキャンで並べたものとする。
【０１５４】
続いて、８１９３番目から４０９６個分の、１２２８８番目までの要素は、１回目の離散Ｗａｖｅｌｅｔ変換により得られた、縦横方向高周波成分抽出パターンＨＨ１の各画素値を、左上から順にラスタスキャンで並べたものになる。今度は、２回目の離散Ｗａｖｅｌｅｔ変換の結果に移行する。ここでは、１２２８９番目から、今度は３２×３２＝１０２４個分の、１３３１２番目までの要素を、２回目の離散Ｗａｖｅｌｅｔ変換により得られた、縦方向高周波成分抽出パターンＨＬ２の各画素値を、左上から順にラスタスキャンで並べたものとしていく。以下、同様に、７回目の離散Ｗａｖｅｌｅｔ変換により得られた、縦横方向高周波成分抽出パターンＨＨ７まで順に数値を並べていき、最後の要素を、７回目の離散Ｗａｖｅｌｅｔ変換により得られた、低周波成分パターンＬＬ７の値とする。このような処理により、｛（６４×６４）＋（３２×３２）＋（１６×１６）＋（８×８）＋（４×４）＋（２×２）＋（１×１）｝×３＋（１×１）＝１６３８４次元のベクトルが得られる。このベクトルを、各パターンに対応した、Ｗａｖｅｌｅｔ特徴ベクトルとし、これを射影規則生成用データ保持部７１０に記録して保持する。
【０１５５】
上記の処理により、射影規則生成用データ保持部７１０に、１６３８４次元のＷａｖｅｌｅｔ特徴ベクトルが、切り出したパターン数分、つまり、５７４９７７×Ｎ個分、記録されることになる。これにより、本実施形態の正常パターンモデル化モードにおける、特徴抽出処理部７０２での処理が終了となる。ここまでの処理は、図８の特徴抽出処理ステップＳ８０２に対応する。
【０１５６】
このように、本実施形態では、正常画像データから切り出したパターンに対して、離散Ｗａｖｅｌｅｔ変換を行い、そこからＷａｖｅｌｅｔ特徴ベクトルを生成して、それを射影規則生成用データ保持部７１０に記録して保持する。しかし、射影規則生成用データはこれに限るものではなく、例えば切り出したパターンそのものの画素値をラスタスキャン的に並べたものをベクトルとし、それを射影規則生成用データ保持部７１０に記録するようにしてもよい。ただし、本実施形態で説明するような、非常にランダムなパターンの場合、画素値をそのまま並べたものを利用すると、後の処理がうまく実行できない可能性が高いので、本実施形態のように、何らかの特徴を抽出しておくようにすることが好ましい。
【０１５７】
本実施形態の正常パターンモデル化モード７１における、特徴抽出処理部７０２での処理終了後、次は、射影規則生成部７１１での処理に進む（Ｓ８１０）。図１０は、本実施形態における射影規則生成部７１１での処理の手順を示すフローチャートである。
【０１５８】
図１０に示したように、射影規則生成部７１１での処理は、図５に示した、第２実施形態における射影規則生成部１１１での処理と類似している。本実施形態における射影規則生成部７１１では、射影規則生成用データ保持部７１０に保持された、Ｗａｖｅｌｅｔ特徴ベクトルを用いて、第２実施形態の射影規則生成部１１１での処理と同様の処理により、高次特徴空間での射影規則を生成する。そして、それを射影規則保持部７０１に記録する。
【０１５９】
第２実施形態では、複数のクラスがあり、それぞれに対して、高次特徴空間での射影規則を生成したが、本実施形態では、正常パターンの１クラスのみであるので、これに対応する射影規則を生成する。また、第２実施形態での識別モード１２では、各クラスに対応して生成した射影規則により、入力パターンを射影して、その時の、投影距離の長さを比較することによって、入力パターンが、何れのクラスに属するかを判定した。しかし、本実施形態では、クラスは１つのみであるので、他のクラスの結果と比較することはできない。そこで、正常パターンのクラスに対応する射影規則を生成すると同時に、投影距離の閾値を決定し、その閾値も、射影規則保持部７０１に記録して保持するようにする。
【０１６０】
以下、図１０を用いて、射影規則生成部７１１での処理の詳細について説明する。ただし、上記の通り、本実施形態の射影規則生成部７１１での処理は、第２実施形態の、射影規則生成部１１１での処理と類似しているため、第２実施形態と同様の部分に関しては説明を省略する。
【０１６１】
まず、図１０の特徴量正規化処理ステップＳ１０００における処理を説明する。本実施形態の正常パターンモデル化モード７１における、射影規則生成部７１１での処理では、特徴抽出処理（ステップＳ８０２）までの処理により、射影規則生成用データ保持部７１０に保持された、Ｗａｖｅｌｅｔ特徴ベクトルの、各要素値の正規化を行う。
【０１６２】
本実施形態では、上記説明した通り、５７４８７７×Ｎ個の、１６３８４次元のＷａｖｅｌｅｔ特徴ベクトルが、射影規則生成用データ保持部７１０に保持されているが、ここでは、その全てベクトルに対して、この正規化の処理を行う。この正規化処理は、必ずしも必要な処理ではない。しかし、本実施形態では、第２実施形態と同様に、非線形写像を実現するため、ガウシアンカーネルを用いたカーネル法を適用するが、この場合、一般的に、ベクトルの各要素値のレンジが、同程度になっている方が好ましい。そのため、本実施形態では、ベクトルの各要素値を、対応する要素値の標準偏差で除するという正規化を行う。
【０１６３】
正規化を行うための標準偏差は、５７４８７７×Ｎ個のＷａｖｅｌｅｔ特徴ベクトルの、それぞれの要素値について求めてもよい。しかし、例えば、このＷａｖｅｌｅｔ特徴ベクトルの、１番目から６４×６４＝４０９６番目までの要素は、凡そ同程度の値であると考えられる。つまり、１回目の離散Ｗａｖｅｌｅｔ変換により得られた、縦方向高周波成分抽出パターンＨＬ１を並べたものに対応する部分の要素値は、凡そ同程度の値であると考えられる。そこで、本実施形態では、このような部分をそれぞれまとめて考えて、その標準偏差を求め、それを用いて正規化を行う。
【０１６４】
具体的には、例えば、上記１番目から４０９６番目までの要素であれば、全部で５７４８７７×Ｎ個の、それぞれのＷａｖｅｌｅｔ特徴ベクトルの、１番目から４０９６番目までの要素、つまり、５７４８７７×Ｎ個×４０９６個の要素値の標準偏差を求める。そして、その標準偏差で、それぞれのＷａｖｅｌｅｔ特徴ベクトルの、１番目から４０９６番目までの要素を除することにより正規化を行う。次いで、４０９７番目から８１９２番目までの要素では、同様に、全てのＷａｖｅｌｅｔ特徴ベクトルの、４０９７番目から８１９２番目までの要素値の標準偏差を求める。そして、その標準偏差で、それぞれのＷａｖｅｌｅｔ特徴ベクトルの、４０９７番目から８１９２番目までの要素を除する。以下、同様に、８１９３番目から１２２８８番目まで、次いで、１２２８９番目から１３３１２番目（ここからは、３２×３２＝１０２４個の要素）まで・・・、と順に正規化を行っていく。そして、最後の１６３８４番目の要素である、７回目の離散Ｗａｖｅｌｅｔ変換により得られた、低周波成分パターンＬＬ７を、その標準偏差（この場合、５７４８７７×Ｎ個×１個の要素値で求める）で除すことにより正規化が完了する。
【０１６５】
ここで求めた、正規化を行うための、それぞれの標準偏差は、後に説明する、異常パターン検出モード７２での処理に用いるため、これらを、射影規則保持部７０１に記録する。ここまでの処理は、図１０の特徴量正規化処理ステップＳ１０００に対応する。
【０１６６】
続いて、正規化の終了したＷａｖｅｌｅｔ特徴ベクトルに対して、図１０に示した、距離関係算出ステップＳ１００１から、正規直交基底記録ステップＳ１００５までの処理を行っていく。ここでの処理は、第２実施形態において説明した、図５の、距離関係算出ステップＳ５１から、正規直交基底記録ステップＳ５５までの処理と同様の処理である。そこで、ここでの処理については、第２実施形態での説明を参照することとし、詳細な説明を省略する。
【０１６７】
第２実施形態では、パターンの次元が、２０×２０画素＝４００次元であったのに対し、本実施形態では、１６３８４次元となるが、同様の処理が可能であることは言うまでもない。また、第２実施形態では、複数のクラスを対象とし、それぞれのクラスに対して、独立にここでの処理を実行するが、本実施形態では、対象となるクラスは、正常パターンの１クラスのみであるので、この１クラスのみに対して処理を行う。
【０１６８】
つまり、ここでは、第２実施形態において説明した、（数４）又は（数６）のような誤差関数の最小化により、正常パターンの全体が表現されるＭａｎｉｆｏｌｄ上の配置関係を極力保存するような高次特徴空間における線形射影空間を求める。即ち、Ｗａｖｅｌｅｔ特徴ベクトルの原特徴空間における正常パターン間の測地線距離関係を、できるだけ保存するような高次特徴空間における線形射影空間を求める。
【０１６９】
この距離関係算出ステップＳ１００１から、正規直交基底記録ステップＳ１００５までの処理により、第２実施形態と同様に以下のものが得られる。
・５７４８７７×Ｎ個のカーネル関数値結合荷重ベクトル群αｎ。
・正常パターンを１つのクラスとした場合の、そのクラス中心データｘＭ。
カーネル関数値結合荷重ベクトルは、第２実施形態で述べたように、入力ベクトルｘの非線形写像ｚ＝Σαｎ・Ｋ（ｘ、ｘｎ）を決めるパラメータであり、各パターンに対応するカーネル関数値の結合荷重ベクトルである。ここで、Σは、ｎ＝１からｎ＝５７４８７７×Ｎまでの総和である。
【０１７０】
このように、カーネル関数値結合荷重ベクトルは、各パターンに対して１つ存在し、第２実施形態では、１つのクラスのパターン数をＮ個としたため、Ｎ個からなるカーネル関数値結合荷重ベクトル群が得られた。これに対し、本実施形態では、パターン数は５７４８７７×Ｎ個であるため、５７４８７７×Ｎ個からなるカーネル関数値結合荷重ベクトル群が得られる。
【０１７１】
また、このカーネル関数値結合荷重ベクトルの次元は、第２実施形態と同様の方法で決めればよい。つまり、正常パターンの写像後の距離関係が、少なくとも測地線距離関係の順序を満たすような最小の次元を選ぶ。ただし、ここでも、カーネル関数の選択や、カーネル関数のパラメータが適切でない場合、ｈを大きくしても、写像前後の距離関係を満たせないことがある。このため、その時は、第２実施形態で述べた手法と同様に、カーネル関数を再選択したり、カーネル関数のパラメータを変更したりすればよい。また中心データｘＭは、第２実施形態における、中心データ選択ステップＳ５４０での処理と同様の処理により、正規化を行った５７４８７７×Ｎ個のＷａｖｅｌｅｔ特徴ベクトルの１つが選ばれることになる。そして、第２実施形態と同様に、ここまでで得られた以下のものを射影規則保持部７０１に記録しておく。
・５７４８７７×Ｎ個のカーネル関数値結合荷重ベクトル群αｎ。
・中心データｘＭ。
・特徴量正規化ステップＳ１０００で得られた、５７４８７７×Ｎ個の正規化後のＷａｖｅｌｅｔ特徴ベクトル。
ここまでの処理がステップＳ１００１〜ステップＳ１００５の処理に該当する。
【０１７２】
次いで、投影距離閾値決定ステップＳ１００６では、ステップＳ１００５までの処理で求めた高次特徴空間における線形射影空間へ、各パターンを投影した時の投影距離が、どの程度以内ならば、正常のパターンとみなすのかを決めるための閾値を決定する。ここでは、特徴量正規化ステップＳ１０００で正規化した、５７４８７７×Ｎ個のＷａｖｅｌｅｔ特徴ベクトルを、ステップＳ１００５までの処理で求めた高次特徴空間における線形射影空間へ実際に投影し、その距離に基づいて閾値を決定する。各パターンの投影距離（実際は、投影距離の２乗）は、先に求めたカーネル関数値結合荷重ベクトル群αｎ、中心データｘＭ等を用い、第２実施形態において示した（数８）により求められる。（数８）中には、クラスラベルを示す添え字ｃが存在するが、本実施形態では、クラスは正常パターンの１つのみであるので、この添え字は無視して演算を行うようにする。
【０１７３】
本実施形態では、（数８）を用いて求めた５７４８７７×Ｎ個の投影距離の内、最大である距離を求め、その距離を閾値として決定する。このように、本実施形態では、正常パターンを実際に投影した場合の、最大となった投影距離を閾値として用いるようにする。しかし本実施形態に係る構成は、これに限るものではなく、例えば、正常パターンの内、所定割合（例えば９５％等）のパターンが、それ以内の距離であるというような距離を閾値としても構わない。
【０１７４】
また、正常であるパターンのみを用いて閾値を決定する方法に限らず、図６の（ｆ）から（ｊ）までに示したような、異常であることが判明しているパターンを用いて、閾値を決定してもよい。この場合、異常なパターンに対して、まず、上記説明した正常パターンに対する処理と同様に、離散Ｗａｖｅｌｅｔ変換を実行し、Ｗａｖｅｌｅｔ特徴ベクトルを生成する。次いで、特徴量正規化ステップＳ１０００で行った、特徴量の正規化と、同等な正規化処理（特徴量正規化ステップＳ１０００で求めた標準偏差を用いた正規化）を行う。そして、（数８）を用いて、正規化を行ったＷａｖｅｌｅｔ特徴ベクトルを、Ｓ１００５までの処理で求めた高次特徴空間における線形射影空間に投影した時の距離を求める。最後に、ここで求めた距離以下になるように閾値を決定するというようにすればよい。
【０１７５】
最後の、投影距離閾値記録ステップＳ１００７では、投影距離閾値決定ステップＳ１００６において決定した閾値を、射影規則保持部７０１に記録する処理を行う。ステップＳ１００７の処理は図８のステップＳ８０１の処理に相当する。この処理が終了した段階で、射影規則生成部７１１における処理、即ち、図８に示した射影規則生成ステップＳ８１０、及び、射影規則記録ステップＳ８０１の処理が終了することになり、これにより、正常パターンモデル化モードでの処理が終了する。
【０１７６】
以上の正常パターンモデル化モードでの処理により、以下の５つのデータが、射影規則保持部７０１に保存される。
１．特徴量正規化のための標準偏差データ群。
２．正常パターンの中心データ。
３．カーネル関数値結合荷重ベクトル群。
４．特徴量正規化後のＷａｖｅｌｅｔ特徴ベクトル群。
５．正常であるか否かを判定する距離の閾値。
【０１７７】
まず１つめ（特徴量正規化のための標準偏差データ群）は、特徴量正規化ステップＳ１０００における、特徴量の正規化に用いた標準偏差のデータ群である。具体的には、本実施形態では、７回の離散Ｗａｖｅｌｅｔ変換を行うので、各回における３つの各方向高周波成分抽出パターンそれぞれに対応する７×３個の標準偏差と、７回目の低周波成分パターンＬＬ７の標準偏差との、計２２個の標準偏差が記録されている。
【０１７８】
２つめ（正常パターンの中心データ）は、中心データ選択ステップＳ１０４０において、第２実施形態の中心データ選択ステップＳ５４０と同様の手法で求めた、正常パターンの中心データｘＭである。第２実施形態では、各クラスに対し１つずつ、この中心データを記録したが、本実施形態では、正常パターンのみの１クラスを対象としているので、記録される中心データは１つのみである。ちなみに、この中心データｘＭは、特徴量正規化ステップＳ１０００で正規化されたＷａｖｅｌｅｔ特徴ベクトルのいずれかであるので、１６３８４次元のベクトルとなる。
【０１７９】
３つめ（カーネル関数値結合荷重ベクトル群）は、正常パターンの全体が表現されるＭａｎｉｆｏｌｄ上の配置関係を保存するような、高次特徴空間における線形射影空間を決める、カーネル関数値結合荷重ベクトル群αｎである。このカーネル関数値結合荷重ベクトル群は、各パターンに対応して１つずつあるので、５７４８７７×Ｎ個のベクトルとなり、このベクトルの次元は、第２実施形態と同様の方法により決めた次元となる。
【０１８０】
４つめ（特徴量正規化後のＷａｖｅｌｅｔ特徴ベクトル群）は、特徴量正規化ステップＳ１０００において、正規化を行った、５７４８７７×Ｎ個のＷａｖｅｌｅｔ特徴ベクトル群である。この５７４８７７×Ｎ個のＷａｖｅｌｅｔ特徴ベクトルは、３つめのカーネル関数値結合荷重ベクトル群の、それぞれのカーネル関数値結合荷重ベクトルに対応しているので、その対応関係とともに記録しておくようにする。
【０１８１】
最後の５つめ（正常であるか否かを判定する距離の閾値）は、投影距離閾値決定ステップＳ１００６で求めた、正常パターンであるか否かを最終的に決定するための閾値である。これらの５つのデータは、以下に説明する、本実施形態の、異常パターン検出モードにおいて用いられることになる。
【０１８２】
（異常パターン検出モードでの処理）
次に、本実施形態の、異常パターン検出モードおける処理について、異常パターン検出モードの処理部の構成を示す、図７の異常パターン検出モード７２の部分と、処理の手順を示す図９を参照して説明する。
【０１８３】
本実施形態の異常パターン検出モードでは、まず射影規則入力部７２０において、正常パターンモデル化モードにおいて、射影規則保持部７０１に保存した、上述の５つのデータを入力する（射影規則入力ステップＳ９２０）。
【０１８４】
続いて、データ入力部７００において、異常があるか否かを検出する処理の対象となる検査画像データを入力する（データ入力ステップＳ９００）。ここで入力する検査画像データは、検査対象である、表面粗し加工を施したゴム板の表面を撮影した画像である。本実施形態では、この検査画像データは、正常パターンモデル化モードにおいて用いた正常画像データと同様の、１０２４×７６８画素のグレースケール画像である。
【０１８５】
続いて、特徴抽出処理を実行する（図９のステップＳ９０２）。特徴抽出処理部７０２において、データ入力部７００で入力した検査画像データから、まず４８個の、１２８×１２８画素の検査パターンを切り出す。正常パターンモデル化モードでは、１０２４×７６８画素の画像から、とり得る全ての１２８×１２８画素のパターンを切り出したが、異常パターン検出モードでは、切り出す領域をオーバーラップさせずに切り出す。そのため、長さが１０２４画素の方向では、１０２４／１２８＝８個分、７６８画素の方向では、７６８／１２８＝６個分で、計８×６＝４８個のパターンが切り出されることになる。
【０１８６】
そして次に、その４８個のパターンそれぞれに対して、階層的に離散Ｗａｖｅｌｅｔ変換を行い、その変換結果に基づいて、Ｗａｖｅｌｅｔ特徴ベクトルを生成する。この階層的な離散Ｗａｖｅｌｅｔ変換と、その結果に基づいた、Ｗａｖｅｌｅｔ変換ベクトルの生成方法は、正常パターンモデル化モードでの、特徴抽出処理ステップＳ８０２における処理とまったく同等の処理であるので説明を省略する。
【０１８７】
そして、生成された４８個のＷａｖｅｌｅｔ変換ベクトルそれぞれに対して、射影規則入力ステップＳ９２０において入力した、特徴量正規化のための標準偏差データ群を用いて、特徴量の正規化を行う。ここでは、正常パターンモデル化モードの特徴量正規化ステップＳ１０００において行った正規化と同等な正規化を、入力した特徴量正規化のための標準偏差データ群を用いて行う。この処理により、４８個の、正規化後のＷａｖｅｌｅｔ特徴ベクトルが得られることになる。ここまでの処理は、図９の特徴抽出処理ステップＳ９０２に対応する。
【０１８８】
次に、ステップＳ９０２で生成された４８個の正規化後のＷａｖｅｌｅｔ特徴ベクトルのそれぞれを、正常パターンモデル化モードにおいて求めた高次特徴空間の線形射影空間に射影した時の投影距離を求める（ステップＳ９２１）。この処理は射影結果算出部７２１において実行される。なお、実際にはステップＳ９２１において投影距離の２乗を求めるようにしてもよい。
【０１８９】
この高次特徴空間の線形射影空間は、上述のように、正常パターンの全体が表現されるＭａｎｉｆｏｌｄ上の配置関係を、できるだけ保存するような空間である。各正規化後のＷａｖｅｌｅｔ特徴ベクトルを、この空間に射影した際の投影距離は、（数８）を用いて求める。この（数８）内の、中心データやカーネル関数値結合荷重ベクトル群等は、ステップＳ９２０において入力した、正常パターンの中心データ、カーネル関数値結合荷重ベクトル群、及び、特徴量正規化後のＷａｖｅｌｅｔ特徴ベクトル群を用いることになる。そして、４８個の正規化後のＷａｖｅｌｅｔ特徴ベクトルを射影した時の投影距離の内、最大の投影距離を求める。
【０１９０】
そして、検出結果判定を行う（図９のステップＳ９２３）。検出結果判定部７２３において、ステップＳ９２１において求めた最大の投影距離と、ステップＳ９２０において入力した正常であるか否かを判定する距離の閾値との比較を行う。この比較において、最大の投影距離が入力した閾値以上であるならば、データ入力部７００において入力した検査画像データ内に異常があると判定する。逆に、最大投影距離が入力した閾値以下であるならば、検査画像データ内に異常は存在しないと判定することになる。
【０１９１】
最後に、検出結果出力ステップＳ９２４で、検出結果出力部７２４において、データ入力部７００において入力した検査画像データ内に、異常が検出されたか否かを外部に出力する。つまり、検出結果判定ステップＳ９２３において、最大の投影距離が、入力した閾値以上であったならば、異常を検出したと出力し、閾値以下であったなら、異常は検出されなかったと出力する。
【０１９２】
以上の処理により、異常パターン検出モードでの処理である、異常があるか否かを検出する処理の対象となる検査画像データ内から、その検査画像内に異常があった場合に、その異常を検出する処理が可能になる。
【０１９３】
上記の正常パターンモデル化モード、及び、異常パターン検出モードの処理により、まず、複数の正常パターンを用いて、高次特徴空間内の線形射影空間として、正常パターンのモデル化を行うことが可能となる。そして、未知のパターンを入力した時に、それと正常パターンのモデルとの乖離度を、高次特徴空間内の線形射影空間への投影距離を基準として判断し、異常なパターンである場合に、それを検出することが可能になる。
【０１９４】
上記のように、本実施形態に係る異常パターン検出の構成では、まず、正常パターンのデータ集合の全体が表現されるＭａｎｉｆｏｌｄの構造を近似する高次特徴空間内の超平面を求める。このため、このＭａｎｉｆｏｌｄ上の配置関係を近似、具体的には、第２実施形態と同様に、測地線距離関係を近似する射影規則を求める。そして、射影規則により定義される高次特徴空間における線形射影空間、即ち、高次特徴空間内の縮退した超平面と、識別する対象である入力された新たなデータの、高次特徴空間における像との距離（投影距離）を求める。この超平面との距離は、この超平面上に分布するデータ集合に対する乖離度とみなすことができる。そのため、正常パターンを用いて求めた超平面への距離が、所定値以上であるかどうかを判定することにより、入力されたデータが、正常パターンの範囲内であるのか、異常であるかを判定することが可能となる。
【０１９５】
なお、本実施の形態では、製造物の表面上の欠陥を、製造物の表面の撮影画像を用いて検出する例を説明したが、このような製造物の欠陥の検出のみに限るものではなく、例えば、監視カメラ画像からの異常・不審人物の検出等にも適用可能である。このような場合、監視カメラの動画像から、例えば、オプティカルフローを用いて動きベクトルを抽出する等して、それらの情報を入力パターンとして用いればよい。また、画像を利用するようなものに限らず、例えば、何らかの装置の動作状態監視において、装置の発熱量や振動、動作音等、複数のセンサ情報を利用し、その装置の動作異常検出するような場合にも適用可能である。また、本実施形態では、正常なパターンを単一のクラスとして扱うようにしたが、これに限るものではない。例えば、正常なパターンを、ｋ平均法等で幾つかのクラスに分離しておき、それぞれのクラスを正常のクラスとみなし、このそれぞれに対して、同様の手法を適用するようにしても構わない。
【０１９６】
以上のように、本実施形態では、正常であるとラベル付けされたデータ集合を用いて、第２実施形態と同様の射影規則を生成し、その射影規則を用いて、新たに入力されたパターンが、正常であるのか異常であるのかを検出する構成を説明した。
【０１９７】
＜＜その他の実施形態＞＞
上述の構成例では、各クラスのデータ、もしくは正常なデータの全体が表現されるＭａｎｉｆｏｌｄの構造を近似的に保存するための評価基準として、非特許文献６のＩｓｏｍａｐと同様に、データ間の測地線距離を保存するという評価基準を用いた。しかし、これに限るものではなく、例えば、非特許文献７のＬＬＥのように、近傍データとの、線形埋め込み関係を保存するという評価基準を用いるようにしてもよい。また、下記の非特許文献１０のＬａｐｌａｃｉａｎ  Ｅｉｇｅｎｍａｐｓや、非特許文献１１のＬｏｃａｌｉｔｙ  Ｐｒｅｓｅｒｖｉｎｇ  Ｐｒｏｊｅｃｔｉｏｎｓのように、近傍であるデータ間の距離関係を保存するというような評価基準を用いても構わない。
【非特許文献１０】Mikhail Belkin, Partha Niyogi, “Laplacian Eigenmaps and Spectral Techniques for Embedding and Clustering”, Advances in Neural Information Processing Systems 14. MIT Press, Cambridge, MA 2002.
【非特許文献１１】Xiaofei He, Partha Niyogi, “Locality Preserving Projections”, Advances in Neural Information Processing Systems 16. MIT Press, Cambridge, MA, 2004.  また、上記の実施形態に係るパターン識別方法は、下記の非特許文献１２の相互部分空間法や、非特許文献３の核非線形相互部分空間法等のような、相互空間比較の手法へも拡張も可能である。具体的には、まず、識別モードでの処理においても、登録モードでの処理と同様に、１つのクラスに属する多数のデータを入力し、そのデータに基づいて、登録モードでの処理と同様の基準で、入力した多数のデータにおける射影規則を生成する。そして、この生成した射影規則と、予め生成しておいた、各クラスの射影規則を比較することにより、複数の入力データ集合が、何れのクラスに類似しているかを識別する。この時の類似度としては、各射影規則により決まる射影空間同士の正準角を用いるようにすればよい。また、非特許文献１３の制約相互部分空間法等のように、照明変動等の変動成分が、ほぼ含まれないとみなせる射影空間に、各上射影空間を射影し、それを比較することで、何れのクラスに類似しているかを識別するような手法へ拡張することもできる。
【非特許文献１２】前田 賢一, 渡辺 貞一, “局所的構造を導入したパターン・マッチング法”, 電子情報通信学会論文誌 D, Vol. J68-D No.3, pp. 345-352, March 1985.
【非特許文献１３】福井 和広, 山口 修, 鈴木 薫, 前田 賢一, “制約相互部分空間法を用いた環境変動にロバストな顔画像認識”, 電子情報通信学会論文誌 D-II, Vol. J82-D-II No.4, pp. 613-620, April 1999.  更に、上記説明した、第１実施形態、及び第２実施形態の、パターン識別の例では、人物の顔を切り出したグレースケール画像を入力データとして用いた。また、第３実施形態の、異常パターン検出では、表面粗し加工を施した金属板の表面画像を入力データとした。しかし、これに限るものではなく、その他のカテゴリの画像データや、音声データ、また、それらのデータから何らかの特徴抽出を行ったデータに対しても適用可能であることは明らかである。また、例えばＷｅｂコンテンツ等の一般的なデータであっても、各データの距離、及び、いくつかのパラメータによって定まる、そのデータに対する多次元空間への写像が定義できれば、上述の手法を適用することができる。この場合、（数１）、（数４）、または（数６）に示したような誤差関数を用い、写像を決めるパラメータを、それぞれに示した拘束条件の元で、この誤差関数が最小になるように定めてやればよい。
【０１９８】
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１９９】
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０２００】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
【０２０１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０２０２】
プログラムを供給するための記録媒体としては、例えば、次のものが含まれる。即ち、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）等が含まれる。
【０２０３】
その他、プログラムの供給形態としては、次のようなものも考えられる。即ち、クライアント装置のブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明に係るコンピュータプログラム、或いは、圧縮され自動インストール機能を含むファイルをＨＤ等の記録媒体にダウンロードする形態も考えられる。また、本発明に係るプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０２０４】
また、次のような供給形態も考えられる。即ち、まず、本発明に係るプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報の使用により暗号化されたプログラムを実行してコンピュータにインストールさせて本発明に係る構成を実現する。このような供給形態も可能である。
【０２０５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、次のような実現形態も想定される。即ち、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０２０６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づいても前述した実施形態の機能が実現される。即ち、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０２０７】
【図１】パターン識別装置の機能構成を示したブロック図である。
【図２】登録モードの処理の手順を示すフローチャートである。
【図３】識別モードの処理の手順を示すフローチャートである。
【図４】射影規則生成部が実行する射影規則生成処理の手順を示すフローチャートである。
【図５】射影規則生成部が実行する射影規則生成処理の手順を示すフローチャートである。
【図６】処理対象となるパターンの例を示す図である。
【図７】異常パターン検出装置の機能構成を示すブロック図である。
【図８】正常パターンモデル化モードでの処理の手順を示すフローチャートである。
【図９】異常パターン検出モードでの処理の手順を示すフローチャートである。
【図１０】射影規則生成部での処理の手順を示すフローチャートである。
【図１１】カーネル関数を変更させながら、カーネル関数値結合荷重ベクトル群を求める処理の手順を示すフローチャートである。
【図１２】パターン識別装置のハードウェア構成を模式的に示したブロック図である。
【図１】
2008282391.tif 000013
【図２】
2008282391.tif 000014
【図３】
2008282391.tif 000015
【図４】
2008282391.tif 000016
【図５】
2008282391.tif 000017
【図７】
2008282391.tif 000018
【図８】
2008282391.tif 000019
【図９】
2008282391.tif 000020
【図１０】
2008282391.tif 000021
【図１１】
2008282391.tif 000022
【図１２】
2008282391.tif 000023
【図６】
2008282391.tif 000024