王 斌,李 靖,趙 康,周 溫
1.中北大學(xué) 大數(shù)據(jù)學(xué)院,太原 030051
2.山西新思備科技股份有限公司,山西 晉中 030600
火災(zāi)一直在危害人類生命及財產(chǎn)安全?;趥鞲衅鞯膫鹘y(tǒng)火焰探測技術(shù),例如感溫、感煙和感光傳感器等都需要通過敏感原件檢測火焰燃燒過程中溫度、煙霧顆粒和光照強度等物理參量。然而無論是哪種參量都需要一定時間積累,所以傳統(tǒng)傳感器火焰檢測在火藥制品等快速爆發(fā)、蔓延極快的應(yīng)用環(huán)境受到較大挑戰(zhàn)?;谝曈X的火焰檢測受距離限制較小、覆蓋范圍廣、響應(yīng)速度快,因此對視覺火焰極速探測的研究迫切且意義深遠[1-2]。
傳統(tǒng)基于計算機視覺的火焰檢測技術(shù)依賴于手工特征,例如對火焰顏色[3-4]、紋理[5]等特征進行提取。Wang 等[6]提出一種RGB-HIS 顏色模型,用于室內(nèi)環(huán)境提取圖像的火焰區(qū)域。另外,火焰在時間上的質(zhì)心運動也可以作為加強判斷依據(jù)。Xie等[7]提出一種視頻火焰探測方法,融合了火焰隨時間變化的閃爍特征與單張圖像深層靜態(tài)特征。Huang 等[8]對分幀圖像序列進行去噪、濾波,提取可疑火焰區(qū)域的靜態(tài)特征和動態(tài)特征,隨后基于改進支持向量機利用融合特征進行分類。然而現(xiàn)實中火災(zāi)類型和場景復(fù)雜,不確定因素眾多,依賴于人工算法提取特征泛化性不強。
近年來,基于深度神經(jīng)網(wǎng)絡(luò)強大的非線性表示能力及自動特征提取性質(zhì),深度學(xué)習(xí)在多個行業(yè)、領(lǐng)域的應(yīng)用取得突破性進展[9-11]。基于深度學(xué)習(xí)的火焰檢測可分為基于圖像分類網(wǎng)絡(luò)的識別方法和基于目標檢測網(wǎng)絡(luò)的定位方法。在分類任務(wù)中只需辨別場景中是否有火焰存在,故火焰檢測常被判別為二分類問題。多位研究者用MobileNet[12]、DenseNet[13]、Inception[14]、VGG16和Resnet50[15]等作為基礎(chǔ)網(wǎng)絡(luò)來訓(xùn)練火焰數(shù)據(jù)集。這些方法在速度和準確率方面都達到了一個較好水平,但其無法定位火焰的確切位置,通過目標檢測方法可以很好地解決這一問題。
目前,目標檢測方法可大致被分為兩階段和單階段目標檢測方法。其中兩階段目標檢測代表性方法是Faster-RCNN,盡管其在火焰檢測準確率上取得不錯效果,但是時間消耗較大[16]。Li 等[17]對Faster-RCNN、RFCN、SSD和YOLOv3上進行火焰檢測性能對比,并得出結(jié)論YOLOv3是當時火焰檢測性能最佳選擇。Sun等[18]提出雙網(wǎng)絡(luò)來解決燈光等類火目標對火焰檢測的干擾,待檢測圖像先經(jīng)過YOLOv3中對類火目標進行檢測,將類火目標掩膜后送入Inceptionv4網(wǎng)絡(luò)中進行分類預(yù)測。Muhammad等[19]提出一種特征圖選擇算法,可以從訓(xùn)練過程中智能地選擇對火敏感的特征圖。為了進一步提升檢測速度,更加輕量化YOLO系列目標檢測網(wǎng)絡(luò)[20]受到研究者們的青睞。Shen 等[21]提出一種輕量化網(wǎng)絡(luò)模型LFnet用來進行煙火檢測,該模型不僅對多尺度特征進行融合,還加入通道注意力機制以增強模型抗干擾能力。
為了提高火焰檢測及定位精度,目前現(xiàn)有基于深度學(xué)習(xí)的火焰檢測算法通常依賴于大型卷積神經(jīng)網(wǎng)絡(luò),這往往導(dǎo)致參數(shù)量過多及檢測時間慢等問題[22-24],難以滿足火焰極速檢測實時性需求。另外,火焰檢測過程往往會遇到光照(陽光、燈光直射及反射等)、太陽、晚霞等類火目標造成的干擾。
針對這些問題,本文提出一種輕量級卷積神經(jīng)網(wǎng)絡(luò)的魯棒火焰檢測網(wǎng)絡(luò)。首先,通過Mosaic 數(shù)據(jù)增強方式建立火焰極速檢測多樣化場景數(shù)據(jù)集,其中包括了常見干擾因素,如多種條件下反射光、太陽、路燈等場景;然后,為進一步輕量化YOLOv4-tiny 目標檢測網(wǎng)絡(luò),本文選用深度可分離卷積替換YOLOv4-tiny 主干網(wǎng)絡(luò)的普通卷積,大大降低模型參數(shù)量;其次,融合了特征提取網(wǎng)絡(luò)多尺度特征形成四檢測頭網(wǎng)絡(luò),適應(yīng)多種尺度火焰目標檢測可有效避免火苗蔓延造成的誤檢、漏檢;最后,在特征融合網(wǎng)絡(luò)FPN中引入ECA通道注意力機制有效提升火焰檢測精度。
YOLOv4-tiny是近年來輕量化目標檢測網(wǎng)絡(luò)典型代表,其參數(shù)量大約只有600 萬,相當于YOLOv4 的1/10。YOLOv4-tiny主干特征提取網(wǎng)絡(luò)采用CSPDarknet53-tiny,它包含15個卷積層。為緩解網(wǎng)絡(luò)模型退化問題,YOLOv4-tiny加入了3個殘差單元[25],激活函數(shù)采用LeakyReLU。為了得到更多語義信息,YOLOv4-tiny使用特征金字塔網(wǎng)絡(luò)FPN提取并融合不同尺度特征。另外,YOLOv4-tiny輸出兩個檢測頭可分別用于預(yù)測不同尺度下目標。
YOLOv4-tiny 在檢測精度和反應(yīng)速度上均取得了不錯效果,本文將結(jié)合火焰極速檢測中存在問題提出魯棒性輕量化檢測網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv4-tiny-L3/L4網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 YOLOv4-tiny-L3/L4 network structure diagram
首先為進一步減少模型參數(shù)及計算量,提出的模型通過深度可分離卷積(ConvDW)代替普通卷積進一步實現(xiàn)模型輕量化。
然后通過ConDW+BN+LeakyRelu模塊實現(xiàn)特征提取,其中BN 層可加速網(wǎng)絡(luò)收斂,有效控制梯度爆炸和梯度消失。同時改進的網(wǎng)絡(luò)結(jié)構(gòu)中包含3個殘差模塊,每個殘差模塊由ConDW+BN+LeakyRelu 模塊和1 個MaxPooling塊構(gòu)成。
YOLOv4-tiny 在合并有效特征層時使用了特征金字塔(FPN)網(wǎng)絡(luò),然而其結(jié)構(gòu)過于簡單;而且不同尺度特征融合策略也比較單一,僅有一次上采樣后特征層堆疊。為擴大YOLOv4-tiny 的網(wǎng)絡(luò)感受野并實現(xiàn)特征增強,本文融合4個特征層信息并且在多尺度融合過程中插入ECA通道注意力模塊實現(xiàn)精度提升。
考慮到火焰尺度往往會隨時間發(fā)生變化,尤其是某些火焰極易爆發(fā)的場景(如黑火藥火焰),本文提取4個檢測頭用于實現(xiàn)不同尺度下火焰檢測任務(wù)。
深度可分離卷積是將一個完整普通卷積分解為逐通道卷積(depthwise convolution)和逐點卷積(pointwise convolution)兩部分用于完成特征提取,極大降低了參數(shù)量和運算成本[26],如圖2所示。
圖2 普通卷積和深度可分離卷積的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Network structure diagram of ordinary convolution and deep separable convolution
DW 卷積首先將多通道特征圖拆分為單通道特征圖,并分別對其進行單通道卷積操作,然后重新堆疊到一起。DW 卷積完成后特征圖數(shù)量與輸入層通道數(shù)相同,只是對特征圖尺寸方面可能有所調(diào)整。DW卷積中輸入層各通道獨立進行卷積運算,沒有有效利用不同通道在相同空間位置上的特征信息。PW卷積的主要任務(wù)便是融合通道信息并實現(xiàn)特征圖擴展。PW卷積與常規(guī)卷積運算非常相似,只是它采取的卷積核均為1×1 大小,濾波器包含了與上一層通道數(shù)一樣數(shù)量的卷積核。一個濾波器輸出一張?zhí)卣鲌D,因此多個通道,則需要多個濾波器。
為加強特征提取質(zhì)量,YOLOv4-tiny-L3/L4 網(wǎng)絡(luò)引入ECA 通道注意力模塊[27]。它針對SE(squeeze-andexcitation)模塊做出改進[28],提出了一種不降維局部跨信道交互策略和自適應(yīng)選擇一維卷積核大小的方法,并且一維卷積核大小可以通過學(xué)習(xí)得到,以極少參數(shù)量顯著提升特征提取質(zhì)量。其模塊圖如圖3所示。
圖3 中X為輸入特征圖,X~ 為加權(quán)之后輸出特征圖。H、W、C為特征圖高,寬和通道維數(shù)。GAP(global average pooling)為全局平均池化操作,K為一維卷積核大小,為避免手動調(diào)優(yōu)的不確定性,K采用公式(1)自適應(yīng)調(diào)整。σ為sigmoid激活函數(shù)。
圖3 ECA通道注意力模塊Fig.3 ECA channel attention module
其中|x|odd為最接近x的奇數(shù)。
另外,火焰爆發(fā)前期均為火苗、火星等小目標,然后逐步發(fā)展為大面積火焰,這要求檢測網(wǎng)絡(luò)對不同尺度火焰目標有較強敏感度。由于卷積過程中淺層特征包含更多位置信息,為增強原YOLOv4-tiny(輸入為416×416×3)對于小目標敏感程度,在原有兩層特征金字塔(13×13、26×26)基礎(chǔ)上又增加兩層淺層特征(52×52、104×104)用于檢測頭預(yù)測。多尺度特征融合及檢測頭預(yù)測一方面可提升目標檢測精度;另一方面能有效降低不同尺度下火焰誤檢、漏檢。
本文將數(shù)據(jù)集圖像分為訓(xùn)練集、測試集和驗證集,共11 037張。其中8 939張圖像用于作訓(xùn)練集,994張圖像用于作驗證集,1 104 張圖像作測試集。本文數(shù)據(jù)集主要從三方渠道獲取,一部分為網(wǎng)絡(luò)資源獲取,一部分為自行采集的火藥燃燒數(shù)據(jù)集,其余為文獻[9]和文獻[13]提供的火焰圖片。在制作數(shù)據(jù)集方面首先將自行采集的視頻數(shù)據(jù)集分幀操作,形成視頻幀圖像和火焰圖像混合數(shù)據(jù)集,然后將圖像進行數(shù)據(jù)增強,包含旋轉(zhuǎn)、翻轉(zhuǎn)、顏色增強、隨機顏色、對比度增強、亮度增強和Mosaic數(shù)據(jù)增強,增強后數(shù)據(jù)集共11 037張圖像。其中Mosaic數(shù)據(jù)增強方法是將4張圖像先進行簡單矩陣變換,例如旋轉(zhuǎn)、色域變化、縮放等,然后再進行裁剪拼接形成四宮格圖像。通過這種方式極大豐富了檢測物體背景,并且在batch normalization 計算時會同時考慮4 張圖片數(shù)據(jù),提高了訓(xùn)練效率。數(shù)據(jù)增強示例如圖4所示。
圖4 數(shù)據(jù)增強示例效果Fig.4 Data enhancement example
為進一步驗證算法魯棒性,本文利用類火目標通過Mosaic 數(shù)據(jù)增強方式制作干擾數(shù)據(jù)集用于訓(xùn)練和測試模型。其中部分類火目標圖片來自于文獻[9],真實火焰目標圖像則來主要自于本文采集火焰視頻數(shù)據(jù)集分幀后的圖像,由此形成1 000 張干擾圖像。干擾集圖像制作過程如圖5所示。
圖5 基于Mosaic數(shù)據(jù)增強的魯棒數(shù)據(jù)集Fig.5 Robust data set based on Mosaic data enhancement
對于有錨框(anchor)的目標檢測算法來說,需要預(yù)先設(shè)定錨框大小比例。本文采用基于改進YOLOv4-tiny 輕量化目標檢測算法,將圖片分別劃分為13×13、26×26、52×52、104×104 大小的網(wǎng)格。對于自建數(shù)據(jù)集以及經(jīng)過數(shù)據(jù)標注后的真實目標框,本文通過K-means算法對標注后真實目標框進行長寬比聚類計算[29],得出12 個尺寸的先驗框大小。實踐表明經(jīng)過K-means 聚類后得出的先驗框更加符合火焰真實大小,能夠加快模型收斂速度,同時可有效提升檢測精度。
在訓(xùn)練過程中,隨機梯度下降法很可能陷入局部最優(yōu)解,從而使得訓(xùn)練效果不理想。本文采用余弦退火(cosine annealing)算法通過衰減學(xué)習(xí)率可有效解決這一問題。余弦退火算法主要通過熱重啟(warm restart)突然增加學(xué)習(xí)率,以此來跳出局部最優(yōu)解[30]。采用余弦退火算法學(xué)習(xí)率更新方式如下所示:
其中,lrnew表示新學(xué)習(xí)率,etamin為最小學(xué)習(xí)率,lrinitial為初始學(xué)習(xí)率,Tmax表示余弦周期的1/2。
本文訓(xùn)練參數(shù)Tmax=5,etamin=0.000 05,權(quán)重衰減正則項為0.000 5,學(xué)習(xí)率為0.001,迭代次數(shù)epoch=500,選取loss最低權(quán)重作為最后預(yù)測權(quán)重。
本文所使用評價指標包括準確率(precision,P)、平均準確率(average precision,AP)、多類別AP 平均值(mean AP,mAP)、召回率(recall,R)、基于準確率與召回率綜合評價指標(F1-score,F(xiàn)1)、模型復(fù)雜度評價標準為參數(shù)量大?。∕Byte,MB)和每秒浮點運算次數(shù)(floating-point operations per second,F(xiàn)LOPs)。計算公式如下:其中,TP代表正確預(yù)測正樣本數(shù)量,F(xiàn)P表示錯誤預(yù)測正樣本數(shù)量,F(xiàn)N表示錯誤預(yù)測負樣本的數(shù)量,Spr表示不同置信度下precision-recall 曲線下面積,表示多類別AP平均值。
實驗對比方法包括YOLOv4-tiny、Efficientnet 作為主干網(wǎng)絡(luò)目標檢測方法EfficientDet[31]、Mobilenet 替換SSD 原先主干網(wǎng)絡(luò)而形成的Mobilenet-SSD,以及本文改進YOLOv4-tiny 之后形成三層探測頭方法YOLOv4-tiny-L3(13×13,26×26,52×52)和四層探測頭方法YOLOv4-tiny-L4(13×13,26×26,52×52,104×104)。
3.4.1 模型復(fù)雜度對比實驗
各種方法參數(shù)量和計算量如表1 所示,改進后YOLOv4-tiny 由于在骨干網(wǎng)絡(luò)使用深度可分離卷積代替普通3×3卷積,其參數(shù)量和計算量大幅降低。雖然計算量略多于MobileNet-SSD,但是在參數(shù)量方面本文改進后方法優(yōu)于其余輕量化目標檢測算法。
表1 各種方法參數(shù)量和計算量對比Table 1 Comparison of parameters and calculation amount of each method
3.4.2 消融和對比實驗
為驗證提出算法有效性,本文對輕量化火焰檢測模型做了消融實驗,并在包含1 104 張圖像測試集上進行性能測試。各種方法關(guān)于測試集性能如表2所示,其中YOLOv4-tiny-L3(no-ECA)是在原YOLOv4-tiny基礎(chǔ)上使用深度可分離卷積并且在FPN 網(wǎng)絡(luò)增加了52×52 有效特征層。同理,YOLOv4-tiny-L4(no-ECA)是在YOLOv4-tiny-L3(no-ECA)基礎(chǔ)上在特征融合層FPN增加104×104 特征層。而YOLOv4-tiny-L3(ECA)和YOLOv4-tiny-L4(ECA)是將上述兩種方法分別加入ECA 通道注意力模塊。YOLOv4-tiny(ECA)是直接將原YOLOv4-tiny加入ECA通道注意力模塊。
表2 各方法指標性能對比Table 2 Index performance comparison of each method
通過表2 分析可得,增加有效特征層后,三層有效特征層方法YOLOv4-tiny-L3(no-ECA)在mAP和Precision上有提升,但在F1和Recall上有小幅下降。而加入第四層有效特征層YOLOv4-tiny-L4(no-ECA)后,各項數(shù)據(jù)均有提升。該實驗可說明FPN增加特征層(13×13和104×104)的有效性,多尺度檢測頭有利于模型實現(xiàn)不同尺度目標檢測,進而促進模型準確率、召回率等性能指標提升。
對于ECA 通道注意力模塊來說,YOLOv4-tiny-L4(no-ECA)增加ECA通道注意力模塊后指標上有少量提升,YOLOv4-tiny-L3(no-ECA)則有升有降。此外,表格前兩行對EfficientDet和Mobilenet-SSD同樣在測試集做了對比測試。通過上述分析可證明ECA通道注意力模塊的有效性。注意力機制可助模型通過特征權(quán)重重分配實現(xiàn)有效特征提取,進而有效提升模型主要性能指標。
不僅如此,通過深度可分離卷積的改進可使得模型更加輕量化。這意味著提出模型參數(shù)量僅為原YOLOv4-tiny的18%,但在火焰目標檢測方面卻實現(xiàn)了更優(yōu)性能。
為進一步驗證mosaic數(shù)據(jù)增強有效性,本文采用不同數(shù)據(jù)集對模型進行訓(xùn)練和測試。具體地,分別通過增強前/后數(shù)據(jù)集對三種關(guān)鍵模型進行訓(xùn)練,然后統(tǒng)一根據(jù)增強后數(shù)據(jù)集進行測試,結(jié)果如表3所示。
表3 各方法關(guān)于不同數(shù)據(jù)集指標性能對比Table 3 Index performance comparison of each method on different data sets
通過實驗數(shù)據(jù)不難發(fā)現(xiàn)通過Mosaic 數(shù)據(jù)增強的YOLOv4-tiny、YOLOv4-tiny-L3 以及YOLOv4-tiny-L4等目標檢測模型在準確率、召回率、mAP、F1 等指標方面整體上均有所提升。
實驗結(jié)果表明在訓(xùn)練和推理代價保持不變情況下,Mosaic數(shù)據(jù)增強可通過豐富圖片背景增加數(shù)據(jù)多樣性,進而實現(xiàn)增強模型精確率及魯棒性等目的。
為進一步驗證ECA 注意力機制有效性,本文驗證了不同注意力機制對模型YOLOv4-tiny-L4 效果的影響,具體如表4所示。
表4 不同注意力機制對模型YOLOv4-tiny-L4的性能影響Table 4 Effects of different attention mechanisms on YOLOv4-tiny-L4
通過實驗數(shù)據(jù)分析可知ECA注意力機制在性能方面要優(yōu)于SE、CBAM[32]、SAM 和scSE[33]等空間、通道及空間通道混合注意力模塊,它們在注意力權(quán)重分配過程中大都使用數(shù)據(jù)降維手段以減少模型訓(xùn)練過程中計算量。ECA則實現(xiàn)了通道不降維情況下通道權(quán)重的調(diào)節(jié),并通過自適應(yīng)交叉通道學(xué)習(xí)提升性能收益。實驗結(jié)果表明ECA 有效避免了通道降維對模型性能的影響,局部交叉通道學(xué)習(xí)機制也對模型性能提升產(chǎn)生了一定促進作用。
3.4.3 檢測時間對比實驗
為了驗證火焰檢測網(wǎng)絡(luò)模型實時性,本文分別對五種方法進行了檢測時間對比。算法所采取運行環(huán)境為筆記本電腦(CPU-i5-8250U),記為M1;谷歌云服務(wù)器colab(GPU-Tesla K80),記為M2。算法均以干擾集圖像做檢測并求取檢測時間平均值,實驗數(shù)據(jù)如表5 所示。不難得出,在CPU 環(huán)境下MobileNet-SSD 檢測速度最快,但與本文提出算法相差并不是很大,尤其是YOLOv4-tiny-L3(ECA);在GPU環(huán)境下本文提出YOLOv4-tiny-L3(ECA)和YOLOv4-tiny-L4(ECA)網(wǎng)絡(luò)均優(yōu)于其他方法。
表5 各方法檢測時間性能對比Table 5 Comparison of detection time of each method
本文首先建立火焰檢測魯棒性數(shù)據(jù)集,然后使用深度可分離卷積改進YOLOv4-tiny主干網(wǎng)絡(luò)結(jié)構(gòu),增加有效特征層并引入ECA 注意力機制,最后實現(xiàn)多尺度火焰檢測頭用于完成不同尺度下火焰目標檢測。改進后YOLOv4-tiny 參數(shù)量僅為原模型的18%,然而檢測性能卻得到較大幅度提升,其中YOLOv4-tiny-L3 和YOLOv4-tiny-L4 在魯棒火焰檢測數(shù)據(jù)集上mAP 和F1分別達到87.73%、90.69%和81%、85%。接下來將致力于在輕量化、準確性和實時性等方面進一步提升火焰檢測性能。