(57)【要約】【課題】メモリ消費量や処理量を抑え高精度の顔検出技術を提供する。【解決手段】入力画像のエッジ画像と顔テンプレートとを用いて相関演算し、相関演算結果に基づいて、入力画像内の顔を検出する。顔テンプレートは、顔内部テンプレートと顔外部テンプレートとに分けて管理される。顔外部テンプレートは、顔内部テンプレートは、顔向きによって変化する。顔内部テンプレートを編集し、顔外部テンプレートに動的に合成した一時テンプレートを顔テンプレートして使用する。顔画像の変化に顔テンプレートを対応させ、顔向きにロバストな顔検出を行える。【選択図】図１
2005071344.tif 000002
【特許請求の範囲】
【請求項１】
入力画像由来のデータと顔テンプレートとを用いて相関演算するステップと、
相関演算結果に基づいて、前記入力画像内の顔を検出するステップとを含み、
前記顔テンプレートは、顔内部テンプレートと顔外部テンプレートとに分けて管理される、画像処理方法。
【請求項２】
前記入力画像由来のデータは、少なくとも入力画像のエッジ画像を含む、請求項１記載の画像処理方法。
【請求項３】
前記顔外部テンプレートは、変形させずに用いられ、入力画像中の顔の顔向き、顔傾き及び顔部品の偏りの少なくとも１つに適応可能であり、前記顔内部テンプレートは、変形させて用いられ入力画像中の顔の顔向き、顔傾き及び顔部品の偏りの少なくとも１つに適応可能である、請求項１または２記載の画像処理方法。
【請求項４】
前記相関演算するステップは、さらに
前記顔外部テンプレートと前記顔内部テンプレートとを、動的に合成して前記顔テンプレートとするステップと、
前記入力画像由来のデータと前記顔テンプレートとを用いて相関演算するステップとを含む、請求項１、２または３記載の画像処理方法。
【請求項５】
前記相関演算するステップは、さらに
前記入力画像由来のデータと前記顔外部テンプレートとを用いて相関演算するステップと、
前記入力画像由来のデータと前記顔内部テンプレートとを用いて相関演算するステップとを含む、請求項１、２または３記載の画像処理方法。
【請求項６】
前記相関演算するステップは、さらに
前記入力画像由来のデータと前記顔外部テンプレートとを用いて相関演算し、前記相関演算結果に基づいて、探索範囲を前記入力画像の一部の範囲に限定するステップと、
前記探索範囲内において、前記入力画像由来のデータと前記顔内部テンプレートとを用いて相関演算するステップとを含む、請求項１、２または３記載の画像処理方法。
【請求項７】
前記相関演算するステップは、さらに
前記入力画像由来のデータと前記顔外部テンプレートとを用いて相関演算するステップと、
前記入力画像について動き領域を求めるステップと、
前記顔外部テンプレートを用いた相関演算結果と求めた動き領域とに基づいて、探索範囲を前記入力画像の一部の範囲に限定するステップと、
前記探索範囲内において、前記入力画像由来のデータと前記顔内部テンプレートとを用いて相関演算するステップとを含む、請求項１または２記載の画像処理方法。
【請求項８】
前記動き領域を求めるステップでは、動き補償フレーム間予測に基づいて動きベクトルが求められる、請求項７記載の画像処理方法。
【請求項９】
前記動き領域を求めるステップは、さらに、
前記入力画像を構成する複数の部分領域について動きベクトルを検出するステップと、
前記入力画像全体におけるグローバル動きベクトルを検出するステップと、
求めた動きベクトルと、求めたグローバル動きベクトルに基づいて、前記動き領域を求めるステップとを含む、請求項７または８記載の画像処理方法。
【請求項１０】
前記グローバル動きベクトルを検出するステップでは、動きベクトルの平均を、求めるグローバル動きベクトルとする、請求項９記載の画像処理方法。
【請求項１１】
前記グローバル動きベクトルを検出するステップでは、ジャイロを用いてグローバル動きベクトルを求める、請求項９記載の画像処理方法。
【請求項１２】
前記顔外部テンプレートは、各種の顔向きにおける顔特徴を複数のサンプルを用いて学習させた結果を反映する、請求項１から１１の何れかに記載の画像処理方法。
【請求項１３】
前記顔外部テンプレートは、頭部の輪郭情報、顔の輪郭の輝度分布情報及び色分布情報の少なくとも１つを含む、請求項１から１１の何れかに記載の画像処理方法。
【請求項１４】
前記顔内部テンプレートは、正面顔の顔部品の特徴のみを複数のサンプルを用いて学習させた結果を反映する、請求項１から１１の何れかに記載の画像処理方法。
【請求項１５】
前記顔内部テンプレートは、顔部品の輪郭情報を含む、請求項１から１４の何れかに記載の画像処理方法。
【請求項１６】
前記顔部品は、目、眉、口及び鼻のうち、一種又は二種以上の組み合わせから構成される、請求項１４または１５記載の画像処理方法。
【請求項１７】
拡大、縮小、回転及び透視投影変換のうち、一種又は二種以上の組み合わせから構成される編集により、前記顔内部テンプレートは、顔向きにより変化する、請求項１５記載の画像処理方法。
【請求項１８】
前記顔外部テンプレートは、円状をなす、請求項１から１７の何れかに記載の画像処理方法。
【請求項１９】
前記顔外部テンプレートは、正面顔のエッジ画像を複数枚重ね、平均したものから顔部品のエッジを削除したものである、請求項１から１８の何れかに記載の画像処理方法。
【請求項２０】
前記顔内部テンプレートは、正面顔のエッジ画像を複数枚重ね、平均したものから顔部品のエッジを抽出したものである、請求項１から１９の何れかに記載の画像処理方法。
【請求項２１】
入力画像由来のデータと顔テンプレートとを用いて相関演算し相関値マップを出力する相関演算部と、
出力された相関値マップに基づいて顔の検出結果を出力する結果出力部と、
顔内部情報と顔外部情報とを分けて記憶し、生成情報に基づいて、顔内部情報と顔外部情報とを動的に合成した一時テンプレートを生成し、前記相関演算部に生成した一時テンプレートを顔テンプレートとして出力する一時テンプレート生成部とを備える画像処理装置。
【請求項２２】
前記一時テンプレート生成部は、さらに
前記生成情報に基づいて顔内部情報を動的に編集した編集結果を出力する編集部と、
前記編集結果と顔外部情報とを動的に合成したものを前記一時テンプレートとする合成部とを備える、請求項２１記載の画像処理装置。
【請求項２３】
前記相関演算部は、所定の生成規則に従って、前フレームにおける顔向きと、この前フレームの顔向きに隣接する顔向きとにおける一時テンプレートを、一つずつ必要回数繰り返して、前記一時テンプレート生成部に生成させ、前記入力画像由来のデータと前記一時テンプレート生成部が生成した一時テンプレートとを用いて相関演算を必要回数繰り返す、請求項２１または２２記載の画像処理装置。
【請求項２４】
前記相関演算部は、繰り返した相関演算のうち、最高の相関値が得られた顔向きにおける相関値マップを、前記結果出力部に出力する、請求項２３記載の画像処理装置。
【請求項２５】
入力画像と顔外部テンプレートとを用いて相関演算し顔外部相関値マップを出力する顔外部相関値マップ生成部と、
前記入力画像について動き領域を求め、動き領域情報を出力する動き領域情報生成部と、
前記顔外部相関値マップと前記動き領域情報とに基づいて、前記入力画像における再探索範囲を求め再探索範囲情報を出力する再探索範囲決定部と、
前記再探索範囲情報が示す再探索範囲内において、前記入力画像と顔内部テンプレートとを用いて相関演算し顔内部相関値マップを出力する顔内部相関値マップ生成部と、
前記顔内部相関値マップに基づいて前記入力画像内の顔を検出する結果出力部とを備える画像処理装置。
【請求項２６】
前記再探索範囲決定部は、前記顔外部相関値マップが示す前記入力画像における一定範囲と、前記動き領域情報が示す動き領域とが、重複する範囲を前記再探索範囲とする、請求項２５記載の画像処理装置。
【請求項２７】
前記動き領域情報生成部は、さらに、
前記入力画像を構成する複数の部分領域について動きベクトルを検出する動きベクトル検出部と、
前記入力画像全体におけるグローバル動きベクトルを検出するグローバル動きベクトル検出部と、
前記動きベクトル検出部の検出結果と、前記グローバル動きベクトル検出部の検出結果とに基づいて、前記動き領域を求める動き領域抽出部とを備える、請求項２５または２６記載の画像処理装置。
【請求項２８】
前記動きベクトル検出部は、動き補償フレーム間予測に基づいて動きベクトルを求める、請求項２７記載の画像処理方法。
【請求項２９】
前記グローバル動きベクトル検出部は、前記動きベクトル検出部の検出結果を平均したものをグローバル動きベクトルとする、請求項２７または２８記載の画像処理装置。
【請求項３０】
前記グローバル動きベクトル検出部は、ジャイロにより、グローバル動きベクトルを検出する、請求項２７または２８記載の画像処理装置。
【請求項３１】
入力画像由来のデータと顔テンプレートとを用いて相関演算するステップと、
相関演算結果に基づいて、前記入力画像内の顔を検出するステップとを含み、
前記顔テンプレートは、顔内部テンプレートと顔外部テンプレートとに分けて管理される、画像処理プログラムをコンピュータ読み取り可能に記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像内における顔の位置などを、検出する画像処理装置及びその関連技術に関するものである。
【背景技術】
【０００２】
いうまでもなく、顔は、人物の思考や感情を表すために重要な意味を持つ。したがって、人物を含む入力画像（静止画、動画像、コンピュータグラフィックス等で人為的に生成した画像等）を取り扱う画像処理の分野において、人物の顔が、入力画像のどの位置に、どれくらいの大きさで存在しているかという問題を、自動的に処理できるシステムが、求められている。このため、システム上で入力画像から顔領域を抽出しようとする試みが始まっている。
【０００３】
まず一般に、入力画像における顔の向きは、不定である。したがって、このようなシステムで、顔を検出しようとすると、顔がどちらを向いていても、顔を検出できるようにせざるを得ない。そのために、全ての顔向きについて、顔情報を保持することが考えられる。例えば、スーパーコンピュータのように、膨大なシステム資源と処理能力を誇る装置を用いるのなら、このようにしてもよいであろう。
【０００４】
しかしながら、このようにすると、メモリ等のシステム資源を莫大に消費するため、例えば、携帯情報端末のように、システム資源が乏しい装置には実装しにくい。
【０００５】
この点を考慮し、例えば、特許文献１（特開２００１−２８３２１６号公報）は、次のような技術を開示する。即ち、顔を３次元モデルで表現し、この３次元モデルを、逐次、２次元平面に透視変換し、複数の２次元テンプレートを作成する。こうすると、確かに、メモリ等の負担は軽くなる。
【０００６】
しかしながら、この手法によると、３次元から２次元への透視変換を膨大な回数繰り返す必要があるため、処理負担が重い。したがって、処理能力が乏しい装置に、この手法を実装することは難しい。
【０００７】
また、特許文献２（特開２００１−１６６０６号公報）は、次のような技術を開示する。即ち、対象物の動作を認識するため、動きのある領域と肌色領域とを抽出し、両者を統合して対象領域を定めている。
【０００８】
しかしながら、この技術は、現フレームと前フレームとの輝度差分によって、動き領域を検出しており、事実上、カメラを固定しておかないと、実現できない。したがって、用途がきわめて限定され、実用に供しがたい。
【０００９】
さらに、特許文献３（特開２００１−１１９６２２号公報）は、次のような技術を開示する。即ち、カメラにおいて、顔などの被写体を検出し、自動焦点制御等を行う。そして、探索法を工夫し、処理時間の短縮を図ると共に、顔と顔以外を判別手段で判別して、誤検出（顔以外を顔とする検出や顔を見落とす検出）を減らしている。
【００１０】
しかしながら、顔検出自体には、特別の工夫がなく、単なるパターン相関をとっているに過ぎない。したがって、写っている人が自由に動けるようにすると、検出精度が極端に低下してしまう。逆に、検出精度を維持しようとすると、膨大な量のテンプレートを用意し、相関演算数を増やさなければならなくなる。結局、システム資源に乏しい装置では、この技術を用いても、十分な精度で顔を検出することは非常に困難であると言わざるを得ない。
【特許文献１】特開２００１−２８３２１６号公報
【特許文献２】特開２００１−１６６０６号公報
【特許文献３】特開２００１−１１９６２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
そこで本発明は、システム資源に乏しくとも、顔向きにロバストで、用途が広くかつ精度の良い顔検出を行える画像処理装置及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明に係る画像処理方法は、入力画像由来のデータと顔テンプレートとを用いて相関演算するステップと、相関演算結果に基づいて、入力画像内の顔を検出するステップとを含み、顔テンプレートは、顔内部テンプレートと顔外部テンプレートとに分けて管理される。
【００１３】
ここで、入力画像内において、顔向きが、右を向いたり下を向いたりするなど、変化しても、顔輪郭等からなる顔外部の形状は、さほど変化しない。顔外部を構成する頭部は、全体的に丸みを帯びているからである。
【００１４】
一方、顔の表面に位置する鼻、目、口等の顔部品と、顔外部との位置関係は、顔向きが変化すると、入力画像内において、かなり変化する。
【００１５】
この構成では、顔テンプレートを、顔向きによって変化しやすい顔内部に対応する顔内部テンプレートと、顔向きによって変化しにくい顔外部に対応する顔外部テンプレートとに分けて管理しているから、顔画像の変化の特性にあわせた顔検出を行える。
【００１６】
第２の発明に係る画像処理方法では、入力画像由来のデータは、少なくとも入力画像のエッジ画像を含む。
【００１７】
この構成において、入力画像のエッジ画像を使用することにより、照明変動などで、輝度、色相あるいは彩度が変化しても、その変化が相関演算結果に与える影響を少なくすることができる。
【００１８】
第３の発明に係る画像処理方法では、顔外部テンプレートは、変形させずに用いられ、入力画像中の顔の顔向き、顔傾き及び顔部品の偏りの少なくとも１つに適応可能であり、顔内部テンプレートは、変形させて用いられ入力画像中の顔の顔向き、顔傾き及び顔部品の偏りの少なくとも１つに適応可能である。
【００１９】
この構成により、顔画像の変化に合わせた、顔検出を行える。
【００２０】
第４の発明に係る画像処理方法では、相関演算するステップは、さらに、顔外部テンプレートと顔内部テンプレートとを、動的に合成して顔テンプレートとするステップと、入力画像由来のデータと顔テンプレートとを用いて相関演算するステップとを含む。
【００２１】
この構成において、顔外部テンプレートと顔内部テンプレートとを、動的に合成して顔テンプレートとすることにより、顔向きに合うテンプレートは、顔内部テンプレートに限って用意すれば足り、顔外部テンプレートは、例えば１種類など少量だけの用意で済ますことができる。したがって、携帯情報端末のように、メモリ容量等のシステム資源にゆとりがない装置にも、適用しやすい。
【００２２】
しかも、動的合成により得られる顔テンプレートは、顔向きを反映したものとなるので、顔向きにロバストで精度良い顔検出を行える。
【００２３】
第５の発明に係る画像処理方法では、相関演算するステップは、さらに、入力画像由来のデータと顔外部テンプレートとを用いて相関演算するステップと、入力画像由来のデータと顔内部テンプレートとを用いて相関演算するステップとを含む。
【００２４】
この構成において、顔外部テンプレートによる相関演算と、顔内部テンプレートによる相関演算とを、別々に実施することにより、顔が正面からはずれて斜めをむいた場合など、顔輪郭と顔内部の重心がずれた場合においても精度よく検出できる顔向きにロバストな顔検出を実現できる。
【００２５】
第６の発明に係る画像処理方法では、相関演算するステップは、さらに、入力画像由来のデータと顔外部テンプレートとを用いて相関演算し、相関演算結果に基づいて、探索範囲を入力画像の一部の範囲に限定するステップと、探索範囲内において、入力画像由来のデータと顔内部テンプレートとを用いて相関演算するステップとを含む。
【００２６】
この構成において、まず、入力画像由来のデータと顔外部テンプレートとを用いて相関演算することにより、顔向きに影響されにくい、顔外部について、いわばラフサーチを実施し、顔内部を検索する探索範囲を入力画像の一部の範囲に限定する。
【００２７】
そして、限定された探索範囲内において、入力画像由来のデータと顔内部テンプレートとを用いて相関演算することにより、比較的狭い探索範囲内において、高速で緻密な顔検出を実施できる。
【００２８】
第７の発明に係る画像処理方法では、相関演算するステップは、さらに、入力画像由来のデータと顔外部テンプレートとを用いて相関演算するステップと、入力画像について動き領域を求めるステップと、顔外部テンプレートを用いた相関演算結果と求めた動き領域とに基づいて、探索範囲を入力画像の一部の範囲に限定するステップと、探索範囲内において、入力画像由来のデータと顔内部テンプレートとを用いて相関演算するステップとを含む。
【００２９】
この構成において、まず、入力画像由来のデータと顔外部テンプレートとを用いて相関演算し、また、動き領域を求める。したがって、顔外部についてのいわばラフサーチ結果と顔を含む蓋然性が高い動き領域とにより、顔内部を検索する探索範囲を、入力画像の一部の範囲に合理的に限定できる。
【００３０】
さらに、限定された探索範囲内において、入力画像由来のデータと顔内部テンプレートとを用いて相関演算することにより、比較的狭い探索範囲内において、高速で緻密な顔検出を実施できる。
【００３１】
第８の発明に係る画像処理方法では、動き領域を求めるステップでは、動き補償フレーム間予測に基づいて動きベクトルが求められる。
【００３２】
ここで、例えば、ＭＰＥＧ４など、多用される方式の動画エンコード処理では、既に動き補償フレーム間予測がなされている場合が多い。従って、この構成により、多くの場合、新たな動きベクトル検出処理なしに、既存の予測結果を利用した、高速な顔検出を行える。
【００３３】
第９の発明に係る画像処理方法では、動き領域を求めるステップは、さらに、
入力画像を構成する複数の部分領域について動きベクトルを検出するステップと、
入力画像全体におけるグローバル動きベクトルを検出するステップと、
求めた動きベクトルと、求めたグローバル動きベクトルに基づいて、動き領域を求めるステップとを含む。
【００３４】
この構成において、求めた動きベクトルと、求めたグローバル動きベクトルに基づいて、動き領域を求めることにより、入力画像を出力したカメラのパーン、チルト等、入力画像全体における動きを取り除き、動き領域を、実質的に入力画像内で動いている領域（顔が含まれている蓋然性が高い領域）に限定することができる。
【００３５】
第１０の発明に係る画像処理方法では、グローバル動きベクトルを検出するステップでは、動きベクトルの平均を、求めるグローバル動きベクトルとする。
【００３６】
この構成により、動きベクトルから簡易にグローバル動きベクトルを算出でき、入力画像を出力するカメラにジャイロ等が装備されていない場合でも、適用できる。
【００３７】
第１１の発明に係る画像処理方法では、グローバル動きベクトルを検出するステップでは、ジャイロを用いてグローバル動きベクトルを求める。
【００３８】
この構成により、ジャイロで直接グローバル動きベクトルを検出でき、精度が高く、高速なグローバル動きベクトル検出が行える。また、グローバル動きベクトルを求めるためだけの処理を省略できるから、処理能力に乏しい装置へ適用しやすい。
【００３９】
第１２の発明に係る画像処理方法では、顔外部テンプレートは、各種の顔向きにおける顔特徴を複数のサンプルを用いて学習させた結果を反映する。
【００４０】
この構成により、顔の輪郭に強く反応するテンプレートを学習により簡易に作成できる。
【００４１】
第１３の発明に係る画像処理方法では、顔外部テンプレートは、頭部の輪郭情報、顔の輪郭の輝度分布情報及び色分布情報の少なくとも１つを含む。
【００４２】
この構成により、様々な情報を顔外部テンプレートに盛り込むことができ、情報量の損失を避け、精度の良い顔検出を行える。
【００４３】
第１４の発明に係る画像処理方法では、顔内部テンプレートは、正面顔の顔部品の特徴のみを複数のサンプルを用いて学習させた結果を反映する。
【００４４】
この構成により、顔部品に強く反応するテンプレートを学習により簡易に作成できる。
【００４５】
第１５の発明に係る画像処理方法では、顔内部テンプレートは、顔部品の輪郭情報を含む。
【００４６】
この構成により、顔内部の位置を簡潔に表現できる。
【００４７】
第１６の発明に係る画像処理方法では、顔部品は、目、眉、口及び鼻のうち、一種又は二種以上の組み合わせから構成される。
【００４８】
この構成により、顔内部テンプレートは、主要な顔部品の少なくとも一つを含むことになり、精度の良い顔検出を行える。
【００４９】
第１７の発明に係る画像処理方法では、拡大、縮小、回転及び透視投影変換のうち、一種又は二種以上の組み合わせから構成される編集により、顔内部テンプレートは、顔向きにより変化する。
【００５０】
この構成により、顔向きの変化に合わせた様々なバリュエーションの顔テンプレートを生成でき、顔向きにロバストな顔検出を行える。
【００５１】
第１８の発明に係る画像処理方法では、顔外部テンプレートは、円状をなす。
【００５２】
この構成により、顔輪郭の幾何形状を近似し、円と仮定することで、顔向きに左右されないテンプレートを実現できる。円は、回転作用についてその形態を変えないからである。
【００５３】
第１９の発明に係る画像処理方法では、顔外部テンプレートは、正面顔のエッジ画像を複数枚重ね、平均したものから顔部品のエッジを削除したものである。
【００５４】
この構成により、テンプレートが顔の輪郭形状に近いため、顔外部テンプレートと顔外部との相関値と、顔外部テンプレートと顔内部との相関値に、大きな差が生じ、顔の検出が容易になる。さらに、顔外部テンプレートは、輪郭のみになるから、顔向きにより顔内部が変化しても、それに影響されにくく、精度の良い検出を実現できる。
【００５５】
第２０の発明に係る画像処理方法では、顔内部テンプレートは、正面顔のエッジ画像を複数枚重ね、平均したものから顔部品のエッジを抽出したものである。
【００５６】
この構成により、顔内部のテンプレートは、平均を取った顔画像から顔外部を除去したものである。こうすると、顔部品のエッジは、顔外部から切り離され、顔外部との位置関係に拘束されない状態となる。したがって、入力画像の顔が正面を向いていない場合であっても、顔内部のみと顔内部テンプレートとの相関演算を、支障なく実施できる。
【発明の効果】
【００５７】
本発明によると、顔検出テンプレートを、顔外部、顔内部で、別々に管理することにより、システム資源に乏しい場合でも、顔向きにロバストで精度の良い顔検出を行える。
【発明を実施するための最良の形態】
【００５８】
以下図面を参照しながら、本発明の実施の形態を説明する。まず、本発明では、入力画像由来のデータと顔テンプレートとを用いて相関演算し、相関演算結果に基づいて、入力画像内の顔が、検出される。
【００５９】
そして、次に述べる実施の形態１及び実施の形態２の両方において、顔テンプレートが、顔内部テンプレートと顔外部テンプレートとに分けて管理される点にポイントがある。
【００６０】
（実施の形態１）
図１は、本発明の実施の形態１における画像処理装置の機能ブロック図である。
【００６１】
図１において、特徴量抽出部１は、入力画像に対しエッジ抽出フィルタをかけ、特徴量マップの形態で、入力画像のエッジ画像を出力する。この入力画像のエッジ画像は、入力画像由来のデータに相当する。
【００６２】
ここで、エッジ抽出フィルタとしては、ソーベルフィルタ等周知のものを使用できる。
【００６３】
一時テンプレート生成部２は、顔内部情報と顔外部情報とを分けて記憶する。
【００６４】
顔内部情報は、顔内部情報記憶部３に顔内部テンプレートとして記憶されている。顔外部情報は、顔外部情報記憶部４に顔外部テンプレートとして記憶されている。
【００６５】
一時テンプレート生成部２は、編集部５と、合成部６とを有する。
【００６６】
編集部５は、後述する相関演算部７から入力される生成パラメータ（生成情報）に基づいて顔内部情報を動的に編集した編集結果を出力する。
【００６７】
合成部６は、編集部５が出力する編集結果と顔外部情報記憶部４における該当顔外部テンプレートとを、動的に合成する。合成結果は、一時テンプレートとして出力される。この一時テンプレートは、本形態における顔テンプレートである。
【００６８】
次に、図４から図７を用いて、顔外部テンプレート、顔内部テンプレート及び顔テンプレートについて、説明する。
【００６９】
図４を用いて、顔外部テンプレートと顔内部テンプレートの作成法を説明する。はじめに、図４（ａ）に示すように、人物の正面顔画像を複数用意し、これらを上述のフィルタを用いてエッジ画像とする。
【００７０】
次に、図４（ｂ）に示すように、これらのエッジ画像を、複数重ね合わせ、平均値を求める。
【００７１】
次に、図４（ｃ）に示すように、図４（ｂ）のようなエッジ画像から、顔部品（目、眉、口及び鼻等）のエッジのみを抽出（手作業で差し支えない）したものを、顔内部テンプレートとする。顔内部情報記憶部３には、このような顔内部テンプレートが格納される。
【００７２】
図４（ｃ）に示すように、顔内部情報は、顔部品の輪郭情報を含む。さらには、顔内部情報を、適宜、簡単な幾何学形状（例えば、楕円等）で近似しても良い。
【００７３】
また、図４（ｄ）に示すように、図４（ｂ）のようなエッジ画像から、顔部品（目、眉、口及び鼻等）のエッジのみを削除（手作業で差し支えない）したものを、顔外部テンプレートとする。図１に示す顔外部情報記憶部４には、このような顔外部テンプレートが格納される。
【００７４】
図４（ｄ）を見れば、明らかなように、顔外部テンプレートは、頭部の輪郭情報を含むので、ほぼ円状をなし、円形状で近似できる。また、本形態の顔外部テンプレートは、エッジ画像のみで構成されているが、顔外部情報に、顔の輪郭の輝度分布情報や色分布情報等を含めても良い。
【００７５】
以上のような近似を行えば、顔内部テンプレートは、図５（ａ）に例示するようになり、顔外部テンプレートは、図４（ｂ）に例示するようになる。
【００７６】
なお、顔内部テンプレートとしては、図５（ａ）に示すように、正面顔のエッジ画像を使用することが望ましい。これは、編集部５による顔内部情報の編集が容易になるからである。
【００７７】
本形態では、顔内部情報記憶部３及び顔外部情報記憶部４には、図５（ａ）及び図５（ｂ）に示すテンプレートを、最低１セット格納すれば、顔検出を行える。これも、本形態の画像処理装置が、編集部５と、合成部６とを備えているからである。
【００７８】
したがって、テンプレートの格納に必要となるメモリ領域を小さくすることができ、システム資源に乏しい携帯情報端末などに実装しやすい。勿論、システム資源に余裕があれば、顔内部情報記憶部３及び顔外部情報記憶部４には、図５（ａ）及び図５（ｂ）に示すテンプレートを、より多数格納してもよい。
【００７９】
図１において、編集部５は、図５（ａ）に示すような顔内部テンプレートを、編集（拡大、縮小、回転及び透視投影変換等）し、顔向き毎の編集結果（顔内部の画像）を出力する。これにより、編集結果の顔向きが変化し、その結果、一時テンプレートの顔向きが変化する。
【００８０】
次に、図６を用いて、編集部５の編集及び合成部６の処理について説明する。ここでは、編集部５は、図５（ａ）に示す正面顔の顔内部テンプレートから、顔向きが「左向」の編集結果を動的に生成するものとする。
【００８１】
まず、編集部５は、顔内部情報記憶部３から図５（ａ）に示す顔内部テンプレートを読み出し、これを、図５（ａ）における矢印で示すように、「左向」に合うように縮小する。この縮小処理は、簡単な演算で実現できる。
【００８２】
次に、編集部５は、図５（ａ）のように縮小した画像を、図５（ｂ）における矢印で示すように、顔向き「左向」に合うように移動する。その結果、顔内部情報のみが、顔向き「左向」に合うように変更され編集結果として出力されることになる。
【００８３】
次に、図１において、合成部６は、顔外部情報記憶部４から図５（ａ）に示すような顔外部テンプレートを読み出し、上記編集結果と重ね合わせる。その結果、図６（ｃ）に示すような一時テンプレートが動的に生成されることになる。さらに、合成部６は、この一時テンプレートを、顔サイズに合わせて、拡大又は縮小して、相関演算部７に出力する。この拡大／縮小処理は、簡単な演算で実現できる。
【００８４】
一時テンプレート生成部２が、以上のような処理を、顔向きによって繰り返せば、図７（ａ）から図７（ｉ）に示すように、顔向きに合わせて、複数通りの一時テンプレートを動的に生成することができる。
【００８５】
図７では、左上（図７（ａ））、上向（図７（ｂ））、右上（図７（ｃ））、左向（図７（ｄ））、正面（図７（ｅ））、右向（図７（ｆ））、左下（図７（ｇ））、下向（図７（ｈ））、右下（図７（ｉ））、合計９とおりの顔向きを示しているが、図７は好ましい例を示したにすぎない。顔向きをより少なくした場合や、多くしたりした場合も、それなりの効果は奏されるので、本発明に包含される。
【００８６】
上述したように、編集部５による編集としては、拡大、縮小、回転及び透視投影変換等があり得る。このうち、透視投影変換についていえば、高々、２次元の顔内部テンプレートを、２次元の平面に透視投影変換するに過ぎない。したがって、処理負担は、従来技術の項で述べた技術（３次元モデルを隠面処理した上で２次元平面に透視投影変換する場合）よりも、非常に少ない。同様に、編集部５による編集は、処理能力が高くない装置であっても、さほど負担にならず、現実的である。
【００８７】
さて、図１において、相関演算部７は、特徴量マップを特徴量抽出部１から入力し、一時テンプレート生成部２に、所定の生成規則（顔向きや顔サイズ等の情報）を出力する。
【００８８】
そして、相関演算部７は、特徴量マップと一時テンプレートとを用いて相関演算し相関値マップを生成する。その相関演算は、周知のものを使用して差し支えない。
【００８９】
また、相関演算部７は、所定の生成規則に従って、前フレームにおける顔向きと、この前フレームの顔向きに隣接する顔向きとにおける一時テンプレートを、一つずつ必要回数繰り返し、相関演算部７は、一時テンプレート生成部２に生成させる。
【００９０】
図８を用いて、この所定の生成規則の例を説明する。図８（ａ）から図８（ｉ）は、前フレームの顔向きが、図７（ａ）から図７（ｉ）と同じ配置になっている。すなわち、図７において「Ｘ」印を付けた矩形が前フレームの顔向きを示す。この生成規則に従うときには、一時テンプレート生成部２は、「Ｘ」印を付けた矩形の顔向きと、斜線が付された矩形の顔向きについて、一時テンプレートを生成する必要がある。
【００９１】
例えば、図７（ａ）は、前フレームの顔向きが「左上」であった時の、生成規則を示す。このとき、この所定の生成規則では、「Ｘ」印を付けた前フレームの顔向きそのもの（「左上」）と、これに隣接する「上向」、「左向」とについて、一時テンプレート生成部２が、一時テンプレートを動的に生成すべきことを示す。この場合、３つの一時テンプレートが、順次生成されることになる。なお、生成順は任意に選択できる。
【００９２】
また、図１に示すように、相関演算部７は、特徴量マップと一時テンプレート生成部２が生成した一時テンプレート（ここでは、３通り）とを用いて相関演算を必要回数（ここでは、３回）繰り返すことになる。
【００９３】
そして、相関演算部７は、繰り返した相関演算のうち、最高の相関値が得られた顔向きにおける相関値マップを、結果出力部１３に出力する。
【００９４】
勿論、図８の生成規則は、好ましい一例に過ぎず、種々変更しても差し支えない。
【００９５】
また、図７のパターンを変えたり、追加したりすることで、図２６（ａ）のような顔向き顔だけでなく、図２６（ｂ）のような顔傾き顔や、図２６（ｃ）に示すように顔部品が偏った顔についても、検出可能である。
【００９６】
図１に示すように、結果出力部１３は、相関演算部７が出力した相関値マップに基づいて顔の検出結果を出力する。この検出結果には、顔位置、顔サイズ及び顔向きを含めることができる。なお、検出結果は、相関演算部７にも出力される。
【００９７】
さらに、相関演算部７は、特徴量マップを記憶する特徴量マップ記憶部８、生成規則を記憶する生成規則記憶部９、一時テンプレートを記憶する一時テンプレート記憶部１０、現在における最高の相関値が得られた一時相関値マップを記憶する一時相関値マップ記憶部１１、生成パラメータを記憶する生成パラメータ記憶部１２と接続されている。
【００９８】
図２は、本発明の一実施の形態における画像処理装置のブロック図である。図２において、ＣＰＵ１５は、図３のフローチャートに沿った画像処理プログラムを実行し、バス１６を介し、図２に示す各要素を制御する。
【００９９】
このプログラムは、バス１６に接続される記録媒体（例えばハードディスク、ＣＤ−ＲＯＭ等）１９のプログラム領域２０に格納されている。ＣＰＵ１５は、このプログラムを実行する際に、ＲＯＭ１７、ＲＡＭ１８、記録媒体１９或いはインターフェイス２１を介するカメラ２２に対して、入出力を行う。
【０１００】
カメラ２２には、ジャイロ２３が装備されており、カメラ２２の画像全体の移動（パーンやチルト等も含む）をハードウエアで直接計測できるようになっている。なお、グローバル動きベクトルを、ハードウエアで計測する必要がなければ、ジャイロ２３の装備は省略できる。
【０１０１】
なお、カメラ２２は、ＣＣＤ、ＣＭＯＳのどちらのモジュールを用いたものであっても良く、カメラ２２は、スチルカメラ／ビデオカメラのいずれでも良く、携帯電話に付属するカメラを用いることもできる。
【０１０２】
図１における、特徴量抽出部１、編集部５、合成部６、相関演算部７、結果出力部１３は、図２におけるＣＰＵ１５が、ＲＡＭ１８等とアクセスしながら、所定の演算を実行することにより実現される。また、各記憶部３、４、８、９、１０、１１、１２は、例えば、ＲＡＭ１８の一領域として確保される。
【０１０３】
図３は、本発明の実施の形態１における画像処理装置のフローチャートである。以下図３を用いて、顔検出の各プロセスを説明する。
【０１０４】
まず、ステップ１にて、相関演算部７は、一時相関値マップ記憶部１１の相関値を最低の相関値とし、生成パラメータ記憶部１２の顔向き等を無難な値（例えば、顔向きを「正面」とするなど）にセットする。また、結果出力部１３の検出結果も同様に無難な値とする。
【０１０５】
これに基づき、ステップ２にて、相関演算部７は、一時テンプレート生成部２に一時テンプレート生成を命ずる。これに対し、一時テンプレート生成部２は、無難な初期一時テンプレート（例えば、顔向き「正面」等）を生成し、相関演算部７へ出力する。
【０１０６】
ステップ３にて、相関演算部７は、画像が入力されるのを待つ。入力されると、特徴量抽出部１は、特徴量マップを生成し、相関演算部７へ出力する。
【０１０７】
次に、ステップ５にて、相関演算部７は、特徴量マップと一時テンプレートとを用いて相関演算を行い、結果を一時相関値マップ記憶部１１に格納する。
【０１０８】
次に、ステップ６にて、相関演算部７は、生成規則記憶部９を参照し、ステップ６にて、生成すべき一時テンプレートを全て生成したかどうかチェックする。
【０１０９】
生成が完了していれば、ステップ１６へ処理が移る。
【０１１０】
生成が完了していなければ、ステップ８にて、相関演算部７は、一時テンプレート生成部２へ生成パラメータを出力し、このパラメータに合う一時テンプレートの生成を命ずる。これに対し、編集部５は、顔内部情報記憶部３の顔内部テンプレートを編集し編集結果が合成部６に出力される。
【０１１１】
また、ステップ９にて、合成部６は、顔外部情報記憶部４の顔外部テンプレートと編集結果とを合成し、一時テンプレートを生成する。
【０１１２】
さらに、ステップ１０にて、合成部６は、顔サイズに合わせて、この一時テンプレートを拡大／縮小し、ステップ１１にて、合成部６は、その結果を一時テンプレートとして、相関演算部７へ返す。
【０１１３】
ステップ１２にて、相関演算部７は、特徴量マップと一時テンプレートとを用いて相関演算を行い、相関値マップを求める。
【０１１４】
そして、ステップ１３にて、求めた相関値マップが、一時相関値マップ記憶部１１に格納された相関値マップよりも、高い相関値を示す場合のみ、ステップ１４にて、相関演算部７は、一時相関値マップ記憶部１１の相関値マップを更新する。ステップ１５にて、相関演算部７は、ステップ１５にて、生成対象を一つすすめ、処理がステップ７へ戻る。
【０１１５】
ステップ１６では、相関演算部７は、一時相関値マップ記憶部１１に格納された最高の相関値による相関値マップを、結果出力部１３に出力し、一時相関値マップ記憶部１１の相関値を、最低の相関値による相関値マップに戻す。
【０１１６】
ステップ１７にて、結果出力部１３は、検出結果を抽出し、この画像処理装置の外部と相関演算部７とに出力する。
【０１１７】
ステップ３からステップ１７の処理は、終了に至るまで（ステップ１８）繰り返される。
【０１１８】
さて、図１において、編集部３における編集は、人の顔向きによって、顔部品がどのように移動し、どのように変形するかという点を、考慮したものに他ならない。よって、図５（ａ）から図５（ｉ）のうち、特定の一時テンプレートで相関をとり、もっとも高い相関値が得られたということは、とりもなおさず、人の顔向きが、この特定の一時テンプレートが示す顔向きになっていることを示す。
【０１１９】
編集部５と合成部６とを設けることにより、図５（ａ）と図５（ｂ）とのわずか２つのテンプレートから、様々な顔向き、顔サイズの顔検出を行える。
【０１２０】
例えば、図９（ａ）に示すように、人の顔が左を向いていても、図９（ｂ）に示すように、顔検出できる。また、図９（ｃ）に示すように、人の顔が右下を向いていても、図９（ｄ）に示すように、顔検出できる。一般に、顔部品が顔外部テンプレート内に含まれていれば、顔向きに対してロバストに顔検出できる。
【０１２１】
さらに、生成する顔向きを全ての顔向きとするのではなく、図８に示す生成規則によって、前フレームの顔向きから生じやすい一定の顔向きに限定している。これにより、図１に丸印で示したループ（図３のステップ７からステップ１５）の発生回数を減らして、処理負担を軽減できる。
【０１２２】
（実施の形態２）
以下、実施の形態２については、実施の形態１との相違点を中心に説明する。さて、図１０は、本発明の実施の形態２における画像処理装置の機能ブロック図である。また、図２の構成は、実施の形態２にも同様に適用できる。
【０１２３】
図１０において、顔外部相関値マップ生成部３０は、入力画像と顔外部テンプレートとを用いて相関演算し顔外部相関値マップを、再探索範囲決定部６０へ出力する。
【０１２４】
動き領域情報生成部４０は、入力画像について動き領域を求め、動き領域情報を、再探索範囲決定部６０へ出力する。
【０１２５】
前フレーム画像記憶部５０は、前フレームの画像を記憶する。
【０１２６】
再探索範囲決定部６０は、顔外部相関値マップと動き領域情報とに基づいて、入力画像における再探索範囲を求め、再探索範囲情報を顔内部相関値マップ生成部７０へ出力する。
【０１２７】
再探索範囲決定部６０は、顔外部相関値マップが示す入力画像における一定範囲と、動き領域情報が示す動き領域とが、重複する範囲を再探索範囲とする。
【０１２８】
顔内部相関値マップ生成部７０は、再探索範囲情報が示す再探索範囲内において、入力画像と顔内部テンプレートとを用いて相関演算し顔内部相関値マップを、結果出力部８０へ出力する。
【０１２９】
結果出力部８０は、顔内部相関値マップに基づいて入力画像内の顔を検出し、検出結果（顔位置、顔サイズ、顔向き等）を出力する。
【０１３０】
次に、図１１を用いて、顔外部相関値マップ生成部３０について、説明する。
【０１３１】
さて本形態では、簡単のため、入力画像は、明るさの表現として代表的な輝度Ｙ０（ｘ，ｙ）（８ビット）を持ち、この輝度Ｙ０（ｘ，ｙ）により処理を行うものとする。
【０１３２】
ここで、輝度Ｙ０（ｘ，ｙ）を、別の階調を持つようにしても良いし、輝度ではなく別の明るさの別の表現を用いても良い。また、入力画像は、グレースケールの画像であっても良いし、カラー画像から輝度Ｙ０（ｘ，ｙ）を分離しても良い。
【０１３３】
入力画像のデータ形式は、動画であり、フレーム単位で処理を行う。なお、フィールド構造を持つ動画については、奇数フィールドと偶数フィールドとを合わせた一枚の絵にしてから処理を行うと良い。
【０１３４】
また、入力画像としては、図２のカメラ２２によりリアルタイムで撮像したものを用いても良いし、過去に撮像され、かつ、ＲＡＭ１８又は記録媒体１９等の記憶装置に格納されているものでも良い。
【０１３５】
図１１において、特徴量抽出部３１は、入力画像より特徴量を抽出して評価ベクトルを生成する。直交変換部３２は、評価ベクトルを直交変換する。
【０１３６】
積和部３３は、顔外部情報記憶部４の顔外部テンプレートと入力画像とのそれぞれについて得た、直交変換後の各評価ベクトルについて、対応スペクトルデータを積和計算する。
【０１３７】
ここで、顔外部情報記憶部４の顔外部テンプレートについては、実施の形態１（図４及び図５（ｂ）参照）と同様である。ただし、本形態の顔外部テンプレートは、単独で使用され、顔内部テンプレートと合成されない。
【０１３８】
逆直交変換部３４は、積和計算結果を、逆直交変換して相関値マップを生成する。
【０１３９】
以上における直交変換及び逆直交変換は、いずれも線形性をもつものである。
【０１４０】
なお本形態では、相関演算による相関値マップ出力に直交変換を用いたが、フィルタ処理による畳み込み演算によって相関演算し、相関値マップを作成してもかまわない。
【０１４１】
フィルタ記憶部３５には特徴量抽出部３１が使用するフィルタが格納されている。
【０１４２】
フィルタとして、ｘｙ方向のＳｏｂｅｌフィルタ２枚Ｓｘ（ｘ，ｙ），Ｓｙ（ｘ，ｙ）を用いた。このフィルタを用いて特徴量抽出部３１は、特徴量としてｘｙ平面内のエッジベクトルＹ１ｘ（ｘ，ｙ），Ｙ１ｙ（ｘ，ｙ）を出力し、エッジベクトル記憶部３６に格納する。
【０１４３】
図１５（ｂ）は現在のフレーム画像を示し、図５（ａ）は前フレーム画像を示す。この時、入力画像Ｙ０（ｘ，ｙ）が特徴量抽出部３１に入力されると、特徴量のエッジベクトルがエッジベクトル記憶部３６に格納される。
【０１４４】
エッジベクトル記憶部３６のエッジベクトルＹ１ｘ（ｘ，ｙ），Ｙ１ｙ（ｘ，ｙ）に対し二乗和を取ったものにルート計算することで算出されるエッジ強度Ｙ１（ｘ，ｙ）は、図１５（ｃ）のようになる。
【０１４５】
簡単のため、特徴量はエッジベクトルのみを説明するが、輝度値や色などの、他の特徴量においても、本発明と同様の効果がある。
【０１４６】
次に、直交変換部３２が、エッジベクトルＹ１ｘ（ｘ，ｙ），Ｙ１ｙ（ｘ，ｙ）を用いて直交変換し、周波数スペクトルＹ２ｘ（ｕ，ｖ），Ｙ２ｙ（ｕ，ｖ）を出力して周波数スペクトル記憶部３７に格納する。
【０１４７】
ここで、本形態において、このような直交変換として、ＦＦＴ（高速離散フーリエ変換）を使用することとするが、他に、Ｈａｒｔｌｅｙ変換や数論的変換などを用いることもでき、以下の説明において、「フーリエ変換」とあるのを、これらの変換に置き換えて適用することができる。
【０１４８】
具体的に、逆直交変換部３４の出力における相関値は、次式で定義される。
【０１４９】
【数１】
2005071344.tif 000003
【０１５０】
ここで、（数１）では、加算、乗算のみからなるので、類似値は、入力画像及びテンプレート画像のそれぞれの評価ベクトルについて、線形である。したがって、（数１）をフーリエ変換すると、フーリエ変換の離散相関定理（参考文献：高速フーリエ変換  宮川洋訳  科学技術出版社）により、
【０１５１】
【数２】
2005071344.tif 000004
【０１５２】
となる。
【０１５３】
また、（数２）を逆フーリエ変換すれば、（数１）の相関値が得られる。そして、（数２）から、直交変換後の変換値において、テンプレート画像と入力画像のフーリエ変換値は単純に積和すれば良いことが分かる。即ち、直交変換することにより、フィルタによる畳み込み演算を単純な積和演算で同様の結果を出力することが可能であり、処理速度を高速化できる。
【０１５４】
この離散相関定理を利用し、直交変換部３２で、評価ベクトルであるエッジベクトルＹ１ｘ（ｘ，ｙ），Ｙ１ｙ（ｘ，ｙ）をフーリエ変換して周波数スペクトルＹ２ｘ（ｕ，ｖ），Ｙ２ｙ（ｕ，ｖ）を周波数スペクトル記憶部３７に格納する。
【０１５５】
積和部３３では、周波数スペクトル記憶部３７のスペクトルＹ２ｘ（ｕ，ｖ），Ｙ２ｙ（ｕ，ｖ）と、顔外部情報記憶部４の顔外部テンプレートＴ１ｘ（ｕ，ｖ），Ｔ１ｙ（ｕ，ｖ）を用いて（数２）の積和を実行し、積和結果Ｒ（ｕ，ｖ）を積和結果記憶部３８に格納する。
【０１５６】
格納されている積和結果Ｒ（ｕ，ｖ）を用いて逆直交変換部３４が、相関値マップＣｒｒ（ｘ、ｙ）に変換し、相関値マップ記憶部３９に格納する。
【０１５７】
積和部３３と、逆直交変換部３４の処理は、顔外部テンプレートの枚数ｎだけ繰り返され、出力された相関値マップＣｒｒ（ｘ，ｙ）は、相関値マップ記憶部３９に重ね合わせられる。
【０１５８】
具体的には、相関値マップＣｒｒ（ｘ，ｙ）の各要素（ｘ，ｙ）において、相関値マップ記憶部３９のデータより高い相関値である場合、相関値マップ記憶部３９の要素（ｘ，ｙ）が更新される。最終的に、相関値マップ記憶部３９に残ったデータが相関値マップとして出力される。
【０１５９】
図１６に示すように、図１５（ｃ）に示すエッジ強度分布上で、顔外部テンプレートを走査し、相関演算を行うと、図１７（ｃ）のような相関値マップＣｒｒ（ｘ，ｙ）が出力できる。なお、図１７に表示される閉じた線は、相関値の等高線である。
【０１６０】
また、相関演算に直交変換を用いる場合には、テンプレートを事前に周波数スペクトルに変換しておくとよい。こうすると、相関演算時にテンプレートの読み出しだけで済むから、一層高速化できる。以上で、顔外部相関値マップ生成部３０の説明を終える。
【０１６１】
さて、次に図１０に示した動き領域情報生成部４０について、図１２を用いて説明する。図１２に示すように、動き領域情報生成部４０は、次の要素を有する。
【０１６２】
動きベクトル検出部４１は、入力画像を構成する複数の部分領域（本形態では、８×８画素のマクロブロック）について動きベクトルを検出する。動きベクトル検出部４１は、前フレーム画像記憶部５０から前フレーム画像を入力し、入力画像（現フレーム画像）と、動き補償フレーム間予測に基づいて動きベクトルを求める。
【０１６３】
グローバル動きベクトル検出部４２は、入力画像全体におけるグローバル動きベクトルを検出する。グローバル動きベクトル検出部４２は、動きベクトル検出部の検出結果を平均したものをグローバル動きベクトルとするようにしてもよい。
【０１６４】
また、図２に示すように、カメラ２２にジャイロ２３が一体的に装備されているときには、グローバル動きベクトル検出部４２を、ジャイロ２３により構成し、グローバル動きベクトルをハードウエアで直接検出するようにしてもよい。
【０１６５】
図１２において、動き領域抽出部４３は、動きベクトル検出部４１の検出結果（動きベクトル情報）と、グローバル動きベクトル検出部４２の検出結果（グローバル動きベクトル情報）とに基づいて、動き領域を求める。
【０１６６】
次に、図１２の動きベクトル検出部４１、グローバル動きベクトル検出部４２、動き領域抽出部４３について、図１８を用いて説明する。
【０１６７】
動きベクトル検出部４１は、ブロックマッチングにより画像の各マクロブロック（８ｘ８画素）における動きベクトルを算出する。具体的には、図１８（ａ）に示すように、現フレーム画像をマクロブロックに分割し、各ブロックごとに、そのブロックが前フレームの何処からきたかを検出する。検出した時の現フレームのマクロブロックが動いた方向と距離を動きベクトル（図１８（ａ）の実線矢印）として表す。
【０１６８】
より具体的には、現フレーム画像のマクロブロックに対し、
【０１６９】
【数３】
2005071344.tif 000005
【０１７０】
となるようなマクロブロックを検出し、動きベクトルを検出する。
【０１７１】
動きベクトル検出部４１は、動きベクトルを検出する手法であれば、ブロックマッチングのほか、勾配法や、他手法を用いてもかまわない。
【０１７２】
また、図１２において、動きベクトル検出部４１は、ＭＰＥＧなどの動画圧縮の際に検出する動きベクトルを取り出して動きベクトル記憶部１０に記憶するなど、動き補償フレーム間予測に基づく動きベクトルを再利用してもよい。この場合、ＭＰＥＧと顔検出で重複して動きベクトルを検出することがなく、高速化できる。
【０１７３】
グローバル動きベクトル検出部４２は、動きベクトル記憶部１０の動きベクトルを用いて、カメラのフレーム移動による画像全体の動きベクトルを検出し、グローバル動きベクトル記憶部１１に格納する。
【０１７４】
演算により、グローバル動きベクトルを検出するには、グローバル動きベクトルを、動きベクトルの平均とすればよい。すなわちグローバル動きベクトル（Ｇｘ，Ｇｙ）は、
【０１７５】
【数４】
2005071344.tif 000006
【０１７６】
により、算出する。図１８（ａ）における破線矢印は、グローバル動きベクトルである。
【０１７７】
グローバル動きベクトルの算出については、マクロブロックの中で、もっとも頻度の高い動きベクトルをグローバル動きベクトルをするなど、他手法を用いてもかまわない。
【０１７８】
上述したように、グローバル動きベクトルは、ジャイロ２３により直接計測してもよい。この場合、ハードウェアによる計測のため、プログラムの負荷が低減し、高速化が可能であり、さらにグローバル動きベクトルの精度も高く、ひいては顔検出精度の向上につながる。
【０１７９】
動き領域抽出部４３は、グローバル動きベクトル（Ｌｘｉｊ，Ｌｙｉｊ）とグローバル動きベクトル（Ｇｘ，Ｇｙ）との差分、すなわち、
【０１８０】
【数５】
2005071344.tif 000007
【０１８１】
がゼロベクトルでないマクロブロックを求め、このマクロブロックから構成される領域を、動き領域とする。図１８（ａ）の例では、図１８（ｂ）に斜線で示した領域が、動き領域とされる。この動き領域には、顔画像が存在する蓋然性が高い。
【０１８２】
さて図１９は、顔外部テンプレートによる相関値マップＣｒｒ（ｘ，ｙ）と、動き領域とを、重ね合わせたものである。再探索範囲決定部６０は、動き領域内で、相関値が高い点とその周辺を、再探索範囲（太枠内）６１とする。
【０１８３】
再探索範囲６１は、顔内部相関値マップ生成部７０が、顔内部テンプレートを走査する範囲である。
【０１８４】
次に、図１３及び図１４を用いて、顔内部相関値マップ生成部７０について説明する。図１３に示すように、顔内部相関値マップ生成部７０は、入力画像（現フレーム）と再探索範囲情報とを入力する相関演算部７１と、顔内部テンプレートを記憶する顔内部情報記憶部７２とを備える。
【０１８５】
ここで、顔内部情報記憶部７２が記憶する顔内部テンプレートは、実施の形態１と異なり、図１４（ａ）から図１４（ｉ）に示すように、顔向きごとに用意されているものとする。勿論、実施の形態１と同様に、動的に生成してもよい。
【０１８６】
ただし、上述したように、顔外部テンプレートが、既に再探索範囲を限定するために使用済みであるから、実施の形態２では、顔外部テンプレートと顔内部テンプレートとを合成しない。しかしこれは、これらのテンプレートの合成を禁止する趣旨ではない。
【０１８７】
図１３に示す相関演算部７１は、再探索範囲６１内で、顔内部テンプレートを用いて第２の相関演算を行い、顔内部相関値マップを出力する。
【０１８８】
相関演算の出力の中で最大の相関値を示した、顔内部テンプレートの中心位置が、求める顔位置とされ、その顔内部テンプレートのサイズが、顔サイズとされる。
【０１８９】
図２１に顔検出結果を例示している。図示しているように、再探索範囲内において、最も相関値が高い点（ｉ，ｊ）を顔位置となり、この時の顔内部テンプレートのサイズが、検出された顔の大きさを示す。
【０１９０】
次に、図１０及び図２２を参照しながら、実施の形態２における画像処理の各過程を説明する。まず、ステップ２１にて、新たなフレームの画像が入力される。
【０１９１】
すると、ステップ２２にて、顔外部相関値マップ生成部３０が、入力画像に対して顔外部テンプレートによる相関演算を行って、顔外部相関値マップを生成する。
【０１９２】
また、ステップ２３にて、動き領域情報生成部４０が、動きベクトル及びグローバル動きベクトルに基づいて、動き領域情報を生成する。
【０１９３】
なお、ステップ２２とステップ２３の順序は、逆でも良いし、並行させても良い。
【０１９４】
次に、ステップ２４にて、再探索範囲決定部６０は、顔外部相関値マップと動き領域情報とに基づいて、再探索範囲を求める。
【０１９５】
次に、ステップ２５にて、顔内部相関値マップ生成部７０は、顔内部テンプレートを用いて、再探索範囲内において、相関演算を行い、顔内部相関値マップを生成する。
【０１９６】
次に、ステップ２６にて、結果出力部８０は、顔内部相関値マップに基づいて、顔の位置、サイズ、向きを求め、検出結果として出力する。
【０１９７】
そして、ステップ２７にて、動き領域情報生成部４０は、現フレームの入力画像を前フレーム画像記憶部５０に格納し、終了しない限り（ステップ２８）、次のフレーム画像の入力を待ち、ステップ２１からステップ２８までの処理が繰り返される。
【０１９８】
余の点は、実施の形態１と同様である。
【０１９９】
（実施の形態３）
以下、実施の形態３について、実施の形態１、２との相違点を中心に説明する。図２３は、本発明の実施の形態３における画像処理装置の機能ブロック図である。また、図２の構成は、実施の形態３にも同様に適用できる。
【０２００】
図２３において、顔外部評価値マップ算出部８０の各学習部８１は、顔外部情報と顔以外の背景情報を、複数のサンプルを用いて学習し、顔外部か背景かを判別し、顔外部評価値（入力画像の各位置における顔外部らしさを表す）を出力する。この処理が、入力画像上をラスタスキャンしつつ行われ、第１評価値合算部８２は、顔外部評価値マップを作成し、このマップを再探索範囲決定部８３と結果出力部８７とへ出力する。
【０２０１】
最探索範囲決定部８３は、顔外部評価値マップに基いて再探索範囲を決定し、その情報を顔内部評価値マップ算出部８４へ出力する。なお、最探索範囲決定部８３は、顔外部評価値マップにおいて、特定閾値以上の評価値を示す領域を再探索範囲とする。
【０２０２】
顔内部評価値マップ算出部８４の各学習部８５は、顔内部情報と顔以外の背景情報を、複数のサンプルを用いて学習し、顔内部か背景かを判別し、顔内部評価値（入力画像の各位置における顔内部らしさを表す）を出力する。第２評価値合算部８６は、再探索範囲情報が示す最探索範囲内において、顔内部評価値マップを作成し、そのマップを結果出力部８７へ出力する。
【０２０３】
結果出力部８７は、顔外部評価値マップと顔内部評価値マップとに基き、顔位置、顔サイズ、顔向きを特定する。
【０２０４】
次に、各学習部８１、８５において用いられる学習データの作成について説明する。
【０２０５】
顔と顔以外（非顔）を識別する学習部を設計する場合、顔／非顔の特徴ベクトルそれぞれに教師データＴｉ（１≦ｉ≦Ｌ）を割り当てる。この教師データＴｉは、顔の特徴ベクトルのとき「Ｔｉ＝＋１」と設定され、非顔の特徴量ベクトルのとき「Ｔｉ＝−１」と設定される。
【０２０６】
顔外部評価値マップ算出部８０の各学習部８１には、顔外部情報を顔とする教師データを与え、顔内部評価値マップ算出部８４の各学習部８５には、顔内部情報を顔とする教師データを与える。
【０２０７】
顔／非顔データベースの生成には、特徴量ベクトルと教師ベクトルを用いたアンサンブル学習法（例えば、Ｂｏｏｓｔｉｎｇ手法等）による学習が行われる。入力画像の特徴量ベクトルをＳｉ（１≦ｉ≦Ｌ）とし、アンサンブル学習で生成された学習部の数をＭ、その値をｈｊ（Ｓｉ）、その重み（重要度）をαｊとする（ただし、１≦ｉ≦Ｌ、１≦ｊ≦Ｍ）。ここで、各学習部８１は、顔のとき「１」を出力し、非顔のとき「−１」を出力するように正規化されているものとする。
【０２０８】
次に、顔外部評価値マップ算出部８０と顔内部評価値マップ算出部８４について詳しく説明する。
【０２０９】
顔外部評価値マップ算出部８０と顔内部評価値マップ算出部８４の構成は同じであり、学習に用いる学習画像が異なるのみである。顔外部評価値マップ算出部８０は、顔の特徴データ作成のため、図２４（ａ）に示すように、多くの人の各種顔向き画像（上下左右）を、学習画像として入力し、顔外部情報の学習データとする。顔内部評価値マップ算出部８４は、顔の特徴データ作成のため、図２４（ｂ）に示すように、多くの人の正面顔画像の顔部品を学習画像として入力し、これを顔内部情報の学習データとする。
【０２１０】
顔外部評価値マップ算出器８０は、Ｍ個の学習部８１（Ｏ１、Ｏ２、…、ＯＭ）と第１評価値合算部８２とから構成される。
【０２１１】
各学習部８１は、値ｈｊ（Ｓｉ）、重みαｊを持つ。評価する入力画像の輝度値を特徴とし、この特徴ベクトルをＸｎ（０＜＝ｎ＜Ｌ：Ｌ次元）とすると、ｉ番目の学習部の評価値Ｈｉ（Ｘｎ）は
【０２１２】
【数６】
2005071344.tif 000008
【０２１３】
となり、第１評価値合算部８２は、評価値Ｈｉを
【０２１４】
【数７】
2005071344.tif 000009
【０２１５】
により合算する。評価値Ｈｉが閾値ｔｈ以上のとき顔外部であることが識別でき、評価値Ｈｉが閾値ｔｈ未満のとき顔外部以外（非顔）であることが識別できる。
【０２１６】
各学習部８１の値ｈｉ（Ｘｎ）は、入力された特徴ベクトルＸｎが顔であれば「１」となり、非顔であれば「−１」となる。
【０２１７】
顔内部評価値マップ算出部８４は、学習に用いる学習画像が異なる点を除けば、顔外部評価値マップ算出部８０と同様である。
【０２１８】
次に、結果出力部８７による顔検出結果出力の詳細について説明する。顔内部評価値マップは、再探索範囲決定部８３により決定された再探索範囲（顔外部情報に近しい領域）に限定した顔内部評価の結果を示す。顔内部評価値マップのピークが、図２５（ａ）における×印の位置にあるとき、結果出力部８７は、この位置から一定距離ｄｉｓｔ以内の範囲に、顔外部評価値マップのピークが存在するかを調査する。
【０２１９】
図２５（ｂ）における＋印の位置に、顔外部評価値マップのピークが存在し、このピークが顔内部評価値マップのピークと重なった場合、顔は、図２５（ｃ）に示す、位置及び顔サイズで存在することが分かるし、さらに、その顔は、正面を向いていることが分かる。
【０２２０】
顔内部評価値マップのピークが、図２５（ｄ）における×印の位置に存在し、この位置から一定距離ｄｉｓｔ以内の範囲において、顔外部評価値マップのピークが、図２５（ｅ）における＋印の位置に存在する場合、図２５（ｆ）に示すように、顔外部のピークに対し顔内部のピークが左にずれており、顔は、左向きであることが分かる。
【０２２１】
ここで、本明細書にいう「プログラムをコンピュータ読み取り可能に記録した記録媒体」には、複数の記録媒体にプログラムを分散して配布する場合を含む。また、このプログラムが、オペレーティングシステムの一部であるか否かを問わず、種々のプロセスないしスレッド（ＤＬＬ、ＯＣＸ、ＡｃｔｉｖｅＸ等（マイクロソフト社の商標を含む））に機能の一部を肩代わりさせている場合には、肩代わりさせた機能に係る部分が、記録媒体に格納されていない場合も含む。
【０２２２】
図１又は図１０には、スタンドアロン形式のシステムを例示したが、サーバ／クライアント形式にしても良い。つまり、１つの端末機のみに、本明細書に出現する全ての要素が含まれている場合の他、１つの端末機がクライアントであり、これが接続可能なサーバないしネットワーク上に、全部又は一部の要素が実存していても差し支えない。
【０２２３】
さらには、図１又は図１０のほとんどの要素をサーバ側で持ち、クライアント側では、例えば、ＷＷＷブラウザだけにしても良い。この場合、各種の情報は、通常サーバ上にあり、基本的にネットワークを経由してクライアントに配布されているものだが、必要な情報が、サーバ上にある時は、そのサーバの記憶装置が、ここにいう「記録媒体」となり、クライアント上にある時は、そのクライアントの記録装置が、ここにいう「記録媒体」となる。
【０２２４】
さらに、この「プログラム」には、コンパイルされて機械語になったアプリケーションの他、上述のプロセスないしスレッドにより解釈される中間コードとして実存する場合や、少なくともリソースとソースコードとが「記録媒体」上に格納され、これらから中間コードのアプリケーションを生成できるインタープリタが「記録媒体」にある場合なども含む。この記録媒体には、由来のデータと顔テンプレートとを用いて相関演算するステップと、相関演算結果に基づいて、入力画像内の顔を検出するステップとを含み、顔テンプレートは、顔内部テンプレートと顔外部テンプレートとに分けて管理される、画像処理プログラムがコンピュータ読み取り可能に記録される。
【産業上の利用可能性】
【０２２５】
本発明に係る画像処理装置は、例えば、画像における顔検出等あるいはその応用技術分野において有用である。
【図面の簡単な説明】
【０２２６】
【図１】本発明の実施の形態１における画像処理装置の機能ブロック図
【図２】同画像処理装置のブロック図
【図３】同画像処理装置のフローチャート
【図４】（ａ）同顔外部・顔内部テンプレートの作成過程説明図  （ｂ）同顔外部・顔内部テンプレートの作成過程説明図  （ｃ）同顔内部テンプレートの作成過程説明図  （ｄ）同顔外部テンプレートの作成過程説明図
【図５】（ａ）同顔内部テンプレートの例示図  （ｂ）同顔外部テンプレートの例示図
【図６】（ａ）同一時テンプレートの例示図  （ｂ）同一時テンプレートの例示図  （ｃ）同一時テンプレートの例示図  （ｄ）同一時テンプレートの例示図  （ｅ）同一時テンプレートの例示図  （ｇ）同一時テンプレートの例示図  （ｈ）同一時テンプレートの例示図  （ｉ）同一時テンプレートの例示図
【図７】（ａ）同顔内部テンプレートの編集過程説明図  （ｂ）同顔内部テンプレートの編集過程説明図  （ｃ）同一時テンプレートの例示図
【図８】（ａ）同入力画像の例示図  （ｂ）同顔検出結果の例示図  （ｃ）同入力画像の例示図  （ｄ）同顔検出結果の例示図
【図９】（ａ）同生成規則の例示図  （ｂ）同生成規則の例示図  （ｃ）同生成規則の例示図  （ｄ）同生成規則の例示図  （ｅ）同生成規則の例示図  （ｆ）同生成規則の例示図  （ｇ）同生成規則の例示図  （ｈ）同生成規則の例示図  （ｉ）同生成規則の例示図
【図１０】本発明の実施の形態２における画像処理装置の機能ブロック図
【図１１】同顔外部相関値マップ生成部の詳細図
【図１２】同動き領域情報生成部の詳細図
【図１３】同顔内部相関値マップ生成部の詳細図
【図１４】（ａ）同顔内部テンプレートの例示図  （ｂ）同顔内部テンプレートの例示図  （ｃ）同顔内部テンプレートの例示図  （ｄ）同顔内部テンプレートの例示図  （ｅ）同顔内部テンプレートの例示図  （ｇ）同顔内部テンプレートの例示図  （ｈ）同顔内部テンプレートの例示図  （ｉ）同顔内部テンプレートの例示図
【図１５】（ａ）同前フレームの入力画像例示図  （ｂ）同現フレームの入力画像例示図  （ｃ）同エッジ強度分布の例示図
【図１６】同顔外部テンプレートによる相関演算説明図
【図１７】同顔外部相関値マップの例示図
【図１８】（ａ）同動き領域の抽出過程説明図  （ｂ）同動き領域の抽出過程説明図
【図１９】同再探索範囲の例示図
【図２０】同顔内部相関演算の説明図
【図２１】同顔検出結果の例示図
【図２２】同画像処理装置のフローチャート
【図２３】本発明の実施の形態３における画像処理装置の機能ブロック図
【図２４】（ａ）同特徴データの説明図  （ｂ）同特徴データの説明図
【図２５】（ａ）同結果出力部の処理説明図  （ｂ）同結果出力部の処理説明図  （ｃ）同結果出力部の処理説明図  （ｄ）同結果出力部の処理説明図  （ｅ）同結果出力部の処理説明図  （ｆ）同結果出力部の処理説明図
【図２６】（ａ）本発明の実施の形態１における顔検出の態様説明図  （ｂ）同顔検出の態様説明図
【符号の説明】
【０２２７】
１  特徴量抽出部
２  一時テンプレート生成部
３  顔内部情報記憶部
４  顔外部情報記憶部
５  編集部
６  合成部
７  相関演算部
８  特徴量マップ記憶部
９  生成規則記憶部
１０  一時テンプレート記憶部
１１  一時相関値マップ記憶部
１２  生成パラメータ記憶部
１３、８０  結果出力部
１５  ＣＰＵ
１６  バス
１７  ＲＯＭ
１８  ＲＡＭ
１９  記録媒体
２０  プログラム領域
２１  インターフェイス
２２  カメラ
２３  ジャイロ
３０  顔外部相関値マップ生成部
４０  動き領域情報生成部
４１  動きベクトル生成部
４２  グローバル動きベクトル生成部
４３  動き領域抽出部
５０  前フレーム画像記憶部
６０  再探索範囲決定部
６１  再探索範囲
７０  顔内部相関値マップ生成部
７１  相関演算部
７２  顔内部情報記憶部
８０  顔外部評価マップ算出部
８１、８５  学習部
８２  第１評価値合算部
８３  再探索範囲決定部
８４  顔内部評価値マップ算出部
８６  第２評価値算出部
８７  結果出力部
【図１】
2005071344.tif 000010
【図２】
2005071344.tif 000011
【図３】
2005071344.tif 000012
【図４】
2005071344.tif 000013
【図５】
2005071344.tif 000014
【図６】
2005071344.tif 000015
【図７】
2005071344.tif 000016
【図８】
2005071344.tif 000017
【図９】
2005071344.tif 000018
【図１０】
2005071344.tif 000019
【図１１】
2005071344.tif 000020
【図１２】
2005071344.tif 000021
【図１３】
2005071344.tif 000022
【図１４】
2005071344.tif 000023
【図１５】
2005071344.tif 000024
【図１６】
2005071344.tif 000025
【図１７】
2005071344.tif 000026
【図１８】
2005071344.tif 000027
【図１９】
2005071344.tif 000028
【図２０】
2005071344.tif 000029
【図２１】
2005071344.tif 000030
【図２２】
2005071344.tif 000031
【図２３】
2005071344.tif 000032
【図２４】
2005071344.tif 000033
【図２５】
2005071344.tif 000034
【図２６】
2005071344.tif 000035