鄭昊 林玉娥
摘要:角點(diǎn)是用來表示圖像的重要特征,角點(diǎn)檢測(cè)經(jīng)常是復(fù)雜圖像計(jì)算的第一步,所以對(duì)角點(diǎn)檢測(cè)準(zhǔn)確性的要求非常高。因此,提出一種改進(jìn)的SUSAN角點(diǎn)檢測(cè)算法,在進(jìn)行Canny邊緣檢測(cè)后,對(duì)檢測(cè)到的邊緣像素點(diǎn)進(jìn)行SUSAN角點(diǎn)檢測(cè),再使用歐氏距離使檢測(cè)的角點(diǎn)更加準(zhǔn)確。實(shí)驗(yàn)證明,基于Canny邊緣檢測(cè)的SUSAN角點(diǎn)檢測(cè)算法相比經(jīng)典的Harris角點(diǎn)檢測(cè)算法與SUSAN角點(diǎn)檢測(cè)算法在準(zhǔn)確率上有了明顯的提升。
關(guān)鍵詞:角點(diǎn)檢測(cè);Canny邊緣檢測(cè);SUSAN角點(diǎn)檢測(cè)
中圖分類號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)22-0040-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
角點(diǎn)可以保留圖像重要特征,也可以減少信息的數(shù)據(jù)量,提高計(jì)算速度,有利于圖像的實(shí)時(shí)匹配。角點(diǎn)在運(yùn)動(dòng)估計(jì)、目標(biāo)跟蹤、目標(biāo)識(shí)別、圖像配準(zhǔn)與匹配等領(lǐng)域都有很好的應(yīng)用。角點(diǎn)檢測(cè)算法目前主要分成3類:基于灰度圖像的角點(diǎn)檢測(cè)、基于輪廓曲線的角點(diǎn)檢測(cè)、基于二值圖像的角點(diǎn)檢測(cè)。
Moravec于1977年提出了Moravec算法,該算法利用方形窗口檢測(cè)圖片中的每個(gè)像素,通過比較方形窗口的相關(guān)性檢測(cè)角點(diǎn);H arris在Moravec算法的基礎(chǔ)上進(jìn)行了改進(jìn)[2],首先使用高斯濾波器對(duì)待檢測(cè)圖片進(jìn)行平滑,接著通過構(gòu)建自相關(guān)矩陣來獲取角點(diǎn)。但是H arris只對(duì)L型角點(diǎn)有著較好的檢測(cè)率,對(duì)其他類型角點(diǎn)的檢測(cè)能力一般;張海燕等人將多尺度的概念和圖像分塊方法引入Harris算法中[10],提高了對(duì)圖像角點(diǎn)的檢測(cè)性能;陳白帆等人在Harris算法中引入了尺度空間理論[11]],解決了單一尺度Harris角點(diǎn)檢測(cè)存在的丟失角點(diǎn)信息、角點(diǎn)位置不準(zhǔn)確和由于噪聲影響導(dǎo)致提取到偽角點(diǎn)等問題,該方法保持了Harris算法在光照條件下的穩(wěn)定性的同時(shí)可以檢測(cè)出多尺度下的角點(diǎn);王冠群等人則將多尺度空間應(yīng)用在SUSAN角點(diǎn)檢測(cè)算法中[12],同時(shí)使用了自適應(yīng)閾值,既可以獲得多尺度角點(diǎn),也改善了使用單一閾值帶來的誤檢點(diǎn)和漏檢點(diǎn)。
基于邊緣的角點(diǎn)檢測(cè)算法只利用了圖像的邊緣輪廓信息進(jìn)行角點(diǎn)檢測(cè),圖像的灰度信息卻被忽略了,而基于灰度的角點(diǎn)檢測(cè)算法則大多只使用了圖像的灰度信息。SUSAN算法是一種基于灰度的角點(diǎn)檢測(cè)算法,它的角點(diǎn)檢測(cè)能力較強(qiáng),但是它的誤檢率也較高,因此本文提出一種既利用到邊緣輪廓信息又利用到灰度信息的Canny-SUSAN算法,該算法在邊緣像素點(diǎn)上進(jìn)行SUSAN角點(diǎn)檢測(cè),比于原SUSAN算法縮短了運(yùn)算時(shí)間。經(jīng)過實(shí)驗(yàn),本文算法相比于Harris算法和SUSAN算法在準(zhǔn)確率上有了較大的提升。
1 Canny邊緣檢測(cè)
JOHN CANNY于1986年首次提出了Canny 邊緣檢測(cè)算法。Canny邊緣檢測(cè)算法有以下5個(gè)步驟:1)使用高斯濾波器平滑待測(cè)圖像。2)計(jì)算待檢測(cè)圖像中各像素點(diǎn)的梯度強(qiáng)度和方向。3)將邊緣檢測(cè)帶來的雜散響應(yīng)用非極大值抑制消除。4)使用高低閾值對(duì)檢測(cè)到的邊緣進(jìn)行劃分。5)將弱邊緣進(jìn)行抑制。
(1)將待測(cè)圖像用高斯濾波器進(jìn)行平滑
由于部分梯度幅值較大的噪聲點(diǎn)也容易被邊緣檢測(cè)算子誤檢為角點(diǎn),因此為了減少噪聲對(duì)邊緣檢測(cè)結(jié)果的影響,應(yīng)將噪聲點(diǎn)濾除。使用待檢測(cè)圖像與高斯濾波器進(jìn)行卷積運(yùn)算,以減少邊緣檢測(cè)器上梯度幅值較大的噪聲的影響。高斯濾波器的公式如下:
其中盯為高斯濾波器參數(shù),控制著平滑程度;f(x,y)為待測(cè)圖像中各點(diǎn)的灰度值。
(2)計(jì)算梯度幅值和方向
Canny邊緣檢測(cè)算法的中心思想是找到一幅圖像中灰度變化率最大(即梯度方向)的位置,變化率越大越可能是邊緣,而變化率的大小是由梯度幅值體現(xiàn)的。Canny邊緣檢測(cè)算法可以使用四個(gè)算子來檢測(cè)圖像中的水平、垂直和對(duì)角邊緣(如Rob-erts,Prewitt,Sobel等)。經(jīng)過高斯濾波平滑后的圖像梯度的幅值和梯度方向可以由Sobel算子來獲得。
其中Gx由水平方向的Sobel算子與經(jīng)過高斯濾波后的圖像卷積得到;GY由豎直方向的Sobel算子與經(jīng)過高斯濾波后的圖像卷積得到。
(3)對(duì)幅值圖像進(jìn)行非極大值抑制
(4)雙閾值檢測(cè)
在對(duì)幅值圖像進(jìn)行非極大值抑制處理之后,仍然存在部分受噪聲和顏色變化影響的邊緣像素。這些雜散響應(yīng)可以通過設(shè)置高低閩值來解決。
(5)抑制弱邊緣像素點(diǎn)
由于從正確邊緣提取的弱邊緣像素會(huì)連接強(qiáng)邊緣像素,而由雜散響應(yīng)引起的弱邊緣像素則不會(huì),如果一個(gè)弱邊緣像素的8一領(lǐng)域像素中有一個(gè)為強(qiáng)邊緣像素,則可將該弱邊緣像素定為邊緣像素。
2 SUSAN角點(diǎn)檢測(cè)算子
SUSAN算子由Smith等人于1997年提出。該算子采用如圖1所示的圓形模板在圖像上移動(dòng),將模板內(nèi)像素點(diǎn)的灰度值與模板中心的灰度值做差,若該灰度差小于一個(gè)閾值,則判定像素點(diǎn)與模板中心處于同一區(qū)域,將該區(qū)域稱為核值相似區(qū)USAN(Univalue-Segment-Assimilating-Nucleus), SUSAN算子由核值相似區(qū)的面積來判斷核位置的像素是否為角點(diǎn)。
比如在圖2中,USAN值最大的為e,該圓形模板處于目標(biāo)的背景中;其次為bcd,此時(shí)圓形模板靠近邊緣的位置;而最小的為a,圓形模板位于角點(diǎn)的位置。用于判斷像素點(diǎn)是否屬于USAN區(qū)的公式為:
其中,g為抑制噪聲的幾何閾值。在獲得初始角點(diǎn)響應(yīng)值之后,初始角點(diǎn)響應(yīng)值越大的點(diǎn)越有可能是角點(diǎn),將其與其8一鄰域內(nèi)的像素點(diǎn)的角點(diǎn)響應(yīng)值進(jìn)行比較,若它是最大的.則可以確定它是一個(gè)角點(diǎn)。
3 改進(jìn)的Canny-SUSAN角點(diǎn)檢測(cè)
由于基于邊緣的角點(diǎn)檢測(cè)算法只利用了圖像的邊緣輪廓信息進(jìn)行角點(diǎn)檢測(cè),卻沒有利用到圖像的灰度信息,而基于灰度的角點(diǎn)檢測(cè)算法則大多只考慮到圖像的灰度信息,所以這兩種類型的算法都存在一定的局限性。又由于角點(diǎn)處于圖像中各個(gè)邊緣的交匯處,必定處于某個(gè)邊緣上,因此提出一種Can-ny-SUSAN角點(diǎn)檢測(cè)算法,首先對(duì)輸入的待測(cè)圖片使用Canny邊緣檢測(cè)算法進(jìn)行邊緣檢測(cè),將獲取到的邊緣像素的坐標(biāo)記錄到數(shù)組中。接著對(duì)該數(shù)組中坐標(biāo)對(duì)應(yīng)的像素點(diǎn)使用SUSAN算法進(jìn)行角點(diǎn)檢測(cè),得到初始角點(diǎn)集合,由于初始角點(diǎn)集合中仍存在一部分冗余點(diǎn)與誤檢點(diǎn),所以最后還需要對(duì)檢測(cè)到的初始角點(diǎn)進(jìn)行歐氏距離計(jì)算,去除不精確的冗余角點(diǎn)以及誤檢點(diǎn)得到準(zhǔn)確角點(diǎn)。本算法既利用了待測(cè)圖片的邊緣輪廓信息,又利用了待測(cè)圖片的灰度信息,在縮小了范圍的邊緣像素點(diǎn)中進(jìn)行角點(diǎn)檢測(cè),有效減少了漏檢點(diǎn)和誤檢點(diǎn),提升了角點(diǎn)檢測(cè)的準(zhǔn)確率。同時(shí),由于SUSAN算法是針對(duì)待測(cè)圖片的全部像素點(diǎn)進(jìn)行檢測(cè)的,計(jì)算量比較大,而本文算法只對(duì)邊緣像素點(diǎn)進(jìn)行角點(diǎn)檢測(cè),從而大大減少了檢測(cè)時(shí)間。下面是Canny-SUSAN角點(diǎn)檢測(cè)算法的具體步驟:
1)利用Canny邊緣檢測(cè)器檢測(cè)輸入圖片的邊緣映射;
2)提取步驟1)獲得的邊緣映射;
3)利用SUSAN角點(diǎn)檢測(cè)算法對(duì)圖片邊緣上的每個(gè)像素進(jìn)行角點(diǎn)檢測(cè);
4)計(jì)算邊緣上每個(gè)像素點(diǎn)的角點(diǎn)測(cè)度;
5)邊緣上的每個(gè)點(diǎn)和其8一鄰域內(nèi)的點(diǎn)的角點(diǎn)測(cè)度進(jìn)行比較,精確確定角點(diǎn);
6)將確定的每個(gè)角點(diǎn)和其他角點(diǎn)進(jìn)行歐氏距離的測(cè)量,將歐氏距離小于閾值n的劃為一個(gè)集合,將集合中的點(diǎn)像素的行和列求均值后作為最終角點(diǎn)的位置。
4 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證本文方法在角點(diǎn)檢測(cè)準(zhǔn)確率上的改進(jìn),選取特征點(diǎn)明顯的棋盤圖片進(jìn)行角點(diǎn)檢測(cè)實(shí)驗(yàn)。實(shí)驗(yàn)使用Harris算法、SUSAN算法與Canny-SUSAN算法分別對(duì)棋盤圖片和順時(shí)針旋轉(zhuǎn)45。后的棋盤圖像進(jìn)行角點(diǎn)檢測(cè)。在SUSAN算法和Canny-SUSAN算法閾值的選取上,經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)閾值t選擇40時(shí),獲得的正確點(diǎn)數(shù)偏多,冗余點(diǎn)和誤檢點(diǎn)偏少;閾值g仍然選擇2/3max(usan)。以下所有仿真實(shí)驗(yàn)中,SUSAN算法與本文算法皆按照以上參數(shù)設(shè)定,Harris角點(diǎn)檢測(cè)器的參數(shù)為其默認(rèn)設(shè)置。
根據(jù)圖4和表1的檢測(cè)結(jié)果可知,對(duì)于圖3(a),SUSAN算子和本文方法檢測(cè)到的正確角點(diǎn)比Harris算子多,本文方法檢測(cè)到的正確角點(diǎn)比SUSAN算子檢測(cè)到的正確角點(diǎn)略少,說明本文方法與SUSAN算子檢測(cè)能力相當(dāng)。而使用本文方法進(jìn)行角點(diǎn)檢測(cè)的準(zhǔn)確率比Harris算子高出26.29%,比SUSAN算子高出19.71%。上述數(shù)據(jù)表明,本文方法比Haaris算子和SUSAN算子具有更高的準(zhǔn)確率。
根據(jù)圖5和表2的檢測(cè)結(jié)果可知,對(duì)于圖3(b),Harris算法、SUSAN算法與本文算法檢測(cè)到的正確角點(diǎn)個(gè)數(shù)大致相當(dāng)。但是本文方法檢測(cè)角點(diǎn)的準(zhǔn)確率比Harris算子高出21.71%,比SUSAN算子高出15.56%。這表明本文方法對(duì)于發(fā)生旋轉(zhuǎn)變換后的待測(cè)圖片仍具有良好的檢測(cè)性能。
5 結(jié)論
針對(duì)SUSAN角點(diǎn)檢測(cè)算法檢測(cè)的角點(diǎn)中冗余點(diǎn)和誤檢點(diǎn)較多的問題,本文提出了一種基于Canny邊緣檢測(cè)的SUSAN角點(diǎn)檢測(cè)算法,首先對(duì)圖片進(jìn)行邊緣檢測(cè),再對(duì)檢測(cè)到的邊緣點(diǎn)進(jìn)行角點(diǎn)檢測(cè),最后對(duì)檢測(cè)到的角點(diǎn)進(jìn)行二次篩選,確定最終角點(diǎn)。傳統(tǒng)的角點(diǎn)檢測(cè)算法往往只是基于邊緣輪廓或者基于灰度的,本算法結(jié)合了兩種方法,既利用了邊緣輪廓也利用了灰度信息,只對(duì)邊緣像素點(diǎn)進(jìn)行角點(diǎn)檢測(cè)也減少了算法所需要的時(shí)間,再用歐氏距離過濾掉一部分偽角點(diǎn),提高了角點(diǎn)檢測(cè)的準(zhǔn)確率。從對(duì)原始圖片和旋轉(zhuǎn)圖片的檢測(cè)結(jié)果來看,本文算法的角點(diǎn)檢測(cè)準(zhǔn)確率均優(yōu)于H arris算法和SUSAN算法。但是,由本文方法檢測(cè)到的正確角點(diǎn)數(shù)目不夠充足,下一步將針對(duì)這一點(diǎn)進(jìn)行改進(jìn)。
參考文獻(xiàn):
[1] Li J,Allinson N M.A comprehensive review of current local fea-tures for computer vision[J].Neurocomputing,2008,71(10/11/12):1771-1787.
[2] Harris C,Stephens M.A combined corner and edge detector[C]//Procedings of the Alvey Vision Conference 1988. Manchester.Alvey Vision Club, 1988: 147-151.
[3]章毓晉.圖象工程一上冊(cè)一圖象處理和分析[M].北京:清華大學(xué)出版社,1999.
[4] Canny J.A computational approach to edge detection[J].IEEETransactions on Pattern Analysis and Machine Intelligence,1986,PAMl- 8(6):679-698.
[5] Schmid C,Mohr R,Bauckhage C Evaluation of interesting pointdetectors [J]. International Journal of Computer Vision, 2000,37(2):151-172.
[6]張海燕,李元媛,儲(chǔ)晨昀,基于圖像分塊的多尺度H arris角點(diǎn)檢測(cè)方法[Jl.計(jì)算機(jī)應(yīng)用,201 1,31(2):356-357.
[7]何海清,黃聲享,改進(jìn)的Harris亞像素角點(diǎn)快速定位[J].中國(guó)圖象圖形學(xué)報(bào),2012,17(7):853-857.
[8]鄭永斌,黃新生,豐松江.SIFT和旋轉(zhuǎn)不變LBP相結(jié)合的圖像匹配算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(2):286-292.
[9]章為川,程冬,朱磊.基于各向異性高斯核的多尺度角點(diǎn)檢測(cè)[J].電子測(cè)量與儀器學(xué)報(bào),2012,26(1):37-42.
[10]張海燕,李元媛,儲(chǔ)晨昀,基于圖像分塊的多尺度Harris角點(diǎn)檢測(cè)方法[Jl.計(jì)算機(jī)應(yīng)用,2011,31(2):356-357.
[11]陳白帆,蔡自興.基于尺度空間理論的Harris角點(diǎn)檢測(cè)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,36(5): 45-47.
[12]王冠群,馬苗,張艷寧,等.基于高斯變換的多尺度SUSAN角點(diǎn)檢測(cè)方法[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(12):184-188.
【通聯(lián)編輯:唐一東】
作者簡(jiǎn)介:鄭昊(1995-),男,安徽淮南人,碩士研究生,研究方向:圖像處理;林玉娥,安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院副教授,博士,主要研究方向?yàn)槟J阶R(shí)別和圖像處理。