何亞平 蘇盈盈 周能揚 張氣皓 閻 壘
(重慶科技學院 電氣工程學院, 重慶 401331)
目標檢測模型能夠識別一幅圖像中的多個目標,并判斷目標的類別和位置。將目標檢測技術應用于安全領域一直是研究者關注的問題。在易燃易爆場所工作時,需要做好防火防爆措施?;鹧鏌熿F行為檢測對保證生產安全和生命安全具有重要的意義。
隨著計算機算力的大幅提升,基于深度學習的目標檢測算法的精度和速度有了明顯提升?;谏疃葘W習的目標檢測算法分為One-Stage和Two-Stage兩大類?;靥斓热颂岢隽艘环N結合Faster R-CNN的多類型火焰檢測方法[1]。 以SSD[2]、YOLO[3]為代表的One-Stage算法速度更快,原因在于該算法能夠在拍攝圖像后直接輸出物體的類別概率和位置坐標等信息。
Yi等人提出了ASSD模型,在SSD模型中插入注意力模塊,通過注意力機制極大地減少了無用信息對檢測結果的影響,提升了目標檢測精度[4]。 趙坤提出了一種基于YOLOv3和KCF的火災煙霧檢測方法,由于KCF出色的跟蹤性,降低了YOLOv3因環境因素突變帶來的干擾,但檢測速度較慢[5]。顏洵等人提出了一種用于檢測火焰和煙霧目標的優化YOLOv4網絡[6]。Fu等人將殘差網絡與SSD相結合,提出了DSSD模型,實現了對小目標的有效檢測,在一定程度上提高了檢測的準確性和速度[7]。
綜上所述,以上算法在檢測速度和精度上仍有提升空間。本次研究以YOLOv5s模型為基礎,構建GSN-YOLOv5s網絡模型,采用網絡參數更小、檢測速度更快的Ghost Bottleneck結構來替換原網絡中的BottleneckCsp結構??紤]到減少網絡參數可能會影響檢測精度,在各網絡層間增加SENet來降低減少參數帶來的影響。通過對比實驗結果表明,該模型大大減少了網絡參數,縮短了檢測時間,提高了檢測精度。
根據YOLOv5模型中殘差組件個數的不同,可將其分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x等4個預訓練模型。不同YOLOv5網絡結構所對應的卷積核和殘差組件個數也不同。隨著殘差組件個數的增加,模型的特征提取能力也相應提高。YOLOv5網絡結構主要由Input、Backbone、Neck、Prediction等4個部分組成,如圖1所示。
圖1 YOLOv5網絡結構
YOLOv5的Neck采樣過程如圖2所示(Backbone的下采樣與Neck類似)。輸入尺寸為6086083的圖片到模型中,首先在主干網絡中對特征信息進行初步提取,形成尺寸為7676、3838、1919等3個有效特征層;然后,Neck對提取到的特征進行上下采樣,將淺層的細節信息和深層的語義信息進行融合,從而使網絡提取到更加豐富的特征信息;最后,通過Prediction預測出位置信息和分類結果。
圖2 YOLOv5的 Neck采樣過程
GhostNet是2020年提出的一種輕量型移動端網絡,使用深度可分離卷積來降低計算參數[8]。
計算深度可分離卷積與普通卷積的比值,如式(1)所示:
(1)
式中:Dk—— 卷積核大??;
DF—— 輸入圖片大??;
M—— 輸入通道數;
N—— 輸出通道數。
Ghost Bottleneck主要由2個堆疊的Ghost模塊組成,如圖3所示。其中,第1個Ghost模塊作為擴展層,用于增加通道數量;第2個Ghost模塊作為縮減層,用于減少通道數量,匹配快捷路徑。在第1個和第2個Ghost模塊的輸入與輸出之間連接快捷方式。在第1個Ghost模塊之后使用批量歸一化(BN)和ReLU激活函數,在第2個Ghost模塊之后使用批量歸一化(BN)。步長為1的Ghost Bottleneck提取特征時,輸入輸出的大小不變;步長為2的Ghost Bottleneck在提取特征的同時,進行下采樣操作。
圖3 Ghost Bottleneck結構
SENet(Squeeze-and-Excitation Networks)是Hu等人[9]在2018年提出的網絡模型,可通過網絡損失學習特征權重。在網絡訓練過程中,有用的共享特征層被賦予更高的權重,無用或者用處小的共享特征層被賦予更低的權重。SENet通過權重大小來判斷每個特征通道的重要程度,并根據這個重要程度提升有用的特征、抑制對當前目標用處不大的特征。
SE模塊結構如圖4所示。給定一個輸入X∈RH′×W′×C′,經過一系列卷積變換為U∈RH×W×C,其中U=[u1,u2,…,uc],表示輸出;V=[v1,v2,…,vc],表示一組濾波器,其中vc表示第c個濾波器的參數;Ftr表示卷積過程。卷積操作公式如式(2)所示:
圖4 SE模塊結構
(2)
式中:*表示卷積;vc=[vc,1,vc,2,…,vc,C′];X=[x1,x2,…,xC′];uc∈RH×W;vc,s為二維空間核,表示vc的單個通道作用于X的對應通道。
(1) Squeeze過程。根據空間維度進行特征壓縮,使每個二維的特征通道成為一個實數,這個實數在一定程度上具有全局感受野,輸出的維度與輸入的特征通道數相匹配。U通過其空間維數H×W壓縮產生的統計量z∈RC,則第c個元素zc如式(3)所示:
(3)
(2) Excitation過程。利用參數w為每個特征通道生成權重,以顯示建模特征通道之間的相關性。采用Sigmoid函數,如式(4)所示:
s=Fex(z,w)=σ(g(z,w))=σ(w2δ(w1z))
(4)
(3) Scale過程。假設輸出為U,則模塊的最終輸出通過激活s實現,如式(5)所示:
(5)
本次研究以模型小、速度快的YOLOv5s為基礎,構建GSN-YOLOv5s網絡模型。采用網絡參數更小、檢測速度更快的Ghost Bottleneck結構來替換原網絡中的BottleneckCsp結構[10]。同時,考慮到減少網絡參數可能會影響檢測精度,在網絡層間增加了SENet,以提高檢測精度、減少網絡參數、縮短檢測時間。
GSN-YOLOv5s網絡模型的Input、Neck和Prediction與YOLOv5網絡模型一致,對YOLOv5s中的Backbone進行修改,得到GSN-YOLOv5s網絡模型結構(見圖5)。Ghost Bottleneck1和Ghost Bottleneck2分別表示步長為1和2的Ghost Bottleneck。采用Ghost Bottleneck和SENet替換原網絡中的CBL和BottleneckCsp1,以提高檢測精度、減少網絡參數、縮短檢測時間。
圖5 GSN-YOLOv5s網絡模型結構
本次研究使用精確度(precision)、召回率(recall)、精度均值(average precision,AP)、平均精度均值(mAP)對GSN-YOLOv5s網絡模型性能進行評價。
精確度、召回率的計算如式(6)、式(7)所示:
(6)
(7)
式中:ntp表示識別成功且類別正確的圖片數量;nfp表示識別成功且類別錯誤的圖片數量;nfn表示識別失敗且類別錯誤的圖片數量。
精度均值、平均精度均值的計算如式(8)、式(9)所示:
(8)
(9)
式中:PA表示精度均值;PMA表示平均精度均值;N表示圖片數量;P(i)表示識別出i個圖片的精確度;Δr(i)表示識別的圖片個數由i-1增加到i時召回率的變化;C表示類別數。
3.2.1 數據集來源
為了提高模型的泛化能力,采用Mosaic數據增強方法對收集整理的煙霧火焰圖片進行數據擴增,建立了一個包含1.4×104張圖片的數據集。利用Labelimg軟件對圖片進行標注,并將數據集按照8 ∶1 ∶1的比例劃分為訓練集、測試集、驗證集。
3.2.2 實驗平臺及訓練流程
本次實驗在GPU平臺上進行模型的訓練和測試工作。操作系統為Win10 64位,CPU為AMD Ryzen 5 3600 6核 3.6 GHz,顯卡為NVIDIA 2060 super 8 GiB,內存為32 GiB,硬盤為SSD 500 GiB,代碼語言為Python3.6,深度學習框架為Torch1.5、CUDA10.1。
為了讓模型在訓練過程中快速收斂并充分學習到特征信息,避免由于過擬合造成的泛化能力不足現象,采取以下策略對模型進行訓練。首先,使用混合精度訓練,使運算速度更快、硬件效率更高;其次,設初始學習率為0.000 01,動量為0.937,輪次為300;最后,使用L2正則化對權重進行衰減處理,衰減系數為0.000 5。
分別對訓練后的YOLOv5s、GSN-YOLOv5s網絡模型進行圖片測試,對置信度、檢測時間、檢測精度等指標進行對比分析。
3.3.1 置信度對比分析
從測試集中隨機抽取3張圖片,分別對YOLOv5s、GSN-YOLOv5s網絡模型進行測試,測試效果對比圖如圖6所示。圖6a中,GSN-YOLOv5s檢測到的火焰置信度高于YOLOv5s;圖6b、圖6c中,GSN-YOLOv5s和YOLOv5s檢測到的火焰煙霧置信度差距不大,但GSN-YOLOv5s檢測到的火焰框比YOLOv5s多。由此可見,GSN-YOLOv5s檢測到的目標更多、置信度更高。
圖6 測試效果對比圖
3.3.2 檢測時間對比分析
由檢測時間對比結果(見表1)可知,GSN-YOLOv5s的檢測時間比YOLOv5s快約20%。
表1 檢測時間對比結果
3.3.3 檢測精度對比分析
由檢測精度對比結果(見表2)可知,GSN-YOLOv5s的平均精度均值比YOLOv5s高2.4%。
表2 檢測精度對比結果
本次研究基于YOLOv5s網絡模型,設計了一種GSN-YOLOv5s火焰煙霧檢測方法。將YOLOv5s的主干替換為輕量化的Ghostnet網絡,并在各網絡層間增加SENet來降低減少參數帶來的影響。通過對比實驗結果可知,GSN-YOLOv5s的平均精度均值比YOLOv5s高2.4%,檢測時間比YOLOv5s快20%。GSN-YOLOv5s網絡模型大大減少了網絡參數,縮短了檢測時間,提高了檢測精度。