曹小喜,程凡永*,王飛州,張明艷
(1.安徽工程大學(xué) 電氣工程學(xué)院,安徽蕪湖 241000;2. 安徽工程大學(xué) 高端裝備先進(jìn)感知與智能控制教育部重點(diǎn)實(shí)驗(yàn)室,安徽蕪湖 241000)
自2019年12月至今,新冠肺炎疫情給人類社會(huì)的生產(chǎn)生活帶來重大影響[1]。從世界范圍來看,截至目前,新冠肺炎確診病例仍在高速增長(zhǎng),因此我國(guó)的疫情防控工作仍然面臨巨大挑戰(zhàn)。新冠病毒主要通過飛沫傳播,正確佩戴口罩能夠有效降低感染新冠肺炎的風(fēng)險(xiǎn)[2],但在一些低風(fēng)險(xiǎn)地區(qū),公眾主動(dòng)佩戴口罩的意識(shí)有所降低,這就需要采取有效的口罩佩戴檢測(cè)措施來提醒人們疫情并沒有結(jié)束,在公共場(chǎng)所仍需堅(jiān)持佩戴口罩。在公共場(chǎng)所進(jìn)行口罩佩戴檢測(cè)需要克服小目標(biāo)、遮擋目標(biāo)給目標(biāo)檢測(cè)任務(wù)帶來的困難,因此用于進(jìn)行口罩佩戴檢測(cè)的目標(biāo)檢測(cè)算法需要具備更強(qiáng)的提取和利用細(xì)節(jié)特征的能力??焖儆行У剡M(jìn)行口罩佩戴檢測(cè)對(duì)于疫情防控具有重要意義。
目前比較流行的基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法分為兩類,一類是以R-CNN[3]、Fast R-CNN[4]、Faster R-CNN[5]為代表的基于區(qū)域選擇的Two-stage目標(biāo)檢測(cè)算法,這種方法首先通過區(qū)域推薦網(wǎng)絡(luò)(Resign Proposal Network,RPN)生成大量可能包含目標(biāo)的候選框,然后再通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類和預(yù)測(cè),該方法雖然取得了不錯(cuò)的檢測(cè)精度,但是由于其存在大量的冗余計(jì)算導(dǎo)致檢測(cè)速度較慢,難以滿足實(shí)時(shí)性的要求。另一類是以YOLO(You Only Look Once)[6]、SSD(Single Shot MultiBox Detector)[7]、YOLOv2[8]、YOLOv3[9]、YOLOv4[10]為代表的基于邏輯回歸的one-stage目標(biāo)檢測(cè)算法,此類方法實(shí)現(xiàn)了端到端檢測(cè),用一個(gè)全卷積神經(jīng)網(wǎng)絡(luò)直接計(jì)算目標(biāo)物體的分類結(jié)果和位置坐標(biāo),極大地提高了檢測(cè)速度,但是YOLO算法對(duì)小目標(biāo)、遮擋目標(biāo)容易產(chǎn)生漏檢和誤檢測(cè)。YOLO算法經(jīng)過數(shù)次版本迭代,算法性能大大提高,其中YOLOv4在檢測(cè)速度和檢測(cè)精度方面都達(dá)到了極高的水平,因此本文選擇YOLOv4目標(biāo)檢測(cè)模型并對(duì)其進(jìn)行改進(jìn)和優(yōu)化以使其更好地適應(yīng)口罩佩戴檢測(cè)任務(wù)。
目前專門用于口罩佩戴檢測(cè)的算法還比較少。牛作東等[11]在RetinaFace人臉檢測(cè)算法的基礎(chǔ)上引入注意力機(jī)制等對(duì)原算法進(jìn)行改進(jìn)實(shí)現(xiàn)了口罩佩戴檢測(cè)。曹誠(chéng)碩等[12]在YOLOv3中通過引入注意力機(jī)制并改進(jìn)特征金字塔結(jié)構(gòu)實(shí)現(xiàn)了口罩佩戴。王藝皓等[13]通過在原始YOLOv3的基礎(chǔ)上改進(jìn)主干特征提取網(wǎng)絡(luò),同時(shí)優(yōu)化損失函數(shù)提升了網(wǎng)絡(luò)性能,提高了口罩佩戴檢測(cè)的檢測(cè)精度。但是上述算法仍然不夠完美,在檢測(cè)速度和檢測(cè)精度方面仍然存在進(jìn)一步提升的空間。
YOLOv4是YOLOv3的改進(jìn)版,相較于YOLOv3而言,YOLOv4目標(biāo)檢測(cè)算法在MSCOCO數(shù)據(jù)集上的平均準(zhǔn)確率均值(mean Average Precision,mAP)提高了10%,檢測(cè)速度提升了約12%。但是在復(fù)雜的自然場(chǎng)景下,比如密集人群場(chǎng)景中進(jìn)行口罩佩戴檢測(cè),待檢測(cè)目標(biāo)普遍偏小且經(jīng)常存在相互遮擋以及陽(yáng)光照射而產(chǎn)生的高曝光現(xiàn)象,容易出現(xiàn)漏檢、錯(cuò)誤檢測(cè)以及置信度偏低等問題。本文通過在YOLOv4算法的基礎(chǔ)上進(jìn)行改進(jìn)和優(yōu)化,高質(zhì)量完成密集人群場(chǎng)景下的口罩佩戴檢測(cè)任務(wù)。
YOLOv4是在YOLOv3的基礎(chǔ)上融合了跨階段局部網(wǎng)絡(luò)(Cross Stage Partial Network,CSPNet)[14]、空間金字塔池化(Spatial Pyramid Pooling,SPP)[15]、路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PANet)[16]的目標(biāo)檢測(cè)算法,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。YOLOv4采用CSPDarknet-53作為主干特征提取網(wǎng)絡(luò),CSPDarknet-53是由5個(gè)分別包含1、2、8、8、4個(gè)殘差單元的殘差結(jié)構(gòu)構(gòu)成,輸入圖片的尺寸選取為416×416,經(jīng)過CSPDarknet-53的特征提取,得到F1、F2、F3 3個(gè)有效特征層;F3再經(jīng)過加強(qiáng)特征提取網(wǎng)絡(luò)SPP結(jié)構(gòu)的處理,然后同F(xiàn)1、F2一起送入PANet進(jìn)行特征融合,輸出13×13、26×26、52×52 3個(gè)不同尺度的特征圖,分別負(fù)責(zé)對(duì)大、中、小目標(biāo)檢測(cè);最后經(jīng)過YOLO Head的處理得到預(yù)測(cè)結(jié)果。預(yù)測(cè)結(jié)果包括欲檢測(cè)目標(biāo)的類別、置信度以及預(yù)測(cè)框的調(diào)整參數(shù),然后利用置信度閾值和Soft-NMS對(duì)預(yù)測(cè)框進(jìn)行篩選,得到最終的檢測(cè)結(jié)果。
YOLOv4的損失函數(shù)是在YOLOv3的損失函數(shù)的基礎(chǔ)上改進(jìn)得到的。YOLOv3采用均方誤差作為目標(biāo)物體邊界框的回歸損失,直接對(duì)目標(biāo)物體邊界框的中心坐標(biāo)、寬度以及高度進(jìn)行回歸,這種方法沒有考慮對(duì)象的完整性,對(duì)位置的預(yù)測(cè)不夠準(zhǔn)確。為了解決這一問題,YOLOv4引入CIoU Loss[17]作為目標(biāo)物體邊界框回歸的損失函數(shù),CIoU同時(shí)關(guān)注預(yù)測(cè)框和真實(shí)框的重合率以及兩者中心點(diǎn)之間的距離和寬高比。在目標(biāo)邊界框的回歸方面,CIoU具有更好的收斂速度和精度。CIoU損失函數(shù)的定義如下:
(1)
式中,IoU表示預(yù)測(cè)框與真實(shí)框的交并比;預(yù)測(cè)框和真實(shí)框的中心點(diǎn)分別用b和bgt表示;ρ2(b,bgt)是指預(yù)測(cè)框和真實(shí)框中心點(diǎn)之間的歐氏距離;c是指可以把預(yù)測(cè)框與真實(shí)框都包括進(jìn)去的最小閉包區(qū)域的對(duì)角線距離;α為權(quán)重函數(shù);v用來度量長(zhǎng)寬比的相似性。IoU以及α和v的計(jì)算公式如下:
(2)
(3)
(4)
式中,B表示預(yù)測(cè)邊界框;Bgt表示真實(shí)邊界框。對(duì)于目標(biāo)所屬類別的損失函數(shù)Lcla以及目標(biāo)置信度的損失函數(shù)Lconf方面的YOLOv4基本沿用了YOLOv3的方法。Lconf和Lcla的表達(dá)式如下:
(5)
(6)
YOLOv4的損失函數(shù)為以上3部分損失函數(shù)之和,其表達(dá)式如下:
L=Lconf+Lcla+Lloc,
(7)
雖然YOLOv4在YOLOv3的基礎(chǔ)上融合了很多改進(jìn)策略,算法的整體性能取得了較大提升,但直接將其應(yīng)用到密集人群場(chǎng)景下的口罩佩戴檢測(cè)任務(wù)中表現(xiàn)不佳,會(huì)出現(xiàn)遺漏檢測(cè)、錯(cuò)誤檢測(cè)現(xiàn)象。針對(duì)上述存在的問題,對(duì)YOLOv4算法進(jìn)行改進(jìn)。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)
卷積操作往往希望提高感受野以融合更多空間特征,但是對(duì)于各通道維度的特征融合,通常都是默認(rèn)對(duì)輸入特征圖的所有通道進(jìn)行特征融合,這就不能夠很好地學(xué)習(xí)到不同通道特征的重要程度。文獻(xiàn)[18]中提出一種通道注意力機(jī)制SE(Squeeze-and-Excitation)模塊,SE模塊首先對(duì)卷積得到的特征圖進(jìn)行壓縮操作,通過全局平均池化壓縮特征圖,將一個(gè)通道上的整個(gè)空間特征編碼為一個(gè)全局特征,從而得到通道級(jí)的全局特征;然后對(duì)所得全局特征執(zhí)行激勵(lì)操作,通過一個(gè)全連接層FC(Fully Connected Layer)加ReLU層來學(xué)習(xí)各個(gè)通道間的相互關(guān)系,進(jìn)而得到不同通道的權(quán)重;接下來再通過一個(gè)全連接層和Sigmoid激勵(lì)函數(shù)將獲得的權(quán)重歸一化;最后將歸一化后的權(quán)重與對(duì)應(yīng)通道特征圖上的每個(gè)元素相乘獲得最終加權(quán)后的權(quán)重,這一步稱為Scale操作。整個(gè)SE模塊所做的工作筆者稱之為特征重標(biāo)定。數(shù)學(xué)解析描述為
Fout=σ(Fr(Pavg(Fin)))?Fin,
(8)
式中,F(xiàn)in∈iC×H×W為SE模塊的輸入特征圖;Pavg表示全局平均池化;Fr表示FC+ReLU層;σ表示Sigmoid;?表示Scale操作。
為了提升模型對(duì)關(guān)鍵特征的提取能力,將SE模塊嵌入到CSPDarknet-53中構(gòu)建融合了通道注意力機(jī)制的骨干網(wǎng)絡(luò)SECSPDarknet-53,相關(guān)結(jié)構(gòu)如圖2所示,通過在CSPDarknet-53骨干網(wǎng)絡(luò)的主支路的殘差單元中引入SE模塊使得模型能夠通過學(xué)習(xí)不同通道權(quán)重的重要程度來對(duì)特征進(jìn)行加權(quán),從而充分學(xué)習(xí)對(duì)當(dāng)前檢測(cè)任務(wù)有益的特征,抑制無用特征對(duì)模型的干擾,從而達(dá)到改善網(wǎng)絡(luò)性能的目的。圖2中SE-Residual unit為嵌入SE模塊的殘差塊,H、W、C分別代表特征圖的高度、寬度以及通道數(shù)。實(shí)驗(yàn)證明降維系數(shù)r取16時(shí),在殘差網(wǎng)絡(luò)中嵌入SE模塊可以在只增加較小計(jì)算量的情況下使模型取得不錯(cuò)的效果。加入SE模塊的殘差單元能夠在輸出維度沒有發(fā)生變化的條件下,使殘差網(wǎng)絡(luò)獲得學(xué)習(xí)各通道間關(guān)系的能力,同時(shí)使網(wǎng)絡(luò)具備更多的非線性特性,增強(qiáng)神經(jīng)網(wǎng)絡(luò)模型的泛化能力。
圖2 SECSPDarknet-53基本組成單元
原始YOLOv4將在主干特征提取網(wǎng)絡(luò)最后一層輸出特征層輸入到SPP模塊進(jìn)行特征增強(qiáng)。該模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,其核心思想是對(duì)任意大小的輸入特征圖進(jìn)行不同尺度的最大池化操作,然后再通過拼接操作得到一個(gè)固定長(zhǎng)度的特征向量,即首先將輸入特征圖進(jìn)行3次卷積(Conv2D_BN_LeakyReLU)操作;然后,利用3個(gè)步長(zhǎng)為1,卷積核大小分別為5×5、9×9、13×13的池化層進(jìn)行最大池化處理,得到3個(gè)不同尺度的局部特征;最后,將所得多尺度局部特征與輸入的全局特征進(jìn)行堆疊以實(shí)現(xiàn)特征增強(qiáng),接著再利用3次卷積對(duì)融合特征圖的通道數(shù)進(jìn)行調(diào)整??臻g金字塔池化的優(yōu)點(diǎn)在于可以對(duì)任意尺寸或比例的輸入圖像進(jìn)行處理而生成固定尺度的特征表示,對(duì)于輸入圖像的大小以及形狀的變化具有很好的魯棒性。本文在原始YOLOv4的基礎(chǔ)上再引入兩個(gè)空間金字塔池化模塊來對(duì)主干特征提取網(wǎng)絡(luò)倒數(shù)第二層、倒數(shù)第三層的輸出特征圖進(jìn)行特征增強(qiáng),在不同大小的感受野上獲取多尺度空間特征,并進(jìn)行上下文語義信息的融合以獲得更加豐富的特征表示,從而進(jìn)一步提升模型性能,改善網(wǎng)絡(luò)的檢測(cè)精度。
圖3 空間金字塔池化模塊
通過改進(jìn)主干特征提取網(wǎng)絡(luò)和加強(qiáng)特征提取網(wǎng)絡(luò)來對(duì)YOLOv4進(jìn)行改進(jìn),改進(jìn)后的YOLOv4整體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。輸入圖像經(jīng)過SECSPDarknet-53特征提取網(wǎng)絡(luò)的多次特征提取后輸出3個(gè)不同尺度的特征圖;然后分別輸入加強(qiáng)特征提取網(wǎng)絡(luò)SPPNet進(jìn)行更深層次的加強(qiáng)特征提取,得到3個(gè)不同尺度的有效特征層L1、L2、L3;再將3個(gè)特征圖輸入到基于自下而上和自上而下路徑聚合策略構(gòu)建的特征融合網(wǎng)絡(luò)PANet進(jìn)行特征融合:首先將L3經(jīng)過1次卷積加上采樣與L2執(zhí)行Concat操作,再經(jīng)過5次卷積處理后的輸出特征圖記為Q2;Q2經(jīng)過卷積加上采樣與L1執(zhí)行Concat操作,再經(jīng)過5次卷積運(yùn)算輸出尺度為13×13的檢測(cè)層,記為Q1;Q1經(jīng)過下采樣與Q2執(zhí)行Concat操作,再經(jīng)過5次卷積處理得到尺度為26×26的檢測(cè)層,記為Q3;Q3與L3執(zhí)行Concat操作,再經(jīng)過5次卷積運(yùn)算輸出尺度為52×52的檢測(cè)層;YOLO Head從這3個(gè)檢測(cè)層進(jìn)行預(yù)測(cè)。
圖4 改進(jìn)后的YOLOv4模型
實(shí)驗(yàn)是在基于Windows 10操作系統(tǒng)搭建的Pytorch深度學(xué)習(xí)環(huán)境中進(jìn)行的。實(shí)驗(yàn)平臺(tái)的具體配置參數(shù)如表1所示。
表1 實(shí)驗(yàn)平臺(tái)參數(shù)配置
配置參數(shù)參數(shù)CUDA版本11.1cuDNN版本8.0.5Pytorch版本1.8.0Python版本3.8.7
數(shù)據(jù)集是從開源數(shù)據(jù)集WIDER Face、MAFA(Masked face)、RMFD(Real-Word Masked Face Dataset)和利用網(wǎng)絡(luò)爬蟲從互聯(lián)網(wǎng)下載一些圖片中篩選的佩戴口罩的人臉圖片和未佩戴口罩的人臉圖片,共計(jì)8 700張。然后使用標(biāo)注工具Labelimg將數(shù)據(jù)集中的圖片標(biāo)注成VOC的數(shù)據(jù)格式,其中未佩戴口罩的人臉標(biāo)注為face,佩戴口罩的人臉標(biāo)注為face_mask。
由于原始YOLOv4的9個(gè)先驗(yàn)框是在COCO數(shù)據(jù)集上利用K-means算法聚類得到的,直接應(yīng)用到本文算法不是很適用,因此,需要利用K-means聚類算法對(duì)本文數(shù)據(jù)集進(jìn)行聚類來獲得合適的Anchor Box。聚類所得先驗(yàn)框的尺寸信息與分配結(jié)果如表2所示,其中大尺度的特征圖用來預(yù)測(cè)小目標(biāo),分配3個(gè)小尺度的先驗(yàn)框,小尺度的特征圖用來預(yù)測(cè)大目標(biāo),分配3個(gè)大尺度的先驗(yàn)框。
表2 先驗(yàn)框尺寸分配
運(yùn)用Mosaic數(shù)據(jù)增強(qiáng)技術(shù),將圖片進(jìn)行縮放拼接如圖5所示。這樣可以豐富訓(xùn)練圖片的背景信息,有利于提高模型的泛化能力和魯棒性。
圖5 Mosaic數(shù)據(jù)增強(qiáng)
在公共場(chǎng)所佩戴口罩對(duì)于防止疫情反彈具有重要作用,因此檢測(cè)精度對(duì)于口罩佩戴檢測(cè)模型來說尤為重要,另一方面檢測(cè)速度也很重要。所以本文采用平均準(zhǔn)確率(Average Precision,AP)和平均準(zhǔn)確率均值(mAP)以及檢測(cè)速度(Frames Per Second,FPS)作為目標(biāo)檢測(cè)模型的評(píng)價(jià)指標(biāo),AP和mAP這兩個(gè)評(píng)價(jià)指標(biāo)可以同時(shí)評(píng)估查準(zhǔn)率(Precision,P)和召回率(Recall,R):
(9)
(10)
比如在本文中要檢測(cè)戴口罩的目標(biāo)face_mask,TP(True Positive)就代表口罩佩戴檢測(cè)算法將戴口罩的人臉正確識(shí)別為face_mask的數(shù)量;FP(False Positive)就代表口罩佩戴檢測(cè)算法將face錯(cuò)誤識(shí)別為face_mask的數(shù)量;FN(False Negative)就代表口罩佩戴檢測(cè)算法將face_mask識(shí)別為face的數(shù)量;以查準(zhǔn)率P為縱坐標(biāo),以召回率R為橫坐標(biāo)繪制一條P-R曲線,則曲線與坐標(biāo)軸所圍區(qū)域的面積就是平均準(zhǔn)確率AP,所有類別的平均準(zhǔn)確率相加求和再求平均就是平均準(zhǔn)確率均值mAP,計(jì)算公式如下:
(11)
(12)
從本文的口罩佩戴檢測(cè)數(shù)據(jù)集中隨機(jī)抽取700張圖片作為測(cè)試集,剩下的8 000張圖片作為訓(xùn)練和驗(yàn)證集,其中90%用于訓(xùn)練,10%用于驗(yàn)證。訓(xùn)練過程中采用Adam優(yōu)化器對(duì)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化,每一次放入的圖片數(shù)量設(shè)置為4,使用Mosaic數(shù)據(jù)增強(qiáng)技術(shù),初始學(xué)習(xí)率設(shè)為0.001,每經(jīng)過1個(gè)Epoch的訓(xùn)練將學(xué)習(xí)率調(diào)整為原來的0.9倍,學(xué)習(xí)率下限設(shè)置為0.000 01,總共訓(xùn)練100個(gè)Epoch。使用原始YOLOv4和改進(jìn)過的YOLOv4對(duì)測(cè)試集進(jìn)行測(cè)試,檢測(cè)結(jié)果示例如圖6所示,根據(jù)結(jié)果繪制P-R曲線如圖7所示。
由圖6可見,所選測(cè)試圖片比較有代表性,同時(shí)包含密集人群檢測(cè)、高曝光目標(biāo)檢測(cè)、小目標(biāo)檢測(cè)、遮擋目標(biāo)檢測(cè)和遠(yuǎn)距離側(cè)臉檢測(cè)。由圖6a可見,第一張測(cè)試圖片的左下角有一個(gè)高曝光的佩戴口罩的人臉目標(biāo),頂部左側(cè)有一個(gè)距離較遠(yuǎn)的佩戴口罩的側(cè)臉目標(biāo);由圖6b可見,YOLOv4將這兩個(gè)目標(biāo)誤檢測(cè)為未佩戴口罩的人臉;由圖6c可見,本文算法對(duì)這兩個(gè)目標(biāo)均做出了正確的預(yù)測(cè)且擁有較高的置信度,分別為82%和98%。對(duì)于第二張測(cè)試圖片,由圖6e可見,YOLOv4漏檢了其左側(cè)第三排第一個(gè)被遮擋的佩戴口罩的人臉目標(biāo)以及右側(cè)被第二排第一個(gè)男士所遮擋的那個(gè)距離較遠(yuǎn)較小且模糊的佩戴口罩的人臉目標(biāo);由圖6f可見,本文算法將二者均正確地檢測(cè)出來,置信度分別為85%和69%。對(duì)于兩張測(cè)試圖片中的其他目標(biāo),在YOLOv4和本文算法都能正確檢測(cè)的情況下,本文算法能取得較YOLOv4更高的置信度。相比于原始YOLOv4算法,本文算法有效降低了誤檢、漏檢,改善了小目標(biāo)、高曝光目標(biāo)、側(cè)臉目標(biāo)、被遮擋目標(biāo)的檢測(cè)效果。
圖6 改進(jìn)前后YOLOv4算法檢測(cè)結(jié)果對(duì)比
由圖7可見,召回率Recall為橫坐標(biāo),查準(zhǔn)率Precision為縱坐標(biāo)。檢測(cè)結(jié)果的AP值可通過計(jì)算P-R曲線與坐標(biāo)軸所圍區(qū)域的面積得到。本文算法檢測(cè)face和face_mask的平均準(zhǔn)確率AP分別為91.10%、98.51%,原YOLOv4檢測(cè)face與face_mask這兩種類別的目標(biāo)所達(dá)到的AP值分別是83.90%和94.20%。
為了進(jìn)一步驗(yàn)證本文算法的有效性,將本文算法與其他主流目標(biāo)檢測(cè)算法進(jìn)行對(duì)比,不同算法檢測(cè)效果對(duì)比如圖8所示,具體性能指標(biāo)對(duì)比如表3所示。
本文算法與其他先進(jìn)目標(biāo)檢測(cè)算法檢測(cè)結(jié)果對(duì)比如圖8所示。由圖8b可見,從各類算法的檢測(cè)結(jié)果來看,SSD算法的檢測(cè)效果并不理想,存在大量漏檢現(xiàn)象;由圖8c可見,F(xiàn)aster R-CNN的檢測(cè)效果明顯優(yōu)于SSD,但是存在比較多的漏檢現(xiàn)象,比如第一排左側(cè)第一個(gè)戴口罩的女士以及第二排左側(cè)第一個(gè)和第二個(gè)女士均未被檢出;由圖8d可見,YOLOv3的檢出率高于Faster R-CNN,但是存在較多誤檢,左側(cè)第一排第一個(gè)、第二排第一個(gè)以及第三排第一個(gè)均被誤檢;由圖8e可見,YOLOv4的檢測(cè)效果優(yōu)于上述3種算法,對(duì)密集小目標(biāo)、側(cè)臉目標(biāo)、被遮擋目標(biāo)的檢測(cè)效果有了一定提升,但仍然存誤檢現(xiàn)象,圖中第一排左側(cè)第一個(gè)戴口罩的女士和頂部中間左側(cè)戴口罩的側(cè)臉男士均被誤檢。由圖8f可見,改進(jìn)后的YOLOv4算法的檢測(cè)性能明顯優(yōu)于其他算法,誤檢、漏檢現(xiàn)象大大減少且具有高置信度,成功正確檢測(cè)出了第一排左側(cè)第一個(gè)戴口罩的女士以及頂部中間左側(cè)戴口罩的側(cè)臉男士,置信度分別為82%和98%。通過表3可以看出,本文算法與YOLOv3、YOLOv4、Faster R-CNN、SSD算法相比,取得了更高的檢測(cè)精度。本文算法在檢測(cè)人臉目標(biāo)和佩戴口罩的人臉目標(biāo)時(shí)所取得的平均準(zhǔn)確率AP較原始YOLOv4分別提高7.20和4.31個(gè)百分點(diǎn),mAP達(dá)到了94.81%,比原YOLOv4提高了5.76個(gè)百分點(diǎn)。本文算法的FPS為39,與原YOLOv4相比幀率降低了4 FPS,但仍高于30幀/s,能夠滿足實(shí)時(shí)性的要求。綜上所述,本文所提算法能夠成功檢測(cè)出密集小目標(biāo)、高曝光目標(biāo)、側(cè)臉目標(biāo)、被遮擋目標(biāo)且具有高置信度。實(shí)驗(yàn)證明了本文算法的有效性。
圖7 改進(jìn)前后YOLOv4算法各類目標(biāo)P-R曲線對(duì)比
圖8 本文算法與其他先進(jìn)目標(biāo)檢測(cè)算法檢測(cè)結(jié)果對(duì)比
表3 改進(jìn)后的YOLOv4與其他先進(jìn)目標(biāo)檢測(cè)算法對(duì)比
本文主要提出了一種改進(jìn)的YOLOv4算法來對(duì)密集人群場(chǎng)景下人們佩戴口罩的情況進(jìn)行檢測(cè)。首先,將SENet與YOLOv4的主干特征提取網(wǎng)絡(luò)CSPDarknet-53相結(jié)合,SENet是一種通道注意力機(jī)制,使得模型能夠自動(dòng)學(xué)習(xí)不同通道特征的重要程度,關(guān)注對(duì)當(dāng)前檢測(cè)任務(wù)有益的特征,抑制對(duì)當(dāng)前檢測(cè)任務(wù)無用的特征。然后,將SPP模塊復(fù)用到Y(jié)OLOv4主干特征提取網(wǎng)絡(luò)的倒數(shù)第二層和倒數(shù)第三層,進(jìn)一步提高模型在不同感受野提取并融合空間特征的能力。實(shí)驗(yàn)結(jié)果表明,本文算法進(jìn)行口罩佩戴檢測(cè)的平均準(zhǔn)確率均值mAP可達(dá)到94.81%。相較于原始YOLOv4以及其他主流目標(biāo)檢測(cè)算法,本文算法在密集小目標(biāo)檢測(cè)、高曝光目標(biāo)檢測(cè)以及遮擋目標(biāo)檢測(cè)上均取得了優(yōu)異的檢測(cè)效果,具有很好的實(shí)用性。