• 沒有找到結果。

第一章 緒論

1.2 文獻探討

1.2.2 Graph cut 演算法

在背景建立時,除了考慮單一位置像素不同時間的 intensity 值的垂直關係 外,若能夠將橫向的相鄰像素之關係也加以考慮,就能夠改進單點建模的缺點。

舉例來說,若某個像素的 intensity 值比較接近背景,但是其鄰近像素的 intensity 值卻比較接近前景,此時基於鄰近像素分類的一致性,將這個類似背景的像素視 為前景是一個比較合理的結論。

以此概念為主的前景擷取方法也已經被提出,即 graph cut(Wu and Leahy,

1993)演算法。該演算法以像素之 intensity 值做為特徵值 e 定義 energy function。

基於最小化 energy function 的概念,可以在使用者提供某些 hard constraint (標記 某些像素點為前景或背景)之後(圖 1.4),以 max-flow min-cut 的演算法得到前景 擷取的穩定結果。在圖 1.4(a)(b)中,使用者在影像上以紅色劃記一些背景像素,

以白色劃記某些前景像素之後,先以此建立機率模型,在考慮像素之間的位置關 係,以取得完整的前景。

上述方法已經在單張影像中實現,在連續影像之中必然也有效果。然而,將

11

graph cut 技術擴展到連續影像上的主要議題有二:

一、如何用連續影像提供的自動的資訊取代單張影像所需要的手動的 hard constraint,也就是將系統由互動變為自動;

二、如何加速演算法使其能夠達到即時效果。

Ying et al. (Ying et al.,2007)先將畫面切割成許多 blocks 之後,再經由類似 graph cut 的技術於影片中擷取前景。Graph cut 的優勢在於不需要每個像素位置 皆儲存一個模型,大大降低記憶體的佔有率。另外在該演算法中,顏色相近的鄰 近像素之間有內聚力,會讓前景擷取結果較完整。不過,由於 graph cut 在實作 上也需要用到 mixture of Gaussian 的模型,如此亦不能避免之前提及 GMM 的缺 點。另外,這個技術對於背景與前景像素分布較接近的影像在理論上較無抵抗能 力,而這卻是單點建模相對有優勢的地方,因為單點建模只考慮單一個像素的 intensity 值分布情形,即使整體來看背景與前景色系相近,只要在單一位置能夠 清楚劃分背景與前景即可。

圖 1.4 Graph cut 前景擷取範例(a)(b)hard constraint(c)(d)前景擷取結果 1.2.3 膚色偵測

膚色偵測前須先決定一個色彩空間(color model),並且決定膚色之 intensity

值在此色彩空間之中的分布範圍。色彩空間為一三維實數空間,用來將各種不同

(a) (b)

(c) (d)

12

的彩色向量化(即將不同顏色以不同的實數向量表示)。目前已被提出並且廣泛運 用於各個領域的色彩空間有十幾種,例如 HSI、HSV、YUV、YCrCb 等。

最常用的色彩空間為 RGB 三維色彩空間,其中 R 為紅色(red)、G 為綠色

13 (參考資料:http://andrewharvey4.wordpress.com)

YCrCb 色彩空間用 Y 來表示色彩的強度,以 Cr 和 Cb 表示 R 和 B 的色度。 天膚色差異,其呈現在影像中之像素的 intensity 值在 H-S 和 Cb-Crchannels 中依 然維持相當的集中度。以下列舉一些相關的研究工作。

Chai and Ngan (Chai and Ngan,1999)以數十張人臉影像統計與測試的結果中 觀察到膚色的最佳定義範圍為 77

Cb

127,133

Cr

173。以此膚色範圍偵測 出大概的膚色區域之後,再以形態學之技術來填補缺漏並濾掉雜訊,可以得到不

14 訓練好的各群膚色中心點之 Mahalanobis distances,若存在與某群中心之距離小 於一個門檻值,此像素才會被確認為膚色像素。

Sigal et al. (Sigal et al.,2004)假設膚色的分布函數在不同照明之下的變動可 以用同一函數的平移(translation)、縮放(scale)和旋轉(rotation)來描述,並稱其為 motion of distribution。他們以 HSV 為色彩空間,定義一組代表膚色分布函數變 動的向量:

15

圖 1.6 膚色像素的 HSV 值在各種照明情況下之分布圖。(Sigal et al.,2004) 圖 1.6 展示了該論文的核心想法,在不同照明情況下對膚色像素的 HSV 三 個維度兩兩作圖。觀察圖中可以發現,除了分布的位置、大小以及方向略有變動 之外,其分布形狀基本上是不變的。因此,該論文以二階馬可夫鏈作為模型,學 習膚色分布的變動模式,如此既保有膚色分布的特徵,又能夠動態調整膚色範圍。

Zhang et al.(Zhang et al.,2010)在 HSV 色彩空間中使用一個固定的範圍擷取 可能的膚色像素:

0

H  50

,0.2

S

0.68,0.35

V

1。至於對固定 intensity 值範圍可能偵測失誤的部分,該論文以膚色補償來解決,根據影像中環境的顏色 分布情況,估計光線的影響並作出調整,讓符合此範圍內的像素確實為膚色的機 率提高。

總結來說,在單張影像的情況下,膚色在 HSV 和 YCrCb 兩個色彩空間中很 容易以固定範圍偵測而得到大致正確的結果。不過,如果要能夠適用於各種照明 環境,甚至用於影片,就必須要有動態學習並且修改膚色範圍的機制存在。

1.3 系統架構

本研究之系統流程圖如圖 1.7,對於每張輸入影像,經過背景去除(即前景擷 取)步驟之後,在前景的範圍內偵測膚色區域。膚色區域經初步偵測後,再利用

16

graph cut 演算法將膚色區域完整化;最後,由多個膚色區域之中選擇屬於人臉的 區域,並且重新統計膚色區域 intensity 值的分布情形以更新膚色範圍。

本系統的第一個步驟為背景去除,使用的方法以 graph cut 演算法為主。採 用 graph cut 技術的好處是利用該演算法進行背景去除不會受限於背景在影像中 需佔據大部分時間與面積的假設,符合本研究的精神;另外,graph cut 演算法除 了考慮單一像素的分類之外,也將相鄰像素間的相似程度納入計算,因此能得到 完整的前景擷取結果。不過,由於該演算法所需要的輸入包含了前景與背景的機 率模型和若干需事先被手動標記的像素點,本研究另外提出了一個穩定快速的全 域門檻值計算方法來去除背景並取得初步的前景擷取結果,以自動提供 graph cut 所需要的輸入。

圖 1.7 系統流程圖。

背景去除之後,系統開始在前景區域中進行膚色偵測,選定的 channel 主要 為 HSV 中的 hue channel。雖然膚色像素之 intensity 值範圍容易受到光線變化的 影響,但是同一影像中的鄰近膚色像素,其在 hue channel 中的集中程度卻相當 高。利用此一特性,系統在以固定範圍偵測膚色區域之後,再度利用 graph cut

Input Frames

Background Subtraction

Skin Region Detection

Face Region Selection

Facial Range Updating Face Region Refinement

17

演算法來提高膚色區塊的完整程度,並且重新統計膚色的 intensity 值來更新膚色 在 hue channel 的偵測區間。

本論文將在以下章節介紹各個步驟所使用的方法。第二章介紹背景去除的初 步工作;第三章介紹 graph cut 演算法的理論以及套用至連續影像的概念;第四 章介紹增進 graph cut 速度的演算法――dynamic graph cut 演算法以及實作細節;

第五章介紹膚色區域偵測、人臉區域選取以及膚色範圍更新的程序,第六章則為 實驗結果以及結論。

18

第二章 影像前處理

2.1 差值影像

本研究在前景初步擷取的部分首先參考了 Chiu(Chiu,2010)所提出的方法,

該研究利用輸入影像和背景影像相減所計算出來的影像(簡稱差值影像)建機率 模型,並且將左右兩邊離主峰最近的第一個反曲點定為 global threshold,以此做 為區分前景以及背景的門檻值。

圖 2.1 Difference histogram 和 turning point 示意圖(Chiu,2010)。

由圖 2.1 可以看出 Chiu 演算法的核心思維:差值影像中像素的 intensity 值 大多趨近於零,因此,由該影像所建立的 R、G、B 三個彩色維度的 color difference histogram(以下簡稱 difference histogram)皆分別趨近 zero mean 的 Gaussian 分布。

另一方面,前景像素的 intensity 差值因為大多為非零的值,會在 histogram 的兩 側造成一些波峰。該研究認為第一個屬於前景波峰的起點,就可以做為前景和背 景的分界點。

圖 2.2 為 Chiu 演算法流程圖,由 difference histogram 計算出 global threshold 之後,進行前景擷取。前景擷取之後,再進行一些型態學的後處理,包括 dilation,

hollow filling 和 shadow removal 等,最後再將確定是背景的像素之 intensity 值與 原來的背景影像對應像素的 intensity 值做線性內插(linear interpolation)處理,以

19

更新後背景像素的 intensity 值。

圖 2.2 Chiu 提出的前景擷取流程圖(Chiu,2010)。

圖 2.3 展示了一般未做形態學處理的實驗結果,除了前景中有少許缺孔之 外,大致上是正確的,爾後輔以一些填補、去陰影的動作,在原論文提及的實驗 結果中就已經能得到相當高的正確率。

圖 2.3 展示以差值影像實作前景擷取但尚未做形態學處理的實驗結果。由圖 中可觀察得知除了前景中有少許缺孔之外,前景擷取的結果大致上是正確的,爾 後輔以一些填補、去陰影的動作,就能得到相當高的正確率。

圖 2.4 為一利用 difference histogram 進行前景擷取的例子。由圖中可觀察到,

像素之 intensity 差值的波峰,除了接近零的大部分區塊以外,的確都屬於前景的 區塊;從圖 2.4(b )中 R、G、B channels 分別之 difference histograms 也可以發現,

在零點右側皆有另一個明顯的波峰出現,這是因為影像中前景部分的像素值大部 分都大於背景的像素值。

20

圖 2.3 以差值影像進行前景擷取的結果。(左)為原圖,(右)白色部分為前景

圖 2.4 Difference histogram 之範例。(a)由上至下分別為背景影像、原圖以及差值 影像(b) R、G、B channels 分別之 difference histograms

由上述結果可知以差值影像之 difference histogram 來擷取前景相當自然且合 理,而且不需耗費多少計算資源。輸入一張影像,只需要配合一張背景影像、計 算出 difference histogram 和一個 global threshold 就可以得到不錯的前景擷取結 果,不論是在時間和空間上的成本都非常小。儘管如此,要將此方法套用至本研 究上時卻發現了一些問題:

1. Difference histogram 的平滑度會影響 global threshold 的選取結果:理論上來 (a) (b)

21

說,最佳的門檻值應定義為“difference histogram 左右兩側離中心點最近的極 小值”(該值所在的位置稱為 turning point),但在實作中 histogram 的曲線往往 是粗糙的,極易混淆極小值的定義。因此 Chiu 對於 difference histogram 做 了簡單的平滑化動作:將每一個點自己的 histogram 值與鄰近五個點的 histogram 值平均取代該點的 histogram 值。但這種平滑化的方式是否足以解 決此問題,畢竟缺乏理論支持。

2. 極小值的操作型定義並不完全適用於該方法:極小值在微積分中的定義為

2. 極小值的操作型定義並不完全適用於該方法:極小值在微積分中的定義為