
本發明涉及火焰識別
技術領域:
,尤其涉及一種低秩分析的火焰識別算法。
背景技術:
:隨著計算機處理能力的不斷增強和信息社會對多媒體信息處理要求的不斷增加,基于圖象處理的火焰檢測技術得到了飛速的發展,這類探測技術具有響應速度快、檢測范圍廣、環境污染小等特點,具有顯著優勢和廣闊的前景。近些年,許多學者進行了基于圖像處理的火焰識別算法研究。現有技術有的基于支持向量機和線性分類器的視頻進行火焰識別算法;有的現有技術根據火焰的溫度、邊界不規則、輪廓變化、面積變化等特點來識別火焰還有的現有技術提出采用小波特征和色彩特征,采用神經網絡識別火焰,該算法對火焰素材要求較高,要能獲取比較完備的火焰素材庫,實現起來具有一定的難度。技術實現要素:本發明克服現有技術存在的不足,所要解決的技術問題為提供一種低秩分析的火焰識別算法。為了解決上述技術問題,本發明采用的技術方案為:一種低秩分析的火焰識別算法,包括如下步驟,步驟一:視頻圖像的采集;采用紅外攝像儀采集視頻圖像,樣本一為火災發生時的火焰圖像集合,記為ω1;樣本二為有白熾燈等干擾物的圖像集合,記為ω0;步驟二:圖像預處理;將步驟一采集到的視頻圖像,以監控視頻中的當前幀圖像中左上角的像素點為原點建立直角坐標系,得到每個像素點的位置信息和灰度值信息,對采集的圖像進行預處理;步驟三:灰度圖像二值化;將圖像上的點的灰度置為0或255,使得整個圖像呈現出明顯的黑白效果,即將256個亮度等級的灰度圖像通過適當的閾值選取獲得仍然可以反映圖像整體和局部特征的二值化圖像,大于等于閾值的設為255,小于閾值的設為0;步驟四:圖像序列低秩分析①模型分析:火焰圖像數據矩陣可表示為D,誤差矩陣為E,則D表示為D=A+E,A表示滿足理想低維子空間假設的圖像數據矩陣,圖像數據矩陣D分解成低秩矩陣A和稀疏誤差矩陣E之和的形式,對應的優化模型為||·||*,||·||1分別表示矩陣的核范數(定義為矩陣的奇異值之和)和l1范數(定義為矩陣所有元素的絕對值之和),λ是低秩矩陣和誤差矩陣之間的權衡參數;②對可疑的火焰圖像,提取當前幀可疑區域的外接矩形,縮放成16*16,將其所有的數據轉化成列向量,記為D1;③依次取所述當前幀后連續n-1幀圖像,提取火焰區域外接矩形,縮放成16*16,逐幀轉化成列向量,依次記為D1,D2,…,Dn;④把所有的Di(1≤i≤n)作為列構成矩陣D,即D=(D1,D2,…,Dn);⑤求解滿足式(1)的低秩矩陣A,求A的奇異值;⑥以所述奇異值的平方計算各自的貢獻率,以累計貢獻率大于給定閾值T來確定奇異值的個數,如公式(3),規定個數為矩陣D的新秩rank(D);⑦通過實驗計算出兩樣本數據的秩的分界點θ*,如公式(4),求得的分界點θ即為θ*公式(4)中Precision表示準確率,Recall表示召回率,t表示算法計算時間,設ω1是火焰圖像的集合,ω0是白熾燈等干擾物圖像的集合,分類公式如式(5)公式(5)中當秩大于等于θ*時,表示圖像中有火,當秩小于θ*時,表示圖像中無火。進一步的,所述步驟一中圖像采集采用工業ccd型號為:acA640-300gm,分辨率為640x480,接口為GIGE千兆以太網,PC平臺為:inteli7windowsx64,編程環境為:MatlabR2010a。進一步的,所述步驟二對采集的圖像采用高斯平滑濾波算法進行預處理,如公式(6):f′(i,j)=f(i,j)×g(i,j)(6)其中表示高斯函數,f(i,j)表示輸入的像素值,f′(i,j)表示輸出的像素值。進一步的,所述步驟三中采用近似一維Means方法尋找二值化閾值,步驟如下:①采用人工設置或者根據隨機方法,生成一個初始化閾值T;②根據閾值圖將每個像素數據P(n,m)分為對象像素數據G1與背景像素數據G2,其中n為行,m為列;③G1的平均值是m1,G2的平均值是m2;④一個新的閾值T’=(m1+m2)/2⑤回到步驟②,用新的閾值繼續將像素數據為對象數據和背景像素數據,繼續步驟②-④,直到計算出來的新閾值等于上一次的閾值。進一步的,所述步驟四中驗證參數λ的取值為時,其中,m表示D的行數,n表示D的列數,公式(1)有最優解。本發明的有益效果在于:本發明的算法,可對檢測區域二十四小時不間斷檢測,取得了較好的實時探測效果,建立了更加準確可靠的火焰低秩識別方法,能夠有效的去除燈光對于圖像火焰探測技術的干擾。進一步解決了火焰圖像探測技術的誤報率問題,為大空間及室外大尺度開放空間場所火災早期滅火與人員疏散節省了時間,減少經濟損失及人員傷亡。附圖說明圖1是本發明的燈泡圖像序列(A)與火焰樣本序列(B)的對比圖。圖2是本發明的原始圖像(A)與閾值分割(B)的結果對比圖。圖3是本發明在長度=10時秩的頻數柱狀圖。圖4是本發明在長度=20時秩的頻數柱狀圖。圖5是本發明在長度=30時秩的頻數柱狀圖。圖6是本發明在長度=40時秩的頻數柱狀圖。圖7是本發明在長度=50時秩的頻數柱狀圖。圖8是本發明在長度=60時秩的頻數柱狀圖。圖9是本發明在長度=70時秩的頻數柱狀圖。圖10是本發明在長度=80時秩的頻數柱狀圖。圖11是本發明在長度=90時秩的頻數柱狀圖。圖12是本發明操作流程圖。具體實施方式下面結合具體實施例對本發明作進一步詳細的說明。下面結合實施例對本發明作進一步的詳細說明,但本發明不限于所給出的。一種低秩分析的火焰識別算法,包括如下步驟,步驟一:視頻圖像的采集;實驗圖像采集采用工業ccd型號為:acA640-300gm,分辨率為640x480,接口為GIGE千兆以太網,PC平臺為:inteli7windowsx64,編程環境為:MatlabR2010a,樣本一為火災發生時的火焰圖像集合,記為ω1;樣本二為有白熾燈等干擾物的圖像集合,記為ω0,樣本一和樣本二圖像各1800張,如圖1所示,第一行是原始圖像,第二行是提取的外接矩形區域,第三行是外接矩形區域數據對應的列向量,從圖1可以看出,火焰圖像序列的變化遠遠高于燈泡圖像序列的變化。步驟二:圖像預處理;一幅數字圖像由若干個數據點構成,每個數據點稱為像素。比如一幅256×400,就是指該圖像是由水平方向256列像素和垂直方向400行像素組成的矩形圖。每一個像素具有自己的屬性,如顏色、灰度等,灰度是決定一幅圖像的關鍵因素之一。將步驟一采集到的視頻圖像,以監控視頻中的當前幀圖像中左上角的像素點為原點建立直角坐標系,得到每個像素點的位置信息和灰度值信息,對采集的圖像采用高斯平滑濾波算法進行預處理,如公式(6):f′(i,j)=f(i,j)×g(i,j)(6)其中表示高斯函數,f(i,j)表示輸入的像素值,f′(i,j)表示輸出的像素值。步驟三:灰度圖像二值化;將圖像上的點的灰度置為0或255,使得整個圖像呈現出明顯的黑白效果,即將256個亮度等級的灰度圖像通過適當的閾值選取獲得仍然可以反映圖像整體和局部特征的二值化圖像,大于等于閾值的設為255,小于閾值的設為0;采用近似一維Means方法尋找二值化閾值,步驟如下:①采用人工設置或者根據隨機方法,生成一個初始化閾值T;②根據閾值圖將每個像素數據P(n,m)分為對象像素數據G1與背景像素數據G2,其中n為行,m為列;③G1的平均值是m1,G2的平均值是m2;④一個新的閾值T’=(m1+m2)/2⑤回到步驟②,用新的閾值繼續將像素數據為對象數據和背景像素數據,繼續步驟②-④,直到計算出來的新閾值等于上一次的閾值,實驗中,一幀圖片的閾值分割結果如圖2所示,閾值分割完整的提取出了火焰區域,但同時也保留了高溫干擾物區域,對此,還要利用火焰的其他特征進行排除。步驟四:圖像序列低秩分析①模型分析:火焰圖像數據矩陣可表示為D,誤差矩陣為E,則D表示為D=A+E,A表示滿足理想低維子空間假設的圖像數據矩陣,圖像數據矩陣D分解成低秩矩陣A和稀疏誤差矩陣E之和的形式,對應的優化模型為||·||*,||·||1分別表示矩陣的核范數(定義為矩陣的奇異值之和)和l1范數(定義為矩陣所有元素的絕對值之和),λ是低秩矩陣和誤差矩陣之間的權衡參數,驗證參數λ的取值為時,其中,m表示D的行數,n表示D的列數,公式(1)有最優解,采用不精確增廣拉格朗日乘子法求解公式(1)。構造拉格朗日函數如下:則矩陣A和E迭代更新公式如下:得到不精確的拉格朗日乘子法算法流程如下:Input:觀測矩陣D,參數λInitialize:Y0=E0=0;μo>0;ρ>1Whilenotconvergedo1:2:3:Yk+1=Yk+μk(D-Ak+1-Ek+1)4:更新μk至μk+15:k←k+1endWhile②對可疑的火焰圖像,提取當前幀可疑區域的外接矩形,縮放成16*16,將其所有的數據轉化成列向量,記為D1;③依次取所述當前幀后連續n-1幀圖像,提取火焰區域外接矩形,縮放成16*16,逐幀轉化成列向量,依次記為D1,D2,…,Dn;④把所有的Di(1≤i≤n)作為列構成矩陣D,即D=(D1,D2,…,Dn);⑤求解滿足式(4)的低秩矩陣A,取參數求A的奇異值;⑥以所述奇異值的平方計算各自的貢獻率,以累計貢獻率大于給定閾值T來確定奇異值的個數,如公式(3),規定個數為矩陣D的新秩rank(D);⑦通過實驗計算出兩樣本數據的秩的分界點θ*,如公式(4),求得的分界點θ即為θ*公式(4)中Precision表示準確率,Recall表示召回率,t表示算法計算時間,設ω1是火焰圖像的集合,ω0是白熾燈等干擾物圖像的集合,分類公式如式(5)公式(5)中當秩大于等于θ*時,表示圖像中有火,當秩小于θ*時,表示圖像中無火。本發明采用以下三個指標來對模型進行θ的選取:1、準確率(見表1)(Precision)=(TP+TN)/(P+N);(10)2、召回率(見表2)(Recall)=TP/P;(11)3、每組計算時間t(見表3)其中,P(Positive)表示樣本一的總個數,N(Negative)表示樣本二的總個數,TP(TruePositive)表示被正確判定為火的個數,TN(TrueNegative)表示被正確判定為干擾物的個數。表1θ取不同值時的準確率(%)表1數據是θ取不同值時各序列長度下的準確率,SL表示序列長度,從表中可以看出,θ固定時準確率先遞增后遞減。表2θ取不同值時的召回率(%)SL/θ234567891056.111.000.060.000.000.000.000.002096.4469.8334.118.330.060.000.000.003097.0092.8365.4441.9423.560.060.000.004097.8994.9490.6759.6141.507.500.000.005098.3396.5094.0679.7858.1726.720.000.006098.4497.5095.3988.4471.2248.221.390.007098.9498.2296.1793.4483.2863.3911.220.728099.7898.9497.2295.0087.4474.6724.336.399099.8399.1198.1796.6790.1783.3342.0612.4410099.9499.1798.6197.6793.1786.6763.2221.17表2數據是θ取不同值時各序列長度下的召回率,從表中可以看出,θ固定時召回率逐漸遞減。表3計算時間t(秒)SL102030405060708090t0.190.200.220.240.280.340.360.410.47表3數據是θ取不同值時程序算法用時時間,從表中可以看出,隨著序列長度的增加用時越長。滿足的條件下,選取長度=90,分界點θ*=5合理。當前第1頁1 2 3