(57)【要約】  顔検出システムおよび顔検出方法は、カーネル評価をすべて実行する前にテスト画像の分類を試みる。大多数の部分画像は顔でなく、比較的簡単に顔でないと識別することができるはずである。したがって、ＳＶＭ分類器は、カスケード式ＳＶＭ分類法を使用することによって、できる限り少数のカーネル評価によって非顔画像を破棄するよう試みる。第１ステージでは、最初の２つのサポートベクトルに対するスコアを計算し、このスコアと閾値とを比較する。スコアが閾値より小さい場合、部分画像は非顔として分類される。スコアが閾値より大きい場合、カスケード式ＳＶＭ分類関数は、カーネル評価の数を毎回倍に増やすことによって、より複雑な決定則を適用し続け、テスト画像が決定則の中の１つを満たさなければすぐに画像を非顔として分類（この結果、処理を終了）する。最後に、部分画像がすべての中間決定則を満たし、すべてのサポートベクトルについて考察すべき時点に到達したとき、オリジナル決定関数を適用する。この最終規則およびすべての中間規則を満たす場合のみ、テスト画像は、肯定(顔)として分類される。【特許請求の範囲】
【請求項１】
カスケード式ＳＶＭ分類における最初の複数のサポートベクトルを生成するステップと前記最初の複数のサポートベクトルに関して閾値を生成するステップとを含むＳＶＭベースの分類器をトレーニングするステップと、
入力データを受け取るステップと、
前記入力データに関して、前記最初の複数のサポートベクトルを使用して、ＳＶＭスコアを生成するステップと、を含むことを特徴とするサポートベクターマシンを使用する方法。
【請求項２】
出力データを生成するステップをさらに含み、
前記入力データは、パターンを表現し、前記出力データは、このパターンのクラスを表現することを特徴とする請求項１に記載の方法。
【請求項３】
前記出力データは、顔クラスを表現することを特徴とする請求項２に記載の方法。
【請求項４】
顔検出によって前記出力データを識別するステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記顔検出は、
学習済み射影行列を使用して、前記入力データを低次元空間に射影するステップと、
前記射影された入力データまでの距離が最小であるクラスタの中心を決定するステップと、
前記クラスタの中心のアイデンティティを返すステップと、を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記学習済み射影行列は、フィッシャー線形判別法を使用して計算することを特徴とする請求項５に記載の方法。
【請求項７】
前記最初の複数のサポートベクトルは、最初の２つのサポートベクトルを備え、
前記ＳＶＭスコアは、前記最初の２つのサポートベクトルから生成されることを特徴とする請求項１に記載の方法。
【請求項８】
前記ＳＶＭスコアが前記閾値より大きい場合、前記入力データは肯定に分類される表現であることを特徴とする請求項７に記載の方法。
【請求項９】
前記最初の複数のサポートベクトルは、最初の４つのサポートベクトルを備え、
前記ＳＶＭスコアは、前記最初の４つのサポートベクトルから生成されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記最初の複数のサポートベクトルは、最初の８つのサポートベクトルを備え、
前記ＳＶＭスコアは、前記最初の８つのサポートベクトルから生成されることを特徴とする請求項１に記載の方法。
【請求項１１】
前記最初の複数のサポートベクトルは、すべてのサポートベクトルを備え、
前記ＳＶＭスコアは、前記すべてのサポートベクトルから生成されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記ＳＶＭスコアが前記閾値より小さい場合、前記入力データは否定に分類される表現であることを特徴とする請求項１に記載の方法。
【請求項１３】
前記トレーニングするステップは、
肯定例セットと否定例セットとを備えるトレーニングセットを受け取るステップと、
前記トレーニングセットから、複数のサポートベクトルと複数のサポートベクトル係数とを生成するステップと、
前記複数のサポートベクトルから否定例を排除するこができるサポートベクトルを備えるサポートベクトルのサブセットを選択するステップと、
前記サポートベクトルのサブセットに関する閾値を決定するステップと、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１４】
小さい係数を有するサポートベクトルを破棄するステップをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記入力データはデジタル画像であることを特徴とする請求項１に記載の方法。
【請求項１６】
前記ＳＶＭは顔検出のために使用されることを特徴とする請求項１に記載の方法。
【請求項１７】
前記入力データは、１９×１９ピクセル部分画像を備えることを特徴とする請求項１に記載の方法。
【請求項１８】
前記入力データにヒストグラム等化を適用するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１９】
カスケード式ＳＶＭ分類における最初の複数のサポートベクトルを生成し、前記最初の複数のサポートベクトルに関する閾値を生成するトレーニングステップによって、ＳＶＭベースの分類器をトレーニングするトレーニング手段と、
入力データを受け取る受け取り手段と、
前記入力データに関して、前記最初の複数のサポートベクトルを使用して、ＳＶＭスコアを生成するＳＶＭ手段と、を備えることを特徴とするサポートベクターマシンを使用するシステム。
【請求項２０】
出力データを生成する出力手段をさらに備え、
前記入力データは、パターンを表現し、前記出力データは、このパターンのクラスを表現することを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記出力データは、顔クラスを表現することを特徴とする請求項２０に記載のシステム。
【請求項２２】
顔検出によって前記出力データを識別する顔検出手段をさらに備えることを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記顔検出手段は、
学習済み射影行列を使用して、前記入力データを低次元空間に射影する射影手段と、
前記射影された入力データまでの距離が最小であるクラスタの中心を決定するクラスタ中心手段と、を備えることを特徴とする請求項２２に記載のシステム
【請求項２４】
前記学習済み射影行列は、フィッシャー線形判別法を使用して計算することを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記最初の複数のサポートベクトルは、最初の２つのサポートベクトルを備え、
前記ＳＶＭスコアは、前記最初の２つのサポートベクトルから生成されることを特徴とする請求項１９に記載のシステム。
【請求項２６】
前記ＳＶＭスコアが前記閾値より大きい場合、前記入力データは肯定に分類される表現であることを特徴とする請求項２５に記載のシステム
【請求項２７】
前記最初の複数のサポートベクトルは、最初の４つのサポートベクトルを備え、
前記ＳＶＭスコアは、前記最初の４つのサポートベクトルから生成されることを特徴とする請求項１９に記載のシステム。
【請求項２８】
前記最初の複数のサポートベクトルは、最初の８つのサポートベクトルを備え、
前記ＳＶＭスコアは、前記最初の８つのサポートベクトルから生成されることを特徴とする請求項１９に記載のシステム。
【請求項２９】
前記最初の複数のサポートベクトルは、すべてのサポートベクトルを備え、
前記ＳＶＭスコアは、前記すべてのサポートベクトルから生成されることを特徴とする請求項１９に記載のシステム。
【請求項３０】
前記ＳＶＭスコアが前記閾値より小さい場合、前記入力データは否定に分類される表現であることを特徴とする請求項１９に記載のシステム。
【請求項３１】
前記トレーニング手段は、
肯定例セットと否定例セットとを備えるトレーニングセットを受け取るトレーニング受け取り手段と、
前記トレーニングセットから、複数のサポートベクトルと複数のサポートベクトル係数とを生成するＳＶトレーニング手段と、
前記複数のサポートベクトルから否定例を排除するこができるサポートベクトルを備えるサポートベクトルのサブセットを選択するサブセット選択手段と、
前記サポートベクトルのサブセットに関する閾値を決定する閾値決定手段と、
をさらに備えることを特徴とする請求項１９に記載のシステム。
【請求項３２】
小さい係数を有するサポートベクトルを破棄する破棄手段をさらに備えることを特徴とする請求項３１に記載のシステム。
【請求項３３】
前記入力データはデジタル画像であることを特徴とする請求項１９に記載のシステム。
【請求項３４】
前記ＳＶＭは顔検出のために使用されることを特徴とする請求項１９に記載のシステム。
【請求項３５】
前記入力データは、１９×１９ピクセル部分画像を備えることを特徴とする請求項１９に記載のシステム。
【請求項３６】
前記入力データにヒストグラム等化を適用するヒストグラム等化手段をさらに備えることを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２００４年２月１３日に出願された米国特許仮出願第６０／５４４，５７６号、ならびに２００４年６月１日に出願された米国特許出願第１０／８５８，９３０号、「顔認識システム（Face Recognition System）」の特典を請求するものである。
【０００２】
発明の背景
１．発明の分野
本発明は、一般に、画像認識に関するものであり、より詳細には、顔検出および顔認識のためのサポートベクターマシン分類器の利用に関する。
【背景技術】
【０００３】
２．発明の背景
顔検出および顔認識システムには、インテリジェントヒューマンコンピューターインターフェース、監視システム、および顔を使用するコンテンツに基づく画像検索など多様な応用例がある。しかしながら、従来の顔検出システムおよび顔認識システムで使用されたコンピュータおよびアルゴリズムでは、顔認識システムに本来伴う膨大な量のデータおよび複雑な計算を効率よく処理することができなかったため、効率のよい顔検出システムおよび顔認識システムの開発を試みても、今まで成功しなかった。
【０００４】
顔認識の最初の重要なステップは、任意の画像における顔を定義し顔の位置を決定することであるから、顔検出は、顔認識システムに直接関係する。顔検出問題には、いくつかの異なる技術が適用されてきた。これらの技術には、ニューラルネットワーク、幾何学的制約を使用する顔の特徴検出、トレーニングデータの密度予測、ラベル付きグラフおよびクラスタリング、ならびに分布に基づくモデルなどがある。一般に、顔検出技術および顔認識技術では、２つの主な方法、すなわち、特徴に基づく方法およびテンプレートに基づく方法をベースにしている。特徴に基づく方法では、目、鼻、口角などの顔の特徴の検出に基づいて認識を行う。認識において、これらの特徴に関する画像分析やこれらの特徴間の幾何学的性質を使用する。しかしながら、現在の顔特徴抽出方法では、顔認識アプリケーションに必要なロバスト性や正確性を十分に満たすことができない場合が多い。
【０００５】
テンプレートに基づく方法では、一般に、直接グレーレベルの画像特徴によって、またはその変換形式によって顔を表現する。認識方法は、最小距離分類法またはフィッシャー判別分析法などの類似基準に基づく場合がある。近年、テンプレートに基づく方法において、サポートベクターマシン（ＳＶＭ）技術が使用されている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
より効率的で必要な計算量がより少ない実用的顔検出および顔認識システムが必要である。
【課題を解決するための手段】
【０００７】
発明の要約
本明細書に記載されている特徴と利点は、すべてを包括するものではなく、特に、多数の付加的な機能および利点が、図面、明細書、および請求の範囲を考察することによって、当業者にとって明白になるであろう。また、本明細書で使用する用語は、主に読みやすくしたり理解しやすくしたりするために選んだものであって、本発明の主題を制限したり限定したりするために選んだものでないことに留意すべきである。
【０００８】
本発明では、顔検出のため、カスケード式ＳＶＭ分類器を使用する。顔画像および非顔画像を使用して、３次元多項式カーネルによってＳＶＭ分類器をトレーニングする。最初に、前記顔検出システムおよび顔検出方法は、ＳＶＭのテスト時の性能を高速化するため、各部分画像に対して実行するカーネル評価の数を減らす。一実施形態において、いくつかのサポートベクトルを破棄する。これによって、高速化するが、精度がいくらか落ちる。各サポートベクトルは、それに対応する係数、すなわちアルファ(α)値を有する。非常に小さいアルファ値を有するサポートベクトルは、テスト画像の分類にわずかな影響しか与えない。したがって、顔検出システムおよび顔検出方法は、ある閾値より小さいアルファを有するサポートベクトルをすべて破棄する。この閾値は、個別のテスト画像セットにおける性能低下が無視することができる程度になるよう選定される。
【０００９】
また、顔検出システムおよび顔検出方法は、カーネル評価をすべて実行する前にテスト画像の分類を試みる。大多数の部分画像は、顔でない。したがって、ＳＶＭ分類器は、カスケード式ＳＶＭ分類法を使用することによって、できる限り少数のカーネル評価によって非顔画像を破棄するよう試みる。第１ステージでは、最初の２つのサポートベクトルに対するスコアを計算し、このスコアと閾値とを比較する。スコアが閾値より小さい場合、部分画像は非顔として分類される。スコアが閾値より大きい場合、カスケード式ＳＶＭ分類関数は、カーネル評価の数を毎回倍に増やすことによって、より複雑な決定則を適用し続け、テスト画像が決定則の中の１つを満たさなければすぐに画像を非顔として分類（この結果、処理を終了）する。
【００１０】
最後に、部分画像がすべての中間決定則を満たし、すべてのサポートベクトルについて考察すべき時点に到達したとき、元の決定関数を適用する。この最終規則およびすべての中間規則を満たす場合のみ、テスト画像は、肯定(顔)として分類される。
【００１１】
一旦、顔領域が検出されると、システムは、顔認識を実行する。一実施形態では、顔画像をグレースケールに変換してから、平均顔画像を減じたりデータベース中の顔から計算された標準偏差で各ピクセルを除したりすることによって、顔画像を正規化する。テスト画像に関してフィッシャー座標を計算する。初期化において、データベース中の各顔画像に対するフィッシャー座標を計算する。各人物について、その人物の全画像からフィッシャー座標の平均値を決定する。次に、テスト画像のフィッシャー座標とデータベース中の各人物に対する平均フィッシャー座標とを比較する。テスト画像は、平均フィッシャー座標がテスト画像に（ユークリッド距離で）最も近い人物に属すると分類される。
【００１２】
本発明には、他にも利点や特徴があり、これらは、添付図面を伴う以下の発明の詳細な説明とその後に続く請求項とによってすぐに明白になるであろう。
【発明を実施するための最良の形態】
【００１３】
好ましい実施形態の詳細な説明
次に、本発明の好ましい実施形態について図面を参照しながら説明する。これらの図面において同様の参照番号は、同一または機能的に類似する要素を示す。またこれらの図面において、各参照番号の最も左の桁は、通常、この参照番号が最初に使用された図面に対応する。以下の説明では、本発明を完全に理解することができるよう説明するため、具体的な詳細事項について数多く述べている。しかしながら、これらの具体的な詳細事項を伴わなくても本発明を実施することができることは、当業者にとって明白になるであろう。他の実施例においては、本発明を曖昧にしないよう構成および装置をブロック図形式で示す。
【００１４】
顔認識システム
図１は、本発明の一実施形態による顔認識システム１００を示す機能ブロック図である。顔認識システム１００は、画像ソース１０２と、顔候補領域検出部１０４と、顔検出部１０６と、顔認識部１０８とを備える。画像ソース１０２は、１つまたは複数の画像を顔候補領域検出部１０４に提供する。顔候補領域検出部１０４は、発見的手法と深さマップとを使用して、顔を含む可能性が最も高い領域を見つける。顔候補領域検出部１０４は、顔を含む可能性が最も高い「ブロブ」（すなわち、隣接領域）から成る長方形領域を出力する。顔検出部１０６は、このブロブ上で顔検出を行う。顔が検出された場合、顔認識部１０８は、データベース中に格納された顔からこの顔のアイデンティティを決定する。
【００１５】
画像ソース
一実施形態において、画像ソース１０２は、２つ以上のビデオ画像を備える。これらのビデオ画像は、顔の候補領域を決定するためのオブジェクト画像を取得するため、ビデオカメラによって撮影される。２台のビデオカメラを使用することによって、２つの取得画像で特定される（カメラの焦点面から）すべてのオブジェクトまでの距離を決定することができる。
【００１６】
顔候補領域検出
画像ソース１０２は、顔候補領域検出部１０４と連結している。顔候補領域検出部１０４は、発見的手法と、距離を決定するための２つのカメラを備える画像ソース１０２から取得した深さマップとを使用して、最も顔を含む可能性が高い領域を見つける。顔認識システム１００は、顔候補領域検出部１０４を使用して顔を含む可能性の高い領域を見つけることによって、探索空間を縮小し、この結果、顔検出処理で必要とされる計算を簡略化し、リアルタイムで顔検出処理を実行することができるようにする。
【００１７】
図２は、本発明の一実施形態による顔候補領域を見つける方法を示すフローチャートである。顔候補領域検出部１０４は、ブロブ領域の位置を決定することによって顔候補領域を見つける。まず、ステップ２０２で、顔候補領域検出部１０４は、画像ソースから取得した深さ画像にガウスフィルタを適用することによって画像をスムージングする。次に、ステップ２０４で、顔候補領域検出部１０４は、例えば、０．５ｍから３ｍまでの間の２０区分で構成される深さ値のヒストグラムを構築する。そして、ピクセルを最も多く含む区分を選択する。各ピクセルが選択された区分に属するか否かに基づいて、２値画像を作成する。この２値深さマップ画像において、「ブロブ」(すなわち、隣接領域)を検出する。ステップ２０６で、複数のブロブが見つかった場合、単一のブロブにマージする。ステップ２０８で、ブロブを囲む長方形を計算する。この長方形の上部を顔検出のための探索領域として使用する。
【００１８】
上記は、顔候補領域検出部１０４を実施するための記載であり、本発明が動作する好ましい状況について説明している。上記の記載は、機能および構成の一実施例の概要である。オブジェクト領域の検出に関しては、２００４年６月１日に出願され同時係属中である米国特許出願第１０／８５８，９３０号、「オブジェクト検出方法、オブジェクト検出装置、およびオブジェクト検出プログラム」により詳細に記載されており、この内容をすべて参照することによって本明細書中に組み込むものとする。
【００１９】
顔検出
顔検出は、顔画像セットおよび非顔画像セット上でトレーニングされたサポートベクターマシン（ＳＶＭ）分類器を使用して行う。顔検出では、デジタル化したビデオ信号やスキャンした写真などの任意の画像を取り込み、その画像中に人物の顔が存在するか否かを決定する。顔が見つかった場合、顔検出部１０６は、それらの位置のエンコードを返す。顔検出部１０６において、ＳＶＭ分類器は、顔領域と非顔領域とを分類するために使用される。
【００２０】
分類タスクとして、様々なアルゴリズムを使用することができる。これらの分類アルゴリズムには、ニューラルネットワーク、隠れマルコフ分類器、フィッシャー線形判別分析法、およびサポートベクターマシンが含まれる。これらのアルゴリズムうちのいずれを適用しても、顔領域と非顔領域とを分類することができる。本発明の好ましい実施形態では、ＳＶＭ分類器を適用する。ＳＶＭ分類器は、統計的学習理論に基づいており、唯一解を有する二次計画問題へと軽減することができるため、実用的な技術である。
【００２１】
ＳＶＭ分類器は、最も重要な特徴に集中することによって特徴空間の分割を改善するため、最適な特徴を特定しながら動作する。ＳＶＭは、決定超平面によって、特徴空間を２つの異なったクラス（ここでは、顔クラスと非顔クラス）に分割するよう試みる。超平面とは、多様な次元を有する幾何学面である。
【００２２】
ＳＶＭ分類器は、２クラス間の最適識別超平面を見つけることを目的とする。最適超平面とは、最適マージンを有するものとして説明する。すなわち、クラス間の距離が、マージンがクラス間で最大に分離されるようにするものであることを意味する。ベクトルは、必ずマージン上、または、マージンの外に位置し、丁度マージン上にあるベクトルがサポートベクトルである。特定のクラスに属するベクトルを判別する関数として、超平面の数学的記述を使用してもよい。判別関数は、超平面の片側のマージン上またはマージンを超えた位置にあるベクトルに対して−１または−１より小さい値を返す。一方、超平面の反対側のマージンに関して、関数は、＋１または＋１より大きい値を返す。
【００２３】
ＳＶＭの基本的な考え方は、トレーニングデータセットが与えられた場合、トレーニングデータをより高次元の特徴空間に非線形写像し、この特徴空間において最大マージンを有する分離超平面を構築することである。したがって、ＳＶＭが与えられた特徴ベクトルｘをより高次元の空間の新しいベクトルΦ（ｘ）に陰に変換することによって、ｘを分離する超平面が、より高次元の空間におけるΦ（ｘ）の超平面になるようにする。高次元ベクトルΦ（ｘ）自体を計算するよりむしろ数式Ｋ（ｘｉ，ｘｊ）＝Φ（ｘｉ）ＴΦ（ｘｊ）の内積のみ計算すればよく、ｘからΦ（ｘ）への写像は、陰に使用されるにすぎない。これらのいわゆるカーネルにおいて、添字ｉｊはトレーニングセットの各ベクトルを示す。分類処理において、カーネルを計算するとき考察しなければならないのは、分離超平面のごく近傍にあるベクトルのみである。これらのベクトルをサポートベクトル（ＳＶ）と呼ぶ。トレーニングセットのベクトルｘｉに対して、特定のタイプのクラスであれば（例えば、顔であれば）ラベルｙｉ＝１、特定のタイプのクラスでなければ（例えば、非顔であれば）ラベルｙｉ＝−１となるラベルｙｉが与えられると仮定する。すると、最適分類器は、以下の数式を有する。
【数１】
2007535024.tif 000002
【００２４】
サポートベクトルセットに関して総和を計算し、定数αｉおよびｉは、分類器学習アルゴリズムによって計算する。係数αｉおよびｂの計算は、トレーニングセット上で行われる比較的計算量の多い処理であるが、１回だけ実行すればよい。
【００２５】
ＳＶＭについては、ヴイ．エヌ．ヴァプニク（V. N. Vapnik）著、「統計的学習理論（Statistical Learning Theory）」ニューヨーク、ジョンワイリーアンドサンズ（John Wiley & Sons）出版（１９９８年）に記載されており、これを参照することによって本明細書中に組み込むものとする。
【００２６】
図３は、本発明の一実施形態による顔検出部１０６の構成要素を示す。顔検出部１０６は、データ記憶部３０２と、Ｆｉｎｄｆａｃｅ部３０４と、Ｉｓｆａｃｅ部３０６と、ヒストグラム等化部３０８と、ＳＶＭ分類器部３１０とを備える。
【００２７】
図４は、顔検出部１０６を使用して顔を検出するステップを示すフローチャートである。顔検出部１０６は、顔画像セットおよび非顔画像セット上でトレーニングされたサポートベクターマシン分類器を使用して顔検出を行う。ＳＶＭ分類器のトレーニングについては、後で詳細に説明する。
【００２８】
顔検出部１０６が画像を受け取ると、Ｆｉｎｄｆａｃｅ部３０４は、顔検出を開始する。好ましい実施形態では、顔検出部１０６は、顔候補領域検出部１０４から渡される画像を受け取る。この画像は、顔を含む可能性が最も高いブロブ領域を含む長方形領域を備える。この長方形領域とは、顔検出部１０６が顔を探索するための画像領域を示す。顔候補領域検出部１０４が提供する長方形領域によって、顔を探索する区域が減少するため、計算量が減少するという利点がもたらされる。また、代替の実施形態では、画像領域全体を顔検出部１０６に渡してもよい。この場合、顔検出部１０６は、画像全体から顔を探す。
【００２９】
ステップ４０４において、Ｆｉｎｄｆａｃｅ部３０４は、画像の一部分（部分画像）を取り込んで探索処理を開始する。好ましい実施形態では、Ｆｉｎｄｆａｃｅ部３０４は、画像中の１９×１９ピクセルウィンドウをスキャンする。次に、ステップ４０６で、ヒストグラム等化部３０８は、１９×１９部分画像上でヒストグラム等化を行い、照明の光度における差異、異なるカメラの応答カーブなどを補正する。ステップ４０８において、ＳＶＭ分類器部３１０は、カスケード式ＳＶＭ分類器決定関数を１９×１９部分画像ウィンドウに適用する。部分画像のスコアが正の場合、顔を見つけたことになる。部分画像のスコアが負の場合、部分画像は、非顔領域を表現している。ＳＶＭ分類器部３１０は、与えられた１９×１９部分画像ウィンドウと選択済みのトレーニング画像（サポートベクトル）とを比較することによって、スコアを計算する。スコア＞０は顔であることを表し、スコア＜０は非顔であることを表す。この計算は、明らかに顔でないウィンドウを早く排除するよう設計されている。ウィンドウが顔を含むか、または非常に顔に類似している場合のみ、スコアを計算する。カスケード式ＳＶＭ分類器３１０については、後で詳細に説明する。
【００３０】
ステップ４１２において、Ｉｓｆａｃｅ部３０６は、１９×１９部分画像のＳＶＭ分類の結果を結合する。Ｉｓｆａｃｅ部３０６は、分類結果に基づいて顔領域および非顔領域を結合することによって、顔位置領域４１４を有する画像を生成することができる。
【００３１】
ステップ４１０で、画像中の１９×１９ピクセルウィンドウから成るすべての部分画像領域について処理するまで、顔検出部１０６は続行する。
【００３２】
カスケードＳＶＭ分類器
新しい部分画像を分類するのにＳＶＭを使用する場合、カーネル評価において部分画像と各サポートベクトルとを比較しなければならない。サポートベクトルは、通常、数百個存在するので、計算量が膨大になりうる。ＳＶＭのテスト時間性能を高速化するため、顔検出部１０６は、まず、各部分画像に対して実行されるカーネル評価の数を減らす。これを実施するための簡易な方法として、いくつかのサポートベクトルを破棄する。これによって速度は上がるが、精度は低下する。各サポートベクトルは、対応する係数、すなわちアルファ（α）値を有する。非常に小さいアルファ値を持つサポートベクトルは、テスト画像の分類にわずかな影響しか与えない。したがって、顔検出部１０６は、ある閾値より小さいアルファを有するすべてのサポートベクトルを破棄することができる。この閾値は、独立テスト画像セット上の性能低下が無視できる程度になるよう選定する。
【００３３】
第二の方法では、カーネル評価のすべてを実行する前に、テスト画像の分類を試みる。図６は、ＳＶＭ分類器部３１０がカスケード式ＳＶＭ分類法において実行するステップを示すフローチャートである。この考え方は、多数の部分画像が顔でなく、多数の部分画像が比較的簡単に顔でないと判別することができるはずであるというものである。したがって、ＳＶＭ分類器部３１０において、できる限り少ないカーネル評価によって非顔画像を破棄しようとするものである。各ステージに関して、アルファ値、評価すべきカーネル、および閾値が、トレーニングステージ（後で説明）中に決定される。これらの値は、データの記憶部３０２中のデータファイルに格納され、ＳＶＭ分類器３１０は、このデータファイルにアクセスすることができる。
【００３４】
新しい部分画像が与えられ６０２、ｋ１、ｋ２、…ｋＮをこの部分画像とＮ個の各サポートベクトルとの間のカーネル関数の評価結果、α１、α２、…αＮを各サポートベクトルに対応する係数とする。標準的なＳＶＭ分類関数では、ｂが閾値である場合、
【数２】
2007535024.tif 000003
であれば、顔を見つけたことを示す。ステップ６０４では、
【数３】
2007535024.tif 000004
のみを調べることによって、カスケードＳＶＭを開始する。この規則は、（１）に比べてかなり簡易であり、精度が同じになることを期待することはできない。代わりに、十分小さい閾値ｂ１を選定する（検出漏れを最小にする）ことによって、（２）は、明らかな非顔画像を早く排除するための簡易規則になる。テスト画像が（２）を満たす（すなわち、上記の閾値１より大きい）場合、ステップ６０６において、トレーニング部３０２は、より複雑な決定関数
【数４】
2007535024.tif 000005
を適用する。ここでも、ＳＶＭ分類器３１０は、多くの誤検出を次のステージに進ませることを代償にして、非顔画像だけを排除するようｂ２を最適化する。ＳＶＭ分類器３１０は、例えば、規則に含まれるカーネル評価の数を倍増する（例えば、ステップ６０８）など、より複雑な決定則を適用し続け、テスト画像が決定則の１つを満たさなければすぐに画像を非顔として分類（その結果、処理を終了）する６１４。
【００３５】
当業者であれば、図６に示すＳＶＭ分類処理におけるステップ６０４において、ＳＶＭスコアの計算のために使用するサポートベクトルの数は何個（例えば、最初の３個のサポートベクトル）でもよく、同様に、それに続くステップにおいても、異なる個数のサポートベクトル（例えば、ステップ６０６において最初の６個のサポートベクトル）を使用してもよいことを了承するであろう。
【００３６】
最後に、ステップ６１２において、部分画像がすべての中間決定則を満たし、すべてのサポートベクトルについて次に考察しなければならない時点に達したとき、ＳＶＭ分類器３１０では、テスト画像をできる限り正確に分類することができるよう元の決定関数（１）を適用する。この最終規則およびすべての中間規則を満たした場合のみ、テスト画像が肯定（顔）として分類されることに留意されたい。
【００３７】
上記の方法において、最悪の場合でも、少数の比較処理（比較の数は、サポートベクトルの数において対数関数的である）しか追加しなくてよい。一方、大多数の非顔画像は、多数のカスケード式処理の中で最も簡易な規則（２）をテストしただけで、比較的早く分類することができる。大部分の画像は顔を含まないため、この結果、分類に必要な計算を全体としてかなり減らすことができる。
【００３８】
顔検出トレーニング
顔領域および非顔領域を分類するため、最初に、肯定例（すなわち、顔画像）セットと否定例（すなわち、非顔画像）セットとを使用して、ＳＶＭ分類器３１０のための決定面をトレーニングする必要がある。風景、木、建物などの画像によって、誤検出をもたらすよい例が提供される。
【００３９】
ＳＶＭベースの分類器に伴う一つの問題は、サポートベクトルの数が非常に多い場合があるため、各画像についてスコアを計算するのに時間が費やされるという点である。トレーニングフェーズにおいて、検出部１０６では、サポートベクトルをそれらの係数（α値）に基づいてソートする。より大きい係数を有するサポートベクトルは、テスト画像が顔であるか否かを決定する際に重大な影響を与える。このソート処理は、テスト画像が顔であるか否かを評価する際に有用である。大きい係数を有するサポートベクトルを使用して計算する場合、テスト画像が実際に顔でなければ、ＳＶＭスコアは低くなるはずである。他方、テスト画像が実際に顔であれば、ＳＶＭスコアは閾値を超えるはずである。さらに、顔検出部１０６は、残りのサポートベクトルを使用することによって、このテスト画像を評価し続けてもよい。すべてのＳＶＭスコアが閾値より大きい場合、検出部１０６は、テスト画像を顔として分類する。
【００４０】
図４は、トレーニング処理を示す。上記のように、顔検出部１０６をトレーニングするとき、顔画像および非顔画像を使用してＳＶＭをトレーニングする。トレーニングが完了した後、データファイルが作成される（図示せず）。このファイルは、顔検出部１０６において、顔と非顔を分類するため使用するＳＶＭ分類器として使用される。検出手段の性能が不十分であれば、再トレーニングすることも可能だが、トレーニングは、１度だけ実行されればよい。
【００４１】
この好ましい実施形態において、１セットの肯定例（顔画像）および否定例（非顔画像）が与えられた場合４０２、顔検出部１０６では、３次元多項式カーネルを使用してＳＶＭ分類器をトレーニングする。他の実施形態では、他の次元の多項式カーネル関数（例えば、２次元多項式カーネル関数）を使用してもよい。顔領域セットがクラス＋１に割り当てられ、非顔領域セットがクラス−１に割り当てられる。
【００４２】
好ましい実施形態では、顔検出部１０６において、顔領域および非顔領域の１９×１９ピクセル部分画像セットを使用してＳＶＭをトレーニングする。顔検出部１０６では、ステップ５０４において、顔領域および非顔領域を含む部分画像を使用して、カスケード式ＳＶＭ分類器をトレーニングする。このカスケード分類器のトレーニングでは、段階的に複雑化する決定則にサポートベクトルを追加していく順番を選定し、カスケードの各ステージにおける閾値を選定する。最初の４つのサポートベクトル（最初の２つのステージ）の順番は、力ずくで選定する。ステップ５０６では、すべての組のサポートベクトルについて考察し、定数個の検出漏れ（たとえば、０％または０．１％）を許容しながら、トレーニングセットから最も多くの非顔画像を排除することができるものを選択する。最小の係数を有するサポートベクトルは、テスト画像が顔であるか否かの決定にあまり重大な影響を与えない。したがって、ステップ５０８で、これらのサポートベクトルを破棄する。カスケードの後方のレベルでは、力ずくで計算することは不可能である。したがって、ステップ５１０では、代わりに、多数（例えば、１０００）のサポートベクトルをランダムに選択して考察し、最良のものを選定する。ステップ５１４で、一旦サポートベクトルの順番が選定されると、トレーニングセットと検出漏れの許容率に基づいて、閾値ｂの選定が行われる。すべてのサポートベクトルを選択し終わったとき５１２、ステップ５１６で、最終的な閾値としてＳＶＭをトレーニングした時に決定された値を設定する。
【００４３】
ＳＶＭ分類器に関しては、イー．オスーナ（E. Osuna）、アール．フロインド（R. Freund）、およびエフ．ジロシ（F. Girosi）著、「サポートベクターマシンのトレーニング（Training support vector machines）：顔検出への応用（an application to face detection）」、ＩＥＥＥコンピュータ協会会議のコンピュータビジョンとパターン認識（ＣＶＰＲ）についての議事録（Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR)）（１９９７年）により詳細に記載されており、これを参照することによって本明細書中に組み込むものとする。
【００４４】
顔認識
本発明において、顔検出部の結果、顔が検出されると、次に顔認識部１０８を利用して顔を認識することができる。代替の実施形態によれば、顔認識部は、顔検出部の結果と関係なく動作する。好ましい実施形態において、顔認識部１０８は、トレーニング部とテスト部とを含む。トレーニング部は、非リアルタイム(オフライン)モードで実行される一方、テスト部は、実行時モードで実行される。
【００４５】
図７は、本発明の一実施形態による顔認識のトレーニング処理を示すフローチャートである。本発明では、データベースに登録された様々な被写体の顔画像を取得する７０２。本発明によれば、次に、顔検出アルゴリズムを使用して７０４、顔画像を検出する。顔検出アルゴリズムは上記のアルゴリズムでもよい。本発明には、人間が顔検出器によって識別された画像を目視によって検査し７０６、パネルまたはウィンドウに顔があるか否かを決定するステップ７０７がオプションとして含まれる。本発明では、顔がある場合、ヒストグラム等化処理を実行し７０８、仮想例を作成する７０９。ヒストグラム等化処理７０８とは、異なるユーザ間の照明の変分を調整するものであり、仮想画像が作成される前または後に行うことができる。一実施形態において、ヒストグラム等化処理７０８では、画像をグレースケールに変換し、例えば、顔画像の平均グレースケール値を減じたり、データベース中の複数の画像の標準偏差で各ピクセルを除したりすることによって、画像を正規化する。
【００４６】
一実施形態では、仮想例は、１つまたは複数の拡大縮小比率で１つまたは複数のピクセルだけ移動させた顔画像であり、データベース中の各顔に対して複数の仮想例を作成する７０９。また、顔画像を回転させて、配置の違いを調整する仮想画像を作成してもよい７０９。これらの仮想例によって、部分空間アルゴリズム、例えば、フィッシャー線形判別法における配置エラーを軽減することができる。複数の仮想画像を作成する一つの技術によれば、（１）最初の大きさ、例えば、６４ピクセル×６４ピクセルの切り取り画像を使用し、（２）中央、左上、右上、左下、右下の５箇所の各々に位置する５つの６０×６０ピクセルウィンドウをサンプリングし、（３）これらの５箇所の各々において５６×５６ピクセルウィンドウをサンプリングし、（４）ヒストグラム等化を実行し、（５）これら１１個の画像すべてを１９×１９ピクセル画像に正規化する。
【００４７】
本発明では、部分空間アルゴリズムを使用して、射影行列を決定する７１０。本発明の一実施形態によれば、フィッシャー線形判別法（ＦＬＤ）を使用する。ＦＬＤ法については、ピーエヌベルミュール（P. N. Belhumeur）、ジェーピーエスパーナ（J. P. Hespanha）、およびデージェークリーグマン（D. J. Kriegman）著、「固有顔対フィッシャー顔（Eigenfaces vs. Fisherfaces）:クラス固有の線形射影による認識（Recognition Using Class Specific Linear Projection）」、ＩＥＥＥ会報、パターン解析およびマシンインテリジェンス（IEEE Trans. Pattern Analysis and Machine Intelligence）、（１９）７：７１１−７２０（１９９７年）にさらに詳細に記載されており、この内容をすべて参照することによって本明細書中に組み込むものとする。本発明の代替の実施形態によれば、カーネルフィッシャー線形判別法（ＫＦＬＤ）アルゴリズムを使用してもよい。ＫＦＬＤおよびＦＬＤに関しては、２００２年７月２２日に出願された米国特許出願第１０／２０１，４２９号にさらに詳細に記載されており、この内容をすべて参照することによって本明細書中に組み込むものとする。
【００４８】
本発明の一実施形態によれば、パターン分類においてよく起きるクラス内変動行列Ｓｗの特異性問題に対処するため、単位行列の定数倍をクラス内変動行列に加えてもよい。すなわち、Ｓｗ＋εＩ（ここでεは小さい数）としてもよい。また、これによって、固有値問題は、数的により安定する。この結果、ピーエヌベルミュール（P. N. Belhumeur）他著、「固有顔対フィッシャー顔（Eigenfaces vs. Fisherfaces）:クラス固有の線形射影による認識（Recognition Using Class Specific Linear Projection）」、パターン解析およびマシンインテリジェンスに関するＩＥＥＥ会報、（IEEE Transactions on Pattern Analysis and Machine Intelligence）、第１９巻、第７号（１９９７年）の数式５におけるＷｐｃａ項が削除される。この文献の内容は、すべてを参照することによって本明細書中に組み込むものとする。さらに詳細が、上記で参照した米国特許出願第１０／６２１，８７２号に記載されている。
【００４９】
図８は、本発明の一実施形態による顔認識方法を示すフローチャートである。例えば、ビデオカメラによって取得された画像を受け取る８０２。次に上記の顔検出処理を実行し、画像内の顔の位置を特定する８０４。画像を切り取って、テスト画像を作成する８０５。そして、上記のように、テスト画像をグレースケールに変換してから、平均顔画像を減じ、標準偏差で各ピクセルを除することによって、顔画像を正規化する８０５。その後、上記のトレーニング処理で識別された学習済み射影行列を使用して、テスト画像をより低次元の空間に射影する８０６。次に、本発明では、クラスタの中心から射影されたサンプルへの距離が最小となるクラスタを識別する８０８。これらのステップに関しては、上記のベルミュール（Belhumeur）他の著書、および米国特許出願第１０／６２１，８７２号に、さらに詳細に記載されている。一実施形態においては、テスト画像に対するフィッシャー座標を計算し、データベース中の各人物に対する平均フィッシャー座標と比較する。データベース中の各顔画像に対するフィッシャー座標を予め決定する。各人物について、その人物の全画像からフィッシャー座標の平均を決定する。その後、テスト画像のフィッシャー座標と、データベース中の各人物に対する平均フィッシャー座標とを比較する。テスト画像は、平均フィッシャー座標がユークリッド距離においてテスト画像に最も近い人物に属していると分類される。
【００５０】
別の方法として、本発明では、前のフレームに対して決定されたアイデンティティを利用する時系列集計技術を利用することができる。一実施例によれば、現テスト画像のアイデンティティを決定するとき、最後の５枚のビデオフレームで決定されたアイデンティティを使用する。一実施形態では、多数決方式を使用して、時系列集計を実行する。すなわち、最後の５枚のビデオフレームで決定された最多のアイデンティティに基づいて決定する。
【００５１】
当業者であれば、本開示を読むことによって、開示した本発明の原理による実動作速度ビット障害マッピングに関し、他の代替のシステムおよび方法を高く評価するであろう。以上、本発明の特定の実施例と適用例について図解し説明してきたが、本発明が本明細書で開示された厳密な構成および構成要素に限定されるものではなく、また、本明細書に記載された本発明の方法および装置の配置、処理、および詳細において、後述の請求の範囲において定義される本発明の趣旨と範囲を逸脱しない限り、当業者にとって明白な改変、変更、および変形を多様に行うことができることを理解するであろう。
【図面の簡単な説明】
【００５２】
【図１】図１は、本発明の一実施形態による顔認識システムを示すブロック図である。
【図２】図２は、本発明の一実施形態による顔領域候補を見つける方法を示すフローチャートである。
【図３】図３は、本発明の一実施形態による顔検出システムの機能ブロック図である。
【図４】図４は、本発明の一実施形態による顔を検出するステップを示すフローチャートである。
【図５】図５は、本発明の一実施形態によるＳＶＭ分類器をトレーニングするステップを示すフローチャートである。
【図６】図６は、本発明の一実施形態によるカスケード式ＳＶＭ分類器で顔を分類するステップを示すフローチャートである。
【図７】図７は、本発明の一実施形態による顔認識のトレーニング処理を示すフローチャートである。
【図８】図８は、本発明の一実施形態による顔認識方法を示すフローチャートである。
【図１】
2007535024.tif 000006
【図２】
2007535024.tif 000007
【図３】
2007535024.tif 000008
【図４】
2007535024.tif 000009
【図５】
2007535024.tif 000010
【図６】
2007535024.tif 000011
【図７】
2007535024.tif 000012
【図８】
2007535024.tif 000013