汪嘉明,趙發(fā)友
(上海大學(xué)理學(xué)院,上海200444)
人臉檢測相關(guān)研究始于20世紀(jì)60年代末期,主要是利用人臉的幾何特征進(jìn)行檢測,這類方法簡單易行,但是很容易丟失人臉的有用信息[1]。人臉檢測的方法主要包括基于特征的方法[2]、基于知識的方法[3]、基于模板匹配的方法、基于統(tǒng)計學(xué)習(xí)的方法[4]?;谔卣鞯姆椒ㄊ翘崛∪四樏娌磕w色、紋理等不變特征來對輸入圖像進(jìn)行人臉檢測;基于知識的方法利用先驗(yàn)知識根據(jù)眼睛、鼻子、嘴巴等器官的特征和空間位置來檢測人臉;基于模板匹配的方法關(guān)鍵是建立標(biāo)準(zhǔn)的模板,用模板來刻畫人臉的面部特征,計算圖像中子窗口和標(biāo)準(zhǔn)人臉模板之間的相似性,根據(jù)相似性判別輸入圖像中是否存在人臉;基于統(tǒng)計的方法則將人臉看作一個整體的模式,從統(tǒng)計的觀點(diǎn)通過大量人臉圖像樣本構(gòu)造人臉模式空間,根據(jù)相似度來判斷人臉是否存在。
在圖像馬賽克研究領(lǐng)域,研究人員提出過許多生成不規(guī)則分塊圖像馬賽克的方法,突破了長方形圖像分塊單元的局限。Hausner采用質(zhì)心Voronoi圖以及從用戶指定輪廓計算得出的距離場方法生成馬賽克圖像分塊,并用均一顏色對每個分塊進(jìn)行填充,從而模擬古典裝飾馬賽克效果[5]。隨后Dobashi等擴(kuò)展了Haeberli的想法,將圖像特征邊緣信息加入Voronoi圖生成過程中,從而大大提高了生成圖像馬賽克結(jié)果的質(zhì)量[6]。最近Orchard和Kaplan提出一種“cut.out”圖像馬賽克,他們提取原圖像中各個不同部分組成圖像數(shù)據(jù)庫,然后采用數(shù)據(jù)庫中的圖像表現(xiàn)源圖像[7]。Liu等針對馬賽克生成問題,設(shè)計一個全局能量優(yōu)化框架用于生成圖像馬賽克[8]。現(xiàn)在高清攝像頭獲取的靜態(tài)圖像或者視頻中可以清楚看到人臉部信息,為保護(hù)個人隱私,在公開相關(guān)信息時需要進(jìn)行馬賽克處理隱藏人臉部分。人臉檢測是實(shí)現(xiàn)人臉馬賽克的第一環(huán)節(jié),因此,研究實(shí)現(xiàn)高效的人臉檢測算法和人臉馬賽克處理方法是十分重要的。
人臉馬賽克需要先進(jìn)行人臉檢測,人臉檢測效果直接影響人臉馬賽克處理。本文人臉馬賽克方法主要分為3個模塊:圖像預(yù)處理、人臉檢測、人臉馬賽克處理。
在圖像與視頻采集、傳輸、存儲過程中,由于外部環(huán)境等因素的影響,不可避免地存在噪聲問題,這會嚴(yán)重影響后續(xù)的人臉檢測效果。預(yù)處理的目的就是去除圖像中的噪聲,強(qiáng)化圖像中的有用信息,提高圖像的質(zhì)量,使人臉檢測更精確。圖像預(yù)處理技術(shù)現(xiàn)在發(fā)展得比較成熟[9],主要步驟如圖1所示。
圖1 預(yù)處理流程
鑒于圖像像素在空間上的高度相關(guān)性,本文采用高斯濾波方法去除圖像中的噪聲。高斯濾波的優(yōu)點(diǎn)在于其線性特征,它能有效地過濾噪聲、平滑圖像。高斯濾波的原理與均值濾波類似,輸出濾波器窗口內(nèi)像素的均值。但均值濾波的模板系數(shù)都是1,而高斯模板系數(shù)隨著距中心距離的增大而減小。這樣相比于均值濾波,圖像經(jīng)高斯濾波處理后,圖像更加清晰,并使得圖像細(xì)節(jié)部分能夠得到有效保護(hù)。圖像縮放使用雙線性插值法,保證像素點(diǎn)大小在未經(jīng)改變的基礎(chǔ)上,對原圖像進(jìn)行處理,并采用直方圖均衡化的方法對圖像進(jìn)行非線性拉伸,使得峰頂對比度增強(qiáng),谷底對比度減弱。在所要求的灰度范圍內(nèi),對原始圖像灰度進(jìn)行映射與變換,降低光源的影響,提高人臉檢測效率。
研究基于膚色的人臉檢測技術(shù)需要選取膚色顏色空間和建立膚色模型。由于目前硬件設(shè)備采集的彩色圖象都是在RGB色彩空間,但RGB彩色空間不適合膚色上的差異,因此需要將RGB色彩空間轉(zhuǎn)化為YCbCr色彩空間。YCbCr色彩空間是亮度和色度分離的一種色彩空間,適用于膚色在色度上的差異遠(yuǎn)小于亮度上差異的特點(diǎn),有利于將膚色區(qū)域的亮、色分離。RGB色彩空間可以根據(jù)它們之間的關(guān)系式直接轉(zhuǎn)換為YCbCr色彩空間,相關(guān)關(guān)系參見文獻(xiàn)[10]。
當(dāng)實(shí)現(xiàn)圖像色彩空間的轉(zhuǎn)換后,建立高斯膚色模型。由于高斯膚色模型具有統(tǒng)計學(xué)意義,可認(rèn)為符合正態(tài)分布的隨機(jī)樣本也符合高斯模型。高斯型函數(shù):
其中,Cb和Cr分別表示藍(lán)色和紅色的濃度偏移量成份,x=[Cb,Cr]T為樣本像素在YCbCr空間的值;m=為YCbCr空間的樣本均值;為膚色相似度的2×2協(xié)方差矩陣[11]。
將樣本的每一個點(diǎn)在YCbCr空間上的值帶入高斯函數(shù),令第i個點(diǎn)相似度值為
因?yàn)镾(i)的范圍為[0,255],因此根據(jù)膚色相似度所對應(yīng)的值可以確認(rèn)膚色。
這樣,通過高斯膚色模型,對每一個像素點(diǎn)進(jìn)行膚色相似度判斷,就產(chǎn)生以膚色點(diǎn)為白、非膚色點(diǎn)為黑的黑白區(qū)域。再對黑白圖像進(jìn)行形態(tài)學(xué)處理,將面部區(qū)域聯(lián)通起來。但是通過膚色區(qū)域定位操作就能正確標(biāo)記出人臉區(qū)域是不夠的,在研究中發(fā)現(xiàn),不同人的五官位置存在一定的共性。因此,通過檢測臉部眼、鼻子、嘴巴等五官來確定是否是臉部區(qū)域,對顯示為白色的面部進(jìn)行加框,即檢測到人臉的圖片。
人臉馬賽克處理就是把檢測的人臉區(qū)域分割成小矩陣,然后按照橫向、縱向、斜向和橫縱向等4種涂抹方式把小矩陣中像素涂抹成相同像素值。對涂抹灰度值,采用相鄰點(diǎn)像素求平均值的方法,即
D( i,j )代表第i行第j列的像素值。
為了驗(yàn)證本文方法的有效性和可行性,實(shí)驗(yàn)采用主頻為2.5 GHz、操作系統(tǒng)為Microsoft Windows7、CPU為Inter(R)Core(TM)、處理器為i5 7 200U、4G內(nèi)存的PC機(jī),借助Matlab 2014a搭建實(shí)驗(yàn)環(huán)境。驗(yàn)證人臉庫是從互聯(lián)網(wǎng)上找出的80幅不同的含單人人臉和多人人臉圖片。圖像中單人人臉馬賽克處理相對簡單,對圖像進(jìn)行預(yù)處理,然后檢測出圖像中人臉區(qū)域,最后對人臉區(qū)域馬賽克處理,效果如圖2所示。本實(shí)驗(yàn)基本能成功地檢測出了人臉,檢測準(zhǔn)確率高達(dá)96.05%,誤檢率為10.1%,檢測效果較好。利用Matlab軟件的運(yùn)行計時功能,發(fā)現(xiàn)每一張大小為600×400的圖片完成馬賽克總耗時為18~24 s,能夠迅速地實(shí)現(xiàn)人臉檢測與馬賽克效果,本文算法效率高,耗時短。
圖2 部分實(shí)驗(yàn)結(jié)果
圖3 給出多姿態(tài)、多表情的人臉檢測及馬賽克效果實(shí)驗(yàn)結(jié)果。通過高斯膚色模型,先對每一個像素點(diǎn)進(jìn)行膚色相似度判斷,產(chǎn)生以膚色點(diǎn)為白、非膚色點(diǎn)為黑的黑白區(qū)域;再利用bwlabel函數(shù)對黑白圖像進(jìn)行形態(tài)學(xué)處理;最后對顯示為白色的面部進(jìn)行加框,即檢測到人臉的圖片。利用imresize圖像再對圖像縮放得到馬賽克圖像,將框外黑色內(nèi)容以原圖像顯現(xiàn)即得到打碼圖片。
在信息處理過程中,人臉檢測與人臉馬賽克意義重大。每一個人的臉都有獨(dú)一無二的面部特征,借助人臉,可確認(rèn)出每一個人的信息,是行走的“身份證”。而對人臉進(jìn)行打碼操作,則可有效保護(hù)個人隱私。本文利用Matlab軟件實(shí)現(xiàn)人臉檢測與人臉馬賽克,優(yōu)點(diǎn)主要有3個方面。人臉檢測率高,相比于動態(tài)自適應(yīng)調(diào)整Haar檢測函數(shù)閾值檢測人臉的常規(guī)方法,該方法將人臉檢測率從95.47%提高到了96.05%;利用Matlab軟件同步進(jìn)行人臉檢測與馬賽克,規(guī)避了一般算法只能單獨(dú)進(jìn)行檢測或馬賽克的不足,提高了效率;利用Matlab軟件,算法程序較為簡單,只需擁有基礎(chǔ)的編程知識并且熟識Matlab操作即可。
圖3 人臉檢測與人臉馬賽克全過程