JP5072693B2 - パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体 - Google Patents

パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体 Download PDF

Info

Publication number
JP5072693B2
JP5072693B2 JP2008101833A JP2008101833A JP5072693B2 JP 5072693 B2 JP5072693 B2 JP 5072693B2 JP 2008101833 A JP2008101833 A JP 2008101833A JP 2008101833 A JP2008101833 A JP 2008101833A JP 5072693 B2 JP5072693 B2 JP 5072693B2
Authority
JP
Japan
Prior art keywords
data
projection
class
pattern
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008101833A
Other languages
English (en)
Other versions
JP2008282391A (ja
Inventor
裕輔 御手洗
優和 真継
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008101833A priority Critical patent/JP5072693B2/ja
Publication of JP2008282391A publication Critical patent/JP2008282391A/ja
Application granted granted Critical
Publication of JP5072693B2 publication Critical patent/JP5072693B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2137Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps
    • G06F18/21375Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps involving differential geometry, e.g. embedding of pattern manifold

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Description

本発明は、パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体に関する。特に、本発明は、識別すべきパターンに対する、データ取得環境の差異や、データ取得時に付加されるノイズに起因する、種々のパターンの変動に対してロバストなパターン識別技術及び異常パターン検出技術に関する。
入力されたデータが、予め定義された複数のクラスのいずれに属するかを識別する、いわゆるパターン識別技術が知られている。そして、データ取得環境の差異や、データ取得時に付加されるノイズ等に起因する、入力パターンの種々の変動にロバストなパターン識別技術として、様々な手法が提案されている。
非特許文献1には部分空間法が開示されており、非特許文献2には当該部分空間法を改良したカーネル非線形部分空間法が開示されている。非特許文献3には核非線形相互部分空間法が開示されている。これらの手法では、まず、主成分分析、若しくは、非特許文献4に記載のカーネル非線形主成分分析を用い、各クラスのデータ集合が収まる部分空間を求める。そして、その部分空間と、入力データ、若しくは、入力データから同様に求めた部分空間を比較することにより、入力パターンが何れのクラスに属するのかの識別を行う。
また、非特許文献5に開示された手法では、まず、各クラスのデータそれぞれの内、入力された識別対象データの近傍データのみを用い、クラスごとの線形の部分空間を構築し、それらの部分空間への、入力された識別対象データの投影距離を求める。そして、それらの投影距離を各クラス間で比較することにより、識別対象データが何れのクラスに属するかの識別を行う。このような、近傍の局所的なデータのみを扱うという手法により、データの分布が非線形であることによる悪影響を低減させることができる。
一方、近年、非特許文献6のIsomapや、非特許文献7のLocally Linear Embedding(LLE)に代表される、非線形の次元圧縮手法が提案されている。これらは、高次元空間内で、一般に多様体(Manifold)と呼ばれる、より低次元の超曲面上にあると考えられるデータを、Manifold固有の表面形状が、許容できる程度に保存された、新たな低次元の空間に写像する手法を提供する。
上記の手法は、より低次元の空間でデータを表現できるという意味で、高効率なパターン表現には成功している。しかし、データが何れのクラスに属するかという情報は用いておらず、パターンの分類という点では、最適であるとは言えない。
これに対し、特許文献1には、カーネルフィッシャー線形識別関数、またはフィッシャー線形判別関数を用いて、従来のIsomap法を拡張することにより、パターン分類のための画像を表す構成が開示されている。また、非特許文献8においては、従来のIsomap法の改良として、他クラスに属するデータ間の測地線距離を、強制的に増加させることにより、クラス間の分離度を高める写像を構築する手法が開示されている。
特表2005−535017号広報 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.
しかし、上記従来の構成においては、パターン認識対象の位置や向き・照明条件等の変動を含む、入力データにおける種々の変動に応じて原特徴空間において複雑な分布を持つような、単純にモデル化できないパターンを識別することが困難だった。このため、入力されたデータの種々の変動に対して、ロバスト性を高めることが要求されている。
このことについて、簡単に説明する。例えば、縦横20×20画素の、人物の顔を切り出したグレースケール画像を入力し、それが何れの人物の顔画像であるかを識別する状況を想定する。この場合、縦横20×20のグレースケール画像は、各画素値をラスタスキャン的に要素として並べた、20×20=400次元のベクトルと見なせる。このとき、1つのパターンは、400次元空間内の1つの点となる。一般に、例えば“A氏の顔”といった特定のクラスであるパターンの集合は、400次元の空間に比べてより低次元の、一般的に多様体と呼ばれる超曲面(Manifold)を形成する。つまり、“A氏の顔”を表現するには400次元は冗長であり、より低い次元の空間で表現可能である。
非特許文献1の部分空間法では、このような、あるクラスのデータ集合は、より低次元の空間で表現することができるという特性を利用して、入力されたデータが何れのクラスに属するかのパターンの識別を行う。部分空間法では、まず、各クラスのデータ集合それぞれに対し、主成分分析(PCA:Principal Component Analysis)を適用し、各クラスのデータ集合を表現する低次元の部分空間を予め求めておく。そして、入力されたデータが、この部分空間において、どのように表現できるかを利用して、パターンの識別を行う。具体的には、入力されたデータの、各部分空間への射影長や投影距離を比較することにより、入力されたデータが、何れのクラスに属するのか(若しくは、属さないのか)を識別する。しかし、人間の顔のように、例えば、顔の向きの変動等、本質的に非線形な変動を含むパターンの集合に対して、パターン分布が正規分布であることを仮定しているPCAでは、必ずしも充分な低次元表現を得られるとは言えない。
これに対し、非特許文献2で開示されているカーネル非線形部分空間法では、部分空間法におけるPCAを、非特許文献4のカーネル非線形主成分分析に置き換え、データ集合の非線形な分布にも対応可能にしている。なお、カーネル非線形主成分分析は、KPCA(:Kernel PCA)と一般に称される。しかし、KPCAを適用した場合でも、あるクラスのデータ集合が形成するManifoldの構造を近似するような低次元表現が得られるとは限らない。
上記の他の文献に記載された構成においても、入力されたデータの種々の変動に対するロバスト性をさらに向上させることが求められている。
本発明は上記課題に鑑みなされたものであり、入力データの変動に対するロバスト性がさらに向上されたパターン認識技術を提供することを目的とする。また、このパターン認識技術を利用した異常パターン検出技術を提供することを目的とする。
上記目的を達成するため、本発明によるパターン識別装置は以下の構成を備える。即ち、
パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置であって、
前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を、当該多様体の上でのデータ間の測地線距離と当該超平面における対応するデータ間の距離とが所定の距離条件を満たすように生成する生成手段と、
識別対象データを入力する入力手段と、
前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出手段と、
前記算出手段において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別手段と、
を備える。
また、本発明による異常パターン検出装置は以下の構成を備える。即ち、
特徴空間において予め定義されたクラスに対応する多様体を近似する超平面への射影規則を、当該多様体の上でのデータ間の測地線距離と当該超平面における対応するデータ間の距離とが所定の距離条件を満たすように生成する生成手段と、
処理対象データを入力する入力手段と、
前記入力された処理対象データを、前記射影規則に基づいて、前記クラスに対応する多様体を近似する超平面へ射影した射影結果を算出する算出手段と、
前記算出手段において算出された前記射影結果に基づいて、前記処理対象データが異常であるか否かを検出する検出手段と、
を備える。
また、本発明によるパターン識別装置の制御方法は以下の構成を備える。即ち、
パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置の制御方法であって、
生成手段が、前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を、当該多様体の上でのデータ間の測地線距離と当該超平面における対応するデータ間の距離とが所定の距離条件を満たすように生成する生成工程と、
入力手段が、識別対象データを入力する入力工程と、
算出手段が、前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出工程と、
識別手段が、前記算出工程において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別工程と、
を備える。
また、本発明による異常パターン検出装置の制御方法は以下の構成を備える。即ち、
生成手段が、特徴空間において予め定義されたクラスに対応する多様体を近似する超平面への射影規則を、当該多様体の上でのデータ間の測地線距離と当該超平面における対応するデータ間の距離とが所定の距離条件を満たすように生成する生成工程と、
入力手段が、処理対象データを入力する入力工程と、
算出手段が、前記入力された処理対象データを、前記射影規則に基づいて、前記クラスに対応する多様体を近似する超平面へ射影した射影結果を算出する算出工程と、
検出手段が、前記算出工程において算出された前記射影結果に基づいて、前記処理対象データが異常であるか否かを検出する検出工程と、
を備える。
本発明によれば、入力データの変動に対するロバスト性がさらに向上されたパターン認識技術を提供することができる。また、このパターン認識技術を利用した異常パターン検出技術を提供することができる。
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。また、本実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
<<第1実施形態>>
本実施形態では、一例として縦横20×20画素の、人物の顔を切り出したグレースケール画像を入力し、それが何れの人物の顔画像であるかを識別する構成例について説明する。ただし、本実施形態に係る構成を適用することのできる画像のサイズは、これに限られない。
前述のように、縦横20×20のグレースケール画像は、20×20=400次元のベクトルと見なせ、この場合、1つのパターンは、400次元空間内の1つの点となる。そして、特定のクラスであるパターンの集合は、400次元の空間に比べてより低次元の超曲面(Manifold、多様体)を形成する。従って、“A氏の顔”といった特定のクラスであるパターンの集合は、400次元よりも低い次元の空間で表現可能である。
一般に、Manifoldの構造を近似するような低次元表現は、原特徴空間におけるパターンの分布を近似する、原特徴空間内の、縮退した超平面、若しくは超曲面を表現している。そこで本実施形態では、あるクラスのデータ集合が形成するManifoldの構造を近似するような低次元表現を用いる。そして、入力されたデータが、この低次元表現において、どのように表現できるかに基づいて、入力されたデータのパターンの識別を行う構成について説明する。
(パターン識別装置のハードウェア構成)
次に、本実施形態に係るパターン識別装置のハードウェア構成について、図12を参照して説明する。図12は、本実施形態に係るパターン識別装置のハードウェア構成を模式的に示したブロック図である。尚、本実施形態に係るパターン識別装置は、例えば、パーソナルコンピュータ(PC)やワークステーション(WS)、携帯情報端末(PDA)等で実現される。
図12において、990はCPUである。CPU990は、後述するハードディスク装置995に格納されているアプリケーションプログラム、オペレーティングシステム(OS)や制御プログラム等を実行し、RAM992にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
991はROMであり、内部には基本I/Oプログラム等のプログラム、基本処理において使用するフォントデータ、テンプレート用データ等の各種データを記憶する。992は各種データを一時記憶するためのRAMであり、CPU990の主メモリ、ワークエリア等として機能する。
993は記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア(記録媒体)994に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア994には、例えば、フレキシブルディスク(FD)、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等が含まれる。
995は外部記憶装置であり、本実施形態では大容量メモリとして機能するハードディスク装置(以下、HDと呼ぶ)を用いている。HD995には、アプリケーションプログラム、OS、制御プログラム、関連プログラム等が格納される。
996は指示入力装置であり、キーボードやポインティングデバイス(マウス等)、タッチパネル等がこれに相当する。指示入力装置996を用いて、ユーザは、本実施形態に係るパターン識別装置に対して、装置を制御するコマンド等を入力指示する。
997はディスプレイであり、指示入力装置996から入力されたコマンドや、それに対するパターン識別装置の応答出力等を表示したりするものである。
999はシステムバスであり、パターン識別装置内のデータの流れを司るものである。998はインターフェイス(以下、I/Fという)であり、このI/F998を介して外部装置とのデータのやり取りを行う。
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
本実施形態では、メディア994から本実施形態に係るプログラム及び関連データを直接RAM992にロードして実行させる例を想定するが、これに限られない。例えば、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているHD995からRAM992にロードするようにしてもよい。また、本実施形態に係るプログラムをROM991に記録しておき、これをメモリマップの一部をなすように構成し、直接CPU990で実行することも可能である。
また、本実施形態では、説明の便宜のため、本実施形態に係るパターン識別装置を1つの装置で実現した構成について述べるが、複数の装置にリソースを分散した構成によって実現してもよい。例えば、記憶や演算のリソースを複数の装置に分散した形に構成してもよい。或いは、パターン識別装置上で仮想的に実現される構成要素毎にリソースを分散し、並列処理を行うようにしてもよい。
(パターン識別装置の機能構成)
次に、上記のパターン識別装置がパターン識別処理を実行するための機能構成について、図1を参照して説明する。図1は、本実施形態に係るパターン識別装置の機能構成を示したブロック図である。
図1に示される各機能ブロックは、図12を参照して上述したパターン識別装置のCPU990がRAM992にロードされたプログラムを実行し、図12に示される各ハードウェアと協働することによって実現される。もちろん機能ブロックの一部或いは全てが専用のハードウェアで実現されてもよい。
図1のように、本実施形態におけるパターン識別装置は、登録モードの処理ブロック11、及び、識別モードの処理ブロック12を有する。登録モードでの処理は、複数の登録対象である人物の顔画像データを入力し、各人物それぞれの、Manifoldの構造を近似する低次元表現空間への射影規則を生成する処理に対応する。一方、識別モードでの処理は、識別対象である人物の顔画像データを入力し、登録モードで生成した各人それぞれの射影規則を用いて、それが何れの人物の顔画像であるのかを識別する処理に対応する。
本実施形態では、予め、登録モードでの処理において、所望の登録する人物の顔画像を複数入力し、各人物ごとのManifoldの構造を近似する低次元表現空間への射影規則として、各人物に対応した正規直交基底の組を、後述の手法を用い生成しておく。そして、識別モードでの処理において、誰であるのか不明な人物の顔画像を入力し、それが登録モードでの処理において登録された何れの人物の顔画像であるか、若しくは、何れにも該当しないのかを、予め生成した各人に対応する射影規則を用いて識別する。図1に示したように、データ入力部100、射影規則保持部101は、両モードにおいて共通の部分である。本実施形態における、登録モードにおける処理のフローチャートを図2に、識別モードにおける処理のフローチャートを図3に示す。
以下、まず、図1における、登録モードの処理ブロック11の部分、及び図2を用いて、本実施形態の登録モードにおける処理(登録処理)について説明する。その後、図1の、識別モードの処理ブロック12の部分、及び図3を用いて、識別モードにおける処理(識別処理)について説明する。
(登録処理)
図1において、データ入力部100は、人物の顔画像データを入力する処理部である。入力するデータは、上述の通り、20×20画素のグレースケール画像である。ここで、この入力データの、20×20画素の各画素値を、ラスタスキャン的に並べた400次元のベクトルをxとする。
登録モード処理ブロックによる処理の概要について、図2を参照して説明する。図2は、登録モードの処理手順を示すフローチャートである。なお、この処理は、例えば、CPU990がRAM992からプログラムを読み出し、パターン識別装置を制御することにより実行される。
まず、ステップS200において、登録対象の画像データを入力する。ステップS200では、データ入力部100において、所望の登録人物の顔画像を複数入力し、それらを射影規則生成用データ保持部110に保持しておく。ここで、登録する人物の数をm(m≧1)とし、各人物に1からmまでのラベルを付与する。そして、入力された、ラベルがc(1≦c≦m)である人物の顔画像の枚数をNc枚(Nc≧2)とする。この時、ラベルがcである人物の顔画像の、i番目(1≦i≦Nc)の入力データである400次元のベクトルを、xc iとする。また、ラベルがcである人物の顔画像の集合を、以下ではクラスcと呼ぶ。
続いて、登録モードでは、射影規則生成部111において、射影規則生成用データ保持部110に保持された入力データを用い、各クラスの射影規則を生成し(ステップS210)する。そして、それらを、射影規則保持部101に記録する(ステップS201)処理を行う。ここで生成する射影規則は、各クラスのデータが拘束される(クラスのデータパターンの全体が表現される)Manifoldの構造を近似的に保存するような、原特徴空間内の縮退した空間への射影規則である。詳細な処理については後述するが、本実施形態では、まず各クラスのデータの、Manifold上の構造を近似的に保存するため、測地線距離がユークリッド距離として近似されるような、400次元空間内の、低次元の超平面を求める。そして、この超平面を張る正規直交基底を求め、この正規直交基底を用いて射影する規則が、ここで生成する射影規則である。そこで、ここで求めた正規直交基底を、射影規則保持部101に記録しておく。ステップS210の処理の詳細は後述する。これらの処理を完了すると、登録モードの処理は終了となる。
(射影規則生成処理)
図4は、射影規則生成部111が実行する射影規則生成処理の手順を示すフローチャートである。以下、図4を用いて、射影規則生成部111における処理の詳細について説明する。なお、この処理は、例えば、CPU990がRAM992からプログラムを読み出し、パターン識別装置を制御することにより実行される。
射影規則生成部111では、まず、登録する人物(クラス)の内、1つのクラスを順次選択する(クラス選択ステップS40)。選択の順は任意で構わないので、本実施形態では、クラス1からクラスmまでのクラスを順に選択していく。ここで選択されたクラスをcとする。
次いで、距離関係算出ステップS41において、データ入力部100において入力され、射影規則生成用データ保持部110に保持されたデータの内、クラスcのデータを全て用い、これらのデータ全ての組み合わせに対し、データ間の距離を算出する。つまり、クラスcのNc個のデータの内、i番目のデータxc iと、j番目のデータxc jのユークリッド距離dc x(i、j)を、全組み合わせについて算出する。同一データの組み合わせ、つまり、i=jの時(当然、dc x(i、j)=0)も考えると、(Nc)2個のユークリッド距離dc x(i、j)を求めることになる。ただし、任意のi、jにおいて、dc x(i、i)=0であり、また、dc x(i、j)=dc x(j、i)である。このため、実際にも算出する距離は、Nc(Nc−1)/2個でよい。この射影規則生成部111における処理では、クラス選択ステップS40において1つのクラスが選択された後は、再びクラス選択ステップS40に戻り新たに他のクラスが選択されるまで、他のクラスのデータは用いない。そこで以降の説明では、簡単のため、データは全てクラスcのデータであるとし、データ数Ncや、データxc i、距離dc x(i、j)の添え字cを省略する。即ち、単純に、N、xi、dx(i、j)と表記する。
なお、本実施形態では、この距離関係算出ステップS41において、ユークリッド距離を用いるが、これに限るものではない。例えばマンハッタン距離等のミンコフスキー距離や、マハラノビス距離といった統計的な距離等、対称性や、非負性といった、一般的な距離の公理を満たすものであれば、その他の指標を用いても構わない。
続いて、グラフ距離関係算出ステップS42において、クラスcのN個のデータの内、i番目のデータxiと、j番目のデータxjのグラフ距離dG(i、j)を、全組み合わせについて算出する。そして算出されたグラフ距離dG(i、j)から、グラフ距離関係行列DGを求める。ただし、dG(i、j)は、i番目のデータxiと、j番目のデータxjのグラフ距離である。また、グラフ距離とは、例えば、次のように定義される距離である。
・i番目のデータxiと、j番目のデータxjの2点が近傍にある(近接する)場合は、dG(i、j)=dx(i、j)。
・i番目のデータxiと、j番目のデータxjの2点が近傍にない(近接しない)場合は、dG(i、j)=∞。
現実的な演算においては、∞という数値は利用できないので、∞の代わりに、任意のi、jにおけるユークリッド距離dx(i、j)の最大値に比べ、充分に大きい定数を利用すればよい。グラフ距離関係行列DGは、i行j列の成分がdG(i、j)となる行列であり、データ数がN個であるため、N次正方行列となる。また、成分であるグラフ距離dG(i、j)は、dG(i、j)=dG(j、i)である。従って、グラフ距離関係行列DGは対称行列となり、且つdG(i、i)=0なので、対角成分は全て0となる。
2点が近傍であるか否かは、本実施形態では、それぞれのデータ自身から、距離関係算出ステップS41において求めた距離が近いものから順に、自身を除いたk個(k≧1)のデータ(自身を含めると、k+1個のデータ)を近傍であると判定する。そして、ある2点のデータで、どちらの点から見ても近傍であると判定されなかった場合、その2点は近傍ではないと判定する。このように本実施形態では、自身以外で、距離の近い順にk個のデータを近傍としているが、例えば、距離が予め定められた正の値ε以内である関係のデータを近傍とするようにしても良い。この場合εは、全データそれぞれにおいて、少なくとも、自身を除く1つのデータが近傍とみなされる程度に大きい値にする必要がある。しかしεが大きすぎると、本来近傍とみなすべきでないデータまでが、近傍とされてしまうため、あまり大きな値にすることは好ましくない。データの数等にも依存するが、通常このεは、数個程度のデータが近傍とみなされる程度の大きさにしておくと良い。
次に、測地線距離関係算出ステップS43において、グラフ距離関係算出ステップS42で求めたグラフ距離関係行列DGに基づいて、測地線距離関係行列DMを求める。ステップS43では、グラフ距離関係行列DGにFloyd−Warshall法を適用し、クラスcのN個のデータの内、任意の2点間の、測地線距離dM(i、j)を、全組み合わせについて算出する。そして、算出された測地線距離dM(i、j)から、測地線距離関係行列DMを求める。
ここで、dM(i、j)は、i番目のデータxiと、j番目のデータxjの測地線距離である。また、測地線距離とは、データ集合の全体が表現されるManifoldに沿った、Manifold上の、任意の2点のデータを結ぶ最短距離であり、ここではそれを近似的に求める。測地線距離関係行列DMは、i行j列の成分が、dM(i、j)の行列であり、グラフ距離関係行列DGと同様に、N次正方の対角成分が0である対称行列となる。
ここでは、Floyd−Warshall法により、i番目のデータxiと、j番目のデータxjの、2点間の測地線距離dM(i、j)は、次の式で計算される。
M(i、j)=min{dG(i、j)、dG(i、k)+dG(k、j)}、k≠i、j。
なお、測地線距離は、Floyd−Warshall法以外の手法を用いて算出してもよい。
次に、線形写像行列算出ステップS44において、データ入力部100において入力されたデータの次元(本実施形態では400次元)から、h次元(h<400。実際のhの値については後述する)の空間への線形写像行列Acを算出する。この線形写像行列Acは、クラスcのデータの全体が表現されるManifoldの構造を近似的に保存する空間への写像行列である。ここでは、この線形写像行列Acが、cに関するものであることを明確にするために、添え字cを付けて記載したが、以降では、同様に簡略のため、この添え字cは省略して表記する。
ところで、この線形写像行列Aは、本実施形態では、400次元からh次元への線形写像であるので、400×hの行列となる。また、この線形写像行列Aのh個の列ベクトルが、h個の400次元のベクトルからなる正規直交基底であるという拘束条件を満たすとする。つまり、ATA=Iという条件を満たす。ここで、ATは、Aの転置行列であり、Iはh次元単位行列である。線形写像行列Aにより、400次元のベクトルxを線形写像したベクトルzは、z=ATxと表せ、これはh次元のベクトルとなる。この線形写像行列算出ステップS44では、前述のように、写像後の空間において、写像前の空間におけるクラスcのデータの、Manifold上の配置関係を近似するような線形写像行列Aを求める。具体的には、クラスcの、任意のi、j番目のデータxi、xjを、この線形写像行列Aにより写像した、写像後ベクトルzi、zj間のユークリッド距離が、先に求めた、測地線距離dM(i、j)を近似するような線形写像行列Aを算出する。ただし、zi=ATi、zj=ATjである。そこで、本実施形態では、(数1)に示す誤差関数J(A)のATA=Iという拘束条件の元での最小化問題として、この線形写像行列Aを求める。
このような、ATA=Iという拘束条件もとで、誤差関数J(A)を最小化するAを求めることは、400×h次元空間内の、拘束条件ATA=Iにより決まる代数Manifold上で、誤差関数J(A)の最小値を探索することに相当する。
そこで、本実施形態では、特開2003−30172号公報に開示された手法を用いて、これを最小化する線形写像行列Aを求める場合を例示的に想定する。ただし、これに限るものではなく、例えば、このような拘束条件付きの最適化問題において、一般的に用いられる、ラグランジュの未定乗数法を用いることができる。或いは、例えば、次の非特許文献9に開示されたEdelmanらのアルゴリズム等を用いて、この線形写像行列Aを求めるようにしてもよい。
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. 上記手法を用いることにより、拘束条件付きの誤差関数J(A)の最小化問題として、線形写像行列Aを求めることが可能である。しかし、ここまでは、この線形写像行列Aの列数をhとして一般化していたが、このhの値を定める必要がある。一般に、このhが大きい方が、近似性能が高い、即ち、誤差関数J(A)の値を小さくすることができる。しかし、本実施形態においては、後に説明する識別性能向上等の観点から、余りに大きいhは好適ではない。そこで本実施形態では、様々な値のhにおいて上記手法を用いAを求め、その中で所定の条件を満たすものの内、hが最も小さい値であるAを選択するようにする。具体的には、まずhの値の初期値を1とし、Aを求めるごとにhの値を1ずつ増加させる。そして、各hの値で求めたAにおいて、次の(数2)に示す条件を満たすかどうかを検証する。
(数2)は、写像後の空間における任意の3点の距離関係が、少なくとも測地線距離関係の順序を満たすか否かの条件を意味する。このように、hを1つずつ増加させて上記手法により線形写像行列Aを求め、上記(数2)の関係を満たすAが求められた場合、そこで演算を終了し、最後に得られた行列Aを、この線形写像行列算出ステップS44において求めるべき線形写像行列とする。本実施形態では、上記(数1)のような誤差関数を定義して、それを最小化する線形写像行列Aを、拘束条件で与えられる代数Manifold上での最小値探索問題として求めた。しかし、これに限るものではなく、測地線距離関係をできるだけ保存するような、上記拘束条件を満たす線形写像行列を求めるのであれば、他の手法を用いることができる。例えば、その他の誤差関数を利用したり、前述のように、ラグランジュの未定乗数法等を用いて線形写像行列Aを求めたりしても構わない。
次に、正規直交基底記録ステップS45で、線形写像行列算出ステップS44において求めた線形写像行列Aのh個の列ベクトルを、クラスcに関する正規直交基底として、クラスcのラベルと共に、図1の射影規則保持部101に記録して保持する。線形写像行列Aは、線形写像行列算出ステップS44での処理の説明において述べたように、ATA=Iという拘束条件を満足する。そのため、この線形写像行列Aのh個の列ベクトルは、この線形写像行列Aによって写像される空間の正規直交基底である。線形写像行列算出ステップS44で求めた線形写像行列Aは、クラスcのデータの全体が表現されるManifoldの構造を近似する空間への線形写像である。そこで、クラスcのデータの全体が表現されるManifoldの構造を近似する空間への射影規則として、この正規直交基底を用いる。ここで、クラスcに関して求めた線形写像行列Aの列数がhcであるならば、hc個の正規直交基底がある。このため、これらの正規直交基底を{uc k}(k=1、2、・・・、hc)と表し、これを射影規則保持部101に記録して保持しておく。
上記のクラス選択ステップS40から、正規直交基底記録ステップS45までの処理を、登録する全てのクラスについて繰り返す(全クラス終了判定分岐S46)。即ち、ステップS45の処理が完了するとステップS46において、全てのクラスについてステップS40〜S45の処理が終了しているか否かを判定する。終了していない場合(ステップS46でNO)の場合はステップS40へ戻り、まだ処理を行っていないクラスについてステップS40〜S45の処理を実行する。そして、全てのクラスについての処理が終了した段階(ステップS46でYES)で、射影規則生成部111における処理、即ち、図2に示した射影規則生成ステップS210、及び、射影規則記録ステップS201の処理が終了することになる。これにより、登録モードでの処理が終了する。以上の登録モードでの処理により、顔画像を登録するm人分の正規直交基底の組がm組と、それに対応するクラスのラベルが、図1の射影規則保持部101に保存されることになる。
(パターン識別処理)
次に、本実施形態の、識別モードおける処理について、識別モードの処理部の構成を示す、図1の識別モードブロック12の部分と、処理の手順を示す図3を用いて説明する。なお、この処理は、例えば、CPU990がRAM992からプログラムを読み出し、パターン識別装置を制御することにより実行される。
図3は、識別モードの処理の手順を示すフローチャートである。まず、データ入力ステップS300において、データ入力部100から、誰の画像であるのかを識別する対象である、縦横20×20画素の、人物の顔を切り出したグレースケール画像データを1つ入力する。そして、登録モードでの処理と同様に、この画像の各画素値をラスタスキャン的に並べた400次元のベクトルを生成する。ここで得られたこのベクトルを、入力ベクトルxとする。
次に、射影規則入力ステップS320において、予め登録された正規直交基底として表された射影規則を記憶手段から読み出す読出処理を行う。即ち、射影規則入力部120で、登録モードでの処理において射影規則保持部101に保存したm組の正規直交基底から、1つのクラスに対応する正規直交基底の組を、その正規直交基底の組に対応するクラスのラベルと共に、選択して入力する。選択の順は任意で構わないので、本実施形態では、登録モードでの処理において登録した、クラス1からクラスmまでを順に選択していく。ここで選択されたクラスをcとする。つまり、ここでは、hc個の正規直交基底{uc k}(k=1、2、・・・、hc)と、これに対応するラベルcが入力される。
次いで、射影結果算出ステップS321において、入力ベクトルxの正規直交基底が張る空間への射影長(又はその2乗)を求める。即ち、射影結果算出部121において、射影規則入力部120で入力したhc個の正規直交基底が張る空間への、データ入力部100で入力された入力ベクトルxの射影長の2乗{Lc(x)}2を算出する。この射影長の2乗{Lc(x)}2は、(数3)により求めることができる。
本実施形態では、簡便のため、このように射影長の2乗を算出するが、この平方根である射影長を求めるようにしても構わない。この射影長(射影長の2乗)は、クラスcのデータ集合が構成するManifoldの構造を近似する超平面への射影ベクトルの長さに相当する。ところでこの超平面は、クラスcのデータ集合が構成するManifoldの、平均的な法線方向(曲面であると考えられるため、Manifold上の位置により、法線方向は異なる)を法線ベクトルとする、原点Oを通過する超平面と考えられる。つまり、このManifoldと、求めた超平面は、凡そ平行な位置関係となっていると考えられる。また、利用しているデータは顔画像であるので、任意のクラスcに属するデータxcは、それに任意の正の実数sを乗じたsxcも、クラスcのデータである。ここで、s→0の極限を考えると、sxcは限りなく0に近づくため、任意のクラスcのデータの全体が表現されるManifoldは、原特徴空間の原点Oを通る面になるといえる。上記の2点から、求めた超平面は、元となるManifoldと、略一致する超平面となっている。また、入力データの、各超平面への射影長(射影長の2乗)を、入力データの大きさで正規化したものは、入力データが、どれだけその超平面に近いかを表す評価値として用いることができる。そのため、ここで求める超平面への射影長は、入力されたベクトルxの、クラスcに対する類似度と考えることができる。なお、ここでは入力データの大きさで正規化していないが、後述の、識別結果判定ステップS323における大小比較により、暗に入力ベクトルの大きさでの正規化がなされることになる。そこで、ここで求めた射影長の2乗を、射影結果保持部122に、クラスのラベルcと共に記録しておく。
上記の射影規則入力ステップS320、及び、射影結果算出ステップS321の処理を、射影規則保持部101に保存されている、m個全てのクラスについて繰り返す(全クラス終了判定分岐S325)。
即ち、ステップS321の処理を終了すると、ステップS325において、全てのクラスについてステップS320、及び、ステップS321の処理を終了したか否かを判定する。まだ終了していない場合(ステップS325でNO)はステップS320へ戻り、処理を行っていないクラスについて、ステップS320、ステップS321の処理を実行する。そして、全てのクラスについての上記処理が終了した段階で(ステップS325でYES)、次の、識別結果判定部123における処理である、識別結果判定ステップS323に進む。
ここまでの処理により、登録済みのm個のクラスそれぞれに対して、各登録済みのクラスに対応するm個の射影長の2乗{Lc(x)}2と、それぞれに対応するクラスのラベルが、射影結果保持部122に記録されることになる。
最後に、ステップS323において、識別結果判定部123、及び、識別結果出力部124での処理により、射影結果保持部122に記録された結果を用いて、データ入力部100において入力された顔画像に対する判定結果を求める。そして、ステップS324において、それを外部に出力する。具体的には、まず、識別結果判定部123において、射影結果保持部122に記録された、各登録済みのクラスに対応するm個の射影長の2乗{Lc(x)}2の内、最大の値であるものを求める。そして、その射影長の2乗が最大であったものに対応するクラスのラベルを、データ入力部100において入力された顔画像に対する判定結果とする。ここでの処理は、図3の識別結果判定ステップS323に対応する。そして最後に、この判定結果を外部に出力(識別結果出力ステップS324)して、識別モードでの処理が終了する。
以上の処理により、識別モードでの処理である、識別対象の、縦横20×20画素の、人物の顔を切り出したグレースケール画像データから、それが誰の顔画像であるのかを識別する処理が可能になる。本実施形態では、入力される顔の画像は、予め登録モードにおいて登録した人物である場合を想定しているため、識別結果は、必ず登録モードで登録した人物の何れかとなる。もし、予め登録していない人物の画像が入力されることがある場合は、射影長の2乗{Lc(x)}2の最大値を、入力ベクトルの大きさの2乗|x|2で除した値が、予め定めた値以下であった場合、不明な人物の画像であるという識別結果にすればよい。ここで用いる予め定めた値は、例えば、登録されていない人物の画像を入力し、それが不明な人物の画像であると判定されるように、実験的に求めることができる。
上記の登録、及び、識別の処理により、予め、縦横20×20画素の人物の顔画像を複数用いて、所望の人物を登録しておき、その後、未知の同様の顔画像を入力した時に、それが登録済みの人物の内、何れの人物なのかを識別する処理が可能になる。
上記のように、本実施形態に係る構成は、まず、各クラスのデータ集合の全体が表現されるManifoldの構造を近似する超平面を求めるために、このManifold上の配置関係を近似、具体的には、測地線距離関係を近似する射影規則を求める。そして、射影規則により定義される線形射影空間、即ち、原特徴空間内の縮退した超平面へ、識別すべき対象である、入力された新たなデータを射影した長さを求める。この射影長は、この超平面上に分布するデータ集合に対する類似度とみなせる。その為、各クラスに対応して求めた超平面への射影長を比較することにより、何れのクラスに類似しているかを判定することが可能となる。
以上、本実施形態では、縦横20×20画素の、人物の顔を切り出したグレースケール画像を入力し、それが何れの人物の顔画像であるかを識別する場合の一例を説明した。ただし、本実施形態に係る構成が適用な可能な対象はこれに限られない。このことは後に詳述する。
<<第2実施形態>>
本実施形態では、第1実施形態で示したパターン識別を行う構成の変形として、第1実施形態における線形写像を、カーネル関数を用いて非線形写像に拡張した場合のパターン識別の構成例を説明する。
第1実施形態では、各クラスのデータの全体が表現されるManifoldの構造を近似する射影空間を求める。このため、データ間の測地線距離関係をできるだけ保存(特に距離の順序において)できる、即ち、射影規則のデータサイズが小さくなるような、低次元の線形写像を考えた。線形写像を用いた場合、データの分布が比較的単純な形状(非線形な分布であっても)であれば、上記目的を達成できる。しかし、データの分布が非常に複雑な形状である場合は、目標となる写像、つまり、Manifoldのデータの配置関係を良好に近似する空間への写像を構築できない可能性が高くなる。そこで、第2実施形態では、第1実施形態における線形写像部分を、カーネル関数を用いた非線形写像に置き換えた構成について説明する。
ここでカーネル関数とは、ある集合χを対象とした時に、χ×χを定義域とする実対称関数で、半正定値性を満たす関数である。このようなカーネル関数の例として、多項式カーネルK(x、x’)=(x、x’+1)pや、ガウシアンカーネルK(x、x’)=exp(−|x−x’|2/σ2)が一般的である。本実施形態では、このようなカーネル関数を用いた非線形写像を考え、射影規則を生成する。このように、第2実施形態は、第1実施形態と比較すると、用いる射影規則が、線形の射影規則であるのか、カーネル関数を用いた非線形な射影規則であるのかが異なるのみである。そこで、本実施形態の説明では、第1実施形態と相違する部分のみを詳細に説明し、その他の部分に関しては説明を省略する。
第2実施形態に係るパターン識別装置の機能構成や、処理のフローは、第1実施形態と基本的に同様であり、図1、図2、及び、図3に示した通りである。以下、図1から図3を用いて、本実施形態の、第1実施形態との差異について詳細に説明する。また、第2実施形態においても、第1実施形態と同様に、登録モードと識別モードの2つのモードが存在する。そこでまず、図1、及び、図2を用いて、本実施形態の登録モードにおける処理について説明し、その後、図1、及び、図3を用いて、識別モードにおける処理について説明する。
本実施形態の登録モードでは、第1実施形態と同様に、まず、図2のステップS200において、データ入力部100から所望の登録人物の顔画像を複数入力し、それらを射影規則生成用データ保持部110に保持する。本実施形態における、入力データやクラスの表記は、第1実施形態と同様である。
続いて、図2の、射影規則生成ステップS210、及び、射影規則記録ステップS201の処理を行う。即ち、射影規則生成部111において、射影規則生成用データ保持部110に保持された入力データを用いて、各クラスそれぞれの射影規則を生成して、それらを、射影規則保持部101に記録する処理を行う。このように、本実施形態における登録モードでの概略の処理は、基本的に第1実施形態と同様である。ただし、射影規則生成部111での、射影規則を生成する処理の詳細が異なる。
(射影規則生成処理)
図5は、本実施形態における射影規則生成部111が実行する射影規則生成処理の手順を示すフローチャートである。以下、本実施形態における射影規則生成部111の処理の詳細について、図5を用いて説明する。なお、この処理は、例えば、CPU990がRAM992からプログラムを読み出し、パターン識別装置を制御することにより実行される。
図5に示すように、本実施形態における射影規則生成部111での処理についても、ほぼ、図4に示した、第1実施形態のそれと同様である。具体的には、図4の線形写像行列算出ステップS44が、中心データ選択ステップS540、及び、非線形写像決定係数算出ステップS541に置き換わり、それ以降の正規直交基底記録ステップS55における処理の内容が、この置き換えに従って変更される。そこで、以下では、本実施形態の射影規則生成部111の処理における、この相違する処理内容について詳細に説明する。
本実施形態に係るパターン識別装置は、まず、射影規則生成部111の処理では、図5のクラス選択ステップS40から、測地線距離関係算出ステップ43までの各ステップの処理を実行する。これらの処理は、第1実施形態において説明した、図4のステップS40〜ステップS43の各処理と同様である。
ステップS40〜ステップS43の処理により、第1実施形態と同様に、ここでの処理対象となるクラスcと、そのクラスcのデータにおける測地線距離関係行列DMが得られる。以下、ここでも、第1実施形態と同様に、添え字cは省略して表記する。本実施形態では、ステップS43の処理を終了すると中心データを選択するステップS540へ進む。
中心データ選択ステップS540においては、クラスcの中心データxMを求める。この中心データxMは、クラスcのデータ分布を代表する値であり、例えば、クラスcのデータの平均値や中間値がこれに該当する。本実施形態に係るパターン識別装置は、以下の手法で、クラスcのデータの内、データの分布の中心と思われるデータ(中心データxM)を選択する。具体的には、測地線距離関係行列DMの各行(DMは対称行列であるため、各列でも構わない)についての和を算出し、算出された値が最小のものであった行を判定する。そして、最小の和であった行が、M行目であったとした場合、クラスcのM番目のデータを、ここで求める、中心と思われるデータxMとする。この中心データxMとして、クラスcのデータのサンプル平均を用いても構わないが、データの分布に非線形性が強い場合、サンプル平均は一般的に、そのクラスのデータが構成するManifold上にならない。そこで本実施形態においては、クラスcの中心データを、上記手法により求める。ここで求めたクラスcの中心データは、後述の識別モードにおいて、入力データの、クラスcとの類似度を求めるために用いる。これについては、識別モードでの処理の説明において詳細に述べる。
続いて、非線形写像決定係数算出ステップS541において、データ間の測地線距離関係をできるだけ保存できるような、低次元表現空間への非線形な射影規則を決めるカーネル関数値結合加重ベクトル群{αn}を求める。(この場合、超平面は、対応するクラスに属し、互いに近接するデータ間の線形結合関係を近似することになる。)第1実施形態では、入力データである400次元のベクトルxから、h次元のベクトルzへの線形写像、z=ATxという線形写像を考えた。これに対し本実施形態では、選択されたクラスcのデータ数N個のh次元ベクトルαn(n=1、2、・・・、N)と、それぞれに対応する入力ベクトルxn、及びカーネル関数K(x、x’)用いる。そして、z=Σαn・K(x、xn)(ここでΣは、n=1からn=Nまでの総和を意味する)と表される非線形な写像を考える。このN個のh次元ベクトルαnが、ここで求めるべきカーネル関数値結合加重ベクトル群である。(ここでも、クラスcに関してのものであることを明確にするため、添え字cを付けるべきではあるが、簡単のため、添え字cは省略して表記している。)この写像は、どのようなカーネル関数を用いるか(関数自体の選択や、上記カーネル関数例でのpやσ等のパラメータ)にも依存するが、それを固定して考えると、N個のh次元ベクトルαnのみにより決まる。そこで、本実施形態では、カーネル関数として、上記ガウシアンカーネルを用い、データ間の測地線距離関係をできるだけ保存できるような、低次元表現空間への写像の構築を、N個のh次元ベクトルαnを最適化することにより行う。ガウシアンカーネルのパラメータσは、任意の定数で構わないが、凡そ入力データ間のユークリッド距離オーダーの定数にしておくことが好ましい。
このN個のh次元ベクトルαnの最適化は、n行目の行ベクトルがαn TであるN行h列の行列Γについての、(数5)に示した拘束条件の元での、(数4)の誤差関数J(Γ)の最小化問題の解として得られる。
ここで、(数4)中のκiは、K(xi、xk)をk番目の要素とする、N次元のベクトルである。即ち、κi={K(xi、x1)、K(xi、x2)、・・・、K(xi、xN)}Tである。また、(数5)中のαk,iは、αiのk番目の要素である。δk,lは、クロネッカーのδ記号で、k=lの時、δk,l=1、k≠lの時、δk,l=0である。本実施形態においても、この誤差関数を、(数5)の拘束条件の元で最小化するΓを、特開2003−30172号公報に開示の手法を用いて求める。この求めた行列Γの、n行目の行ベクトルが、求めるh次元ベクトルαnとなる。
hの決定は、第1実施形態と同様に、写像後の距離関係が、少なくとも測地線距離関係の順序を満たすような最小のhを選ぶようにして行うことができる。
●カーネル関数変更処理
基本的には、上記手法により、カーネル関数値結合荷重ベクトル群を求めればよいが、用いるカーネル関数の種別や、それらのパラメータの設定によっては、hを大きくしても、(数2)のような、写像前後の距離関係に関する条件を満たすのが困難な場合がある。このような場合、カーネル関数の種別や、カーネル関数に用いられているパラメータ(上記カーネル関数例でのpやσ等のパラメータ)を変更して、再度、上記誤差関数を最小化するΓを求めるようにすればよい。このようにカーネル関数の変更を行う手法の具体例について、図11を参照して説明する。図11は、非線形写像決定係数算出ステップS541において、カーネル関数を変更させながら、カーネル関数値結合荷重ベクトル群を求める処理の手順を示すフローチャートである。
まず、カーネル関数初期設定ステップS1100において、予め定めた初期設定のカーネル関数を設定する。ここでは、例えば、初期設定のカーネル関数として、ガウシアンカーネルK(x、x’)=exp(−|x−x’|/σ)を設定し、このカーネル関数のパラメータσを、σ=1としたとする。
次に、次元数h初期化ステップS1101において、次元数hを1に初期化する。
そして、誤差関数最小化ステップS1102において、(数4)に示した誤差関数を最小にする行列Γを、(数5)の拘束条件の下で求める。上記説明したように、行列Γは、全データ数がN個であるので、N行×h列の行列であり、ここで求めたΓの各行が、求めるh次元のカーネル関数値結合荷重ベクトル群{α}となる。例えばΓのn番目の行が、n番目のデータに対応するカーネル関数値結合荷重ベクトルαで、データ数がN個であるので、n=1、2、・・・、Nである。
次いで、ステップ1103では、距離関係が条件を満たすか否かで分岐する。まず、ステップS1102で求めたカーネル関数値結合荷重ベクトル群{α}を用い、全N個のデータに対して、それぞれの写像後のベクトルz=Σα・K(x、x)を求める。この写像後のベクトルzは、αがh次元ベクトルであるので、同じくh次元のベクトルになる。そして、全N個のデータの、各写像後のベクトル間のユークリッド距離を求める。ここで求める距離は、N個のデータから2個を選んだ組み合わせなので、N×(N−1)/2通りの距離を求めることになる。ここで求めた、例えばi番目とj番目のデータの、写像後のベクトルのユークリッド距離をd(i、j)と表記する。そして、N個のデータの中から3個を選ぶ全ての組み合わせ(N×(N−1)×(N−2)/6通りの組み合わせ)全てについて、選んだ3個のデータが、写像前後の距離関係を満たすか否かを判定する。
この写像前後の距離関係を満たすか否かの判定について、例えば、選んだ3個のデータが、i番目、j番目、k番目のデータであったとした場合について説明する。まず、3個の内の、1つのデータに注目(i番目のデータに注目したとする)し、このデータと、他の2個のデータとの測地線距離を参照する。測地線距離は、第1実施形態において説明した、dであるので、他の2個のデータとの測地線距離は、d(i、j)とd(i、k)である。そして、この2つの測地線距離の大小関係と、先に求めた写像後のベクトル間の距離、d(i、j)、及びd(i、k)の大小関係が等しければ、ここでの条件を満たしたと判定する。次に、他の2個のデータについても同様に注目して、大小関係の条件の判定を行い、3個のデータそれぞれに注目した場合のすべてにおいて、この条件を満たしたならば、この3個の距離関係は条件を満たしていると判定する。
上記3個のデータに関する条件を、N個のデータの中から、3個を選ぶ組み合わせ全てにおいて満たしたならば、写像前後の距離関係が条件を満たしたと判定し(ステップS1103でYES)、カーネル関数変更処理は終了となる。そして、この時のカーネル関数、及び、カーネル関数のパラメータを記録しておく。以降では、このカーネル関数と、カーネル関数のパラメータを用い、ここで得られた、次元数hのカーネル関数値結合荷重ベクトル群{α}により、非線形の写像を行うようにすればよい。
逆に、上記条件の判定において、1つでも条件を満たさないものがあった場合(ステップS1103でNO)は、次の次元数hが所定値以下であるか否かを評価するステップS1104へ進む。ここでは、次元数hが、予め定めておいた所定の次元数(例えば、50次元等)以下であるか否かを判定し、その結果によって処理が分岐する。次元数hが所定次元数以下であったならば(ステップS1104でYES)、写像前後の距離の近似精度を高めるため、hを1増加ステップS1105に進み、次元数hを1増加させて、誤差関数最小化ステップS1102に戻り、再度、同様の処理を行う。次元数hが所定次元数以下でなかったならば(ステップS1104でNO)、現在設定されているカーネル関数、若しくは、カーネル関数のパラメータでは、充分な写像前後の距離の近似精度を実現できない可能性が高いと判断することになる。したがって、次のカーネル関数変更ステップS1106に進む。
カーネル関数変更ステップS1106では、現在設定されているカーネル関数の関数形状と、カーネル関数のパラメータとの少なくともいずれかを変更する。ここでは、カーネル関数のパラメータを、予め定めた範囲で所定の粒度で振ることにより変更したり、予め定めておいた複数のカーネル関数の中から、いずれかの関数を選ぶことにより、カーネル関数の関数形状自体を変更したりする。例えば、現在設定されているカーネル関数が、ガウシアンカーネルであり、ガウシアンカーネルのパラメータσを、初期設定である1から、0.05刻みで0.1まで変更するように予め定めていたとする。この場合、ガウシアンカーネルのパラメータσが初期設定の1であったならば、このパラメータを0.95に変更するというようにする。また、例えば、現在のσの設定が0.85ならば、0.8にするというように変更していけばよい。
もし、この現在のσ設定が0.1であった場合は、既に予め定めた範囲の限界まで達しているので、今度は、カーネル関数の関数形状自体を変更する。例えば、複数のカーネル関数として、既に現在用いているガウシアンカーネルの他に、前述の多項式カーネルや、シグモイドカーネルK(x、x’)=tanh(a・xx’−b)を定めておいたとする。ここで、シグモイドカーネルは、半正定値性を満たさないが、演算上、特に問題にならなければ、そのままカーネル関数として用いて構わない。
この時、現在設定されているガウシアンカーネルを、これら2つのいずれかの関数に変更する。変更したカーネル関数にも、カーネル関数のパラメータ(多項式カーネルならばp、シグモイドカーネルならばaとb)があるので、それらを初期値に設定する。この初期値は、予めカーネル関数ごとに定めておいた、カーネル関数で用いるパラメータの範囲の上限(若しくは下限)に設定すればよい。
このように、カーネル関数変更ステップS1106では、カーネル関数のパラメータの変更か、カーネル関数自体の変更を行う。ガウシアンカーネル以外でのカーネル関数のパラメータの変更については、多項式カーネルの場合は、ガウシアンカーネルと同様に、カーネル関数のパラメータは1つであるので、予め定めた範囲で所定の粒度でパラメータを振るようにすればよい。シグモイドカーネルのように、カーネル関数のパラメータが複数ある場合は、それぞれのパラメータについて、予め定めた範囲で所定の粒度でパラメータを振り、各パラメータの全ての組み合わせを試行するようにすればよい。
カーネル関数変更ステップS1106での処理が終了した後、次元数h初期化ステップS1101に戻り、次元数hを再度1に初期化して、同様の処理を行っていく。そして、上記説明した、距離関係が条件を満たすか否かを判定するステップS1103において、全データについて、写像前後の距離関係が条件を満たすまで、上記処理を繰り返していく。
以上説明したカーネル関数変更処理により、予め定めた所定の次元数以下で、写像前後の距離関係が満たせるカーネル関数、及び、カーネル関数のパラメータが設定可能となる。
なお、例えば、予め定めておいた、上限の次元数が小さすぎる、若しくは、カーネル関数のパラメータの範囲が適切でないような場合、写像前後の距離関係を満たせない場合がある。つまり、全てのカーネル関数、及び、カーネル関数のパラメータを試行しても、写像前後の距離関係を満たす解がなく、処理が終了しない場合がある。このような場合は、上限の次元数を大きくしたり、カーネル関数のパラメータの範囲を変更したり、若しくは、カーネル関数の候補を追加して、再度、同様の処理を行えばよい。
また、本手法の説明においては、全てのデータにおいて、上記説明した写像前後の距離関係を満たすことを、処理終了の条件とした。しかし、この終了条件は、これに限るものではなく、例えば、全データの90%が、上記の距離関係の条件を満たせば、処理を終了するというようにしてもよい。また、距離関係の条件についても、上記説明したような、写像前後の距離の大小関係を満たすような条件に限るものではなく、例えば、写像前後の距離の比が、所定範囲内(例えば、0.9〜1.1等)であればよいというような条件にしてもよい。
図5の非線形写像係数算出ステップS541に戻り、本実施形態の登録モードにおける、射影規則生成部111での処理の説明を続ける。本実施形態も、上記(数4)のような誤差関数を定義して、それを(数5)の拘束条件の元で最小化する行列Γを、特開2003−30172号公報に開示の手法を用いて求める。しかし、第1実施形態と同様に、これに限るものではなく、その他の誤差関数を利用しても構わないし、ラグランジュの未定乗数法等を用いて、この行列Γを求めるようにしてもよい。特に、(数4)に示した誤差関数に関しては、よりスパースな解を得るため、Γに関するL1ノルムを正則化項として付加し、(数6)のようにしてもよい。
ここでγkは、行列Γのk列目の列ベクトルを示しており、N次元のベクトルである。また、|γkL1は、γkのL1ノルムであり、第2項のΣkは、k=1からk=hまでの総和を意味する。また、λは正則化の効果を決める正のパラメータであり、正則化の効果を決める定数である。このλの値を大きくすることで、正則化の効果が強まるが、実際に用いる値としては、求めるスパースネスと、最終的な写像性能に応じて実験的に決めてやればよい。この場合の行列Γについても、特開2003−30172号公報の手法や、ラグランジュの未定乗数法等を用いて求めることができる。
上述のような非線形写像決定係数算出ステップS541での処理により、クラスcについての非線形写像を決めるカーネル関数値結合加重ベクトル群として、N個のh次元ベクトルαnが得られることになる。ここで、このカーネル関数値結合加重ベクトル群の幾何学的な意味について説明する。
本実施形態において用いている、上記説明したカーネル関数(ガウシアンカーネルに限らず)は、一般に、K(x、x’)=Φ(x)TΦ(x’)のように表すことができる。ここでΦ(x)は、ある非線形変換により、ベクトルxを高次特徴空間に写像した、高次特徴空間内のベクトルである。つまり、2つのベクトルx、x’に対するカーネル関数の値は、この2つのベクトルを、高次特徴空間に写像した、Φ(x)とΦ(x’)の内積となる。一般に、この高次特徴空間は、非常に高次元(もとのデータの次元に比べて)の空間となり、本実施形態で用いたガウシアンカーネルの場合、無限次元の空間となる。
ここで、データの全体が表現されるManifoldの構造ができるだけ保存される評価基準で求めた、本実施形態における非線形変換、z=Σαn・K(x、xn)を考える。この非線形変換は、上記カーネル関数の特性(K(x、x’)=Φ(x)TΦ(x’)=Φ(x’)TΦ(x))から次のように表すことができる。
z=Σαn{Φ(xnTΦ(x’)}=[ΣαnΦ(xnT]Φ(x’)。
ここで、ΣαnΦ(xnTは、高次特徴空間の次元をDとすると、αnがh次元のベクトルであるので、h行D列の行列とみなせる。ここから、この非線形変換z=Σαn・K(x、xn)は、次元Dの高次特徴空間での、縮退したh次元空間への線形写像と考えられる。つまり、データの全体が表現されるManifoldの構造ができるだけ保存されるような、行列ΣαnΦ(xnTの、h個の行ベクトルが張る、高次特徴空間の超平面への写像となる。ここで、高次特徴空間の超平面を張る、行列ΣαnΦ(xnTのk番目の行ベクトルを、ベクトルΨkとし、αnのk番目の要素をαk,nとする。このとき、Ψk=Σαk,nΦ(xn)と表される。またここで、非線形写像決定係数算出ステップS541の処理における(数5)に示した拘束条件を考える。この拘束条件は、(数7)のように変形することができる。
ここで、Σはn=1からn=Nまでの総和を意味するとした、上記における定義を用いている。この(数7)は、高次特徴空間内の、h次元に縮退した超平面を張るベクトルΨk(k=1、2、・・・h)が、このh次元に縮退した超平面空間の正規直交基底であることを示している。つまり、本実施形態の射影規則生成部111での処理は、第1実施形態と比較して、原特徴空間か、高次特徴空間かの違いはあるが、第1実施形態と同様に、Manifoldの構造を近似的に保存するような超平面を張る正規直交基底を求めていることになる。
以上のように、ステップS541までの処理により、クラスcについて、クラスの中心データxMと、高次元特徴空間内の、h次元に縮退した空間を張る、h個の正規直交基底{Ψk}(k=1、2、・・・h)が得られる。
そこで最後に、正規直交基底記録ステップS55の処理において、このクラスのラベルと、クラスの中心データ、h個の正規直交基底を記録する。だが、クラスのラベルと、クラスの中心データxMは記録可能だが、正規直交基底は、非常に高次元のベクトルであり、記憶容量が限られた記録媒体に記録することが実際には困難である。特に、本実施形態のように、ガウシアンカーネルを用いた場合は、無限次元のベクトルとなるため、そのまま記録することは不可能である。しかし、後に説明する識別モードでの処理において、実際にこの正規直交基底を用いてデータを射影する場合には、この正規直交基底と、高次特徴空間に写像したデータとの内積のみを用いる。この内積値は、カーネル関数で表すことができるため、直接的に、この正規直交基底を用いることはない。
そこで、ステップS55では、ステップS541で求めた、N個のh次元ベクトルである、カーネル関数値結合加重ベクトル群αn、及び、クラスcのデータを、実際の高次特徴空間内で定義される正規直交基底の代わりに記録する。ここで記録した、クラスcに関するデータは、後述の識別モードでの処理において用いる。そこで、識別モードでの処理の説明においては、このクラスcの中心データをxc M、クラスcのデータ数をNcと表記する。また、Nc個のhc次元のカーネル関数値結合加重ベクトル群の内、n番目のカーネル関数値結合加重ベクトルをαc n(n=1、2、・・・、Nc)と表記する。そして、Nc個の内の、i番目のクラスcのデータをxc i(i=1、2、・・・、Nc)と表記する。
本実施形態においても、第1実施形態と同様に、上記、クラス選択ステップS40から、正規直交基底記録ステップS55までの処理を、登録する全てのクラスについて繰り返す(全クラス終了判定分岐S56)。そして、全てのクラスについての処理が終了した段階で、射影規則生成部111における処理、即ち、図2に示した射影規則生成ステップS210、及び、射影規則記録ステップS201の処理が終了することになる。これにより、登録モードでの処理が終了する。以上の登録モードでの処理により、以下のデータが、図1の射影規則保持部101に保存されることになる。
・顔画像を登録するm人分の、高次特徴空間における正規直交基底に対応する上記カーネル関数値結合加重ベクトル群等のデータがm組。
・クラスcの中心データ。
・対応するクラスのラベル。
(識別処理)
次に、本実施形態の識別モードおける処理について、識別モードの処理部の構成を示す図1の識別モードブロック12の部分と、処理の手順を示す図3を用いて説明する。
本実施形態の登録モードでは、第1実施形態と同様に、まず、データ入力ステップS300の処理を実行する。即ち、データ入力部100から誰の画像であるのかを識別する対象である画像データを1つ入力し、画像の各画素値をラスタスキャン的に並べた400次元のベクトルを生成する。
次に、射影規則入力ステップS320の処理を実行する。即ち、登録モードで射影規則保持部101に保存した、m組のカーネル関数値結合加重ベクトル群等のデータから、1つのクラスに対応するデータの組を、そのデータの組に対応するクラスのラベルと共に、射影規則入力部120が順次選択して入力する。これも第1実施形態と同様に、選択の順は任意で構わないので、登録モードでの処理において登録した、クラス1からクラスmまでを順に選択していく。また第1実施形態における説明と同様に、ここで選択されたクラスをcとする。つまり、ここでは以下のデータが入力される。
・クラスcの中心データxc M
・Nc個のhc次元のカーネル関数値結合加重ベクトル群αc n(n=1、2、・・・、Nc)。
・Nc個のクラスcのデータxc i(i=1、2、・・・、Nc)。
・対応するラベルc。
次いで、図3の射影結果算出ステップS321の処理を実行する。即ち、射影結果算出部121において、データ入力部100で入力した入力ベクトルxの、高次特徴空間での像Φ(x)の、高次特徴空間内の超平面への投影距離の2乗{Rc(x)}2を求める。ただし、高次特徴空間内の超平面は、射影規則入力部120で入力したデータにより決定される。これは、登録モードでの処理で用いたのと同じカーネル関数Kを用い、(数8)により求めることができる。
ここで、射影規則入力部120で入力したカーネル関数値結合加重ベクトル群の、n番目のhc次元ベクトルαc nの、k番目の要素を、αc k,nとしている。この(数8)中の、第3項目のK(xc M、xc M)(=1)と、第4項目内の
は、入力データxに依存しないので、予め求めておくようにしてもよい。ここで、K(xc M、xc M)=1となるのは、本実施形態では、カーネル関数に、ガウシアンカーネルを用いているためである。
本実施形態でも、簡便のため、このように投影距離の2乗を算出するが、この平方根である投影距離を求めるようにしても構わない。この投影距離(投影距離の2乗)は、高次特徴空間に写像した入力データの、クラスcのデータ集合が構成するManifoldの構造を近似する、高次元特徴空間内の超平面までの距離である。
第1実施形態においても述べたように、各クラスに対応する、この高次特徴空間内の超平面は、高次特徴空間内において、各クラスのデータの全体が表現されるManifoldと、凡そ平行な位置関係となっていると考えられる。しかし、第1実施形態とは異なり、用いるカーネル関数にもよるが、一般に、クラスcに属する入力データxcの、高次特徴空間内での像Φ(xc)に、任意の正の実数sを乗じたsΦ(xc)は、クラスcのデータとならない。つまり一般に、高次特徴空間内でのManifoldは、原点Oを通る面になるとは限らない。そのため、本実施形態において、第1実施形態と同様に、射影長をクラスcの類似度とすると、充分な性能を得られない可能性がある。そこで、本実施形態では、まず、入力した射影規則により決まる、Manifoldと凡そ平行な位置関係ではあるが、高次特徴空間内の原点Oを通る超平面を、高次特徴空間内でのManifoldと略一致するように平行移動する。本実施形態では、この平行移動として、超平面の原点Oの位置が、射影規則入力ステップS320で入力した、クラスの中心データの、高次特徴空間内の像の位置になるように平行移動をする。この平行移動により、この超平面は、高次特徴空間内でのManifoldと略一致するようになると考えられる。そして、この移動した超平面と、入力されたベクトルxの、高次特徴空間内の像Φ(x)の距離を、ここで算出する投影距離として求める。平行移動した超平面は、高次特徴空間内のManifoldに略一致するので、この投影距離は、入力されたベクトルxの、クラスcに対する類似度と考えることができる。そこで、ここで求めた投影距離の2乗を、射影結果保持部122に、クラスのラベルcと共に記録しておく。
第1実施形態では、この射影結果算出部121において、クラスcに対する類似度として、各超平面への射影長を求めたのに対し、本実施形態では、上記のような投影距離を求め、それを各クラスに対する類似度として用いる。このように、本実施形態のパターン識別方法は、非特許文献1を代表とする、いわゆる部分空間法で、一般的に用いられる、射影長法も、投影距離法も用いることができる。また、本実施形態では、超平面を平行移動する量として、予め求めておいた、クラスの中心データの、高次特徴空間内での像を用いたが、これに限られない。例えば、高次特徴空間内でのサンプル平均を用いるようにしてもよい。
上記、射影規則入力ステップS320、及び、射影結果算出ステップS321の処理を、第1実施形態と同様に、射影規則保持部101に保存されている、m個全てのクラスについて繰り返す(全クラス終了判定分岐S325)。そして、また第1実施形態と同様に、全てのクラスについての上記処理が終了した段階で、次の、識別結果判定部123における処理である、識別結果判定ステップS323に進む。ここまでの処理により、登録済みのm個のクラスそれぞれに対して、射影結果算出ステップS321で求めた、各登録済みのクラスに対応する、m個の投影距離の2乗{Rc(x)}2と、それぞれに対応するクラスのラベルが、射影結果保持部122に記録される。
次に、識別結果判定ステップS323の処理を行う。即ち、第1実施形態と同様に、識別結果判定部123、及び、識別結果出力部124での処理により、射影結果保持部122に記録された結果を用いて、データ入力部100において入力された顔画像に対する判定結果を求める。
具体的には、まず、識別結果判定部123において、射影結果保持部122に記録された、各登録済みのクラスに対応するm個の投影距離の2乗{Rc(x)}2の内、最小の値であるものを求める。そして、その投影距離の2乗が最小であったものに対応するクラスのラベルを、データ入力部100において入力された顔画像に対する判定結果とする。
最後に、識別結果出力ステップS324において、この判定結果を外部に出力する。そして、識別モードでの処理を終了する。
以上の処理により、識別モードでの処理である、識別対象の、縦横20×20画素の、人物の顔を切り出したグレースケール画像データから、それが誰の顔画像であるのかを識別する処理が可能になる。本実施形態でも、入力される顔の画像は、予め登録モードにおいて登録した人物である場合を想定しているため、識別結果は、必ず登録モードで登録した人物の何れかとなる。もし、登録していない人物の画像が入力された場合、識別結果判定部123において求めた、投影距離の2乗{Rc(x)}2の最小値が、所定値以上であった場合、それは不明な人物の画像であるという識別結果にすればよい。ここで用いる所定値は、登録されていない人物の画像を入力し、それが不明な人物の画像であると判定されるように、実験的に求めてやればよい。上記の登録モード、及び、識別モードの処理により、予め、縦横20×20画素の人物の顔画像を複数用いて、所望の人物を登録しておき、その後、未知の同様の顔画像を入力した時に、それが登録済みの人物の内、何れの人物なのかを識別する処理が可能になる。
上記のように、本実施形態では、まず、各クラスのデータ集合の全体が表現されるManifoldの構造を近似する、高次特徴空間内の超平面を求めるため、このManifold上の配置関係、具体的には、測地線距離関係を近似する射影規則を求める。そして、射影規則により定義される高次特徴空間における線形射影空間、即ち、高次特徴空間内の縮退した超平面と、識別すべき対象である、入力された新たなデータの、高次特徴空間における像との距離(投影距離)を求める。この超平面との距離は、この超平面上に分布するデータ集合に対する類似度とみなすことができる。その為、各クラスに対応して求めた超平面への距離を比較することにより、入力されたデータが、何れのクラスに類似しているかを判定することが可能となる。本実施形態に係る構成は、非特許文献5のように、局所的なデータのみを用いて、Manifoldの接平面を求める手法に比べ、データ全体を用いてManifoldを近似する。このため、データの粗密等による影響が低減され、安定した性能を得られる傾向がある。
上記手法により、第1実施形態における線形写像を、カーネル関数を用いた非線形な写像に置き換えることができ、より複雑なパターンの分布に対応可能となる。本実施形態では、カーネル関数を固定として説明したが、これに限られない。例えば、他の様々なカーネル関数(関数自体の選択や、上記カーネル関数例でのpやσ等のパラメータも含めて)を用いて射影規則を生成した後に、性能検定を行い、最も性能が良いものを選ぶようにしてもよい。性能検定は、登録モードで用いたものとは別の、多数のデータを用いて、それらに対する識別の誤りの少なさを、性能の尺度として用いるようにすればよい。
<<第3実施形態>>
(概要)
本実施形態では、正常であるとラベル付けされたデータ集合を用い、第2実施形態と同様の射影規則を生成し、その射影規則を用いて、新たに入力されたパターン(処理対象データ)が、正常であるのか異常であるのかを検出する構成例について説明する。
例えば、非特許文献1に記載されているいわゆる部分空間法は、異常パターン検出に有効であるとして知られている。部分空間法を用いた異常パターン検出では、まず、複数の正常パターンを用いて、正常パターンの部分空間をPCAにより求めておく。そして、新たな入力パターンを、PCAで求めた部分空間に投影し、その射影長が所定閾値以下、若しくは投影距離が所定の閾値以上であった場合、その入力パターンを異常パターンとして検出する。
第1、第2実施形態で説明した手法は、部分空間法と同様に、このような異常パターン検出にも適用可能である。そこで、本実施形態では、このような異常パターン検出の例として、複雑なテクスチャパターンを有する製造物の表面を撮影した画像から、その表面上の欠陥を、異常パターンとして検出する構成例を示す。本実施形態では、複雑なテクスチャパターンを有する製造物の例として、表面に粗し加工を施したゴム板を対象とするが、これに限るものではなく、その他の製造物の、表面欠陥の検出にも適用可能である。
図6は、本実施形態において処理対象となるパターンの例を示す図である。これらは、表面粗し加工を施したゴム板の表面を撮影したグレースケール画像から、128×128画素の領域を切り出した図である。図6の(a)から(e)は、正常であるゴム板の画像から切り出したものであり、(f)から(j)は、欠陥を含むゴム板の画像から、欠陥部(図6中、丸印にて図示)を含むような領域を切り出した図である。
本実施形態では、(a)から(e)のような画像パターンを正常パターンとし、(f)から(j)のような画像パターンを異常パターンとする。(f)、及び(g)は、黒いスポット状のムラのような欠陥が存在するパターンの例であり、図6に示したように、形状やサイズが様々である。また、(h)のように、全体的にグラデーションがあるようなパターンや、(i)のように、白いスポット状のムラがあるもの、(j)のように、テクスチャのコントラストが一部だけ低いようなもの等、様々な欠陥の種類が存在する。
本実施形態で扱うような、コントラストの高い、複雑なテクスチャパターンの中に存在する欠陥を検出する場合、従来の表面欠陥の検出においてよく用いられる、輝度値やエッジ抽出値の閾値処理では、正しく欠陥を検出することが困難である。また、欠陥の種類が限定されているならば、その欠陥に対応した処理を行うことで、欠陥の検出が可能であると考えられるが、欠陥の種類が様々で、今後どのような欠陥が現れるかが不明の場合は、それぞれの欠陥に対処する手法を適用することも困難である。そこで、本実施形態では、複数の正常パターンを用いて、正常パターンを何らかの形でモデル化し、その正常パターンのモデルと比較することによって、異常パターンを検出する。
本実施形態に係る部分空間法を用いた異常パターン検出では、複数の正常パターンを用いて、正常パターンを良好に近似表現できる線形部分空間を、PCAにより求め、それを正常パターンのモデルとする。そして、その正常パターンのモデルである、線形部分空間からの乖離度を、その線形部分空間へ入力パターンを射影した時の、射影長、若しくは、投影距離を用いて評価し、乖離度の大きさに基づいて異常パターンを検出する。
本実施形態に係る異常パターン検出では、この部分空間法と同様に、複数の正常パターンから、正常パターンのモデルを生成し、そのモデルとの乖離度を評価することにより、異常パターンを検出する。具体的には、まず、第2実施形態と同様の、カーネル関数を利用した手法を用いて、正常パターンの全体が表現されるManifold上のデータの配置関係を良好に近似する高次特徴空間における線形射影空間を求める。そして、入力パターンを、求めた高次特徴空間の線形射影空間に射影して、その投影距離に基づいて、入力パターンが正常パターンであるのか、異常パターンであるのかを判定することにより、異常パターンを検出する。
つまり、第2実施形態では、複数のクラスを対象としていたのに対し、本実施形態では、対象とするクラスを1つだけにし、その1クラスを正常パターンのみのクラスとする。そして、新たな入力データが、そのクラス、つまり、正常パターンのクラスであるかどうかを判定することによって、異常パターンであるかどうかを検出する。このように、本実施形態は、入力データが異なる、登録するクラスが1つだけである等の違いはあるが、第2実施形態と類似している。そこで、本実施形態の説明においては、第2実施形態と異なる部分のみ詳細に説明し、第2実施形態と同様の部分については、説明を省略する。
(機能構成)
次に、本実施形態に係る異常パターン検出装置の機能構成について、図7を参照して説明する。図7は、本実施形態に係る異常パターン検出装置の機能構成を示すブロック図である。
本実施形態に係る構成においても、第1実施形態、及び第2実施形態と同様に、大きく分けて2つのモードが存在する。1つは、正常パターンのモデル生成を行う、正常パターンモデル化モード71であり、もう1つは、新たな入力パターンが異常パターンであるか否かを検出する、異常パターン検出モード72である。
それぞれ2つのモードでの処理の概要について説明する。正常パターンモデル化モード71では、複数の正常パターンを用いて、正常パターンのモデル化を行う。具体的には、第2実施形態において説明したのと同様に、複数の正常パターンの全体が表現されるManifold上の配置関係を近似する、高次特徴空間における線形射影空間を求め、それを正常パターンのモデルとして生成する処理を行う。
異常パターン検出モード72では、正常パターンモデル化モード71で生成したモデルを利用し、新たな入力パターンが、モデルに対してどの程度、乖離しているかを求め、それに基づいて、新たな入力パターンが、異常パターンであるか否かを検出する。具体的には、正常パターンのモデルとして生成した高次特徴空間における線形射影空間に、新たな入力パターンを投影し、その時の投影距離を乖離度とみなし、その乖離度が所定値以上であれば、そのパターンを異常パターンとして検出する処理を行う。
(正常パターンモデル化モードでの処理)
以下、図7に示した各処理部での処理について、まず、正常パターンモデル化モード71での処理の詳細を、図7、及び、正常パターンモデル化モード71での処理のフローを示した図8を用いて説明する。その後、異常パターン検出モード72での処理の詳細を、図7、及び、異常パターン検出モード72での処理のフローを示した、図9を用いて説明する。
本実施形態の正常パターンモデル化モードでは、まず、データ入力部700において、複数枚の正常画像データを入力する(ステップS800)。ここで入力する正常画像データとは、正常であると予め判定されている、表面粗し加工を施したゴム板(以下、正常サンプルとする)の表面を撮影した画像である。本実施形態では、この正常画像データは、1024×768画素のグレースケール画像であり、N個の正常サンプルについて撮影した、N枚の正常画像データを入力したとする。
続いて、本実施形態の正常パターンモデル化モードにおける特徴抽出処理部702での処理(ステップS802)について説明していく。特徴抽出処理部702では、データ入力部700で入力したN枚の正常画像データそれぞれから、正常パターンを切り出し、そのパターンそれぞれに対して、階層的に離散Wavelet変換を行う。そして、それぞれのパターンの変換結果を基に、それぞれのパターンに対応する、Wavelet特徴ベクトルを生成し、それを射影規則生成用データ保持部710に記録して保持する。以下、ここでの各処理の詳細について述べる。
本実施形態では、正常パターンとして、正常画像データの任意の位置から、128×128画素の領域を切り出したものを用いる。切り出す個数や位置は任意だが、多くのパターンを用いた方が、正常パターンの全体が表現されるManifoldの構造を、精度良く近似できる可能性が高い。そのため、本実施形態では、正常画像データから、とり得る全ての128×128画素のパターンを切り出す。正常画像データは、1024×768画素なので、とり得る128×128画素のパターン数は、(1024−128+1)×(768−128+1)=574977である。これを、N枚の正常画像データから切り出すので、全部で574977×N個のパターンが切り出される。
そして、この切り出したパターンそれぞれに対して、階層的に離散Wavelet変換を行う。本実施形態では、離散Wavelet変換においてHaar基底を用いる。画像のような2次元のパターンに対する離散Wavelet変換では、変換前パターンの1/2の解像度の、縦方向・横方向・縦横方向の高周波成分抽出パターンと、低周波成分パターンの、4つのパターンに変換される。本実施形態では、128×128画素のパターンを用いるので、1回目の離散Wavelet変換では、64×64画素の、上記4つのパターンに変換される。
ここで、変換された縦方向高周波成分抽出パターンをHL1、横方向高周波成分抽出パターンをLH1、縦横方向高周波成分抽出パターンをHH1、低周波成分パターンをLL1とする。HL・LH・HHは、それぞれ、縦方向・横方向・縦横方向の高周波成分抽出パターンであることを表し、LLは低周波成分パターンであることを表す。また、例えばHL1の、1という数値は、1回目の離散Wavelet変換の結果であることを示す。
本実施形態では、更に、この低周波成分パターンLL1に対して、離散Wavelet変換を行い、今度は、32×32画素の、上記4つのパターンに変換する。ここで、変換された縦方向高周波成分抽出パターンはHL2、横方向高周波成分抽出パターンはLH2、縦横方向高周波成分抽出パターンはHH2、低周波成分パターンはLL2ととなる。同様に、この低周波成分パターンLL2に対して離散Wavelet変換をするというように、階層的に離散Wavelet変換を行っていく。最終的に、1×1画素の、縦方向・横方向・縦横方向の高周波成分抽出パターン、及び、低周波成分パターンになるまで離散Wavelet変換を繰り返す。変換前のパターンは、128×128画素なので、1回目の変換で、64×64画素、2回目の変換で、32×32画素、以降、16×16画素、8×8画素、4×4画素、2×2画素となり、最後の7回目の変換で1×1画素のパターンになる。つまり最後に得られる1×1画素の、4つのパターンはHL7、LH7、HH7、LL7である。
次に、このような階層的な離散Wavelet変換により得られた各パターンから、Wavelet特徴ベクトルを生成する。ここでは、各方向高周波成分抽出パターンと、最後に抽出した低周波成分パターンLL7の、各要素値を、順番に要素として並べたベクトルを生成する。各要素値の並べ方は、各パターンにおいて共通であれば、任意の並べ方で構わない。本実施形態では、縦方向、横方向、縦横方向という順で、1回目の離散Wavelet変換により得られた各パターンから順番に、ラスタスキャン的に数値を並べていく。つまり、最初の64×64=4096個の要素は、1回目の離散Wavelet変換により得られた、縦方向高周波成分抽出パターンHL1の各画素値を、左上から順にラスタスキャンで並べたものとなる。そして、次の、4097番目から4096個分の、8192番目までの要素は、1回目の離散Wavelet変換により得られた、横方向高周波成分抽出パターンLH1の各画素値を、左上から順にラスタスキャンで並べたものとする。
続いて、8193番目から4096個分の、12288番目までの要素は、1回目の離散Wavelet変換により得られた、縦横方向高周波成分抽出パターンHH1の各画素値を、左上から順にラスタスキャンで並べたものになる。今度は、2回目の離散Wavelet変換の結果に移行する。ここでは、12289番目から、今度は32×32=1024個分の、13312番目までの要素を、2回目の離散Wavelet変換により得られた、縦方向高周波成分抽出パターンHL2の各画素値を、左上から順にラスタスキャンで並べたものとしていく。以下、同様に、7回目の離散Wavelet変換により得られた、縦横方向高周波成分抽出パターンHH7まで順に数値を並べていき、最後の要素を、7回目の離散Wavelet変換により得られた、低周波成分パターンLL7の値とする。このような処理により、{(64×64)+(32×32)+(16×16)+(8×8)+(4×4)+(2×2)+(1×1)}×3+(1×1)=16384次元のベクトルが得られる。このベクトルを、各パターンに対応した、Wavelet特徴ベクトルとし、これを射影規則生成用データ保持部710に記録して保持する。
上記の処理により、射影規則生成用データ保持部710に、16384次元のWavelet特徴ベクトルが、切り出したパターン数分、つまり、574977×N個分、記録されることになる。これにより、本実施形態の正常パターンモデル化モードにおける、特徴抽出処理部702での処理が終了となる。ここまでの処理は、図8の特徴抽出処理ステップS802に対応する。
このように、本実施形態では、正常画像データから切り出したパターンに対して、離散Wavelet変換を行い、そこからWavelet特徴ベクトルを生成して、それを射影規則生成用データ保持部710に記録して保持する。しかし、射影規則生成用データはこれに限るものではなく、例えば切り出したパターンそのものの画素値をラスタスキャン的に並べたものをベクトルとし、それを射影規則生成用データ保持部710に記録するようにしてもよい。ただし、本実施形態で説明するような、非常にランダムなパターンの場合、画素値をそのまま並べたものを利用すると、後の処理がうまく実行できない可能性が高いので、本実施形態のように、何らかの特徴を抽出しておくようにすることが好ましい。
本実施形態の正常パターンモデル化モード71における、特徴抽出処理部702での処理終了後、次は、射影規則生成部711での処理に進む(S810)。図10は、本実施形態における射影規則生成部711での処理の手順を示すフローチャートである。
図10に示したように、射影規則生成部711での処理は、図5に示した、第2実施形態における射影規則生成部111での処理と類似している。本実施形態における射影規則生成部711では、射影規則生成用データ保持部710に保持された、Wavelet特徴ベクトルを用いて、第2実施形態の射影規則生成部111での処理と同様の処理により、高次特徴空間での射影規則を生成する。そして、それを射影規則保持部701に記録する。
第2実施形態では、複数のクラスがあり、それぞれに対して、高次特徴空間での射影規則を生成したが、本実施形態では、正常パターンの1クラスのみであるので、これに対応する射影規則を生成する。また、第2実施形態での識別モード12では、各クラスに対応して生成した射影規則により、入力パターンを射影して、その時の、投影距離の長さを比較することによって、入力パターンが、何れのクラスに属するかを判定した。しかし、本実施形態では、クラスは1つのみであるので、他のクラスの結果と比較することはできない。そこで、正常パターンのクラスに対応する射影規則を生成すると同時に、投影距離の閾値を決定し、その閾値も、射影規則保持部701に記録して保持するようにする。
以下、図10を用いて、射影規則生成部711での処理の詳細について説明する。ただし、上記の通り、本実施形態の射影規則生成部711での処理は、第2実施形態の、射影規則生成部111での処理と類似しているため、第2実施形態と同様の部分に関しては説明を省略する。
まず、図10の特徴量正規化処理ステップS1000における処理を説明する。本実施形態の正常パターンモデル化モード71における、射影規則生成部711での処理では、特徴抽出処理(ステップS802)までの処理により、射影規則生成用データ保持部710に保持された、Wavelet特徴ベクトルの、各要素値の正規化を行う。
本実施形態では、上記説明した通り、574877×N個の、16384次元のWavelet特徴ベクトルが、射影規則生成用データ保持部710に保持されているが、ここでは、その全てベクトルに対して、この正規化の処理を行う。この正規化処理は、必ずしも必要な処理ではない。しかし、本実施形態では、第2実施形態と同様に、非線形写像を実現するため、ガウシアンカーネルを用いたカーネル法を適用するが、この場合、一般的に、ベクトルの各要素値のレンジが、同程度になっている方が好ましい。そのため、本実施形態では、ベクトルの各要素値を、対応する要素値の標準偏差で除するという正規化を行う。
正規化を行うための標準偏差は、574877×N個のWavelet特徴ベクトルの、それぞれの要素値について求めてもよい。しかし、例えば、このWavelet特徴ベクトルの、1番目から64×64=4096番目までの要素は、凡そ同程度の値であると考えられる。つまり、1回目の離散Wavelet変換により得られた、縦方向高周波成分抽出パターンHL1を並べたものに対応する部分の要素値は、凡そ同程度の値であると考えられる。そこで、本実施形態では、このような部分をそれぞれまとめて考えて、その標準偏差を求め、それを用いて正規化を行う。
具体的には、例えば、上記1番目から4096番目までの要素であれば、全部で574877×N個の、それぞれのWavelet特徴ベクトルの、1番目から4096番目までの要素、つまり、574877×N個×4096個の要素値の標準偏差を求める。そして、その標準偏差で、それぞれのWavelet特徴ベクトルの、1番目から4096番目までの要素を除することにより正規化を行う。次いで、4097番目から8192番目までの要素では、同様に、全てのWavelet特徴ベクトルの、4097番目から8192番目までの要素値の標準偏差を求める。そして、その標準偏差で、それぞれのWavelet特徴ベクトルの、4097番目から8192番目までの要素を除する。以下、同様に、8193番目から12288番目まで、次いで、12289番目から13312番目(ここからは、32×32=1024個の要素)まで・・・、と順に正規化を行っていく。そして、最後の16384番目の要素である、7回目の離散Wavelet変換により得られた、低周波成分パターンLL7を、その標準偏差(この場合、574877×N個×1個の要素値で求める)で除すことにより正規化が完了する。
ここで求めた、正規化を行うための、それぞれの標準偏差は、後に説明する、異常パターン検出モード72での処理に用いるため、これらを、射影規則保持部701に記録する。ここまでの処理は、図10の特徴量正規化処理ステップS1000に対応する。
続いて、正規化の終了したWavelet特徴ベクトルに対して、図10に示した、距離関係算出ステップS1001から、正規直交基底記録ステップS1005までの処理を行っていく。ここでの処理は、第2実施形態において説明した、図5の、距離関係算出ステップS51から、正規直交基底記録ステップS55までの処理と同様の処理である。そこで、ここでの処理については、第2実施形態での説明を参照することとし、詳細な説明を省略する。
第2実施形態では、パターンの次元が、20×20画素=400次元であったのに対し、本実施形態では、16384次元となるが、同様の処理が可能であることは言うまでもない。また、第2実施形態では、複数のクラスを対象とし、それぞれのクラスに対して、独立にここでの処理を実行するが、本実施形態では、対象となるクラスは、正常パターンの1クラスのみであるので、この1クラスのみに対して処理を行う。
つまり、ここでは、第2実施形態において説明した、(数4)又は(数6)のような誤差関数の最小化により、正常パターンの全体が表現されるManifold上の配置関係を極力保存するような高次特徴空間における線形射影空間を求める。即ち、Wavelet特徴ベクトルの原特徴空間における正常パターン間の測地線距離関係を、できるだけ保存するような高次特徴空間における線形射影空間を求める。
この距離関係算出ステップS1001から、正規直交基底記録ステップS1005までの処理により、第2実施形態と同様に以下のものが得られる。
・574877×N個のカーネル関数値結合荷重ベクトル群α
・正常パターンを1つのクラスとした場合の、そのクラス中心データx
カーネル関数値結合荷重ベクトルは、第2実施形態で述べたように、入力ベクトルxの非線形写像z=Σα・K(x、x)を決めるパラメータであり、各パターンに対応するカーネル関数値の結合荷重ベクトルである。ここで、Σは、n=1からn=574877×Nまでの総和である。
このように、カーネル関数値結合荷重ベクトルは、各パターンに対して1つ存在し、第2実施形態では、1つのクラスのパターン数をN個としたため、N個からなるカーネル関数値結合荷重ベクトル群が得られた。これに対し、本実施形態では、パターン数は574877×N個であるため、574877×N個からなるカーネル関数値結合荷重ベクトル群が得られる。
また、このカーネル関数値結合荷重ベクトルの次元は、第2実施形態と同様の方法で決めればよい。つまり、正常パターンの写像後の距離関係が、少なくとも測地線距離関係の順序を満たすような最小の次元を選ぶ。ただし、ここでも、カーネル関数の選択や、カーネル関数のパラメータが適切でない場合、hを大きくしても、写像前後の距離関係を満たせないことがある。このため、その時は、第2実施形態で述べた手法と同様に、カーネル関数を再選択したり、カーネル関数のパラメータを変更したりすればよい。また中心データxは、第2実施形態における、中心データ選択ステップS540での処理と同様の処理により、正規化を行った574877×N個のWavelet特徴ベクトルの1つが選ばれることになる。そして、第2実施形態と同様に、ここまでで得られた以下のものを射影規則保持部701に記録しておく。
・574877×N個のカーネル関数値結合荷重ベクトル群α
・中心データx
・特徴量正規化ステップS1000で得られた、574877×N個の正規化後のWavelet特徴ベクトル。
ここまでの処理がステップS1001〜ステップS1005の処理に該当する。
次いで、投影距離閾値決定ステップS1006では、ステップS1005までの処理で求めた高次特徴空間における線形射影空間へ、各パターンを投影した時の投影距離が、どの程度以内ならば、正常のパターンとみなすのかを決めるための閾値を決定する。ここでは、特徴量正規化ステップS1000で正規化した、574877×N個のWavelet特徴ベクトルを、ステップS1005までの処理で求めた高次特徴空間における線形射影空間へ実際に投影し、その距離に基づいて閾値を決定する。各パターンの投影距離(実際は、投影距離の2乗)は、先に求めたカーネル関数値結合荷重ベクトル群α、中心データx等を用い、第2実施形態において示した(数8)により求められる。(数8)中には、クラスラベルを示す添え字cが存在するが、本実施形態では、クラスは正常パターンの1つのみであるので、この添え字は無視して演算を行うようにする。
本実施形態では、(数8)を用いて求めた574877×N個の投影距離の内、最大である距離を求め、その距離を閾値として決定する。このように、本実施形態では、正常パターンを実際に投影した場合の、最大となった投影距離を閾値として用いるようにする。しかし本実施形態に係る構成は、これに限るものではなく、例えば、正常パターンの内、所定割合(例えば95%等)のパターンが、それ以内の距離であるというような距離を閾値としても構わない。
また、正常であるパターンのみを用いて閾値を決定する方法に限らず、図6の(f)から(j)までに示したような、異常であることが判明しているパターンを用いて、閾値を決定してもよい。この場合、異常なパターンに対して、まず、上記説明した正常パターンに対する処理と同様に、離散Wavelet変換を実行し、Wavelet特徴ベクトルを生成する。次いで、特徴量正規化ステップS1000で行った、特徴量の正規化と、同等な正規化処理(特徴量正規化ステップS1000で求めた標準偏差を用いた正規化)を行う。そして、(数8)を用いて、正規化を行ったWavelet特徴ベクトルを、S1005までの処理で求めた高次特徴空間における線形射影空間に投影した時の距離を求める。最後に、ここで求めた距離以下になるように閾値を決定するというようにすればよい。
最後の、投影距離閾値記録ステップS1007では、投影距離閾値決定ステップS1006において決定した閾値を、射影規則保持部701に記録する処理を行う。ステップS1007の処理は図8のステップS801の処理に相当する。この処理が終了した段階で、射影規則生成部711における処理、即ち、図8に示した射影規則生成ステップS810、及び、射影規則記録ステップS801の処理が終了することになり、これにより、正常パターンモデル化モードでの処理が終了する。
以上の正常パターンモデル化モードでの処理により、以下の5つのデータが、射影規則保持部701に保存される。
1.特徴量正規化のための標準偏差データ群。
2.正常パターンの中心データ。
3.カーネル関数値結合荷重ベクトル群。
4.特徴量正規化後のWavelet特徴ベクトル群。
5.正常であるか否かを判定する距離の閾値。
まず1つめ(特徴量正規化のための標準偏差データ群)は、特徴量正規化ステップS1000における、特徴量の正規化に用いた標準偏差のデータ群である。具体的には、本実施形態では、7回の離散Wavelet変換を行うので、各回における3つの各方向高周波成分抽出パターンそれぞれに対応する7×3個の標準偏差と、7回目の低周波成分パターンLL7の標準偏差との、計22個の標準偏差が記録されている。
2つめ(正常パターンの中心データ)は、中心データ選択ステップS1040において、第2実施形態の中心データ選択ステップS540と同様の手法で求めた、正常パターンの中心データxである。第2実施形態では、各クラスに対し1つずつ、この中心データを記録したが、本実施形態では、正常パターンのみの1クラスを対象としているので、記録される中心データは1つのみである。ちなみに、この中心データxは、特徴量正規化ステップS1000で正規化されたWavelet特徴ベクトルのいずれかであるので、16384次元のベクトルとなる。
3つめ(カーネル関数値結合荷重ベクトル群)は、正常パターンの全体が表現されるManifold上の配置関係を保存するような、高次特徴空間における線形射影空間を決める、カーネル関数値結合荷重ベクトル群αである。このカーネル関数値結合荷重ベクトル群は、各パターンに対応して1つずつあるので、574877×N個のベクトルとなり、このベクトルの次元は、第2実施形態と同様の方法により決めた次元となる。
4つめ(特徴量正規化後のWavelet特徴ベクトル群)は、特徴量正規化ステップS1000において、正規化を行った、574877×N個のWavelet特徴ベクトル群である。この574877×N個のWavelet特徴ベクトルは、3つめのカーネル関数値結合荷重ベクトル群の、それぞれのカーネル関数値結合荷重ベクトルに対応しているので、その対応関係とともに記録しておくようにする。
最後の5つめ(正常であるか否かを判定する距離の閾値)は、投影距離閾値決定ステップS1006で求めた、正常パターンであるか否かを最終的に決定するための閾値である。これらの5つのデータは、以下に説明する、本実施形態の、異常パターン検出モードにおいて用いられることになる。
(異常パターン検出モードでの処理)
次に、本実施形態の、異常パターン検出モードおける処理について、異常パターン検出モードの処理部の構成を示す、図7の異常パターン検出モード72の部分と、処理の手順を示す図9を参照して説明する。
本実施形態の異常パターン検出モードでは、まず射影規則入力部720において、正常パターンモデル化モードにおいて、射影規則保持部701に保存した、上述の5つのデータを入力する(射影規則入力ステップS920)。
続いて、データ入力部700において、異常があるか否かを検出する処理の対象となる検査画像データを入力する(データ入力ステップS900)。ここで入力する検査画像データは、検査対象である、表面粗し加工を施したゴム板の表面を撮影した画像である。本実施形態では、この検査画像データは、正常パターンモデル化モードにおいて用いた正常画像データと同様の、1024×768画素のグレースケール画像である。
続いて、特徴抽出処理を実行する(図9のステップS902)。特徴抽出処理部702において、データ入力部700で入力した検査画像データから、まず48個の、128×128画素の検査パターンを切り出す。正常パターンモデル化モードでは、1024×768画素の画像から、とり得る全ての128×128画素のパターンを切り出したが、異常パターン検出モードでは、切り出す領域をオーバーラップさせずに切り出す。そのため、長さが1024画素の方向では、1024/128=8個分、768画素の方向では、768/128=6個分で、計8×6=48個のパターンが切り出されることになる。
そして次に、その48個のパターンそれぞれに対して、階層的に離散Wavelet変換を行い、その変換結果に基づいて、Wavelet特徴ベクトルを生成する。この階層的な離散Wavelet変換と、その結果に基づいた、Wavelet変換ベクトルの生成方法は、正常パターンモデル化モードでの、特徴抽出処理ステップS802における処理とまったく同等の処理であるので説明を省略する。
そして、生成された48個のWavelet変換ベクトルそれぞれに対して、射影規則入力ステップS920において入力した、特徴量正規化のための標準偏差データ群を用いて、特徴量の正規化を行う。ここでは、正常パターンモデル化モードの特徴量正規化ステップS1000において行った正規化と同等な正規化を、入力した特徴量正規化のための標準偏差データ群を用いて行う。この処理により、48個の、正規化後のWavelet特徴ベクトルが得られることになる。ここまでの処理は、図9の特徴抽出処理ステップS902に対応する。
次に、ステップS902で生成された48個の正規化後のWavelet特徴ベクトルのそれぞれを、正常パターンモデル化モードにおいて求めた高次特徴空間の線形射影空間に射影した時の投影距離を求める(ステップS921)。この処理は射影結果算出部721において実行される。なお、実際にはステップS921において投影距離の2乗を求めるようにしてもよい。
この高次特徴空間の線形射影空間は、上述のように、正常パターンの全体が表現されるManifold上の配置関係を、できるだけ保存するような空間である。各正規化後のWavelet特徴ベクトルを、この空間に射影した際の投影距離は、(数8)を用いて求める。この(数8)内の、中心データやカーネル関数値結合荷重ベクトル群等は、ステップS920において入力した、正常パターンの中心データ、カーネル関数値結合荷重ベクトル群、及び、特徴量正規化後のWavelet特徴ベクトル群を用いることになる。そして、48個の正規化後のWavelet特徴ベクトルを射影した時の投影距離の内、最大の投影距離を求める。
そして、検出結果判定を行う(図9のステップS923)。検出結果判定部723において、ステップS921において求めた最大の投影距離と、ステップS920において入力した正常であるか否かを判定する距離の閾値との比較を行う。この比較において、最大の投影距離が入力した閾値以上であるならば、データ入力部700において入力した検査画像データ内に異常があると判定する。逆に、最大投影距離が入力した閾値以下であるならば、検査画像データ内に異常は存在しないと判定することになる。
最後に、検出結果出力ステップS924で、検出結果出力部724において、データ入力部700において入力した検査画像データ内に、異常が検出されたか否かを外部に出力する。つまり、検出結果判定ステップS923において、最大の投影距離が、入力した閾値以上であったならば、異常を検出したと出力し、閾値以下であったなら、異常は検出されなかったと出力する。
以上の処理により、異常パターン検出モードでの処理である、異常があるか否かを検出する処理の対象となる検査画像データ内から、その検査画像内に異常があった場合に、その異常を検出する処理が可能になる。
上記の正常パターンモデル化モード、及び、異常パターン検出モードの処理により、まず、複数の正常パターンを用いて、高次特徴空間内の線形射影空間として、正常パターンのモデル化を行うことが可能となる。そして、未知のパターンを入力した時に、それと正常パターンのモデルとの乖離度を、高次特徴空間内の線形射影空間への投影距離を基準として判断し、異常なパターンである場合に、それを検出することが可能になる。
上記のように、本実施形態に係る異常パターン検出の構成では、まず、正常パターンのデータ集合の全体が表現されるManifoldの構造を近似する高次特徴空間内の超平面を求める。このため、このManifold上の配置関係を近似、具体的には、第2実施形態と同様に、測地線距離関係を近似する射影規則を求める。そして、射影規則により定義される高次特徴空間における線形射影空間、即ち、高次特徴空間内の縮退した超平面と、識別する対象である入力された新たなデータの、高次特徴空間における像との距離(投影距離)を求める。この超平面との距離は、この超平面上に分布するデータ集合に対する乖離度とみなすことができる。そのため、正常パターンを用いて求めた超平面への距離が、所定値以上であるかどうかを判定することにより、入力されたデータが、正常パターンの範囲内であるのか、異常であるかを判定することが可能となる。
なお、本実施の形態では、製造物の表面上の欠陥を、製造物の表面の撮影画像を用いて検出する例を説明したが、このような製造物の欠陥の検出のみに限るものではなく、例えば、監視カメラ画像からの異常・不審人物の検出等にも適用可能である。このような場合、監視カメラの動画像から、例えば、オプティカルフローを用いて動きベクトルを抽出する等して、それらの情報を入力パターンとして用いればよい。また、画像を利用するようなものに限らず、例えば、何らかの装置の動作状態監視において、装置の発熱量や振動、動作音等、複数のセンサ情報を利用し、その装置の動作異常検出するような場合にも適用可能である。また、本実施形態では、正常なパターンを単一のクラスとして扱うようにしたが、これに限るものではない。例えば、正常なパターンを、k平均法等で幾つかのクラスに分離しておき、それぞれのクラスを正常のクラスとみなし、このそれぞれに対して、同様の手法を適用するようにしても構わない。
以上のように、本実施形態では、正常であるとラベル付けされたデータ集合を用いて、第2実施形態と同様の射影規則を生成し、その射影規則を用いて、新たに入力されたパターンが、正常であるのか異常であるのかを検出する構成を説明した。
<<その他の実施形態>>
上述の構成例では、各クラスのデータ、もしくは正常なデータの全体が表現されるManifoldの構造を近似的に保存するための評価基準として、非特許文献6のIsomapと同様に、データ間の測地線距離を保存するという評価基準を用いた。しかし、これに限るものではなく、例えば、非特許文献7のLLEのように、近傍データとの、線形埋め込み関係を保存するという評価基準を用いるようにしてもよい。また、下記の非特許文献10のLaplacian Eigenmapsや、非特許文献11のLocality Preserving Projectionsのように、近傍であるデータ間の距離関係を保存するというような評価基準を用いても構わない。
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. また、上記の実施形態に係るパターン識別方法は、下記の非特許文献12の相互部分空間法や、非特許文献3の核非線形相互部分空間法等のような、相互空間比較の手法へも拡張も可能である。具体的には、まず、識別モードでの処理においても、登録モードでの処理と同様に、1つのクラスに属する多数のデータを入力し、そのデータに基づいて、登録モードでの処理と同様の基準で、入力した多数のデータにおける射影規則を生成する。そして、この生成した射影規則と、予め生成しておいた、各クラスの射影規則を比較することにより、複数の入力データ集合が、何れのクラスに類似しているかを識別する。この時の類似度としては、各射影規則により決まる射影空間同士の正準角を用いるようにすればよい。また、非特許文献13の制約相互部分空間法等のように、照明変動等の変動成分が、ほぼ含まれないとみなせる射影空間に、各上射影空間を射影し、それを比較することで、何れのクラスに類似しているかを識別するような手法へ拡張することもできる。 前田 賢一, 渡辺 貞一, "局所的構造を導入したパターン・マッチング法", 電子情報通信学会論文誌 D, Vol. J68-D No.3, pp. 345-352, March 1985. 福井 和広, 山口 修, 鈴木 薫, 前田 賢一, "制約相互部分空間法を用いた環境変動にロバストな顔画像認識", 電子情報通信学会論文誌 D-II, Vol. J82-D-II No.4, pp. 613-620, April 1999. 更に、上記説明した、第1実施形態、及び第2実施形態の、パターン識別の例では、人物の顔を切り出したグレースケール画像を入力データとして用いた。また、第3実施形態の、異常パターン検出では、表面粗し加工を施した金属板の表面画像を入力データとした。しかし、これに限るものではなく、その他のカテゴリの画像データや、音声データ、また、それらのデータから何らかの特徴抽出を行ったデータに対しても適用可能であることは明らかである。また、例えばWebコンテンツ等の一般的なデータであっても、各データの距離、及び、いくつかのパラメータによって定まる、そのデータに対する多次元空間への写像が定義できれば、上述の手法を適用することができる。この場合、(数1)、(数4)、または(数6)に示したような誤差関数を用い、写像を決めるパラメータを、それぞれに示した拘束条件の元で、この誤差関数が最小になるように定めてやればよい。
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、次のものが含まれる。即ち、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)等が含まれる。
その他、プログラムの供給形態としては、次のようなものも考えられる。即ち、クライアント装置のブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明に係るコンピュータプログラム、或いは、圧縮され自動インストール機能を含むファイルをHD等の記録媒体にダウンロードする形態も考えられる。また、本発明に係るプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、次のような供給形態も考えられる。即ち、まず、本発明に係るプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報の使用により暗号化されたプログラムを実行してコンピュータにインストールさせて本発明に係る構成を実現する。このような供給形態も可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、次のような実現形態も想定される。即ち、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づいても前述した実施形態の機能が実現される。即ち、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
パターン識別装置の機能構成を示したブロック図である。 登録モードの処理の手順を示すフローチャートである。 識別モードの処理の手順を示すフローチャートである。 射影規則生成部が実行する射影規則生成処理の手順を示すフローチャートである。 射影規則生成部が実行する射影規則生成処理の手順を示すフローチャートである。 処理対象となるパターンの例を示す図である。 異常パターン検出装置の機能構成を示すブロック図である。 正常パターンモデル化モードでの処理の手順を示すフローチャートである。 異常パターン検出モードでの処理の手順を示すフローチャートである。 射影規則生成部での処理の手順を示すフローチャートである。 カーネル関数を変更させながら、カーネル関数値結合荷重ベクトル群を求める処理の手順を示すフローチャートである。 パターン識別装置のハードウェア構成を模式的に示したブロック図である。

Claims (15)

  1. パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置であって、
    前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を、当該多様体の上でのデータ間の測地線距離と当該超平面における対応するデータ間の距離とが所定の距離条件を満たすように生成する生成手段と、
    識別対象データを入力する入力手段と、
    前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出手段と、
    前記算出手段において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別手段と、
    を備えることを特徴とするパターン識別装置。
  2. 前記超平面は、対応するクラスに属するデータ間の前記多様体の上での測地線距離を、ユークリッド距離として近似する
    ことを特徴とする請求項1に記載のパターン識別装置。
  3. 前記超平面は、対応するクラスに属し互いに近接するデータ間の、配置関係と、線形結合関係と、距離と、の少なくともいずれかを近似する
    ことを特徴とする請求項1に記載のパターン識別装置。
  4. 前記算出手段は、前記射影結果として射影長又は投影距離を算出する
    ことを特徴とする請求項1に記載のパターン識別装置。
  5. 前記生成手段は、前記超平面におけるデータ間の距離と、該超平面が近似する多様体の上での対応するデータ間の測地線距離と、の誤差を最小にする射影規則を生成する
    ことを特徴とする請求項1に記載のパターン識別装置。
  6. 前記生成手段は、
    同一のクラスに属するデータの、i番目、及びj番目のデータをxi、xjとし、前記i番目、及びj番目のデータ間の測地線距離をdM(i、j)としたとき、
    なる誤差関数J(A)を、ATA=Iの条件の下で最小化する、線形写像行列Aを前記射影規則として生成する
    ことを特徴とする請求項5に記載のパターン識別装置。
  7. 前記生成手段は、
    半正定値性を満たす実対称関数であるカーネル関数K(ξ、ζ)と、同一のクラスに属するデータであるxn(n=1、2、・・・)とを用いて、φ(x)=Σαn・K(x、xn)と表される非線形写像であるφ(x)を前記射影規則として生成する
    ことを特徴とする請求項5に記載のパターン識別装置。
  8. 前記超平面におけるデータ間の距離と、該超平面が近似する多様体の上での対応するデータ間の測地線距離とに基づいて、前記カーネル関数を変更するか否かを判定する判定手段と、
    前記判定手段が変更すると判定した場合に、前記カーネル関数の、関数形状とパラメータとの少なくともいずれかを変更する変更手段と、
    をさらに備えることを特徴とする請求項7に記載のパターン識別装置。
  9. 前記判定手段は、前記超平面における3つのデータ間の距離の大小関係と、該超平面が近似する多様体の上での対応する3つのデータ間の測地線距離の大小関係と、が一致しない場合に、前記カーネル関数を変更すると判定する
    ことを特徴とする請求項8に記載のパターン識別装置。
  10. 特徴空間において予め定義されたクラスに対応する多様体を近似する超平面への射影規則を、当該多様体の上でのデータ間の測地線距離と当該超平面における対応するデータ間の距離とが所定の距離条件を満たすように生成する生成手段と、
    処理対象データを入力する入力手段と、
    前記入力された処理対象データを、前記射影規則に基づいて、前記クラスに対応する多様体を近似する超平面へ射影した射影結果を算出する算出手段と、
    前記算出手段において算出された前記射影結果に基づいて、前記処理対象データが異常であるか否かを検出する検出手段と、
    を備えることを特徴とする異常パターン検出装置。
  11. 前記検出手段は、前記射影結果の射影長と投影距離との少なくともいずれかに基づいて前記検出を行う
    ことを特徴とする請求項10に記載の異常パターン検出装置。
  12. パターン識別の対象となるデータが、予め定義された複数のクラスのいずれに属するかを識別するパターン識別装置の制御方法であって、
    生成手段が、前記複数のクラスのそれぞれについて、特徴空間において該クラスに対応する多様体を近似する超平面への射影規則を、当該多様体の上でのデータ間の測地線距離と当該超平面における対応するデータ間の距離とが所定の距離条件を満たすように生成する生成工程と、
    入力手段が、識別対象データを入力する入力工程と、
    算出手段が、前記入力された識別対象データを、前記射影規則に基づいて、前記複数のクラスにそれぞれ対応する多様体を近似する超平面へ射影した射影結果を、各クラスについて算出する算出工程と、
    識別手段が、前記算出工程において算出された前記各クラスの射影結果に基づいて、前記識別対象データが前記複数のクラスのいずれに属するかを識別する識別工程と、
    を備えることを特徴とするパターン識別装置の制御方法。
  13. 生成手段が、特徴空間において予め定義されたクラスに対応する多様体を近似する超平面への射影規則を、当該多様体の上でのデータ間の測地線距離と当該超平面における対応するデータ間の距離とが所定の距離条件を満たすように生成する生成工程と、
    入力手段が、処理対象データを入力する入力工程と、
    算出手段が、前記入力された処理対象データを、前記射影規則に基づいて、前記クラスに対応する多様体を近似する超平面へ射影した射影結果を算出する算出工程と、
    検出手段が、前記算出工程において算出された前記射影結果に基づいて、前記処理対象データが異常であるか否かを検出する検出工程と、
    を備えることを特徴とする異常パターン検出装置の制御方法。
  14. コンピュータを請求項1から9のいずれか1項に記載のパターン識別装置、または、請求項10または11に記載の異常パターン検出装置として機能させるためのプログラム。
  15. 請求項14に記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体。
JP2008101833A 2007-04-11 2008-04-09 パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体 Expired - Fee Related JP5072693B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008101833A JP5072693B2 (ja) 2007-04-11 2008-04-09 パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007104212 2007-04-11
JP2007104212 2007-04-11
JP2008101833A JP5072693B2 (ja) 2007-04-11 2008-04-09 パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体

Publications (2)

Publication Number Publication Date
JP2008282391A JP2008282391A (ja) 2008-11-20
JP5072693B2 true JP5072693B2 (ja) 2012-11-14

Family

ID=39853769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008101833A Expired - Fee Related JP5072693B2 (ja) 2007-04-11 2008-04-09 パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体

Country Status (2)

Country Link
US (1) US8238673B2 (ja)
JP (1) JP5072693B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5144123B2 (ja) * 2007-05-16 2013-02-13 キヤノン株式会社 情報処理方法、情報処理装置
CN101414348A (zh) * 2007-10-19 2009-04-22 三星电子株式会社 多角度人脸识别方法和系统
US9910892B2 (en) 2008-07-05 2018-03-06 Hewlett Packard Enterprise Development Lp Managing execution of database queries
US8180167B2 (en) * 2008-07-16 2012-05-15 Seiko Epson Corporation Model-based error resilience in data communication
US8275762B2 (en) * 2008-10-21 2012-09-25 Hewlett-Packard Development Company, L.P. Reverse mapping of feature space to predict execution in a database
JP2010170184A (ja) * 2009-01-20 2010-08-05 Seiko Epson Corp 顔画像における特徴部位の位置の特定
US8363922B2 (en) * 2009-02-12 2013-01-29 International Business Machines Corporation IC layout pattern matching and classification system and method
JP5301310B2 (ja) * 2009-02-17 2013-09-25 株式会社日立製作所 異常検知方法及び異常検知システム
US8346710B2 (en) * 2010-01-29 2013-01-01 Google Inc. Evaluating statistical significance of test statistics using placebo actions
US9519865B2 (en) * 2011-06-24 2016-12-13 Halliburton Energy Services, Inc. Apparatus and methods of analysis of pipe and annulus in a wellbore
JP5607839B2 (ja) 2011-11-24 2014-10-15 パナソニック株式会社 診断支援装置および診断支援方法
US9213916B2 (en) * 2012-03-22 2015-12-15 The Charles Stark Draper Laboratory, Inc. Compressive sensing with local geometric features
US9613285B2 (en) 2012-03-22 2017-04-04 The Charles Stark Draper Laboratory, Inc. Compressive sensing with local geometric features
JP6171816B2 (ja) * 2013-10-04 2017-08-02 富士通株式会社 データ管理プログラム、データ管理装置およびデータ管理方法
JP6277710B2 (ja) 2013-12-20 2018-02-14 富士通株式会社 空間分割方法、空間分割装置および空間分割プログラム
JP6172678B2 (ja) * 2014-04-30 2017-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 検出装置、検出方法、およびプログラム
JP6453618B2 (ja) * 2014-11-12 2019-01-16 株式会社東芝 算出装置、方法及びプログラム
JP6751691B2 (ja) * 2017-06-15 2020-09-09 ルネサスエレクトロニクス株式会社 異常検出装置及び車両システム
JP7112924B2 (ja) * 2018-09-25 2022-08-04 エヌ・ティ・ティ・コムウェア株式会社 情報処理装置、情報処理方法、およびプログラム
CN110009020B (zh) * 2019-03-12 2021-06-15 宁波大学 一种基于多核主元分析模型的非线性过程监测方法
KR102408756B1 (ko) * 2019-03-18 2022-06-15 미쓰비시덴키 가부시키가이샤 이상 검지 장치 및 이상 검지 방법
CN111008668B (zh) * 2019-12-09 2023-09-26 上海熵熵微电子科技有限公司 一种数据奇异点的识别方法、装置、设备和介质
CN116188820B (zh) * 2023-01-12 2023-10-13 中国兵器装备集团自动化研究所有限公司 一种视觉目标处理方法、装置、设备及存储介质
CN116662794B (zh) * 2023-08-02 2023-11-10 成都凯天电子股份有限公司 一种考虑数据分布更新的振动异常监测方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030172A (ja) 2001-07-11 2003-01-31 Canon Inc 拘束条件付き最適化方法及びプログラム
US7379602B2 (en) 2002-07-29 2008-05-27 Honda Giken Kogyo Kabushiki Kaisha Extended Isomap using Fisher Linear Discriminant and Kernel Fisher Linear Discriminant
JP2004220138A (ja) * 2003-01-10 2004-08-05 Mitsubishi Heavy Ind Ltd 画像認識装置、及び、画像学習装置
US7526123B2 (en) * 2004-02-12 2009-04-28 Nec Laboratories America, Inc. Estimating facial pose from a sparse representation
US7412098B2 (en) * 2004-09-02 2008-08-12 Mitsubishi Electric Research Laboratories, Inc. Method for generating a low-dimensional representation of high-dimensional data
US20090324067A1 (en) * 2005-03-15 2009-12-31 Ramsay Thomas E System and method for identifying signatures for features of interest using predetermined color spaces
US7724961B2 (en) * 2006-09-08 2010-05-25 Mitsubishi Electric Research Laboratories, Inc. Method for classifying data using an analytic manifold
US7899253B2 (en) * 2006-09-08 2011-03-01 Mitsubishi Electric Research Laboratories, Inc. Detecting moving objects in video by classifying on riemannian manifolds
US7970727B2 (en) * 2007-11-16 2011-06-28 Microsoft Corporation Method for modeling data structures by creating digraphs through contexual distances

Also Published As

Publication number Publication date
JP2008282391A (ja) 2008-11-20
US8238673B2 (en) 2012-08-07
US20080253665A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
JP5072693B2 (ja) パターン識別装置及びその制御方法、異常パターン検出装置及びその制御方法、プログラム、記憶媒体
US11645835B2 (en) Hypercomplex deep learning methods, architectures, and apparatus for multimodal small, medium, and large-scale data representation, analysis, and applications
Bu et al. Hyperspectral and multispectral image fusion via graph Laplacian-guided coupled tensor decomposition
US20170243084A1 (en) Dsp-sift: domain-size pooling for image descriptors for image matching and other applications
Foytik et al. A two-layer framework for piecewise linear manifold-based head pose estimation
KR102010378B1 (ko) 객체를 포함하는 영상의 특징을 추출하는 방법 및 장치
JP5115493B2 (ja) パターン識別装置およびパターン識別方法
Liu et al. Learning deep sharable and structural detectors for face alignment
Ben et al. Kernel coupled distance metric learning for gait recognition and face recognition
Poh et al. An evaluation of video-to-video face verification
Kabiraj et al. Number plate recognition from enhanced super-resolution using generative adversarial network
Wang et al. Robust head pose estimation via supervised manifold learning
Liu et al. Supervised learning via unsupervised sparse autoencoder
Biswas et al. Multidimensional scaling for matching low-resolution facial images
Akhtar et al. Optical character recognition (OCR) using partial least square (PLS) based feature reduction: an application to artificial intelligence for biometric identification
Bengio et al. Nonlocal estimation of manifold structure
Giachetti Effective characterization of relief patterns
JP2010176504A (ja) 画像処理装置、画像処理方法及びプログラム
Rajpal et al. Ensemble of deep learning and machine learning approach for classification of handwritten Hindi numerals
Abdallah et al. Facial-expression recognition based on a low-dimensional temporal feature space
CN117455515A (zh) 一种在线侵权商品自动化巡检系统
Di Ruberto Histogram of Radon transform and texton matrix for texture analysis and classification
Evangelou et al. PU learning-based recognition of structural elements in architectural floor plans
Chen et al. Robust Semi‐Supervised Manifold Learning Algorithm for Classification
Ghebreab et al. Strings: variational deformable models of multivariate continuous boundary features

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120705

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120723

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120821

R151 Written notification of patent or utility model registration

Ref document number: 5072693

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees