摘 要:火災(zāi)事件嚴(yán)重威脅著人民生命財(cái)產(chǎn)安全,因此火災(zāi)檢測(cè)是極其必要的?;赮OLOv8算法進(jìn)行煙霧和火焰檢測(cè),并對(duì)模型結(jié)構(gòu)進(jìn)行改進(jìn)以提高準(zhǔn)確度。改進(jìn)包括3個(gè)方面,一是引入DBB模塊,二是使用動(dòng)態(tài)卷積,三是優(yōu)化損失函數(shù)。實(shí)驗(yàn)表明,三種改進(jìn)算法均在一定程度上提高了檢測(cè)準(zhǔn)確度,而同時(shí)使用三種改進(jìn)的YOLOv8n模型,相比原來(lái)的YOLOv8n,mAP50提升了3.03%,mAP50-95提升了3.37%,相比于Faster R-CNN等其他模型,mAP50、mAP50-95等各項(xiàng)性能指標(biāo)也獲得了大幅提升,火災(zāi)檢測(cè)準(zhǔn)確度也有所提高。
關(guān)鍵詞:YOLOv8;網(wǎng)絡(luò)結(jié)構(gòu);卷積;損失函數(shù);mAP;準(zhǔn)確度
中圖分類(lèi)號(hào):TP391.4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2025)02-0001-06
Application and Improvement of YOLOv8 in Flame and Smoke Detection
HAN Weijuan1, PING Yi2, YANG Aolin3, YUAN Jinghui2, CUI Erqiang2, DONG Xinjie2
(1.School of Electro-mechanical Engineering, Zhongyuan Institute of Science and Technology, Zhengzhou 450000, China; 2.Department of Information and Communication, Department of Public Security of Henan Province, Zhengzhou 450003, China; 3.School of Public Administration, Henan University of Economics and Law, Zhengzhou 450046, China)
Abstract: The fire incidents seriously threaten the safety of people's lives and property, so the fire detection is extremely essential. Based on the YOLOv8 algorithm, this paper carries out the smoke and flame detection, and improves the model structure to raise accuracy. The improvements include 3 aspects of introducing the DBB module, using the Dynamic Convolution, and optimizing the loss function. The experiments demonstrate that the three kinds of improved algorithms all have a specific rise in detection accuracy, and the YOLOv8n model which uses three improvements at the same time has increased mAP50 by 3.03% and mAP50-95 by 3.37% compared to the original YOLOv8n. Compared to Faster R-CNN and other models, various performance indicators such as mAP50 and mAP50-95 have notable enhancements, and the precision of fire detection is also improved.
Keywords: YOLOv8; network structure; convolution; loss function; mAP; accuracy
DOI:10.19850/j.cnki.2096-4706.2025.02.001
0 引 言
火災(zāi)是嚴(yán)重影響人民生命安全的危險(xiǎn)因素,因此對(duì)有關(guān)區(qū)域進(jìn)行火焰和煙霧檢測(cè)是十分必要的,近年隨著視頻攝像頭的廣泛使用,基于視頻和圖像的火災(zāi)檢測(cè)技術(shù)得到不斷發(fā)展。目標(biāo)檢測(cè)主要分為兩階段算法如Faster R-CNN[1]系列和一階段算法如SSD[2]、YOLO[3]系列。兩階段算法需要先用特征提取器生成一系列可能包含待檢物體的預(yù)選框,之后對(duì)預(yù)選框進(jìn)行篩選,最后在預(yù)選框上面進(jìn)行的物體類(lèi)別分類(lèi),檢測(cè)和分類(lèi)速度較慢。一階段算法會(huì)直接在網(wǎng)絡(luò)中提取特征來(lái)預(yù)測(cè)物體分類(lèi)以及位置,提高了檢測(cè)速度,是目前的主流方向。YOLO[4]自2016年提出以來(lái),研究者們已經(jīng)對(duì)YOLO進(jìn)行了多次更新迭代,截至目前已存在YOLOv1到Y(jié)OLOv10共10個(gè)版本。本文將基于YOLOv8對(duì)火焰和煙霧進(jìn)行檢測(cè),并探索進(jìn)一步提高檢測(cè)準(zhǔn)確率。
1 相關(guān)工作
火焰和煙霧檢測(cè)也是目標(biāo)檢測(cè)的研究熱點(diǎn)之一,謝康康[5]等人基于YOLOv7提出了改進(jìn)的火焰和煙霧目標(biāo)檢測(cè)算法,在骨干網(wǎng)中引入GhostNetV2長(zhǎng)距離注意力機(jī)制,降低參數(shù)量的同時(shí),增加模型檢測(cè)的準(zhǔn)確度,在包括公開(kāi)數(shù)據(jù)集的自建數(shù)據(jù)集上測(cè)試,相比原YOLOv7,參數(shù)量下降了約3.4 MB,mAP50上升了2.4%,達(dá)到70.3%。王一旭[6]等人提出一種基于YOLOv5s的小目標(biāo)煙霧火焰檢測(cè)算法,添加注意力機(jī)制SimAM,修改網(wǎng)絡(luò)中的Neck結(jié)構(gòu),結(jié)合了加權(quán)雙向特征金字塔網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)了特征融合過(guò)程,提高小目標(biāo)的檢測(cè)能力,在自建數(shù)據(jù)集上mAP50達(dá)到了78.9%。宋華偉[7]等人基于YOLOv5s提出一種改進(jìn)的火焰煙霧檢測(cè)算法,將YOLOv5s頸部原有模塊替換為雙向交叉多尺度融合模塊,在頭部添加協(xié)調(diào)注意力的推理層,使用K-means聚類(lèi)算法獲取數(shù)據(jù)集先驗(yàn)錨框,在自建數(shù)據(jù)集上與原YOLOv5s相比,mAP50提升了3.2%,達(dá)到了84.1%。以上算法通過(guò)網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)等方法,提升了模型識(shí)別準(zhǔn)確度,但準(zhǔn)確度值仍有改進(jìn)空間,本文將基于YOLOv8進(jìn)行火焰和煙霧檢測(cè)并改進(jìn)算法,進(jìn)一步提高檢測(cè)準(zhǔn)確度。
2 YOLOv8結(jié)構(gòu)
YOLOv8n網(wǎng)絡(luò)結(jié)構(gòu)[8-9]如圖1所示,共包括Conv、C2f、SPPF等共21個(gè)模塊225層,參數(shù)量3.01 MB,計(jì)算量8.2GFLOPs,總體上可分為特征提取骨干網(wǎng)絡(luò)(backbone)和頭部檢測(cè)(head)部分,骨干網(wǎng)中的Conv、C2f、SPPF均為特征提取模塊。Conv為普通卷積,使用Silu激活函數(shù),YOLOv8將YOLOv5中的C3模塊被替換成了C2f模塊,使用了更多的特征融合和殘差連接,SPPF采用空間池化結(jié)構(gòu),在不同尺度上進(jìn)行特征提取,并將這些特征通過(guò)Concat操作進(jìn)行融合。整體結(jié)構(gòu)采用PAN-FPN特征金字塔結(jié)構(gòu),F(xiàn)PN是自頂向下卷積,將高層的語(yǔ)義特征傳遞下來(lái),PAN是一個(gè)自底向上的卷積金字塔,通過(guò)路徑聚合,將淺層特征和深層特征進(jìn)行聚合??傮w結(jié)構(gòu)先進(jìn)行下采樣,然后進(jìn)行上采樣,上采樣和下采樣之間跨層融合連接,得到3個(gè)檢測(cè)頭分支。
檢測(cè)頭分支使用了主流的解耦結(jié)構(gòu),將分類(lèi)和檢測(cè)分離,錨框不需要預(yù)設(shè),從原有的Anchor-Based轉(zhuǎn)換為Anchor-Free,正負(fù)樣本分配上YOLOv8使用動(dòng)態(tài)分配策略TaskAlignedAssigner,根據(jù)分類(lèi)與回歸的分?jǐn)?shù)加權(quán)選擇正樣本,分類(lèi)損失使用VFL,定位損失使用了DFL和CIoU。使用YOLOv8對(duì)火災(zāi)進(jìn)行目標(biāo)檢測(cè)取得了良好效果,本文將在3個(gè)方面探索進(jìn)一步改進(jìn)YOLOv8模型。
3 改進(jìn)點(diǎn)
3.1 融合DBB模塊
DBB[10]是Diverse Branch Block的簡(jiǎn)稱,是一種類(lèi)似Inception[11]的結(jié)構(gòu),如圖2所示,使用并行的卷積核卷積后進(jìn)行拼接,不同大小的卷積核增強(qiáng)了網(wǎng)絡(luò)對(duì)不同尺寸特征圖的適應(yīng)性,本文將采用DBB以提高火焰和煙霧檢測(cè)正確率。DBB對(duì)于輸入的特征圖,用4個(gè)分支分別處理,第1個(gè)分支為1×1卷積和BN層,第2個(gè)分支依次為1×1卷積、BN層、3×3卷積、BN層,第3個(gè)分支依次為1×1卷積、BN層、AVG平均池化層、BN層,第4個(gè)分支為3×3卷積、BN層,所有分支結(jié)果經(jīng)過(guò)累加后作為模型輸出。本文對(duì)模型進(jìn)行改進(jìn),包括在累加操作后增加一個(gè)平均池化層,取消了Pad層。DBB在YOLOv8模型結(jié)構(gòu)中位置如圖3所示。
3.2 可變卷積DCN
可變卷積網(wǎng)絡(luò)[12](Deformable Convolution Network, DCN)是指卷積核的形狀是可變的,而不僅僅是個(gè)規(guī)則的矩形,對(duì)于不同形狀的特征圖,通過(guò)可變卷積模塊,增強(qiáng)了對(duì)目標(biāo)的學(xué)習(xí)能力,火焰及煙霧的不規(guī)則形狀很適合采用可變卷積。在實(shí)際計(jì)算中,DCN的卷積核形狀一般不改變,而是通過(guò)計(jì)算特征圖上的目標(biāo)偏移量來(lái)實(shí)現(xiàn)。對(duì)于普通卷積,其計(jì)算如式(1)所示,Φ表示卷積核偏移量,w(Pn)表示卷積核,x(P0+Pn)表示特征圖對(duì)應(yīng)像素點(diǎn)。對(duì)于可變卷積,其計(jì)算方法如式(2)所示,對(duì)比普通卷積,增加了?Pn,表示目標(biāo)在特征圖上的偏移量,如果這個(gè)偏移是個(gè)小數(shù),采用雙線性差值辦法計(jì)算這個(gè)像素點(diǎn)數(shù)值。本文將YOLOv8中的C2f模塊替換為使用動(dòng)態(tài)卷積的C2f_DCN,在YOLOv8中的位置如圖4所示。
(1)
(2)
3.3 損失函數(shù)優(yōu)化
YOLOv8損失函數(shù)包括兩種,一類(lèi)是類(lèi)別損失VFL,采用交叉熵算法,另外一類(lèi)是定位損失,包括邊框回歸損失DFL和重疊損失CIoU,通過(guò)DFL快速得到目標(biāo)大致位置,然后CIoU進(jìn)行精確定位。DFL是以概率的方式對(duì)每個(gè)像素點(diǎn)的預(yù)測(cè)框進(jìn)行回歸,經(jīng)過(guò)正負(fù)樣本篩選后,將每個(gè)像素點(diǎn)的邊框回歸視為一個(gè)n分類(lèi),YOLOv8默認(rèn)為16,回歸得到每個(gè)目標(biāo)的位置信息,在計(jì)算損失時(shí)同樣采用交叉熵算法。
CIoU是計(jì)算交并比的一種,即計(jì)算目標(biāo)預(yù)測(cè)位置和真實(shí)位置的重合程度的損失函數(shù)。目前存在CIoU、EIoU、SIoU、WIoU等多種損失函數(shù)。
CIoU[13]如式(3)所示,也是YOLOv8的默認(rèn)算法。其中IoU表示交并比,ρ表示預(yù)測(cè)框和真實(shí)框兩個(gè)中心點(diǎn)之間的歐式距離,c表示包含預(yù)測(cè)框和真實(shí)框最小外接矩形的對(duì)角線距離,wgb/hgb表示真實(shí)框的寬高比,wpb/hpb表示預(yù)測(cè)框的寬高比。CIoU考慮了重疊面積、中心點(diǎn)距離、預(yù)測(cè)框和真實(shí)框?qū)捀弑取?/p>
(3)
EIoU[14]如式(4)所示。EIoU損失函數(shù)包含四個(gè)部分:重疊損失、中心距離損失、寬度差異損失、高度差異損失,前兩部分延續(xù)CIoU中的方法,寬度差異損失是目標(biāo)框與預(yù)測(cè)框的寬度之差平方與最小外接矩形的寬度平方比值,高度差異損失是目標(biāo)框與預(yù)測(cè)框的高度之差平方與最小外接矩形的高度平方比值。Cw表示最小外接矩形的寬度,Ch表示最小外接矩形的高度。
(4)
SIoU[15]如式(5)所示,損失包括三部分,一是IoU,二是考慮預(yù)測(cè)框和真實(shí)框長(zhǎng)寬比的形狀損失Ω,三是距離損失Δ,距離損失不僅與兩個(gè)中心點(diǎn)之間的距離有關(guān),還與兩個(gè)中心點(diǎn)連線角度相關(guān)。sin(α)表示兩個(gè)中心點(diǎn)連線夾角的較小角度的正弦值,本實(shí)驗(yàn)中σ取1,ε取4。
(5)
MPDIoU[16]主要計(jì)算預(yù)測(cè)框和真實(shí)框左上點(diǎn)之間和右下點(diǎn)之間的距離作為損失。如式(6)所示,(x1pb,y1pb)和(x2pb,y2pb)分別表示預(yù)測(cè)框左上點(diǎn)和右下點(diǎn)坐標(biāo),(x1gb,y1gb)和(x2gb,y2gb)分別表示真實(shí)框左上點(diǎn)和右下點(diǎn)坐標(biāo)。w和h分別表示輸入圖像的寬度和高度。
(6)
WIoU[17]如式(7)所示。核心思想是降低質(zhì)量差的錨框系數(shù)以減少有害梯度,提高質(zhì)量高的錨框系數(shù)以加快收斂。通過(guò)一個(gè)和IoU相關(guān)的系數(shù)調(diào)整因子γ,低質(zhì)量錨框的損失系數(shù)被相對(duì)放大,高質(zhì)量錨框的損失系數(shù)被相對(duì)縮小,快速放棄低質(zhì)量備選錨框,選擇高質(zhì)量備選錨框,從而快速收斂并提高模型的定位性能。本文實(shí)驗(yàn)中α取1.9,δ取3,η取0.002 6。
(7)
4 實(shí)驗(yàn)環(huán)境
目前公認(rèn)的大批量火焰煙霧數(shù)據(jù)集較少,本文搜集互聯(lián)網(wǎng)數(shù)據(jù),共標(biāo)注訓(xùn)練及測(cè)試集6 000張(8比2劃分訓(xùn)練集和測(cè)試集),隨機(jī)選擇9張圖片如圖5所示,并進(jìn)行了預(yù)處理。本文YOLOv8選擇SGD優(yōu)化器,初始學(xué)習(xí)率設(shè)為0.01,動(dòng)量設(shè)為 0.937,batch為16。GPU為GeForce RTX 4060Ti,操作系統(tǒng)為Windows 11,PyTorch版本為 1.10.1,Cuda版本11.3,Python版本3.7,所有實(shí)驗(yàn)均訓(xùn)練200個(gè)批次。
5 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)指標(biāo)包括模型參數(shù)量parameters,數(shù)值越大代表模型越大,浮點(diǎn)運(yùn)算數(shù)GFLOPs,數(shù)值越大代表計(jì)算復(fù)雜度越高,平均準(zhǔn)確度mAP50,表示IoU值為0.5時(shí)的平均準(zhǔn)確度,mAP50-95表示IoU值為0.5到0.95間隔為0.05的平均準(zhǔn)確度,本實(shí)驗(yàn)為火焰和煙霧兩類(lèi)。
5.1 優(yōu)化損失函數(shù)結(jié)果
優(yōu)化損失函數(shù)實(shí)驗(yàn)如表1所示,結(jié)果顯示YOLOv8n使用WIoU時(shí)獲得最佳效果,對(duì)比使用默認(rèn)算法CIoU的YOLOv8n,mAP50提升1.72%,mAP50-95提升了0.44%。
5.2 消融實(shí)驗(yàn)
YOLOv8n整合DBB模塊、采用DCN可變卷積、使用WIoU損失函數(shù)三種改進(jìn),以及相關(guān)消融實(shí)驗(yàn)結(jié)果,如表2所示,其中DDW指使用全部三種改進(jìn)的模型。從實(shí)驗(yàn)中看出,DDW取得最好效果,比起YOLOv8n,mAP50提升3.03%,mAP50-95提升了3.37%。
5.3 和其他模型對(duì)比結(jié)果
與其他模型Faster R-CNN、SSD、YOLOv7等對(duì)比結(jié)果如表3所示。相比Faster R-CNN和SSD,YOLOv8n-DDW在參數(shù)量和計(jì)算量大幅降低的情況下,mAP50和mAP50-95指標(biāo)獲得了大幅提升;相比YOLOv7-tiny,YOLOv8n-DDW參數(shù)量下降39.87%和計(jì)算量微升3.03%的情況下,mAP50提高4.11%,mAP50-95提高11.43%;使用三種改進(jìn)的YOLOv8系列其他模型,如YOLOv8s-DDW對(duì)于YOLOv8s,mAP50微升0.97%,mAP50-95提高了2.01%。
各算法實(shí)驗(yàn)視覺(jué)效果圖如圖6所示,從圖中可以看出Faster R-CNN識(shí)別和定位也很好,但存在多余的可以合并的識(shí)別框,SSD識(shí)別點(diǎn)存在著一定的遺漏,從圖中的實(shí)際效果看,YOLOv8n-DDW相對(duì)YOLOv8n,不僅正確識(shí)別率高,定位也更加準(zhǔn)確。
6 結(jié) 論
本文基于YOLOv8進(jìn)行火焰和煙霧檢測(cè),并對(duì)模型結(jié)構(gòu)進(jìn)行改進(jìn)以提高準(zhǔn)確度,改進(jìn)包括YOLOv8n骨干網(wǎng)引入DBB模塊、使用DCN可變卷積、使用WIoU損失函數(shù)三個(gè)方面。通過(guò)消融實(shí)驗(yàn),YOLOv8n-DDW對(duì)比YOLOv8n,mAP50提升3.03%,mAP50-95提升了3.37%,相比Faster R-CNN、SSD、YOLOv7等其他模型,各項(xiàng)性能指標(biāo)也獲得了大幅提升,提升了火災(zāi)檢測(cè)準(zhǔn)確度。
參考文獻(xiàn):
[1] REN S Q,HE K M,GIRSHICK R,et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(16):1137-1149.
[2] LIU W,ANGUELOV D,ERHAN D,et al. SSD: Single Shot Multibox Detector [C]//Computer Vision-ECCV 2016.Amsterdam:Springer International Publishing,2016:21-37.
[3] JIANG P Y,ERGU D,LIU F Y,et al. A Review of YOLO Algorithm Developments [J].Procedia Computer Science,2022,199:1066-1073.
[4] REDMON J,DIVVALA S,GIRSHICK R,et al. You Only Look Once: Unified, Real-time Object Detection [C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016:779-788.
[5] 謝康康,朱文忠,謝林森,等.基于改進(jìn)YOLOv7的火焰煙霧檢測(cè)算法 [J].國(guó)外電子測(cè)量技術(shù),2023,42(7):41-49.
[6] 王一旭,肖小玲,王鵬飛,等.改進(jìn)YOLOv5s的小目標(biāo)煙霧火焰檢測(cè)算法 [J].計(jì)算機(jī)工程與應(yīng)用,2023,59(1):72-81.
[7] 宋華偉,屈曉娟,楊欣,等.基于改進(jìn)YOLOv5的火焰煙霧檢測(cè) [J].計(jì)算機(jī)工程,2023,49(6):250-256.
[8] ZHOU Y J,ZHU W G,HE Y H,et al. Yolov8-based Spatial Target Part Recognition [C]//2023 IEEE 3rd International Conference on Information Technology,Big Data and Artificial Intelligence(ICIBA).Chongqing:IEEE,2023:1684-1687.
[9] 袁紅春,陶磊.基于改進(jìn)的Yolov8商業(yè)漁船電子監(jiān)控?cái)?shù)據(jù)中魚(yú)類(lèi)的檢測(cè)與識(shí)別 [J].大連海洋大學(xué)學(xué)報(bào),2023,38(3):533-542.
[10] DING X H,ZHANG X Y,HAN J G,et al. Diverse Branch Block: Building a Convolution as an Inception-like Unit [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville:IEEE,2021:10886-10895.
[11] SZEGEDY C,VANHOUCKE V,IOFFE S,et al. Rethinking the Inception Architecture for Computer Vision [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas:IEEE,2016:2818-2826.
[12] DAI J F,QI H Z,XIONG Y W,et al. Deformable Convolutional Networks [C]//Proceedings of the IEEE International Conference on Computer Vision.Venice:IEEE,2017:764-773.
[13] ZHENG Z H,WANG P,LIU W,et al. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression [C]//Proceedings of the AAAI Conference on Artificial Intelligence.AAAI:New York, 2020,34(7):12993-13000.
[14] ZHANG Y F,REN W Q,ZHANG Z,et al. Focal and Efficient IOU Loss for Accurate Bounding Box Regression [J].Neurocomputing,2022,506:146-157.
[15] GEVORGYAN Z. SIoU Loss: More Powerful Learning for Bounding Box Regression [J/OL].arXiv:2205.12740 [cs.CV].(2022-05-25).https://arxiv.org/abs/2205.12740.
[16] MA S L,XU Y. MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression [J/OL].arXiv:2307.07662 [cs.CV].(2023-07-14).https://arxiv.org/abs/2307.07662.
[17] TONG Z J,CHEN Y H,XU Z W,et al. Wise-IoU: Bounding Box Regression Loss with Dynamic Focusing Mechanism [J/OL].arXiv:2301.10051 [cs.CV].(2023-04-08).https://arxiv.org/abs/2301.10051.
作者簡(jiǎn)介:韓偉娟(1986—),女,漢族,河南禹州人,中級(jí)工程師,碩士,研究方向:深度學(xué)習(xí)、圖像處理、無(wú)線傳感網(wǎng)絡(luò)。
收稿日期:2024-07-16