《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于深度學(xué)習(xí)的煙霧識(shí)別研究
基于深度學(xué)習(xí)的煙霧識(shí)別研究
2018年電子技術(shù)應(yīng)用第10期
王 濤,宮寧生,蔣貴祥
南京工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京211816
摘要: 基于Google第二代人工智能學(xué)習(xí)系統(tǒng)TensorFlow構(gòu)建神經(jīng)網(wǎng)絡(luò)對(duì)煙霧圖像進(jìn)行識(shí)別檢測(cè),通過改進(jìn)的運(yùn)動(dòng)檢測(cè)算法截取疑似煙霧區(qū)域圖像,并結(jié)合PCA降維算法和Inception Resnet v2網(wǎng)絡(luò)模型在TensorFlow平臺(tái)下進(jìn)行煙霧特征的訓(xùn)練識(shí)別。該算法實(shí)現(xiàn)了較大范圍的火災(zāi)實(shí)時(shí)檢測(cè)報(bào)警,經(jīng)過實(shí)驗(yàn)證明整個(gè)檢測(cè)過程準(zhǔn)確地識(shí)別了視頻流中的煙霧區(qū)域,相比于傳統(tǒng)煙霧識(shí)別方法具有更高的準(zhǔn)確率和自適應(yīng)性,為大范圍的火災(zāi)煙霧報(bào)警提供了一種有效方案。
中圖分類號(hào): TP391.4
文獻(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.
Smoke recognition based on the depth learning
Wang Tao,Gong Ningsheng,Jiang Guixiang
College of Computer Science and Technology,Nanjing Tech University,Nanjing 211816,China
Abstract: Based on the second generation Artificial Intelligence Learning System(TensorFlow), this paper constructs a neural network to detect smoke images, and uses an improved motion detection algorithm to intercept the image of suspected smoke area. Combining with the PCA dimensionality reduction algorithm,the Inception Resnet V2 network model is trained to recognize the smoke characteristics under the TensorFlow platform. The algorithm realizes a large range of real-time fire detection alarm, and through experiments, it is proved that the whole detection process accurately identifies the smoke region in the video stream, which is more accurate and adaptive than the traditional smoke recognition method, and provides an effective scheme for the large range of fire smoke alarms.
Key words : smoke detection;TensorFlow;PCA;convolutional neural network;motion detection

0 引言

    火災(zāi)對(duì)人類社會(huì)造成的傷害無可估量,每年都有大量的生命財(cái)產(chǎn)因?yàn)榛馂?zāi)而蒙受了巨大損失,不同于室內(nèi)火災(zāi)監(jiān)控技術(shù)的成熟,戶外火情由于各種因素的影響為實(shí)時(shí)監(jiān)控帶來了困難。隨著計(jì)算機(jī)技術(shù)的發(fā)展和圖像識(shí)別技術(shù)的廣泛普及,通過視頻監(jiān)控智能地進(jìn)行火情監(jiān)控將是未來火災(zāi)預(yù)警的重要手段。由于野外火情具有相當(dāng)?shù)碾[蔽性,直接對(duì)火焰檢測(cè)效果甚微,而對(duì)火情發(fā)生時(shí)產(chǎn)生的大量煙霧進(jìn)行檢測(cè)就成為了一個(gè)有效的方案,如何提高煙霧的識(shí)別率和效率就成為了當(dāng)前研究的重點(diǎn)。

    近年來眾多研究學(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)域的主流方法,但是由于此類算法多是基于單一顏色和運(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)域近來發(fā)展迅猛備受關(guān)注,成為了目前各行各業(yè)研究的熱點(diǎn),同時(shí)國(guó)家也對(duì)人工智能深度學(xué)習(xí)方面進(jìn)行大力扶持。不久前AlphaGo在圍棋上大獲全勝更使得深度學(xué)習(xí)成為了熱門話題,深度學(xué)習(xí)在人工智能[4]、語音識(shí)別[5]和圖像識(shí)別等方面都有突出表現(xiàn),其中在圖像識(shí)別方面的應(yīng)用已經(jīng)較為成熟,通過深度網(wǎng)絡(luò)抽取目標(biāo)特征加以識(shí)別被廣泛應(yīng)用。因此,本文針對(duì)傳統(tǒng)煙霧檢測(cè)算法的不足,通過深度學(xué)習(xí)算法對(duì)煙霧進(jìn)行實(shí)時(shí)監(jiān)測(cè)預(yù)警,經(jīng)過實(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è)來提取疑似煙霧目標(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幀之間做兩兩幀插,幀插公式如下:

jsj1-gs1-4.gif

    最后將三幀插結(jié)果D與背景插結(jié)果做或運(yùn)算,結(jié)果即為本文運(yùn)動(dòng)檢測(cè)結(jié)果。接下來對(duì)檢測(cè)到的運(yùn)動(dòng)目標(biāo)區(qū)域送入深度學(xué)習(xí)模型檢測(cè)。

    圖1為對(duì)田間煙霧進(jìn)行運(yùn)動(dòng)檢測(cè)的效果,基本保留了煙霧整體形態(tài),具有較理想的效果,可以將煙霧區(qū)域基本選取出來。

jsj1-t1.gif

2 數(shù)據(jù)預(yù)處理

    深度學(xué)習(xí)通過對(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)用過程中產(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è)過程中的運(yùn)算量、提高運(yùn)算效率,對(duì)圖像數(shù)據(jù)使用經(jīng)驗(yàn)值法[6]進(jìn)行灰度化處理后利用PCA算法進(jìn)行數(shù)據(jù)的降維處理,以減少無關(guān)特征的影響。

jsj1-gs5-8.gif

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í)別的主要過程是使用現(xiàn)有煙霧圖像對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,進(jìn)而提取煙霧圖像特征,由于類似于人類的記憶學(xué)習(xí)過程近似,故被稱為網(wǎng)絡(luò)的學(xué)習(xí)過程。本文通過預(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)。

jsj1-t2.gif

    從圖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ǎng)絡(luò)可以識(shí)別更高級(jí)的特征,多層網(wǎng)絡(luò)中上一個(gè)卷積層的輸出即為下一層的輸入。但是網(wǎng)絡(luò)層數(shù)增加的同時(shí)也帶來參數(shù)過多、資源消耗過大、網(wǎng)絡(luò)退化等問題。

3.2 網(wǎng)絡(luò)模型構(gòu)建

    針對(duì)深層網(wǎng)絡(luò)的退化、效率低、資源消耗大等問題,本文在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ò)的退化問題。

    Inception結(jié)構(gòu)將不同的卷積層以并聯(lián)的方式連接;Inception使用不同尺寸的過濾器,將各自的處理結(jié)果拼接成一個(gè)更深的矩陣;Inception結(jié)構(gòu)增加了網(wǎng)絡(luò)深度和寬度,可以更好地提取特征,同時(shí)減少了參數(shù),保證了計(jì)算效率。圖3展示了Inception模塊結(jié)構(gòu)。

jsj1-t3.gif

    Resnet殘差網(wǎng)絡(luò)利用shortcut將一個(gè)卷積層的輸入和輸出連接起來即構(gòu)成了一個(gè)殘差塊, 當(dāng)殘差函數(shù)F(x)與輸入向量大小相同時(shí),使用式(9)表達(dá)殘差塊公式:

jsj1-gs9-10.gif

    式(10)中使用線性投影Ws進(jìn)行維度匹配。殘差網(wǎng)絡(luò)的使用最大限度地解決了因?yàn)榫W(wǎng)絡(luò)深度增加而帶來的退化問題。在網(wǎng)絡(luò)最后一層使用全局池化層代替全連接層,對(duì)全部的輸出特征圖進(jìn)行全局均值池化得到輸出,取消了全連接層可以大幅減少參數(shù),避免了全連接層由于參數(shù)過多而造成的過度擬合和過度消耗資源。

    圖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è)過程中的效率和準(zhǔn)確率都進(jìn)一步得到了保證。

jsj1-t4.gif

4 算法流程

    本文的煙霧檢測(cè)系統(tǒng)流程分為對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和煙霧檢測(cè)實(shí)現(xiàn)兩個(gè)部分。圖5展示了算法的整體流程。

jsj1-t5.gif

    圖5中,上部分為網(wǎng)絡(luò)的訓(xùn)練過程,數(shù)據(jù)集經(jīng)過預(yù)處理后送入網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,最終得到經(jīng)過數(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開源的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)的分類標(biāo)簽。

5.2 模型訓(xùn)練

    得到訓(xùn)練數(shù)據(jù)集后,通過深度學(xué)習(xí)網(wǎng)絡(luò)模型對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練過程可以通過Tensorboard可視化工具進(jìn)行觀察分析。

    圖6即為訓(xùn)練過程中損失函數(shù)Loss的變化趨勢(shì),可以看出整個(gè)訓(xùn)練過程進(jìn)行了10 000次迭代,其中在到達(dá)6 000次的時(shí)候損失基本趨于穩(wěn)定,訓(xùn)練過程基本達(dá)到預(yù)期。該算法的訓(xùn)練效率對(duì)運(yùn)行環(huán)境有較高的依賴,本文實(shí)驗(yàn)僅在單GPU環(huán)境下進(jìn)行,通過提高GPU的數(shù)量并行運(yùn)算可以使得訓(xùn)練時(shí)間大幅縮短。

jsj1-t6.gif

5.3 結(jié)果分析

    訓(xùn)練完成后使用模型對(duì)圖像進(jìn)行識(shí)別,為了檢驗(yàn)本文算法在戶外實(shí)時(shí)煙霧檢測(cè)過程中的效果,截取了3段不同環(huán)境下的煙霧視頻,共有52 300幀,其中有煙霧的幀數(shù)為37 201幀,測(cè)試視頻情況如下。

    分別對(duì)田間、樹林、工廠不同環(huán)境下的監(jiān)控視頻進(jìn)行檢測(cè),表1展示了實(shí)驗(yàn)后的結(jié)果統(tǒng)計(jì),通過深度學(xué)習(xí)算法進(jìn)行煙霧檢測(cè)結(jié)果準(zhǔn)確率滿足了實(shí)際應(yīng)用要求。表2展示了本文算法與當(dāng)前主流煙霧檢測(cè)算法對(duì)比情況。

jsj1-b1.gif

jsj1-b2.gif

    通過表2可以看出本文算法相對(duì)于其他煙霧檢測(cè)算法減少了誤檢、漏檢情況的發(fā)生,檢測(cè)準(zhǔn)確率高于其他算法,并且本文算法的準(zhǔn)確率與訓(xùn)練數(shù)據(jù)有較大關(guān)系,后期通過提高煙霧圖像數(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í)算法由于沒有經(jīng)過視頻流的運(yùn)動(dòng)檢測(cè)和數(shù)據(jù)降維的處理造成了大量的無用運(yùn)算,因此效率很低無法運(yùn)用到實(shí)際項(xiàng)目中。

jsj1-t7.gif

    本文算法實(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í)別過程中將模型認(rèn)為是煙霧區(qū)域概率大于50%的區(qū)域進(jìn)行了框選,4幅圖像均采用了室外秸稈焚燒的煙霧圖像,可以看出煙霧均被準(zhǔn)確檢測(cè)。 

jsj1-t8.gif

    經(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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。