


摘 要:目前,檢測人們是否戴口罩主要基于人工檢查,但是該方法過于消耗人力成本,也會帶來更多感染風險。為了解決該問題,本文采用一種改進的YOLOv5算法,可以實時檢測佩戴情況。該算法在特征金字塔中引入注意力機制,增強對輸入圖像中重要部分的識別能力。進而與原YOLOv5算法進行比較,并在其他模型中應用相同的注意力模塊,驗證了本文算法在檢測效果上具有顯著優勢。
關鍵詞:深度學習;Ghost卷積;YOLO;人臉口罩檢測
中圖分類號:TP 391" " " " " 文獻標志碼:A
自HINTON G E等[1]提出深度神經網絡以來,人工智能技術,尤其是機器學習和深度學習受到越來越多的關注。在新冠疫情管控下,由于新冠病毒主要通過飛沫傳播,因此佩戴口罩能夠有效降低感染風險。然而,傳統的口罩檢測方法效率較低且需要消耗大量人力。許多科技公司推出了具有人臉檢測和口罩識別功能的設備,顯著提高了檢測效率,降低了資源消耗。盡管如此,目前的人臉口罩識別技術仍然面臨一些挑戰,例如需要在固定角度進行檢測、無法準確捕捉移動人臉、部分人臉遮擋導致判斷困難和樣本不足影響模型訓練效。本文針對上述問題,基于YOLOv5提出了一種新的人臉口罩檢測技術,該方案包括Ghost輕量級卷積和注意力機制,旨在提升算法的精確與效率[2]。
1 YOLOv5算法
1.1 YOLOv5算法網絡結構
YOLOv5[3-4]主要分為骨干網絡、特征金字塔模塊和預測部分。YOLOv5在目標檢測任務中表現出色,得益于多個有效模塊的優良組合,分別是CBL模塊、CSP1_X模塊和CSP2_X模塊,顯著增強了模型的表達能力。此外,Focus模塊利用切片和CBL操作進行特征提取,SPP模塊利用CBL和最大池化操作來提升多尺度特征的提取能力。這些模塊的設計和協同配合,使YOLOv5在復雜的目標檢測任務中具有優異性能。
1.2 YOLOv5算法原理
YOLOv5是一種備受關注的深度學習目標檢測算法,具有高效性和精準性,并且應用廣泛。與之前的版本相比,YOLOv5在速度和準確性方面具有顯著提升。首先,圖像預處理將輸入圖像調整為800×800的尺寸,將像素值調整為0~1。其次,CSPDarknet 53用于骨干網絡提取特征。此網絡包括多個卷積層、殘差塊以及特征金字塔模塊,可以有效提取多尺度特征,進而提升檢測精確率。最后,YOLOv5[5]利用一個由卷積層構成的檢測頭來預測物體的位置和類別。該檢測頭生成一個張量,包括類別可信度、物體的具體坐標和高寬度。同時,YOLOv5采用sigmoid函數將輸出值限制在0~1,并應用非極大值抑制算法對檢測結果進行篩選,可以減少重疊情況。
在推理階段,YOLOv5算法采用一種基于中心點的檢測方法,即模型會預測每個物體的中心點坐標、寬度、高度以及物體類別,再根據預測結果將物體進行歸類,進行選取時使用非極大值抑制算法,得出檢測結論。
2 基于注意力機制改進的YOLOv5人臉佩戴口罩檢測算法
2.1 注意力機制
注意力機制是一種模仿人類注意力的計算方法,該方法能夠將輸入數據的不同部分賦予不同權重,可以提高模型在特定任務上的表現,其核心思想是使模型集中關注最相關的信息,忽略無關的部分。根據輸入特征,自適應調整各部分的權重,使重要的信息在計算過程中占據更大的比重,將輸入數據(例如序列或圖像特征)表示為向量。例如,在自然語言處理中,輸入句子可以將詞嵌入(Word Embedding)轉換為特征向量,將計算得到的注意力權重應用于值(Value)向量,生成最終的輸出表示,最終的輸出向量可以用于后續的模型層,例如全連接層或其他任務的后續處理。該過程如公式(1)所示。
公式(1)計算了每個鍵值對的權重,并將權重應用到值向量vi上,進而通過加權求和得出最終的輸出向量O。
人臉口罩識別的關鍵是識別人臉的鼻子和嘴巴。卷積網絡神經的所有卷積層都可以提取特征,但是特征的重要性各異,無法有效突出關鍵特征,可能會對模型的整體性能產生負面影響。為了解決該問題,本文引入注意力機制,以增強卷積神經網絡對關鍵特征的關注,從而優化YOLOv5算法,提高口罩檢測的準確性。
卷積塊注意模塊(CBAM)是一種增強卷積神經網絡注意力機制的方法。該模塊基于改進的擠壓-激勵網絡,并增加了空間注意力機制。此外,CBAM能夠無縫集成到網絡的基礎結構中,無須進行修改,因此其應用更靈活,便于與現有網絡架構相結合。
CBAM模塊的主要結構如圖1所示。模塊包括通道注意力和空間注意力模塊[6]。通道注意力模塊能夠將不同權重賦予不同通道,幫助模型聚焦于重要的特征,從而提升模型在圖像分類、目標檢測等任務中的表現。空間注意力模塊強調輸入特征圖中重要的空間位置,幫助模型提升對關鍵特征的感知能力,從而提高整體性能。CBAM模塊可以無縫集成到現有的網絡架構中,并對計算資源的要求相對較低,適合在YOLOv5追求實時性和高效性的目標檢測模型中使用。
在通道注意力機制中,需要對輸入特征圖進行全局平均池化和全局最大池化操作,以獲得每個通道的全局信息。進而將2個池化的結果拼接或者相加,形成一個通道描述向量。將通道描述向量輸入一個小的全連接網絡,通常包括一個隱藏層,并通過激活函數進行非線性變換,再利用Sigmoid激活函數,將輸出轉換為通道注意力權重。
空間注意力機制能夠對輸入特征圖進行全局平均池化和全局最大池化操作,以獲取空間信息,將這2個特征圖在通道維度上拼接,得到一個新的特征圖。采用一個小的卷積層(通常是7*7或3*3的卷積)對拼接后的特征圖進行卷積操作,以生成空間注意力權重圖。最后,將原始特征圖與空間注意力權重圖相乘,生成加權后的特征圖,這2個操作通常在通道維度上進行。
2.2 改進的YOLOv5人臉口罩檢測算法優化過程
YOLOv5在目標檢測中表現優異,但是在小目標捕捉方面存在一些不足之處,主要原因是其網格單元化程度較低,對小目標的細節捕捉存在不足。為了解決該問題,本文將空間注意力于通道注意力與YOLOv5相結合,以提升算法的感知能力和準確性。改進后的算法能夠減少下采樣層數或使用特征金字塔網絡(FPN),保留更多細節信息,提高小目標的可檢測性,空間注意力或通道注意力機制能夠幫助模型關注重要特征區域,提高小目標的特征提取能力。在訓練過程中賦予小目標樣本更高的權重,以提高模型對小目標的敏感度。針對小目標的特性進行優化,減少誤報和漏檢,提高檢測結果的準確性。
結合注意力機制改進的YOLOv5網絡結構如圖2所示。Focus主要通過在空間維度上降低特征圖的分辨率,同時在通道維度上進行特征融合。CSP是YOLOv5中用于提高模型效率和性能的組件,它將網絡分成2路,一路進行正常的卷積操作。圖中加入的CBAM層主要用于提高模型的特征表達能力和目標檢測的精度。CBAM能夠引入空間注意力和通道注意力機制,幫助模型更有效地聚焦于重要特征,從而提高檢測性能。注意力機制的引入可以顯著提升模型的特征表達能力和檢測精度。
與傳統版本相比,結合注意力機制的YOLOv5主要通過引入通道注意力和空間注意力機制來提升模型性能,顯著提升了模型的表達能力和精確度。通道注意力機制能夠分析特征圖不同通道的重要性,動態調整每個通道的權重,強化與目標檢測相關的重要通道,抑制冗余或不重要的通道特征,使網絡能夠適應多樣化的輸入。空間注意力機制通過分析特征圖中不同位置的重要性,為每個空間位置分配權重。它通常基于通道聚合的信息生成一個二維的注意力圖,聚焦于重要的空間區域,提升了模型處理小目標或密集目標場景的性能。這一改進使YOLOv5在實際應用中更高效、可靠,更適用于口罩佩戴檢測。
3 試驗過程與結果分析
3.1 試驗過程
在自建數據集上篩選出需要的圖像,按照6∶4的比例劃分得到3600張用于訓練的圖像和2400張用于測試的圖像。圖像一共有3類。第一種不戴口罩,標簽定義為1;第二種戴口罩,標簽定義為2;第三種戴錯口罩,標簽定義為3。
在試驗中,將圖像的分辨率調整為800×800,將其輸入檢測網絡進行訓練。使用訓練命令啟動訓練過程,主要采用YOLOv5改進前、后2個版本進行訓練,并結合CBAM模塊討論注意力機制對算法精準度的提升。先將學習率設定為0.01,經過280輪訓練后,設定新的學習率為0.001,并采取Pytorch的混合精度訓練(amp)模塊,使訓練速度更快。選擇AdamW優化器,解決L2正則化過程中的權重衰減問題。
在模型驗證方面,YOLOv5采用COCO類型的驗證方法,并以均值平均精度(mAP)為評估標準。靜賢驗證時,先將預測結果與真實標注相匹配,得出檢測框的交并比(IoU)。根據不同的IoU閾值,將檢測框分為真陽性(TP)、假陽性(FP)和假陰性(FN)。進而基于TP、FP和FN的數量,計算各個IoU閾值下的精確率(Precision),并綜合mAP和精確率等指標來評估模型的整體性能。
3.2 試驗結果
3.2.1 試驗結果分析
在算法實現階段,YOLOv5結合通道注意力和空間注意力機制進行CBAM模塊改進。為了保證公平,試驗中使用本文搜索的數據集對YOLOv5及其改進版本進行訓練。此外,本文還在部分YOLO模型中引入CBAM模塊,以驗證這些改進的有效性。改進前、后算法在測試集上的檢測結果見表1。
根據表1數據,改進后的YOLOv5算法在各項檢測精度指標上均具有優異表現。與原始YOLOv5相比,mAP提升了1.3%,而精確率提高了1.7%。綜上所述,經過改進的YOLOv5具有出色的目標檢測能力,注意力機制的引入使算法能夠更有效地聚焦于佩戴口罩的人臉區域。但是其在模型大小和推理延遲方面仍有進一步優化的潛力。
3.2.2 口罩檢測結果圖對比
本算法的目的是識別出人臉是否戴了口罩,因此直接將識別結果展現出來有利于后續試驗。在該過程中,本文挑選出一些圖像,使用改進前、后的算法分別進行檢測,挑出2組最好的檢測效果圖。第一個是在場景簡單的條件下,對2種算法的檢測結果進行比較,2種方法均能較準確地進行預測,但是改進后的YOLOv5算法在有些檢測框的可信度方面更精確。同時,本文也挑選了一些圖像在場景復雜的條件下進行檢測。雖然這些圖像的場景比較復雜且有些人臉被遮住,但是2種算法的檢測結果均比較準確。進行進一步分析后,改進后的YOLOv5算法檢測結果更準確。改進算法可以正確識別出沒有戴口罩的圖像,原始的YOLOv5算法沒有做到這一點。通過上述試驗,可以得出結論:改進后的YOLOv5算法在網絡結構中引入了2種機制,顯著增強了模型對人臉佩戴口罩特征的提取能力。
4 結論
本文提出的基于注意力機制改進的YOLOv5算法引入了注意力機制,顯著增強了模型對重要特征的關注能力,從而提高了口罩檢測的準確性和效率。試驗結果表明,與傳統目標檢測算法相比,改進后的YOLOv5在口罩佩戴識別任務中具有更好的性能。該成果能夠為公共衛生事件的防控提供有力支持,未來可進一步推廣至其他相關領域。該算法引入了通道注意力和空間注意力機制,特征提取能力更出色。由試驗結果可知,改進后的YOLOv5算法使平均精度均值(mAP)和精確率分別提高了1.3%和1.7%,這一改進使算法能夠更快速地檢測出人臉是否佩戴口罩,在口罩檢測任務中具有更優異的性能。
參考文獻
[1]RUMELHART D E,HINTON G E,WILLIAMS R J.Learning"representations by back-propagating errors[J].Nature,1986,323(6088):533-536.
[2]MOORE P V,WOODCOCK J.Augmented exploitation:Artificial"intelligence,automation,and work[M].London:Pluto Press,2021.
[3]王琳毅,白靜,李文靜,等.YOLO系列目標檢測算法研究進展[J].計算機工程與應用,2023,59(14):15-29.
[4]張靜,農昌瑞,楊智勇.基于卷積神經網絡的目標檢測算法綜述[J].兵器裝備工程學報,2022,43(6):37-47.
[5]李澤琛,李恒超,胡文帥,等.多尺度注意力學習的Faster R-CNN口罩人臉檢測模型[J].西南交通大學學報,2021,56(5):1002-1010.
[6]王琳毅,白靜,李文靜,等.YOLO系列目標檢測算法研究進展[J].計算機工程與應用,2023,59(14):15-29.
通信作者:陶亞明(1998—),男,安徽蕪湖市人,碩士,研究方向為質量管理與工程。
電子郵箱:869236511@qq.com。