朱家輝 趙志瑛 賈靜靜
(太原師范學(xué)院 山西省晉中市 030619)
目前現(xiàn)存主要煙霧檢測方法可以分為傳感器煙霧檢測技術(shù)和計算機(jī)視覺煙霧檢測技術(shù),前者出現(xiàn)時間較早且技術(shù)較為成熟,廣泛用于商業(yè)和民用消防領(lǐng)域,但實時性不足,很難對火災(zāi)規(guī)模進(jìn)行估計。近些年視頻監(jiān)控技術(shù)的成熟,催生了基于計算機(jī)視覺檢測的煙霧檢測技術(shù)。目前基于計算機(jī)視覺的煙霧檢測技術(shù)已經(jīng)成為煙霧檢測領(lǐng)域的主要研究方向。
在基于計算機(jī)視覺的煙霧檢測技術(shù)中,大多數(shù)方法用到了早期的機(jī)器學(xué)習(xí)算法,例如支持向量機(jī)(Support Vector Machine, SVM)。這些算法在簡單的分類或者回歸問題上有著不錯的表現(xiàn),因此也被頻繁拿來應(yīng)用在煙霧檢測領(lǐng)域。Miranda 等人[1]對多種顏色模型統(tǒng)計煙霧圖像的像素值分布,通過Relief 特征分析煙霧在顏色模型的顏色分量,并進(jìn)行煙霧檢測;Chen[2]對小波方法中純色物體造成的干擾進(jìn)行修正,提出對比度圖像的概念,對當(dāng)前幀與背景幀進(jìn)行小波變換,由高低頻比檢測運(yùn)動區(qū)域是否為煙霧;Russo 等人[3]使用局部二值模式(Local binary patterns, LBP)提取煙霧紋理特征,使用機(jī)器學(xué)習(xí)方法對煙霧進(jìn)行分類;Appana 等人[4]利用時空序列上的能量分析和Gabor 變換對幀間差分圖像中的煙霧模式進(jìn)行建模,但幀間差分的采樣間隔依賴于煙霧本身的運(yùn)動,很難自適應(yīng)地指定采樣間隔。
上述方法中,基于傳統(tǒng)機(jī)器學(xué)習(xí)檢測方法主要通過在像素空間中提取疑似煙區(qū),然后使用機(jī)器學(xué)習(xí)方法對疑似區(qū)域進(jìn)行檢測。這種方法具有較高的實時性,所需要的計算量小,但泛化能力較差。有一些基于小波變換以及其變種的檢測方法,所需時間復(fù)雜度較高,實時性較差。在現(xiàn)有檢測方法的基礎(chǔ)上,本文提出一種簡單且適用性強(qiáng)的煙霧區(qū)域提取方法,主要可以分為兩部分:運(yùn)動區(qū)域提取和定位煙霧區(qū)域。監(jiān)控視頻在轉(zhuǎn)儲后首先進(jìn)行運(yùn)動區(qū)域提取,根據(jù)算法所能達(dá)到的實時性和視頻采集幀數(shù)確定切割成幀的間隔,再對幀序列進(jìn)行運(yùn)動區(qū)域提取,最后對疑似煙區(qū)定位并從當(dāng)前幀圖片中裁剪下煙霧區(qū)域等待后續(xù)煙霧檢測。
本節(jié)主要研究如何通過像素梯度提取相鄰幀中的運(yùn)動區(qū)域。監(jiān)控視頻背景相對固定,極少出現(xiàn)全畫幅的位移,所以相鄰或者相鄰時間段內(nèi)監(jiān)控畫面中發(fā)生動態(tài)變化的區(qū)域就成為了運(yùn)動區(qū)域。

上述公式中R、G、B 分別對應(yīng)圖像中RGB 三個色彩通道的值,值域[0,255],Grey 值代表灰度,公式將整個圖像轉(zhuǎn)化為灰度圖。然后根據(jù)灰度圖求整個圖像的像素梯度。圖像像素梯度是指圖像對應(yīng)的灰度圖中,某像素點的灰度值在x 和y 方向上的變化率,像素梯度經(jīng)常用于圖像銳化濾波以及圖像的邊緣檢測,是特征提取的一個重要領(lǐng)域。在提取像素梯度時經(jīng)常會用到一些微分算子,較常用的一階微分算子有Roberts 交叉梯度算子、Prewitt 算子和Sobel 算子,二階微分算子有Laplacian 算子和LOG 算子[6]。其中Sobel 算子常用來表達(dá)微分和梯度的一種操作,Sobel 算子核可以用迭代的方式去構(gòu)造,通常使用3×3 的大小去計算像素梯度,在水平和垂直兩個方向的算子核為:


圖1:運(yùn)動區(qū)域提取

圖2:噪聲去除

圖3:YUV 空間的疑似煙區(qū)定位過程
圖像中某一點像素的梯度可以表示為:

其中Sobel 為對應(yīng)x、y 方向的算子核,Area 為以某一點為中心,大小為3×3 的灰度矩陣。可以根據(jù)這一點在x、y 方向上的像素梯度計算出邊緣檢測方向G 以及幅值Θ,其中
圖像像素梯度矩陣提供在整個圖片中所有像素點在領(lǐng)域中的梯度,這就為運(yùn)動區(qū)域的檢測提供了參考,對鄰幀和當(dāng)前幀的像素梯度矩陣使用幀差法,差分后得到的矩陣就是像素梯度差分矩陣[7],矩陣中非零元素即是在幀間隔內(nèi)發(fā)生變化的像素,非零元素的坐標(biāo)即是圖像中發(fā)生變化的像素坐標(biāo),如圖1。
上述方法在理論上可以對此矩陣中非零元素區(qū)域做疑似煙霧區(qū)域定位,但在進(jìn)一步的實驗中發(fā)現(xiàn)許多干擾因素,例如隨機(jī)噪聲、環(huán)境光變化和采集設(shè)備本身的抖動,這些因素會使視頻采集設(shè)備對靜止場景采集產(chǎn)生的相鄰幀帶有微小的抖動誤差,這種抖動誤差往往使像素梯度差分矩陣中絕大多數(shù)元素非零。

表1:煙霧色彩在Y、U 通道的數(shù)值分布

表2:疑似煙霧定位的準(zhǔn)確性驗證
針對這種情況,本文選擇采用高斯濾波預(yù)處理以及閾值過濾等手段來減少采集設(shè)備本身對運(yùn)動區(qū)域提取造成的影響。高斯噪聲普遍存在于數(shù)字圖像中,圖像在數(shù)字化和傳遞過程中會遭受到不同噪聲的干預(yù),這種干預(yù)不僅會影響人對于圖像的觀感,也影響圖像復(fù)原、分割、特征提取、圖像識別等工作的進(jìn)行[8]。對噪聲的處理工作主要有兩方面,一方面是在計算梯度前對圖像進(jìn)行高斯濾波降噪,分別使用高斯濾波和中值濾波消除高斯白噪聲和椒鹽噪聲;另一方面是學(xué)習(xí)在應(yīng)用場景下的噪聲在計算像素梯度矩陣時所產(chǎn)生誤差均值的經(jīng)驗值,以此作為閾值過濾掉噪聲所帶來的影響。
在噪聲過濾后,對前后兩幀梯度矩陣的差分就可以大致提取出在采集兩幀圖像的時間段內(nèi)發(fā)生變化的主要運(yùn)動區(qū)域,如圖2。
運(yùn)動區(qū)域提取雖然提取到了相鄰圖像中運(yùn)動的區(qū)域,但是對這樣提取的運(yùn)動區(qū)域直接進(jìn)行目標(biāo)檢測無法產(chǎn)生理想的檢測結(jié)果。因為這些運(yùn)動區(qū)域有可能受到其他因素的干擾,比如擺鐘和風(fēng)扇等本身就運(yùn)動的物體,還有人和寵物等動物走動也會產(chǎn)生運(yùn)動區(qū)域,這些運(yùn)動區(qū)域?qū)儆诜菬熿F區(qū)域。對這樣包含大量“噪聲”的運(yùn)動區(qū)域進(jìn)行目標(biāo)檢測不僅會消耗大量的計算資源[9,10],而且會降低檢測精度和實時性,所以需要進(jìn)一步使用疑似煙霧區(qū)域定位運(yùn)動區(qū)域中存在的疑似煙霧區(qū)域。
在談及新能源混合動力汽車之前,先了解一下傳統(tǒng)意義技術(shù)層面上對混合動力汽車的定義—混合動力汽車也被稱為復(fù)合動力汽車,其動力輸出部分或全部依靠車載的內(nèi)燃機(jī)提供,并根據(jù)對其他動力源(如電動源)的依賴程度分為弱混、輕混、中混和重混(全混),根據(jù)其動力輸出的分配方式分為并聯(lián)、串聯(lián)和混聯(lián)。
煙霧區(qū)域通常具有煙霧的可辨別特征,例如利用圖像能量分布、紋理特征和顏色特征等方式區(qū)別煙霧區(qū)域與非煙霧區(qū)域。顏色是煙霧在視頻信息中的重要特征,在火災(zāi)發(fā)生的初期,燃燒物的溫度較低,煙霧一般呈白色或灰白色。計算機(jī)內(nèi)大多數(shù)圖像顯示的顏色空間為RGB,這種顏色空間根據(jù)人眼識別的顏色定義,采用加法混色法對紅綠藍(lán)三原色不同比例的疊加來產(chǎn)生對應(yīng)的顏色。RGB顏色空間是顯示器系統(tǒng)中最常用的顏色空間,但是由于采用這種顏色空間的圖片或者視頻的色彩,亮度,飽和度三個量混合在一起,難以對圖像進(jìn)行數(shù)字化調(diào)整,所以在科學(xué)研究中一般不采用RGB顏色空間。YUV 顏色空間大多用于彩色電視系統(tǒng)中,其原理是對輸入的彩色圖像信號進(jìn)行分色處理,計算出像素點的亮度信號Y和兩個色差信號U、V。由于煙霧粒子對光線有阻攔作用,相較于RGB,在YUV 上進(jìn)行煙霧檢測能夠同時統(tǒng)計顏色特征和光照強(qiáng)度特征,顏色信息和亮度信息相互獨(dú)立,所以由YUV 統(tǒng)計的煙霧模型更準(zhǔn)確[11]。
一般情況下RGB 轉(zhuǎn)YUV 顏色空間的轉(zhuǎn)換方式為:

經(jīng)視頻采集設(shè)備采集產(chǎn)生的圖像通過上述方式轉(zhuǎn)換為YUV 顏色空間的圖像,其中Y 是亮度分量,U、V 是色度分量,煙霧的顏色特性導(dǎo)致大部分煙霧在YUV 色彩空間中具有顯著特點。本文根據(jù)煙霧區(qū)域亮度分量與色度分量的關(guān)系總結(jié)出YUV 顏色空間的煙霧分布規(guī)則:

式中Scolor為煙霧分布矩陣,其中非0 的數(shù)值代表圖像中的疑似煙區(qū),SYUV(x,y)代表疑似煙霧點(x,y)處的YUV 顏色值,Y(x,y)、U(x,y)分別代表(x,y)處在亮度分量上的Y 值和在色度分量上的U 值,Tmax 和Tmin 分別代表閾值的上界和下界,在對現(xiàn)有數(shù)據(jù)集的不同煙霧進(jìn)行對比后,得到常見煙霧色彩在YUV 顏色通道里的數(shù)值分布,如表1 所示。
根據(jù)不同色彩煙霧的分布適應(yīng)性的選取閾值,以達(dá)到對不同的煙霧進(jìn)行疑似煙區(qū)定位的效果。圖3 表示上述方法在YUV 顏色空間對煙霧的定位效果。
實驗所用計算機(jī)CPU 為AMD 3700X, 主頻3.6GHz,內(nèi)存為32GB DDR4 內(nèi)存,內(nèi)存頻率3200MHz,顯卡為NVIDIA RTX 3080,顯存10GB。根據(jù)算法所實現(xiàn)的程序所需要的環(huán)境依賴為:Windows 10 x64 操作系統(tǒng),Python3.6,OpenCV 4.2 等。
實驗所使用數(shù)據(jù)集包含網(wǎng)絡(luò)中搜集得到的總時長14 分鐘的視頻以及室內(nèi)場景的30 分鐘視頻,按照25FPS 的幀率切割成幀,總計約51000 張圖片。其中包含煙霧的視頻占據(jù)總時長的60%,剩余則為無火焰和煙霧的正常監(jiān)控視頻。選取較符合室內(nèi)監(jiān)控圖像質(zhì)量和場景下,包含不同顏色煙霧的圖片數(shù)據(jù)共計450 張,使用IOU驗證算法的準(zhǔn)確性,結(jié)果如表2 所示。在驗證算法提取煙區(qū)準(zhǔn)確率時,以定位煙區(qū)和人工標(biāo)記煙區(qū)的IOU 大于0.75 為閾值,IOU 大于或等于此閾值的樣本判定為定位成功,小于此閾值的樣本則判定為定位失敗。
根據(jù)表2 數(shù)據(jù)分析,本文提出的算法對不同顏色火焰的圖像樣本具有較高的準(zhǔn)確率。結(jié)合機(jī)器學(xué)習(xí)高效、簡單的特性,進(jìn)一步提高了在計算機(jī)視覺方向上對煙霧的檢測能力。