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