(57)【要約】      （修正有）【課題】オブジェクト検出処理におけるデータアクセス処理の効率を向上させる。【解決手段】検査画像内のオブジェクトを検出するオブジェクト検出装置において、画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と参照データとの間の類似の度合いを示すインデクス値を生成する比較手段と、インデクス値の可能な値と、ブロック位置とに対応する確率データを保存する保存手段と、現在のブロックに関して、検査ウィンドウ内のブロックの位置と、ブロックに関して生成されたインデクス値とに基づいて、ストレージに格納された確率値にアクセスするアクセス手段と、検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む検査ウィンドウの確率を示す結果を生成する結合手段とを備え、ストレージに格納されている確率値は、ブロック位置及びこれに続いてインデクス値によって順序付ける。【選択図】図１６
2005190477.tif 000002
【特許請求の範囲】
【請求項１】
検査画像内のオブジェクトを検出するオブジェクト検出装置において、
上記画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と上記参照データとの間の類似の度合いを示すインデクス値を生成する比較器と、
上記インデクス値の可能な値と、上記ブロック位置とに対応する確率データを保存するストレージと、
現在のブロックに関して、上記検査ウィンドウ内の該ブロックの位置と、該ブロックに関して生成された上記インデクス値とに基づいて、上記ストレージに格納された確率値にアクセスするアクセスロジックと、
上記検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む該検査ウィンドウの確率を示す結果を生成する結合器とを備え、
上記ストレージに格納されている上記確率値は、ブロック位置及びこれに続いてインデクス値によって順序付けられているオブジェクト検出装置。
【請求項２】
上記アクセスロジックは、現在のブロックの位置とインデクス値とに関して、２以上の確率値にアクセスし、該２以上の確率値は、異なるオブジェクトの向きに関連することを特徴とする請求項１記載のオブジェクト検出装置。
【請求項３】
上記結合器は、上記個々のオブジェクトの向きに関連する確率値を結合し、各オブジェクトの向きについて、それぞれの結果を生成することを特徴とする請求項２記載のオブジェクト検出装置。
【請求項４】
上記ストレージに格納されている上記確率値は、オブジェクトの向き、ブロック位置及びこれに続いてインデクス値によって順序付けられていることを特徴とする請求項２記載のオブジェクト検出装置。
【請求項５】
上記オブジェクトの向きは、少なくとも正面の向きと、該オブジェクトが一方に向けられた向きとを含むことを特徴とする請求項２記載のオブジェクト検出装置。
【請求項６】
上記オブジェクトの向きは、少なくとも正面の向きと、該オブジェクトが一方に向けられた向きと、該オブジェクトが他方に向けられた向きを含むことを特徴とする請求項５記載のオブジェクト検出装置。
【請求項７】
上記正面の向きに関連する確率値は、他のオブジェクトの向きに関連する確率値より高い解像度で上記ストレージに保存されることを特徴とする請求項５記載のオブジェクト検出装置。
【請求項８】
上記正面の向きに関連する確率値は、他のオブジェクトの向きに関連する確率値の２倍の解像度で上記ストレージに保存されることを特徴とする請求項７記載のオブジェクト検出装置。
【請求項９】
上記比較器は、１つ以上の画像の固有ベクトルに上記ブロックを投影することを特徴とする請求項１記載のオブジェクト検出装置。
【請求項１０】
上記アクセスロジックは、最近にアクセスされた確率値と、格納順において、該最近にアクセスされた確率値に近い確率値とをキャッシングするキャッシュメモリを備えることを特徴とする請求項１記載のオブジェクト検出装置。
【請求項１１】
上記オブジェクトは、顔であることを特徴とする請求項１記載のオブジェクト検出装置。
【請求項１２】
請求項１記載のオブジェクト検出装置を備えるビデオ会議装置。
【請求項１３】
請求項１記載のオブジェクト検出装置を備える監視装置。
【請求項１４】
請求項１記載のオブジェクト検出装置を備えるカメラ装置。
【請求項１５】
検査画像内のオブジェクトを検出するオブジェクト検出方法において、
上記画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と上記参照データとの間の類似の度合いを示すインデクス値を生成するステップと、
上記インデクス値の可能な値と、上記ブロック位置とに対応する確率データを保存するステップと、
現在のブロックに関して、上記検査ウィンドウ内の該ブロックの位置と、該ブロックに関して生成された上記インデクス値とに基づいて、上記ストレージに格納された確率値にアクセスするステップと、
上記検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む該検査ウィンドウの確率を示す結果を生成するステップとを有し、
上記ストレージに格納されている上記確率値は、ブロック位置及びこれに続いてインデクス値によって順序付けられているオブジェクト検出装置。
【請求項１６】
請求項１５記載のオブジェクト検出方法を実行するプログラムコードを有するコンピュータソフトウェア。
【請求項１７】
請求項１６記載のプログラムコードを提供する提供媒体。
【請求項１８】
当該提供媒体は、記録媒体であることを特徴とする請求項１７記載の提供媒体。
【請求項１９】
当該提供媒体は、伝送媒体であることを特徴とする請求項１７記載の提供媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト検出に関する。
【従来技術】
【０００２】
以下の記述は、様々な種類のオブジェクトの検出に存在する問題に関連するが、ここでは、説明のため、特に顔検出について検討する。
【０００３】
人間の顔を検出する顔検出アルゴリズムは、様々な文献で提案されており、これらには、所謂固有顔（eigenfaces）法、顔テンプレートマッチング法、変形可能なテンプレートマッチング（deformable template matching）法又はニューラルネットワーク分類法を使用する手法等がある。これらの何れの手法も完全ではなく、通常、付随した利点及び欠点を有する。何れの手法も、画像が顔を含むことを確実な信頼性を持って示すことはなく、全て確率論的な判断（probabilistic assessment）に基づいており、すなわち画像が少なくとも顔を含むある可能性（likelihood）があるという画像の数学的解析に基づいている。それらの用途に従い、アルゴリズムは、通常、顔の誤検出を避けようとするために極めて高く設定された尤度の閾値（threshold likelihood value）を有する。
【０００４】
可能な顔に関するあらゆる種類のブロックベースの解析、又は可能な顔と顔の存在を示す予め派生されたデータとの比較を包む解析において、おそらく顔らしく見えないが、比較テストをパスするある画像属性を有する画像領域によって、アルゴリズムが間違えるという可能性がある。そして、このような領域は、顔を含む確率（probability）が高いとされ、顔の誤検出が生じる。
【０００５】
誤検出が起こることを減らすことを含むオブジェクト検出の信頼性を向上させることは、この技術分野における不変の目標である。
【発明の開示】
【課題を解決するための手段】
【０００６】
本発明に係るオブジェクト検出装置は、検査画像内のオブジェクトを検出するオブジェクト検出装置において、画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と参照データとの間の類似の度合いを示すインデクス値を生成する比較手段と、インデクス値の可能な値と、ブロック位置とに対応する確率データを保存する保存手段と、現在のブロックに関して、検査ウィンドウ内のブロックの位置と、ブロックに関して生成されたインデクス値とに基づいて、ストレージに格納された確率値にアクセスするアクセス手段と、検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む検査ウィンドウの確率を示す結果を生成する結合手段とを備え、ストレージに格納されている確率値は、ブロック位置及びこれに続いてインデクス値によって順序付けられている。
【０００７】
本発明は、オブジェクト検出処理において、値が順次アクセスされ、順次アクセスされる値を隣接して又は近接して格納することにより、データアクセス処理の効率が向上するとの認識に基づいている。
【０００８】
本発明の更なる側面及び特徴は、添付の請求の範囲において定義される。
【発明を実施するための最良の形態】
【０００９】
以下、顔検出に関する実施例を説明するが、本発明は、必要なオブジェクトを表すトレーニング画像によるトレーニングによって例えば自動車等、他の如何なるオブジェクトの検出にも同様に適用できる。
【００１０】
図１は、顔検出システム及び／又は非線形編集システムとして用いる汎用コンピュータ装置のブロック図である。コンピュータ装置は、処理ユニット１０を備え、処理ユニット１０は、中央処理装置（ＣＰＵ）２０と、ランダムアクセスメモリ（ＲＡＭ）のようなメモリ３０と、ディスクドライブ４０のような不揮発性記憶装置と、他の通常の構成要素とを備える。コンピュータ装置は、ローカルエリアネットワーク又はインターネット（あるいは両方）のようなネットワーク５０に接続している。また、コンピュータシステムは、キーボード６０と、マウス又は他のユーザ入力デバイス７０と、表示画面８０とを備える。当業者には、汎用コンピュータ装置がここで記載していない多くの他の従来の部品を含むことは、明らかである。
【００１１】
図２は、顔検出に用いるビデオカメラレコーダ（カムコーダ）のブロック図である。カムコーダ１００は、画像を電荷結合素子（ＣＣＤ）からなる画像捕捉素子１２０上に合焦点するレンズ１１０を備える。電子的な形式で得られる画像は、テープカセットのような記録媒体１４０に記録するために画像処理回路１３０によって処理される。また、画像捕捉素子１２０によって捕捉された画像は、アイピース１６０を介して見られるユーザ表示画面１５０上に表示される。
【００１２】
画像と関連している音を捕捉するために、１つ以上のマイクロホンが用いられる。これらのマイクロホンは、フレキシブルケーブルによってカムコーダ１００に接続され、あるいはカムコーダ１００の本体に搭載されるという意味で、外部マイクロホンであるとも言える。１台以上のマイクロホンからのアナログオーディオ信号は、記録媒体１４０に記録するための適切なオーディオ信号を生成するために、オーディオ処理回路１７０によって処理される。 
なお、ビデオ及びオーディオ信号は、デジタル形式又はアナログ形式の何れか、あるいは両方の形式で記録媒体１４０に記録することができる。したがって、画像処理回路１３０及びオーディオ処理回路１７０は、アナログ／デジタル変換器を備えていてもよい。  カムコーダ１００のユーザは、レンズ１１０に電気的制御信号２００を送るようにレンズ制御回路１９０に作用するユーザ制御１８０によって、レンズ１１０の性能における画角を制御することができる。一般的に、フォーカス及びズームのような属性はこのように制御されるが、レンズの絞り又は他の属性は、ユーザによって操作される。 
更に、２個のユーザ操作子を説明する。記録媒体１４０への記録を開始し、中止するために押しボタン２１０が設けられている。例えば、押しボタン２１０を１回押したときに記録を開始し、もう１回押したときに記録を中止することができる。あるいは、押した状態を維持することにより記録を行い、又はある時間、例えば５秒間押すことにより記録を開始するようにしてもよい。これらの如何なる構成においても、始めと終わりがある各「撮影（shot）」（連続した記録期間）に対するカムコーダ１００の記録操作の確認は、技術的に非常に簡単である。
【００１３】
図２に示す「素晴らしい撮影マーカ（good shot marker：以下、ＧＳＭという。）」２２０は、ユーザによって操作され、これにより、ビデオ及びオーディオマテリアルに関連した「メタデータ」（関連データ）が記録媒体１４０に格納される。この特別の撮影は、ある観点で「素晴らしい（good）」と操作者によって主観的にみなされたこと（例えば、俳優が特によく演じた、ニュースリポータが各言葉を正しく発音した等）を示している。
【００１４】
メタデータは、記録媒体１４０上の予備領域（例えば「ユーザデータ」領域）に、用いられている特定のフォーマット及び規格に依存して、記録される。あるいは、メタデータはリムーバブルメモリスティック（登録商標）のメモリ（図示せず）のような別個の記録媒体に格納することができ、あるいはメタデータは、例えば無線リンク（図示せず）によって通信する外部データベース（図示せず）に格納することもできる。メタデータには、ＧＳＭの情報だけでなく、撮影条件（shot boundaries）、レンズの属性、ユーザ（例えばキーボード（図示せず））による文字情報入力、全地球測位システム受信機（図示せず）からの地理的位置情報等が含まれてもよい。
【００１５】
以上、メタデータを記録可能なカムコーダについて説明した。次に、このようなカムコーダに顔検出を適用する方法について説明する。勿論、この技術は、例えばインターネットプロトコル（ＩＰ）カメラ、ビデオ会議カメラ等のネットワークに接続されたカメラにも適用可能である。
【００１６】
カムコーダ１００は、顔検出器構成２３０を備える。適切な構成のより詳細は、後で説明するが、顔検出器２３０は、画像処理回路１３０から画像が供給され、このような画像が１つ以上の顔を含むか否かを検出、又は検出することを試みる。顔検出器２３０は、顔検出データを、「ｙｅｓ／ｎｏ」フラグの形式で、あるいは、各検出された顔内の目の位置のような顔の画像座標を含むより詳細な形式で出力することができる。この情報は、メタデータの他の形として処理し、上述したフォーマットとは異なるフォーマットで格納することができる。
【００１７】
後述するように、顔検出は、検出処理における他の種類のメタデータを用いることにより、助けられる。例えば、顔検出器２３０は、レンズ１１０の現在のフォーカス及びズーミング設定を示すレンズ制御回路１９０からの制御信号が供給される。これらは、画像のフォアグラウンドで表示されるあらゆる顔の予想される画像サイズの初期の表示を与えることによって、顔検出器２１３０を補佐することができる。なお、この観点では、フォーカス及びズーミングの設定は、カムコーダ１００と撮影されている個人との予想される距離、更にはレンズ１１０の倍率を表している。これらの２つの属性からの顔の大きさの平均に基づいて、得られる画像データ内における顔の予想される大きさ（画素）を算出することができる。  
従来の（既知の）音声検出器２４０は、オーディオ処理回路１７０からオーディオ情報が供給され、このようなオーディオ情報内の音声の存在を検出する。音声の存在は、対応する画像に顔がある可能性を、音声を検出しないときに比して、より高い指標（indicator）で示すことができる。後述する幾つかの実施例では、１組のマイクロホンから最もアクティブなマイクロホンを検出することによって又は複数のマイクロホンの間の三角測量又は同様の技術によって、スピーカの位置を反映するように音声検出器を変更してもよい。
【００１８】
最終的に、撮影境界（shot boundaries）及びユーザによって最も有益であるとみなされるそれらの撮影を示すＧＳＭ情報２２０及び撮影情報（制御２１０から）は、顔検出器２３０に供給される。
【００１９】
勿論、カムコーダがアナログ記録技術に基づく場合、画像及びオーディオ情報を処理するために、更なるアナログ／デジタル変換器（以下、Ａ／Ｄ変換器という。）が必要とされる。
【００２０】
この実施例では、２段階の顔検出技術を用いる。図３は、トレーニング段階を具体的に説明する図であり、図４は、検出段階を具体的に説明する図である。
【００２１】
以前に提案された顔検出方法（以下に示す参照４及び５を参照）と異なり、この方法は、全体としてではなく顔の一部のモデリングに基づいている。顔の一部は、顔の特徴（所謂「選択サンプリング（selective sampling）」）の推定位置上の中心のブロック、又は顔の通常間隔でサンプリング（所謂「標準サンプリング（regular sampling）」）されたブロックである。ここでは、主に、経験的検定で良い結果が得られた標準サンプリングについて説明する。
【００２２】
トレーニング段階では、解析処理を、顔を含むことが知られている一組の画像に、及び（オプションとして）顔を含まないことが知られている画像（「顔でない画像（nonface images）」）の別のセットに適用する。解析処理は、検定画像を後で（検出段階で）比較することができる顔及び顔でない特徴の数学的モデルを構築する。
【００２３】
したがって、数学的モデル（図３のトレーニング処理３１０）を構築するための基本的な手順は次の通りである。
１．同じ目位置を有するように正規化された顔の画像のセット３００の各顔を、小さいブロックに一様にサンプリングする。 
２．後で説明する各ブロックの属性を算出する。
３．属性を、異なる値の処理しやすい数に量子化する。 
４．次に、量子化属性を、そのブロック位置に関して１つの量子化値を生成するために組み合わせる。
５．そして、１つの量子化値を、エントリとしてヒストグラム、例えば図５に示すヒストグラムに記録する。全てのトレーニング画像の全てのブロック位置に関する累積されたヒストグラム情報３２０は、顔の特徴の数学的モデルの基礎を形成する。
【００２４】
上述のステップを多数の検定顔画像について繰り返すことによって、１つのそのようなヒストグラムを、各可能なブロック位置に対して作成する。テストデータについては、更に後述する付録Ａで説明する。そこで、８×８ブロックの配列を用いる方式では、６４個のヒストグラムを準備する。処理の後半部において、検定する量子化属性を、ヒストグラムのデータと比較する。データをモデル化するために全部のヒストグラムを用いるという事実は、例えばガウス分布又は他の分布を後でパラメータ化するか否かと仮定する必要はないことを意味する。データ記憶空間（必要ならば）を節約するために、同じヒストグラムが異なるブロック位置に対して再生利用できるように、類似しているヒストグラムを併合することができる。
【００２５】
検出段階で、検定画像３５０を顔検出器３４０で処理するために、検定画像３４０内の連続したウィンドウを、以下のように処理する。 
６．ウィンドウを、一連のブロックのように一様にサンプリングし、そして、各ブロックに関する属性を算出して、上述のステップ１〜４のように量子化する。
７．各ブロック位置の量子化属性値の対応する「確率（probability）」を、対応するヒストグラムから調べる。すなわち、各ブロック位置のそれぞれの量子化属性を生成し、そのブロック位置に関して予め生成されたヒストグラムと比較する。ヒストグラムが「確率」データを高める方法については後述する。
８．得られる全ての確率を互いに乗算して、ウィンドウを「顔」又は「顔でない」に分類するために、閾値と比較する最終の確率を形成する。「顔」又は「顔でない」の検出結果は絶対検出よりもむしろ確率ベースの方法であることは、言うまでもない。顔を含んでいない画像を間違って「顔」として検出（所謂誤検出（false positive））してしまうことがある。また、顔を含んでいる画像を間違って「顔でない」として検出（所謂見逃し検出（false negative））してしまうこともある。あらゆる顔検出システムの目標は、誤検出の割合及び見逃し検出の割合を減らすことであるが、現在の技術では、これらの割合をゼロに減らすことは、不可能ではないとしても困難である。
【００２６】
上述のように、トレーニング段階において、一組の「顔でない」画像は、「顔でない」ヒストグラムの対応するセットを生成するために用いることができる。そして、顔の検出を達成するために、顔でないヒストグラムから生成される「確率」を、個々の閾値と比較し、検定ウィンドウが顔を含むためには、確率が閾値以下でなければならない。代わりに、顔でない確率に対する顔確率の比を、閾値と比較することができる。
【００２７】
元のトレーニングセットを例えば位置、方向、大きさ、アスペクト比、背景の風景、照明の明るさ及び周波数成分（frequency content）の変化等の「合成変化（synthetic variations）」３３０で処理することによって、特別な（extra）トレーニングデータを生成することができる。
【００２８】
ここで、属性及びそれらの量子化の導き方について説明する。従来の技術において、属性は、ウィンドウに表示された画像内に存在する異なる種類のブロックを表すコアブロック（又は固有ベクトル）である所謂固有ブロックに関して評価される。まず、固有ブロックの生成について、図６を参照して説明する。
【００２９】
固有ブロックの生成
この実施例の属性は、所謂固有ブロックに基づいている。固有ブロックを、トレーニングセットのブロックの有効な具象的な才能（good representational ability）を有するように設計した。したがって、固有ブロックは、トレーニングセットからのブロックの大きなセットに対して重要な構成要素の解析を実行することによって生成された。この処理を、図６に示すとともに、付録Ｂにおいてより詳細に説明する。
【００３０】
システムのトレーニング
実験を、トレーニングブロックの２の異なるセットによって行った。
【００３１】
固有ブロックセットＩ
まず最初に、トレーニングセットの２５個の顔画像から得られる一組のブロックを用いた。１６×１６ブロックを、重ならないように、１６画素毎にサンプリングした。このサンプリングを、図６に示す。図６から明らかなように、１６×１６ブロックは、個々の６４×６４トレーニング画像から生成される。これにより、全体的に合計４００個のトレーニングブロックが生成される。
【００３２】
これらのトレーニングブロックから生成される第１の１０個の固有ブロックを、図７に示す。
【００３３】
固有ブロックセットＩＩ
固有ブロックの第２セットを、トレーニングブロックのより大きなセットから生成した。これらのブロックは、トレーニングセット内の５００個の顔画像から得られた。この場合、１６×１６ブロックを、８画素が重なるように、８画素毎にサンプリングした。各６４×６４個のトレーニング画像から、４９個のブロックが生成され、これを合計２４，５００個のトレーニングブロックに適用した。
【００３４】
これらのトレーニングブロックから生成される第１の１２の固有ブロックを、図８に示す。
【００３５】
実験に基づく結果により、固有ブロックセットＩＩが固有ブロックセットＩより僅かに有効な結果を与えることが分かった。
【００３６】
このことは、固有ブロックセットＩＩが、顔画像から取られたトレーニングブロックのより大きなセットから算出され、顔の変化をより良く表すと認められるからである。しかしながら、性能の向上は、大きくない。
【００３７】
ヒストグラムの作成
６４×６４顔画像内の各サンプリングされたブロック位置に対してヒストグラムを作成した。ヒストグラムの数は、ブロック間隔に依存する。例えば、１６画素のブロック間隔の場合、１６の可能なブロック位置があり、したがって、１６個のヒストグラムが用いられる。
【００３８】
図９は、単一のブロック位置を表すヒストグラムを作成するための処理を示す。ヒストグラムを、Ｍ個の顔画像の大きなトレーニングセット４００を用いて作成する。各顔画像に対する処理は、以下の処理を含んでいる。
・顔画像の位置（ｉ,ｊ）から関連したブロックを抽出する処理４１０。
・ブロックの固有ブロックベースの属性を算出して、これらの属性から関連したビン数４２０を判定する処理。
・ヒストグラム４３０内の関連したビン数を増加させる処理。
【００３９】
属性の出現度数の分布の有効な表現を与えるヒストグラムを作成するために、この処理は、トレーニングセット内のＭ個の画像のそれぞれに対して繰り返される。理想的には、Ｍの値は、非常に大きく、例えば数千である。この処理は、一組の元の顔と各元の顔の数百個の合成変化とからなるトレーニングセットを用いることにより、容易に達成することができる。
【００４０】
ヒストグラムビン数の生成
ヒストグラムビン数は、図１０で示すように、以下の処理を用いて、所定のブロックから生成される。６４×６４ウィンドウ又は顔画像から１６×１６ブロック４４０を抽出する。ブロックは、一組の「固有ブロック重み（eigenblock weight）」を生成するためにＡ固有ブロックのセット４５０上で推定される。これらの固有ブロック重みは、この実行で用いられる「属性」である。固有ブロック重みは、−１〜＋１の範囲を有する。この処理については、付録Ｂでより詳細に説明する。各重みを、一組の量子化属性４７０（ｗｉ，ｉ＝１，・・・，Ａ）を生成するために、レベルＬの固定量に量子化する。量子化重みを、以下のように、単一の値に結合する。
【００４１】
【数１】
2005190477.tif 000003
【００４２】
ここで、生成される値ｈは、ヒストグラムビン数４８０である。なお、ヒストグラムのビンの全数は、ＬＡで与えられる。
【００４３】
ビン「成分（contents）」、すなわちそのビン数を増加する属性のセットの出現度数は、トレーニング画像の数Ｍで割ると、確率値であるとみなすことができる。しかしながら、確率を閾値と比較するので、実際にはＭによる除算をする必要がなく、この値を、計算から除外する。したがって、以下の説明では、ビン「成分」は正確な意味では出現度数であるが、ビン「成分」を確率値（probability values）」と称し、確率値であるかのように取り扱う。
【００４４】
上述の処理は、トレーニング段階と検出段階の両方で用いられる。
【００４５】
顔検出段階
顔検出処理は、検定画像を６４×６４の移動ウィンドウ（moving 64x64 window）によってサンプリングして、各ウィンドウ位置における顔確率を算出する処理を包む。
【００４６】
図１１に、顔確率の計算を示す。ウィンドウ内の各ブロック位置において、前の章で説明したように、ブロックのビン数４９０を算出する。ブロックの位置に対する適切なヒストグラム５００を用いて、各ビン数を調べ、そのビン数の確率５１０を決定する。そして、これらの確率の対数（log）の和５２０を全てのブロックに亘って算出し、顔確率値Ｐｆａｃｅ（あるいは対数尤度値（log likelihood value））を生成する。
【００４７】
この処理は、全体の検定画像のために確率「マップ（map）」を生成する。換言すれば、確率値は、画像の全体に亘る各可能なウィンドウ中心位置に関して導かれる。そして、これらの確率値の全ての長方（あるいは他）形状の配列への結合は、その画像に対応した確率「マップ」であると認められる。
【００４８】
そして、このマップを反転し、これにより、顔を検出する処理は、反転マップ内の最小値を見つけ出すことを含む。所謂距離ベースの技術（distance-based technique）を用いる。この技術は、次のように要約することができる。反転確率マップ内の最も小さい値を有するマップ（画素）位置を選択する。この値が閾値（ＴＤ）より大きいときは、それ以上は顔を選択しない。これは、終了基準（termination criterion）である。一方、選択された中心画素位置に対応している顔の大きさのブロックを無効にし（すなわち、後続の計算から除外し）、終了基準に達するまで、候補顔位置検出処理を画像の残りの部分に対して繰り返す。
【００４９】
顔でない方法
顔でないモデルは、顔を含まない画像の属性の確率分布を示すヒストグラムの更なるセットを含む。このヒストグラムは、トレーニング画像が顔の代わりに顔でない画像を含む以外は、顔モデルと正確に同じ方法で生成される。
【００５０】
検出を通じて、顔モデルと顔でないモデルを用いた２つの対数確率値を計算する。そして、これらを、単に顔確率から顔でない確率を減算ことによって結合する。
【００５１】
【数２】
2005190477.tif 000004
【００５２】
そして、Ｐｃｏｍｂｉｎｅｄを、（極性反転前の）確率マップを生成するために用いる。
【００５３】
なお、ＰｆａｃｅからＰｎｏｎｆａｃｅを減算する理由は、それらが対数確率値であるからである。   また、顔ヒストグラムと顔ではないヒストグラムとは、以下に示すように、トレーニング処理の後（顔検出の前）に、単にヒストグラムの対数を加算することによって任意に結合できる。
加算されたヒストグラム＝log （ヒストグラム（顔））＋log (ヒストグラム（顔ではない))
これは、後述するように、各ブロック位置／姿勢／目の間隔の組合せにおいて、１つのヒストグラムだけが必要であるためである。
【００５４】
ヒストグラムの具体例
図１２ａ〜１２ｆは、上述したトレーニング処理によって生成されるヒストグラムの具体例を示す図である。
【００５５】
図１２ａ、１２ｂ、１２ｃは、顔画像のトレーニングセットから導かれ、図１２ｄ、１２ｅ、１２ｆは、顔を含まない画像のトレーニングセットから導かれたものである。詳しくは、以下の表に示す。
【００５６】
【表１】
2005190477.tif 000005
【００５７】
ピークが顔ヒストグラムと顔でないヒストグラムとでは異なる位置にあることが明らかに見られる。
【００５８】
ヒストグラムの保存
上述のように、ヒストグラムは、所定の尺度及び画像内の位置における顔の存在の可能性に関する統計的情報を保存する。ここで、ヒストグラムの順序（ordering）は、意外にもシステム性能にとって重要な要素となる。単純な順序では、アクセスがローカライズされない（すなわち、メモリ内の離れた部分に連続的にアクセスすることになる）。このため、マイクロプロセッサ又は専用のプロセッサを用いて処理を実現した場合、キャッシュ性能が悪化する。この問題を解決するために、データへのアクセスがローカライズされるように、ヒストグラムの順序を変更する。この実施例では、以下の表に示すように、合計で６つのヒストグラムがある。
【００５９】
【表２】
2005190477.tif 000006
【００６０】
以下で用いる変数について説明する。
【００６１】
ｃは、所定の尺度における画像の所定の位置についてのビンマップ（binmap：画像内の各位置について、ヒストグラムエントリを与えるマップ）からの値であり、この実施例では、９ビットバイナリ数である。ビンマップは、９つの固有ブロックで画像を畳み込み、これにより得られる９個の固有ブロック重みを量子化し、それらを単一の値に結合することによって予め算出される。
【００６２】
ｘは、顔ウィンドウ内のｘ位置である（０〜６の値をとる）。
【００６３】
ｙは、顔ウィンドウ内のｙ位置である（０〜６の値をとる）。これは、各ポーズ（例えば、Ｆ３８）に対するヒストグラムのサイズが５１２×７×７＝２５０８８バイトとなることを意味する。
【００６４】
Ｆ３８ｃ，ｘ，ｙは、所定のｃ、ｘ、ｙについてのヒストグラムの値である。
【００６５】
例えば、Ｆ３８１５，４，５は、ビンマップ値を１５として、顔ウィンドウで内の位置（４，５）における３８目間隔を有する正面のヒストグラムによって与えられる値である。
【００６６】
メモリにおけるヒストグラムの単純な順序は、ｃ、ｘ、ｙ、ポーズ、目間隔の順である。図１３ａは、この順序の具体例を示している。
【００６７】
改善された順序は、ポーズ、ｘ、ｙ、ｃ、目間隔の順である。図１３ｂは、この種の順序の具体例を示しいてる。
【００６８】
ヒストグラムを新たな順序で順序付けすることによりキャッシュ性能が改善される理由としては、以下の２つの理由がある。
（１）ポーズにどのようにアクセスするか。
（２）顔探索の間に顔ウィンドウがどのように移動するか。
【００６９】
３つの異なるポーズ（左向き、右向き、正面）は、各位置について、常に同じビン番号及び位置によってアクセスされ、すなわち、Ｆ３８３２９，２，１にアクセスする場合、Ｌ３８３２９，２，１及びＲ３８３２９，２，１もアクセスされる。これらは新たな手法では隣接しており、したがって、キャッシュ性能が向上する。
【００７０】
また、ヒストグラムを構成する新たな手法は、画像における顔の探索の間に、どのように顔ウィンドウを移動させるかについても、効果を有する。すなわち、顔ウィンドウの移動の仕方のため、同じｃ値を多くの（ｘ、ｙ）位置で調べることができる。
【００７１】
図１４は、ある位置において、顔を探索するために、ビンマップからどの値が使用さるかを示している。例えば、Ｆ３８３２９，２，１は、顔ウィンドウの（２、１）位置における目間隔３８の正面のヒストグラムからの値である。
【００７２】
図１４から分かるように、顔検出ウィンドウを右に２つ移行させると、強調表示された正方形は、左に１つ移動し、すなわち、同じ値を別の場所で調べることができる。図１４の実施例では、顔ウィンドウを２つ右に移動させると、Ｆ３８３２９，２，１は、Ｆ３８３２９，１，１になる。
【００７３】
アルゴリズムが画像において、顔ウィンドウを移動させることによって顔を探索する場合、アルゴリズムは、幾つかの位置で同じビンマップを調べる。これは、これらの値がメモリにおいて、互いに近くに格納されていれば、キャッシュ性能が向上することを意味する。
【００７４】
上述した改善に伴う又は上述した改善から独立した、ヒストグラム構造における他の改善点として、横向きのポーズが正面のポーズより少ないビットで表現されるという点がある。各ヒストグラムビンに保存される値は、それらがどのポーズを表すかに応じて、異なるビット数に量子化される。
【００７５】
６ヒストグラムのそれぞれに用いられるビット数を以下の表に示す。
【００７６】
【表３】
2005190477.tif 000007
【００７７】
この利点は、３つのヒストグラム値の各組を３バイトではなく２バイトで保存できるという点である。
【００７８】
このようなデータの削減が可能な理由は、アルゴリズムの総合的な性能に関しては、横向きのポーズが正面のポーズより重要度が低く、精度に大きく影響を与えることなく、これらをより低い解像度で表現できるためである。
【００７９】
多尺度（multiscale）顔検出
検定画像における異なる大きさの顔を検出するために、検定画像を係数の範囲（range of factors）によって拡大縮尺し（scale）、距離（distance、すなわち確率）マップを各尺度（scale）に対して生成する。図１５ａ〜１５ｃに、画像及びこれらの対応する距離マップを、３つの異なる尺度で示す。この手法は、最も小さい尺度（図１５ａ）で大きな（中心の）対象に対して最良の応答（最高の確率又は最小の距離）を示し、大きな尺度でより小さい対象（主人物の左側）に対してより良い応答を示す。（マップ上のより暗い色は、反転マップにおけるより低い値、すなわちそこが顔であるというより高い確率を示す）。全ての尺度に対して最良の応答を示す位置を最初に検出ことによって、候補顔位置を異なる尺度に亘って抽出する。すなわち、最も高い確率（最も短い距離）を、全ての尺度で全ての確率マップ中で確定する。この候補位置は、顔としてラベルが付けられる第１の位置である。そして、その顔位置の中心に置かれるウィンドウは、各尺度の確率マップから削除される。削除されるウィンドウの大きさは、確率マップの尺度に比例する。
【００８０】
この拡大縮小削除処理（scaled blanking out process）の具体例を、図１５ａ〜１５ｃに示す。特に、全てのマップに亘って最高の確率は、最大尺度マップ（図１５ｃ）の左側で検出される。図１５ｃにおいて、顔の推定された大きさに対応する領域５３０を削除する。より小さいマップにおいて、対応する縮小された領域５３２、５３４を削除する。
【００８１】
重複検出を避けるために、マップの検定ウィンドウより大きな領域を削除する。特に、そのような重複検出を避けるのに適した領域の大きさは、検定ウィンドウの幅／長さに、それぞれの半分を加えた大きさである。
【００８２】
次に良い応答を探索し、対応するウィンドウを次々に削除にすることによって、新たな顔を検出する。
【００８３】
処理される尺度間で許容される間隔は、大きさの変化に対する処理の感度（sensitivity）に影響される。尺度に対して不変であるという（scale invariance）この予備的な研究において、多くの場合、ある尺度で良い応答を示した顔が同様に隣の尺度で良い応答を示すように、この処理が大きさの変化に極端に敏感でないことが分かった。
【００８４】
上述の説明では、画像における顔の大きさが検出処理の初めでは分かっていないときの顔検出について言及している。多尺度顔検出（multiple scale face detection）の別の態様は、検出処理を確証するために、異なる尺度での２つ以上の並列検出に用いることである。例えば、検出される顔が部分的に覆い隠され、あるいは人が帽子等をかぶっている場合に、この方法は、利点を有する。
【００８５】
図１５ｄ〜１５ｇは、この処理を示す図である。トレーニング段階の間、装置を、「フルフェース(full face)」ヒストグラムデータを生成するために、検定顔全体を囲むウィンドウ（図１５ｄ、上述したようにそれぞれのブロックに分割されている）上でトレーニングし、更に、「ズームイン(zoomed in)」ヒストグラムデータ生成するために、検定顔の中心領域だけが含まれるように拡大した尺度のウィンドウ（図１５ｅ）上でトレーニングする。これにより、２セットのヒストグラムデータを生成する。１つのセットは、図１５ｄの「フルフェース」ウィンドウに関し、他のセットは、図１５ｅの「中心顔領域（central face area）」ウィンドウに関する。
【００８６】
検出段階の間、あらゆる与えられた検定ウィンドウ５３６において、検定ウィンドウが顔の予想される大きさの全部を囲み（図１５ｆ）、また、他の検定ウィンドウがその予想される大きさで顔の主要な領域を含む（図１５ｇ）ように、ウィンドウを、検定画像の２の異なる尺度に対して適用する。これらは、それぞれ、上述したように処理し、ウィンドウの種類に適したヒストグラムデータの各セットと比較する。各並列処理からの対数確率を加えた後、閾値と比較する。
【００８７】
これらの多尺度顔検出の態様を一緒にすることにより、特に、格納しなければならないデータ量を著しく節約することができる。
【００８８】
特に、これらの実施例において、図１５ａ〜１５ｃの配置に対する複数の尺度は、等比数列的に配列されている。この具体例においては、等比数列の項として並べられた各尺度における隣り合う尺度は、次項が前項の４√２倍となるように配列されている。そして、図１５ｄ〜１５ｇによって説明した並列検出のために、より大きな尺度、中央領域、検出は、この数列において３段階高い尺度、すなわち「フルフェース」尺度よりも２３／４倍大きな尺度で、数列において３段階高い尺度に関する属性データを用いて実行する。したがって、複数の尺度範囲の両端は別として、等比数列（geometric progression）は、図１５ｄ〜１５ｇの並列検出が、順番で３段階高い他の多尺度に関して生成される属性データを用いて、常に実行できることを意味している。
【００８９】
２つの処理（多尺度検出と並列尺度検出）は、様々な方法で組み合わせることができる。例えば、図１５ａ〜１５ｃの多尺度検出処理を最初に適用し、それから、図１５ｄ〜１５ｇの並列尺度検出処理を、多尺度検出処理の間に識別された領域（及び尺度）で適用することができる。しかしながら、属性データの便利で効率的な使用は、以下のようにして達成することができる。
・各尺度で検定ウィンドウに関する属性を導く（図１５ａ〜１５ｃに示すように）。
・それらの属性を「フルフェース」ヒストグラムデータと比較して、「フルフェース」の距離マップのセットを生成する。
・属性を「ズームイン」ヒストグラムデータと比較して、「ズームイン」の距離マップのセットを生成する。
・各尺度ｎについて、尺度ｎ＋３の「ズームイン」距離マップを、尺度ｎの「フルフェース」距離マップに組み合わせる。
・図１５ａ〜１５ｃによって上述したように、組み合わせた距離マップから顔位置を導く。
【００９０】
更に、例えば正面、部分的に上、下、左、右等を見た様々なポーズを検出するために、並列検定を、実行することができる。ここで、ヒストグラムデータのそれぞれのセットが必要とされるとともに、結果が、「最大」関数を用いて好ましくは組み合わせられ、すなわち、最も高い確率を与えるポーズは閾値処理に送られ、他は破棄される。
【００９１】
多尺度の改善された用法
顔検出アルゴリズムは、複数の尺度で複数の確率マップを提供する。ここでは、重複する顔がないことを確実にしながら、確率が所定の閾値を超えている画像における全ての場所を検出することが必要である。
【００９２】
上述した手法の短所は、全ての尺度に対応する確率マップの完全な組を保存する必要があり、したがって、大きなメモリが必要であるという点である。一方、以下に説明する手法では、確率マップの全てを同時に保存する必要はない。
【００９３】
簡潔に言えば、この手法では、候補顔の位置の一時的なリストを維持する。各尺度について、確率マップを計算するにあたり、確率最大値を検出し、これと候補顔の位置のリストとを比較し、重複する顔が存在しないことを確実にする。
【００９４】
詳しくは、この手法では、顔がある可能性がある場合、顔リストを用いて現在の位置のリストを維持する。顔リスト内の各顔は、顔の位置と顔のサイズに関する情報を有する。この閾値は、オブジェクトが顔であると考えられる確率閾値である。尺度係数は、連続した尺度間のサイズ係数（この実施例では、１．１８９２０７１１５又は４√２）である。
【００９５】
以下の説明では、１６ｘ１６の顔サイズ（face_size）について検討する。
【００９６】
この処理について、図１６のフローチャートを用いて説明する。
【００９７】
図１６に示すように、処理は、ステップ１４００において、１つの尺度（この実施例では、最小の尺度）に関して開始される。ステップ１４００を最初に実行したときは、顔リストは、空であるが、次回からは、ステップ１４００において、顔リスト内の全ての顔について、各顔のサイズを尺度係数に乗算することによって、各顔のサイズを変更する。これにより、先の尺度に関して検出された顔が現在の尺度における最大値に対する有効な比較のために正しいサイズに変更される。
【００９８】
ステップ１４１０において、現在のマップにおける最大の確率値（ｍｐ）が検出される。
【００９９】
ステップ１４２０において、最大の確率値ｍｐは、閾値と比較される。ｍｐが閾値より大きい場合、処理は、ステップ１４３０に進む。一方、ｍｐが閾値より大きくない場合、次のマップ（処理すべき次の尺度係数に対応しているマップ）に対する処理がステップ１４４０から開始される。
【０１００】
ステップ１４３０において、最大値ｍｐを示す現在の尺度の確率マップ内の位置が顔リスト内の顔に重なる（一致する）場合（ここでは、ステップ１４００において変更されたサイズを考慮している。）、処理はステップ１４５０に進む。これ以外の場合、処理は、ステップ１４６０に進む。
【０１０１】
ステップ１４５０において、値ｍｐは、既存の顔について、保存されている確率値と比較される。ｍｐがその確率値より大きい場合、ステップ１４７０において、既存の顔は、削除され、顔リストにおいて、ｍｐの現在の値と位置に対応する新たなエントリが作成される。そして、ステップ１４８０において、値ｍｐは、新たなエントリに関連付けて顔リストに保存され、現在の最大確率の画像位置を中心とする１６×１６画素領域が閾値に設定される。ステップ１４９０において、最大の確率値を有する現在の位置は、顔サイズを１６として、顔リストに加えられる。そして、処理は、ステップ１４１０に戻る。
【０１０２】
また、顔リストの如何なる顔にも重複しない最大の確率位置が検出された場合（ステップ１４３０）、ステップ１４６０において、顔リストに新たなエントリが作成される。上述のように、ステップ１４６０においては、値ｍｐが保存され、現在の最大値を囲む１６×１６領域が閾値に設定される。ステップ１４６５において、最大の確率値を有する現在の位置は、顔サイズを１６として、顔リストに加えられ、処理は、ステップ１４１０に戻る。
【０１０３】
ステップ１４５０において、最大の確率値ｍｐが既存の（重複する）顔の確率より低いと判定された場合、処理は、ステップ１４５５に進み、ここで、既存の顔の領域が閾値に設定され、処理は、ステップ１４１０に戻る。
【０１０４】
これらの各処理段において、制御がステップ１４１０に戻ると、最大の確率値ｍｐが再び検出されるが、この検出は、ステップ１４６０、１４５５、１４８０における検出された顔の周囲の確率値への変更を反映している。したがって、それらのステップにおいて生成された変更された値は、閾値に等しくなるように設定された値が閾値を超えることはないため、実際には、ステップ１４２０の検査を通過しない。このため、ステップ１４２０では、閾値を超える他の位置が正しいマップ内に存在するか否かが判定される。
【０１０５】
この手法の利点は、確率マップの各尺度を個別に考慮できる点である。各尺度の処理の間には、顔リストだけを保存すればよい。これには、以下のような利点がある。
・メモリ要求の低減：確率マップの完全な組を保存する必要はない。すなわち、顔リストだけを保存すればよく、消費されるメモリ容量を低減できる。
・時間的なデシメーションを可能にする。このアルゴリズムでは、例えば、１フレームの処理を複数のタイムスロットに分割し、各タイムスロットの間、尺度のサブセットのみを処理する時間的なデシメーション等の手法を用いることができる。ここでは、先に算出された全ての確率マップの組の代わりに、各呼出し間で顔リストを維持することのみが必要であるために、この手法を用いることができる。
・より速い探索を実現する：ここでは、一度に１つの尺度だけが検討される。したがって、最大値が発見される毎に、１組の確率マップにおける全ての尺度に亘って領域を削除する必要はない。
【０１０６】
変化検出
顔検出をリアルタイムで行う必要がある場合、限られた時間内、例えば、映像信号の１フレーム期間内に全ての顔検出処理を実行することが困難であることがある。
【０１０７】
変化検出処理は、先行するフレームから、画像のどの領域が変化したかを検出するために、又は少なくとも先行するフレームから変化していないと判定された領域を顔検出処理から除外するために行われる。
【０１０８】
先行するフレームから変化していない画像の領域については、結果が先行するフレームと同じになる可能性が高いため、それらに対して再び顔検出を実行する必要はない。一方、変化があった画像の領域については、新たに顔検出を実行する必要がある。画像におけるこれらの領域は、変化検出によって、「関心領域（areas of interest）」としてラベルが付される。
【０１０９】
この実施例では、変化検出は、例えば、元の画像尺度又は顔検出で用いられる最も大きい尺度等である単一の固定尺度において、実行される。図１７は、動き検出器の構成を示している。
【０１１０】
現在の及び先行するフレームは、まず、ローパスフィルタ１１００、１１１０によって処理される。そして、２つのフレームは、弁別器１１２０に供給され、ここで、例えば、フレーム間の１画素（又はブロック）位置毎の１つの差分値による絶対画素（又はブロック）の差分として表現されるフレーム差分画像が生成される。差分画像の絶対値は、閾値比較器１１３０において閾値Ｔｈｒｄｉｆｆと比較され、これによりバイナリ差分画像、すなわち、１画素（又はブロック）位置毎に１つの値を有する１ビット値のアレーが生成される。ここでは、非常に小さい差分は、０（変化なし）に設定され、大きな差分は、１（変化検出）に設定される。そして、バイナリ差分画像に対して、モルフォロジー的オープニング演算（morphological opening operation）１１４０を行い、検出された変化／動きのより連続した領域を生成する。
【０１１１】
実際には、ローパスフィルタ処理は省略してもよい。
【０１１２】
モルフォロジー的オープニング演算は、周知の画像処理技術であり、この実施例では、３×３ブロック領域に実行され（すなわち、３×３ブロックをモルフォロジー的構造要素として用いる。）、モルフォロジー的収縮演算（morphological erosion operation）と、これに続くモルフォロジー的膨張演算（morphological dilation operation）とを含む。基本的にラスタベースのシステムにおいてこの処理を実行するために、３ラインを処理する毎に、モルフォロジー的処理を行う。
【０１１３】
変化検出は、上述のように、画像の全体に適用でき、これにより、変化が検出された画像の領域に関するマップが作成される。顔検出は、それらの領域に適用される。
【０１１４】
これに代えて変化検出を用いて、必ずしも、動きがある又は「動きがない」全ての領域を検出することなく、顔検出から画像のある領域を除外してもよい。この手法により、顔検出自体の処理量を有効に低減する可能性を残しながら、変化検出処理の処理要求を減少させることができる。図１８ａ〜図１８ｅは、この処理の概要を示している。
【０１１５】
図１８ａでは、（画素又はブロックの）水平線の走査１１５０が画像の左上から右下に向けて行われるラスタ走査構成において変化検出が適用されている。ここでは、（モルフォロジー的処理及び好ましくはローパスフィルタリング処理を行うことなく）図１７に示す基本的処理が用いられ、画像は、先行する画像と比較される。各走査点において、検出された絶対的差分は、閾値Ｔｈｒｄｉｆｆと比較される。
【０１１６】
走査１１５０は、１つの操作位置１１６０について検出された絶対的差分が閾値Ｔｈｒｄｉｆｆを超えるまで続けられる。この操作位置１１６０において、走査１１５０は、終了する。
【０１１７】
続いて、３の同様の走査１１７０、１１８０、１１９０が行われる。走査１１７０は、画像の最後から開始され、走査位置１２００において絶対差分値が閾値Ｔｈｒｄｉｆｆを超えると終了する水平走査である。走査１１８０は、画像の左側から開始され、走査位置１２１０において絶対差分値が閾値Ｔｈｒｄｉｆｆを超えると終了する下向の垂直走査である。そして、走査１１９０は、画像の右側から開始され、走査位置１２２０において絶対差分値が閾値Ｔｈｒｄｉｆｆを超えると終了する下向の垂直走査である。
【０１１８】
そして、図１８ｅに示すように、これら４個の点１１６０、１２００、１２１０、１２２０によって境界ボックス１２３０を定義する。具体的には、ポイントｎｎｎｎの画像座標を（ｘｎｎｎｎ，ｙｎｎｎｎ）とすると、境界ボックス１２３０の４つの頂点は、以下のように定義される。
【０１１９】
【表４】
2005190477.tif 000008
【０１２０】
このように、境界ボックスは、画像における変化が検出された全ての領域を定義するのではなく、変化が検出されていないために顔処理から除外できる領域（境界ボックスの外の）を定義する。境界ボックス内の領域については、潜在的に、領域内の全てが変化している可能性もあるが、より一般的には、領域内の一部が変化し、他の部分は変化していない場合が多い。
【０１２１】
勿論、この手法には、次のような幾つかの順列的可能性がある。
（ａ）４個の探索を行う順序。
（ｂ）各探索を実行する方向（各図面において、アルゴリズムの効果を変えることなく、矢印の向きを逆にすることができる）。
（ｃ）走査を順次行うか（１つの走査が終わると次の走査を行う。）並列的に行うか（同時にの２つ以上の走査を行う）。
【０１２２】
図１９ａ〜図１９ｃに図式的に示す変形例では、２つの水平走査１１５０、１１７０によってまだ除外されていない列１２４０のみについて、２つの垂直走査１１８０’、１１９０’を行っている。この変形例により、処理要求を減少させることができる。
【０１２３】
上述した変化検出法は、以下に説明するように、顔検出処理について良好に機能する。変化検出は、画像の４つの極値（エッジ）から開始され、変化が検出されたところで終了する。したがって、それぞれの変化検出処理の潜在的に最後の画素（又はブロック）又は部分的列／行は別として、変化検出は、顔検出が行われない画像領域についてのみ実行される。同様に、最終的な画素、ブロック又は部分的列／行は別として、顔検出は、変化検出が行われなかった領域についてのみ実行される。なお、変化検出は、顔検出に比べて、プロセッサにおける処理負担が軽く、２つの処理におけるこの比較的小さな重複は、殆どの場合、変化検出を用いることによって画像の総合的な処理要求を減少させることができることを意味する。
【０１２４】
例えば、ＭＰＥＧ符号化された信号等、動き符号化された信号又は先にこの形式で符号化され、顔検出のために復号された信号には、異なる変化検出法が適用される。信号に関する動きベクトル又はこれに類する情報は、画像間のどこが変化したかを示す。各動きベクトルの（現在の画像における）デスティネーションのブロック（例えば、ＭＰＥＧマクロブロック）は、変化がある領域としてフラグを立てることができる。これは、上述した変化検出法に加えて、又はこれに代えて行うことができる。
【０１２５】
以下、処理要求を減少させる他の手法について説明する。顔検出アルゴリズムは、複数の尺度に対して繰り返される複数の処理段に分割される。アルゴリズムは、ｎ回のコールの後に完了する。アルゴリズムは、各コールが略々等しい時間を要するように自動的に区切られる。この処理に関する重要な特色は、以下の通りである。
・この処理は、自動処理を用いて、アルゴリズムを処理時間が等しい断片に区切る。
・各処理段にかかる処理時間を推定することにより、アルゴリズムは、ある処理段があまりに長い時間がかかる場合、その処理段を実行する前にリターンすることができる。
・アルゴリズムは、各処理段の最後においてのみリターンすることができ、処理段の途中ではリターンすることはできない。これにより、必要なローカルストレージを制限でき、プログラムフロー制御を簡略化できる。
・なお、この実施例では行っていないが、各処理段にかかる処理時間の推定は、実際に測定したタイミング情報によって自動的に精度を高めてもよい。
・各コールの最後には、顔の追跡を実行でき、これにより新たな顔位置を提供する新たな顔検出を行わなくても、肌色追跡によって顔を追跡することができる。
・これに代えて、ｎ＋１番目のコール（ｎ回の顔検出コールの全てが完了した後）においてのみ追跡を実行してもよい。これは、追跡がより低いレートで行われ、したがって、精度が低下することを意味するが、これにより、アルゴリズムは、必要であれば、コール毎の実行時間を短くすることができる。
【０１２６】
以下の表は、６個の尺度に亘って実行される顔検出のための処理段の順序を示している。
【０１２７】
【表５】
2005190477.tif 000009
【０１２８】
以下の表は、４による時間的なデシメーションを用いた場合の処理を示している。アルゴリズムは、処理を等しい時間の「チャンク」に自動的に分割する。この分割は、先の尺度のための処理が、後の尺度のための処理より長い時間を必要とする（先の尺度の方が画像がより大きい）ために、複雑なものとなる。アルゴリズムは、その各処理段を実行する前に、その処理段に必要となる時間を推定する。この推定は、特定の処理と、所定の尺度のために処理される画素数とに基づいて行われる。
【０１２９】
例えば、以下のような推定を用いてもよい。
動き    画素毎１
変化  画素毎１
デシメート  画素毎２
畳み込み  画素毎３
ルックアップ  画素毎４
最大値探索  画素毎３
【０１３０】
【表６】
2005190477.tif 000010
【０１３１】
全ての尺度のための処理は、１８８７２個の処理単位を必要とすることを予め算出することができる。これは、処理を４つの等しいチャンクに分割するためには、システムは、１つのコールあたり約４７１８個の処理単位を実行する必要があることを意味する。
【０１３２】
各処理段を実行する前に、システムは、必要とされる累積的な処理単位の個数が何らかの所定のレベル（例えば、５３００）を超えるか否かを計算する。処理単位の個数がこの所定のレベルを超える場合、この処理段を実行せず、リターンを実行する。これには、何らかの動作を実行する前に、その動作が割り当てられた時間を超えるか否かを知ることができるというタイミングに関する利点がある。
【０１３３】
空間的なデシメーション
空間的なデシメーションは、各画像に関して処理要求を減少させるために用いることができる他の技術である。
【０１３４】
ここでは、空間的なデシメーションの２つの実施例を説明する。一方では、横縞に基づいて画像を探索し、他方では、分散的に（sparse manner）画像を探索する。
【０１３５】
ここでは、横縞がより効率的である点を考慮して横縞を用いるが、実際には、如何なる種類の分割法（例えば、正方形、縦縞等）を用いてもよい。
【０１３６】
また、分散的に空間的なデシメーションを制御することも可能である。これは、縞を用いる手法程効率的ではないがアルゴリズムが呼び出される毎に、画像の全体のどこでも顔を検出できるので、より良好な結果が得られる場合もある。
【０１３７】
図２０ａ〜図２０ｃを用いて、縞に基づく手法を説明する。図２０ａでは、如何なる空間的なデシメーションも使用されておらず、画像１３００の全体に対して顔検出が行われる。図２０ｂでは、画像は、２つの部分１３１０、１３２０に分割されている。これらの部分に対しては、それぞれ交互の画像において顔検出が行われる。図２０ｃでは、画像は、３つの部分１３３０、１３４０、１３５０に分割され、各部分に対しては、それぞれ３つの画像につき１回ずつ顔検出が行われる。各部分は、別個に仕切られていてもよく、互いに僅かに重なり合っていてもよい。
【０１３８】
図２１ａ〜図２１ｄは、所謂分散的な空間的デシメーションを示している。
【０１３９】
ここでは、以下のように、３つの変数を定義する。
【０１４０】
ＳｐａｒｓｅＸは、水平方向におけるデシメーションの度合いを表す。ＳｐａｒｓｅＸ＝１の場合、水平方向には如何なるデシメーションも行わない。ＳｐａｒｓｅＸ＝２の場合、各画像において、交互の画素又はブロックに対して顔検出を行い、これにより、２つの画像毎に、各画素又はブロック位置ついて一回の顔検出が行われる。
【０１４１】
ＳｐａｒｓｅＹは、垂直方向における同様なデシメーションの度合いを表す。
【０１４２】
ＵｓｅＣｈｅｑｕｅｒＢｏａｒｄは、デシメーションが連続する列又は行に対して行われる場合０に設定され、デシメーションが連続する列又は行（又は列／行のグループ）の間でオフセットされる場合１に設定される。
【０１４３】
図２１ａ〜図２１ｄの実施例における各変数の値を以下の表に示す。
【０１４４】
【表７】
2005190477.tif 000011
【０１４５】
空間的デシメーションと、時間的なデシメーションとを組み合わせて用いてもよい。例えば、画像の離散的な空間的な部分（例えば、画像の３分の１）を複数のフレームに亘って処理してもよい。このように処理される部分（例えば、３の３分の１の部分）は、同じ画像に由来するものであっても、それぞれ異なる画像に由来するものであってもよい。
【０１４６】
顔追跡
顔追跡アルゴリズムについて説明する。追跡アルゴリズムは、画像シーケンスにおいて顔検出性能を向上させることを意図している。
【０１４７】
追跡アルゴリズムの初期の目標は、画像シーケンスの全てのフレームにおける全ての顔を検出することである。しかしながら、時々、シーケンス内の顔が検出できないことが認められる。これらの環境で、追跡アルゴリズムは、見逃した顔検出全体で補間するように補佐することができる。
【０１４８】
最終的に、顔追跡の目標は、画像シーケンスにおいて同じシーンに属しているフレームの各セットから有効なメタデータを出力できることである。このメタデータには、以下のものが含まれる。
・顔の数。
・各顔の「顔写真(Mugshot)」（個人の顔の画像を表す口語的な言葉、警察にファイルされている写真を照会する用語からきている）。
・各顔が最初に出現するフレーム番号。
・各顔が最後に出現するフレーム番号。
・各顔の識別（前のシーンで見られた顔に一致するか、顔のデータベースに一致したもの）−顔の識別には、顔の認識も必要とされる。
【０１４９】
追跡アルゴリズムは、顔検出アルゴリズムの結果を用い、画像シーケンスの各フレーム上で、その開始位置として独立して実行される。顔検出アルゴリズムは時々顔を逃がす（検出しない）こともあるので、見逃した顔を内挿する（interpolating）方法は有効である。このために、顔の次の位置を予測するためにカルマンフィルタ（Kalman filter）を用い、顔追跡を助けるために、肌色マッチングアルゴリズム（skin colour matching algorithm）を用いた。更に、顔検出アルゴリズムが頻繁に誤った採用の原因となるので、また、これらを排除する方法は有効である。
【０１５０】
このアルゴリズムを、図２２に示す。
【０１５１】
このアルゴリズムについては以下に詳細に説明するが、要約すると、入力ビデオデータ５４５（画像シーケンスを表す）がこの出願で説明される種類の検出器５４０及び肌色マッチング検出器５５０に供給される。顔検出器５４０は、各画像内で１つ以上の顔を検出することを試みる。顔が検出されると、カルマンフィルタ５６０が起動され、その顔の位置を追跡する。カルマンフィルタ５６０は、画像シーケンスにおける次の画像内で同じ顔の予測される位置を生成する。目の位置比較器５７０、５８０は、顔検出器５４０が次の画像内のその位置（あるいは、その位置からある閾値距離の範囲内）で顔を検出したかを、検出する。顔が検出された場合、その検出された顔位置は、カルマンフィルタを更新するために用いられ、処理が続けられる。
【０１５２】
顔が予測された位置で、あるいは近くで検出されない場合、肌色マッチング回路５５０を用いる。肌色マッチング回路５５０は、厳密でない顔検出技術であり、その検出の閾値は顔検出器５４０よりも低く設定され、顔検出器５４０がその位置で顔があると検出することができないときでさえ、顔を検出する（顔があるとみなす）ことができる。肌色マッチング回路５５０によって「顔」が検出されると、その位置がカルマンフィルタ５６０に更新された位置として供給され、処理が続けられる。
【０１５３】
顔検出器４５０又は肌色マッチング回路５５０によって一致が検出されないときは、カルマンフィルタを更新するために予測された位置を用いる。
【０１５４】
これらの結果の全ては、判定基準（下記参照）に対する対象である。したがって、例えば、１つの正しい検出に基づきシーケンスを通して追跡される顔、及び予測の残り又は肌色検出の残りは、破棄する。
【０１５５】
独立したカルマンフィルタは、追跡アルゴリズムにおいて各顔を追跡するために用いられる。
【０１５６】
顔を追跡するためにカルマンフィルタを用いるためには、顔を表す状態モデルを、生成しなければならない。状態モデルにおいて、各顔の位置は、左右の目の座標を含む４次元のベクトルによって表し、左右の目の座標は、ウィンドウの中央位置に対する所定の関係によって順番に導かれる。そして、以下の尺度を用いる。
【０１５７】
【数３】
2005190477.tif 000012
【０１５８】
ここで、ｋはフレーム番号である。
【０１５９】
顔の現在の状態は、１２次元のベクトルにおける、その位置、速度及び加速度によって表される。
【０１６０】
【数４】
2005190477.tif 000013
【０１６１】
検出された最初の顔
追跡アルゴリズムは、顔の存在を示す顔検出結果とともにフレームが供給されるまで、何もしない。
【０１６２】
そして、カルマンフィルタ５６０は、このフレームで検出された各顔毎に初期化される。その状態は、顔の位置によって、及び速度及び加速度をゼロとして初期化される。
【０１６３】
【数５】
2005190477.tif 000014
【０１６４】
また、カルマンフィルタ５６０は、他の属性状態、すなわちモデル誤差共分散（state model error covariance）Ｑと、観測誤差共分散（observation error covariance）Ｒとが割り当てられる。また、カルマンフィルタの誤差共分散Ｐも、初期化される。これらのパラメータについては、後により詳細に説明する。次のフレーム及び全ての後続のフレームの初めに、カルマンフィルタの予測処理が実行される。
【０１６５】
カルマンフィルタの予測処理
各既存のカルマンフィルタに対して、顔の次の位置が、以下の標準カルマンフィルタ予測方程式を用いて予測される。カルマンフィルタは、前状態（フレームｋ−1）、及びフィルタの現状態（フレームｋ）を推定する他の内部及び外部変数を用いる。
状態予測式：
【０１６６】
【数６】
2005190477.tif 000015
【０１６７】
共分散予測方程式：
【０１６８】
【数７】
2005190477.tif 000016
【０１６９】
ここで、Ｚｂ＾（ｋ）（「Ｚｂ＾」は、ハットＺｂを表すもとのする。以下同様）は、フレームｋに対するフィルタを更新する前の状態を示し、Ｚａ＾（ｋ−１）はフレームｋ−１に対するフィルタを更新した後の状態（あるいは、それが新規のフィルタであるときは、初期化状態）を示し、φ（ｋ，ｋ−１）は状態推移行列である。様々な状態推移行列を、後述するように試した。同様に、Ｐｂ(ｋ)は、フレームｋに対するフィルタを更新する前のフィルタの誤差共分散を示し、Ｐａ(ｋ―１)は、前フレームに対するフィルタを更新した後のフィルタの誤差共分散（あるいは、それが新規のフィルタであるときは、初期化された値）を示す。Ｐｂ(ｋ)は、その精度をモデル化するフィルタの内部変数として考えることができる。
【０１７０】
Ｑ(Ｋ)は、状態モデルの誤差共分散である。Ｑ(ｋ)の高い値は、フィルタの状態の予測値（すなわち顔の位置）が高いレベルの誤差を有するとみなされることを意味する。このパラメータを調整することによって、フィルタの動作を変更することができ、顔検出に対して潜在的に向上させることができる。
【０１７１】
状態推移行列
状態推移行列φ(ｋ,ｋ―１)は、次の状態の予測をどのようにして行うかを決定する。運動方程式を用い、φ(ｋ,ｋ―１)に対して次の行列を導くことができる。
【０１７２】
【数８】
2005190477.tif 000017
【０１７３】
ここで、Ｏ４は４×４零行列であり、Ｉ４は４×４単位行列である。Δｔは、簡単に１（すなわち、ｔの単位はフレーム周期である）に設定することができる。
【０１７４】
この状態推移行列は、位置、速度及び加速度をモデル化する。しかしながら、予測状態を補正するために顔検出が利用できなかったときには、加速度を使用すると、顔の予測が画像の端の方に加速される傾向があることが、分かった。したがって、加速度を用いないより単純な状態推移行列が好ましい。
【０１７５】
【数９】
2005190477.tif 000018
【０１７６】
各カルマンフィルタの予測された目位置Ｚｂ＾（ｋ）を、現フレームにおける全ての顔検出結果（存在する場合）と比較する。目位置間の距離が所定の閾値以下であるときは、顔検出は、カルマンフィルタによってモデル化される顔と同じ顔に属するとみなすことができる。そして、顔検出結果を、顔の現在の状態の観測ｙ(ｋ）として扱う。
【０１７７】
【数１０】
2005190477.tif 000019
【０１７８】
ここで、ｐ(ｋ)は顔検出結果の目の位置である。この観測は、予測を補正するのを助けるために、カルマンフィルタ更新過程の間、用いられる。
【０１７９】
肌色マッチング
肌色マッチングは、顔検出結果と良く一致する顔に対しては用いられない。肌色マッチングは、カルマンフィルタによって位置が予測された顔に対して実行されるだけであり、現フレーム内の顔検出結果に一致しない、したがってカルマンフィルタの更新に役立つ観測データがない顔に対しては実行されない。
【０１８０】
第１の手法において、各顔に対して、顔の前の位置を中心とした楕円状の領域が前フレームから抽出される。このような領域の具体例は、図２４に示すように、顔ウィンドウ６１０内の領域６００である。ガウス分布モデルに基づいて、Ｃｒ値及びＣｂ値の平均値及び共分散の推定値を生成するために、この領域の色差データを用いる色モデルを、シードする。
【０１８１】
そして、現フレームの予測された顔位置の周辺の領域を探索し、楕円状の領域で再び平均した色モデルと最も一致する位置を選択する。色一致が所定の類似基準を満たすときは、この位置を、前の章で説明した顔検出結果と同様の方法で、顔の現在の状態の観測ｙ（ｋ）として用いる。
【０１８２】
図２３ａ及び図２３ｂは、探索領域の生成を具体的に説明する図である。特に、図２３ａは、次の画像６３０内の顔の予測された位置６２０を具体的に説明するための図である。肌色マッチング回路５４０において、次の画像で予測された位置６２０を囲んでいる探索領域６４０が、顔を検出するために探索される。
【０１８３】
色の一致が類似基準を満たさないときは、現フレームに対する信頼性が高い観測データは利用できない。代わりに、予測状態Ｚｂ＾（ｋ）を観測データとして用いる。
【０１８４】
【数１１】
2005190477.tif 000020
【０１８５】
上述した肌色マッチング方法は、単純なガウス分布の肌色モデルを用いる。モデルは、前フレームで顔の中央に置かれる楕円状の領域の上でシードされて、現フレームで最も一致している楕円状の領域を検出したものである。しかしながら、潜在的により有効な性能を得るために、更なる２つの方法、すなわち色ヒストグラム法（colour histogram method）及び色マスク法（colour mask method）を開発した。これらを次に説明する。
【０１８６】
色ヒストグラム法
この方法においては、追跡された顔で色の分布をモデル化するガウス分布を用いる代わりに、色ヒストグラムを用いる。
【０１８７】
前フレームの各追跡された顔に対して、顔の周りの正方形のウィンドウ内のＣｒ値及びＣｂ値のヒストグラムを計算する。ヒストグラムを計算するために、各画素に関するＣｒ値とＣｂ値を、まず、単一の値に組み合わせる。次に、全部のウィンドウ内のこれらの値の出現度数を評価するヒストグラムを計算する。組み合わせるＣｒ値とＣｂ値の数が大きい（２５６×２５６の可能な組合せ）ので、ヒストグラムを算出する前に、値を量子化する。
【０１８８】
前フレームの追跡された顔に対するヒストグラムを算出し、このヒストグラムを現フレームに対して用いて、最も類似した色分布を有する画像の領域を検出することによって、顔の最も有望な新たな位置を推定することを試みる。図２３ａ、２３ｂに示すように、この推定は、現フレームの探索領域内のウィンドウ位置の範囲に対して正確に同じ方法でヒストグラムを算出することによって、行う。この探索領域は、予測された顔位置の周辺の所定の領域を含む。そして、前フレームの追跡された顔に関する元のヒストグラムと現フレームの各ヒストグラム間の二乗平均誤差（ＭＳＥ）を算出することによって、これらのヒストグラムを比較する。現フレームの顔の推定される位置は、最小のＭＳＥの位置によって与えられる。
【０１８９】
この色ヒストグラム法のアルゴリズムは、様々に変更することができ、以下のものが含まれる。
・２チャンネル（Ｃｒ、Ｃｂ）の代わりに３チャンネル（Ｙ、Ｃｒ、Ｃｂ）を用いる。
・量子化レベルの数を変える。
・ウィンドウをブロックに分割して、各ブロックのヒストグラムを算出する。この方法では、色ヒストグラム法は、位置的に依存するようになる。この方法では、ヒストグラムの各対間のＭＳＥを合計する。
・ウィンドウを分割するブロックの数を変える。
・実際に使用するブロックを変える。例えば、単に部分的に顔の画素を含む外側のブロックを省略する。
【０１９０】
これらの技術の実証的な試験で用いられる試験データに対して、最良の結果は次の条件を用いて達成された。しかしながら、他の条件により、異なる試験データを用いて、同様に良好な又はより良い結果が得られることもある。
・３チャンネル（Ｙ、Ｃｒ及びＣｂ）。
・各チャンネルに対して８つの量子化レベル（すなわち、ヒストグラムは８×８×８＝５１２ビン（bins）を含む）。
ウィンドウを１６ブロックに分割する。
１６個の全てのブロックを使用する。
【０１９１】
色マスク法
この方法は、上述した第１の方法に基づいている。色マスク法は、顔の画素分布を記述するのに、ガウス分布肌色モデルを用いる。
【０１９２】
上述した第１の方法における顔の中央に置かれた楕円状の領域を、色一致顔に用いる。この領域は、モデルを劣化する可能性がある背景画素の数を減らし、又は最小にすると認められる。
【０１９３】
存在色マスクモデルにおいて、類似した楕円状の領域を、例えばガウス分布モデルのパラメータを設定するためにＲＧＢ又はＹＣｒＣｂの平均値及び共分散を適用することによって、前フレームで元の追跡された顔に色モデルをシードするために、更に用いる（あるいは、代わりに、ガウス分布モデルのようなデフォルトの色モデルを、以下に示すように、用いることができる）。しかしながら、現フレームにおいて最良の一致を探索するときは、それは用いられない。代わりに、マスク領域を、前フレームからの元の顔のウィンドウにおける画素の分布に基づいて算出する。マスクは、最も色モデルと一致するウィンドウ内の５０％の画素を検出することによって算出される。具体例を、図２５ａ〜２５ｃに示す。詳細には、図２５ａは、検定における初期のウィンドウを具体的に示している。図２５ｂは、色モデルをシードするために使用される楕円状のウィンドウを具体的に示している。図２５ｃは、最も色モデルと一致する５０％の画素によって定義されるマスクを具体的に示している。
【０１９４】
現フレームにおいて顔の位置を推定するために、予測された顔位置の周りの探索領域を探索し（前と同じ）、色モデルからの「距離」を各画素に対して算出する。「距離」は、その次元の分散によって各次元で正規化された平均値からの差を表している。得られる距離画像の具体例を図２６に示す。この距離マップの各位置に対して（あるいは、計算時間を減らすためにサンプリングされた位置の少ないセットに対して）、距離画像の画素は、マスクの形をした領域上で平均されている。そして、最低の平均距離を有する位置を、このフレームにおける顔の位置の最良の推定値として、選択する。
【０１９５】
したがって、この方法は、楕円状の領域の代わりに、マスクの形をした領域を距離画像において用いるという点で、元の方法と異なる。これにより、色マッチング法は、色と形状の両方の情報を使用することができる。
【０１９６】
２つの変形例を提案し、技術の実証的な試験において実行した。
（ａ） ガウス分布肌色モデルは、前フレームにおいて追跡された顔の中央に置かれた楕円状の領域のＣｒ及びＣｂの平均値及び共分散を用いてシードされる。
（ｂ）デフォルトのガウス分布肌色モデルは、前フレームのマスクを算出するために、及び現フレームにおいて距離画像を算出するための両方に、用いられる。
【０１９７】
ここで、ガウス分布肌色モデルの使用について説明する。肌色クラスのガウス分布モデルは、ＹＣｂＣｒ色空間の色差成分を用いて作成される。肌色クラスへの検定画素の類似は、そして、評価されることができる。この方法は、したがって各画素（独立して固有顔に拠点を置く方法の）に関する、肌色尤度推定値を提供する。
【０１９８】
検定画素のＣｂＣｒ値のベクトルをｗとする。肌色クラスＳにｗが属している確率は、二次元のガウス分布によってモデル化される：
【０１９９】
【数１２】
2005190477.tif 000021
【０２００】
ここで、分布の平均値μｓ及び共分散行列ΣＳは、肌色値のトレーニングセットから予め推定される。肌色検出は、単独で用いた場合、効果的な顔検出法とはならない。これは、画像内には、肌色に類似する多くの領域が存在する可能性があり、これらの領域は、例えば顔以外の体の一部等、必ずしも顔ではないことが多いからである。しかしながら、この肌色検出を顔追跡システムについて説明した手法と組み合わせて用いることにより、固有顔法の性能を向上させることができる。顔検出された目位置及びカルマンフィルタによる観測として色マッチングした目位置の何れを認めるか、又は何れの観測も認めないかに関する決定を保存する。この決定に関する情報は、各カルマンフィルタによってモデル化された顔に関する継続中の有効性を評価するために後に用いられる。
【０２０１】
カラーマスク法の変形例については、図２７及び図２８を用いて後に説明する。
【０２０２】
カルマンフィルタ更新ステップ
更新ステップは、状態予測及び観測データに基づいて、現在のフレームに対するフィルタの出力を適切なものにするために用いられる。更新ステップでは、予測された状態と観測された状態との間の誤差に基づいて、フィルタの内部変数も更新される。
【０２０３】
更新ステップでは、以下の式が用いられる。
【０２０４】
カルマン利得式
【０２０５】
【数１３】
2005190477.tif 000022
【０２０６】
状態更新式
【０２０７】
【数１４】
2005190477.tif 000023
【０２０８】
共分散更新式
【０２０９】
【数１５】
2005190477.tif 000024
【０２１０】
ここで、Ｋ（ｋ）は、カルマンフィルタの他の内部変数であるカルマン利得を表す。カルマン利得は、観測された状態に基づいて、予測された状態ｙ（ｋ）をどれ程調整するかを決定するために用いられる。
【０２１１】
Ｈ（ｋ）は、観測行列を表す。これは、状態のどの部分が観測可能であるかを決定する。ここでは、顔の位置のみが観測可能であり、速度又は加速度は観測可能でないため、Ｈ（ｋ）として以下の行列を用いる。
【０２１２】
【数１６】
2005190477.tif 000025
【０２１３】
Ｒ（ｋ）は、観測データの誤差共分散を表す。Ｑ（ｋ）と同様に、Ｒ（ｋ）の値が大きいことは、フィルタ状態の観測された値（すなわち、顔検出結果又は色マッチング）の誤差が大きいことを意味する。このパラメータを調整することにより、フィルタの振る舞いを変更し、顔検出の精度を潜在的に向上させることができる。本願発明者らによる実験では、Ｑ（ｋ）に対して大きな値のＲ（ｋ）は、適当であることが見出された（これは、予測された顔位置が観測より信頼性が高いものとして取り扱われていることを意味する）。なお、これらのパラメータはフレーム毎に変更してもよい。したがって、観測が顔検出結果（より信頼できる）に基づいているか、色マッチング（信頼性が低い）に基づいているかに基づいて、将来検討すべき領域について、Ｒ（ｋ）とＱ（ｋ）の相対的な値を調整してもよい。
【０２１４】
各カルマンフィルタについて、更新状態Ｚａ＾（ｋ）を顔の位置に関する最終決定として用いる。このデータはファイルに出力し、保存する。
【０２１５】
マッチングされた顔検出結果は、新たな顔として取り扱う。これらの新たな顔については、新たなカルマンフィルタを初期化する。以下の顔は削除される。
・ピクチャのエッジから外れた顔及び／又は
・これらの顔をサポートする継続中の証拠がない顔（顔検出結果又は色マッチングより、カルマンフィルタ予測に基づく観測の割合が高い場合）
これらの顔については、関連するカルマンフィルタを除去し、ファイルにはデータを出力しない。
【０２１６】
この手法からの任意の変形例として、顔がピクチャから外れたことが検出された場合、その顔がピクチャから外れる前のフレームまでの追跡結果を保存し、有効な顔追跡結果として取り扱ってもよい（この結果が追跡結果に適用される他の判断基準に適合していることを前提とする）。これらの結果は、次のような更なる変数を用いることによって定式化及び構築することができる。
【０２１７】
prediction_acceptance_ratio_threshold（予測許容率閾値）
所定の顔の追跡の間に、許容されたカルマン予測顔位置の割合が、この閾値を超えた場合、追跡された顔は拒否される。この閾値は、現在０．８に設定している。
【０２１８】
detection_acceptance_ratio_threshold（検出許容率閾値）
全てのフレームに亘る最後のパスの間に、所定の顔について、許容された顔検出割合がこの閾値を下回った場合、追跡された顔は拒否される。この閾値は、現在０．０８に設定している。
【０２１９】
min_ frames（最少フレーム）
全てのフレームに亘る最後のパスの間に、所定の顔について、発生回数がmin_ framesより少ない場合、その顔は拒否される。このような場合が生じる可能性があるのは、シーケンスの最後の近くのみである。min_ framesは、現在５に設定している。
【０２２０】
final_prediction_acceptance_ratio_threshold及びmin_frames2（最終予測許容率閾値及び最少フレーム２）
全てのフレームに亘る最後のパスの間に、追跡されている所定の顔の発生回数が  min_frames2であり、許容されたカルマン予測顔位置の割合がfinal_prediction_acceptance_ratio_thresholdを超えた場合、その顔は拒否される。このような場合が生じる可能性があるのは、シーケンスの最後の近くのみである。final_prediction_acceptance_ratio_thresholdは、現在０．５に設定してあり、min_frames2は、現在１０に設定してある。
【０２２１】
min_eye_spacing（最小目間隔）
更に、追跡された顔の目の間隔が所定の最小距離を下回る場合、その顔を除外する。このような状況は、カルマンフィルタが目の間隔が狭くなっていると誤って判断し、例えば顔検出結果等、この判断を訂正する他の証拠がない場合に生じる。これを訂正しなければ、目の感覚は最終的に０になってしまう可能性がある。任意の変形例として、目の間隔に関する最小値又は下限を強制的に設定し、検出された目間隔が最小目間隔より小さい場合、検出処理はその目間隔を有する顔の探索を継続し、これより小さい目間隔を有する顔の探索は行わないようにしてもよい。
【０２２２】
なお、追跡処理は、必ずしもビデオシーケンスを時間的に順方向に追跡する必要はない。画像データにアクセス可能であれば（すなわち、処理が実時間ではなく、又は画像データが時間的に継続する用途のためにバッファリングされている場合）、追跡処理を時間的に逆方向に行うこともできる。又は、第１の顔が検出された場合（多くの場合ビデオシーケンスの途中で検出される）、追跡処理は、時間的に順方向及び逆方向の両方について開始してもよい。更なる任意の処理として、追跡処理は、ビデオシーケンス全体に亘って、時間的に順方向及び逆方向の両方について実行し、これらの追跡の結果を組み合わせて（例えば）許容基準に適合する追跡された顔が、追跡が実行された何れの方向についても有効な結果として含ませてもよい。
【０２２３】
以下、顔追跡に関して適用できる幾つかの更なる規則について説明する。
【０２２４】
顔追跡を開始／継続するための始めるか又は維持するための／追加規則
上述の手法では、既存の追跡では照合できないあらゆる顔検出の度に顔追跡を開始している。これは、既存の規則の１つ（例えば、予測許容率閾値）によって最終的に拒絶するまで、幾つかのフレームを誤って追跡し続けることによる多くの誤検出の原因ともなる。
【０２２５】
また、追跡を停止するための規則（例えば、予測許容率閾値（prediction_acceptance_ratio_threshold）、検出許容率閾値（detection_acceptance_ratio_threshold））は、対象となる人が、かなり長い時間、頭を一方に向けるような場合、バイアスされる。実際には、このような動作を行う人に対して、追跡を継続することが有効な場合もある。
【０２２６】
第１の解決策は、誤検出により誤った追跡を開始してしまうことを防止するのに役立つ。
【０２２７】
この場合も、内部的には、既存の追跡では照合できないあらゆる顔検出の度に顔追跡が開始される。但し、これは、アルゴリズムから出力されない。
【０２２８】
この追跡を維持するために、トラックの最初のｆフレームは、顔検出（すなわち、タイプＤ）でなくてはならない。最初のｆフレームの全てがタイプＤである場合、追跡は、維持され、顔の位置は、前方のフレームｆからのアルゴリズムから出力される。最初のｎフレームの全てがタイプＤではない場合、顔追跡は、終了され、この追跡については、顔位置は出力されない。ｆは、通常、２、３又は５に設定する。
【０２２９】
第２の解決策では、検出許容率（low detection_acceptance_ratio）の低回によって追跡を終了させることなく、プロファイルにおける顔を長時間に亘って追跡することができるようにする。この実施例では、予測許容率閾値（prediction_acceptance_ratio_threshold）と検出許容率閾値（detection_acceptance_ratio_threshold）を有効にしない。これに代えて、顔追跡を維持するために、次のような評価基準を任意に設ける。
【０２３０】
すなわち、顔追跡を維持するためは、ｎフレーム毎にｇ個の連続した顔検出を必要とする。ここで、ｇは、多くの場合、ｆと同様の値、例えば１〜５フレームに設定され、ｎは、カメラから離れた人の追跡ができることを望むフレームの最大数、例えば１０秒間（＝フレームレートに応じて、２５０又は３００フレームに相当する。）に対応している。また、この手法は、予測許容率閾値と検出許容率閾値規則に組み合わせてもよい。これに代えて、回転毎に、例えば、追跡の最初からではなく、最後の３０のフレームのみについて予測許容率閾値と検出許容率閾値を適用してもよい。
【０２３１】
誤色閾値（Bad colour threshold）規則
上述の手法では、肌色追跡の間のみ、顔の皮膚の色を検査している。これは、予測された顔位置を用いた場合、非肌色の誤検出が追跡され、又は顔追跡が非肌色の位置に迷い込む可能性があることを意味している。
【０２３２】
この問題は、顔の認識の種類が如何なるものであっても（顔検出、肌色又はカルマン予測の何れであっても）、肌色を検査するようにすることにより解決される。ここでは、肌色からの距離が誤色閾値（bad_colour_threshold）を超える場合、顔追跡を終了する。
【０２３３】
肌色追跡の間に算出された各画素の肌色からの距離を用いることにより、この処理を効率的に実現することができる。顔領域上（どの肌色追跡方式を用いるかに応じて、マスクの形をした領域、楕円状の領域、顔ウィンドウの全体の何れの領域であってもよい。）で平均されたこの測定値が所定の閾値を超える場合、顔追跡を終了する。
【０２３４】
関心領域マップによる検証
ここに説明する他の手法では、関心領域プリプロセッサ（area of interest pre-processor）を用いて、画像のどの領域が顔らしくない変化（non-face-like variance）を有するかを確かめる。この処理は、全ての尺度で繰り返され、これらの領域は、顔検出処理から除外される。但し、追跡された肌色又はカルマン予測された顔が（顔らしくない）低い又は高い変化を示す画像の領域に入ることがある。
【０２３５】
この問題を回避するために、変化の前処理の間、既存の顔追跡の周りの領域の変化値（又は傾斜値）を保存する。
【０２３６】
次の顔の位置に対して、最終的な判断を下す場合（顔検出、肌色又はカルマン予測の何れの認識の種類を用いてもよい）、関心領域マップに保存された変化（又は傾斜）の値を用いて、その位置を検証する。その位置が非常に高い又は非常に低い変化（又は傾斜）を有することが見出された場合、そこは顔らしくないと判定され、顔追跡は、終了される。これにより、顔追跡が変化の度合いが低すぎる（又は高すぎる）背景領域に迷い込むことを回避することができる。これに代えて、新たな顔位置の変化を新たに算出してもよい（変化前処理が行われていない場合、有効である。）。
【０２３７】
なお、ここで用いる変化測定値は、従来の変化、隣接する画素の差分の和（傾斜）、又は他の如何なる種類の変化を表す値であってもよい。
【０２３８】
図２２に示す追跡システムは、３つの更なる特徴を有している。
【０２３９】
ショット境界データ（shot boundary data）５６０（検査中の画像シーケンスに関連するメタデータから抽出され、又は図２に示すカメラ内で生成されたメタデータから抽出される）は、画像シーケンス内の連続する「ショット」の境界を定義する。カルマンフィルタは、ショットの境界においてリセットされ、後続するショットに関する予測は行わない。このような予測は無意味である可能性があるためである。
【０２４０】
顔検出器５４０には、ユーザメタデータ５４２及びカメラ設定メタデータ５４４を供給する。これらのデータは、非追跡システム（non-tracking system）においても使用することができる。カメラ設定メタデータ５４４の具体例については、上述した通りである。ユーザメタデータ５４２は、以下のような情報を含んでいてもよい。
・番組の種類（ニュース、インタビュー、ドラマ等）
・例えば「遠くからのショット」、「カメラが接近する」（特定の種類のカメラショットに基づいて、顔のサイズのサブレンジが予測される）、各ショットに何人の人が含まれるか（これによっても、顔のサイズのサブレンジが予測される）等、ショットの詳細に関する脚本情報。
・スポーツ関連情報。スポーツは、多くの場合、固定されたカメラ位置から標準的なビュー及びショットを用いて撮影される。これらのメタデータにおいて特定することによって、顔のサイズのサブレンジを導き出すことができる。
【０２４１】
番組の種類は、画像又は画像シーケンス内に存在すると予想される顔の種類に関連する。例えば、ニュース番組では、画像シーケンスの大部分において、画面の（例えば）１０％を占める単一の顔が登場することが予想される。尺度が異なる顔の検出は、このデータに応じて、このサイズに近い顔の可能性を高めるように重み付けすることができる。これに代えて、又はこれに加えて、探索範囲を削減し、全ての可能な尺度を探索するのではなく、所定の尺度のサブセットのみを探索するようにしてもよい。これにより、顔検出処理の処理負担を軽減することができる。したがって、ソフトウェアに基づくシステムでは、ソフトウェアをより速やかに実行でき及び／又はよりパワーが小さいプロセッサで実行できる。また、ハードウェアに基づくシステム（例えば、特定用途向け集積回路（application-specific integrated circuit：ＡＳＩＣ）を含む。）では、ハードウェアに対する要求を軽減できる。
【０２４２】
上述した他の種類のユーザメタデータを同様に適用してもよい。「予想される顔のサイズ」のサブレンジは、例えば、メモリ３０内に格納されたルックアップテーブルに登録してもよい。
【０２４３】
例えばレンズ１１０のフォーカス及びズームに関するカメラメタデータについて、画像の前景に存在する可能性がある任意の顔の予想される画像サイズに関する初期的な指標を与えることにより、顔検出器を補助することができる。これに関して、フォーカス及びズームの間の設定は、カムコーダ１００と、撮像されている個人との間の予想される距離、及びレンズ１１０の拡大率を定義する。これら２つの属性から、平均顔サイズに基づき、結果として得られる画像データにおける顔の予想されるサイズ（画素数）を算出することができ、これに基づいて探索すべきサイズのサブレンジを決定し、又は予想される顔サイズの重み付けを行うことができる。
【０２４４】
追跡アルゴリズムの利点
顔追跡法は、以下のような３つの主な利点を有する。
・顔検出結果が得られないフレームにおいて、カルマンフィルタリング及び肌色追跡を用いることにより、見逃された顔を埋める（fill in）ことができる。これにより、画像シーケンス間に亘って、真の許容率を高めることができる。
・顔を連続的に追跡することにより、顔のリンクを提供できる。アルゴリズムは、将来のフレームにおいて検出された顔が同じ個人の顔であるか、他の個人の顔であるかを自動的に知ることができる。したがって、このアルゴリズムから、シーン内の顔の数やこれらの顔が存在するフレームに関する情報を含むシーンメタデータを容易に作成することができ、各顔の代表的な顔写真を作成することもできる。
・顔の誤検出は、画像間で連続することは希であるため、顔の誤検出率を低くすることができる。
【０２４５】
上述した実施例は、顔検出システム（トレーニングと検出フェーズを含む）及びこのシステムのカメラレコーダ及び編集システムにおける潜在的用途を示している。上述の具体例は、顔検出（トレーニング及び検出段階を含む）、及びカメラレコーダ及び編集装置におけるこの顔検出の可能な用途に関する具体例を説明するものである。なお、この技術は、この他の多数の用途で利用することができ、例えば、以下に限定されるものではないが、安全監視システム、包括的なメディア処理（例えば、ビデオテープレコーダのコントローラ）、ビデオ会議システム等に利用することもできる。
【０２４６】
色マスク法に関する変形例
これらの変形例は、個別に適用してもよく、技術的に適切であれば、組合せて用いてもよい。
【０２４７】
変形例１：デフォルトガウス分布肌色モデルを用いて画像内の各画素について、色距離値を算出する（色距離マップを作成する）。顔が検出されると、マスク形の領域において、デフォルト値からの平均距離を算出する。将来の色追跡された顔（又は、検出され又は又はカルマン予測された顔）を検証する際、デフォルト色モデルからの距離が所定の公差を逸脱した場合、顔追跡は、終了される。これは、（ａ）全ての顔追跡に同じ色距離値を用いることができる（顔の色に関するシーディングを行うのではなく、デフォルト色モデルを用いるために、各顔について異なるモデルが必要ない。）こと、及び（ｂ）追跡が顔から異なる色の背景に逸れた場合、追跡は維持されず終了されることを意味する。
【０２４８】
変形例２：デフォルト色モデルの代わりに各顔について、その顔が最初に検出されたときにシーディングされた異なる色モデルを用いる。そして、色距離マップが算出された場合、先行するフレームの各顔の位置に基づいて、画像内の異なる領域で異なる色モデルパラメータを用いる。色距離値は、２つの顔の間の領域の加重和として混合してもよい。これにより、色追跡において、画像内の各画素位置について１つ以上の色距離値を計算することなく、各顔の実際の色をより正確にモデリングすることができる。
【０２４９】
変形例３：デフォルト色モデル又は各顔について異なる色モデルを用いる代わりに、先行するフレームから検出された全ての顔の平均した色について、汎用色モデルをシーディングしてもよい。
【０２５０】
変形例４：正方形のヘッドサイズのウィンドウによって色距離マップを探索し、肌色から最小平均距離を見出す場合、マスク内の領域は、正の貢献を有し、マスク外の領域は、負の貢献を有する。これは、肌色のみの領域の肌色からの正味距離が０になることを意味する。また、これは、マスク法の形状一致特性が補強されることも意味する。上述の手法では、顔マスク内の領域のみを用いた。
【０２５１】
変形例５：まず、色距離マップを各画素を肌色（１）と非肌色（−１）の２つのレベルに量子化する。これにより、色距離値の振幅が肌色からの距離の計算に望ましくない効果を有することが防がれ、すなわち、上述の変形例４と組み合わせた場合、マスク外の非肌色の画素が望ましくない効果を有することが防がれる。
【０２５２】
変形例６：肌色マスクをより漸進的に更新する。新たなマスクの算出において、先行するフレームのマスクの重みを９０％とし、現在のフレームのマスクの重みは１０％のみとする。これにより、例えば、顔の正面を手が横切る場合等、一時的で部分的な遮断によって生じる問題が回避される。また、人が非常にゆっくり動く場合に生じる問題も回避される。
【０２５３】
上述した肌色追跡法は、先行するフレーム内の顔の色距離マスクを現在のフレームの色距離マップに照合させることによって機能する。この手法には、少なくとも幾つかの変形例によって改善される３つの側面がある。
（１）部分的な遮断（例えば、顔の前を横切る手）があった場合、顔ではなく、手が追跡されることがある。
（２）顔は、（顔のサイズに基づいて）粗いグリッド上で追跡されるので、顔がゆっくり移動している場合、色距離マップが顔から徐々に「ずれる」ことがある。
（３）肌色に見える領域のみを考慮するため、肌色のみの領域において、最も高い一致が見出される。
【０２５４】
顔の色距離マスクを徐々に更新する変形例６は、（１）及び（２）の問題を改善する。変形例５では、顔マスク内の肌色領域の良好な一致のみではなく、顔の色ではない領域も考慮し、（３）の問題を改善する。
【０２５５】
詳しくは、各顔について、このフレーム内の顔の位置における先行するフレームの色距離マップからバイナリマスクを算出する。マスクの各要素は、マスク全体の平均色距離値より小さい（すなわち、肌色である）場合「１」とし、それ以外の場合（すなわち、肌色ではない）場合「０」とする。
【０２５６】
探索は、バイナリマスクを用いて、探索ウィンドウ上で行われる。探索ウィンドウ内の各点において、マスクが「１」である点では、全ての色距離値を加算し、マスクが「０」である点では、全ての色距離値を減算することにより値を算出する。マスクにおいて加算された色距離値が最小となる位置を最も良好に一致する位置とする。
【０２５７】
図２８に示すように、画像内の各顔について、（フレームｎに関する）現在の色距離マップは、古い顔位置１５００における古い色距離マップの９０％と、新たな顔位置１５１０における新たな色距離マップの１０％とを加算することにより更新される。
【０２５８】
これは、各顔の色距離マスクを徐々に変更する効果がある。したがって、顔が部分的に遮られた場合、顔を遮るオブジェクトは、色距離マスクを僅かに変更するのみであり、照合処理では、顔を遮るオブジェクトではなく、元の顔が照合される可能性が高い。
【０２５９】
この手法の更なる利点として、粗いグリッド上で探索を行っている場合であっても、ゆっくり移動する顔を良好に追跡できるという点である。この理由は、例えば、以下のような状況を検討することにより明らかとなる。
【０２６０】
例えば、従来の手法を用いて、探索を４×４グリッドの上で行う（すなわち、探索は、４画素以上の精度を有さない。）と仮定する。ここでは、顔が１画素分移動した場合、探索アルゴリズムは、同じ（前）の位置に顔を検出する。色距離マップは、新たな色距離マップに完全に置換されるので、顔が１フレームにつき１画素ずつ移動したとすると、４フレーム経過後には、実際には、顔は、４画素分移動しているが、顔は、元の位置に検出され、換言すれば、マスクは、顔から「ずれる」。
【０２６１】
色距離マスクを徐々に更新する変形例６の手法を用いた場合、４フレーム経過後、探索アルゴリズムは、４フレーム前の顔がどこにあったかを幾らか反映している色距離マップを用いる。これは、探索アルゴリズムが顔が実際には、４画素分移動したことを推定できることを意味する。
【０２６２】
変形例５のようにバイナリマスクを用いてマップを探索する場合、色距離マップを２つのレベルに量子化することによって性能を更に向上させることができる。マップ内の各画素は、マスクの平均色距離値より低い場合−１に、マスクの平均色距離値より高い場合＋１に設定される（「マスクの平均色距離」は、マスクを形成するために「１」及び「０」に量子化される前の顔ウィンドウの平均色距離を示す。）。
【０２６３】
そして従来と同様、値は、探索ウィンドウ内の各点において、マスクが「１」である位置では全ての色距離値を加算し、マスクが「０」である位置では全ての色距離値を減算することによって算出される。
【０２６４】
要約すると、これは、顔ウィンドウ内の各画素位置は、マスク値と画像色距離値に基づいて、算出される値に以下のような作用を及ぼすことを意味する。
【０２６５】
【表８】
2005190477.tif 000026
【０２６６】
探索ウィンドウの各位置において、これらの値は、顔のサイズのウィンドウ毎に算出され、加算される。従来と同様、値が最小である、すなわち、マスクが画像に最も一致する画素位置を最も良好な位置として選択する。
【０２６７】
これにより、色距離値の振幅が肌色からの距離の計算に望ましくない効果を有することが防がれ、マスク外の非肌色の画素が望ましくない効果を有することが防がれる。
【０２６８】
顔追跡とデシメーション
上述したデシメーションを用いるシステム、特に時間的なデシメーションを用いるシステムでは、幾つかのフレームについて、そのフレームの処理が終了しても決定的な顔検出結果が得られない可能性がある。この場合、時間的なデシメーションにより如何なる顔検出結果も得られないフレームに関しては、肌色追跡を用いることができる。これにより、必要とされる連続した顔検出の数に関する規則及びこれに類する規則は、適切に緩和される。空間的なデシメーションにより、画像の一部のみに関して結果が利用可能である場合、完全な新たな結果が得られたとき、又は各画像について、その時点で利用可能な画像全体に関して最も良好な情報に基づいて顔追跡を行ってもよい。
【０２６９】
傾斜前処理
図２９ａ〜図２９ｃは、傾斜前処理法（gradient pre-processing technique）を図式的に説明する図である。
【０２７０】
画素の変化が殆どない画像ウィンドウは、固有顔又は固有ブロックに基づく顔検出構成によって、顔として検出される傾向がある。したがって、前処理ステップにおいて、顔検出処理の対象から、画素の変化が殆どない領域を除外するとよい。多数の尺度を有する方式（上述参照）では、前処理ステップを各尺度において実行してもよい。基本的な処理として、画像全体に亘る可能なウィンドウ位置について、「傾斜検査（gradient test）」を適用する。各ウィンドウ位置について所定の画素位置、例えばウィンドウ位置の中心の又は中心に近い画素に対して、このウィンドウに適用された検査の結果に応じてフラグを立て又はラベルを付す。この検査により、このウィンドウにおいては画素の変化が殆どないと判定された場合、このウィンドウ位置は、顔検出処理から除外する。
【０２７１】
第１のステップ図２９ａに示す。図２９ａは、画像における任意のウィンドウ位置を示している。上述のように、前処理は、可能な各ウィンドウ位置に対して繰り返し行う。傾斜前処理は、ウィンドウ全体に対して行ってもよいが、本願発明者らは、図２９ａに示すように、前処理を検査ウィンドウ１０１０の中心領域１０００に適用した方が良好な結果が得られることを見出した。
【０２７２】
図２９ｂに示すように、傾斜に基づく測定値は、ウィンドウ（又は図２９ａに示すようなウィンドウの中心領域）から得られ、この値は、ウィンドウから得られた水平方向及び垂直方向の両方における隣接する画素１０１１間の絶対距離の平均値である。各ウィンドウの中止領域には、この傾斜に基づく測定値のラベルを付し、これにより画像の傾斜「マップ」を作成する。次に、作成された傾斜マップを傾斜閾値と比較する。そして、傾斜に基づく測定値が傾斜閾値を下回る全てのウィンドウ位置をその画像に関する顔検出処理から除外する。
【０２７３】
また、画素の変化又は平均画素値からの画素の絶対平均偏差等の他の傾斜に基づく測定を用いてもよい。
【０２７４】
傾斜に基づく測定は、画素の輝度値に関して行うことが好ましいが、カラー画像の他の画像成分について行ってもよいことは言うまでもない。
【０２７５】
図２９ｃは、例示的な画像から導出された傾斜マップの具体例を示している。ここで、傾斜が緩い領域１０７０（ハッチングで示す）は、顔検出から除外し、より傾斜が急峻な領域１０８０のみを顔検出に用いる。
【０２７６】
上述の具体例は、顔検出（トレーニング及び検出段階を含む）、及びカメラレコーダ及び編集装置におけるこの顔検出の可能な用途に関する具体例を説明するものである。なお、この技術は、この他の多数の用途で利用することができ、例えば、以下に限定されるものではないが、安全監視システム、包括的なメディア処理（例えば、ビデオテープレコーダのコントローラ）、ビデオ会議システム、ＩＰカメラ、デジタルスチルカメラ等に利用することもできる。
【０２７７】
他の実施例においては、高い画素差分を有するウィンドウ位置にフラグ又はラベルを付してもよく、及び顔検出処理から除外してもよい。「高い」画素差分とは、図２９ｂを用いて上述した測定値が上側の閾値を超えていることを意味する。
【０２７８】
したがって、傾斜マップは、上述のように、作成される。傾斜測定値が上述した（第１の）傾斜閾値より低い位置は、傾斜閾値が上側の閾値より高いあらゆる位置と同様に、顔検出処理から除外される。
【０２７９】
上述のように、「下側の閾値」処理は、好ましくは検定ウィンドウ１０１０の中心部分１０００に適用される。「上側の閾値」処理も同様に適用できる。これは、各ウィンドウ位置に関して、単一の傾斜測定値のみを導出すればよいことを意味する。これに代えて下側の閾値検査に関して全体のウィンドウが使用されている場合、上側の閾値検査に関しても同様に全体のウィンドウを用いることができる。ここでも、各ウィンドウ位置毎に単一の傾斜測定値だけを導出すればよい。勿論、（例えば）検定ウィンドウ１０１０の中心部分１０００を用いて下側の閾値検査のための傾斜測定値を導出し、上側の閾値検査に関しては、完全な検査ウィンドウを用いる等、２つの異なる構成を用いてもよい。
【０２８０】
上述した顔追跡を終了するための更なる基準として、その変化又は傾斜測定値が非常に低く又は非常に高くなった場合に顔追跡を終了してもよい。
【０２８１】
この手法では、追跡された顔位置は、関心領域マップからの偏差によって検証される。追跡の次の繰り返しのためには、検出された尺度における顔のサイズの領域のマップのみを各顔毎に保存する。
【０２８２】
上述した傾斜前処理を行った場合でも、肌色追跡され色又はカルマン予測された顔が画像内の変化が小さい又は大きい（顔らしくない）領域に移動する可能性はある。したがって、傾斜前処理において、既存の顔追跡の周りの領域に関する変化値（又は、傾斜値）を保存する。
【０２８３】
顔の次の位置に関する最終的な決定が下された場合、（顔検出、肌色追跡又はカルマン予測のうちの何れの認識を用いてよい。）その位置は、関心領域マップ内に保存されている変化（又は傾斜）値を用いて検証される。その位置が非常に高い又は非常に低い変化値（又は勾配値）を有すると判定された場合その位置は顔らしくないと判定され、顔追跡は終了する。これにより、顔追跡が画像内の低い（又は高い）変化値を有する背景領域に逸れることが防がれる。
【０２８４】
これに代えて傾斜前処理が使用されていない場合であっても、新たな顔位置の変化値を新たに計算してもよい。何れの場合も、用いられる変化測定は、従来の変化値であってもよく、隣接する画素の差分の合計（傾斜値）であってもよく、又は他の如何なる種類の変化値であってもよい。
【０２８５】
変化値の前処理と変化検出の結合
上述のように、変化検出法では、１つ以上の長方形の境界ボックスを検出された動きの領域の周囲に配置する（少なくとも、動きが検出されない領域を除外する）。そして、これらのボックスは、顔検出を実行すべき全ての尺度に再スケーリングされる。
【０２８６】
どの領域に対して顔検出を行うかに関する判定である関心領域の判定は、変化の前処理及び変化検出処理の結果に基づいて行われる。
【０２８７】
顔検出アルゴリズムで処理する必要があるのは、以下の画像領域だけである。（１）変化の前処理によって候補顔領域として、選択された画像領域。（２）変化検出の間、動きが検出された領域としてラベルが付された画像領域。
【０２８８】
したがって、関心領域決定ロジックは、変化の前処理及び変化検出モジュールからの関心領域領域を結合し、最終的な関心領域を生成する。これらは関心領域又は非関心領域としてラベルが付された各画素位置とともに、各尺度における１つ以上の長方形の境界ボックスによって制約され又は（境界ボックスによる制約なしで）複数の尺度の「関心領域」マップによって制約される。
【０２８９】
また、「変化していないことの検出」に対応して、どの領域が処理されないかを顔検出アルゴリズムに知らせることにより、これらの領域については、先行するフレームからの顔検出結果を繰り返し用いることができる。したがって、この情報は、顔検出にも渡される。
【０２９０】
また、上述した本発明の具体例の少なくとも一部は、ソフトウェアにより制御される処理装置によって実現できる。例えば、上述した１又は複数の要素は、ソフトウェアにより制御される汎用データ処理装置、又は特定用途向け集積回路やフィールドプログラマブルゲートアレー等の専用プログラムにより制御されるデータ処理装置によって実現してもよい。このようなソフトウェア又はプログラム制御を提供するコンピュータプログラム、及びこのようなコンピュータプログラムを保存、伝送又は提供する保存、伝送又は伝送媒体も本発明の側面とみなすことができる。
【０２９１】
参考文献のリスト及び付録を以下に示す。なお、疑いの余地をなくすために言及すれば、これらのリスト及び付録は、本願の一部を構成する。これらの文献は、引用により本願に援用されるものとする。
【０２９２】
参考文献
１．エイチ・シュナイダーマン（H. Schneiderman）及びティー・カナデ（T. Kanade）著、「顔及び車に適用される３Ｄオブジェクト検出のための統計モデル（A statistical model for 3D object detection applied to faces and cars）」、コンピュータビジョン及びパーターン検出に関するＩＥＥＥコンファレンス２０００（IEEE Conference on Computer Vision and Pattern Detection, 2000）
２．エイチ・シュナイダーマン（H. Schneiderman）及びティー・カナデ（T. Kanade）著、「オブジェクト検出のための局所的外観及び空間的関係の確率的モデリング（Probabilistic modelling of local appearance and spatial relationships for object detection）」、コンピュータビジョン及びパーターン検出に関するＩＥＥＥコンファレンス１９９８（IEEE Conference on Computer Vision and Pattern Detection, 1998）
３．エイチ・シュナイダーマン（H. Schneiderman）著、「顔及び車に適用される３Ｄオブジェクト検出のための統計的手法」、カーネギーメロン大学（Carnegie Mellon University）ロボティクス研究科（Robotics Institute）博士論文、２０００年
４．イー・ヘルマス（E. Hjelmas）及びビー・ケー・ロウB.K. Low）著、「顔検出：概観（Face Detection: A Survey）」、コンピュータビジョン及び画像理解（Computer Vision and Image Understanding）第８３号、ｐｐ．２３６〜２７４、２００１年
５．エム−エイチ・ヤング（M.-H.Yang）、ディー・クレイグマン（D.Kriegman）及びエヌ・アフジャ（N.Ahuja）著、「画像における顔の検出：概観（Detecting Faces in Images: A Survey）」、パターン分析及びマシン知能に関するＩＥＥＥトランザクション（IEEE Trans. on Pattern Analysis and Machine Intelligence）、第２４巻１号ｐｐ．３４〜５８、２００２年１月
付録Ａ：トレーニング顔セット
１個のデータベースは、屋内の背景の前に立つ数千個の題材（subject）の画像を格納している。上述の手法の実験に用いられる他のトレーニングデータベースは、正面から左右までの様々な範囲の角度から見た人間の頭の８ビットのグレースケール画像を一万個以上格納している。当業者にとっては明らかであるが、これらとは異なる様々なトレーニングセットを用いてもよく、任意として、ローカルの母集団の顔の特徴を反映するようプロファイルされたトレーニングセットを用いてもよい。
【０２９３】
付録Ｂ：固有ブロック
顔検出及び認識のための固有顔法（図４及び図５参照）において、各ｍ×ｎ顔画像は、それぞれ長さｍｎのベクトルによって表現されるようにが記録される。これにより、各画像は、ｍｎ次元空間内の点とみなすことができる。画像の組は、この大きな空間内の点の集合にマッピングされる。
【０２９４】
顔画像は、全体的な構成が類似しており、このｍｎ次元画像空間においてランダムには分布せず、すなわち、顔画像は比較的低い次元のサブ空間によって記述できる。主成分分析（principal component analysis：以下、ＰＣＡという。）を用いて、画像空間内における顔画像の分布を最もよく説明するベクトルを見出すことができる。ＰＣＡでは、元の顔画像に対応する共分散行列の主固有ベクトル（principal eigenvectors）を判定する。これらのベクトルは、多くの場合顔空間とも呼ばれる、顔画像のサブ空間を定義する。各ベクトルは、ｍ×ｎ画像を表し、元の顔画像の一次結合である。これらのベクトルは、元の顔画像に対応する共分散行列の固有ベクトルであるため、及びこれらは顔に似た外観を有するため、これらのベクトルは、固有顔とも呼ばれる［４］。
【０２９５】
未知の画像が存在する場合、この画像は顔空間に射影される。これにより、この画像は、固有顔の重み付けされた和として表現される。
【０２９６】
この具体例では、近接相関法（closely related approach）を用いて、顔画像のブロックに関連する所謂「固有ブロック（eigenblock）」又は固有ベクトルを生成及び適用する。ブロックのグリッドは、（トレーニングセット内の）顔画像又は（検出段階の間に）検査ウィンドウに適用され、固有顔処理に非常に類似した固有ベクトルに基づく処理を各ブロック位置に適用する（又は、データ処理の負荷を軽減する他の具体例においては、この処理は、まず、ブロック位置のグループに対して行い、全てのブロック位置において使用される固有ブロックの１つの組を生成する）。当業者には明らかであるが、中央のブロック等の幾つかのブロックは、画像の鼻の部分を表している場合が多く、顔が存在するか否かを判定するためのより重要な部分となる。
【０２９７】
固有ブロックの算出
固有ブロックは、以下のような手順で算出される。
（１）画像のトレーニングセットを用いる。これらを、それぞれｍ×ｎのサイズを有する画像ブロックに分割する。各ブロック位置について、それぞれが各画像におけるそのブロック位置から抽出された、次のような画像ブロックの組が得られる。
【０２９８】
【数１７】
2005190477.tif 000027
【０２９９】
（２）正規化されたブロックのトレーニングセット
【０３００】
【数１８】
2005190477.tif 000028
【０３０１】
を以下のようにして算出する。
【０３０２】
元のトレーニングセットからの各画像ブロックＩ０ｔを０と、１のＬ２ノルムとの平均値を有するように正規化し、各正規化された画像ブロックＩｔを生成する。
【０３０３】
各画像ブロックＩ０ｔ，ｔ＝１，・・・，ＮＴ：
【０３０４】
【数１９】
2005190477.tif 000029
【０３０５】
（すなわち、（Ｉ０ｔ−ｍｅａｎ＿Ｉ０ｔ）のＬ２ノルム）
（３）ベクトルのトレーニングセット
【０３０６】
【数２０】
2005190477.tif 000030
【０３０７】
を各画像ブロックＩｔの画素要素を辞書順に並べ替えることによって生成する。すなわち、各ｍ×ｎ画像ブロックＩｔを長さＮ＝ｍｎのベクトルｘｔに並べ替える。
（４）偏差ベクトルの組
【０３０８】
【数２１】
2005190477.tif 000031
【０３０９】
を算出する。Ｄは、Ｎ個の列とＮＴ個の行とを有する。
（５）共分散行列Σを算出する。
【０３１０】
【数２２】
2005190477.tif 000032
【０３１１】
Σは、Ｎ×Ｎのサイズを有する対称行列である。
（７）以下の式を解くことにより、全ての固有ベクトルからなる組Ｐ及び共分散行列Σの固有値λｉ，ｉ＝１，・・・，Ｎを求める。
【０３１２】
【数２３】
2005190477.tif 000033
【０３１３】
ここで、Λは、その対角に沿って（大きさの順に）固有値λｉを有するＮ×Ｎ対角行列であり、Ｐは、それぞれ長さＮを有するＮ個の固有ベクトルの組を含むＮ×Ｎ行列である。この分解は、カルーネン・レーベ変換（Karhunen-Loeve Transform：ＫＬＴ）としても知られている。
【０３１４】
固有ベクトルは、顔画像のブロック間の変化を互いに特徴付ける特徴の組であるとみなすことができる。固有ベクトルは直交基底を形成し、これにより画像ブロックを表現することができ、すなわち、原理的には、如何なる画像も固有ベクトルの重み付けされた和によって、誤差を生じることなく表現することができる。
【０３１５】
画像空間内のデータ点の数（トレーニング画像の数）が空間の次元より少ない（ＮＴ＜Ｎ）場合、意味がある固有ベクトルの数はＮＴ個のみとなる。残りの固有ベクトルは、０の固有値に関連付けられた値を有する。そこで、多くの場合、ＮＴ＜Ｎであるため、ｉ＞ＮＴである全ての固有値は０となる。
【０３１６】
更に、トレーニングセット内の画像ブロックは、全体の構成において類似する（全てが顔の画像に由来する）ため、残りの固有ベクトルのうちの幾つかのみが、画像ブロック間の相異を強く特徴付ける。これらは、関連する固有値が最も大きい固有ベクトルである。関連する固有値が小さいこの他の固有ベクトルは、このような大きな相異を特徴付けることなく、したがって、顔を検出し、又は顔間の区別を行う目的では有用ではない。
【０３１７】
したがって、ＰＣＡにおいては、Ｍ＜ＮＴとして、固有値が大きいＭ個の主固有ベクトルのみを考慮し、すなわち、部分的ＫＬＴを実行する。すなわち、ＰＣＡでは、最も大きい固有値に対応するＫＬＴ基底の、より低次元のサブ空間を抽出する。
【０３１８】
主成分は顔画像間の大きな相異を記述するため、外観上、これらの主成分は顔ブロックの部分に類似し、ここでは、これらを固有ブロックと呼ぶ。なお、固有ベクトルという用語も同様に用いる。
【０３１９】
固有ブロックを用いた顔検出
未知の画像の顔への類似性、すなわち顔類似性（faceness）は、その画像が顔空間によってどれ程適切に表現できるかによって測定される。この処理は、トレーニング処理において用いたものと同じブロックのグリッドを用いて、ブロック毎に行う。
【０３２０】
この処理の第１段階では、画像を顔空間に射影する。
【０３２１】
画像の顔空間への射影
画像を顔空間に射影する前に、トレーニングセットに対して行った前処理と略々同様の前処理をこの画像に対して行う。
（１）ｍ×ｎのサイズの検査画像ブロックＩ０を得る。
（２）元の検査画像ブロックＩ０を０と、１のＬ２ノルムとの平均値を有するように正規化し、正規化された検査画像ブロックＩを生成する。
【０３２２】
【数２４】
2005190477.tif 000034
【０３２３】
（すなわち、（Ｉ０−ｍｅａｎ＿Ｉ０）のＬ２ノルム）
（３）画像の画素要素を辞書順に並べ替えることによって、偏差ベクトルを生成する。画像を長さＮ＝ｍｎの偏差ベクトルｘに並べ替える。
【０３２４】
これらの前処理の後、以下のような単純な処理により、偏差ベクトルｘを顔空間に射影する。
（４）顔空間への射影は、偏差ベクトルｘをその固有ブロック成分に変換する処理を含む。この処理は、Ｍ個の主固有ベクトル（固有ブロック）Ｐｉ，ｉ＝１，・・・，Ｍによる単純な乗算を含む。各重みｙｉは、以下のようにして求めることができる。
【０３２５】
【数２５】
2005190477.tif 000035
【０３２６】
ここでＰｉは、ｉ番目の固有ベクトルを表す。
【０３２７】
これらの重みｙｉ，ｉ＝１，・・・，Ｍは、入力顔ブロックの表現における各固有ブロックの貢献を表す。
【０３２８】
外観が類似するブロックは、類似する重みの組を有し、外観が相異するブロックは、相異する重みの組を有する。すなわち、ここでは、重みは、顔検出において顔ブロックを分類する特徴ベクトルとして用いている。
【０３２９】
ここでは、特定の実施例について説明したが、本発明は、これに限定されるわけではなく、本発明の範囲内で多くの変更及び追加を行うことができることは明らかである。例えば、本発明の範囲から逸脱することなく、特許請求の範囲に示す従属請求項の様々な組合せを独立請求項の特徴に加えることができる。
【図面の簡単な説明】
【０３３０】
【図１】顔検出装置及び／又は非線型編集装置として用いられる汎用コンピュータシステムの構成を示す図である。
【図２】顔検出に用いるビデオカメラ−レコーダ（カムコーダ）の内部構成を示す図である。
【図３】トレーニング処理を説明する図である。
【図４】検出処理を説明する図である。
【図５】特徴ヒストグラムを示すグラフ図である。
【図６】固有ブロックを生成するためのサンプリング処理を説明する図である。
【図７】固有ブロックの組を示す図である。
【図８】固有ブロックの組を示す図である。
【図９】ブロック位置を表すヒストグラム表現を構築する処理を説明する図である。
【図１０】ヒストグラムビン番号の生成を説明する図である。
【図１１】顔確率の算出を説明する図である。
【図１２ａ】上述の手法を用いて生成されたヒストグラムの具体例を示すグラフ図である。
【図１２ｂ】上述の手法を用いて生成されたヒストグラムの具体例を示すグラフ図である。
【図１２ｃ】上述の手法を用いて生成されたヒストグラムの具体例を示すグラフ図である。
【図１２ｄ】上述の手法を用いて生成されたヒストグラムの具体例を示すグラフ図である。
【図１２ｅ】上述の手法を用いて生成されたヒストグラムの具体例を示すグラフ図である。
【図１２ｆ】上述の手法を用いて生成されたヒストグラムの具体例を示すグラフ図である。
【図１３ａ】ヒストグラムのデータ構造を示す図である。
【図１３ｂ】ヒストグラムのデータ構造を示す図である。
【図１４】顔ウィンドウが重ねられた所謂ビンマップを示す図である。
【図１５】ａ〜ｇは、所謂多尺度顔検出を説明する図である。
【図１６】多尺度構成において、顔位置を検出するための処理の概要を示すフローチャートである。
【図１７】動き検出器の構成を図式的に示す図である。
【図１８】ａ〜ｅは、画像内の変化がある領域を検出するための技術を図式的に説明する図である。
【図１９】ａ〜ｃは、図１８ａ〜図１８ｅに示す技術を更に改善する手法を示す図である。
【図２０】ａ〜ｃは、空間的なデシメーション技術を説明する図である。
【図２１】ａ〜ｄは、他の空間的なデシメーション技術を説明する図である。
【図２２】顔追跡アルゴリズムを説明する図である。
【図２３】ａ及びｂは、肌色検出に使用される探索領域の抽出を説明する図である。
【図２４】肌色検出に適用されるマスクを示す図である。
【図２５】ａ〜ｃは、図２４に示すマスクの用途を説明する図である。
【図２６】距離マップを示す図である。
【図２７】色マスク処理を図式的に示す図である。
【図２８】色マップ更新処理を図式的に示す図である。
【図２９】ａ〜ｃは、傾斜（変化）前処理法を説明する図である。
【図１】
2005190477.tif 000036
【図２】
2005190477.tif 000037
【図３】
2005190477.tif 000038
【図４】
2005190477.tif 000039
【図５】
2005190477.tif 000040
【図６】
2005190477.tif 000041
【図７】
2005190477.tif 000042
【図８】
2005190477.tif 000043
【図９】
2005190477.tif 000044
【図１０】
2005190477.tif 000045
【図１１】
2005190477.tif 000046
【図１２ａ】
2005190477.tif 000047
【図１２ｂ】
2005190477.tif 000048
【図１２ｃ】
2005190477.tif 000049
【図１２ｄ】
2005190477.tif 000050
【図１２ｅ】
2005190477.tif 000051
【図１２ｆ】
2005190477.tif 000052
【図１３ａ】
2005190477.tif 000053
【図１３ｂ】
2005190477.tif 000054
【図１４】
2005190477.tif 000055
【図１５】
2005190477.tif 000056
【図１６】
2005190477.tif 000057
【図１７】
2005190477.tif 000058
【図１８】
2005190477.tif 000059
【図１９】
2005190477.tif 000060
【図２０】
2005190477.tif 000061
【図２１】
2005190477.tif 000062
【図２２】
2005190477.tif 000063
【図２３】
2005190477.tif 000064
【図２４】
2005190477.tif 000065
【図２５】
2005190477.tif 000066
【図２６】
2005190477.tif 000067
【図２７】
2005190477.tif 000068
【図２８】
2005190477.tif 000069
【図２９】
2005190477.tif 000070
【外国語明細書】
2005190477.tif 000071
2005190477.tif 000072
2005190477.tif 000073
2005190477.tif 000074
2005190477.tif 000075
2005190477.tif 000076
2005190477.tif 000077
2005190477.tif 000078
2005190477.tif 000079
2005190477.tif 000080
2005190477.tif 000081
2005190477.tif 000082
2005190477.tif 000083
2005190477.tif 000084
2005190477.tif 000085
2005190477.tif 000086
2005190477.tif 000087
2005190477.tif 000088
2005190477.tif 000089
2005190477.tif 000090
2005190477.tif 000091
2005190477.tif 000092
2005190477.tif 000093
2005190477.tif 000094
2005190477.tif 000095
2005190477.tif 000096
2005190477.tif 000097
2005190477.tif 000098
2005190477.tif 000099
2005190477.tif 000100
2005190477.tif 000101
2005190477.tif 000102
2005190477.tif 000103
2005190477.tif 000104
2005190477.tif 000105
2005190477.tif 000106
2005190477.tif 000107
2005190477.tif 000108
2005190477.tif 000109
2005190477.tif 000110
2005190477.tif 000111
2005190477.tif 000112
2005190477.tif 000113
2005190477.tif 000114
2005190477.tif 000115
2005190477.tif 000116
2005190477.tif 000117
2005190477.tif 000118
2005190477.tif 000119
2005190477.tif 000120
2005190477.tif 000121
2005190477.tif 000122
2005190477.tif 000123
2005190477.tif 000124
2005190477.tif 000125
2005190477.tif 000126
【図１】
2005190477.tif 000127
【図２】
2005190477.tif 000128
【図３】
2005190477.tif 000129
【図４】
2005190477.tif 000130
【図５】
2005190477.tif 000131
【図６】
2005190477.tif 000132
【図７】
2005190477.tif 000133
【図８】
2005190477.tif 000134
【図９】
2005190477.tif 000135
【図１０】
2005190477.tif 000136
【図１１】
2005190477.tif 000137
【図１２Ａ】
2005190477.tif 000138
【図１２Ｂ】
2005190477.tif 000139
【図１３】
2005190477.tif 000140
【図１４】
2005190477.tif 000141
【図１５】
2005190477.tif 000142
【図１６】
2005190477.tif 000143
【図１７】
2005190477.tif 000144
【図１８】
2005190477.tif 000145
【図１９】
2005190477.tif 000146
【図２０】
2005190477.tif 000147
【図２１】
2005190477.tif 000148
【図２２】
2005190477.tif 000149
【図２３】
2005190477.tif 000150
【図２４】
2005190477.tif 000151
【図２５】
2005190477.tif 000152
【図２６】
2005190477.tif 000153
【図２７】
2005190477.tif 000154
【図２８】
2005190477.tif 000155
【図２９】
2005190477.tif 000156