王志楊 劉金龍 江力
摘 要:針對(duì)人臉識(shí)別的預(yù)處理,采用圖像處理技術(shù)解決了人臉檢測(cè)問(wèn)題。首先建立輸入圖像的膚色模型,然后進(jìn)行開(kāi)運(yùn)算處理,以消除圖像噪聲利于后面的眼睛定位。再對(duì)二值圖像做灰度投影實(shí)現(xiàn)人臉粗分割,定位雙眼。最后對(duì)細(xì)化分割出來(lái)的人臉區(qū)域進(jìn)行標(biāo)準(zhǔn)化操作,包括灰度的均衡處理和Mallat算法二維小波分解?;叶染獍言紙D像的直方圖變換為均勻分布的形式,增加像素灰度值的范圍。小波分解可以壓縮圖像,以降低算法的復(fù)雜度。每個(gè)步驟通過(guò)處理前后人臉圖像的對(duì)比彰顯所做步驟的意義。人臉檢測(cè)的最終結(jié)果是獲得64×64大小的人臉圖像。此圖像包含了人臉的有效信息,在此圖像的基礎(chǔ)上才能進(jìn)行后續(xù)的提取特征、設(shè)計(jì)支持向量機(jī),進(jìn)而做人臉識(shí)別。
關(guān)鍵詞:圖像處理;人臉檢測(cè);灰度均衡;小波分解;膚色建模
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1672-1098(2014)03-0033-06
要識(shí)別圖像中的人臉,首要的一點(diǎn)就是要找到人臉。人臉檢測(cè)與跟蹤就是研究如何從靜態(tài)圖片或者視頻序列中找出人臉的所在區(qū)域,如果存在人臉,則輸出人臉的位置及其大小。人臉跟蹤就是要在檢測(cè)到人臉的基礎(chǔ)上,在后續(xù)的人臉圖像中繼續(xù)捕獲人臉的位置及其大小等性質(zhì)。人臉檢測(cè)是人臉身份識(shí)別的前期工作。同時(shí),人臉檢測(cè)作為完整的單獨(dú)功能模塊,在智能視頻監(jiān)控、視頻檢索和視頻內(nèi)容組織等方面有直接的應(yīng)用[1]。
目前做人臉檢測(cè)的方法大致有:神經(jīng)網(wǎng)絡(luò)的方法、基于特征的方法和基于圖像的方法等。其中,神經(jīng)網(wǎng)絡(luò)的方法是用許多的訓(xùn)練數(shù)據(jù)(一部份是臉部的、一部份是非臉部的)去訓(xùn)練神經(jīng)網(wǎng)絡(luò),使其可以辨識(shí)出什么圖像是臉、什么圖像不是臉。基于特征的方法是利用人臉部的一些特征來(lái)檢測(cè)人臉,例如:人臉上有眼睛、鼻子、嘴巴,而這些器官都有固定的相對(duì)位置;就整張臉而言,大概是呈橢圓形,而臉和背景之間大致會(huì)有邊緣線;諸如此類,有許許多多的特征可利用。而基于圖像的方法,則是利用人臉部的顏色來(lái)判斷某圖像是否是臉,若圖像是彩色的,知道臉的顏色是黃、白、褐、深褐色,若圖像是灰度的,人臉的灰度顏色的變化并不會(huì)太大,而眼睛、嘴巴、頭發(fā)會(huì)是較黑的部份[2]。
同灰度圖像相比,彩色圖像能夠提供更多有關(guān)于目標(biāo)物體的信息,彩色圖像處理方法具有比灰度圖像處理方法更大的優(yōu)越性?;趫D像的方法運(yùn)算量小,膚色是人臉的重要信息,不依賴于面部的細(xì)節(jié)特征,對(duì)于旋轉(zhuǎn)、表情等變化情況都能適用,具有相對(duì)的穩(wěn)定性并且和大多數(shù)背景物體的顏色相區(qū)別,因此膚色特征在人臉檢測(cè)中是最常用的一種特征[3]。
本課題設(shè)計(jì)了一套人臉識(shí)別的技術(shù)路線,僅探討標(biāo)準(zhǔn)化處理前的人臉檢測(cè)部分。
人的皮膚顏色分布在顏色空間中很小的一個(gè)范圍內(nèi),呈聚類特性,特別是在排除了光照亮度和在經(jīng)過(guò)某種變換的色彩空間中。所以利用膚色這一線索,可以排除掉在灰度圖像中很像人臉而對(duì)應(yīng)到彩色圖像中根本不是膚色的區(qū)域,這在人臉檢測(cè)中會(huì)起到積極的作用,膚色模型正是建立在此基礎(chǔ)之上的,并且人們提出了不同色彩空間的膚色模型表示方法。常見(jiàn)的色彩表示方法是基于三基色理論的RGB空間,由RGB空間經(jīng)過(guò)變換,可以得到各種色度空間表示,有HIS,YCbCr等[4]。
CbCr分量組成的二維聚類區(qū)域排除了大部分非人臉區(qū)域,但由于CbCr是直接由RGB色彩格式通過(guò)線性變換得到,沒(méi)有完全分離出亮度信息,因此對(duì)光照比較敏感。膚色聚類呈兩頭尖的紡錘形狀。若只采用二維的膚色CbCr模型,在值較大和較小的部分,被錯(cuò)誤檢測(cè)為膚色的區(qū)域?qū)⒋蟠笤黾?。在進(jìn)行膚色建模的時(shí)候,YCbCr空間中的亮度和色度的分離度越大越好,但是實(shí)際操作中這二者總是存在一定的依賴關(guān)系,要做的就是盡量消除它們之間的依賴關(guān)系,分段的非線性轉(zhuǎn)換就是為了這一目的。
2 二值圖像開(kāi)運(yùn)算和閉運(yùn)算
形態(tài)學(xué)變換膨脹采用向量加法對(duì)兩個(gè)集合進(jìn)行合并。膨脹XB是所有可能向量加之和的集合,向量加法的兩個(gè)操作數(shù)分別來(lái)自于X和B,并且取到任意可能的組合[6]。
膨脹用來(lái)填補(bǔ)物體中小的空洞和狹窄的縫隙,它使物體的尺寸增大。
腐蝕Θ對(duì)集合元素采用向量減法,將兩個(gè)集合合并,腐蝕是膨脹的對(duì)偶運(yùn)算。
腐蝕簡(jiǎn)化了物體的結(jié)構(gòu),某些物體或物體的部分將被去掉, 腐蝕和膨脹不是互逆變換。
開(kāi)運(yùn)算是對(duì)圖像先腐蝕后再膨脹,得到的不是原始圖像。
根據(jù)開(kāi)啟和閉合的特點(diǎn),通??梢岳瞄_(kāi)啟刪除圖像中的小分支,利用閉合填補(bǔ)圖像中的空穴。用B=111111
將經(jīng)過(guò)膚色建模的圖像進(jìn)行開(kāi)運(yùn)算處理,消除部分噪聲以利于下面的眼睛定位(見(jiàn)圖4),可見(jiàn)眼睛所在的區(qū)域非常清晰[7]。
圖像分割是一種基本的計(jì)算機(jī)視覺(jué)技術(shù),是從圖像處理到圖像分析的關(guān)鍵步驟。有效合理的圖像分割能夠?yàn)榛趦?nèi)容的圖像檢索、對(duì)象分析等抽象出十分有用的信息,從而使得更高層的圖像理解成為可能[8]。
對(duì)于經(jīng)過(guò)膚色建模后的二值圖像,很容易分割出人臉區(qū)域,本文采用灰度積分投影的方法,利用人臉圖像的垂直灰度投影確定左右邊界,利用水平灰度投影確定上下邊界。設(shè)人臉灰度圖像為f(x,y),其大小為m×n,定義圖像的水平灰度投影為
選擇適當(dāng)?shù)耐队伴撝导纯蓪?shí)現(xiàn)人臉的粗分割(見(jiàn)圖5)。在本文中分割人臉的目的在于減小搜索區(qū)域,更加方便地定位雙眼,因此分割區(qū)域選擇首先要包含雙眼在內(nèi),其次盡量排除其他對(duì)雙眼定位有干擾的區(qū)域,如頭發(fā)等,所以沒(méi)有實(shí)現(xiàn)人臉的完全分割,而是實(shí)現(xiàn)的部分分割,以包括雙眼在內(nèi)為首要目的。
眼睛定位對(duì)于能否自動(dòng)有效地實(shí)現(xiàn)識(shí)別算法起著重要的作用,由于人臉是非剛性的,同一人的臉因表情變化會(huì)差異很大,但同一人的兩眼間距相對(duì)變化是較小的,并且雙眼對(duì)于人臉中線對(duì)稱,因此雙眼的位置及其間距自然成為人臉圖像幾何歸一化的依據(jù)[9]。
在雙眼定位的算法中,使用膚色建模經(jīng)過(guò)開(kāi)運(yùn)算的二值圖像作為基準(zhǔn)圖像,搜索的區(qū)域?yàn)樯弦徊侥w色分割得到的人臉區(qū)域(見(jiàn)圖6)。
1) 根據(jù)分割得到的人臉基準(zhǔn)區(qū)域大小定義一個(gè)小窗口,算法中使用的小窗口長(zhǎng)寬分別為分割區(qū)域的1/10和1/20;
2) 在基準(zhǔn)區(qū)域中分左右眼兩個(gè)區(qū)域移動(dòng)小窗口,并計(jì)算窗口中可能是眼睛點(diǎn)的像素個(gè)數(shù),當(dāng)個(gè)數(shù)超過(guò)某一閾值(小窗口面積的1/2)時(shí)將小窗口的中心點(diǎn)紀(jì)錄下來(lái),作為眼睛候選區(qū)域內(nèi)的點(diǎn);
3) 在左右眼每個(gè)半?yún)^(qū)中,當(dāng)出現(xiàn)把眉毛誤認(rèn)為眼睛的時(shí)候,可以按照眉毛在眼睛上方這一先驗(yàn)知識(shí)予以取舍;
4) 左右半?yún)^(qū)都篩選了一個(gè)區(qū)域以后,就可以得到左右眼睛的中心點(diǎn)。
使用移動(dòng)窗口的好處是它相當(dāng)于一個(gè)噪聲消除裝置,可以將滿足條件的孤立區(qū)域連接起來(lái)得到更大的區(qū)域,利于確定眼睛中心點(diǎn)。
5 細(xì)化分割
確定眼睛中心點(diǎn)以后,對(duì)大小不同或存在不同傾斜程度的人臉圖像進(jìn)行幾何歸一化處理是必要的。細(xì)化分割主要步驟是旋轉(zhuǎn)人臉圖像使兩眼中心連線保持水平,以雙眼間距d為參照距離,以雙眼連線中點(diǎn)為參照中心,沿中心的左右上下方向距離分別為d、d、0.5 d、1.5 d切割出大小為2d×2d的人臉圖像,再將該圖像放大或縮小到指定的標(biāo)準(zhǔn)尺寸[10]。本文將人臉幾何歸一化為256×256大?。ㄒ?jiàn)圖7)。
6.1 灰度均衡處理
細(xì)化分割后還應(yīng)做灰度均衡處理,此處采用直方圖的灰度均衡方法(見(jiàn)圖8)。這個(gè)方法的基本思想是把原始圖像的直方圖變換為均勻分布的形式,這樣就增加了像素灰度值的動(dòng)態(tài)范圍,增強(qiáng)了靠近直方圖極大值附近的亮度對(duì)比度,減小了極小值附近的對(duì)比度。原始圖像的直方圖用H(p)表示,輸入的灰度級(jí)范圍是[p0,pk]。
1) 對(duì)于有G個(gè)灰度級(jí)大小為M×N的圖像,創(chuàng)建一個(gè)長(zhǎng)為G的數(shù)組H,并初始化為0;
2) 形成直方圖。掃描每個(gè)像素,增加相應(yīng)的H成員,當(dāng)像素p具有亮度gp時(shí),做H[gp]=H[gp]+1;
3) 形成累積直方圖HC。 HC[0]=H[0], HC[p]=HC[p-1]+H[p];
4) 設(shè)置T[p]=round(G-1M×NHc[p]),并重新掃描圖像得到一個(gè)具有灰度級(jí)gp的輸出圖像,設(shè)置gp=T[gp]。
(a)均衡前 (b)均衡后
均衡后的圖像,仍包含較多冗余信息,圖像容量較大??梢圆捎眯〔ㄗ儞Q,壓縮圖像,以降低后續(xù)算法的復(fù)雜度。小波變換是一種信號(hào)的時(shí)間-尺度分析方法,它具有多分辨率分析的特點(diǎn),而且在時(shí)頻兩域都具有表征信號(hào)局部特征的能力,是一種窗口大小固定不變,但其形狀可變(時(shí)間窗和頻率窗都可變)的時(shí)頻局部化分析方法。即在低頻部分具有較高的頻率分辨率和較低時(shí)間分辨率,在高頻部分具有較高的時(shí)間分辨率和較低的頻率分辨率,很適合探測(cè)正常信號(hào)中夾帶的瞬態(tài)反?,F(xiàn)象并展示其成分,所以被譽(yù)為分析信號(hào)的顯微鏡[11]。
二維小波函數(shù)是通過(guò)一維小波函數(shù)經(jīng)過(guò)張量積變換得到的,二維小波函數(shù)分解是把尺度j的低頻部分分解成四部分:尺度j+1的低頻部分和三個(gè)方向(水平、垂直、斜線)的高頻部分??梢詫⒍S小波分解應(yīng)用于人臉圖像的表示,經(jīng)過(guò)適當(dāng)層次的小波分解后得到的低頻子帶圖像有以下特點(diǎn):經(jīng)k層小波分解后得到的像素點(diǎn)數(shù)是原圖的1/4k,分解后的低頻子帶圖像對(duì)表情變化不敏感。
在多分辨率分析的基礎(chǔ)上,Mallat算法是基于濾波器組的小波分解和小波重構(gòu)算法,通過(guò)它可以實(shí)現(xiàn)信號(hào)多分辨的快速分解。
Mallat算法通過(guò)一組分解濾波器h⌒(低通濾波器)和g⌒(高通濾波器)對(duì)信號(hào)進(jìn)行濾波,然后對(duì)輸出結(jié)果進(jìn)行下二采樣來(lái)實(shí)現(xiàn)小波分解,分解的結(jié)果是產(chǎn)生長(zhǎng)度減半的兩個(gè)部分,一個(gè)是經(jīng)低通濾波器產(chǎn)生的原始信號(hào)的平滑部分;另外一個(gè)是由高通濾波器產(chǎn)生的原始信號(hào)的細(xì)節(jié)部分。重構(gòu)時(shí)使用一組h和g合成濾波器對(duì)小波分解的結(jié)果濾波,再進(jìn)行上二采樣來(lái)重構(gòu)信號(hào)。多級(jí)小波分解通過(guò)級(jí)聯(lián)的方式進(jìn)行,每一級(jí)的小波變換都是在前一級(jí)分解產(chǎn)生的低頻分量上的繼續(xù),合成是分解的逆運(yùn)算。低頻分量上的信息比較豐富,能量集中;高頻分量上的信息分量多為零,細(xì)節(jié)信息豐富,能量較少。Mallat小波使得復(fù)雜的小波變成了簡(jiǎn)單的濾波器系數(shù),大大降低了其應(yīng)用的復(fù)雜度。利用Mallat算法進(jìn)行信號(hào)的正交小波分解與合成如圖9所示。
圖9 Mallat算法 小波分解層數(shù)過(guò)多,雖然冗余度降低,但丟失較多信息。本文采用二層小波分解。在對(duì)圖像進(jìn)行二維分解時(shí),先對(duì)一個(gè)方向(水平方向或垂直方向)進(jìn)行濾波,再對(duì)另一個(gè)方向進(jìn)行濾波。通過(guò)濾波,將圖像分解為四個(gè)子圖,LL表示水平方向和垂直方向都是低頻濾波。對(duì)一幅圖像來(lái)說(shuō),其高頻信息主要集中在邊緣、輪廓和某些紋理的法線方向上,低頻信息占據(jù)圖像大部分內(nèi)容,所以分解主要做低頻處理。
經(jīng)過(guò)兩層小波分解后的LL人臉圖像,其大小為64×64(見(jiàn)圖10)。
7 結(jié)論
經(jīng)過(guò)該算法,人臉檢測(cè)后可以在采集的圖像中搜索出人臉,最終獲得了64×64大小的人臉圖像,該圖像去除了人臉中的冗余信息,且最大限度的保留了人臉中的有效成分,圖像容量較小,可以降低后續(xù)算法的復(fù)雜度。每幅被采集人臉圖像都將重復(fù)上述過(guò)程,以獲得多幅圖像。該圖像是計(jì)算特征臉和設(shè)計(jì)支持向量機(jī)的基礎(chǔ),基于該圖可以做人臉識(shí)別。參考文獻(xiàn):
[1] 梁路宏, 艾海舟, 徐光祐, 等. 人臉檢測(cè)研究綜述[J]. 計(jì)算機(jī)學(xué)報(bào),2009, 25(5):449-458.
[2] 劉青山, 盧漢清, 馬頌德. 綜述人臉識(shí)別中的子空間方法[J]. 自動(dòng)化學(xué)報(bào),2006, 29(6):900-911.
[3] GRUDIN M A. On internal representations in face recognition systems[J]. Pattern Recognition, 2011, 33:
1 161-1 177.
[4] REIN-LIEN HSU, ABDEL MOTTABLEB M, JAIN A K.Face detection in color images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2002, 24(5): 696-706.
[5] 姜軍,張桂林. 一種基于知識(shí)的快速人臉檢測(cè)方法[J].中國(guó)圖像圖形學(xué)報(bào):A輯,2002,7 (1): 6-10.
[6] HJELMAS E, LOW BK.Face detection: A survey[J].Computer Vision and Image Understanding,2010,83(3): 236-244.
[7] YANG MH,KRIEGMAN D,AHUJA N.Detecting faces in images:A survey[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2008,24(1):34-48.
[8] DAUGMAN J. Face and gesture recognition: overview[J]. IEEE PAMI,1997, 19(7): 675-676.
[9] Fu H C,LAI P S. Face detection and eye location by neural network based color segmentation[J]. Proceedings of neural Networks for Signal Processing, Sydney, Australia, 2011(2): 507-516.
[10] 陶亮,莊鎮(zhèn)泉. 一種基于個(gè)人身份認(rèn)證的正面人臉識(shí)別算法[J]. 中國(guó)圖像圖形學(xué)報(bào): A輯, 2003, 8(8):860-865.
[11] 祝海龍, 屈梁生, 張海軍. 基于小波變換和支持向量機(jī)的人臉檢測(cè)系統(tǒng)[J]. 西安交通大學(xué)學(xué)報(bào), 2007, 36(9):947-950.
(責(zé)任編輯:何學(xué)華,吳曉紅)