國
立
交
通
大
學
資訊科學與工程研究所
碩
士
論
文
利 用 二 維 與 三 維 特 徵 之 人 臉 辨 識
Face Recognition Using 2D/3D Features
研 究 生:鄭龍凱
指導教授:陳 稔 教授
利 用 二 維 與 三 維 特 徵 之 人 臉 辨 識
Face Recognition Using 2D/3D Features
研 究 生:鄭龍凱 Student:Lung-Kai Cheng
指導教授:陳 稔 Advisor:Zen Chen
國 立 交 通 大 學
資 訊 科 學 與 工 程 研 究 所
碩 士 論 文
A ThesisSubmitted to Institute of Computer Science and Engineering College of Computer Science
National Chiao Tung University in partial Fulfillment of the Requirements
for the Degree of Master
in
Computer Science
July 2006
Hsinchu, Taiwan, Republic of China
利 用 二 維 與 三 維 特 徵 之 人 臉 辨 識
研 究 生:鄭龍凱
指導教授:陳 稔
國 立 交 通 大 學
資 訊 科 學 與 工 程 研 究 所
摘要 本論文的目的在於利用單一數位相機對被拍攝者進行連拍,並以畫面差異 (Frame Difference)及邊緣偵測(Edge Detection)技術判定被拍攝者在影像中的位置,而後利用臉部色彩相似度的評估對臉部區域進行擷取,最後利用臉部區域的 亮度資訊及臉部特徵的對稱性質,擷取影像中的臉部特徵點。當兩張影像的臉部 特徵點對應已知,便可進行臉部特徵點的點位重建,並以兩組重建之後的臉部特 徵點進行臉部特徵比對:利用旋轉、位移及比例縮放的轉換,將這兩組特徵點進 行對齊,並根據臉部特徵點在 3D 空間的距離誤差,判定臉部特徵是否相符?
Face Recognition Using 2D/3D Features
Student:Lung-Kai
Cheng
Advisor:Zen Chen
Institute of Computer Science and Engineering
College of Computer Science
National Chiao Tung University
Abstract
In this thesis a face reconginition based on 2D/3D facial features is addressed. A digital camera is set up to capture a video sequence of a rotating human face. First of all, a conventional frame difference technique is applied to detect the face region in each image. Then, the face region is further partitioned into skin and hair (non-skin) parts based on the color information. Facial features including corners of eyes and mouth, and ear contours are automatically extracted. After the correspondences of facial feature points are determinated, the 3D Euclidean facial feature points can be computed. Through the alignment of the two sets of the facial basis points in 3D space, the similarity between the two faces can be calculated according to the average distance between all the 2D/3D facial feature points.
致謝
首先由衷感謝我的指導教授陳 稔博士這兩年來對我不辭辛勞的指導與教 誨,讓我的邏輯思考能力了有很大的啟發,同時也讓我學習到研究學問必須持有 的態度與執著;當在緊要關頭時,老師也會陪著我一起面對眼前的難題、細心地 分析問題始末,並指引出一條正確的解決之道。在此,向老師致上最深的敬意! 同時也感謝 PAIS 實驗室的所有成員在研究上給我許多幫助,並時常給予最 大的鼓勵與打氣,而和我同屆一起渡過最後難關的同學們,感謝你們的相陪,讓 我的碩士之路並不是孤單一個人的。感謝親愛的父母給予我充足的精神和物質生 活,讓我能心無旁鶩地將學業完成;也感謝我的女朋友其盈,在這段時間陪我一 同分享內心喜悅、傾聽失意的牢騷,並在旁支援我繼續走下去,謝謝妳。 最後,在感謝這段時間陪伴我的所有人,僅以此篇論文獻給你們! 鄭龍凱 2006/7 于 新竹交大 PAIS 實驗室目錄
中文摘要 ……… i 英文摘要 ……… ii 致謝 ……… iii 目錄 ……… iv 表目錄 ……… vi 圖目錄 ……… vii 第 1 章 緒論 ……… 1 1.1 研究動機與目標 ……… 1 1.2 相關研究 ……… 1 1.3 研究方法介紹 ……… 1 1.4 論文組織 ……… 2 第 2 章 臉部偵測 ……… 3 2.1 臉部及頭髮區域色彩的取樣 ……… 3 2.1.1 臉部樣本區塊的擷取 ……… 4 2.1.2 頭髮樣本區塊的擷取 ……… 4 2.2 臉部區域色彩相似度的計算 ……… 5 2.3 根據色彩相似度擷取臉部區域 ……… 6 第 3 章 臉部特徵擷取 ……… 7 3.1 眼睛及嘴唇臉部平面特徵點的擷取 ……… 7 3.1.1 參考影像的臉部特徵點擷取 ……… 7 3.1.2 待測影像的臉部特徵點擷取 ……… 10 3.2 左右耳朵特徵點及輪廓的擷取 ……… 10 第 4 章 臉部特徵比對 ……… 11 4.1 臉部特徵點對應的修正 ……… 11 4.2 Calibrated 情況的臉部特徵比對 ……….. 13 4.2.1 頭部旋轉方位的估測 ……… 13 4.2.2 歐式空間中的相機參數與臉部特徵點位重建 ……… 14 4.2.3 在歐式空間中進行臉部特徵比對 ……… 15 第 5 章 實驗與結果 ……… 17 5.1 臉部偵測結果 ……… 17 5.2 臉部特徵擷取結果 ……… 21 5.3 臉部特徵比對結果 ……… 22 5.3.1 合成資料的臉部特徵比對 ……… 22 5.3.2 實際資料的臉部特徵比對 ……… 28 第6章 結論與未來發展方向 ……… 42 6.1 結論 ……… 42 6.2 未來發展方向 ……… 42表目錄
表 5.1 臉部偵測結果(一) ……… 表 5.2 臉部偵測結果(二) ……… 表 5.3 臉部模型特徵點集合 ………. 表 5.4 第一組測試資料之相機參數與點位重建 ………. 表 5.5 第二組測試資料之相機參數與點位重建 ………. 表 5.6 Calibrated 情況的臉部模型特徵點位對齊 ……… 表 5.7 Uncalibrated 情況的臉部模型特徵點位對齊(投影至影像平面) …….. 表 5.8 第一組測試資料(ChinTe-N10) ……… 表 5.9 第二組測試資料(ChinTe-N11) ……… 表 5.10 第三組測試資料(LKCheng-N10) ……… 表 5.11 第四組測試資料(LKCheng-N11) ……… 表 5.12 第五組測試資料(YJKuo-N10) ……… 表 5.13 第六組測試資料(YJKuo-N11) ……… 表 5.14 在歐式空間中進行六組測試資料的交叉比對 ……… 表 5.15 在影像平面中進行六組測試資料的交叉比對 ………圖目錄
圖 2.1 (a) 原始參考影像F1( )
x,y ……… (b) 原始待測影像F2( )
x,y ……… (c) 參考影像及待測影像的畫面差異D ,ˆ( )
x y 及其中間線x=xD ….. (d) 參考影像的邊緣資訊Eˆ1( )
x,y ……… (e) 待測影像的邊緣資訊Eˆ2( )
x,y ……… (f) D ,ˆ( )
x y 、Eˆ1( )
x,y 和Eˆ2( )
x,y 的疊圖 ………... 圖 3.1 轉正後臉部區域內部破洞H1( )
x,y ………... 圖 3.2 轉正後臉部區域中每條掃瞄線的內部破洞點個數HCount1( )
y …… 圖 5.1 臉部偵測結果組圖 ……… 圖 5.2 臉部特徵擷取結果組圖 ………. 圖 5.3 臉部模型及特徵點示意圖 ………. 圖 5.4 臉部模型以不同運動方式模擬拍攝組圖 ……….第 1 章 緒論
1.1 研究動機與目標
在電腦視覺這門領域當中,人臉辨識仍是屬於相當熱門、且挑戰程度相當高 的技術,然而人臉辨識遭遇到的問題並不單純,其中所牽涉到的相關因素頗多, 儘管這項技術的研究至今約經過三十個年頭,主要成果卻都是近十多年才發展出 來的。人臉辨識技術的應用層面也是非常地廣泛,例如電玩娛樂、身份證明、人 機介面、安全監控、關卡控制、嫌犯追蹤等用途上,加上目前主觀條件及客觀環 境已有所改善,因此人臉辨識的應用預期將有更大的發展。本論文的研究希望能 提昇人臉辨認的學理與技術水準,增進人臉辨認的準確率及可用性。 本論文的目標是發展一套單眼視覺式的人臉辨視系統,主要方法是採用單一 相機對被拍攝者進行連拍的動作,被拍攝者在拍攝期間面朝鏡頭方向而頭部做小 幅度左右擺動、旋轉、或前俯後仰的動作,因此可以根據多張影像獲得被拍攝者 臉部特徵,以及耳朵輪廓線等特徵。本論文的人臉辨認研究不固定臉部拍攝方向 與位置以及其背景,想利用所得的多張影像進行頭部偵測、頭部特徵擷取及三維 資訊的建置,最後進行臉部特徵的比對,判斷兩者臉部特徵是否相符。 由於一般採用 2D 影像資訊的人臉辨識方法會受到頭部方位轉動與背景變化 而產生不同 2D 影像,進而造成辨識上的困難,因此本論文的人臉辨識方法並不 完全只是兩張 2D 影像的比對,此外更加上 3D 特徵的輔助,以提高辨識的準確 度。然而,臉部平面以外的臉部特徵僅占整體臉部特徵的少數,而且這些特徵的 擷取並不容易,例如鼻尖並無相當明顯的特徵可供擷取,耳朵輪廓線也時常因為 髮型而遭到遮蔽,因此本論文所提出的方法有以下限制:被拍攝者的頭部方位不 能有太誇張的轉動、且必須至少出現一邊耳朵輪廓線供臉部 3D 特徵的比對。1.2 相關研究
典型的人臉辨識步驟包括人臉偵測、特徵擷取、人臉辨識三大步驟[Gu et al. 2001; Heisele et al. 2001; Schneiderman and Kanada 2000; Viola and Jones 200; Hjelmas and Low 2001; Yang et al, 2002; Zhao et al. 2003 ]。一般而言,特徵擷取方 法包括 1. feature-template matching,如抽取眼睛、嘴唇等; 2. 幾何結構限制法,抽取成對的眼睛、對稱的嘴唇等; 3. 點、線、曲線的抽取,如眼珠中心點、眼窩線等。 這些特徵擷取有時可伴隨人臉膚色、鬚髮顏色做人臉偵測。至於靜態人臉辨識方 法主要分1. 全臉比對:主要用的是統計方法,例如用 PCA、eigenface [Kirby and Sirovich 1990;Turk and Pentland 1991]、Fisher faces [Belhumeur et al. 1997; Liu and Wechsler 2001; Swets and Weng 1996b; Zhao et al. 1998]、以及用 Baysian
method [Moghaddam and Pentland 1997]及 Support Vector Machine (SVM) [Phillips 1997]; 2. 結構式的比對(structural matching):主要是用局部特徵如眼睛、嘴、眉毛等 的位置及形狀; 3. 混合式:統合全臉的資訊及局部的特徵,如可調整的臉型匹配[Lantis 1995]。 上述這些方法著眼在於 2D 人臉影像的辨識,尚有一類的方法是以 3D 人臉 模型為依據,做側臉邊緣輪廓線比對、人臉 3D 方位測定及 texture matching 等。這類方法必須有精確的特徵點對應,而且光線照射環境不可有重大改變。
1.3 研究方法介紹
本論文要執行的工作包括建立人臉影像檔、臉部偵測、臉部特徵擷取、臉部 特徵比對等工作: (1) 拍攝小幅度擺動的人臉影像。 (2) 對臉部特徵進行擷取。 (3) 建立不同影像臉部特徵點之間的對應關係。 (4) 根據人臉特徵點對應估算在空間中的運動參數。 (7) 解決小幅度旋轉、平移下之特徵比對問題。 (8) 計算參考影像與待辨識影像之人臉相似度。1.4 論文組織
本論文共分為六章,首章為本論文研究方向的概括性介紹,並介紹相關主題 中使用的各種方法;第二章介紹如何利用畫面差異(Frame Difference)及邊緣偵測 (Edge Detection)提供的資訊,同時根據臉部色彩相似度的評估擷取臉部區域;第 三章介紹如何從臉部區域中以亮度值資訊及臉部特徵的對稱性質對臉部特徵點 進行擷取;第四章對兩組臉部特徵進行比對;第五章為本論文實驗相數據及分 析:第六章為本論文的結論探討及後續工作的規劃。第 2 章 臉部偵測
本章將說明如何利用固定相機對被拍攝者進行連拍,從數張影像中取出任意 兩張影像,並根據兩張影像之間些微的差異找出被拍攝者在各張影像上的位置; 由於被拍攝者在各張影像所在的區域會有所重疊,我們將從重疊的區域中搜尋臉 部區域所在,並根據對影像進行邊緣偵測的資訊界定出臉部區域所涵蓋的範圍, 對臉部區域取樣並統計其色彩資訊後,對整張影像進行色彩相似度的計算,最後 以特定相似度門檻值對影像進行二值化,而二值化影像出現區域即為臉部區域。2.1 臉部及頭髮區域色彩的取樣
假設被拍攝者的頭部以小幅度左右擺動、旋轉或前俯後仰的動作面對相機鏡 頭,以固定相機對被拍攝者進行連拍,並取得其中兩張影像F1( )
x,y 和F2( )
x,y ,其中1≤x≤Width,1≤ y≤Height,利用畫面差異(Frame Difference)的方法取得兩 張影像在每個像素點的差異值D ,
( )
x y ,如下( )
( )
( )
( )
( )
( )
( )
3 , , , , , , ,y R1 x y R2 x y G1 x y G2 x y B1 x y B2 x y x D = − + − + − (2.1) 其中Fi( )
x,y =[
Ri( )
x,y Gi( )
x,y Bi( )
x,y]
,i=1,2。由於要根據兩張影像之間的差 異值(Difference Value)決定拍攝者出現區域所在,且區域的輪廓並非特別要求, 因此給定一個固定的門檻值TD對D ,( )
x y 進行二值化得到D ,ˆ( )
x y ,如下( )
( )
( )
⎩ ⎨ ⎧ < ≥ = D D T y x D T y x D y x D , , 0 , , 255 , ˆ (2.2) 接下來以 Row-Scan 方式找出D ,ˆ( )
x y 在每條掃瞄線(Scanline)的左右端點,並以每 條掃瞄線左右端點的中點水平位置之平均值作為中間線x=xD,被拍攝者在兩張 影像所在位置的重疊區域便在中間線附近,因此臉部區域取樣的步驟會在中間線 附近進行。 除了畫面差異可以提供被拍攝者出現區域的資訊外,兩張影像的邊緣資訊亦 可界定臉部區域涵蓋範圍,因此對兩張影像進行邊緣偵測(Sobel Edge Detection)( )
x,y = G( )
x,y +G( )
x,y ,i=1,2 Ei x y( )
x y I( )
x y Gx i , 1 0 1 2 0 2 1 0 1 , ∗ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛ − − − = 、Gy( )
x y Ii( )
x,y 1 2 1 0 0 0 1 2 1 , ∗ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛− − − = (2.3) 其中( )
( )
( )
( )
3 , , , ,y R x y G x y B x y x Ii i i i + + = 。將邊緣強度(Edge Magnitude)在前面 10%的像素點視為 Strong Edge,根據該個數比例對Ei( )
x,y 進行二值化可得到( )
x y Eˆi , ,而Eˆ1( )
x,y 和Eˆ2( )
x,y 將用來界定臉部區域涵蓋的範圍。2.1.1 臉部樣本區塊的擷取
臉部區域的色彩樣本是根據畫面差異及其中間線,和兩張影像的邊緣資訊來 進行取樣,以下面組圖為例:圖 2.1a、b 為原始參考影像F1( )
x,y 及待測影像( )
x y F2 , 、圖 2.1c 為兩張影像經過二值化處理的畫面差異D ,ˆ( )
x y 及其中間線 D x x= 、圖 2.1d、e 為兩張影像經過二值化處理的邊緣資訊Eˆ1( )
x,y 和Eˆ2( )
x,y 、 圖 2.1f 為D ,ˆ( )
x y 、Eˆ1( )
x,y 和Eˆ2( )
x,y 疊合後的示意圖,由該圖可以看出白色區塊 是屬於背景相減、或是被拍攝者在兩張影像上重疊的部分,靠近D ,ˆ( )
x y 中間內 部的白色區塊涵蓋了臉部及頸部重疊且膚色相似的區域,而中間線x=xD通過的 該白色區塊同時也是本身最長線段所在,因此,從中間線通過白色區塊的所有線 段中,挑選最長的該線段作為臉部樣本區塊和中間線相交的位置,最後,從該線 段開始以 Row Scan 方式往兩側進行 Region Growing,直到碰到非白色區塊或寬 度達一定值為止,該區塊則作為臉部區域的樣本區塊。 圖 1.1 (a) 原始參考影像F1( )
x,y (b) 原始待測影像F2( )
x,y (c) 參考影像及待測 影像的畫面差異D ,ˆ( )
x y 及其中間線x=xD (d) 參考影像的邊緣資訊Eˆ1( )
x,y (e) 待測影像的邊緣資訊Eˆ2( )
x,y (f) D ,ˆ( )
x y 、Eˆ1( )
x,y 和Eˆ2( )
x,y 的疊圖2.1.2 頭髮樣本區塊的擷取
從圖 1.1c 的畫面差異D ,ˆ( )
x y 可以發現,畫面差異中的頭部位置會出現左右 兩個被中間線x=xD區隔的黑色區塊,個別屬於參考影像F1( )
x,y 及待測影像( )
x y F2 , 的頭髮區塊,因此個別統計兩個黑色區塊在影像Fi( )
x,y 的亮度平均值, 並選取亮度平均值較小的該塊作為影像Fi( )
x,y 頭髮樣本區塊。 此時已擷取到臉部及頭髮樣本區塊,統計兩個樣本區塊在影像Fi( )
x,y 的亮 度平均值 F i I 和I (根據頭髮亮度值比臉部為低的假設可知道iH H i F i I I > ),並將亮度 門檻值定為TI =αIiF +(
1−α)
IiH,α∈[ ]
0,1 i (目前將α 設為 0.4),最後對影像Fi( )
x,y中所有像素點檢查亮度值是否小於該門檻值,若小於則將該點的色度 H 設為π 。
2.2 臉部區域色彩相似度的計算
為了能盡量避免亮度變化造成的影響,本文採用 HSI 色彩模型中的色度(Hue) 和飽和度(Saturation)進行臉部區域色彩相似度的計算,共嘗試了三種相似度的計 算方式:(1) 將每個像素點(
H ,S)
轉換成(
X ,Y)
並計算和臉部樣本區塊平均值(
X,Y)
之間的 Euclidean Distance;(2) 計算每個像素點(
H ,S)
和臉部樣本區塊平 均值(
H,S)
之間的 Euclidean Distance;(3) 計算每個像素點(
H ,S)
和臉部樣本區 塊平均值(
H,S)
之間的 Weighted Euclidean Distance。首先,由 HSI 色彩模型可以知道
(
H ,S)
可視為在 Circular Color Plane(
X ,Y)
的 Polar Coordinate( )
θ,r 參數,將(
H ,S)
轉換至(
X,Y) (
= ScosH,SsinH)
、統計臉部樣本區塊內的平均值
(
X,Y)
,並計算每個像素點( )
x,y 和(
X,Y)
之間的臉部色彩相 似度( )
(
( )
)
(
( )
)
4 4 4 4 4 3 4 4 4 4 4 2 1 Distance Euclidean 2 2 , , , 1x y X x y X Y x y Y S =− − + − (2.4) 然而,當某個色彩接近不飽和時(S →0),色度H 的變動在(
X ,Y)
座標來看可說 是微乎其微,也就是在這個範圍內的色彩鑑別度較低,因此當影像色彩的飽和度 不足時,整張影像的臉部色彩相似度差異可能會不明顯。 後面兩種方式是計算臉部樣本區塊平均值(
μH,μS)
及變異數(
σ2H,σ2S)
,由於(
H ,S)
的值域並不相同(H∈[
0,2π]
、S∈[ ]
0,1),這可能會使得臉部色彩相似度的 計算較偏重於 H 的影響,因此事先將(
H ,S)
的值域正規化成H∈[ ]
0,1、S∈[ ]
0,1 ; 另外,考慮 H 具有週期性,因此臉部樣本區塊平均值及變異數的計算方式必須 有所考量(
)
⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ =∑
∑
= = S S N i i S N i i S S H S N H N 1 1 1 , 1 ,μ μ ;(
)
{
}
(
)
⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ − − − − =∑
∑
= = S S N i S i S N i H i H i S S H S N H H N 1 2 1 2 2 2 1 , 1 , min 1 ,σ μ μ μ σ (2.5) 其中(
H ,i Si)
為臉部樣本區塊中每個像素點的色彩值,N 為像素點個數。 S 第二種臉部色彩相似度並不考慮 H 和S的權重(Weight)( )
{
( )
( )
}
(
( )
)
4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 2 1 Distance Euclidean 2 2 , , 1 , , min , 2 x y H x y H H x y H S x y S S =− −μ − −μ + −μ (2.6) 最後一種臉部色彩相似度則將 H 和S的權重納入考慮,各個權重值為其變異數的 倒數,也就是數值分佈較均勻者的權重值較大,反之則較小( )
{
( )
( )
}
(
( )
)
4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 2 1 Distance Euclidean Weighted 2 2 2 2 , , 1 , , min , 3 S S H H H H x y S x y y x H y x S σ μ σ μ μ − + − − − − = (2.7) 然而,考慮權重計算色彩相似度可能會讓鑑別度降低,例如S大於 H 的鑑別度,但是變異數σ2S可能太大造成權重太低,讓整體的鑑別度無法發揮到最佳。為了 期望 H 和S的權重能同等考慮,因此採用第二種方法的S2來計算臉部色彩相似 度。
2.3 根據色彩相似度擷取臉部區域
已知S2i( )
x,y 為影像Fi( )
x,y 的臉部色彩相似度,為了能找到一個適當的相似 度門檻值 i S T 2 ,首先,從臉部樣本區塊以 Row Scan 方式搜尋兩側的臉部邊緣, 統計臉部邊緣之間的區域之相似度分佈,其相似度會比其他非臉部區域的相似度 高,因此取這個區域的相似度最小值作為相似度門檻值 i S T 2 ;之後以該門檻值對( )
x y S2i , 進行二值化動作得到S2i( )
x,y ∧ ,最後再從S2i( )
x,y ∧ 取出最大的區塊作為 臉部區域,令臉部區域為Facei( )
x,y ,其中Facei( )
x,y =255表示像素點( )
x,y 屬 於臉部區域,反之則不屬於臉部區域。 臉部區域Facei( )
x,y 在眼睛、鼻子或嘴唇等臉部特徵所在位置會殘留內部破 洞,但是並不會把內部破洞做填補的動作,由於這些內部破洞大致就是臉部特徵 所在的位置,故可以作為後續臉部特徵擷取的參考。第 3 章 臉部特徵擷取
3.1 眼睛及嘴唇臉部平面特徵點的擷取
目前有參考影像F1( )
x,y 和待測影像F2( )
x,y 兩張影像,要個別從兩張影像的 臉部區域Facei( )
x,y 擷取上述的臉部特徵點,由於被拍攝者在兩張影像的位置僅 有些微變動,故可以假設參考影像和待測影像的臉部平面特徵點之間存在一個仿 射轉換(Affine Transform) A ,其中 A 可以根據兩張影像臉部區域之間的主軸夾角 及中心點距離估算出來,當參考影像的臉部平面特徵點已經確定,則這些特徵點 經過仿射轉換即可用來預測待測影像中臉部平面特徵點的位置,最後根據該預測 位置將待測影像的臉部平面特徵點擷取出來。3.1.1 參考影像的臉部特徵點擷取
首先根據Face1( )
x,y 計算參考影像臉部區域的中心點(
x1, y1)
及長短軸方向 1 1,m Mv v ,然後根據長短軸方向將臉部區域轉正得到NFace1( )
x,y ,其中 FHeight y FWidth x≤ ≤ ≤ ≤ ,1 1 ,並從轉正後的臉部區域取出內部破洞區塊( )
x y H1 , ,如圖 3.1 所示,之後統計H1( )
x,y 中每條掃瞄線的內部破洞點個數,令 為( )
∑
( )
= =FWidth x y x y HCount 1 1 1 δ , ,其中當H1( )
x,y =0時,δ1( )
x,y =1;否則δ1( )
x,y =0。 如圖 3.2 所示,可以觀察到HCount1( )
y 在眉毛、眼睛、鼻孔或嘴唇的高度會形成 尖峰值(Peak Value),因此利用該資訊將眼睛及嘴唇可能出現的高度找出來,各 令為y= yEY及y= yM。 圖 3.1 轉正後臉部區域 內部破洞H1( )
x,y 圖 3.2 轉正後臉部區域中每條掃瞄線的內部破 洞點個數HCount1( )
y由於臉部區域內的特徵區塊之亮度值較皮膚區塊低,假設臉部特徵區塊的面 積佔整個臉部區域的 10%,因此從臉部區域取出亮度值最小、比例個數在前面 10%的像素點,並根據亮度值對這些像素點由小到大做排序的動作,令臉部區域 的亮度值影像為I
( )
x,y ,臉部區域面積為 A ,利用以下方式對像素點做排序: 這些像素點在臉部區塊中會集結成數個區塊,而這些區塊中某些便是我們所 要的臉部特徵區塊,因此先找出這些像素點集結而成幾個區塊,並從這些區塊中 利用臉部特徵的對稱性找出所要的左右眼及嘴唇特徵區塊,首先對這些像素點進 行區塊標號(Component Labeling )的動作,如下列流程: (1) 初始化P=Φ,M =0、N = A×0.1(2) 以 Row Scan 方式( y 為 Row 的索引值)判斷臉部區域內部的每個點
( )
x,y是否要加到 P 串列。若 P 串列的個數 M 已經達到N,則勢必有一個像素
點要捨棄(Case2);否則直接加入即可(Case1) Case1、 M <N
以 Reverse Sequential Search 找出最大的 i 使得
(
x y) ( )
I x yI i, i ≤ , ,若i=M 則
( )
x,y 附加到(
x ,i yi)
之後;否則( )
x,y插入到
(
x ,i yi)
和(
xi+1,yi+1)
之間,並且M = M +1 Case2、 M =N若I
(
xN,yN) ( )
>I x,y,則以 Reverse Sequential Search 找出最大的 i 使得I(
xi,yi) ( )
≤I x,y,將( )
x,y 插入到(
x ,i yi)
和(
xi+1,yi+1)
之間並 捨棄(
x ,N yN)
;否則捨棄( )
x,y (3) 最後得到P=[
(
x1,y1) (
x2,y2)
L(
xN,yN)
]
串列,其中(
xi yi)
I(
xj yj)
I j i≤ ⇒ , ≤ ,接下來,將利用臉部特徵具有的性質,從區塊串列C=
[
C1 C2 L CN]
中 挑選出適當的區塊作為左右眼及嘴唇特徵區塊。對於左右眼特徵區塊而言,我們 從C中選取區塊CREY和CLEY,其中REY,LEY∈{
1,2,...,N}
,使得兩者符合以下條 件: 1. 兩者之間距離為臉寬的 1/5 以上 2. 兩者寬度皆為臉寬的 1/10 以上 3. 兩者面積幾乎相等 4. 兩者中心點連線方向和個別長軸方向接近平行 (1) 初始化區塊陣列C=Φ,NC =0且∀( ) ( )
x,y,L x,y =0 (2) 從 P 串列第一個元素開始對每個像素點(
x ,i yi)
進行標號的動作,其中 N i≤ ≤ 1 。判斷(
x ,i yi)
的鄰近點N8(
xi,yi)
(8-Neighbors)是否有已經標號 的像素點,可能有以下 3 種情況: Case1、 鄰近沒有已標號的像素點 建立(
x ,i yi)
所屬的區塊 * C 及區塊編號L : * ♦ NC =NC +1、L(
xi,yi)
=L* =NC ♦( )
*[ ]
* L CLabels = 、Size
( )
C* =1、Darkest( )
C* =(
xi,yi)
、( )
C(
xi yi)
Brightest * = , 、( )
NULL C Branch * = 、( )
* =Φ C Children ,並將 * C 加入C Case2、 鄰近剛好有一個已標號的像素點( )
x,y 將(
x ,i yi)
加入( )
x,y 所屬的區塊C*=CL( )x,y : ♦ L(
xi,yi) ( )
=L x,y ♦( )
* =( )
* +1 C Size C Size 、Brightest( )
C* =(
xi,yi)
Case3、 鄰近有兩個以上已標號的像素點 先令這些像素點為N*(
xi,yi)
,並對其所屬的區塊和(
x ,i yi)
做合 併的動作得到新的區塊 * C ,並將這些點所屬的區塊設為C ,令* ( ) ( )L( )
x y L i i y x N y x, min, , * * ∈ = , * * L C C = ♦(
)
* ,y L x L i i = ♦( )
( ) ( )(
L( )xy)
y x N y x C Labels C Labels i i , , , * * ∈ = U( )
(
( ))
( ), ( , ) 1 , * * + =∑
∈N xi yi y x y x L C Size C Size 、( )
( )xy N (x y){
(
(
L( )xy)
)
}
C Darkest I C Darkest i i , , , * * min arg ∈ = 、( )
C(
xi yi)
Brightest * = , 、Branch( )
C* =(
xi,yi)
( )
( ) ( ) L( )xy y x N y x C C Children i i , , , * * ∈ = U ♦ ∀( )
x,y ∈N*(
xi,yi)
,令 ( ) * , C CLxy =若有多組區塊配對符合上述條件,則取最接近y= yEY的區塊配對作為左右眼的 特徵區塊;對於嘴唇特徵區塊而言,從C中選取區塊CM,其中M∈
{
1,2,...,N}
, 使得該區塊符合以下條件: 1. 寬度皆為臉寬的 1/5 以上 2. 長軸方向和左右眼中心點連線方向接近平行 若有多個區塊符合上述條件,則取最接近y=yMouth的區塊作為嘴唇的特徵區塊。 左右眼特徵區塊CREY、CLEY及嘴唇特徵區塊CM選取出來之後,便可利用區 塊中統計的資訊找出所要擷取的臉部特徵點,若要擷取眼睛區塊的內外眼角特徵 點,則沿著眼睛特徵區塊CREY、CLEY的長軸方向往兩側尋找 Isolated 點作為眼角 特徵點,令為pREYO、pREYI、pLEYL和pLEYO;若要尋找嘴唇區塊的嘴角特徵點, 則從嘴唇特徵區塊CM中尋找內部的 Intensity Branch Point,若將該點移除的話, 則特徵區塊塊會產生分裂的情況,取分裂之後的子區塊之左右端點作為左右嘴角 特徵點,令pRM和pLM。3.1.2 待測影像的臉部特徵點擷取
當參考影像的臉部特徵點完成擷取之後,將利用其點位的相對關係作為待測 影像的臉部特徵點之預測點位,已知參考影像及待測影像臉部區域Face1( )
x,y 及( )
x y Face2 , ,其中Face1( )
x,y 的中心點、長短軸方向及長度為(
x1, y1)
、Mv1及 1 mv ( M1 mv1 v > ),Face2( )
x,y 為(
x2, y2)
、M2 v 及mv2( M2 mv2 v > ),可以利用這些資 訊計算出從參考影像至待測影像的仿射轉換 A ,令為 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − = 1 0 0 cos sin sin cos y x t s s t s s A θ θ θ θ 當計算出仿射轉換 A 之後可以得知在待測影像中臉部特徵點的預測位置,令為 REYOp" 、p"REYI、p"LEYI、p"LEYO、p"RM及p"LM,根據臉部特徵點的預測位置可 以找出最符合的左右眼及嘴唇特徵區塊,最後再利用上述方法找出臉部特徵點
REYO
p' 、p'REYI、p'LEYI、p'LEYO、p'RM及p'LM。
3.2 左右耳朵特徵點及輪廓的擷取
已知左右眼的特徵點位置,沿著左右眼特徵點連線方向、由上往下尋找臉部 區域最寬的高度,令其左右端點為左右耳特徵點。
第 4 章 臉部特徵比對
本章將說明以 Calibrated 及 Uncalibrated 兩種情況對兩張人臉進行臉部特徵 的比對,兩者前提皆必須有參考影像及待測影像間的臉部特徵點對應,根據特徵
點對應求出參考影像及待測影像間的臉部平面之 HomographyH ,並根據兩張影0
像的邊緣資訊以李門伯格-馬庫特非線性最小化反覆演算法(Levenberg-Marquardt Method / L-M Method)對估測出來的初始 HomographyH 進行修正,得到最後的0
Homography H 。
Calibrated 及 Uncalibrated 兩種情況皆根據臉部特徵點對應,對這些點位進行 重建,其差異在於前者必須先利用相機校正(Camera Calibratioin)對相機內部參數 (Intrinsic Parameter) K 進行估算,故可將點位重建在歐式空間(Euclidean Space) 中;而後者則僅將點位重建在透視投影空間(Projective Space)中,若有兩組已經 完成重建的臉部特徵點集,則對這兩組特徵點集進行對齊(Alignment)的動作,由 於 Calibrated 情況的兩組特徵點集皆在歐式空間中,因此可直接根據對應特徵點 在 3D 空間的平均誤差距離判定臉部特徵的相似度;Uncalibrated 情況的兩組特 徵點集皆在透視投影空間中,因此將兩者點位轉換至共同的影像平面上,並在此 影像平面根據對應特徵點在 2D 空間的平均誤差距離判定臉部特徵的相似度。
4.1 臉部特徵點對應的修正
已知臉部特徵擷取步驟得到參考影像和待測影像的臉部特徵點對應,令為 REYO REYO pp ↔ ' 、pREYI ↔ p'REYI、pLEYI ↔ p'LEYI、pLEYO ↔ p'LEYO、pRM ↔ p'RM及 LM LM p p ↔ ' 等 6 組臉部特徵點對應,為了簡化表示方式,將上面改寫成
{
pi ↔ p'i|i=1,2,...,6}
,希望能估測出 HomographyH 使得 0 i i H p p' ≅ 0 或 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ 1 1 1 ' ' 8 7 6 5 4 3 2 1 i i i i y x h h h h h h h h y x , 6i=1,2,..., (4.1) 其中共有 8 個未知數必須求取,而 1 組特徵點對應可提供 2 個等式,故必須有 4 組以上的特徵點對應才能求取該 HomographyH 。 0 利用 6 組臉部特徵點對應以最小平方誤差(Least-Square Error)求取這 8 個未知 數,也就是以最小平方誤差求解。然而,利用上面方式估測出來的初始 HomographyH 可能並不是相當準確,原因是臉部特徵點擷取的結果會有所偏0 差,因此必須利用李門伯格-馬庫特非線性最小化反覆演算法,將初始的 HomographyH 進行修正。首先對灰階模式的參考影像0 I( )
x,y 及待測影像I'( )
x,y 之眼睛及嘴唇等特徵區塊進行邊緣偵測得到E ,( )
x y 和E'( )
x,y ,並從中挑選邊緣強度大的素點作為要考慮的邊緣資訊E ,ˆ
( )
x y 和Eˆ'( )
x,y ,最後根據Eˆ'( )
x,y 計算待 測影像的邊緣距離(Edge Distance)Eˆ'D( )
x,y 。 對參考影像中的任意邊緣點(
x ,i yi)
而言,其中Eˆ(
xi,yi)
=255,令此邊緣點經 過 Homography 轉換至待測影像的點位為(
x'i,y'i)
,若此對應的點位位於邊緣點 所在的區域附近,我們希望這個邊緣點對應的亮度誤差值e 能達到最小值,也就i 是所有的邊緣對應的亮度誤差值 E 能達到最小值(
) (
)
[
]
(∑
)≤ (∑
)≤ = − = EdgeRange ' , ' ' , 2 EdgeRange ' , ' ' , 2 ' , ' ' , i i D i i D iE x y i y x E i i i i i y I x y e x I E (4.4) 因此,我們需要對每個邊緣點對應的亮度誤差值e 之 8 個未知數進行偏微分i (Partial Derivative),即(
) (
)
(
)
k i i k i i k i i i i k i h y y I h x x I h y x I y x I h e ∂ ∂ ∂ ∂ + ∂ ∂ ∂ ∂ = ∂ − ∂ = ∂ ∂ ' ' ' ' ' ' , ' , ' ' ,k =1,2,...,8( )
∑
⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ ∂ ∂ ∂ ∂ = i l i k i kl h e h e A 、∑
⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ ∂ ∂ − = i k i i k h e e b (4.5) 再計算 Homography 的變動量(
A I)
b H = + −1 Δ λ (4.5)其中λ 為一個隨時間變動的穩定性參數(Time-Varying Stabilization Parameter)。最 後更新這個回合 t 的 Homography 值Ht =Ht−1+ΔH,若在這個回合的亮度誤差值 E 上升則提高λ 值,反之則降低 λ 值;而當亮度誤差值 E 的變動情況已經收斂, 則將最後的結果 H 設為H 並結束 Homography 的修正。 t
4.2 Calibrated 情況的臉部特徵比對
在 Calibrated 情況下,首先會利用相機校正估測出相機的內部參數,之後再 根據M ≅K−1HK估測第一組參考影像及待測影像間的臉部平面之旋轉矩陣 R 及 位移向量T'=T d,最後根據臉部特徵點對應重建出在歐氏空間上的相機參數[ ]
I 0v K 、K[
R αT']
及臉部特徵點位座標 ( )E i P ;第二組也利用相同的方式重建出 在歐氏空間上的相機參數及臉部特徵點位座標,最後估算出兩者之間點位的旋 轉、位移及比例縮放並進行對齊的動作,再根據臉部特徵點及左右耳朵輪廓線在 3D 空間上的差異判定人臉身份是否相同。4.2.1 頭部旋轉方位的估測
假設已經利用相機校正估測出相機的內部參數 K,同時也得知參考影像及待 測影像之間臉部平面的 Homography H ,已知兩張影像的臉部平面之轉換矩陣 HK K M ≅ −1 ,其中 ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + ≅ d n T R M T v (4.6)我們希望估測出兩張影像之間臉部平面的旋轉矩陣 R 及位移向量T'=T d,同時 估測出參考影像中臉部平面的法向量 nv,在此將說明如何利用牛頓─拉弗森非線 性疊代演算法(Newton-Raphson Method)來分解 M 。將上面的關係式改寫成 ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + = d n T R M T v ω (4.7) 令
( ) ( ) ( )
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − − + + − = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − = = β α γ β β γ α γ β α γ α γ β α γ β γ α γ β α γ α γ β α γ β α α α α β β β β γ γ γ γ α β γ cos cos sin cos sin cos sin sin sin cos cos cos sin sin sin sin cos sin sin cos sin cos sin cos cos sin sin cos cos cos sin 0 sin cos 0 0 0 1 cos 0 sin 0 1 0 sin 0 cos 1 0 0 0 cos sin 0 sin cos x y z R R R R 、[
]
T t t t d T T'= = 1 2 3 、n[
n1 n2 1]
T = v (4.8) 其中有 9 個未知數α 、β、γ 、t1、t2、t 、3 ω、n1及n2是待估算的參數,這個 關係式共有 9 個方程式,牛頓─拉弗森非線性疊代演算法將根據這些方程式對各 參數計算偏微分,用來更新每個回合估算的參數值。 首先以兩階段式的估測法對n1及n2進行估算,第一階段先給定n1及n2為已 知(在此給定n1= n2 =0),再利用牛頓─拉弗森非線性疊代演算法對α、β、γ 、 1 t 、t2、t 、3 ω進行更新的動作,令(
α β γ t1 t2 t3 ω)
xk = 、Δx=(
Δα Δβ Δγ Δt1 Δt2 Δt3 Δω)
, 再令( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
⎥⎦ ⎤ ⎢ ⎣ ⎡ + − = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = d n T R M x f x f x f x f x f x f x f x f x f x F T k k k k k k k k k k ω r 9 8 7 6 5 4 3 2 1 (4.9) 計算F 及9×1 J9×7兩個矩陣( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
[
k k k k k k k k k]
T x f x f x f x f x f x f x f x f x f F9×1 = 1 2 3 4 5 6 7 8 9 、( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = × ω γ β α ω γ β α ω γ β α k k k k k k k k k k k k k k k k k k k k k x f t x f t x f t x f x f x f x f x f t x f t x f t x f x f x f x f x f t x f t x f t x f x f x f x f J 9 3 9 2 9 1 9 9 9 9 2 3 2 2 2 1 2 2 2 2 1 3 1 2 1 1 1 1 1 1 7 9 M M M M M M M (4.10)則求解矩陣式J9×7Δx=−F9×1並計算xk+1 =xk+Δx作為下一回合k+1的估算值。 第二階段以第一階段估算出來的α 、β、γ 、t1、t2、t 、3 ω 為已知,再利 用牛頓─拉弗森非線性疊代演算法對n1及n2進行估算,令
[
1 2]
' n n xk= 、Δx'=[
Δn1 Δn2]
再令( ) ( )
k k x f x f'1 ' = 1 ' 、( ) ( )
k k x f x f'2 ' = 2 ' 、( ) ( )
k k x f x f'3 ' = 4 ' 、( ) ( )
k k x f x f'4 ' = 5 ' 、( ) ( )
k k x f x f'5 ' = 7 ' 、( ) ( )
k k x f x f'6 ' = 8 ' (4.11) 計算F'6×1及J'6×2兩個矩陣( )
( )
( )
( )
( )
( )
[
k k k k k k]
T x f x f x f x f x f x f F'6×1= '1 ' '2 ' '3 ' '4 ' '5 ' '6 ' 、( )
( )
( )
( )
( )
( )
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = × 2 6 1 6 2 2 1 2 2 1 1 1 2 6 ' ' ' ' ' ' ' ' ' ' ' ' ' n x f n x f n x f n x f n x f n x f J k k k k k k M M (4.12) 則求解矩陣式J'6×2Δx'=−F'6×1並計算x'k+1=x'k+Δx'作為下一回合 1 + k 的估算 值,當Δx和Δx'皆趨近於零則結束n1及n2的估算。 目前已知n1及n2的估算值,接下來要對α 、β、γ 、t1、t2、t 、3 ω等 7 個參數 進行估算,接下來利用上面兩階段估測中第一階段的方式估算出α、β、γ、t1、 2 t 、t 、3 ω等 7 個參數,則旋轉矩陣 R 、位移向量 'T 便可估算出來。4.2.2 歐式空間中的相機參數與臉部特徵點位重建
已知參考影像和待測影像之間的臉部平面之旋轉矩陣 R、位移向量 'T 及相機 校正後的相機內部參數 K,希望利用臉部平面特徵點及左右耳朵輪廓點的點對應 重建出在歐氏空間上的相機參數、臉部平面特徵點及左右耳朵輪廓點座標。 假設歐氏空間上的任一點座標為 ( )(
)
T i i i E i X Y Z P = 1 ,投影至參考影像的 轉換公式為 ( )[ ]
( )E i E i i MP K I P p ≅ ≅ 0v 、投影至待測影像的轉換公式為 ( )[
]
( )E i E i i M P K R T P p' ≅ ' ≅ α ' ,其中(
)
T i i i x y p = 1 、(
)
T i i i x y p' = ' ' 1 ,將投影 至參考影像及待測影像的轉換公式展開得到[ ]
( )E i i i i i i i i i i i P Z Y X Z Y X I y x K y x ~ 1 0 1 1 ˆ ˆ 1 ≅ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − v[
]
( ) ( ) ( ) ⎥⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ + + + ≅ + ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − 3 3 2 2 1 1 1 ~ ~ ~ ' 1 ' 1 ' ' 1 ' ˆ ' ˆ t P r t P r t P r T Z Y X R Z Y X T R y x K y x E i T E i T E i T i i i i i i i i i i α α α α α v v v (4.15) 最後可得到 ( )E i P 轉換至p 及i p' 的 4 組關係式 i ⎩ ⎨ ⎧ = − = − 0 ˆ 0 ˆ i i i i i i Y Z y X Z x 、(
)
( )(
)
(
)
( )(
)
⎪⎩ ⎪ ⎨ ⎧ = − + − = − + − 0 ' ˆ ~ ' ˆ 0 ' ˆ ~ ' ˆ 2 3 2 3 1 3 1 3 t t y P r r y t t x P r r x i E i T T i i E i T T i α α v v v v (4.17) 經由求解以下的矩陣式可重建出所有Pi( )E ,i=1,2,...,n及α ( ) ( ) ( ) ( ) ( ) 1 4 1 1 3 2 1 1 3 4 2 3 2 3 1 3 1 3 2 3 2 2 3 2 1 3 2 1 3 2 2 2 2 3 1 2 3 1 1 3 1 1 3 1 1 1 0 ~ ~ ~ ' ˆ ' ˆ 0 0 ' ˆ ' ˆ 0 0 0 ˆ 1 0 0 0 0 ˆ 0 1 0 0 ' ˆ 0 ' ˆ 0 ' ˆ 0 ' ˆ 0 0 0 ˆ 1 0 0 0 0 ˆ 0 1 0 ' ˆ 0 0 ' ˆ ' ˆ 0 0 ' ˆ 0 0 0 ˆ 1 0 0 0 0 ˆ 0 1 × × + + × = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − − − − − − − − − − − − − − n n x E n E E n n A n T T n T T n T T n T T n T T n T T T T T T T T T T T T T T T T T T T T T T T T T T P P P t t y r r y t t x r r x y x t t y r r y t t x r r x y x t t y r r y t t x r r x y x v 3 2 1 M 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 2 1 L v v v v L v v v v L v v L v vM M O M M v L v v v v L v v v v L v v L v v L v v v v L v v v v L v v L v v α (4.18)4.2.3 在歐式空間中進行臉部特徵比對
假設目前已對兩組臉部特徵點集進行歐式空間上重建動作,令特徵點對應為 ( ) ( )E i E i P P ↔ ' ,i=1,2,...,n,其中 ( )[
]
T i i i E i X Y Z P = 1 、 ( )[
]
T i i i E i X Y Z P' = ' ' ' 1 然而這兩組特徵點集在個別歐式空間上的座標軸並不相同,也就是其間存在一個 相似轉換(Similarity Transformation)關係S,使得 ( ) ( ) ( ) ( ) t P sR P P t sR P E i E i E i T E i v v v + = ⇒ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ≅ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ~ ' ~ 1 ~ 1 0 1 ' ~ (4.19) 其中旋轉矩陣 R 、位移量 tv和比例縮放s是待會要估算的未知數, 首先令 ( )E ( )E i i P P Q = − 、 ( )E ( )E i i P P Q' = ' − ' (4.20)其中 ( )
∑
( ) = = n i E i E P n P 1 ~ 1 、 ( )∑
( ) = = n i E i E P n P 1 ' ~ 1 ' ,這個步驟主要是先將兩組臉部特徵點集 之間的位移消除。 再令[
Q Q Qn]
Q= 1 2 L 、Q'=[
Q'1 Q'2 L Q'n]
則比例縮放s可由下式計算出來 F T F T Q Q Q Q s ' ' = (4.21) 接下要計算兩組臉部特徵點集之間的旋轉矩陣,首先令 1 3 3 3 3 3 3 − × × × =B A C ,其中A3×3 =sQQT、 T Q Q B3×3 = ' ' , 則對矩陣C3×3進行 SVD 得到 T T V U UDV C ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = = × 3 2 1 3 3 0 0 0 0 0 0 σ σ σ , 最後我們可將旋轉矩陣及位移量令為 T UV R= 、tv= 'P−sRP (4.22) 若要將兩組特徵點集進行對齊的動作,則將每個特徵點 ( )E i P' 對齊至Pi( )E,令 ( ) ( ) ( )E i T T E i T E i s P t R s R P t sR P ' 1 0 ' 1 0 1 ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = − v v v v o (4.23) 則 ( ) ( )E i E i P P ↔ o ,i=1,2,...,n為對齊之後的特徵點對應。最後根據 ( )E i P 和 ( )E i Po 之間 的平均誤差距離判定臉部特徵是否相符。第 5 章 實驗與結果
在本論文中,人臉辨識的流程主要可分為臉部偵測、臉部特徵擷取和臉部特 徵比對三個步驟,本章將對這三個步驟執行出來的結果及相關數據做分析。5.1 臉部偵測結果
在臉部偵測部分中,主要有下面的幾個步驟: 1. 計算兩張影像之間的畫面差異D( )
x,y ,以門檻值TD對D( )
x,y 進行二值化得 到D ,ˆ( )
x y ,並計算D ,ˆ( )
x y 的中間線x=xD。 2. 計算兩張影像的邊緣資訊E1( )
x,y 和E2( )
x,y ,以邊緣強度在前面 10%所在的 值作為門檻值,進行二值化得到Eˆ1( )
x,y 和Eˆ2( )
x,y 。 3. 根據D ,ˆ( )
x y 及其中間線x=xD、Eˆ1( )
x,y 和Eˆ2( )
x,y 取出臉部樣本區塊及頭髮 樣本區塊,並統計兩張影像的臉部樣本區塊色彩資訊。 4. 計算兩張影像的臉部色彩相似度S21( )
x,y 和S22( )
x,y 。 5. 根據Eˆ1( )
x,y 和Eˆ2( )
x,y 統計臉部區域內的統計相似值的分佈,並以最小值作 為門檻值對S21( )
x,y 和S22( )
x,y 做二值化得到S21( )
x,y ∧ 和S22( )
x,y ∧ ,並以最 大區塊作為臉部區域。表 5.1 臉部偵測結果(一) 參考影像F1
( )
x,y /LKCheng(IronFolder3)/02.jpg 待測影像F2( )
x,y /LKCheng(IronFolder3)/01.jpg 畫面差異及邊緣資訊( )
x y D ,ˆ 、Eˆ1( )
x,y 畫面差異及邊緣資訊( )
x y D ,ˆ 、Eˆ2( )
x,y 臉部及頭髮樣本區塊 臉部及頭髮樣本區塊 臉部色彩相似度( )
x y S21 , 臉部色彩相似度( )
x y S22 , 臉部區域Face1( )
x,y 臉部區域Face2( )
x,y表 5.2 臉部偵測結果(二) 參考影像F1
( )
x,y /LKCheng(IronFolder3)/02.jpg 待測影像F2( )
x,y /LKCheng(IronFolder3)/03.jpg 畫面差異及邊緣資訊( )
x y D ,ˆ 、Eˆ1( )
x,y 畫面差異及邊緣資訊( )
x y D ,ˆ 、Eˆ2( )
x,y 臉部及頭髮樣本區塊 臉部及頭髮樣本區塊 臉部色彩相似度( )
x y S21 , 臉部色彩相似度( )
x y S22 , 臉部區域Face1( )
x,y 臉部區域Face2( )
x,y/LWHsu/N01.jpg /LWHsu/N10.jpg /LWHsu/N11.jpg
/WeiYu/N01.jpg /WeiYu/N10.jpg /WeiYu/N11.jpg
/Kelly/N01.jpg /Kelly/N10.jpg /Kelly/N11.jpg
/Chen/N01.jpg /Chen/N10.jpg /Chen/N11.jpg
/ChenTe/N01.jpg /ChenTe/N10.jpg /ChenTe/N11.jpg 圖 5.1 臉部偵測結果組圖
5.2 臉部特徵擷取結果
在臉部特徵擷取部分中,主要有下面的幾個步驟: 1. 根據兩張影像的臉部區域Facei( )
x,y 計算中心點(
x ,i yi)
及長短軸方向Mvi、 i mv ,並將參考影像的臉部區域Face1( )
x,y 轉正得到NFace1( )
x,y 。 2. 計算臉部區域NFace1( )
x,y 的內部破洞Hole1( )
x,y 在每條掃瞄線的個數( )
y HCount1 ,並根據HCount1( )
y 中的幾個尖峰值分佈找出臉部特徵可能出現 的高度。 3. 從臉部特徵可能出現的高度附近,根據亮度值及臉部特徵的對稱性質尋找臉 部特徵區塊,並從特徵區塊擷取臉部特徵點/LKCheng/N01.jpg /LKCheng/N10.jpg /LKCheng/N11.jpg
/ChinTe/N01.jpg /ChinTe/N10.jpg /ChinTe/N11.jpg
/LWHsu/N01.jpg /LWHsu/N10.jpg /LWHsu/N11.jpg
/WeiYu/N01.jpg /WeiYu/N10.jpg /WeiYu/N11.jpg(???)
5.3 臉部特徵比對結果
本節將以合成資料(Synthetic Data)和實際資料(Real Data)兩個部分介紹臉部 特徵比對的實驗,前者將說明本論文提出的臉部特徵比對方式之正確性,後者則 對實際拍攝的人臉影像進行臉部特徵比對,並觀察臉部特徵比對的效果。
5.3.1 合成資料的臉部特徵比對
在合成資料的臉部特徵比對部分,首先在歐式座標空間中以數個特徵點定義 一個簡易的臉部模型,如圖 5.3 所示: 圖 5.3 臉部模型及特徵點示意圖 此臉部模型中的特徵點位會以多種旋轉及位移方式進行運動,並經過已經事先定 義的相機參數轉換至影像平面上,臉部模型的特徵點集合如表 5.3 所示: 表 5.3 臉部模型特徵點集合 名稱 點位座標 名稱 點位座標 H1(
−60,−75,0)
E2(
70,-25,25)
H2(
60,−75,0)
E3(
70,25,25)
H3(
60,75,0)
E4(
60,25,25)
H4(
−60,75,0)
E5(
60,-25,50)
H5(
−60,−75,75)
E6(
70,-25,50)
H6(
60,−75,75)
E7(
70,25,50)
H7(
60,75,75)
E8(
60,25,50)
H8(
−60,75,75)
F1(
-70,-25,25)
P1(
-40,-25,0)
F2(
-60,-25,25)
P2(
-20,-25,0)
F3(
-60,25,25)
P3(
20,-25,0)
F4(
-70,25,25)
H3 H4 H7 H8 E1 E2 E4 E3 E5 E6 E7 E8 F1 F2 F4 F3 F5 F6 F7 F8 P1 P2 P3 P4 P5 P6 H5 H1 H6 H2P4
(
40,-25,0)
F5(
-70,-25,50)
P5(
-40,25,0)
F6(
-60,-25,50)
P6(
40,25,0)
F7(
-60,25,50)
E1(
60,-25,25)
F8(
-70,25,50)
接下來定義相機的內外部參數[ ]
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ≅ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 240 750 0 320 0 750 0 v I K M 以及物體運動參數 ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ 1 0T T R v v 其中R=Rz( ) ( ) ( )
γ Ry β Rx α 、 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ + = d T T T T z y x v ,d為臉部模型平面和相機座標中心點的 距離,令d=500。則歐式座標空間中任意點位經過運動參數轉換、再經由相機 參數投影至影像平面上的關係式可寫成[ ]
[
]
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ≅ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ 1 1 1 0 0 1 Z Y X T R K Z Y X T R I K y x T v v v v 下面組圖是以固定的相機參數對多種運動參數的同一個物體進行模擬拍攝 圖 5.4 臉部模型以不同運動方式模擬拍攝組圖 ° − = 10 β β = 20− ° ° = 10 β β = 20° ° − = 10 α α = 20− ° ° = 10 α α = 20°從組圖中任取兩組影像作為個別的參考及待測影像,實驗流程如下:
1. 根據個別的特徵點對應(事先對臉部特徵點對應加入μ =0、σ =2pixels 之 Gaussian Noise)估算出參考影像及待測影像間臉部平面之 Homography H 。 2. 在 Calibrated 情況下,根據事先定義的相機參數 K 及第一步估算出來的 Homography H ,即可求出之間的旋轉及位移關係,進而重建出各組在歐式 空間中的臉部模型之特徵點位,由於所有組圖皆屬於同一個臉部模型,因此 預期兩個臉部模型在歐式空間中存在一個相似轉換的關係,檢查對應特徵點 對齊後的 3D 誤差距離及投影至影像平面的 2D 誤差距離平均和標準差。 表 5.4 第一組測試資料之相機參數與點位重建 參考影像 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0 0 0 1 0 0 0 1 r R 、 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 500 0 0 r Tv 待測影像 ° = 5 α 、β = 5°、γ = 10° ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0.992 0.086 0.087 -0.070 -0.982 0.172 0.100 0.165 -0.981 s R 、 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 500 0 0 s Tv ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ 1 0 1 0 3.798 35.377 50.319 -0.992 0.086 0.087 -0.070 -0.982 0.172 0.100 0.165 -0.981 1 0 1 0 1 0 T r r T T r r T T s s T R T R T R T R v v v v v v v v v (驗證臉部平面方位估測用) Homography 估算結果 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0.000 0.000 -49.541 -1.005 0.146 47.245 0.127 -0.942 H
臉部平面方位估測結果
[
]
T nv= 0.007 0.006 1 514.406 = d ° = 5.096 α 、β = 4.492°、γ = 9.949° ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0.992 0.088 0.078 -0.074 -0.982 0.172 0.092 0.165 -0.981 R 、 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 3.846 38.088 47.474 -Tv 歐式空間中的相機參數重建結果[ ]
I 0v K Mr = 、 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0.001 0.992 0.088 0.078 -0.012 0.074 -0.982 0.172 0.015 -0.092 0.165 -0.981 K Ms 歐式空間中的特徵點位重建結果表 5.5 第二組測試資料之相機參數與點位重建 參考影像 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0 0 0 1 0 0 0 1 r R 、 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 500 0 0 r Tv 待測影像 ° − = 5 α 、β = 5− °、γ = 10− ° ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0.992 0.086 -0.087 0.100 0.979 0.172 -0.070 -0.180 0.981 s R 、 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 500 0 0 s Tv ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ 1 0 1 0 3.798 50.454 -35.185 0.992 0.086 -0.087 0.100 0.979 0.172 -0.070 -0.180 0.981 1 0 1 0 1 0 T r r T T r r T T s s T R T R T R T R v v v v v v v v v (驗證臉部平面方位估測用) Homography 估算結果 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0.000 -0.000 59.170 0.956 0.148 -39.296 -0.144 1.020 H 臉部平面方位估測結果