文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190257
中文引用格式: 孫貴華,陳淑榮. 一種改進(jìn)的RefineDet多尺度人臉檢測方法[J].電子技術(shù)應(yīng)用,2019,45(8):34-39.
英文引用格式: Sun Guihua,Chen Shurong. An improved RefineDet multi-scale face detection method[J]. Application of Electronic Technique,2019,45(8):34-39.
0 引言
人臉檢測[1]作為人臉識別[2-3]、人臉對齊、人臉驗(yàn)證[4]以及人臉跟蹤[5]等應(yīng)用的關(guān)鍵步驟,其首要任務(wù)是判斷視頻或給定圖像中是否存在人臉,再精確定位出人臉的位置和大小。在一些人臉目標(biāo)尺寸跨度大且小目標(biāo)眾多的應(yīng)用場景,人臉檢測的效果將直接影響人臉識別等后續(xù)技術(shù)應(yīng)用的準(zhǔn)確率,因此研究多尺度人臉檢測具有重要意義。
早期人臉檢測算法多是人工提取特征,訓(xùn)練分類器,再進(jìn)行人臉檢測。如VIOLA P A和JONES M[6]提出的Haar-Like與AdaBoost級聯(lián)的方法,其檢測速度較快,但對多尺度、姿態(tài)多樣性等情形檢測效果不理想。隨著深度學(xué)習(xí)在機(jī)器學(xué)習(xí)中的不斷發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)提取特征更加多樣化、魯棒性更好,在圖像識別以及目標(biāo)檢測等領(lǐng)域[7-8]得到廣泛應(yīng)用。其中以Faster R-CNN[9]為代表的算法首先通過區(qū)域預(yù)測網(wǎng)絡(luò)(Region Proposal Network,RPN)產(chǎn)生感興趣的候選區(qū)域,再對該區(qū)域提取尺度不變的CNN特征,最后對區(qū)域進(jìn)行分類和回歸。JIANG H[10]等將Faster R-CNN應(yīng)用于人臉檢測,取得了較好效果,但速度較慢。文獻(xiàn)[11]將人臉檢測與人臉關(guān)鍵點(diǎn)檢測結(jié)合,網(wǎng)絡(luò)層數(shù)淺,檢測速度快但精度較低。HU P[12]等人通過多尺度模板,利用圖像上下文信息來解決小尺寸人臉檢測精度較低的問題。
為進(jìn)一步提高人臉檢測精度,本文通過改進(jìn)RefineDet[13]網(wǎng)絡(luò)模型結(jié)構(gòu),建立了一種多尺度人臉檢測模型。首先對待檢測圖像歸一化處理,利用CNN提取圖像特征,再通過特征金字塔網(wǎng)絡(luò)[14](Feature Pyramid Networks,F(xiàn)PN)將更底層的conv3_3特征圖與高層特征圖進(jìn)行融合,以便增強(qiáng)小尺寸人臉的語義信息,提高小目標(biāo)人臉的檢測精度。然后利用置信度和損失函數(shù)對檢測框進(jìn)行二次抑制,緩解類別失衡[15]問題。最后通過非極大值抑制算法得到精確回歸后的人臉檢測框和相應(yīng)的位置信息。根據(jù)人臉區(qū)域特點(diǎn),將人臉候選框的寬高比只設(shè)為1:1,以減少計(jì)算量進(jìn)而提高檢測精度。
1 多尺度人臉檢測模型
1.1 改進(jìn)的RefineDet多尺度檢測模型網(wǎng)絡(luò)結(jié)構(gòu)
RefineDet是基于SSD[16]的改進(jìn)方法,以VGG16[17]作為特征提取的骨干網(wǎng)絡(luò),包含fc6和fc7兩個(gè)全連接層轉(zhuǎn)換成的conv_fc6、conv_fc7以及擴(kuò)展的conv6_1、conv6_2。其檢測網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1中虛線框部分所示,采用conv4_3、conv5_3、conv_fc7和conv6_2作為檢測層。
在CNN提取圖像特征的過程中,感受野[18]用來表示卷積神經(jīng)網(wǎng)絡(luò)每一層輸出的特征圖上的像素點(diǎn)在原始圖像上映射區(qū)域的大小。輸入RefineDet網(wǎng)絡(luò)的圖像,由于卷積層與池化層之間均為局部連接,神經(jīng)元無法對原始圖像的所有信息進(jìn)行感知,且每經(jīng)過一次2×2的最大池化層處理,特征圖變?yōu)樵瓉淼囊话?。隨著網(wǎng)絡(luò)層加深,特征圖會越來越小,小尺寸人臉的信息也會逐步丟失,提取的特征也更抽象。因此,越高層的特征圖對應(yīng)原始圖像的范圍越大,包含語義層次更高的特征;越低層的特征圖對應(yīng)原始圖像的范圍越小,包含的特征更趨向于局部細(xì)節(jié)。可見,對于近景下的較大人臉需要更高層的特征圖進(jìn)行檢測,而遠(yuǎn)景下的小尺寸人臉可以在更低層的特征圖上檢測到。為了提高不同尺度的人臉檢測精度,進(jìn)一步改善整個(gè)網(wǎng)絡(luò)的檢測性能,本文在RefineDet特征融合部分加入更低層的conv3_3特征圖,以便檢測較小尺寸的人臉,并在conv6_2后面添加額外的conv7_1和conv7_2,以便檢測較大的人臉區(qū)域。改進(jìn)的RefineDet檢測網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示,選取conv3_3、conv4_3、conv5_3、conv_fc7、conv6_2和conv7_2 6個(gè)層的特征圖作為檢測層。
網(wǎng)絡(luò)模型主要包括區(qū)域優(yōu)化模塊(Anchor Refine Module,ARM)和目標(biāo)檢測模塊(Object Detect Module,ODM)。對輸入640像素×640像素的待檢測圖片,在ARM中經(jīng)過卷積層特征提取后得到不同大小的特征圖,可粗略預(yù)估人臉的位置和得分,并濾除一些無效候選區(qū),以減少分類器的搜索空間并且粗略地調(diào)整保留區(qū)域的位置和大小。同時(shí),ARM的特征圖通過連接模塊(Transfer Connection Block,TCB)輸入到ODM中,將高層特征與底層特征進(jìn)行融合,用來增強(qiáng)底層特征的語義信息,以便檢測更小的人臉目標(biāo)。本文利用特征圖融合的方式增加不同層之間的聯(lián)系,通過這樣的連接,檢測網(wǎng)絡(luò)中的特征圖都融合了不同尺度、不同語義強(qiáng)度的特征,以此保證檢測層的特征圖可以檢測不同尺度的人臉。此處以O(shè)DM的高層特征圖CONV4_3和ARM的底層特征圖conv3_3融合為例,其過程如圖2所示,卷積核大小為3×3,通道數(shù)為256,反卷積核大小為4×4,步長為2,通道數(shù)為256。核大小為3×3,通道數(shù)為256,反卷積核大小為4×4,步長為2,通道數(shù)為256。不同層的特征圖大小各不相同,因此,CONV4_3先通過反卷積操作縮放成與conv3_3特征圖相同的大??;然后通過element-wise相加進(jìn)行融合,得到CONV3_3;最后ODM對特征融合后的人臉候選區(qū)域進(jìn)行更精確的回歸,并且通過非極大值抑制算法得到不同尺度人臉的檢測結(jié)果。
1.2 檢測層參數(shù)設(shè)置
RefineDet選擇conv4_3為初始檢測層,步長為8,在特征圖上移動(dòng)一點(diǎn)相當(dāng)于在原始圖像上移動(dòng)8個(gè)像素,這種設(shè)置不適合檢測更小尺寸目標(biāo)。本文將conv3_3作為初始檢測層,特征圖步長設(shè)為4,更利于檢測小尺寸人臉。從conv3_3到conv7_2,寬高比為1:1,檢測層參數(shù)設(shè)置如表1所示。通過在6層卷積特征圖上設(shè)置不同大小的人臉檢測框,能有效提高多尺度人臉的檢測精度。
1.3 損失函數(shù)
實(shí)驗(yàn)中對于一張640×640的圖像,人臉?biāo)急壤h(yuǎn)遠(yuǎn)小于背景所占比例,圖像中大部分區(qū)域?yàn)樨?fù)樣本。模型訓(xùn)練過程中,按照表1在每個(gè)卷積層生成不同數(shù)量的檢測框,則conv3_3產(chǎn)生25 600個(gè)16×16的檢測框,占檢測框總數(shù)的75.02%,如果將全部正負(fù)樣本都用來訓(xùn)練,這會引起類不平衡的問題,導(dǎo)致檢測精度下降。因此,為了緩解失衡,利用損失函數(shù)對檢測框進(jìn)行二次抑制。當(dāng)負(fù)樣本的置信度大于0.99時(shí),直接舍棄該候選區(qū)域,即對檢測框進(jìn)行首次抑制。
本文的損失函數(shù)主要包括ARM和ODM兩部分損失,如式(1)所示。
式中,pt為不同類別的分類概率,pt越大,權(quán)重(1-pt)γ越小,這樣對于一些很容易區(qū)分的樣本可通過權(quán)重得到抑制,進(jìn)而減少檢測框的數(shù)量。αt用來調(diào)節(jié)正負(fù)樣本的比例,本文采用與文獻(xiàn)[15]相同的參數(shù)設(shè)置,正負(fù)樣本比例為1:3,即αt=0.25,γ=2,實(shí)驗(yàn)表明,該參數(shù)適用于本文模型。
2 實(shí)驗(yàn)過程與結(jié)果分析
2.1 人臉數(shù)據(jù)集選擇
實(shí)驗(yàn)采用Wider Face數(shù)據(jù)集,包含Easy、Medium、Hard 3個(gè)類別子集。該數(shù)據(jù)集共有32 203張圖片,并標(biāo)注了393 703張人臉。其中Easy子集為尺寸大于300像素的人臉,容易檢測;Medium子集人臉尺寸為50~300像素,檢測難度適中;Hard子集包含尺寸為10~50像素的小目標(biāo)人臉,較難檢測。該數(shù)據(jù)集適合本文建立的多尺度人臉檢測模型。
2.2 模型訓(xùn)練過程
實(shí)驗(yàn)在Win10操作系統(tǒng)下進(jìn)行,計(jì)算機(jī)配置為NVIDIA GeForce GTX 1080Ti顯卡,采用的深度學(xué)習(xí)框架為Caffe。為了使訓(xùn)練所得模型對不同尺度的人臉有更好的魯棒性,本文采用文獻(xiàn)[16]中的隨機(jī)光照失真以及裁剪原始圖像并反轉(zhuǎn)的方法擴(kuò)充訓(xùn)練樣本集。用ImageNet分類任務(wù)上預(yù)訓(xùn)練好的VGG16 卷積神經(jīng)網(wǎng)絡(luò)初始化特征并提取網(wǎng)絡(luò)卷積層權(quán)重,訓(xùn)練過程采用隨機(jī)梯度下降算法(SGD)優(yōu)化整個(gè)網(wǎng)絡(luò)模型。
本文訓(xùn)練過程采用SSD的匹配策略,不同的是將檢測框與真實(shí)框的重疊率閾值由0.5降為0.35,大于0.35的判斷為正樣本,以此來增大匹配到的檢測框數(shù)量。另外,網(wǎng)絡(luò)初始學(xué)習(xí)率設(shè)置為0.000 5,8萬次迭代后降為0.000 01,12萬次迭代后設(shè)置為0.000 002,動(dòng)量為 0.9,權(quán)重衰減為0.000 5,批次大小設(shè)置為4,共進(jìn)行20萬次迭代。
2.3 不同尺度的人臉檢測結(jié)果
為了驗(yàn)證方法的有效性,本文在Wider Face驗(yàn)證集上進(jìn)行實(shí)驗(yàn)驗(yàn)證。首先選擇RefineDet的網(wǎng)絡(luò)模型結(jié)構(gòu),輸入640×640大小的圖像,寬高比設(shè)為1:1,本文將其稱之為模型A;其次,以相同的輸入,選擇加入底層特征conv3_3后的6層卷積特征圖作為檢測層進(jìn)行實(shí)驗(yàn),稱之為模型B;最后,本文在模型B的基礎(chǔ)上,采用focal loss作為損失函數(shù)進(jìn)行實(shí)驗(yàn),稱之為本文模型。驗(yàn)證結(jié)果如表2所示。
由表2可見,在輸入相同的情況下,模型B相比于模型A在Easy、Medium、Hard 3個(gè)子集上的平均檢測精度(Mean Average Precision,MAP)分別提高了0.1%、0.2%和4.3%,表明加入底層conv3_3的特征融合后可以有效改善小尺寸人臉的語義信息,進(jìn)而提高多尺度人臉檢測精度。本文模型相比于模型B在3個(gè)子集上的檢測精度又分別提高了0.6%、0.9%和1.1%,表明改進(jìn)損失函數(shù)能有效緩解類別不平衡的問題,進(jìn)而提高檢測精度。
2.4 與其他方法比較
為進(jìn)一步驗(yàn)證模型的性能,將本文方法與近年來的主流算法ScaleFace[20]、Multitask Cascade CNN[11]、HR[12]在相同實(shí)驗(yàn)環(huán)境和相同數(shù)據(jù)集上進(jìn)行了對比,采用官方評估方法進(jìn)行評估[21]。在Wider Face人臉驗(yàn)證集上得到的P-R曲線如圖3所示。
P-R圖中橫坐標(biāo)表示檢測框的召回率(Recall),縱坐標(biāo)表示檢測精度(Precision)。召回率用來評估檢測出來的人臉占樣本標(biāo)記總?cè)四様?shù)的比例,檢測精度用來評估檢測出的正確人臉占檢測出的總?cè)四様?shù)的比例,因此,曲線右上越凸,表示檢測效果越好。由圖3可見,本文方法較其他方法在檢測精度上均有所提高,尤其在Hard子集上更達(dá)到了84.4%的檢測精度,表明了方法的有效性,也顯示了該模型檢測小尺寸人臉的優(yōu)越性。
2.5 檢測效果
圖4為本文方法與RefineDet的檢測結(jié)果對比,矩形框表示檢測出的人臉位置,圓形框表示兩者的著重對比區(qū)域。由圖4(a)和圖4(c)可見,圖像中的人臉尺寸大小不一,RefineDet對于檢測背景中小尺寸人臉存在明顯缺陷,不能有效檢測,而本文方法可以在一張圖片上同時(shí)檢測不同尺度人臉。圖4(b)和圖4(d)相比,在人臉較小且密集的情景下,RefineDet漏檢而本文方法在檢測小尺寸人臉上有明顯優(yōu)勢。
3 結(jié)論
本文建立了一種基于RefineDet多層特征融合的多尺度人臉檢測方法,網(wǎng)絡(luò)結(jié)構(gòu)為兩級級聯(lián)模式,第一級ARM模塊對人臉檢測框進(jìn)行粗略回歸,第二級ODM模塊經(jīng)與底層特征融合后再對人臉檢測框完成精確回歸。檢測網(wǎng)絡(luò)在6層不同的特征圖上進(jìn)行,能有效檢測16×16的小尺寸人臉區(qū)域,以及520×520較大的人臉區(qū)域,對比其他人臉檢測方法,本文方法能更好地處理人臉尺寸眾多且密集的情況,特別是小尺寸人臉檢測精度有明顯提高。
參考文獻(xiàn)
[1] 霍芋霖,符意德.基于Zynq的人臉檢測設(shè)計(jì)[J].計(jì)算機(jī)科學(xué),2016,43(10):322-325.
[2] 李小薪,梁榮華.有遮擋人臉識別綜述:從子空間回歸到深度學(xué)習(xí)[J].計(jì)算機(jī)學(xué)報(bào),2018,41(1):177-207.
[3] GAO Y,MA J,YUILLE A L,et al.Semi-supervised sparse representation based classification for face recognition with insufficient labeled samples[J].IEEE Transactions on Image Processing,2017,26(5):2545-2560.
[4] MAJUMDAR A,SINGH R,VATS M,et al.Face verification via class sparsity based supervised encoding[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1273-1280.
[5] KHAN M H,MCDONAGH J,TZIMIROPOULOS G,et al.Synergy between face alignment and tracking via discriminative global consensus optimization[C].International Conference on Computer Vision.IEEE,2017:3811-3819.
[6] VIOLA P A,JONES M.Robust real-time face detection[C].Proceedings of IEEE Conference on Computer Vision.IEEE,2001:747.
[7] 黃友文,萬超倫.基于深度學(xué)習(xí)的人體行為識別算法[J].電子技術(shù)應(yīng)用,2018,44(10):1-5.
[8] 周進(jìn)凡,張榮芬,馬治楠,等.基于深度學(xué)習(xí)的胸部X光影像分析系統(tǒng)[J].電子技術(shù)應(yīng)用,2018,44(11):29-32.
[9] REN S,HE K,GIRSHICK R B,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
[10] JIANG H,LEARNEDMILLER E G.Face detection with the faster R-CNN[C].IEEE International Conference on Automatic Face Gesture Recognition.IEEE,2017:650-657.
[11] ZHANG K,ZHANG Z,LI Z,et al.Joint face detection and alignment using multitask cascaded convolutional networks[J].IEEE Signal Processing Letters,2016,23(10):1499-1503.
[12] HU P,RAMANAN D.Finding tiny faces[J].Computer Vision and Pattern Recognition,Hawaii,USA,2017:1522-1530.
[13] ZHANG S,WEN L,BIAN X,et al.Single-shot refinement neural network for object detection[C].IEEE Conference on Computer Vision and Pattern Recognition,2018:4203-4212.
[14] LIN T,DOLLAR P,GIRSHICK R B,et al.Feature pyramid networks for object detection[C].IEEE Conference on Computer Vision and Pattern Recognition,2017:936-944.
[15] LIN T,GOYAL P,GIRSHICK R B,et al.Focal loss for dense object detection[C].International Conference on Computer Vision.IEEE,2017:2999-3007.
[16] LIU W,ANGUELOY D,ERHAN D,et al.SSD:single shot multibox detector[C].European Conference on Computer Vision,Amsterdam,Netherlands,2016:21-37.
[17] SIMONYAN K,ZISSERMAN.A very deep convolutional networks for large-scale image recognition[C].International Conference on Learning Representations,2015.
[18] LUO W,LI Y,URTASUN R,et al.Understanding the effective receptive field in deep convolutional neural networks[C].29th Conference on Neural Information Processing Systems,Barcelona,Spain,2016:4898-4906.
[19] DAI J,LI Y,HE K,et al.R-FCN:object detection via region-based fully convolutional networks[C]. 29th Conference on Neural Information Processing Systems,2016:379-387.
[20] YANG S,XIONG Y,LOY C C,et al.Face detection through scale-friendly deep convolutional networks[J].arXiv:Computer Vision and Pattern Recognition,2017.
[21] YANG S,LUO P,LOY C C,et al.Wider face: a face detection benchmark[C].IEEE Conference on Computer Vision and Pattern Recognition,2016:5525-5533.
作者信息:
孫貴華,陳淑榮
(上海海事大學(xué) 信息工程學(xué)院,上海201306)