(57)【要約】【課題】ノイズにより目頭及び目尻部分が隠れている場合でも、顔特徴点として目頭位置及び目尻位置を精度よく検出する。【解決手段】画像から検出された目頭の第１位置を示す固定の制御点Ｐ３、目尻の第１位置を示す固定の制御点Ｐ４、上瞼位置候補に対応した制御点Ｐ１（第１のパラメータ）、及び下瞼位置候補に対応した制御点Ｐ２（第２のパラメータ）により表されるベジエ曲線を第１の瞼形状モデルとし、第１の瞼形状モデルと画像に含まれる瞼の形状とのフィッティング評価値λが最も高いときのＰ１及びＰ２を固定した第２の瞼形状モデルにおいて、目頭位置候補を示す制御点Ｐ３（第３のパラメータ）、及び目尻位置候補を示す制御点Ｐ４（第４のパラメータ）を変更したときのフィッティング評価値λが最も高いときのＰ３及びＰ４を目頭の第２位置及び目尻の第２位置として決定する。【選択図】図２
2010244178.tif 000002
【特許請求の範囲】
【請求項１】
目頭及び目尻を備えた目領域を含む画像の画像データを取得する取得手段と、
前記取得手段で取得した画像データから、パターンマッチングにより目頭の第１位置及び目尻の第１位置を検出する位置検出手段と、
前記位置検出手段で検出された目頭の第１位置及び目尻の第１位置を端点とする上側の曲線及び下側の曲線で表され、かつ前記上側の曲線上に定めた上瞼位置を第１のパラメータ及び前記下側の曲線上に定めた下瞼位置を第２のパラメータとする第１の瞼形状モデルにおいて、前記第１のパラメータ及び前記第２のパラメータを変更したときの前記第１の瞼形状モデルと前記画像に含まれる瞼の形状とが一致する度合いを示す第１の尤度を、前記第１のパラメータ及び前記第２のパラメータ毎に演算する第１の演算手段と、
前記第１の演算手段で演算された第１の尤度が最も高い前記第１の瞼形状モデルで、かつ目頭位置を第３のパラメータ及び目尻位置を第４のパラメータとした第２の瞼形状モデルにおいて、前記第３のパラメータ及び前記第４のパラメータを変更したときの前記第２の瞼形状モデルと前記画像に含まれる瞼の形状とが一致する度合いを示す第２の尤度を、前記第３のパラメータ及び前記第４のパラメータ毎に演算する第２の演算手段と、
前記第２の演算手段で演算された第２の尤度が最も高い前記第２の瞼形状モデルの第３のパラメータで示される位置を目頭の第２位置及び第４のパラメータで示される位置を目尻の第２位置として決定する位置決定手段と、
を含む顔特徴点検出装置。
【請求項２】
前記第２の演算手段は、前記位置検出手段によるパターンマッチングのマッチング度が予め定めた閾値より小さい場合に、前記画像に含まれる瞼の形状のうち前記第２の瞼形状モデルの上瞼位置及び下瞼位置近傍の部分を用いて第２の尤度を演算する請求項１記載の顔特徴点検出装置。
【請求項３】
前記位置検出手段は、パターンマッチングのマッチング度が予め定めた閾値より小さい場合に、目頭の第１位置として複数の目頭候補点を検出し、目尻の第１位置として複数の目尻候補点を検出し、
前記第１の演算手段は、前記複数の目頭候補点から選択した１つの目頭候補点及び前記複数の目尻候補点から選択した１つの目尻候補点を端点とする第１の瞼形状モデルにおいて、目頭候補点と目尻候補点との組合せの全てについて前記第１の尤度を演算する
請求項１または請求項２記載の顔特徴点検出装置。
【請求項４】
前記第２の演算手段は、前記第２の瞼形状モデルの上瞼位置と下瞼位置との距離が予め定めた開度閾値より小さい場合には、前記第３のパラメータ及び前記第４のパラメータを予め定めた範囲内で変更する請求項１〜請求項３のいずれか１項記載の顔特徴点検出装置。
【請求項５】
前記位置決定手段で今回決定された目頭の第２位置と目頭の第１位置との差、及び今回決定された目尻の第２位置と目尻の第１位置との差の少なくとも一方が予め定めた前回差閾値より大きい場合には、今回決定された目頭の第２位置及び目尻の第２位置を目頭の第１位置及び目尻の第１位置として置き換えて、再度目頭の第２位置及び目尻の第２位置を決定するように制御する制御手段を含む請求項１〜請求項４のいずれか１項記載の顔特徴点検出装置。
【請求項６】
コンピュータを、
目頭及び目尻を備えた目領域を含む画像の画像データを取得する取得手段と、
前記取得手段で取得した画像データから、パターンマッチングにより目頭の第１位置及び目尻の第１位置を検出する位置検出手段と、
前記位置検出手段で検出された目頭の第１位置及び目尻の第１位置を端点とする上側の曲線及び下側の曲線で表され、かつ前記上側の曲線上に定めた上瞼位置を第１のパラメータ及び前記下側の曲線上に定めた下瞼位置を第２のパラメータとする第１の瞼形状モデルにおいて、前記第１のパラメータ及び前記第２のパラメータを変更したときの前記第１の瞼形状モデルと前記画像に含まれる瞼の形状とが一致する度合いを示す第１の尤度を、前記第１のパラメータ及び前記第２のパラメータ毎に演算する第１の演算手段と、
前記第１の演算手段で演算された第１の尤度が最も高い前記第１の瞼形状モデルで、かつ目頭位置を第３のパラメータ及び目尻位置を第４のパラメータとした第２の瞼形状モデルにおいて、前記第３のパラメータ及び前記第４のパラメータを変更したときの前記第２の瞼形状モデルと前記画像に含まれる瞼の形状とが一致する度合いを示す第２の尤度を、前記第３のパラメータ及び前記第４のパラメータ毎に演算する第２の演算手段と、
前記第２の演算手段で演算された第２の尤度が最も高い前記第２の瞼形状モデルの第３のパラメータで示される位置を目頭の第２位置及び第４のパラメータで示される位置を目尻の第２位置として決定する位置決定手段と、
して機能させるための顔特徴点検出プログラム。
【請求項７】
コンピュータを、請求項１〜請求項５のいずれか１項記載の顔特徴点検出装置を構成する各手段として機能させるための顔特徴点検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔特徴点検出装置及びプログラムに係り、特に顔特徴点として目頭位置及び目尻位置を検出する顔特徴点検出装置及びプログラムに関する。
【背景技術】
【０００２】
従来、検出対象の画像に含まれる顔を検出し、この顔の検出情報を用いて、顔を構成する目を検出し、この目の検出情報を用いて、目の目頭及び目尻を検出する顔特徴点検出方法において、予め複数のサンプル画像を用いて生成された学習識別器を用いて目頭及び目尻を検出する顔特徴点検出方法が提案されている（例えば、特許文献１参照）。
【０００３】
また、上瞼のエッジと下瞼のエッジとの交点を、コーナー検出法を利用して目尻目頭候補点として検出し、検出された候補点の周辺パターンを切り出して、予め登録してある目尻及び目頭のテンプレートとの類似度を計算して、類似度の高い目尻候補及び目頭候補を目尻及び目頭として検出する特徴点検出装置が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２１３３７７号公報
【特許文献２】特開２００７−９４９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１記載の技術では、学習識別器により、検出する領域の目尻または目頭らしさを判別することはできるものの、顔特徴点としての目尻位置及び目頭位置の検出としては精度がよくない、という問題がある。また、検出精度を向上させるためには、高精細な学習識別器を生成して記憶しておく必要があり、計算時間及び必要メモリ量が増大する、という問題がある。
【０００６】
また、上記特許文献２記載の技術では、コーナー検出法により検出した候補点の周辺の微小な範囲に対してテンプレートとの類似度を計算しているため、眼鏡の映り込みなどのノイズにより目尻及び目頭部分が隠れている場合には、目尻位置及び目頭位置の検出が困難になる、という問題がある。
【０００７】
本発明は、上記の問題を解決するために成されたものであり、眼鏡の映り込みなどのノイズにより目頭及び目尻部分が隠れている場合でも、顔特徴点として目頭位置及び目尻位置を精度よく検出することができる顔特徴点検出装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の顔特徴点検出装置は、目頭及び目尻を備えた目領域を含む画像の画像データを取得する取得手段と、前記取得手段で取得した画像データから、パターンマッチングにより目頭の第１位置及び目尻の第１位置を検出する位置検出手段と、前記位置検出手段で検出された目頭の第１位置及び目尻の第１位置を端点とする上側の曲線及び下側の曲線で表され、かつ前記上側の曲線上に定めた上瞼位置を第１のパラメータ及び前記下側の曲線上に定めた下瞼位置を第２のパラメータとする第１の瞼形状モデルにおいて、前記第１のパラメータ及び前記第２のパラメータを変更したときの前記第１の瞼形状モデルと前記画像に含まれる瞼の形状とが一致する度合いを示す第１の尤度を、前記第１のパラメータ及び前記第２のパラメータ毎に演算する第１の演算手段と、前記第１の演算手段で演算された第１の尤度が最も高い前記第１の瞼形状モデルで、かつ目頭位置を第３のパラメータ及び目尻位置を第４のパラメータとした第２の瞼形状モデルにおいて、前記第３のパラメータ及び前記第４のパラメータを変更したときの前記第２の瞼形状モデルと前記画像に含まれる瞼の形状とが一致する度合いを示す第２の尤度を、前記第３のパラメータ及び前記第４のパラメータ毎に演算する第２の演算手段と、前記第２の演算手段で演算された第２の尤度が最も高い前記第２の瞼形状モデルの第３のパラメータで示される位置を目頭の第２位置及び第４のパラメータで示される位置を目尻の第２位置として決定する位置決定手段と、を含んで構成されている。
【０００９】
また、本発明の顔特徴点検出プログラムは、コンピュータを、目頭及び目尻を備えた目領域を含む画像の画像データを取得する取得手段と、前記取得手段で取得した画像データから、パターンマッチングにより目頭の第１位置及び目尻の第１位置を検出する位置検出手段と、前記位置検出手段で検出された目頭の第１位置及び目尻の第１位置を端点とする上側の曲線及び下側の曲線で表され、かつ前記上側の曲線上に定めた上瞼位置を第１のパラメータ及び前記下側の曲線上に定めた下瞼位置を第２のパラメータとする第１の瞼形状モデルにおいて、前記第１のパラメータ及び前記第２のパラメータを変更したときの前記第１の瞼形状モデルと前記画像に含まれる瞼の形状とが一致する度合いを示す第１の尤度を、前記第１のパラメータ及び前記第２のパラメータ毎に演算する第１の演算手段と、前記第１の演算手段で演算された第１の尤度が最も高い前記第１の瞼形状モデルで、かつ目頭位置を第３のパラメータ及び目尻位置を第４のパラメータとした第２の瞼形状モデルにおいて、前記第３のパラメータ及び前記第４のパラメータを変更したときの前記第２の瞼形状モデルと前記画像に含まれる瞼の形状とが一致する度合いを示す第２の尤度を、前記第３のパラメータ及び前記第４のパラメータ毎に演算する第２の演算手段と、前記第２の演算手段で演算された第２の尤度が最も高い前記第２の瞼形状モデルの第３のパラメータで示される位置を目頭の第２位置及び第４のパラメータで示される位置を目尻の第２位置として決定する位置決定手段として機能させるためのプログラムである。
【００１０】
本発明の顔特徴点検出装置及びプログラムによれば、取得手段が、目頭及び目尻を備えた目領域を含む画像の画像データを取得し、位置検出手段が、取得手段で取得した画像データから、パターンマッチングにより目頭の第１位置及び目尻の第１位置を検出する。ここで、目頭及び目尻付近にノイズが存在しているなどの場合には、目頭の第１位置及び目尻の第１位置は精度よく検出されない場合がある。そこで、第１の演算手段が、位置検出手段で検出された目頭の第１位置及び目尻の第１位置を端点とする上側の曲線及び下側の曲線で表され、かつ上側の曲線上に定めた上瞼位置を第１のパラメータ及び下側の曲線上に定めた下瞼位置を第２のパラメータとする第１の瞼形状モデルにおいて、第１のパラメータ及び第２のパラメータを変更したときの第１の瞼形状モデルと画像に含まれる瞼の形状とが一致する度合いを示す第１の尤度を、第１のパラメータ及び第２のパラメータ毎に演算し、第２の演算手段が、第１の演算手段で演算された第１の尤度が最も高い第１の瞼形状モデルで、かつ目頭位置を第３のパラメータ及び目尻位置を第４のパラメータとした第２の瞼形状モデルにおいて、第３のパラメータ及び第４のパラメータを変更したときの第２の瞼形状モデルと画像に含まれる瞼の形状とが一致する度合いを示す第２の尤度を、第３のパラメータ及び第４のパラメータ毎に演算し、位置決定手段が、第２の演算手段で演算された第２の尤度が最も高い第２の瞼形状モデルの第３のパラメータで示される位置を目頭の第２位置及び第４のパラメータで示される位置を目尻の第２位置として決定する。
【００１１】
このように、画像に含まれる瞼の形状との尤度が最も高い第１の瞼形状モデルの目頭位置を第３のパラメータ及び目尻位置を第４のパラメータとする第２の瞼形状モデルにおいて、画像に含まれる瞼の形状との尤度が最も高い第２の瞼形状モデルの第３のパラメータで示される位置を目頭の第２位置及び第４のパラメータで示される位置を目尻の第２位置として決定するため、眼鏡の映り込みなどのノイズにより目頭及び目尻部分が隠れている場合でも、顔特徴点として目頭位置及び目尻位置を精度よく検出することができる。
【００１２】
また、本発明の前記第２の演算手段は、前記位置検出手段によるパターンマッチングのマッチング度が予め定めた閾値より小さい場合に、前記画像に含まれる瞼の形状のうち前記第２の瞼形状モデルの上瞼位置及び下瞼位置近傍の部分を用いて第２の尤度を演算するようにすることができる。位置検出手段によるパターンマッチングのマッチング度が予め定めた閾値より小さい場合には、目頭及び目尻付近にノイズが存在している可能性が高いため、第２の瞼形状モデルの上瞼位置及び下瞼位置近傍の部分を用いて第２の尤度を演算することにより、ノイズの影響を除外して尤度を演算することができる。
【００１３】
また、本発明の前記位置検出手段は、パターンマッチングのマッチング度が予め定めた閾値より小さい場合に、目頭の第１位置として複数の目頭候補点を検出し、目尻の第１位置として複数の目尻候補点を検出し、前記第１の演算手段は、前記複数の目頭候補点から選択した１つの目頭候補点及び前記複数の目尻候補点から選択した１つの目尻候補点を端点とする第１の瞼形状モデルにおいて、目頭候補点と目尻候補点との組合せの全てについて前記第１の尤度を演算するようにすることができる。これにより、第１の瞼形状モデルを柔軟に設定することができ、尤度の高いパラメータを決定することができる。
【００１４】
また、本発明の前記第２の演算手段は、前記第２の瞼形状モデルの上瞼位置と下瞼位置との距離が予め定めた開度閾値より小さい場合には、前記第３のパラメータ及び前記第４のパラメータを予め定めた範囲内で変更するようにすることができる。目の開度が小さい場合には、しわなどの影響で本来の目頭及び目尻とはずれた位置で目頭位置及び目尻位置が検出される場合があるため、第３のパラメータ及び第４のパラメータを予め定めた範囲内で変更するようにすることにより、検出される目頭位置及び目尻位置が大きくずれることを防止することができる。
【００１５】
また、本発明の顔特徴点検出装置は、前記位置決定手段で今回決定された目頭の第２位置と目頭の第１位置との差、及び今回決定された目尻の第２位置と目尻の第１位置との差の少なくとも一方が予め定めた前回差閾値より大きい場合には、今回決定された目頭の第２位置及び目尻の第２位置を目頭の第１位置及び目尻の第１位置として置き換えて、再度目頭の第２位置及び目尻の第２位置を決定するように制御する制御手段を含んで構成することができる。これにより、検出精度が向上する。
【００１６】
また、本発明の顔特徴点検出プログラムは、コンピュータを、本発明の顔特徴点検出装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【００１７】
以上説明したように、本発明の顔特徴点検出装置及びプログラムによれば、瞼形状との尤度が高い瞼形状モデルのパラメータとして目頭位置及び目尻位置を検出するため、眼鏡の映り込みなどのノイズにより目尻及び目頭部分が隠れている場合でも、顔特徴点として目頭位置及び目尻位置を精度よく検出することができる、という効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態に係る顔特徴点検出装置の構成を示すブロック図である。
【図２】第１の実施の形態の顔特徴点検出装置における顔特徴点検出処理の処理ルーチンの内容を示すフローチャートである。
【図３】第１の実施の形態における目頭目尻位置検出処理の処理ルーチンの内容を示すフローチャートである。
【図４】（Ａ）顔領域の検出、（Ｂ）目の探索範囲の設定、及び（Ｃ）目領域の検出を説明するための図である。
【図５】目頭の探索範囲、及び目尻の探索範囲の設定を説明するための図である。
【図６】目頭領域の検出を説明するための図である。
【図７】目頭の第１位置の検出を説明するための図である。
【図８】第１の実施の形態における上下瞼位置検出処理の処理ルーチンの内容を示すフローチャートである。
【図９】（Ａ）瞼形状モデルとしてのベジエ曲線、及び制御点を説明するための図、並びに（Ｂ）制御点Ｐ１と上瞼位置候補との関係を説明するための図である。
【図１０】フィッティング評価値と上瞼位置及び下瞼位置との関係を説明するための図である。
【図１１】第１の実施の形態における目頭目尻位置決定処理の処理ルーチンの内容を示すフローチャートである。
【図１２】（Ａ）ノイズがない場合、及び（Ｂ）ノイズがある場合におけるフィッティングについて説明するための図である。
【図１３】第２の実施の形態における目頭目尻位置検出処理の処理ルーチンの内容を示すフローチャートである。
【図１４】複数の目頭位置候補の設定を説明するための図である。
【図１５】第２の実施の形態における上下瞼位置検出処理の処理ルーチンの内容を示すフローチャートである。
【図１６】第３の実施の形態における目頭目尻位置決定処理の処理ルーチンの内容を示すフローチャートである。
【図１７】目の開度による目頭位置及び目尻位置検出への影響を説明するための図である。
【図１８】第４の実施の形態の顔特徴点検出装置における顔特徴点検出処理の処理ルーチンの内容を示すフローチャートである。
【図１９】瞼形状ウインドウによる瞼形状モデルを説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明の顔特徴点検出装置の実施の形態を詳細に説明する。
【００２０】
図１に示すように、第１の実施の形態に係る顔特徴点検出装置１０は、撮影の対象となる対象物を撮影するカメラ１２、表示装置１４、及びコンピュータ１６を備えている。
【００２１】
表示装置１４は、入力された情報に基づいた表示を行うＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）またはＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）で構成されている。
【００２２】
コンピュータ１６は、Ｉ／Ｏ（入出力）ポート１６ａ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１６ｂ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１６ｃ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１６ｄ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６ｅ、並びにこれらＩ／Ｏポート１６ａ、ＲＯＭ１６ｂ、ＨＤＤ１６ｃ、ＣＰＵ１６ｄ、及びＲＡＭ１６ｅを互いに接続するバス１６ｆを含んで構成されている。
【００２３】
記憶媒体としてのＲＯＭ１６ｂまたはＨＤＤ１６ｃには、ＯＳ等の基本プログラム、及び後述する顔特徴点検出処理の処理ルーチンを実行するための顔特徴点検出プログラム等の各種プログラム、並びに各種データが記憶されている。
【００２４】
ＣＰＵ１６ｄは、プログラムをＲＯＭ１６ｂ及びＨＤＤ１６ｃから読み出して実行し、ＲＡＭ１６ｅには、各種データが一時的に記憶される。
【００２５】
Ｉ／Ｏポート１６ａには、カメラ１２及び表示装置１４が接続されている。
【００２６】
次に、図２を参照して、第１の実施の形態の顔特徴点検出装置における顔特徴点検出処理の処理ルーチンについて説明する。なお、本ルーチンは、顔特徴点検出装置１０のスイッチ（図示せず）がオンされた時点から所定時間間隔（例えば、数１０ｍｓｅｃ）毎にコンピュータ１６のＣＰＵ１６ｄによって実行される。
【００２７】
ステップ１００で、カメラ１２で撮影された顔画像の画像データを取り込む。次に、ステップ１０２で、上記ステップ１００で取り込んだ画像データに基づく画像から、目頭の第１位置及び目尻の第１位置を検出する目頭目尻位置検出処理を実行する。次に、ステップ１０４で、上記ステップ１０２で検出された目頭の第１位置及び目尻の第１位置に基づいて上瞼位置及び下瞼位置を検出する上下瞼位置検出処理を実行する。次に、ステップ１０６で、上記ステップ１０４で検出された上瞼位置及び下瞼位置に基づいて目頭の第２位置及び目尻の第２位置を決定する目頭目尻位置決定処理を実行する。次に、ステップ１０８で、上記ステップ１０６で決定された目頭の第２位置及び目尻の第２位置を目尻位置及び目頭位置の検出結果として表示するように、表示装置１４の表示を制御して、処理を終了する。
【００２８】
次に、図３を参照して、上記顔特徴点検出処理の処理ルーチン（図２）のステップ１０２で実行される目頭目尻位置検出処理の処理ルーチンについて説明する。
【００２９】
ステップ１１０で、図４（Ａ）に示すように、テンプレートマッチング等の手法により画像から例えば矩形領域の顔領域３０を検出する。
【００３０】
次に、ステップ１１２で、上記ステップ１１０で検出された顔領域３０に対して、図４（Ｂ）に示すように目の探索範囲３２を設定する。目の探索範囲３２は、検出された顔領域３０の大きさ等に応じて、目が存在すると想定される顔領域３０内に、右目用及び左目用の探索範囲を設定する。そして、図４（Ｃ）に示すように、設定した目の探索範囲３２から、テンプレートマッチング等の手法により、例えば矩形領域の目領域３４を検出する。
【００３１】
次に、ステップ１１４で、上記ステップ１１２で検出された目領域３４に基づいて、図５に示すように、目頭の探索範囲３６、及び目尻の探索範囲３８を設定する。目頭の探索範囲３６は、例えば、左目の場合、目領域を横方向に３分割した場合の右側領域及びその周辺領域のように設定することができる。なお、本ステップ以降の処理は、右目及び左目のそれぞれについて行われるが、ここでは、左目の処理について説明し、右目の処理は同様であるので説明を省略する。
【００３２】
次に、ステップ１１６で、図６に示すように、上記ステップ１１４で設定された目頭の探索範囲３６に対して、例えば矩形の目頭探索ウインドウ４０を走査して目頭領域を検出し、テンプレートマッチング等の手法により、目頭領域の画像とテンプレートとのマッチング度を示す出力値Ｖｈｅａｄを算出する。
【００３３】
次に、ステップ１１８で、上記ステップ１１６で算出された出力値Ｖｈｅａｄが、予め定めた閾値αより小さいか否かを判定する。出力値Ｖｈｅａｄが小さい場合、すなわちテンプレートとのマッチング度が低い場合には、目頭領域に眼鏡などの映り込みによるノイズが影響している可能性が高いと判断できる。そこで、閾値αは、ノイズの存在の有無を判定できる値を予め定めておく。Ｖｈｅａｄ＜αの場合には、ステップ１２０へ進んで、図７に示すように、目頭の探索範囲３６の中心を目頭の第１位置として検出する。一方、Ｖｈｅａｄ≧αの場合には、ステップ１２２へ進んで、図６に示すように、目頭領域（目頭探索ウインドウ４０）の中心を目頭の第１位置として検出する。
【００３４】
なお、目頭の第１位置は、画像上の画素に対応した座標（ｘ、ｙ）により特定される。後述する目尻の第１位置、上瞼位置、下瞼位置等についても同様である。
【００３５】
次に、ステップ１２４〜１３０で、目頭の第１位置を検出した処理と同様の処理により、目尻探索ウインドウ４２を用いて、出力値Ｖｔａｉｌを算出して、目尻の第１位置を検出して、リターンする。
【００３６】
次に、図８を参照して、上記顔特徴点検出処理の処理ルーチン（図２）のステップ１０４で実行される上下瞼位置検出処理の処理ルーチンについて説明する。
【００３７】
ステップ１３２で、図９（Ａ）に示すように、目頭目尻位置検出処理で検出された目頭の第１位置を制御点Ｐ３、目尻の第１位置を制御点Ｐ４、及び上瞼位置に対応する制御点Ｐ１を設定する。制御点Ｐ３及びＰ４は固定とする。そして、制御点Ｐ１、Ｐ３、及びＰ４に基づいて定まるベジエ曲線を上瞼形状モデルとする。ここで、図９（Ｂ）に示すように、制御点Ｐ３及びＰ４を端点とする線分に制御点Ｐ１から下ろした垂線の中点を上瞼位置候補と定める。
【００３８】
次に、ステップ１３４で、制御点Ｐ１を変更しながら、下記（１）式によりフィッティング評価値λを算出する。
【００３９】
【数１】
2010244178.tif 000003
【００４０】
ここで、ｐｉは、ベジエ曲線上の点ｉにおける法線ベクトル、ｅｉは、点ｉにおける画像の輝度勾配ベクトル、及びｎは、ベジエ曲線上の点ｉの数である。点ｉにおける法線ベクトルと画像の輝度勾配ベクトルとの内積から、ベジエ曲線と画像に含まれる瞼の形状との尤度を算出するものである。なお、制御点Ｐ１の変更範囲は、例えば、目の探索範囲３２内であって、かつ制御点Ｐ３及びＰ４を通る直線の上方範囲とすることができる。
【００４１】
次に、ステップ１３６で、変更範囲内の全ての位置において制御点Ｐ１の変更を行ってフィッティング評価値λを算出したか否かを判定する。算出していない場合には、ステップ１３２へ戻り、次の位置に制御点Ｐ１を設定して、フィッティング評価値λの算出処理を繰り返す。全ての位置において算出処理が終了した場合には、ステップ１３８へ進み、図１０に示すように、算出されたフィッティング評価値λが最大となるときの制御点Ｐ１により定まる上瞼位置候補を上瞼位置として検出する。
【００４２】
次に、ステップ１４０〜１４６で、上瞼位置を検出した処理と同様の処理により、下瞼位置に対応する制御点Ｐ２を用いて、フィッティング評価値λを算出し、フィッティング評価値λが最大となるときの制御点Ｐ２により定まる下瞼位置候補を下瞼位置として検出して、リターンする。
【００４３】
次に、図１１を参照して、上記顔特徴点検出処理の処理ルーチン（図２）のステップ１０６で実行される目頭目尻位置決定処理の処理ルーチンについて説明する。
【００４４】
ステップ１５０で、図１２（Ａ）に示すように、上下瞼位置検出処理で検出された上瞼位置の制御点をＰ１、下瞼位置の制御点をＰ２、目頭目尻位置検出処理で検出された目尻の第１位置を制御点Ｐ４、及び目頭の第２位置候補を制御点Ｐ３として設定する。上瞼位置、下瞼位置及びＰ４は固定とする。そして、制御点Ｐ１、Ｐ３、及びＰ４に基づいて定まるベジエ曲線、及び、制御点Ｐ２、Ｐ３、及びＰ４に基づいて定まるベジエ曲線を上下瞼形状モデルとする。
【００４５】
次に、ステップ１５２で、目頭目尻位置検出処理（図３）のステップ１１６で算出された出力値Ｖｈｅａｄが閾値α以上か否かを判定することにより、目頭付近にノイズが存在する可能性があるかないかを判定する。Ｖｈｅａｄ≧αの場合には、ステップ１５４へ進んで、制御点Ｐ３〜制御点Ｐ１、及び制御点Ｐ３〜制御点Ｐ２のベジエ曲線上の点ｉを用いて、上記（１）式によりフィッティング評価値λを算出する。一方、Ｖｈｅａｄ＜αの場合には、ステップ１５６へ進んで、図１２（Ｂ）に示すように、上瞼位置及び下瞼位置近傍のベジエ曲線上の点ｉを用いてフィッティング評価値λを算出する。上瞼位置近傍とは、例えば、制御点Ｐ３〜上瞼位置間の曲線上の上瞼位置より１／２〜１／３の範囲とすることができる。下瞼位置近傍についても同様である。このように、ノイズが生じている目頭付近の瞼形状を用いることなくフィッティング評価値λを算出することにより、評価値の算出精度を向上させることができる。
【００４６】
次に、ステップ１５８で、変更範囲内の全ての位置において制御点Ｐ３の変更を行ってフィッティング評価値λを算出したか否かを判定する。ここで、変更範囲は、例えば、目頭の探索範囲３６内とすることができる。算出していない場合には、ステップ１５０へ戻り、次の位置に制御点Ｐ３を設定して、フィッティング評価値λの算出処理を繰り返す。全ての位置において算出処理が終了した場合には、ステップ１６０へ進み、算出されたフィッティング評価値λが最大となるときの制御点Ｐ３の位置を目頭の第２位置として決定する。
【００４７】
次に、ステップ１６２〜１７２で、目頭の第２位置を決定した処理と同様の処理により、上下瞼位置検出処理で検出された上瞼位置の制御点をＰ１、下瞼位置の制御点をＰ２、上記ステップ１６０で決定された目頭の第２位置を制御点Ｐ３、及び目尻の第２位置候補を制御点Ｐ４として設定し、上瞼位置、下瞼位置及びＰ３を固定し、制御点Ｐ４を変更しながらフィッティング評価値λを算出し、フィッティング評価値λが最大となるときの制御点Ｐ４の位置を目尻の第２位置として決定して、リターンする。
【００４８】
以上説明したように、第１の実施の形態の顔特徴点検出装置によれば、目頭目尻位置検出処理で検出された目頭の第１位置及び目尻の第１位置を用いて、第１の瞼形状モデルとのフィッティングを行い、フィッティング評価値が最大のときの上瞼位置及び下瞼位置を用いて、第２の瞼形状モデルとのフィッティングを行って目頭の第２位置及び目尻の第２位置を決定するため、眼鏡の映り込みなどのノイズにより目頭または目尻部分が隠れている場合でも、顔特徴点として目頭位置及び目尻位置を精度よく検出することができる。
【００４９】
次に、第２の実施の形態について説明する。第１の実施の形態では、目頭の第１位置及び目尻の第１位置をそれぞれ１点のみ検出する場合について説明したが、第２の実施の形態では、ノイズが発生している場合に複数の候補点を検出する点が異なる。なお、第１の実施の形態と同一の構成及び処理については、同一の符号を付して説明を省略する。
【００５０】
図１３を参照して、第２の実施の形態における目頭目尻位置検出処理の処理ルーチンについて説明する。
【００５１】
第１の実施の形態の場合と同様に、ステップ１１６で、目頭の探索範囲３６に対して、例えば矩形の目頭探索ウインドウ４０を走査して目頭領域を検出し、テンプレートマッチング等の手法により、目頭領域の画像とテンプレートとのマッチング度を示す出力値Ｖｈｅａｄを算出し、次に、ステップ１１８で、Ｖｈｅａｄが閾値αより小さいか否かを判定する。閾値αより小さい場合には、ステップ２００へ進み、図１４に示すように、目頭の探索範囲３６内に複数の目頭位置候補を設定する。また、目尻位置についても同様に、出力値Ｖｔａｉｌが閾値αより小さい場合には、ステップ２０２で、目尻の探索範囲３８内に複数の目尻位置候補を設定する。
【００５２】
次に、図１５を参照して、第２の実施の形態における上下瞼位置検出処理の処理ルーチンについて説明する。
【００５３】
ステップ２１０で、目頭目尻位置検出処理で複数の目頭位置候補または目尻位置候補が設定されている場合には、その中から１つずつ選択し、次に、ステップ１３２で、選択した目頭位置候補を制御点Ｐ３、及び目尻位置候補を制御点Ｐ４として固定し、次に、ステップ１３４で、フィッティング評価値λを算出する。
【００５４】
ステップ１３６で、変更範囲内の全ての位置でフィッティングが終了したと判定された場合には、ステップ２１２へ進んで、全ての目頭位置候補及び目尻位置候補の組合せについて選択して処理が終了したか否かを判定し、まだ全て終了していない場合には、ステップ２１０へ戻って、次の目頭位置候補または目尻位置候補を選択する。全て終了した場合には、ステップ１３８で、目頭位置候補から選択された１つの第１の目頭位置と目尻位置候補から選択された１つの第１の目尻位置との組合せの全てについて算出されたフィッティング評価値λが最大のときの制御点Ｐ１により定まる上瞼位置候補を上瞼位置として検出する。
【００５５】
また、目尻位置についても同様に、ステップ２１４で、目頭位置候補及び目尻位置候補から１つずつ選択し、ステップ２１６で、全ての組合せを選択して処理が終了したか否かを判定する。
【００５６】
以上説明したように、第２の実施の形態の顔特徴点検出装置によれば、目頭目尻位置検出処理の際に、目頭または目尻付近にノイズが存在していた場合には、目頭の第１位置または目尻の第１位置として複数の候補点を検出し、その全ての組合せについてフィッティング行い、フィッティング評価値が最大のときの上瞼位置及び下瞼位置を検出するため、上瞼位置及び下瞼位置の検出精度が向上し、この上瞼位置及び下瞼位置を用いて決定される目頭の第２位置及び目尻の第２位置の決定精度も向上する。
【００５７】
次に、第３の実施の形態について説明する。第３の実施の形態では、目の開度によって目頭の第２位置及び目尻の第２位置を検出するための制御点の変更範囲に制限を加える点が第１の実施の形態と異なっている。なお、第１の実施の形態と同一の構成及び処理については、同一の符号を付して説明を省略する。
【００５８】
図１６を参照して、第３の実施の形態における目頭目尻位置決定処理の処理ルーチンについて説明する。
【００５９】
ステップ３００で、上下瞼位置検出処理で検出された上瞼位置と下瞼位置との距離で表される目の開度が開度閾値以下か否かを判定する。図１７に示すように、目の開度が小さい場合には、目頭及び目尻部分に生じるしわなどの影響を受け、本来の目頭位置及び目尻位置とは大きく異なる位置が目頭位置及び目尻位置として検出されてしまう可能性がある。そこで、開度閾値としては、上記のような影響により目頭位置及び目尻位置の判別が困難になる目の開度を判別できるような値を予め設定しておく。目の開度が開度閾値以下の場合には、ステップ３０２へ進み、開度が開度閾値より大きい場合には、ステップ１５０へ進む。
【００６０】
ステップ３０２で、制御点Ｐ３及びＰ４の変更範囲を限定する。例えば、目の開度が開度閾値以上のときに決定された目頭の第２位置及び目尻の第２位置を所定の記憶領域に記憶しておき、この位置からの距離が所定範囲内になるような範囲に限定することができる。また、目領域の画像を所定サイズ（例えば縦２０画素×横４０画素）に正規化し、制御点Ｐ３とＰ４との距離が、顔が正面を向いている顔画像の場合には、３０画素分の距離、顔が斜め（４５°）を向いている顔画像の場合には、２０画素分の距離になるように変更範囲を限定することもできる。
【００６１】
以下、第１の実施の形態における目頭目尻位置決定処理と同様に処理し、ステップ１５８及びステップ１７０では、上記ステップ３０２で限定された変更範囲内の全ての点で制御点Ｐ３またはＰ４を変更して、フィッティング評価値λの算出を終了したか否かを判定するようにする。
【００６２】
以上説明したように、第３の実施の形態の顔特徴点検出装置によれば、目の開度が小さい場合でも、目頭及び目尻付近に生じたしわなどの影響により目頭位置及び目尻位置が大きくずれて検出されることを防止することができる。
【００６３】
次に、第４の実施の形態について説明する。第４の実施の形態では、目頭目尻位置決定処理を繰り返し実行する点が第１の実施の形態と異なっている。なお、第１の実施の形態と同一の構成及び処理については、同一の符号を付して説明を省略する。
【００６４】
図１８を参照して、第４の実施の形態の顔特徴点検出装置における顔特徴点検出処理の処理ルーチンについて説明する。
【００６５】
ステップ１００で、顔画像の画像データを取り込み、次に、ステップ１０２で、目頭の第１位置及び目尻の第１位置を検出する目頭目尻位置検出処理を実行し、次に、ステップ１０４で、上瞼位置及び下瞼位置を検出する上下瞼位置検出処理を実行し、次に、ステップ１０６で、目頭の第２位置及び目尻の第２位置を決定する目頭目尻位置決定処理を実行する。
【００６６】
次に、ステップ４００で、上記ステップ１０６で決定された目頭の第２位置及び目尻の第２位置と、目頭の第１位置及び目尻の第１位置との差が所定範囲内か否かを判定する。所定範囲内の場合には、ステップ１０８へ進んで、検出結果を表示する。一方、所定範囲外の場合には、ステップ４０２へ進む。
【００６７】
ステップ４０２で、上記ステップ１０６で決定された目頭の第２位置及び目尻の第２位置を、目頭の第１位置及び目尻の第１位置として置換して、ステップ１０４へ戻る。ステップ１０４では、上記ステップ４０２で置換された目頭の第１位置及び目尻の第１位置を用いて、再度上瞼位置及び下瞼位置を検出し、次に、ステップ１０６で、再度目頭の第２位置及び目尻の第２位置を決定する。
【００６８】
以上説明したように、第４の実施の形態の顔画像特徴点検出装置によれば、目頭目尻位置検出処理で検出された目頭の第１位置及び目尻の第１位置よりも精度よく決定された目頭の第２位置及び目尻の第２位置を用いて、再度上瞼位置及び下瞼位置の検出、目頭の第２位置及び目尻の第２位置の決定を行い、目頭の第１位置及び目尻の第１位置との差が所定範囲となるまで繰り返すため、目頭の第２位置及び目尻の第２位置を精度よく決定することができる。
【００６９】
なお、上記各実施の形態では、ベジエ曲線上の点ｉにおける法線ベクトルと画像の輝度勾配ベクトルとの内積に基づいてフィッティング評価値を算出する場合について説明したが、上下瞼には横エッジが強く現れるため、横エッジの強度を使用したフィッティング評価値を算出するようにしてもよい。
【００７０】
また、上記各実施の形態では、瞼形状モデルとして、目頭位置、目尻位置、及び上下瞼位置に対応した制御点により示されるベジエ曲線を用いる場合について説明したが、これに限定されるものではない。例えば、図１９に示すような、３つのウインドウ５０ａ、５０ｂ、５０ｃを組み合わせた瞼形状ウインドウ５０を瞼形状モデルとしてもよい。この場合、この瞼形状ウインドウ５０を目の探索範囲内で走査しながら、左右のウインドウ５０ａ及び５０ｃ内に現れる縦エッジの強度を検出し、中央のウインドウ５０ｂ内に現れる横エッジの強度を検出し、その強度の和を用いてフィッティングを行うことができる。
【符号の説明】
【００７１】
１０      顔特徴点検出装置
１２      カメラ
１４      表示装置
１６      コンピュータ
１６ｄ    ＣＰＵ
【図１】
2010244178.tif 000004
【図２】
2010244178.tif 000005
【図３】
2010244178.tif 000006
【図４】
2010244178.tif 000007
【図５】
2010244178.tif 000008
【図６】
2010244178.tif 000009
【図７】
2010244178.tif 000010
【図８】
2010244178.tif 000011
【図９】
2010244178.tif 000012
【図１０】
2010244178.tif 000013
【図１１】
2010244178.tif 000014
【図１２】
2010244178.tif 000015
【図１３】
2010244178.tif 000016
【図１４】
2010244178.tif 000017
【図１５】
2010244178.tif 000018
【図１６】
2010244178.tif 000019
【図１７】
2010244178.tif 000020
【図１８】
2010244178.tif 000021
【図１９】
2010244178.tif 000022