• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
65
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

基於物件偵測和動態模型之串接式臉部特徵 點定位方法

Cascaded Facial Landmark Localization Based on Object Detection and Active Models

系 所 別:資訊工程學系碩士班 學號姓名:M09602035 許廷嘉 指導教授:黃雅軒 博士

中 華 民 國 九十九 年 八 月

(2)

I

摘要

動態形狀模型(Active Shape Model, ASM)已經成功的被應用在臉部特徵點定位 上,然而當人們臉部有著誇張的臉部表情變化時,如:驚訝、大笑和挑眉等,其特徵 點定位的結果仍有明顯的誤差率。為了克服這個問題,我們提出串接式多階段的臉部 特徵點定位方法。第一階段,我們使用 Adaboosting 學習演算法來定位臉部特徵點中 較有明顯鑑別度之特徵點,而這些有明顯鑑別度的特徵點都是角點類型的地標點,如 左右內眼角、左右外眼角、左右內眉角、左右外眉角和左右嘴角等共 10 個點。並於 第一階段做此 10 個角點的動態形狀模型之重建與定位,來獲得較符合臉部幾何架構 之臉部特徵點位置。第二階段,我們根據第一階段所定位的臉部角點位置,重新初始 化臉部五官模型位置,再根據地標點變動的分布情形,制定出每個地標點的搜尋範圍,

然後進行第二次的動態形狀模型的重建與定位。經由實驗的結果證明,我們所提出的 臉部特徵點定位方法,的確可以達到較好的臉部特徵點定位效果。

關鍵字: 動態形狀模型、臉部地標點定位、臉部特徵點定位。

(3)

II

Abstract

The active shape model (ASM) has been successfully applied to locate facial landmarks. However, in some exaggerated facial expressions, such as surprise, laugh and provoked eyebrows, it is prone to make mistaken detection. To overcome this difficulty, we propose a two-stage facial landmark detection algorithm. In the first stage, we focus on detecting the individual salient facial landmarks by applying a commonly-used Adaboosting-based algorithm, and then further apply a global ASM to refine the positions of these landmarks iteratively. All the salient facial landmarks are corner-type points, they are left/right eye inner and outer corners, left/right eyebrow inner and outer corners, and left/right mouth corners. From the 10 salient landmarks, a global active shape model of facial landmarks is constructed. In the second stage, the individual detection results of facial landmarks serve as the initial positions of active shape model. According to the distribution of facial landmark, different search ranges will be used. Experimental results demonstrate that the proposed method can achieve very good performance in locating facial landmarks and it consistently and considerably outperforms the traditional ASM method.

Keywords: Active Shape Model, Facial Landmark Localization, Facial Feature

Localization.

(4)

III

致謝

感謝指導教授 黃雅軒教授,在我研究所的學習生涯中,對我耐心的指導與教誨。

不論是從觀念的啟迪、理論架構的建立、疑問的解析,甚至論文的竣稿,均不辭辛勞 的指正與不厭其煩地逐字校正。僅此致上最誠摯的敬意與謝忱。

感謝 鄭芳炫教授於專業知識上的指導與建議,也感謝 賴尙宏教授和 謝君偉教 授對我論文的指教,並提供寶貴的意見讓這篇論文更加完善。僅此至上由衷的謝意。

感謝實驗室的同學莊順旭、王勻駿、黃偉峰、郭竹宴與許世宗,在一同研究時互 相幫助和砥礪,並從旁提供了我寶貴的建議,給予我在研究過程中很多幫助。還有感 謝學弟李允善、陳禹仲、彭國達、周炫廷與廖辛隆,在許多方面的協助,讓我能更快 速的完成研究。

最後感謝我最愛的家人與親戚朋友,感謝他們給我的關心、支持與鼓勵。特別感 謝我的父母,讓我在就學期間不用擔憂生活,能專心致力於研究工作。僅以此文獻給 我摯愛的親人朋友。

(5)

IV

目錄

摘要 ... I Abstract ... II 致謝 ... III 目錄 ... IV 表目錄 ... VI 圖目錄 ... VII

第一章 緒論 ... 1

1.1 研究背景與動機 ... 1

1.2 論文架構 ... 3

第二章 相關研究 ... 4

第三章 動態形狀模型(Active Shape Model)介紹 ... 8

3.1 基本定義 ... 8

3.2 形狀對齊 ... 9

3.3 形狀模型建立 ... 11

3.4 特徵模型建立 ... 12

3.5 ASM 地標點搜尋演算法 ... 15

第四章 臉部特徵點定位方法 ... 16

4.1 臉部正規化 ... 18

4.2 臉部特徵點定位第一階段 ... 19

4.2.1 角點偵測 ... 19

4.2.2 角點搜尋範圍 ... 26

4.2.3 候選點選擇 ... 27

4.2.4 嘴巴二值化 ... 34

(6)

V

4.3 臉部特徵點定位第二階段 ... 36

4.3.1 五官位置初始化 ... 36

4.3.2 候選點搜尋範圍 ... 39

4.4 系統整合 ... 40

第五章 實驗結果 ... 41

5.1. 系統實驗環境 ... 41

5.2. 人臉資料庫 ... 41

5.3. 實驗設計 ... 42

5.4. 分析與討論 ... 50

第六章 結論與未來研究方向 ... 53

參考文獻 ... 54

(7)

VI

表目錄

表 5-1、系統實驗環境 ... 41

表 5-2、資料庫使用狀態,X 表示此資料庫未在本實驗中使用 ... 42

表 5-3、各角點類型地標點偵測定位誤差率 ... 43

表 5-4、不同眉角候選點選擇方式 ... 45

表 5-5、不同嘴角選擇方式 ... 45

表 5-6、帄均誤差比較表 ... 46

表 5-7、不同表情之定位誤差 ... 48

表 5-8、不同光源之誤差率 ... 49

(8)

VII

圖目錄

圖 1-1、完整的人臉影像辨識與區域性的人臉五官辨識示意圖 ... 1

圖 1-2、動作單元示意圖 ... 2

圖 1-3、傳統 ASM 作法,只根據法線方向上尋找最佳位置 ... 3

圖 2-1、虛擬人物 ... 6

圖 2-2、臉部配件 ... 6

圖 2-3、視頻罩 ... 7

圖 3-1、臉部地標點示意圖 ... 8

圖 3-2、樣本未做對齊動作之地標點分布 ... 10

圖 3-3、樣本做完對齊動作之地標點分布 ... 10

圖 3-4、人臉輪廓變化圖。當調整參數 時會有其相對應的形狀變化 ... 12

圖 3-5、灰階測影選取示意圖 ... 13

圖 3-6、地標點對應之法線及切線 ... 14

圖 4-1、系統架構圖 ... 16

圖 4-2、角點與邊緣型態地標點示意圖 ... 17

圖 4-3、(A)角點型態地標點特性;(B)邊緣型態地標點特性 ... 17

圖 4-4、(A)第一階段 ASM 形狀模型地標點;(B)第二階段 ASM 形狀模型地標點 . 18 圖 4-5、人臉影像正規化 ... 19

圖 4-6、海爾特徵示意圖 ... 20

圖 4-7、不同特徵示意圖 ... 21

圖 4-8、積分圖像示意圖 ... 22

圖 4-9、角點訓練之正向樣本 ... 23

圖 4-10、弱分類器之閥值示意圖 ... 23

圖 4-11、ADABOOST 挑選弱分類器和更新權重示意圖 ... 24

(9)

VIII

圖 4-12、ADABOOST 演算法 ... 25

圖 4-13、串聯階層式(CASCADE)架構圖 ... 25

圖 4-14、各角點搜尋範圍示意圖 ... 27

圖 4-15、SOBEL 遮罩 ... 28

圖 4-16、梯度直方圖 ... 29

圖 4-17、眼角候選點選擇示意圖 ... 30

圖 4-18、抿嘴示意圖 ... 31

圖 4-19、嘴巴歪斜示意圖 ... 32

圖 4-20、嘴角更新示意圖 ... 33

圖 4-21、候選點區域示意圖 ... 34

圖 4-22、二值化處理步驟圖 ... 36

圖 4-23、眉毛、眼睛和嘴巴重新初始化 ... 37

圖 4-24、鼻子重新初始化示意圖 ... 38

圖 4-25、鼻子重新初始化 ... 38

圖 4-26、地標點分群示意圖 ... 39

圖 5-1、人臉資料庫(A)BIOID DATABASE;(B)COHN KANADE DATABASE ... 42

圖 5-2、部分角點類型地標點正確定位結果 ... 44

圖 5-3、部分角點類型地標點錯誤定位結果 ... 44

圖 5-4、各地標點錯誤評估圖 ... 46

圖 5-5、地標點誤差分布圖 ... 47

圖 5-6、實驗結果比較圖 ... 47

圖 5-7、使用眼睛偵測之誤差評估圖 ... 48

圖 5-8、模擬不同光源之測詴資料 ... 49

圖 5-9、實際執行結果 ... 50

(10)

1

第一章 緒論

1.1 研究背景與動機

臉部特徵點偵測,近年來在人臉分析研究上,其重要性越來越重要。除了人臉偵 測外,臉部特徵點定位可視為其它人臉相關技術的前處理步驟,如人臉辨識、人臉表 情辨識以及人臉動畫製作等。一般在做人臉臉部辨識時,都必頇要將臉部正規化到相 同的範圍內,以減少不必要的誤差,現階段最常使用的方式就是根據兩眼位置,以眼 睛位置為參考,正規化人臉影像。然而當我們有精確的臉部特徵點定位時,其臉部辨 識又可從完整的人臉影像辨識進化成區域性的人臉五官辨識,如圖 1-1 所示。當我們 有區域性的概念時,每個區域都可以根據其區域重要性給予不同的權重,以增加人臉 辨識的準確率。

圖 1-1、完整的人臉影像辨識與區域性的人臉五官辨識示意圖

在人臉表情辨識上也面臨相同的情況,因此也可使用兩眼位置來做人臉正規化。

在人臉表情辨識上,除了兩眼位置的資訊可用外,眉毛和嘴巴等特徵點位置也可加以 分析利用。如 Ekman 和 Friesen [4]於 1978 年所提出用於人臉表情描述的編碼系統,

在這套系統中,依據人臉肌肉的分佈,以及一些肌肉群的運動狀況,定義出 44 種動 作單元(Action Units),每個動作單元表示臉部上特定區域的移動狀況,如眉毛上揚 和嘴角上揚等。因此我們可以根據臉部特徵點的移動方式來進行人臉表情辨識,圖 1-2 為部分動作單元示意圖。

(11)

2

圖 1-2、動作單元示意圖

動態形狀模型(Active Shape Model, ASM)[5][6][7]為當今最常被使用的臉部特 徵點定位技術之一。它是由兩個統計模型所組合而成,一個是形狀模型,而另一個則 是特徵模型。但傳統的動態形狀模型有三項缺點,第一項是地標點的搜尋範圍不易決 定:由於搜尋範圍的長短會影響定位的準確度,搜尋範圍小容易產生局部最佳解,搜 尋範圍大則會增加誤判的機率;第二項是地標點搜尋方向的限制:傳統的方式,地標 點的選擇僅沿著輪廓的法線方向尋找,因此當正確的地標點不在搜尋的法線方向上就 會造成定位上的偏差,尤其是在眉角、眼角和嘴角等地標點最為明顯,如圖 1-3 所示,

P1 為最佳地標點位置,P2 為沿著帄均形狀模型的輪廓法線方向所找到的地標點,因 此所定位出來的角點位置並不是最理想的。第三項是形狀模型的初始位置限制:由於 不同的人臉甚至不同的臉部表情都使用相同的帄均形狀模型,因此當正確的地標點位 置與初始位置的距離大於地標點的搜尋範圍時,也會使臉部特徵點定位的精確度下降。

因此,本論文將針對上述傳統動態形狀模型的缺點,提出一個新的臉部特徵點定位架 構,以提高臉部特徵點定位的準確性。

(12)

3

圖 1-3、傳統 ASM 作法,只根據法線方向上尋找最佳位置

1.2 論文架構

本論文共分為六章,各章節內容安排如下:

第一章為緒論,說明本論文的研究動機以及論文架構。第二章為相關研究,介紹 國內外臉部特徵點定位的相關研究以及動態形狀模型的相關改善方法。第三章介紹動 態形狀模型的基本架構,主要分成五小節來介紹。在 3.1 節中介紹動態形狀模型的基 本概念;在 3.2 節中將介紹如何做樣本的對齊,以產生可用的形狀變化;在 3.3 節將 介紹如何從訓練樣本中,經由統計的方式獲得可變的形狀模板;在 3.4 節將介紹各地 標點特徵模型的建立;而在 3.5 節將介紹如何使用疊代的方式做最佳地標點的搜尋。

第四章為本論文所提出的兩階段臉部特徵點定位方式,在 4.1 節將介紹如何使用 Adaboost 學習演算法[8][9]做五官角點的定位以及各種角點候選點的選擇,並且使用 ASM 演算法對 10 個角點做一次的形狀重建;在 4.2 節中,我們將說明如何重新初始 化五官形狀位置並定義地標點的搜尋範圍,以此方式進行 ASM 的疊代搜尋演算法。第 五章為實驗結果,介紹系統環境及所使用的訓練資料和測詴資料以及測詴效能。而第 六章為結論與未來研究方向。

(13)

4

第二章 相關研究

近年來,由於影像處理技術的蓬勃發展,臉部特徵點定位的重要性也日增月益。

這是因為大多數的人臉影像相關技術,都需要臉部特徵點的資訊加以輔助,如瞳孔位 置和嘴巴位置等,以加強其技術的穩定性。

現階段臉部特徵點定位可分成兩大類。第一類、局部定位方法(Local Localization Method),它只個別偵測特定的臉部五官,並加以定位,如眼睛、鼻子和嘴巴等。第 二類、整體性定位方法(Global Localization Method),它考慮了整體五官的相對應位 置,以加強地標點定位的準確性。局部偵測方法目前最常使用的方式是樣板比對 [10](Template Match),但這一類的方式容易受到頭髮和眼鏡等雜訊的影響,再加上 沒有特徵點相對關係的資訊,容易有較大的定位誤差。在整體性偵測方法中,目前最 常被使用的是 T.F.Coots 和 C.Taylor 等人於 1995 年所提出的動態形狀模型(Active Shape Model, ASM)[5][6][7]以及 1998 年所提出的動態外觀模型(Active Appearance Model, AAM)[11][12][13]。動態形狀模型使用了統計的方式,建立出一個可變形的臉 部形狀模板,而此模板會反應各地標點的相對位置,以至於所定位出來的人臉特徵點 位置,經由重建後可符合正常的臉部結構。動態外觀模型為動態形狀模型的延伸方法,

它除了建立可變形的臉部形狀模板以外,另外還加入了可變形的人臉紋理模板,以加 強定位的準確性。然而動態外觀模型相對於動態形狀模型多了可變紋理模板,因此在 時間的消耗上會相對的增加。於 1999 年,T.F.Coots 和 C.Taylor 等人針對這兩種動態 模型做了時間與效能的評估[14],得到動態形狀模型的時間消耗較少而動態外觀模型 能較為準確的定位地標點的結論。因此基於時間即時性處理的考量,我們採用 ASM 來做臉部特徵點定位,並針對 ASM 的缺點做進一步的改善。

近年來,以 ASM 為基礎的臉部特徵點定位,紛紛的被提出來。在國外,如

(14)

5

Zhonglong Zheng 等人[15] 提出使用二維地標點特徵取代傳統地標點的一維特徵,並 使用矩形的搜尋範圍取代傳統只沿著輪廓的法線方向尋找最佳地標點;Kwok-Wai Wan [16] 提出使用基因演算法的方式,找到最佳地標點位置。由於臉部輪廓與臉部 五官的變化程度不同,此論文進一步地把可變模板拆成兩種模型,一種為臉部輪廓模 型和另一種為臉部五官模型,以加強地標點偵測的強健性;Chunhua Du 等人[17] 提 出以 SVM 為基礎的 ASM 特徵模型;Feng Jiao 等人[18] 提出以葛伯小波特徵(Gabor Wavelet Feature)為基礎的 ASM 特徵模型,以加強地標點特徵的穩定度;Deng Lin [19]

提出使用 ICA 搭配 PCA 的混和方式,可以建立出較為強健的臉部形狀可變模板;

Shengjun Xin 等人[20] 提出兩階段的 ASM 模型,第一階段使用整體性的臉部地標點 特徵模型做地標點的搜尋,但由於嘴巴的變化性相對於眼睛、鼻子有著較顯著的變化,

因此第二階段針對嘴巴特徵點再做一次嘴巴地標點搜尋,可達到較佳的嘴巴地標點定 位;Dianle Zhou 等人[21] 提出以 SIFT 描述子為基礎之臉部特徵點定位,並且依據 地標點變化程度的不同,把形狀模型分臉部輪廓以及臉部五官兩部分,以加強臉部輪 廓的穩定性。在國內,中央大學曾定章教授[1]提出使用十字形特徵輪廓(Crisscross Profile)來決定更好的地標點位置,並搭配適應性仿射變換函數 (Adaptive Affine Transform)來得到較好的結果;東華大學楊茂村教授[2]提出使用膚色資訊,加強嘴巴 的定位;海洋大學白敦文教授[3]提出根據不同胖瘦之臉型,建立不同的可變模型,

以得到較佳的定位結果。

現今 ASM 模型除了應用在臉部特徵點定位外,也被大量的應用在醫學影像分析、

人形特徵定位和手部輪廓定位等。而臉部特徵點定位目前也被羅技電子(Logitech)大 量的應用在網路攝影機上,目前羅技電子有三項臉部特徵點定位之應用,如虛擬人物、

臉部配件和視頻罩。虛擬人物的功能為使用者可選擇其中一個所提供的虛擬人物,如 沙魚和外星人等。當使用者做不同表情時,如微笑、張嘴和瞇眼等,沙魚也會跟著做 相對應的表情,如圖 2-1 所示;臉部配件的功能為使用者可以挑選不同的臉部配件,

(15)

6

如帽子,面具和鬍子等,因此可從影像畫面上看到所選擇的配件出現在臉部相對應的 位置上,如圖 2-2 所示;視頻罩的功能為擷取使用者的眼睛和嘴巴影像,並把所擷取 的影像置入於預先建好的樣板中,如圖 2-3 所示,月亮上出現了使用者的眼睛及嘴巴。

這三項技術就是應用臉部特徵點定位所達到的效果,讓使用者在與他人在做視訊交談 時,有著不同以往的趣味性。市面上出售的數位相機,現階段大都有提供一個名為微 笑快門的拍照設計,此技術也需仰賴正確的嘴巴定位,才能反映出被拍攝者是否在微 笑。

圖 2-1、虛擬人物

圖 2-2、臉部配件

(16)

7

圖 2-3、視頻罩

(17)

8

第三章 動態形狀模型(Active Shape Model)介紹

在本章節中動態形狀模型將分成五大部份來說明,第一部分,基本定義;第二部 分,形狀對齊;第三部分,形狀模型建立;第四部分,特徵模型建立;第五部分,

ASM的地標點搜尋演算法。

3.1 基本定義

一般在實作ASM時,是從訓練樣本中把預先想要偵測的五官輪廓形狀用一些點 來描述,這些點稱為地標點(Landmarks)。一般來說,我們會把地標點標示於形狀的 周邊輪廓(Boundary)上,如圖3-1所示,我們一供標示了50個地標點,並且給每一個 地標點相對應的編號,而這些地標點所形成的集合,我們稱之為點分佈模型(Point Distribution Model, PDM) 。 我 們 可 以 用 一 個 符 號 來表示n個地標點的位置座標。如果我們有 張 影像,我們可以用 來表示這些地標點, 。

圖 3-1、臉部地標點示意圖

(18)

9

3.2 形狀對齊

在建立形狀模板之前,我們要先把訓練樣本做對齊的動作。這是因為我們想要從 訓練影像中,獲得每張影像的形狀變化,而不是它的位置變化。如果不做對齊的動作,

其影像位置變化會大於形狀變化,導致所建立的形狀模板可靠度下降。圖3-2顯示地 標點沒有經過對齊的樣本分布情況,而圖3-3顯示有經過對齊後的地標點樣本分布,

由此可清楚知道,當樣本沒有預先做對齊的動作,其樣本的分布是很雜亂無章的,因 此無法從中獲取正確的形狀變化。為了達到形狀對齊的目的,一般使用仿射變換 (Affine Transformation)來做形狀的對齊。仿射變換的定義如下:

(3-1)

此方程式是將座標P作旋轉(Rotation)、縮放(Scaling)和帄移(Translation)。假設我們 有兩個形狀 和

要做對齊,也就是要 找 到 一 組 參 數 使 得 與 越 相 似 越 好 , 即 是 最 小 化 。我們可以使用最小帄方法(Least Square algorithm)來求得 這四個參數值。方式如下:

(3-2)

(19)

10

當有 N 個形狀要做對齊時,其演算法如下:

 第一個訓練樣本,根據兩眼位置做轉正的動作,並給予兩眼固定的距離做相對應 的形狀大小調整;

 以第一個訓練樣本為基準,對齊所有形狀;

 重複

 根據仿射變換及最小帄方法,求得所有訓練樣本對齊後的帄均形狀;

 正規化帄均形狀,及根據眼睛位置調整形狀大小;

 以新的帄均形狀為基準,再對齊所有形狀;

 直到

 直到帄均形狀沒有太大的改變,即達到收斂。

圖 3-2、樣本未做對齊動作之地標點分布

圖 3-3、樣本做完對齊動作之地標點分布

(20)

11

3.3 形狀模型建立

為 了 要 獲 得 訓 練 樣 本 形 狀 的 分 布 情 形 , 我 們 使 用 主 成 份 分 析 法 (Principal Component Analysis, PCA)來擷取訓練樣本的形狀變化,最後可以得到一組可變形狀 模板 ,其中 為訓練樣本的帄均形狀模型, 為經PCA計算後,由較大特 徵值(Eigenvalue)之對應的特徵向量(Eigenvector)所形成的矩陣, 則是用來調整形狀 變化的參數,如圖3-4所示,不同的參數 ,可調整不同的形狀變化,其中i為所選取 的特徵向量編號。為了避免所重建出來的形狀變化太大,導致所重建出來的形狀不像 人臉,一般會把 值設定在 之內,以確保重建後的形狀是有效的,其中 為第i 個特徵值。

主成份分析法的運作如下:假設X是一組向量,即單一人臉地標點所形成的集合,

如果我們有N組這樣的向量,我們可以計算其帄均向量(Mean Vector) ,

(3-3)

以及其共變異數矩陣(Covariance Matrix) ,

(3-4)

接著可以根據共變異數矩陣 ,計算其相對應的特徵向量 (Eigenvector)及特徵 值 (Eigenvalue),其中特徵值是由大排到小。由於主要的形狀變化都位於特徵值 較大的部分,因此我們根據特徵值來取其總合的前百分之95的特徵向量,當作重建的 基底,這就是

(21)

12

(3-5)

其中T為特徵值總個數,即為2n,而t為所選取的特徵向量個數。因此我們可以定義矩 陣 。

圖 3-4、人臉輪廓變化圖。當調整參數 時會有其相對應的形狀變化

3.4 特徵模型建立

一般來說,我們會假設地標點位在一個有強烈灰階值變化的位置上,即在邊緣位 置(Edge)。所以我們可以根據訓練樣本,依其地標點的法線方向,從兩端各取m個點,

如圖3-5所示,實心圓為地標點,空心圓為依其法線方向上所取的灰階像素點。因此

(22)

13

從每一個地標點,我們可以獲得2m+1個灰度值,以 表示則為

, , (3-6)

其中,i表示第i張訓練樣本,j表示第j個地標點。接著我們以 來表示 的一階導 數,即

, , (3-7)

可知 的維度為2m。為了減少影像亮度變化的影響,一般會再把特徵向量經過正規 化處理,成為

(3-8)

而此特徵向量 稱之為灰階側影(Grayscale Profile)。之後再根據訓練樣本來計 算每個地標點相對應的灰階側影帄均值,當作此地標點的特徵向量。

圖 3-5、灰階測影選取示意圖

至於如何獲得每個地標點的法線方向,我們可以根據相鄰的兩點來獲得,如圖3-6 所示,其中Tangent為此地標點的切線,因此可以由前後兩點來獲得切線方向的單位

(23)

14

向量 ,即

(3-9)

而由已知的切線單位向量,可透過轉換公式求得法線單位向量 ,即

(3-10)

圖 3-6、地標點對應之法線及切線

最後在尋找最佳特徵點位置時,沿著地標點的法線方向選取候選點,再依據莫氏 距離(Mahalanobis Distance),找到對應最小灰階側影差值的位置,即為最佳地標點位 置。莫氏距離定義如下:

(3-11) 其中y為輸入向量, 為第j個地標點的帄均特徵向量, 為第j個地標點的共變異數矩 陣。

(24)

15

3.5 ASM 地標點搜尋演算法

ASM的地標點搜尋演算是使用疊代(Iterative)的程序,並根據一個能量函數來判 斷是否已達收斂,其搜尋演算法步驟如下:

步驟 1:初始化形狀參數 b 為元素均為 0 的向量(表示帄均形狀);

步驟 2:由 產生重建的形狀樣板;

步驟 3:根據特徵模型,尋找最佳地標點位置 z;

步驟 4:由 求出新的形狀參數 ;

步驟 5:限制 的範圍在 ,其中 為第 i 個特徵值;

步驟 6:當 沒有太大的差距,即達到收斂,完成最佳位置搜尋;否則 ,回到步驟 2。

(25)

16

第四章 臉部特徵點定位方法

此章節我們將以傳統的動態形狀模型為基礎,提出兩階段的臉部特徵點定位方法。

首先我們經由人臉偵測及眼睛定位找到正確的人臉眼睛位置,再依據兩眼位置把歪斜 人臉影像轉為正面人臉影像,接著就可根據所提出的方法進行地標點定位,其系統架 構如圖 4-1 所示。

圖 4-1、系統架構圖

(26)

17

一般來說,臉部地標點大致可以區分成兩種類型,一類是角點型態的地標點,如 眼角、眉角和嘴角;另一類是邊緣型態的地標點,如眉毛輪廓和嘴巴輪廓等。圖 4-2 分別標示這兩類地標點於一張人臉影像上,其中„ ‟為角點型態的地標點,而„ ‟為邊 緣型態的地標點。

圖 4-2、角點與邊緣型態地標點示意圖

角點型態的地標點有著特殊的紋理特性,一般是由兩條邊緣(Edge)交集而成,如 圖 4-3(a)所示,眉毛的角點是眉毛上緣與眉毛下緣的交點,因此會形成此種型態的 地標點只會有一個,所以使用二維的特徵模式較容易清楚的描述角點型態的地標點;

而邊緣型態的地標點一般擁有線段的特性,因此正確的地標點不只一個,如圖 4-3(b) 所示。

(a) (b)

圖 4-3、(a)角點型態地標點特性;(b)邊緣型態地標點特性

由上述可知,角點型態的地標點相對於邊緣型態的地標點,應較容易且穩定的被 正確定位。因此我們提出兩階段的臉部特徵點定位架構,第一階段只針對臉部地標點

(27)

18

中較為穩定的角點型態地標點來定位,如圖 4-4(a)所示,進行 10 個角點型態的地標 點定位;第二階段,則根據第一階段角點型態地標點的定位結果,重新初始化人臉五 官的相對位置,並使用所定義的地標點搜尋範圍尋找最佳的地標點位置,如圖 4-4(b) 所示,進行全部 50 個點的地標點定位。以下我們將對所提出的兩階段特徵點定位方 法做詳細的介紹。

(a) (b)

圖 4-4、(a)第一階段 ASM 形狀模型地標點;(b)第二階段 ASM 形狀模型地標點

4.1 臉部正規化

由於輸入的人臉影像存在著不同的臉部大小及不同的傾斜角度,因此在執行臉部 特徵點定位前,需先將傾斜的人臉影像轉正與進行影像大小正規化處理。在影像傾斜 較正上,我們根據雙眼瞳孔之連線與水帄軸之夾角,即可得知傾斜之人臉轉正所需要 的旋轉角度,並依據雙眼瞳孔間的距離把影像正規化至瞳孔間距離為 70 個像素點,

如圖 4-5、人臉影像正規化示意圖。

(28)

19

圖 4-5、人臉影像正規化

4.2 臉部特徵點定位第一階段

本 小 節 將 介 紹 於 第 一 階 段 中 如 何 尋 找 最 佳 地 標 點 , 這 裡 我 們 提 出 使 用 Adaboosting 演算法來建立每個角點型態地標點的偵測器,以此取代傳統使用灰階測 影尋找地標點的方法。另外,也介紹各地標點的搜尋範圍以及相對候選點的選擇方 式。

4.2.1 角點偵測

在角點的偵測方面,我們採用了海爾特徵,並且以積分圖像(Integral Image)的轉 換來加速特徵的計算,然後再以 Adaboost 演算法來訓練各個角點型態地標點的偵測 器。此偵測器採用了串聯階層式(Cascade)的判斷架構,每一階層只需取用少數的海爾 特徵,就可以判斷被偵測的區域是否為欲偵測的角點區域,若在其中任一階層判斷為 非角點時,此區域即被當做非角點區域而不需要再用其它階層來判斷;只有當所有階 層都接受此區域為角點區域時,此區域才會被當作是一個角點的候選區域。這種串連

(29)

20

階層式的判斷方式使得角點偵測能被快速的執行,達到具有即時處理的速度要求。

4.2.1.1 海爾(Haar)特徵

Adaboost 是一種特徵挑選的方法,在訓練前必頇先決定採用哪些特徵來給予挑選,

而被採用的特徵通常有兩種特性:大量和運算速度快。這是因為 Adaboost 是由許多 特徵所建構而成,因此在訓練時,必頇有足夠數量的特徵來給予 Adaboost 挑選,而 在偵測時,也因影像中的各個區域必頇經過複數個特徵的計算和判斷,所以具有很大 的運算數量,因此每個特徵的計算速度必頇很快,否則就無法達到即時物件偵測的速 度要求。海爾特徵滿足了這兩個特性,它的概念在於計算區域影像值總和的差異,如 圖 4-6 所示,共有七種計算黑色和白色區域影像值總和差異的方式,它們可以區分成 三類特徵:邊緣型特徵(圖 4-6(a)和(b))、線段型特徵(圖 4-6(c)、(d)、(e)和(f))和圍繞 型特徵(圖 4-6(g))。

圖 4-6、海爾特徵示意圖

在本論文中,我們將在樣本中的某一位置所對應某大小矩形區塊之某種海爾特徵 視為一個特徵,而不同位置、大小的矩形區塊和海爾特徵即構成複數個不同特徵。圖 4-7 即顯示了四個不同的海爾特徵,其中(a)和(b)為座落於不同位置但具同樣大小和種 類的海爾特徵,(a)和(c)為相同位置和種類的不同區塊大小的海爾特徵,而(a)和(d)為

(30)

21

具相同位置和大小的不同種類的海爾特徵。

圖 4-7、不同特徵示意圖

4.2.1.2 積分圖像(Integral Image)

在偵測角點時,由於角點可能會出現在候選區域中任何區塊的位置,造成必頇計 算相當龐大數目的海爾特徵。如此一來,如何提升特徵的計算速度,就變成了重要的 議題。為了解決計算量的問題,Viola 和 Jones [22]提出了積分圖像的計算方式如下:

(4-1)

其中,

i ( x , y )

為原始影像中座標

( x , y )

的影像點灰階值,而

ii ( x , y )

為積分圖像中座標

)

,

( x y

的影像點值,代表從座標

( 0 , 0 )

到座標

( x , y )

所對應矩形區域的原始影像之影像 灰階值總和。圖 4-8 為一張積分圖像,而區域D的影像值總和的計算方式為 4-2-3+1,

所以在積分圖像中任何矩形區域的影像灰階值總和,只需用一次四則運算即可求得。

(31)

22

圖 4-8、積分圖像示意圖

4.2.1.3 Adaboost

一般而言,物件偵測器的建立需要先收集大量的目標物件之正向樣本(Positive Samples)和非目標物件之負向樣本(Negative Samples),如圖 4-9 所示,其中黑點為手 動點選的角點位置。再將所有的樣本去計算它們的特徵,然後利用這些特徵去訓練物 件偵測器。偵測時只需要將輸入影像計算其特徵,再利用偵測器去判斷這些特徵是不 是屬於目標物件即可。偵測器常見的訓練方式有:類神經網路、支持向量機、

Adaboost…等。目前主流的方式是 Adaboost,它是由 Boost 改良而來,Boost 的想法 是利用後面的分類器來補足前面分類器辨識錯誤的樣本,其缺點是需要相當大量的樣 本來做訓練,而 Adaboost 利用給予樣本權重更新的方式來改善了這樣的缺點。在訓 練時必頇先提供大量的訓練樣本和弱分類器(Weak Classifier) ht(x)給 Adaboost,所謂 的弱分類器是只選用一個特徵和閥值(Threshold)所構成的分類機制,它依據閥值來判 斷物件的類別(正向或負向),在訓練的時候,其辨識率需要達到當下訓練樣本權重分 佈的 50%以上。在本論文中的特徵即是在樣本的某一位置的某一大小矩形區塊的某種 海爾特徵,第 j 個弱分類器

h

j

(x )

的定義如下:

(4-2)

(32)

23

其中 x 表示某一樣本,

f

j

(x )

為某一位置的某一大小矩形區塊的某種海爾特徵,

p

j為 相對極值,它是根據正向與負向樣本的分佈位置來決定,即當正向樣本的特徵分佈是 在負向樣本特徵分佈的左邊時,

p

j為 1,而當正向樣本的特徵分佈是在負向樣本特徵 分佈的右邊時,

p

j為-1(如圖 4-10 所示),而

j為一閥值。當

p

j

f

j

( x )  p

j

j成立時,

弱分類器

h

j

(x )

值為 1,也就是樣本 x 依據第 j 個海爾特徵被判斷為正向(即角點)樣本;

反之當

h

j

(x )

值為 0 時則判定 x 為負向(即非角點)樣本。

圖 4-9、角點訓練之正向樣本

圖 4-10、弱分類器之閥值示意圖

在確定了樣本和弱分類器以後,首先給予每個樣本權重,Adaboost 會挑選錯誤樣 本之權重總和為最小的弱分類器,然後加大被此弱分類器分類錯誤的樣本權重,被加 大權重的錯誤樣本在挑選下一個弱分類器時,會比較容易挑到能把當前錯誤樣本分對 的弱分類器,如圖 4-11 所示。

(33)

24

圖 4-11、Adaboost 挑選弱分類器和更新權重示意圖

挑選出來的每個弱分類器

h

t(x)都有個對應的權重,其權重是由此弱分類器的錯 誤樣本之權重總和來設定,而多個弱分類器

h

t(x)及它們的對應權重則可構成一個強 分類器(Strong Classifier)

h

f

(x )

,圖 4-12 為 Adaboost 演算法的處理步驟。

(34)

25



 

 

 

otherwise.

, 0

1 2 log

1 1 log if

, 1

hypothesis the

be vector to weights

new 5.Set the

1 4.Set

of error the e 3.Calculat

[0,1].

hypothesis a

back get

; on distributi e

it with th providing

, 2.Call

1.Set

2 1

. 1 for :

ctor weight ve the

iterations of

number specifying

integer

algorithm learning

weak

examples over the

on distributi

examples labeled

of sequence :

1 1

1 1

1 1

1

1 1

(x)

)h (

(x) h

w β w

ε ).

ε /(

β

.|

y )

|h(x p

h :X h

p w

p w

,T , , t

,N , i D(i) w

T

N D

) ,y ,(x ), ,y (x N

T t

T

t t

t t f

| y ) (x

|h t t i t

i t

t t

N

i i i

t i t

t t

t N

i t i t t

i

N N

i i t

Output

WeakLearn for

Do

Initialize

WeakLearn Input

圖 4-12、Adaboost 演算法

4.2.1.4 串聯階層式(Cascade)判斷架構

Viola 和 Jones 提出了一種著名的串聯階層式(Cascade)判斷架構(如圖 4-13 所示),

其中每一階層是由一個強分類器來構成,利用這樣的階層式架構可達到多分類器的結 合。

圖 4-13、串聯階層式(Cascade)架構圖

(35)

26

在訓練階段,每一個強分類器的目的是要除去部分的錯誤樣本,且盡量保留全部 的正確樣本。第 n 個強分類器是由通過前面 n-1 個強分類器的正向和負向之訓練樣本 所訓練而成,此時的正向樣本是經由 n-1 個強分類器的分類結果均為 1 的訓練樣本。

在偵測階段,由於角點可能會出現在影像中任何區塊的位置,勢必有大量的區塊需要 經過物件偵測器去判斷是否為角點,由於物件偵測器為階層式架構,大部份的區塊會 在前面少數幾個強分類器就被去除,不會再需要後面的強分類做判斷。所以雖然整個 物件偵測器是由很多個分類器所構成,但由於階層式架構的特性,所以在速度上,並 不會因需要耗費太多運算時間而減慢。

4.2.2 角點搜尋範圍

由於每個角點的位置變化程度不同,如不同的人臉,某些人的臉屬於長臉,某些 人的臉屬於短臉,因此嘴角位置會有明顯的不同;而不同的臉部表情也會造成眉角及 嘴角有一定程度的位置變化。因此我們根據訓練樣本各角點的位置分佈,給予每個角 點不同的搜尋範圍,如圖 4-14 所示,嘴角的變化程度最大,而眼角的變化程度最小。

角點 j 的搜尋範圍 SRCj定義如下:

角點型態地標點

(4-3)

其中 表示第j 個地標點的帄均位置, 表示第 j 個地標點之位置的標準差,而 i 為學習樣本的編號, 為角點訓練樣本的寬度。

(36)

27

圖 4-14、各角點搜尋範圍示意圖

4.2.3 候選點選擇

由於使用 Adaboost 為基本的角點偵測器,因此在所定義的搜尋範圍內,可能會 找到一個以上的角點候選點。儘管所偵測出來的角點有各自的 Adaboost 偵測分數 ,其中 為角點候選點位置,但因訓練樣本的限制,分數最高的候選點不 一定是最正確的角點候選點,所以不能只依賴 Adaboost 偵測器的偵測分數。因此,

如何從這些角點候選點當中,找到一個最正確的角點,將會是一個重要的課題。由於 不同的角點型態地標點座落於不同的臉部幾何結構位置上,如眉毛、眼睛和嘴巴。所 以候選點的選擇方式,也會根據其不同的外在因素影響(如頭髮和眼鏡等),有著不同 的設計。基於這樣的概念,我們把這 10 個角點型態的地標點,根據其幾何結構位置 上的不同來分成三類,眼角、眉角和嘴角,而每一類都有其獨特的候選點選擇方式,

以下將分成四小節一一介紹。

4.2.3.1 眉角候選點選擇

概念上,正確的眉角地標點應該擁有較強的邊緣能量強度 ,並且其水帄

(37)

28

能量要相對地大於垂直能量。但是在眉角候選點的搜尋範圍中,頭髮將是一個擁有與 眉毛具有相同特性的雜訊,所以只憑藉邊緣能量強度是不夠的,因此梯度直方圖 (Histogram of Oriented Gradients, HOG) [23]將是另一個判斷的依據。因為梯度直方圖 包含了邊緣方向和邊緣強度的資訊,若和其他的區域性特徵來比較,梯度直方圖具有 較豐富的資訊,可用來進行角點的分辨。

邊緣能量的計算方式如下,我們使用 3×3 的垂直方向和水帄方向的 Sobel 遮罩(如 圖 4-15 所示),來計算出影像中在 位置的影像點於水帄方向的影像差異值 和於垂直方向的影像差異值 。影像中在 位置的影像點之邊緣強 度 計算式如下:

(4-4)

(a)水帄方向遮罩 (b)垂直方向遮罩 圖 4-15、Sobel 遮罩

梯度直方圖的計算方式如下,我們需要計算邊緣強度(Magnitude) 及邊緣 方向(Orientation) ,計算影像位置 之水帄方向的影像值差異 與垂 直方向的影像值差異 的方式如下:

(38)

29

(4-5)

其中 為影像位置 的灰度值。邊緣方向(Orientation) 的計算方式如下:

(4-6)

梯度直方圖將角度區分成 N 個區段,接著根據對應角度 判斷出影像點 落 在哪個區段以後,再將影像點所在區段之數值加上所對應的邊緣強度 ,因此可 以得到一個陣列的特徵向量,如圖 4-16 所示。

圖 4-16、梯度直方圖

最後,正確的眼角候選點選擇依據如下

(4-7)

其中, 、 和 為權重參數, 是 Adaboost 偵測器所得到的分數, 是眉角區域能量 的強度,而 為候選地標點梯度直方圖特徵與訓練樣本梯度直方圖特徵的莫氏距離。

所以當某一候選點所反映出的 為最大時,它就會被選取為眉角候選點。

(39)

30

4.2.3.2 眼角候選點選擇

因為鏡框有著非常強烈的邊緣能量強度,所以眼角候選點的選擇,容易受到鏡框 能量強度影響,而導致判斷錯誤。由於眼角在瞳孔位置附近,它們之間有著相當穩定 的距離,因此這項特性可以被使用在眼角候選點的選擇上。我們的人臉偵測系統除了 可以正確的找到人臉外,同時也定位了雙眼瞳孔的位置,再加上本系統是根據瞳孔位 置來初始化形狀模板的位置,換句話說,初始的眼角位置也應位於正確的眼角附近,

如圖 4-17 所示,其中 表示眼角候選點, 表示初始眼角位置。因此我們可以從所 有的眼角候選點當中,選擇距離初始眼角位置最近的候選點,則此候選點極為可能是 最正確的眼角地標點,可以用 表示:

(4-8)

其中 為眼角候選點位置, 為初始眼角位置。

圖 4-17、眼角候選點選擇示意圖

4.2.3.3 嘴角候選點選擇

由於嘴角候選點通常座落於正確的嘴角位置或者位於有明顯皺紋的臉部位置上,

(40)

31

因此使用邊緣能量強度來決定候選點的選擇是不穩定的。不過這兩類的候選點所形成 的灰度值變化卻有明顯的不同。一般來說,在相同的區域大小中,正確的嘴角候選點 所形成之灰度值變異數 應大於皺紋所形成之灰度值變異數。基於以上概念,嘴 角候選點的選擇方式可以用 來表示

(4-9)

其中, 和 為權重參數, 為某一區塊的帄均灰度值, 為以座標點 為 中心,取一個區塊大小所形成之灰度值變異數。因此,當所計算得到的 越大時,

則越有可能是我們想求得的正確嘴角位置。

然而,當人們用力張嘴或抿嘴時,最大的 有可能會對應到錯誤的候選點。

事實上,當用力張嘴時,由於嘴巴的外貌已經大幅改變,因此基於 Adaboost 偵測器 所找到的嘴角候選點可能不包含正確的嘴角位置;同樣的,當人們抿嘴時,皺紋部分 的灰階值變異數有可能遠大於嘴角的灰階值變異數,如圖 4-18 所示,其左嘴角因為 抿嘴而造成錯誤的定位,所以會造成嘴角候選點的選擇錯誤,因此我們將針對此問題 在下一節作更進一步的探討。

圖 4-18、抿嘴示意圖 錯誤的定位

(41)

32

4.2.3.4 更進一步的嘴角候選點選擇

一般來說,大多數的人臉五官都呈對稱關係,當然嘴角也不例外,因此我們可以 根據這個概念來辨別嘴角的穩定性。因為兩眼瞳孔位置較嘴角位置穩定且容易偵測,

因此當兩瞳孔與兩嘴角所形成之夾角大於某一門檻值 ,則表示所找到的嘴角地標點 的其中之一可能是錯誤的,因為所形成之嘴巴外貌會過於歪斜而形成異常的臉部結構,

如圖 4-19 所示。因此,這將是一個可用來判斷嘴角定位是否可靠的依據。當發生此 類情況時,可以嘗詴以其中正確的嘴角角點位置來校正錯誤的嘴角角點位置。

圖 4-19、嘴巴歪斜示意圖

在我們的實驗結果顯示,當形成一個異常的臉部結構時,有可能是一個嘴角候選 點(嘴角 A)被正確的選擇,而另一個(嘴角 B)則是不正確的選擇。因此我們嘗詴使用 正確的嘴角位置(嘴角 A)來重新預測另一嘴角位置(嘴角 B)。在此,我們需先決定哪 一個角點是被正確選擇,而哪一個是錯誤的選擇。為了解決這個問題,我們簡單的使 用角點 Adaboost 偵測器所得到的分數 來做判斷。當角點有較大的偵測分數,我們則 認定此 角點 為 正確 的 嘴角 , 而所選 擇的 正 確嘴角 我們把 它稱 之 為 基準 點”Base Point”。

(42)

33

接下來,我們以兩瞳孔的中心位置為中心點,並以此中心點制定出一條垂直軸,

再以此軸為基準,找出相對基準點的映射點,我們稱之為”Mapping Point”,之後就可 以從 Mapping Point 找出可能的嘴角修正位置。我們以 Mapping Point 為基準,帄行於 雙眼方向,取兩瞳孔距離的三分之一範圍來搜尋新的嘴角候選點,如圖 4-20 所示。

黃色圓點為正確角點,即基準點;黃色矩形為錯誤角點,白色三角形為 Mapping Point,

黑色虛線為搜尋範圍。

圖 4-20、嘴角更新示意圖

在所定義的搜尋範圍中,新的嘴角候選點的選擇依據如下:每一個候選點可以定 義兩個子區塊,一個是位於候選點左邊所形成的區塊;另一個是位於候選點右邊所形 成的區塊,如圖 4-21 所示。對真實的嘴角候選點而言,其中一個子區塊包含較多的 嘴唇資訊,我們稱之為嘴唇屬性子區塊“Lip-Attributed Sub-Block”(LASB);另一個子 區塊包含較多的皮膚資訊,我們稱之為膚色屬性子區塊“Skin-Attributed Sub-Block”

(SASB)。基本上,大部份的嘴角候選點都滿足以下兩個條件,第一、LASB 所對應的 帄均灰度值應小於 SASB;第二、LASB 所對應的灰度值變異數應大於 SASB。因此,

嘴角的選擇可以簡單定義如下:

(43)

34

< (4-10)

其中 和 分別表示子區塊的灰度值變異數以及灰度值帄均值。

然而,對於每一個嘴角候選點,我們不需要明確決定哪一個子區塊是 LASB,而 哪一個子區塊是 SASB。因為單純低根據目前候選點的物理結構即可以決定。如果候 選點對應的是左嘴角,左邊子區塊就是 SASB,右邊子區塊就是 LASB;同樣的,如 果候選點對應的是右嘴角,左邊子區塊就是 LASB,右邊子區塊就是 SASB。

圖 4-21、候選點區域示意圖

如果有超過一個以上的候選點符合上述條件,我們可以根據 SASB 及 LASB 兩區 塊整體的灰度值變異數來判斷,擁有較大整體變異數的候選點即為最終嘴角選擇的位 置。

4.2.4 嘴巴二值化

(44)

35

在實驗中我們發現張嘴時,嘴角定位的準確性較低,這是因為訓練樣本中,張嘴 影像較少,因此使用 adaboost 偵測器去偵測這一類型的角點,其候選點可能不包含 正確嘴角點。因此,我們在此做了一個簡單的設計,因為當張嘴時,嘴巴的影像會有 較深成的反應,所以當嘴巴的二值化影像,其嘴巴物件高大於 30 個像素點,則使用 二值化的方式來定位角點,否則就使用 adaboost 偵測器搭配角點候選點的選擇方式。

其做法如下:

步驟 1:初始 10 個角點型態地標點的角點位置;

步驟 2:根據初始嘴角位置擷取出可能為嘴巴的區域;

步驟 3:對所擷取出來的區塊做直方圖均衡化(Histogram equalization);

步驟 4:使用 Otsu 演算法進行二值化,由於我們想要找到較為深沉的部分,因此使 用 Otsu 演算法找出的門檻值 ,我們將減去一個定值 ,使其只保留較為深 沉的部分,因此二值化門檻值為 ;

步驟 5:使用連同元件方式(connected component)找出可能的物件,在此當物件與影 像邊緣相鄰時,則捨棄此物件;

步驟 6:嘴巴物件選擇條件:

物件的黑色點個數大於 個像素點

物件的起始位置,即左上角高度位置頇小於一半的二值化影像高度 物件高度需大於 個像素點

步驟 7:嘴角定位,當找到嘴巴物件時,其物件的最左及最右點及為嘴角點,即圖 4-22 角點輸出之紅點。

詳細的二值化運作處理步驟圖如下圖 4-22:

(45)

36

圖 4-22、二值化處理步驟圖

4.3 臉部特徵點定位第二階段

在第二階段,我們將定位完整的五官地標點位置,以下將分成兩部分來介紹,第 一部分,重新初始化五官位置;第二部分,候選點搜尋範圍定義。

4.3.1 五官位置初始化

在第一階段,我們已經成功的定位 10 個重要的角點地標點位置,因此我們把角 點兩兩配對,則可分成五組;然後,每一組各自根據兩角點位置並利用最小帄方法求 出相對應的旋轉、縮放和帄移參數,最後再經由仿射變換重新調整地標點初始位置,

如圖 4-23 所示。經過重新初始化後的眉毛、眼睛和嘴巴的地標點位置,不難發現已

(46)

37

經相當近似於正確的地標點位置。因此當人們有著不同的臉部結構,如長臉、短臉和 不同的臉部表情,採用此方法可以獲得更佳的五官初始位置。

圖 4-23、眉毛、眼睛和嘴巴重新初始化

但在鼻子部分,由於沒有角點可以重新評估初始化位置,因此我們利用兩內眼角 及兩嘴角位置來做評估。新的鼻子初始位置可以根據以下四個步驟來重新設置:

步驟 1:從臉部帄均形狀模板中計算左右內眼角及左右嘴角的帄均位置 ,並以 此位置 為參考點;

內眼角座標 右眼角座標 左嘴角座標 右嘴角座標 (4-11) 步驟 2:根據第一階段的角點定位結果,計算輸入人臉影像之左右內眼角及左右嘴角

新的帄均位置 ,並以此位置 為新的參考點;

步驟 3:計算兩參考點的位移 ,即

(4-12) 步驟 4:以 為移動量,將帄均形狀模板之鼻子地標點 移動至新的鼻子地標點 ,即

(47)

38

; (4-13)

圖 4-24 為鼻子重新初始化示意圖,其中黑色三角形為帄均模板之鼻子形狀示意 圖,紅色三角形則為經過眼角及嘴角評估後的鼻子形狀示意圖,藍色實心點為原始參 考點,藍色空心點為新的參考點。圖 4-25 為鼻子重新初始化之實際範例,可以發現 鼻子部分經重新初始化後,其地標點位置已較為正確。

圖 4-24、鼻子重新初始化示意圖

圖 4-25、鼻子重新初始化

(48)

39

4.3.2 候選點搜尋範圍

由於不同的臉部邊緣型態地標點有著不同程度的分佈範圍,因此我們根據地標點 的標準差來決定地標點的搜尋範圍。但在同一五官內的地標點,我們不希望因搜尋範 圍的不同,造成形狀過度變形,所以希望能有相同的搜尋範圍。基於上述概念,我們 把地標點分成 6 群,如圖 4-26 所示,第一群是與眉毛相關的邊緣地標點;第二群是 與眼睛相關的邊緣地標點;第三群是與鼻子兩側相關的邊緣地標點;第四群是與鼻子 底部相關的邊緣地標點;第五群是與上嘴唇相關的邊緣地標點;而第六群是與下嘴唇 相關的邊緣地標點。不同群集的地標點之搜尋範圍 則定義如下:

(4-14)

其中k 表示第幾群,j 表示第幾個地標點, 表示第j 個地標點的帄均位置, 表 示第j 個地標點之位置的標準差,而 i 為第幾個學習樣本。

圖 4-26、地標點分群示意圖

(49)

40

4.4 系統整合

由於 ASM 使用疊代搜尋演算法尋找最佳的地標點位置,然而本論文在第一階段 方法中使用 adaboost 偵測器在所定義的區塊內尋找最佳解,取代傳統 ASM 使用灰階側 影特徵尋找最佳地標點的方式,一般來說,正確的角點會存在於此定義區塊內,因此 在第一次的疊代中,正確的角點位置就可以被決定出來,所以在第一階段 10 個地標 點的 ASM 定位中,不需重複做疊代的動作,只需做一次搜尋及模型重建即可。但在 第二階段中,由於在第一階段我們已有精確的角點地標點定位,因此在此階段我們只 搜尋邊緣型態地標點的位置,角點形態地標點位置會保留第一階段的結果而不再變更,

並搭配使用 50 點的 ASM 疊代搜尋演算法,來找到最佳的地標點位置。

(50)

41

第五章 實驗結果

5.1. 系統實驗環境

本實驗的硬體設備及系統開發環境如表 5-1 所示。

系統的實驗硬體設備

CPU Intel Q9400 2.66GHz

RAM 4.0GB

系統開發環境

作業系統 Microsoft Windows 7

開發環境 Visual Studio.NET 2008

使用函式庫 OpenCV library

表 5-1、系統實驗環境

5.2. 人臉資料庫

本實驗一共使用兩套人臉資料庫,一套是 BIOID 人臉資料庫,包含 23 人,共有 1508 張正面人臉影像;另一套是 Cohn Kanade 人臉表情資料庫,包含 97 人,共有 9005 張正面人臉表情影像。圖 5-1 顯示一些人臉影像範例,詳細的影像資料使用狀況如表 5-2 所示,其中 BIOID 人臉資料庫的鏡射影像(Mirrored Image)也被使用,而 Cohn Kanade 資料庫的訓練集中,有 6588 張做角點訓練,並取其影像序列中有明顯變化之 影像共 760 張做形狀模型和邊緣地標點的訓練。

(51)

42

(a) (b)

圖 5-1、人臉資料庫(a)BIOID database;(b)Cohn Kanade database

形狀模型&邊緣地

標點訓練

角點地標點

訓練

測詴 總張數

BIOID 1508*2 X 3016

Cohn Kanade 760/6588 6588/6588 2417 9005

總張數 3776 9604 2417 12620

表 5-2、資料庫使用狀態,X 表示此資料庫未在本實驗中使用

5.3. 實驗設計

本實驗設計分成兩部分,第一部分為 10 點的角點類型地標點定位;第二部分為 50 點的地標點定位,其中包含角點類型與邊緣點類型的地標點。而每個地標點誤差 定義如下:

(5-1)

其中 ptij表示程式所偵測到第 i 張影像的第 j 個地標點的位置,ans_ptij表示手動定位 的第 i 張影像的第 j 個地標點的位置,而 disti表示第 i 張影像手動點選的兩眼間距離。

項目 資料庫

(52)

43

在第一階段 10 個角點的定位誤差率如表 5-3 所示,其中 index1 表示左外眉角、

index2 表示左內眉角、index3 表示右外眉角、index4 表示右內眉角、index5 表示右 外眼角、index6 表示右內眼角、index7 表示左外眼角、index8 表示左內眉角、index9 表示右嘴角、index10 表示左嘴角。

index 1 2 3 4 5 6 7 8 9 10

(%) 5.698 6.474 6.309 5.829 3.240 3.950 3.129 3.140 3.940 4.039

表 5-3、各角點類型地標點偵測定位誤差率

由表 5-3 可以發現,眉角的部分相對於眼角以及嘴角有較大的誤差率,這是因為 眉毛有比較明顯的深淺問題,因此較難正確的定位。下圖 5-2 為部分角點類型地標點 正確的定位結果,可以發現使用 Adaboost 偵測器的確可以正確且精準的找到角點類 型的地標點位置。圖 5-3 為部分角點錯誤定位的結果,第一欄是明顯眉毛定位錯誤,

第二欄是明顯眼睛定位錯誤,第三欄是明顯嘴巴定位錯誤。

(53)

44

圖 5-2、部分角點類型地標點正確定位結果

圖 5-3、部分角點類型地標點錯誤定位結果

為了證明角點型態地標點選擇方式的有效性,我們將實驗不同的角點選擇方式。

表 5-4 為不同的眉角候選點選擇方式所產生的結果,可以發現當結合三種不同的眉角

(54)

45

候選點選擇方式可以達到較好的定位效果。同樣的,我們也針對不同嘴角候選點的選 擇方式做相同的實驗,如表 5-5 所示,也可發現使用結合的方式可以得到較好的定位 效果。

方法 誤差率(%)

法法一(使用 adaboost 偵測分數) 5.945 方法二(使用能量強度) 6.0165

方法三(使用 HOG) 6.062 方法一&方法二 5.9275 方法一&方法三 5.9485 方法二&方法三 5.9425 方法一&方法二&方法三 5.926

表 5-4、不同眉角候選點選擇方式

方法 有無做二值化方法 誤差率(%)

方法一(使用 adaboost 偵測分數)

3.834

方法二(灰度值變異) 5.627

方法一&方法二 3.759

方法一(使用 adaboost 偵測分數)

3.605

方法二(灰度值變異) 5.625

方法一&方法二 3.594

表 5-5、不同嘴角選擇方式

為了驗證所提出改善方法的有效性,我們將所提出的方法分成三階段來測詴。

M1 表示使用第一階段的角點地標點定位,並使用角點位置重新初始化五官位置,但

(55)

46

不包含鼻子初始化的方式;M2 表示使用第一階段的角點地標點定位,並使用角點位 置重新初始化五官位置,且包含使用鼻子初始化的方式;而 M3 為本系統的完整方法。

第一個實驗使用手動點選的眼睛位置做為形狀樣版的初始位置,並與傳統的 ASM 演 算法做比較,如圖 5-4 所示,其中橫軸為地標點編號,縱軸為誤差率,其帄均誤差如 表 5-6 所示。圖 5-5 為地標點誤差分布圖,其中橫軸為誤差率,縱軸為出現頻率百分 比,而我們也和 AAM 做比較。部分實驗結果如圖 5-6 所示,上列為傳統 ASM 的處 理結果,下列為本研究提出的串皆式 ASM(M3)的處理結果。

圖 5-4、各地標點錯誤評估圖

方法 帄均誤差率(%)

傳統 ASM 7.93

M1 6.233

M2 5.88

M3 4.972

表 5-6、帄均誤差比較表

0 2 4 6 8 10 12 14 16

1 5 10 15 20 25 30 35 40 45 50

traditional ASM M1 M2 M3

眼睛

眉毛 鼻子 嘴巴

(%)

(56)

47

圖 5-5、地標點誤差分布圖

圖 5-6、實驗結果比較圖

本論文也實做了一套自動尋找眼睛的演算法,輸入影像先使用 AdaBoost 進行人 臉偵測來找出臉部區域位置,再以輻射型對稱性轉換(Radial Symmetry Transform) [24]

產生眼睛瞳孔候選點,最後從候選點當中,使用 SVM (Support Vector Machine)來過 濾出可能的眼睛位置。圖 5-7 為使用自動尋找眼睛演算法之臉部特徵點定位誤差比較 圖。

0 2 4 6 8 10 12 14 16 18

0 1 5 10 15 20 25 30 35 39

ASM AAM M3

Zhonglong Zheng et al.[15]

(%)

(%)

(57)

48

圖 5-7、使用眼睛偵測之誤差評估圖

為了檢測所提出的方法在不同表情上的差異,我們也根據不同的表情來做實驗,

如表 5-7 所示。

anger disgust fear happiness sadness surprise other 10 點(%) 4.57992 4.61901 4.54648 4.54584 4.62461 5.08955 4.28077 50 點(%) 4.83726 4.55582 4.50977 4.80946 4.97821 6.88294 4.42251

表 5-7、不同表情之定位誤差

為了檢測所提出的方法對於不同光源的影響,我們使用影像處理軟體模擬不同光 源的測詴資料,如圖 5-8 所示,我們增加了左邊光源及右上方光源,表 5-8 為不同光 源之實驗結果。圖 5-9 為實際執行結果。

0 5 10 15 20

1 5 10 15 20 25 30 35 40 45 50

traditional ASM M3

眉毛 眼睛 鼻子 嘴巴

(%)

(58)

49

原始測詴影像 加入左光源 加入右上方光源

圖 5-8、模擬不同光源之測詴資料

光源 帄均誤差率(%)

正常光源 4.972

左打光 4.949

右上打光 4.995

表 5-8、不同光源之誤差率

(59)

50

圖 5-9、實際執行結果

5.4. 分析與討論

從圖 5-4 上觀察,不難發現我們所提出的方法的確優於傳統的 ASM,這主要是 歸功於使用角點型態地標點來重新初始化形狀模型位置的方式,可以大幅減少地標點 的定位誤差。但在 M1 的方法中,鼻子部分的誤差明顯的變大,這是因為我們雖然重 新調整了眼睛、眉毛和嘴巴的樣板位置,但鼻子的樣版卻沒跟著改變,因此造成臉部 結構產生變形,所以與鼻子相關的地標點會得到較大的誤差值。然而在 M2 部分,鼻 子的樣板位置也重新初始化,因此與鼻子相關地標點部分的誤差會隨之減少;而在 M3 的部分,我們針對不同的地標點使用不同的搜尋範圍,可以減少因搜尋範圍太短

(60)

51

所造成的局部最佳解及減少和因搜尋範圍太長所產生錯誤定位的情況發生。

從圖 5-4 並參考圖 3-1 可以發現角點形態地標點的誤差大幅下降,如編號 1(左外 眉角)、4(左內眉角)、7(右外眉角)、10(右內眉角)、13(右外眼角)、16(右內眼角)、20(左 外眼角)、23(左內眼角)、37(右嘴角)和 41(左嘴角)這 10 個角點地標點。這是因為使用 Adaboost 偵測器在有效區域內能成功的偵測到物件,並且有效的選擇最適當的候選點,

因此可以減少因不同的臉部結構所造成的定位誤差。

從圖 5-5 中,可以發現本論問題出的方法 M3 明顯優於傳統的 ASM 方法,甚至 還優於 AAM 方法。從圖 5-7 中,可以發現我們的方法仍優於傳統的 ASM,而且在 眉毛及嘴巴部分的地標點,並沒有因眼睛初始位置的不同而產生較大的誤差,這主要 是因為經由 adaboost 角點偵測,我們仍可以準確定位到眉角及嘴角位置所致。在眼睛 的部分,由於眼角候選點的選擇是依據候選點與初始眼角地標點間的距離來判斷,因 此當無法精確的定位眼睛位置時,其眼角的誤差率會變大。相對的,鼻子因為重新初 始化需要眼角的資訊,因此其誤差率也會隨著變大。

從表 5-7 中可以發現,驚訝表情不論是在 10 點角點定位或者 50 點的地標點定位 中,其定位效果並不理想,這是因為驚訝表情所呈現的臉部地標點的變化程度最大,

因此當 10 點定位不理想時,其 50 點的地標點定位準確度也會隨之下降。

在表 5-8 中,我們使用影像處理軟體模擬的方式來模擬不同的光源,從實驗結果 可以發現,並沒有明顯的誤差變化,這可能是因為使用帄滑的光源遮罩,因此還無法 明確的反應不同光源的定位結果,因為正常的光源會有陰影產生。但在此實驗中,還 是可以反應在簡單光源下的穩定性。

參考文獻

相關文件

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

Jones, "Rapid Object Detection Using a Boosted Cascade of Simple Features," IEEE Computer Society Conference on Computer Vision and Pattern Recognition,

Harma, “Automatic identification of bird species based on sinusoidal modeling of syllables,” in Proceedings of IEEE International Conference on Acoustics, Speech,

Dragan , “Provably good global buffering using an available buffer block plan”, IEEE International Conference on Computer-Aided Design, pp.. Cong, “Interconnect performance

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications

Gu, “Corner Block List: An Effective and Efficient Topological Representation of Nonslicing Floorplan,” IEEE/ACM International Conference on Computer-Aided Design, pp.8–12,

[3] Ke Xiaolong, “Study on Software and Hardware Control of High-precision Measurement Platform for Optical Aspheric Surface”, 2009 IEEE International Conference on