實作方法


    我們的實作主要分成兩個部分: 第一,先建立3D人臉模型;第二,對已建立之模型進行變形。以下將針對各部分進行說明:


一、3D人臉模型建立


1.Define Feature Points
    在人臉模型上有許多先前已定義好之特徵點,我們選出此次程式所需的特徵點。使用者在輸入相片時點出相片上之特徵點,以利程式使用標出的點做比較、建立模型。


2.Pose Estimation
    由於輸入圖片的人臉不一定為完全正面,可能會有些轉向的問題,因此我們利用此步驟將人臉歪頭修正,確定照片人臉轉向角度。


3.Face Reconstruction
    利用第一步所點出的特徵點,與資料庫中眾多已存在之人臉模型做比較,找出所有模型線性組合之最佳解,即可建出最相似的人臉模型。




二、人臉模型變形

1.鼻子

    鼻部的整形,整形前後比較起來,位移距離最大的點位於鼻尖(A點),鼻翼與臉頰相連之部位不容易移動(∆C = 0)。

    藉由移動鼻尖的座標,其他組成鼻子3D點的位移量,便可根據該點與鼻尖的距離由內插法求得。


1.下巴

    下巴部分的整形原理亦同鼻部,找到下巴較尖的點(A點),以該點為基準去做位移,但是因為基準點上(上至下嘴唇)下(下至頸部)為非對稱關係,因此組成下巴3D點的位移,A點上方是根據C1點作內插、A點下方是根據C2點作內插求得其值。