王振鵬,程乃偉
沈陽航空航天大學(xué)安全工程學(xué)院,遼寧沈陽 110136
火災(zāi)是人類不容忽視的最嚴(yán)重災(zāi)難之一。通常情況下,火災(zāi)探測技術(shù)如感煙探測器、感溫探測器等主要是基于傳感器檢測技術(shù)設(shè)計的。但在大空間場所受其跨度大、空間高的特點影響,對火災(zāi)初期產(chǎn)生的熱量和煙霧觸發(fā)報警器造成很大難度。隨著安防監(jiān)控科技的不斷發(fā)展,火災(zāi)的視頻探測成為可能,并且該技術(shù)能有效克服傳統(tǒng)探測技術(shù)在高大空間等場合靈敏度下降的缺點,具有響應(yīng)快,探測及時,信息豐富直觀的優(yōu)點。
火災(zāi)視頻識別即通過計算機硬件或數(shù)碼感光元器件對火災(zāi)發(fā)生前期的火焰等視頻進(jìn)行圖像采集和預(yù)處理,并由計算機終端通過模式識別的方法判斷監(jiān)控畫面中是否存在火焰或者煙氣等與火災(zāi)相關(guān)的事物?;趫D像處理的火災(zāi)監(jiān)控方法利用了火災(zāi)剛剛發(fā)生的短時間內(nèi)火焰或煙氣的圖像在顏色、形狀、位置、面積等隨時間變化的特性,從含有背景噪音的圖像序列中正確識別相關(guān)信息,達(dá)到火災(zāi)監(jiān)測的目的。
圖1 火災(zāi)視頻識別系統(tǒng)示意圖
圖1 中描述了火災(zāi)視頻識別系統(tǒng)的硬件組成,首先通過圖像收錄設(shè)備攝像機B對監(jiān)控現(xiàn)場A進(jìn)行圖像采集,然后通過圖像采集卡C獲取視頻圖像信息并將其進(jìn)行存儲,將圖像信息傳輸給計算機D,計算機系統(tǒng)主要通過計算機軟件對圖像信息進(jìn)行處理、識別,判斷圖像信息是否屬于火災(zāi),如果屬于火災(zāi),報警器E則會進(jìn)行報警提示。
VC++ 6.0即Visual C++ Microsoft公司開發(fā)的一種具有高度綜合性能的軟件開發(fā)工具。用它開發(fā)出的程序具有運行速度快、可移值能力強等優(yōu)點,在對數(shù)字圖象進(jìn)行處理時經(jīng)常是采用Visua C++進(jìn)行編程。
開放源代碼的計算機視覺類庫OpenCV (Intel Open Source Computer Vision Library )由英特爾公司開發(fā),它是一套可免費獲得的由一些C 函數(shù)和C ++類所組成的庫,用來實現(xiàn)一些常用的圖像處理及計算機視覺算法。采用OpenCV實現(xiàn)火災(zāi)視頻識別可以很好的體現(xiàn)OpenCV運行速度快、穩(wěn)定、跨平臺、接口靈活、交互性強、易于產(chǎn)品化等特點。針對火災(zāi)的圖像處理的如圖像分割、特征提取、圖像濾波、圖像識別等技術(shù)及其相應(yīng)算法目前也較成熟。
如圖2為基于OpenCV的火災(zāi)視頻識別系統(tǒng)框圖,分為火焰圖像獲取系統(tǒng)、圖像識別系統(tǒng)、火災(zāi)報警聯(lián)動系統(tǒng)?;鹧鎴D像獲取系統(tǒng)主要通過攝像機的光敏器件CCD,將外界影像的光信號轉(zhuǎn)變?yōu)閿?shù)字圖像信號。然后,進(jìn)入主要由計算機軟件組成的圖像識別系統(tǒng)進(jìn)行圖像采集、預(yù)處理、特征提取及圖像識別。圖像預(yù)處理即過程采用中值濾波方法抑制或消除噪聲而改善圖像質(zhì)量的平滑過程。
圖2 基于OpenCV的火災(zāi)視頻識別系統(tǒng)框圖
在火災(zāi)發(fā)生發(fā)展階段,對火災(zāi)現(xiàn)場的視頻識別主要是基于火焰圖像的基本特性來實現(xiàn)的?;馂?zāi)是一種失去控制的燃燒,初期火災(zāi)的火焰是從無到有是非固定的,不同發(fā)展階段火焰的面積、形狀、尖角、顏色、頻閃等都存在一些視覺特征。
1)面積變化:早期火災(zāi)是著火后火災(zāi)不斷發(fā)展的過程。在這個階段,火災(zāi)火焰的面積呈現(xiàn)連續(xù)的、擴展性的增加趨勢。在圖像處理中,面積是通過取閾值后統(tǒng)計圖像的亮點(灰度值大于閾值)數(shù)實現(xiàn)的。當(dāng)其它高溫物體向著攝像頭移動或者從視野外移入時,探測到的目標(biāo)面積也會逐漸增大,容易造成干擾。因此,面積判據(jù)需要配合其它圖像特性使用;
2)邊緣變化:早期火災(zāi)火焰的邊緣變化有一定的規(guī)律,同其它的高溫物體及穩(wěn)定火焰的邊緣變化不同。精確的方法是用邊緣檢測和邊緣搜索算法將邊緣提取出來,根據(jù)邊緣的形狀、曲率等特性對邊緣進(jìn)行編碼,再根據(jù)編碼提取邊緣的特征量。利用這些特征量在早期火災(zāi)階段的變化規(guī)律進(jìn)行火災(zāi)判別;
3)形體變化:早期火災(zāi)火焰的形體變化反映了火焰在空間分布的變化。在早期火災(zāi)階段,火焰的形狀變化、空間取向變化、火焰的抖動以及火焰的分合等,具有自己獨特的變化規(guī)律;
4)閃動規(guī)律:火焰的閃動規(guī)律,即亮度在空間的分布隨時間變化的規(guī)律,火焰在燃燒過程中會按某種頻率閃爍。在數(shù)字圖像中就是灰度級直方圖隨時間的變化規(guī)律。
圖3 灰度化后火焰圖
圖4 二值化之后火焰圖像
圖5 邊緣檢測之后火焰圖像
視頻監(jiān)控場景中多數(shù)物體在固定攝像機下所采集的視頻序列是靜止的,但火焰呈現(xiàn)的則是運動特性。
視頻監(jiān)控中的運動檢測就是在視頻序列中不斷發(fā)現(xiàn)并提取運動目標(biāo),實時跟蹤它們并計算出其軌跡,為下一步特征分析等提供數(shù)據(jù)。
目前,目標(biāo)檢測和提取算法分為幀間差法、背景差法、高斯模型法及光流法等。
運用OpencCV函數(shù)對火焰圖像進(jìn)行灰度化處理,主要 函 數(shù):gray=cvCreateImag(cvGetSize(m_image),8,1);cvCvColor(m_image,gray,CV_BGR2GRAY)效果如圖3。
進(jìn)行二值化處理,加快處理速度并能將火焰與背景分開,主 要 函 數(shù) :cvThreshold(gray,gray,0,255,CV_THRESH_OTSU) 效果如圖4。
運用canny算法進(jìn)行邊緣檢測,突出紋理信息,主要函數(shù):cvCanny(gray,edge,(float)edge_thresh,(float)edge_thresh*3,3)效果如圖5。
通過對實驗火焰視頻圖像的采集,運用OpenCV庫函數(shù)對圖像進(jìn)行灰度化處理、二值化處理以及火焰的邊緣檢測,驗證了OpenCV庫函數(shù)在火焰圖像預(yù)處理、特征提取及邊緣檢測上的可行性和準(zhǔn)確性,為后期判定火焰的存在打下良好基礎(chǔ)。
[1]劉瑞禎,于仕琪.OpenCV教程—基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.
[2]宋衛(wèi)國,范維澄,吳龍標(biāo).基于人工神經(jīng)網(wǎng)絡(luò)的火災(zāi)圖像探測方法[J].火災(zāi)科學(xué),1999,8(3):61-67.
[3]吳標(biāo)龍,方俊,謝啟源.火災(zāi)探測與信息處理[M].北京:化學(xué)工業(yè)出版社,2006.