【実施例】
【0025】
次に、本発明の実施形態の構成と動作とについて、具体的な実施例を用いて説明する。
図1に示す本発明による顔特徴点位置補正装置1において、記憶装置200は、例えば、半導体メモリまたはハードディスクによって実現される。顔画像入力手段110は、例えば、デジタルカメラによって実現される。顔画像入力手段110、顔特徴点信頼度生成手段120、初期顔特徴点位置計算手段130、外れ顔特徴点判定手段140、顔特徴点差異計算手段150、および顔特徴点位置補正手段160は、例えば、プログラム制御に従って処理を実行するCPU(Central Processing Unit)によって実現される。また、顔形状モデル記憶手段210は、例えば、半導体メモリまたはハードディスクによって実現される。
【0026】
顔画像入力手段110は、顔の写った画像を入力する。
図3は、顔画像入力手段110が入力する顔の写った画像の例を示す説明図である。顔画像入力手段110が入力する画像には、顔の他に背景が含まれていてもよい。また、顔画像入力手段110は、予め顔検出を行って、顔の写った画像から顔が写っている領域のみを切り出して入力してもよい。
【0027】
顔特徴点信頼度生成手段120は、顔画像入力手段110が入力した顔の写った画像から、目や鼻などの顔特徴点の特徴点らしさを表す信頼度マップを、顔特徴点ごとに生成する。
図4は、顔の写った画像において、検出したい顔特徴点を示す説明図である。
図4に示す例では、検出したい顔特徴点が×印で示されている。本例では、
図4に示すように、左右の眉の両端部と、左右の目の中央部および両端部と、鼻の下部と、口の両端部および中央部との14点に×印が付されている。顔特徴点信頼度生成手段120は、各点に対応して信頼度マップを14個生成する。なお、顔特徴点の特徴点らしさを表す信頼度マップを生成するための手法は、従来提案されている種々の手法を用いることが可能である。例えば、非特許文献1と同様に、顔画像入力手段110が入力した画像の領域全体に、ViolaとJonesによるHaar−like特徴にもとづくAdaBoostを用いて構成した顔特徴点ごとの検出器を適用することで信頼度マップを生成してもよい。
【0028】
図5は、右目の瞳中心の信頼度マップの例を示す説明図である。
図5に示す例では、顔特徴点らしさを表す信頼度が高いほど、濃い黒で示されている。
図5に示す例では、右目の瞳中心以外に、左目の瞳中心付近、右眉付近、および鼻下付近の信頼度が高いことが示されている。
【0029】
初期顔特徴点位置計算手段130は、顔特徴点信頼度生成手段120が生成した信頼度マップにもとづいて初期顔特徴点の位置を計算する。
図4に示す14点の顔特徴点の位置を検出したい場合、14個の初期顔特徴点の位置が計算される。初期顔特徴点位置計算手段130は、例えば、顔特徴点信頼度生成手段120が生成した各信頼度マップにおいて、信頼度が最大値となる位置(信頼度が最も高い位置)を初期顔特徴点の位置とする。また、初期顔特徴点位置計算手段130は、信頼度マップにおける信頼度が最大値となる位置を初期顔特徴点の位置に用いる以外に、顔特徴点位置の事前分布と顔特徴点信頼度との積が最大となる位置を初期顔特徴点の位置に用いてもよい。
【0030】
図6は、右目の瞳中心周辺の信頼度マップにおいて、信頼度が最大値となる位置を×印で示す説明図である。
図6には、右目の瞳中心以外に、左目の瞳中心付近、右眉付近、および鼻下付近の信頼度も高いことが示されている。しかし、右目の瞳中心の位置の信頼度が最も高いので、右目の瞳中心(×印で示す位置)が初期顔特徴点の位置として選ばれたことが示されている。
【0031】
外れ顔特徴点判定手段140は、初期顔特徴点位置計算手段130が計算した初期顔特徴点の位置にもとづいて、当該初期顔特徴点位置にある顔特徴点が顔形状モデル記憶手段210に記憶されている統計的な顔形状モデルから外れた位置にある外れ顔特徴点であるか否かを判定する。顔形状モデル記憶手段210には、統計的な顔形状モデルとして、
図4に示す14個の顔特徴点の座標値が記録されている。
【0032】
ここで、14個の顔特徴点の座標値は、例えば、個人差、表情、および顔向きの変動を含む多数の顔画像の顔特徴点の座標値の平均値としてもよい。また、顔形状モデル記憶手段210には、様々な変動を含む多数の顔画像の顔特徴点の座標値にk−means法を適用して得られる複数の座標値の組が顔形状モデルとして記録されていてもよい。統計的な顔形状モデルから外れた位置にある顔特徴点である外れ顔特徴点であるか否かの判定には、例えば、ロバスト推定の手法が適用可能である。
【0033】
ここで、ロバスト推定の手法の1つである最小メジアン法(LMedS(least median of squares)法)を用いた外れ顔特徴点の判定方法について、図面を参照して説明する。
図7は、初期顔特徴点位置計算手段130が計算した初期顔特徴点の位置を示す説明図である。ここで、
図7に示すように、初期顔特徴点位置計算手段130は、顔画像撮影時の照明変動等の要因によって右目の瞳中心部、右目の目頭部、および口の右端部の初期顔特徴点の位置を、顔が撮影された画像において対応する位置から大きく外れた位置に計算したとする。
【0034】
外れ顔特徴点判定手段140は、まず、
図4に示す14個の顔特徴点から2個の顔特徴点をランダムに選択する。
図8は、ランダムに選択された2個の顔特徴点の例を示す説明図である。
図8(a)に示す例では、右目の目尻の顔特徴点、および口の左端の顔特徴点が選択されたことが示されている。
【0035】
以下、外れ顔特徴点判定手段140によって選択された各顔特徴点にaまたはbを付して説明する。そして、入力画像において、ランダムに選択された2個の顔特徴点に対応する初期顔特徴点の座標値の組を(t
a,t
b)とする。なお、t
aおよびt
bはそれぞれ入力画像における座標値を表す2次元ベクトルである。また、
図8(b)に示すように、顔形状モデル記憶手段210に記憶されている統計的な顔形状モデルにおいて、外れ顔特徴点判定手段140によって選択された顔特徴点(本例では右目の目尻の点および口の左端の点)に対応する2個の顔特徴点の座標値(つまり、顔形状モデルにおける右目の目尻の点および口の左端の点の座標値)の組を(k
a,k
b)とする。なお、k
aおよびk
bはそれぞれ顔形状モデルにおける座標値を表す2次元ベクトルである。
【0036】
ここで、顔形状モデルの顔特徴点の座標系と、初期顔特徴点の座標系とは相違しているので、両者の座標系にもとづく座標値を対応付ける必要がある。そこで、外れ顔特徴点判定手段140は、初期顔特徴点の座標値の組の(t
a,t
b)から、顔形状モデルの座標値の組の(k
a,k
b)への座標変換pを求める。座標変換pは、x軸方向の平行移動成分、y軸方向の平行移動成分、画面内方向の回転成分、およびスケール成分を有する4次元ベクトルである。次に、外れ顔特徴点判定手段140は、式(1)に従って、座標変換pを用いて変換した初期顔特徴点の残りの12個の座標値と、顔形状モデルにおいて当該初期顔特徴点にそれぞれ対応する12個の顔特徴点の座標値との二乗誤差を計算し、12個の二乗誤差の中央値を求める。
【0037】
【数1】
【0038】
式(1)におけるmedは中央値を算出する関数を示す。外れ顔特徴点判定手段140は、ランダムに2個の顔特徴点を選択し、座標変換pを求め、各座標値の二乗誤差を計算する一連の動作を複数回行う。そして、外れ顔特徴点判定手段140は、二乗誤差の中央値が最も小さかった座標変換pをp’として保持する。最後に、外れ顔特徴点判定手段140は、座標変換p’で変換した初期顔特徴点の座標値と顔形状モデルの座標値との二乗誤差が、所定の閾値より大きな顔特徴点を外れ顔特徴点と判定する。
【0039】
図9は、外れ顔特徴点判定手段140の判定結果の例を示す説明図である。
図9において、外れ顔特徴点判定手段140によって外れ顔特徴点と判定された顔特徴点を丸で囲われた×印で示す。
図9には、右目の瞳中心部、右目の目頭部、および口の右端部の初期顔特徴点が外れ顔特徴点と判定されたことが示されている。
【0040】
なお、外れ顔特徴点判定手段140が座標変換pを求めるためにランダムに選択する顔特徴点の数は、3個以上であってもよい。例えば、外れ顔特徴点判定手段140が、
図4に示す14個の顔特徴点から3個の顔特徴点をランダムに選択したとする。ここで、外れ顔特徴点判定手段140によって選択された各顔特徴点にa、bまたはcを付して説明する。そして、入力画像において、ランダムに選択された3個の顔特徴点に対応する初期顔特徴点の3個の顔特徴点の座標値の組を(t
a,t
b,t
c)とする。また、顔形状モデル記憶手段210に記憶されている統計的な顔形状モデルにおいて、外れ顔特徴点判定手段140によって選択された顔特徴点に対応する3個の顔特徴点の座標値の組を(k
a,k
b,k
c)とする。
【0041】
そして、外れ顔特徴点判定手段140は、初期顔特徴点の座標値の組の(t
a,t
b,t
c)から、顔形状モデルの座標値の組の(k
a,k
b,k
c)に座標変換したときの顔形状モデルの他の座標値と当該座標値に対応する初期顔特徴点の座標値との二乗誤差が最小となる座標変換pを求める。そして、外れ顔特徴点判定手段140は、ランダムに選択する顔特徴点の数が2個の場合と同様に、外れ顔特徴点であるか否かを判定することができる。
【0042】
顔特徴点差異計算手段150は、外れ顔特徴点判定手段140が外れ顔特徴点であると判定した顔特徴点を除外して、顔特徴点の位置について、所定の評価関数に従って統計的な顔形状モデルにおいて対応する顔特徴点の位置との差異を計算する。
【0043】
なお、顔特徴点差異計算手段150は、例えば、外れ顔特徴点判定手段140が外れ顔特徴点であると判定した顔特徴点を除く初期顔特徴点の座標値から、当該初期顔特徴点に対応する顔形状モデルにおける顔特徴点の座標値への座標変換pを最小二乗法を用いて求める。そして、顔特徴点差異計算手段150は、座標変換pで変換した初期顔特徴点の座標値と顔形状モデルの座標値との二乗誤差を当該外れ顔特徴点を除く顔特徴点と統計的な顔形状モデルにおける顔特徴点の位置との差異に用いてもよい。また、顔特徴点差異計算手段150は、外れ顔特徴点判定手段140が求めた座標変換p’を座標変換pとして代用してもよい。また、顔特徴点差異計算手段150は、座標変換した初期顔特徴点の座標値と顔形状モデルの座標値との二乗誤差以外に、初期顔特徴点の座標における顔特徴点信頼度等を用いてもよい。
【0044】
顔特徴点差異計算手段150は、顔特徴点信頼度を用いる場合には、例えば、座標変換した初期顔特徴点の座標値と顔形状モデルの座標値との二乗誤差と、顔特徴点信頼度の逆数との積を、座標変換した初期顔特徴点の座標値と顔形状モデルの座標値との誤差として出力してもよい。
【0045】
顔特徴点位置補正手段160は、外れ顔特徴点判定手段140の判定結果、および顔特徴点差異計算手段150が計算した結果にもとづいて、統計的な顔形状モデルとの誤差の大きな顔特徴点の位置を補正する。顔特徴点位置補正手段160が位置を補正する顔特徴点は、外れ顔特徴点判定手段140によって外れ顔特徴点であると判定された顔特徴点、および顔特徴点差異計算手段150が計算した顔形状モデルにおける位置との誤差が所定の閾値以上の顔特徴点である。
【0046】
顔特徴点位置補正手段160は、顔特徴点の補正に、例えば、顔形状モデル記憶手段210に記憶されている顔形状モデルを使用してもよい。具体的には、顔特徴点位置補正手段160は、顔特徴点差異計算手段150が求めた座標変換pの逆変換p
〜を用いて、補正対象の顔特徴点に対応する顔形状モデルの顔特徴点の座標値を変換することにより、顔形状モデルから外れた顔特徴点(つまり、補正対象の顔特徴点)の補正後の座標値を求めることができる。
【0047】
図10は、顔特徴点位置補正手段160が顔形状モデルから外れた顔特徴点の位置を補正した結果の例を示す説明図である。
図10には、
図9において、外れ顔特徴点と判定された右目の瞳中心部、右目の目頭部、および口の右端部の位置が適当な位置に補正されたことが示されている。
【0048】
本実施例によれば、統計的な顔形状モデルにおいて対応する顔特徴点の位置から外れた位置にあると検出された顔特徴点を適当な位置に補正して、高精度の顔特徴点位置を出力することができる。
【0049】
次に、本発明の概要について説明する。
図11は本発明の概要を示すブロック図である。
図11に示すように、本発明による顔特徴点位置補正装置300は、顔特徴点信頼度生成手段301と、初期顔特徴点位置計算手段302と、外れ顔特徴点判定手段303と、顔特徴点差異計算手段304と、顔特徴点位置補正手段305とを含む。
【0050】
顔特徴点信頼度生成手段301は、入力された顔の写った画像から顔の各器官の特徴点である各顔特徴点の特徴点らしさを表す信頼度マップを各顔特徴点ごとに生成する。初期顔特徴点位置計算手段302は、顔特徴点信頼度生成手段301が生成した信頼度マップにもとづいて、顔の写った画像における各顔特徴点の位置を計算する。外れ顔特徴点判定手段303は、各顔特徴点ごとに、初期顔特徴点位置計算手段302が計算した各顔特徴点の位置と、統計的な顔形状モデルにおいて各顔特徴点にそれぞれ対応する各対応点の位置とにもとづく所定の条件に合致しない顔特徴点である外れ顔特徴点であるか否かを判定する。
【0051】
顔特徴点差異計算手段304は、所定の評価関数に従って、各顔特徴点のうち、外れ顔特徴点判定手段303が外れ顔特徴点であると判定した顔特徴点を除外したそれぞれの顔特徴点の位置と、それぞれの顔特徴点に対応する対応点の位置との差異をそれぞれ計算する。顔特徴点位置補正手段305は、外れ顔特徴点判定手段303の判定結果、および顔特徴点差異計算手段304の計算結果にもとづいて、各顔特徴点のうち、所定の顔特徴点の位置を補正する。
【0052】
そのような構成によれば、例えば、顔画像撮影時の照明の変動や遮蔽等の要因によって、1つまたは複数の顔特徴点について信頼度の低い(具体的には、例えば、不鮮明な)画像が入力された場合においても、当該顔特徴点の位置を補正して、高精度の顔特徴点位置の出力を可能にすることができる。
【0053】
また上記の実施形態では、以下の(1)〜(4)に示すような顔特徴点位置補正装置も開示されている。
【0054】
(1)外れ顔特徴点判定手段303が、ロバスト推定の手法を用いて、各顔特徴点が外れ顔特徴点であるか否かを判定する顔特徴点位置補正装置。
【0055】
(2)外れ顔特徴点判定手段303が、各顔特徴点からランダムに顔特徴点を選択する動作、選択した顔特徴点の位置を示す座標値を顔特徴点の対応点の位置を示す座標値に変換するベクトルにもとづいて、当該動作で選択されなかった顔特徴点の位置を示す座標値を変換する動作、および変換後の座標値と顔特徴点の対応点の位置を示す座標値との二乗誤差の中央値を算出する動作を複数回繰り返し、各回の動作で座標値の変換に用いられたベクトルのうち、最も小さい中央値が算出されたベクトルにもとづいて変換された各顔特徴点の座標値と、各顔特徴点の対応点の位置を示す座標値との二乗誤差が所定の閾値よりも大きい顔特徴点を外れ顔特徴点であると判定する顔特徴点位置補正装置。
【0056】
(3)統計的な顔形状モデルの情報を記憶する顔形状モデル記憶手段を備えた顔特徴点位置補正装置。
【0057】
(4)顔特徴点位置補正手段305が、各顔特徴点のうち、外れ顔特徴点判定手段303によって外れ顔特徴点であると判定された顔特徴点、および顔特徴点差異計算手段304の計算結果の差異が予め決められた値以上である顔特徴点の位置を補正する顔特徴点位置補正装置。
【0058】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0059】
この出願は、2010年5月26日に出願された日本特許出願2010−121017を基礎とする優先権を主張し、その開示の全てをここに取り込む。