李夢(mèng)茹,肖秦琨,韓澤佳
(1.西安工業(yè)大學(xué) 兵器科學(xué)與技術(shù)學(xué)院,陜西 西安 710021;2.西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西 西安 710021)
現(xiàn)階段,針對(duì)人臉口罩佩戴檢測(cè)任務(wù)的算法大多與目標(biāo)檢測(cè)算法通用,但是由于口罩佩戴檢測(cè)環(huán)境復(fù)雜、目標(biāo)密集、遮擋以及小尺度目標(biāo)等問(wèn)題,使得現(xiàn)有目標(biāo)檢測(cè)算法應(yīng)用效果差強(qiáng)人意。因此許多國(guó)內(nèi)外學(xué)者在現(xiàn)有目標(biāo)檢測(cè)算法基礎(chǔ)上進(jìn)行了大量研究并取得了大量成果。文獻(xiàn)[2]針對(duì)口罩檢測(cè)任務(wù)中特征提取不均衡和利用效率不夠高的問(wèn)題,將Max Module結(jié)構(gòu)引入YOLOV4[3]的多尺度融合過(guò)程中,提出一種YOLOV4-tiny的輕量化網(wǎng)絡(luò),達(dá)到口罩佩戴檢測(cè)的目的。文獻(xiàn)[4]將優(yōu)化的MobileNetv3作為主干網(wǎng)絡(luò),利用SPPNet和PANet優(yōu)化特征提取網(wǎng)絡(luò)進(jìn)行人臉口罩佩戴檢測(cè)。文獻(xiàn)[5]在YOLOV3特征提取網(wǎng)絡(luò)中引入注意力機(jī)制,實(shí)現(xiàn)了人臉口罩佩戴檢測(cè)。文獻(xiàn)[6]考慮到參數(shù)量以及經(jīng)濟(jì)適用,提出一種YOLOv5s輕量化算法,使口罩佩戴檢測(cè)精度達(dá)到95%以上。文獻(xiàn)[7]運(yùn)用遷移學(xué)習(xí)和RetinaNet網(wǎng)絡(luò)對(duì)人臉口罩佩戴檢測(cè),驗(yàn)證集下平均檢測(cè)精度達(dá)到86.5%。上述研究均對(duì)人臉口罩佩戴情況進(jìn)行檢測(cè),并取得了較好的檢測(cè)精度。但并沒(méi)有考慮到人流量較大的商場(chǎng)、車站等更加復(fù)雜的應(yīng)用場(chǎng)景。
現(xiàn)階段,目標(biāo)檢測(cè)算法主要有兩類,一類是以Faster R-CNN[8,9]為代表的基于候選區(qū)域(region proposal network,RPN)的Two-Stage檢測(cè)算法。另一類是以YOLO[10,11]系列和SSD系列為代表的基于回歸的One-Stage檢測(cè)算法。其中YOLOv5是目前YOLO系列中最SOTA(state-of-the-art)的目標(biāo)檢測(cè)模型,根據(jù)模型的深度和寬度不同,該網(wǎng)絡(luò)分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x這4個(gè)版本[12],其中YOLOv5s因其最小的網(wǎng)絡(luò)深度和寬度,使其在保證檢測(cè)精度的同時(shí)具有較好的檢測(cè)速度。本文考慮了復(fù)雜環(huán)境下人臉口罩佩戴檢測(cè)任務(wù)中存在的目標(biāo)密集、遮擋以及小尺度目標(biāo)等問(wèn)題,對(duì)YOLOv5s網(wǎng)絡(luò)進(jìn)行改進(jìn)與優(yōu)化,提出了一種復(fù)雜環(huán)境下基于改進(jìn)YOLOv5的人臉口罩佩戴檢測(cè)模型。
2020年,Ultralytics公司在YOLOv4基礎(chǔ)上進(jìn)行改進(jìn),提出了具有更高檢測(cè)精度的YOLOv5檢測(cè)算法,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。主要由輸入端、主干部分、頸部以及預(yù)測(cè)4部分組成。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)
其中輸入端主要對(duì)輸入圖片進(jìn)行預(yù)處理。主干網(wǎng)絡(luò)通過(guò)Focus與Conv模塊實(shí)現(xiàn)不同倍數(shù)的下采樣,得到大小存在差異的特征圖,然后將這些不同尺度特征圖拼接融合,再與其初始特征相加,在確保速度的同時(shí)提升了感受野,便于提取最重要的特征,降低圖片信息丟失的可能性,進(jìn)而提高模型精度。頸部作為YOLOv5多尺度融合模塊,主要通過(guò)將高底層特征信息進(jìn)行傳遞,實(shí)現(xiàn)自頂向下、從下到上的簡(jiǎn)單信息融和,加強(qiáng)了不同尺度特征間的信息傳播,同時(shí)準(zhǔn)確保留了空間維度的信息,有助于高低層特征的互補(bǔ),對(duì)像素進(jìn)行適當(dāng)?shù)亩ㄎ灰孕纬裳谀?,從而有效解決多尺度問(wèn)題。預(yù)測(cè)部分通過(guò)損失函數(shù)對(duì)模型中的分類、定位、置信度損失進(jìn)行計(jì)算,以評(píng)判網(wǎng)絡(luò)誤測(cè)樣本。
DenseNet(densely connected convolutional networks)[13]是密集型網(wǎng)絡(luò)模型,具有L(L+1)/2個(gè)直接連接,其中每層的輸入均為前面所有層輸出結(jié)果的疊加,從而增加參數(shù)的重用性,防止過(guò)擬合現(xiàn)象的發(fā)生。該網(wǎng)絡(luò)通過(guò)Concatnate操作保存復(fù)用大量的特征信息,主要由多個(gè)Dense block組成,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 Dense block的結(jié)構(gòu)
其中,X0為第0層的輸入特征圖,H為每層特征圖進(jìn)行拼接,由批量標(biāo)準(zhǔn)化(BN)、線性整流函數(shù)(ReLU)、卷積3種操作對(duì)應(yīng)的非線性轉(zhuǎn)化函數(shù),H1的輸入為X0,H2的輸入為X0和X1,X1為H1的輸出,經(jīng)l次的非線性轉(zhuǎn)化函數(shù)后,最終得到的Xl可表示為
Xl=Hl(Xl-1)=Hl[X0,X1,L,Xl-1]
(1)
DenseNet網(wǎng)絡(luò)的密集連接(dense connection),在解決梯度消失同時(shí)加深網(wǎng)絡(luò)層數(shù)、減少了網(wǎng)絡(luò)參數(shù)。
YOLOv5檢測(cè)算法由于檢測(cè)速度與精度的優(yōu)勢(shì)被許多學(xué)者關(guān)注,并且其各部分技術(shù)相較于其它One-Stage算法也比較成熟,加之YOLOv5s本身已具有工程意義,故將其作為本文檢測(cè)模型的基礎(chǔ)網(wǎng)絡(luò)是可行的。但根據(jù)現(xiàn)有研究和應(yīng)用情況,想提高實(shí)際場(chǎng)景下的檢測(cè)準(zhǔn)確率,仍需對(duì)YOLOv5s改進(jìn)。本文針對(duì)商場(chǎng)、車站等人流量較大的復(fù)雜環(huán)境,以YOLOv5s模型為基礎(chǔ),對(duì)Backbone、Neck和損失函數(shù)幾部分進(jìn)行改進(jìn),完成人臉口罩佩戴的實(shí)時(shí)檢測(cè)。
相比其它檢測(cè)目標(biāo),人臉口罩目標(biāo)尺度小且所在環(huán)境復(fù)雜,而原YOLOv5s主干網(wǎng)絡(luò)主要采用BottleneckCSP模塊對(duì)目標(biāo)特征進(jìn)行提取,由于該操作減少了訓(xùn)練過(guò)程中的特征映射,因而對(duì)目標(biāo)特征提取能力有限;并且在卷積和降采樣過(guò)程中,訓(xùn)練樣本中一些重要的特征信息可能會(huì)丟失。為此,本文將改進(jìn)DenseNet網(wǎng)絡(luò)引入主干部分,形成一種能保證檢測(cè)任務(wù)速度并進(jìn)一步提高檢測(cè)精度的CSPDenseNet模塊,該模塊如圖3所示。首先針對(duì)DenseNet網(wǎng)絡(luò)的冗余連接而導(dǎo)致的速度較慢問(wèn)題,本文采用剪枝策略對(duì)模型中貢獻(xiàn)不大的卷積層進(jìn)行裁剪,在不損失目標(biāo)關(guān)鍵特征信息的情況下實(shí)現(xiàn)較小的計(jì)算代價(jià),得到較少參數(shù)的人臉口罩檢測(cè)模型的主干網(wǎng)絡(luò);然后將CBAM(convolutional block attention module)[14]模塊嵌入剪枝后的DenseNet網(wǎng)絡(luò),使模型更易聚焦目標(biāo)關(guān)鍵特征、抑制無(wú)關(guān)背景特征,提高網(wǎng)絡(luò)提取口罩特征的能力;最后將該部分與改進(jìn)后CSP模塊結(jié)合,形成改進(jìn)后的主干網(wǎng)絡(luò)CSPDenseNet網(wǎng)絡(luò),將其生成特征送入特征融合網(wǎng)絡(luò)。
圖3左上是CBAM模塊網(wǎng)絡(luò)結(jié)構(gòu),它是一種針對(duì)特征圖進(jìn)行操作的輕量級(jí)的卷積注意力模型,它旨在使用注意力機(jī)制增加表現(xiàn)力[14],使網(wǎng)絡(luò)可以“有區(qū)別”的對(duì)目標(biāo)進(jìn)行檢測(cè),以達(dá)到關(guān)注重要特征抑制不必要特征的目的。此外,對(duì)于給定的任一中間特征圖,都會(huì)從通道和空間兩個(gè)維度依次推斷出注意力圖,然后通過(guò)自適應(yīng)特征優(yōu)化將注意力圖與輸入特征圖相乘。通道注意力與空間注意力作為卷積注意力機(jī)制的核心,在不同維度上對(duì)特征圖進(jìn)行高效融合,使得CBAM提取到更加精煉的特征,從而提升網(wǎng)絡(luò)的性能。
圖3右上是改進(jìn)后YOLOv5s模型主干的組成之一CSP1_X,它借鑒了CSPNet[15]結(jié)構(gòu)。輸入特征圖在通道維度被分為兩個(gè)部分,一部分被保留下來(lái),另一部分則經(jīng)過(guò)多個(gè)殘差塊向后傳遞,最后將兩者在CSPNet結(jié)構(gòu)的末端進(jìn)行合并。但由于被保留的卷積部分不承擔(dān)主要的特征提取作用,并且通常包含很多冗余信息,因此本文考慮引入Ghost模塊,壓縮參數(shù)的同時(shí)減少了信息冗余,提高重要信息的提取效率,降低了網(wǎng)絡(luò)中的數(shù)據(jù)傳遞量與計(jì)算量。
為了將圖像中提取的不同尺度特征合并成一個(gè)更具有判別能力的特征,針對(duì)不同的應(yīng)用場(chǎng)景,現(xiàn)有目標(biāo)檢測(cè)網(wǎng)絡(luò)提出了不同的特征融合方式。而YOLOv5s特征融合網(wǎng)絡(luò)為PANet[16],它是在FPN[17]基礎(chǔ)上直接增加了反向的融合路徑,將包含較清晰的位置信息的淺層網(wǎng)絡(luò)與包含豐富語(yǔ)義信息的深層網(wǎng)絡(luò)充分融合,增強(qiáng)了不同大小目標(biāo)間的適應(yīng)性,同時(shí)生成3種高級(jí)語(yǔ)義信息,以計(jì)算損失,從而提取到更加豐富的ROI特征,增強(qiáng)網(wǎng)絡(luò)中語(yǔ)義信息。
在人臉口罩佩戴檢測(cè)任務(wù)中,存在小尺度目標(biāo)和目標(biāo)遮擋等問(wèn)題,使得目標(biāo)特征差異小,需要利用更多的目標(biāo)特征信息。本文針對(duì)上述問(wèn)題對(duì)PANet網(wǎng)絡(luò)進(jìn)行了改進(jìn),增加1個(gè)4倍降采樣特征圖作為特征融合網(wǎng)絡(luò)的輸入,并對(duì)不同尺度特征圖進(jìn)行跨級(jí)連接,提高不同尺度間信息交流,從而改善模型對(duì)小尺度信息的融合能力,以便學(xué)習(xí)到更多小尺度目標(biāo)特征,從而提高模型對(duì)小目標(biāo)和遮擋目標(biāo)的檢測(cè)能力。改進(jìn)后PANet網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 改進(jìn)后PANet網(wǎng)絡(luò)結(jié)構(gòu)
圖4中152×152、76×76、38×38、19×19表示對(duì)特征圖進(jìn)行4倍、8倍、16倍、32倍下采樣后得到的不同尺度特征圖,PANet網(wǎng)絡(luò)通過(guò)將這些不同尺度特征圖經(jīng)過(guò)自上而下和自下而上的路徑增強(qiáng)方式進(jìn)一步提高特征信息的利用率,增加了網(wǎng)絡(luò)寬度,提高了網(wǎng)絡(luò)傳輸靈活性和專一性,加強(qiáng)了特征金字塔的特征融合能力。
模型損失函數(shù)是由分類損失(classification loss)、定位損失(localization loss)和目標(biāo)置信度損失(confidence loss)組成的深度神經(jīng)網(wǎng)絡(luò)誤測(cè)樣本評(píng)判依據(jù)[18]。為提高模型的收斂效果,選擇合適的損失函數(shù)是至關(guān)重要的。YOLOv5模型使用GIoU_Loss[19]計(jì)算邊界框回歸損失,在進(jìn)行類別預(yù)測(cè)時(shí),通過(guò)多個(gè)獨(dú)立的邏輯(logistic)分類器計(jì)算輸入屬于某一類特定標(biāo)簽的概率,而每個(gè)標(biāo)簽所使用二元交叉熵?fù)p失函數(shù),使計(jì)算更加精簡(jiǎn)。YOLOv5損失函數(shù)GIoU_Loss如式(2)
(2)
GIoU_Loss關(guān)注了重疊區(qū)域和非重疊區(qū)域,很好反應(yīng)了預(yù)測(cè)框與真實(shí)框的重合度。但對(duì)小尺度目標(biāo)進(jìn)行檢測(cè)時(shí),真實(shí)值與預(yù)測(cè)值仍存在較大誤差。
針對(duì)上述問(wèn)題,本文在GIoU_Loss的基礎(chǔ)上將寬高比與中心點(diǎn)距離作為考慮,選用CIoU_Loss[20]作為改進(jìn)后邊界框回歸的損失函數(shù),將預(yù)測(cè)框與真實(shí)框之間的距離最小化,加速模型收斂速度,同時(shí)添加影響因子,進(jìn)一步提升回歸精度。改進(jìn)前后損失函數(shù)如圖5所示。
圖5 改進(jìn)前后損失函數(shù)對(duì)比
根據(jù)圖5對(duì)改進(jìn)后損失函數(shù)進(jìn)行約束,得到CIoU_Loss如式(3)、式(4)
(3)
(4)
其中,α是平衡比例的參數(shù),v是描述預(yù)測(cè)框和GT框長(zhǎng)寬比的比例一致性的參數(shù),其中w、h分別表示預(yù)測(cè)框?qū)捀撸瑆gt、hgt分別表示GT框?qū)捀摺?/p>
上述公式描述了CIoU損失函數(shù)的計(jì)算方式,CIoU_Loss的引入會(huì)促使預(yù)測(cè)框往重疊區(qū)域增多的方向進(jìn)行移動(dòng),尤其是IoU=0的時(shí)候,CIoU通過(guò)使用參數(shù)v對(duì)w的求偏導(dǎo)數(shù)優(yōu)化損失,偏導(dǎo)數(shù)公式如式(5)
(5)
在上式中,為了使函數(shù)能夠穩(wěn)定收斂,實(shí)際中步長(zhǎng)w2+h2一般取1。
損失函數(shù)的改進(jìn),使得預(yù)測(cè)框與真實(shí)值之間的誤差更小,進(jìn)一步優(yōu)化網(wǎng)絡(luò)模型,實(shí)現(xiàn)復(fù)雜環(huán)境下對(duì)人臉口罩佩戴的實(shí)時(shí)準(zhǔn)確的檢測(cè)。
本文通過(guò)對(duì)YOLOv5s模型的Backbone、Neck及損失函數(shù)3部分改進(jìn),得到網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。將608×608×3大小的輸入圖像送入Backbone,經(jīng)過(guò)下采樣得到不同尺度的特征圖,再利用PANet網(wǎng)絡(luò)以雙向融合的方式將不同尺度特征信息充分融合,得到4種不同尺度的新特征圖,最后通過(guò)1次CSP2_X和1次普通Conv(3×3)對(duì)通道進(jìn)行調(diào)整預(yù)測(cè),得到152×152、76×76、38×38、19×19大小的4尺度檢測(cè)網(wǎng)絡(luò)。具體網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)見(jiàn)表1。其中來(lái)源列的-1指輸入來(lái)自上一層輸出。
表1 改進(jìn)后的網(wǎng)絡(luò)參數(shù)
圖6 改進(jìn)的YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)
本文算法主要是以YOLOv5s為基礎(chǔ),展開(kāi)本文算法的研究。本文算法的實(shí)現(xiàn)流程見(jiàn)表2。
表2 本文算法實(shí)現(xiàn)流程
由于目前已開(kāi)源的口罩檢測(cè)數(shù)據(jù)集較少,因此本文從WIDER FACE、MAFA(masked faces)[21]和RMFD(real-world masked face dataset)[22]3種數(shù)據(jù)集中篩選2600張復(fù)雜環(huán)境下人臉照片和3364張人臉佩戴口罩照片,此外,收集了新冠疫情以來(lái)的各個(gè)人流量密集場(chǎng)所照片2211張。將這8175張照片作為本文的數(shù)據(jù)集,并對(duì)其進(jìn)行手工標(biāo)注。數(shù)據(jù)集一共包括3種類別:face_mask、mistake_mask、face。其中face_mask表示正確佩戴口罩,mistake_mask 佩戴口罩但佩戴不規(guī)范、face表示未佩戴口罩。對(duì)自建數(shù)據(jù)集進(jìn)行分析,得到可視化結(jié)果,如圖7所示。
圖7 數(shù)據(jù)集分析
圖7(a)表示數(shù)據(jù)集類別分類,圖7(b)表示物體中心點(diǎn)位置的分布,其中x、y是指中心點(diǎn)的位置,顏色越深代表該點(diǎn)位置目標(biāo)框的中心點(diǎn)越集中,圖7(c)物體大小的分布,其中width、height分別代表圖片中物體的寬高。
表3 數(shù)據(jù)集劃分
Mosaic數(shù)據(jù)增強(qiáng)是YOLOv4、YOLOv5獨(dú)有的數(shù)據(jù)增強(qiáng)的方式,是在CutMix[23]的基礎(chǔ)上提出的一種數(shù)據(jù)處理方式,其在CutMix的基礎(chǔ)上,選用4張圖片隨機(jī)裁剪、排布和縮放進(jìn)行拼接。本文數(shù)據(jù)集經(jīng)過(guò)Mosaic數(shù)據(jù)增強(qiáng)后的圖片如圖8所示。
圖8 Mosaic處理后的圖片
以Mosaic數(shù)據(jù)增強(qiáng)方式對(duì)數(shù)據(jù)預(yù)處理,增加了小目標(biāo)數(shù)量,豐富檢測(cè)數(shù)據(jù)集,同時(shí)提高了網(wǎng)絡(luò)魯棒性。而且經(jīng)過(guò)Mosaic數(shù)據(jù)增強(qiáng)后的網(wǎng)絡(luò)可以一次性計(jì)算4張圖片的數(shù)據(jù),從而對(duì)Mini-batch的需求降低,即batch-size的初始設(shè)置值在比較小的情況下也可以保證檢測(cè)結(jié)果的精確度。
實(shí)驗(yàn)所用設(shè)備配置為Nvidia GeForce RTX 2080Ti顯卡、Intel(R)Xeon(R)Silver4110CPU處理器,在Ubantu18.04LTS虛擬操作環(huán)境上進(jìn)行實(shí)驗(yàn)。模型的搭建、訓(xùn)練和結(jié)果的測(cè)試均在Pytorch框架下完成。
類似于其它檢測(cè)算法,衡量本文模型的指標(biāo)主要有以下幾個(gè):
(1)精確率(Precision),即查準(zhǔn)率:是預(yù)測(cè)正確的正樣本占所有檢出樣本的百分比例,是針對(duì)預(yù)測(cè)結(jié)果而言的
(6)
式中:TP為檢測(cè)到的目標(biāo)類別與真實(shí)目標(biāo)類別一致的樣本數(shù)量,F(xiàn)P為檢測(cè)到的目標(biāo)類別與真實(shí)目標(biāo)類別不一致的樣本數(shù)量。
(2)召回率(Recall),即查全率:被正確預(yù)測(cè)的正樣本占所有正樣本(Ground Truth)的比例,是針對(duì)原樣本而言的
(7)
FN表示真實(shí)目標(biāo)存在但未被檢測(cè)出的樣本數(shù)量。
(3)平均精度(Average Precision,AP):精確率-召回率曲線(P-R曲線)下方的面積即為某一類別的AP值
(8)
式中:N表示所有目標(biāo)類別的數(shù)量。
(4)平均準(zhǔn)確率均值(mAP):對(duì)每個(gè)類別的AP求平均
(9)
(5)為確定人臉口罩佩戴檢測(cè)是否達(dá)到實(shí)時(shí)檢測(cè)的檢測(cè)速率,本文選用FPS (frames per second)作為改進(jìn)后模型的衡量指標(biāo),F(xiàn)PS指的是指目標(biāo)檢測(cè)網(wǎng)絡(luò)每秒能夠檢測(cè)的圖片數(shù)量(幀數(shù))。
本文對(duì)Pytorch框架下修改的網(wǎng)絡(luò)模型訓(xùn)練時(shí),初始加載的預(yù)訓(xùn)練權(quán)重是YOLOv5算法在VOC2012數(shù)據(jù)集上訓(xùn)練得到的,之后通過(guò)遷移學(xué)習(xí)對(duì)本文自建數(shù)據(jù)集進(jìn)行訓(xùn)練。為保證模型最佳性能,本文將迭代次數(shù)設(shè)置為200次,batch size為16,初始學(xué)習(xí)率為0.0005,每5步降低一次,同時(shí)以SGD優(yōu)化器進(jìn)行優(yōu)化,圖9反映了迭代后網(wǎng)絡(luò)的CIoU_Loss、Object_Loss以及cls_Loss,可以看出,隨著迭代次數(shù)的增加,模型的損失值慢慢趨于穩(wěn)定,達(dá)到最優(yōu)狀態(tài)。
圖9 迭代后網(wǎng)絡(luò)損失
4.5.1 本文算法與其它算法結(jié)果對(duì)比
為驗(yàn)證本文算法的有效性,將Faster RCNN、SSD、RetinaFace、Attention-RetinaFace、YOLOv5等經(jīng)典網(wǎng)絡(luò)與本文算法進(jìn)行對(duì)比,所有實(shí)驗(yàn)在相同硬件配置的情況下針對(duì)相同的數(shù)據(jù)集進(jìn)行測(cè)試,所有模型所使用預(yù)訓(xùn)練權(quán)重均來(lái)自該模型在VOC2012數(shù)據(jù)集上預(yù)訓(xùn)練所得。不同算法的實(shí)驗(yàn)結(jié)果使用mAP@0.5、AP以及FPS這3項(xiàng)評(píng)價(jià)指標(biāo)進(jìn)行評(píng)價(jià),具體見(jiàn)表4。
表4 不同算法的性能比較結(jié)果
從表4中可以看出,相較于其它算法,本文算法在復(fù)雜環(huán)境下的檢測(cè)精度更高,mAP值可達(dá)97.8%,對(duì)不同標(biāo)簽的AP值也達(dá)到95%以上。本文算法雖滿足實(shí)時(shí)性要求,但檢測(cè)速度僅為32.4幀/s,遜于輕量級(jí)SSD算法。不同算法在人臉口罩?jǐn)?shù)據(jù)集上的mAP對(duì)比結(jié)果如圖10所示。
圖10 不同算法在人臉口罩?jǐn)?shù)據(jù)集上的mAP對(duì)比
為了更加直觀的顯示不同算法之間的區(qū)別,本文對(duì)稀疏人臉、側(cè)面人臉、密集人臉、密集遮擋人臉和小尺度人臉5種情況下的人臉口罩佩戴情況進(jìn)行了對(duì)比分析,本文算法與Faster RCNN、SSD、RetinaFace、Attention-RetinaFace、YOLOv5等算法檢測(cè)效果對(duì)比如圖11所示。
圖11 不同算法的檢測(cè)結(jié)果對(duì)比
從圖11可以看出,在稀疏和側(cè)臉場(chǎng)景下,所有算法都可準(zhǔn)確識(shí)別人臉口罩佩戴情況,但相較而言,本文算法對(duì)各類標(biāo)簽的檢測(cè)準(zhǔn)確度更高,基本達(dá)到95%以上;在密集人臉口罩佩戴檢測(cè)場(chǎng)景中,其它算法均存在誤檢漏檢情況,而本文算法中此類情況少有發(fā)生,并且從圖11密集目標(biāo)的檢測(cè)中可明顯看出,對(duì)已檢測(cè)出的目標(biāo),本文算法具有更高的準(zhǔn)確率;在密集遮擋人臉檢測(cè)場(chǎng)景中可知,本文算法相對(duì)其它算法漏檢率較低,對(duì)于存在較大面積遮擋的人臉口罩佩戴也可以準(zhǔn)確識(shí)別。同時(shí)已檢測(cè)到的目標(biāo)檢測(cè)準(zhǔn)確率有明顯提升;針對(duì)小尺度人臉口罩佩戴情況檢測(cè)時(shí),明顯可知,F(xiàn)aster RCNN、SSD、YOLOv5算法存在嚴(yán)重漏檢情況,本文算法與Attention-RetinaFace算法都能較好的檢測(cè)出人臉口罩目標(biāo),但本文算法仍存在少許漏檢現(xiàn)象,但對(duì)已檢測(cè)到的目標(biāo)檢測(cè)準(zhǔn)確率更高,基本達(dá)到90%以上。
綜上所述,相較于其它檢測(cè)算法,本文算法在各種場(chǎng)景中的人臉口罩佩戴情況檢測(cè)中誤檢漏檢率明顯降低,檢測(cè)準(zhǔn)確度更高,檢測(cè)效率更好。
4.5.2 消融實(shí)驗(yàn)
為進(jìn)一步分析改進(jìn)后模型對(duì)YOLOv5模型的影響,通過(guò)構(gòu)建消融實(shí)驗(yàn)分析改進(jìn)后各結(jié)構(gòu)對(duì)整個(gè)網(wǎng)絡(luò)的影響,本文將改進(jìn)的算法分成8組分別進(jìn)行訓(xùn)練,改進(jìn)后各部分對(duì)模型的影響具體見(jiàn)表5。(其中“√”表示加入該部分,“×”表示不加入該模塊)
表5 消融實(shí)驗(yàn)結(jié)果對(duì)比
由表5可知,針對(duì)人臉口罩佩戴檢測(cè)的自建數(shù)據(jù)集,實(shí)驗(yàn)1中的YOLOv5模型的mAP值為95.3%,F(xiàn)PS為45;實(shí)驗(yàn)2引入了DenseNet網(wǎng)絡(luò),相比于實(shí)驗(yàn)1,其mAP值提升了0.6%,但FPS下降了5.8,造成這一變化的主要原因是DenseNet的引入增加了內(nèi)存的消耗,但是提高了模型對(duì)目標(biāo)關(guān)鍵特征信息的利用率,從而提高了檢測(cè)精度;實(shí)驗(yàn)3主要對(duì)改進(jìn)后DenseNet網(wǎng)絡(luò)的效果進(jìn)行了分析,由結(jié)果可知,改進(jìn)后DenseNet網(wǎng)絡(luò)相較于原DenseNet網(wǎng)絡(luò)mAP值增加了1.4%,F(xiàn)PS相較于實(shí)驗(yàn)2也有所提升,這是因?yàn)榍度隒BAM模塊的DenseNet網(wǎng)絡(luò)在提高目標(biāo)重要特征信息利用效率的同時(shí)提升了網(wǎng)絡(luò)對(duì)重要信息的關(guān)注,抑制了不必要特征信息,使模型可以準(zhǔn)確定位到待檢測(cè)目標(biāo),從而提高了網(wǎng)絡(luò)的檢測(cè)精度,此外,ghostconv的引入使得網(wǎng)絡(luò)的檢測(cè)速度有所提升;實(shí)驗(yàn)4主要對(duì)改進(jìn)后的PANet網(wǎng)絡(luò)進(jìn)行有效性分析,實(shí)驗(yàn)數(shù)據(jù)表明,對(duì)PANet網(wǎng)絡(luò)的改進(jìn)使模型的mAP值增加了1.1%,發(fā)生這一變化的原因是改進(jìn)后的網(wǎng)絡(luò)對(duì)接近原始圖像的特征信息進(jìn)行了考慮,增強(qiáng)了多尺度信息的交流,提高不同尺度信息交互融合效率,對(duì)小尺度目標(biāo)和被遮擋目標(biāo)檢測(cè)精度更高。實(shí)驗(yàn)5對(duì)YOLOv5模型改進(jìn)損失函數(shù)前后mAP值進(jìn)行了對(duì)比,發(fā)現(xiàn)改進(jìn)后模型的mAP值增加了0.3%,主要原因在于改進(jìn)后的損失函數(shù)增加了中心點(diǎn)與寬高比的約束,降低了真實(shí)值與預(yù)測(cè)值之間的誤差,從而提升了模型準(zhǔn)確率;實(shí)驗(yàn)6的mAP值比實(shí)驗(yàn)3提高了1%,但FPS值減少了2.5,驗(yàn)證DenseNet模塊和PANet模塊的改進(jìn)在略微犧牲檢測(cè)速度的情況下增強(qiáng)模型的學(xué)習(xí)能力;實(shí)驗(yàn)7在實(shí)驗(yàn)3的基礎(chǔ)上對(duì)損失函數(shù)進(jìn)行了替換,mAP達(dá)到96.7%,但FPS降低為39.3;實(shí)驗(yàn)8在為本文算法,在實(shí)驗(yàn)7的基礎(chǔ)上改進(jìn)了多尺度PANet模塊,此模塊的改進(jìn)減慢了檢測(cè)速度但檢測(cè)精度提高了1.1%。
通過(guò)對(duì)消融實(shí)驗(yàn)分析發(fā)現(xiàn),隨著各模塊的疊加,改進(jìn)的網(wǎng)絡(luò)性能并沒(méi)有階段性的提升,而是在上一個(gè)改進(jìn)的基礎(chǔ)上使網(wǎng)絡(luò)性能小幅度增加,通過(guò)對(duì)YOLOv5模型的Backbone以及Neck網(wǎng)絡(luò)的逐步改進(jìn),模型的檢測(cè)性能也隨之提升。綜上,針對(duì)不同場(chǎng)景下的人臉口罩佩戴情況,本文提出的改進(jìn)策略能夠提升模型的檢測(cè)效果,具有實(shí)際意義。
為解決復(fù)雜環(huán)境下人臉口罩佩戴檢測(cè)任務(wù),本文以YOLOv5s模型為基礎(chǔ),提出了一種復(fù)雜環(huán)境下基于改進(jìn)YOLOv5的人臉口罩佩戴檢測(cè)模型。實(shí)驗(yàn)通過(guò)8000多個(gè)樣本對(duì)模型訓(xùn)練結(jié)果表明,本文所提網(wǎng)絡(luò)在達(dá)到實(shí)時(shí)性的同時(shí),有效提升了人臉口罩佩戴檢測(cè)精度,平均精度均值達(dá)到97.8%。但在測(cè)試實(shí)驗(yàn)中發(fā)現(xiàn),在嚴(yán)重遮擋、人臉模糊以及人臉尺度過(guò)小等情況下的檢測(cè)效果仍存在誤檢漏檢和檢測(cè)精度低的問(wèn)題,在后續(xù)的研究中,將增加上述情況下的圖像數(shù)據(jù),并對(duì)模型進(jìn)行優(yōu)化,減少網(wǎng)絡(luò)計(jì)算量提高人臉口罩佩戴檢測(cè)精度和速度。