李志華 王連賀 王超 劉春雷 張元彪








關(guān)鍵詞:目標(biāo)檢測;煙霧檢測;YOLOv5;注意力機制;ACON激活函數(shù)
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2023)08-0001-04
0 引言
由于采用傳統(tǒng)的煙霧報警或檢測手段的煙霧探測器裝置只能在靠近排放源的地方識別煙霧的存在,并且受各種天氣環(huán)境影響,其感受到的溫度、濕度及顆粒密度都會影響檢測效果[1]。由于設(shè)備的探測范圍的局限性,一些戶外場所的地理屬性導(dǎo)致無法大范圍鋪設(shè)傳統(tǒng)的探測設(shè)備,它們?nèi)狈z測局部煙霧的能力。
2018年,Yanmin Luo等人[2]在文獻(xiàn)中提出一種基于背景動態(tài)更新和暗通道先驗的運動目標(biāo)檢測算法,檢測疑似煙霧區(qū)域。然后,通過CNN自動提取疑似區(qū)域的特征,進(jìn)行煙霧識別。但該模型算法泛化程度較差,對于煙霧特性分析不足,且運算過程中容易造成特征丟失。2020年,Sergio Saponara等人[3]提出了一種利用YOLOv2卷積神經(jīng)網(wǎng)絡(luò)(CNN)在防火系統(tǒng)中進(jìn)行實時視頻火災(zāi)和煙霧檢測的方法,并采用輕量級神經(jīng)網(wǎng)絡(luò)架構(gòu)設(shè)計,以兼顧嵌入式平臺的需求,但模型滿足輕量化設(shè)計的同時并沒有很好的兼顧精準(zhǔn)度。
目前,基于深度學(xué)習(xí)的火焰煙霧的檢測與識別普遍存在著精度不足,提取特征丟失,檢測效率過慢,成本過高或者模型泛化程度不夠等問題。在工業(yè)化程度大幅增長,生活場景復(fù)雜和監(jiān)控來源較多的時代背景下,為解決上述問題,本文提出了一種基于YOLOv5的融合注意力機制(CBAM)的煙火檢測算法,滿足安全生產(chǎn),精準(zhǔn)防控的目的。
1 算法原理
1.1 YOLOv5結(jié)構(gòu)
在YOLOv5的四個模型中,YOLOv5s具有參數(shù)量較少、版本兼容性高、處理速度快等優(yōu)點,因此本次實驗是在YOLOv5s結(jié)構(gòu)的基礎(chǔ)上進(jìn)行改進(jìn),其原本的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.2 注意力機制
注意力機制的原理是利用計算機模擬人類在接收視覺信號時的處理過程,當(dāng)人類掃描接收全部視覺信號時,會把自身的注意力放在重要的部分獲取更多細(xì)節(jié)信息,從而提高任務(wù)效率。注意力機制基于此,將一些重要信息進(jìn)行加權(quán)抽象出重要的特征信息。注意力機制的本質(zhì)就是進(jìn)行篩選,通過注意力機制的處理將信息進(jìn)行區(qū)分,符合任務(wù)條件的特征會被優(yōu)先處理,從而快速精準(zhǔn)地檢測目標(biāo)。
本次實驗使用的是CBAM(Convolutional Block At?tention Module) ,在通道和空間雙維度進(jìn)行Atten?tion[4]。通道注意力(CAM) 結(jié)構(gòu)如圖2所示:
在通道注意力中圖像擁有三種屬性:長、寬和通道數(shù)。其原理是保持通道維度不變,壓縮空間維度,具體操作是首先讓特征圖分別經(jīng)過Max Pooling(最大池化)與Average Pooling(平均池化)進(jìn)行處理,處理后的特征圖的長和寬尺寸為1通道數(shù)則不變,然后接入第一層神經(jīng)網(wǎng)絡(luò)壓縮通道,壓縮后再接入第二層神經(jīng)網(wǎng)絡(luò)進(jìn)行通道擴張得到兩個經(jīng)激活后的結(jié)果。而后,將輸出的特征C1和C2相加求和,再經(jīng)過sigmoid激活函數(shù)激活后,與原始尺寸圖像相乘,完成注意力操作。
空間注意力(SAM) 結(jié)構(gòu)如圖3所示:
空間注意力其原理是保持空間維度不變,壓縮通道數(shù),來獲取關(guān)鍵目標(biāo)的位置信息。具體操作是給定一個尺寸的特征圖,我們先分別進(jìn)行一個通道維度的平均池化和最大池化,長和寬的尺度不變將通道數(shù)壓縮為1,并將這兩個信息按照通道拼接在一起。再通過卷積操作將通道數(shù)重新壓縮為1,通過sigmoid函數(shù)進(jìn)行激活后,乘以最開始的特征圖,完成空間注意力操作。
2 設(shè)計方案
2.1 方案流程圖
如圖4所示,首先輸入捕捉到的視頻或圖像,然后對攝像頭捕捉的畫面進(jìn)行一個是否失焦的判斷,由于對失焦的圖像進(jìn)行識別意義不大而且失焦的圖片容易造成識別錯誤,濃煙與環(huán)境背景像素的灰度值往往相差較高,對焦準(zhǔn)確清晰的圖片內(nèi),物體與物體輪廓明顯,顏色像素差較大,而失焦圖片由于圖像模糊,所以像素值之間的變化很小,可利用這一特點設(shè)立閾值判斷圖像是否失焦。若圖像失焦則跳轉(zhuǎn)下一張圖片,若未失焦則輸入改進(jìn)的YOLOv5算法模型中,判斷圖像是否存在煙霧區(qū)域,若不存在則跳轉(zhuǎn)下一張,若存在則框出圖像中煙霧區(qū)域,結(jié)束本次程序。
2.2 數(shù)據(jù)集介紹
2.2.1 數(shù)據(jù)集來源
CVPR Lab ——KMU Fire and Smoke database(https://cvpr.kmu.ac.kr/)
Fire Image Data Set ——Durham University(https://collections. durham. ac. uk/files/r2d217qp536#.X5F5G2gzZnK)
江西財經(jīng)大學(xué)袁非牛教授(http://staff.ustc.edu.cn/~yfn/vsd.html)
利用Python等爬蟲工具在網(wǎng)上下載各種火災(zāi)煙霧視頻及圖片
3 改進(jìn)模型
3.1 空間+通道雙注意力機制
為了能夠更好的對檢測目標(biāo)投入更多的資源,本次實驗在YOLOv5原有的網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上添加CBAM 機制。在YOLOv5主干道網(wǎng)絡(luò)(backbone) 后依次加入通道、空間注意力模塊,將卷積核設(shè)為7×7,步長設(shè)為3,在特征圖通過進(jìn)入瓶頸層前,將會得到注意力機制處理過的特征圖,這樣在火災(zāi)煙霧識別的過程中會提高目標(biāo)的識別精度。插入結(jié)構(gòu)如圖5所示。
3.2 ACON 激活函數(shù)(Activate Or Not , ACON)
ReLU激活函數(shù)在深度學(xué)習(xí)中有著廣泛的應(yīng)用,由于其非飽和、稀疏性等優(yōu)秀的特性在構(gòu)建稀疏性的神經(jīng)網(wǎng)絡(luò)矩陣時十分方便,但是它也同樣會造成神經(jīng)元權(quán)重不更新從而導(dǎo)致神經(jīng)元壞死。而Leaky ReLU 也存著在函數(shù)負(fù)半軸收斂速度過慢,函數(shù)在零點位置不平滑的問題?;贚eaky ReLU函數(shù)的特性提出了一種與Leaky ReLU相似的ACON family 激活函數(shù)[5]。本次算法改進(jìn)是將CSP1_X 及CBL 結(jié)構(gòu)中原有的Leaky ReLU激活函數(shù)替換成ACON激活函數(shù)。
如圖6所示,ACON函數(shù)明確了線性和非線性參數(shù)的切換,從而決定了神經(jīng)元是否激活。ACON fam?ily 激活函數(shù)分為三大類型:ACON-A、ACON-B、ACON-C。其公式如下:
其中ACON-A,ACON-B 是ReLU 函數(shù)和Leaky_ReLU的平滑近似,σ為S型函數(shù),參數(shù)β為轉(zhuǎn)換因子,p 為一個可學(xué)習(xí)的參數(shù),一般設(shè)小于1。
如圖7所示,ACON函數(shù)族曲線相較ReLU函數(shù)族更加平滑,在其曲線上任意一點連續(xù)可微的同時,也保留了ReLU函數(shù)族在正負(fù)半軸的梯度特點。
如圖8所示,ACON-C的一階導(dǎo)數(shù)的上下邊界范圍也是通過P 和P 兩個參數(shù)來調(diào)整決定的,通過學(xué)習(xí)P 和P 的邊界范圍,就可以獲得性能更好的激活函數(shù)。參數(shù)β控制激活函數(shù)的線性/非線性,這種特定的激活有助于提高泛化和傳遞性能。
4 實驗結(jié)果對比
4.1 實驗環(huán)境及說明
本次實驗在PyTorch深度學(xué)習(xí)框架下進(jìn)行,服務(wù)器參數(shù)為CPU:Intel(R) Xeon(R) CPU E5-2609 v4 @1.70GHz,架構(gòu)為:x86_64 GPU:12GB 顯存的NVIDIATesla P100。在訓(xùn)練過程中使用隨機剪裁、水平翻轉(zhuǎn)等方式增強數(shù)據(jù)集,初始學(xué)習(xí)率為0.0001,輸入圖像尺寸統(tǒng)一設(shè)置為640×640,置信度設(shè)為0.7。
4.2 實驗結(jié)果對比
本次實驗在迭代300輪次的實驗環(huán)境下將三種算法模型YOLOv4、YOLOv5s、SSD和增加了CBAM注意力機制而未改變激活函數(shù)的CBAM-YOLOv5s模型與本文改進(jìn)的YOLOv5算法結(jié)果進(jìn)行對比,對比指標(biāo)有mAP、精準(zhǔn)率、召回率、處理速度(幀數(shù)),對比結(jié)果如下表。
經(jīng)兩次數(shù)據(jù)集實驗對比,同時增加了CBAM 和ACON激活函數(shù)的模型在性能上明顯優(yōu)于其他四種。而改進(jìn)過的算法模型由于其增加了CBAM注意力機制,原本的激活函數(shù)替換成了ACON激活函數(shù),在不同數(shù)據(jù)集上mAP、精準(zhǔn)度和召回率對比其他模型均有所提高,而處理速度分別僅下降了2.5%、3%,這是完全可以接受的。由此可見,本文提出的算法模型整體上優(yōu)于其他三種模型。
4.3 實驗檢測效果圖
如圖9所示,(1) (2) 為白色煙霧;(3) (5) 為黑色煙霧;(4) 則為無煙圖像;(6) 為電車起火瞬間;(7) 為系統(tǒng)判定失焦圖像。經(jīng)檢驗,模型能夠很好地檢測出火災(zāi)煙霧位置,及時發(fā)出警報,從而減少火災(zāi)所造成的損失。
5結(jié)論
本次實驗是針對現(xiàn)有的火災(zāi)煙霧檢測算法精度不足、誤檢率高以及在不同數(shù)據(jù)集上效果差距大等問題進(jìn)行改進(jìn)。本文采用YOLOv5算法融合CBAM注意力機制提高檢測精度的同時,將激活函數(shù)替換成ACON函數(shù),提高了模型的抗過擬合能力。在不同數(shù)據(jù)集測試后,精準(zhǔn)度與召回率均優(yōu)于其他對比模型。在實際應(yīng)用中,受光線、環(huán)境和天氣等因素影響,攝像裝置在采集圖像信息時,可能會發(fā)生煙霧信息采集不全、圖像亮度過低的情況,導(dǎo)致煙霧檢測效果不佳。本次實驗所用的改進(jìn)的算法模型雖然在精準(zhǔn)度與召回率上相比其他模型算法均有所提升,但檢測速度略微降低。下一步工作將針對攝像頭檢測條件不佳時的煙霧檢測,以及在檢測精度提高的情況下如何提高檢測速度兩方面進(jìn)行更深入的研究。