人臉檢測中眼睛定位算法研究論文
時間:2022-10-11 10:59:00
導語:人臉檢測中眼睛定位算法研究論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要眼睛是一個在人臉檢測中極為重要的人臉特征,因此一種快速可靠的精確定位眼睛的算法對許多實際的應用是十分重要的。本文分析了幾種常用的眼睛定位算法,并提出了一種基于膚色信息、人臉面部幾何特征和人眼灰度信息的算法。算法采用由粗到細的檢測策略,先對AnilK.Jain的Cb、Cr橢圓聚類方法進行了改進,用改進的算法進行膚色提取,經過膚色區域的分析,對人臉區域進行預檢測,然后結合人眼幾何特征進行初步定位,再利用人眼的灰度信息進行精確定位。該算法定位效率高,并對背景、尺寸等細節具有很好的適應性,在人臉實時檢測系統中具有很好的應用價值。
關鍵詞眼睛定位;膚色提取;幾何特征;復雜度
1引言
雙眼是人臉的突出特征,它們在人臉中占據比較固定的位置,雙眼間的距離刻畫了人臉的大小,是人臉識別中尺度歸一化的依據。因此雙眼的精確定位成為人臉識別前處理階段非常關鍵的一步,絕大部分的人臉識別算法都強烈地依賴于雙眼的準確定位。只要人眼被精確定位,則臉部其他特征,如眉、鼻、嘴等,可由潛在的分布關系比較準確地定位。人臉可以較好地歸一化,預處理的效果也更明顯,同時也可提高識別速度和降低識別算法的復雜度。
正因為眼睛定位在人臉識別中具有如此重要的地位,于是人們研究各種算法來實現眼睛定位,主要可以分為以下幾類:霍夫變換法、變形模板法、邊緣特征分析法和對稱變換法等,本文結合人臉的膚色和幾何特征以及人眼的灰度信息提出了一種快速、穩定的人眼定位算法。
2常用的幾種眼睛定位算法
(1)霍夫變換法
假設經預處理已經得到包含眼球的圖像Ep,為了節省檢測眼球的時間并避免鏡片反光點邊緣產生的干擾,先用小灰度聚類法粗定眼球中心點,以此縮小檢測范圍,聚類的過程是將圖像Ep中灰度值最小的n個像素,按列遞增的順序排序,若相鄰的列數差值都未超過預先設定的門限T1,說明只有一個聚類中心,求出這些像素行列的平均值就是要找的眼球中心點;若超過了門限T1,說明這n個像素可以聚成兩類,對左眼,因為陰影、鏡腳集中在左邊,所以取右邊那類的平均值;對右眼,則取左邊那類的平均值;n的選擇可根據圖像Ep的總像素數目及眼球占圖像的大致百分比決定。
在用霍夫變換檢測眼球前,先用Canny算法提取邊緣。對于比較細長的眼睛,由于眼球的上半部分較多地被眼皮覆蓋,所以改用檢測下半圓,這樣更可靠且省時。設圖像空間為(i,j),i和j分別表示行和列,三維變換空間為(ie,je,R),其中ie、je分別代表眼球圓心的行和列,R為半徑。下半圓表達式為:
(1)
對于變換空間的每一個坐標點(ie,je,R),在圖像空間都對應一個半圓,在這個半圓上存在的邊緣點數就是變換空間上坐標點(ie,je,R)對應的值。變換空間上的峰值點坐標即為所求的眼球半圓參數。實驗證明,霍夫變換確實具有抗干擾能力強的優點。當眼球與眼白的對比度較低時,提取出來的邊緣是斷裂或不很規則的,即使如此,仍能根據變換空間中的峰值點準確地定位眼球圓心[2]。
(2)變形模板法
模板匹配法主要是模板的選擇,根據所選模板的維數可分為二維可變形模板和三維可變形模板。圖1為二維簡單眼睛模板,由于人臉的旋轉角度是任意的,當旋轉角度比較大時,其中一部分眼白就會看不見,所以為了適應人臉向兩側作較大角度的旋轉,就增加了兩個單眼白的簡單眼睛模板,當垂直旋轉角度大于30°時,就使用僅有左眼白的簡單眼睛模板,如圖1a所示,當旋轉角度大于-30°時,就使用僅有右眼白的簡單眼睛模板,如圖1b所示,若旋轉角度介于-30°和30°之間,就使用正常的雙眼白簡單眼睛模板,如圖1c所示。
圖1眼睛的變形模板
簡單二維眼睛模板可以用如下數學形式表示:
(2)
在進行眼睛定位時,不斷改變簡單眼睛模板的尺寸參數S和眼球中心位置參數(x,y),當模板與人臉圖像取得最佳匹配時的對應的尺度S就是眼睛的大小,中心位置(x,y)就是眼睛在人臉圖像中的位置。匹配時采用的能量函數與三維可變形模板中的能量函數類似。
三維可變形眼睛模板的生成源于人臉合成時用到的一般三維人臉模型。在一般三維人臉模型中,把眼睛特征點分截取出來,作為可變形眼睛模板的基本點。三維可變形眼睛模板是由10個基本三維點構成的,如圖2所示,其中外部8個點組成了上、下眼瞼,內部2個點,決定眼球的所有邊界,其余的眼瞼三維點是由外部8個基本點線性插值得來的,而眼球上的三維點是通過內部2點構成的空間來定的。
圖2三維眼睛模板
三維可變形眼睛模板可以用以下的數學形式來表示:
(3)
其中,參數X=(x1,x2,x3…,y1,y2,y3,…,z1,z2,z3,…)是由10個三維基本點的坐標組成,S表示三維可變形眼睛模板的尺度大小,θ表示眼睛模板的垂直旋轉角度,表示眼球的中心,也是整個三維眼睛模板的中心坐標。眼睛模板的可變形性就體現在不僅模型的尺度S、角度θ和眼球的中心是可變化的,而且眼睛模板的形狀參數X也是可變化的。當所有參數都進行變化時,將產生各種各樣的三維眼睛模板。在模板匹配時,需要把這些三維模板影射成如圖3所示的二維眼睛映射模板,然后針對這些二維眼睛模板定義相應的能量函數,用最小值搜索算法求得最佳匹配。此時所對應的眼睛模板坐標就是需要求的眼球中心。
圖.3三維眼睛模型在不同旋轉角度下的二維映射
(3)邊緣特征分析法
此算法所處理的圖像為單人灰度圖像,是利用圖像的垂直灰度投影曲線,根據凸峰寬度確定人臉的左右邊界,然后利用人臉區域的水平灰度投影曲線確定頭頂及鼻子中部形成的上下邊界。利用預測法先確定人眼在眉眼區域的大概位置,通過檢測眉眼部位的邊緣及邊緣分組,確定雙眼的坐標位置。
觀察不同單人臉圖像的垂直灰度投影曲線,可以發現人臉所在區域將使垂直灰度投影曲線形成一個具有一定寬度的凸峰。這個凸峰的左右邊界大致代表了人臉的左右邊界。當人臉的左右邊界確定之后,取左右邊界之間的人臉區域作為研究對象,作該圖像的水平灰度投影曲線,觀察人臉區域圖像的水平投影曲線可以發現,此曲線的第一個極小值點對應人的頭頂,因為頭發的低灰度產生了水平投影曲線的低谷,而曲線的最大值點和次最大值點分別對應人的額頭部位和人的鼻中部,這樣就可以輕易地求得人眼所處的大致水平位置(如圖4所示)。
在邊緣檢測前先對眉眼區域進行去噪、增強處理,使圖像平滑,這是保證下面邊緣檢測獲得較好效果的關鍵步驟。然后用Canny算子求出眉眼區域的邊緣圖像[4],求解時閾值取得較高,使得邊緣點僅由眉毛和眼睛的強邊緣以及瞳孔產生的強邊緣組成,而不會包含由鼻子的輪廓產生的弱邊緣。隨后將邊緣點進行分組,可以得到幾組分離的邊緣,其中位于下面的兩組分別為左右兩眼產生的邊緣,取這兩個邊緣組的中心作為人眼的中心。邊緣分組算法中,將分別包含每個邊緣分組的最小矩形作為人眼檢出,最先檢出的兩個分組分別對應左眼和右眼。當出現兩個分組后算法立即結束,提高了執行效率。
(a)原圖像
(b)在水平方向上的投影
(c)在垂直方向上的投影
圖4水平方向和垂直方向的投影結果示意圖
該算法的優勢在于首先通過灰度投影曲線確定眉眼區域,使數據量大大減少,然后在有效的邊緣檢測之后,使用了高效的邊緣分組策略,在保證正確率的基礎上,提高了算法速度。此算法的定位錯誤出現在頭部傾斜度過大,以及側光太強,還有頭部在圖像中所占區域過小的情況。
(4)對稱變換法
在計算機視覺研究中,對稱性被認為是物體的基本性質之一,通常在將物體從背景中分割出來后,用來簡化物體形狀的描述,或物體的近似。目前研究最多的是點對稱(也叫中心對稱)和軸對稱,對人臉而言,眼睛、鼻子、嘴巴等都有很弱的點對稱性,廣義對稱變換正是用來描述物體的點對稱。文獻[3]利用廣義對稱變換定位人眼進而提取臉部特征,文獻[4]在廣義對稱變換的基礎上,定義了一種方向對稱變換DST(DirectionalSymmetryTransform),用于人眼的精確定位。以上的對稱變換利用了人眼的中心強對稱和臉部特征的生理幾何分布,對人臉偏轉、臉部表情變化、光照變化等因素的左右不敏感,因而具有很好的魯棒性。但是,以上對稱變換的計算需要在大范圍的尺度上進行,計算量很大,而且,由于只是描述了各點的局部對稱性,當它用于人眼的定位時產生的候選點較多,不太利于眼睛的精確定位。
結合廣義對稱變化和方向對稱變換的優點,于是有了一種新的對稱變換——離散對稱變換,它不僅具有廣義對稱變換描述物體對稱性大小的特點,而且通過對各點領域的考察,去除那些處于規則區域外的點,可大大降低計算量,實現眼睛定位的快速算法。廣義對稱變換把圖像中的所有像素點同等對待,每個像素點都計算其對稱值。事實上,在圖像中物體的單一背景區域中,大面積的灰度均勻區域上的像素點在一定的尺度范圍內不具有明顯意義的對稱性,所以就不必計算它的對稱值,而這樣的像素點在人臉圖像中占了很大一部分,如頭發、臉部除眼、嘴等特征區域之外的區域及部分身體區域。眼、嘴、鼻子等特征區域在大于其輪廓的范圍內灰度有變化,這樣的區域我們把它稱為灰度不均勻區。離散對稱變換以減少計算量為出發點,在計算對稱之前加入一個對圖像灰度不均勻區域的檢測步驟以減少計算量,然后定義了一個與廣義對稱變化相似的對稱算子來計算點對稱。
離散對稱變換實際上可看成一種非線形濾波,由于對每個像素點都進行相同的領域處理,適合于并行處理,在定位圓形物體圓心時,算子領域采用圓環。通過圖像的離散對稱變換后,眼睛中心點附近像素的對稱值一般都處在對稱值最大的前四、五位,對具有強對稱值的候選點,采用兩條簡單的規則進行篩選。規則(1):鄰近像素合并,一般選取對稱值內最大的前10位候選點,將其中位置相鄰的候選點合并到它們中對稱值最大的像素處;規則(2):幾何約束判別,對經過規則(1)篩選后的候選點,利用眼在臉部的幾何分布性質進一步篩選,取基本符合眼睛分布規律的兩點作為最終的定位雙眼結果。
3基于膚色、幾何特征和灰度信息的人眼定位
根據人眼灰度變化非常明顯這一顯著特點,本文提出的基于膚色、幾何特征和灰度信息的人眼定位算法主要由以下幾步組成。
(1)膚色提取
膚色是人臉的重要信息,不依賴于面部的細節特征,對于旋轉、表情等變化情況都能適用,具有相對的穩定性并且和大多數背景物體的顏色相區別。AnilK.Jain曾專門統計研究了皮膚的色彩模型,他提出的方法屬于色彩空間中的聚類模型,這一類膚色模型的建立要選取一種合適的色彩空間。文獻
[1]采用非線形分段膚色分割得到膚色區域在CbCr空間中近似于橢圓,可用如下公式表示:
(5)
a=25.39,b=14.03,ecx=1.60,ecy=2.41,
θ=2.53,cx=109.38,cy=152.02,
若大于1則不是膚色,否則為膚色。
AnilK.Jain的Cb、Cr橢圓聚類方法膚色分割效果較好,但是對于亮度較低的區域容易誤判為膚色,對于亮度較高的膚色區域會誤判為非膚色區域。本文針對AnilK.Jain的Cb、Cr橢圓聚類方法膚色分割的缺點,首先對亮度信息進行分段判斷,這樣克服了在高亮度區域和亮度較低的區域中存在的不足。通過多次實驗統計表明,對于亮度小于80的非膚色像素點會誤判為膚色點,比如眼睛區域等。對與大于230的膚色像素點會誤判為非膚色點(如圖1所示)。因此采用如下分段方法:
①對于亮度低于80像素點直接判決為非膚色像素點。
②對于亮度在80—230之間的像素點采用膚色的橢圓聚類方法
③對于亮度大于230的像素點進行判決時,將膚色的聚類時的橢圓的長短軸同時擴大為原來的1.1倍
(a)原圖像(b)AnilK·Jain的方法(c)本文的方法
圖5膚色提取示意圖
圖5.c與圖5.b比較,在人眼區域此圖有更好更細致的檢測效果。實驗結果表明本文的方法較之其它的膚色提取方法在人的五官部分有更好更細致的檢測效果。
(2)膚色區域分析
因為人臉膚色建模是根據皮膚顏色來確定的,有可能把脖子、肩膀、手臂等膚色區域或是與膚色相近的其他物體也包括了進去,所以得到的只能是人臉的大致區域,需要進一步通過各種算法將那些非人臉區域盡可能都去除掉。為了排除非人臉區域,依據人臉區域的空間特征,本文選取了連通區域像素數、區域填充率和長寬比判斷因素。
●連通區域像素數
因為人臉有一定的大小,通常人臉小于19*19則無法識別,因此對于n值小于300的塊我們認為是非人臉將其值置為背景是合理的。
●區域填充率
對于二值化之后的一個連通區域,系統中使用該區域的像素數與外接矩形的像素數的比值來表征這個區域的空間屬性。假設S’是外接矩形的像素數,S為目標區域的像素數,若0.5<S/S’<0.9,就暫時保留該區域,否則就將其刪除。
●長寬比
通過對人臉特征的統計,人臉的長寬比應該大致在這樣的一個范圍內:0.6<人臉長寬比<1.5。考慮到人臉區域和脖子區域大都是連通的,所以實際處理中將比例修正到如下的范圍內:0.6<人臉長寬比<2。
通過以上判斷規則,得到的人臉候選區域結果(如圖6(a)所示)。
(3)形態學圖像處理
膚色提取后,圖像中仍然含有一些噪聲(主要在背景中)。噪聲的存在顯然會使后續的操作更為復雜。為了既能把圖像中的噪聲點去掉又能保持圖像有用信息不發生變化,本文使用形態學濾波器對人臉候選區域進行除噪。通過形態學處理不但可以過濾由于噪音或者其他原因引起的一些較小的不可能為人臉的類膚色區域,減少候選區域和提高檢測速度,而且可以填補膚色區域內的較小空洞,防止這些空洞被誤認為是人臉器官所造成,為后續檢測區域降低了誤判的可能性。
(a)標記人臉侯選區域(b)形態學濾波后的圖像(c)人眼粗定位結果
圖6眼睛粗定位示意圖
(4)基于幾何規則的人眼粗檢測
經過以上步驟處理,系統基本上可以得到人臉器官的色塊圖,而各個色塊的中心點是眼睛的候選點。通過人臉面部的幾何特征規則,可以迅速粗略檢測出人眼,其結果如圖6(c)所示。規則如下:
①在候選人臉區域上面的1/2區域內,搜索孤立黑塊,并求出各個黑塊的中心點坐標。在求中心點坐標時,本文使用公式(6)計算黑塊像素點的平均坐標點作為中心點坐標,并將中心點的坐標按x坐標值由小到大進行排序。Bm×2是黑塊像素點的坐標矩陣,一共m行,B(i,1)是黑塊像素點的橫坐標,B(i,2)是黑塊像素點的縱坐標。
(6)
②雙眼中心距應在某個范圍之內(如30~100個像素距離)。
③雙眼中心點的連線與x軸正向夾角應在一定范圍之內(如-π/18~π/18)。
在上述過程中,已經初步確定了候選眼睛對。但由于眉毛在眼睛的上方,若只依據上述規則定位眼睛,我們常常會碰到以下兩種情況:①檢測到眼睛對和眉毛對;②檢測到眼睛對以及眼睛-眉毛對。然而,人眼既具有灰度值較低的區域,同時也具有灰度值較高的區域,且灰度值具有突變性。因此,本文就根據人眼灰度變化非常明顯這一特征,通過計算候選眼睛對的灰度復雜度來進行精確定位。
假設檢測出的圖像塊,每塊總共m行n列,則圖像塊的復雜度Com(k)的計算公式由(7)定義。
(7)
其中,Bi,j為圖像塊第i列第j行像素點的灰度值。
此圖像塊的復雜度公式Com(k)計算了圖像塊灰度值的縱向一階加權導數,min(j,m-j)即為權,離圖像中心越近導數的權越大,橫向坐標沒有加權。實驗證明,這種定義符合人臉特征器官復雜度的計算。類似的也可以有橫向一階加權導數。但是通過實驗發現人眼的縱向一階加權導數大,所以我們采用圖像塊灰度值的一階縱向加權導數。
(a)相應的灰度圖像(b)人眼精確定位結果
圖7眼睛精確定位示意圖
計算候選眼睛塊的圖像復雜度,根據人眼灰度變化非常明顯這一特征,找出復雜度最大的兩小塊,即為要找的眼睛塊(如圖7(b)所示)。
4實驗結果分析
根據上面介紹的5個步驟,對眼睛的定位實驗結果如圖8所示。
(a)原圖像(b)膚色提取后的圖像(c)標記人臉候選區域
(d)形態學濾波結果(e)人眼粗定位結果(f)人眼精確定位結果
圖8基于膚色、幾何特征和灰度信息的人眼定位結果示意圖
通過實驗結果可得到如下結論:
①采用由粗到精的檢測策略,先通過膚色特征對人臉區域進行預選,再用幾何特征進行人眼粗定位,具有很高的檢測速度;本文針對AnilK·Jain的Cb、Cr橢圓聚類法的缺點,增加了亮度信息的判斷,實驗證明,該方法能很好的提取人臉面部的眼睛、嘴巴等;
②經過幾何特征進行粗定位后,再充分利用人眼灰度變化明顯這一特征,計算候選眼睛對的灰度復雜度,對眼睛進行精確定位;
③本檢測算法具有很強的魯棒性,受背景環境、尺寸大小影響小。
5小結
一般的眼睛定位算法分為兩個步驟:(1)粗定位。在精確定位眼球中心前一般要找到眼睛的大致位置,常見的方法有:對稱性法、邊緣點積分投影曲線極值位置判斷法、神經網絡法、多分辨率的馬賽克圖法等。(2)眼球的精確定位。常用的方法有:基于霍夫變換、幾何及對稱性檢測、彈性模板等等。每個算法都有自己的優點和缺點也即局限性,如計算量太大、計算速度慢、算法不容易實現或正確定位率不高等。主要原因是由于人臉作為一個非鋼體,在信息輸入時存在尺度、位置、姿態變化問題,很難做到面面俱到,十全十美的算法。
本文提出的基于膚色、幾何特征和灰度信息的人眼定位算法有效的平衡了檢測速度和穩定性之間的矛盾,實驗證明,該算法定位效率高,并對背景、尺寸等細節具有很好的適應性,在人臉實時檢測系統中具有很好的應用價值。
參考文獻
[1]Rein-LienHsuandAnilK.Jain,FaceDetectioninColorImages[J]IEEETrans.PatternAnalysisandMachineIntelligence,may2002
[2]王磊,莫玉龍.基于霍夫變換和眼睛彈性模板的眼睛特征提取[J].紅外與毫米波學報,1999,2(18):53-60
[3]CaiJ.GoshtasbyA..Detectingfaceincolorimages.ImageandVisionComputing[J],1999,18(1):63-75
[4]CannyJ.AComputationalApproachtoEdgeDetection[J].IEEETransPatternAnal&MachIntell,1986,8(6):619-698
[5]于威威,滕曉龍等.復雜背景下人眼定位及人臉檢測.計算機仿真[J],2004第21卷,第7期
[6]陳楊,陳榮娟等編著.MATLAB6.X圖形編程與圖像處理[M].西安:西安電子科技大學出版社
[7]朱夏君.人臉識別的研究及眼睛定位算法[C].碩士學位論文,浙江工業大學,2004
- 上一篇:市工商局副局長履職守廉述職報告
- 下一篇:河務局個人述職述廉報告