(57)【特許請求の範囲】
【請求項１】
入力画像信号に含まれる所与のオブジェクトを、複数の既知のオブジェクトの１つとを照合する方法であって、該既知のオブジェクトの各々の表示がデータベースに保存されるとともに、それに対応するコードブックを含み、各コードブックが、対応する既知のオブジェクトを含む、１つかそれより多くの対応するトレーニング画像信号に基づいて生成された複数のコードベクトルを含むものである方法において、
該所与のオブジェクトを含む入力画像信号の一部を複数のブロックに分解するステップと、
各入力ベクトルがそれに対応するブロックに基づくような、複数のブロックに対応する複数の入力ベクトルを生成するステップと、
該所与のオブジェクトを、１つかそれより多くの入力ベクトルと、該既知のオブジェクトに対応する１つかそれより多くのコードブックに含まれる１つかそれより多くのコードベクトルとに基づく既知のオブジェクトのうちの１つと照合するステップとを含み、
該所与のオブジェクトを該既知のオブジェクトの１つと照合するステップは、１つかそれより多くの入力ベクトルに基づいて、該所与のオブジェクトに対応するコードブックを生成するステップと、
該所与のオブジェクトに対応するコードブックを、該既知のオブジェクトに対応する１つかそれより多くのコードブックと比較するステップと、
該所与のオブジェクトに対応するコードブックと、該既知のオブジェクトに対応するコードブックとの比較に基づいて、該所与のオブジェクトを該既知のオブジェクトの１つと照合するステップとを含むことを特徴とする方法。
【請求項２】
該所与のオブジェクトに対応するコードブックを既知のオブジェクトに対応するコードブックと比較するステップが、各比較について平均二乗誤差を計算するステップを含む請求項１に記載の方法。
【請求項３】
該計算された平均二乗誤差から最小の平均二乗誤差を決定するステップをさらに含み、該所与のオブジェクトを既知のオブジェクトの１つと照合するステップが、所与のオブジェクトに対応するコードブックと比較する時最小の平均二乗誤差を生じるコードブックと対応する既知のオブジェクトを選択するステップを含む請求項２に記載の方法。
【請求項４】
該入力ベクトルを生成するステップが、ブロックにリニア変換を行うステップと、変換されたブロックに基づいて入力ベクトルを生成するステップとを含む請求項１に記載の方法。
【請求項５】
該リニア変換が、ディスクリート・コサイン変換を含む請求項４に記載の方法。
【請求項６】
該既知のオブジェクトに対応するコードブックが、ベクトル量子化コードブックを含む請求項１に記載の方法。
【請求項７】
該既知のオブジェクトに対応するコードブックに含まれるコードベクトルが、ｋ平均クラスタリング技術を使って、１つかそれより多くの対応するトレーニング画像信号から生成された請求項１に記載の方法。
【請求項８】
所与のオブジェクトを、所与のオブジェクトと一致する既知のオブジェクトとして識別するステップをさらに含む請求項１に記載の方法。
【請求項９】
該所与のオブジェクトの要求された同一性証明が所与のオブジェクトと一致する既知のオブジェクトからなることを検証するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
該所与のオブジェクトと、既知のオブジェクトの各々が人間の顔を含む請求項１に記載の方法。
【請求項１１】
入力画像信号からなる所与のオブジェクトを、複数の既知のオブジェクトの１つと突き合わせるためのシステムであって、該既知のオブジェクトの各々の表示がデータベースに保存されるとともに、対応するコードブックを含み、各コードブックが、対応する既知のオブジェクトを含む、１つかそれより多くの対応するトレーニング画像信号に基づいて生成された複数のコードベクトルを含むものであるシステムにおいて、
該所与のオブジェクトを含む入力画像信号の一部を複数のブロックに分解するための手段と、
各入力ベクトルがそれに対応するブロックに基づくような、複数のブロックに対応する複数の入力ベクトルを生成するための手段と、
１つかそれより多くの入力ベクトルと、該既知のオブジェクトに対応する１つかそれ以上のコードブックに含まれる１つかそれより多くのコードベクトルとに基づいて、該所与のオブジェクトを、該既知のオブジェクトの１つと照合するための手段とを含み、
該所与のオブジェクトを既知のオブジェクトの１つと突き合わせるための手段が、
１つかそれより多くの入力ベクトルに基づいて、該所与のオブジェクトに対応するコードブックを生成するための手段と、
該所与のオブジェクトに対応するコードブックを、該既知のオブジェクトに対応する１つかそれより多くのコードブックと比較するコンパレータと、
該所与のオブジェクトに対応するコードブックと、該既知のオブジェクトに対応するコードブックとの比較に基づいて、該所与のオブジェクトを該既知のオブジェクトの１つと照合するための手段とを含むことを特徴とするシステム。
【請求項１２】
該コンパレータが、各比較について平均二乗誤差を計算する請求項１１に記載のシステム。
【請求項１３】
該計算された平均二乗誤差から最小の平均二乗誤差を決定するための手段をさらに含み、該所与のオブジェクトを既知のオブジェクトの１つと照合するための手段が、既知のオブジェクトと対応するコードブックと比較される時最小の平均二乗誤差となるコードブックに対応する既知のオブジェクトを選択するセレクタを含む請求項１２に記載のシステム。
【請求項１４】
該所与のオブジェクトに対応するコードブックを生成するための手段が、ｋ平均クラスタリング技術を行うための手段を含む請求項１１に記載のシステム。
【請求項１５】
該入力ベクトルを生成するための手段が、ブロックにリニア変換を行うための手段と、変換されたブロックに基づいて入力ベクトルを生成するための手段とを備えてなる請求項１１に記載のシステム。
【請求項１６】
該所与のオブジェクトを、該所与のオブジェクトと一致する既知のオブジェクトとして識別するための手段をさらに含む請求項１１に記載のシステム。
【請求項１７】
該所与のオブジェクトの要求された同一性証明が、該所与のオブジェクトと一致した既知のオブジェクトを含むことを検証するための手段をさらに含む請求項１１に記載のシステム。
【請求項１８】
該所与のオブジェクトと、各既知のオブジェクトが人間の顔を含む請求項１１に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概して、自動化画像分析の分野に関し、特に画像に含まれる人間の顔を認識および識別する問題に関する。
【０００２】
【従来の技術、及び、発明が解決しようとする課題】
検証と識別を含む、静止画像またはビデオ・データからの顔の認識は大きなデータベースのビデオ検索、保安上のアクセスなどの無数のマルチメディア適用例を含む広い範囲の商業的な適用例がある。顔を認識する際の問題は、一般に以下のように説明される。静止画像またはビデオ・シーケンスが入力として与えられると、必要とされるタスクは、例えば以前に保存された顔のデータベースの内容に基づいて、入力された画像の中に１つかそれ以上の人物を認識することである。高品質の顔認識システムは、照明、背景、顔の表情、位置、縮尺に変化がある時や、入力された画像とデータベースの元になるトレーニング画像の間に髪型の違いがあっても、入力された画像すなわちテスト画像と保存されたデータベースを一致させることができるはずである。
【０００３】
顔識別の問題は、詳細には、入力された画像の人物が保存されたデータベースに含まれる人物の誰かに一致するか、もし一致するなら、どの人物と一致するかを判定する、一対多マッピングをシステムが行うことを要求する。他方、顔の認証の問題は、入力された画像が（充分に）データベースの中の１人の特定の個人のデータ（通常そのアイデンティティがシステムを使う人物によって要求される個人のためのデータ）に一致するかを判定する、一対一マッピングをシステムが行うことを要求する。顔の認証がセキュリティの分野で利用される一方、顔の識別はセキュリティと同様、新聞報道のような分野で利用され、そこでは多数のマルチメディア・データベースから特定の個人の画像を検索できることが望ましい。
【０００４】
通常の顔認識システムは、３つの部分、すなわち、データを分割して重要な部分または特徴を抽出する前処理ステップ、特徴選択ステップ、分類付けステップからなる。例えば、前処理ステップは、入力された画像を粗分割して背景のデータから顔のデータを分離するステップからなるか、または特徴を生じるために使われる目、鼻、口といった顔の部分の位置を見つけるためのより細かな分割を含む。前処理ステップはまた、顔の部分同士の位置関係といったフィーチャー・ベクトルを抽出する。いずれにしても、一度前処理がなされると、対象となる部分、すなわち顔は、通常画像の他の部分から抽出されて（寸法と位置について）標準化される。こうした前処理は従来通りで、本技術に普通に熟練した者には周知であるので、ここでの残りの議論は顔認識プロセスの特徴抽出および分類付け部分に焦点を当てる。
【０００５】
重要な顔の部分を抽出したり、または特定の顔の部分同士の位置関係を判定して、それらをデータベースと比較する識別用の特徴として使うことに基づく多数の顔認識のための技術が使われたり、および／または提案されてきた。あいにく、これらの方法は通常顔の部分を非常に高い精度で位置決めする能力に依存する。このことは画像が非常に良く管理された環境で捉えられないと、非常に困難である。さらに、これらの技術の大部分は画像のエッジの正確な検出や、照明の変化や多くの量のノイズを伴う質の低い画像に対して特に強くないローカル操作に依存する。
【０００６】
例えば、眼の間の距離、口の幅、眼から鼻への距離、眼から口までの距離といった位置関係を測定し、これらのパラメータを、それに対して入力（すなわち、テスト）データとトレーニング・データ（すなわち、データベースに保存されたデータ）の間で突き合わされる特徴として使おうとする技術は、例えば、Ｒ．Ｂｒｕｎｅｌｌｉ、Ｔ．Ｐｏｇｇｉｏ、「位置的特徴を通じた顔の認識」、Ｐｒｏｃ．Ｅｕｒｏｐｅ．Ｃｏｎｆ．ｏｎ Ｃｏｍｐｕｔｅｒ Ｖｉｓｉｏｎ、ｐｐ．７９２−８００、１９９２を含む。
【０００７】
他方、特徴選択プロセスのための顔の部分の位置決めに依存しない技術は、例えば、顔の認識のために良く知られたＫａｒｈｕｎｅｎ−Ｌｏｅｖｅ変換を使うＬ．Ｓｉｒｏｖｉｃｈ、Ｍ．Ｋｉｒｂｙ、「人間の顔の特徴づけのためのロー・ディメンショナル手続き」、Ｊ．Ｏｐｔ．Ｓｏｃ．Ａｍｅｒ．、ｖｏｌ４、ｐｐ．５１９−５２４と、顔の検出と認識のために「固有の顔」を定義して使用するＭ．Ａ．Ｔｕｒｋ、Ａ．Ｐ．Ｐｅｎｔｌａｎｄ、「固有の顔を使った顔の認識」Ｐｒｏｃ．Ｉｎｔ．Ｃｏｎｆ．ｏｎ Ｐａｔｔ．Ｒｅｃｏｇ．、ｐｐ．５８６−５９１、１９９１を含む。これらのアプローチの各々では、各人の顔は本質的に、あらかじめ定義された「固有の顔」の集合に適用される重みのベクトルとして示される。この特定のアプローチの弱点の１つは、入力された画像が「固有の顔」を計算するために収集された画像と縮尺や頭の位置の点で同じでない場合、認識率が大きく低下する点である。
【０００８】
最後に、顔の認識のためにニューラル・ネットワークも利用される。しかし、ニューラル・ネットワークのアプローチは、通常大量のトレーニング・データ（例えば、データベース中の各人について、数百の画像）を必要とするので、大きなデータベースが必要になるため、このアプローチを非実用的なものにしている。上記で説明された従来技術のアプローチは他のものと同様、Ｒ．Ｃｈｅｌｌａｐｐａ、Ｃ．Ｌ．Ｗｉｌｓｏｎ、Ｓ．Ｓｉｒｏｈｅｙ、「人間と機械による顔の認識：概観」、Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ ｔｈｅ ＩＥＥＥ、１９９５年５月で説明されている。
【０００９】
【課題を解決するための手段】
本発明は、顔の画像データに固有の特性の何らかの事前知識を組み込むことなく、一般的な画像の統計を利用する信号処理アプローチを利用するので有利である。もちろん、これは、大部分が発見的方法に基づき、一般的に、広い範囲の入力画像の変化に対して特に強くない、上記で説明された従来技術の「コンピュータ・ビジョン」アプローチとは対照的である。詳細には、本発明によれば、画像の中の顔というオブジェクトの認識は、認識されるオブジェクト（例えば、顔）を含む画像の一部がコード化され、それによって生じたコード化データが、既知のオブジェクト・データベースに保存された、前にコード化されたトレーニング・データと一致する画像の一部を含む、信号圧縮技術（すなわち、コーディング技術）を使って達成される。画像圧縮技術を使うことによって、各オブジェクト（例えば、人物の顔）は、小さな数の集合によって表すことができるので有利である。
【００１０】
例えば、本発明のある例示としての実施例によれば、オブジェクト（例えば、顔）を含む入力画像の一部がピクセル・データのブロックに分解され、各ブロックのピクセル・データに対して、例えば、ディスクリート・コサイン変換（ＤＣＴ）のような（リニア）変換が行われ、変換されたブロックは「ベクトル量子化」（ＶＱ）され、各人物についてコードベクトルのコードブックを発生する。（ブロックをベースとする変換はブロックの信号エネルギーを、少数の有意な変換係数にコンパクト化する効果を持ち、この係数は有利にもブロックを表すために使用できるので有利である。トレーニング集合の中のデータの各ブロックを示す変換係数は、コードベクトルのコードブックを生成するために使われる。）一般に、入力されるベクトルの数は、コードブックに保存されたコードベクトルの数よりはるかに大きい。従って、トレーニング・データを示すために必要なデータの量はさらに圧縮されるので有利である。
【００１１】
ブロックをベースとする変換（ＤＣＴを含む）とベクトル量子化（ＶＱ）は共に画像コーディングの分野で共通して使われる周知の技術であり、本技術に普通に熟練した者には周知の技術である。ディスクリート・コサイン変換は、例えばＮ．Ａｈｍｅｄ、Ｔ．Ｎａｔａｒａｊａｎ、Ｋ．Ｒａｏ、「ディスクリート・コサイン変換」、ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｍｐｕｔ．、ｖｏｌ２３、ｐｐ．９０−９３、１９７４に説明され、ベクトル量子化は、例えばＹ．Ｌｉｎｄｅ、Ａ．Ｂｕｚｏ、Ｒ．Ｍ．Ｇｒａｙ、「ベクトル量子化設計のためのアルゴリズム」、ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｍｍｕｎ．、ＣＯＭ−２８、ｐｐ．８４−９５、１９９０に説明されている。トレーニング・データからコードブックのコードベクトルを生成するために有利にも利用される例示としての技術の１つは「ｋ平均クラスタリング」として知られ、これも本技術に普通に熟練した者には周知の技術で、例えば、Ｓ．Ｐ．Ｌｌｏｙｄ、「ＰＣＭにおける最小二乗量子化」、ＩＥＥＥ  Ｔｒａｎｓ．Ｉｎｆｏｒｍ．Ｔｈｅｏｒｙ、ＩＴ−２８、ｐｐ．１２７−１３５、１９８２に説明されている。「ディスクリート・コサイン変換」、「ベクトル量子化設計のためのアルゴリズム」、「ＰＣＭにおける最小二乗量子化」はそれぞれ、ここで発表されたのと同様に、参照によってここに組み込まれている。
【００１２】
本発明のある例示された実施例によれば、入力画像信号の中の所与のオブジェクトはデータベースの中に保存された複数の既知のオブジェクトの１つと一致するが、その際、各既知のオブジェクトの保存された表示は、既知のオブジェクトを含むトレーニング画像信号に基づいて生成するコードブックを含む。第１の例示としての実施例は、所与のオブジェクトをブロックに分解するステップと、各エンコーディングがコードブックの１つを使ったオブジェクトのコーディングからなる、所与のオブジェクトの複数のエンコーディングを行うステップと、各エンコーディングについてコーディングの誤差を判定するステップと、コーディングの誤差に基づいて、所与のオブジェクトを既知のオブジェクトの１つと突き合わせるステップとを含む。第２の例示としての実施例は、所与のオブジェクトをブロックに分解するステップと、ブロックに基づいて所与のオブジェクトに対応するコードブックを生成するステップと、所与のオブジェクトに対応するコードブックを各既知のオブジェクトに対応するコードブックと比較するステップと、所与のオブジェクトをコードブックの比較に基づいて既知のオブジェクトの１つと突き合わせるステップとを含む。
【００１３】
【発明の実施の形態】
図１は、既知の顔のためのデータが、本発明の例示としての実施例に従って構成されるデータベース発生プロセスの略図である。各々が既知の個人の顔の異なった「絵」を含む多数の異なったトレーニング画像が、有利にも図１のプロセスに提供され、それによって、異なった照明、背景、顔の表情、姿勢、縮尺等といった種々の条件下での所与の既知の顔の画像をより完全に反映するコードブックが作り出される。詳細には、図１のプロセスは有利にも、その顔がデータベースに含まれている各人物について繰り返されるので、異なったコードブックが、トレーニング集合の中の異なった人物の各々について、図１のプロセスによって生成される。図示されるように、１つかそれ以上のトレーニング画像（各々が、トレーニング集合の中のｉ番目の人物の顔の画像を含む）が処理され、その１人の特定の人物のためのコードベクトルの集合を含む、コードブック２３−ｉとなる。
【００１４】
図面を参照すると、（上記で説明したように）第１プリプロセッサ２１は入力された画像から関心のある領域（すなわち、顔）を抽出し、縮尺を標準化する。従って、それ以降の処理はすべて、有利にも顔について（しかも顔だけについて）行うことができ、システムに提出される顔はすべて同じ縮尺（すなわち、サイズ）となる。プリプロセッサ２１によって行われる前処理は従来通りで本技術に熟練した者には周知である。
【００１５】
前処理が完了した後、画像の抽出された部分はブロックに分解され、各ブロックに対して、変換２２によって、リニアな、ブロックをベースとする変換が行われる。ブロックは、例えば、８×８の寸法の領域（すなわち、８ピクセル対８ピクセルの寸法の正方形）からなるか、または、１６×１６の寸法でも良い。ブロックは画像の範囲にわたって隣接しているか、または、好適には、重なっている（例えば、各範囲について２ピクセルずつ）。リニア変換の演算子を元の信号に適用することによって、より有効な表現が得られ、そこではデータは統計的に独立（または少なくとも非相関的）である。さらに、リニア変換はまた、一般にすべての信号圧縮技術にとって望ましい特性である、大きなエネルギーのコンパクト化を提供する。画像データ圧縮の分野で普通に使われる変換の１つが２方向ディスクリート・コサイン変換（ＤＣＴ）であり、本技術に普通に熟練した者には周知である。ＤＣＴは上記で言及した長所の各々を提供し、現在静止画像と動画の両方について、すべての国際圧縮規格のための基礎単位である。
【００１６】
変換２２の変換を各画像ブロックに行うことによって、これらのブロックの各々は少数のＤＣＴ係数によって表示できるので有利である。特に、変換２２は、（Ｂ×Ｂ）ブロックの変換から得られる（Ｂ×Ｂ）係数から、最大の信号エネルギー内容を持つ（Ｌ）係数のみを提供する。例えば、ブロックの寸法が８×８（すなわち、Ｂ＝８）の時、Ｌ＝８というＤＣＴの係数が提供されるので有利である。また、例えば、ブロックの寸法が１６×１６（すなわち、Ｂ＝１６）の時、Ｌ＝１６というＤＣＴの係数が提供されるので有利である。本技術に普通に熟練した者には周知であるように、最大の信号エネルギー内容を持つＤＣＴ係数は通常低い周波数の係数に対応する。
【００１７】
トレーニング・データ中の各ブロックについて（生成され提供された）ＤＣＴ係数は、組み合わされて対応するベクトルとなり、その結果生じたベクトルの集合は、コードブック発生装置２５によって、ＶＱコードブックをデザインするために使われる。このコードブックはデータベース中の所与の既知の個人の顔を表すデータを含んでいる。コードブック・ベクトルの数は、通常それらが生成される元となった（ＤＣＴ）ベクトルの総数よりはるかに小さいことに留意されたい。例えば、１０００以上の入力ベクトルが有利にもコードブック発生装置２５に供給され、それらは１００以下（例えば６４）のコードブック・ベクトル（すなわち、コードベクトル）を含むコードブックにマッピングされる。コードブック発生装置２５によって行われるコードブックのデザインは、例えば、良く知られた「ｋ平均クラスタリング」技術か、または信号圧縮の分野で良く知られている、トレーニング・ベクトルのデータからコードブックをデザインするための従来の技術からなる。
【００１８】
図３は図１の例示としてのトレーニングの手続きのコードブック発生装置２５によって行われるコードブック発生プロセスの例示としての流れ図である。上記で説明したように、有利にも顔がデータベースに示される各人物について行われる、図１のプロセスの終了結果は、その人物の顔を含む１つかそれ以上のトレーニング画像に基づいて、所与の人物のためのコードブックを生成することである。従って、コードブックＣp が、各人物について生成されるので、ｐ＝１、２、．．．、Ｎ。この時Ｎは、データベース中の人物（すなわち、顔）の数である。各コードブックは複数のコードベクトルｙi からなり、この時ｉ＝１、２、．．．Ｍであり、この時Ｍは各コードブックのサイズ（すなわち、そこに含まれるコードベクトルの数）である。この例では、Ｍは６４に等しい。各コードベクトルは、上記で説明したように、Ｌの値（すなわち、ＤＣＴ係数）からなる。この例では、ブロックは８×８の寸法であり、Ｌは８である。
【００１９】
図３に示す例示としての手続きは、トレーニング・ベクトルを一連の「中間」コードブックＣp0、Ｃp1、．．．Ｃpm．．．と繰り返し突き合わせ、各反復の際に、最終的な基準が合致するまでコードブックを変更する（すなわち、コードブックＣpmを改良されたコードブックＣpm+1によって置き換える）、反復プロセスを含む。最終的な反復から生じたコードブックは、データベースの中の特定の個人の顔を表すために使われるコードブックになるので有利である。
【００２０】
詳細には、図３の例示としての手続きは、最初の反復で使われるコードブックＣp0を初期化して、コードベクトルの無作為の集合にする、ステップ３１から始まる。これらの無作為に選ばれたコードベクトルは、例えば、トレーニング集合からの最初のＭベクトルを含むか、または、無作為の値を生成することによって選択される。その後、各反復ｍで、ステップ３２は、トレーニング・ベクトルの（完全な）集合を使って、「クラスタ集合」を形成するが、それは本技術に熟練した者には周知である。詳細には、各トレーニング・ベクトルｘj （この時ｊ＝１、２、．．．Ｊ）は、コードブックＣpmの中の各コードベクトルｙpi（この時ｉ＝１、２、．．．Ｍ）と突き合わされ、誤差関数ｄ（ｘj ，ｙpi）を計算する。この突き合わせの結果、各トレーニング・ベクトルｘj は、対応する１つのコードベクトルｙi に関連するクラスタの集合Ｒi に割り当てられ、すなわち以下の式となる。
Ｒi ＝｛ｘ：ｄ（ｘ，ｙpi）＜ｄ（ｘ，ｙPk）すべてについてｋ≠ｉ｝
すなわち、各クラスタの集合Ｒi は、すべてのトレーニング・ベクトルｘからなり、トレーニング・ベクトルｘとｉ番目のコードベクトルｙpiの間の誤差（すなわち、差）は、トレーニング・ベクトルｘとコードブックの中の他のどのコードベクトルとの間の誤差よりも小さい。言い換えれば、各トレーニング・ベクトルは、誤差関数ｄ（ｘ，ｙ）によって決定される、「最も近い」現行のコードブックの中のコードベクトルに関連するクラスタに割り当てられる。誤差関数ｄ（ｘ，ｙ）は何らかの適当な誤差の計量である。例えば、ｄ（ｘ，ｙ）は、本技術に普通に熟練した者には周知の、従来の平均二乗誤差（ｍｓｅ）の計量である。
【００２１】
ステップ３３では、新しいコードブックＣpm+1が、ステップ３２の分析から生じたクラスタの集合に基づく次の反復で使うために展開される。詳細には、各クラスタの集合Ｒi について、集合の重心（すなわち、集合の中の独立したベクトルのｎ次元の加重平均）が計算される。その後、（次の反復のための）新しいコードブックが、各ｉ＝１，２、．．．、Ｍについて、計算された重心ｃｅｎｔ（Ｒi ）を含むように構成される。誤差の計量として平均二乗誤差が使われる場合、重心は減少して算術的平均になることに留意されたい。すなわち、Ｒi ＝ｘj （ｊ＝１，２、．．．、‖Ｒi ‖）であり、‖Ｒi ‖が集合Ｒi の濃度 （すなわち、元の個数）である時、次の式になる。
【数１】
0003649311.tif 000002
【００２２】
ステップ３４では、所与の反復に関する総ひずみの大きさＤm が、トレーニング・ベクトルの各々とそれがクラスタをなす重心の間の距離に基づいて計算される。すなわち、
Ｄm ＝Σｄ（ｘj ，ｃｅｎｔ（Ｒi ））
であり、この時、合計はすべてのｊ＝１，２、．．．、Ｊについて（すなわち、すべてのトレーニング・ベクトルについて）行われる。こうして、Ｄm は、コードブックＣpmがトレーニング・ベクトルの所与の集合をコード化する正確さの度合いを含む。最後に、決定ステップ３５は、前の反復から現在の反復へのコードブックの質の改善の度合いを測定するために、計算されたひずみの大きさ（Ｄm ）と前の反復の際計算されたひずみの大きさ（Ｄm-1 ）の間の差を計算する。この差が所定のしきい値ＴD 以下である場合、さらに反復を行うことによって得られそうなコードブックの質の改善は小さいので、反復は有利にも終了される。
【００２３】
一度既知の顔を表すコードブックのデータベースが作り出されると、顔の認識が、本発明の原理に従って、データベースに含まれるコードブックの集合に基づいて行われる。図２は、本発明の例示としての実施例による顔認識プロセスの略図である。例えば、図１および図３の例示としての手続きを使って生成したものとして、コードブックのデータベース（例えば、コードブック２３−１，２３−２、．．．、２３−Ｎ）を与えられると、図２に示すような例示としての実施例は、入力画像信号からなる人物の顔を識別する（または顔の同一性を検証する）ために使われる。
【００２４】
第１に、図１の例示としてのコードブック発生プロセスと同一の方法で、プリプロセッサ２１は入力された画像から関心のある領域（すなわち、顔）を抽出し、縮尺を標準化する。従って、これ以降の処理はすべて、有利にも顔について、（しかも顔だけについて）行われ、システムに提示される顔はすべて同じ縮尺（すなわち、サイズ）である。ここでも、プリプロセッサ２１によって行われる前処理は、従来通りであり、本技術に熟練した者には周知である。
【００２５】
前処理が完了した後、再び図１の例示されたコードブック発生プロセスと同一の方法によって、入力された画像の抽出された部分がブロックに分解され、変換２２によって、リニアな、ブロックをベースとする変換が各ブロックについて行われる。ここでも、ブロックは、例えば、８×８の寸法かまたは１６×１６の寸法であり、それらは画像空間にわたって隣接しているか、好適には、重なり合っている。コードブック２３−１から２３−Ｎの生成の際に使われたのと同じ（ＤＣＴのような）変換が、図２の顔認識プロセスでも使われるので有利である。さらに、同じブロックのサイズが使われるので有利であり、同じ（Ｌ）係数の集合が提供されるので有利である。
【００２６】
一度ＤＣＴ入力ベクトルが変換２２によって提供されると、選別機２４が、（既知の）顔のコードブック２３−１から２３−Ｎに基づいて、入力された画像に含まれる顔を識別する（または、顔の検証の場合、検証する）ために使われる。詳細には、選別機２４は、例えば、どのコードブックが入力された画像から得られた入力ベクトルと最も良く一致するかを判断する。顔識別の場合、「最も一致する」コードブックに関連する顔が最も有力な候補として識別される。しかし、比較の基礎となる誤差の計量（例えば、以下の議論を参照）が、既知の顔のコードブックのいずれについても「十分に」小さな総誤差の値（例えば、所定のしきい値以下）を提供せず、（それによって「十分に良い」組み合わせが見つからないことが示される）場合、システムは既知の顔のいずれをも入力された画像の顔として認識しない。むしろ、システムは単純に、顔が画像の中にある人物は、実際に、顔のデータが以前に収集され、データベースに保存された人々の中の誰でもないと判断する。
【００２７】
顔の検証の場合、システムは、要求されたアイデンティティが、入力された画像の中の顔と最も良く一致すると判断された既知の顔のコードブックと一致するかどうかに基づいて、要求されたアイデンティティを検証または拒絶（すなわち、検証に失敗）する。または、システムは入力された画像が、要求されたアイデンティティの顔に関連する特定のコードブックに関して分析された時得られる総誤差の計量が「十分に」小さく、それによって入力された画像の中の顔と要求されたアイデンティティの顔の間に十分「良好な」一致が示されるかどうかに基づいて、要求されたアイデンティティを検証または拒絶する。
【００２８】
本発明のある実施例によれば、どの既知の顔のコードブックが入力された画像の顔と最良の一致を提供するかの決定は、多数の異なった方法で行うことができる。例えば、図２の例示としての顔認識プロセスの選別機２４の動作の２つの例示としての実施例が、それぞれ図４および図５に示される。
【００２９】
図４は、本発明の第１の例示としての実施例による図２の例示としての顔認識プロセスの選別機２４の動作の流れ図である。この実施例によれば、既知の顔のコードブックの各々は入力画像ベクトルをエンコーディングするために使われ、総コーディング誤差はそのエンコーディングの各々について決定される。その後、総コーディング誤差の最も低いエンコーディングが決定され、そのエンコーディングで使われたコードブックに対応する顔が、入力された画像の顔と最も良く一致する顔として識別される。
【００３０】
詳細には、図４を参照すると、例示としてのプロセスはステップ４１から始まり、そこでは入力された画像ベクトルの複数の従来のＶＱコードブックのエンコーディングが行われ、こうしたエンコーディングの各々は既知の顔のコードブック（すなわち、コードブック２３−１から２３−Ｎ）の異なった１つを使って行われる。詳細には、また本技術に普通に熟練した者には周知であるように、これらのエンコーディングの各々は、入力された画像ベクトルのための所与のコードブックからのコードベクトルの１つを選択することからなり、その際、選択は、例えば平均二乗誤差のような誤差の計量に基づいてなされる。
【００３１】
選択されたコードベクトルは、入力されたベクトルとの「最良の一致」を提供するものである。すなわち、コードベクトルは、各入力ベクトルについて、入力ベクトルとコーディング（すなわち、選択されたコードベクトル）の間の誤差（すなわち、差）を有利にも最小にするように選択される。従って、コードベクトルｙpiを含む各コードブックＣp （この時ｐ＝１，２、．．．、Ｎ）について、各入力ベクトルｘj （この時ｊ＝１、２、．．．、Ｊ）は各コードベクトルと比較され、最小の誤差を生じる１つが決定され、誤差関数ｄ（ｘ，ｙ）が与えられる。詳細には、コードブックＣp を使った入力ベクトルｘj のコーディングに関する最小誤差を表すｄpmin（ｘj ）は、各入力ベクトルｘj について、以下のように決定される。
【００３２】
ｄpmin（ｘj ）＝｛ｄ（ｘj ，ｙpi）：ｄ（ｘj ，ｙpi）＜ｄ（ｘj ，ｙpk）
すべてｋ≠ｉ、但しｉ、ｋ＝１、２、．．．Ｍ｝
【００３３】
各エンコーディングが行われた後、図４の例示としての手続きのステップ４４は、各エンコーディングについて（すなわち、すべてのｐ＝１、２、．．．、Ｎについて）総誤差Ｄp を計算する。これらの総誤差は単に個別のコーディング誤差の合計であり、以下のように計算される。
Ｄp ＝Σｄpmin（ｘj ）
この時合計はすべてのｊ＝１、２、．．．、Ｊについて行われ、ｄpmin（ｘj ）の個別の値は、上記で示したように、各入力ベクトルｘj のコーディングの際に、対応するコードブックＣp を使って決定される。従って、これらの総誤差の値はコードブックの各々について行われたエンコーディングの全体的な質（すなわち、正確さ）を表す。（もちろん、ステップ４４が、ステップ４１で行われるエンコーディングから分離した別個の動作として行われる必要を回避して、これらの総誤差の値がまた、有利にもエンコーディング・プロセスの間にそれ自体の一部として計算されることもあることに留意されたい。）
【００３４】
図４の例示としての手続きを完了すると、ステップ４５は、エンコーディング全体から得られた最小の総誤差の値（すなわち、Ｄp が最小になるｐの値）を判断し、ステップ４６は、最小の総誤差（すなわち、最上のエンコーディング）を達成したエンコーディングの際に使われたコードブックによって示される既知の顔を選択する。この方法で、入力された画像から得られた顔は、関連するコードブックが与えられた顔の「最良の」エンコーディングを生じるデータベースの中の既知の顔として識別されるので有利である。
【００３５】
図５は、本発明の第２の例示としての実施例による図２の例示としての顔認識プロセスの選別機２４の動作の流れ図である。この例示としての実施例は、図４の例示としての実施例よりもわずかに性能を低下させるだけで、コンピュータの使用上より簡単な技術が提供される。詳細には、この第２の例示としての実施例は、入力された画像についてコードブックを生成し、その後「最上の一致」を決定するためにこのコードブックを既知の顔のコードブックの各々と比較する。ここでも、図４の例示された手続きのように、最も低い総誤差が、最上の一致を示すものと考えられる。しかし、図４および図５の例示としての手続きの間の差は、（Ｊ）個の入力ベクトルの各々のコーディング（それは、例えば、数千のベクトルのコーディングを必要とする）よりもむしろ、図５の手続きの中で、ステップ４２が例示するように、Ｍ個（例えば６４）のコードベクトルだけを含むコードブックを発生することにある。その後、このより制限されたベクトルの集合（すなわち、通常Ｊ＞＞Ｍの時、Ｊ個の入力ベクトルでなく、Ｍ個のコードベクトル）が、Ｎ個のコードブックを使ってエンコードされ（ステップ４３）、これらの（簡単な）エンコーディングの各々から得られた総誤差が（ステップ４４〜４６で）使われて、最小の総誤差を持つコードブックによって表される既知の顔を選択する。
【００３６】
詳細には、ステップ４２のコードブックの生成は、本質的には図３で示したような、既知の顔のコードブックを生成する単に例示的に使われたのと同じ手続きからなる。しかし、この場合、図３の例示としてのトレーニングの手続きは、トレーニング画像データではなく、入力画像データに適用される。（トレーニング画像ベクトルが有利にも得られる潜在的に多くの画像があるのに対して、入力画像ベクトルが得られるのは通常１つの画像だけしかないことに留意すべきである。）従って、図４の例示としての手続きの代わりに、図５の例示としての手続きを使うことの利点は、Ｎ個のコードブックの各々について、Ｊ個の（入力画像から得られた）コードベクトルを、Ｍ個の（トレーニング画像から得られた）コードベクトルと比較しなければならないのとは違って、Ｎ個のコードブックの各々について、Ｍ個の（入力画像から得られた）コードベクトルをＭ個の（トレーニング画像から得られた）コードベクトルと比較するだけで良いということである。通常、Ｊ＞＞Ｍなので、このことは計算量の大きな節約になるので有利である。ここでも、使われる誤差の計量は平均二乗誤差であるか、または、本技術に普通に熟練した者には周知の、何らかの他の誤差の計量でもよい。
【００３７】
ここでは本発明の多数の特定の実施例が示され説明されたが、これらの実施例は、本発明の原理の適用例の中で考案できる多くのありうる特定の配置を例示したものに過ぎないことが理解されるべきである。例えば、上記の説明は人間の顔の認識に焦点を当てているが、本技術に熟練した者には、本発明の技術が、所与のオブジェクトが、その表示がデータベースに保存されている複数の既知のオブジェクトの１つと一致する、何らかの一般的な画像認識に適用可能なことが理解されるだろう。さらに、上記で説明された本発明の実施例は、例えば、入力ベクトルとコードベクトルの間の差を測定するために平均二乗誤差を利用しているが、他の実施例は、例えば、知覚的基準を組み込んだ知覚的計量を含む、他の誤差の計量を使うことができる。こうした知覚的計量は本技術に熟練した者には周知である。本技術に普通に熟練した者によって、本発明の精神と範囲から逸脱することなく、本発明の原理に従って無数の多様な装置が得られる。
【図面の簡単な説明】
【図１】既知の顔のためのデータが本発明の例示としての実施例に従って構成される、データベース発生プロセスの略図である。
【図２】本発明の例示としての実施例による顔認識プロセスの略図である。
【図３】図１の例示としてのデータベース発生プロセスの例示としてのコードブック発生装置の流れ図である。
【図４】本発明の第１の例示としての実施例による図２の例示としての顔認識プロセスの選別機の流れ図である。
【図５】本発明の第２の例示としての実施例による図２の例示としての顔認識プロセスの選別機の流れ図である。
【図１】
0003649311.tif 000003
【図２】
0003649311.tif 000004
【図３】
0003649311.tif 000005
【図４】
0003649311.tif 000006
【図５】
0003649311.tif 000007