天天看點

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

本節書摘來自異步社群《人臉識别原理及算法——動态人臉識别系統研究》一書中的第3章3.2節參數化模型法,作者 沈理 , 劉翼光 , 熊志勇,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

3.2 參數化模型法

人臉識别原理及算法——動态人臉識别系統研究

此方法最早由yuille、hallinan、cohen等人提出[44],英國british telecom的shackleton、welsh 以及huang、chen等人又對其進行了發展[89, 90]。該方法的原理為:首先對人臉特征如眼睛、鼻子、嘴巴等建立相應的數學模型,得到眼睛模型、鼻子模型及嘴巴模型等,模型由各特征的位置、大小、長度等參數控制,并可進行相應的調整;然後對應圖像的4種表示(見下節),定義圖像的4種能量函數;将上述的幾種特征模型與圖像互相作用,動态地調整模型參數,使得能量函數取得最小值,此時得到的模型參數值就是特征參數值。

3.2.1 圖像的各種表示

使用各種形态算子如擴張算子(dilate operator)、蝕化算子(erode operator)、開算子(open operator)及閉算子(close operator)等對圖像進行處理,可得到圖像的谷表示(valley representation)、峰表示(peak representation)以及邊緣表示(edge representation)等,加上圖像自身共有4種表示。使用這些表示的優點在于可以更好地表征人臉特征模型,如瞳孔模型對應圖像中的谷域。

yuille等人用psi _e (x,y)、psi _v (x,y)及psi _p (x,y)表示邊緣、谷及峰域,并相應地進行模糊化處理,得到phi _e (x,y)、phi _v (x,y)及phi _p (x,y)等域表示。所用公式如下:

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

3.2.2 眼睛模型表示

對人的眼睛部位進行模型表示首先要建立人眼模型,得到眼睛模型的關鍵特征;針對眼睛模型可以建構相應的能量函數,通過将眼睛特征值輸入給相應的能量函數,可以實作眼睛的模型比對。

1.建立模型

如圖3-1所示,眼睛模型應包含如下特征參數。

① 以點x_c 為中心、以r為半徑的圓對應眼睛的瞳孔。

② 以點x_e為中心,寬度為2b、上邊緣的最大高度為a、下邊緣的最大高度為c的兩條抛物曲線分别對應上、下眼睛輪廓,并設眼睛與水準線間的傾斜角度為θ,圖3-1中傾斜角度θ為零。

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

③ 設眼白區域的兩個中心點為p_1及p_2。

進而,眼睛模型應由9個參數表示,為g = (x_c ,x_e ,p_1 ,p_2,r,a,b,c,theta )。

2.能量函數

對應眼睛模型可以定義一個能量函數,用于度量模型比對的好壞程度。完全能量函數由谷域、邊緣、峰域、圖像及内部勢能組成,表示為

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-2)

其中

① 谷域對應的能量由phi _v (x,y)對圓内部區域積分得到,表示為

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-3)

② 邊緣對應的能量函數由phi _e (x,y)對圓邊緣積分以及對抛物線邊緣積分得到,表示為

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-4)

③ 圖像對應的能量函數是為了減小圓内部的圖像亮度,并使得圓與抛物線間的明亮度最大,具體表示為

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-5)

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-6)

④ 峰域對應的能量函數在兩個峰點測得,表示為

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-7)

⑤ 内部固有的能量函數表示為

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-8)

式中,left{ {c_i } right}及left{ {k_i } right}通常為常系數,但在模型比對過程中将會改變。另外,公式中的r_b r_w partial r_b 及partial r_w 分别對應瞳孔、眼白以及相應的邊緣區域;面積或長度為left| {r_w } right|left| {r_b } right|left| {partial r_w } right|left| {partial r_b } right|;a、s分别表示面積及弧長。

3.算法實作

模型比對算法使用基于深度下降法的搜尋政策,尋找眼睛模型的特殊點。搜尋過程分成若幹階段,每一階段使用不同的系數值left{ {c_i } right} 及left{ {k_i } right},且将各能量函數式用具體的模型參數來表示,例如式(3-4)中,

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-9)

這裡s對應抛物曲線的弧,l(a,b)及l(c,b)為其總長度。進而能量函數就表示為模型參數x_e ,a,b,c,theta的積分函數,求其最小值就轉化為在模型參數空間的最小值,此時對應的參數值就為相應的人臉特征。

例如,對于模型參數r,其求解公式為

《人臉識别原理及算法——動态人臉識别系統研究》—第3章3.2節參數化模型法

(3-10)

類似地,對于其他的模型參數都可解出。當所有參數模型的值都确定後,眼睛模型也就确定了。

3.2.3 嘴巴模型和鼻子模型

類似地,可以對人臉上的其他關鍵部位進行處理,如建構嘴巴模型、鼻子模型等。其中對于嘴巴模型特征參數的提取,主要是先确立嘴唇的中心點,然後根據嘴唇的中心點,提取上、下嘴唇的厚度值,可以間隔性地提取3組值;同時,根據中心點,提取嘴唇的寬度值,隻需提取1組即可,根據這些參數可以建構嘴巴模型。

對于鼻子模型,可提取鼻尖到鼻根的長度值以及3~5組鼻尖到鼻翼的寬度值,作為鼻子模型的參數,建構鼻子模型。

對應嘴巴模型,可以建構嘴巴模型的能量函數,用于度量所提取的嘴巴樣本與嘴巴模型之間的比對程度,然後使用比對算法,将樣本與嘴巴模型進行比對,得到最佳比對結果。鼻子模型的處理是類似的,關鍵是參數的提取以及能量函數的建構。通過多樣本測試,可以逐漸得到好的參數模型以及能量函數。

3.2.4 方法的優缺點

使用人臉關鍵特征,如眼睛、嘴巴、鼻子等進行模型比對,具有如下優點。

比對準确。因為這些關鍵特征的變形不會太大,受形變的影響很小,是以提取的特征比較準确,能夠較準确地反映模型的特征。而且,為了精确比對可以通過多采樣特征實作。

通用性強,不受光照、尺度及旋轉等因素影響。通過能量函數的使用以及對比對特征的标準化處理能夠最大限度的減少光照、尺度以及旋轉等因素對比對的影響。

但該方法也有如下不足。

需要先驗知識。模型的建立、特征的提取、标準化處理對模型比對的準确性有很大影響,需要模組化者具有較好的模組化經驗以及豐富的人臉結構知識。

手工模組化、眼睛模型、嘴巴模型以及鼻子模型的建立以及參數的提取需要手工進行,目前還不具有自動化處理的能力,是以,對于多個樣本的處理比較費時,而且個性化差異較大,有一定的主觀性。

局部比對,需要确定模型初始位置。為了避免能量函數找不到最優比對結果,需要在比對時設定模型的初始位置。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

繼續閱讀