文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.180118
中文引用格式: 王濤,,宮寧生,蔣貴祥. 基于深度學(xué)習(xí)的煙霧識(shí)別研究[J].電子技術(shù)應(yīng)用,,2018,,44(10):131-135.
英文引用格式: Wang Tao,Gong Ningsheng,,Jiang Guixiang. Smoke recognition based on the depth learning[J]. Application of Electronic Technique,,2018,44(10):131-135.
0 引言
火災(zāi)對(duì)人類(lèi)社會(huì)造成的傷害無(wú)可估量,,每年都有大量的生命財(cái)產(chǎn)因?yàn)榛馂?zāi)而蒙受了巨大損失,,不同于室內(nèi)火災(zāi)監(jiān)控技術(shù)的成熟,戶(hù)外火情由于各種因素的影響為實(shí)時(shí)監(jiān)控帶來(lái)了困難,。隨著計(jì)算機(jī)技術(shù)的發(fā)展和圖像識(shí)別技術(shù)的廣泛普及,,通過(guò)視頻監(jiān)控智能地進(jìn)行火情監(jiān)控將是未來(lái)火災(zāi)預(yù)警的重要手段。由于野外火情具有相當(dāng)?shù)碾[蔽性,,直接對(duì)火焰檢測(cè)效果甚微,,而對(duì)火情發(fā)生時(shí)產(chǎn)生的大量煙霧進(jìn)行檢測(cè)就成為了一個(gè)有效的方案,如何提高煙霧的識(shí)別率和效率就成為了當(dāng)前研究的重點(diǎn),。
近年來(lái)眾多研究學(xué)者在煙霧檢測(cè)方面做出了許多研究,,眾多學(xué)者提出了許多對(duì)于煙霧檢測(cè)的方法和方案。其中李紅娣等[1]提出的采用金字塔紋理和邊緣特征的檢測(cè)方法,,王欣剛等[2]利用運(yùn)動(dòng)檢測(cè)和小波分析的方法進(jìn)行檢測(cè),,袁非牛等[3]提出了根據(jù)運(yùn)動(dòng)方向進(jìn)行判斷的檢測(cè)方法。這些方法多為現(xiàn)今煙霧識(shí)別領(lǐng)域的主流方法,,但是由于此類(lèi)算法多是基于單一顏色和運(yùn)動(dòng)變化等方面對(duì)煙霧檢測(cè)或需要大量運(yùn)算難以保證檢測(cè)的實(shí)時(shí)性,,在復(fù)雜環(huán)境條件下應(yīng)用尚有不足,再進(jìn)行田地里的秸稈焚燒監(jiān)控時(shí),,由于干擾量多且實(shí)時(shí)性和準(zhǔn)確性要求較高,,這種情況下傳統(tǒng)方法難以達(dá)到預(yù)期效果。
深度學(xué)習(xí)領(lǐng)域近來(lái)發(fā)展迅猛備受關(guān)注,,成為了目前各行各業(yè)研究的熱點(diǎn),,同時(shí)國(guó)家也對(duì)人工智能深度學(xué)習(xí)方面進(jìn)行大力扶持。不久前AlphaGo在圍棋上大獲全勝更使得深度學(xué)習(xí)成為了熱門(mén)話題,,深度學(xué)習(xí)在人工智能[4],、語(yǔ)音識(shí)別[5]和圖像識(shí)別等方面都有突出表現(xiàn),其中在圖像識(shí)別方面的應(yīng)用已經(jīng)較為成熟,,通過(guò)深度網(wǎng)絡(luò)抽取目標(biāo)特征加以識(shí)別被廣泛應(yīng)用,。因此,本文針對(duì)傳統(tǒng)煙霧檢測(cè)算法的不足,,通過(guò)深度學(xué)習(xí)算法對(duì)煙霧進(jìn)行實(shí)時(shí)監(jiān)測(cè)預(yù)警,,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證該算法識(shí)別率高具有較好的檢測(cè)效果,,并且大幅優(yōu)化了深度學(xué)習(xí)中由于復(fù)雜的神經(jīng)網(wǎng)絡(luò)而造成的大量運(yùn)算,相比于傳統(tǒng)圖像識(shí)別方法有更好的自適應(yīng)性和靈活性,。
1 視頻運(yùn)動(dòng)檢測(cè)
由于在發(fā)生火情形成煙霧的情況下煙霧不是靜止不動(dòng)的而是運(yùn)動(dòng)狀態(tài),,因此可以對(duì)視頻中運(yùn)動(dòng)物體進(jìn)行檢測(cè)來(lái)提取疑似煙霧目標(biāo),但是由于煙霧具有移動(dòng)緩慢的特點(diǎn),,傳統(tǒng)的光流法,、幀間插法、背景插法等運(yùn)動(dòng)檢測(cè)算法檢測(cè)效果不佳,。針對(duì)這些不足,,本文綜合幀插與背景插法結(jié)果疊加從而準(zhǔn)確有效地檢測(cè)運(yùn)動(dòng)區(qū)域。
首先對(duì)具有n幀的連續(xù)視頻片斷中全部的n幀進(jìn)行三幀插處理,,即在第i幀與i-1幀,、i+1幀這3幀之間做兩兩幀插,幀插公式如下:
最后將三幀插結(jié)果D與背景插結(jié)果做或運(yùn)算,,結(jié)果即為本文運(yùn)動(dòng)檢測(cè)結(jié)果,。接下來(lái)對(duì)檢測(cè)到的運(yùn)動(dòng)目標(biāo)區(qū)域送入深度學(xué)習(xí)模型檢測(cè),。
圖1為對(duì)田間煙霧進(jìn)行運(yùn)動(dòng)檢測(cè)的效果,,基本保留了煙霧整體形態(tài),具有較理想的效果,,可以將煙霧區(qū)域基本選取出來(lái),。
2 數(shù)據(jù)預(yù)處理
深度學(xué)習(xí)通過(guò)對(duì)數(shù)據(jù)的特征分析從而完成對(duì)模型的訓(xùn)練,通常一個(gè)圖像數(shù)據(jù)中包含了大量信息,,而對(duì)最終的學(xué)習(xí)效果產(chǎn)生影響的只有主要特征,,而大量特征造成了數(shù)據(jù)冗余而使得運(yùn)算效率大打折扣。一個(gè)500×500大小的視頻幀圖像其原始特征就會(huì)達(dá)到M=250 000維,,這在應(yīng)用過(guò)程中產(chǎn)生了龐大的運(yùn)算量,,嚴(yán)重影響到運(yùn)算效率。由于本文應(yīng)用的系統(tǒng)目標(biāo)是對(duì)煙霧進(jìn)行實(shí)時(shí)的監(jiān)控報(bào)警,,對(duì)算法實(shí)時(shí)性有較高要求,,因此為了減少圖像在訓(xùn)練、測(cè)試和檢測(cè)過(guò)程中的運(yùn)算量,、提高運(yùn)算效率,,對(duì)圖像數(shù)據(jù)使用經(jīng)驗(yàn)值法[6]進(jìn)行灰度化處理后利用PCA算法進(jìn)行數(shù)據(jù)的降維處理,以減少無(wú)關(guān)特征的影響,。
3 卷積網(wǎng)絡(luò)模型構(gòu)建
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種深度學(xué)習(xí)的架構(gòu),,在人工智能、文本處理,、圖像識(shí)別等方面被廣泛應(yīng)用,。卷積神經(jīng)網(wǎng)絡(luò)對(duì)煙霧識(shí)別的主要過(guò)程是使用現(xiàn)有煙霧圖像對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,,進(jìn)而提取煙霧圖像特征,由于類(lèi)似于人類(lèi)的記憶學(xué)習(xí)過(guò)程近似,,故被稱(chēng)為網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程,。本文通過(guò)預(yù)處理的煙霧圖像數(shù)據(jù)集對(duì)卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練提取煙霧特征,并結(jié)合Inception Resnet v2[7]網(wǎng)絡(luò)模型進(jìn)行煙霧檢測(cè),,在基于TensorFlow[8]的多GPU支持下本文對(duì)煙霧特征的提取訓(xùn)練時(shí)間大大縮短,。
3.1 基本卷積神經(jīng)網(wǎng)絡(luò)原理
卷積神經(jīng)網(wǎng)絡(luò)是一個(gè)利用反向傳播算法進(jìn)行特征訓(xùn)練的多層神經(jīng)網(wǎng)絡(luò),卷積核就是其核心,,當(dāng)前在各領(lǐng)域被廣泛運(yùn)用,。一個(gè)基本的卷積神經(jīng)網(wǎng)絡(luò)通常是由一系列卷積層、非線性層,、池化層和完全連接層組成的,。與普通神經(jīng)網(wǎng)絡(luò)不同,在卷積層中一個(gè)神經(jīng)元只與部分相鄰層的神經(jīng)元相連,,圖2展示了一個(gè)卷積神經(jīng)網(wǎng)絡(luò)卷積的基本結(jié)構(gòu),。
從圖2中可以看出,在前幾層里每一層的節(jié)點(diǎn)和上一層部分節(jié)點(diǎn)相連,,全連接層中每個(gè)節(jié)點(diǎn)與上一層的全部節(jié)點(diǎn)連接,。根據(jù)不同需求可以構(gòu)建多層神經(jīng)網(wǎng)絡(luò),為了使神經(jīng)網(wǎng)絡(luò)能夠解決更復(fù)雜的問(wèn)題,,使用具有更多層次的網(wǎng)絡(luò)可以識(shí)別更高級(jí)的特征,,多層網(wǎng)絡(luò)中上一個(gè)卷積層的輸出即為下一層的輸入。但是網(wǎng)絡(luò)層數(shù)增加的同時(shí)也帶來(lái)參數(shù)過(guò)多,、資源消耗過(guò)大,、網(wǎng)絡(luò)退化等問(wèn)題。
3.2 網(wǎng)絡(luò)模型構(gòu)建
針對(duì)深層網(wǎng)絡(luò)的退化,、效率低,、資源消耗大等問(wèn)題,本文在Inception Resnet v2網(wǎng)絡(luò)模型的基礎(chǔ)上對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行了改進(jìn),。在增加了卷積層數(shù)提高特征提取的精度的同時(shí),,避免由于網(wǎng)絡(luò)的加深訓(xùn)練誤差和測(cè)試誤差加大造成的網(wǎng)絡(luò)退化的現(xiàn)象,并確保資源的消耗盡可能地低,,使用Inception結(jié)構(gòu)和全局池化層增加計(jì)算效率,,使用Resnet殘差塊解決深層網(wǎng)絡(luò)的退化問(wèn)題。
Inception結(jié)構(gòu)將不同的卷積層以并聯(lián)的方式連接,;Inception使用不同尺寸的過(guò)濾器,,將各自的處理結(jié)果拼接成一個(gè)更深的矩陣;Inception結(jié)構(gòu)增加了網(wǎng)絡(luò)深度和寬度,,可以更好地提取特征,,同時(shí)減少了參數(shù),,保證了計(jì)算效率。圖3展示了Inception模塊結(jié)構(gòu),。
Resnet殘差網(wǎng)絡(luò)利用shortcut將一個(gè)卷積層的輸入和輸出連接起來(lái)即構(gòu)成了一個(gè)殘差塊,, 當(dāng)殘差函數(shù)F(x)與輸入向量大小相同時(shí),使用式(9)表達(dá)殘差塊公式:
式(10)中使用線性投影Ws進(jìn)行維度匹配,。殘差網(wǎng)絡(luò)的使用最大限度地解決了因?yàn)榫W(wǎng)絡(luò)深度增加而帶來(lái)的退化問(wèn)題,。在網(wǎng)絡(luò)最后一層使用全局池化層代替全連接層,對(duì)全部的輸出特征圖進(jìn)行全局均值池化得到輸出,,取消了全連接層可以大幅減少參數(shù),,避免了全連接層由于參數(shù)過(guò)多而造成的過(guò)度擬合和過(guò)度消耗資源。
圖4展示了改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu),,由于模型深度很深,,為了能更直觀地展示,將部分重復(fù)的殘差區(qū)塊進(jìn)行了壓縮,。整個(gè)模型架構(gòu)由40個(gè)Inception Resnet模塊組成,,整個(gè)模型中有233個(gè)卷積層。Inception Resnet模型可以快速準(zhǔn)確地提取更多的特征,,使得訓(xùn)練和檢測(cè)過(guò)程中的效率和準(zhǔn)確率都進(jìn)一步得到了保證,。
4 算法流程
本文的煙霧檢測(cè)系統(tǒng)流程分為對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和煙霧檢測(cè)實(shí)現(xiàn)兩個(gè)部分。圖5展示了算法的整體流程,。
圖5中,,上部分為網(wǎng)絡(luò)的訓(xùn)練過(guò)程,數(shù)據(jù)集經(jīng)過(guò)預(yù)處理后送入網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,,最終得到經(jīng)過(guò)數(shù)據(jù)訓(xùn)練的網(wǎng)絡(luò)模型。下部分為煙霧視頻檢測(cè),,對(duì)原始視頻流進(jìn)行運(yùn)動(dòng)檢測(cè)后,,將運(yùn)動(dòng)目標(biāo)送入訓(xùn)練完成的網(wǎng)絡(luò)中識(shí)別,若檢測(cè)為煙霧圖像則將其在原始圖像中標(biāo)記后進(jìn)行報(bào)警,。
5 煙霧識(shí)別的實(shí)現(xiàn)與分析
本文基于Google開(kāi)源的TensorFlow平臺(tái)構(gòu)造深度學(xué)習(xí)網(wǎng)絡(luò)模型,,考慮到算法實(shí)時(shí)性要求使用GPU進(jìn)行硬件支持,實(shí)驗(yàn)環(huán)境為Windows10系統(tǒng)下的tensorflow1.2的GPU版本,,硬件設(shè)備為NVIDIA TESLA K80顯卡,。
5.1 數(shù)據(jù)集準(zhǔn)備
首先收集含有煙霧的圖像制作訓(xùn)練數(shù)據(jù)集,將1 000張包含煙霧的圖像和500張其他干擾圖像作為訓(xùn)練數(shù)據(jù),,將其中1 000張作為訓(xùn)練數(shù)據(jù)集,,500張作為測(cè)試數(shù)據(jù)集。將全部訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集的圖像進(jìn)行灰度化和PCA降維處理后使用深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行訓(xùn)練學(xué)習(xí),。其中每個(gè)圖像都包含了對(duì)應(yīng)的分類(lèi)標(biāo)簽,。
5.2 模型訓(xùn)練
得到訓(xùn)練數(shù)據(jù)集后,,通過(guò)深度學(xué)習(xí)網(wǎng)絡(luò)模型對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程可以通過(guò)Tensorboard可視化工具進(jìn)行觀察分析,。
圖6即為訓(xùn)練過(guò)程中損失函數(shù)Loss的變化趨勢(shì),,可以看出整個(gè)訓(xùn)練過(guò)程進(jìn)行了10 000次迭代,其中在到達(dá)6 000次的時(shí)候損失基本趨于穩(wěn)定,,訓(xùn)練過(guò)程基本達(dá)到預(yù)期,。該算法的訓(xùn)練效率對(duì)運(yùn)行環(huán)境有較高的依賴(lài),本文實(shí)驗(yàn)僅在單GPU環(huán)境下進(jìn)行,,通過(guò)提高GPU的數(shù)量并行運(yùn)算可以使得訓(xùn)練時(shí)間大幅縮短,。
5.3 結(jié)果分析
訓(xùn)練完成后使用模型對(duì)圖像進(jìn)行識(shí)別,為了檢驗(yàn)本文算法在戶(hù)外實(shí)時(shí)煙霧檢測(cè)過(guò)程中的效果,,截取了3段不同環(huán)境下的煙霧視頻,,共有52 300幀,其中有煙霧的幀數(shù)為37 201幀,,測(cè)試視頻情況如下,。
分別對(duì)田間、樹(shù)林,、工廠不同環(huán)境下的監(jiān)控視頻進(jìn)行檢測(cè),,表1展示了實(shí)驗(yàn)后的結(jié)果統(tǒng)計(jì),通過(guò)深度學(xué)習(xí)算法進(jìn)行煙霧檢測(cè)結(jié)果準(zhǔn)確率滿足了實(shí)際應(yīng)用要求,。表2展示了本文算法與當(dāng)前主流煙霧檢測(cè)算法對(duì)比情況,。
通過(guò)表2可以看出本文算法相對(duì)于其他煙霧檢測(cè)算法減少了誤檢、漏檢情況的發(fā)生,,檢測(cè)準(zhǔn)確率高于其他算法,,并且本文算法的準(zhǔn)確率與訓(xùn)練數(shù)據(jù)有較大關(guān)系,后期通過(guò)提高煙霧圖像數(shù)量和迭代次數(shù)對(duì)模型進(jìn)行進(jìn)一步訓(xùn)練,,檢測(cè)準(zhǔn)確率有進(jìn)一步提高空間,。
圖7展示了各個(gè)煙霧檢測(cè)算法的檢測(cè)效率,本文算法在運(yùn)行效率方面與當(dāng)前主流方法相差不大,,其中由于大運(yùn)算量的小波分析影響,,王欣剛[2]的算法相對(duì)效率較低,而常規(guī)的深度學(xué)習(xí)算法由于沒(méi)有經(jīng)過(guò)視頻流的運(yùn)動(dòng)檢測(cè)和數(shù)據(jù)降維的處理造成了大量的無(wú)用運(yùn)算,,因此效率很低無(wú)法運(yùn)用到實(shí)際項(xiàng)目中,。
本文算法實(shí)現(xiàn)了對(duì)煙霧進(jìn)行實(shí)時(shí)監(jiān)控的目的,并在算法準(zhǔn)確率和效率之間達(dá)到了較好的平衡,。
5.4 實(shí)際應(yīng)用效果
圖8展示了本文算法在某地秸稈焚燒監(jiān)控系統(tǒng)中的實(shí)際應(yīng)用效果,,識(shí)別過(guò)程中將模型認(rèn)為是煙霧區(qū)域概率大于50%的區(qū)域進(jìn)行了框選,4幅圖像均采用了室外秸稈焚燒的煙霧圖像,,可以看出煙霧均被準(zhǔn)確檢測(cè),。
經(jīng)實(shí)際運(yùn)用驗(yàn)證了該算法在田間的煙霧識(shí)別效果較好,,工廠環(huán)境下由于房屋等建筑干擾和工廠中工業(yè)制造所排放的煙霧干擾造成了識(shí)別效果有所下降,但識(shí)別率均達(dá)到了90%以上,,總計(jì)漏檢率為3.3%,,誤檢率為4.3%,最終準(zhǔn)確率為92%,。本文算法成功達(dá)到了秸稈焚燒監(jiān)控目的,,并且在進(jìn)一步增加訓(xùn)練數(shù)據(jù)集的情況下準(zhǔn)確率有進(jìn)一步提高空間。
6 結(jié)論
本文基于TensorFlow平臺(tái)利用PCA降維算法和深度學(xué)習(xí)對(duì)預(yù)處理后的煙霧圖像進(jìn)行訓(xùn)練提取煙霧圖像主特征,,并對(duì)圖像中的煙霧區(qū)域進(jìn)行識(shí)別,。相比于傳統(tǒng)的圖像識(shí)別方法,基于深度學(xué)習(xí)的識(shí)別具有自學(xué)習(xí)和適應(yīng)能力,,可以更好地對(duì)目標(biāo)進(jìn)行識(shí)別,。經(jīng)實(shí)驗(yàn)驗(yàn)證,該方法具有較高的識(shí)別率,,可以有效地對(duì)煙火進(jìn)行檢測(cè),,對(duì)室外的煙霧報(bào)警火災(zāi)預(yù)防有較好的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 李紅娣,,袁非牛.采用金字塔紋理和邊緣特征的圖像煙霧檢測(cè)[J].中國(guó)圖象圖形學(xué)報(bào),,2015,20(6):772-780.
[2] 王欣剛,,魏崢,,劉東昌,等.基于煙霧動(dòng)態(tài)特征分析的實(shí)時(shí)火災(zāi)檢測(cè)[J].計(jì)算機(jī)技術(shù)與發(fā)展,,2008,,18(11):9-12.
[3] 袁非牛,張永明,,劉士興,,等.基于累積量和主運(yùn)動(dòng)方向的視頻煙霧檢測(cè)方法[J].中國(guó)圖象圖形學(xué)報(bào),2008,,13(4):808-813.
[4] BENGIO Y.Learning deep architectures for AI[J].Foundations & Trends in Machine Learning,2009,,2(1):1-127.
[5] GRAVES A,,MOHAMED A R,HINTON G.Speech recognition with deep recurrent neural networks[C].IEEE International Conference on Acoustics,,Speech and Signal Processing.IEEE,,2013:6645-6649.
[6] 陳鍛生,宋鳳菲,,張群.一種彩色圖像灰度化的自適應(yīng)全局映射方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,,2013(9):164-167,,171.
[7] SZEGEDY C,IOFFE S,,VANHOUCKE V,,et al.Inception-v4,Inception-ResNet and the impact of residual connections on learning[Z].2016.
[8] ABADI M,,AGARWAL A,,BARHAM P,et al.TensorFlow:large-scale machine learning on heterogeneous distributed systems[Z].2016.
作者信息:
王 濤,,宮寧生,,蔣貴祥
(南京工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京211816)