董子平,陳世國,廖國清
(貴州師范大學(xué)物理與電子科學(xué)學(xué)院,貴州 貴陽 550025)
人臉檢測作為人臉識別的重要環(huán)節(jié),一直受到研究人員廣泛關(guān)注。在教室、銀行大堂、超市等人員密集場所,同一視頻圖像中匯集了眾多人臉,人臉遮擋、人臉成像較小會大大增加人臉檢測的難度,導(dǎo)致分辨率下降。人臉檢測已經(jīng)成為研究人員關(guān)注的熱點(diǎn)。
近年來,基于深度學(xué)習(xí)的人臉檢測算法不斷創(chuàng)新,能夠在不同人臉尺度、不同光照強(qiáng)度下檢測人臉。文獻(xiàn)[1]提出了一種基于深度殘差網(wǎng)絡(luò)和注意力機(jī)制的人臉檢測算法,通過使用深度殘差網(wǎng)絡(luò)并在網(wǎng)絡(luò)中添加注意力機(jī)制,增強(qiáng)了特征圖在通道上的表達(dá)能力,利用IoU(Intersection over Union)損失函數(shù)提升了人臉檢測的性能。文獻(xiàn)[2]提出了以Faster-RCNN(Faster Region-based Convolutional Neural Network)[3]改進(jìn)的人臉檢測算法,采用ResNet-50(Residual Network-50)作為主干網(wǎng)絡(luò),使用多尺度融合技術(shù)和軟非極大值抑制方法解決漏檢重疊人臉的問題。文獻(xiàn)[4]提出一個(gè)以YOLOv3(YouOnly Look Once version3)[5]改進(jìn)的輕量化人臉檢測算法,使用MobileNet[6]作為主干網(wǎng)絡(luò),加快檢測速度;將Self-attention[7]機(jī)制與特征金字塔網(wǎng)絡(luò)FPN(Feature Pyramid Networks)[8]機(jī)制相融合,降低環(huán)境對人臉檢測任務(wù)的影響。文獻(xiàn)[9]提出了一種基于全卷積頭部檢測器FCHD(Fast and aCcurate Head Detector)[10]人臉檢測的改進(jìn)算法,增加3個(gè)卷積層分別對圖像所有位置進(jìn)行檢測、預(yù)測目標(biāo)所在位置和判斷目標(biāo)是否為人臉,在20~30人的課堂中能夠達(dá)到67.1%的精度,但在人數(shù)較多的教室中精度并不如意。
考慮到在人臉檢測任務(wù)中需要達(dá)到實(shí)時(shí)檢測的目的,本文選擇近年來在目標(biāo)檢測任務(wù)上表現(xiàn)良好的YOLO系列算法。其中,YOLOv5s算法與其他版本相比,在保證檢測精度的同時(shí)檢測速度更快。所以,本文對其進(jìn)行改進(jìn),期望得到更好的多人臉檢測效果。
YOLOv5s算法的網(wǎng)絡(luò)結(jié)構(gòu)由輸入(Input)、主干網(wǎng)絡(luò)(Backbone)、特征融合(Neck)、訓(xùn)練(Training)和預(yù)測(Prediction)等部分組成,具體結(jié)構(gòu)如圖1所示。其中,Input為一幅640×640×3的RGB圖像;Backbone部分交替使用CBS與C3模塊(具體結(jié)構(gòu)見圖1),其中C3借鑒了跨階段局部網(wǎng)絡(luò)CSPNet(Cross Stage Partial Network)[11]結(jié)構(gòu),用于提取圖像中人臉特征;Neck部分將FPN結(jié)構(gòu)與路徑聚合網(wǎng)絡(luò)PANet(Path Aggregation Network)[12]相結(jié)合,將不同層的人臉特征進(jìn)行融合;Training部分是在訓(xùn)練中先將正負(fù)樣本按照采樣策略進(jìn)行劃分,接著計(jì)算預(yù)測結(jié)果與人臉目標(biāo)的損失。這種損失在本文任務(wù)中分為2部分:(1)定位損失,采用CIoU(Complete-IoU)函數(shù);(2)置信度損失,采用BCELogits(Binary Cross Entropy Logits)函數(shù),然后將損失回傳給模型并更新參數(shù)。Prediction部分是訓(xùn)練完成后將不同層的預(yù)測結(jié)果進(jìn)行整合,結(jié)果采用非極大值抑制NMS(Non-Maximum Suppression)算法排除冗余框,最終輸出預(yù)測結(jié)果。
Figure 1 Network structure of YOLOv5s
圖1中,Bottleneck結(jié)構(gòu)為經(jīng)過2次普通卷積的殘差結(jié)構(gòu);C3×n中n為C3中含有Bottleneck殘差結(jié)構(gòu)的個(gè)數(shù);Pi表示FPN結(jié)構(gòu)對應(yīng)的層數(shù);Concat模塊是將2個(gè)基礎(chǔ)模塊進(jìn)行拼接(維度相加);Up模塊是對特征圖進(jìn)行上采樣(最近鄰插)。
原YOLOv5s模型將8,16和32倍下采樣的特征圖P′1、P′2和P′3(見圖1)輸入Prediction部分進(jìn)行預(yù)測。但是,本次任務(wù)所用數(shù)據(jù)集WIDER FACE包含了大量難以檢測的小尺度人臉,將圖像縮放為640×640后,其中邊長小于8的人臉標(biāo)簽大約有64 000個(gè),這些人臉標(biāo)簽在特征圖P′1、P′2和P′3中所占像素并不足以表達(dá)其特征。這是因?yàn)楦弑断虏蓸犹卣鲌D中的人臉語義信息豐富,但分辨率低、定位信息不足,并不利于檢測小尺度人臉。
為解決以上問題,本文在Neck結(jié)構(gòu)中增加4倍下采樣的檢測尺度,并引入FTT(Feature Texture Transfer)[13]模塊。
FFT模塊的結(jié)構(gòu)如圖2所示。FTT模塊的核心思想是使用超分辨率模塊將高層特征圖轉(zhuǎn)為分辨率更高的低層特征圖,以豐富小尺度人臉的紋理特征,最終提高小尺度人臉的檢測性能。
Figure 2 Structure of FTT
該模塊首先使用內(nèi)容提取器(Content Extractor)對模型中P2層特征圖的內(nèi)容特征進(jìn)行提取,內(nèi)容提取器使用殘差模塊,在不失去原有人臉特征的基礎(chǔ)上進(jìn)一步提取其內(nèi)容。殘差模塊采用1×1卷積,目的為盡可能地保持低計(jì)算量。其次,使用亞像素卷積(Sub-Pixel Convolution)對其內(nèi)容特征圖進(jìn)行分辨率的加倍(如圖2中Sub-Pixel Conv模塊)。在此部分中,本文將特征圖通道數(shù)減為原有的1/4,高和寬為原有的2倍,通過分流通道維度上的像素,對寬度和高度維度上的像素進(jìn)行增強(qiáng)。接著,對與P1層拼接后的特征圖使用紋理提取器(Texture Extractor)進(jìn)行紋理特征的提取。紋理提取器與內(nèi)容提取器類似,也使用殘差模塊,目的是從主要特征和參考特征中選擇可信的區(qū)域紋理。殘差模塊采用1×1卷積,也是為了盡可能地保持低計(jì)算量。最后,將內(nèi)容提取后的特征與紋理提取后的特征相加,這樣有助于融合超分辨內(nèi)容特征與紋理特征。本文實(shí)驗(yàn)結(jié)果表明,FTT模塊產(chǎn)生的特征圖有利于檢測小尺度人臉。
FTT模塊的具體過程如式(1)所示:
FTT=ET(P1‖EC(P2)↑2×)+EC(P2)↑2×
(1)
其中,ET(·)代表紋理提取器;EC(·)代表內(nèi)容提取器;‖表示對2個(gè)特征圖進(jìn)行拼接(通道維度的合并);↑2×表示對特征圖高和寬進(jìn)行2倍放大的亞像素卷積。
改進(jìn)后的Neck結(jié)構(gòu)如圖3所示。其中,P′0是由Backbone中P0層特征圖與Neck結(jié)構(gòu)中的L層特征圖先后經(jīng)過FTT模塊、Upsample操作后拼接產(chǎn)生的。此特征圖包含了小尺度人臉更豐富的定位信息和紋理特征,能夠提升小尺度人臉的檢測效果。圖3中每個(gè)平行四邊形為不同卷積層的特征圖大小;向上箭頭為卷積操作;向下箭頭為上采樣操作。
Figure 3 Structure of improved Neck
在多人臉檢測任務(wù)中,正樣本是圖像中算法感興趣的人臉標(biāo)記區(qū)域;負(fù)樣本是人臉區(qū)域之外的背景區(qū)域。大多數(shù)情況下,在一幅圖像中的人數(shù)不會超過100,但YOLOv5s的3層檢測器會固定產(chǎn)生大量的待檢測框(25 600個(gè)),這時(shí)正負(fù)樣本數(shù)目極度不平衡,YOLOv5s訓(xùn)練時(shí)會嚴(yán)重偏向負(fù)樣本,影響泛化性能。在2.1節(jié)中增加了4倍下采樣特征圖P′0,待檢測框個(gè)數(shù)變?yōu)?02 400個(gè),這進(jìn)一步增加了正負(fù)樣本不平衡的程度。所以,為緩解正負(fù)樣本不平衡問題,本文對正負(fù)樣本的采樣策略進(jìn)行改進(jìn)。
從圖3可以看出,P′1、P′2和P′33個(gè)特征圖的大小分別為80×80,40×40和20×20。YOLOv5s將這3個(gè)特征圖按照上述劃分方格,并使用真實(shí)框的中心點(diǎn)坐標(biāo)在3個(gè)特征圖所對應(yīng)方格中的位置來判別使用哪些方格來預(yù)測物體。例如,若真實(shí)框中心點(diǎn)x、y坐標(biāo)距離方格左上角頂點(diǎn)距離均小于0.5,則用左側(cè)、上側(cè)和中間的方格作為正樣本預(yù)測人臉目標(biāo),如圖4所示。
Figure 4 Sampling strategy of YOLOv5s
圖4中,C為真實(shí)框的中心點(diǎn),灰色區(qū)域?yàn)閅OLOv5s選擇的正樣本。
從圖4可以看出,YOLOv5s模型在正負(fù)樣本采樣策略中有以下2個(gè)缺點(diǎn):(1)當(dāng)x與y坐標(biāo)較為接近方格的中心點(diǎn)時(shí),下側(cè)和右側(cè)方格也會與真實(shí)框產(chǎn)生一定的交集,上側(cè)和左側(cè)方格也有可能作為正樣本預(yù)測人臉;人臉框與預(yù)測框的長寬比大于某一個(gè)閾值時(shí),上側(cè)、下側(cè)或左側(cè)、右側(cè)的方格都會與真實(shí)框發(fā)生一定的交集,應(yīng)該根據(jù)一定的約束條件來對正樣本進(jìn)行采樣。
根據(jù)以上2種情況,為增加正樣本的數(shù)量,緩解正負(fù)樣本不均衡所帶來的影響,本文進(jìn)行了如改進(jìn):當(dāng)真實(shí)框?qū)捴行狞c(diǎn)x、y坐標(biāo)在方格中心點(diǎn)的[0.4,0.6]內(nèi)時(shí),將用上側(cè)、下側(cè)、左側(cè)、右側(cè)和中間方格同時(shí)預(yù)測真實(shí)目標(biāo),如圖5a所示;當(dāng)真實(shí)框與預(yù)測框的寬之比wgt/w>2且中心點(diǎn)縱坐標(biāo)y<0.4(y>0.6)時(shí),用上側(cè)、右側(cè)和中間(下側(cè)、右側(cè)和中間)的方格預(yù)測真實(shí)目標(biāo),如圖5b所示(真實(shí)框與預(yù)測框的長之比大于2且中心點(diǎn)橫坐標(biāo)x<0.4(x>0.6)的情形可根據(jù)圖4b同理得到)。
Figure 5 New sampling strategy for positive samples and negative samples
圖5a中,虛框區(qū)域?yàn)檎鎸?shí)框中心點(diǎn)x、y坐標(biāo)在方格中心點(diǎn)坐標(biāo)的[0.4,0.6]內(nèi),灰色區(qū)域?yàn)槟P瓦x擇的正樣本。圖5b中,大的虛框區(qū)域?yàn)轭A(yù)測框,灰色區(qū)域?yàn)檫x擇的正樣本。
本文通過以上方式改進(jìn)人臉正負(fù)樣本采樣策略,增加了能夠有效檢測人臉的正樣本,提升了正樣本在訓(xùn)練中的影響,增強(qiáng)了YOLOv5s的泛化能力。
在YOLOv5s算法中,共包含3種損失:定位損失(Localization Loss)、置信度損失(Confidence Loss)和分類損失(Classification Loss)。其中,定位損失使用CIoU Loss[14]函數(shù),CIoU Loss函數(shù)相關(guān)公式如式(2)~式(4)所示:
(2)
(3)
(4)
其中,IoU為預(yù)測框與真實(shí)框的交并比;ρ2(x1,x2)是x1和x2的歐氏距離平方,表示預(yù)測框與真實(shí)框的中心點(diǎn)距離差;c為覆蓋預(yù)測框和真實(shí)框的最小外接框的對角線長度;b和bgt分別表示預(yù)測框和真實(shí)框的中心點(diǎn)坐標(biāo);w和wgt為分別表示預(yù)測框和真實(shí)框?qū)?h和hgt為分別表示預(yù)測框和真實(shí)框高;α是一個(gè)平衡參數(shù),不參與梯度計(jì)算;v是用來衡量寬高比相似性的參數(shù),當(dāng)預(yù)測框與真實(shí)框?qū)捀弑炔灰恢聲r(shí),模型會通過v對預(yù)測框的寬和高進(jìn)行調(diào)整。
v與w、h的梯度計(jì)算分別如式(5)和式(6)所示:
(5)
(6)
CIoU Loss函數(shù)綜合考慮了預(yù)測框與真實(shí)框之間的重疊面積、中心點(diǎn)距離、寬高比3種回歸要素。但是,CIoU Loss函數(shù)是通過式中的v來反映預(yù)測框與真實(shí)框的寬高比的差異,而不是計(jì)算預(yù)測框與其真實(shí)框的寬高的真實(shí)差異,所以有時(shí)會阻礙檢測框的回歸。例如,當(dāng)預(yù)測框w/h的值與真實(shí)框wgt/hgt的值相等時(shí),懲罰項(xiàng)αv=0,在訓(xùn)練過程中并不起作用,在本次模型訓(xùn)練中不更新參數(shù),但真實(shí)情況中真實(shí)框與預(yù)測框的長和寬仍然存在差異。并且,從式(5)和式(6)可以算出?v/?w=-(h/w)×(?v/?h),表明模型在任意時(shí)刻只要h與w中一方增加或減少,另一方則會朝著相反的方向進(jìn)行優(yōu)化。這在w>wgt,h>hgt和w 考慮以上原因,本文將預(yù)測框與真實(shí)框?qū)捀叩臍W氏距離平方作為懲罰項(xiàng)的Focal-EIoU Loss(Focal and EfficientIoU Loss)[15]函數(shù),來代替CIoU Loss函數(shù)作為本文算法的定位損失函數(shù)。Focal-EIoU Loss公式如式(7)~式(11)所示: LFocal-EIoU=IoUγLEIoU (7) LEIoU=LIoU+Ldis+Lasp (8) LIoU=1-IoU (9) (10) (11) 其中,c、w、h、wgt、hgt與CIoU Loss函數(shù)相關(guān)公式中的含義一致;Cw為覆蓋預(yù)測框和真實(shí)框的最小外接框的寬;Ch為覆蓋預(yù)測框和真實(shí)框的最小的外接框的高;γ為抑制異常程度的一個(gè)參數(shù)。 Focal-EIoU Loss函數(shù)將定位損失分成了3個(gè)部分:重疊程度IoU損失LIoU、中心點(diǎn)距離損失Ldis和預(yù)測框與真實(shí)框邊長損失Lasp。其中,LIoU和Ldis部分與CIoU Loss函數(shù)的相同,Lasp是直接將預(yù)測框與真實(shí)框邊長的歐氏距離平方作為懲罰項(xiàng),使得目標(biāo)框回歸過程中收斂速度更快,精度更高。 在YOLOv5s算法的正負(fù)樣本中蘊(yùn)含大量預(yù)測框與真實(shí)框的重疊程度不高的正樣本(如圖6所示,左側(cè)和上側(cè)的正樣本與真實(shí)框的IoU基本為0,事實(shí)上并不能夠作為正樣本來影響訓(xùn)練),基于這些樣本獲得的模型會關(guān)注這些并不真正重要的正樣本。而Focal-EIoU Loss函數(shù)中的Focal能夠很好地解決這一問題。其與傳統(tǒng)的Focal Loss有一定的區(qū)別,傳統(tǒng)的Focal Loss函數(shù)在面對困難的樣本時(shí)會給出更大的權(quán)重,訓(xùn)練時(shí)更加關(guān)注困難樣本。從式(7)可知:預(yù)測框和真實(shí)框的IoU越高,預(yù)測框損失越大,相當(dāng)于加權(quán)作用,給更接近真實(shí)框的預(yù)測框更大的權(quán)重,這有助于提高回歸精度。因此,本文選用Focal-EIoU Loss作為預(yù)測框回歸的損失函數(shù)。 本文對YOLOv5s算法進(jìn)行改進(jìn),提出多人臉檢測IYOLOv5s-MF(Improved YOLOv5s-Multi-Face)算法。IYOLOv5s-MF網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。 Figure 7 Network structure of IYOLOv5s-MF 本文通過在Neck結(jié)構(gòu)中加入FTT模塊,提升了YOLOv5s對小尺度人臉的檢測能力;通過改進(jìn)正負(fù)樣本采樣策略,增加有效正樣本,提升了正樣本在YOLOv5s中的影響,增強(qiáng)了其泛化能力;使用Focal-EIoU Loss函數(shù)作為定位損失函數(shù),進(jìn)一步提高預(yù)測框的回歸精度。從以上3點(diǎn)對YOLOv5s算法進(jìn)行改進(jìn),提出了多人臉檢測IYOLOv5s-MF算法。 本文所有實(shí)驗(yàn)均在Python 3.7和PyTorch 1.10.0搭建的深度學(xué)習(xí)框架上進(jìn)行,GPU為 NVIDIA TESLA P100,顯存為16 GB。 WIDER FACE數(shù)據(jù)集是一個(gè)人臉檢測基準(zhǔn)數(shù)據(jù)集,其中的圖像是從公開可用的WIDER數(shù)據(jù)集中選擇的。數(shù)據(jù)集中有32 203幅圖像,共標(biāo)記了393 703幅在比例、姿勢和遮擋方面具有高度可變性的人臉圖像。WIDER FACE數(shù)據(jù)集基于61個(gè)事件類進(jìn)行選擇,對于每個(gè)事件類,隨機(jī)選擇40%,10%和50%的數(shù)據(jù)分別作為訓(xùn)練集、驗(yàn)證集和測試集。每一個(gè)子集都包含3個(gè)級別的檢測難度:Easy、Medium和Hard,這3個(gè)級別是根據(jù)EdgeBox[16]的檢出率來規(guī)定的。其中,Easy難度的主要指尺度較大、無遮擋情形、正常光照下的人臉圖像;Medium難度的主要指尺度適中、遮擋較小的人臉圖像;Hard難度的圖像主要指密集人臉、模糊人臉、遮擋人臉和小尺度人臉。所以,WIDER FACE數(shù)據(jù)集適合用來測試本文算法在真實(shí)場景下多人臉檢測的應(yīng)用效果。 4.2.1 Mosaic數(shù)據(jù)增強(qiáng) 本文使用原YOLOv5s算法的Mosaic數(shù)據(jù)增強(qiáng)方法。該方法每次將數(shù)據(jù)集中的4幅圖像拼接成1幅大圖,然后經(jīng)過隨機(jī)放縮、左右翻轉(zhuǎn)和隨機(jī)剪切等操作,最后放縮為640×640大小的圖像(如圖8所示),以此增加數(shù)據(jù)多樣性,最后將增強(qiáng)后的數(shù)據(jù)輸入IYOLOv5s-MF模型中。 Figure 8 Mosaic data enhancement 4.2.2 參數(shù)設(shè)置 本文設(shè)置訓(xùn)練圖像大小為640×640;訓(xùn)練最小批次為40;總共訓(xùn)練200個(gè)epoch;優(yōu)化器選擇隨機(jī)梯度下降法SGD(Stochastic Gradient Descent)[17];采用余弦退火算法進(jìn)行學(xué)習(xí)率的更新;使用K-means聚類算法為WIDER FACE數(shù)據(jù)集計(jì)算錨框大小,如表1所示。 Table 1 Sizes of new anchor 4.2.3 模型評估指標(biāo) 本文評估指標(biāo)包括浮點(diǎn)運(yùn)算次數(shù)GFlops(Giga Floating-point Operations)、參數(shù)量和平均精度AP(Average Precision)。其中,AP值與精確率P(Precision)和召回率R(Recall)有關(guān),P是指預(yù)測數(shù)據(jù)集中預(yù)測正確的正樣本個(gè)數(shù)與模型預(yù)測為正樣本的個(gè)數(shù)的百分比;R是指預(yù)測數(shù)據(jù)集中預(yù)測正確的正樣本個(gè)數(shù)占實(shí)際為正樣本的個(gè)數(shù)的百分比。上述衡量指標(biāo)的計(jì)算分別如式(12)~式(14)所示: (12) (13) (14) 其中,TP、FP和FN分別表示預(yù)測正確的正樣本個(gè)數(shù)、預(yù)測錯(cuò)誤的正樣本個(gè)數(shù)和實(shí)際正樣本卻預(yù)測為負(fù)樣本的個(gè)數(shù)。 YOLOv5s模型和IYOLOv5s-MF模型的訓(xùn)練均使用WIDER FACE數(shù)據(jù)集和預(yù)訓(xùn)練模型YOLOv5s.pt。為證明IYOLOv5s-MF模型的有效性,本文進(jìn)行了消融實(shí)驗(yàn)與對比實(shí)驗(yàn)。 消融實(shí)驗(yàn)是為了驗(yàn)證每步改進(jìn)都是可行且有效的,實(shí)驗(yàn)結(jié)果如表2所示。 Table 2 Ablation experiments 從表2中實(shí)驗(yàn)2的數(shù)據(jù)可以看出,加入FTT模塊后,與原YOLOv5s模型相比,在WIDER FACE數(shù)據(jù)集的Easy子集上AP值降低了0.24%,在Medium子集上AP值提高了0.2%,在Hard子集上AP值提高了2.42%,參數(shù)量和模型復(fù)雜度略有增加;從實(shí)驗(yàn)3的數(shù)據(jù)可以看出,與原YOLOv5s模型相比,使用改進(jìn)正負(fù)樣本抽樣策略后,在Easy子集上AP值增加了0.32%,在Medium子集上AP值提高了0.40%,在Hard子集上AP值提高了1.03%,參數(shù)量和模型復(fù)雜度與實(shí)驗(yàn)1的持平;實(shí)驗(yàn)4中將定位損失函數(shù)改為Focal-EIoU后,與原YOLOv5s模型相比,在Easy子集上AP值增加了0.33%,在Medium子集上AP值提高了0.44%,在Hard子集上AP值提高了1.16%,參數(shù)量和模型復(fù)雜度與實(shí)驗(yàn)1的持平。 最后,將3種改進(jìn)方法同時(shí)加入模型(IYOLOv5s-MF),從實(shí)驗(yàn)5的數(shù)據(jù)可以看出,與原YOLOv5s模型相比,在Easy子集上AP值增加了0.22%,在Medium子集上AP值提高了0.48%,在Hard子集上AP值提高了3.46%,參數(shù)量和模型復(fù)雜度略有增加。實(shí)驗(yàn)5的數(shù)據(jù)表明,IYOLOv5s-MF模型對小尺度人臉和人員密集有遮擋情形圖像的檢測性能有一定的提升。此外,本文在同等情況下對模型速度進(jìn)行了測試,改進(jìn)后的模型平均檢測時(shí)間雖然有一定增加,但仍然滿足實(shí)時(shí)性要求。 為了更直觀地觀察IYOLOv5s-MF模型的優(yōu)勢,本文選取了一些圖像對原YOLOv5s模型與IYOLOv5s-MF模型的檢測效果進(jìn)行對比,如圖9所示。 Figure 9 Effect contrast 從圖9可以看出,YOLOv5s算法在人員密集的地方有發(fā)生錯(cuò)檢和漏檢的情況,在圖9a中用圓圈畫出,而圖9b中的結(jié)果表明,本文算法在一定程度上改善了漏檢和錯(cuò)檢的情況。 對比實(shí)驗(yàn)是與其他先進(jìn)算法進(jìn)行對比,以更好地展現(xiàn)IYOLOv5s-MF算法的優(yōu)勢,驗(yàn)證其有效性。本文對比實(shí)驗(yàn)是使用DSFD(Dual Shot Face Detector)算法[18]、RetinaFace[19]算法和TinaFace[20]算法在人臉檢測任務(wù)上進(jìn)行對比。這些算法均使用WIDER FACE數(shù)據(jù)集進(jìn)行訓(xùn)練和驗(yàn)證,如表3所示。表3展示了各算法在3個(gè)難度數(shù)據(jù)子集上的AP值、參數(shù)量和模型復(fù)雜度。 Table 3 Comparative experiments 從表3可以看出,本文算法相較于DSFD算法和RetinaFace(ResNet50)算法具有較大優(yōu)勢,能夠在保證算法復(fù)雜度較低的同時(shí)在3種難度子集上的檢測精度更高;而RetinaFace(MobileNet 0.25)算法雖然算法復(fù)雜度較低,但檢測精度卻遠(yuǎn)遠(yuǎn)低于以上幾種算法的;相較于TinaFace算法,本文算法在Easy、Medium難度子集上的AP值略低于TinaFace算法的,但本文算法在困難樣本上的表現(xiàn)卻比TinaFace算法的好一些,而且本文算法的參數(shù)量是TinaFace算法的1/5,在模型復(fù)雜度方面遠(yuǎn)遠(yuǎn)低于TinaFace算法的。綜上所述,本文算法能夠在模型復(fù)雜度較低的情況下保證在密集環(huán)境中多人臉檢測的精確性。 本文對YOLOv5s的3個(gè)方面進(jìn)行改進(jìn),以提升多人臉檢測精度。在YOLOv5s的Neck結(jié)構(gòu)中應(yīng)用FTT結(jié)構(gòu),以提升小尺度人臉檢測精度;針對正負(fù)樣本不平衡的問題,在原有正負(fù)樣本抽樣策略上進(jìn)行改進(jìn),增加了有效正樣本;針對CIoU Loss函數(shù)無法有效反映預(yù)測框與真實(shí)框的寬高損失,使用Focal-EIoU Loss函數(shù)進(jìn)行人臉框的定位。實(shí)驗(yàn)結(jié)果表明,相較于原YOLOv5s,雖然改進(jìn)后的算法在復(fù)雜度、平均檢測消耗時(shí)間上略有增加,但仍然滿足了實(shí)時(shí)性要求,并且在WIDER FACE數(shù)據(jù)集3個(gè)不同難度的子集上分別達(dá)到了94.90%,92.99%和83.55%的平均精度,說明能夠應(yīng)用于密集場景中。3.4 IYOLOv5s-MF結(jié)構(gòu)
4 實(shí)驗(yàn)與結(jié)果分析
4.1 實(shí)驗(yàn)環(huán)境及數(shù)據(jù)集介紹
4.2 數(shù)據(jù)預(yù)處理及參數(shù)設(shè)置
4.3 消融實(shí)驗(yàn)
4.4 對比實(shí)驗(yàn)
5 結(jié)束語