• 沒有找到結果。

自適性閥值的臉部特徵偵測

在本文的方法中主要分成三個部份:人臉候選區的尋找、候選區中眼睛 以及嘴巴的定位、最後利用眼睛嘴唇的幾何關係去定位出正確的人臉。流程 如圖3.1 所示。

由於人的膚色分佈在彩色空間上具有一致性、區域性的關係,所以有很多 文章在彩色空間上,提出了膚色分佈的數據,有的是用Y、Cb、Cr來定義膚 色的分佈[6,7],是較常應用在硬體導向的彩色模型上使用,如數位照相機。

有的是用H、S、V來定義膚色的分佈[8],其目的是強調此H、S較能抵抗因 外界光線照射的干擾,且較容易讓人類視覺接受的彩色模型。有的是用R、

G、B 來定義膚色的分佈[9,10],目的是要加快運算速度,不需要做彩色空 間的轉換計算。以事先訓練好的人臉膚色的分佈範圍,再從影像中篩選出這 些屬於膚色的像點,再用膨脹原理將這些不連續的膚色像點連接起來。最後 再用長方形或橢圓形人臉近似的方法,來判斷是否為人臉的位置所在。這種 方法容易受不同的光線照射、複雜的背景及環境顏色影響。

到目前為止,膚色偵測在不同的應用中,都會碰到一些不同的問題。同 時對於何種色彩座標較佳,似乎也沒有一致的看法。我們歸納膚色對於影像 形成的條件,有極大的關係。所以只用膚色特徵並不是最好的辦法。雖然其 優點是快速且容易實現人臉偵測的方法,但缺點是容易受外界環境、光線照 射及人臉上的表情等因素影響。

本文是使用 YCbCr 的色彩空間搭配上形態學運算和幾何關係達到人臉 和人臉特徵的偵測,在YCbCr 色彩空間中 Y 是指亮度、Cb 是指藍色的成分、

Cr 是指紅色的成分。

圖3.1 人臉偵測流程圖

3-1 膚色分割

到目前為止,膚色偵測在不同的應用中,都會碰到一些不同的問題。同 時對於何種色彩座標較佳,似乎也沒有一致的看法。我們歸納膚色對於影像 形成的條件,有極大的關係。所以只用膚色特徵並不是最好的辦法。雖然其 優點是快速且容易實現人臉偵測的方法,但缺點是容易受外界環境、光線照 射及人臉上的表情等因素影響。

本文的膚色分割是以色彩為基礎,也就是根據各色彩成分之像素值大小 來進行膚色的判斷,在文獻[6]的方法中發現在不同的亮度中膚色所群聚的範 圍不一樣,也就是說不同的亮度膚色的Cb、Cr 的範圍是不一樣的,所以我 們統計不同亮度的膚色影像,統計出來的圖如圖3.2 所示,其中 Y 值是指亮 度值。3.2(a)中 x 軸是指亮度的範圍由 0~255,0 是黑色、255 是白色中間部 分以此類推,y 軸是指 Cb 的範圍,圖中紅色的部份就是膚色在 Y-Cb 空間所 群聚的範圍,3.2(b)是代表膚色在 Y-Cr 空間的群聚範圍。

(a)

(b)

圖3.2 膚色群聚的範圍在不同的亮度下(a) 膚色在 Y-Cb 空間的群聚範圍;(b) 膚色在Y-Cr 空間的群聚範圍

基於圖 3.2 的色彩空間我們可以定義可能是膚色的範圍如下表 3.1 所 示,因為黑色和白色的Cb、Cr 也在 127~128 之間,所以我們多了一個判別 式可以避免白色和黑色會被當作膚色來偵測,Rn=R/(R+B+G)因為黑色和白 色的R、B、G 值差不多所以 Rn 接近 1/3 時,那個 pixel 可能是黑色或白色 的機率很高,且膚色的 R 值雖然很高但是當一個 pixel 的 R 值大於 R+G+B 的一半時時這個 pixel 的顏色就接近紅色而不是膚色。我們使用之前統計膚 色範圍的人臉計算Rn 的值,發現膚色的 Rn 範圍介於 0.343~0.702 之間大部 份的膚色Rn 值是介於 0.4~0.5 之間的,由之前的條件和膚色 Rn 的範圍我們 定義膚色 Rn 值的範圍為 0.36~0.6,這樣可以保留下膚色的部份又可以濾除 掉黑色白色和太紅的顏色。使用Rn 的範圍再加上我們歸納出的的不同亮度 下的膚色範圍,我們就可以利用3.1 式分割出正確的膚色範圍。

表3.1 不同亮度值下膚色群聚範圍表

會有一個特性,就是當人臉靠近攝影機時膚色的亮度會提高,遠離攝影機時 膚色會顯的比較暗淡,因為拍攝的遠近是我們無法控制的,假如要對影像先 做光線補償之後再去做後續的處理,對於即時的系統在做人臉偵測前就要先 做光線補償的前處理,會造成系統的負擔造成偵測的速度下降,所以我們一 開始就先統計好不同亮度的膚色範圍,這樣輸入的影像就可以依照每一個 pixel 的亮度去選擇他的膚色範圍,不用經過前處理這樣可以提高系統的速 度。如圖 3.3 所示。圖 3.3(b)中因為左半臉有強光照射,所以使用一般的方 法左半臉有許多地方無法偵測到,圖3.3(c)使用文獻[7]的方法,可以發現跟 我們的效果差不多但是處理的時間文獻[7]耗時許多。

使用不同亮度的 Cb、Cr 範圍可以有效的偵測即使影像過亮或過暗都有 不錯的效果,不過對於複雜背景中的 pixels 的色彩資訊剛好坐落在我們的 膚色範圍內,就會被當作膚色即產生雜訊,我們在下一節中使用中值濾波器 和型態學運算的方法去除小塊的雜訊。

(a) (b)

(c) (d)

圖3.3 膚色分割 (a)原始影像;(b)使用一般的方法;(c)使用文獻[7]光線補償 之後的效果;(d)使用不同亮度取不同 Cb、Cr 值的方法

3-2 去除雜訊

在我們得到膚色分割的二值影像,可以看出裡面還有許多雜訊或是一些 破碎的情況產生,這些雜訊的產生是因為在背景中剛好有些 pixels 的顏色 屬於膚色的範圍,通常這些 pixels 的數量不大且都是分散開來的點雜訊所 以我們使用中值濾波器去除雜訊。我們所使用的中值濾波器的遮罩是 3×3 的 大小。

首先把遮罩內所含蓋的像素灰階值由小到大排列,中值是指排序在中間 的那一個值,此值即為濾波器的輸出。此法特別適合用在有很強的胡椒粉式 或脈衝式的雜訊時,因為這些灰階值的雜訊值與其鄰近像素的灰階值有很大 的差異,因此經排序後取中值的結果是強迫將此雜訊點變成與其鄰近的某些 像素的灰階值一樣,達到去除雜訊的效果。由中值濾波器的原理不難看出中 值濾波器是一個非線性的動作。

在決定每一點的值之前,要對區塊內的每個亮度值排序一番,其計算量 稍大於簡單的加權運算。然而以原有值取代,便不會產生影像中不曾出現過 的新值,且雜訊也不會有什麼影響力。如圖3.4所示,一個3×3遮罩中的數字 由小排到到可以得知第五個數字是80,所以就用80去取代原本遮罩中間的 值,這是用於灰階影像時的狀況。在二值影像中,只有黑與白也就是0和255,

中值濾波器的效果就是比較3×3遮罩中白點還是黑點多,假如白點多就用白 點取代原本遮罩中間的值。

(a) (b)

圖3.4 中值濾波器(a)原本的遮罩;(b)取代後的遮罩

在尋找人臉候選區的時候,會有許多破碎的產生,所以我們提出以形態

(a) (b) (c)

圖3.5 膨脹和侵蝕的結果(a)輸入影像;(b)膨脹的結果;(c)侵蝕的結果

中值濾波器是利用一個3×3 的遮罩,將遮罩內所包含的九個亮度值做大

小的排序後,排序在中間的值(中值)作為該濾波器的輸出值,以此替代掉遮 罩內位於中間的亮度值。這樣的方法特別對於處理孤立的點雜訊有效。在經 過遮罩的作用之後,孤立的點或是面積較小的點都會被黑色所取代,視為雜 訊而濾除。形態學運算是透過結構元素的中心點 X 對應到二值圖上,取出 該點以及相對映所參照到的所有色階值執行邏輯AND 運算,若是其中一個 點的值為 0,則該點也設定為 0,否則不變。經過侵蝕後可以把體積稍大的 雜訊點消彌掉。我們把二值圖形做中值濾波器和做閉合運算後,可以得到如 圖3.6 的結果。

在使用中值濾波器和型態學運算之後可以去除掉比較小的點雜訊,不過 對於在背景中出現的原木色桌子或是類似膚色的壁紙,這些屬於比較大塊的 雜訊無法使用中值濾波器和型態學運算來去除所以我們就先用長寬比等條 件去除一些比較大塊的雜訊,詳細內容在下一節提出。

(a) (b)

(c) (d)

圖3.6 經過中值濾波器和型態學運算的結果(a)經過膚色分割的影像;(b) 經過中值濾波器的影像;(c)經過侵蝕運算的結果;(d)經過擴張運算的結果

3-3 取得連通成分和人臉候選區

在我們去除雜訊之後,我們得到圖3.6(d)的影像,但是因為臉部特徵的 顏色也不屬於膚色,所以導致眼睛、嘴巴等特徵也被當作是雜訊,這樣在接 下來的處理會找不到眼睛、嘴巴的所在位置,所以我們使用區域填充的方法 保留臉部的特徵以便於在之後的處理。

以圖3.7為例,A代表一個集合,它含有一個子集合,該子集合是依照邊 界抽取演算法所求得的邊界,從邊界內側任選一點p就可以開始區域填充的 程序,方法如下:

( X B ) A , ,

X

k

=

k1

⊕ ∩

c k=1,2,3,... (3.7) 其中X0=p,B集合如圖3.7(c)。第k次疊代時Xk-1會被B集合向4連通 (4-connected)方向膨脹,不過因為有跟Ac取交集,不至於擴大到整個區域。

如果不再變化則演算法終止,此時令Xconv=Xk,A的區域填充R(A)為:

( ) A X A,

R =

conv

(3.8) 儘管這個例子只有一個子集合,但是演算法仍然可以用於任意有限數目 的子集合,只要對每個子集合分別求出邊界與給定邊界內側的一點,就可以 遞迴式的區域填充完各個子集合。

圖3.7 區域填充(a)含有一個邊界子集合的集合A;(b)A的補集;(c)結構集合 B;(d)邊界內側的起始點p;(e)~(h)分別為各步驟疊代結果;(i)由(a)和(h)的

聯集得到的最後結果。(資料來源:Digital Image Processing)

使用區域填充的方法可以將影像中白色部份中的黑色雜訊疊代成為白 色的臉部區域,這樣代表在人臉中那些眼睛、嘴巴原本被認為是雜訊的部 份,可以經由區域填充的方法保留下以便我們之後的處理。圖3.8 所示的為 經過區域填充結果。

(a) (b) (c)

圖3.8 區域填充的結果(a)經過去除雜訊的影像;(b)使用區域填充的結果;(c) 保留臉部的影像

在尋找影像中臉部狀態前,必須先找到人臉在影像中的位置。經過雜訊 去除的步驟後,我們僅僅是在視覺上達到動態物件的萃取,為了要能得到物

在尋找影像中臉部狀態前,必須先找到人臉在影像中的位置。經過雜訊 去除的步驟後,我們僅僅是在視覺上達到動態物件的萃取,為了要能得到物

相關文件