劉飛躍,沈靖夫,楊一帆,許之遠,張元良
(江蘇海洋大學海洋工程學院,江蘇連云港 222005)
船舶上火災事故是海上主要事故類型之一,據(jù)統(tǒng)計船舶火災事故約占船舶總事故的12%。海上船只一旦發(fā)生火災往往會帶來很大的人員傷亡和財產損失[1]?;馂漠a生時往往伴隨著高溫、高熱量、大量煙霧等現(xiàn)象。傳統(tǒng)的火災檢測主要通過布置傳感器進行監(jiān)測,如:感光型、感溫型、感煙型等傳感器類型。但是火災剛發(fā)生時往往目標很小,蔓延到一定程度才能被這些傳感器檢測到[2],所以傳統(tǒng)方法響應時間過長,不能在第一時間檢測到火災的發(fā)生。
隨著近年來計算機的算力飛速發(fā)展,深度學習逐漸應用于各個行業(yè),在基于圖像的目標檢測、目標分類等領域均應用良多。相較于傳統(tǒng)的傳感器火災檢測系統(tǒng),基于圖像的檢測系統(tǒng)因為可以與監(jiān)視器和網絡互聯(lián),具有響應快、處理迅速等特點,有利于更快發(fā)現(xiàn)火災情況以便于及時作出應對。
在眾多目標檢測的算法中YOLO[3]算法憑借著模型小、效率高、可以部署在移動端等優(yōu)勢脫穎而出。Wu[4]等人提出了適應于部署在移動設備的輕量化網絡tiny-YOLO。Wang[5]等人提出改進的Tiny-YOLOv3算法,其生成的模型的尺寸比原模型更小,性能比原模型更優(yōu)。Xie[6]等人通過在YOLOv4 中改進候選框,增加通道注意力機制來提高火焰識別精度。Wang[7]等人提出將YOLOv5的三輸出改為四輸出來提高小目標檢測的精度與特征融合能力。Li[8]通過提出Grow up 數(shù)據(jù)增強算法來進行數(shù)據(jù)集處理,并基于YOLOv4提出了SF-YOLO,使用Ghost 卷積替代普通卷積模塊設計了輕量型GSF-YOLO 算法。Zhang[9]等人通過引入焦點損失函數(shù),結合火焰靜態(tài)和動態(tài)兩種特征設計出多特征的融合方法,從而降低誤報火焰的目的。
為了適應船上復雜的空間情況,本文在基礎的火焰數(shù)據(jù)集上增加了船上和倉庫的起火照片,同時為使算法可以部署在設備上,盡量采用輕量化的模型,在此模型基礎上提高精度。本文基于YOLOv5網絡進行改進,選用的是小尺度的s 模型,滿足輕量化的條件。旨在通過優(yōu)化后的網絡盡可能又快又準地檢測到火焰,配合警報器第一時間提醒工作人員,在火災造成不可逆局面之前及時處理。
YOLOv5 網絡通過模塊中的寬度和深度的差別,區(qū)分出s、m、l、x 四種主要版本。除了寬度和深度之外,四種版本網絡模型完全一致。此網絡模型由四個部分組成:輸入(Input) ,主干網絡(Backbone),頸部(Neck),和預測頭(Head)。相較于YOLOv5 之前的版本,YOLOv5v6.0把Foucs層換成了6×6的卷積層,采用卷積層的效果不變,且更適應相應的優(yōu)化算法。還將空間金字塔池化(SPP)換成速度更快的空間金字塔池化(SPPF)。本文采用基礎網絡結構是YOLOv5s6.0 版本,網絡模型結構如圖1所示。
圖1 YOLOv5 網絡模型結構圖
Hou[10]等在2021 年中提出了坐標注意力(Coordinate attention,CA)。編碼過程如圖2。該注意力機制將位置信息嵌入到通道注意力中,將通道注意力機制劃分為兩個一維的特征編碼的過程,分別沿兩個空間方向聚合特征,一個方向獲取空間方向的遠程依賴關系,另一個方向保存精確的位置信息。
圖2 CA編碼過程
本文標簽位置分布如圖3,可以看出樣本檢測框尺度并不均衡。為此加入CA模塊以增強網絡的全局感受野以及對目標的精確定位能力,來適應本文不均衡的圖像標注尺度。全局平均池化主要用于通道注意力對全局空間信息進行的編碼。因為需要將全局空間信息壓縮到通道中,所以很難保留位置信息。
圖3 標簽位置分布
CA 為了保存更多的位置信息,分別對水平和垂直兩個方向進行編碼。給定輸入X 后,使用(H,1) 和(1,W) 的池化核分別對x,y 方向進行平均池化。Zc表示第c 個通道的輸出。zhc表示高度h 的第c 個通道的輸出,式(1)如下:
相較于之前沒有劃分x,y 方向的池化,劃分后既可以幫助我們沿著一個方向獲得遠程依賴關系,還可以保留這個方向的位置信息,有助于注意力可以更快速更準確地找到感興趣的地方。
信息在神經網絡中的傳遞方式非常重要,YOLOv5 采用的是路徑聚合網網絡(PANet)[11]。該方法采用了雙向融合,通過由下向上的路徑增強,利用準確的低層定位信號來增強整個特征層次,進而縮短底層與頂層的信息路徑。
本文采用了更為復雜的加權雙向特征金字塔(BiFPN)[12]。該網絡在PANet 的特征融合的基礎上增加橫向連接,做到了在不增加成本的條件下進行更多的特征融合,且在輸出之后進行模塊重復從而獲取更多的特征,網絡結構見圖4。BiFPN 集成了雙向跨尺度連接和快速歸一化融合,可以獲取更大感受野和更豐富的語義信息,特別是小目標檢測的淺層特征,滿足火焰檢測時效性的要求。
圖4
在目標檢測的過程中,邊界框回歸在目標定位的過程中有著十分重要的作用。在YOLO v5 6.0版本中邊界框回歸損失函數(shù)采用的是CIOU[13]。CIOU考慮了預測框和真實框的重疊面積,還有其中心點距離和高與寬的縱橫比,該損失函數(shù)已經非常符合真實框的情況。但是由于只是考慮了縱橫比的差異,并不是寬和高分別與其置信度的真實差異,所以在某些特殊情況下會阻礙模型優(yōu)化。對此有學者提出EIOU[14],它明確地衡量了邊界框回歸(bounding box regression,BBR)中三個幾何因素的差異,即重疊區(qū)域、中心點和邊長。并提出了一個回歸版本的焦點損失,使回歸過程專注于高質量的錨框。該損失函數(shù)可以實現(xiàn)提高收斂速度和定位精度的明顯優(yōu)勢。
EIOU 的計算公式見式(3),其中b,bgt表示預測框和真實框的中心點,ρ表示的是兩中心點之間的歐氏距離,wc,hc分別是覆蓋兩個box的最小外接框的寬度和高度,w,h,wgt,hgt分別為預測框的和真實框的寬高。
本次實驗數(shù)據(jù)集主要來源是網上搜集的船上失火視頻進行截取的圖片。由于此類照片的數(shù)據(jù)量不大,還采用環(huán)境條件相似的照片如廠房、車廂等起火照片組成本文數(shù)據(jù)集1500 張圖片。使用LabelImg 軟件手工進行標注,標注后存取信息的是YOLO 格式的txt文件。在進行訓練前對數(shù)據(jù)集進行訓練集、測試集和驗證集的分組。
本文實驗使用PyTorch 深度學習框架,編譯語言為Python3.8,訓練環(huán)境為CUDA 11.1,GPU 為NVIDIA RTX3070 Laptop,最小訓練批次為32,訓練100 個周期。
實驗結果由精確率(P) 、召回率(R) 、平均精度(AP)和平均精度均值(mAP)作為評價指標,計算過程見式(4)~(7)。其中,P表示模型預測為正的樣本中為正的概率,R 表示真正為正的樣本被成功預測的概率,AP 表示不同召回率下的平均檢測精度,n 表示數(shù)據(jù)集中的類別數(shù)量,mAP表示多個類別的AP的均值,因為本文是對火焰進行的單目標檢測,所以用AP 表示mAP即可。
其中,TP(True Positive)表示正確的預測正樣本,F(xiàn)P(False Positive)表示錯誤的把負樣本預測為正,F(xiàn)N(False Negative)表示錯誤的預測為負樣本。
首先觀察原YOLO 網絡和添加了CA 之后的訓練結果對比。如圖5所示,虛線是未做修改結果,實線是添加CA后的結果??梢钥闯鲂薷暮缶W絡雖然在前三十輪收斂的速度沒有原網絡迅速,但是原網絡結構在訓練40輪之后原模型有上升趨勢,而增加CA的網絡逐漸穩(wěn)定在0.016左右。
圖5 增加CA結構前后置信度損失對比
圖6 艙內、艙外和倉庫的照片
為了更好地驗證對比實驗結果,本文設計了四組實驗,分別是未修改的YOLOv5、增加CA、增加BiFPN、修改損失函數(shù)為EIOU。這四組實驗除了網絡結構不同,其余配置完全相同。測試結果如表1所示。
表1 實驗結果
從表1中可以看出,在進行網絡改進時,每一步改進都有一定的優(yōu)化作用。最終的結果對比未修改的YOLOv5,精度增加了6.1%,召回率增加了2.4%,平均精度增加了3%??梢钥闯鰞?yōu)化后的網絡對于精度提升得非常明顯,但是對于召回率和平均精度的改善不是特別顯著。
為了更直觀地感受上述實驗的結果,抽取了艙內、艙外和倉庫的照片分別對每一種網絡進行測試,可以看出優(yōu)化后的網絡對于火焰的識別精度有著不少的提升,對于艙外這種低畫質的照片尤為顯著。
本文為了適應船上遮擋物多、畫質不高的特殊環(huán)境,在網絡結構上增加了CA 模塊以獲取圖片中更多的信息,增強了本文算法對目標定位的精度。采用BiFPN 結構來進行多尺度特征融合。損失函數(shù)改用EIOU 解決了縱橫比的模糊定義,加速了預測框的收斂,提高了預測框的回歸精度。下一步需要擴大船上火焰的數(shù)據(jù),在增加精度的同時進行輕量化優(yōu)化,以保證更好地部署算法。