第二章 人臉影像偵測與特徵擷取
2.1 人臉偵測
2.1.2 專注式串聯法
= M
x
skin x y I
y H
0
) , ( )
( (2-1)
從H(y)中根據設定最小的人臉長,選出 K 個 Y 方向的區間,接著我們再對 這K 個 Y 區間內的膚色資訊利用式(2-2)各別進行 X 軸上的投影,其投影量各別 為Wi(x),i 為 1 到 K,YS 為起始投影 Y 值,YE 為最終投影 Y 值。
∑
== i
i
YE
YS y
skin
i x I x y
W ( ) ( , ),i=1~K (2-2)
從Wi (x)根據設定的最小的人臉寬進行分割,分割出數個可能為人臉的區間,如 圖 2-2(d)所示,經由第一次的投影,框選出 A1 及 A2 兩個區域,然後再對這兩 個區域進行第二次的投影,如圖2-2(e)所示,用意在於移除不是膚色的區域。
2.1.2 專注式串聯法
透過上一節將屬於膚色的區域框選出來,並且利用投影的長寬比先排除可能 不屬於人臉的區域,再將可能屬於人臉的區域交由專注式串聯法(Attentional Cascade)來判別此區域是否為人臉[24]。專注式串聯法可解決過多的運算量浪費 在判斷非人臉影像視窗的問題。在此人臉偵測器主要是使用數個簡單的臉部特 徵,稱為簡易分類器(Simple Classifier),串聯成為一個複雜分類器(Complex Classifier)。愈前面的分類器規則愈容易,所需運算量也愈少,但是具有快速判 斷影像視窗為人臉或者是背景之效果;愈後面特徵則是愈複雜人臉規則,所以運 算量也隨之提高,不過當層數愈多時,人臉偵測的準確性也會提高。以圖2-3 來 說明,在判斷的過程中以 T 來表示通過某一層特徵的檢測,若為 F 則表示偵測 失敗,也就是此影像視窗不是屬於人臉。
(a)膚色分割測試圖 (b)膚色分割結果
(c)閉合運算 (d)第一次投影
(e)第二次投影
圖2-2 膚色分割及投影
透過色彩投影及臉部長寬比初步的篩選之後,我們將可能為人臉區域送入串 聯法判斷此區域是否為正面的人臉。我們用以下幾點規則做為判斷條件:
A1 A2
A1
A2
1 2 3
Sub-windows
Reject Sub-windows
T T T
F F F
n
T T
F
Face
圖2-3 人臉偵測專注式串聯法 1) 人臉投影之長寬比為 1 到 2 倍。
2) 人臉上半部兩眼區域與兩眉之間之灰階值總和會小於下半部灰階值的總和。
3) 眼睛區域的灰階值總和會小於眉毛中間灰階值的總和。
4) 在兩側臉頰相鄰的上下區域其灰階值總和會小於某閥值。
利用串聯的方法來判斷輸入的影像視窗是否為正面的人臉,因為結合了膚色 的條件,所以在人臉偵測時不必進行全域的掃描,如此可以減少運算量以達到時 偵測人臉的效果。
2.1.3 人臉偵測結果
圖2-4 為正面人臉偵測之結果。圖 2-4(a)為原始之測試影像,利用色彩分割 將屬於膚色的範圍分割出來且作閉合運算,圖 2-4 (b)即為運算之後的結果。圖 2-4 (c)為利用膚色投影之後所框選之區域,圖 2-4 (d)為加入人臉特徵判斷之後得 到的結果,黑色框框表示找到的人臉位置。
(a) 原始測試影像 (b) 膚色分割
圖2-5 影像內插
說,當光線變暗,整體的灰階值會偏暗,反之亦然。所以我們利用此特性,對每 張擷取到的臉部影像之灰階值進行調整,使其每張影像的平均值為128。
假設我們有一大小為 N 個像素的影像 I,Ii表示影像中的第i 個像素的灰階 值,此影像 I 之平均值 Iave可由式(2-4)求出。再利用式(2-5)對影像 I 中的所有像 素進行調整,以得到照度補償的臉部影像。
∑
== N
i i
ave I
I N
1
1 (2-4)
i ave
i I I
I =(128− )+ (2-5)
2.3 人臉形狀模型
人臉形狀模型的主要作法是要做特徵點(landmark)的設置,一般特徵點的 取 選 通 常 是 邊 界(boundary)、T 型交界處(‘T’junction)以及特徵點與特徵點 間,如圖 2-6 所示,而點選在特徵點與特徵點間的原因是為了使之後做影像 形變時可讓形變後的影像較為平滑(Smoothness)。
2.3.1 特徵點的設置
在特徵點的設置部份,本論文的作法是在每張要建模型的人臉影像上設置了
圖2-6 特徵點的選取[25]
52 個特徵點,如圖 2-7 所示,其特徵點的位置大致上均分佈在嘴巴(8 個點)、
鼻子(7 個點)、雙眼(16 個點)、雙眉(8 個點)以及臉部上的輪廓(13 個點),至 於在表情變化或是非正面人臉的設置,其設置的也是與在正面時設置的位置 是一樣的,如圖 2-8 所示,就數學式表示,其定義為
(
x y x y xv yv)
s= 1, 1, 2, 2,K, , (2-6) 其中(xi,yi)為每個特徵點的位置。
2.3.2 形狀對齊
在將每一張要建模型的人臉的特徵點均設置好後,我們需要將所有標出
(a)表情變化之人臉 (b)非正面之人臉 圖2-8 其他姿態人臉之特徵點位置
的特徵點做形狀對齊,也就是要校正所有的訓練集合(Aligning the training set)。每個形狀的大小、位置與旋轉角度並不一致,為了比較位於不同形狀 上相對應的特徵點,則必須透過縮放、旋轉與位移的動作,使得所有形狀能 盡量對齊。此處的對齊是對每個形狀向量的大小做正規化,並讓所有形狀的 重心相對應,最後調整所有形狀的旋轉角度,而建立出形狀模型。
本論文主要是採用文獻[25]提出的Procrustes Analysis方法來將訓練集合 中所有的形狀做對齊,在本例中我們取25張影像做特徵點的對齊,其步驟如 下:
1. 選擇第一個形狀作為欲校正形狀的估測值,其定義為s0 2. 透過旋轉、縮放與位移,讓所有形狀與s0對齊。
3. 從所有已對齊的形狀中,再重新估算s0
4. 若與前一次對齊之誤差值已無明顯化時,則表示已收斂,否 則回到步驟2.
此處s0的定義是所有形狀中特徵點的平均位置。判斷以上過程是否收歛 的方法是當s0在某一回合中沒有顯著的變化時,便表示結果已收斂。
令x為一組2v維的向量,描述任一形狀的v個特徵點,如式(2-6)所表示, Procrustes distance,其計算方式如下:
( ) ( )
圖2-10 經 Procrustes Analysis 校正過後的形狀座標
2.3.3 模擬臉部形狀的變化情形
在圖2-10中,我們可稱此圖為Point Distribution Model(PDM)[27],PDM 嘗試著去模擬訓練集合中每個特徵點座標的變化情形。而必須注意的是,特 徵點並非各自獨立的移動,他們的位置是相關連的,也就是說每一個形狀僅 有一組屬於自己的轉換參數。
當訓練集合內的所有形狀與s0對齊後,每個形狀皆可被表示成2v維空間 上的一個點,如式(2-6)所表示。因此,對於包含n個形狀的訓練集合,在2v 維空間上便會形成k個點,假設此k個點群聚在空間上的某個範圍內,稱作 Allowable Shape Domain(ASD)[27]。在此範圍裡的每個2v維的點都代表一組 特徵點,且這些特徵點所組成的形狀都會與訓練集合內的形狀相似。
我 們 透 過Principal Component Analysis(PCA) 來 降 低 2v 維 資 料 的 維 度 [25],並近似ASD的形狀(即2v維空間上n個點的分布情形)。利用前面所描述
的方法,我們可求得k個已對齊形狀的mean shape s0(即ASD的中心點)。對 2v維空間上的資料作PCA,則可得到ASD的主軸。每一條軸代表所有資料的 一種變化模式(Mode of variation),當人臉形狀改變時,則所有的特徵點會傾 向於一起移動的方式在跑。
訓練集合中k個臉部形狀的covariance matrix C 定義如下所表示:
( )( )
∑= − −
= k
i
T i
i s x s
k x C
1 0 0
1 (2-9)
求出此矩陣以後,接著就找出covariance matrix的特徵值與對應的特徵向量,其 中特徵向量均為單範正交的形式。這些特徵向量代表了此ASD的主軸,而對應於 最大之特徵值的特徵向量則是代表最長軸。
任何在Allowable Shape Domain中的點(即所有真實或者是可被接受的人臉 形狀)都可利用mean shape加上特徵向量的線性組合來求得。因此,我們可以藉 由s0以及計算出來的特徵向量來近似訓練集合中任何一個人臉形狀s:
∑=
+
= n
i pisi
s s
0 1 (2-10) 其中si =
(
s1 s2 K sn)
T為前n個特徵向量所組成的矩陣,(
n)
i p p p
p = 1 2 K 為由權重值所組成的向量,稱作shape parameters。
圖2-11所示為mean shape s0與其他特徵向量所組成的形狀座標,之後則必須 用這些資訊來產生各種不同的形狀座標。
(a) s0 (b) s1
(c) s2 (d) s3 圖2-11 mean shape s0與其他特徵向量所組成的形狀座標
2.4 紋理模型
一個完整的臉部模型裡除了須考慮人臉形狀以外,還必須涵蓋像素本身 的資訊。因為形狀只包含了特徵點間的位置關係,並沒有提供我們像素上的 資訊,例如灰階值的大小。
本節將說明如何建立臉部的紋理模型(Texture model),我們先對紋理下 定 義 , 為 了 讓 所 有 的 臉 部 形 狀 的 取 樣 數 目 相 等 , 就 利 用 影 像 形 變(Image warping)將所有臉部形狀形變成 mean face shape,再取得像素值,最後利用 PCA 以說明紋理的變化情形,藉此建立一個臉部的紋理模型。
2.4.1 物體的紋理
在形狀模型裡,我們以一組特徵點座標所組成的向量來代表每個形狀,而 在紋理模型中,我們將用一組向量來表示每張臉部影像的紋理:
(
g g gr)
g = 1, 2,K, (2-11) 其中gi表示影像的像素值,而 r 代表臉部表面灰階值取樣的總數。
2.4.2 Piece-wise Affine Warping
由於臉部形狀的大小不一,其所包含的像素個數也不盡相同,為了讓所 有臉部形狀之灰階值取樣的數目相等,則必須先將每個臉部形狀形變成mean face shape,使兩者的特徵點完全吻合後,才能進行取樣的動作。
最簡單的影像形變方式是假設影像在局部區域內是線性的,為了滿足這 個假設,我們利用 Delaunay triangulation [28]將所有點組成的 convex hull 分 割成一組三角形的集合。
Delaunay triangulation 是利用許多三角形所組成的網狀(Mesh)來將一組 不規則的點連結起來,其中,每個三角形都必須滿足Delaunay property,即 任一點皆不會落在任一個三角形的外接圓內,這表示對任一個三角形來說,
其三個頂點都會剛好落在三角形的外接圓上,如圖 2-12 所示。因此也可以將 人臉的形狀座標利用 Delaunay 來組成許多的三角形,如圖 2-13 所示。
透過Affine transformation,像是縮放、位移與偏斜(Skewing),可將影像 I 的點集合對應到影像 I´的點集合。利用此方法我們便可將訓練集合中的每
圖 2-12 滿足 Delaunay property 之三角形的外接圓[28]
圖 2-13 人臉形狀座標經 Delaunay 後的結果 可決定X ′在影像s0中所對應到的三角形內的相對位置:
] ) , ( ) , [(
] ) , ( ) , [(
) , ( )
;
(x p xi yi T xj yj T xi yi T xk yk T xi yi T
W = ′ ′ +α ′ ′ − ′ ′ +β ′ ′ − ′ ′ (2-15)
圖2-14 三角形影像形變法
2.4.3 像素內插
在進行灰階值取樣時,由於利用上述之 Piece-wise affine warping 所求的 新位置並不會剛好是整數,因此我們採用雙線性內插法來解決此問題。
1 。求出此矩陣以後,接著就找出Covariance
matrix的特徵值與對應的特徵向量,其中特徵向量均為單範正交的形式。因此,
2.5 可形變樣板追蹤演算法
藉由前面所描述的方法得出形狀模型與紋理模型後,我們即可藉由調整 模型的參數而形變其他類型的人臉,定義為W ;
( )
x p ,其代表的是 Mean shapes0經過 p 的參數調整而得出的人臉模型,也就是座標轉換,舉例如圖 2-16 所示。
由上述可知,當測試人臉影像進來時,我們該如何調整參數以致於可將建好 的模型追蹤到測試影像的人臉,此為接下來所要討論的主軸。追蹤的方法目前可
由上述可知,當測試人臉影像進來時,我們該如何調整參數以致於可將建好 的模型追蹤到測試影像的人臉,此為接下來所要討論的主軸。追蹤的方法目前可