王 瑞,郝 娜,張 波,常天慶
(裝甲兵工程學(xué)院,北京 100072)
一種自適應(yīng)Harris角點(diǎn)檢測算法*
王 瑞,郝 娜,張 波,常天慶
(裝甲兵工程學(xué)院,北京 100072)
針對傳統(tǒng)算法檢測效果不理想的問題,提出了一種基于自適應(yīng)非最大抑制策略的Harris角點(diǎn)檢測算法;通過設(shè)置抑制半徑與角點(diǎn)響應(yīng)函數(shù)的局部最大值關(guān)聯(lián),減小抑制半徑獲取角點(diǎn)。算法有效解決了閾值選取和“聚簇”的問題。實(shí)驗(yàn)表明,該算法檢測出的角點(diǎn)均勻分布,能很好地適應(yīng)特征匹配等實(shí)際應(yīng)用。
Harris,角點(diǎn)檢測,自適應(yīng)非最大抑制
地面場景下的目標(biāo)檢測問題一直是研究的難點(diǎn)和重點(diǎn),由于目標(biāo)所處的環(huán)境和人為方面的因素,導(dǎo)致采用一般的檢測算法效果不夠理想。目標(biāo)檢測通過提取感興趣的目標(biāo)特征進(jìn)行輪廓提取、特征匹配、目標(biāo)跟蹤等研究。角點(diǎn)作為最重要的特征之一,既保留了圖像的重要信息又減少了信息的數(shù)據(jù)量。近年來,基于角點(diǎn)檢測的算法被頻繁引入到檢測算法中[1-3],其中Harris算法的檢測效果較其他算法效果好,應(yīng)用廣泛。
Harris角點(diǎn)檢測算法的基本思想是通過構(gòu)建自相關(guān)矩陣得到圖像上灰度信號具有明顯變化的像素點(diǎn),計(jì)算自相關(guān)矩陣的特征值即可得到角點(diǎn)[4]。Harris角點(diǎn)檢測算法必須給出閾值才能提取角點(diǎn),一般方法的閾值選取對圖像的屬性依賴性大,同時計(jì)算復(fù)雜不容易滿足實(shí)時性要求。如何在Harris算法的框架下設(shè)計(jì)一種提取角點(diǎn)策略是實(shí)現(xiàn)檢測的重要因素,本文設(shè)計(jì)了新的自適應(yīng)非最大抑制算法提取理想的角點(diǎn)。
1.1 Harris算法原理
角點(diǎn)是指二維圖像邊界曲率變化明顯的點(diǎn)[4],即圖像灰度在多個方向急劇變化的點(diǎn)。Harris角點(diǎn)檢測算法是在Moravec算法基礎(chǔ)上發(fā)展起來的,通過計(jì)算一個窗口內(nèi)圖像灰度的變化量將特征點(diǎn)和非特征點(diǎn)分離,算法采用微分算子和自相關(guān)矩陣作為角點(diǎn)檢測算子:
式(1)中,Ix和Iy分別為x,y方向的偏導(dǎo)數(shù),反映了圖像在每個像素點(diǎn)的灰度變化方向;ω(x,y)為高斯窗函數(shù),通過平滑后對噪聲有一定的抑制作用。即:
式中,k為常數(shù),常取為k=0.04。
如果一個像素點(diǎn)的是角點(diǎn),則被認(rèn)為是局部范圍內(nèi)的極大值所對應(yīng)的像素點(diǎn):
當(dāng)角點(diǎn)判別式R大于設(shè)定閾值則為Harris特征點(diǎn),即:
式中(x,y)為角點(diǎn)。
1.2 Harris檢測算法的局限性
Harris角點(diǎn)檢測算法具有仿射和旋轉(zhuǎn)不變性,但是存在以下不足:
(1)Harris角點(diǎn)檢測算法通過確定局部來提取角點(diǎn),檢測效果依賴于閾值的確定。當(dāng)閾值過大時,會導(dǎo)致符合條件的角點(diǎn)數(shù)目丟失;當(dāng)閾值過小時,容易導(dǎo)致角點(diǎn)“聚簇”,產(chǎn)生偽角點(diǎn)。
(2)Harris角點(diǎn)檢測算法使用高斯窗函數(shù)對圖像進(jìn)行平滑。當(dāng)高斯窗平滑函數(shù)過大時,會導(dǎo)致角點(diǎn)位置的偏移;當(dāng)高斯窗口平滑函數(shù)過小時,由于噪聲的干擾導(dǎo)致產(chǎn)生偽角點(diǎn)。
Harris算法對角點(diǎn)響應(yīng)函數(shù)執(zhí)行的是非最大抑制,角點(diǎn)的數(shù)量受響應(yīng)函數(shù)的影響。自適應(yīng)非最大抑制是指,在局部范圍內(nèi)計(jì)算每個像素點(diǎn)的角點(diǎn)響應(yīng)函數(shù),將非極大值的像素點(diǎn)的響應(yīng)函數(shù)置為零,這樣就只保留了局部極大值,剔除了不可能成為角點(diǎn)的像素點(diǎn)。角點(diǎn)抑制受響應(yīng)函數(shù)影響,只有半徑r范圍內(nèi)響應(yīng)函數(shù)是最大值的角點(diǎn)才能夠被保留下來,這樣保證提取的局部極大值是可靠的。理論上說,初始開始時將抑制半徑設(shè)定為零。當(dāng)抑制半徑逐漸增加時,遍歷圖像中的像素點(diǎn),高斯窗內(nèi)的響應(yīng)函數(shù)的局部最大值點(diǎn)被保留了下來。當(dāng)抑制半徑增加到一定數(shù)量時,期待的角點(diǎn)被檢測出來。
定義局部最大值為R(x,y)i,應(yīng)滿足如下條件:
式中,R(x,y)i為響應(yīng)函數(shù)的局部最大值,R(x,y)s為局部范圍內(nèi)的響應(yīng)函數(shù)值,(x,y)i是局部最大值的像素點(diǎn),(x,y)s是鄰域內(nèi)的任意一像素點(diǎn)。
將角點(diǎn)響應(yīng)函數(shù)的局部最大值進(jìn)行比較排序比較,建立響應(yīng)矩陣和坐標(biāo)矩陣,分別記錄局部最大值和響應(yīng)坐標(biāo),比較得到全局最大值R(x,y)imax。至此,圖像中各個區(qū)域的角點(diǎn)均已被檢測出來并記錄下來。但此時很可能出現(xiàn)一個角點(diǎn)的領(lǐng)域范圍內(nèi)存在其他角點(diǎn),即“聚簇”。
設(shè)置抑制半徑r與局部最大值R(x,y)i相關(guān)聯(lián),進(jìn)行如下判斷:在該鄰域范圍內(nèi)的局部最大值是否為抑制半徑范圍內(nèi)的最大值。即:
式中,R(x,y)i為局部最大值,R(x,y)j為抑制半徑內(nèi)的最大值。若滿足式(7)的條件,則將該點(diǎn)確定為“新角點(diǎn)”。當(dāng)某一個特征點(diǎn)被確定為“新角點(diǎn)”后,它將一直保留在該范圍內(nèi),因?yàn)樵诖蟮囊种瓢霃絻?nèi)是局部最大值的點(diǎn),隨著抑制半徑的減小,該特征點(diǎn)將一直保留在“新角點(diǎn)”范圍內(nèi)。
由以上分析得到,若(x,y)i為角點(diǎn),那么該點(diǎn)對應(yīng)的最小抑制半徑為:
式中,(x,y)i,(x,y)j為局部最大值的坐標(biāo)點(diǎn),r(i)為最小抑制半徑。
隨著抑制半徑的減小,角點(diǎn)被確定為“新角點(diǎn)”。當(dāng)一個特征點(diǎn)在較大的抑制半徑內(nèi)是局部最大值,那么它在小的抑制半徑內(nèi)仍會是最大值。實(shí)驗(yàn)證明,通過算法進(jìn)行角點(diǎn)抑制,極大程度地避免了聚簇現(xiàn)象的發(fā)生。
自適應(yīng)Harris角點(diǎn)檢測算法實(shí)現(xiàn)的具體步驟如下:
步驟1:設(shè)定期待角點(diǎn)數(shù)N,計(jì)算局部最大值R(x,y)i及其坐標(biāo)值(x,y)i(i=1,2,…,n),n≤N;
步驟2:對局部最大值進(jìn)行排序比較,將局部最大值按照從大到小的順序存儲在響應(yīng)矩陣G,坐標(biāo)值存儲在坐標(biāo)矩陣H;
步驟3:設(shè)置初始半徑與局部最大值關(guān)聯(lián),建立新的響應(yīng)矩陣G1和坐標(biāo)矩陣H1;判斷局部最大值是否滿足式(7)的條件,若滿足條件,將該局部最大值存儲在響應(yīng)矩陣G1中;
步驟4:依次減小抑制半徑,執(zhí)行式(7)的條件,直到滿足期待的角點(diǎn)數(shù)量,輸出角點(diǎn)數(shù)量。
為了驗(yàn)證本文算法的可行性與有效性,利用兩幅待匹配的圖像進(jìn)行仿真驗(yàn)證分析。實(shí)驗(yàn)數(shù)據(jù):圖1的素大?。?40×580,像素分辨率大小為72×72。(a)、(b)為瞄準(zhǔn)鏡視場下的采集到實(shí)車圖像。坦克目標(biāo)圖像在圖(a)、(b)中所占像素大小為120×40。抑制半徑初始值r=18,預(yù)期角點(diǎn)數(shù)量N=300,在PC(AMD Athlon(tm)2.11 GHz,1.93 GB內(nèi)存)機(jī)上采用Matlab R2010b進(jìn)行驗(yàn)證實(shí)驗(yàn)。
圖1 原圖
圖2 原算法在T=0.2Rmax檢測結(jié)果
圖3 原算法在T=0.02Rmax檢測結(jié)果
首先利用傳統(tǒng)Harris角點(diǎn)檢測算法進(jìn)行檢測計(jì)算,采用文獻(xiàn)[7]提到的方法,閾值T=pRmax(0.001≤p≤0.2)。圖2為T=0.2Rmax時的實(shí)驗(yàn)結(jié)果,由于設(shè)定的閾值較高,檢測出的角點(diǎn)數(shù)量稀少,在目標(biāo)區(qū)域內(nèi)未檢測到角點(diǎn)。因此,必須降低閾值才能得到相應(yīng)的角點(diǎn)。圖3為T=0.02Rmax時的實(shí)驗(yàn)結(jié)果,與圖2 T=0.2Rmax結(jié)果相比,數(shù)量更多的角點(diǎn)被檢測出來,目標(biāo)區(qū)域出現(xiàn)了檢測出來的角點(diǎn)(如炮管、履帶輪等)不過存在著角點(diǎn)分布不均勻,圖像下部的大部分角點(diǎn)未被檢測出來。為了使角點(diǎn)檢測區(qū)域均勻和合理并充分利用角點(diǎn)信息此時應(yīng)該繼續(xù)降低閾值。圖4為T=0.001Rmax時的實(shí)驗(yàn)結(jié)果。顯而易見,檢測與前兩個實(shí)驗(yàn)相比,檢測的角點(diǎn)整體分布上趨于均勻,在圖像的背景和坦克目標(biāo)區(qū)域的角點(diǎn)檢測數(shù)量急劇增加,但是伴隨出現(xiàn)聚簇現(xiàn)象,在炮塔和主動輪附近的檢測角點(diǎn)過多,同樣增加了偽角點(diǎn)。圖5為本文采用的自適應(yīng)Harris角點(diǎn)檢測算法得到的結(jié)果,設(shè)定初始抑制半徑r=18。通過與傳統(tǒng)算法在T=0.02Rmax比較,檢測出來的角點(diǎn)分布更加均勻。與傳統(tǒng)算法在T=0.001Rmax比較,檢測出來的角點(diǎn)避免了角點(diǎn)聚簇而又整體趨于均勻。
圖4 原算法在T=0.001Rmax檢測結(jié)果
圖5 本文算法檢測結(jié)果
圖6 改變抑制半徑新增角點(diǎn)數(shù)
圖6為改變抑制半徑得到的新添角點(diǎn)數(shù),可以看出,當(dāng)初始抑制半徑減小時,新添加得到的角點(diǎn)數(shù)成逐漸上升的趨勢,檢測出的角點(diǎn)數(shù)量滿足期待數(shù)量。當(dāng)抑制半徑為18時,圖1(a)的角點(diǎn)數(shù)量為73,圖1(b)新增的角點(diǎn)數(shù)量為84,抑制半徑逐漸減小時新添的角點(diǎn)數(shù)如圖6所示。
對于復(fù)雜場景下的目標(biāo)檢測問題,要求檢測算法對場景具有很強(qiáng)的適應(yīng)性,Harris角點(diǎn)檢測算法是基于圖像灰度信息的有效方法,本文在進(jìn)行檢測算法設(shè)計(jì)時,將自適應(yīng)非最大抑制策略應(yīng)用到Harris算法之中,通過對角點(diǎn)響應(yīng)函數(shù)的局部最大值進(jìn)行排序并設(shè)置一個抑制半徑,通過逐漸減小半徑獲取角點(diǎn),極大地避免了閾值設(shè)置困難和角點(diǎn)“聚簇”。實(shí)驗(yàn)結(jié)果表明本文算法的檢測效果更加合理。
[1]趙文彬,張艷寧.角點(diǎn)檢測技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用研究,2006,23(10):17-19.
[2]房超,王小鵬,牛云鵬,等.基于改進(jìn)Harris算法的角點(diǎn)檢測[J].計(jì)算機(jī)與數(shù)字工程,2011,39(5):142-144.
[3]張雷雨,邵永社,韓陽.適于光學(xué)遙感圖像的角點(diǎn)特征檢測算法[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(20):110-112.
[4]Harris C,Stephens M J.A Combined Corner and Edge Detector[C]//Proceedings of the 4th Alley Vision Conference. Manchester,England:IEEE,1988:147-151.
[5]Mokhtarian F,Suomela R.Robust Image Corner Detection through Curvature Scale Space[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,1998,20(12):2549-2552.
[6]毛雁明,蘭美輝,王運(yùn)瓊,等.一個改進(jìn)的基于Harris的角點(diǎn)檢測算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(5):130-133.
[7]沈士喆,張小龍,衡偉.一種自適應(yīng)閾值的預(yù)篩選Harris角點(diǎn)檢測方法[J].數(shù)據(jù)采集與處理,2011,26(2):207-213.
Harris Corners Detection Method Based on Self-adapting Non-maximal Supperssion Algorithm
WANG Rui,HAO Na,ZHANG Bo,CHANG Tian-qing
(Academy of Armored Force Engineering,Beijing 100072,China)
When the target detection result is not ideal,Harris corner detection algorithm based on self-adapting non-maximal suppression strategy is proposed;Ranked local maximum of corner response function and a suppression radius for each corner is set up,corners are extracted through the suppression radius continuously decreasing.The problem of corner clustering and the difficulty of threshold selection is effectively avoided.The experimental result shows that this method is superior to the traditional harris corner algorithm,and can be used in practical.
Harris,corner detection,self-adapting non-maximal suppression
TP391.4
A
1002-0640(2015)07-0084-03
2014-04-25
2014-07-07
裝甲兵工程學(xué)院科研創(chuàng)新基金項(xiàng)目
王 瑞(1990- ),女,山西太原人,碩士研究生。研究方向:目標(biāo)檢測與識別。