小白在前面分別介紹了:Moravec特征和Harris特征。今天我們將介紹另外一個特征檢測算子---SUSAN特征。SUSAN算子很好聽的一個名字,其實SUSAN算子除了名字好聽外,她還很實用,而且也好用,SUSAN的全名是: Smallest Univalue Segment Assimilating Nucleus,關(guān)于這個名詞的翻譯國內(nèi)雜亂無章,如最小核值相似區(qū)、最小同值收縮核區(qū)和最小核心值相似區(qū)域等等。 SUSAN算子是一種高效的邊緣和角點檢測算子,并且具有結(jié)構(gòu)保留的降噪功能。 我們首先來看下面這個圖: 該圖是在一個白色的背景上,有一個深度顏色的區(qū)域(dark area),用一個圓形模板在圖像上移動,若模板內(nèi)的像素灰度與模板中心的像素(被稱為核Nucleus)灰度值小于一定的閾值,則認為該點與核Nucleus具有相同的灰度,滿足該條件的像素組成的區(qū)域就稱為USAN(Univalue Segment Assimilating Nucleus) 接下來,我們來分析下上圖中的五個圓形模的USAN值。對于上圖中的e圓形模板,它完全處于白色的背景中,根據(jù)前面對USAN的定義,該模板處的USAN值是最大的;隨著模板c和d的移動,USAN值逐漸減少;當圓形模板移動到b處時,其中心位于邊緣直線上,此時其USAN值逐漸減少為最大值的一半;而圓形模板運行到角點處a時,此時的USAN值最小。因此通過上面的描述:我們可以推導出:邊緣處的點的USAN值小于或等于最大值一半。由此,我們可以得出SUSAN提取邊緣和角點算法的基本原理:在邊緣或角點處的USAN值最小,可以根據(jù)USAN區(qū)域的大小來檢測邊緣、角點等特征的位置和方向信息。 下面我們用公式來描述前面的內(nèi)容:SUSAN算子通過用一個圓形模板在圖像上移動,一般這個圓形模板的半徑是(3.4pixels)的包含37個像素。模板內(nèi)的每一個像素與中心像素進行比較,比較方式如下所示: 其中是中心像素,是掩膜內(nèi)的其他像素,t是一個像素差異閾值(通常對于對比度比較低的區(qū)域,選取較小的t;反之,則t的閾值可以選擇大些)。 接著,對上式進行統(tǒng)計,統(tǒng)計方式如下式: 得到的n值就是USAN的大小。得到USAN值后,通過閾值化就可以得到初步的邊緣響應,公式表示如下: 其中,g為: 就是g的取值為USAN最大值的3/4。USAN值越小,邊緣的響應就越強。 得了初始的邊緣響應進行非極大值抑制,就可以得到圖像的邊緣信息了。上張SUSAN邊緣檢測的效果圖: 以上完成了SUSAN檢測邊緣的功能, 利用SUSAN算子檢測角點的步驟:
通過上面的方式得到的角點,存在很大偽角點。為了去除偽角點,SUSAN算子可以由以下方法實現(xiàn):
總結(jié):SUSAN算子是一個原理簡單、易于了解的算子。由于其指數(shù)基于對周邊象素的 灰度比較,完全不涉及梯度的運算,因此其抗噪聲能力很強,運算量也比較?。煌瑫r,SUSAN算子還是一個各向同性的算子;最后,通過控制參數(shù)t和g,可以根據(jù)具體情況很容易地對不同對比度、不同形狀的圖像通過設(shè)置恰當?shù)膖和g進行控制。比如圖像的對比度較大,則可選取較大的t值,而圖像的對比度較小,則可選取較小的t值??傊?,SUSAN算子是一個非常難得的算子,不僅具有很好的邊緣檢測性能;而且對角點檢測也具有很好的效果。 更多信息請參考: 1、SUSAN Low Level Image Processing:http://users.fmrib./~steve/susan/ 2、OpenCV的susan角點檢測:http://blog.csdn.net/augusdi/article/details/9012555
|
|