















摘要:【目的】旨在解決復(fù)雜場景中目標(biāo)煙霧失檢、檢測精度低的問題。【方法】基于YOLOv7算法基礎(chǔ)上進(jìn)行優(yōu)化改進(jìn),將原模型Neck部分的PAFPN結(jié)構(gòu)替換為漸近式特征金字塔結(jié)構(gòu)AFPN并引入ECIoU作為目標(biāo)回歸損失函數(shù),在自構(gòu)建數(shù)據(jù)集SMdatase和Pycharm平臺上進(jìn)行驗證。【結(jié)果】實驗結(jié)果表明:改進(jìn)后的算法準(zhǔn)確率比原YOLOv7模型提高了1.3%,達(dá)到68.6%,平均精度均值(mAP)比原YOLOv7 模型提升了1.8%,達(dá)到64.6%,且改進(jìn)后算法的計算復(fù)雜度僅有82.5 GFLOPs,比原YOLOv7模型下降了27.4%。【結(jié)論】提出的基于改進(jìn)YOLOv7算法,既能降低網(wǎng)絡(luò)計算復(fù)雜度又能提升檢測精度,為復(fù)雜場景煙霧檢測的后續(xù)研究提供了新思路。
關(guān)鍵詞:目標(biāo)檢測;煙霧檢測;YOLOv7網(wǎng)絡(luò);網(wǎng)絡(luò)復(fù)雜度
中圖分類號:TP391 文獻(xiàn)標(biāo)志碼:A
本文引用格式:占華林,聶子俊,姜楠,等. 基于改進(jìn)YOLOv7算法的復(fù)雜場景煙霧檢測研究[J]. 華東交通大學(xué)學(xué)報, 2024, 41(6):58-64.
【研究意義】火災(zāi)煙霧對日常生活及安全生產(chǎn)影響很大,不僅對相關(guān)人員構(gòu)成生命威脅,也會對基礎(chǔ)設(shè)施造成極大破壞,設(shè)計一種火災(zāi)煙霧檢測算法,對預(yù)防火災(zāi)發(fā)生具有十分重要的意義。
【研究進(jìn)展】YOLO于2016年首次被提出,是一種實時的端到端物體檢測方法,將目標(biāo)檢測任務(wù)統(tǒng)一為一個回歸問題,通過一個神經(jīng)網(wǎng)絡(luò)直接在整個圖像上進(jìn)行預(yù)測。在煙霧檢測任務(wù)中,Hurtik 等[1]提出改進(jìn)后的YOLOv3 模型能提高檢測速度和精度,并實現(xiàn)實例分割功能。Huo 等[2]在YOLOv4 模型的骨干中添加了卷積路徑,提高了網(wǎng)絡(luò)的特征提取能力,增強了對小型煙霧目標(biāo)的檢測能力。YOLOv5由Ultralytics 公司推出,采用了一種新的輕量級架構(gòu),比YOLOv4更容易使用和訓(xùn)練,并在性能上得到了提升。Arifando 等[3]用輕量級架構(gòu)YOLOv5模型幫助視覺障礙者檢測公交車,Inbar等[4]將FasterR-CNN和YOLOv5 模型結(jié)合起來用于二級污水處理,都取得了較好的應(yīng)用效果。YOLOv6 采用了新的分類和回歸損失,以及用于回歸和分類任務(wù)的自我蒸餾策略,實現(xiàn)了更快的檢測。楊大為等[5]在YOLOv7基礎(chǔ)上引入卷積塊注意力機制(CBAM)用于增強網(wǎng)絡(luò)的特征提取能力。
【創(chuàng)新特色】目前,隨著深度學(xué)習(xí)的發(fā)展,使用計算機視覺技術(shù)[6]的目標(biāo)檢測方法得到了廣泛的應(yīng)用,比傳統(tǒng)的檢測方法更快更準(zhǔn)確。當(dāng)前的目標(biāo)檢測算法主要分為一階和二階算法,其中一階常用的檢測算法有DF-SSD,RetinaNet-vline,YOLO等[7],二階算法有Mask R-CNN[8],F(xiàn)aster R-CNN[9]。一階算法檢測比二階算法檢測速度快、實時性好,本文在YOLOv7一階檢測模型基礎(chǔ)上將原模型Neck 部分的PAFPN結(jié)構(gòu)替換為漸近式特征金字塔結(jié)構(gòu)AFPN和使用ECIoU為目標(biāo)回歸損失函數(shù),以應(yīng)對含有云和霧等復(fù)雜場景煙霧檢測,并將此算法在自構(gòu)建數(shù)據(jù)集SM-datase和Pycharm平臺上進(jìn)行了驗證。
【關(guān)鍵問題】采用2022年提出的YOLOv7作為基礎(chǔ)模型并進(jìn)行檢測性能的優(yōu)化。將網(wǎng)絡(luò)的Neck部分替換為漸近特征金字塔[10(] asymptotic featurepyramid network,AFPN)結(jié)構(gòu)以降低計算復(fù)雜度和減少計算參數(shù),并引入ECIoU作為目標(biāo)回歸損失函數(shù),有效地提升了煙霧目標(biāo)的檢測精度且未增加網(wǎng)絡(luò)計算復(fù)雜度。
1 YOLOv7算法
YOLOv7 算法是基于深度神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法,對目標(biāo)對象進(jìn)行識別和定位,YOLOv7 作為一階目標(biāo)檢測的典型代表,其運行速度很快,能夠運用到實時識別檢測系統(tǒng)中。YOLOv7 模型由輸入部分(input)、特征提取網(wǎng)絡(luò)(backbone)和頭部模塊(head)組成,如圖1所示。
1.1 Input
輸入模塊將圖像尺寸轉(zhuǎn)化為640*640*3。該模塊對輸入圖片進(jìn)行預(yù)處理,采用數(shù)據(jù)增強、自適應(yīng)圖片縮放等方法進(jìn)行圖像尺寸設(shè)定和數(shù)據(jù)集豐富。
1.2 Backbone
主干特征提取網(wǎng)絡(luò)的主要作用是對輸入圖像進(jìn)行特征信息提取,采用若干CBS模塊、高效層聚合網(wǎng)絡(luò)(ELAN)和雙分支下采樣(MP)結(jié)構(gòu),其中,CBS模塊由卷積層、批量歸一化層、激活函數(shù)層組成。
ELAN通過不同長度的梯度路徑實現(xiàn)了不同特征層之間的增強交互。而MP結(jié)構(gòu)則分為上下兩分支,上分支通過Maxpool 層結(jié)合CBS模塊進(jìn)行下采樣,下分支使用步長為2 的卷積CBS模塊進(jìn)行下采樣,再將兩個分支的輸出進(jìn)行拼接(Concat)操作,保持通道數(shù)相同的同時實現(xiàn)了特征層的壓縮和融合,其結(jié)構(gòu)如圖2所示。
1.3 Head
Head 中包含了Neck 模塊和檢測頭部分,在Neck 模塊中進(jìn)行兩次特征融合保留更多的淺層信息,SPPCSPC模塊通過不同尺寸的最大池化增大感受野,提高了速度和精度并減少了網(wǎng)絡(luò)計算量。UP模塊調(diào)整輸入特征圖的通道數(shù)并進(jìn)行上采樣與淺層信息進(jìn)行融合。Concat操作將不同輸入的特征圖進(jìn)行通道維數(shù)的拼接。ELAN-H與ELAN的不同之處在于將每一層的CBS進(jìn)行Concat操作以保留更多的特征信息。MP通過調(diào)整特征圖的通道數(shù)為原來的兩倍并采用下采樣調(diào)整與淺層特征圖大小一致,便于特征圖之間的Concat操作。其結(jié)構(gòu)如圖3所示。
RepConv 模塊則采用了重參數(shù)化卷積架構(gòu),Rep 網(wǎng)絡(luò)為一個三分支的網(wǎng)絡(luò),通過不同大小的卷積進(jìn)行特征提取,增強了模型對特征信息的提取能力,在訓(xùn)練期間通過特征提取和平滑操作及特征疊加實現(xiàn)高效的特征表示。
2 YOLOv7算法改進(jìn)
YOLOv7 憑借其先進(jìn)性得到了廣泛的應(yīng)用,在Neck 模塊使用PAFPN 的網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)由FPN和PAN組成,其中,F(xiàn)PN 從高維度向低維度傳遞語義信息,PAN是低維度傳遞位置信息,從而實現(xiàn)圖像在不同尺寸下對同一目標(biāo)的識別,但經(jīng)過網(wǎng)絡(luò)層次較深的多次網(wǎng)絡(luò)卷積后,圖片背景信息的迭代會產(chǎn)生大量的冗余信息,損害了不相鄰級別的融合效果。本文采用AFPN 替換PAFPN 和ECIoU 替換原有的CIoU損失函數(shù),以達(dá)到更好的檢測效果。
2.1 AFPN
漸近式特征金字塔結(jié)構(gòu)與許多基于特征金字塔網(wǎng)絡(luò)[11]的目標(biāo)檢測方法一樣,在進(jìn)行特征融合之前從Backbone 中提取不同Level 的特征,從而產(chǎn)生一組不同尺度的特征,AFPN結(jié)構(gòu)如圖4所示。
因為非相鄰層次特征之間的語義差距大于相鄰層次特征間的語義差距,尤其是底部和頂部特征,這直接導(dǎo)致非相鄰層次特征的融合效果較差,所以直接使用3 個不同層次的特征圖進(jìn)行融合是不合理的。在Backbone 自下而上的特征提取過程中,AFPN 采用漸近的方式集成了Low- Level,High-Level 和頂級特征,漸近融合過程中,AFPN首先將融合Low-Level 的特征,然后融合更深層的特征,即更抽象的特征。由于AFPN 的架構(gòu)是漸近的,這將使不同Level 特征的語義信息在漸近融合過程中更加接近,減少了不同層級特征進(jìn)行融合時的語義差異。
在多級融合的過程中,利用ASFF[12] 為不同Level 的特征分配不同的空間權(quán)重,增強了關(guān)鍵Level 的重要性,并減輕了來自不同目標(biāo)的矛盾信息的影響。加入了AFPN 的YOLOv7 網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。特征向量的線性組合表達(dá)如式(1)
式中:x1 → lij 為從Level1 到Levell 的位置(i,j)處的特征向量;αlij ,βlij 和γlij 分別為在levell 空間的3 個權(quán)重,權(quán)重分布受αijl + βijl + γijl = 1 的約束。使用AFPN 模塊替換PAFPN 在保持檢測精度不受影響的前提下,降低了網(wǎng)絡(luò)模型的計算復(fù)雜和參數(shù)量。
2.2 損失函數(shù)改進(jìn)
損失函數(shù)作用于計算預(yù)測與實際數(shù)據(jù)的差距,是衡量模型預(yù)測和實際效率的重要依據(jù)。為了進(jìn)一步提高網(wǎng)絡(luò)模型的訓(xùn)練效率,并使得模型可以收斂至更高的精度,本文對YOLOv7 的回歸損失函數(shù)進(jìn)行了改進(jìn)。
2.2.1 CIoU損失函數(shù)
在YOLOv7 中,回歸損失函數(shù)采用的是CIoU[13]損失函數(shù),CIoU 損失函數(shù)在設(shè)計上考慮了目標(biāo)框的形狀信息,通過引入修正因子,使得損失對于不同形狀的目標(biāo)框更具魯棒性。這使得模型更容易捕捉目標(biāo)的準(zhǔn)確形狀。
CIoU通過使用交并比[14]、歐式距離以及對應(yīng)長寬比來測量預(yù)測框與真實框的重疊區(qū)域。其函數(shù)表達(dá)如式(2)~式(5)
式中:α 為權(quán)重參數(shù);v 為度量長寬比的相似性;RCloU 為差異懲罰項;ρ2(b,bgt) 為預(yù)測框和真實框之間的歐氏距離;C 為預(yù)測框與真實框的最小重疊區(qū)域的對角線距離。
2.2.2 EIoU損失函數(shù)
在CIoU 損失函數(shù)中v 表示的是長寬比的懲罰項,這可能導(dǎo)致預(yù)測框的長寬比逐漸接近真實框的長寬比時,對損失函數(shù)的梯度產(chǎn)生影響,進(jìn)而阻礙模型繼續(xù)優(yōu)化相似度,且模型逼近目標(biāo)的寬高比時,訓(xùn)練變得不穩(wěn)定。為解決該問題,EIoU[15]在CIoU的基礎(chǔ)上分別計算寬高的差異值取代了縱橫比,同時引入Focal Loss 解決難易樣本不平衡的問題。重新計算預(yù)測框與真實框的長寬,解決CIoU有可能阻止進(jìn)一步有效地優(yōu)化相似度的問題。EIoU 損失函數(shù)涉及到對預(yù)測框和真實框的嵌入向量進(jìn)行優(yōu)化,這可能增加了計算復(fù)雜性。在某些情況下,特別是當(dāng)存在邊界框的邊長差距較大時,可能會導(dǎo)致訓(xùn)練速度較慢。EIoU的損失函數(shù)如式(6)
2.2.3 Efficient-CIoU損失函數(shù)
為解決EIoU 和CIoU 損失函數(shù)存在的問題,本文采用結(jié)合了CIoU 與EIoU 優(yōu)點的Efficient-CIoU損失函數(shù),Efficient-CIoU 引入了更多的幾何信息,包括對中心坐標(biāo)、寬度和高度的優(yōu)化,以及引入了完整的外接矩形信息。這使得Efficient-CIoU在處理邊界框之間的相對關(guān)系時更為全面,有助于提高模型對于各種目標(biāo)形狀和尺寸的適應(yīng)能力。
在訓(xùn)練過程中模型先采用CIoU 進(jìn)行回歸損失計算,將預(yù)測框的縱橫比進(jìn)行優(yōu)化,優(yōu)化到一個合適值后,每個預(yù)測框的邊緣再由EIoU進(jìn)一步優(yōu)化,直到收斂到一個預(yù)期值。Efficient-CIoU的改進(jìn)旨在提高損失函數(shù)與目標(biāo)形狀的一致性,從而更好地指導(dǎo)模型進(jìn)行邊界框回歸。Efficient-CIoU損失函數(shù)如式(7)
3 實驗與分析
3.1 實驗數(shù)據(jù)集
實驗用到的數(shù)據(jù)集為SM-dataset,本數(shù)據(jù)集是人工拍攝和收集互聯(lián)網(wǎng)上含有云和霧等復(fù)雜場景的煙霧圖片(圖6),并使用LabelImg 軟件進(jìn)行標(biāo)注打上高質(zhì)量的標(biāo)簽(圖7)。數(shù)據(jù)集中包含不同時間和不同照明條件下的圖片。SM 數(shù)據(jù)集中總共包含11 596 張圖像,其中訓(xùn)練集包含9 276 張圖像,測試集中包含有2 320 張圖像。這些圖像在訓(xùn)練集和測試集中沒有重復(fù)的圖像。
3.2 實驗設(shè)備與評價指標(biāo)
在本文的算法驗證中,實驗的硬件配置為Intel i7-10700,GPU型號為NVIDIAGeForce GTX 1660Ti,顯存6 GB,內(nèi)存8 GB,操作系統(tǒng)為Windows11。本文所有實驗的全局迭代次數(shù)均為100 次,深度學(xué)習(xí)框架為Pytorch,代碼全部使用Python 語言實現(xiàn)。實驗平臺參數(shù)如表1所示。
本文采用的評價指標(biāo)為(mean average precision,mAP),即平均精確度均值,該評價指標(biāo)與精確度(precision, P)和平均精確度(average precision,AP)有關(guān),模型復(fù)雜度用參數(shù)量Parameter,以及計算量GFLOPs 來評價,計算復(fù)雜度用于評估模型的性能,1 GFLOPs=109 FLOPs,F(xiàn)LOPs 是一個浮點操作數(shù),用于測量模型的復(fù)雜性。評價指標(biāo)具體公式如下
3.3 實驗結(jié)果與分析
為驗證本文所提出的改進(jìn)YOLOv7網(wǎng)絡(luò)模型中各模塊的檢測效果,在煙霧檢測實驗中,設(shè)置了消融實驗,將改進(jìn)YOLOv7 模型中的各個模塊逐個進(jìn)行改進(jìn)并訓(xùn)練,將實驗結(jié)果與作為Baseline的YOLOv7模型進(jìn)行對比,改進(jìn)模型的消融實驗結(jié)果如表2 所示。從表2可以看出YOLOv7融合了AFPN結(jié)構(gòu)后,參數(shù)量與原模型相比下降了32.2%,計算量下降了21.5%,使得YOLOv7 模型有了更低的模型復(fù)雜度;在實現(xiàn)模型低復(fù)雜度的基礎(chǔ)上將模型原有回歸損失函數(shù)替換為Efficient-CIoU損失函數(shù),改進(jìn)的損失函數(shù)結(jié)合了CIoU 和EIoU 損失函數(shù)的優(yōu)點,在沒有增加參數(shù)量和計算量的前提下與Baseline相比,準(zhǔn)確率P 提升了0.4%,mAP50 值提升了1.2%;在本文提出的模型中,將AFPN結(jié)構(gòu)和損失函數(shù)E-CIoU同時進(jìn)行融合替換,實驗結(jié)果表明,與YOLOv7 相比,改進(jìn)模型檢測準(zhǔn)確率P 提升了1.3%,mAP50 提升了1.8%,參數(shù)量下降了32.2%,模型計算量下降了21.5%。本文提出的方法和基準(zhǔn)方法相比,體現(xiàn)出了改進(jìn)模型更好的檢測性能和更低的網(wǎng)絡(luò)復(fù)雜度。算法改進(jìn)前后性能對比如圖8所示。
為了進(jìn)一步驗證本文方法的有效性,本文在SM 煙霧數(shù)據(jù)集上與另外幾種檢測方法進(jìn)行了對比,其中,RetinaNet 是具有代表性的單階段目標(biāo)檢測算法,F(xiàn)aster-RCNN是經(jīng)典的二階段目標(biāo)檢測算法,SM-YOLO是相關(guān)研究者提出的煙霧檢測算法,這3 種算法可以作為依據(jù)驗證算法的有效性。檢測結(jié)果如表3所示。
4 結(jié)論
采用YOLOv7 作為煙霧檢測任務(wù)的基準(zhǔn)模型,通過對YOLOv7 模型進(jìn)行改進(jìn)并在煙霧數(shù)據(jù)集上進(jìn)行實驗測試,得出以下結(jié)論。
1)本文提出基于改進(jìn)YOLOv7 的煙霧檢測算法。通過將YOLOv7 模型Neck 部分的PAFPN結(jié)構(gòu)替換為AFPN網(wǎng)絡(luò)結(jié)構(gòu),降低了網(wǎng)絡(luò)的參數(shù)和計算復(fù)雜度,有效提高了網(wǎng)絡(luò)對圖像中煙霧目標(biāo)特征的提取,同時采用Efficient-CIoU 作為模型回歸的損失函數(shù),提升了模型的檢測精度和準(zhǔn)確率。
2)實驗結(jié)果表明,改進(jìn)后的YOLOv7 算法對煙霧檢測的準(zhǔn)確率可以達(dá)到68.6%,mAP50 達(dá)到64.6%,相比較于原模型,改進(jìn)后的檢測性能更好,模型參數(shù)更少。因此將該改進(jìn)算法應(yīng)用于煙霧檢測任務(wù)中,可以提高煙霧檢測的識別效率,有望在火災(zāi)預(yù)防工作中發(fā)揮關(guān)鍵作用。
參考文獻(xiàn):
[1 ] HURTIK P, MOLEK V, HULA J, et al. Poly-YOLO: higher speed, more precise detection and instance segmentation for YOLOv3[J]. Neural Computing and Applications, 2022, 34(10): 8275-8290.
[2] HUO Y, ZHANG Q, JIA Y, et al. A deep separable convolutional neural network for multiscale image-based smoke detection[J]. Fire Technology, 2022, 58: 1445-1468.
[3] ARIFANDO R, ETO S, WADA C. Improved YOLOv5-based lightweight object detection algorithm for people with visual impairment to detect buses[J]. Applied Sciences, 2023, 13(9): 5802.
[4] INBAR O, SHAHAR M, GIDRON J, et al. Analyzing the secondary wastewater-treatment process using Faster R-CNN and YOLOv5 object detection algorithms[J]. Journal of Cleaner Production, 2023, 416: 137913.
[5] 楊大為,張成超.基于改進(jìn)YOLOv7的安全帽佩戴檢測 算[J].沈陽理工大學(xué)學(xué)報,2024, 43(1): 16-21.
YANG D W, ZHANG C C. Algorithm of Safety Helmet Detection Based on Improved YOLOv7[J]. Journal of Shenyang University of Technology, 2024, 43(1): 16-21.
[6] XIA X, YUAN F N, ZHANG L, et al. From traditional methods to deep ones: review of visual smoke recognition, detection, and segmentation[J]. Journal of Image and Graphics, 2019, 24(10): 1627-1647.
[7] LI F, YAN H, SHI L. Multi-scale coupled attention for visu-al object detection[J]. Scientific Reports, 2024, 14:11191.
[8] GANESH P, VOLLE K, BURKS T F, et al. Deep orange:Mask R- CNN based orange detection and segmentation [J]. Ifac-papersonline, 2019, 52(30): 70-75.
[9] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: To-wards real-time object detection with region proposal net-works[J]. IEEE transactions on pattern analysis and machine intelligence, 2016, 39(6): 1137-1149.
[10] QIN L, PANG W, ZHAO D. A feature pyramid networkwith adaptive fusion strategy and enhanced semantic in-formation[J]. Multimedia Systems, 2024, 30(4): 1-13.
[11] WANG C, ZHONG C. Adaptive feature pyramid networks for object detection[J]. IEEE Access, 2021, 9(1): 107024-107032.
[12] SHEN S, ZHANG X, YAN W, et al. An improved UAV target detection algorithm based on ASFF-YOLOv5s[J]. Mathematical biosciences and engineering: MBE, 2023, 20(6): 10773-10789.
[13] ZHANG S, LI C, JIA Z, et al. Diag-IoU loss for object de-tection[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2023, 33(12): 7671-7683.
[14] LIU X B, YANG X Z, ZHAO S T, et al. Object detection method based on CIoU improved bounding box loss func-tion[J]. Chinese Journal of Liquid Crystals and Displays, 2023, 38(5): 656-665.
[15] ZHANG Y F, REN W, ZHANG Z, et al. Focal and efficient iou loss for accurate bounding box regression[J]. 2021, 506: 146-157.
第一作者:占華林(1980—),男,副教授,碩士生導(dǎo)師,博士研究生。研究方向為人工智能、嵌入式開發(fā)。E- mail:james392@163.com。
通信作者:姜楠(1981—),男,教授,博士,博士生導(dǎo)師,入選江西省“雙千計劃”、省杰出青年基金、省政府特殊津貼、省主要學(xué)科學(xué)術(shù)和技術(shù)帶頭人、省百千萬人才工程等。研究方向為人工智能、物聯(lián)網(wǎng)、土木基礎(chǔ)設(shè)施智慧運維等。E-mail:jiangnan1018@gmail.com。
(責(zé)任編輯:李根)
基金項目:國家自然科學(xué)基金項目(62172160,62061019)