第二章 文獻探討
2.1 頭部姿勢
要決定頭部姿勢,首先要固定觀察點的位置,而頭部則是處在一個未知的姿 勢。頭部姿勢就是對 x 軸、y 軸與 z 軸做旋轉動作所造成的現象,可以分作上下 轉動(pitch)、左右轉動(yaw)與滾動(roll)。如圖 1 所示:
些方法的特點。
2.1.1 臉部特徵分析(Face Features Analysis)
在國內外的研究中,有許多方法是透過臉部特徵位置來判斷臉部姿勢。
因此,他們採用近紅外線照射人臉,而近紅外線照射的環境下有下列三種好 處:一、減少周遭光源不足或是週遭光源不穩定的影響。二、近紅外線會有突顯 瞳孔特徵的效應。三、近紅外線對於使用者而言幾乎為不可視光。並利用近紅外 線光源所架設位置的不同定義出明亮瞳孔(bright pupil)與暗色瞳孔(dark pupil)的區別,如圖 3 所示。利用明亮瞳孔與暗色瞳孔的差異,更可明顯突顯出 瞳孔位置,我們可以在圖 4 可以看出效果。
圖 3:明亮瞳孔(bright pupil)與暗色瞳孔(dark pupil)
圖 4:瞳孔突顯效果
Ji 和 Yang 並觀察瞳孔位置與形狀,來決定頭部姿勢。其觀察結果有三:一、
兩瞳孔間的位置會因為頭部轉動而移動。二、瞳孔形狀會因為頭部轉動而呈現橢 圓的形狀。三、瞳孔面積會因為頭部轉動而縮小。
然而,這個方法無法在普通的攝影環境中實現。另外,因為頭部姿勢需利用 瞳孔位置及大小來做判斷,若瞳孔因頭部轉向過大而無法被攝影機補捉到時,則
會產生誤判的情況。若是考慮瞳孔大小的變化,則攝影機需要較高的解析度或是 擺設在離使用者較近的距離。
在 Ben Yip 和 Jess S. Jin[12]則是利用雙眼的中心位置與雙眼連線的方向 等資訊,來判斷頭部是否有作 x,y 或 z 軸方向的旋轉。圖 5 為其示意圖:
圖 5:臉部姿勢與雙眼中心位置位移示意圖
這個方法先計算出在頭部正面或是某一已知頭部姿勢下,頭部中心到兩眼位 置中心的向量 U,U=(Ux,Uy)。而未知頭部姿勢下,頭部中心到兩眼位置中心的 向量為 V,V=(Vx,Vy)。其中頭部中樞為 C=(Cx,Cy,Cz),此三維位置經過 Murat 等人研究中定義為(0 ES,-1290 ES, -290 ES),ES 為兩眼間距除以 1024。並假 設 E 為兩眼中心位置。因此,可以計算出旋轉角度,如圖 6 所示:
DSW(Dynamic Space Analysis)分析 Vi 與 Uj 的相似性,其中 i>0,i<n 且 j>0,j<n。
其 70×70 的人臉圖形分析結果如圖 7 所示:
V U
臉部中心 頭部中樞
圖 7:頭部姿勢與臉部垂直特徵的關係
2.1.2 三維臉部模組(3D Face Model)
在電腦圖學的研究中,三維臉部模型已經可以透過三維掃描來建立,而臉部 各種表情與動作都可以透過幾個基本的動作單元(Action Units)合成。而 Hai Tao 等人[7]將動作單元分成下列 12 種,如圖 8 所示:
圖 8:動作單元
在三維臉部模型的架構下,可以清楚看出臉部特徵的移動變化,例如:眉毛、
眼睛與嘴巴的移動。之後,要將三維臉部模型穩定的貼合在二維影像上,再利用 三維模型在空間上的數學關係推知二維影像上的頭部姿勢。
而 Jilin Tu 與 Thomas Huang 等人[5]則提供了一種三維模型貼合在二維影 像 的 方 法 。 首 先 需 針 對 二 維 影 像 作 人 臉 偵 測 的 動 作 , 例 如 : Adaboosting Algorithm。當偵測出人臉位置後,利用動態外型模組(Active Shape Model)辨 認出人臉特徵位置。最後,將三維人臉模型做適度的變形來貼合這些人臉特徵。
其最後的結果如圖 9 所示:
圖 9:三維人臉模型與影像貼合後的結果
2.1.3 樣本空間分析(Database Space Analysis)
頭部姿勢的問題,通常都會利用大量資料來做特徵分析,並萃取出可分別頭 部姿勢的特徵後,建立出一個頭部姿勢的分類器。此方法主要流程如下:
首先是特徵點的選取,在最近的研究中,比較常見的特徵為本徵空間(Eigen Space)與赫氏小波轉換(Harr wavelet transform)。接著,利用主要要素分析法 (Principal Components Analysis)或是其他機器學習演算法,例如:Adaboosting Algorithm,萃取出具有代表性的特徵向量。
因為要取得大量人臉資料,有些研究[8]是利用三維人臉建模與彩現的方式 控制人臉轉向與光源照射的問題。有些研究[9]則是直接利用人臉資料庫來做機 器學習的分析,圖 10 為其中一種人臉轉向資料庫。
圖 10:人臉資料庫範例
第三章 設計與實作
3.2 頭部偵測
的局部最小值(Local minimum)當做頸部位置,即是圖 13 中紅色方塊所標示的位 置。由圖 13 我們可以觀察到,紅色方塊(a)的位置為頸部位置,而黑色方塊(b) 的位置大致上落在肩膀附近。經過人體外圍輪廓分析後,我們可以很容易的擷取
出頭部位置。
(a) (b)
(c) (d) 圖 13:正面人體外圍輪廓
(a)實際環境下的串流影像與臉部偵測的結果,(b)從背景擷取出人體的結果,(c) 右邊人體輪廓曲線與頸部預測與肩部預測,(d) 左邊人體輪廓曲線與頸部預測與
肩部預測
(a) (b) 紅色方塊(a)
黑色方塊(b)
紅色方塊(a)
黑色方塊(b)
(c) (d) 圖 14:側面人體外圍輪廓
(a)實際環境下的串流影像與臉部偵測的結果,(b)從背景擷取出人體的結果,(c) 右邊人體輪廓曲線,(d) 左邊人體輪廓曲線
(a) (b)
(c) (d) 圖 15:斜側人體外圍輪廓
(a)實際環境下的串流影像與臉部偵測的結果,(b)從背景擷取出人體的結果,(c) 右邊人體輪廓曲線,(d) 左邊人體輪廓曲線
(a) (b)
顏色,三、儲存分群樣板。圖 18 為偵測特徵方法的流程圖。首先,系統會做初
經過偵測特徵方法處理臉部資料庫影像[10]其測試結果如下:
圖 19:偵測特徵方法對臉部資料庫影像處理後的結果 經過偵測特徵方法處理即時拍攝影像結果如圖 20:
(a) (b) 圖 20:偵測特徵方法對即時影像處理後的結果
(a)實際環境下串流影像與臉部偵測的結果,(b)針對臉部偵測特徵方法的結果
在即時拍攝的環境下,我們採用一般的室內採光。經由偵測特徵方法突顯臉 部特徵後,我們觀察到偵測特徵方法可以區分出臉部膚色區域、頭髮分佈、眼睛 與鼻孔位置。然而,因為室內光源無法充分照射的關係,嘴巴區域與下巴附近的 顏色會有不穩定的情況。因此,在做頭部姿勢分析與判斷的動作時,我們略去這
個不穩定的因素,只對頭髮、眼睛與鼻子等區域做詳細的分析與判斷。
圖 22:人臉資料庫頭部中心位置測試結果
圖 23:即時影像頭部中心測試結果
(a)實際環境下串流影像與臉部偵測的結果,(b)頭部中心測試結果
因為我們利用頭部區域的中心位置當做參考點,我們便可以利用參考點的位 置並配合臉部模型做小幅度的特徵搜尋。利用參考點的位置,將臉部分做四個區 域,如圖 24 所示,第一區域的搜尋方式為由左到右,由下而上,定位出左眼的 位置。第二區域的搜尋方式為由右到左,由下而上,定位出右眼的位置。第三區 域為由右到左,由上而下,定義出鼻子偏右的區域。第四區域為由左到右,由上 而下,定義出鼻子偏左的區域。之後,由第三區域與第四區域得到的位置推算出 鼻孔中心的位置。
圖 24:臉部特徵搜尋順序
當我們推測出眼睛與鼻子的位置後,我們利用特徵點追蹤方法繼續追蹤眼睛 與鼻孔的位置。鼻孔位置追蹤結果與雙眼位置追蹤結果如圖 25 與圖 26:
圖 25:鼻孔位置追蹤結果
圖 26:眼睛位置追蹤結果
ㄧ:左眼 二:右眼
四 三
:參考點 :搜尋方向
3.5 姿勢辨識
(c) (d) 圖 27:中距離拍攝影像經偵測特徵方法後的結果一
(a)頭部偵測的結果,(b)從背景擷取的人體,(c)針對頭部進行偵測特徵方法的結 果,(d)複雜場景下的串流影像
(a) (b)
(c) (d) 圖 28:中距離拍攝影像經偵測特徵方法後的結果二
(a)頭部偵測的結果,(b)從背景擷取的人體,(c)針對頭部進行偵測特徵方法的結 果,(d)複雜場景下的串流影像
在圖 27 與圖 28 中,因為人與攝影機的距離過遠,偵測特徵方法的效果有時
無法突顯眼睛與鼻孔的部份。只能分辨出頭髮區域與膚色區域。所以,在中距離 姿勢辨識上,我們利用頭部的對稱性來做分析,依據臉部的對稱性作頭部是否向 左或向右轉動的概觀性頭部姿勢推測。
我們從使用的人臉資料庫統計,在大部分的狀況下,人臉正對攝影機時,膚 色區域的分佈是對稱的。當人臉從正對攝影機的姿勢作左右轉動時,膚色區域的 分佈就會變得不對稱。圖 29~圖 31 顯示頭部於不同姿勢下的膚色分結果。
圖 29:中距離拍攝正面影像經偵測特徵方法後的結果
圖 30:中距離拍攝斜側影像經偵測特徵方法後的結果
圖 31:中距離拍攝側面影像經偵測特徵方法後的結果
因此,我們可以利用膚色面積大小與正臉膚色區域的對 y 軸有對稱性,判斷 臉部是否正對攝影機。我們利用算數平均數計算出膚色的中心位置(Sx,Sy)。將
膚色中心位置與之前估測出的頭部的中心位置(Hx,Hy)做相減,最後除以頭部高
係來決定頭部姿勢。然而,在頭部轉向的過程中,尤其在使用者做抬頭的動作到
圖 34:頭部姿勢與向量的關係
正面 Y 軸轉動 X 軸轉動
:鼻孔位置 :向量方向
第四章 實作過程與結果討論
圖 35:人體擷取與頭部偵測於簡單場景
複雜環場結果如圖 36 與圖 37:
圖 36:人體擷取與頭部偵測於複雜場景 1
圖 37:人體擷取與頭部偵測於複雜場景 2
經過簡單場景與複雜場景的測試過後,由圖 35~圖 37 所示,本系統的頭部 偵測演算法可以在無物體遮住人體的環境下,穩定且有效的偵測出頭部。之後,
本系統將可以針對偵測出來的頭部區域進行一連串的頭部分析,如:偵測特徵方
法、臉部特徵分析、鼻孔位置追蹤與頭部姿勢判斷。
4.2.2 物體遮住小部份人體的測試環境下
在此小節,主要是驗證頭部偵測演算法能夠在靜態物體遮住人體的環境下,
偵測出頭部位置。經過本系統的頭部偵測演算法,我們會將會將頭部標明出來或 是將沒有遮住的頭部標明出來。圖 38 與圖 39 為測試的結果。
圖 38:有物體遮蔽的情形下頭部偵測結果 1
圖 39:有物體遮蔽的情形下頭部偵測結果 2
經過這樣的測試環境,本系統的頭部偵測演算法可以不受物體遮住頭部區域 情況的影響。在未來我們將針對這樣的情況,對頭部姿勢進行判斷,或是進行臉 部重建的工作。
4.3 臉部特徵處理效果
首先,我們先對人臉資料庫所提供的影像做處理,主要是要測試本系統所提 的偵測特徵方法是否對於普遍的人臉影像有同樣的效果。
底下是使用 ORL 人臉資料庫(The ORL Database of Faces)測試的結果,如 圖 40:
圖 40:ORL 人臉資料庫的結果 底下是使用 UMIST 人臉資料庫測試的結果如圖 41:
圖 41:UMIST 人臉資料庫的結果
經過人臉資料庫測試之後,顯示出偵測特徵方法可以運用在大部分的人臉影
經過人臉資料庫測試之後,顯示出偵測特徵方法可以運用在大部分的人臉影