鄒佰翰 秦亞亭 苑曉兵
摘 ?要: 在抗擊新冠疫情的背景下,如何選用神經(jīng)網(wǎng)絡(luò)模型高效、快速地檢測(cè)人的面部是否佩戴口罩成為技術(shù)熱點(diǎn)。在實(shí)際人臉口罩檢測(cè)場(chǎng)景中,要求模型能夠盡可能快地輸出判別結(jié)果。本文針對(duì)目前幾種主要的輕量級(jí)檢測(cè)模型:PyramidBox-Lite模型、基于SSD算法的Keras模型和基于CenterFace的口罩檢測(cè)模型,在不同的數(shù)據(jù)集下做綜合測(cè)試,并利用單幀圖像處理速度、檢測(cè)分類正確率兩種指標(biāo)對(duì)各種方法的性能做評(píng)價(jià)對(duì)比。最后分析了各種方法的優(yōu)劣,以及口罩人臉檢測(cè)技術(shù)在未來的優(yōu)化方案。
關(guān)鍵詞: 口罩人臉檢測(cè);PyramidBox-Lite模型;CenterFace;SSD算法
中圖分類號(hào): TP3 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.08.050
本文著錄格式:鄒佰翰,秦亞亭,苑曉兵,等. 基于輕量級(jí)CNN的口罩人臉檢測(cè)方法現(xiàn)狀研究[J]. 軟件,2020,41(08):186-188
【Abstract】: Under the background of fighting the new crown epidemic, how to select the neural network model to effectively and quickly detect whether people wear masks or not has become the current technology hotspot. This paper aims at several main lightweight CNN models: the model based on PaddlePaddle, the model based on SSD algorithm and the model based on CenterFace. Comprehensive tests are carried out under different data sets, and the performance of each method is evaluated and compared by using ACC and FPS. Finally, the advantages and disadvantages of various methods are analyzed, as well as the optimization scheme of face detection technology in the future.
【Key words】: Mask face detection; PyramidBox-Lite model; CenterFace; SSD algorithm
0 ?引言
人臉口罩檢測(cè)實(shí)際上屬于人臉檢測(cè)與圖像分類問題[1],即使用人臉檢測(cè)網(wǎng)絡(luò)配合圖像分類網(wǎng)絡(luò),首先確定人的面部位置,然后將圖像分類為未佩戴口罩、已佩戴口罩兩種情況。同時(shí),口罩?jǐn)?shù)據(jù)集較少、佩戴口罩的場(chǎng)景多樣化、對(duì)模型運(yùn)行速度的要求等情況,也成為口罩人臉檢測(cè)中必須考慮的問題[2]。
1 ?口罩人臉檢測(cè)相關(guān)技術(shù)分析
1.1 ?百度PyramidBox-Lite模型
百度基于PaddlePaddle深度學(xué)習(xí)平臺(tái)研發(fā)的Py-ramidBox-Lite,是一種主干網(wǎng)絡(luò)基于FaceBoxes的輕量級(jí)模型。它充分考慮了實(shí)際應(yīng)用場(chǎng)景下,圖像分辨率低、面部特征模糊以及外部的遮擋導(dǎo)致面部紋理不可區(qū)分的情況[3],使用了anchor-based的方法來改善人臉的檢測(cè)。同時(shí)針對(duì)現(xiàn)有口罩人臉數(shù)據(jù)集較少的問題,模型的訓(xùn)練采用了WIDER FACE數(shù)據(jù)集和百度自采人臉數(shù)據(jù)集的超過10萬(wàn)張口罩人臉圖像。
PyramidBox-Lite在檢測(cè)速度方面吸收了FaceBoxes的優(yōu)勢(shì)。FaceBoxes模型在其RDCL(快速消融卷積層)模塊通過選擇合適尺寸的卷積核和降低輸出特征圖通道的數(shù)量,來減小輸入特征圖的尺寸,能夠提高實(shí)際運(yùn)用中的檢測(cè)速度[4]。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
而在原FaceBoxes結(jié)構(gòu)的基礎(chǔ)上,PyramidBox的網(wǎng)絡(luò)結(jié)構(gòu)繼承了VGG16的backbone,同時(shí)也采用了S3FD中的anchor尺度設(shè)計(jì)[5],anchor是指在訓(xùn)練之前,在訓(xùn)練集上利用k-means等方法聚類出來的一組矩形框,代表數(shù)據(jù)集中目標(biāo)主要分布的長(zhǎng)寬尺度。在損失層,設(shè)置了PyramidBox損失,分類采用Softmax損失,回歸采用平滑L1損失。
1.2 ?基于CenterFace的口罩檢測(cè)模型
該模型是思百達(dá)公司在實(shí)時(shí)口罩檢測(cè)項(xiàng)目sbd_ mask中提出的一種輕量級(jí)目標(biāo)檢測(cè)網(wǎng)絡(luò),人臉檢測(cè)部分網(wǎng)絡(luò)使用了CenterFace,而其圖像分類部分網(wǎng)絡(luò)使用了MobileNetV2。
在大多口罩檢測(cè)場(chǎng)景下,比如商場(chǎng)和車站,圖像中很可能會(huì)存在多個(gè)人臉,且受復(fù)雜環(huán)境影響,多目標(biāo)人臉檢測(cè)難度較大。CenterFace采用輕量級(jí)的特征金字塔網(wǎng)絡(luò),使得計(jì)算能力低、存儲(chǔ)空間小的終端設(shè)備也能實(shí)時(shí)快速地進(jìn)行人臉檢測(cè)[6]。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
CenterFace的backbone使用谷歌提出的MobileNetV2,并借鑒anchor-free通用對(duì)象檢測(cè)框架[7],先判斷feature map對(duì)應(yīng)在圖像中的位置是否是目標(biāo)的中心點(diǎn),再去計(jì)算目標(biāo)的寬和高。由于無需計(jì)算與anchor之間交叉的面積,而是根據(jù)人臉中心所在的位置分配標(biāo)簽,從而有效縮短了訓(xùn)練時(shí)間[8]。
1.3 ?基于SSD的Keras模型
該模型是AIZOO公司以SSD[9]為基礎(chǔ)架構(gòu),并使用Keras進(jìn)行訓(xùn)練的模型。模型可以實(shí)時(shí)運(yùn)行在瀏覽器以及終端設(shè)備上,符合實(shí)際應(yīng)用需求。模型的主干網(wǎng)絡(luò)如果加上定位和分類層,一共有24層。其中包含8個(gè)卷積層,用多個(gè)卷積層后的特征映射圖來定位和檢測(cè)原始圖像的物體[10]。其中,模型用L1損失函數(shù)計(jì)算矩形框位置的損失,用交叉熵?fù)p失函數(shù)計(jì)算預(yù)測(cè)類的損失,模型的總體流程可以概括為提取低尺度的特征映射圖、提取高尺度的特征映射圖以及輸出特征映射圖的位置信息與分類信息三步[11],流程可以概括如圖3所示。
在上述三種模型中,PyramidBox-Lite檢測(cè)模型和SSD檢測(cè)模型明確使用了anchor-based的設(shè)計(jì),而基于CenterFace的檢測(cè)模型則使用了anchor-free的設(shè)計(jì)。兩種方法的區(qū)別在于是否利用anchor提取候選目標(biāo)框。目前,采用 anchor-free 的方法在單階段檢測(cè)器上達(dá)到了和 anchor-based 方法接近甚至更好的效果。
2 ?方法性能測(cè)評(píng)
2.1 ?數(shù)據(jù)集與評(píng)價(jià)指標(biāo)選取
在此我們使用AIZOO開源的從WIDER FACE中選出的700張圖片以及隨機(jī)自選的300張圖片作為測(cè)試集,分為人數(shù)在10人及以上和人數(shù)低于10人的兩類場(chǎng)景,并選用檢測(cè)正確率ACC與圖像處理速度FPS對(duì)各種方法進(jìn)行評(píng)價(jià)[12]。測(cè)試平臺(tái)為擁有GTX950型GPU,8G內(nèi)存的Win10操作系統(tǒng)。
2.2 ?對(duì)比實(shí)驗(yàn)
經(jīng)過測(cè)試,三種檢測(cè)方法的性能數(shù)據(jù)如表1所示。
從實(shí)驗(yàn)結(jié)果可以看出,在人數(shù)不低于10人的場(chǎng)景下,基于CenterFace主干網(wǎng)絡(luò)的模型在口罩分類檢測(cè)方面準(zhǔn)確率最高,且檢測(cè)速度最快;百度的PyramidBox- Lite模型則在人臉檢測(cè)方面準(zhǔn)確率最高。在人數(shù)低于10人的場(chǎng)景下,PyramidBox-Lite的檢測(cè)速度和人臉檢測(cè)準(zhǔn)確率最高,基于CenterFace的檢測(cè)模型的口罩檢測(cè)準(zhǔn)確率最高,而基于SSD的Keras模型在三種性能上都略遜于前兩種方法。部分結(jié)果如圖4、5所示。
圖4中被框選的左起第七人因其嘴部被前面的人的肩膀和衣物遮擋,導(dǎo)致PyramidBox-Lite誤判為已佩戴口罩,而思百達(dá)基于CenterFace的模型則成功檢測(cè)出其未佩戴口罩;AIZOO的基于SSD的模型對(duì)右起第二、左起第一、第二、第六人均未框選出人臉,但對(duì)于成功框選的人臉,其口罩檢測(cè)結(jié)果都正確。
從復(fù)雜場(chǎng)景下的實(shí)驗(yàn)效果可以看出,PyramidBox- Lite和基于CenterFace的檢測(cè)模型的人臉檢測(cè)和口罩檢測(cè)準(zhǔn)確率都較高,且基于CenterFace的檢測(cè)模型 ?的運(yùn)行速度更快。說明當(dāng)場(chǎng)景中人數(shù)較多時(shí),衣物對(duì)人臉的遮擋和過于復(fù)雜的實(shí)際場(chǎng)景可能導(dǎo)致模型的 ?誤判。
對(duì)于人數(shù)小于10人的一般場(chǎng)景,我們展示了部分有代表性的圖像,包括正常口罩、非口罩遮罩、肢體遮罩、類肢體顏色的口罩四種情況。可以清晰地看到,三種方法都能夠檢測(cè)出正常口罩人臉和遮擋面部面積較大、顏色接近肢體顏色的口罩人臉。對(duì)于非口罩遮罩和肢體遮罩,基于SSD的Keras模型的檢測(cè)效果最好,不僅正確區(qū)分了衣物遮罩,還明確檢測(cè)出肢體遮罩并非口罩;PyramidBox-Lite僅成功檢測(cè)出其中一張衣物遮罩,將第四張用衣物遮擋的人臉誤判為已佩戴口罩;基于CenterFace的檢測(cè)模型錯(cuò)將非口罩遮罩人臉檢測(cè)為口罩人臉,且未框選出肢體遮罩人臉。
綜合實(shí)驗(yàn)的檢測(cè)效果可以看出,百度的PyramidBox- Lite模型檢測(cè)速度最快,且人臉和口罩的檢測(cè)的準(zhǔn)確率都很高。而思百達(dá)的CenterFace模型和AIZOO的基于SSD的檢測(cè)模型擁有更加輕量級(jí)的架構(gòu),在低配終端的運(yùn)行能力更具有優(yōu)勢(shì),其檢測(cè)效果和檢測(cè)速度都值得肯定。
3 ?結(jié)語(yǔ)
在實(shí)際應(yīng)用中,防控檢測(cè)人員更加關(guān)注準(zhǔn)確性和效率。從本文實(shí)驗(yàn)可以看出,現(xiàn)有檢測(cè)方法在人數(shù)較少、環(huán)境簡(jiǎn)單的一般生活場(chǎng)景中檢測(cè)準(zhǔn)確性都非??捎^,但對(duì)于有復(fù)雜人群的生活場(chǎng)景,性能會(huì)受到包括衣物遮擋、肢體遮擋、口罩顏色等多重因素的影響。更重要的是,模型需要在保證檢測(cè)準(zhǔn)確率的同時(shí),具有更快的檢測(cè)和分類速度。因此,總結(jié)未來口罩人臉檢測(cè)方法的優(yōu)化趨勢(shì)如下:
(1)完善動(dòng)態(tài)學(xué)習(xí)機(jī)制。由于現(xiàn)有口罩?jǐn)?shù)據(jù)集較少,模型可以在實(shí)際應(yīng)用中不斷微調(diào)。例如,目前百度的Paddlehub1.6以上版本已經(jīng)支持自身微調(diào)后自動(dòng)轉(zhuǎn)存模型。
(2)強(qiáng)化模型在特殊情況下的訓(xùn)練。包括對(duì)類肢體顏色的口罩、非口罩的衣物遮罩、肢體遮罩等信息較為特殊的圖像的檢測(cè)訓(xùn)練。
(3)降低模型體量,支持終端運(yùn)行。大多數(shù)終端設(shè)備的存儲(chǔ)計(jì)算能力不高,因此輕量級(jí)模型將更有發(fā)展前景,例如思百達(dá)的sbd_mask和AIZOO的模型均可支持終端運(yùn)行。
參考文獻(xiàn)
[1] 王遠(yuǎn)大. UCloud開放人臉口罩檢測(cè)服務(wù)借助AI算法加快疫情防控[J]. 通信世界, 2020(5): 33-34.
[2] Xu Tang, Daniel K. Du, Zeqiang He, Jingtuo Liu. PyramidBox: A Context-assisted Single Shot Face Detector// ECCV2018, pp. 797-813.
[3] Yuanyuan Xu and Wan Yan and Haixin Sun and Genke Yang and Jiliang Luo. CenterFace: Joint Face Detection and Alignment Using Face as Point//CVPR, 2019.
[4] C. Zhu, Y. He, and M. Savvides. Feature selective anchor- free module for single-shot object detection. arXiv:1903. 00621, 2019.
[5] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg. SSD: Single shot multibox detector. ECCV, 2016.
[6] T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar. Focal loss for dense object detection. In ICCV, 2017.
[7] R. Girshick. Fast r-cnn. In ICCV, 2015. 1, 3.
[8] B. Singh, M. Najibi, and L. S. Davis. SNIPER: Efficient multi-scale training. NIPS, 2018.
[9] Joseph Redmon and Ali Farhadi. Yolo9000: Better, faster, stronger. arXiv:1612.08242, 2016.
[10] Lingxi Xie and Alan L. Yuille. Genetic CNN. CoRR, abs/1703.01513, 2017.
[11] V. Jain and E. G. Learned-Miller. Fddb: A benchmark for face detection in unconstrained settings. UMass Amherst Technical Report, 2010.
[12] X.Zhou, D. Wang and P. Krahenbuhl. Objects as Points. arXiv:1904.07850.