江西理工大學(xué) 楊云吉 鄺先驗 唐濱鈞
針對目前YOLO 網(wǎng)絡(luò)在口罩正確佩戴中檢測率偏低的問題,提出了一種基于協(xié)同注意力機(jī)制和BiFPN 特征融合的改進(jìn)YOLOv5 口罩佩戴檢測算法(YOLOv5-BC)。為了提高原始圖像特征點的利用,將BiFPN 中的特征融合方法引入到Neck 模塊;將CA 注意力機(jī)制引入YOLOv5 網(wǎng)絡(luò)用于增強(qiáng)口罩佩戴檢測中對面部關(guān)鍵信息的提取。實驗結(jié)果表明,改進(jìn)的YOLOv5-BC 算法在自制數(shù)據(jù)集上的檢測精度達(dá)到了92.9%,相比于原始算法提高了1.3%,檢測速度達(dá)到了60FPS,相較于主流算法具有較好的檢測精度與實時性。
針對日常的口罩檢測,國內(nèi)外已有許多學(xué)者對其進(jìn)行了研究。引用[1]基于YOLOv5 算法,實現(xiàn)對口罩佩戴情況的實時監(jiān)測,相比于之前的版本[2-5],YOLOv5 檢測精度有所上升,且實時性較強(qiáng),更滿足實際使用需求,但在人群密集情況下口罩識別率仍然有待提高。
針對上述問題,為了提高口罩檢測的識別精度,提出一種改進(jìn)的YOLOv5s-BC 口罩識別算法。依據(jù)BiFPN 的特征融合思想,采用去權(quán)重的BiFPN 優(yōu)化YOLOv5s 算法的Neck 部分,可以有效解決過程中缺失功能信息的問題。同時,在主網(wǎng)邊緣輔引協(xié)同注意機(jī)制(CA),能夠保持YOLOv5 算法提取特征的能力。
YOLOv5 相比于之前的版本,結(jié)構(gòu)更簡潔,圖像地處理速度更快,更能滿足對圖像信息的實時性檢測的需求。
考慮到口罩檢測需要較快地實時性,所以本次實驗選取了深度最小、特征圖寬度最小,但速度較快的YOLOv5s作為權(quán)重。
YOLOv5s 網(wǎng)絡(luò)由輸入端、主干網(wǎng)絡(luò)、Neck 部分、預(yù)測網(wǎng)絡(luò)四個部分構(gòu)成,如圖1 所示。

圖1 YOLOv5 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 YOLOv5 network structure
本文選用了協(xié)同注意力機(jī)制來優(yōu)化網(wǎng)絡(luò)算法。相較于SE、CBAM 等注意力機(jī)制,CA 所具有的優(yōu)勢有如下幾點:首先,在通道間信息取得的同時,CA 注意力機(jī)制還分析了方向相關(guān)的位置信息,可以更好地定位和識別目標(biāo);其次,它體量較小,可以比較靈活地添加到算法的核心結(jié)構(gòu)中。
BiFPN 首先簡化FPN+PAN 結(jié)構(gòu),去掉一條邊的輸入和輸出結(jié)點,當(dāng)輸入和輸出結(jié)點同為一層時,則另行添加一條邊。
經(jīng)實驗后發(fā)現(xiàn),若使用原始的BiFPN,檢測效果并不能達(dá)到預(yù)期效果,而且還會增加計算量和參數(shù)量。借鑒BiFPN 的特征融合方法,去掉BiFPN 的權(quán)重,使得圖片的原始特征信息可以輸入到算法的PAN 結(jié)構(gòu)。
依據(jù)YOLOv5s 原始算法,改進(jìn)前面的三種方式,取得最終算法YOLOv5s-BC,其網(wǎng)絡(luò)結(jié)構(gòu),如圖2 所示。圖像在經(jīng)過加強(qiáng)處理后,傳入骨干網(wǎng)絡(luò)結(jié)構(gòu),其中的CA注意力機(jī)制添加如圖2 所示,會對圖像關(guān)鍵特征點進(jìn)行提取。同時,原始特征也會傳入到Neck 層,進(jìn)一步提高對圖像的檢測精度。

圖2 改進(jìn)后的YOLOv5s-BC 算法Fig.2 Improved YOLOv5s-BC algorithm
本實驗操作系統(tǒng)為Windows 10,64 位,CPU 為Intel(R)Core(TM) i5-11400H @ 2.70GHz 2.69 GHz,16G 運(yùn)行內(nèi)存,GPU 為NVIDIA RTX3050 顯卡,采用CUDA11.0計算架構(gòu),模型的搭建、訓(xùn)練和驗證,由Pytorch 深度學(xué)習(xí)框架實現(xiàn),并添加Cudnn 來增速計算能力。
實驗所需的數(shù)據(jù)集,采用網(wǎng)絡(luò)爬取與現(xiàn)實拍攝相結(jié)合的方式制作。考慮到日常生活中口罩佩戴的規(guī)范性會直接影響口罩的防護(hù)能力,因此將數(shù)據(jù)集細(xì)分為Mask(正確佩戴口罩)、Mask-F(不規(guī)范佩戴口罩)、Face(未佩戴口罩)三種類別,處理后各類目標(biāo)的數(shù)量如表1 所示。

表1 數(shù)據(jù)集類別Tab.1 Data set categories
本數(shù)據(jù)集中共有9240 張帶標(biāo)注的圖像,本文按照8:2 的比例分為訓(xùn)練集和驗證集,劃分后各部分圖像數(shù)量,如表2 所示。

表2 數(shù)據(jù)集劃分Tab.2 Data set partitioning
模型評估指標(biāo)主要包括平均精度均值、召回率、精度。mAP 為所有類別的平均精度求和除以數(shù)據(jù)集中所有類的平均精度,召回率為原始樣本中的正例有多少被預(yù)測正確的比率,精確率為預(yù)測結(jié)果中預(yù)測為正的樣本中有多少是真正的正樣本的比率。TP、FP和FN分別為正確檢測框、誤檢框和漏檢框的數(shù)量,AP為某個目標(biāo)類的平均精度,如式(1)、式(2)、式(3)所示:
以YOLOv5s 為基礎(chǔ),添加CA 注意力機(jī)制,并借鑒BiFPN 特征融合方法得到Y(jié)OLOv5s-BC 算法,將不同位置的算法在數(shù)據(jù)集上進(jìn)行訓(xùn)練并測試,實驗結(jié)果如表3所示。

表3 性能比較Tab.3 Performance comparison
通過表3 中的實驗結(jié)果可知,在本文模型中,將CA注意力機(jī)制添加后和BiFPN 特征網(wǎng)絡(luò)可以獲得相對更好的檢測效果。
為了驗證改進(jìn)算法YOLOv5-BC 的有效性與優(yōu)越性,將本文YOLOv5-BC 算法與YOLOv5s、Faster R-CNN、YOLOv4 等算法在相同數(shù)據(jù)集上進(jìn)行實驗比較,結(jié)果如表4 所示。

表4 不同算法模型在相同數(shù)據(jù)集上的性能對比Tab.4 Performance comparison of different algorithm models on the same data set
依據(jù)表4 中不同算法模型的對比實驗檢測結(jié)果可以看出,相較于精度相近的原始YOLOv5s 算法,本文算法精度優(yōu)化了約1.6%,比早期的Faster R-CNN 精度優(yōu)化13%,比YOLOv4 優(yōu)化15.8%。綜上所述,本文的YOLOv5s-BC相比于其他主流算法,有著較好的檢測精度,整體表現(xiàn)比較優(yōu)異,證明了本文所提算法的優(yōu)越性。為了更直觀地體現(xiàn)本文算法的優(yōu)越性,本文YOLOv5s-BC 算法的效果圖,如圖3 所示。

圖3 檢測效果圖Fig.3 Test effect diagram
從圖3 中可知,YOLOv5s 雖然可以識別口罩佩戴情況,但是當(dāng)人員擁擠時,會出現(xiàn)檢測率較低,漏檢甚至錯檢的情況。本文YOLOv5s-BC 算法相比于原始YOLOv5s 具有更高的檢測精度,并且在漏檢錯檢方面都有較好的改進(jìn)。
本文針對當(dāng)前檢測口罩佩戴情形的應(yīng)用背景,提出了一種改進(jìn)的YOLO 網(wǎng)絡(luò)的口罩規(guī)范性檢測算法,首先通過對Neck 層改進(jìn)為去權(quán)重的BiFPN,加強(qiáng)了對原始圖像特征點的使用;然后,融合了CA 注意力機(jī)制方法的集成,提高了對面部識別的檢測度。改進(jìn)后的YOLOv5s-BC 相比于原始算法,在自制數(shù)據(jù)集上,精度提升了約1.6%,在對于公共衛(wèi)生安全的發(fā)展和實施中,具有重要的現(xiàn)實意義。