楊述斌,周敏瑞,潘 偉
(1.武漢工程大學 電氣信息學院,武漢430205;2.智能機器人湖北省重點實驗室,武漢430205)
火災的發生具有突發性、破壞性等特點,不論何地,造成的損失和傷害是難以估計的。因此,及時發現火災是十分重要的,火災的預警與防護不僅能保護人類生命財產安全,還能阻止環境污染[1]。如今,人們也越來越重視火災的預警與防護。
在火災發生初期,燃燒物與氧氣接觸不完全,火焰通常較小且燃燒不充分,處于陰燃狀態,且煙霧比較明顯,因此,利用煙霧作為火災監測對象具有重要的應用價值。火災煙霧報警器有多種類型,有感溫報警器、感煙探測器等,且價格低廉,應用廣泛。但在應用中,感煙探測器根據火災產生的煙霧判斷火災發生與否,對環境要求高,還需要經常清潔維護,否則會降低它對火災的響應速度和準確率;感溫探測器根據環境變化判斷周圍環境是否有火災發生,會受到蒸汽影響而判斷錯誤。這兩種探測器均需要接觸待檢測物,適用于房間、倉庫等場所[2]。通過視頻監控方式獲取圖像進行火災煙霧探測和預警成為該領域的一個新的研究方向,此方法可應用到大空間中,克服了感煙探測器的空間限制。
對于火災產生的煙霧,如何能夠有效且準確地區分,成為火災煙霧檢測的難點之一。比如,煙霧的顏色特性信息,存在疑似煙霧顏色物,給檢測的實現造成障礙。由此,特征是準確和有效檢測煙霧的重要步驟。運用煙霧特征的提取達到準確而有效的火災煙霧識別是一個不錯的解決方法[3]。
當前,由于視頻監控具有能夠用于多種空間場景和不限距離的優勢,在此基礎上進行火災煙霧檢測的方法受到越來越多的國內外研究者的注意。基于煙霧識別的火災探測技術大致上可分為運動目標檢測、相關目標的特征提取及識別3 個步驟,其中,特征提取是關鍵步驟,提取方法有圖像識別處理[4]、顯著特征、多特征融合、深度神經網絡等方式。文獻[5]提出一種融合多種特征的方法檢測早期煙霧,為提高森林環境下的火災檢測準確性。文獻[6]提出多種靜態特征結合的方法提取煙霧特征,進行測試及識別。面對復雜的外部空間環境,文獻[7]提出利用VGG-16 網絡模型,對經過同構的數據進行特征遷移學習,從而得到深度網絡遷移的煙霧識別模型。
煙霧特征常用的描述方法有統計特征、局部特征、變換域特征。文獻[8]通過將統計量特征與卷積神經網絡相結合方法實現視頻煙霧分析與檢測。文獻[9]為提高火災探測的準確性,提出利用不同尺度圖像的紋理特征和煙霧運動特征相結合的“靜-靜-動”識別模型。為了及早發現森林火災,文獻[10]提出一種多種靜態特征和動態特征相結合的煙霧識別方法,利用顏色、紋理、區域生長特征等相結合作為判別依據。
基于視頻圖像的煙霧檢測技術不斷有新算法提出,但此領域仍有進步空間。由于煙霧以不規則方式向多個方向擴散運動,且速度難以確定,利用算法來確定煙霧區域,可能使煙霧候選區域不完整或者多個離散區域。現有的提取動態目標的算法將這部分像素判定為背景,造成誤判現象,還將影響提取煙霧特征,且最終影響對煙霧區域的檢測。煙霧特征的有效提取是實現火災檢測和預警的重要步驟之一,能夠提高煙霧識別的準確率。通過運用改進后的幀間差分法、背景減除法和光流法3 種特征提取技術在火災煙霧檢測中的應用,分析各自的特點并得出場景的適用性結論。
火災發生早期,一般先陰燃,有煙霧產生,隨著溫度逐漸攀升,火焰逐漸產生。早期的煙霧常常呈現為白色或者灰白色,隨著時間推移和燃燒的加劇,煙霧逐漸由輕薄煙霧轉為濃厚的煙霧,伴隨著環境因素和燃燒物熱氣影響,其運動逐漸加劇,不斷擴散,且煙霧的面積會隨著時間不斷變化。通過使用動態特征提取方法,處理連續視頻幀圖像信息,區分出運動前景與背景。運動目標的檢測方法主要有光流法[11]、背景減除法[12]和幀間差分法[13-14]。光流法由物體和相機的相對運動產生,在極短的時間內,反映出物體的圖像像素的運動方向和速度,以實現目標檢測,但此算法的運算量大,在視頻流中檢測速度慢。背景減除法,或稱為背景差分法,先構建初始化背景,利用當前圖像與背景圖像對應像素點的灰度差值計算,再利用模型更新,通過合適的閾值處理得到目標區域,由于精確的背景模型的建立需要足夠的數據且需要恰當的抉擇,若是建模的背景數據不足,會導致結果不佳或者誤檢。幀間差分法利用視頻中的不同幀圖像作差分計算獲得運動目標,因相鄰幀圖像之間的灰度值差別小,取得的差分結果常會不全且分布多個離散區域。上述幾種方法均存在不足。由此,本研究提出了一種結合運動目標面積變化和幀差法相結合的動態多幀差法的檢測方法,能夠較好地運用幀差法,保留較為完整的運動目標。
幀間差分法是在視頻中的靜態場景圖像中進行前景分割的一種極為流行的方法,利用圖像連續序列幀中的相鄰兩幀或者三幀圖像的對應像素值相減做差分,再對差值圖像進行閾值化處理,得到圖中的運動區域。該算法對兩幀圖像間前景灰度值變化較大,即運動目標變化快速情況下,取得變化區域效果較好,但是,對灰度值變化緩慢,取得變化區域待提升,且這種固定幀差提取方法會造成較多的區域缺失。因此,提出一種根據運動區域面積變化為條件,實現動態間隔變化的幀差法。該改進的幀差法簡述如下:假設fk(x,y)、fk-ai(x,y)、fk-bi(x,y)、fk-ci(x,y)分別為某一圖像序列的第k 幀,第k-ai幀,第k-bi 幀,第k-ci 幀,其中,a,b,c 分別為根據面積比率變化的取值,則它們的差分圖像可表示為

式中:(x,y)表示離散圖像坐標;Dk為動態間隔的連續幀間圖像的對應像素值的差值;areaj和areaj-1為j 時刻和j-1 時刻圖像前景的面積值;為面積值比率,根據面積比率變化調整幀數變化;T0和T1為連續幀間隔分割判斷值。然后,對差分后的圖像選取合適的閾值T 進行二值化處理,判斷圖像中的各像素點是前景還是背景,對差分圖像的賦值規則如下:

式中:Gk為二值圖像;T 為分割閾值。若是像素值高于閾值,則被認為是前景點;若像素值低于閾值,則被認為是背景點。分割閾值T 對后續的運動目標的處理有一定影響。
隨著燃燒物與空氣接觸越來越充分,火災依靠自身熱量、風等影響不斷擴散,使煙霧面積不斷擴大,而一些干擾物,如行人、車等外形輪廓固定,因此,使用面積增長比作為判別幀數差的依據。由于,煙霧可能受到天氣因素的影響,煙霧面積變小,出現負增長現象,增加計算難度,由此,提出區域面積比分析方法。
計算連續視頻幀圖像中的疑煙區面積公式為


式中:areaj-1為j 時刻連續n 幀煙區區域的面積之和;sn為第n 幀煙霧區域的面積。
計算疑似煙區的面積比公式為

由式(5)得到的煙霧面積比作為閾值。
本研究改進的算法主要有3 個步驟:
步驟1提取視頻序列幀圖像,對圖像進行濾波處理,提高圖像清晰度,降低噪聲的影響,再進行形態學處理。
步驟2對圖像進行幀差操作,獲取到的連續幀的運動目標求面積,且對連續面積結果作比,根據比例數值為閾值來選取合適的幀間隔數作差分。
步驟3對得到的結果進行形態學操作與輪廓提取,得到結果。通過以上3 個步驟后可得到較為合適的運動前景。算法的煙霧檢測流程如圖1所示。

圖1 煙霧檢測流程Fig.1 Smoke detection flow chart
該算法整體流程共包含4 個模塊:
(1)預處理
(2)疑似煙霧確定
使用以面積比率為閾值的動態多幀差法獲取疑似煙霧。
(3)特征提取
再提取疑似煙區的面積、周長。
(4)確定煙區
根據提取的疑似煙區的面積與周長變化來綜合判別此區域是否為煙霧區域。
視頻煙霧檢測尚沒有像人臉檢測領域的統一的公開數據庫。文中使用的視頻數據來自韓國啟明大學實驗室(http://cvpr.kmu.ac.kr/)及視頻拍攝。文中實驗使用的機器為Core i5 3.4 GHz,內存為8 GB,操作系統為Windows10,使用的軟件環境為python3.7和OpenCV4.5.0 計算機視覺庫。
阿箬只顧歡喜,根本未察覺青櫻的神色:“所以呀,小主一定會被封為僅次于皇后的皇貴妃,位同副后。再不濟,總也一定是貴妃之位。若等小主生下皇子,太子之位還指不定是誰的呢……”
圖2 分別為原視頻序列幀圖2(a)和經過二幀差法處理后的煙霧檢測圖2(b)。圖2(b)與圖2(a)對比,煙霧濃厚處變化不明顯,而煙霧稀薄處變化明顯,說明煙霧在擴散過程中,連續幀間的變化較為微小,發生灰度值變化的區域較少,提取的特征不完整的可能性極大。

圖2 煙霧提取Fig.2 Smoke extraction
圖3 分別為原視頻幀、背景差分法得到的結果、經光流法得到的結果、煙霧視頻經過本文算法處理后的結果。圖3(b)提取到的結果存在多處殘缺不全且處于分散狀態,說明背景建模不佳及更新不及時,圖3(c)提取到的結果存在較多非煙霧的噪聲干擾,存在很大程度上的提取失誤;而經過本研究算法處理后能夠提高煙區完整度且去除了噪聲干擾子,如圖3(d)提取到的煙霧圖像。


圖3 三種算法測試結果對比Fig.3 Comparison of test results of three algorithms
為驗證本算法的適用性,取來網站上公開的三段視頻數據,分辨率均為320*240,視頻1 為近景拍攝的樓前煙霧視頻,煙霧較為濃厚,存在風,擴散較快,視頻2 為中遠景拍攝的山坡煙霧圖,煙霧稀薄,且伴隨微風,煙霧擴散較慢,視頻3 為遠景拍攝的森林與樓房的交界處,煙霧由稀少到稀薄,存在細微風,分別對三種算法進行對比。結果見表1。

表1 煙霧測試視頻對比Tab.1 Smoke test video comparison
從表1 中可看出,相對于算法1 背景減除法和算法2 光流法,本文算法能夠較早的檢測到煙霧。在煙霧擴散較快時,如視頻1,三種算法耗時分別為20 s、73 s 和33 s,本文算法與算法1 和算法2 均能較快地檢測到煙霧。表明本文算法可用于近景且煙霧擴散快的場景。在距離較遠,如視頻2,煙霧擴散較慢的場景,本文算法用時最短且在第30 幀檢測到煙霧,僅需要50 s,其他兩種算法耗時超過百秒,表明本文算法能夠較快地檢測到煙霧。本文算法可判別出煙霧像素,防止融于背景,并且,面積增長特征可在煙霧較少時,區分出煙霧和剛性物體。
在煙霧稀薄的場景中,如視頻3,本文算法能檢測出煙霧,而算法1 和算法2 均為檢測到煙霧,且存在雜物影響,這是因為煙霧稀薄且擴散緩慢。
通過比較發現,本文算法可用于室外的森林、街道等場景中,有較好的檢測效果,且具有一定的抗干擾能力。
針對現有的算法基于視頻的煙霧檢測存在的問題,根據煙霧運動特點,對現有的動態特征提取算法進行改進,并結合煙霧面積特性,能持續提出較為完整的煙霧區域。實驗驗證了該方法的可行性,且計算量比較小,易于實現。
通過利用3 種火災煙霧動態特征提取方法的具體過程,進行了相關的實驗對比分析。通過實驗表明,在煙霧動態特征提取速度方面,本文算法對視頻圖像的處理速度快于其他兩種方法,從側面表明本文算法的計算復雜度是其中最低的;在煙霧動態特征提取的完整度方面,幀差法提取出的煙霧存在“空洞”現象,而本文算法大大地提高了其完整度,且提取效果高于背景減除法和光流法。也表明燃燒程度不同,煙霧飄動的劇烈程度存在差別,提取出的特征也有所不同。