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