?

基于改進特征融合的口罩檢測算法

2024-02-22 07:45武友新
計算機工程與設計 2024年2期
關鍵詞:口罩注意力卷積

曹 琦,武友新

(南昌大學 數學與計算機學院,江西 南昌 330036)

0 引 言

為減少口罩佩戴人工檢測造成的勞力成本,使用目標檢測技術[1]可以自動高效識別監控區域中的口罩佩戴情況,YOLO(you only look once)[2,3]作為一階段目標檢測算法的主流框架,近兩年在口罩檢測任務中被廣泛改進應用。文獻[4]在SSD算法上引入注意力機制,改進損失函數,對圖片中的口罩進行檢測,平均精度達到了96.28%,但檢測精度較原始算法提高不多,檢測速度僅達29 FPS,較原算法略微下降,且不適合小型受限制的場所布置使用。文獻[5] 對YOLO算法特征提取進行特征增強,精度達到90.1%,但模型未考慮不規范佩戴分類,且模型檢測速度與大小仍有很大優化空間。文獻[6]通過分析一階段檢測算法過程中卷積分類和回歸框預測存在最優化不一致的問題,提出一種從特征對齊方向進行改進的新思路。針對當前口罩檢測算法缺少對特征融合的改進,本文在多尺度特征上進行尺度特征對齊、選擇和增強,通過解耦結構提高檢測精度和速度。實驗結果表明,改進特征融合算法在識別速度遠高于實時標準的同時,可以保持較高的口罩規范佩戴識別精度,在人臉規范佩戴口罩檢測任務下具有良好性能表現。

1 算 法

YOLOv3特征提取網絡采用DarkNet,頸部網絡采用特征金字塔網絡(FPN)[7]進行深層向低層的單向特征融合,在檢測通道采用全卷積神經網絡對生成的錨框進行位置信息回歸、類別概率預測。改進算法設計輕型特征提取網絡DM-CSP提高模型檢測速度,加入自設計多尺度注意力提高特征提取能力,對不同深度的提取網絡輸出的三層特征進行對齊、選擇及增強后傳入新型解耦頭結構,算法結構如圖1所示。

圖1 改進算法網絡結構

1.1 DM-CSP

考慮到本文檢測任務類別只有3類,且檢測圖片中主體主要是人臉與口罩,要求模型穩定、快速收斂,而DarkNet網絡參數較多、計算量較大,容易導致模型訓練時間和推理時間增加,因此本文算法骨干網絡選用YOLOv4中的CSPDarkNet為基礎架構進行特征提取,有效地增強特征圖譜的提取能力,大幅度減少模型的計算量。

本文算法骨干網絡DM-CSP設計改進CSP結構作為提取網絡的組成模塊,網絡由3個不同深度的映射結構(CSPNet)組成,其中Resunit采用了深度可分離卷積層(depthwise separable convolution,DSC)[8,9]組成,采用殘差連接結構,CSPN由卷積層、多個ResUnit和多尺度注意力(multiscale coordinate attention,MCA)組成,殘差端和融合輸出端增加3×3的普通卷積,最后使用MCA加強提取位置和通道信息,可以在減少參數量同時增強特征提取能力。DM-CSP在進入每一個CSP結構前采用DSC中的深度卷積和點卷積來改變尺度大小與通道數,改進CSPNet結構如圖2所示,其中CBS與DBS激活層均采用Silu函數,利于模型快速收斂。

圖2 算法CSP結構

由于本文算法骨干網絡DM-CSP采用了DSC替代普通卷積,在提高訓練速度的同時,網絡的精度會相對下降,因此增加MCA模塊增強特征提取能力。當前大多數檢測模型采用的注意力機制如SE注意力[10](squeeze-and-excitation module)都是僅融合不同卷積層的通道信息或者位置信息,而CA[11]注意力(coordinate attention)是一種新提出的空間注意力機制,它有效地在不同位置間進行通道融合。與一般注意力全局池化不同,CA在橫寬方向和縱高位置上對不同通道進行池化、卷積和激活,有助于精確捕捉同紋理方向的語義信息,最后對兩個方向的融合通道進行權重再分配,有助于提取網絡對感興趣檢測信息如口罩、人臉進行篩選。

考慮到CA注意力在池化時將輸入圖片壓縮會降低分辨率,導致一些特征細節丟失,在提取網絡深度增加時,深層的小特征如口罩等的分辨率可能會被壓縮到很小導致丟失語義信息,因此需要豐富模型的感受尺度信息,避免深層特征的小目標檢測丟失。本文設計一種如圖3所示的MCA網絡,將CA注意力與空洞卷積構成的多尺度空間金字塔進行組合,利用空洞卷積改變輸入空間信息,使模型充分利用多個尺度信息,減少注意力對關鍵信息的提取丟失,提高特征提取效率。其中普通卷積使用1×1的卷積核,空洞卷積使用3個因子分別為1、3、5的大小為3×3的卷積核,卷積通道數都取輸入的1/4,各卷積輸出經填充融合后作為CA注意力的輸入。

圖3 MCA網絡

1.2 特征對齊及選擇

YOLO算法在提取特征后對3層不同大小的特征尺度進行融合,但傳統FPN在上采樣時首先將深層特征進行1×1卷積的降維操作,這會導致深層特征的語義信息丟失,上采樣后特征容易出現特征區域與網格預測區域不對齊問題,隨后直接與淺層通道進行融合會產生大量的噪聲影響性能。特征對齊及選擇模塊(feature alignment and selection,FAS)取消上采樣前對深層特征的降維卷積,首先通過自編碼器AED[12]將深層特征f2在上采樣后進行解碼得到對齊特征f′2, 其中自編碼器AED編碼、解碼器均由3層卷積層組成,大小分別為7×7、3×3、1×1;然后對融合特征進行特征篩選,選擇模塊S首先將融合特征沿寬、高方向進行平均池化,得到兩組1×1×C大小的特征通道,隨后依次經過1×1卷積層、Relu激活層、相加操作,生成通道數不變的一組向量,FAS選用這組權重向量作為選擇因子,利用選擇因子與融合特征進行點乘操作,得到新的具有空間特征的選擇信息,再與經過3×3卷積的另一通道進行相加操作,最后通過1×1卷積進行通道降維,選擇模塊S在訓練中通過不斷優化選擇因子對感興趣的特征進行選擇,從而增加對口罩、人臉的特征信息關注,篩選掉不重要通道進入檢測通道,FAS網絡結構如圖4所示。

圖4 FAS結構

1.3 特征增強

相較其它算法僅對圖片口罩存在的是否進行檢測,本文算法重視對圖中口罩是否規范佩戴的檢測,因此特征圖中口罩和人臉的特征排列相對位置尤為重要,設計模塊CTM來進行特征上下文信息增強。CTM結構如圖5所示,共有三層通道操作:第一層設置空洞卷積擴大上下文尺度信息范圍,在保留原始信息特征分布的同時提取小范圍特征上下文信息,特征空洞因子設置為1,卷積大小為3×3;第二層將輸入特征進行3×3的最大值池化,獲取局部關鍵上下文信息,隨后通過擴展操作利用1×1卷積增加通道數;第三層利用全局平均池化,可得到整張特征圖譜的上下文信息分布情況,卷積操作與第二層相同;輸入特征經過3層處理后融合,可使本層特征在進入檢測通道前盡可能豐富上下文信息,通過上下文信息增強可以增加口罩與人臉特征的關聯性,進一步提高口罩規范佩戴檢測的置信度。

圖5 CTM網絡

1.4 通道解耦

YOLO系列輕量級算法通常會在原有算法基礎上去掉最大的尺度,只保留兩個下采樣特征,用精度損失換來了速度快和設備性能要求低的優點。針對本數據集密集人群中人臉、口罩檢測目標像素占比較小,雙通道檢測頭可能會存在小目標漏檢情況,因此本算法仍保留一層8倍下采樣特征層,組成3層不同大小的特征尺度經過處理形成本算法的檢測頭部。

YOLO系列算法檢測頭均采用單通道同時處理對目標分類、位置回歸的卷積預測,但部分網格對口罩及人臉的分類正確率與回歸框預測正確率不匹配,因此采用解耦設計是對目標分類、位置回歸分別進行卷積計算,有效避免分類與位置回歸預測任務的沖突,從而提高了預測準確率。受文獻[13]啟發,本算法使用圖6中的解耦結構,首先將3層特征分別經過1個1×1深度可分離卷積進行降維,隨后分成兩個平行分支,分支內都包括兩個3×3大小的卷積核,一平行分支負責類別分類,另一分支負責置信度回歸和預測框位置回歸,消融實驗驗證此解耦設計有效改進了模型的檢測速度和精度性能。

圖6 Decouple head結構

2 實 驗

2.1 數據集與實驗環境

本文算法主要面向公共場所密集人群場景,算法所用數據集首先在遮擋人臉檢測數據集MAFA[14]、開源數據集AIZOO上抽取部分圖片,然后通過相機拍攝和網絡采集擴充口罩圖片,共計5000張圖片。使用標注工具對每張圖片中人臉口罩部分打上標簽,保存為XML文件。數據集部分原始圖片樣本如圖7所示。

圖7 數據集圖片樣本

數據集圖片類別分為正確佩戴(c-mask)、錯誤佩戴(i-mask)和未佩戴口罩(n-mask)這3類,實驗中將佩戴口罩露出口、鼻或下巴視為錯誤佩戴口罩情形,數據集中樣本目標分布情況見表1。

表1 數據集中樣本分布情況

本文算法在Windows操作系統進行模型訓練與測試,使用PyTorch 框架,CPU為AMD Ryzen 5 4600H,GPU為NVIDIA GeForce GTX 1660Ti(6 GB),軟件環境為CUDA 10.2、CuDNN 7.6、Python 3.8。實驗環境配置參數見表2。

表2 實驗環境配置參數

2.2 評價指標

目標檢測領域中一般使用準確率(A)、精確率(P)、召回率(R)、平均精確度(AP)和每秒幀率(FPS)等評價指標。本文重點使用AP50(交并比取0.5時的AP)和FPS作為算法評價指標。平均精確率均值(mAP)可通過計算各類的AP50平均值得到,各類AP計算公式如下

(1)

式中:r為數據集不同類別樣本的召回率;P(r)為召回率為r時的精確率。

AP一般通過計算精度召回曲線(PR曲線)下面積得到,統計數據集中每張圖片中這一類別的TP、FP、FN數目,從而得到該類別P和R指標。本文mAP通過計算正確佩戴口罩、未佩戴口罩、錯誤佩戴口罩3類AP50平均值得到,計算公式如下

(2)

算法主要針對提高模型檢測mAP和FPS進行改進,其它評價指標如模型參數量、計算量(GFLOPs)、模型大小(Size)也可作為算法性能比較指標,其中FPS即模型推理速度也從一定方面代表了模型參數量和計算量的大小。

2.3 實驗結果

表3 算法測試結果

改進算法實驗結果對比YOLOv3,3類mAP提升2.5%,但不規范佩戴口罩類別mAP提升8.4%,一方面是因為YOLOv3算法檢測COCO數據集含有80類別,因此在特定規范佩戴口罩檢測任務上表現不佳,另一方面也印證了改進算法的特征對齊及增強設計的有效性。改進算法FPS較YOLOv3提升近5倍,由18 FPS提升至107 FPS,模型較YOLOv3計算量也降低了95%,模型大小僅為7.8 MB,實驗測試結果部分樣本如圖8所示,圖左側改進算法正確佩戴口罩、未規范佩戴口罩、未佩戴口罩分別用對應檢測框(c-mask、i-mask、n-mask)標出,與圖8右側原始YOLOv3算法測試結果對比可以看出,本文改進算法對3類口罩檢測的置信度更高,對不規范佩戴口罩和不佩戴口罩檢測的區分度更好。此外與其它輕量級算法YOLOv3-Tiny、YOLOv4-Tiny和YOLOX-Tiny相比,mAP分別提高了5.6%、4.8%和2.7%,FPS也相應提高了19%、13%和9%,計算量降低了63%、78%和28%,模型大小降低了77%、65%和80%。文獻[5]中的改進YOLOv3算法只檢測輸入圖片中口罩的存在,未對人臉規范佩戴進行檢測,由于本文數據集來源與該算法相似,因此由算法測試結果對比,可以看出本文算法在精度和速度上都具有很大提升。實驗結果表明,本文提出的公共場所密集人群場景下口罩規范佩戴檢測算法相較于其它算法,對于錯誤佩戴類別檢測精度更高,在場景復雜、設備算力、空間資源受限且實時性要求高的公共場所檢測任務中,性能優于其它流行檢測算法,更適用于公共場所口罩規范性佩戴檢測任務。

圖8 測試結果圖片樣本

2.4 消融實驗

2.4.1 DM-CSP消融實驗

首先將YOLOv3算法的特征提取模塊DarkNet替換為改進算法中使用的普通卷積CSPNet結構,隨后將網絡中卷積改為深度可分離卷積,最后添加注意力MCA形成本文改進算法中使用的DM-CSP特征提取模塊。對YOLOv3算法結構分別使用上述3種特征提取模塊,在本實驗數據集上使用416 px×416 px大小的圖片進行訓練并測試,進行對比實驗,實驗結果見表4。

表4 DM-CSP模塊消融結果

2.4.2 特征融合實驗

對特征融合模塊進行消融實驗分析,實驗1使用DM-CSP特征提取模塊替換原始YOLOv3算法使用的DarkNet,融合階段僅將FPN上采樣與融合操作替換為FAS模塊完成;實驗2使用DM-CSP替換DarkNet,然后在FPN輸出端后增加特征增強模塊CTM,對FPN融合到的特征進一步增強上下文信息;實驗3將實驗1、2進行整合,在實驗1的基礎上使用CTM模塊;實驗4在實驗3的基礎上采用通道解耦替換原始檢測頭通道,對CTM增強的特征分別進行位置回歸和類別分類卷積運算,實驗結果見表5。

表5 融合模塊消融結果

表5可以看出,實驗1結果中mAP在DM-CSP提取特征基礎上增加了2.1%,驗證了增加FAS機制能夠緩解特征丟失及上采樣融合造成的不對齊問題,改善了算法的特征篩選功能,驗證了FAS設計的有效性,但FPS也減少了7,推測為深層通道在篩選模塊前而不是上采樣階段進行降維操作,導致自編碼器中的卷積操作增大了模型計算量,從而減緩推理速度;實驗2結果中mAP在DM-CSP基礎上增加了1.4%,驗證了在特征融合階段對上下文信息進行增強是很有必要的,這會大幅提高特征間的關聯性,擴大了模型的感受信息,提高特征的一致性,結果中FPS略微下降,主要是因為此模塊較多采用1×1的卷積操作,計算量增加不多;實驗3結果印證了FAS模塊和CTM模塊可以有效地結合使用,表明經過特征對齊、篩選后特征更適合進行上下文信息的捕捉;實驗4結果中驗證了解耦設計較原始檢測頭的合并卷積結構能夠提高準確率,并且加快模型推理速度,驗證了檢測頭解耦設計對YOLO結構改善的有效性,最終改進算法在DM-CSP骨干網絡上,結合FAS、CTM特征融合模塊,采用解耦通道進行實驗,提高了3.9%的檢測精度,推理速度變為107 FPS。

2.4.3 注意力對比實驗

為了驗證注意力MCA的有效性,將MCA添加在多個主流通用模型的特征融合模塊中,在本文使用的口罩數據集上進行訓練、測試,隨后將MCA替換為通用注意力SE、CA模塊進行對比實驗,對比結果見表6。YOLOv3由于骨干提取網絡參數太多,因此可以看出在融合網絡FPN添加各注意力模塊精度提升效果不顯著。對于YOLOv3-Tiny、YOLOv4-Tiny和YOLOX-Tiny算法,在融合網絡PaNet和骨干提取網絡之中添加各注意力模塊,精度都取得了不錯的提升效果,MCA對比其它注意力模塊提升效果更好,分別取得了1.6%、1.2%、0.7的精度提升,驗證了通過膨脹卷積加大輸入感受野可以更好加強注意力效果。

表6 添加注意力效果對比

2.4.4 公開數據集實驗

將公開數據集PASCAL VOC2007和VOC2012合并進行訓練,在VOC2007數據集進行測試,實驗結果如圖9所示。本文算法在VOC數據集中取得了AP50為75.4%的精度結果,相比YOLOv3和YOLOv4的輕量級算法,提升了4.2%和2.1%,充分驗證了本文改進算法的通用性。

圖9 VOC數據集測試結果

3 結束語

本文從改進特征融合角度出發,提出一種口罩規范佩戴檢測的單階段算法。對網絡進行骨干提取輕量化時,擴大注意力感受野可以進一步提高性能。針對特征不對齊和上下文信息關聯性低進行改進,是提升檢測精度的一個可行方向。改進特征融合算法性能優于其它輕量級檢測算法,利于口罩檢測場景的部署和應用。針對FAS影響推理速度進行改進,是我們重點推進的后續工作,同時考慮到數據采集、標注繁瑣,結合半監督學習進行數據增強也是我們推進的后續工作。

猜你喜歡
口罩注意力卷積
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設計及FPGA實現
戴口罩的苦與樂
因為一個口罩,我決定離婚了
從濾波器理解卷積
霧霾口罩
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
一種基于卷積神經網絡的性別識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合