(57)【要約】【課題】  検出時間や使用メモリ量の増大を伴わず、検出対象画像においてどの向きの顔でも高い検出精度で顔検出および顔向き推定が可能な装置を提供する。【解決手段】  正面顔を左半分と右半分に分け、それぞれの半顔に対し顔検出用のパラメータを生成する。顔検出時には、注目領域を左右に分割し、各分割領域と、前記２つのパラメータのうち対応するパラメータの類似度を算出する。そして、何れか一方の類似度が閾値以上のときに、注目領域が顔領域であると判別する。さらに、各分割領域に対する類似度の大小関係から、顔向きの方向および角度を判別する。こうすることで、検出時間や使用メモリ量の増大を伴わず、どの向きの顔でも高い検出精度で顔検出および顔向き推定が可能となる。【選択図】    図１
2006072770.tif 000002
【特許請求の範囲】
【請求項１】
画像中に含まれる顔領域を当該画像の画像データをもとに検出する顔検出装置において、
前記画像上に、フレーム領域を設定する領域設定手段と、
前記フレーム領域を領域分割して得られる特定の分割領域に対応して個別に割り当てられたパラメータを格納する格納手段と、
前記それぞれのパラメータと、このパラメータが割り当てられた分割領域の画像データをもとに、前記フレーム領域が設定された画像領域が顔領域であるかを判別する判別手段とを有する、
ことを特徴とする顔検出装置。
【請求項２】
請求項１において、
前記分割領域は、前記フレーム領域を左右に領域分割したときの領域であって、前記パラメータは、左右の分割領域に対応してそれぞれ準備されている、
ことを特徴とする顔検出装置。
【請求項３】
請求項２において、
前記判別手段は、前記それぞれのパラメータと、このパラメータが割り当てられた分割領域の画像データとを比較演算して当該パラメータにて規定される画像と当該分割領域の画像の類似度を求め、求めた類似度をもとに、前記フレーム領域が設定された画像領域が顔領域であるかを判別する、
ことを特徴とする顔検出装置。
【請求項４】
請求項３において、
前記判別手段は、前記左右の分割領域に対する類似度を閾値と比較し、少なくとも何れか一方の類似度が前記閾値以上であるときに、前記フレーム領域が設定された画像領域が顔領域であるかを判別する、
ことを特徴とする顔検出装置。
【請求項５】
請求項１ないし４のいずれか一項において、
前記それぞれのパラメータは、正面顔の画像データベースから各分割領域の特徴量を抽出することにより生成されており、前記一つのフレーム領域に対して一つのみ準備されている、
ことを特徴とする顔検出装置。
【請求項６】
フレーム領域に含まれる顔の向きを当該フレーム領域内の画像データをもとに検出する顔向き推定装置であって、
前記フレーム領域を領域分割して得られる特定の分割領域に対応して個別に割り当てられたパラメータを格納する格納手段と、
前記それぞれのパラメータと、このパラメータが割り当てられた分割領域の画像データをもとに、当該フレーム領域に含まれる顔の向きを判別する判別手段とを有する、
ことを特徴とする顔向き推定装置。
【請求項７】
請求項６において、
前記分割領域は、前記フレーム領域を左右に領域分割したときの領域であって、前記パラメータは、左右の分割領域に対応してそれぞれ準備されている、
ことを特徴とする顔向き推定装置。
【請求項８】
請求項７において、
前記判別手段は、前記それぞれのパラメータと、このパラメータが割り当てられた分割領域の画像データとを比較演算して当該パラメータにて規定される画像と当該分割領域の画像の類似度を求め、求めた類似度をもとに、当該フレーム領域に含まれる顔の左右方向の向きを判別する、
ことを特徴とする顔向き推定装置。
【請求項９】
請求項８において、
前記判別手段は、前記左右の分割領域に対する類似度の大小関係をもとに、当該フレーム領域に含まれる顔の左右方向の向きを判別する、
ことを特徴とする顔向き推定装置。
【請求項１０】
請求項９において、
前記判別手段は、前記左右の分割領域に対する類似度と閾値とを比較して、当該フレーム領域に含まれる顔の左右方向の向きの大きさを判別する、
ことを特徴とする顔向き推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中から顔領域とその顔向きを検出する顔検出装置および顔向き推定装置に関するものである。
【背景技術】
【０００２】
人の顔の検出技術は、ビルの監視システムなどで用いられつつある。また、最近では、デジタルカメラにおける人物（顔）へのオートフォーカス機能や、自動露光補正機能、さらには顔認識による個人認証などでも使用されつつある。この他、デジタルビデオにおける画像検索やインデクシング、あるいは、画像アルバム整理などにおいて、動画や静止画から人物を抽出するための技術としても使用されつつある。
【０００３】
従来の顔検出技術では、一定の顔の向きに対するパラメータ、すなわち、正面顔用のパラメータや横向き顔用のパラメータなどを用いて顔検出を行うのが一般的であった（以下では、従来技術１と呼ぶ）。しかし、正面顔用のパラメータを使って顔検出を行う場合には、正面顔以外の顔の向きに対する検出率が低くなってしまうとの問題が生じる。つまり、パラメータと同じ顔の向きに対しては検出精度が高いが、他の顔の向きとなると、検出率がかなり落ちてしまうとの問題が生じる。
【０００４】
そこで、最近では、顔向きに拘わらず検出精度を向上できる技術が開発されている。たとえば、このような技術として、
（１）多様な顔の向きの画像データベースから一つのパラメータを生成し、これをもとに顔検出を行う技術（以下では、従来技術２と呼ぶ）、
（２）複数の顔向きについてパラメータを準備（例えば、右用、正面用、左用など複数準備）し、これをもとに顔検出を行う技術（以下では、従来技術３と呼ぶ）、
の２つが知られている。
【０００５】
このうち、従来技術３に関しては、例えば、ピクセル差分特徴を用いて、顔の向き毎に作成した複数の検出器をツリー構造に組み合わせて識別器を構成し、顔向き変化に対応した顔検出を行う技術（非特許文献１、参照）や、Haarウェーブレット特徴を用いて、顔の向き毎に作成した複数の検出器をピラミッド型に組み合わせて識別器を構成することで、顔向き変化に対応した顔検出を行う技術（非特許文献２、参照）が知られている。
【非特許文献１】佐部 浩太郎, 日台 健一, ”ピクセル差分特徴を用いた実時間任意姿勢顔検出器の学習”, 第１０回画像センシングシンポジウム講演論文集, pp.547-552, 2004年6月
【非特許文献２】Z.Q.Zhang, L.Zhu, S.Z.Li, and H.J.Zhang, "Real-Time Multi-View Face Detection", In Proc. of IEEE International Conference on Automatic Face and Gesture Recognition, Washington, May 2000
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の従来技術２は、多様な顔向きの画像から特徴量を抽出し、これらを、例えば平均化するなどして、全ての顔の向きに汎用的に使用できる一つのパラメータを生成するものである。この技術によれば、一つのパラメータで対応可能なため、検出時間や使用メモリ量が従来技術１の場合と同程度で済むとのメリットがある。しかし、一般に、このように多様な顔向きの画像の特徴を一つに加味したパラメータを用いると、例えば正面近くの顔向き以外に関しては、検出精度が従来技術１と比べて向上するが、正面近くの顔向きにおいては、従来技術１と比べて検出精度が落ちてしまう、との欠点を有している。
【０００７】
これに対し、従来技術３では、顔の向き毎に生成したパラメータを用いるため、どの顔の向きでも検出精度を高めることができる。しかし、この場合には、複数のパラメータを用いることから、従来技術１や２と比べて検出時間や使用メモリ量がかなり大きくなってしまうとの欠点を有する。
【０００８】
そこで、本発明は、検出時間や使用メモリ量を低く抑えながら、どの顔の向きに対しても検出精度を高めることができる顔検出装置を提供することを課題とする。また、検出した顔がどの向きを向いているかを精度よく検出できる顔向き推定装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
本発明は、一つの顔を検出する際に、従来技術１と異なり正面顔に関するパラメータを使用するのではなく、たとえば正面顔を左半分と右半分に分け、各々の顔情報に関するパラメータを使用して検出を行うものであり、正面の顔の検出率は従来技術１程度に維持し、かつ正面以外の顔の向きでも顔の検出率が従来技術３に匹敵する程度に向上する顔検出技術および顔向き推定技術に関する装置に関するものである。なお、パラメータの情報量が従来技術１と同程度となり、その結果、検索時間、使用メモリ量は従来技術１と同程度となる特徴も有する。
【００１０】
請求項１の発明に係る顔検出装置は、画像中に含まれる顔領域を当該画像の画像データをもとに検出する顔検出装置において、前記画像上に、フレーム領域を設定する領域設定手段と、前記フレーム領域を領域分割して得られる特定の分割領域に対応して個別に割り当てられたパラメータを格納する格納手段と、前記それぞれのパラメータと、このパラメータが割り当てられた分割領域の画像データをもとに、前記フレーム領域が設定された画像領域が顔領域であるかを判別する判別手段とを有する、ことを特徴とする。
【００１１】
請求項２の発明は前記請求項１に係る顔検出装置において、前記分割領域は、前記フレーム領域を左右に領域分割したときの領域であって、前記パラメータは、左右の分割領域に対応してそれぞれ準備されている、ことを特徴とする。
【００１２】
請求項３の発明は前記請求項２に係る顔検出装置において、前記判別手段は、前記それぞれのパラメータと、このパラメータが割り当てられた分割領域の画像データとを比較演算して当該パラメータにて規定される画像と当該分割領域の画像の類似度を求め、求めた類似度をもとに、前記フレーム領域が設定された画像領域が顔領域であるかを判別する、ことを特徴とする。
【００１３】
請求項４の発明は前記請求項３に係る顔検出装置において、前記判別手段は、前記左右の分割領域に対する類似度を閾値と比較し、少なくとも何れか一方の類似度が前記閾値以上であるときに、前記フレーム領域が設定された画像領域が顔領域であるかを判別する、ことを特徴とする。
【００１４】
請求項５の発明は前記請求項１ないし４のいずれか一項に係る顔検出装置において、前記それぞれのパラメータは、正面顔の画像データベースから各分割領域の特徴量を抽出することにより生成されており、前記一つのフレーム領域に対して一つのみ準備されている、ことを特徴とする。
【００１５】
請求項６の発明に係る顔向き推定装置は、フレーム領域に含まれる顔の向きを当該フレーム領域内の画像データをもとに検出する顔向き推定装置であって、前記フレーム領域を領域分割して得られる特定の分割領域に対応して個別に割り当てられたパラメータを格納する格納手段と、前記それぞれのパラメータと、このパラメータが割り当てられた分割領域の画像データをもとに、当該フレーム領域に含まれる顔の向きを判別する判別手段とを有する、ことを特徴とする。
【００１６】
請求項７の発明は前記請求項６に係る顔向き推定装置において、前記分割領域は、前記フレーム領域を左右に領域分割したときの領域であって、前記パラメータは、左右の分割領域に対応してそれぞれ準備されている、ことを特徴とする。
【００１７】
請求項８の発明は前記請求項７に係る顔向き推定装置において、前記判別手段は、前記それぞれのパラメータと、このパラメータが割り当てられた分割領域の画像データとを比較演算して当該パラメータにて規定される画像と当該分割領域の画像の類似度を求め、求めた類似度をもとに、当該フレーム領域に含まれる顔の左右方向の向きを判別する、ことを特徴とする。
【００１８】
請求項９の発明は前記請求項８に係る顔向き推定装置において、前記判別手段は、前記左右の分割領域に対する類似度の大小関係をもとに、当該フレーム領域に含まれる顔の左右方向の向きを判別する、ことを特徴とする。
【００１９】
請求項１０の発明は前記請求項９に係る顔向き推定装置において、前記判別手段は、前記左右の分割領域に対する類似度と閾値とを比較して、当該フレーム領域に含まれる顔の左右方向の向きの大きさを判別する、ことを特徴とする。
【発明の効果】
【００２０】
請求項１ないし５の発明によれば、パラメータが割り当てられた分割領域の画像が、当該パラメータによって規定される画像にどの程度マッチングするかによって、フレームが設定された画像領域が顔を含むか否かを判別するようにしたことにより、当該フレームが設定された画像領域内の顔がパラメータによる顔向きとは異なる向きを向いていても、当該画像領域が顔領域であると判別する率を高めることができる。
【００２１】
この場合、パラメータは、正面顔用のパラメータとすることができ、よって、本発明によれば、正面顔の検出精度を高く維持しながら、正面顔以外の顔向きに対しても、顔検出精度を高めることができる。
【００２２】
また、分割領域毎にパラメータを保持するものであるから、全フレーム領域について足し合わせたときのパラメータの総容量は、全フレーム領域に対して一つのパラメータを保持する場合（上記従来技術１）と同程度とすることができ、上記従来技術３のように、パラメータの容量が飛躍的に大きくなることもない。また、分割領域毎のマッチング算出を同時平行で行えば、処理時間が長期化することもない。
【００２３】
このように、本発明によれば、検出時間や使用メモリ量を低く抑えながら、どの顔の向きに対しても検出精度を高めることができる顔検出装置を提供することができる。
【００２４】
より具体的には、請求項２ないし４のように構成すると、顔の左半分に関するパラメータ、顔の右半分に関するパラメータの２つのパラメータを使用することで、正面の顔の検出率は従来技術１程度に維持し、かつ正面以外の顔の向きでも顔の検出率を従来技術３に匹敵する程度に向上させることができる。すなわち、顔の左半分に関するパラメータ、顔の右半分に関するパラメータを用いるので、正面顔の検出率は従来技術１と比べて劣らない上、例えば、左向きの顔の場合には顔の右半分に関するパラメータによる検出率が高く、右向きの顔の場合には顔の左半分に関するパラメータによる検出率が高くなるので、正面以外の顔の向きでも顔の検出率を従来技術３に匹敵する程度に向上させることができる。
【００２５】
なお、顔の左半分に関するパラメータ、顔の右半分に関するパラメータの２つで１つの顔に関するパラメータとなるので、パラメータの情報量が１つの顔に関する量とほぼ同じ、すなわち従来技術１と同程度となる。よって、使用メモリ量は従来技術１と同程度となり、また、左顔と右顔の検出処理を平行して行えば、処理速度も長期化することはない。
【００２６】
また、請求項６ないし１０によれば、パラメータが割り当てられた分割領域の画像が、当該パラメータによって規定される画像にどの程度マッチングするかによって、フレーム内に含まれる顔がどの方向を向いているかを判別するものであるから、簡単な処理により、顔向き方向を検出することができる。
【００２７】
特に、本発明は、上記請求項１ないし５の発明と同様、分割領域毎にパラメータを割り当て、分割領域毎のマッチング度合いをもとに判別を行うものであるから、上記請求項１ないし５の発明における処理結果をそのまま用いることができ、よって、請求項１ないし５の発明による顔検出結果に続いた顔向き推定処理を、処理ルーチンの複雑化を招くことなく行うことができる。すなわち、本発明は、上記請求項１ないし５の発明とともに用いることにより、飛躍的な処理ルーチンの簡素化を図ることができる。
【００２８】
より具体的には、請求項７ないし９のように構成すると、顔の左半分に関するパラメータによる検出結果（類似度）と、顔の右半分に関するパラメータによる検出結果（類似度）の双方の数値の組み合わせから、左右方向の顔の向きないしその大きさを円滑に検出することができる。
【００２９】
本発明の意義ないし効果は、以下に示す実施形態の説明により更に明らかとなろう。
【００３０】
ただし、以下の実施の形態は、あくまでも、本発明の一つの実施形態であって、本発明ないし各構成要件の用語の意義は、以下の実施の形態に記載されたものに制限されるものではない。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態につき図面を参照して説明する。
【００３２】
本実施形態に係る顔検出および顔向き推定装置では、正面顔のサンプル画像データベースを学習処理して顔検出用のパラメータを生成し、これをもとに、対象画像に対する顔検出処理が行われる。ここで、パラメータは、一般的には、輝度情報やエッジ情報、これらの情報に関する統計学的データ、顔検出のために特徴を際立たせるアルゴリズムにおける設定要素、などから構成される。本実施例では、パラメータとしてエッジ情報を用い、これをもとに、正規化相互相間法にて類似度を算出し、顔検出を行っている。
【００３３】
本実施形態では、顔全体に対して１つのパラメータを用いるのではなく、顔全体のうちの左半分（以下、左顔と呼ぶ）に関するパラメータと、右半分（以下、右顔と呼ぶ）に関するパラメータの２つが用いられる。すなわち、これらのパラメータは、図１（ａ）に示されている様に、１つの正面顔を、左顔、右顔に分割したときの、左顔に関するパラメータと、右顔に関するパラメータからなっている。各々のパラメータは、左顔用のサンプル画像データベース（正面顔）と左顔用のサンプル画像データベース（正面顔）について、それぞれ個別に学習処理を行うことによって生成される。パラメータの生成はオフラインで行われ、顔検出および顔向き推定装置内にストアされる。
【００３４】
図１（ｂ）を参照して、顔検出および顔向き推定処理においては、画像データにおいて、顔があるかどうかの検出を行う領域（以下、この領域を注目領域と呼ぶ）を左、右の領域に等分割し、このうち左領域に対し右顔に関するパラメータを用いて比較演算（類似度の算出）を行い、右領域に対し左顔に関するパラメータを用いて比較演算を行う。なお、左領域および右領域の各々に対する演算を左右同時に行うようにしても良い。比較演算は、正規化相互相間法に従って行われ、その算出結果として類似度が、左領域と右領域の各々において別々に算出される。この左領域と右領域の類似度各々を、各レベル値（閾値）と比較し、左領域における比較結果、右領域における比較結果を用いて顔検出および顔向き推定を行う。
【００３５】
まず、図２に本実施の形態に係る顔検出および顔向き推定装置１００の機能ブロック図を示す。
【００３６】
図２を参照して、１０は顔検出および顔向き推定を行う対象画像などを検出処理終了まで記憶しておく画像記憶部、１１は画像のエッジ情報を計算するエッジ情報計算部、１２は各演算処理および各部の動作の処理や判断などの制御を行う演算処理部、１３は検出処理の結果（顔領域情報や顔向き情報など）を検出装置１００の後段に出力する出力部である。
【００３７】
１４および１５は各々左顔および右顔に関するパラメータであって、当該検出装置１００の内蔵メモリに格納されている。１６は画像の左領域および右領域の各々について右顔および左顔に関するパラメータ１４、１５を用いて類似度を計算する類似度計算部、１７および１８は算出された左および右領域の各々についての類似度をもとに顔判定および顔向き判定を行う顔判定部および顔向き判定部である。１９は演算結果や検出情報などを格納するメモリである。
【００３８】
ここで、検出装置１００の各部の動作について説明する。
【００３９】
まず、検出装置１００に顔検出および顔向き推定を行う対象画像のデータが入力されると、この画像データは画像記憶部１０に記憶される。この画像記憶部１０から、画像データがエッジ情報計算部１１に入力され、画像データのエッジ情報が計算される。注目領域の左領域および右領域の各々についてのエッジ情報はここから読み出される。本実施例ではこれらのエッジ情報をベクトル値として扱い、正規化相互相間法をもとに、類似度の計算を行う。なお、演算処理部１２の制御により、一つの注目領域に対する検出処理が終了する毎に、画像の大きさに留意しながら、注目領域が横方向または縦方向に１画素ずれた領域に更新される。これにより、入力画像全体に亘って、顔検出および顔向き推定処理が行われる。さらに、演算処理部１２は、後述のように、画像記憶部１０に保存された画像を縮小する処理も行う。
【００４０】
類似度計算部１６では、左領域および右領域の各々についてのエッジ情報のベクトル値と、左顔および右顔に関するパラメータ１４および１５を用いて、左領域および右領域の各々における類似度が計算される。顔判定部１７および顔向き判定部１８は、これら類似度と、所定のレベル値とを比較し、類似度がどのレベルにあるかを判別する（詳細は後述）。そして、その判別結果をもとに、顔検出、顔向き推定を行う（詳細は後述）。
【００４１】
なお、これらの検出結果から顔および顔の向きに関する情報、例えば、顔位置情報や顔領域情報、顔向き角度情報など、検出装置１００の後段において有意義な情報が得られる。これらの情報はメモリ１９に格納され、必要に応じて出力部１３から出力される。
【００４２】
次に、検出装置１００における顔検出および顔向き推定の動作フローについて説明する。
【００４３】
本実施形態では、顔検出および顔向き推定用に一種類の大きさのテンプレートが設定され、このテンプレートを左右均等に分割した領域に、上記左顔用のパラメータと右顔用のパラメータが割り当てられる。上述の注目領域の大きさは、テンプレート領域と同サイズに設定されており、注目領域の左領域および右領域から取得したエッジ情報（ベクトル値）と、テンプレートの右顔用パラメータおよび左顔用パラメータとを比較演算することにより、当該注目領域の左領域画像および右領域画像と、右顔用パラメータおよび左顔用パラメータの類似度が算出される。
【００４４】
なお、注目領域は、先に説明したように、検出処理が終了する毎に一画素ずつ左右方向または上下方向にずらされる。この際、演算処理部１２は、注目領域が入力画像領域の右端または下端に至ったかの判定、すなわち、注目領域に対する領域判定処理を行う。これにより、注目領域は、検出処理が終了する都度、入力画像領域の左上から右下方向に向けて、ラスタースキャン方式で１画素ずつずらしながら、更新設定される。
【００４５】
なお、本実施形態では、一種類の大きさのテンプレートを用いて入力画像内における様々な大きさの顔の検出を行えるよう、ラスタースキャン方式で入力画像の右下までの検出作業が終了する毎に、入力画像を定められた倍率で縮小し、再度、ラスタースキャン方式で上記の検出作業を入力画像の左上から右下方向に向けて行う処理が行われる。これを規定回数繰り返すことにより、入力画像における様々な大きさの顔が検出可能となっている。
【００４６】
図３を参照して、入力画像を徐々に縮小しながら、入力画像内における様々な大きさの顔の検出を行う動作について説明する。同図では、入力画像中に、顔Ａと顔Ｂが含まれている。
【００４７】
同図（ａ）は、入力画像上において、注目領域をラスタースキャン方式で１画素ずつ右方または下方にずらして顔検出を行う際の動作を示すものである。この場合、注目領域に比べて顔Ａと顔Ｂが大きいため、顔Ａ、顔Ｂの何れも検出することができない。
【００４８】
同図（ｂ）は、同図（ａ）の場合よりも入力画像を縮小し、その後、同図（ａ）の場合と同様に、注目領域をラスタースキャン方式で１画素ずつ右方または下方にずらして顔検出を行う際の動作を示すものである。この場合、顔Ｂが注目領域とほぼ一致する大きさとなるため、顔Ｂは検出されるが、顔Ａは検出されない。
【００４９】
同図（ｃ）は、同図（ｂ）の状態の後、縮小処理とスキャン処理を何度か繰り返した際の処理動作を示すものである。この場合、顔Ａが注目領域とほぼ一致する大きさとなり、顔Ａを検出することができる。
【００５０】
これ以後も、入力画像の縮小処理と注目領域のスキャン処理を規定回数まで繰り返す。その結果、入力画像から顔Ａと顔Ｂが検出され、入力画像のどこに顔があるか、その顔の向きとその角度はいくらか、などの情報がメモリ１９に蓄積される。
【００５１】
さて、本実施形態では、類似度計算のアルゴリズムとして正規化相互相関を用いる。正規化相互相関では、計算式「Ｓ=(Ｖｆ-Ｍｆ)＊(Ｔ-Ｍｔ)/(|Ｖｆ-Ｍｆ||Ｔ-Ｍｔ|)」で表される演算の結果から類似度Ｓが得られる。なお、式中の＊はベクトル内積演算子、|Ａ|はベクトルＡの大きさを表す。Ｖｆは注目領域のエッジ情報行列を行ベクトル（又は列ベクトル）表記したもの、Ｔはテンプレートのエッジ情報行列を行ベクトル（又は列ベクトル）表記したものである。Ｍｆは、その全成分が、注目領域のエッジ情報ベクトルの全要素の平均値ｍであるベクトル、すなわち、「Ｍｆ＝ｍＥ（Ｅ＝[１，１，１…，１]）」で表されるベクトルである。Ｍｔは、その全成分が、テンプレートのエッジ情報ベクトルの全要素の平均値ｔであるベクトル、すなわち、「Ｍｔ＝ｔＥ」で表されるベクトルである。なお、正規化相互相関におけるパラメータは、Ｔ、Ｍｔである。
【００５２】
顔検出および顔向き推定動作の動作フローを図４に示す。なお、この動作フローでは、前段階として、顔検出および顔向き推定を行う画像が画像記憶部１０に入力される処理が行われる。
【００５３】
図４を参照して、ステップＳ１では、画像記憶部１０に入力された画像または後述の縮小画像についてエッジ情報計算部１１で、エッジ情報の計算を行う。
【００５４】
ステップＳ２では、顔検出および顔向き推定する領域、すなわち注目領域を特定し、注目領域における左右各領域のエッジ情報を取り出す。これにより、ベクトル値Ｖｆが得られる（以下、画像ベクトルと呼ぶ）。
【００５５】
ステップＳ３では、画像ベクトルを用い、注目領域における、左右各領域内の顔検出、顔向き推定を行う。動作の詳細は後で述べる。
【００５６】
ステップＳ４では、ステップＳ３で得られた検出結果をメモリ１９へ格納する。
【００５７】
ステップＳ５では、注目領域が入力画像の右下まで至ったかを判定することで、入力画像の全領域におけるスキャンが終了したかを判断する。終了した場合は、ステップＳ６へ進み。終了していない場合は、ステップＳ２へ戻り、注目領域を再設定する。
【００５８】
ステップＳ６では、規定回数まで入力画像の縮小がなされたかの判断を行う。規定回数まで縮小がなされた場合は、当該全検出動作の終了となる。終了していない場合は、ステップＳ７へ進む。
【００５９】
ステップＳ７では、現在検出を行った対象画像の縮小画像を作成する。その後、当該縮小画像の顔検出および顔向き推定を行うため、ステップＳ１へ戻る。
【００６０】
顔および非顔検出動作（ステップＳ３）の動作フローを図５に示す。
【００６１】
図５を参照して、ステップＳ３１では、ステップＳ２で計算された注目領域のエッジ情報のうち左半分のものを取り出す。
【００６２】
ステップＳ３３では、ステップＳ２で計算された注目領域のエッジ情報のうち右半分のものを取り出す。
【００６３】
ステップＳ３２、Ｓ３４では、注目領域のうちの左領域、右領域の各々に関して、正規化相互相関を用いて類似度を計算する。詳細については、後で述べる。
【００６４】
ステップＳ３５では、ステップＳ３２、Ｓ３４で計算された左領域、右領域の各々の類似度を用いて顔検出、顔向き推定を行う。これも詳細については、後で述べる。その後、ステップＳ４へ進む。
【００６５】
半顔における類似度計算動作（ステップＳ３２またはＳ３４）の動作フローを図６に示す。なお、ステップＳ３２とステップＳ３４の動作は同様なので、ここでは、ステップＳ３２についてのみ述べる。
【００６６】
図６を参照して、ステップＳ３２１では、左顔用のテンプレート等のパラメータが左顔パラメータ１４に読み込まれているか確認を行う。読み込まれていればステップＳ３２３へ進む。読み込まれていないときはステップＳ３２２へ進む。
【００６７】
ステップＳ３２２では、左顔用のテンプレート等のパラメータの読み込みを行う。
【００６８】
ステップＳ３２３では、正規化相互相関を用いて類似度を計算する。具体的には、先に述べた計算式を用いて計算を行う。
【００６９】
ステップＳ３２４では、算出した類似度Ｓをメモリ１９に格納する。
【００７０】
顔および顔向きの検出動作（ステップＳ３５）の動作フローを図７に示す。
【００７１】
図７を参照して、ステップＳ３５１では、ステップＳ３２で計算された左半顔における類似度ＳBが閾値ＴB以上であるか、またはステップＳ３４で計算された右半顔における類似度ＳAが閾値ＴA以上であるかの判断を行う。少なくとも一方が満たされているときは、左顔領域および右顔領域の少なくとも一方が顔であると判断され、ステップＳ３５２へ進む。両方共に満たされないときは、左顔領域および右顔領域双方とも顔ではないと判断され、ステップＳ３５３へ進む。
【００７２】
ステップＳ３５２では、左顔領域および右顔領域の少なくとも一方が顔と判断できたので、注目領域は顔であると判定される。
【００７３】
ステップＳ３５３では、左顔領域および右顔領域の両方が顔ではないと判断されたので、注目領域は顔ではないと判定される。
【００７４】
ステップＳ３５４では、類似度ＳAおよび類似度ＳBの各々が、例えば、テーブルにおいてどの範囲に位置しているかによって、判定された顔が入力画像においてどちらを向いているのかを検出する。
【００７５】
以上のように、検出装置１００において顔検出および顔向き推定の動作が行われる。
【００７６】
次に、正規化相互相関による類似度から、顔向き推定がどのように行われるのか（Ｓ３５４）について述べる。正規化相互相関における類似度の最大値は、先に述べた式から１であることが分かる（ベクトル(Ｖｆ-Ｍｆ)とベクトル(Ｔ-Ｍｔ)の向きが一致するとき）。例えば、顔向き判定部１８には、図８に示すようなテーブルが格納されており、類似度計算部１６にて算出された類似度ＳAおよび類似度ＳBの各々が、このテーブルにおいてどの範囲に位置していれば、入力画像において判定された顔が正面に対して何度左または右を向いているのかが分かる。顔向き判定部１８は、算出された類似度ＳA、ＳBとテーブルとを比較し、顔向きの方向と角度を判別する。このテーブルでは、顔の向きの角度は、正面の場合を０度、右向きを負値、左向きを正値としている。
【００７７】
なお、テーブル中に示された閾値は一例であって、検証結果等に基づき適宜変更可能である。また、顔向き角度をこれより細かく設定しても良く、逆に、荒く設定しても良い。なお、顔向き角度を判別せずに、右と左の何れを向いているかのみを判別する場合には、類似度ＳA、ＳBのうち何れが閾値以上となっているかによって顔向きを判別するようにしても良い。このとき、類似度ＳA、ＳBのうち何れもが閾値以上となっている場合には、顔向き推定を正面とするか、あるいは、類似度の高い方を優先して顔向き方向の判別を行えばよい。なお、類似度ＳA、ＳBが同じ値の場合または略同じの場合は、図８のテーブルの場合と同様、正面を向いているとする。
【００７８】
ところで、上記実施形態では、類似度計算のアルゴリズムとして正規化相互相関を用いるようにしたが、顔検出において用いられているその他の類似度算出手法を用いることも勿論可能である。
【００７９】
例えば、顔画像の標本および顔以外（非顔）の画像の標本の確率分布を用いて類似度を計算してもよい。具体的には、多数の顔画像ならびに非顔画像を左右に２等分し、各々の画像（非顔画像に関しても顔画像と同様に各々を左顔画像、右顔画像と呼ぶ）に関する画像情報の標本を用いて、各々における正規化された確率分布に関する平均値Ｍと標準偏差σを算出する。なお、非顔画像には、顔検出の際に顔と紛らわしいと考えられる物の画像が選択される。この場合のパラメータは、以上の８つの値と、顔の確率分布と非顔の確率分布の差を際立たせるために使用する投影ベクトルであり、具体的には、顔画像および非顔画像の各々について、左、右顔画像各々の正規化確率分布における平均値Ｍと標準偏差σが４組と、顔画像と非顔画像で共通の左右顔画像の各投影ベクトルが２つである。
【００８０】
類似度Ｓは、式「Ｓ＝ＰF（Ｖ＊Ｔ）／ＰNF（Ｖ＊Ｔ）」で表され、左顔画像、右顔画像の各々について算出される。なお、式中の＊はベクトル内積演算子であり、ＰF（ｘ）、ＰNF（ｘ）は各々、顔画像および非顔画像の正規分布Ｎ（Ｍ，σ2）に対する確率密度関数を表し、「ｘ＝Ｖ＊Ｔ」の時の確率を表す。Ｖは、例えば、注目領域のエッジ情報行列を行ベクトル（又は列ベクトル）表記したものである。なお、上式はその領域の顔である確率と非顔である確率の比を表しており、注目領域に顔画像が含まれる場合には、類似度は大きくなることが分かる。なお、この場合の動作フローは正規化相互相関を用いた場合と同じである。
【００８１】
また、本実施形態における類似度計算のアルゴリズムとして、線形判別式、差分自乗和による計算手法を用いてもよい。線形判別式は、顔画像のみの標本の正規化確率分布および投影ベクトルを用いる。類似度は式「Ｓ＝（Ｍ―Ｖ＊Ｔ）／σ」で表され、左顔画像、右顔画像の各々について算出される。なお、式中の文字、記号は、上で用いたものと同じである。
【００８２】
差分自乗和は、類似度Ｓは式「Ｓ＝（Ｍｆ−Ｖ）1/2」で表され、左顔画像、右顔画像の各々について算出される。Ｍｆ、Ｖは先に述べたものと同じである。
【００８３】
なお、線形判別式や差分自乗和を用いた場合の類似度Ｓは、正規化相互相関や正規分布の確率密度関数を用いた場合と異なり、マッチング度合いが高くなるほど類似度Ｓの値が小さくなる。よって、動作フローは、図７ではなくて図９に変更する必要がある。図９と図7のフローにおいて異なる点は、類似度Ｓと閾値Ｔの大小関係を規定する不等号の向きが逆向きとなっている点のみである。すなわち、図７のステップＳ３５１が図９においてステップＳ３５５に変更されている。なお、その他のステップは同じである。
【００８４】
本実施形態によれば、多様な向きの顔に対応した円滑かつ適正に顔検出および顔向き推定を行うことができる。その検証結果を図１０に示す。
【００８５】
図１０を参照して、縦軸は類似度であり、横軸は顔の向きを示している。横軸の中央が正面を向いている場合で、中央より右に行くと左向顔となり、左に行くと右向き顔となる。横軸における数値は、横軸下方にある画像の画像Ｎｏ．を表している。
【００８６】
図中のＳAおよびＳBは、右顔テンプレート（右顔用のパラメータ）および左顔テンプレート（左顔用のパラメータ）を用いた場合の類似度のグラフを示し、ＳWHOLEは正面顔全体をテンプレートに用いた場合の類似度（上記従来技術１）のグラフを示している。各テンプレートのパラメータは、正面顔の画像データベースを学習処理して生成されている。
【００８７】
なお、類似度の算出は、正規化相互相関法に従う算出アルゴリズムによって行った（T.Sim and S.Baker and M.Bsat,"The CMU Pose, Illumination, and Expression PIE Database", Proceedings of the 5th International Conference on Automatic Face and Gesture Recognition, 2002）。また、上記実施形態とは異なり、入力画像をスキャンする工程を行わずに、各テンプレートと入力画像の目の位置を人為的に合わせて各類似度の値の算出を行った。すなわち、右顔テンプレートは、その目の位置を入力画像の右顔の目の位置に合わせ、左顔テンプレートは、その目の位置を入力画像の左顔の目の位置に合わせて類似度の算出を行った。比較例（上記従来技術１）のテンプレートは、両目の位置を入力画像の左顔の目の位置に合わせて類似度の算出を行った。
【００８８】
上記実施形態のように１画素ずつラスタースキャンする場合にも、目の位置が合う状態は起こるため、図１０と同様の特性が得られるものと想定される。すなわち、図１０の特性は、各画像をラスタースキャンしたときに目の位置が合ったタイミングの類似度と見ることができる。
【００８９】
なお、類似度の算出は、やや下向き、やや上向きの画像に対しても併せて行った。図中の画像番号Ｃ９、Ｃ２５、Ｃ３１の画像は、Ｃ２７、Ｃ２、Ｃ１４の画像に比べ、同じ左右の向き角度でやや下向きとなっている。また、画像番号Ｃ７の画像は、Ｃ２７の画像に比べ、やや下向きとなっている。
【００９０】
同図を参照して、ＳWHOLEのグラフは、中央において類似度が一番高く横軸に沿って左右へ行くほど類似度が低下する特性を示している。つまり、正面顔の顔検出率は高いが、左右顔の顔検出率は低いことを示している。
【００９１】
ＳAのグラフは横軸に沿って右へ行くほど類似度が向上する特性を示している。中央から右においてはＳWHOLEの値よりも高い値となっている。しかし、中央から左においてはＳWHOLEの値よりも低い値となっている。つまり、正面顔から右顔にかけての顔検出率はＳWHOLEの場合よりも優れているが、左顔の顔検出率は劣っていることを示している。
【００９２】
一方、ＳBの特性は、横軸に沿って左へ行くほど類似度が向上する特性を示している。中央から左においてはＳWHOLEの値よりも高い値となっている。しかし、中央から右においてはＳWHOLEの値よりも低い値となっている。つまり、正面顔から左顔にかけての顔検出率はＳWHOLEの場合よりも優れているが、右顔の顔検出率は劣っていることを示している。丁度ＳAの特性と逆となっている。
【００９３】
上記実施形態では、ＳB≧ＴBであるか、または、ＳA≧ＴAのときに顔であると判別するものであるから、図１０においては、画像が左向きの場合には類似度ＳBをもとに顔であると判別され、画像が右向きの場合には類似度ＳAをもとに顔であると判別されることとなる。結局、本実施形態では、図１０において、正面から左向き側の領域における類似度ＳBと、正面から右向き側の領域における類似度ＳAとを併せた類似度特性を有するのと等価となる。
【００９４】
このように、本実施例によれば、正面顔全体をテンプレートに用いた従来技術１に比べ、正面顔に対する顔検出能力を同等に保ちながら、これ以外の向きに対しても、顔検出精度を高く維持することができる。本実施形態によれば、多様な向きにおける顔の検出能力を高めることができ、検出率の大幅な改善を図ることができる。
【００９５】
なお、本実施形態では左顔用と右顔用の２つのパラメータを使用したが、顔を左右対称と仮定する場合は、右顔用または左顔用のパラメータを簡単な変換により他方の顔のパラメータとして使用可能であるので、右顔用または左顔用のどちらか一方のパラメータのみを装置に具備しておけばよい。これにより、図２の左顔パラメータ１４または右顔パラメータ１５のどちらかが不要となり、パラメータのメモリ使用量を先述の従来技術１の半分程度に削減できる。
【００９６】
また、本実施形態では画像のエッジ情報を使用したが、通常の画像の輝度情報に基づいて類似度を算出してもよい。この場合のパラメータは、前述のように、輝度情報と、これらの情報に関する統計学的データなどから構成される。
【００９７】
なお、本実施の形態における顔検出装置および顔向き推定装置は、ハードウェア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩなどで実現できる。また、ソフトウェア的には、メモリにロードされた顔検出および顔向き推定機能のあるプログラムなどによって実現される。図２には、ハードウェアおよびソフトウェアによって実現される顔検出および顔向き推定の機能ブロックが示されている。ただし、これらの機能ブロックが、ハードウェアのみ、ソフトウェアのみ、あるいは、それらの組合せ等、いろいろな形態で実現できることは言うまでもない。
【００９８】
本発明の実施の形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。
【図面の簡単な説明】
【００９９】
【図１】実施の形態に係る顔パラメータ、ならびに顔検出および顔向き推定作業を説明する図である。
【図２】実施の形態に係る顔検出および顔向き推定装置の機能ブロック図である。
【図３】実施の形態に係る入力画像内における様々な大きさの顔の検出を行う動作を説明する図である。
【図４】実施の形態に係る顔検出および顔向き推定動作の動作フローチャートである。
【図５】実施の形態に係る顔検出および顔向き推定動作の動作フローチャートである。
【図６】実施の形態に係る顔検出および顔向き推定動作の動作フローチャートである。
【図７】実施の形態に係る顔検出および顔向き推定動作の動作フローチャートである。
【図８】実施の形態に係る顔向き推定に使用するテーブルの一例を示す図
【図９】実施の形態に係る顔検出および顔向き推定動作の動作フローチャートである。
【図１０】実施の形態に係る正規化相互相関を用いた場合の顔の向きに対する類似度を示すグラフである。
【符号の説明】
【０１００】
１０  画像記憶部
１２  演算処理部
１４  左顔パラメータ
１５  右顔パラメータ
１６  類似度計算部
１７  顔判定部
１８  顔向き判定部
１００  顔検出および顔向き推定装置
【図１】
2006072770.tif 000003
【図２】
2006072770.tif 000004
【図３】
2006072770.tif 000005
【図４】
2006072770.tif 000006
【図５】
2006072770.tif 000007
【図６】
2006072770.tif 000008
【図７】
2006072770.tif 000009
【図８】
2006072770.tif 000010
【図９】
2006072770.tif 000011
【図１０】
2006072770.tif 000012