曹燦燦,龔聲蓉,周立凡,鐘 珊
(1.東北石油大學 計算機與信息技術學院,黑龍江 大慶 163318;2.常熟理工學院 計算機科學與工程學院,江蘇 常熟 215500)
近年來國內火災事故頻發(fā),造成了巨大的經濟損失和人員傷亡[1]。火災造成的損失是巨大的,如何降低火災損失,提前報警是國內外學者一直思考研究的問題。傳統(tǒng)火災探測主要靠煙霧傳感器[2],但是受人為、天氣、氣流等條件制約,這些傳感器檢測效率較低,并不能有效提前預警。火災發(fā)生的前置條件一般是煙霧,如果能對煙霧進行有效準確的檢測,將會極大降低火災帶來的危害。但是由于煙霧形狀不規(guī)則、顏色特征多樣等原因,造成傳統(tǒng)煙霧檢測有很大的局限性。隨著神經網絡的發(fā)展,基于視頻的煙霧檢測開始流行。視頻煙霧檢測技術具有檢測范圍廣、準確率高等特點,該技術正在被應用于火災預測等領域。
近年來,國內外很多學者都針對煙霧檢測進行了研究。Millan等人[3]首先用顏色特征處理圖像,但是因為之前人們對顏色研究較少,所以導致煙霧閾值設定不合理。王濤等人[4]結合PCA降維算法來進行煙霧檢測。Zhou等人[5]通過提取煙霧面積變化率和形狀特征來檢測煙霧。李鵬等人[6]將高斯混合模型和卷積神經網絡相結合對煙霧進行識別。張欣欣等人提出了一種改進VGG16模型,通過對LeNet增加相應的層數進行煙霧檢測[7]。Jia等人[8]分割了煙霧區(qū)域,首次根據煙霧顏色和運動特征來識別煙霧。馮佳璐等人通過構建兩層火災煙霧識別模型,增強了視頻抗干擾能力[9]。Ye等人根據顏色空間特征結合小波來實現(xiàn)對煙霧的識別[10]。史勁亭等建立一個較大的數據集,為后面煙霧識別提供了較好的數據集[11]。Foggia等人把運動、顏色、形態(tài)三方面相結合來識別煙霧[12-13]。吳章憲等人提出了Gabor小波變換用于識別煙霧[14]。陳俊周等人通過級聯(lián)卷積神經網絡來識別煙霧[15]。袁梅等人通過擴大候選煙霧區(qū)域和卷積神經網絡相結合進行煙霧檢測[16]。然而這些煙霧檢測方法還存在一定的局限性:首先是泛化性差,換了不同場景后檢測準確率會明顯降低;其次檢測準確率不高,還有待于進一步提升。目前,計算機在圖像識別領域的準確率已經超越人類[17-19]。使用深度學習相關知識進行煙霧識別是主流方法之一。
針對當前視頻煙霧檢測的問題,在歸納當前視頻煙霧檢測方法的基礎上,從提高煙霧檢測準確率這個實際要求出發(fā),該文提出使用HSV顏色空間特征來替代傳統(tǒng)RGB顏色空間特征,通過高斯混合模型提取煙霧運動區(qū)域。結合煙霧顏色特征和運動特征來提取煙霧候選區(qū)域,然后使用卷積神經網絡對煙霧候選區(qū)域進行自動提取來對煙霧進行檢測。最后,對提出的HSV(Hue,Saturation,Brightness,色調,飽和,明亮)顏色空間特征和卷積神經網絡相結合的視頻煙霧檢測方法進行實驗論證和分析。實驗結果表明,基于HSV顏色空間特征和卷積神經網絡相結合的方法對煙霧檢測準確率高,煙霧報警響應時間短,可以實現(xiàn)對復雜場景下的煙霧進行實時檢測。
視頻煙霧檢測技術:
煙霧檢測技術可以提前預警火災,給人民群眾留下?lián)尵壬敭a的時間,目前煙霧檢測主要靠煙霧警報器,煙霧警報器在小范圍的室內環(huán)境下使用效果良好,但是在野外空曠場景中,煙霧警報器效果比較差。
根據國標規(guī)定,煙霧警報器的響應時間為20秒以內,但在野外空曠場景下,煙霧警報器常常達不到國標規(guī)定。隨著現(xiàn)代化的發(fā)展,傳統(tǒng)的煙霧警報器已無法滿足人們的安全要求,基于深度學習的視頻煙霧檢測速度快、檢測范圍廣,有代替?zhèn)鹘y(tǒng)煙霧警報器的趨勢。
首先通過攝像機獲取煙霧場景視頻圖像;接著對輸入圖像按128×96像素進行分塊;然后由HSV顏色空間特征判斷是否為煙霧運動候選區(qū)域,初步提取出煙霧候選區(qū)域;最后將候選區(qū)域送入訓練好的卷積神經網絡中判斷是否為煙霧。
圖1 RGB煙霧檢測算法流程
圖1中每個步驟的目的:
視頻預處理:可以抵消除圖像中的干擾,增強目標區(qū)域,從而提高檢測識別的準確率。
提取候選區(qū)域:因為整個視頻中區(qū)域較大,如果每個區(qū)域都進行檢測,運算量會非常大,因此只搜尋視頻中感興趣的部分,也就是疑似煙霧的運動區(qū)域,將極大減少計算量。
特征提?。簾熿F有向上運動的特征,提取向上運動的特征作為下一步對煙霧進行分類識別的一個憑證。
HSV顏色空間在美術人員中使用的比較廣泛,可以通過調整飽和度和亮度來達到特定風格的效果[20]。
圖像在計算機中存儲和顯示都是以RGB顏色空間的形式進行的,將圖像從RGB顏色空間轉換到HSV顏色空間的轉換方式如下[21]:
V=max(R,G,B)
計算出結果后:
最終計算出的結果,H∈[0,360],S∈[0,1],V∈[0,1]。
由于計算機中圖像是以24位的方式存儲,所以像素值的每個分量應為0到255之間的數值,為了方便計算,再將計算出的H,S,V三分量的值映射到0到255之間,映射公式如下:
S=255×S
V=255×V
基于兩種不同顏色空間中的特征所提取的煙霧區(qū)域如圖2所示,圖2(a)和圖2(b)分別為基于RGB顏色空間的特征提取的煙霧區(qū)域和基于HSV顏色空間的特征提取的煙霧區(qū)域。將找到的目標區(qū)域用黑色標注,標注結果如下。
圖2 RGB(1)和HSV(2)顏色空間的煙霧區(qū)域提取
從這兩幅圖像中可以看出,基于HSV顏色空間特征提取出的煙霧區(qū)域較為準確,而基于RGB顏色空間特征提取出的煙霧區(qū)域把很多白色的非煙霧區(qū)域也提取出來了,這就會影響煙霧檢測的準確率。由此可見,基于HSV顏色空間提取出的煙霧區(qū)域比較符合要求。
經過對大量的圖片在HSV顏色空間進行分析,最后得出的結論是:
(1)在HSV顏色空間中,煙霧圖像區(qū)域的飽和度的值S<65;
(2)煙霧出現(xiàn)時,煙霧圖像亮度V增加。
設定視頻前100幀的平均亮度為閾值,若視頻出現(xiàn)飽和度S的值低于60并且亮度V大于閾值則將該區(qū)域當做煙霧的候選區(qū)域。
經過HSV顏色空間的特征提取后,篩選出了符合煙霧顏色特征的候選區(qū)域,將該區(qū)域用高斯混合模型的背景減除法進行運動目標提取,如果經高斯混合模型進行判定后為運動區(qū)域,則認為該區(qū)域為煙霧候選區(qū)域,將符合煙霧顏色特征且符合運動特征的區(qū)域送入卷積神經網絡進行學習。高斯混合模型是目前主流的背景濾除方法。一般來講,如果是背景圖像,像素值會產生變化,但是變化范圍小,只會固定在一個區(qū)間。像素值變化的主要原因有:
(a)物體運動。物體運動的方式有很多種,像人物走動、風吹動樹枝等。
(b)光線的變化。當靜止的視頻中突然出現(xiàn)一束光也會導致像素值變化,這個光線的變化可能是人為因素造成,也可能是因為陽光的反射等。但是一個物體是背景而非前景的話它的像素值分布往往在多個值附近做變動,比如樹枝的晃動。對于在多個值附近變動的背景可以用多個高斯分布來解決。
圖3 原始圖像(a)和高斯混合模型 背景濾除后的圖像(b)
如圖3所示,圖3(a)和圖3(b)分別為原始圖像和經過高斯混合模型背景濾除后的圖像,經過背景濾除后可以發(fā)現(xiàn),經高斯混合模型背景濾除后,能有效減少無關因素的干擾,從而減少計算量。經過提取煙霧顏色特征和運動特征篩選出的煙霧候選區(qū)域能有效減少無關因素的干擾,進而提高煙霧識別的準確率。
在卷積神經網絡中,隨著網絡深度增加,識別準確率會提升[22]。但是網絡深度過高,會導致訓練時間過長,出現(xiàn)過擬合等問題。根據煙霧的特點,設計了適合煙霧檢測的卷積神經網絡conv-12。在實驗中發(fā)現(xiàn),當卷積層數繼續(xù)增加之后,對煙霧檢測的準確率并沒有明顯的提升,只會增加訓練時間,所以最后選擇了卷積神經網絡conv-12。該網絡由5個卷積層,5個池化層,1個全連接層,1個輸出層組成。輸入原始圖片大小128×96像素,輸出結果為煙霧和非煙霧的二分類。conv-12網絡參數配置如表1所示。
表1 conv-12網絡參數
其中,F(xiàn)MN代表特征圖的數量,KS代表卷積核的大小,OFSM代表輸出特征圖的大小。
conv-12具體結構如下:
(1)輸入層Input。輸入層數據圖片為128×96像素。
(2)卷積層C1。取卷積核大小為3×3,步長為1,特征圖個數為32對輸入圖像進行卷積,使用ReLU(rectified linear unit,修正線性單元)函數作為激活函數[22],其最終輸出結果為128×96×32維數據。ReLU激活函數的公式如下所示[22]:
relu=max(0,x)
當x小于0時,輸出為0;當x大于0時,輸出為x本身。
(3)池化層S1。使用最大值池化方法對卷積層C1的輸出結果進行重采樣,輸出結果為64×48×32維數據。最大池化公式如下:
l=max(ni),ni∈n
其中,n是特征圖的一個區(qū)域,ni是該區(qū)域中神經元的輸出。
(4)卷積層C2、C3、C4、C5的功能和C1相同,卷積核大小為3×3,步長為1,特征圖個數分別為64,96,128,160,輸出數據的維度分別為64×48×64、32×24×96、16×12×128,8×6×160。
(5)池化層S2,S3,S4,S5的功能和S1相同,輸出數據的維度分別為32×24×64,16×12×96,8×6×128,4×3×160。
(6)F1為全連接層,為了避免過擬合,使用了Dropout[22]方法。
(7)F2為輸出層,設置2個神經元與F1相連,選用的激活函數為SoftMax[22]來進行二分類。分類的結果用0和1來表示非煙霧與煙霧。
實驗所用計算機的CPU型號為Inter Xeon Gold 6230,計算機內存為128 G,顯卡為4* Tesla P100,主頻2.1 GHz;顯存為毎塊16 GB,共64 GB。實驗程序通過Python和OpenCV編寫,在Ubuntu 16.04操作系統(tǒng)下運行。視頻煙霧檢測卷積神將網絡模型的搭建和訓練采用Tensorflow[23]實現(xiàn)。
實驗的數據集含正負樣本各1.5萬張,其中訓練數據集各1.2萬張,測試數據集各3千張,煙霧測試視頻10段,其中5段為煙霧視頻,5段為非煙霧視頻。該文采用隨機組合方式每次從2.4萬張訓練樣本中抽取100張圖片放入conv-12中訓練,共進行1萬次訓練。相當于對100萬張圖片進行了煙霧識別訓練。煙霧樣本數據來源于廣泛,包括實際拍攝、網上搜索及袁非牛教授公開發(fā)布的數據集等。部分煙霧圖像和非煙霧圖像如圖4所示。
圖4 煙霧圖片與非煙霧圖片
經卷積神經網絡識別和標注后,最終輸出結果如圖5所示。
圖5 煙霧標注結果
從圖5可以看出,煙霧被準確檢測出來。經實驗認證,該算法煙霧識別效果良好,有實際應用價值。
為了方便實驗結果的比較,使用3個指標評估方法的性能,即準確率AR、檢測率DR[24]和煙霧報警響應時間TIM,它們的定義為:
其中,煙霧報警響應時間TIM是指煙霧在測試視頻中出現(xiàn)到系統(tǒng)發(fā)出警報的時間,T表示煙霧正樣本中被識別為正樣本的視頻幀數,F(xiàn)表示煙霧正樣本中未被識別為負樣本的視頻幀數,N表示煙霧負樣本中被識別為正樣本的視頻幀數[24]。
為了體現(xiàn)算法的性能,將提出的模型與一些具有代表性的方法進行了比較。例如算法1是李鵬等人提出的高斯混合和卷積神經網絡相結合的視頻煙霧識別方法,算法2是張欣欣等人提出的改進VGG16網絡的視頻煙霧識別方法,算法3是陳俊周等人提出的通過提取煙霧的多個特征進行煙霧識別的算法,算法4是袁梅等人提出的通過擴大煙霧候選區(qū)域和卷積神經網絡相結合的煙霧檢測的算法。測量數據對比如表2所示。
表2 煙霧檢測的5種方法對比結果
從表2可知,該文提出的方法的準確率為96.45% ,煙霧報警響應時間只需要0.9 s。在煙霧檢測的準確率等幾個指標表現(xiàn)上結果都是最好的。提出的HSV+conv-12模型在火災煙霧識別上具有良好的識別效果,在準確率、檢測率和響應時間上都表現(xiàn)非常優(yōu)異,這主要是因為HSV顏色空間模型能夠通過目標區(qū)域定位層提取出煙霧目標區(qū)域,相對于直接對煙霧數據進行處理,減少了輸入數據中無關特征對識別結果的影響,同時使用conv-12自動提取煙霧特征,避免了傳統(tǒng)提取特征方法依賴先驗知識的缺點。
影響煙霧檢測準確率的因素有:
(1)用于訓練的正負樣本有限,數據集過小可能導致煙霧數據不夠,造成一些煙霧無法識別;
(2)干擾因素過多,像白云、水汽等物體都有可能對煙霧檢測有干擾。
通過增加正負樣本數量,可以提高識別準確率。
由于煙霧形狀不規(guī)律、顏色多樣性等原因,導致煙霧特征提取難度較大。該文提出了一種基于HSV顏色空間特征和卷積神經網絡相結合的視頻煙霧檢測方法。利用該模型進行了煙霧識別實驗,煙霧識別的準確率為96.45%,煙霧檢測平均反應時間為0.9 s。 實驗結果表明,conv-12能夠減少復雜場景中無關信息對煙霧識別的干擾,有效提高了煙霧識別的準確率和檢測率,減少了煙霧報警響應時間,實現(xiàn)了煙霧的實時警報,該方法在多種復雜環(huán)境下是可行、有效的。