趙丹陽,王慧琴,胡 燕,殷 穎
西安建筑科技大學(xué) 信息與控制工程學(xué)院,西安 710055
火災(zāi)的發(fā)生具有突發(fā)性和很強(qiáng)破壞性,嚴(yán)重威脅人類的生命財產(chǎn)安全和自然環(huán)境?;馂?zāi)視頻作為圖像型火災(zāi)探測的基礎(chǔ),與傳統(tǒng)的感溫感煙火災(zāi)探測滅火設(shè)備相比,重點突出了火災(zāi)的實時性和便易性。在視頻監(jiān)控的基礎(chǔ)上增加火災(zāi)的探測與滅火裝備功能可以有效地節(jié)省開支,并在火災(zāi)的初級階段發(fā)現(xiàn)火災(zāi),做到有效地減少資源浪費和火災(zāi)的早期防范控制。在早期的火災(zāi)探測中火災(zāi)定位技術(shù)是火災(zāi)撲救的一個重要環(huán)節(jié)?;馂?zāi)發(fā)生時,準(zhǔn)確地找到火災(zāi)空間位置,驅(qū)動高壓水炮進(jìn)行自動滅火,具有重要的研究意義和應(yīng)用價值。
定位技術(shù)主要研究的是在背景環(huán)境中獲取目標(biāo)位置問題。利用計算機(jī)采集兩幅或兩幅以上的圖像中,選取空間位置一致性的點,利用機(jī)器視覺的相關(guān)原理,恢復(fù)空間位置的三維信息。特征點的提取和匹配是計算機(jī)定位技術(shù)的核心[1-2]。通常的方法依靠角點信息。Moravec角點檢測實現(xiàn)了立體視覺的匹配,在此基礎(chǔ)上,Harris對Moravec算子進(jìn)行了改進(jìn)。Harry算子具有旋轉(zhuǎn)不變性和縮放不變性等特點,可廣泛應(yīng)用于各種圖像匹配和融合算法中。1999年,D.G.Lowe提出了 SIFT(Scale Invariant Feature Transform)算法,2004年完善總結(jié)。該算法不僅具有旋轉(zhuǎn)、尺度縮放、視角、光照不變性,對運(yùn)動物體,視角變化、仿射變換、噪聲也保持一定程度的穩(wěn)定性[3],廣泛應(yīng)用于機(jī)器定位、三維目標(biāo)識別中[4]。
SIFT算法的一個重要特性就是多量性,即使少數(shù)的幾個物體也能產(chǎn)生大量的SIFT特征向量,這個特性對于三維信息重建非常有利。但它用的128維向量表示每個特征點,使處理的數(shù)據(jù)量過于冗長,存在局限性[5]。尤其在視頻監(jiān)控的火災(zāi)定位探測中,過長的時間計算量,將會使監(jiān)控的實時性下降?;馂?zāi)發(fā)生的突發(fā)性和高擴(kuò)散性,使高壓水炮滅火產(chǎn)生偏離和誤差,失去了實時監(jiān)控滅火的意義。本文以SIFT算法為基礎(chǔ),針對火災(zāi)圖像的特性,對SIFT算法進(jìn)行改進(jìn),在匹配數(shù)量大致相同的情況下,提高了處理的實時性,保持了算法的準(zhǔn)確性以及SIFT算法的旋轉(zhuǎn)、尺度、光照不變性。
尺度空間理論最早出現(xiàn)于計算機(jī)視覺領(lǐng)域,其目的是模擬圖像數(shù)據(jù)的多尺度特征。一幅二維圖像,在不同尺度下的尺度空間可由圖像與高斯核卷積得到:
式(1)中,I(x,y)代表圖像的像素位置。σ為尺度空間因子,其值代表圖像被平滑的程度。值越小,平滑程度越小,相應(yīng)的尺度也越小。大尺度對應(yīng)于圖像的概貌特征,小尺度對應(yīng)于圖像的細(xì)節(jié)特征。L代表了圖像的尺度空間。式(2)為二維高斯函數(shù)的定義。
SIFT算法的主要包括以下四個步驟:
(1)尺度空間生成
為了有效地在尺度空間檢測到穩(wěn)定的關(guān)鍵點,Lowe提出了高斯差分空間(Different Of Gaussian,DOG)利用不同尺度的高斯差分核與圖像卷積生成[6]。
(2)尺度空間極值點檢測
為了尋找尺度空間的極值點,每一個采樣點要和它所有的相鄰點比較,如圖1所示。中間的檢測點和它同尺度的8個相鄰點和相鄰尺度對應(yīng)的9×2個點,共26個點比較,以確保尺度空間和二維圖像空間都檢測到極值點。
圖1 DOG尺度空間極值點檢測
(3)關(guān)鍵點方向分配
利用關(guān)鍵點鄰域像素的梯度方向分布特性為每個關(guān)鍵點指定方向參數(shù),使算子具備旋轉(zhuǎn)不變性。
其中L所用的尺度為每個關(guān)鍵點各自所在的尺度,m(x,y)表示像素(x,y)處梯度的模值,θ(x,y)表示像素(x,y)處梯度的方向。
實際計算時,在以關(guān)鍵點為中心的鄰域窗口內(nèi)采樣,并用直方圖統(tǒng)計鄰域像素的梯度方向。梯度直方圖的范圍是0°~360°,其中每10°一個柱,總共36個柱。直方圖的峰值則代表了該關(guān)鍵點處鄰域梯度的主方向,即作為該關(guān)鍵點的方向。圖2是采用7個柱時使用梯度直方圖為關(guān)鍵點確定主方向的示例。
圖2 梯度方向直方圖確定梯度方向
(4)特征點描述生成
將坐標(biāo)軸旋轉(zhuǎn)到特征點方向,保證旋轉(zhuǎn)不變性。如圖3所示,以中央黑點即關(guān)鍵點為中心取8×8的窗口,每個小格代表關(guān)鍵點領(lǐng)域所在尺度空間的一個像素,箭頭方向表示像素的梯度方向,箭頭長度代表梯度的模值。然后用高斯窗口對其進(jìn)行加權(quán)運(yùn)算,在每4×4的小塊上計算8個方向的梯度方向直方圖,繪制每個梯度方向的累加值,即可形成一個種子點。Lowe建議在實際中使用4×4共16個種子點來描述,這樣對于一個關(guān)鍵點就可以產(chǎn)生128個數(shù)據(jù)。此時SIFT特征向量已經(jīng)去除了尺度變化、旋轉(zhuǎn)等幾何變形因素的影響,再繼續(xù)將特征向量的長度歸一化,可進(jìn)一步去除光照變化的影響。
圖3 由關(guān)鍵點領(lǐng)域梯度生成特征向量
(5)特征點匹配
兩幅圖像關(guān)鍵點特征向量生成后,采用關(guān)鍵點的歐式距離將作為相似性的判斷依據(jù),并設(shè)定閾值,進(jìn)行特征點匹配。
實驗表明,SIFT算法第四步用128個特征點描述占用了系統(tǒng)大量時間,嚴(yán)重影響算法的實時性,尤其是在視頻圖像火災(zāi)定位中,該缺陷更加明顯。為此對傳統(tǒng)的SIFT算法進(jìn)行改進(jìn)。SIFT算法對實時性的主要影響在第四步,因此,將128維特征向量降低為窗為4×4的8維特征向量,使算法局部化。由于關(guān)鍵點的向量描述減少了,所以降低了特征點的提取時間。同時局部化的改進(jìn)對匹配率有較大的影響。為此,算法對實時性影響較小的兩個地方進(jìn)行了相應(yīng)的改進(jìn)。增加了每個像素的點的多方向性和關(guān)鍵點的雙向匹配算法,這兩個改進(jìn)目的是為了提高算法匹配率,提高整體的穩(wěn)定性和魯棒性。
具體改進(jìn)步驟如下:
(1)修改關(guān)鍵點方向分配閾值。
在多尺度空間特征點形成后,關(guān)鍵點方向檢測時,降低輔方向的閾值。這樣的作用使得每個關(guān)鍵點在生成直方圖后,一個像素點可能產(chǎn)生多個方向(一個主方向,一個以上輔方向),一個像素點包含的方向越多,這個像素點就具有越多的不同方向的特性,這樣的多方向的像素點在對關(guān)鍵點進(jìn)行描述的時候,就能保持更多的關(guān)鍵點的特性和唯一性,對關(guān)鍵點的描述也更全面。這樣就增加了關(guān)鍵點匹配的魯棒性,確保特征點描述改進(jìn)后的匹配穩(wěn)定性[7]。
(2)降低特征點向量個數(shù)。
①對特征點的描述,取以關(guān)鍵點為中心的4×4窗口的16為向量,表示關(guān)鍵點的特征描述。如圖4所示,每個窗體由于增加了像素點的輔方向,雖然在關(guān)鍵點處的特征向量減少,但是保持了匹配的穩(wěn)健性。
②利用4×4的窗體,加上權(quán)值累加信息,統(tǒng)計出關(guān)鍵點的8個梯度方向信息。如圖5所示。
圖4 由特征點生成的特征向量
圖5 關(guān)鍵點的8維向量特征
③將這8個梯度方向歸一化,以保證光照的不變性。假設(shè) 8維特征點向量a=[1,2,3,4,5,6,7,8]按照歸一化公式(5)得到歸一化的值。
④查找最大梯度方向,得到關(guān)鍵點的8維向量后,利用公式(6)將向量的最大元素移至開頭,其余特征向量保持不變,假設(shè)8維特征點向量a=[1,2,3,4,5,6,7,8],則最終關(guān)鍵點的特征向量為a=[8,1,2,3,4,5,6,7]。這樣做的作用是消除特征向量排序是產(chǎn)生的減小歐式距離的度量后果,能使得特征描述符在后續(xù)步驟中消除錯誤匹配。同時,采用8維向量匹配,并去除種子點的描述,極大地縮短了特征點的提取時間,增加匹配速率。
(3)由于特征點向量由128維向量減低到8維向量的描述,容易在特征點匹配上產(chǎn)生誤差,因此,為了保證匹配的效率,遵循匹配的維一性約束原則,將圖像進(jìn)行雙項匹配,如公式(7)所示。匹配的維一性約束指匹配點間的維一映射關(guān)系。
在原算法的基礎(chǔ)上增加歐式距離算法的匹配,交換圖像順序,再進(jìn)行匹配。當(dāng)兩次匹配的坐標(biāo)相同,則完成匹配。一般雙目定位采用兩張圖像,則是2次歐式距離匹配。單目視頻圖像序列則一般采用每秒6幀圖像,將6幀圖像分為三組,每組進(jìn)行雙向匹配。然后再進(jìn)行火焰定位。
本實驗環(huán)境選用CPU E5300 2.9 GHz,2 GB的內(nèi)存。操作系統(tǒng)為Microsoft Windows XP SP3,仿真平臺為Matalab 7.8。
實驗主要分為以下三類:
(1)將改進(jìn)算法和SIFT算法進(jìn)行比較。如圖6所示,綠色箭頭為SIFT算法,紅色為改進(jìn)后的算法。
(2)利用表格測試改進(jìn)算法的匹配率。如圖7所示。
(3)利用多種火災(zāi)圖像,仿真改進(jìn)算法在火災(zāi)圖像下的匹配效果。如圖8所示。
圖6 SIFT算法與改進(jìn)算法比較
圖7 表格測試改進(jìn)算法
圖8 火災(zāi)圖像中的匹配
表1為對多幅不同場景下的火災(zāi)圖像進(jìn)行原SIFT算法和改進(jìn)SIFT算法仿真出的實驗相關(guān)數(shù)據(jù)對比。從表1中可以得到:改進(jìn)前后的SIFT算法在匹配率雖然有小范圍的降低,但是極大地縮短了匹配的時間,在火災(zāi)圖像中,這種實時性的提高是必要的。
表1 圖像匹配比較數(shù)據(jù)
圖像特征點的提取與匹配中,提取穩(wěn)定、可靠的特征點是提高匹配準(zhǔn)確度的重要環(huán)節(jié)。本文采用SIFT特征點提取算法,其不受圖像的伸縮、旋轉(zhuǎn)、光照等影響,能夠正確地提取出描述物體本質(zhì)的信息。為了滿足視頻火災(zāi)圖像定位速度和準(zhǔn)確性的要求,在原算法基礎(chǔ)上對SIFT算法進(jìn)行了改進(jìn)。改進(jìn)后的算法極大地縮短了SIFT特征點提取時間,提高了實時性,同時保證了旋轉(zhuǎn)不變性,為下一步的火災(zāi)視頻監(jiān)控下的空間定位奠定了基礎(chǔ)。
[1]王兆仲,周付根,劉志芳,等.一種高精度的圖像匹配算法[J].紅外與激光工程,2006,35(6):75l-755.
[2]張文明,劉彬,林偉,等.基于雙目視覺的三位重建中特征點提取及匹配算法的研究[J].光學(xué)技術(shù),2008,34(2):181-185.
[3]郭黎,廖宇,陳為龍,等.基于改進(jìn)SIFT的超視頻分辨率重建快速配準(zhǔn)算法研究[J].湖北民族學(xué)院學(xué)報,2010,28(2):177-183.
[4]孟浩,程康.基于SIFT特征點的雙目視覺定位[J].哈爾濱工程大學(xué)學(xué)報,2009,30(6):649-652.
[5]曹娟,李興瑋,林偉延,等.SIFT特征匹配算法改進(jìn)研究[J].系統(tǒng)仿真學(xué)報,2010,22(11):2760-2763.
[6]Lowe D G.Object recognition from local scale-invariant features[D].Vancouver,Canada:Computer ScienceDepartment,University of British Columbia,1999.
[7]Lowe D G.Distinctive image features from scale-invariant keypoints[D].Vancouver,Canada:ComputerScienceDepartment,University of British Columbia,2004.
[8]Lowe D G.Local feature view clustering for 3D object recognition[D].Vancouver,Canada:Computer Science Department,University of British Columbia,2001.
[9]Li Canlin,Ma Lizhuang.A new framework for feature descriptor based on SIFT[J].Pattern Recognition Letters,2009,30(5):544-557.
[10]Moreno P,Bernardino A.Improving theSIFT descriptor with smooth derivative filters[J].Pattern Recognition Letters,2008.