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