江西理工大學 楊云吉 鄺先驗 唐濱鈞
針對目前YOLO 網(wǎng)絡在口罩正確佩戴中檢測率偏低的問題,提出了一種基于協(xié)同注意力機制和BiFPN 特征融合的改進YOLOv5 口罩佩戴檢測算法(YOLOv5-BC)。為了提高原始圖像特征點的利用,將BiFPN 中的特征融合方法引入到Neck 模塊;將CA 注意力機制引入YOLOv5 網(wǎng)絡用于增強口罩佩戴檢測中對面部關鍵信息的提取。實驗結果表明,改進的YOLOv5-BC 算法在自制數(shù)據(jù)集上的檢測精度達到了92.9%,相比于原始算法提高了1.3%,檢測速度達到了60FPS,相較于主流算法具有較好的檢測精度與實時性。
針對日常的口罩檢測,國內外已有許多學者對其進行了研究。引用[1]基于YOLOv5 算法,實現(xiàn)對口罩佩戴情況的實時監(jiān)測,相比于之前的版本[2-5],YOLOv5 檢測精度有所上升,且實時性較強,更滿足實際使用需求,但在人群密集情況下口罩識別率仍然有待提高。
針對上述問題,為了提高口罩檢測的識別精度,提出一種改進的YOLOv5s-BC 口罩識別算法。依據(jù)BiFPN 的特征融合思想,采用去權重的BiFPN 優(yōu)化YOLOv5s 算法的Neck 部分,可以有效解決過程中缺失功能信息的問題。同時,在主網(wǎng)邊緣輔引協(xié)同注意機制(CA),能夠保持YOLOv5 算法提取特征的能力。
YOLOv5 相比于之前的版本,結構更簡潔,圖像地處理速度更快,更能滿足對圖像信息的實時性檢測的需求。
考慮到口罩檢測需要較快地實時性,所以本次實驗選取了深度最小、特征圖寬度最小,但速度較快的YOLOv5s作為權重。
YOLOv5s 網(wǎng)絡由輸入端、主干網(wǎng)絡、Neck 部分、預測網(wǎng)絡四個部分構成,如圖1 所示。
圖1 YOLOv5 網(wǎng)絡結構圖Fig.1 YOLOv5 network structure
本文選用了協(xié)同注意力機制來優(yōu)化網(wǎng)絡算法。相較于SE、CBAM 等注意力機制,CA 所具有的優(yōu)勢有如下幾點:首先,在通道間信息取得的同時,CA 注意力機制還分析了方向相關的位置信息,可以更好地定位和識別目標;其次,它體量較小,可以比較靈活地添加到算法的核心結構中。
BiFPN 首先簡化FPN+PAN 結構,去掉一條邊的輸入和輸出結點,當輸入和輸出結點同為一層時,則另行添加一條邊。
經(jīng)實驗后發(fā)現(xiàn),若使用原始的BiFPN,檢測效果并不能達到預期效果,而且還會增加計算量和參數(shù)量。借鑒BiFPN 的特征融合方法,去掉BiFPN 的權重,使得圖片的原始特征信息可以輸入到算法的PAN 結構。
依據(jù)YOLOv5s 原始算法,改進前面的三種方式,取得最終算法YOLOv5s-BC,其網(wǎng)絡結構,如圖2 所示。圖像在經(jīng)過加強處理后,傳入骨干網(wǎng)絡結構,其中的CA注意力機制添加如圖2 所示,會對圖像關鍵特征點進行提取。同時,原始特征也會傳入到Neck 層,進一步提高對圖像的檢測精度。
圖2 改進后的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 運行內存,GPU 為NVIDIA RTX3050 顯卡,采用CUDA11.0計算架構,模型的搭建、訓練和驗證,由Pytorch 深度學習框架實現(xiàn),并添加Cudnn 來增速計算能力。
實驗所需的數(shù)據(jù)集,采用網(wǎng)絡爬取與現(xiàn)實拍攝相結合的方式制作??紤]到日常生活中口罩佩戴的規(guī)范性會直接影響口罩的防護能力,因此將數(shù)據(jù)集細分為Mask(正確佩戴口罩)、Mask-F(不規(guī)范佩戴口罩)、Face(未佩戴口罩)三種類別,處理后各類目標的數(shù)量如表1 所示。
表1 數(shù)據(jù)集類別Tab.1 Data set categories
本數(shù)據(jù)集中共有9240 張帶標注的圖像,本文按照8:2 的比例分為訓練集和驗證集,劃分后各部分圖像數(shù)量,如表2 所示。
表2 數(shù)據(jù)集劃分Tab.2 Data set partitioning
模型評估指標主要包括平均精度均值、召回率、精度。mAP 為所有類別的平均精度求和除以數(shù)據(jù)集中所有類的平均精度,召回率為原始樣本中的正例有多少被預測正確的比率,精確率為預測結果中預測為正的樣本中有多少是真正的正樣本的比率。TP、FP和FN分別為正確檢測框、誤檢框和漏檢框的數(shù)量,AP為某個目標類的平均精度,如式(1)、式(2)、式(3)所示:
以YOLOv5s 為基礎,添加CA 注意力機制,并借鑒BiFPN 特征融合方法得到YOLOv5s-BC 算法,將不同位置的算法在數(shù)據(jù)集上進行訓練并測試,實驗結果如表3所示。
表3 性能比較Tab.3 Performance comparison
通過表3 中的實驗結果可知,在本文模型中,將CA注意力機制添加后和BiFPN 特征網(wǎng)絡可以獲得相對更好的檢測效果。
為了驗證改進算法YOLOv5-BC 的有效性與優(yōu)越性,將本文YOLOv5-BC 算法與YOLOv5s、Faster R-CNN、YOLOv4 等算法在相同數(shù)據(jù)集上進行實驗比較,結果如表4 所示。
表4 不同算法模型在相同數(shù)據(jù)集上的性能對比Tab.4 Performance comparison of different algorithm models on the same data set
依據(jù)表4 中不同算法模型的對比實驗檢測結果可以看出,相較于精度相近的原始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 雖然可以識別口罩佩戴情況,但是當人員擁擠時,會出現(xiàn)檢測率較低,漏檢甚至錯檢的情況。本文YOLOv5s-BC 算法相比于原始YOLOv5s 具有更高的檢測精度,并且在漏檢錯檢方面都有較好的改進。
本文針對當前檢測口罩佩戴情形的應用背景,提出了一種改進的YOLO 網(wǎng)絡的口罩規(guī)范性檢測算法,首先通過對Neck 層改進為去權重的BiFPN,加強了對原始圖像特征點的使用;然后,融合了CA 注意力機制方法的集成,提高了對面部識別的檢測度。改進后的YOLOv5s-BC 相比于原始算法,在自制數(shù)據(jù)集上,精度提升了約1.6%,在對于公共衛(wèi)生安全的發(fā)展和實施中,具有重要的現(xiàn)實意義。