国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進YOLOv7的口罩佩戴檢測算法

2024-02-23 04:00:12張文鎧劉佳
關(guān)鍵詞:口罩注意力卷積

張文鎧,劉佳

(北京信息科技大學 自動化學院,北京 100192)

0 引言

許多病毒和細菌可通過空氣中的飛沫和氣溶膠進行傳播,佩戴口罩是防止呼吸道傳染病傳播最有效的手段之一[1]。在特殊時期,公共場所一般都會有工作人員提醒大家佩戴口罩,但在人流量較大的情況下,很容易出現(xiàn)漏檢的現(xiàn)象,這會增加呼吸道傳染病傳播的風險。如果增加檢查的工作人員,則會耗費大量人力。因此,研發(fā)出一種口罩佩戴檢測算法具有極為重要的現(xiàn)實意義。

自從2012年Hinton教授團隊[2]利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)研發(fā)出AlexNet之后,目標檢測算法開始快速發(fā)展,逐漸從傳統(tǒng)的目標檢測轉(zhuǎn)向為基于深度學習的目標檢測。目標檢測算法大體可以分為2大類別:兩階段檢測和一階段檢測。兩階段檢測算法的代表主要是基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(region based CNN,R-CNN)[3]系列算法,比如Fast R-CNN[4]和Faster R-CNN[5]。一階段檢測算法的代表主要是單步多框檢測器(single shot multibox detector,SSD)[6]和YOLO(you only look once)[7]系列算法。兩階段檢測算法檢測精度高,但檢測的速度較慢。而一階段檢測算法正好與之相反,檢測速度快,但精度相對略低。對于口罩佩戴檢測這種實時性要求較高的任務(wù)來說,應(yīng)用一階段檢測算法更為合適。目前已經(jīng)有許多研究將目標檢測算法應(yīng)用在口罩檢測領(lǐng)域,如薄景文等[8]基于YOLOv3的輕量化口罩佩戴檢測算法,金鑫等[9]基于改進YOLOv4的口罩佩戴檢測算法,李小波等[10]融合注意力機制的YOLOv5口罩檢測算法。上述方法雖然在一定程度上提高了算法的性能,但在精度上還是存在不足。2022年7月,YOLOv4團隊正式發(fā)布YOLOv7,它采用了擴展高效層聚合網(wǎng)絡(luò)、復(fù)合模型縮放、計劃的重參數(shù)化卷積以及更有效的標簽匹配策略,在速度和準確度方面都超過了所有已知的目標檢測器[11]。為進一步提升口罩佩戴檢測算法的精度,本文在YOLOv7算法的基礎(chǔ)上做了相關(guān)的改進。首先,在YOLOv7模型的主干網(wǎng)絡(luò)引入感受野模塊,增大模型的感受野,提高算法的檢測精度。其次,在頭部網(wǎng)絡(luò)引入基于卷積塊的注意力機制,使得特征圖上的特征信息更容易被突顯出來。

1 YOLOv7算法

YOLOv7網(wǎng)絡(luò)模型結(jié)構(gòu)主要分為輸入層、主干網(wǎng)絡(luò)、頭部網(wǎng)絡(luò) 3個部分。

YOLOv7的輸入層主要是對輸入的圖片進行預(yù)處理,主要包括 Mosaic數(shù)據(jù)增強、自適應(yīng)錨框計算、自適應(yīng)圖片縮放等操作。YOLOv7的主干網(wǎng)絡(luò)主要功能是特征提取,主要包括CBS模塊、ELAN模塊和MP模塊。CBS模塊是由1個卷積層、1個批歸一化層和1個Silu激活函數(shù)層構(gòu)成。ELAN模塊由多個CBS模塊構(gòu)成,它通過控制最短和最長的梯度路徑,使一個更深的網(wǎng)絡(luò)同樣可以有效地進行學習和收斂。MP模塊的主要作用是進行下采樣。YOLOv7的頭部網(wǎng)絡(luò)主要包括SPPCSPC模塊、UP模塊、ELAN-H模塊和REP模塊。SPP模塊的作用是通過最大池化來增大感受野,提升模型精度。CSP模塊的主要作用是減小計算量。它將特征分為兩部分,其中一部分進行常規(guī)處理,另一部分進行SPP結(jié)構(gòu)處理,最后再將兩部分合并在一起。這樣做可以減少計算量,而且還可以提升模型的精度。UP模塊的主要作用是通過最近鄰插值的方式進行上采樣。ELAN-H模塊與ELAN模塊非常相似,不同的是ELAN-H模塊選取的輸出數(shù)量比ELAN模塊多。REP模塊在訓練時將1個用于特征提取的3×3卷積、1個用于平滑特征的1×1卷積和1個無卷積操作融合在1個卷積層中,在推理時則重參數(shù)化1個3×3的卷積。

2 改進的YOLOv7算法

2.1 改進后的模型結(jié)構(gòu)

為進一步提升口罩佩戴檢測算法的精度,本文在YOLOv7算法的基礎(chǔ)上做了相關(guān)的改進。首先,為了增大模型的感受野,提高算法的檢測精度,在主干網(wǎng)絡(luò)第24層引入RFB模塊;其次,為了使得特征圖上的特征信息更容易被突顯出來,在模型的頭部網(wǎng)絡(luò)第63層引入卷積塊注意力模塊(convolutional block attention module,CBAM),改進后的算法模型結(jié)構(gòu)如圖1所示。圖1中的cat表示拼接操作。

圖1 改進的YOLOv7模型結(jié)構(gòu)Fig.1 Model structure of improved YOLOv7

2.2 CBAM注意力機制

檢測精度與模型的特征提取能力緊密相關(guān),原YOLOv7算法在特征提取能力上還有一定進步的空間。本文為進一步增強模型的特征提取能力,在原YOLOv7算法的基礎(chǔ)上引入了CBAM,使模型更加關(guān)注重要信息,進一步提升精度。

CBAM是由通道注意力機制(channel attention module,CAM)和空間注意力機制(spatial attention module,SAM)串行連接組成,在輸入特征F的基礎(chǔ)上依次融合了通道和空間兩種維度上的注意力權(quán)重[12],最終與輸入特征不斷相乘輸出一個新的特征FZ。這樣不僅節(jié)約了計算力,而且與單一使用通道和空間注意力機制相比,特征圖上的特征信息更容易被突顯出來,從而提高模型的準確率[13]。CBAM基本結(jié)構(gòu)如圖2所示。

圖2 CBAM基本結(jié)構(gòu)Fig.2 Basic structure of CBAM

通道注意力機制處理過程如圖3所示。輸入特征F分別經(jīng)過全局最大池化和全局平均池化,然后送入共享多層感知機[14],將得到的特征進行對位相乘并進行加和操作,最終經(jīng)過Sigmoid激活函數(shù)得到通道注意力特征FC。

圖3 通道注意力機制處理過程Fig.3 Processing process of channel attention mechanism

空間注意力機制處理過程如圖4所示。輸入特征F1是原始輸入特征F與通道注意力機制生成的通道注意力特征FC進行乘法操作所得到的,輸入特征F1經(jīng)過基于通道的全局最大池化和全局平均池化,得到2個特征圖并將其進行通道拼接和非線性運算,再經(jīng)過一層卷積進行降維之后得到空間注意力特征FS。最后,再將輸入特征F1與空間注意力特征FS進行乘法操作得到最終的輸出特征FZ。

圖4 空間注意力機制處理過程Fig.4 Processing process of spatial attention mechanism

2.3 RFB模塊

YOLOv7主干網(wǎng)絡(luò)的主要作用是對輸入圖像進行特征提取,但原YOLOv7主干網(wǎng)絡(luò)感受野相對較小,導致獲得的局部信息過多,全局信息過少,進而影響檢測的準確率。所以為進一步增大模型的感受野,提高算法的準確率,在原YOLOv7的主干網(wǎng)絡(luò)引入RFB模塊。

RFB模塊模仿了人類視覺的特點,將感受野和偏心率聯(lián)系在一起,其結(jié)構(gòu)與Inception結(jié)構(gòu)相似,主要由不同尺度的常規(guī)卷積組成的多分支卷積層和不同尺度的空洞卷積層組成。多分支卷積層主要用來模擬群體感受野中不同的感受野,空洞卷積層主要用來模擬群體感受野尺度與偏心率之間的關(guān)聯(lián)度[15]。這種結(jié)構(gòu)不僅不會增加參數(shù)量,而且還擴大了感受野,提高了算法的檢測精度。

圖5為RFB網(wǎng)絡(luò)結(jié)構(gòu),輸入特征圖首先通過3個分支來完成特征融合,3個分支分別通過1×1卷積(Conv)降低特征圖的通道數(shù),然后其中2個分支分別通過3×3和5×5的卷積核構(gòu)成多分支結(jié)構(gòu)來獲取多尺度特征,并在對應(yīng)的每個分支上分別引入擴張率(rate)為1、3、5的3×3空洞卷積來增大網(wǎng)絡(luò)的感受野[16]。當擴張率為1時,空洞卷積就是常規(guī)的卷積??斩绰什煌瑫r,獲得感受野的大小也不同。RFB模塊將擴張率設(shè)置為1、3、5這種組合,使得采樣點交錯,盡可能多的學習局部信息,減少了網(wǎng)格效應(yīng)帶來的信息丟失。最后將3個分支的輸出通過1×1卷積和拼接操作(Concatenation)連接在一起完成特征融合。將特征融合后的特征圖與輸入特征圖通過捷徑連接(Shortcut)層進行張量相加,并通過Relu激活函數(shù)完成最后的輸出。

圖5 RFB網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 RFB network structure

3 實驗及結(jié)果分析

3.1 數(shù)據(jù)集與實驗環(huán)境

本文實驗所用的口罩數(shù)據(jù)集主要來自于MAFA數(shù)據(jù)集中的部分圖片、網(wǎng)絡(luò)上收集的圖片和生活中收集的圖片。數(shù)據(jù)集總共有5 000張,劃分為訓練集3 000張,測試集1 000張,驗證集1 000張,圖6為部分數(shù)據(jù)集示例。圖6(a)為單人臉數(shù)據(jù)集示例,其中包含單人正面未遮擋佩戴口罩情況、單人正面遮擋未佩戴口罩情況、單人正面未遮擋未佩戴口罩情況、單人側(cè)面未遮擋佩戴口罩情況等。圖6(b)為多人臉數(shù)據(jù)集示例,其中包含多人側(cè)面佩戴口罩以及未佩戴口罩混合情況、多人正面佩戴口罩以及未佩戴口罩混合情況、多人正面佩戴口罩情況、多人側(cè)面佩戴口罩情況等。

圖6 部分數(shù)據(jù)集示例Fig.6 Partial dataset example

在建立數(shù)據(jù)集的時候通過LabelImg軟件對圖片進行標記,佩戴口罩的標記為mask,未佩戴口罩的標記為face。

為確保改進算法的準確性和有效性,本文所有實驗統(tǒng)一在表1實驗環(huán)境及配置下進行。

表1 實驗環(huán)境配置Table 1 Experimental environment configuration

3.2 實驗參數(shù)和評價指標

實驗的具體參數(shù)如表2所示。為確保改進算法的準確性和有效性,本文所有實驗均在同一參數(shù)下進行。

表2 實驗的參數(shù)設(shè)置Table 2 Parameter settings for the experiment

實驗主要的評價指標有:精確率(precision)、平均精度均值(mean average precision,mAP)和召回率(recall)。

3.3 實驗結(jié)果與分析

為驗證本文所提方法的有效性,在原始YOLOv7算法的基礎(chǔ)上依次加入RFB模塊、CBAM注意力機制、RFB模塊和CBAM注意力機制,同時與目前幾種主流的目標檢測算法進行對比,消融實驗的結(jié)果如表3所示。

表3 消融實驗結(jié)果Table 3 Results of ablation experiment

從表3可以看出,在原YOLOv7算法的基礎(chǔ)上引入RFB模塊后,精確率提高2.6百分點,平均精度均值提高1.4百分點;在原YOLOv7算法的基礎(chǔ)上引入CBAM注意力機制后,精確率提高3.3百分點,平均精度均值提高1.6百分點;在原YOLOv7算法的基礎(chǔ)上同時引入RFB模塊和CBAM注意力機制后,精確率提高5.6百分點,平均精度均值提高2.6百分點。在原YOLOv7算法的基礎(chǔ)上同時引入RFB模塊和CBAM注意力機制的精確率和平均精度均高于在原YOLOv7算法的基礎(chǔ)上單獨引入RFB模塊和CBAM注意力機制,進而驗證了本文所提改進算法的有效性。同時,本文提出的改進YOLOv7算法與YOLOv5s算法相比,精確率提高9.6百分點,平均精度均值提高2.9百分點;與最新提出的YOLOv8s算法相比,精確率提高12.0百分點,平均精度均值提高12.6百分點,召回率提高5.0百分點。本文提出的改進YOLOv7算法在滿足實時檢測的基礎(chǔ)上,檢測精確率及平均精度均值均大幅優(yōu)于其他算法。

圖7所示為算法改進前后的精確率-召回率曲線對比。精確率-召回率曲線與坐標軸圍成的面積即為該類別的平均精度值,圍成的面積越大表示平均精度值越高。平均精度均值是指交并比閾值為0.5時所有類別的平均精度均值。

圖7 YOLOv7算法改進前后精確率-召回率曲線對比Fig.7 Comparison of precision-recall curve before and after improvement of YOLOv7 algorithm

由圖7可知,改進后的YOLOv7算法平均精度均值由94.0%提升至96.6%,提高2.6百分點。其中佩戴口罩類平均精度由95.3%提升至98.6%,提高3.3百分點;未佩戴口罩類平均精度由92.6%提升至94.6%,提高2.0百分點。綜上所述,本文改進的YOLOv7算法平均精度和平均精度均值均優(yōu)于原YOLOv7算法。

圖8為算法改進前后的檢測效果對比,其中圖8(a)為輸入圖片,圖8(b)為原YOLOv7算法的檢測效果,圖8(c)為本文改進YOLOv7算法的檢測效果,其中檢測框上方標示著檢測類別以及該類別的置信度。

圖8 算法改進前后檢測效果對比Fig.8 Comparison of algorithm detection effects before and after improvement

由圖8可知,原YOLOv7算法和本文改進的YOLOv7算法都可以準確地檢測出口罩佩戴情況,但本文改進的YOLOv7算法檢測效果置信度高于原YOLOv7算法,可以證明本文改進的YOLOv7算法檢測效果優(yōu)于原YOLOv7算法。

4 結(jié)束語

為提升口罩佩戴檢測算法的精度,本文提出了基于改進YOLOv7的口罩佩戴檢測算法。在YOLOv7的基礎(chǔ)上,在頭部網(wǎng)絡(luò)引入CBAM注意力機制,在主干網(wǎng)絡(luò)引入RFB模塊。實驗結(jié)果表明,改進后的YOLOv7口罩佩戴檢測算法精確率達到95.7%,較原網(wǎng)絡(luò)提高5.6百分點,平均精度均值達到96.6%,提高了2.6百分點,模型精度在原有的基礎(chǔ)上得到大幅提升。但在引入注意力機制和各種模塊之后,會增加原有模型的參數(shù)量,所以后續(xù)的工作將著重于模型輕量化的研究。

猜你喜歡
口罩注意力卷積
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
戴口罩的苦與樂
意林(2020年9期)2020-06-01 07:26:22
因為一個口罩,我決定離婚了
海峽姐妹(2020年4期)2020-05-30 13:00:08
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
霧霾口罩
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現(xiàn)”
傳媒評論(2017年3期)2017-06-13 09:18:10
要戴口罩的霧霾天
A Beautiful Way Of Looking At Things
巴林左旗| 伊通| 玉溪市| 尚义县| 汽车| 山西省| 鄂温| 惠州市| 阿荣旗| 莱芜市| 文昌市| 浪卡子县| 青海省| 伊吾县| 都安| 富蕴县| 图木舒克市| 德钦县| 锦州市| 深水埗区| 岐山县| 石渠县| 旺苍县| 芦溪县| 宜兰市| 随州市| 东光县| 桑植县| 辽宁省| 边坝县| 利辛县| 敦煌市| 蒙山县| 兰坪| 治县。| 谢通门县| 西乌珠穆沁旗| 区。| 德江县| 玉林市| 社旗县|