基於人臉座標系統的人臉識別
陳榮昌 朝陽科技大學
資訊管理系 rcchen@cyut.edu.tw
盧菁 北京科技大學
信息學院 lu_0819@163.com
劉賀平 北京科技大學
信息學院 lhpjx@ies.ustb.edu.cn
摘要
傳統的人臉識別技術通常高度依賴人臉影像的 圖元值,較少利用人臉的獨立特徵等先驗知識。本 文提出了人臉座標的概念,透過建立人臉座標系 統,將人臉的各個特徵,有系統的利用座標系統來 表示。因此,人臉各個特徵之間的相關性,可以直 接利用現成的數學方法取得,人臉識別相關的應 用,也可以更容易達成。本文並具體提出基於人臉 座標系統的人臉識別方法,利用人臉特徵向量的比 對,不但可以更有效率的進行人臉特徵的識別,更 可以進行人臉辨識、人臉表情辨識等關於人臉生物 特徵的識別。
關鍵詞:人臉識別、人臉座標、人臉特徵向量、人 臉辨識
1. 前言
人臉識別是指藉由人臉視覺特徵對身份進行 辨識的一種電腦技術。因為人臉識別有得天獨厚的 優點,所以被廣泛的運用到門禁系統、特徵辨認等 設施中[1]。
傳統的人臉識別可分為基於整幅人臉影像的 圖像識別和基於人臉特徵的特徵識別兩大類[6]。基 於圖像識別是指將彩色的人臉影像轉化為灰階的人 臉影像,然後利用各種成熟的技術進行訓練分類,
常 見 的 代 表 性 技 術 如 主 成 元 分 析 (Principle Component Analysis, PCA)[4] 等。這類方法的不 足之處有以下幾點:1. 辨識效果容易受光源變化的 影響,強韌性(robustness)較差。2. 辨識效果易受臉 部表情變化的影響。3. 無法識別不同的表情動作。
4. 當人臉出現遮蓋物(如眼鏡、口罩等)的時候,將 會嚴重影響辨識效果,因此辨識的靈活性較差。
另外,第一類方法只基於影像的數值,容易受
雜訊影響,第二類方法也缺乏特徵之間的相關資 訊。因此,本文提出了人臉座標系統,將人臉固有 的自然屬性融入此座標系統中,並能利用數學方法 來求出特徵之間的相關資訊,如此更能有效的幫助 人臉識別的進行。
此方法將關鍵的人臉特徵點映射到人臉座標 系統中,由各個特徵點之間的相對位置就可以找到 人臉特徵之間的相關資訊,此方法也克服了PCA 等 統計學方法對圖元值(pixel value)過於敏感的缺點,
因為人臉固有的自然屬性可以用來輔助特徵點的定 位(例如,鼻子不會在嘴巴下面、眼睛兩邊通常會對 稱等)。人臉座標系統的另一個創新點在於將現有的 人臉識別技術、人臉特徵識別技術、表情識別技術 全部整合在一起,用一個整體的觀念去看待這些識 別問題,用全域的觀點(global view)分析問題,打破 了以往以某些局部資訊看待問題的弊端,只是識別 人臉的某一部分,而不能相互參照,如此豐富了識 別中的資訊量。
本文的結構如下:第二節將介紹人臉特徵相關 的識別技術,第三節將介紹本文提出的人臉座標系 統,第四節介紹人臉座標系統在人臉識別中的具體 運用,最後,第五節為結論。
2. 人臉特徵相關的識別技術
在過去的研究中,已經有許多文章提出對人 眼、鼻子、嘴巴和人臉輪廓進行識別的方法。為了 取得人臉的一些重要的特徵點,我們首先對這些特 徵點取得的方法做一些探討。
2.1 人眼的識別
人臉位置的確定,通常取決於人眼的位置,人眼 識別的精確程度直接影響到了人臉識別的表現。文 章[2]提出了一種人眼識別的方法,因為在人臉彩色
RGB 影像中,人眼中綠色的元素與其皮膚的綠色元 素在數值上有著很大的不同,因此僅僅分析人臉影 像中間的綠色成份,在綠色頻域中,用 canny 方法 找到眼睛的邊緣線,這些邊緣線有可能是斷斷續續 分段式的,然後藉由文章[5]提供的方法,將眼睛與 皮膚之間的邊緣線用橢圓來逼近。總而言之,眼睛 的邊緣線可以用一個橢圓來逼近。
2.2 鼻子的識別
參考文章[7],鼻子的特徵是以鼻孔兩側以及 鼻尖這三點作為頂點構成的三角形當作鼻子的位 置,把影像經過模糊(Blur)處理與邊緣偵測(Edge Detection),並以眼睛往鼻子兩邊向外做邊緣逼近
(Edge Approximation),就能找到兩個鼻孔的 X 座 標。再以眼睛的Y 座標加上兩眼距離為起點,向下 做邊緣偵測(Edge Detection),找 到 兩 個 鼻 孔 的 Y 座 標 。在兩個眼睛中間的位置做邊緣偵測,找到 鼻尖的座 標。偵測完鼻尖以及鼻孔兩邊的位置後,
我們將這三點作為三角形的三個頂點,將鼻子近似 成一個三角形。
2.3 嘴巴的識別
參考文章[9],因為嘴巴在顏色方面具有鮮明 的特色,因此可以先將彩色影像在紅頻上進行分 解,然後將影像在對X 方向求偏導數,因為嘴巴和 正常人臉皮膚在顏色上具有很大的不同,因此在嘴 巴和皮膚的交界處,偏導數將會出現很大的數值,
我們便取最大兩個偏導數對應的X 座標值,得到嘴 巴兩端的橫坐標。同理,用同樣的方法在縱座標進 行搜尋,可以得到垂直方向的坐標,並且嘴巴可以 很精確的進行長度和位置的定位。最後通過找尋多 個邊界點,將這些離散的邊界點近似成一個橢圓。
2.4 人臉輪廓的識別
根據先驗的知識,人臉的外形輪廓可以近似 於一個八邊形,技術的關鍵是如何準確的找到這個 八邊形[8]。我們可以先在影像中取一個最大的八邊 形,使它充滿整個影像,以確保人臉必定存在於這 個八邊形之內,然後將此八邊形進行收縮, 每一條 邊收縮至偵測到皮膚為止,這樣從外圍得到了人臉 的輪廓,此八邊形記為polygonouter。然後在影像中
確定一個一定小的八邊形,使得人臉必定包含此八 邊形,然後將此八邊形慢慢擴大,直到偵測到非皮 膚為止,因此可以從內部得到八邊形的輪廓,此八 邊 形 記 為 polygoniner 。 如 果 polygonouter 與 polygoniner 的差異小於一個門檻值 β,那麼,我們 就可以polygoniner 為人臉輪廓。
3. 人臉座標系統的提出
現有的技術都已經可以做到人臉識別、表情識 別以及人臉特徵識別,但是這些識別都是一種孤立 的識別,彼此之間並沒有多大的聯繫,本文特提出 了人臉座標系統(簡稱人臉座標),使得人臉的各個特 徵可以透過座標系統整合在一起,不僅可以進行人 臉識別,而且還可以通過人臉特徵的局部的細微變 化進行表情識別。
3.1 原點與座標軸的確定
首先,為了定位這些重要的特徵點,我們先定 義人臉座標系統。如圖 1,假設我們所面對的是一 張正面平視的人臉,我們用 2.1 節所敘述的方法找 到兩顆眼睛並用兩個橢圓來逼近。假設我們把左右 兩眼的兩個橢圓的中心分別定義為
E
1和E
2(如圖 1所標示),其中右眼
E
2是指在影像中右邊的眼睛(實際上為人的左眼),我們定義
E
1E
2 線段的中點為人臉座標的原點O(0, 0),
E
1E
2 左右無限延伸形成人臉座標的第一個座標軸(X 軸) ,
OE
2為 X 軸正方 向。我們定義人臉座標為一直角座標系統,所以 Y 軸即E
1E
2的中垂線,他與 X 軸正交於原點 O,向上的方向為正。我們以
E
1E
2的1/2 為單位長度。因 此,E
1的座標為(-1,0),E
2的座標為(1,0)。如此建 立了二維的人臉座標系統X。Y,即 X。Y = {(x,y) |x,y ∈
R}。圖1 人臉座標解說圖例
因此,所有人臉重要的特徵點,皆可以用座標點來 描述。例如圖1 中,人臉右邊眼睛上方的特徵點可 以用
( x
13, y
13)
來表示。3.2 座標點及座標點間距離的定義
雖然真實的人臉並非平面所能描述,但一般的 影像資料都已經是平面化的人臉影像資料了,因 此,我們定義的人臉座標用來表示人臉正面平視投 影的影像,即前視圖所呈現的影像。所以,我們仍 然以平面座標來定義人臉座標。假設P 為人臉圖像 上任一點,若過P 的鉛直線與人臉座標的 X 軸交於 a,過 P 的水平線與人臉座標的 Y 軸交於 b,則我們 定義P 點的座標為(a, b)。因此,人臉圖像上的每 一個點都可以在人臉座標中找到一個座標點與之對 應。若座標系上有兩點
P
1( x
1, y
1)
和P
2( x
2, y
2)
, 我們定義他們之間的距離為2 2 1 2 2 1 2
1
, ) ( ) ( )
( P P x x y y
d = − + −
(1)因為人臉座標所使用的單位長度是一種相對的尺寸 (以兩眼之間的距離的一半為單位長度),所以對於同 一個人在不同時間所取得的正眼平視的照片,只要 兩張照片的表情一樣,他們的特徵點的座標值會是 一樣的。
3.3 標準人臉重要特徵點的建立
當我們得到了一張人臉影像後,先將人臉中的
兩個眼睛識別出來[2],各用一個橢圓來表示,兩個 橢圓的中心分別記為
E
1及E
2,依前一小節的定義單位長度 d=1/2*
E
1E
2,因此,在二維影像上所測量 出來 的任一 長度
d
', 在人 臉座 標中的 長度 為d
d '
,影像中長度為 1.5d 的線段在座標系中的長度為 1.5。
E
1 的座標為( − 1 , 0 )
,因為E
1, E
2關於原點對稱,所以
E
2的座標為( )
1 。當眼睛的座標值固定,0 後,人臉影像中的每一個點都能夠找到其相應的座 標,並且座標值是唯一固定的。因為我們所定義的 人臉座標是一種相對的座標系統,所以原始影像的 縮放並不會影響其在座標系統的座標值。並且當影 像中人臉為非標準方向的時候,也可以將非標準方 向影像經過座標旋轉變成標準方向的影像。理論上,人臉影像包含了無窮多個點,因此 每個人臉可以得到無窮多對座標,但是這樣過大的 資訊量顯然不便於我們去辨識人臉,並且這樣做也 沒有實際的意義。我們只需要從人臉中選取一些較 為重要的特徵點,就可以表示每一個人的人臉屬 性。我們採用人臉自然特徵包含眼睛、鼻子、嘴巴 和外部輪廓的重要特徵點來當作人臉特徵點。這些 特徵點,我們可以追尋過去學者的研究來得到,例 如文章[8]指出人臉輪廓可以由正八邊形進行近似、
文章[6]將人眼用橢圓形描述、文章[9]將鼻子以三角 形逼近。因為嘴巴的形狀與眼睛類似,我們也以橢 圓來近似嘴巴的形狀。基於以上的選特徵的原則,
我們將人臉的各個重要的特徵點用人臉座標上的特 徵點進行描述,我們共選取了23 個能夠代表人臉特 徵的點(如圖 1)。
以下我們將敘述這23 個特徵點取得的方式,
我們先使用 2.1 節中眼睛識別的方法找出兩顆眼睛 [2][5],將眼睛用一個橢圓的輪廓進行表述,分別取 橢圓長軸以及短軸的兩個端點(共四個點)來當作眼 睛的四個特徵點,兩個眼睛共八個特徵點(如圖 1 之
) ,
( x
9y
9 ~( x
16, y
16)
)。接著我們用一個三角形來定 位鼻子[9],三角形的頂點方向為 Y 軸的正方向,用 三角形的三個頂點作為鼻子的特徵點(如圖 1 之) ,
( x
17y
17 ~( x
19, y
19)
)。嘴巴用橢圓來描述,取橢圓的長軸和短軸端點當特徵點,共四個座標(如圖 1 之
( x
20, y
20)
~( x
23, y
23)
)。最後,我們使用八邊形來代表人臉的外部輪廓 (如圖 1 之
( x
1, y
1)
~) ,
( x
8y
8 )。如此,一張人臉總共需要 23 個座標點來 描述。我們定義人臉的雙眼連線
E
1E
2 與影像底邊 的夾角為傾斜角度Ө,當 Ө=0 時,代表這張人臉影 像為標準方向。當影像中人臉的方向不是標準方向 時,我們可以下面的步驟將影像標準化,如此可以 提高其精確值。步驟如下:1. 辨識雙眼以得到雙眼之間的連線。
2. 計算傾斜角度 Ө。
3. 將影像進行旋轉,旋轉的公式為
−
=
' '
cos sin
sin cos
y x y
x
θ θ
θ
θ
(2)綜上所述,人臉重要特徵點座標取得的基本步驟如
下:
step 1. 取得包含人臉的影像。
step 2. 取得眼睛的特徵點的位置。
step 3. 得到人臉座標系統的原點、X 軸及 Y 軸。
step 4. 求出影像的傾斜角度Ө 並將影像標準化。
step 5. 取得鼻子、嘴巴以及人臉外部輪廓曲線等 特徵點的位置。
step 6. 取得各特徵點所相對應的人臉座標系統 座標值。
每一張人臉影像,其特徵點的座標值的大小 僅僅決定於人臉本身,並不受影像本身大小以及拍 攝角度的影響,因此,每張不同的人臉就會有其固 定的 23 個特徵點所對應的座標。因為這個唯一性,
我們就可以利用這固定的 23 個特徵點來進行人臉 識別。
3.4 人臉特徵向量
如前一小節所述,我們將人臉中選取的23 個 特 徵 點 , 組 成 了 人 臉 特 徵 向 量
) , , ,
( P
1P
2K P
23=
Γ
,其中P
i= ( x
i, y
i)
,i=1,2,…, 23,為23 個特徵點。因此,每一張人臉可以對應著 唯一的特徵向量。如果任兩張人臉的所有特徵點(眼 睛、鼻子、嘴巴、外部輪廓的所有特徵點)都相同,這兩張人臉所對應的特徵向量才會相等。然而,要 這23 個特徵點都相同是相當不容易的。如果兩個向 量不相等,它們之間的距離代表著兩張人臉不相像 的程度。
假 設 特 徵 向 量
Γ
1= ( P
1,1, P
1,2, K , P
1,23)
與) , , ,
(
2,1 2,2 2,232
= P P K P
Γ
代表兩張不同照片的人臉特徵向量,那麼,只要比對這兩特徵向量就可以知 道是否兩張照片是否為同一個人。若考慮到測量的 誤差的話,可以當特徵向量距離
ε
≤
= Γ
Γ ∑=
23 1 i
2 i, 2 i, 1 2
1
, ) ( P , P )
( d
D
(3) 時才視為同一個人,其中我們稱ε
為允許誤差,它是一個很小的數。另外,考慮到不同特徵點的重要 性不同,我們定義加權特徵向量距離為
∑
== Γ
Γ
1,
2)
23i1( P
1i,, P
2i,)
2( W d
DW
i (4) 其中,W
i∈ R
,i = 1 L , 2 , , 23
, 為第 i 個特徵點的權重值。根據實際情況我們可以設定不同的
W
i,當每個
W
i都為1 時,加權特徵向量距離 DW 就會等於 特徵向量距離D。4. 基於人臉座標系統的人臉辨識
下面我們將以基於人臉座標系統的人臉辨識來當 作我們所提出的人臉座標系統之應用說明例。我們 首先建立基於標準人臉座標系統的資料庫,在資料 庫中,我們分別建立每個人的喜、怒、哀、樂以及 正常等5 個表情的特徵向量,當輸入一張人臉影像 時,只要依照前面的演算法取得該張影像的人臉特
徵向量,就可以直接和資料庫中各個表情的特徵向 量比較,快速取得最接近的人臉影像。
建立的步驟如下:
Step 1. 將每張影像編號,
I
n,i表示第 n 個人的第 i 表情影像,1 ≤ n ≤ N
,1 ≤ i ≤ 5
,依不同 的數值 i,分別表示喜(1)、怒(2)、哀(3)、樂 (4)和正常表情(5)。Step 2. 找 出 每 張 影 像 的 人 臉 特 徵 向 量
Γ
n,i ,N n ≤
≤
1
,1 ≤ i ≤ 5
。一般來說,同一個人的不同表情之間的特徵向量距 離遠小於不同人的特徵向量距離。當我們得到一張 人臉影像之後,先求其人臉特徵向量
Γ′
,然後計算Γ′
與資料庫中每個人的人臉特徵向量Γ
n,i的距離,如果其距離低於某一門檻值就算找到。
具體辨識的步驟如下:
Step 1. 輸入人臉影像,先求出該影像的人臉特徵向 量
Ρ
input= ( p
1, p
2,..., p
23)
,) , (
j jj
x y
p =
,j = 1 , 2 ..., 23
,p
j表示該人 臉的第 j 特徵點的座標值。我們取人臉中 23 個特徵點作為人臉特徵向量。如果人臉中出 現遮蓋物,我們也可以將被遮住的特徵點捨 去,降低特徵向量的維度,如此可以更靈活。Step 2. 分別計算
Ρ
input與資料庫中各種表情的人臉特徵向量的距離
Γ
n,i, n=1, 2, …, N,5
1 ≤ i ≤
,N 為資料庫中人臉的存儲量。如 果要強調各特徵點之間的重要性,也可以使 用加權特徵向量距離,即計算) ,
DW( Γ
n,iΡ
input 。Step 3. 當資料庫中,第 k 號人臉和我們的輸入人臉
input
P
最接近時,即DW
k( Γ
k,i, Ρ
input)
為所有) , (
j,i nputj i
DW Γ Ρ
,1 ≤ j ≤ N
,之最小值時,我們認為
P
input最可能為第k 號人物的人臉。上述步驟中,加權特徵向量距離中的加權值可以根
據先驗知識來制定,也可以讓系統自動學習得到。
5. 結論
在本論文中,我們提出了人臉座標系統的概 念,此座標系統不但有效地整合了過去人臉識別相 關研究的成果,並能夠藉由幾何運算的工具讓人臉 識別的應用更容易達成。透過座標空間的描述,任 何人臉的特徵都可以清楚地定位,各特徵之間的關 係也可以很容易地透過幾何運算的工具來取得。另 外,為了將人臉固有的自然屬性融入此座標系統 中,我們將眼睛、鼻子、嘴巴和人臉輪廓的23 個重 要特徵點組合成人臉特徵向量。因為對每張人臉的 影像而言,人臉特徵向量對平移、旋轉及放大縮小 都具有不變性,所以,基於人臉特徵向量的人臉識 別就可以簡化為向量距離的比對,變得非常容易。
在未來的研究中,我們將朝下面三方面努力:
1. 將現有人臉識別技術以此座標系統來表述,並與 之比較。2. 有效地利用幾何運算工具及特徵點之間 的關係來幫助人臉辨識相關研究。3. 在應用的突破 上,特別重視對於遮蓋物和雜訊的避免。這些研究 將可以讓人臉座標系統發揮更大的效用,對未來人 臉識別相關的研究也會更有幫助。
參考文獻
[1] Aamer Mohanmed,Ying Weng, “ Face Detection based Neural Networks using Robust Skin Color Segmentation,” in 5th International Multi-Conference on Systems, Signals and Devices, 2008.
[2] A. Hadid, “Color-Based Face Detection using Skin Locus Model and Hierarchical Filtering,” in 16th International Conference on Pattern Recognition, Vol. 4, pp 40-46.
[3] Ara V. Nefian and Monson H. Hayes,
“Maximum likelihood training of the embedded HMM for face detection and recognition”, IEEE International Conference on Image Processing 2000.
[4] Matthew A. Turk, “Face Recognition Using Eigenfaces,” in Computer Vision and Pattern Recognition, Vol. 3-6 Jun
1991, pp 586 - 591.
[5] Maurizio Pilu, “Ellipse-specific direct least-square fitting,” in Proceedings of International Conference on Image Processing, Vol 3, Sep 1996,pp 599-602.
[6] Ming-Jung Seow, “Neural Network Based Skin Color Model For Face Detection,” in Proceedings of Applied Imagery Pattern Recognition Workshop 2003, 32nd Vol., 15-17 Oct 2003, pp 141 – 145.
[7] QI Ying , “Mouth Recognition Based on Gabor Wavelet and Fuzzy Support Vector Machine,” In Journal of Human University of Arts and Science, 2007, Vol.
19.
[8] Tang Bin, “High Performance Face Recognition System By Creating Virtual Sample,” in Proceedings of the 2003 International Conference on Neural Networks and Signal Processing, Vol 2,14-17 Dec, 2003, pp 972- 975.
[9] Wenhao Zhu, “Nose Detection based Feature Extraction on both Normal and Abnormal 3D faces,” in 8th IEEE International Conference on Computer and Information Technology, 8-11 July 2008, pp 312-316.
[10] Yang Kun, “ Human Face Detection Based on SOFM Neural Network, ” in Proceedings of the 2006 IEEE informational Conference on information Acquisition, Aug 2006, pp 1253-1257.