彭煜民,岳鵬超,張 丹,陳 樂
(1.南方電網(wǎng)調(diào)峰調(diào)頻發(fā)電有限公司,廣州 510630;2.廣州市奔流電力科技有限公司,廣州 510700)
火災(zāi)一直以來都是全世界的重大威脅和災(zāi)害,早期預防以及快速檢測出火災(zāi)是減少火災(zāi)發(fā)生及蔓延帶來的嚴重危害的重要手段之一,因此能夠及時并準確地預警火災(zāi)變得尤為重要?;馂?zāi)的檢測任務(wù)可分為火焰和煙霧兩種目標的檢測任務(wù)[1]。最初,探測火災(zāi)的方式是以感溫探測器和感煙探測器的響應(yīng)值作為探測結(jié)果,但感溫探測器和感煙探測器的探測具有一定的滯后性[2],達不到早期預測火災(zāi)的目的,并且對環(huán)境變化不夠魯棒易受電磁干擾出現(xiàn)誤報[3]。
近年來,基于計算機視覺的火災(zāi)檢測取得了顯著性進展[4-6],相對于單目標檢測,火災(zāi)檢測不僅需要檢測出圖像中的火焰目標,還需要檢測出圖像中的煙霧目標。早期的基于計算機視覺火災(zāi)檢測方法將任務(wù)分解為火焰檢測和煙霧檢測兩個任務(wù),其利用火焰和煙霧在火災(zāi)發(fā)生過程中所表現(xiàn)出的靜態(tài)外觀信息如:顏色[7]、紋理[8]、形狀[9]等或者利用火焰和煙霧在時序上的運動信息[10-13]構(gòu)建出火焰或煙霧目標的判別性特征,然后依靠這些判別性特征檢測出火焰和煙霧目標。大部分原有的火焰和煙霧檢測方法依賴于手工制作特征,在早期數(shù)據(jù)量小的單類別數(shù)據(jù)集上取得了不錯的效果,但在現(xiàn)實場景中火焰和煙霧表現(xiàn)出的顏色、紋理和形狀等特征并不穩(wěn)定且具有一定的差異性,使得手工設(shè)計特征任務(wù)更加艱巨[14],另外手工制作特征主要依賴于目標的先驗信息,并不具有高抽象性和不變性,從而其檢測準確率受到限制。另外,大多數(shù)火焰和煙霧檢測方法是針對單火災(zāi)類型或固定場景提出,魯棒性不佳,在光照、場景和火災(zāi)類型發(fā)生變化時其檢測準確率明顯降低,無法滿足實際場景下應(yīng)用的需求。
隨著大規(guī)模圖像分類數(shù)據(jù)集ImageNet的提出以及卷積神經(jīng)網(wǎng)絡(luò)在圖像分類任務(wù)中的大放異彩,研究者們將卷積神經(jīng)網(wǎng)絡(luò)引入火災(zāi)檢測任務(wù)中[15],文獻[16]設(shè)計了一種用于森林火災(zāi)識別的12層卷積神經(jīng)網(wǎng)絡(luò),其方法是先利用ImageNet數(shù)據(jù)集預訓練網(wǎng)絡(luò),再利用自建數(shù)據(jù)集(訓練集500張,測試集100張)進行訓練和測試并且在訓練過程中對網(wǎng)絡(luò)的隱藏層進行dropout操作來降低過擬合的概率,其在自建的數(shù)據(jù)集上取得了不錯的效果,但其自建數(shù)據(jù)集只有600張圖片,利用迭代訓練的方式去訓練網(wǎng)絡(luò),仍然存在過擬合的可能,然后其數(shù)據(jù)集場景單一,在通用場景下魯棒性不佳,另外,其最后的輸出只是有火災(zāi)和無火災(zāi)的概率,并不包含火焰和煙霧目標的其他信息。文獻[17]采用經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)并結(jié)合了卷積和最大池化,其分類目標是確定圖像是否包含火焰或煙霧,其通過12×12的滑動窗口在特征圖上的移動,提高了檢測的速度,相比文獻[18]的方法而言其訓練的數(shù)據(jù)集更多,覆蓋的場景更廣并且其網(wǎng)絡(luò)更加輕量級,速度更快,但其分類的類別只有(火焰、煙霧、正常)3種類別,對于既有煙霧又有火焰的場景分類并不友好,另外最后的輸出也不包含火焰及煙霧目標的位置信息,無法更精確感知火災(zāi)的狀態(tài)。文獻[18]通過分別對圖片全局及局部的進行火災(zāi)檢測,進一步提高了分類的精細程度,但其只是將火焰的檢測結(jié)果作為火災(zāi)分類的依據(jù),并沒有識別出煙霧,在濃煙遮擋火焰的場景下的效果受到很大的影響,另外其也只是進行了分類工作,不包含火焰及煙霧目標的位置信息。
上述的火災(zāi)檢測算法在火災(zāi)檢測任務(wù)中取得了不錯的效果,但也存在上述的一些局限性。為了緩解這些局限性,本文構(gòu)建了一個多場景大規(guī)模且貼合現(xiàn)實場景的火焰和煙霧圖像數(shù)據(jù)集,并且對火焰和煙霧目標的位置和類別進行了精細標注,其次本文提出了結(jié)合注意力機制的火災(zāi)檢測算法用于火焰和煙霧檢測,本文的模型先對煙霧和和火焰的顏色信息進行分析,在圖像送入檢測網(wǎng)絡(luò)前,對火焰和煙霧目標的疑似區(qū)域進行關(guān)注,區(qū)分圖像不同區(qū)域?qū)z測結(jié)果的不同貢獻,其次本文提取火焰和煙霧的多尺度特征,以捕獲更加豐富的火焰和煙霧目標的信息。本文的方法在自建的多場景火焰煙霧數(shù)據(jù)集上取得了杰出的效果,驗證了深度學習在火焰和煙霧檢測任務(wù)上的可行性,同時也說明了本文工作的有效性。
在可見光圖像中,火焰和煙霧所表現(xiàn)出的顏色與周圍環(huán)境對比往往具有顯著的差異性,在現(xiàn)實場景中,諸多客觀因素如燃燒物的材料、溫度、燃燒的程度等影響著火焰和煙霧的顏色,使得火焰和煙霧的顏色具有特殊的分布規(guī)律。火焰在可見光圖像中大部分呈現(xiàn)出明亮且突出的黃色和紅色,而煙霧在火災(zāi)發(fā)生的初期大多數(shù)呈現(xiàn)出灰白色或者淡藍色,隨著火災(zāi)的延續(xù),煙霧的顏色會從灰黑色變化成黑色?;鹧婧蜔熿F呈現(xiàn)出的顏色信息在火災(zāi)檢測中起到了極其重要的作用[19-21]。但深度網(wǎng)絡(luò)并不能充分利用火焰和煙霧表現(xiàn)出的豐富的顏色信息,為了充分捕獲到火焰和煙霧的顏色信息,本文設(shè)計了注意力模塊,先對圖像進行火焰和煙霧疑似區(qū)域檢測,在輸入檢測深度網(wǎng)絡(luò)模型之前對火焰和煙霧疑似區(qū)域進行關(guān)注,最后由檢測網(wǎng)絡(luò)得到檢測的結(jié)果。
圖1 本文火災(zāi)檢測方法的流程
疑似區(qū)域的檢測由火焰疑似區(qū)域檢測和煙霧疑似區(qū)域檢測兩部分構(gòu)成。
1.1.1 火焰疑似區(qū)域檢測
利用火焰表現(xiàn)出的顏色規(guī)律,在RGB顏色空間中設(shè)置顏色過濾范圍,對圖像進行顏色過濾,將不在顏色范圍內(nèi)的像素點的像素值設(shè)置為0,將在范圍內(nèi)的像素點值大小保持不變,從而得到RGB顏色空間過濾的火焰圖像。其在RGB顏色空間的過濾范圍如式(1)所示:
(1)
式中,R0為像素點R分量的閾值,T0為|G-B|+|R-B|的閾值。將圖像中滿足式(1)規(guī)則的圖像區(qū)域記為RFIRE,即為火焰疑似區(qū)域。
1.1.2 煙霧疑似區(qū)域檢測
利用煙霧表現(xiàn)出的顏色規(guī)律,對圖像進行過濾。煙霧區(qū)域在YUV顏色空間中的U和V分量之間的差異比其他非煙霧區(qū)域大得多,非煙霧區(qū)域像素值范圍被壓縮,所以采用YUV顏色空間像素濾色規(guī)則對圖片進行過濾,像素濾色規(guī)律如公式(2):
Icolor(x,y)=
(2)
式中,U(x,y)和V(x,y)是(x,y)處像素點在YUV顏色空間上U分量和V分量的值;IRGB(x,y)為(x,y)處像素點在RGB顏色空間中的像素值;Tmax、Tmin為閾值。將圖像中滿足式(2)規(guī)則的圖像區(qū)域記為RSMOKE,即為煙霧疑似區(qū)域。
1.1.3 火焰和煙霧疑似區(qū)域
通過顏色過濾后得到煙霧疑似區(qū)域RSMOKE和火焰疑似區(qū)域RFIRE合并得到顏色分析后的火焰和煙霧疑似區(qū)域Rcolor,其計算方式如公式(3):
Rcolor=RSMOKE∪RFIRE
(3)
利用1.1節(jié)中得到的火焰和煙霧疑似區(qū)域,得到輸入特征提取網(wǎng)絡(luò)的重點區(qū)域,對重點區(qū)域進行注意力機制計算如公式(4):
Ii-attention=wiIi
(4)
式中,Ii-attention表示經(jīng)過注意力機制后像素點i的值,Ii代表原圖片像素點i的值,wi代表權(quán)重參數(shù)。
YOLOv3算法是YOLO系列中應(yīng)用最為廣泛的算法。YOLOv3在采用殘差的跳層連接的方式設(shè)計了一個全卷積網(wǎng)絡(luò)(Darknet-53網(wǎng)絡(luò))來進行特征降采樣,提取了多個尺度(不同大小)的特征圖用作目標的檢測,因而能更好的學習到小目標的細粒度特征,進一步提高了檢測的效果。本文的檢測網(wǎng)絡(luò)基于YOLOv3,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 檢測網(wǎng)絡(luò)的結(jié)構(gòu)
K-means聚類算法旨在縮小類內(nèi)數(shù)據(jù)的差異和擴大類間的距離,是一種應(yīng)用廣泛的無監(jiān)督學習算法。本文采用K-means聚類算法針對于煙霧和火焰樣本生成出初始化錨框。原有方法獲得錨點的方式是通過計算歐幾里得距離得到的,其錨框尺寸會影響到檢測的效果,為了減少這種影響,本文通過IOU(intersection over union)距離公式來計算出預測框和實際框之間的距離,其計算方式如下:
d(box,centroid)=
1-IOU(box,centroid)
(5)
式中,IOU表示預測邊框和實際邊框的交并比值,box為實際邊框值,centroid為K-means聚類算法計算出的聚類中心值。
為了獲取更加豐富的目標邊緣信息,本文摒棄原有公共數(shù)據(jù)集上聚類生成的錨框參數(shù),而是通過在本文自制的煙霧和火焰數(shù)據(jù)集上聚類生成,以獲得更加適用于火災(zāi)檢測的錨框參數(shù)。根據(jù)本文設(shè)定的待檢測目標類別的數(shù)目,計算通道數(shù)為3×(4+1+3)=24,其中括號內(nèi)的“4,1,3”分別表示中心點坐標的4個預測量、1個置信度和3個目標類別的得分,最終輸出的3種尺度特征圖的大小分別為13×13×24,26×26×24,52×52×24。
當前火災(zāi)檢測任務(wù)并沒有開源的標準數(shù)據(jù)集,本文通過網(wǎng)絡(luò)上采集到的開源的火焰和煙霧視頻和圖像以及結(jié)合自己拍攝一些特定場景的火焰和煙霧視頻和圖像,再對視頻分解成幀之后,總共獲得了50 000張包含火焰和煙霧的圖像,經(jīng)過篩選得到貼合現(xiàn)實場景的火焰和煙霧圖像5 000張,以用作本文方法訓練和測試的數(shù)據(jù)集。圖3為本文數(shù)據(jù)集的部分數(shù)據(jù)示例。
圖3 火焰和煙霧樣本示例
本文對經(jīng)過篩選過后的火焰和煙霧圖像進行了精細的人工標注,標注的內(nèi)容包括了火焰和煙霧兩個目標的類別和定位信息,并以xml文件格式進行處理存儲,然后將所有圖像按照4∶1的比例進行隨機劃分,其中訓練集為4 000張圖片,測試集1 000張圖片,圖4為本文數(shù)據(jù)集的部分標注后的數(shù)據(jù)示例。
圖4 標注后的樣本示例
實驗數(shù)據(jù)主要來源于網(wǎng)絡(luò)上采集到的開源的火焰和煙霧圖像以及自己拍攝的圖像,一共5 000張。實驗的具體步驟為,首先將輸入圖片尺寸固定為416×416的大??;然后對圖片中的火焰和煙霧疑似區(qū)域進行檢測,其具體方法為將公式(1)和公式(2)中的R0設(shè)定為135,T0設(shè)定為20,Tmin設(shè)定為63,Tmax設(shè)定為178;
接著對檢測出的火焰和煙霧疑似區(qū)域進行關(guān)注,其具體方法為對于關(guān)鍵區(qū)域的注意力參數(shù)設(shè)置為wi=1.5,即像素點i屬于圖像火焰和煙霧疑似區(qū)域,則wi=1.5,反之wi=1;
最后將進行火焰和煙霧疑似區(qū)域關(guān)注后的圖像送入本文的檢測網(wǎng)絡(luò)進行檢測,在檢測網(wǎng)絡(luò)中的訓練過程中,學習率設(shè)為0.001,批尺寸(batch size)設(shè)為64。實驗設(shè)備使用NVIDIA 1080 Ti GPU計算平臺,在UBUNTU 18.04操作系統(tǒng)下使用Darknet深度學習框架搭建YOLOv3目標檢測模型。
為了評估檢測模型的有效性,本文統(tǒng)一采用目標檢測常用的評價指標mAP,其代表多個類別的AP(average precision)的平均值,其中AP為每個類別由召回率(recall))和查準率(precision)繪制的一條曲線下的面積。本文使用的AP默認為AP50,即預測框與目標實際邊框(ground truth)的交并比(intersection over union)在大于50%前提下的單類別的平均準確率。mAP的值越大表示檢測模型的總體識別準確率越高。
本文將數(shù)據(jù)集劃分4 000張圖片作訓練集和1 000張圖片作測試集。在模型訓練過程的損失曲線圖和測試過程的AP曲線如圖5和圖6所示。
圖5 模型訓練過程的損失圖,圖中橫軸為訓練迭代的次數(shù),縱軸為損失的大小
圖6 測試過程中網(wǎng)絡(luò)的AP曲線圖,其中橫軸為召回率,縱軸為查準率
從圖5(a)和圖5(b)的對比中,可以發(fā)現(xiàn)本文的方法相比于經(jīng)典YOLOv3方法損失函數(shù)收斂的速度更快,也說明本文方法對于煙火疑似區(qū)域關(guān)注的有效性。
分別利用經(jīng)典YOLOv3和本文的方法,在測試集上進行測試,分別計算各類目標的平均準確率,圖6(a)代表的是傳統(tǒng)YOLOv3算法,圖6(b)代表的是本文的方法,并計算火焰和煙霧兩類目標的mAP,測試結(jié)果如表1所示。
表1 測試結(jié)果
實驗結(jié)果表明本文的方法在火焰和煙霧兩類檢測任務(wù)上均有良好表現(xiàn)。相比于經(jīng)典的YOLOv3網(wǎng)絡(luò),本文的方法在火焰和煙霧目標檢測的mAP由59.9%提高到65.8%,尤其是對煙霧目標的檢測上AP提高了8.8%,驗證本文方法對于火焰煙霧疑似區(qū)域的關(guān)注對于檢測結(jié)果的有效性。
另外,在各種場景的火災(zāi)圖像中,小尺寸的火焰目標較多,而煙霧對象由于其自身具有的擴散特性,往往比較難檢測。但本文的方法在對于比較稀薄的煙霧也能實現(xiàn)準確檢測,說明了本文的方法對于煙霧疑似區(qū)域的關(guān)注具有有效性,其次在圖像中存在小目標的情況下本文的方法也能實現(xiàn)準確檢測與識別,整體檢測效果較為理想,測試結(jié)果示例如圖7所示。
圖7 測試效果
本文提出了一種結(jié)合注意力機制的火災(zāi)檢測算法,本文的方法先對煙霧和和火焰的顏色信息進行分析,在圖像送入檢測網(wǎng)絡(luò)前,對火焰和煙霧目標的疑似區(qū)域進行關(guān)注,區(qū)分圖像不同區(qū)域?qū)z測結(jié)果的不同貢獻,其次本文提取火焰和煙霧的多尺度特征,以捕獲更加豐富的火焰和煙霧目標的信息,本文的實驗驗證了結(jié)合注意力機制火災(zāi)檢測算法在檢測火焰和煙霧目標上的有效性,同時在本文構(gòu)建的火焰和煙霧圖像數(shù)據(jù)集上取得了較好的性能,尤其在小目標檢測和稀薄煙霧上有顯著提升,并且在檢測速度上也滿足了實時檢測的需求。但火焰和煙霧屬于非剛性目標,形狀并不具有固定性,固定錨點的方式影響了目標檢測框的準確性。如何提高火焰和煙霧目標檢測框的準確性,將是未來的主要研究方向。