x1 = [x^1_1, x^1_2, ..., x^1_n] (1) y1 = [y^1_1, y^1_2, ..., y^1_n] (2) x2 = [x^2_1, x^2_2, ..., x^2_n] (3) y2 = [y^2_1, y^2_2, ..., y^2_n] (4) |X_1 X_2 ... X_n| P = |Y_1 Y_2 ... Y_n| (5) |Z_1 Z_2 ... Z_n|ここで,説明を簡略化するために平行移動成分は取り除いてあるものとし,正 射影モデルを仮定する.各画像上での特徴点座標ベクトルは次式のように,特 徴点を3次元空間中で回転させて2次元に射影する2×3の変換行列と,特徴点 の3次元座標との積で表される.
| x^1 | = | r^1_x | P (6) | y^1 | | r^1_y | | x^2 | = | r^2_x | P (7) | y^2 | | r^2_y |ここで,入力画像とは別の方向からの見え方B~における特徴点の2次元座標を 一定の順に並べたベクトルをx~, y~とする.また,B~に対応する座標変換行列 の第1行,第2行ベクトルを r~_x, r~_yとする.ベクトルr~_xは3次のベク トルであるので,r^1_x, r^2_x, r^1_yが互いに1次独立であれば,
r~^1_x = a_x1 r^1_x + a_x2 r^2_x + a_x3 r^1_y (8)を満たす係数a_x1〜3が一意に決まる.このことは,B~におけるすべてのx座標 が,次式のようにB1, B2における2次元座標の線形結合で表現可能であること を意味する.y座標についても同様である.
x~ = a_x1 x^1 + a_x2 x^2 + a_x3 y^1 (9)但し,2枚の入力画像B1, B2の撮影方向によっては,線形結合の基底ベクトル が1次従属になる場合がある.そこで,四つのベクトル x^1, y^1, x^2, y^2 の主成分分析を行い,第1〜3主成分p1, p2, p3 を線形結合の基底ベクトル に利用することで,式(10)(11)のようにx,y 座標は正規直交ベクトルの線形結 合で安定に表現できる.また,入力画像が3枚以上利用できる場合には,同様 にそれぞれの入力画像での x,y座標ベクトルをすべて主成分分析することによ り,より安定な基底ベクトルが得られる. x~ = a_x1 p1 + a_x2 p2 + a_x3 p3 (10) y~ = a_y1 p1 + a_y2 p2 + a_y3 p3 (11) 生成したい顔の方向を指定し,その方向に対応する線形結合の係数を決定する 方法として,本研究ではサンプル画像を利用する方法と,角度で指定する方法 の二つを用いている.
サンプル画像は,生成したい顔画像の方向を示す顔画像であり,この画像と同 じ方向の顔画像を生成する.サンプル画像上では,3次元空間中で同一平面上 に載らない最低4点の代表的な特徴点が抽出されていれば十分である.サンプ ル画像上の特徴点と,生成画像上での対応する特徴点を一致させるような線形 結合の係数を,最小自乗法によって求める.サンプル画像は,必ずしも入力画 像と同一人物である必要はなく,個人性による特徴点座標の多少の位置変動に よって係数が大きく影響されることはない.
また,生成したい顔画像の方向を角度で指定する場合には,3次元座標が既知 の最低4点の代表的な特徴点を利用する.これらの点を生成したい方向に投影 することにより,特徴点の2次元座標を求める.求められた座標から,サンプ ル画像を使用する場合と同様にして,線形結合の係数を決定する.
以上のように,異なる方向から撮影された最低2枚の顔画像があれば,これら の画像上で観測される特徴点の2次元座標の線形結合によって,任意方向の顔 画像上における,すべての特徴点の2次元座標が求められる.
前節と同様に,入力画像Bjでの特徴点のx,y座標を一定の順に並べたベクトル をそれぞれx_j, y_jとする.任意の表情を持った見え方B~における特徴点座標 のベクトルx~, y~は次式のようにm組のベクトルの線形結合で近似できるとす れば,これらの線形結合の係数b_1〜b_mを適切に決めることで,任意表情の顔 画像上の特徴点の2次元座標が求められる.
m m x~ = Σ b_j x_j , y~ = Σ b_j y_j (12) j=1 j=1この方法では,生成できる表情の多様さは,入力として用いる画像にどれだけ 多くの基底となりうる表情が含まれているかに依存する.これは,多くの種類 の表情を持った入力画像を用いれば,生成できる表情の種類や自然さが向上す るということでもある.
このように,方向変化と表情変化は,それぞれ剛体の回転と非剛体の変形であ るため,従来は別々に扱われてきた.しかし,本手法では,両者は基底となる ベクトルの線形結合で表現されるため,容易に統合でき,同じ枠組で扱うこと が可能になる.
m 3 m 3 x~ = Σ b_j ( Σ a_{xi}^j p_i^j ) = Σ Σ b_j a_{xi}^j p_i^j (13) j=1 i=1 j=1i=1 m 3 m 3 y~ = Σ b_j ( Σ a_{yi}^j p_i^j ) = Σ Σ b_j a_{yi}^j p_i^j (14) j=1 i=1 j=1i=1