摘 要: 基于火焰縱向燃燒的特性,,運(yùn)用圖像處理技術(shù),,實(shí)現(xiàn)了一種基于紅外圖像軸向比的火災(zāi)判別算法,通過設(shè)定火災(zāi)圖像軸向比的閾值,,實(shí)現(xiàn)了一種新型的火災(zāi)判別技術(shù),。
關(guān)鍵詞: 紅外圖像;圖像處理,;軸向比,;火災(zāi)判別
火災(zāi)對(duì)于人類的危害是顯而易見的,對(duì)其進(jìn)行有效的預(yù)防和監(jiān)控,,把火災(zāi)所帶來的損失降到最小的程度是當(dāng)今火災(zāi)防御技術(shù)等領(lǐng)域研究的重中之重,。傳統(tǒng)的火災(zāi)探測(cè)器用于對(duì)監(jiān)控現(xiàn)場(chǎng)敏感現(xiàn)象(如煙霧濃度、溫度,、火焰等)的實(shí)時(shí)變化進(jìn)行檢測(cè),。由于一些大空間及地下建筑的特殊性,普通的感煙,、感溫火災(zāi)探測(cè)報(bào)警系統(tǒng)無法迅速采集火災(zāi)發(fā)出的煙溫變化信息,,傳統(tǒng)檢測(cè)方法存在一定的缺陷。而圖像型火災(zāi)探測(cè)技術(shù)對(duì)于火災(zāi)探測(cè)具有非接觸式探測(cè)的特點(diǎn),,不受空間高度,、熱障、易爆,、有毒等環(huán)境條件的限制,,基于此,提供了一種新的火災(zāi)探測(cè)的方法,。與傳統(tǒng)的感煙感溫探測(cè)技術(shù)相比,,圖像監(jiān)測(cè)快速性的基礎(chǔ)是視覺上所接受的信息以光為傳播媒介,而圖像信息豐富和直觀,,從而為早期火災(zāi)的辨識(shí)和判斷奠定了基礎(chǔ),。
1 火焰的縱向燃燒特性
在日常生活中,看到的火焰不論大小,,總是向上躥的,。這主要是因?yàn)槲矬w在燃燒的過程中會(huì)散發(fā)出熱量,于是火焰周圍的空氣會(huì)變熱并且膨脹,從而變得稀薄,,其浮力也會(huì)增大,,于是,熱空氣會(huì)包住火焰逐漸上升,,使得火焰向上,。之后,冷空氣會(huì)從四面八方來補(bǔ)充熱空氣上升而留下來的空缺,,補(bǔ)充過來的冷空氣又經(jīng)過加熱,、膨脹變得稀薄,浮力變大,,緩慢上升,,產(chǎn)生循環(huán)。圖1揭示了火焰燃燒時(shí)氣流的上升過程,。
火焰總是向上燃燒的,,并且由于在火焰周圍的氣流是自下而上的,在這樣的氣流的影響下,,火焰的上方一般會(huì)形成一個(gè)小尖,,而下方則會(huì)變?yōu)檩^上方更寬的不規(guī)則形。
因此,,可以將火焰的縱向燃燒特性作為判別火災(zāi)的一個(gè)依據(jù),。在火災(zāi)發(fā)生的初期,火焰總是不斷向上躥的,,結(jié)合紅外測(cè)溫原理,,就可以探測(cè)到火災(zāi)的發(fā)生,達(dá)到早期報(bào)警,、早期防護(hù)的目的,,對(duì)預(yù)防或減少火災(zāi)的發(fā)生有著重要的現(xiàn)實(shí)意義。
2 基于紅外圖像軸向比的火災(zāi)判別機(jī)理
可燃物在燃燒時(shí)會(huì)釋放出頻率范圍從紫外到紅外的光波,,在可見光波段,火焰圖像具有獨(dú)特的色譜,、紋理等特征,,使之在圖像上與背景有明顯的區(qū)別。但由于可見光波段受干擾的光源很多,,造成其識(shí)別算法復(fù)雜度增加,,可靠度下降,因而可以借助紅外波段的圖像識(shí)別,,利用紅外成像的原理獲取燃燒初期所發(fā)出的紅外圖像進(jìn)行圖像處理,,從而達(dá)到監(jiān)控的目的。
由于火焰具有縱向燃燒的特性,因此在紅外圖像上表現(xiàn)出火焰的縱向高度大于其橫向?qū)挾??;鹧孑S向比為其縱向高度與橫向?qū)挾鹊谋戎怠,?梢允褂肰C++結(jié)合OpenCV(開源計(jì)算機(jī)視覺庫)對(duì)圖像進(jìn)行灰度化,、二值化、輪廓跟蹤等處理,,建立外接矩形,,計(jì)算出其軸向比設(shè)定閾值,并且結(jié)合紅外測(cè)溫原理判別是否形成火災(zāi),。
如圖2所示,,設(shè)定軸向比判別閾值為1,圖2(a)超過軸向比判別閾值,,圖2(b)則沒有超過設(shè)定的閾值,。
3 基于紅外圖像軸向比的火災(zāi)判別系統(tǒng)
紅外圖像軸向比火災(zāi)判別系統(tǒng)結(jié)構(gòu)簡單,主要由紅外濾光片,、攝像頭,、PC、顯示屏組成,,如圖3所示,。
紅外濾光片就是透紅外光而阻止可見光的濾光片,可有效濾除人工照明等因素的干擾,。紅外濾光片的選取主要基于維恩位移定律[1],,其公式為:
其中,為光譜輻射出射度的峰值波長,;a是與溫度無關(guān)的常數(shù),,a的近似值是0.289 cm.K。因此,,光譜輻射出射度的峰值波長與絕對(duì)溫度成反比,。根據(jù)式(1)可以求出在某個(gè)溫度下光譜輻射出射度的峰值波長,即可根據(jù)此波長來適當(dāng)?shù)剡x擇濾光片[2],。
在圖像型火災(zāi)探測(cè)系統(tǒng)中,,攝像機(jī)的選用十分關(guān)鍵,它直接決定了整個(gè)系統(tǒng)的圖像效果[3],。攝像機(jī)選用主要依據(jù)兩個(gè)要素:攝像機(jī)的應(yīng)用場(chǎng)合和攝像機(jī)的主要參數(shù),。
4 基于紅外圖像軸向比的火災(zāi)判別系統(tǒng)軟件設(shè)計(jì)
4.1 編程環(huán)境
本系統(tǒng)使用VC++中的MFC搭建程序框架,并結(jié)合使用OpenCV中的圖像處理函數(shù),。
OpenCV(Open Source Computer Vision Library)是Intel公司支持的開源計(jì)算機(jī)視覺庫,。它輕量級(jí)而且高效,由一系列C函數(shù)和少量C++類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法,。
4.2 軟件流程
管理員登錄火災(zāi)探測(cè)系統(tǒng)后,,首先設(shè)置攝像頭參數(shù)、設(shè)定軸向比判別閾值,,然后對(duì)監(jiān)控區(qū)域運(yùn)用軸向比判別算法進(jìn)行火災(zāi)探測(cè),,若超過軸向比判別閾值,則運(yùn)用紅外測(cè)溫原理顯示其溫度及“火災(zāi)隱患”,,同時(shí)啟動(dòng)語音報(bào)警及GSM短信報(bào)警,。軟件流程圖如圖4所示。
4.3 軸向比判別算法流程
將采集得到的圖像經(jīng)過平滑處理,、灰度化,、二值化后進(jìn)行輪廓提取,提取出面積不斷增大的輪廓,,對(duì)面積不斷增大的輪廓建立其外接矩形,,以所得外接矩形的高寬比值求出當(dāng)前幀的軸向比值。軸向比判別流程圖如圖5所示,。
4.4 防誤報(bào)警功能
在實(shí)際火災(zāi)探測(cè)過程中會(huì)遇到很多干擾,,如白熾燈、打火機(jī)等,,這就需要系統(tǒng)有一定的健壯性,,能夠排除干擾,正確識(shí)別火災(zāi),,不給出虛假報(bào)警信號(hào),。因此,在系統(tǒng)中加入了防誤報(bào)警的功能,,即當(dāng)所前捕獲的一幀圖像超過軸向比判別閾值時(shí)并不立即報(bào)警,,而是緊接著再多捕獲幾幀圖像,若捕獲到的圖像中10幀內(nèi)有6幀及以上超過軸向比閾值,,則進(jìn)行報(bào)警,。防誤報(bào)警流程圖如圖6所示。
4.5 部分程序源代碼
IplImage* gray=cvCreateImage(cvGetSize(image),8,1);
if( capture == NULL ) //判斷攝像頭是否開啟
while(capture != NULL) //判斷幀數(shù)是否到10
{frame = cvQueryFrame( capture );
DrawPicToHDC(image, IDC_STATIC_PIC);
cvSmooth( pic, g_smooth, CV_MEDIAN, 3, 3, 0 );
//平滑處理
cvCvtColor( g_smooth, g_gray, CV_BGR2GRAY );
//灰度圖
cvThreshold( g_gray, g_gray,128,255, CV_THRESH_BINARY);
//二值化
cvFindContours(g_gray,g_storage,&contours,sizeof(CvContour),
cvCvtColor(g_gray,dst,CV_GRAY2RGB); //灰度化
DrawPicToHDC(dst,IDC_STATIC_PIC2); //畫出圖像邊緣
for( ;contours != 0; contours = contours->h_next )
//求出圖片內(nèi)所有輪廓的最大面積
CvRect box = cvBoundingRect(pcontours,NULL);
//計(jì)算矩形邊界
cvCvtColor(g_gray,dst,CV_GRAY2RGB); //灰度圖像
cvRectangle( dst, cvPoint(box.x, box.y), cvPoint(box.x+box.width, box.y+box.height), cvScalar(124, 5, 125), 3, 4, 0 );
//畫出矩形輪廓
DrawPicToHDC(dst,IDC_STATIC_PIC2); //顯示出輪廓
length=(float)box.height;
width=(float)box.width;
b=length/width; //求出軸向比的值
return b;
ro[Count]=p_handle(image);
if(Count==9)
for(int i=0;i<10;i++) //判斷每一幀是否超過閾值
{if(ro[i]>=nPos)
nu++;}
if(nu>=6)
//如果10幀內(nèi)超過閾值的幀數(shù)到達(dá)6幀,,則顯示超過閾值
{m_Edit9.SetSel(0,-1);
m_Edit9.ReplaceSel("");
m_Edit8.SetSel(0,-1);
m_Edit8.ReplaceSel("火災(zāi)隱患");
cvMinMaxLoc(gray,&MinValue,&MaxValue,&MinLocation,&MaxLocation);
}
Else
//軸向比判別,,如果不超過閾值,則顯示正常
{m_Edit8.SetSel(0,-1);
m_Edit8.ReplaceSel("");
m_Edit9.SetSel(0,-1);
m_Edit9.ReplaceSel("正常");
}
5 基于紅外圖像軸向比的火災(zāi)判別系統(tǒng)的實(shí)現(xiàn)
根據(jù)以上所述的基于紅外圖像軸向比的火災(zāi)判別算法,,設(shè)計(jì)了火災(zāi)探測(cè)軟件,使用一個(gè)采集紅外圖像的攝像頭,,若采集到的圖像超過所設(shè)的軸向比閾值,,則顯示此時(shí)的溫度值及“火災(zāi)隱患”,同時(shí)進(jìn)行語音報(bào)警及GSM短信報(bào)警。圖7所示為軸向比閾值設(shè)定為1時(shí)的火災(zāi)探測(cè)系統(tǒng),。
如圖8所示,,軸向比閾值設(shè)定為2,經(jīng)過軸向比判別算法判別后沒有超過設(shè)定的軸向比閾值,,顯示“正?!薄?/p>
本文基于火焰縱向燃燒的機(jī)理,,運(yùn)用圖像處理技術(shù),,通過設(shè)定火災(zāi)圖像軸向比的閾值,設(shè)計(jì)出一種基于紅外圖像軸向比的火災(zāi)探測(cè)系統(tǒng),。實(shí)驗(yàn)表明,,該火災(zāi)探測(cè)系統(tǒng)能對(duì)火災(zāi)進(jìn)行實(shí)時(shí)有效的監(jiān)控,從而實(shí)現(xiàn)了一種新型的火災(zāi)判別技術(shù),。
軟件方面,,系統(tǒng)基于OpenCV和MFC框架,通過紅外圖像軸向比判別算法來判別紅外圖像是否超過所設(shè)定的軸向比閾值,,并結(jié)合紅外測(cè)溫原理對(duì)超過閾值的圖像進(jìn)行溫度的判斷,,能及時(shí)準(zhǔn)確地探測(cè)到火災(zāi)的發(fā)生。硬件方面,,采用USB攝像頭,、紅外濾光片等簡單易得且性價(jià)比較高的器材配合數(shù)字圖像處理來完成對(duì)火災(zāi)的實(shí)時(shí)監(jiān)控。該系統(tǒng)基本實(shí)現(xiàn)了預(yù)期的功能,。
參考文獻(xiàn)
[1] 陸峰.基于紅外圖像識(shí)別的火災(zāi)探測(cè)系統(tǒng)[D].上海:東華大學(xué),,2009.
[2] 鄔曉琳.紅外圖像型智能火災(zāi)探測(cè)系統(tǒng)的研究與實(shí)現(xiàn)[D].上海:東華大學(xué),2013.
[3] 王本西.基于圖像處理的火災(zāi)探測(cè)技術(shù)的研究[D].上海:東華大學(xué),,2006.