梁金幸,趙鑒福,周亞同,史寶軍
(1.河北工業(yè)大學(xué) 省部共建電工裝備可靠性與智能化國家重點(diǎn)實(shí)驗(yàn)室,天津 300401;2.河北工業(yè)大學(xué) 機(jī)械工程學(xué)院 河北省機(jī)器人感知與人機(jī)融合重點(diǎn)實(shí)驗(yàn)室,天津 300401;3.河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津 300401)
隨著社會發(fā)展水平的不斷提升,產(chǎn)生較大損失火災(zāi)的可能性也逐漸增大。早期的火災(zāi)識別方法主要是通過探測器對特定區(qū)域的溫度、光譜和煙霧等進(jìn)行采樣分析,但由于探測器檢測范圍與靈敏度的限制,在開闊空間以及環(huán)境惡劣的情況下,難以實(shí)現(xiàn)較為及時的檢測[1]。此外,探測器難以確定火災(zāi)位置、火焰大小和火災(zāi)發(fā)展趨勢,不利于后續(xù)火災(zāi)的處置。
近年來,使用圖像處理技術(shù)進(jìn)行火災(zāi)識別,引起了許多研究人員的關(guān)注。傳統(tǒng)的火災(zāi)圖像識別方法主要通過圖像分割[2]、運(yùn)動目標(biāo)檢測[3]來確定疑似火焰區(qū)域,然后設(shè)計(jì)并提取火焰的多種特征,使用支持向量機(jī)(support vector machine,SVM)[4]等機(jī)器學(xué)習(xí)分類器進(jìn)行特征融合,從而實(shí)現(xiàn)火災(zāi)識別。此外,火焰的顏色和運(yùn)動特征受到了廣泛關(guān)注。Khalil A等人[5]使用顏色特征分割出火焰區(qū)域,然后利用動態(tài)特征來確定該區(qū)域是否包含火焰,該方法可在一定程度上降低火災(zāi)檢測系統(tǒng)的誤報(bào)率。得益于計(jì)算機(jī)性能的提升,深度學(xué)習(xí)網(wǎng)絡(luò)模型在圖像識別領(lǐng)域得以發(fā)展和應(yīng)用。常用的深度學(xué)習(xí)網(wǎng)絡(luò)模型主要有YOLO(you only look once)模型[6]、單次多框檢測(single shot multibox detector,SSD)模型[7]以及快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(faster regionbased convolutional neural network,F(xiàn)aster R-CNN)模型[8]。在對火災(zāi)圖像識別的研究中,Li P和Zhao W[9]對比分析了基于Faster R-CNN,R-FCN,SSD 和YOLOv3 等深度神經(jīng)網(wǎng)絡(luò)的火災(zāi)識別方法,實(shí)驗(yàn)結(jié)果表明YOLOv3 網(wǎng)絡(luò)模型的性能優(yōu)于其他網(wǎng)絡(luò)模型;張海波等人[10]提出了一種三通道擬合的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)火災(zāi)探測算法,該算法可有效提高火災(zāi)識別率。
上述研究工作豐富和發(fā)展了火災(zāi)圖像識別方法,但仍然存在一些問題:顏色和運(yùn)動特征識別方法難以排除顏色類似于火焰的動態(tài)干擾物;傳統(tǒng)的火災(zāi)圖像識別方法依賴于人工設(shè)計(jì)特征,導(dǎo)致算法泛化能力不足;深度學(xué)習(xí)方法通過神經(jīng)網(wǎng)絡(luò)模型自動學(xué)習(xí)特征,但模型對有效信息的提取能力和對小目標(biāo)的檢測能力有待進(jìn)一步提升。
針對當(dāng)前火災(zāi)圖像識別方法存在的問題,本文提出一種基于改進(jìn)的YOLOv5s 網(wǎng)絡(luò)模型的火災(zāi)圖像識別方法。首先,通過在特征提取網(wǎng)絡(luò)中添加注意力機(jī)制模塊,增強(qiáng)模型對圖像特征的學(xué)習(xí)能力;然后,在YOLOv5s 多尺度檢測的基礎(chǔ)上添加大尺度檢測層,提升模型對小目標(biāo)的識別能力,并且使用K-Means算法對火災(zāi)數(shù)據(jù)集的標(biāo)注框進(jìn)行聚類,獲得先驗(yàn)框的尺寸;最后,在實(shí)驗(yàn)數(shù)據(jù)集上驗(yàn)證了本文火災(zāi)圖像識別方法的有效性。
YOLO網(wǎng)絡(luò)模型由Redmon J 等人[6]于2016 年提出,利用回歸的思想來解決目標(biāo)檢測問題,能夠同時輸出物體的邊界和類別概率。2020 年,Ultralytics 公司公布了YOLOv5s網(wǎng)絡(luò)模型。圖1為YOLOv5s網(wǎng)絡(luò)模型的結(jié)構(gòu)。
圖1 YOLOv5s網(wǎng)絡(luò)模型結(jié)構(gòu)
如圖1 所示,YOLOv5s 網(wǎng)絡(luò)模型包括輸入(input)層、主干(backbone)部分、頸(neck)部和輸出(output)層4個部分。輸入圖片經(jīng)過特征提取后,得到3 種不同尺寸的特征圖(feature map),這些不同尺寸的特征圖用于檢測不同大小的目標(biāo)。Backbone 和Neck 由Focus,CBL(convolutional,batch normalization,leaky)ReLU,CSP(cross stage partial)以及SPP(space pyramid pooling)模塊組成。Focus 模塊包含切片層(slice layer)、卷積層(convolutional layer)和激活函數(shù)(activation function),用于對特征圖進(jìn)行切片操作。CBL模塊包含卷積層,批量標(biāo)準(zhǔn)化(batch normalization,BN)層和激活函數(shù)。CSP模塊有CSP1_X和CSP2_X兩種類型,使用跨層連接的方式來融合不同層間的特征信息。CSP1_X包含CBL模塊、X個殘差單元(ResUnit)、卷積層、批量標(biāo)準(zhǔn)化層和激活函數(shù)。與CSP1_X不同,CSP2_X用CBL模塊代替了殘差單元。SPP模塊包含CBL 模塊和池化層(pooling layer),采用最大池化操作對不同尺度的特征圖進(jìn)行張量拼接,實(shí)現(xiàn)多重感受野的融合。此外,YOLOv5s網(wǎng)絡(luò)模型采用GIOU_Loss損失函數(shù)[11]來估算邊界框的位置損失。
由于火災(zāi)識別任務(wù)具有實(shí)時性的需求,YOLO 系列模型以檢測速度快的優(yōu)點(diǎn)引起了研究人員的關(guān)注。相比于之前的YOLO系列模型,YOLOv5s網(wǎng)絡(luò)模型體積輕便且檢測速度快,適合部署到嵌入式設(shè)備。因此,本文使用YOLOv5s網(wǎng)絡(luò)模型進(jìn)行火災(zāi)圖像識別并對模型進(jìn)行改進(jìn),進(jìn)一步提升模型的性能。
Backbone,即為特征提取網(wǎng)絡(luò),采用Focus,CBL,CSP以及SPP等模塊來提取圖像的特征。這些模塊的使用可以在一定程度上改善特征提取過程中的特征信息損失問題,但不同通道(channel)間特征的重要程度并沒有得到關(guān)注。為了解決這個問題,研究人員通過使用注意力機(jī)制(attention mechanism)對輸入圖像的特征加以選擇,使模型更加關(guān)注不同特征的重要性[12]。
為了提升模型對特征的學(xué)習(xí)能力,本文將擠壓-激勵(squeeze and excitation,SE)模塊加入到Y(jié)OLOv5s網(wǎng)絡(luò)模型的特征提取網(wǎng)絡(luò)中,為模型添加注意力機(jī)制。SE模塊源自SE網(wǎng)絡(luò)(SE network,SENet)[13]。具體來說,SE 模塊通過調(diào)整各通道的權(quán)重,使模型關(guān)注信息量大的特征,抑制無效或效果作用小的特征,從而實(shí)現(xiàn)注意力的集中,提高網(wǎng)絡(luò)模型的學(xué)習(xí)能力。圖2為SE模塊的計(jì)算流程,W×H×C代表特征圖的尺寸,輸入特征圖經(jīng)過Squeeze操作得到1 ×1 ×C的向量;然后,通過Excitation操作學(xué)習(xí)到各通道的權(quán)重;最后,將各通道的權(quán)重賦予輸入特征圖。
圖2 SE模塊計(jì)算流程
YOLOv5s網(wǎng)絡(luò)模型借鑒特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)的多尺度檢測思想,使用80 ×80,40 ×40和20 ×20這3種尺寸的特征圖來實(shí)現(xiàn)目標(biāo)識別。圖3 為引入SE模塊后的特征提取網(wǎng)絡(luò)及參數(shù),相比于原始模型的特征提取網(wǎng)絡(luò),改進(jìn)后的特征提取網(wǎng)絡(luò)在第2個CSP1模塊、第3 個CSP1 模塊以及SPP 模塊后分別添加了SE 模塊,用于獲得80 ×80,40 ×40 和20 ×20 這3 種帶有注意力機(jī)制的特征圖。
圖3 改進(jìn)后的特征提取網(wǎng)絡(luò)和參數(shù)
火災(zāi)發(fā)生初期是火災(zāi)識別的關(guān)鍵時期,此時的火焰形態(tài)多為小型火焰,所以,火災(zāi)識別網(wǎng)絡(luò)模型應(yīng)當(dāng)對小目標(biāo)具備較好的識別能力。在YOLOv5s 網(wǎng)絡(luò)模型特征提取過程中,圖像經(jīng)過多次卷積、池化等操作后會丟失部分信息,導(dǎo)致模型對小目標(biāo)的檢測效果不佳。因此,本文在YOLOv5s多尺度檢測的基礎(chǔ)上添加大尺度檢測層,提高模型對小目標(biāo)的識別能力。
值得注意的是,檢測層層數(shù)的增多會增加網(wǎng)絡(luò)模型的參數(shù)量,導(dǎo)致檢測速度降低。為了滿足火災(zāi)識別網(wǎng)絡(luò)模型的精度和實(shí)時性要求,本文在YOLOv5s網(wǎng)絡(luò)模型的輸出部分添加1個160 ×160的檢測層,利用4種不同尺寸的特征圖對圖片中的大、中、小和較小目標(biāo)進(jìn)行識別。改進(jìn)后的多尺度檢測層如圖4 所示,新增加的檢測層4 會對檢測層3中80 ×80 的特征圖進(jìn)行一次上采樣,獲得160 ×160 的特征圖,然后再與主干網(wǎng)絡(luò)中160 ×160的特征圖相連接。
圖4 改進(jìn)后的多尺度檢測層
先驗(yàn)框是從訓(xùn)練集中真實(shí)標(biāo)注框中統(tǒng)計(jì)或聚類得到的一組固定尺寸和寬高比的初始區(qū)域,在網(wǎng)絡(luò)模型訓(xùn)練中,初始先驗(yàn)框參數(shù)越接近真實(shí)邊界框,模型將會越容易收斂,其預(yù)測邊界框也會更加符合真實(shí)邊界框。
K-Means是一種常用的聚類算法,主要思想是根據(jù)歐氏距離將樣本點(diǎn)聚集到指定的K 個類別中。YOLOv5s 網(wǎng)絡(luò)模型設(shè)定的初始先驗(yàn)框如表1 所示,每個尺度的特征圖匹配3個先驗(yàn)框。由于檢測層層數(shù)的增加,先驗(yàn)框的個數(shù)也要相應(yīng)增加。此外,數(shù)據(jù)集中火災(zāi)圖像的火焰區(qū)域大小各異。為了使先驗(yàn)框能夠與檢測層相匹配,并且符合數(shù)據(jù)集的真實(shí)情況,使用K-Means算法對火災(zāi)數(shù)據(jù)集中的標(biāo)注框進(jìn)行聚類,將聚類得到的一組先驗(yàn)框代替YOLOv5s設(shè)定的初始先驗(yàn)框。
表1 YOLOv5s網(wǎng)絡(luò)模型先驗(yàn)框
依據(jù)每個尺度的特征圖匹配3 個先驗(yàn)框的原則,改進(jìn)后的檢測層所匹配的先驗(yàn)框總數(shù)為12,即聚類個數(shù)K =12。添加大尺度檢測層后,網(wǎng)絡(luò)模型能夠輸出4 種不同尺寸的特征圖。尺寸較大的特征圖包含圖像的低層信息,具有較小的感受野,故匹配較小的先驗(yàn)框;相反,尺寸較小的特征圖匹配較大的先驗(yàn)框。改進(jìn)后的先驗(yàn)框與特征圖的匹配情況如表2所示。
表2 改進(jìn)后的先驗(yàn)框
實(shí)驗(yàn)環(huán)境為:Intel?CoreTMi9-10900KF @ 3.70 GHz,32 GB內(nèi)存,Nvidia GeForce RTX 2080 Ti,Windows10 64位操作系統(tǒng)。使用Python開發(fā)語言,CUDA10.0 GPU 加速庫以及Pytorch1.8.1深度學(xué)習(xí)框架。
由于目前火災(zāi)防治領(lǐng)域沒有公開的標(biāo)準(zhǔn)數(shù)據(jù)庫,本文主要使用互聯(lián)網(wǎng)上搜集的火災(zāi)圖片,以及文獻(xiàn)[14 ~16]中提出的一系列典型火災(zāi)數(shù)據(jù)庫來構(gòu)建火災(zāi)數(shù)據(jù)集。所構(gòu)建的火災(zāi)數(shù)據(jù)集共計(jì)2 730 張圖片,主要包括室內(nèi)、公路和森林等場景中不同大小和形狀的火焰,部分火災(zāi)數(shù)據(jù)集圖片如圖5所示。使用Labelimg軟件完成火災(zāi)數(shù)據(jù)集的標(biāo)注,標(biāo)注好的數(shù)據(jù)集將用于模型的訓(xùn)練和測試。訓(xùn)練集和測試集分別按照70%和30%的典型比例進(jìn)行劃分,即訓(xùn)練集包含1 911張圖片,測試集包含819張圖片。
圖5 火災(zāi)數(shù)據(jù)集部分圖片
依據(jù)YOLOv5s網(wǎng)絡(luò)模型設(shè)定的訓(xùn)練參數(shù),在網(wǎng)絡(luò)模型訓(xùn)練階段,初始學(xué)習(xí)率設(shè)置為0.01,迭代批量尺寸(batch size)設(shè)置為16,動量(momentum)因子設(shè)置為0.937,權(quán)值衰減(weight decay)系數(shù)設(shè)置為0.000 5,輪次(epoch)設(shè)置為300,使用隨機(jī)梯度下降(stochastic gradient descent,SGD)法進(jìn)行優(yōu)化。此外,為了增加火災(zāi)數(shù)據(jù)集中樣本的多樣性,本文對輸入網(wǎng)絡(luò)模型的圖片進(jìn)行數(shù)據(jù)增強(qiáng)處理。增強(qiáng)方法包括圖像平移(translate),尺度(scale)變化、左右翻轉(zhuǎn)(flip left-right)、馬賽克(mosaic)數(shù)據(jù)增強(qiáng)以及HSV顏色空間中色調(diào)(hue)、飽和度(saturation)及明度(value)的變化。
本文以YOLOv5s網(wǎng)絡(luò)模型為基礎(chǔ),對特征提取網(wǎng)絡(luò),多尺度檢測層以及先驗(yàn)框尺寸進(jìn)行了改進(jìn)。采用精確率(precision,P)、召回率(recall,R)、置信度0.5 下的平均精度均值(mean average precision,mAP)和幀率(frames per second,F(xiàn)PS)來評價模型的性能[17,18]。mAP 為Precision 和Recall曲線下的面積,用來表示模型的整體性能,P =TP/(TP +FP),R =TP/(TP +FN)。其中,TP 為正樣本被正確分類的數(shù)量,F(xiàn)P為負(fù)樣本被錯誤分類的數(shù)量,F(xiàn)N為正樣本被錯誤分類的數(shù)量。
改進(jìn)YOLOv5s 網(wǎng)絡(luò)模型的訓(xùn)練情況如圖6 所示。圖6(a)為損失函數(shù)隨訓(xùn)練輪次的變化曲線,模型訓(xùn)練300輪次,損失函數(shù)數(shù)值收斂在0.05 ~0.1。圖6(b)為mAP隨訓(xùn)練輪次的變化曲線,模型訓(xùn)練150輪次左右,mAP波動較小,然后趨于穩(wěn)定。
圖6 改進(jìn)YOLOv5s網(wǎng)絡(luò)模型的訓(xùn)練表現(xiàn)
為探究所使用的改進(jìn)方法對模型性能的影響,將改進(jìn)特征提取網(wǎng)絡(luò)的模型記為YOLOv5s-A,由于先驗(yàn)框個數(shù)需要與檢測層層數(shù)相匹配,故將同時改進(jìn)特征提取網(wǎng)絡(luò),多尺度檢測層以及先驗(yàn)框的模型記為YOLOv5s-AB,并將改進(jìn)的2種網(wǎng)絡(luò)模型與YOLOv3 和YOLOv5s 進(jìn)行對比。各網(wǎng)絡(luò)模型的性能評價結(jié)果如表3所示。
表3 各網(wǎng)絡(luò)模型性能評價結(jié)果
由表3 可知,YOLOv5s-A、YOLOv5s-AB 相比YOLOv3和YOLOv5s,P、R和mAP指標(biāo)均有提升;YOLOv5s-AB相比YOLOv3,P、R 和mAP 指標(biāo)分別提高了3.55%、3.14%和3.68%,幀率提高了10.40 fps;YOLOv5s-AB相比YOLOv5s,P、R和mAP指標(biāo)分別提高了2.05%、1.72%和2.09%,幀率可達(dá)54.66 fps。由于在YOLOv5s 中添加了SE 模塊和160 ×160的檢測層,導(dǎo)致YOLOv5s-A、YOLOv5s-AB的檢測速度略低于YOLOv5s。
為了進(jìn)一步測試YOLOv5s-AB 網(wǎng)絡(luò)模型的性能,使用文獻(xiàn)[19]中構(gòu)建的火災(zāi)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),圖7 為YOLOv5s與YOLOv5s-AB網(wǎng)絡(luò)模型對火災(zāi)圖像和干擾圖像的識別效果。
圖7 火災(zāi)識別實(shí)驗(yàn)結(jié)果
本文在原始YOLOv5s 網(wǎng)絡(luò)模型中,同時添加了SE 模塊和大尺度檢測層,并使用K-Means聚類算法得到先驗(yàn)框的尺寸。由圖7所示的火災(zāi)識別實(shí)驗(yàn)結(jié)果可以看出,改進(jìn)的YOLOv5s-AB網(wǎng)絡(luò)模型相比于原始模型,在置信度上有了明顯提升,對多目標(biāo)和小目標(biāo)的識別效果更好,并且可以在一定程度上排除夕陽、燈光等干擾物。
本文通過研究YOLOv5s網(wǎng)絡(luò)模型的特征提取網(wǎng)絡(luò),多尺度檢測層以及先驗(yàn)框機(jī)制,提出一種改進(jìn)YOLOv5s網(wǎng)絡(luò)模型的火災(zāi)圖像識別方法。在原始YOLOv5s 網(wǎng)絡(luò)模型中同時添加SE注意力機(jī)制和大尺度檢測層,并使用K-Means聚類算法得到先驗(yàn)框尺寸。實(shí)驗(yàn)結(jié)果表明:改進(jìn)的YOLOv5s網(wǎng)絡(luò)模型(YOLOv5s-AB)在實(shí)驗(yàn)數(shù)據(jù)集上的P為82.27 %,R 為85.11 %,mAP 為85.72 %,檢測幀率達(dá)54.66 fps,以較低的時間代價提升了模型性能;尤其在置信度上有明顯提升,對多目標(biāo)和小目標(biāo)的識別效果更好;并可較好地排除夕陽、燈光等干擾物,提高了對火災(zāi)圖像的識別效果。下一步將考慮對現(xiàn)有火災(zāi)數(shù)據(jù)集進(jìn)行擴(kuò)充,使網(wǎng)絡(luò)模型學(xué)習(xí)到的圖像信息更加全面。