李國良
(中國林業(yè)科學(xué)研究院高原林業(yè)研究所,云南昆明,650233)
森林火災(zāi)被公認為世界八大自然災(zāi)害之一[1],具有突發(fā)性強、破壞性大、救助困難等特點,給地球環(huán)境和人類生產(chǎn)生活帶來的巨大危害及損失直接影響社會安定。預(yù)防工作是防止森林火災(zāi)發(fā)生的先決條件,越來越受到世界各國重視,因此開展森林火情自動檢測研究對預(yù)防森林火災(zāi)具有重要意義。
當森林火災(zāi)發(fā)生時,森林圖像中作為火情特征的濃煙和火焰相對于正常森林場景呈現(xiàn)出非常明顯的運動狀態(tài),因此可以將正常的森林場景視為背景信息,將火情特征視為運動目標前景信息,將計算機碼書模型應(yīng)用于森林火情檢測,滿足檢測的實時性和精確性[2]。
傳統(tǒng)碼書模型[3]通過對每個像素點建立一個碼書來記錄背景信息實現(xiàn)前景分割[4],具有很好的前景分割性能,本文基于該思想通過優(yōu)化傳統(tǒng)碼書模型實現(xiàn)森林火情自動檢測。
為森林圖像數(shù)據(jù)中的每一個像素建立一個基于時間序列地碼書,當前像素的碼書為CodeBook= {c1,c2,…cL},其中有L個碼字。碼字的顏色向量信息為。碼字元素為。碼字元素中保存著能反應(yīng)火情是否發(fā)生的亮度值特征,其中和在碼字為空時分別表示碼字對應(yīng)像素的最小亮度值和最大亮度值,碼字不為空時分別表示碼字的最小亮度值和最大亮度值,可根據(jù)二者計算出碼字的亮度變化范圍[Ilow,Ihigh],即像素點屬于背景的最小與最大亮度范圍。fi為碼字的匹配次數(shù),用于得到背景模型對應(yīng)的背景圖像。λi為碼字最大消極步長,即該碼字出現(xiàn)的最大時間間隔。pi和qi表示碼字第一次出現(xiàn)和最后一次出現(xiàn)的次數(shù),用于計算匹配次數(shù)。
定義碼書和碼字的結(jié)構(gòu)后,選取300幀大小統(tǒng)一為1024*720的無人機傳回數(shù)據(jù)作為碼書模型的訓(xùn)練序列,訓(xùn)練構(gòu)造碼書背景模型,將像素的亮度值設(shè)為I= {i1,i2,…i1024*720},總共1024*720個像素,ij(j= 1,…1024? 720)代表第t個像素的亮度值。為每個像素建立的碼書為CodeBook= {c1,c2,…cL},碼書中的若干個碼字數(shù)目與場景的變化幅度有關(guān),劇烈變化的碼書中碼字數(shù)目較多。由于森林場景中的背景變化復(fù)雜,所以本文將標準碼書模型簡化,降低計算復(fù)雜度。
具體的背景碼書模型構(gòu)造與更新過程:
(1)初始化碼書。為碼書申請空間,碼書和碼字都置為空。
(2)計算每個像素的亮度值。訓(xùn)練序列中圖像的像素連續(xù)采樣值為V= {v1,v2,…v300},即同一個像素在不同時間的連續(xù)采樣值。其中第t幀圖像的采樣像素點vt(t= 1,… 300)根據(jù)當前像素亮度值公式計算亮度值為。
(3)碼書背景模型構(gòu)造與更新。根據(jù)本文判據(jù)每輸入一幀圖像都會進行碼字匹配,如果未匹配成功,就新建一個碼字cl,新碼字的顏色向量為,新碼字元素為。如果匹配成功,則將碼字融入背景模型,依據(jù)碼字更新公式將匹配的碼字cm的碼字顏色向量和碼字元素分別更新。
(4)由于采用的訓(xùn)練序列中存在噪聲干擾,也可能包含火情。所以在訓(xùn)練的過程中利用λi過濾掉表示噪聲和火情的碼字,得到較純凈的背景碼書:。
反復(fù)進行過程4和5的步驟,直至完成碼書背景模型的訓(xùn)練,我們就可以得到準確反映森林場景變化的背景模型。
在碼書背景模型訓(xùn)練完成后,對原始圖像進行火情目標檢測,遍歷圖像的所有像素,根據(jù)已經(jīng)生成的背景模型逐像素與對應(yīng)碼字進行匹配,判斷是否屬于背景碼書。匹配成功的判定為屬于背景像素,不成功地為火情像素,以此實現(xiàn)森林火情目標檢測。
目標檢測步驟:
(1)逐幀讀取待檢測的原始圖像。
(2)計算原始圖像中每一個像素的亮度值:
(3)根據(jù)本文判據(jù)到已訓(xùn)練完成的碼書背景模型中進行碼字匹配,如果匹配則判定該像素為背景像素,不包含火情信息。不匹配則判定該像素為火情像素,繼續(xù)檢測下一像素直至所有像素被遍歷。
(4)完成每一幀中所有像素的檢測后得到若干火情區(qū)域,將判定為背景的像素點的像素值置為0,判定為火情的像素點的像素值置為1,得到火情區(qū)域二值圖像。
(5)輸出火情區(qū)域二值圖像,得到基于碼書模型的檢測結(jié)果,檢測結(jié)束。
通過碼書模型對不同程度的火情進行目標檢測,得到了圖1所示實驗結(jié)果,檢測結(jié)果中的白色部分即為本文方法判定的火情發(fā)生區(qū)域,由于背景區(qū)域中存在點狀和線狀的噪聲,會對后續(xù)實驗造成干擾,所以需要進一步去除背景噪聲。
圖1 森林火情目標檢測
中值濾波算法[5]是去除固定值脈沖噪聲的經(jīng)典方法,森林火情接近于恒定信號,中值濾波可以使輸出信號呈一致性,較完整保留圖像內(nèi)的火情信息。本文設(shè)置濾波窗口為5×5,實現(xiàn)背景噪聲完全去除。
中值濾波完全消除背景噪聲,完整確定火情區(qū)域。由于二值化圖像的像素值為0和1兩種離散值,因此將列像素和[6]作為是否發(fā)生火情的判據(jù)。求出每列像素值之和存入數(shù)組A(i),從圖像通道序列號i=1開始遍歷A(i),當滿足A(i)>T這一判據(jù)時,判定當前數(shù)據(jù)中存在森林火情。
圖3為以圖像通道為橫軸,列像素和為縱軸繪制的統(tǒng)計直方圖,三個圖分別對應(yīng)圖2。圖中出現(xiàn)的大尖峰說明發(fā)生了森林火情,此起彼伏的小尖峰則為零散的小火情,結(jié)合原始圖像中的火情發(fā)生情況,將閾值T設(shè)置為5000實現(xiàn)自動檢測。
圖2 中值濾波去噪后圖像
圖3 列像素和統(tǒng)計直方圖
本文的碼書模型計算量、占用內(nèi)存均很小,在較強大的計算機硬件設(shè)備支撐下,接近于實時檢測。每個像素的碼書模型可以在一定時長后重新更新,能適應(yīng)較長時段后森林火情的發(fā)展變化,檢測準確率高。
本文方法可對白天森林圖像中的所有火情獲得很好的檢測效果。但對于夜間森林圖像,僅能保證火焰火情檢測的準確率,煙霧火情的準確率不高,未來將在本文基礎(chǔ)上開展提高夜間煙霧火情檢測準確率的研究。