• 沒有找到結果。

第二章 文獻探討

由於眼睛位於人臉內部,若能事先找出人臉的範圍再進行眼睛偵測,不但較 有效率準確率也較高,完成眼睛開闔偵測前,首先要確定人臉與眼睛的位置,因 此文獻探討會包含人臉偵測、眼睛偵測以及眼睛狀態辨識三部分。本章共分成三 個小節,2.1 節為人臉偵測,2.2 節為眼睛偵測,2.3 節為眼睛開闔辨識。

2.1 人臉偵測

人臉偵測的方法大致可分為三類,分別為基於特徵的方法(Feature-based) 、 樣板比對的方法(Template-based) 以及基於表像的方法(Appearance-based)。

(1) 基於特徵的方法(Feature-based)

在人臉中尋找明顯的特徵來找出人臉的位置,像是可以利用臉的輪廓、

膚色以及五官當作特徵來判斷是否為人臉。以膚色特徵為例,根據色彩模型 可以快速地將非膚色部分濾除,減少影像中需要處理的範圍,並保留膚色部 分進行後續分析。HSV 色彩空間與 YCbCr 色彩空間相較於 RGB 色彩空間 較不易受到光線的影響,因此常被使用來做人臉偵測,Wang 與 Yuan[3]以 及 Garcia 與 Tziritas[4]使用 HSV 色彩空間來擷取人臉,Hsu 等人[5]以及 Lin

[6]則是利用 YCbCr 色彩空間來做人臉偵測,也有研究使用 YUV 色彩空間 來做膚色偵測[7]。此種方法較不易受到姿勢、視角以及外在環境光線變化 的影響,通常都會結合多種以上特徵來做人臉偵測,因為若單獨使用某一特

5

徵,可能會略顯不足,因為每一種特徵都極易受到外在環境的干擾而影響判 斷的正確率。

(2) 樣板比對的方法(Template-based)

利用多張人臉的輪廓以及五官形狀的特徵定義出一個或多個標準樣本,

再與測試影像逐一進行比對,計算兩者之間的相似程度。由於人的頭部邊緣 會有類似橢圓形的邊緣線,因此 Lam 與 Yan[8]對每張影像作邊緣化處理,

並以橢圓形的樣板來做比對。此方法的優點為簡單容易實行,但只適用於與 樣本相對位置差異不大的影像,無法處理當人臉有旋轉或是縮放的情形。

(3) 基於表像的方法(Appearance-based)

透過學習的方式來做人臉偵測,將人臉與非人臉的影像作分群,利用人 臉的外觀變化透過大量的影像訓練來學習外觀變化[9-11]。Viola 與 Jones [12]

提出利用積分影像特徵計算 Haar-like feature,再配合 AdaBoost 演算法與

Cascade 分類器來建立人臉偵測模型,其結果如圖 3 所示。此方法目前廣為 學者所用,其優點為快速且辨識率高,但需耗費大量記憶體空間。

圖 3、Viola 與 Jones 提出的方法之結果[12]

6

2.2 眼睛偵測

眼睛偵測的方法有很多種,以下將類歸並介紹幾種常用的方法:

(1) 基於特徵的方法(Feature-based)

利用眼睛本身的一些特性當作特徵去做偵測,常用的特徵有眼睛的位置、

顏色以及形狀。不論是東方人或是西方人,眼睛的位置皆位於人臉的上半部,

簡郁菱[13]利用座標關係將眼睛部分切割出來,便可減少搜尋眼睛的範圍。

缺點為當人臉有歪斜的狀況時,就不能利用相對位置來找出眼睛。眼睛的顏 色相對於周圍的膚色是偏暗的,有很強烈的對比,因此常見的作法為先將影 像作二值化或灰階,找出眼睛可能位置後,再分別計算水平投影與垂直投影 的像素值加總,由圖 4 可以看出不論是水平方向或是垂直方向,眼睛附近的 像素值加總皆比其他地方低,都位於波谷的地方,簡郁菱[13]以及 Zhou 與 Geng[14]皆是利用此種特性來找到眼睛可能的區域位置。

眼睛的形狀也是一個明顯的特徵,當眼睛睜開時,瞳孔的輪廓呈現圓形 狀,利用圓形的邊緣像素值與邊緣的方向,找出圓形的中心位置[15, 16],如 圖 5 所示。

圖 4、利用水平與垂直投影來判斷眼睛位置[14]

7

圖 5、利用瞳孔的形狀來找出眼睛位置[15]

(2) 樣板比對的方法(Template-based)

利用多張眼睛的影像,得出一個或多個樣板,與要測試的影像逐一進行 比對,計算兩者之間的相似程度。Wu 等人[17]對眼睛做邊緣化偵測,以眼 睛的橢圓形邊緣線當作樣板來做比對。此方法雖然簡單容易實行,但受限於 測試之影像與樣板的相對位置差異不能太大,若要偵測旋轉或是縮放的眼睛,

需重新製作新的樣板,因此較耗費時間且效率低。

(3) 基於表像的方法(Appearance-based)

眼睛在臉部內有固定的明暗變化,利用此種特性透過學習的方式來做眼 睛偵測。使用大量的 Haar-like feature,如圖 6,配合 AdaBoost 演算法與

Cascade 分類器來建立眼睛偵測模型為[18]所提出之方法。優點為快速,但 無法處理當影像有旋轉或是縮放的情形,且事前需提供大量的樣本以供學 習。

圖 6、Haar-like feature[18]

8

2.3 眼睛開闔辨識

眼睛開闔辨識的方法很多,大多會根據眼睛開闔的特徵去做辨識。Tan 與

Zhang[19]利用是否找到眼睛的虹膜來做眼睛狀態偵測,若有找到則為開眼狀態,

反之則為閉眼狀態,主要的方法是利用半圓形虹膜遮罩,對影像中偵測到的邊緣 與灰階資訊來判斷是否有虹膜的存在,方法的缺點為事先須知道虹膜的半徑為何。

Dehnavi 等人[20]利用眼睛瞳孔與周圍明暗的強烈對比特性,將二值化影像進行 垂直投影,利用最大值及最小值等門檻值(threshold)設定來判斷眼睛的開闔狀態。

簡郁菱[13]是利用眼睛的紋理特徵來做眼睛開闔辨識,首先對眼睛影像進行二值 化再做垂直投影並計算其平均值、變異數以及分群個數,經由二元樹的判斷來判 定眼睛的開闔狀態。林國暐與陳良驊[21]對二值化眼睛影像的特徵進行搜尋與切 割,最後將切割出來的部份進行二維主成份分析 (Two-Dimensional Principal Component Analysis, 2DPCA) 的運算 ,求出 切割影像 的影像特 徵 矩陣 (Image Feature Matrix),再與人眼部位影像資料庫內影像特徵矩陣進行比對,依最小距 離法判別該人眼屬於何種狀態。

Xu 等人[22]以及利用區域二元特徵(Local Binary Pattern, LBP)結合 AdaBoost 演算法做分類。[1]則是利用區域二元特徵結合 SVM 的方法來做分類。區域二元 特徵是一種用來描述區域紋理變化的特徵計算方式,於 2002 年由 Ojala 等人提 出[23],其計算方式為假設圖 7(a)為某區塊的 9 個灰階像素值,以區塊中間為門 檻值,周圍八個點若大於或等於門檻值,則將此點設為 1,反之,設為 0,得到

9

圖 7(b)。依照 2 的次方排列相關位置的權重,由左而右,由上而下,會形成如圖

7(c)的權重方塊。將圖 7(b)與圖 7(c)相對位置相乘後再相加即可算出此 3 x 3 的區 域二元特徵值,算法為: ,對整張影像做迭代 統計出影像的區域二元特徵值方圖(LBP histogram),由於開閉眼的紋理不太相同,

因此可藉由此特徵來做辨識。

(a) (b) (c)

圖 7、LBP (a) 3 x 3 區塊範例 (b)經 LBP 運算後結果 (c) 3 x 3 區塊之權重

10

相關文件