これは形状xが平均形状x˜と比べ,p1 方向にb1 だけ離れ,p2 方向にb2 だけ離れ,と いうように平均形状と平均形状からの違いの和で表現されている.平均形状x˜ と基底ベク トルpは,形状x を表現する前準備の学習によって得られたものである.よって,平均形 状x˜ と基底ベクトルpは形状 xに依存せず,変化しない.入力形状x1 を入力形状x2 に 変えた場合においてもx˜ とpは変化せず,重みベクトルbだけが変化する.したがってこ のことから入力された形状xは重みベクトルbの2n次元によって表現することができる.
n個の制御点を持つ形状xを上に述べた等式で表現するためにはbが2n次元のベクトル である必要がある.しかし,Active Shape Modelsでは主成分分析を行っているため,2n 次元より少ないベクトルで表現することができる.つまり,主成分分析によって得られたi 番目の主成分ベクトルはi が大きいほど形状の変化による分散が小さく,その際のbi の値 は形状に大きな違いを与えず無視してかまわない.よって,次元圧縮を行なったbを用いる ことによってただ制御点座標を列挙したベクトルよりも少ない次元のベクトルで形状x を 近似的に表現することが可能となる.
本研究では顔画像から顔の制御点座標を得る必要がある.2.7に述べた自動美形化では顔の 制御点座標をActive Shape Modelsを用いて抽出している.次の節でActive Shape Models を利用して顔の制御点を得る具体的な手法について説明する.
B.2 Milborrow の手法による顔形状の検出
S. Milborrow と F. Nicolls は2008年,B.1 項で述べた Active Shape Models を用いて 入力画像から顔の形状を得る手法を発表した[23].
この手法では前準備として,制御点座標が分かっている顔画像を学習する.学習の際には 様々な顔画像データベースを利用しており多種多様な画像を用いる.性別,年齢,人種,顔 の表情,向きも様々なたくさんの顔画像に対し,目と口の位置を利用して正準化を行い学習 を行う.この学習によってActive Shape Models同様,平均顔形状x˜ と主成分ベクトル群 pを得る.
入力顔画像の制御点座標を得る方法について具体的に述べる.顔の制御点は全てエッジ上 にあるという特性を利用し,全ての制御点がエッジ上に乗るように更新することで形状 x を得る.まず入力顔画像に対して顔検出を行い,画像中の顔領域を検出する.顔領域の検出 方法はB.3に述べる手法を用いている.B.3にて詳細を述べるが,この方法は顔の特性を利 用して顔領域検出を行っているため,同時に検出しやすい目の位置と口の位置も検出を行う ことができる.次に平均顔形状x˜ を顔画像中に当てはめる.検出した目の位置と口の位置 を利用してx˜ をアフィン変換して顔画像中に当てはめることで,最終的に得られる xから 大きく離れない初期形状を与えることができる.事前情報としてそれぞれの制御点位置が どのような特徴を持つか与えられており,顔の輪郭などはエッジ上,目尻や目頭などはコー
図 B.1 : 重みベクトルを更新させることによって得られる制御点の変化を示している.赤 い線は求められた制御点座標をつないだものであり,重みベクトルが更新されるに従って顔 画像の制御点に一致していく様子を示している. [23]より引用
ナーという情報が与えられている.コーナー上にある制御点はコーナー上に乗るように平面 的にローカルな探索を行い,エッジ上にある制御点はエッジ上に乗るように直線的に探索を 行う.全ての制御点が条件に合うように位置情報を更新し,全ての制御点がエッジ上から閾 値以下の距離になった時,その形状xを入力画像の顔形状として得る手法である.徐々に 形状が更新される様子を図B.1に示した.
彼らはこの手法を元に,顔画像を入力としその形状 xを求めて画像に赤い線で示し出力 するライブラリ,STASMを作成した.STASMによって出力された画像の例が,B.1の4で ある.このライブラリは出力画像を作成する際に制御点座標を計算しているため,制御点座 標を出力することも可能である.本研究では自動美形化を行う上で入力顔画像の制御点座標 を自動的に得るために,彼らが作成したライブラリSTASMを利用した.
B.3 Viola と Jones の手法による顔検出
2001年に p. ViolaとM. Jones によって発表された顔検出器は顔画像の特性を利用した 検出器である[31].彼らは顔画像の特性を利用した簡易的な検出器を多数用意することで顔 領域の高速検出できることを示した.図B.2の上段に示したのは簡易的な検出器の一例であ