基于Mean-Shift與Camshift算法相結合的火焰視頻圖像跟蹤設計
0 引言
火的使用是人類(lèi)的偉大創(chuàng )舉之一。但火一旦失去控制,就會(huì )成為自然和社會(huì )的一種非常大的危害。在我們的日常生活中,火災并不是一個(gè)陌生的話(huà)題。近年來(lái),我國就發(fā)生了幾起全國震驚的火災,給人們的生命財產(chǎn)安全造成了嚴重的危害?;馂陌l(fā)生后,如果能及早的報警并進(jìn)行自動(dòng)控制滅火,對于減小火災所帶來(lái)的危害,無(wú)疑具有非常重要的意義。
傳統的火災報警系統一般基于紅外傳感器和煙霧傳感器,也就是探測火災發(fā)生時(shí)生成的煙、溫度和光參量等,然后經(jīng)信號處理、比較、判斷后,發(fā)出火災報警信號。而由于火焰圖像具有亮度高、面積不規則、燃燒時(shí)相對穩定等特征,同時(shí)又有監控范圍大,實(shí)時(shí)性好等優(yōu)點(diǎn),因此,基于視頻圖像的機器視覺(jué)火災探測系統得到了較快發(fā)展,并已成功應用于大空間自動(dòng)檢測滅火系統中。
一般情況下,考慮到早期火災剛剛發(fā)生時(shí),一旦漏報或者火勢發(fā)展較快,火焰就會(huì )變成動(dòng)態(tài)目標,因此,要求系統可以有效的識別火焰并對動(dòng)態(tài)火焰進(jìn)行實(shí)時(shí)跟蹤,進(jìn)而控制云臺進(jìn)行準確的滅火工作。本文主要對基于Mean-Shift算法的火焰圖像分割以及基于Camshift算法的動(dòng)態(tài)火焰跟蹤方法進(jìn)行研究。
1火焰圖像分割
1.1 Mean-Shift分割原理
Mean-Shift是一種非參數化的多模型分割方法,它的基本計算模塊采用的是傳統的模式識別程序,即通過(guò)分析圖像的特征空間和聚類(lèi)的方法來(lái)達到分割的目的。它是通過(guò)直接估計特征空間概率密度函數的局部極大值來(lái)獲得未知類(lèi)別的密度模式,并確定這個(gè)模式的位置,然后使之聚類(lèi)到和這個(gè)模式有關(guān)的類(lèi)別當中。下面對Mean-Shift算法進(jìn)行簡(jiǎn)介。
設S是n維空間X中的一個(gè)有限集合,K表示X空間中λ球體的一個(gè)特征函數,則其表達式為:
其中,x∈X,那么在向量x點(diǎn)處的樣本均值為:
Fukunaga和Hostetle等人在其自己的論文中把m(x)-x的差叫做Mean-Shift。Mean-Shift算法實(shí)際上就是數據點(diǎn)到樣本均值的重復移動(dòng),而且在算法的每一次迭代過(guò)程中,對于所有的s∈S,s←m (s)都是同時(shí)的。同時(shí),模糊聚類(lèi)算法還包括最大墑聚類(lèi)算法以及常用的k均值聚類(lèi)算法,它們都是Mean-Shift算法的一個(gè)有限的特例。Mean-Shift算法作為一種聚類(lèi)分析方法,由于其密度估計器的梯度是遞增的,而其收斂點(diǎn)即為密度梯度的局部極大值點(diǎn),這個(gè)局部極大值即對應特征空間中的一個(gè)模式。
Mean-Shift算法對于概率密度函數的估計通常采用Parzen窗函數法,即核密度估計器。在d維空間Rd中,給定n個(gè)數據點(diǎn)xi,i=1,2…n,點(diǎn)x的多變量核密度估計器的計算式如式(3)所示。這個(gè)估計量可以由核K(x)和一個(gè)對稱(chēng)正定的d×d寬度的矩陣H來(lái)表示。
一般情況下,具有d個(gè)變量的核K(x)是一個(gè)滿(mǎn)足以下條件的邊界函數:
其中,ck是一個(gè)常量。從圖像分割的目的出發(fā),多變量核K (x)采用的是放射狀對稱(chēng)核Ks(x)=ak,dK1(‖x‖),其中K1(z)是一個(gè)對稱(chēng)的單變量核,且K (x)滿(mǎn)足下式:
其中,ck,d是可使K (x)等于1的歸一化常量。
帶寬矩陣H一般選擇對角陣,H=diag[h12,…,h2d]或與單位矩陣H=h2I成比例。H=h2I情況下的一個(gè)明顯優(yōu)點(diǎn)是只需帶寬參數h>0。然而,從式(4)可以看出,首先應確定用于特征空間的歐幾里德矩陣的有效性。若使用一個(gè)寬度參數h,則式(3)就會(huì )變成如下典型的表示式:
將(6)式代入上式,就可以得到一個(gè)通用的、用核符號表示的核密度估計式:
對有基本密度函數f(x)的一個(gè)特征空間,Mean-Shift算法分析的第一步是找到這個(gè)密度模式,然后對這個(gè)模式進(jìn)行相關(guān)聚類(lèi)。此模式應該在梯度f(wàn)(x)=0的零點(diǎn)當中,而Mean-Shift程序是不用估計密度,而直接對密度的梯度進(jìn)行估計,就能定位這些零點(diǎn)。
對于Mean-Shift算法的應用與分割,首先,可設xi和zi(i=1,2,…,n)分別為n維空間內的輸人和聯(lián)合的空值域內的濾波圖像的像素,Li為分割后的圖像中的第i個(gè)像素。那么,其操作可分為以下步驟:
(1)運行均值平移濾波程序對圖像進(jìn)行濾波,并存儲所有d維空間內在zi處的收斂點(diǎn)zi=yi,c。
(2)在聯(lián)合域中對所有的zi進(jìn)行分組以描述類(lèi),這些類(lèi){Cp}p=1…m在空域內較hs較近,在值域內較hr較近。
(3)對于每一個(gè)i=1,…,n,并記為:
Li={p|zi∈Cp|}
(4)消除在空間區域內少于M個(gè)像素的區域。
1.2 Mean-Shift方法的分割結果
Mean-Shift算法分割的結果如圖1~圖3所示。
評論