第五章 膚色區域偵測與人臉區域選取
5.1 膚色區域偵測
本 研 究 所 參 考 的 膚 色 範 圍 為 Zhang et al.(Zhang et al. , 2010) 所 提 出
50
0
H
,0.2
S
0.68,0.35
V
1。選擇 HSV 色彩空間的原因主要有兩 點:53
1. Dynamic graph cut 演算法中使用的特徵亦為 hue channel,選擇此色彩空間的 膚色範圍對於 dynamic graph cut 演算法來說較符合一致性。
2. 根據本研究觀察,膚色在 hue channel 的集中情形相當良好(圖 5.1),同樣是膚 色區域,雖然因為光影分布在 RGB 色彩空間產生了許多不一樣的顏色變異,
但在 hue channel 表現出來的變異程度則相當低,符合 dynamic graph cut 演算 法所假設的情境。
圖 5.1 Hue channel 影像範例。上排為原始影像,下排為 hue channel 之 intensity 值之影像。
當前景所占面積比例到達一定程度時,系統便將上述固定範圍套用於前景中 以初步偵測膚色範圍。然而,由圖 5.2 可見此時偵測出來的膚色區域不完整且充 斥雜訊。
圖 5.2 以 Zhang et al.所提出之固定範圍偵測膚色之實驗範例。
接下來如同前景擷取的階段,系統必須提供 dynamic graph cut 演算法所需要 的三個輸入――hard constraint 以及膚色和非膚色的機率模型。Hard constraint 的 部分,由於人臉區域大多是直立長方形,因此本系統以 3
2 pixels 的 patch 來決 定膚色的 hard constraint,並且在剩餘的前景中取 3
3 pixels 的 patch 當作非膚色 的 hard constraint。54
至於膚色的機率模型,本研究統計利用固定膚色範圍初步偵測到的膚色像素 在 hue channel 的 intensity 值,建立 histogram 並且做簡單的平滑化動作,而得到 膚色的機率模型,並將其記為P(x|"s kin");非膚色的機率模型,則單純以
) skin"
|"
(x
-1 P
取得。實驗範例如圖 5.3 所示,dynamic graph cut 除了能夠將膚色 區域完整化之外,也能夠藉此消除極小的雜訊區域。由圖 5.3 可觀察得知完整化 的人臉區域,保留了臉上的特徵和形狀,更利於接下來的人臉偵測。圖 5.3 經過 dynamic graph cut 增強之膚色區域。(a)原始輸入影像(b)固定範圍偵 測之膚色區域(c)經由 dynamic graph cut 增強之膚色區域
儘管 dynamic graph cut 演算法能夠將偵測到的膚色區域完整化,然而,初始 時所仰賴的固定膚色範圍畢竟無法適應各種教室以及天候的照明情況。因此,本
(a) (b) (c)
55
研究在此提出一個動態學習膚色範圍的方法,能夠隨著教室中環境的改變,更新 膚色範圍,以提高膚色區域偵測的正確率。
根據本研究觀察,儘管在各種教室的照明情況下膚色的 hue channel 之 intensity 值分布不全然相同,在 0 到 100 度之間卻經常呈現類似 Gaussian distribution 的分布,如圖 5.4 所示。圖 5.4 為三種不同背景及照明狀況的教室,
由圖 5.4 (b)可清楚看見這三間教室中的膚色以肉眼來看有很大的不同。上排的影 像中膚色稍微偏綠褐色,中間則是略紅,下排影像中之膚色則偏向白色。在這三 種不同類型的膚色 hue channel 之 intensity 分布中,左側峰的位置和集中程度皆 不相同,也就是此三者分別近似於不同平均數和變異數的 Gaussian 分布。
圖 5.4 各種教室和照明狀況下膚色之 hue channel 之 intensity 值分布。(a)原影像 (b)膚色區域(c)(b)中膚色區域之 hue channel 之 intensity 值分布圖
因此,本研究以估計圖 5.4(c)中左側 Gaussian 分布的平均數和變異數的方式,
搭配信賴區間的概念來更新膚色範圍,其步驟如下:
(a) (b) (c)
56
1. 統計已完成 dynamic graph cut 之後膚色區域中像素的 hue channel 之 intensity 值,並建立 histogram。
2. 以左側峰中機率前三大的 bins 取平均,作為估計的平均值,記為
s。 3. 由平均值往左出發,統計 47.7%的比例以估計變異數
s。4. 以[
s
2
s,
s
2
s],即 95.4%之信賴區間估計新區間。在實作中,由於 hue channel 之 intensity histogram 的統計並不穩定,如果僅以 ]
2 , 2
[
s
s
s
s 作為新的區間,很容易因為某幾張影像的雜訊使得區間迅速 發散,讓結果失去控制。因此,對於區間的更新必須給予一些限制。本系統的作 法為,將新區間之上下界與舊區間之上下界進行比較,舊區間之上界與下界一次 都只能往新區間的方向移動一個 bin;更甚者,本系統限制區間的總寬度不能超 過 60,若區間寬度已達到最大值,則更新方式改為比較新舊區間中點,舊區間 中點往新區間中點平移一個 bin。圖 5.5 展示了在各種教室照明狀況下動態學習而得的膚色範圍之偵測結果。
圖 5.5 之(a) (b) (c)和(d)之最終膚色範圍分別為[-1, 46]、[-9, 45]、[7, 61]、以及[-3, 51]。由圖中可以看出上述的方法可以改良初始值固定膚色範圍的缺點,進而使 得膚色範圍可依輸入影像之不同而適當的調整,且調整的結果有助於影像中膚色 區域的偵測。本研究實驗了 5 間不同背景組成的教室,在一般照明情況之下,膚 色區間會漸漸隨著學生人數穩定而趨向穩定。而在不同教室中,這些區間的上下 界皆有顯著差異。
57
圖 5.5 在各種教室背景下膚色的 intensity 值區間。
(a)[-1, 46](b)[-9, 45](c)[7, 61](d)[-3, 51]
(a) (b)
(c) (d)
58
上述的結論與 Sigal et al. (Sigal et al.,2004)所提出的實驗結果類似,即膚色 在 HSV 色彩空間的分布不但有聚集現象,且在各種照明情況之下,其分布之形 狀並不會產生太多結構上的變化(如分裂),這個特性有利於膚色分布的追蹤以及 調整。
本研究在膚色區域偵測的階段,使用 Gaussian distribution 來逼近膚色像素 intensity 值之分布,並利用估計出來的平均值和變異數計算膚色範圍。Dynamic graph cut 演算法在這個階段扮演了重要角色,首先是完整化膚色區域、去除雜 訊;而後,經由該演算法增強之後的膚色區域能夠用來微調膚色像素 intensity 值 之分布,以便於後續的膚色範圍更新等動作。經由實驗結果顯示,膚色範圍在實 驗的影片中都會收斂到一個穩定的區間,這證明了在不同教室和照明情況下,膚 色的 hue channel 之 intensity 值之分布改變可以大致以 Gaussian distribution 的平 移和縮放來近似。 detector 為一偵測特徵點的 filter。影像中特徵明顯的點(如眼角、嘴角),在 Harris corner detector 時會得到較大的值。由圖中可以觀察到,人臉區域經由 Harris corner detector 後,呈現高強度 corner 反應的像素位置上分布較廣;反觀手臂與腿部區