角點檢測的幾種基本方法 .

http://blog.csdn.net/mmjwung/article/details/6748895 

角點檢測(Corner Detection)是計算機視覺系統中用來獲得圖像特徵的一種方法,廣泛應用於運動檢測、圖像匹配、視頻跟蹤、三維建模和目標識別等領域中。也稱為特徵點檢測。

角點通常被定義為兩條邊的交點,更嚴格的說,角點的局部鄰域應該具有兩個不同區域的不同方向的邊界。而實際應用中,大多數所謂的角點檢測方法檢測的是擁有特定特徵的圖像點,而不僅僅是「角點」。這些特徵點在圖像中有具體的坐標,並具有某些數學特徵,如局部最大或最小灰度、某些梯度特徵等。

現有的角點檢測算法並不是都十分的魯棒。很多方法都要求有大量的訓練集和冗餘數據來防止或減少錯誤特徵的出現。角點檢測方法的一個很重要的評價標準是其對多幅圖像中相同或相似特徵的檢測能力,並且能夠應對光照變化、圖像旋轉等圖像變化。

 

Moravec角點檢測算法

Moravec角點檢測算法是最早的角點檢測算法之一。該算法將角點定義為具有低「自相關性」的點。算法會檢測圖像的每一個像素,將像素周邊的一個鄰域作為一個patch,並檢測這個patch和周圍其他patch的相關性。這種相關性通過兩個patch間的平方差之和(SSD)來衡量,SSD值越小則相似性越高。

如果像素位於平滑圖像區域內,周圍的patch都會非常相似。如果像素在邊緣上,則周圍的patch在與邊緣正交的方向上會有很大差異,在與邊緣平行的方向上則較為相似。而如果像素是各個方向上都有變化的特徵點,則周圍所有的patch都不會很相似。

Moravec會計算每個像素patch和周圍patch的SSD最小值作為強度值,取局部強度最大的點作為特徵點。

 

Harris角點檢測算法

Moravec角點檢測算法有幾個很明顯的缺陷:

1,強度值的計算並不是各向同性的,只有離散的8個45度角方向被考慮。因為patch的評議比較最多只有8個方向;

2,由於窗口是方形並且二元的,因此相應函數會有噪聲;

3,對邊緣的相應太簡單,因為強度值盡取SSD的最小值;

 


 

FAST角點檢測算法

Smith 和 Brady在1997年提出了一種完全不同的角點提取方法,即「SUSAN (Smallest UnivalueSegment AssimilatingNucleus)」提取算子。SUSAN 提取算子的基本原理是,與每一圖像點相關的局部區域具有相同的亮度。如果某一窗口區域內的每一像元亮度值與該窗口中心的像元亮度值相同或相似,這一窗口區域將被稱之為「USAN」。計算圖像每一像元的「USAN」,為我們提供了是否有邊緣的方法。位於邊緣上的像元的「USAN」較小,位於角點上的像元的「USAN」更小。因此,我們僅需尋找最小的「USAN」,就可確定角點。該方法由於不需要計算圖像灰度差,因此,具有很強的抗噪聲的能力。

Edward Rosten and TomDrummond 在2006年提出了一種簡單快速的角點探測算法,該算法檢測的角點定義為在像素點的周圍鄰域內有足夠多的像素點與該點處於不同的區域。應用到灰度圖像中,即有足夠多的像素點的灰度值大於該點的灰度值或者小於該點的灰度值。

考慮下圖中p點附近半徑為3的圓環上的16個點,一個思路是若其中有連續的12個點的灰度值與p點的灰度值差別超過某一閾值,則可以認為p點為角點。


這一思路可以使用機器學習的方法進行加速。對同一類圖像,例如同一場景的圖像,可以在16個方向上進行訓練,得到一棵決策樹,從而在判定某一像素點是否為角點時,不再需要對所有方向進行檢測,而只需要按照決策樹指定的方向進行2-3次判定即可確定該點是否為角點。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值