劉 通,程江華,華宏虎,羅笑冰,程 榜
(國防科技大學(xué) 電子科學(xué)學(xué)院, 湖南 長沙 410073)
快速檢測煙霧有利于及早發(fā)現(xiàn)火災(zāi),降低火災(zāi)危害。傳統(tǒng)的煙霧傳感器需要煙進(jìn)入傳感器且濃度達(dá)到一定程度才能檢測到煙霧,難以在室外開放空間使用?;谝曈X的煙霧檢測技術(shù)不受空間限制、覆蓋區(qū)域大、成本低,是室外煙霧檢測研究的主要方向[1]。就煙霧目標(biāo)的視覺表現(xiàn)而言,顏色[2]、紋理[3]和運(yùn)動[4]特征是常用的煙霧檢測特征,基于這些傳統(tǒng)特征檢測煙霧目標(biāo)通常具有復(fù)雜度低、檢測效率高的優(yōu)點(diǎn),但往往檢測正確率偏低,因?yàn)闊熿F的顏色、紋理特征并不顯著,運(yùn)動特征受自然界的其他物體運(yùn)動干擾較大,自然界中存在許多與煙霧類似的目標(biāo),如云等,導(dǎo)致煙霧目標(biāo)的可靠檢測非常困難。采用深度學(xué)習(xí)提取圖像或者視頻中的煙霧目標(biāo)的深度特征,相比傳統(tǒng)特征而言不受人為選擇影響,特征泛化能力更強(qiáng),在大數(shù)據(jù)集下性能通常優(yōu)于傳統(tǒng)特征,是近些年煙霧檢測的主流方法。常用的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)、區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region-CNN, R-CNN)等網(wǎng)絡(luò)模型都可以用于煙霧目標(biāo)的檢測[5],也有專門針對煙霧特性優(yōu)化的深度網(wǎng)絡(luò)模型,如深度歸一化卷積神經(jīng)網(wǎng)絡(luò)(Deep Normalization and Convolution Neural Network, DNCNN)[6]。該網(wǎng)絡(luò)將傳統(tǒng)CNN中的卷積層改進(jìn)為批規(guī)范化卷積層,有效地解決了網(wǎng)絡(luò)訓(xùn)練過程中梯度彌散和過擬合的問題,以此加速訓(xùn)練過程和提高檢測效果;并且對訓(xùn)練樣本進(jìn)行了數(shù)據(jù)增強(qiáng),從而解決正負(fù)樣本不平衡和訓(xùn)練樣本不足的問題。目前基于深度學(xué)習(xí)開展的煙霧檢測研究主要是提取煙霧圖像中的深度特征,沒有充分利用煙霧運(yùn)動特性的深層特征,在煙霧檢測性能上還有待提升,尤其是虛警率還偏高。而且,采用深度網(wǎng)絡(luò)通常運(yùn)算效率偏低,難以滿足煙霧視頻檢測應(yīng)用對時效性的要求。
為進(jìn)一步降低視頻煙霧檢測中的虛警率和提升檢測效率,本文提出一種結(jié)合YdUaVa顏色模型和改進(jìn)MobileNetV3的視頻煙霧檢測方法。首先提出YdUaVa顏色模型,描述相鄰幀煙霧的運(yùn)動和顏色變化特征;然后在分塊圖像中利用YdUaVa顏色模型粗篩選疑似煙霧圖像塊;最后結(jié)合煙霧快速檢測要求改進(jìn)MobileNetV3網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)視頻中煙霧的快速可靠檢測。
煙霧檢測領(lǐng)域目前采用CNN、DCNN等深度網(wǎng)絡(luò)來提升煙霧特征的顯著性和穩(wěn)健性,進(jìn)而提升煙霧檢測性能。通常是將RGB圖像送入深度網(wǎng)絡(luò),在R、G、B三個通道上提取特征。然而,R、G、B三個通道不能很好地展示煙霧的視覺特性。通過對煙霧的視覺特性進(jìn)行分析發(fā)現(xiàn):煙霧的亮度會隨著顆粒的濃度以及成分的變化而大幅變化,可能很亮,也可能很暗,但煙霧的色度比較均勻且穩(wěn)定,而且煙霧是運(yùn)動的,存在向上和向四周的擴(kuò)散運(yùn)動?;诖?,提出YdUaVa模型,用于更好地描述煙霧的視覺特性?;舅悸肥牵涸赮UV顏色模型上,計算Y空間上相鄰幀圖像的變化圖像,用于反映煙霧的運(yùn)動擴(kuò)散特性;對U空間和V空間的圖像進(jìn)行均值濾波,用于反映煙霧的色度變化特性。具體地,對于視頻中的第k幀圖像,有:
(1)
(2)
(3)
圖1展示了煙霧視頻wildfire_smoke_4.avi[7]中RGB、YUV和YdUaVa三種模型在第115幀的對比情況。在RGB和YUV的各顏色分量中,煙霧與白云等顏色相近目標(biāo)的差異不顯著。在YdUaVa
圖1 三種顏色模型對比Fig.1 Comparison of three color models
模型的三個分量中,運(yùn)動的煙霧與類煙霧的白云有了較為明顯的差異,而且煙霧與背景的顏色差異仍然得以體現(xiàn)。因此,采用YdUaVa模型既利于表征煙霧的運(yùn)動特性,又能描述煙霧的顏色差異,更適于提取煙霧的顯著和穩(wěn)健特征。
運(yùn)用深度網(wǎng)絡(luò)檢測圖像中的煙霧目標(biāo)通常采用以下兩種方式:
一是按照網(wǎng)絡(luò)模型的輸入要求將視頻圖像進(jìn)行變換,之后送入網(wǎng)絡(luò)模型得到圖像的分類結(jié)果,如MobileNetV3的輸入圖像為224×224的三通道RGB圖像。在實(shí)際圖像中,煙霧區(qū)域通常只占據(jù)整幅圖像中的一小部分,此時煙霧目標(biāo)并不顯著,難以訓(xùn)練較好的模型。
二是采用目標(biāo)檢測的思想,主要包括兩類方法。一是two-stage的方法,如Fast R-CNN。此類方法先生成許多候選框,然后對每一個候選框進(jìn)行分類和回歸來完成目標(biāo)分類工作,精度較高但效率偏低[8]。二是one-stage的方法,如SSD。此類方法通過一遍網(wǎng)絡(luò)搜索即可得到目標(biāo)的位置和類別信息,速度較快但仍難以滿足實(shí)時視頻檢測的要求[9]。
事實(shí)上,對于森林火災(zāi)監(jiān)測預(yù)警等視頻煙霧檢測應(yīng)用而言,其主要任務(wù)是快速判斷實(shí)時視頻中某時刻是否存在煙霧,而并不關(guān)心煙霧的面積、輪廓等詳細(xì)信息。因此,為了實(shí)現(xiàn)視頻中煙霧目標(biāo)的快速檢測,采用分塊的思想,先將圖像劃分為互不重疊的子塊,然后將各子塊的圖像送入深度網(wǎng)絡(luò)模型進(jìn)行分類。與前述的第一種方式相比,在各個圖像塊中,煙霧目標(biāo)的顯著性會得到提升,便于訓(xùn)練出分類性能好的深度網(wǎng)絡(luò)模型。與前述的第二種方式相比,圖像塊的數(shù)量與多尺度候選框的數(shù)量相比是非常小的,從而可以提升整體的運(yùn)算效率。進(jìn)一步地,還將對送入深度網(wǎng)絡(luò)模型的圖像塊進(jìn)行濾波處理,依據(jù)煙霧的運(yùn)動和顏色特性篩選出疑似煙霧的圖像塊,僅將疑似煙霧區(qū)域的圖像塊送入深度網(wǎng)絡(luò)模型進(jìn)行分類,這樣又將提升視頻煙霧的檢測效率。
圖像分塊的思路具體是:首先將輸入圖像的尺寸調(diào)整為560×448;然后按照從左到右、從上到下的順序,將圖像劃分為互不重疊的56×56的圖像子塊,每幅圖像共可劃分為80個圖像子塊。需要解釋的是,圖像子塊尺寸是為適應(yīng)后續(xù)改進(jìn)的MobileNetV3網(wǎng)絡(luò)而定的,將后續(xù)網(wǎng)絡(luò)的輸入圖像尺寸設(shè)計為56×56,可以更多地繼承原網(wǎng)絡(luò)的結(jié)構(gòu)優(yōu)勢以及已訓(xùn)練好的模型資源。
對于每一個圖像分塊,依據(jù)煙霧的運(yùn)動和顏色特性來檢測疑似煙霧圖像子塊。具體是在YdUaVa顏色模型上,統(tǒng)計每一個圖像子塊中疑似煙霧像素點(diǎn)的數(shù)量N,當(dāng)N超過圖像子塊面積的10%時,就認(rèn)定該圖像子塊是疑似煙霧圖像子塊。這里,疑似煙霧圖像塊的篩選條件比較寬松,目的是盡可能避免遺漏,后續(xù)會通過深度網(wǎng)絡(luò)模型對疑似煙霧圖像塊進(jìn)行細(xì)分類,濾除此處虛檢的圖像塊。其中,疑似煙霧像素點(diǎn)是依據(jù)煙霧的運(yùn)動和顏色特性來判定的,公式為:
(4)
式中:gk(x,y)=1表示第k幀圖像中的像素點(diǎn)(x,y)為疑似煙霧像素點(diǎn),否則不是。T1和T2為經(jīng)驗(yàn)閾值,通過觀察小樣本煙霧像素點(diǎn)在YdUaVa顏色模型上的變化情況主觀確定,為寬松起見,取T1=10、T2=40。
為了滿足視頻煙霧檢測對于煙霧檢測效率的要求,以及前端嵌入式視頻采集處理平臺部署的要求,通常需要采用輕量級網(wǎng)絡(luò)模型實(shí)現(xiàn)煙霧圖像深度特征的提取及煙霧目標(biāo)的識別。MobileNetV3網(wǎng)絡(luò)是谷歌新推出的輕量級網(wǎng)絡(luò),其中的MobileNetV3 large版本相對于MobileNetV2而言,在COCO上達(dá)到相同精度的前提下,速度可提升25%[10]。這對于視頻煙霧檢測的效率提升而言很有意義。因此,基于MobileNetV3 large版本設(shè)計視頻煙霧檢測的網(wǎng)絡(luò)模型。主要從視頻煙霧檢測的實(shí)際出發(fā),對MobileNetV3 large版本進(jìn)行改進(jìn),基本思路是:
第一,為了提取顯著性和穩(wěn)健性更強(qiáng)的煙霧運(yùn)動和顏色變化特征,對MobileNetV3網(wǎng)絡(luò)的輸入層進(jìn)行改進(jìn),具體是采用YdUaVa顏色模型替代MobileNetV3網(wǎng)絡(luò)常用的RGB顏色模型。YdUaVa顏色模型如第1節(jié)所述。
第二,由第2節(jié)所述,深度網(wǎng)絡(luò)的目標(biāo)是對疑似煙霧區(qū)域的圖像進(jìn)行分類,結(jié)合這一需求,對MobileNetV3 large版本的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行修改,修改后的網(wǎng)絡(luò)結(jié)構(gòu)如表1所示,具體修改內(nèi)容包括:
1)在第一層,“Input”的尺寸改為562×3,以適應(yīng)疑似煙霧區(qū)域的尺寸。同時,步長“s”改為1,在這一層卷積運(yùn)算過程中不降低特征尺度,但擴(kuò)展了通道數(shù)。
2)合并了原始MobileNetV3 large版本網(wǎng)絡(luò)結(jié)構(gòu)的第二層和第三層,因?yàn)榻Y(jié)合本文第一層的修改,原始的第二層和第三層存在較大的冗余,在修改后的結(jié)構(gòu)中,第二層網(wǎng)絡(luò)能夠抽取相似的特征,而且由于刪除了一層網(wǎng)絡(luò),運(yùn)算效率得以進(jìn)一步提升,且資源占用也相應(yīng)減少。
3)在最后一層,根據(jù)應(yīng)用需求,只需要判斷疑似煙霧區(qū)域是否為真實(shí)的煙霧區(qū)域,這是個二分類問題,因此將“#output”改為2。
表1 改進(jìn)的MobileNetV3網(wǎng)絡(luò)
綜上所述,算法的主要實(shí)現(xiàn)步驟如下所示。
Step1:采用雙線性插值方法,將視頻的第k幀圖像尺寸調(diào)整為560×448;
Step2:依據(jù)式(1)~(3),計算第k幀圖像的YdUaVa顏色模型;
Step3:依據(jù)式(4),判別疑似煙霧像素點(diǎn);
Step4:依據(jù)第2節(jié)所述,統(tǒng)計各個56×56的圖像子塊的疑似煙霧像素點(diǎn)數(shù)量,篩選出疑似煙霧圖像塊;
Step5:將疑似煙霧圖像塊送入第3節(jié)所述的改進(jìn)MobileNetV3網(wǎng)絡(luò)模型,開啟多線程并行計算,只要有一個疑似煙霧圖像塊分類結(jié)果為煙霧,則判斷第k幀圖像為煙霧圖像,繼續(xù)下一幀檢測。
選擇煙霧檢測領(lǐng)域公開的視頻數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)仿真,包括Yuan公開的3段煙霧視頻和3段非煙霧視頻[11],以及CVPR實(shí)驗(yàn)室公開的4段煙霧視頻和10段非煙霧視頻[7]。其中,每段視頻的前500幀用作測試。剩余的視頻幀都用作訓(xùn)練。
視頻煙霧檢測的評價指標(biāo)選用文獻(xiàn)[6]所述的準(zhǔn)確率(Accuracy Rate,AR)和虛警率(False Alarm Rate,F(xiàn)AR),同時增加檢測幀率(detected frames per second,dfps)指標(biāo),用于評測算法的運(yùn)算效率。實(shí)驗(yàn)平臺環(huán)境為: Windows 7系統(tǒng),python 3.6.2、tensorflow 1.11.0和keras 2.2.4軟件平臺,NVIDIA GeForce GTX1080Ti顯卡和Intel Core i7-8700K CPU。
改進(jìn)的MobileNetV3網(wǎng)絡(luò)模型的訓(xùn)練方法是:對于訓(xùn)練數(shù)據(jù),先按照第4節(jié)所述的Step 1至Step 4生成視頻中每幀圖像(第一幀除外)的各個56×56圖像子塊的YdUaVa圖像,其中疑似煙霧圖像塊的YdUaVa圖像與其他圖像塊分開存放。然后分別從中人工篩選出煙霧圖像塊和非煙霧圖像塊的YdUaVa圖像,并為每一個圖像塊人工設(shè)定標(biāo)簽,煙霧圖像塊標(biāo)簽為1,非煙霧圖像塊標(biāo)簽為0,構(gòu)建正負(fù)樣本集。篩選的正樣本集圖像數(shù)量為12 182,負(fù)樣本集圖像數(shù)量為42 860?;谠摂?shù)據(jù)集訓(xùn)練表1所示的改進(jìn)MobileNetV3網(wǎng)絡(luò)模型,訓(xùn)練過程的損失曲線和精度曲線如圖2所示。同時,存儲YdUaVa圖像對應(yīng)的RGB圖像,同樣人工設(shè)定標(biāo)簽,構(gòu)建正負(fù)樣本集,作為后續(xù)對比實(shí)驗(yàn)中所對比方法的訓(xùn)練樣本集。
(a) 損失曲線(a) Loss curve
5.3.1 不同輸入圖像和網(wǎng)絡(luò)的對比測試
主要創(chuàng)新之處包括:1)提出YdUaVa顏色模型,作為深度網(wǎng)絡(luò)模型的輸入;2)采用圖像分塊和疑似煙霧塊篩選,降低虛警率和提高運(yùn)算效率;3)改進(jìn)MobileNetV3網(wǎng)絡(luò)。下面對比這三個階段所達(dá)到的性能指標(biāo),如表2所示。其中,實(shí)驗(yàn)1直接用原RGB圖像作為MobileNetV3 large版本網(wǎng)絡(luò)的輸入(網(wǎng)絡(luò)模型訓(xùn)練數(shù)據(jù)集為訓(xùn)練數(shù)據(jù)中的RGB圖像);實(shí)驗(yàn)2先對RGB圖像進(jìn)行分塊(分塊方法與本文所述一致),然后再將圖像塊采用雙線性插值方法歸一化到224×224,之后再作為MobileNetV3 large版本網(wǎng)絡(luò)的輸入(網(wǎng)絡(luò)模型訓(xùn)練數(shù)據(jù)集為YdUaVa圖像對應(yīng)的RGB圖像構(gòu)建的正負(fù)樣本集);實(shí)驗(yàn)3采用分塊后的YdUaVa圖像作為改進(jìn)的MobileNetV3網(wǎng)絡(luò)的輸入;實(shí)驗(yàn)4是在實(shí)驗(yàn)3的基礎(chǔ)上,對輸入的YdUaVa圖像塊進(jìn)行疑似煙霧塊的粗篩選,然后再送入改進(jìn)的MobileNetV3網(wǎng)絡(luò)進(jìn)行細(xì)分類,詳見第4節(jié)的算法實(shí)現(xiàn)。由表2可見,采用RGB圖像作為輸入時,AR偏低且FAR偏高,這主要是因?yàn)闇y試視頻中煙霧目標(biāo)較小,在整幅圖像中特征不夠顯著。實(shí)驗(yàn)2對RGB進(jìn)行分塊之后,AR提升較為明顯,但因?yàn)閰⑴c分類的圖像塊大幅增加,檢測幀率明顯降低。實(shí)驗(yàn)3采用分塊后的YdUaVa圖像作為改進(jìn)MobileNetV3網(wǎng)絡(luò)的輸入,因?yàn)閅dUaVa圖像相比RGB圖像更能呈現(xiàn)煙霧的顯著特征,虛警率有一定下降。同時由于改進(jìn)MobileNetV3網(wǎng)絡(luò)層數(shù)減少且輸入層尺度下降,檢測幀率也有一定提升。進(jìn)一步地,實(shí)驗(yàn)4對輸入的YdUaVa圖像塊進(jìn)行疑似煙霧塊的粗篩選,降低了靜止目標(biāo)可能引起的虛警,從而降低了虛警率,而且檢測幀率也得以提升。而且,由于式(4)中疑似煙霧像素點(diǎn)判決的參數(shù)T1和T2設(shè)置寬松,實(shí)驗(yàn)中經(jīng)過疑似煙霧塊粗篩選之后盡管存在部分煙霧占比很小的真實(shí)煙霧塊被誤判為非煙霧塊,但每一幀煙霧圖像中仍能檢測出多個疑似煙霧圖像塊,而每幀圖像中最終只要檢測出一個真實(shí)的煙霧圖像塊就會將該幀圖像標(biāo)記為煙霧圖像,因此粗篩選沒有引起漏檢,實(shí)驗(yàn)4的準(zhǔn)確率指標(biāo)在虛警率下降后得以提升。
表2 不同輸入圖像和網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果
5.3.2 不同方法性能對比
表3給出了本文方法與部分常用的煙霧檢測方法的性能對比結(jié)果。其中,對比方法中使用的圖像訓(xùn)練數(shù)據(jù)集是5.2節(jié)所述的存儲YdUaVa圖像對應(yīng)的RGB圖像構(gòu)建的正負(fù)樣本集。由表3可見,采用深度學(xué)習(xí)的煙霧檢測方法(DNCNN,MobileNetV3+SSD和本文方法)的準(zhǔn)確率普遍高于傳統(tǒng)方法的特征提取方法(HS′I,LBP+LBPV和optical flow),這主要是因?yàn)闊熿F的顏色、紋理、運(yùn)動特征都不是特別顯著,人為選擇最優(yōu)的特征比較困難,難以單一鑒別能力強(qiáng)的特征。但是深度學(xué)習(xí)方法往往復(fù)雜度高,檢測幀率一般較低,相對而言,使用輕量級網(wǎng)絡(luò)(MobileNetV3+SSD和本文方法)可以提升運(yùn)算效率,而本文方法在使用輕量級網(wǎng)絡(luò)前先采用運(yùn)動、顏色等快速篩選策略剔除了大量的非煙霧區(qū)域圖像子塊,進(jìn)一步降低了運(yùn)算量。使用運(yùn)動特征的煙霧檢測方法(optical flow和本文方法)的虛警率通常較低,這是因?yàn)閳鼍爸信c煙霧顏色、紋理類似的物體比較多,容易引起虛警,而運(yùn)動可以剔除大量靜止物體,從而降低虛警率。綜合分析,本文方法使用YdUaVa顏色模型融合煙霧的空間域分布特性和時間域變化特性,快速剔除非煙霧區(qū)域圖像塊,同時改進(jìn)MobileNetV3輕量級網(wǎng)絡(luò)來快速提取鑒別能力更強(qiáng)的煙霧特征,視頻煙霧檢測的準(zhǔn)確率最高,虛警率最低,而且檢測幀率在深度學(xué)習(xí)方法中最高,盡管與傳統(tǒng)特征提取方法相比檢測效率偏低,但基本能滿足視頻煙霧檢測對時效性的要求。
表3 不同方法的實(shí)驗(yàn)結(jié)果
利用計算機(jī)視覺技術(shù)檢測視頻中的煙霧是近些年火災(zāi)探測領(lǐng)域的熱點(diǎn)研究方向。為降低視頻煙霧檢測中的虛警率和提升檢測效率,提出YdUaVa顏色模型,該模型可以表征煙霧的顏色和運(yùn)動變化特性,有助于快速篩選出疑似煙霧圖像塊和提取鑒別能力強(qiáng)的特征。在此基礎(chǔ)上,改進(jìn)MobileNetV3網(wǎng)絡(luò)模型,可以快速準(zhǔn)確地對疑似煙霧圖像塊進(jìn)行細(xì)分類。仿真實(shí)驗(yàn)證實(shí)本文方法準(zhǔn)確率高,虛警率低,且檢測幀率高,但檢測幀率仍然不能充分地滿足實(shí)時性的要求,后續(xù)還需進(jìn)一步提升。