任嘉鋒,熊衛(wèi)華,吳之昊,姜 明
1(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院,杭州 310018)
2(杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,杭州 310018)
在各類災(zāi)害中,火災(zāi)是對(duì)公共安全和社會(huì)發(fā)展最常見和最普遍的威脅之一.隨著社會(huì)的不斷發(fā)展,在社會(huì)財(cái)富不斷增加的同時(shí),火災(zāi)的危險(xiǎn)性也在增加[1].
傳統(tǒng)的火災(zāi)檢測(cè)算法通過(guò)溫度、煙霧傳感器采集相關(guān)數(shù)據(jù)進(jìn)行火災(zāi)概率預(yù)測(cè),但是檢測(cè)實(shí)時(shí)性得不到保證.而圖像識(shí)別由于其具有直觀,響應(yīng)速度快等特點(diǎn),越來(lái)越多地被應(yīng)用于火災(zāi)監(jiān)控和報(bào)警.
近年來(lái),深度學(xué)習(xí)成為圖像識(shí)別的主要手段.現(xiàn)有的基于深度學(xué)習(xí)的火災(zāi)檢測(cè),主要通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)火災(zāi)圖片進(jìn)行特征提取,然后使用分類器進(jìn)行分類.文獻(xiàn)[2]提出了一種通過(guò)AlexNet實(shí)現(xiàn)早期火災(zāi)識(shí)別的方法,通過(guò)AlexNet進(jìn)行圖像特征提取,并通過(guò)全連接層和Softmax進(jìn)行分類,但AlexNet參數(shù)量較大,在樣本數(shù)據(jù)不足的情況下泛化性能較差.文獻(xiàn)[3]提出了一種基于MPCANet的火災(zāi)圖像識(shí)別模型,提高了火災(zāi)圖像識(shí)別的泛化能力,但本質(zhì)上還是通過(guò)特征提取跟分類器分類來(lái)解決靜態(tài)火災(zāi)圖像的分類問(wèn)題.文獻(xiàn)[4]提出了一種雙流序列回歸深度網(wǎng)絡(luò)的視頻火災(zāi)檢測(cè)方法,通過(guò)融合靜態(tài)特征和動(dòng)態(tài)特征提升了火災(zāi)識(shí)別精度,但其工作重點(diǎn)依舊是火災(zāi)圖像的識(shí)別分類,而未給出火災(zāi)目標(biāo)檢測(cè)的解決方案.
基于深度學(xué)習(xí)的火災(zāi)檢測(cè),在靜態(tài)火災(zāi)圖像識(shí)別領(lǐng)域表現(xiàn)出了強(qiáng)大的鑒別力,而在動(dòng)態(tài)火災(zāi)目標(biāo)檢測(cè)方面的工作相對(duì)較少.現(xiàn)有火災(zāi)檢測(cè)方法將火災(zāi)檢測(cè)看成一個(gè)二分類問(wèn)題,實(shí)現(xiàn)火災(zāi)和非火災(zāi)的分類.而本文根據(jù)不同的火災(zāi)特征,如火焰和煙霧,將火災(zāi)檢測(cè)形式化為多分類和坐標(biāo)回歸問(wèn)題.
本文構(gòu)建了一個(gè)多場(chǎng)景大規(guī)模火災(zāi)目標(biāo)檢測(cè)數(shù)據(jù)庫(kù),并對(duì)火焰和煙霧區(qū)域進(jìn)行類別和位置信息的標(biāo)注.另外,本文提出了一種基于改進(jìn)YOLOv3的火災(zāi)檢測(cè)與識(shí)別方法,針對(duì)YOLOv3小目標(biāo)檢測(cè)能力不足的問(wèn)題進(jìn)行了改進(jìn),并在本文構(gòu)建的火災(zāi)目標(biāo)檢測(cè)數(shù)據(jù)庫(kù)上進(jìn)行離線訓(xùn)練,從而獲得相應(yīng)的火災(zāi)檢測(cè)模型.本文主要對(duì)火災(zāi)的火焰和煙霧特征進(jìn)行識(shí)別和檢測(cè),驗(yàn)證了深度學(xué)習(xí)在火災(zāi)檢測(cè)上的可行性.
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)的實(shí)際應(yīng)用中一個(gè)重要的領(lǐng)域,目標(biāo)檢測(cè)算法不僅需要對(duì)目標(biāo)進(jìn)行分類,還需要返回目標(biāo)的坐標(biāo)以實(shí)現(xiàn)定位[5-7].YOLOv3算法是目標(biāo)檢測(cè)領(lǐng)域的SOTA算法.與Faster R-CNN相比,YOLOv3可以實(shí)現(xiàn)端到端的訓(xùn)練,減少了模型訓(xùn)練的復(fù)雜度,并且圖像的處理速度大幅度提高[8].而與SSD[9]算法相比,YOLOv3擁有更高的檢測(cè)精度以及更快的處理速度.在Pascal Titan X的硬件條件下,YOLOv3每秒可以處理30幀COCO數(shù)據(jù)集的圖像,能滿足火災(zāi)檢測(cè)實(shí)時(shí)處理的需求[10].
YOLOv3算法的整體結(jié)構(gòu)如圖1所示,可將其分為3個(gè)部分,包括主干網(wǎng)絡(luò)、多尺度特征提取器和輸出層.

圖1 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)
2.2.1 改進(jìn)的YOLOv3檢測(cè)模型
雖然YOLOv3引入了特征金字塔(FPN)的思想,并配以不同大小的錨點(diǎn)來(lái)改善小目標(biāo)檢測(cè)效果,但在實(shí)際測(cè)試過(guò)程中發(fā)現(xiàn),YOLOv3對(duì)于部分小目標(biāo)的檢測(cè)效果并不好,存在誤檢與漏檢的情況.
YOLOv3網(wǎng)絡(luò)分別利用8倍、16倍以及32倍降采樣輸出3種不同尺寸的特征圖,并且主要在8倍降采樣的輸出特征圖上進(jìn)行小目標(biāo)檢測(cè).這意味著YOLOv3在對(duì)小于8×8的特征圖進(jìn)行檢測(cè)時(shí)會(huì)出現(xiàn)困難[11].雖然YOLOv3對(duì)16倍以及32倍降采樣的輸出特征圖進(jìn)行上采樣,并與8倍降采樣特征圖進(jìn)行融合以增強(qiáng)8倍降采樣特征圖,但這一操作并不能提供更多小目標(biāo)的特征信息.
如圖2,本文對(duì)主干網(wǎng)絡(luò)中輸出8倍下采樣特征圖進(jìn)行2倍上采樣,使尺寸與主干網(wǎng)絡(luò)的4倍下采樣特征圖匹配.然后,將經(jīng)2倍上采樣處理后的8倍降采樣特征圖與4倍降采樣特征圖進(jìn)行Concat融合,在得到104×104大小的特征圖上進(jìn)行分類和坐標(biāo)回歸.通過(guò)使用更大特征圖,可獲得更豐富的上下文信息,從而改善模型的小目標(biāo)檢測(cè)性能.同時(shí),本文將最終得到的8倍和16倍下采樣特征圖分別Maxpool至與32倍下采樣特征圖同尺寸后進(jìn)行Concat融合,實(shí)現(xiàn)特征復(fù)用,以增加32倍降采樣特征圖中的細(xì)節(jié)特征.

圖2 改進(jìn)后的YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)
2.2.2K-means聚類
YOLOv3引入了Faster R-CNN中所使用的錨點(diǎn)(anchor boxes)的思想.在YOLOv3輸出的3個(gè)尺度的特征圖中,每組特征圖都對(duì)應(yīng)了通過(guò)K-means聚類計(jì)算得到的3個(gè)不同尺度的錨點(diǎn).YOLOv3的輸出層通過(guò)預(yù)測(cè)不同錨點(diǎn)對(duì)應(yīng)的偏移量來(lái)實(shí)現(xiàn)目標(biāo)邊界框的回歸.
K-means聚類是最常用的無(wú)監(jiān)督學(xué)習(xí)算法之一,其中的K代表類簇個(gè)數(shù),means代表類簇內(nèi)數(shù)據(jù)對(duì)象的均值[12].K-means聚類算法是一種以距離作為數(shù)據(jù)對(duì)象間相似性度量的標(biāo)準(zhǔn),從而實(shí)現(xiàn)數(shù)據(jù)劃分的聚類算法.當(dāng)數(shù)據(jù)對(duì)象之間的距離越小,則代表數(shù)據(jù)之間的具有越高的相似度,越有可能被劃分在同一類簇中.
數(shù)據(jù)間距離的計(jì)算方式有很多種,典型的K-means聚類通常采用歐氏距離來(lái)計(jì)算數(shù)據(jù)對(duì)象間的距離.算法的詳細(xì)流程如下:

算法1.K-means聚類算法1.從數(shù)據(jù)中隨機(jī)選取K個(gè)樣本作為初始的K個(gè)質(zhì)心;2.計(jì)算剩余所有樣本與各個(gè)質(zhì)心之間的歐式距離,將各個(gè)樣本劃分至距離其最近的質(zhì)心所在的類簇;3.重新計(jì)算每一個(gè)類簇的質(zhì)心;4.如果所有的K個(gè)質(zhì)心都沒(méi)有發(fā)生變化則輸出簇劃分結(jié)果,否則返回至第2步.
而從數(shù)據(jù)集的標(biāo)注框聚類出先驗(yàn)的錨點(diǎn),YOLOv3并不使用常用的歐式距離來(lái)獲得錨點(diǎn),而是采用使用IOU來(lái)計(jì)算標(biāo)注框之間的距離,如式(1)所示:

即IOU越大,代表標(biāo)注框之間的距離越小.
通過(guò)K-means算法在本文構(gòu)建的火災(zāi)目標(biāo)檢測(cè)數(shù)據(jù)集中聚類得到9個(gè)錨點(diǎn),其中尺度1對(duì)應(yīng)的錨點(diǎn)是(171,133),(143,228),(329,264),尺度2對(duì)應(yīng)的錨點(diǎn)是(42,80),(106,73),(75,126),尺度3對(duì)應(yīng)的錨點(diǎn)是(19,22),(30,42),(59,48).
YOLOv3在K-means算法得到的錨點(diǎn)的基礎(chǔ)上進(jìn)行偏移量的回歸,從而得到目標(biāo)的實(shí)際檢測(cè)框.針對(duì)YOLOv3小目標(biāo)檢測(cè)效果不佳的情況,本文對(duì)不同的大小的質(zhì)心計(jì)算距離時(shí),分別增加了對(duì)應(yīng)的權(quán)重.從而在K-means迭代的過(guò)程中,約束其偏向于較小的錨點(diǎn).通過(guò)使用更小的錨點(diǎn)來(lái)改善YOLOv3的小目標(biāo)檢測(cè)能力.具體如式(2)、式(3)所示.

最終,本文通過(guò)改進(jìn)后的K-means聚類算法在構(gòu)建的火災(zāi)目標(biāo)檢測(cè)數(shù)據(jù)庫(kù)上得到9個(gè)錨點(diǎn).通過(guò)對(duì)比測(cè)試最終選定一組錨(5,6),(25,10),(20,34),(35,79),(52,43),(59,115),(115,90),(156,197),(372,326)并分別分配給3種尺度的特征圖.最終聚類得到的Boundingbox類簇分布如圖3所示.

圖3 Bounding-box類簇分布
遷移學(xué)習(xí)(transfer learning)是一種機(jī)器學(xué)習(xí)方法,遷移學(xué)習(xí)可以把源域的知識(shí)遷移到目標(biāo)域,使得算法在目標(biāo)域能夠取得更好的學(xué)習(xí)效果[13].
由于目前公開的火災(zāi)檢測(cè)數(shù)據(jù)集較少,而人工標(biāo)注則需要耗費(fèi)大量的人力物力,因此通過(guò)使用遷移學(xué)習(xí)在有限的數(shù)據(jù)集上進(jìn)一步提高模型的泛化能力十分必要.本文將YOLOv3在COCO數(shù)據(jù)集上的預(yù)訓(xùn)練權(quán)重作為源域,將構(gòu)建的火災(zāi)檢測(cè)數(shù)據(jù)庫(kù)作為目標(biāo)域.使用預(yù)訓(xùn)練權(quán)重可以使本文的改進(jìn)YOLOv3模型學(xué)習(xí)到其他數(shù)據(jù)集中的“知識(shí)”,從而增強(qiáng)算法的泛化性能.其中,使用遷移學(xué)習(xí)的步驟如下:首先,將預(yù)訓(xùn)練權(quán)重載入改進(jìn)YOLOv3模型,并凍結(jié)模型除了最后三層外的所有參數(shù),并以較低的學(xué)習(xí)率(lr<= 0.001)在本文的火災(zāi)目標(biāo)檢測(cè)數(shù)據(jù)庫(kù)上進(jìn)行訓(xùn)練.較低的學(xué)習(xí)率可以最小化地調(diào)整先前學(xué)習(xí)的參數(shù),以防止遷移學(xué)習(xí)失效.在訓(xùn)練過(guò)程中逐漸開放改進(jìn)的YOLOv3其他層的參數(shù),以便對(duì)整個(gè)網(wǎng)絡(luò)的參數(shù)實(shí)現(xiàn)微調(diào).

圖4 訓(xùn)練樣本
通過(guò)獲取網(wǎng)絡(luò)上的火災(zāi)圖像和截取公開的火災(zāi)視頻數(shù)據(jù)集實(shí)現(xiàn)訓(xùn)練樣本的采集,一共采集1萬(wàn)多張圖片,最后挑選出其中的3835張圖片作為實(shí)際訓(xùn)練測(cè)試數(shù)據(jù)集,如圖4所示.利用公開的labelimg標(biāo)注系統(tǒng)對(duì)整個(gè)數(shù)據(jù)集中每張圖像的火焰和煙霧區(qū)域進(jìn)行人工標(biāo)注,標(biāo)注系統(tǒng)界面如圖5所示,可以對(duì)火焰和煙霧區(qū)域進(jìn)行類別選擇和定位.并將所有的樣本圖像集按照PASAL VOC2007
樣本集的格式處理并存儲(chǔ),然后利用隨機(jī)函數(shù)將數(shù)據(jù)集隨機(jī)的分成訓(xùn)練集和測(cè)試集,其中訓(xùn)練集和測(cè)試集的圖片數(shù)量比例為4:1.

圖5 數(shù)據(jù)集標(biāo)注
本文實(shí)驗(yàn)過(guò)程均在以下的工作條件下完成訓(xùn)練與測(cè)試:IntelCore i5 8500 CPU,配備8 GB RAM與Win10操作系統(tǒng),NVIDIA GTX1070配備8 GB顯存,以及Keras深度學(xué)習(xí)框架.并配置YOLOv3的運(yùn)行環(huán)境,然后將標(biāo)定完成后的樣本數(shù)據(jù)集使用YOLOv3進(jìn)行訓(xùn)練.訓(xùn)練Loss曲線如圖6所示,可以看出,網(wǎng)絡(luò)迭代到Epoch30之后,損失值趨于平緩.

圖6 訓(xùn)練Loss曲線
在本文的實(shí)驗(yàn)中,均使用mAP(mean Average Precision)來(lái)評(píng)判模型識(shí)別的效果.mAP是目標(biāo)檢測(cè)中衡量檢測(cè)精度的常用指標(biāo),指的是多個(gè)類別的平均準(zhǔn)確率的平均值.AP指的是單個(gè)類別的平均準(zhǔn)確率,衡量的是模型在某一類別上識(shí)別效果的好壞.本文使用的AP默認(rèn)為AP50,即預(yù)測(cè)框與ground truth的IOU在大于50%前提下的單類別的平均準(zhǔn)確率.而mAP即為所有AP的平均值.mAP的值越大表示該模型的總體識(shí)別準(zhǔn)確率越高[14].
本文提出的改進(jìn)YOLOv3與YOLOv3的對(duì)比測(cè)試結(jié)果如表1所示.

表1 對(duì)比測(cè)試結(jié)果(%)
可以看出本文的改進(jìn)YOLOv3在火焰和煙霧檢測(cè)的平均精度上均有所提升,尤其在火焰的檢測(cè)精度上有大幅提升.在各種場(chǎng)景的火災(zāi)圖像中,小尺寸的火焰目標(biāo)較多,而煙霧對(duì)象由于其自身的擴(kuò)散特性,在圖像中一般占據(jù)較大的尺寸.本文選用了更大尺寸的特征圖進(jìn)行小目標(biāo)檢測(cè),并使用偏好小尺寸的anchor聚類生成策略來(lái)改善模型的小目標(biāo)檢測(cè)性能,因此在火焰目標(biāo)的檢測(cè)性能上有較好的提升,而對(duì)于本身尺寸較大的煙霧對(duì)象則提升有限,總體上有效提高了模型的火災(zāi)檢測(cè)精度.
最終訓(xùn)練得到的火災(zāi)檢測(cè)模型在測(cè)試樣本上的檢測(cè)結(jié)果如圖7所示,可以看出檢測(cè)模型在圖像中存在小目標(biāo)的情況下也能實(shí)現(xiàn)準(zhǔn)確檢測(cè)與識(shí)別,整體檢測(cè)效果較為理想.

圖7 測(cè)試結(jié)果
針對(duì)目前火災(zāi)頻發(fā),火災(zāi)檢測(cè)實(shí)時(shí)性難以保證的情況,本文提出了一種基于改進(jìn)YOLOv3的火災(zāi)檢測(cè)與識(shí)別方法.實(shí)驗(yàn)結(jié)果表明,本文使用的方法在火災(zāi)檢測(cè)和識(shí)別上能夠取得較好的檢測(cè)效果,尤其在小目標(biāo)檢測(cè)上有顯著提升.但是,由于火焰和煙霧本身具有形狀不固定的特點(diǎn),通過(guò)固定錨點(diǎn)實(shí)現(xiàn)坐標(biāo)回歸的方法難以獲得較高精度的目標(biāo)檢測(cè)框.因此,在以后的研究中,將重點(diǎn)解決火災(zāi)目標(biāo)檢測(cè)中錨點(diǎn)方法的改進(jìn),以獲得更高的檢測(cè)精度.