周航 蔡茂國(guó) 吳濤 沈沖沖
摘 要:傳統(tǒng)人臉檢測(cè)算法在復(fù)雜環(huán)境背景下一直存在著檢測(cè)準(zhǔn)確率及效率低等問(wèn)題。近年來(lái),得益于人臉數(shù)據(jù)集的增長(zhǎng)以及計(jì)算機(jī)硬件的極速發(fā)展,使用深度神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法在準(zhǔn)確度方面已有很大提升,但使用的模型結(jié)構(gòu)越來(lái)越復(fù)雜,檢測(cè)速度也相對(duì)變慢。本文提出一種改進(jìn)的多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)(Multi-task convolutional neural networks,MTCNN)算法。在制造數(shù)據(jù)集時(shí)更改IOU閾值參數(shù),來(lái)獲取更多、更精確的人臉樣本;對(duì)與置信度損失有關(guān)的交叉熵?fù)p失函數(shù)和與偏移量損失有關(guān)的均方差函數(shù)求均值,使得整個(gè)網(wǎng)絡(luò)收斂得更加平穩(wěn)。經(jīng)在AFW、PASCAL以及FDDB數(shù)據(jù)集上實(shí)驗(yàn),與傳統(tǒng)算法相比,該算法在保證實(shí)時(shí)性的同時(shí)提升了檢測(cè)準(zhǔn)確率,可應(yīng)用于追求更高準(zhǔn)確率的人臉檢測(cè)系統(tǒng)。
關(guān)鍵詞: 深度神經(jīng)網(wǎng)絡(luò); MTCNN; 人臉檢測(cè)
文章編號(hào): 2095-2163(2021)03-0172-05 中圖分類號(hào): TP391 文獻(xiàn)標(biāo)志碼: A
【Abstract】Traditional face detection algorithms have always had problems such as low detection accuracy and low efficiency in the context of complex environments. In recent years, it has benefited from the growth of face data sets and the rapid development of computer hardware. Face detection algorithms using deep neural networks are in accuracy. This aspect has been greatly improved, but the structure of the model used is becoming more and more complex. The detection speed is relatively slow. Therefore, it is very important to design a detection model that takes into account both accuracy and real-time performance. This paper proposes an improved multi-task convolutional neural networks(MTCNN) algorithm.The first in the manufacturing data sets changes the IOU threshold parameter to obtain a more accurate face samples. Secondly, the cross emotion loss function related to the confidence loss and the average of the mean square error function related to the offset loss make the convergence of the entire network more stable. After experiments on the AFW, PASCAL and FDDB data sets, compared with traditional algorithms, this algorithm improves the detection accuracy while ensuring real-time performance, which could be applied to face detection systems pursuing higher accuracy.
【Key words】 deep neural network; MTCNN; face detection
0 引 言
人臉檢測(cè)已廣泛應(yīng)用于人們的日常生活中,如公共刑偵追逃[1]、考勤打卡、金融機(jī)構(gòu)的門(mén)禁控制、自動(dòng)駕駛以及機(jī)器人等都用到了人臉檢測(cè)技術(shù)。人臉檢測(cè)是計(jì)算機(jī)視覺(jué)和模式識(shí)別的重要應(yīng)用方向之一,是解決與面部相關(guān)工作的前提。例如,人臉識(shí)別、人臉表情識(shí)別、活體檢測(cè)[2]等。將檢測(cè)到的人臉圖像提取出來(lái),作為后續(xù)工作的輸入信息,可以大大減少計(jì)算量。面部檢測(cè)算法可分為兩大類:基于手工特征提取的人臉檢測(cè)算法和基于深度學(xué)習(xí)的人臉檢測(cè)算法。Viola等人[3] 提出的級(jí)聯(lián)人臉檢測(cè)算法,利用Haar-Like特征和AdaBoost級(jí)聯(lián)分類器,實(shí)現(xiàn)了良好的實(shí)時(shí)性能。然而,文獻(xiàn)[4]表明,即使檢測(cè)系統(tǒng)提取更高維的特征和分類器,在人臉圖像發(fā)生較大變化的情況下,也可能嚴(yán)重退化。除此之外,文獻(xiàn)[5]中介紹了一種用于面部檢測(cè)的可變形部分模型,但其計(jì)算量較為復(fù)雜,并且需要在訓(xùn)練階段對(duì)圖片進(jìn)行復(fù)雜的標(biāo)注。
近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)在各種計(jì)算機(jī)視覺(jué)任務(wù)(如,圖像分類[6]、人臉識(shí)別[7])中都取得了重大進(jìn)展。受深度學(xué)習(xí)方法在計(jì)算機(jī)視覺(jué)任務(wù)中取得巨大成功的啟發(fā),一些研究開(kāi)始采用深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行人臉檢測(cè)。如:Yang等人[8]訓(xùn)練了深度卷積網(wǎng)絡(luò),來(lái)進(jìn)行面部屬性識(shí)別,以獲取面部區(qū)域的人臉特征,從而進(jìn)一步生成面部候選窗口。但由于其復(fù)雜的CNN結(jié)構(gòu),該方法在實(shí)踐中非常耗時(shí)。Li等人[9]使用級(jí)聯(lián)CNN進(jìn)行人臉檢測(cè),但需要從人臉檢測(cè)中進(jìn)行邊界框校準(zhǔn),需要額外的計(jì)算量,并忽略了人臉界標(biāo)定位與邊界框回歸之間的內(nèi)在關(guān)聯(lián)。與此同時(shí),面部對(duì)齊也吸引了研究者的廣泛興趣。該領(lǐng)域的研究工作大致可分為2類:基于回歸方法[10]和模板匹配方法[11]。Zhang等人[12]提出,利用深度CNN作為輔助特征來(lái)增強(qiáng)面部對(duì)齊性能。然而,以往大多數(shù)人臉檢測(cè)和對(duì)齊方法都忽略了這2個(gè)任務(wù)之間的內(nèi)在聯(lián)系。例如,在文獻(xiàn)[13]中,將像素差分特征與隨機(jī)森林相結(jié)合,用于對(duì)齊和檢測(cè),但這些手動(dòng)設(shè)計(jì)的特征在一定程度上限制了其性能。Zhang等人[14]使用多任務(wù)CNN來(lái)提高多視角人臉檢測(cè)的準(zhǔn)確性,但檢測(cè)回歸受到弱人臉檢測(cè)器產(chǎn)生的初始檢測(cè)窗口的限制。另一方面,在訓(xùn)練過(guò)程中,提取樣本對(duì)于提高檢測(cè)器的性能非常重要。期望設(shè)計(jì)自動(dòng)提取高級(jí)語(yǔ)義特征用于人臉檢測(cè)的方法,能夠自動(dòng)適應(yīng)當(dāng)前的訓(xùn)練狀態(tài),并針對(duì)不同環(huán)境下不同類型的人臉進(jìn)行增強(qiáng)。
基于以上研究,本文對(duì)多任務(wù)級(jí)聯(lián)網(wǎng)絡(luò)MTCNN做出相應(yīng)改進(jìn)。首先,在生成數(shù)據(jù)集時(shí),通過(guò)更改IOU閾值來(lái)獲取更多、更精確的人臉樣本,為后續(xù)級(jí)聯(lián)網(wǎng)絡(luò)的有效訓(xùn)練提供數(shù)據(jù)基礎(chǔ),其次,對(duì)與置信度損失有關(guān)的交叉熵?fù)p失函數(shù)和與偏移量損失有關(guān)的均方差函數(shù)求均值,使得整個(gè)網(wǎng)絡(luò)收斂的更加平穩(wěn)。
1 相關(guān)工作
1.1 圖像金字塔
人臉檢測(cè)是一種單類型的多目標(biāo)檢測(cè)。 檢測(cè)到的圖片類型為2種。一種圖片僅包含一張臉,一種圖片包含多張臉。本文的深度學(xué)習(xí)基于仿生學(xué)、計(jì)算機(jī)視覺(jué)和人眼。同樣,通過(guò)掃描感受野(Humanfield of vision)來(lái)尋找目標(biāo),當(dāng)感受野特別大而目標(biāo)特別小時(shí),人和機(jī)器將無(wú)法識(shí)別目標(biāo)區(qū)域,此時(shí)需要放大圖片或縮小感受區(qū)域。人臉檢測(cè)是從圖像中找到人臉,為了檢測(cè)圖片中的人臉,需要通過(guò)卷積神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)。目前,有2種方法可以檢測(cè)所有臉部。一種是使用不同的感受野,從小到大掃描大小不變的圖片;另一種是保持恒定大小的感受野來(lái)掃描多張不同大小的圖片。本文使用后一種作為人臉檢測(cè)的算法,即圖像金字塔,如圖1所示。圖像金字塔只在偵測(cè)PNet 網(wǎng)絡(luò)時(shí)應(yīng)用,通過(guò)使用縮放比率為0.709的參數(shù),不斷縮放圖片,最終使得圖片的最小邊長(zhǎng)大于等于12。因?yàn)镻Net最小輸入圖片的size為(3,12,12)。
1.2 網(wǎng)絡(luò)結(jié)構(gòu)
本文采用改進(jìn)的多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)(Multi-task convolutional neural networks,MTCNN)進(jìn)行人臉檢測(cè)和提取,這是中國(guó)科學(xué)院深圳研究院在2016年提出的人臉檢測(cè)任務(wù)的多任務(wù)神經(jīng)網(wǎng)絡(luò)模型。該模型的網(wǎng)絡(luò)結(jié)構(gòu)主要采用3級(jí)級(jí)聯(lián)網(wǎng)絡(luò),并采用候選框加分類器的思想實(shí)現(xiàn)快速高效的人臉檢測(cè)。這3個(gè)級(jí)聯(lián)的網(wǎng)絡(luò)分別是:快速生成候選窗口的PNet、進(jìn)行高精度候選窗口過(guò)濾選擇的RNet和生成最終邊界框的ONet。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
MTCNN的PNet全稱為Proposal Network,其基本構(gòu)造是一個(gè)全卷積網(wǎng)絡(luò),對(duì)圖像金字塔通過(guò)FCN進(jìn)行初步特征提取與標(biāo)定邊框,并進(jìn)行Bounding-Box Regression調(diào)整窗口與非極大值抑制(Non-Maximun Suppression,NMS)進(jìn)行大部分窗口的過(guò)濾,該部分最終輸出很多張可能存在人臉的區(qū)域,并將這些區(qū)域輸入RNet加以進(jìn)一步處理。
RNet全稱為Refine Network,其基本的構(gòu)造是一個(gè)卷積神經(jīng)網(wǎng)絡(luò)。因?yàn)镻Net的輸出只是具有一定可信度的人臉區(qū)域,在此網(wǎng)絡(luò)中將對(duì)輸入進(jìn)行細(xì)化選擇,并且舍去大部分的錯(cuò)誤輸入。在此,使用邊框回歸和面部關(guān)鍵點(diǎn)定位器進(jìn)行人臉區(qū)域的邊框回歸,此后將輸出較為可信的人臉區(qū)域,提供給ONet使用。與PNet使用全卷積輸出的1×1×32的特征對(duì)比,RNet在最末端的一個(gè)卷積層后使用了一個(gè)128的全連接層,在保留更多圖像特征的同時(shí),準(zhǔn)確性也優(yōu)于PNet。
ONet全稱為Output Network,基本結(jié)構(gòu)是一個(gè)較為復(fù)雜的卷積神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)的輸入特征更多,在網(wǎng)絡(luò)結(jié)構(gòu)的最末端也同樣是一個(gè)更大的256的全連接層。其中保留了更多的圖像特征,同時(shí)進(jìn)行人臉判別和人臉區(qū)域邊框回歸,基于此將輸出人臉區(qū)域的左上角和右下角的坐標(biāo)。ONet具有更多的特征輸入、更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)和更好的性能,這一層的輸出將作為最終的網(wǎng)絡(luò)模型輸出。
1.3 數(shù)據(jù)集和標(biāo)簽制作
訓(xùn)練樣本采用的是以CelebA數(shù)據(jù)集為基準(zhǔn)進(jìn)行偏移而成。CelebA是香港中文大學(xué)的開(kāi)放數(shù)據(jù)集,其中包含10 177個(gè)名人的202 599張照片。通過(guò)對(duì)CelebA數(shù)據(jù)集樣本的人臉坐標(biāo)框進(jìn)行隨機(jī)偏
移,可以獲得不同類型的數(shù)據(jù)樣本。為了更好地區(qū)分樣本,本文使用圖像重合度(Intersection over Union, IOU)來(lái)區(qū)分樣本。IOU為2個(gè)框交集面積與并集面積的比值,IOU小則重合程度低,IOU大則重合程度高。Base-MTCNN設(shè)置IOU >0.65為正樣本、0.45 經(jīng)刪選處理后,輸入PNet尺寸為12×12的樣本1 793 714張,輸入RNet尺寸為24×24的樣本1 775 208張,輸入ONet尺寸48×48的樣本1 720 519張,共計(jì)5 280 441張樣本,樣本視例則如圖4~圖6所示。 1.4 損失函數(shù) 多任務(wù)級(jí)聯(lián)網(wǎng)絡(luò)的損失由以下2部分組成:人臉/非人臉判別與生成的備選框回歸。其中,人臉/非人臉判別采用cross-entropy損失函數(shù),如式(1): 其中,N為訓(xùn)練樣本的個(gè)數(shù);α表示人物的重要性;β表示樣本的類型。在PNet、RNet與ONet訓(xùn)練時(shí)將分別采用不同的系數(shù)。 2 實(shí)驗(yàn)與分析 研究中將使用深度卷積神經(jīng)網(wǎng)絡(luò)改進(jìn)的多任務(wù)級(jí)聯(lián)網(wǎng)絡(luò)MTCNN作為模型來(lái)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)將CelebA 人臉公開(kāi)數(shù)據(jù)集作為基準(zhǔn)數(shù)據(jù),通過(guò)更改IOU閾值參數(shù),共產(chǎn)生5 289 441個(gè)正、負(fù)部分樣本。并在PASCAL、AFW和FDDB 3個(gè)公開(kāi)數(shù)據(jù)集上進(jìn)行測(cè)試。模型訓(xùn)練的硬件環(huán)境為Intel Xeon E3-1225處理器,搭載Tesla K40c顯卡,在Centos7.0系統(tǒng)中搭建Pytorch的Python3.6環(huán)境進(jìn)行訓(xùn)練;權(quán)重初始化為0;級(jí)聯(lián)網(wǎng)絡(luò)PNet、RNet、ONet分別訓(xùn)練500、500、140個(gè)epochs。具體實(shí)驗(yàn)環(huán)境配置見(jiàn)表1。 采用隨機(jī)抽樣方法,分別從AFW、FDDB、PASCAL公開(kāi)人臉數(shù)據(jù)庫(kù)中抽取數(shù)據(jù)集做對(duì)比實(shí)驗(yàn),用來(lái)分析本方法在人臉檢測(cè)項(xiàng)目中的表現(xiàn)。 AFW數(shù)據(jù)集共包含205張圖片,其中含有473張人臉。研究中得到的級(jí)聯(lián)網(wǎng)絡(luò)PNet改進(jìn)前后損失函數(shù)下降對(duì)比結(jié)果分別如圖7、圖8所示。 PNet共迭代500次。可以看出,相比以往算法,本文改進(jìn)算法損失函數(shù)下降得更加平穩(wěn),使得人臉檢測(cè)的魯棒性進(jìn)一步加強(qiáng)。圖9 為AFW數(shù)據(jù)集部分測(cè)試結(jié)果展示。 PASCAL數(shù)據(jù)集包含851張圖片,共有1 335張人臉。圖10為級(jí)聯(lián)網(wǎng)絡(luò)RNet改進(jìn)前后損失函數(shù)下降對(duì)比結(jié)果。 圖11為PASCAL數(shù)據(jù)集的部分測(cè)試結(jié)果展示。 FDDB數(shù)據(jù)集來(lái)源于Yahoo新聞,包含2 845張圖片和5 171張標(biāo)注人臉,其特點(diǎn)是低像素人臉較多,環(huán)境較前兩種數(shù)據(jù)集更復(fù)雜。由此得到的級(jí)聯(lián)網(wǎng)絡(luò)ONet改進(jìn)前后損失函數(shù)下降對(duì)比圖結(jié)果見(jiàn)圖12。 ONet共迭代140次??梢钥闯?,本文損失函數(shù)下降得更加平穩(wěn),使得人臉檢測(cè)的魯棒性進(jìn)一步加強(qiáng)。圖13為FDDB數(shù)據(jù)集部分測(cè)試結(jié)果展示。 3 結(jié)束語(yǔ) 本文通過(guò)調(diào)整IOU閾值參數(shù),對(duì)已獲取的數(shù)據(jù)集樣本進(jìn)行準(zhǔn)確性增強(qiáng),并對(duì)級(jí)聯(lián)網(wǎng)絡(luò)的損失函數(shù)取均值,使得整個(gè)損失函數(shù)下降得更加平穩(wěn),收斂得更加迅速,增加了人臉檢測(cè)的魯棒性。其次,本文模型的參數(shù)僅有2.1 M,具有計(jì)算量小、容易實(shí)現(xiàn)、實(shí)時(shí)性強(qiáng)等特點(diǎn),可以應(yīng)用到配置不高、但對(duì)時(shí)延敏感的設(shè)備上。 參考文獻(xiàn) [1] ???梁爽. 基于人臉檢測(cè)識(shí)別技術(shù)的網(wǎng)上追逃系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].上海:上海交通大學(xué),2016. [2] LI Xiaobai, KOMULAINEN J, ZHAO Guoying, et al. Generalized face anti-spoofing by detecting pulse from face videos [C]// ?2016 23rd International Conference on Pattern Recognition (ICPR). ?Cancun, Mexico: IEEE Press, 2016: 4244-4249. [3] VIOLA P A , JONES M J . Rapid object detection using a boosted cascade of simple features[C]// ?Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR 2001). Kauai, HI, USA:IEEE, 2001:511-518. [4] PHAM M T , GAO Yang , HOANG V D D , et al. Fast polygonal integration and its application in extending haar-like features to improve object detection[C]// ?2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco, CA, USA:IEEE, 2010:942-949. [5] MATHIAS M , BENENSON R , PEDERSOLI M , et al. Face detection without Bells and Whistles[M]//FLEET D, PAJDLA T, SCHIELE B, et al. Computer Vision-ECCV 2014. ECCV 2014. Lecture Notes in Computer Science. Cham:Springer, 2014,8692:720-735. [6] KRIZHEVSKYA, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]// ??Advances in Neural Information Processing Systems (NIPS).Nevada, USA:NIPS, 2012:1097-1105. [7] SUN Y, WANG X, TANG X. Deep learning face representation by joint identification-verification[J]. CoRR, 2014: abs/1406. 4773. [8] YANG S, LUO P, LOY C C, et al. From facial parts responses to face detection: A deep learning approach[C]//Proceedings of the IEEE International Conference on Computer Vision. Washington DC,USA:IEEE,2015: 3676-3684. [9] LI H, LIN Z, SHEN X, et al. A convolutional neural network cascade for face detection[C]// Proceedings of the IEEE Conference on Computer Vision & Pattern Recognition. Boston,USA:IEEE, 2015:5325-5334. [10]ZHANG Jie, SHAN Shiguang, KAN Meina, et al. Coarse-to-Fine Auto-encoder Networks (CFAN) for real-time face alignment[C]// Computer vision - ECCV 2014, part 2: 13th European conference on computer vision (ECCV 2014).Zurich, Switzerland:dblp,2014:1-16. [11]YU Xiang, HUANG Junzhou, ZHANG Shaoting, et al. Pose-free facial landmark fitting via optimized part mixtures and cascaded deformable shape model[C]//2013 IEEE International Conference on Computer Vision. Sydney, NSW, Australia:IEEE, 2013:1944-1951. [12]ZHANG Z, LUO P, LOY C C, et al. Facial landmark detection by beep multi-task learning[J]. European Conference on Computer Vision. Cham:Springer , 2014: 94-108. [13]CHEN Dong, REN Shaoqing, WEI Yichen et al. Joint cascade face detection and alignment[M]//FLEET D, PAJDLA T, SCHIELE B, et al. Computer Vision - ECCV 2014. ?Lecture Notes in Computer Science. Cham:Springer, 2014,8694:109-122. [14]ZHANG Cha, ZHANG Zhenyou. Improving multiview face detection with multi-task deep convolutional neural networks[C]// 2014 IEEE Winter Conference on Applications of Computer Vision (WACV). Steamboat Springs, CO, USA:IEEE, 2014:1036-1041.