游清清+諶海云+駱俊+王小怡
摘 要:人臉檢測是人臉識別的組成部分。近年來,人臉檢測逐漸發(fā)展成為獨立的課題,同時也越來越受到學者們的重視。文章對人臉檢測的發(fā)展歷史和研究現(xiàn)狀等進行了闡述,通過整理分析人臉檢測相關(guān)文獻,并對人臉檢測進行了分類,對比了各個方法的優(yōu)缺點,最后討論了人臉檢測今后的研究方向。
關(guān)鍵詞:人臉檢測;人臉識別;模式識別;機器學習
1 人臉檢測概述
隨著計算機網(wǎng)絡技術(shù)的發(fā)展,模式識別與計算機視覺受到專家學者們的廣泛關(guān)注。其中人臉識別也逐漸成了近年來各領域的研究熱點,人臉檢測作為人臉識別的基礎,在人臉識別中占非常重要的地位。
人臉檢測問題起源于人臉識別。與人臉識別有著密不可分的聯(lián)系,是人臉識別中非常重要且具有挑戰(zhàn)性的環(huán)節(jié),其主要內(nèi)容是檢測人臉圖像中是否存在人臉。人臉檢測對于人來說非常簡單,但是對于機器來說卻相當復雜。對于機器檢測人臉時,其主要目標就是在低計算量的前提下保證高的準確率。
目前影響人臉檢測效果的主要因素有:(1)人臉姿態(tài)。相機成像時的位置會影響人臉圖像的面部姿態(tài),可能會導致雙眼不在水平的一條直線上。(2)遮蓋物。對于單個人臉圖像來說,可能被遮蓋物遮擋;而對于多人臉圖像來說,人臉圖像可能相互遮擋或者被其他背景所遮擋。(3)光照強度。拍攝人臉圖像時的光照強度不同將使得人臉圖像的灰度分布不均勻,造成局部對比度大,從而影響人臉檢測的效果。(4)面部表情。人的面部表情將直接影響人臉檢測效果。因此如何克服這些因素,成為目前研究的重點。
2 常見的人臉檢測方法
人臉檢測是人臉識別的第一步,是指在輸入圖像中確定所有人臉(如果存在)的位置、大小和姿態(tài)的過程。根據(jù)特征的色彩性質(zhì)可以將其分為基于膚色特征方法和基于灰度特征的方法[1]。文章將人臉檢測算法分為基于知識的方法、基于特征的方法和基于表象的方法。
2.1 基于知識的方法
基于知識的方法主要是利用各個人臉器官之間的幾何關(guān)系等先驗知識對人臉特征進行描述,提取人臉特征,然后將其轉(zhuǎn)化為人臉規(guī)則,采用此規(guī)則對待檢測的人臉圖像進行人臉檢測[2]。該方法的主要難點在于:(1)如何將人類語言轉(zhuǎn)化為明確清晰的人臉檢測規(guī)則;(2)對于不同姿態(tài)的人臉,該方法檢測效果將會大大下降。
1994年Yang等[3]利用先驗知識提出了一種由粗到精的檢測方法,即基于馬賽克圖(Mosaic Image)的人臉檢測方法。該方法利用4×4馬賽克圖將人臉分塊, 并根據(jù)每塊的灰度值制定3層規(guī)則。
Zhan等[4]提出了一種基于知識的人眼檢測方法。使用直方圖閾值技術(shù)粗略估計面部候選區(qū)域,然后利用眼睛在面部的結(jié)構(gòu)位置提取眼部候選區(qū)域,最后在眼部候選區(qū)域利用先驗知識的方法對眼部進行檢測。
姜軍等[5]為了提高人臉檢測的速度,提出了一種基于知識的快速人臉檢測方法。該方法利用人臉的灰度和梯度信息檢測人臉,由粗檢測、多尺度空間遍歷搜索和候選區(qū)域歸并等3個模塊構(gòu)成。適合于復雜背景下多人、不同尺度、表情變化不大的人臉檢測情況,大大提高地人臉檢測的速度。
Kouzani等[6]將神經(jīng)網(wǎng)絡與基于知識的方法結(jié)合起來,該方法使用5個前向反饋神經(jīng)網(wǎng)絡檢測并提取嘴、眼、鼻、臉部的候選區(qū)域,然后根據(jù)臉部的先驗知識,分析所提取的候選區(qū)域,確定是否為人臉區(qū)域。
2.2 基于特征的方法
基于特征的方法利用面部的膚色特征、幾何特征及紋理特征等對人臉進行檢測。其中膚色特征是一個非常顯著的特征,同時經(jīng)研究發(fā)現(xiàn),(1)不同人種的人臉膚色在顏色空間中都分布在一個相對比較穩(wěn)定的區(qū)域中。(2)亮度是影響膚色值變換的最主要因素。經(jīng)常使用的顏色空間有RGB(三色基)、rgb(亮度歸一化三色基)、HSI(色調(diào)、飽和度、亮度)、YCrCb。人臉的幾何特征主要是指人面部器官之間的幾何關(guān)系,根據(jù)面部的幾何特征和形狀來分割人臉區(qū)域和非人臉區(qū)域?;谔卣鞯姆椒▽庹蘸妥藨B(tài)比較敏感,從而影響檢測效果。
Mollah等[7]經(jīng)過研究發(fā)現(xiàn)在RGB色彩空間中,不同膚色的人臉區(qū)域中的R值>G值>B值,而在Haar-like特征中的非人臉區(qū)域的R,G,B值是不滿足這個條件的。因此他們將膚色特征與Haar-like特征結(jié)合起來,提出一種改進的基于特征的人臉檢測方法。
Rahman等[8]將RGB圖像轉(zhuǎn)換到Y(jié)CrCb顏色空間中,然后構(gòu)建眼睛和嘴巴之間的三角關(guān)系,以此來檢測人臉。Kalbkhani等[9]將膚色特征用于人眼檢測當中。他們提出了使用具有預定長度和寬度的矩形在搜索區(qū)域中進行移動,計算每個移動矩形內(nèi)的白色像素,人的面部區(qū)域為白色像素數(shù)量最大的矩形區(qū)域。
Hu等[10]經(jīng)過研究發(fā)現(xiàn),對于膚色區(qū)域和非膚色區(qū)域來說,它們的Cb值分布在一定的范圍之內(nèi),而Cr的值是不同的。于是提出單獨采用YCrCb顏色空間中的Cr值來對人臉進行檢測。
Cai等[11]采用模糊匹配方法的方法建立膚色和發(fā)色模型。根據(jù)人臉位姿的不同構(gòu)建了“膚色—發(fā)色”模型,并且定義了相應的隸屬度函數(shù)及規(guī)則,對待檢測區(qū)域進行搜索。
Mohanty等[12]將人臉的灰度特征和膚色特征結(jié)合起來,在復雜背景下,結(jié)合Adaboost算法對人臉進行檢測。該方法提高了在復雜背景下圖像的檢測速度,同時還降低了計算復雜度,并且不受姿態(tài)與照明發(fā)生變化的影響。Mohamed等人[13]在膚色特征的基礎上采用DCT-神經(jīng)網(wǎng)絡對人臉進行檢測。
Augusteijn等[14]通過識別面部紋理來推測人臉的存在,提取皮膚、頭發(fā)等特征,建立SGLD(二階統(tǒng)計特征)模型,使用神經(jīng)網(wǎng)絡對紋理特征進行監(jiān)督分類,并且使用Kohonen自組織特征圖對不同紋理類別進行聚類。Dai等[15]將膚色特征與面部紋理特征結(jié)合,使用SGLD模型進行面部檢測。
2.3 基于表象的方法
基于表象的方法也可以稱為基于統(tǒng)計的方法,主要依靠統(tǒng)計分析和機器學習技術(shù)找到人臉和非人臉圖像的相關(guān)特征。
該方法將人臉圖像視為隨機向量,分為訓練集和測試集兩部分。通過訓練集得到人臉和非人臉的相關(guān)特征集,得到人臉特征庫,利用所得到的人臉特征庫對測試集進行檢測,判別出人臉區(qū)域和非人臉區(qū)域?;诒硐蟮姆椒òɑ谧涌臻g(Eigenface)的方法、基于神經(jīng)網(wǎng)絡(NN)的方法、基于支持向量機(SVM)的方法、基于Adaboost的方法等。
(1)基于子空間的方法。
基于子空間的方法主要有主成分分析法(PCA)、獨立成分分析法(ICA)和線性判別法(LDA)等。
PCA法實際就是K-L變換,其目的是去除人臉圖像之前的相關(guān)性,減少數(shù)據(jù)冗余,降低圖像維度,使得數(shù)據(jù)在低維空間中處理。Matthew和Alex[16]對人臉訓練集進行K-L變換,得到人臉特征集,稱為特征向量(又稱為特征臉)。
Moghaddam等[17]將人臉投影在特征空間的處理中發(fā)現(xiàn),人臉在特征臉空間的投影都聚集在同一個區(qū)域,因此將人臉投影到主元子空間F和與其正交的補空間中,然后使用相應的距離度量DIFS(Distance In Feature Space)和DFFS(Distance From Feature Space)來進行檢測。
Gottumukkal和Asari[18]為了能從視頻中實時檢測出人臉,提出將膚色特征與PCA方法結(jié)合的人臉檢測方法。由于PCA方法在圖像矩陣降維時會使得增大向量的維數(shù),導致計算量過大。Yang等人[19]提出了2D-PCA方法。2D-PCA方法在PCA方法的基礎上分別在行和列上進行PCA變換,求得在行和列的總體散度矩陣ωr和ωc,然后得到圖像的特征矩陣Y。
PCA法只考慮了圖像數(shù)據(jù)中的低階統(tǒng)計信息,并未考慮高階統(tǒng)計信息,這會使得在特征提取的時候丟掉很多有用的信息。針對這點,佩律等[20]提出了基于獨立成分分量的方法(ICA)來檢測人臉。認為人臉圖像是由一組互相獨立的圖像線性疊加而成,用ICA求得這組基圖像,構(gòu)造了一個子空間,根據(jù)待識別圖像在這個空間里的投影系數(shù)進行識別。
線性判別法(LDA)是一種較為普遍的線性分類方法。但是會出現(xiàn)小樣本問題和維數(shù)問題。為了解決小樣本問題,學者提出了很多方法。Alakkari等[21]發(fā)現(xiàn)最小非零特征值對應的特征臉在檢測人臉圖像時是非常有效的,同時還發(fā)現(xiàn)將該特征臉與LDA方法結(jié)合在一起檢測效果比單獨使用LDA方法更好。
Yang[22]將自組織映射(SOM)與線性判別方法(LDA)結(jié)合在一起。首先使用自組織映射(SOM)將人臉和非臉樣本各分為25類,然后計算各類的類間離散度與類內(nèi)離散度,利用兩者的比值求出投影矩陣。
(2)基于神經(jīng)網(wǎng)絡的方法。
神經(jīng)網(wǎng)絡屬于機器學習方法中的一種,具有自學習能力,在進行人臉檢測時,只需要先把許多不同的圖像樣本輸入人工神經(jīng)網(wǎng)絡,網(wǎng)絡就會通過自學習能力,慢慢學會檢測人臉圖像。
在神經(jīng)網(wǎng)絡檢測人臉的發(fā)展過程中,Rowley等人[23]提出的采用局部連接的神經(jīng)網(wǎng)絡檢測方法具有里程碑的意義。他們將待檢測區(qū)域劃分為多個矩形的子區(qū)域,以便更好地描述不同尺度的人臉特征,每個區(qū)域都對應一個神經(jīng)網(wǎng)絡隱含單元。
周敬利等[24]針對彩色圖像中的人臉,提出了一種基于BP神經(jīng)網(wǎng)絡的人臉檢測算法,該方法分為網(wǎng)絡訓練和人臉定位兩部分,可以很好地運用在多人臉不同尺寸、不同姿態(tài)、不同表情、不同膚色及不同光照條件等情況。
陳澤宇和戚飛虎[25]將膚色信息的不同顏色分量通過多級神經(jīng)網(wǎng)絡級聯(lián)起來,采用亮度分量和色度分量作為級聯(lián)神經(jīng)網(wǎng)絡的分類特征,有效地提高了人臉檢測的正確率和檢測速度。
(3)基于支持向量機(SVM)的方法。
支持向量機(SVM)方法是一種基于統(tǒng)計學習理論的模式識別算法[26]。SVM方法最早由Boser、Guyon等人提出,Osuna將該方法用于人臉檢測當中,其檢測速度跟之前相比,提高了近30倍。該方法對每一個具有一定像素的檢測窗口使用SVM方法進行分類,用以區(qū)分人臉區(qū)域和非人臉區(qū)域。但是SVM方法的訓練需要對復雜度極高的二次規(guī)劃問題求解,會導致計算量過大,訓練困難等。
Heiseley等[27]在SVM法基礎上進行改進,提出使用兩級SVM方法檢測人臉。根據(jù)一些預定義的特征點,從訓練集中提取人臉和非人臉最有區(qū)別的多個局部區(qū)域。檢測時,根據(jù)多個簡單的線性SVM分別檢測各個人臉特征區(qū)域。
(4)基于Adaboost的方法。
為了同時保證檢測率和檢測速度,Viola和Jones[28]提出了一種將Haar-like特征、Adaboost算法和Cascade級聯(lián)結(jié)構(gòu)結(jié)合在一起的算法,稱作Viola-Jones檢測算法,也稱作基于Adaboost的方法。該方法先使用Haar-like特征對人臉進行描述,計算特征數(shù)值,然后使用Adaboost算法通過大量的正、負樣本集訓獲得人臉檢測的強分類器,最后將所有的強分類器分段級聯(lián)起來。
傳統(tǒng)的Adaboost方法在進行人臉檢測時常常容易出現(xiàn)漏檢情況,同時在檢測人臉時需要計算所有樣本的特征數(shù)值,這樣導致了檢測時間過長的問題。針對這個問題Zhang等人[29]對人臉區(qū)域和非人臉區(qū)域設置不同的權(quán)重,使得可以單獨處理人臉區(qū)域和非人臉區(qū)域,以此縮減了檢測時間。
Ma等[30]在傳統(tǒng)的Adaboost的基礎上,利用面部器官之間的幾何關(guān)系形成4種Haar-like特征,對人臉進行檢測。該方法較之傳統(tǒng)的Adaboost方法,大大縮減了檢測時間。
3 結(jié)語
文章對人臉檢測的發(fā)展歷史及研究現(xiàn)狀進行了闡述,總結(jié)了近年來人臉檢測技術(shù)?;谥R的方法適合在單一背景下使用?;谔卣鞯娜四槞z測方法應用廣泛,在簡單背景下檢測率極高,但是基于膚色特征的人臉檢測方法對光照和復雜背景特別敏感,對色度的要求也特別高;基于幾何特征的方法利用面部器官之間的幾何關(guān)系和形狀對人臉進行檢測,該方法適用于簡單背景下的正面人臉檢測,但是在有遮蓋物或復雜背景情況下,其檢測效果將大大下降。因此常常將膚色特征與幾何特征結(jié)合起來對人臉進行檢測。
基于表象的方法主要包含了子空間法、基于神經(jīng)網(wǎng)絡的方法、基于支持向量機的方法和基于Adaboost的方法等。子空間法主要是將待檢測人臉投影在一個指定的空間,根據(jù)指定空間中的分布劃分規(guī)律來對人臉區(qū)域和非人臉區(qū)域進行劃分?;谥С窒蛄繖C的方法比基于神經(jīng)網(wǎng)絡的方法更具有優(yōu)良的泛化性能,但是神經(jīng)網(wǎng)絡可以獲得其他方法難以實現(xiàn)的人臉圖像的規(guī)則,同時避免了提取復雜特征。基于Adaboost的方法是目前人臉檢測使用最普遍、效果最好的方法,但是由于該方法需要大量的時間進行訓練,其檢測速度還有待解決。
隨著計算機視覺與人工智能的發(fā)展,人臉檢測的研究還在繼續(xù),如何準確快速地檢測復雜背景下的動態(tài)多姿態(tài)人臉,是目前研究的熱點和重點,當然現(xiàn)在也不斷有新方法涌現(xiàn),總之人臉檢測技術(shù)將會隨著人臉識別技術(shù)一起蓬勃發(fā)展。
[參考文獻]
[1]梁路宏,艾海舟.人臉檢測研究綜述[J].計算機學報,2002(5):449-458.
[2]孫寧,鄒采榮,趙力.人臉檢測綜述[C].北京:中國通信學會通信理論與信號處理專業(yè)委員會通信理論與信號處理年會,2006:101-108.
[3]YANG M H,KRIEGMAN D J,AHUJA N. Detecting faces in images:a survey[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2002(1):34-58.
[4]ZHANG L,LENDER P. Knowledge based eye detection for human face detection[J]. International Conference Knowledge-based Intelligent Engineering Systems & Allied Technologies,2000(1):117-120.
[5]姜軍,張桂林.一種基于知識的快速人臉檢測方法[J].中國圖象圖形學報,2002(1):6-10.
[6]KOUZANI A Z,HE F,SAMMUT K. Commonsense knowledge-based face detection[J].1997:215-220.
[7]MOLLAH M A S,AKASH M A A,AHMED M,et al. Improvement of haar feature based face detection incorporating human skin color analysis[J].Paris:International Conference on Medical Engineering,2017.
[8]RAHMAN M H,AFRIN J. Human face detection in color images with complex background using triangular approach[J].Global Journal of Computer Science and Technology,2013(4):44-50.
[9]KALBKHANI H,SHAYESTEH M G,MOHSEN M S. Efficient algorithms for face detection of face, eye and eye state[J].LET Computer Vision,2013(3):184-200.
[10]HU X,PENG S,YAN J,et al. Fast face detection based on skin color segmentation using single Chrominance Cr[C].QU?BEC:International Congress on Image & Signal Processing,2015:687-692.
[11]CAI J,GOSHTASBY A,YU C. Detecting human faces in color images[C]. Chicago:Image and Vision Computing,1999(1):63-75.
[12]MOHANTY R,RAGHUNADH MV. A new approach to face detection based on YCgCr color model and improved adaBoost algorithm[C].Noida, Uttar Pradesh:International Conference on Communication & Signal Processing,2016(4):1392-1396.
[13]MOHAMED A S S,WENG Y,IPSON S S,et al. Face detection based on skin color in image by neural networks[C]. Delft:International Conference on Intelligent & Advanced Systems,2007:779-783.
[14]AUGUSTEIJN M F,SKUFCA T L. Identification of human faces through texture—based feature recognition and neural network technology[C]. San Francisco:IEEE International Conference on Neural Networks,1993.
[15]DAI Y,NAKANO Y. Face-texture model based on SGLD and its application in face detection in a color scene[J]. Pattern Recognition,1996(6):1007-1017.
[16]MATTHEW T,ALEX P. Eigenfaces for recognition[J].Journal of Cognitive Neuroscience,1991(13):71-86.
[17]MOGHADDAM B,PENTLAND A. Probabilistic visual learning for object representation[J].IEEE Computer Society,1997(7):696-710.
[18]GOTTUMUKKAL R,ASARI V K. Real time face detection from color video stream based on PCA method[J]. Applied Imagery Pattern Recognition Workshop,2003:146-150.
[19]YANG J,ZHANG D,F(xiàn)RANGI A F,et al. Two-dimensional PCA:a new approach to appearance-based face representation and recognition[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2004(1):131-137.
[20]佩律,梅劍鋒.基于獨立分量分析的人臉自動識別方法的研究[J].紅外與毫米波學報,2001(20):361-364.
[21]ALAKKARI S,GATH E,COLLINS J J. An investigation into the use of subspace methods for face detection[C].Montreal:International Joint Coference on Neural Networks,2005(5):1-7.
[22]YANG M H. Mixtures of linear subspaces for face detection[J].Proc Fourth Automatic Face and Gesture Recognition,2000:70-76.
[23]ROWLEY H,BALUJA S,KANADE T. Neural Network-based face detection[C].Ann Arbor:Conference on Computer Vision & Pattern Recognition,1998(1):203-208.
[24]周敬利,吳桂林.基于BP神經(jīng)網(wǎng)絡的人臉檢測算法[J].計算機工程,2004(30):34-36.
[25]陳澤宇,戚飛虎.基于級聯(lián)神經(jīng)網(wǎng)絡的人臉檢測方法的研究[J].紅外與毫米波學報,2000(19):57-61.
[26]楊珣.基于神經(jīng)網(wǎng)絡的人臉檢測研究[D].青島:青島大學,2006.
[27]HEISELEY B,SERRE T,PONTIL M,et al. Component-based Face Detection[C]. Kauai, Hawaii:IEEE Computer Society Conference on Computer Vision & Pattern Recognition,2001(1):1657-1662.
[28]VIOLA P,JONES M. Rapid object detection using a boosted cascade of simple features[C]. Kauai, Hawaii:IEEE Computer Society Conference on Computer Vision & Pattern Recognition,2001(1):1511-1518.
[29]ZHANG X Q,DING J. An improved adaboost face detection algorithm based on different sample weights[C]. Wellington:IEEE International Conference on Computer Supported Cooperative Work in Design,2016:436-439.
[30]MA S,BAI L. A face detection algorithm based on adaboost and new Haar-Like feature[C].Beijing:IEEE International Coference on Software Engineeering & Service Science,2017:651-653.