













關鍵詞:煙火檢測;雙向特征金字塔;YOLOv8s;多尺度卷積注意力
中圖分類號:TP391 文獻標志碼:A 開放科學(資源服務)標識碼(OSID):
文章編號:1003-3106(2024)11-2566-10
0引言
當今社會,城市化進程正在迅速發展,城市建設規模與復雜性不斷增加。然而,隨著城市規模的擴大和建筑結構的復雜化,城市面臨著各種安全挑戰,包括火災。火災不僅對人們的生命和財產構成巨大威脅,還可能對城市的穩定運行和社會秩序產生嚴重影響。在城市建設中,高層建筑、商業中心和人口密集區域等地存在著潛在的火災風險,有效的火災檢測與預防成為城市安全管理的當務之急。目前市面上大多采用傳感器進行煙火檢測[1],然而這種方法存在成本高昂、覆蓋范圍有限以及難以應對復雜的城市環境等問題。為解決傳感器檢測存在的弊端,有學者提出傳統圖像處理的方法[2]。傳統的圖像處理方法主要依靠分析火焰和煙霧的顏色、輪廓和運動等物理特征進行火災檢測。Kim 等[3]提出了一種創新性的方法,采用了RGB 顏色模型,提高了火災檢測的效果,但是泛化能力不足,可能無法有效應對不同類型的火災或煙霧,以及一些復雜環境的挑戰。
隨著計算機視覺和深度學習的不斷發展,將深度學習網絡模型應用于煙火檢測成為近年來的研究熱點。Wu 等[4]使用Faster R-CNN[5]、YOLO[6-9]、SSD[10]等經典目標檢測網絡實時檢測森林火災,提高了檢測準確率,但未能實現在嵌入式硬件平臺上的低成本實現。Zhang 等[11]提出了一種基于Faster R-CNN的煙霧檢測方法,取得了不錯的檢測精度,但是檢測速度比較慢,不符合煙火檢測的實時性要求。YOLO 系列可以在檢測精度和實時性這兩方面達到較好的平衡。羅小權等[12] 提出了一種改進的YOLOv3 火災檢測方法,以提升火災檢測的準確性和速度。然而,這一方法的誤報率較高,不符合實際工業需求。王一旭等[13]也對YOLOv5s 模型進行了改進,成功提高了模型對煙火的檢測精度。
深度學習算法在煙火檢測領域仍然存在一些問題,煙火的形狀和顏色多種多樣,而且受天氣、光照和背景等多種因素影響,容易導致深度學習網絡模型煙火檢測的準確度不高、高誤檢率問題,而且現在的煙火檢測耗時比較長。
針對上述問題,本文引入了基于YOLOv8s 改進的煙火檢測模型,以解決當前深度學習中煙火檢測存在的精度低、誤檢率高和耗時長等問題。
1YOLOv8s網絡模型
YOLOv8 是最新的YOLO 模型,根據網絡的深度和寬度分為YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l 和YOLOv8x 不同版本,它們的網絡結構相同,唯一的差異在于網絡的深度和寬度不同。YOLOv8s 具有較少的參數量和計算量,同時精度又能滿足煙火檢測的需求,因此本文選擇YOLOv8s 作為改進模型。
YOLOv8s 模型的架構主要由三部分組成:主干部分(Backbone )、頸部(Neck )網絡和輸出頭(Head)。Backbone 主要負責從輸入圖像中提取特征,然后在主干中選擇3 個有效的特征層輸入到YOLOv8s 的Neck 中。Neck 的主要任務是融合多尺度的特征,生成特征金字塔,為后續任務提供更多信息。Neck 網絡采用PANet[14]結構,該結構由特征金字塔網絡(Feature Pyramid Network,FPN)和路徑聚合網絡(Path Aggregation Network,PAN)兩部分組成。FPN 首先從卷積神經網絡中提取特征圖,構建特征金字塔,然后自頂向下進行上采樣和特征圖的融合。在這個過程中,每一層特征圖的信息都與上下相鄰層的特征圖進行融合,這樣可以保留高層特征圖中的目標信息,同時可以充分利用底層特征圖中的背景信息。PAN 是一種用于增強FPN 性能的網絡結構,引入了路徑聚合的概念,通過自底向上的結構,從不同層級的特征圖中提取信息并將其融合,充分保留了空間特征信息。YOLOv8 使用了解耦頭(Decoupled Head),使用2 個卷積分別做分類和回歸。
YOLOv8s 主要由CBS 模塊、C2f 模塊和快速空間金字塔池化(Spatial Pyramid Pooling-Fast,SPPF)模塊組成。CBS 模塊由Conv、BN 和SiLU 激活函數構成。YOLOv8s 創新性地引入了C2f 結構,這是對殘差特征進行學習的重要組成部分,能夠高效地捕獲豐富的梯度流信息。在模型主干網絡的最后一層,引入了SPPF 結構,這一結構通過一系列連續的5×5 卷積核最大池化操作,分別捕捉感受野大小為5、9、13的信息。隨后,這些經過SPPF 處理的特征層與未經處理的特征層進行融合,以綜合不同尺度的特征信息,從而提高模型的性能。YOLOv8 的網絡結構如圖1所示。
2YOLOv8s 算法改進策略
2.1高效多尺度注意力機制
在煙火場景檢測中,光照變化問題可能會導致圖像的亮度分布不均勻,影響煙火目標與周圍背景的對比度。此外,煙火本身具有高度的動態性,在空中迅速移動和變形,這種運動性質使得煙火目標的邊緣和輪廓變得模糊不清,會降低煙火檢測的準確性。其次,周圍環境可能呈現出錯綜復雜的場景,包括大量建筑物、道路、車輛以及人群等各種背景元素,這些背景元素會在圖像中引入大量冗余信息和干擾,導致煙火目標難以從復雜的背景中分離出來。近年來,注意力機制在計算機視覺領域得到了廣泛應用,其基本原理是在強化有用特征信息的同時,抑制無用特征信息,使模型能夠更自適應地關注圖像中的重要區域。傳統的Squeeze-and-Excitation(SE)[15]注意力機制主要關注于構建通道之間的相互依賴關系,對空間特征的考慮較少。卷積塊的注意力模塊(Convolutional Block Attention Module,CBAM)[16]通過有效結合空間注意力和通道注意力提高了模型性能,但只能有效地捕獲本地信息,難以建立長距離通道依賴性。坐標注意力(CoordinateAttention,CA)[17]機制將精確的位置信息嵌入到通道中,并在空間上捕捉長距離的相互作用,提高了性能,2 個1D 全局平均池化被設計用于沿2 個空間維度方向對全局信息進行編碼,并分別沿不同維度方向在空間上捕獲長程相互作用。然而,它忽略了整個空間位置之間相互作用的重要性,此外,1×1 卷積的有限感受野阻礙了局部跨通道相互作用的建模和利用上下文信息。高效多尺度注意力(EfficientMulti-scale Attention,EMA)模塊[18]提出了一種新的跨空間學習方法,設計了一個用于建立短期和長期依賴關系的多尺度并行子網絡,而且考慮了一種通用方法,將部分通道維度重塑為Batch 維度,以避免通過通用卷積進行某種形式的降維。與CBAM、空間注意力(Spatial Attention,SA)和CA 相比,EMA 不僅具有更高的性能,而且在所需參數方面更高效。因此在模型中引入了EMA 機制,EMA 模塊如圖2 所示。
2.2融合BiFPN思想
YOLOv8s 頸部采用了FPN+PAN 結構,FPN 的核心特點是自頂向下的特征傳遞和橫向連接,目標是通過金字塔形式的特征連接,將不同尺度的特征圖融合在一起,將高層次的特征與低層次的特征相結合。雖然FPN 與PAN 的結合增強了網絡的特征融合能力,但帶來了一個潛在問題,即PAN 結構的輸入完全依賴于FPN 結構處理的特征信息,而來自骨干特征提取網絡的原始信息可能會部分丟失。這種缺乏原始信息的參與可能會導致模型訓練的偏差,從而影響檢測的準確性。為了解決這一問題,從特征融合的角度出發,引入了加權雙向特征金字塔(Bi-directional Feature Pyramid Network,BiFPN)[19]結構,以增強底層信息的表現。通過BiFPN,可以更好地利用骨干特征提取網絡中的原始信息,將其與FPN 和PAN 結構處理的特征信息相結合。這種全方位的特征融合方式有助于減輕由于原始信息丟失而導致的偏差問題,促進多尺度融合,從而提高模型的檢測性能。
在原始的YOLOv8s 網絡中,下采樣倍數比較大,這會導致高層特征圖在經過多次卷積處理后,逐漸喪失了細節信息,深層特征圖很難有效地捕獲小目標的特征信息。這意味著在高級語義信息中,包含較少關于小目標的有用信息。本文的煙火數據集中包含較多的小目標信息,數據集目標框大小分布如圖3所示,橫/ 縱坐標分別代表標簽寬/ 高度與對應數據本身寬/ 高度的比值。
在YOLOv8s 網絡融合BiFPN 的基礎上增加一個160×160 的小目標檢測層,會有效增強小目標的語義信息和特征表達能力,但是會增加不少的參數量和計算量,降低煙火檢測的速度,而煙火檢測對于實時性的要求比較高。為了充分利用P2層的小目標信息同時又不增加比較多的參數量和計算量,創新性地將P2 層的特征融合在BiFPN中。首先對P2 層的特征圖進行下采樣操作,以確保與BiFPN 中的下一層特征圖具有相同的分辨率,將下采樣后的P2 層特征圖通過Concat 融合在BiFPN 的自底向上的特征傳遞中,然后輸入到C2f模塊進一步特征提取。這樣既可以有效利用小目標的語義信息,又不會增加許多的計算量和參數量。P2 層的特征圖具有較高的分辨率,包含大量無關的背景信息和冗余特征信息。為了更有效地利用P2 層的特征信息,在P2 特征圖進行下采樣后添加一個EMA 機制模塊,可以有效抑制無關信息,提取更加有用的特征信息。為了有效減少參數量、計算量和模型權重大小,在主干網絡的P2、P3、P4、P5 四個特征層后添加1 ×1 卷積核的普通卷積進行通道數的壓縮。改進后的BiFPN 結構如圖4 所示,P2、P3、P4、P5為經過主干網絡提取的特征層,每層中的4、8、16、32 代表原圖的下采樣倍數。
2.3CARAFE
YOLOv8s 中默認采用最近鄰插值的上采樣方法,這種方法僅僅依靠像素點的空間位置來進行上采樣,屬于一種均勻的上采樣方式,無法有效地利用特征圖的語義信息。此外,最近鄰插值的特征感知范圍相對較小。因此,引入了一種輕量級通用上采樣算子——Content-Aware ReAssembly of Features(CARAFE)[20],它擁有更大的感知范圍,可以更充分地利用特征圖的語義信息,并且能夠在大的感受野內進行上下文信息的聚合,同時不會引入過多的參數和計算負擔。CARAFE 算子具有內容感知的處理,不會對所有樣本使用固定的內核,而是支持特定于實例的內容感知處理,能夠實時生成自適應的內核。因此,在YOLOv8s的頸部部分,將CARAFE 替代原來的上采樣方法,有助于提高模型對特征信息的捕捉和語義信息的利用,同時不會增加過多的計算負擔。CARAFE 模塊如圖5所示。
CARAFE 分為2個主要模塊:上采樣核預測模塊和特征重組模塊。在給定一個輸入特征圖(形狀為H×W×C)和上采樣倍率σ 的情況下,CARAFE 的工作流程如下。
特征重組模塊:對于輸出特征圖的每個位置,將其映射回輸入特征圖,取出以之為中心的kup ×kup 的區域,然后與預測的上采樣核進行點積運算,得到輸出值。相同位置但不同通道的特征圖共享同一個上采樣核。將所有位置的運算結果匯總,得到輸出特征圖,其形狀為σH×σW×C。
2.4輕量化的多尺度卷積注意力檢測頭設計
YOLOv8s 采用了Decoupled Head,將回歸分支和預測分支進行分離,每一個分支都會進行2 個3×3 卷積核的CBS 模塊和一個1 ×1 卷積核的Conv2d模塊,這樣會產生許多計算量和參數量。煙火檢測對于實時性要求比較高,模型的輕量化設計有助于提升模型檢測的速度。因此重新設計了檢測頭,采用共享權重參數的方式,從頸部輸出的3 個特征層進入檢測頭后,經過一系列共享權重參數的模塊提取特征,將回歸分支和預測分支進行分離,每一個分支采用1×1 卷積核的Conv2d 模塊進行回歸預測,共享權重參數的設計可以有效地減少參數量和計算量,從而提升模型的運行速度。本文設計了一種多尺度卷積注意力(Multi-scale Convolutional Attention,MCA)模塊共享權重參數。多尺度卷積可以同時處理不同尺度的特征,能夠捕獲圖像中各種尺寸的信息并且同時考慮不同尺度上的上下文信息,這有助于模型更好地理解圖像中物體之間的關系,提供更多的語境,從而提高檢測性能。而普通卷積在單一尺度上進行操作,可能會錯過或模糊小尺寸或大尺寸的特征。普通卷積只關注局部信息,可能無法捕獲足夠的上下文信息。另外,在多尺度的基礎上添加注意力機制可以在強化有用特征信息的同時,抑制無用特征信息,使模型能夠更自適應地關注圖像中的重要區域。MCA 在前向傳播中,首先輸入特征被分成多個組,然后每個組的特征分別經過不同卷積核大小的卷積層和EMA 機制處理,最后將各尺度的特征融合在一起,通過1×1 卷積得到最終輸出。MCA 模塊如圖6 所示。
輕量化多尺度卷積注意力檢測頭如圖7所示。
2.5SPPFCSPC_Group
YOLOv8s 中引入了SPPF,允許模型在不同尺度上對特征圖進行池化操作,有助于捕獲不同尺寸目標的特征,并增加了感受野。但在池化過程中會損失一些空間信息,這可能導致模型在處理一些需要詳細空間信息的任務時性能下降。YOLOv7 設計了空間金字塔池化跨階段部分連接(Spatial PyramidPooling Cross Stage Partial Connection,SPPCSPC),該模塊使用了具有CSP 結構的SPP 擴大感受野,在SPP 結構中引入了CSP 結構,具有一個大的殘差邊輔助優化與特征提取,相對于SPPF 具有更好的表現但是具有更大的參數量和計算量。本文引入結合了SPPCSPC 和SPPF 優點的SPPFCSPC 模塊,考慮到會增加比較多的參數量和計算量,采用組卷積(Group Convolution)的思想減少參數量和計算量。Group Convolution 是一種卷積神經網絡中的卷積操作,將輸入通道分成多個組,每個組內的通道進行獨立的卷積操作,然后將各個組的輸出特征圖合并在一起,在減少參數量的同時,保持網絡的表征能力。
通過對比式(1)和式(2),分組卷積可以有效減少參數量,使用組卷積進行重構SPPFCSPC。SPPF-CSPC_Group 模塊如圖8所示。
3實驗設計與結果分析
3.1數據集
本文所用的數據集是從公開數據集FASDD上選取1800張圖像作為訓練集、250 張圖像作為驗證集和400張圖像作為測試集,數據集包含煙霧和火焰2 個類別。
3.2實驗環境與參數配置
本文的實驗環境為:Windows 11 系統;CPUIntel(R)Core(TM)i9-10900X CPU @ 3. 70 GHz;內存64 GB;GPU NVIDIA GeForce RTX 3090;顯存24 GB。深度學習框架采用PyTorch,編程語言采用Python 3.8,在Pycharm 中搭建實驗環境。選用YOLOv8s 網絡,基本采用官方推薦參數,在此基礎上更改的參數設置如表1所示。
3.3評價指標
本文采用的指標主要有精確率(Precision)、召回率(Recall )、平均精度均值(mean AveragePrecision,mAP)、Param、計算量(GFLOPs)、模型權重大小(單位MB)和檢測速度(FPS)。檢測耗時是在batchsize 設置成1 的情況下單張圖片預測所需要的時間(單位ms ),FPS 為1 000 / 檢測耗時。Precision 是指在所有模型預測為正類別的樣本中,實際上是正類別的比例。Precision 衡量了模型在正類別預測中的準確性。Precision計算如下:
式中:FN 表示模型錯誤預測為負類別的樣本數量。
mAP 是目標檢測任務中常用的評估指標,它綜合了模型在不同類別上的精確率-召回率曲線(Pre-cision-Recall Curve)并計算了平均值,衡量了模型在多類別上的檢測性能,常用于評估目標檢測算法的整體效果。
3.4實驗結果與分析
3.4.1消融實驗
為了驗證本文算法,通過多個模塊組合的方式進行消融實驗,在測試集上的實驗結果如表2 所示。由表2 可以看出,以YOLOv8s 為基線模型,引入融合EMA 的BiFPN 后,mAP 提升了2.4% ,參數量、計算量和模型權重分別下降了3.46×106,2. 6,6.2 MB;在此基礎上添加輕量級通用上采樣算子CARAFE后,mAP 提升了0. 2% ;在此基礎上改進檢測頭,mAP提升了0.4% ,參數量、計算量和模型權重分別下降了0. 89×106,5,1.7 MB;添加分組卷積空間金字塔池化SPPFCSPC_Group 模塊,mAP 提升了0.4% 。最終改進的模型相較于基準YOLOv8 模型,mAP 提升了3.4% ,參數量、計算量和模型權重分別下降了4. 18×106 ,7.1,7.1 MB,證明了本文所提算法的有效性。
為了更加全面地研究本文算法的性能,進行數據可視化工作,以呈現改進模型(Improve_YOLOv8s)與YOLOv8s 之間的性能比較。專注于這2個模型在150 輪訓練過程中的Precision、Recall、mAP_0.5和mAP_0. 5:0. 95 的變化情況,其中mAP _0.5是在IoU 閾值為0.5計算的精度,mAP_0.5:0.95是在IoU 閾值為0. 5 ~ 0.95 計算的平均精度。對比數據如圖10 所示。
3.4.2對比實驗
為了更深入地研究本文所提改進模型在煙火檢測任務中的性能,進行了一系列與其他主流目標檢測模型的對比實驗,包括Faster R-CNN、SSD、YOLOv5s、YOLOv8s 以及YOLOv7-tiny。在相同的數據集和訓練參數下進行了對比實驗,實驗結果如表3 所示。由表3 可以看出,本文改進模型的mAP、精度和召回率優于YOLOv5s、YOLOv8s 和YOLOv7-tiny 模型;改進模型精度略低于SSD,但是召回率高出SSD 不少;召回率低于Faster R-CNN,但是精度高出Faster R-CNN 不少;在參數量、計算量和模型權重大小方面,相對于SSD 和Faster R-CNN,本文改進的模型具有非常明顯的優勢;本文改進算法的FPS 基本滿足煙火檢測的實時性要求。從各個指標綜合考慮,本文的改進模型更加適合煙火檢測。
3.4.3實驗效果驗證
為了展示模型性能的提升,本文選擇了測試集中不同場景下的圖像,對比改進前后的模型檢測效果以便清晰地展現改進所帶來的差異。對比效果如圖11 所示,左側展示了原始的YOLOv8s 模型的檢測結果,右側則呈現了改進后模型的檢測效果。圖11(a)中左圖受背景干擾沒有識別出煙霧和小目標火焰,右圖識別出了淡色的煙霧和小目標火焰,提升了檢測精度和小目標的檢測性能;圖11(b)中右圖比左圖在背景復雜的環境下識別火焰更加的全面準確,同時煙霧識別的置信度更高;圖11(c)中左圖受背景干擾錯誤地把地面識別成了煙霧,煙霧中的火焰也未識別出來,右圖準確地識別出了煙霧中的火焰,未把地面識別成煙霧,減少了漏報和誤報問題。
4結束語
為了解決目前城市背景煙火檢測方法存在檢測精度不高,易出現誤檢、漏檢和耗時長等問題,本文提出了一項改進YOLOv8s 的煙火檢測模型,首先選擇了一部分來自公開數據集FASDD 的數據,并在這些數據集上引入了陽光和白云等各種干擾因素,增強模型的魯棒性;改進的模型引入BiFPN 增強特征融合;添加基于跨空間學習的EMA 突出目標特征;引入了CARAFE 有效地利用特征圖的語義信息;設計了一種MCA 添加到檢測頭輕量化設計;引入分組卷積空間金字塔池化SPPFCSPC_Group 模塊更有效地提取特征。改進的模型相比于YOLOv8s 基準模型,減少了參數量、計算量和模型權重大小,并且精度有比較大的提升。
作者簡介
于泳波 男,(2000—),碩士研究生。主要研究方向:計算機視覺。
袁棟梁 男,(1993—),博士研究生。主要研究方向:計算機視覺。
孫振 男,(1986—),博士,副教授,碩士生導師。主要研究方向:計算機視覺、人工智能、數據分析。中國計算機學會會員,ISA Transactions審稿人。
朱靈茜 女,(1998—),碩士研究生。主要研究方向:計算機視覺。嚴增興 男,(1978—),博士,教授。主要研究方向:校園智慧安防。
鞠瑞文 男,(2000—),碩士研究生。主要研究方向:計算機視覺。
(*通信作者)李慶黨 男,(1973—),博士,教授,博士生導師,泰山學者海外特聘專家。主要研究方向:智能制造系統及其裝備、人工智能及大數據。