広島工業大学紀要研究編
第 44 巻（2010）pp.285-290

論文

複数枚写真を用いた３次元顔モデルの構成
竹之内航 *・山下英生 **（平成21年10月29日受理）

Reconstruction of 3D Human Face Model Using Plural Photographs
Wataru TAKENOUCHI and Hideo YAMASHITA(Received Oct. 29, 2009)

Abstract
If it is easy to construct the three-dimensiona model of each person’s face, we can realize theface database of person, and many application fields using human faces like animation will
spread.
In this paper, a method for making a three-dimensional model by using two face pictures taken from two different directions and using the epipolar geometry is described. In order to reconstruct a free-form surface like the shape of human face, a circle distribution image composedof a lot of circles is irradiated on a face, and we reconstruct the three-dimensional face shapemodel by using the center points of circles as characteristic points. We propose a method forextracting central coordinates of a lot of circles automatically. Next, the restoration accuracy ofthe proposed technique is verified, and the result of application to a face model is described.
Key Words: human face reconstruction, epipolar geometry, circle distribution image

１ンの作成など数多くの応用分野への活用が広がる。

はじめに複数枚の画像から物体までの距離を算出するためには，近年，コンピュータビジョンの分野では，３次元対象物カメラと物体との３次元空間での位置関係を求める必要が（ビルなどの建造物や樹木など）の写真から，その形状のある。コンピュータビジョンの分野において，複数枚の画復元を行う研究が行われている。また，映画やゲームなど像から物体の３次元情報を取得する３次元復元手法に関すの映像製作においては，人間の顔を表現した作品が数多くる研究が数多く行われている１）～３）。３次元復元手法の代作られており，３次元顔モデルの需要も高まってきている。

表的な手法には，ステレオ視を用いた手法２），エピポーラ

しかし，３次元モデルを作る作業は一般的に簡単ではなく，幾何を用いた手法１）などがある。本研究では，カメラ位置，膨大な時間やコストを必要とする。これらのことを踏まえ，姿勢，カメラの内部パラメータと複数枚の画像間の対応を

もし異なる２つの視点から撮影された個人の顔写真からそ示す特徴点から，特徴点の３次元空間中での点の位置を算の個人の３次元顔モデルを生成することができれば，膨大出できるエピポーラ幾何を用いて顔の３次元形状の復元をな時間をかけずに，コストも抑えて，比較的簡単に各個人行う。の顔モデルを作成することが可能となる。これにより，各

本稿では，まずエピポーラ幾何を用いた複数枚写真から個人の顔のデータベース化が実現でき，犯罪者データベー３次元復元する方法について説明する。次に，顔面の形状スの３次元化，顔の骨格に関する種々の研究，アニメーショのような自由曲面を復元するために多数の小円群から構成＊＊＊

広島工業大学大学院工学系研究科情報システム科学専攻＊＊＊

広島工業大学情報学部知的情報システム学科― 285 ―

竹之内航・山下英生

される小円分布映像を照射し，その円の中心を特徴点とし，ここでその中心座標を自動抽出する方法について説明する。次には次のような歪対称行列で表される。

提案手法の復元精度について検証し，最後に，顔モデルに適用した結果について述べる。

２エピポーラ幾何１）を用いた３次元復元手法

エピポーラ幾何とは，図１に示すように３次元空間中の点Ｐを２つの視点 C1，C2 から見ているときの相対的なカメラ位置や姿勢の情報を記述する幾何である。図１のよう

ここで t1，t2，t3 は並進ベクトル t の x，y，z 成分を表している。に，２つのカメラから３次元空間中の同じ点Ｐを見る場合，同じ３次元空間中の点を投影している画像座標系におけ以下に述べるエピポーラ平面，エピポーラ線，エピポール

る特徴点１の座標値 m と特徴点２の座標値 m' は，次の（3）が構成される。エピポーラ平面は，３次元空間中の点 P式を満足する。と２つのカメラ位置 C1，C2 から構成される平面である。

（3）

エピポーラ線は，エピポーラ平面とそれぞれのカメラの投影面１，２との交線である。また，エピポールは，２つの上記の F は基礎行列 F と呼ばれる。基礎行列 F と基本

カメラ位置 C1，C2 を結ぶ直線と２つの投影面１，２との行列 E の間には，焦点距離や画像中心の座標などのカメ交点であり，また一方の投影面に他方のカメラ位置を投影ラの内部パラメータから構成されるカメラの内部パラメーした点でもある。また，エピポーラ線はエピポールと特徴タ行列 A を用いて（4）式のような関係が成り立つ。

点を通る直線となる。ここで，特徴点とは３次元空間中の（4）点を投影した点である。

したがって，基礎行列 F は，カメラの内部パラメータとカメラの運動に関する情報から構成される行列となる。
基礎行列 F は３×３の行列で要素が９個あるが，（3）式で示すように定数倍の不定性がある。したがって，画像座標系での特徴点１の座標値 m と特徴点２の座標値 m' の対応する組が８組以上与えられれば，（3）式より基礎行列 Fを求めることができる。求めた基礎行列 F からカメラの運動および内部パラメータが算出でき，３次元空間中の点X と２つのカメラ位置 C1，C2 から三角形が構成されるこ
図１とを利用して，３次元空間中の点の３次元座標を算出できエピポーラ幾何る。

エピポーラ幾何は以下のような関係を持つ。

なお，復元する際にはあらかじめ使用するカメラに対し一方のカメラに対する他方のカメラの位置と姿勢に関する運動は，回転行列 R と並進ベクトル t によって表現される。ここで同じ３次元空間中の点を投影したカメラ座標系での特徴点１の座標値 x と特徴点２の座標値 x' の間にてカメラ校正を行い，カメラの内部パラメータを算出する。
その後，本節で述べた方法で３次元座標を求める。

３は（1）式の関係が成り立つ。なお，x や x' の上付き～記号は同次座標を表す。

本手法の処理手順

本手法では，復元対象をカメラで２方向から撮影し，その２枚の画像を用いて３次元復元を行う。その際，２節で述べたように，２枚の画像に共に存在する特徴点が必要と（1）なる。また，顔面形状のように自由曲面を復元するには，ここで E は基本行列と呼ばれ，（2）式のようにカメラ曲面上に多数の特徴点を配置する必要がある。ここでは，の回転行列 R と並進ベクトル t から構成される行列とな多数の小円を規則正しく配置した映像を顔面に照射し，そる。の小円の中心を特徴点とすることにした。２枚の画像に撮（2）影された小円群の中心座標値を自動抽出する手法について以下に述べる。

― 286 ―

複数枚写真を用いた３次元顔モデルの構成

3.1

特徴点

処理①：小円が分布した映像を照射した復元対象を撮影し，前述したように，本手法ではあらかじめ小円が規則正しその画像に２値化処理を施した画像（たとえば図４）をく分布した映像を復元対象に照射する。照射する映像は図２に示すような映像である。

読み込む処理②：対象の復元する領域（図４の緑枠）を指定するため，図４に赤と青で示すＡ点，Ｂ点の２点を指定する
処理③：図４の矢印のようにＡ点から右方向へ探索を開始
する
処理④：現在の画素と右隣の画素の色を比較し，白から黒に変化する画素を探索する もし，その画素が見つからず，緑枠領域の右端に達す
ると，y 座標値を１増やして再度左端から右方向へと探索する

図２

処理⑤：画素が白から黒に変化する点が見つかると，黒の照射する映像

小円の外周を追跡し，一周する
このような小円が分布した映像を復元対象に照射し，撮処理⑥：外周のｘおよびｙ座標の最大値，最小値から小円影を行う。円筒状のモデルに映像を照射した様子を図３にの中心座標（X，Y）を次式により求める示す。
X=（ｘの最大値＋ｘの最小値）/ ２
Y=（ｙの最大値＋ｙの最小値）/ ２
処理⑦：処理④，⑤，⑥を繰り返し行い，指定したＢ点まで探索し，終了する
処理④は，処理③のように走査しながら画素の色が白から黒に変わる画素を探す。その画素が見つかると処理⑤の円
図３の外周を見つける処理に移行する。この様子を図５に示す。

映像を照射した円筒モデル

図３に映っている小円の中心を自動抽出し，これを特徴点（復元点）として復元を行う。
3.2

小円の中心座標値を抽出するアルゴリズム

次に小円を自動抽出するアルゴリズムについて説明する。
アルゴリズムの全体イメージと簡単な流れを以下に示す。ここでは画像の横軸を x 座標（右方向を正），縦軸をｙ座標（下方向を正）として説明する。また，座標軸の原点は画像の左上とする。
図５

処理③，④，⑤のイメージ図

処理④で円の上端部分が見つかるので，そこから時計回りに外周を調べていき，一周して処理④で見つけた画素まで戻ると，処理⑤は終了とする。処理⑤の詳しい内容は付録に示す。
次に，処理⑤で見つけた外周の座標の最大値，最小値から円の中心座標を求める。これが処理⑥になる（図６参照）。
図４

復元対象画像のイメージ図― 287 ―

竹之内航・山下英生の初期値は０とする）
処理②：抽出した小円の外周座標の y 座標と x 座標のそれぞれの最大値と最小値（x max ，x min ，y max ，y min ）を格納する処理 ③：現在，探索している画素の y 座標値よりも y maxが小さな小円は flag=1 とし，flag=1 の円は上述した小円スキップ終了端画素抽出処理を行わない
処理④：現在，探索している画素の x 座標値と比べて x min が小さく，かつ x max が大きな円を見つけ，その円番号を取得し，小円スキップ終了端画素抽出処理を行う
図６

処理⑥のイメージ以上の処理を繰り返し行い，画像上の指定範囲内にある全ての小円を抽出する。
しかし，このアルゴリズムでは同じ円を多重抽出することになる。これを防止する処理を次節で説明する。
3.3

円の多重抽出を防止する処理

上記のアルゴリズムでは，y 座標が小さいときに見つけた小円を再度抽出することになるため，一度見つけた小円

図８はスキップする処理が必要となる。以下に，この処理について説明する。

処理時間短縮のための処理

図８において，赤の丸が現在探索している画素とする。

まず，抽出した各小円には番号を付け，その外周座標を矢印方向に探索していき，緑の小円に到達したとき，赤の全て配列に格納する。

線より上の小円は y 座標の最大値が現在探索している y［小円スキップ終了端画素抽出処理］

座標値よりも小さいので flag=1 の小円となる。次に flag=0

探索中に白から黒い画素に変わる画素を見つけると，すの小円で，青の線に挟まれる円（探索している画素の xでに抽出した小円の外周座標と一致するかどうかの判定を座標値より，x min が小さく，かつ x max が大きな小円）を見行う。一致する場合，外周座標の中で y 座標値が等しいもつけることにより，スキップする円を特定できる。これにのの中から x 座標値が最大の画素を探し，その画素までスより，無駄なくスキップする小円を見つけることができる。

キップする（図７に示すようにＣからＤにスキップする）。

このようにして対象の小円を見つけた後に，図７のようにスキップし，探索を行う。

４

球体モデルを用いた誤差検証

次に，本手法による曲面の復元精度について検討する。
検証するために，球体モデルを使用し，その曲面の復元を行った。復元するモデルを図９に示す。

図７

小円スキップ終了端画素抽出処理

なお，上述の小円スキップ終了端画素抽出処理では，すでに抽出した全ての小円の外周座標とのチェックを行うことになり，処理時間が膨大なものになる。そこで，無駄な処理を省くために次のような処理を追加する（図８参照）。
処理①：抽出した全ての小円にフラグを持たせる（フラグ― 288 ―

図９球体モデル複数枚写真を用いた３次元顔モデルの構成

図 10 が２つのカメラから撮影した画像であり，赤と青の点で示す点が特徴点である。

左画像

右画像

図 11

復元するお面の顔の２枚の写真

次に復元する 875 点の特徴点を赤点で示したものを図12 に示す。

左画像

左画像

右画像
図 10

２枚の画像の特徴点

ここでは，２つのカメラ間の角度が復元にどのように影響するかを調べるため，カメラ間の角度を 10 度，30 度，50 度と変化させ，それぞれ復元前の球体の半径と復元したモデルの半径の誤差を計算した。その結果を表１に示す。
表１10 度
30 度
50 度

最大最小
最大最小最大最小

誤差検証結果半径（真値５）
5.046
4.976
5.043
4.928
5.081
4.924

左画像
相対誤差0.009
0.005
0.008
0.014
0.0160.015

図 12

復元する特徴点復元した結果を図 13 に，図 13 をレンダリングした結果を図 14 に示す。この結果から，額や目，鼻が正しく復元できていることが確認できる。このことから本手法が顔モデルに適用可能だと言える。

表１に，特徴点 36 点全ての半径を求め，その中の誤差が最大，最小のものを示している。元のモデルの半径は５であり，表１に，復元したモデルの半径と相対誤差を示している。
この結果から，最大の誤差が 1.6％であり，カメラ間の角度はあまり影響しないということがわかった。また，この程度の誤差であれば人が目で見てもわからない程度の誤差であるため，本手法が顔モデルに適用可能であると判断した。

５

顔モデルへの適用

次に，実際にお面を使用して顔モデルの復元を行った。
復元に使用する２枚の画像を図 11 に示す。

図 13― 289 ―復元結果

竹之内航・山下英生

方向に優先順位を付け，その順に探索する。その優先順位を
図 A-1 の右上部分に矢印と番号で示す。すなわち，まず①番の方向の画素が黒かどうかを調べる。もし白であれば，②，③，④番の順に，その方向の画素を調べる。④番の方向の画素まで調べ，黒の画素が見つからないときは次の処理に移る。

図 14６レンダリング結果

おわりに

図 A-2

アルゴリズム２

本論文では，エピポーラ幾何を用いて，複数枚写真から３次元復元する方法について述べた。また，顔のような自由曲［アルゴリズム２］面の形状を復元する際に，必要となる特徴点の与え方と抽出

図 A-2 のように，円周右下部分の黒の画素を同図に示方法を提案し，その検証と顔モデルへの適用を行った。そのす優先順位に従って追跡する。アルゴリズム１と同様に④

結果，カメラ間の角度は復元精度にあまり影響しないという番の方向の画素まで調べ，黒の画素が見つからないときはことがわかった。また，人が目で見てもわからない程度の誤次の処理に移る。

差であるため，本手法が顔モデルに適用可能であると言える。
今後の課題として顔全体の復元，いろいろなモデルへの適応などがあげられる。

文１）徐献

剛 『写真から作る３次元 CG』 近代科学社

２）ディジタル画像処理編集委員会 『ディジタル画像処理』 CG－ARTS 協会

図 A-3

３）竹之内航，山下英生 ;「エピポーラ幾何を用いた３次元顔モデルの構成に関する基礎実験」，平成 20 年度電［アルゴリズム３］
図 A-3 に示すような優先順位で円周左下部分の黒の画

気・情報関連学会中国支部第 59 回連合大会講演論文

素を追跡する。左方向を一番優先とし，先ほど同様に処理

集，No.26-4,p.484,2008

付アルゴリズム３を行う。一周して最初の画素と同じ座標まで戻ると，この録処理⑤は終了とする。④番の方向の画素まで調べ，黒の画Ａ．円抽出アルゴリズム

素が見つからないときは次の処理に移る。

3.3 節において，円の中心座標を求めるアルゴリズムを述べた。そのアルゴリズムの処理⑤の詳細について述べる。

図 A-4
図 A-1

アルゴリズム４［アルゴリズム４］

アルゴリズム１

これまで同様に，図 A-4 に示すような優先順位で円周左上部［アルゴリズム１］分の黒の画素を追跡する。一周して最初の画素と同じ画素を見処理④で円の上端画素が見つかる。まずは図 A-1 の赤線部つけたら終了する。
この処理の場合，④番の方向の画素まで調べ，に沿って黒の画素を探索する。その際，次に探索する画素の黒の画素が見つからないときは「これは円ではない」と判断する。

― 290 ―