テーマ名: 目の「見え」を数値化する!
       −AAMを用いた目の自動構造抽出−

> 発表論文

MIRU 2006 (予稿 (PDF 1.62MB)、ポスター(PDF 3.37MB, PNG 568KB)

> 研究の目的と着想

目の運動(まばたき、表情)による各部位(上眼瞼(まぶた)、下眼瞼、眼瞼裂)の動きを時系列に追跡することを目的とする。生まれつき細い目なのか、目の運動の結果細い目になったのかは、1枚の画像からは判断できない。したがって、「平静の顔である」とわかっている顔画像1枚で生まれつきの目の構造(二重の厚みと濃さ、瞳のサイズと色、下まぶたの膨らみ)を取得し、残りの画像列では、この構造に基づいた目の運動追跡を行う。ここでは目の構造を取得する、すなわち目の生まれつきの“見え”を数値化する研究を紹介する。

> AAMの構築

入力は頭部運動追跡によって得られる頭部運動正規化画像列顔特徴点(眉毛両端点、目両端点)である。この顔特徴点4点から、次の目の各部位の領域を決める。

部位 上眼瞼 眼瞼裂 下眼瞼
領域の構成点列 眉毛下端5点+上眼瞼下端8点、計13点 上眼瞼下端8点+下眼瞼上端11点、計19点 下眼瞼上端11点+それらから下眼瞼上端の幅の半分の長さ下りた点11点、計22点
三角メッシュ化 上眼瞼領域の三角メッシュ化 眼瞼裂領域の三角メッシュ化 下眼瞼領域の三角メッシュ化

これを様々な構造の目を撮像したデータすべてについて用意し、これを学習データとして AAM (Active Appearance Model) [Cootes, Stegmann]を構築する。

まず、領域の構成点列の座標を並べたベクトル x を学習データすべてを使って主成分分析し、次式のように平均形状(x_bar)とそこからの分散の和で表現する(P_sは大きい順にソートした固有値に対応する固有ベクトルを列ベクトルとする行列で、形状モデルと呼ぶ)。

x=x_bar+P_s*b_s

次に、すべての学習データを平均形状にワープ(対応する三角パッチ間でアフィン変換)したテクスチャパターンgを同様に主成分分析し、次式のように平均テクスチャ(g_bar)とそこからの分散の和で表現する(P_gテクスチャモデル)。

g=g_bar+P_g*b_g

「目のこの位置は常に明るい」といった位置とテクスチャの間の相関があることから、形状パラメータb_sとテクスチャパラメータb_gをさらに主成分分析し、次式のように表現する(W_sは単位を正規化する行列、QAAM)。

b=(W_s*b_s b_g)T=Q*c

次の表に、各部位の形状モデル、テクスチャモデル、AAMのそれぞれについて、累積寄与率90%を超える次元数を示す。また第1、第2主成分軸上を固有値の平方根の−3倍から3倍まで変化させた時のAAMを示す。この結果は、20次元程度のcを決めれば、目領域の形状とテクスチャの両方を生成できることを示している。

クリックすると動画が見られます

部位
上眼瞼
眼瞼裂
下眼瞼
形状モデル
P_s
4次元
2次元
5次元
1st 上眼瞼−形状モデル−第1主成分
2nd 上眼瞼−形状モデル−第2主成分
1st 眼瞼裂−形状モデル−第1主成分
2nd眼瞼裂−形状モデル−第2主成分
1st 下眼瞼−形状モデル−第1主成分
2nd 下眼瞼−形状モデル−第2主成分
テクスチャモデル
P_g
12次元
16次元
14次元
1st 上眼瞼−テクスチャモデル−第1主成分
2nd 上眼瞼−テクスチャモデル−第2主成分
1st 眼瞼裂−テクスチャモデル−第1主成分
2nd 眼瞼裂−テクスチャモデル−第2主成分
1st 下眼瞼−テクスチャモデル−第1主成分
2nd 下眼瞼−テクスチャモデル−第2主成分
AAM
Q
17次元
19次元
20次元
1st 上眼瞼−AAM−第1主成分
2nd 上眼瞼−AAM−第2主成分
1st 眼瞼裂−AAM−第1主成分
2nd 眼瞼裂−AAM−第2主成分
1st 下眼瞼−AAM−第1主成分
2nd 下眼瞼−AAM−第2主成分

眉毛両端点、目両端点の計4点の顔特徴点を固定するAAM探索(Constrained AAM 2001)を行い、学習データすべてについてappearanceパラメータcを求める。

注意しなければならないのは、ここでは未だ目領域の輪郭と内部の明度分布を復元したに過ぎず、目の各部位の構造を抽出したわけではない点である。

> AAM探索による目領域構造の自動抽出

構造の未知な目領域の画像に対して、直接構造を計測するのではなく、それぞれ構造情報を埋め込んだ学習データのうち、最も近い学習データから間接的に構造情報を取得する

入力目領域画像に対して、システムは顔特徴点を使ってまず3つの部分領域に分割する。次にAAM探索によりappearanceパラメータcを求める。そしてcに最も近いappearanceパラメータを持つ学習データを見つけ、それに関連付けられている目の生まれつきの構造の情報を獲得する。

以下にAAMで目領域を復元した結果の例を示す。

入力画像
AAM
入力画像
AAM
入力画像例1
入力画像例1の上眼瞼AAM
入力画像例2
入力画像例2の上眼瞼AAM
入力画像例1の眼瞼裂AAM
入力画像例2の眼瞼裂AAM
入力画像例1の下眼瞼AAM
入力画像例2の下眼瞼AAM
入力画像
AAM
入力画像
AAM
入力画像例3
入力画像例3の上眼瞼AAM
入力画像例4
入力画像例4の上眼瞼AAM
入力画像例3の眼瞼裂AAM
入力画像例4の眼瞼裂AAM
入力画像例3の下眼瞼AAM
入力画像例4の下眼瞼AAM

構造を決定した後、目の運動追跡を行う部分のデモは次の「高精細なモデルに基づく目の運動追跡」をご覧下さい。