摘 要: 針對火災(zāi)檢測算法檢測多尺度火焰和煙霧精度低,且實(shí)時(shí)性差的問題,提出了一種基于Transformer改進(jìn)YOLO v4的火災(zāi)檢測方法。首先,結(jié)合MHSA(Multi-Head Self-Attention)改進(jìn)了CSPDarknet53主干網(wǎng)絡(luò),建模全局依賴關(guān)系以充分利用上下文信息。此外,基于MHSA改進(jìn)了PANet模塊進(jìn)行多尺度特征圖融合,獲取更多的細(xì)節(jié)特征。為驗(yàn)證改進(jìn)方法的有效性,與YOLO v4、YOLO v3等算法進(jìn)行比較。實(shí)驗(yàn)證明,不僅能夠檢測多尺度目標(biāo),且視頻監(jiān)控場景下達(dá)到實(shí)時(shí)性,具有準(zhǔn)確率高、誤報(bào)率低、檢測實(shí)時(shí)性等優(yōu)點(diǎn),滿足監(jiān)控視頻場景下的火災(zāi)檢測任務(wù)。
關(guān)鍵詞: 深度學(xué)習(xí); 注意力機(jī)制; YOLO v4算法; 火災(zāi)檢測
文章編號: 2095-2163(2021)07-0086-05中圖分類號:TP183文獻(xiàn)標(biāo)志碼: A
Fire detection method based on Transformer improved YOLO v4
WANG Guorui
(College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao
Shandong 266590, China)
【Abstract】Aiming at the problem of low accuracy and poor real-time performance of? the fire detection algorithms in detecting multi-scale flames and smoke, a fire detection method based on Transformer improved YOLO v4 is proposed. First, combined with MHSA (Multi-Head Self-Attention) to improve the CSPDarknet53 backbone network,? global dependencies is modeled to make full use of context information. In addition, based on MHSA, the PANet module is improved to perform multi-scale feature map fusion to obtain more detailed features. In order to verify the effectiveness of the improved method, it is compared with YOLO v4, YOLO v3 and other algorithms. Experiments have proved that it can not only detect multi-scale targets, but also achieve real-time performance in video surveillance scenarios. It has the advantages of high accuracy, low false alarm rate, and real-time detection, which can meet the fire detection tasks in surveillance video scenarios.
【Key words】deep learning; attention mechanism; YOLO v4 algorithm; fire detection
0 引 言
隨著社會(huì)的不斷發(fā)展,各類災(zāi)害對公共安全與社會(huì)財(cái)富的危險(xiǎn)性也相應(yīng)地有所增加,其中火災(zāi)較為常見,防范與及時(shí)發(fā)現(xiàn)火災(zāi)越來越受到重視。傳統(tǒng)的火災(zāi)檢測方法,通常是采集溫度、煙霧傳感器數(shù)據(jù)進(jìn)行火災(zāi)檢測,缺點(diǎn)是誤報(bào)率比較高、實(shí)時(shí)性較差。基于圖像識別的火災(zāi)檢測方式,因其具有響應(yīng)快、事后追溯直觀等特點(diǎn),被廣泛應(yīng)用于監(jiān)控視頻場景下的火災(zāi)檢測與實(shí)時(shí)報(bào)警任務(wù)。
近年來,深度學(xué)習(xí)技術(shù)在圖像分類、目標(biāo)檢測等計(jì)算機(jī)視覺領(lǐng)域得到廣泛應(yīng)用,并取得豐碩的研究成果?;谏疃葘W(xué)習(xí)的火災(zāi)檢測方法主要通過CNN進(jìn)行特征提取獲取火災(zāi)圖像特征,然后進(jìn)行分類與回歸獲得檢測結(jié)果。文獻(xiàn)[1]提出基于改進(jìn)YOLO v3[2]的火災(zāi)檢測與識別方法,通過改進(jìn)YOLO v3解決小目標(biāo)識別性能不足的問題。文獻(xiàn)[3]提出嵌入DenseNet[4]結(jié)構(gòu)和空洞卷積模塊改進(jìn)YOLO v3的火災(zāi)檢測方法,通過在Darknet-53[5]中嵌入空洞卷積模塊來擴(kuò)展感受野,提升對多尺度目標(biāo)火災(zāi)的特征提取效果,其本質(zhì)是充分利用上下文信息。文獻(xiàn)[6]采用Anchor-Free網(wǎng)絡(luò)結(jié)構(gòu)的實(shí)時(shí)火災(zāi)檢測算法,優(yōu)點(diǎn)是避免了Anchor方法中超參數(shù)過多、網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜的缺點(diǎn),主干網(wǎng)絡(luò)選取MobileNetV2[7],同時(shí)引入了特征選擇模塊。上述火災(zāi)檢測方法存在以下問題:
(1)主干網(wǎng)絡(luò)多為圖像分類任務(wù)設(shè)計(jì)的,未針對目標(biāo)檢測任務(wù)對進(jìn)行優(yōu)化,導(dǎo)致算法缺乏魯棒性。
(2)通過堆疊卷積模塊擴(kuò)展網(wǎng)絡(luò)深度,雖然獲得良好的檢測效果,但難以達(dá)到實(shí)時(shí)性。
(3)針對火災(zāi)小尺度目標(biāo)檢測任務(wù)性能不足。
在此基礎(chǔ)上,通過借鑒Bottleneck Transformer[8]算法設(shè)計(jì)思想,提出了一種改進(jìn)YOLO v4[9]的火災(zāi)檢測方法,主要改進(jìn)點(diǎn)如下:
(1)在原CSPDarknet53[10]中引入了MHSA(Multi-Head Self-Attention)層,有效地將目標(biāo)之間的信息與位置感知相關(guān)聯(lián),增強(qiáng)網(wǎng)絡(luò)全局依賴關(guān)系建模的能力,充分利用多尺度上下文信息,提升火災(zāi)小目標(biāo)的檢測能力。
(2)采用同樣的方式對PANet[11]模塊進(jìn)行優(yōu)化,改善多尺度特征融合能力,獲取更多特征細(xì)節(jié)。
實(shí)驗(yàn)表明,改進(jìn)的YOLO v4算法在監(jiān)控視頻場景下檢測精度達(dá)到94%,檢測速度達(dá)到26幀/s,優(yōu)于現(xiàn)有的其他火災(zāi)檢測算法,滿足監(jiān)控視頻場景下的火災(zāi)檢測。
1 YOLO v4與 MHSA原理
1.1 YOLO v4算法原理
YOLO v4算法是一種端到端的實(shí)時(shí)目標(biāo)檢測框架,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,該網(wǎng)絡(luò)主要包括CSPDarknet53、SPP附加模塊[12]、PANet路徑聚合模塊、YOLO v3 頭部。
在Darknet53基礎(chǔ)上引入CSP結(jié)構(gòu),減少了計(jì)算量并增強(qiáng)梯度表現(xiàn),主要思想:在輸入block之前,分為2個(gè)部分。其中,一個(gè)部分直接通過一個(gè)短路進(jìn)行連接,該方式降低了20%的計(jì)算量,提高了計(jì)算能力。同時(shí)使用Mish[13]激活函數(shù),在PANet中使用了Leaky relu激活函數(shù),通過上述方式使得YOLO v4的檢測精度更高。
SPP附加模塊與PANet路徑聚合網(wǎng)絡(luò)稱為Neck結(jié)構(gòu),優(yōu)化了多尺度特征融合的能力。研究中,SPP附加模塊采用5×5、9×9、13×13三種不同尺度的最大池化操作,擴(kuò)展了感受野。PANet路徑聚合網(wǎng)絡(luò)主要通過從底向上的路徑增強(qiáng)、自適應(yīng)特征池化、全連接融合的方式形成新的不同尺度特征圖。
1.2 MHSA模塊網(wǎng)絡(luò)結(jié)構(gòu)
近年來,Transformer不僅在NLP領(lǐng)域取得可觀成果,同時(shí)在CV領(lǐng)域獲取巨大成功,比如圖像分類任務(wù)的ViT[14]、目標(biāo)檢測任務(wù)的DETR[15]和Deformable DETR[16]模型,均是基于Transformer思想設(shè)計(jì)的。UC Berkeley和Google基于Transformers結(jié)構(gòu)設(shè)計(jì)了BoTNet[8],是一種簡單且功能強(qiáng)大的Backbone。通過僅在ResNet的最后3個(gè)bottleneck blocks中用多頭注意力層(Multi-Head Self-Attention, MHSA)替換3×3空間卷積,如圖2所示。MHSA層如圖3所示,引入相對位置編碼不僅考慮內(nèi)容信息,而且考慮不同位置的要素之間的相對距離,有效地相關(guān)聯(lián)物體之間的信息與位置感知。
2 改進(jìn)的YOLOv4火災(zāi)檢測方法
2.1 網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)
2.1.1 特征提取主干網(wǎng)絡(luò)的改進(jìn)
主干網(wǎng)絡(luò)由5個(gè)采用CSP單元模塊組成,分別為CSPRes1、CSPRes2、CSPRes8-1、CSPRes8-2、CSPRes4,每個(gè)模塊中有多個(gè)殘差單元構(gòu)建,參見圖1。引入CSP結(jié)構(gòu)單元,一定程度降低計(jì)算量,但難以建模全局依賴關(guān)系。本文借鑒了Bottleneck Transformer結(jié)構(gòu)對主干網(wǎng)絡(luò)改進(jìn),采用MHSA層替換3×3空間卷積層。通過上述方式不僅增強(qiáng)網(wǎng)絡(luò)全局依賴關(guān)系建模的能力,同時(shí)減少了參數(shù),降低了計(jì)算時(shí)延。
對主干網(wǎng)絡(luò)的改進(jìn)主要思路為2點(diǎn):
(1)使用卷積從大圖像中學(xué)習(xí)抽象和低分辨率的特征圖。
(2)使用全局(all2all)Self-Attention來處理和聚合卷積捕獲高層語義信息。
采用這種混合設(shè)計(jì)的方式,通過使卷積進(jìn)行空間下采樣并結(jié)合注意力模型集中在較小的分辨率上,同時(shí)可以有效地處理大尺度圖像。具體改進(jìn)思路如下:
(1)首先改進(jìn)網(wǎng)絡(luò)中CSPRes8-1與CSPRes8-2,CSPRes8-x模型,輸入經(jīng)過一層3×3卷積層處理后分成2個(gè)分支,第一分支僅經(jīng)過一層1×1點(diǎn)卷積層處理,第二分支先經(jīng)過一層1×1點(diǎn)卷積層處理以及循環(huán)經(jīng)過8個(gè)ResBlock Bottleneck模塊,緊接著經(jīng)過一層1×1點(diǎn)卷積層,并與第一分支輸入的特征圖進(jìn)行拼接,再將拼接后的特征圖經(jīng)過1×1點(diǎn)卷積處理后輸出。將模塊中3×3卷積層替換為MHSA層,如圖4所示。
(2)主干網(wǎng)絡(luò)中CSPRes4與CSPRes8-x模塊結(jié)構(gòu)相似,主要區(qū)別在于ResBlock Bottleneck結(jié)構(gòu)不同,CSPRes4模塊中ResBlock Bottleneck模塊先經(jīng)過3×3卷積層,然后是1×1點(diǎn)卷積處理。其次,CSPRes4經(jīng)過4個(gè)ResBlock Bottleneck模塊循環(huán)。具體改進(jìn)方式將ResBlock Bottleneck模塊中3×3卷積層替換為MHSA層,如圖5所示。
2.1.2 PANet模塊改進(jìn)
PANet路徑聚集模塊為YOLO v4的Neck,參見圖1。對PANet的改進(jìn),同樣借鑒Bottleneck Transformer設(shè)計(jì)思想,將網(wǎng)絡(luò)中部分3×3 CBL單位替換為MHSA層,如圖6所示。
2.2 火災(zāi)檢測方法流程
火災(zāi)檢測方法以改進(jìn)的YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),火災(zāi)檢測的主要流程如下:
(1)對構(gòu)建的火災(zāi)檢測訓(xùn)練集進(jìn)行預(yù)處理,標(biāo)簽轉(zhuǎn)換為YOLOv4標(biāo)準(zhǔn)訓(xùn)練集格式。
(2)將經(jīng)過預(yù)處理的訓(xùn)練集圖像輸入到改進(jìn)的CSPDarknet53網(wǎng)絡(luò)進(jìn)行特征提取。
(3)獲取CSPRes8-1層、CSPRes8-2層為輸出第一、第二尺度的特征,CSPRes4層經(jīng)過SPP處理獲取第三尺度的特征。
(4)上述三種尺度特征經(jīng)過PANet層進(jìn)行特征融合,獲取76×76、38×38、19×19三種尺度的最終輸出特征。
(5)分別將3種尺度特征輸入的YOLOv4檢測層,經(jīng)過多輪訓(xùn)練生成最終的網(wǎng)絡(luò)權(quán)值。
(6)測試階段,將測試圖像輸入到Y(jié)OLOv4網(wǎng)絡(luò)中,調(diào)用訓(xùn)練得到的網(wǎng)絡(luò)權(quán)值進(jìn)行預(yù)測,并輸出火災(zāi)檢測結(jié)果。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 火災(zāi)檢測數(shù)據(jù)集
由于公開火災(zāi)數(shù)據(jù)集較少,通過采集互聯(lián)網(wǎng)數(shù)據(jù)與視頻監(jiān)控?cái)?shù)據(jù)兩種方式,構(gòu)建涵蓋室內(nèi)、野外、工廠、城市高樓、隧道等多個(gè)場景的火災(zāi)檢測數(shù)據(jù)集。采集約5萬張圖片,通過數(shù)據(jù)清洗,12 886張用于構(gòu)建數(shù)據(jù)集,如圖7所示。
3.2 實(shí)驗(yàn)環(huán)境與模型訓(xùn)練
基于Ubuntu 18.04 操作系統(tǒng),硬件配置為2塊Intel 至強(qiáng) E5 CPU,顯卡為6塊 16GB NVIDIA Tesla P100,內(nèi)存500 GB。采用python與PyTorch深度學(xué)習(xí)框架搭建模型。
訓(xùn)練參數(shù):初始學(xué)習(xí)率為0.001、動(dòng)量初始值為0.9、權(quán)重衰減率為0.000 5,批處理大小為64,迭代次數(shù)為8 000,采用步階衰減學(xué)習(xí)率調(diào)度策略。
3.3 實(shí)驗(yàn)結(jié)果分析
改進(jìn)的YOLO v4分別與YOLO v3、YOLO v4對比實(shí)驗(yàn),主要對比精確率、召回率、平均精度(mAP)和檢測時(shí)間,見表1。
分析可知,改進(jìn)YOLO v4算法相比YOLO v3、YOLO v4,精確率方面提升11.2%、7.4%,召回率方面提升8.9%、6.3%,mAP提升9%、4.8%。改進(jìn)后的YOLO v4,檢測速度比YOLO v3與YOLO v4均有大幅度提升,檢測速度達(dá)到27幀/s。火災(zāi)檢測結(jié)果如圖8所示。
實(shí)驗(yàn)表明改進(jìn)的火災(zāi)檢測算法能夠檢測大尺度與小尺度的火焰與煙霧目標(biāo),既是在存在干擾目標(biāo)、目標(biāo)遮擋的復(fù)雜場景下,依然能夠有效檢測目標(biāo),具有檢測精度高、誤檢率低、魯棒性等優(yōu)點(diǎn)。
4 結(jié)束語
針對YOLO v4火災(zāi)檢測性能不足的問題,借鑒Bottleneck Transformer結(jié)構(gòu)設(shè)計(jì)思想,引入MHSA層對YOLO v4主干網(wǎng)絡(luò)CSPDarknet和PANet模塊進(jìn)行改進(jìn)。由于火災(zāi)檢測數(shù)據(jù)集較少,采集了大量圖片與視頻火災(zāi)數(shù)據(jù),構(gòu)建多場景火災(zāi)檢測數(shù)據(jù)集。
通過對比YOLO v4、YOLO v3火災(zāi)檢測方法表明,本文改進(jìn)后的方法比現(xiàn)有的火災(zāi)檢測方法具有更好的魯棒性、更低的誤檢測率,檢測精度與實(shí)時(shí)性均有良好的性能。測試集上達(dá)到94.6%的準(zhǔn)確率、85.6%的召回率、87.3%的mAP。未來的研究工作中,重點(diǎn)研究結(jié)合Transformer改進(jìn)網(wǎng)絡(luò)進(jìn)行優(yōu)化,提升檢測效果與實(shí)時(shí)性,以及擴(kuò)展現(xiàn)有的火災(zāi)檢測數(shù)據(jù)集,增加火災(zāi)樣本的多樣性,提升檢測算法的泛化能力。
參考文獻(xiàn)
[1]任嘉鋒, 熊衛(wèi)華, 吳之昊,等. 基于改進(jìn)YOLOv3的火災(zāi)檢測與識別[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2019, 28(12):171-176.
[2]REDMON J, FARHADI A. YOLOv3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
[3]張為, 魏晶晶. 嵌入DenseNet結(jié)構(gòu)和空洞卷積模塊的改進(jìn)YOLO v3火災(zāi)檢測算法[J]. 天津大學(xué)學(xué)報(bào)(自然科學(xué)與工程技術(shù)版), 2020, 53(9):100-107.
[4]HUANG G, LIU Z, LAURENS V, et al. Densely Connected Convolutional Networks[J]. arXiv preprint arXiv:1608.06993, 2016.
[5] REDMON J. Darknet: Open source neural networks in C[EB/OL]. [2013-2016]. http://pjreddie.com/darknet/.
[6]晉耀,張為. 采用Anchor-Free網(wǎng)絡(luò)結(jié)構(gòu)的實(shí)時(shí)火災(zāi)檢測算法[J]. 浙江大學(xué)學(xué)報(bào)(工學(xué)版), 2020, 54(12):163-169.
[7]SANDLER M, HOWARD A, ZHU M, et al. MobileNetV2: Inverted residuals and linear bottlenecks[J]. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Salt Lake City, UT, USA: IEEE, 2018:4510-4520.
[8]SRINIVAS A, LIN T Y, PARMAR N, et al. Bottleneck transformers for visual recognition[J]. arXiv preprint arXiv:2101.11605, 2021.
[9]BOCHKOVSKIY A, WANG C Y, LIAO H. YOLOv4: Optimal speed and accuracy of object detection[J]. arXiv preprint arXiv:2004.10934,2020.
[10]WANG C Y, LIAO H, YEH I H, et al. CSPNet: A new backbone that can enhance learning capability of CNN[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). Seattle, WA, USA :IEEE,2019:1571-1580.
[11]CHEN Yunian, WANG Yanjie, ZHANG Yang, et al. PANet: A context based predicate association network for scene graph generation[C]// 2019 IEEE International Conference on Multimedia and Expo (ICME). Shanghai, China:IEEE, 2019:508-513.
[12]HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Spatial pyramid pooling in deep Convolutional Networks for visual recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 37(9):1904-1916.
[13]MISRA D. Mish: A self regularized non-monotonic neural activation function[J]. arXiv preprint arXiv:1908.08681,2019.
[14]DOSOVITSKIY A, BEYER L, KOLESNIKOV A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[J]. ICLR2021,Vienna, Austria:[s. n.], 2020:1-21.
[15]CARION N, MASSA F, SYNNAEVE G, et al. End-to-end object detection with transformers[M]//VEDALDI A, BISCHOF H, BROX T, et al. Computer Vision-ECCV 2020. ECCV 2020. Lecture Notes in Computer Science. Cham :Springer, 2020,12346:213-229.
[16]ZHU Xizhou, SU Weijie, LU Lewei, et al. Deformable DETR: Deformable transformers for end-to-end object detection[J]. arXiv preprint arXiv:2010.04159, 2020.
[17]ZHENG Zhaohui, WANG Ping, LIU Wei, et al. Distance-IoU loss: Faster and better learning for bounding box regression[J]. Proceedings of the AAAI Conference on Artificial Intelligence,2020,34(7):12993-13000.
作者簡介: 王國睿(2000-),男,本科生,主要研究方向:圖像視覺。
收稿日期: 2021-04-27