(57)【要約】【課題】画像イメージから人間や動物の顔パターンを、高速かつ高精度に識別する手段を確立する。【解決手段】画像データに空間解像度の異なる空間フィルタを施す識別用粗視化部１０６を備え、各空間解像度には顔パターンを識別する顔識別部１０２が設けられている。この顔識別部１０２においては、非線形変換で定義される空間内に効率良い学習により張られた部分空間を利用して、顔パターンの識別を高精度に行う。識別は、空間解像度の最も低いものから、高いものへと階層的に行う。さらに、この一連の識別の前または後ろには、顔以外のパターンを検出する反例検出部１０４が設けられ、顔以外のパターンを検出することで、精度の向上を図っている。【選択図】　　　　図８
2004062721.tif 000002
【特許請求の範囲】
【請求項１】
画像データに含まれる顔パターンを、顔パターンに対する正規化変換がなされた画像データから識別する画像識別装置であって、
画像データに空間解像度の異なる空間フィルタを施して複数の粗視データを生成する粗視化手段と、
各解像度に設けられ、粗視データから顔パターンの特徴を識別する顔識別手段であって、その解像度の粗視データをその解像度で学習されたカテゴリと比較し、非線形変換によって定められる空間上で所定の位置関係にある場合には、対応する画像データにカテゴリの表す顔パターンが含まれている可能性が高いと判断する顔識別手段と、
を備え、
解像度の一番低い顔識別手段を起点として、ある解像度の顔識別手段によって顔パターンが含まれている可能性が高いと判断されたときは次に解像度の低い顔識別手段を実行することで、複数解像度を利用して階層的な顔パターンの識別を行う階層的顔パターン識別手段を有することを特徴とする画像識別装置。
【請求項２】
請求項１記載の画像識別装置であって、
画像データまたは所定の解像度の粗視データに対し、顔パターンが含まれないことを検出する反例検出手段を、階層的顔パターン識別手段の前または後ろに有し、
反例検出手段は、顔パターン以外を含む学習サンプルを用いた学習により、顔識別手段と同様にして、顔パターン以外が含まれている可能性が高いと検出することを特徴とする画像識別装置。
【請求項３】
請求項１または２記載の画像識別装置であって、
非線形変換はカーネル関数を用いた計算手段によって与えられることを特徴とする画像識別装置。
【請求項４】
請求項３記載の画像識別装置であって、
カテゴリは、複数の学習データを非線形変換して得られたベクトルの組を基底ベクトルとする部分空間によって構築されることを特徴とする画像識別装置。
【請求項５】
請求項４記載の画像識別装置であって、
部分空間を張る基底ベクトルは、新たな学習サンプルの非線形変換による写像が与えられた時に、この写像とそれまでに生成されている部分空間との関連性が高くなるように更新されることを特徴とする画像識別装置。
【請求項６】
請求項４記載の画像識別装置であって、
非線形変換を定義するカーネル関数は、学習サンプルの非線形変換による写像と、部分空間との関連性に応じて変形されることを特徴とする画像識別装置。
【請求項７】
請求項１乃至６のいずれか１記載の画像識別装置であって、各解像度に対応した顔検出手段は、装置内に設けられた並列演算装置により並列的に処理されることを特徴とする画像識別装置。
【請求項８】
画像データに含まれる顔パターンを、顔パターンに対する正規化変換がなされた画像データから識別する画像識別方法であって、
画像データに空間解像度の異なる空間フィルタを施して複数の粗視データを生成する粗視化工程と、
各解像度に設けられ、粗視データから顔パターンの特徴を識別する顔識別工程であって、その解像度の粗視データをその解像度で学習されたカテゴリと比較し、非線形変換によって定められる空間上で所定の位置関係にある場合には、対応する画像データにカテゴリの表す顔パターンが含まれている可能性が高いと判断する顔識別工程と、
を備え、
解像度の一番低い顔識別工程を起点として、ある解像度の顔識別工程によって顔パターンが含まれている可能性が高いと判断されたときは次に解像度の低い顔識別工程を実行することで、複数解像度を利用して階層的な顔パターンの識別を行う階層的顔パターン識別工程を有することを特徴とする画像識別方法。
【請求項９】
コンピュータに、
画像データに含まれる顔パターンを、顔パターンに対する正規化変換がなされた画像データから識別させる画像識別プログラムであって、
画像データに空間解像度の異なる空間フィルタを施して複数の粗視データを生成する粗視化手順と、
各解像度に設けられ、粗視データから顔パターンの特徴を識別する顔識別手順であって、その解像度の粗視データをその解像度で学習されたカテゴリと比較し、非線形変換によって定められる空間上で所定の位置関係にある場合には、対応する画像データにカテゴリの表す顔パターンが含まれている可能性が高いと判断する顔識別手順と、
を備え、
解像度の一番低い顔識別手順を起点として、ある解像度の顔識別手順によって顔パターンが含まれている可能性が高いと判断されたときは次に解像度の低い顔識別手順を実行することで、複数解像度を利用して階層的な顔パターンの識別を実行させる階層的顔パターン識別手順を有することを特徴とする画像識別プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像識別装置、特に画像データからのパターンの識別を効率良く行う画像識別装置に関する。
【０００２】
【従来の技術】
計算機を用いて、画像データから、特定のパターンを識別するためには、パターンそのものの形状の検出を確実に行う必要と、含まれているパターンのサイズや回転角度等が様々であることに対応する必要とがある。
【０００３】
前者に対する従来例としては、線形部分空間法、サポートベクトルマシン（ＳＶＭ）法、カーネル非線形部分空間法などがある。線形部分空間法では、複数のカテゴリ毎に部分空間を定め、未知のパターンがどの部分空間に最も関連しているかを評価し、そのパターンの属するカテゴリを判定している。しかし、この方法においては、カテゴリが多く、パターンの次元が低い場合には、検出精度が低下してしまう。また、非線形性をもつパターン分布に対する識別精度も低いという問題がある。
【０００４】
ＳＶＭ法は、カーネル関数を媒介に定義した非線形変換により、低次元のパターンを高次元に写像することで、非線形性をもつパターン分布の識別を可能とする方法である。しかし、２つのカテゴリの分類しか行うことができない点や、必要な計算量が多い点に問題を抱える。
【０００５】
カーネル非線形部分空間法は、これらの問題を解決するパターン識別方法として考案され、特開２００２−９０２７４公報に開示されている。この方法は、ＳＶＭ法と同様に、カーネル関数を用いて定義した非線形変換によりパターンを高次元に写像し、この高次元非線形空間上で部分空間法を実施している。
【０００６】
後者について、すなわち、様々なサイズや回転角度をもったパターンを検出するためには、従来は、非常に多くの学習サンプルを用いることで対応してきた。すなわち、上で述べた各パターン識別法などは、一般に特徴的なパターンをもつ学習サンプルを用いて、その特徴を示すカテゴリの分布を定めていく学習をおこなう。そこで、この学習サンプルとして、サイズや角度が様々に変えられたパターンを用いるだけでなく、サイズと角度を組み合わせた変形がなされた非常に多くのパターンについても用いる必要があった。
【０００７】
【発明が解決しようとする課題】
しかしながら、前記カーネル非線形部分空間法では、部分空間を張る基底ベクトルが、全学習サンプルの非線形空間への写像に基づいて定義されるため、学習サンプルが多くなると、依然として多くの計算が必要となる問題があった。本発明の課題は、画像中の人間や動物の顔パターンを、高速かつ高精度に識別する手段を確立する点にある。
【０００８】
【課題を解決するための手段】
本発明の画像識別装置は、画像データに含まれる顔パターンを、顔パターンに対する正規化変換がなされた画像データから識別する画像識別装置であって、
画像データに空間解像度の異なる空間フィルタを施して複数の粗視データを生成する粗視化手段と、各解像度に設けられ、粗視データから顔パターンの特徴を識別する顔識別手段であって、その解像度の粗視データをその解像度で学習されたカテゴリと比較し、非線形変換によって定められる空間上で所定の位置関係にある場合には、対応する画像データにカテゴリの表す顔パターンが含まれている可能性が高いと判断する顔識別手段と、を備え、解像度の一番低い顔識別手段を起点として、ある解像度の顔識別手段によって顔パターンが含まれている可能性が高いと判断されたときは次に解像度の低い顔識別手段を実行することで、複数解像度を利用して階層的な顔パターンの識別を行う階層的顔パターン識別手段を有することを特徴とする。
【０００９】
また、本発明の画像識別装置は、画像データまたは所定の解像度の粗視データに対し、顔パターンが含まれないことを検出する反例検出手段を、階層的顔パターン識別手段の前または後ろに有し、反例検出手段は、顔パターン以外を含む学習サンプルを用いた学習により、顔識別手段と同様にして、顔パターン以外が含まれている可能性が高いと検出することを特徴とする。
【００１０】
また、本発明の画像識別装置は、非線形変換はカーネル関数を用いた計算手段によって与えられることを特徴とする。
【００１１】
また、本発明の画像識別装置は、カテゴリは、複数の学習データを非線形変換して得られたベクトルの組を基底ベクトルとする部分空間によって構築されることを特徴とする。また、本発明の画像識別装置は、部分空間を張る基底ベクトルは、新たな学習サンプルの非線形変換による写像が与えられた時に、この写像とそれまでに生成されている部分空間との関連性が高くなるように更新されることを特徴とする。
【００１２】
また、本発明の画像識別装置は、非線形変換を定義するカーネル関数は、学習サンプルの非線形変換による写像と、部分空間との関連性に応じて変形されることを特徴とする。また、本発明の画像識別装置は、各解像度に対応した顔検出手段は装置内に設けられた並列演算装置により並列的に処理されることを特徴とする。
【００１３】
また、本発明の画像識別方法は、画像データに含まれる顔パターンを、顔パターンに対する正規化変換がなされた画像データから識別する画像識別方法であって、画像データに空間解像度の異なる空間フィルタを施して複数の粗視データを生成する粗視化工程と、各解像度に設けられ、粗視データから顔パターンの特徴を識別する顔識別工程であって、その解像度の粗視データをその解像度で学習されたカテゴリと比較し、非線形変換によって定められる空間上で所定の位置関係にある場合には、対応する画像データにカテゴリの表す顔パターンが含まれている可能性が高いと判断する顔識別工程と、を備え、解像度の一番低い顔識別工程を起点として、ある解像度の顔識別工程によって顔パターンが含まれている可能性が高いと判断されたときは次に解像度の低い顔識別工程を実行することで、複数解像度を利用して階層的な顔パターンの識別を行う階層的顔パターン識別工程を有することを特徴とする。
【００１４】
【発明の実施の形態】
以下に、本発明の好適な実施形態を図面を用いて説明する。図中、同一構成となるものについては説明を省略する。
【００１５】
図１のブロック図は、本発明の実施の形態に係る装置の構成を示している。装置は、演算を行うＣＰＵ２をはじめ、記憶部４、利用者の指示入力部６、表示部８、データ入力部１０、データ出力部１２、およびアプリケーションソフトウエア入力部１４を含む構成となっており、これらはデータを通信する通信網によって結ばれている。すなわち、この装置は、一般的なコンピュータ上で、本発明のアルゴリズムを記載したアプリケーションソフトウエアを実行することで実現される。利用者は、ＣＤ−ＲＯＭ等の記憶媒体や、ネットワークを介して頒布されたアプリケーションソフトウエアを、そのアプリケーションソフトウエア入力部１４を用いてコンピュータに入力し、キーボード等の指示入力部６を使ってＣＰＵ２に実行させる。ＣＰＵ２の動作は、オペレーティングシステム（ＯＳ）と呼ばれるソフトウエアの管理下にあり、利用者ならびにアプリケーションソフトウエアの指示は、このＯＳを通じてＣＰＵ２に伝えられる。本実施形態のアプリケーションソフトウエアやＯＳを始めとする演算実行上必要な情報は、メモリやハードディスク等からなる記憶部４によって一時的または恒久的に保持される。また、実行にあたって必要となる画像データは、ＣＣＤカメラ、スキャナ、ＣＤ−ＲＯＭ等の記憶媒体、あるいはネットワークによるデータ取得等のデータ入力部１０を通して得られる。そして、必要な演算は、そして、必要な演算がＣＰＵ２によって成されると、処理された画像データは、ＭＯ等の記憶媒体、ネットワークによるデータ転送、プリンタ等のデータ出力部１２を通じて出力される。また、利用者は、ディスプレイなどの表示部８によって、処理前後の画像データ等を見ることができる。
【００１６】
図２は、ＣＰＵ２によって行われる画像処理演算の概略を示すブロック図である。データ入力部１０から入力された画像データは、画像正規化部２０によって正規化変換を受け、さらにパターン識別部１００によって詳細なパターンの識別をされる。なお、ここで言う正規化とは、顔パターンの大きさ、回転角度、位置、明るさなどの条件を、パターン識別部１００の想定する状態（これを正規形と呼ぶことにする）へと変換することである。
【００１７】
画像正規化部２０で行われる正規化のための変換は基本的な部分変換からなる要素に分割されており、各部分変換をどのように行えばよいかは、それぞれの部分変換に対応した部分変換検出部２６が算出する。図示した例では、画像データのサイズ（拡大と縮小）に関係したサイズ部分変換検出部２６ａ、画像データの回転角度に関係した回転部分変換検出部２６ｂ、画像データのシフト（平行移動）に関係したシフト部分変換検出部２６ｃの３つの部分変換検出部２６を備える。これらの部分変換検出部２６は、後で詳しく述べるように、画像データに粗視化のための空間フィルタを施して得た粗視データに対して部分変換の状態検出を行い、その結果を正規化処理部２８に渡す。そして、正規化処理部２８は、変換にともなう誤差が最も小さいと判定された変換を画像データに施す。この一連の過程は、通常何度か繰り返され、最終的には、サイズ、回転、シフトの全てについて正規化が行われることになる。もちろん、顔パターンの状況によっては、繰り返しを行わないことも可能である。
【００１８】
パターン識別部１００は、画像正規化部２０によって正規化が行われた画像データに対し、空間フィルタを用いて様々な解像度の粗視データへと粗視化する処理を行い、さらにこの粗視データに対し、顔パターンの識別を行う顔識別部１０２を実行する。図示した例においては、主成分分析のモードを適当な次元だけ足し合わせる粗視化がなされており、２５次元の粗視データに対する顔識別部１０２ａと、１００次元の粗視データに対する顔識別部１０２ｂをはじめ、その間の解像度にも複数の顔識別部１０２が設けられている。また、最も高い次元である１００次元の粗視データに対し、顔パターン以外が含まれることを判定する反例検出部１０４が設けられている。後で詳細に記すように、顔パターンの識別は解像度が一番低い２５次元の顔識別部１０２ａから行われ、顔パターンがある可能性が高いと判定された場合には、次に低い解像度の顔識別部１０２が判定に用いられる。そして、最も解像度が高い１００次元においても、顔パターンのある可能性が高いと判定された場合には、最後に反例検出が行われる。
【００１９】
以下では、画像正規化部２０とパターン識別部１００の詳細な説明を行う。
【００２０】
図３のブロック図は、画像正規化部２０の構成の概略を示している。入力された画像データは、記憶部４に設けられた画像保持部３０に保持される。そして、正規化用粗視化部３２において、この画像データに対し空間解像度を落として大まかな特徴を取り出す粗視化を行い粗視データを得る。この粗視化のために用いる空間フィルタ手段は特に限定されないが、例えば、適当な画像データに対する主成分分析で得たモード成分のうち寄与率の大きな所定次元数のモード成分の和を算出する方法や、フーリエ分解を行い所定の解像度以上のモード成分を取り出す方法などを用いる。粗視化を行う理由は、データ量を減少させ、次に述べる正規化が高速で実行可能になることにある。
【００２１】
続いて粗視データは、並列的に複数配置された部分変換検出部２６に送られる。各部分変換検出部２６では、図４に模式的に示したように、粗視データを画像空間Ｇ内のベクトルｘであるとみなし、パターン識別のための非線形変換によって作られる空間Ｆに写像する。この空間Ｆに写像されたベクトルを写像ベクトルと呼ぶことにし、Φ（ｘ）と書く。部分変換検出部２６は、例えば、サイズと、回転と、シフトについて検出する場合には、サイズ部分変換検出部２６ａ、回転部分変換検出部２６ｂ、シフト部分変換検出部２６ｃからなる。そして、各部分変換検出部２６には、正規化用部分空間学習部３４、正規化用部分空間射影部３６、部分変換評価部３７が含まれ、さらに部分変換評価部３７には変換の大きさ評価部３８と推定誤差評価部４０が含まれる。空間Ｆ内には、正規化用部分空間学習部３４が学習サンプルを用いて事前に学習サンプルに特徴的なカテゴリを表す部分空間Ωを構築しており、写像ベクトルΦ（ｘ）は、正規化用部分空間射影部３６によって、この部分空間Ωに射影される。この射影されたベクトルを射影ベクトルと呼びΦ’（ｘ）と表記する。そして、変換の大きさ評価部３８は、射影ベクトルΦ’（ｘ）が部分空間Ωを張る基底ベクトルのうちのどれに近いかを評価して、変換に必要な大きさを算出する。例えば、サイズ部分変換検出部２６ａにおいては、学習時に、基底ベクトルΦ１は約１．５倍の大きさをもつ学習サンプルの近傍にあり、他の基底ベクトルΦ２は約２倍の大きさをもつ学習サンプルの近傍にあるといった対応関係を示すルックアップテーブルを作成している。変換の大きさ評価部３８ａは、このルックアップテーブルを参照して、現在の顔パターンを正規形に変換するためには何倍に拡大すればよいのかを算出することができる。また、推定誤差評価部４０は、写像ベクトルΦ（ｘ）と射影ベクトルΦ’（ｘ）の距離Ｅを基にして推定誤差を算出する。これは、距離Ｅが近ければ射影に含まれる誤差は小さく、距離Ｅが大きければ射影結果は大きな誤差を含むであろうと判断されることを意味する。
【００２２】
これらの結果は、変換判定部４２と変換実施部４４とを含む正規化処理部２８に渡される。そして、変換判定部４２は、どの部分変換検出部２６の推定誤差が最小となるかを判定する。例えば、回転部分変換検出部２６ｂの推定誤差が一番小さいときには、変換実施部４４が、対応する変換の大きさ（すなわち回転させる角度）の分だけもとの画像データを回転させ、画像保持部３０のもつ画像を更新する。更新された画像データは、必要に応じて、さらに複数回、同様の正規化を施される。繰り返しの基準は様々に考えられるが、例えば、あらかじめ所定の回数を設定する方法や、実空間において適当な対比データとから算出した相関、あるいは前記変換の大きさ評価手段が求めた値を所定の閾値と比較する方法などを用いることも可能である。
【００２３】
次に、部分変換検出部２６において用意される空間Ｆをカーネル関数を用いて構築する手段について、数学的表現を交えて詳細に説明する。カーネル関数を用いる方法において特徴的なことは、上で述べた写像ベクトルΦ（ｘ）の作成方法が陽に示されないことである。
【００２４】
粗視データを表す画像空間Ｇ上のｄ次元ベクトルｘを、ｄＦ次元の空間Ｆに写像する式（１）の非線形写像は、適当なカーネル関数ｋ（ｘ，ｙ）を選ぶことで、式（２）の関係を満たすように決められる。
【００２５】
【数１】
2004062721.tif 000003
ここで、φｉ（ｘ）は適当なカーネル関数の固有関数であり、対応する固有値をλｉである（ｉ＝１，．．．，ｎ）。
【００２６】
次に、粗視データのカテゴリを分類するｍ次元部分空間Ωを、空間Ｆに張る方法及びその学習方法を説明する。まず、部分空間Ωの基底ベクトルの初期値として、画像空間Ｇ上のｍ個のベクトルｘ１，．．．，ｘｍ（以下ではプレイメージと呼ぶ）に対応した部分空間Ω上のベクトルΦ１，．．．，Φｍを適当に決める。具体的には、例えば、一様乱数を発生させてランダムに与える。ここで、画像空間上の学習サンプルを示すｄ次元ベクトルｘを用いて、この部分空間Ωを修正するように、プレイメージを学習させることを考える。学習サンプルのベクトルｘの空間Ｆへの写像Φ（ｘ）を部分空間Ωに射影したベクトルΦ’（ｘ）は、基底ベクトルの一次結合で表現される。その結合係数をαｉとすると、この射影と、もとの写像ベクトルΦ（ｘ）との距離Ｅは式（３）−（５）で表される。
【００２７】
【数２】
2004062721.tif 000004
ここで、式（５）への変形には、カーネル関数の定義式（２）を用いている。また、係数αｉは、射影の定義に従いＥが最小の値をとるように、式（６）で与えられる。行列Ｋは、ｋ（ｘｉ，ｘｊ）を（ｉ，ｊ）成分とする行列である。
【００２８】
プレイメージの学習では、部分空間Ωと学習サンプルｘｉとの距離を最も減少させる方向にプレイメージをΔｘｉ動かす。このΔｘｉは最急降下法によって式（７）で与えられる。
【００２９】
【数３】
2004062721.tif 000005
ここで、ηは学習係数であり、正の定数である。また、行列ｇａｂ（ｘ）は、非線形写像によって空間Ｆに埋め込まれている多様体の計量テンソルであり、カーネル関数を用いて式（８）で与えられている。この学習は、高次元空間の線形最適化問題なので、非線形最適化問題に比べ収束性が良く、短時間で終了する。
【００３０】
次にカーネル関数の学習方法について記す。カーネル関数としては、初期には、ガウス関数カーネルや、多項式カーネルなどの既知の関数を与える。学習中には、カーネル関数を式（９）の等角写像によって変形する。
【００３１】
【数４】
2004062721.tif 000006
その学習則は、学習サンプルに対する係数αｉのばらつきが、どの係数αｉに対しても均一になるようにＣ（ｘ）を与えるものとする。具体的には、係数αｉのばらつきが既定値に対して大きい場合は、係数αｉに対応する部分空間の基底ベクトルのプレイメージｘｉ近傍に関して、Ｃ（ｘ）の値を大きくする。これにより、ｘｉの近傍は空間Ｆにおいて、式（１０）のように拡大される。
【００３２】
【数５】
2004062721.tif 000007
したがって、係数αｉを大きな値とする学習サンプルの数は相対的に減少し、係数αｉの学習サンプルに対するばらつきは減少する。逆に係数αｉのばらつきが既定値に対して小さい場合は、係数αｉに対応する基底ベクトルのプレイメージｘｉ近傍に関してＣ（ｘ）の値を小さくする。なお、ここで述べた方法では、Ｃ（ｘ）は部分空間Ωの基底のプレイメージに対してしか適用できないが、プレイメージ近傍に関してはプレイメージにおけるＣ（ｘ）の値を式（１１）のように外挿することで変更が可能となる。
【００３３】
【数６】
2004062721.tif 000008
ここで、学習に用いる学習サンプルの与え方について説明する。例えば、回転に関する正規化を行う場合には、画像中において正規化の対象となる顔パターンが画像の中心位置に正立（頭が上に、顎が下に配置される）する画像データを複数枚用意し、これらに対し−１８０度から１８０度までの範囲で一様乱数を用いて与えた角度、または等間隔に与えた角度に回転させる。また、シフトについては、同じく顔パターンが画像の中心位置に正立した画像を複数枚用意し、縦方向および横方向に、例えば半値幅が適当なピクセル数をもつガウス分布の乱数に従ってシフトさせる。乱数で与える代わりに確率密度が一様となるように規則的に与えても良い。サイズの場合にも、同様にして、顔パターンが画像の中心位置に正立した画像を拡大および縮小させれば良い。このようにして学習を行うことで、学習サンプルのもつ変換の大きさ（例えば回転の場合にはその角度）と、学習サンプルの部分空間への射影の関係が明らかになる。具体的には、例えば係数α１が大きければ９０度程度回転したものであるといった関係が導かれる。これを詳細に調べ、ルックアップテーブルや、適切な関数を作成することで、変換の大きさ評価部３８の評価手段が確立する。
【００３４】
以上の学習手続きにより、非線形変換で写像される空間Ｆに、粗視データをカテゴリ分けする部分空間Ωが張られる。学習の過程においては、プレイメージの学習およびカーネル関数の学習を交互に複数回反復するのが望ましいが、学習サンプルがあまり複雑でない場合には、どちらかの方法を１回だけ行うなどの簡略化をすることも可能である。
【００３５】
最後に、学習が完了し正規化が行われる段階において、画像正規化部２０が実行される手順の主要部分を図５に示したフローチャートを用いて説明する。画像データが入力される（Ｓ１）と、正規化用粗視化部３２は空間フィルタを用いて粗視データを作成する（Ｓ２）。粗視データは、サイズ部分変換検出部２６ａ、回転部分変換検出部２６ｂ、シフト部分変換検出部２６ｃに送られる。正規化用部分空間射影部３６は、式（６）で定義される射影の一次結合の係数αｉを求める（Ｓ３）。このαｉの求め方は、必ずしも式（６）の定義に従う必要はなく、適当な反復法を用いて式（５）のＥが最小となるように求めても良い。次に、変換の大きさ評価部３８が、こうして得られたαｉをルックアップテーブルと比較する等して変換の大きさを求め（Ｓ４）、推定誤差評価部４０は、Ｅの大きさ、あるいはＥの単調増加関数値を推定誤差として算出する（Ｓ５）。正規化処理部２８における変換判定部４２は、推定誤差が最小となる部分変換検出部２６を判定し（Ｓ６）、もとの画像データに対して、対応する変換の大きさで、変換を行う。こうして得られた画像データは、適当な判断基準に従って、再変換されるか否かが決められる（Ｓ８）。なお、先にも述べたように、この一連の演算において、式（１）で定義される非線形変換は直接は用いられず、したがって、その形状を知る必要もない。
【００３６】
図６に、サイズ、回転、シフトの各要素からなる正規化をおこなった結果を示す。この実験は、図の右側の写真で示したように、目の近傍を写した２つの写真が正規化されていく様子を、一回の変換毎に追跡したものである。右上の一連の写真では、初期（左上）に反転している写真が、最初のステップで約９０度半時計回りに回転され、次のステップでやや左にシフトされ、といった変換を受け、最後には正立した所望の大きさに正規化されている。左側の３次元のグラフは、この正規化の過程における、サイズ（倍率）、角度（度）、距離（ピクセル）を逐次追跡したものである。左上の黒丸は、初期の写真が、１８０度の回転と、１．３倍程度の拡大と、若干のシフトを受けていることを示している。そして、一回の変換毎に３つの座標軸のいずれか一つに沿って移動し、最終的に右側の正規化された位置に移っている。右下の一連の写真、及び対応する左のグラフの白丸も同様の流れを示しており、この場合には、拡大を中心に正規化が行われている。なお、ここでは、顔パターン全体ではなく目の近傍に限定しているが、顔パターン全体とした場合にも基本的な効果は全くかわらない。ただし、顔パターン全体とした場合には、図示した例とは、学習サンプルを変えなければならないことは言うまでもない。
【００３７】
なお、正規化用粗視化部３２で用いる空間フィルタの解像度には任意性があるが、ここで示した例では、主成分分析の方法により２５次元程度の粗視化を行っている。また、空間Ｆに張る部分空間Ωの次元もいろいろな値を取ることが可能であるが、ここでは２５次元とした。学習サンプルの数は、検出に必要な精度にもよるが、例えば、１００人程度の顔パターンを、各部分変換検出部２６で、一人につき１００通り程度変化させればよい。この結果、部分変換検出手段２６を３つ用いた場合には、全学習サンプル数は３万程度になる。一方、本実施の形態を用いずに同じ自由度を与えると、全学習サンプル数は１００万程度になってしまう。したがって、本実施形態を用いることで学習サンプル数を格段に軽減できることがわかる。また、部分変換検出部２６の検出する部分変換は、ここでは、サイズ、回転、シフトとした。これらの要素は、特に限定されないが、単純な変換をおこなうと変換が容易となる。すなわち、サイズおよび回転については、一次変換で記述できる形式を用い、シフトについては剪断性をもたない一様な平行移動を用いると良い。もちろん、扱うパターンの特性に応じて、これよりも複雑な変換を割り当てることもできる。また、画像データの輝度に関する変換等を割り当てることも可能である。
【００３８】
上に説明した非線形変換は、カーネル関数を用いて定義された。しかし、非線形変換の構築方法には任意性がある。ここではニューラルネットワークのアルゴリズムに従ったオートエンコーダを用いて非線形変換を行う方法について説明する。
【００３９】
図７に、オートエンコーダの概略を示す。オートエンコーダは、多層のパーセプトロンの一種であり、入力層６０のニューロン数と、出力層６２のニューロン数が同じで、中間層６４のニューロン数はこれよりも少なくなっている。
【００４０】
このオートエンコーダを部分変換検出部２６として用いるためには、次のようにする。まず、カーネル関数を用いる場合と同様にして作成した学習サンブルを入力層６０へ入力するとともに、同じ値を教師信号として出力層６２に与え、恒等写像を実現するように各シナプスの重みを学習させる。この学習は通常のバックプロパゲーション法で行うことができる。
【００４１】
こうして学習されたオートエンコーダの出力層６２の出力は、非線形変換による写像が作る空間Ｆを表現しているとみなすことができる。また、オートエンコーダの中間層６４のニューロンの出力は、空間Ｆ内に張られたカテゴリを分類する部分空間Ωへの射影に相当する。したがって、入力層６０に粗視データを入力し、中間層６４の出力を得ることで、正規化用部分空間射影部３６を実現することができる。また、学習時に、学習サンプルの特徴と中間層６４の出力との関係を調べ、ルックアップテーブルを作成することで、変換の大きさ評価部３８を実施することができる。さらに、推定誤差評価部４０が評価する推定誤差は、入力層６０のベクトルと出力層６２のベクトルとの距離、あるいはその単調増加の関数によって算出可能である。この距離が変換の精度に対応していることは、距離が短いほど空間Ｆへの写像が入力を精度よく近似できていることから明らかである。
【００４２】
以上に、画像正規化部２０によって、画像データを正規化する様子を説明した。ここからは、画像正規化部２０が出力した画像データから顔パターンを識別する、パターン識別部１００について説明する。
【００４３】
図８は、パターン識別部１００の構成を示すブロック図である。パターン識別部１００は、複数の空間解像度をもつ識別用粗視化部１０６と、各識別用粗視化部１０６に接続された顔識別部１０２、そして反例検出部１０４からなる。識別用粗視化部１０６は、画像正規化部２０における正規化用粗視化部３２と同様に、画像データに空間フィルタを施して粗視データを出力する役割を果たしている。その解像度は自由に設定でき、ここでは最低次元を２５次元、最高次元を１００次元とし、その間にも複数の識別用粗視化部１０６を設けている。顔識別部１０２は、各識別用粗視化部１０６に設けられており、顔パターンの識別を行う。
【００４４】
入力された画像データは、まず、空間解像度が最も低い識別用粗視化部１０６ａに入力され、図示した例においては、２５次元の粗視データに変換される。そして、粗視データは、顔識別部１０２ａに入力される。顔識別部１０２ａは、識別用部分空間学習部１０８ａ、識別用部分空間射影部１１０ａ、および識別用判定部１１２ａを含んでおり、画像正規化部２０で説明した部分変換検出部２６とよく似た動作を行う。すなわち、入力された粗視データは、カーネル関数で定義される非線形変換によって空間Ｆに式（１）のように写像される。この空間Ｆでは、識別用部分空間学習部１０８ａによって事前に学習が行われており、学習サンプルの顔パターンを特徴づける部分空間Ωが張られている。識別用部分空間射影部１１０ａは、空間Ｆに写像された写像ベクトルを、この部分空間Ωに射影する。これにより、射影された射影ベクトルの一次結合の係数αｉが決められ、射影の垂線の長さＥが式（５）から得られる。識別用判定部１１２ａは、両者の位置関係、すなわちＥの大きさを適当な閾値などで評価して、このデータを部分空間Ωのカテゴリに含めるか否かを判定する。閾値の決定は、適当なサンプルデータに対する正答率に基づくなどして決めればよい。判定の結果、顔パターンが含まれている可能性が高いと判断されると、次に解像度の低い識別用粗視化部１０６及び、対応する顔識別部１０２が実行される。
【００４５】
反例検出部１０４は、顔識別部１０２と同様の構成をしており、反例用部分空間学習部１１４、部分空間射影部１１６、および反例用判定部１１８を含んでいる。顔識別部１０２との違いは、反例用部分空間学習部１１４によって、顔以外のパターンが学習される点である。すなわち、顔以外のパターンを含む学習サンプルを用いて、顔以外のパターンが含まれることを特徴とする部分空間Ωが形成される。部分空間射影部１１６が非線形変換の写像をこの部分空間Ωに射影する点と、反例用判定部１１８が写像ベクトルと射影ベクトルの位置関係に基づいて分類を行う点は同じである。
【００４６】
顔識別部１０２と、反例検出部１０４の学習の方法も、画像正規化部において説明した方法と同様である。すなわち、顔識別部１０２においては、識別したい顔パターンの学習サンプルを複数用意し、それをもとに、部分空間の基底ベクトルに対応するプレイメージの更新と、カーネルの変形を行う。なお、このパターン識別部１００は、通常、画像正規化部２０によって正規化された画像データに対してパターン認識を行う。したがって、顔パターンは正規化されていることが期待できるので、学習サンプルはサイズ、回転角度、シフト等に関して正規化されたものだけを用いればよい。反例検出部１０４の学習サンプルとしては顔パターン以外のものを用いればよい。ただし、一般に顔識別部１０２によって識別しにくいものを学習させることで効果を発揮するので、正規化された顔パターンに類似した紛らわしいものを中心に学習させておくとよい。
【００４７】
図１０に、ここで述べた識別を試験的に実施した結果を示す。左側は、本発明を用いずに、５０次元に粗視化されたデータに対してのみ検出を実行している。一方、右側は、本実施例を用いた場合で、２５次元、５０次元、１００次元の３つの解像度に、顔識別部１０２を用いて階層的に検出を行った結果である。ただし、反例検出部１０４は含めていない。使用した画像データは、ひとつの画像データの中に複数の顔を含んでおり、その中から顔パターンを検出したものである。いずれも９０％の確率で顔を検出できる。横軸は、ひとつの画像データの中から顔以外のパターンを誤って見つけた個数であり、縦軸はその比率を示している。従来の方法では、間違いが無かった比率は６３パーセントで、間違いが１つだけ合った比率は２２パーセントであった。本発明では、この値はそれぞれ、８２パーセントと１４パーセントになっている。この結果、画像一つあたりの誤検出率は、０．４０個から、０．２４個に向上している。もちろん、１００次元の高解像度での検出には多くの計算時間を必要とするが、本実施形態では、２５次元の解像度において顔パターンが含まれる可能性が低いと判定した場合にはそれ以上の解像度での検出を行わないので、無駄な計算時間を必要とせず、効率的で高精度な検出が達成できている。なお、図示はしないが、この実験においてさらに、顔パターンが含まれないことを検出する反例検出部１０４を各解像度に含めた場合には、誤検出率はほぼ０になり、その有効性が確認できている。
【００４８】
最後に、本実施の形態における特徴的な点を列挙しておく。本実施の形態の画像正規化部２０により、入力された画像データにおける顔パターンの正規化を、非常に少ない学習サンプルをもとに学習しただけで、実現することができる。また、回転、拡大と縮小、平行移動などに分類して正規化を行うため、対応した学習サンプルだけを用いて学習させればよく、非常に効率的な学習が可能となる。また、正規化をニューラルネットワークを用いて行うため、非線形性をもつパターン分布に対しても容易に正規化を行うことができる。また、正規化をカーネル関数で定義された非線形変換を利用して行うため、非線形性をもつパターン分布に対しても精度よく正規化を行うことができる。また、並列計算機を用いて正規化を行えば、迅速な正規化の実行が可能となる。
【００４９】
本実施の形態のパターン識別部１００により、本質的に非線形性を有する顔パターンの特徴を、非線形変換を用いて高精度に識別できる。また、低分解能から高分解能へと階層化された判定を行うため、顔パターンが含まれないと容易に判定できるものに時間をかけることなく高速に識別できる。また、反例を検出する手段を併用することで、判定の精度が向上する。また、カーネル関数で定義される非線形変換を用いてパターンの識別が行われるので、信頼性の高い識別が可能となる。また、カテゴリを表す部分空間を、非常に高速に構築することができる。また、学習サンプルをもちいて部分空間における基底ベクトルを効率良く張り直すことができる。また、学習サンプルを用いてカーネル関数を容易に変形できるので、パターンの識別の向上を容易に図る事が可能となる。また、並列計算機を用いることで、各解像度におけるパターンの識別を効率良く計算することができる。
【００５０】
これら画像正規化部２０とパターン識別部１００は、お互いに補完しあうことで、非常に高精度で高速な顔パターンの識別が可能になる。
【図面の簡単な説明】
【図１】本実施形態の計算機の構成を示す概略図である。
【図２】画像正規化部およびパターン識別部の概略を示すブロック図である。
【図３】画像正規化部の詳細を示すブロック図である。
【図４】非線形変換の様子を表す模式図である。
【図５】画像正規化部の処理手順を示すフローチャートである。
【図６】画像正規化部の試験結果を示す図である。
【図７】画像正規化部に用いるオートエンコーダの概略図である。
【図８】パターン識別部の概略を示すブロック図である。
【図９】パターン識別部の処理手順を示すフローチャートである。
【図１０】パターン識別部の試験結果を示す図である。
【符号の説明】
２０　画像正規化部、２６　部分変換検出部、２８　正規化処理部、１００　パターン識別部、１０２　顔識別部、１０４　反例検出部。
【図１】
2004062721.tif 000009
【図２】
2004062721.tif 000010
【図３】
2004062721.tif 000011
【図４】
2004062721.tif 000012
【図５】
2004062721.tif 000013
【図６】
2004062721.tif 000014
【図７】
2004062721.tif 000015
【図８】
2004062721.tif 000016
【図９】
2004062721.tif 000017
【図１０】
2004062721.tif 000018