局部特征(4)——SIFT和SURF的比较
- 局部特征(1)——入門(mén)篇
- 局部特征(2)——Harris角點(diǎn)
- 局部特征(3)——SURF特征總結(jié)
- 局部特征(4)——SIFT和SURF的比較
- 局部特征(5)——如何利用彩色信息 Color Descriptors
- 局部特征(6)——局部特征描述匯總
?--------------------------------------------------------------
- 共同點(diǎn):
SIFT/SURF為了實(shí)現(xiàn)不同圖像中相同場(chǎng)景的匹配,主要包括三個(gè)步驟:
1、尺度空間的建立;
2、特征點(diǎn)的提取;
3、利用特征點(diǎn)周?chē)徲虻男畔⑸商卣髅枋鲎?/p>
4、特征點(diǎn)匹配。
? ? ? ? 從博客上看到一片文章,http://blog.csdn.net/cy513/archive/2009/08/05/4414352.aspx,這一段的大部分內(nèi)容源于這篇文章,推薦大家去看看。
? ? ? ? 如果兩幅圖像中的物體一般只是旋轉(zhuǎn)和縮放的關(guān)系,加上圖像的亮度及對(duì)比度的不同,要在這些條件下要實(shí)現(xiàn)物體之間的匹配,SIFT算法的先驅(qū)及其發(fā)明者想到只要找到多于三對(duì)物體間的匹配點(diǎn)就可以通過(guò)射影幾何的理論建立它們的一一對(duì)應(yīng)。
? ? ? ? 如何找到這樣的匹配點(diǎn)呢?SIFT/SURF作者的想法是首先找到圖像中的一些“穩(wěn)定點(diǎn)”,這些點(diǎn)是一些特殊的點(diǎn),不會(huì)因?yàn)橐暯堑母淖儭⒐庹盏淖兓⒃胍舻母蓴_而消失,比如角點(diǎn)、邊緣點(diǎn)、暗區(qū)域的亮點(diǎn)以及亮區(qū)域的暗點(diǎn)。這樣如果兩幅圖像中有相同的景物,那么這些穩(wěn)定點(diǎn)就會(huì)在兩幅圖像的相同景物上同時(shí)出現(xiàn),這樣就能實(shí)現(xiàn)匹配。因此,SIFT/SURF算法的基礎(chǔ)是穩(wěn)定點(diǎn)。
? ? ? ? SIFT/SURF提取的穩(wěn)定點(diǎn),首先都要求是局部極值。但是,當(dāng)兩個(gè)物體的大小比例不一樣時(shí),大圖像的局部極值點(diǎn)在小圖像的對(duì)應(yīng)位置上有可能不是極值點(diǎn)。于是SIFT/SURF都采用圖像金字塔的方法,每一個(gè)截面與原圖像相似,這樣兩個(gè)金字塔中就有可能包含大小最近似的兩個(gè)截面了。
? ? ? ? 這樣找到的特征點(diǎn)會(huì)比較多,經(jīng)過(guò)一些處理后濾掉一些相對(duì)不穩(wěn)定的點(diǎn)。
? ? ? ? 接下來(lái)如何去匹配相同物體上對(duì)應(yīng)的點(diǎn)呢?SIFT/SURF的作者都想到以特征點(diǎn)為中心,在周?chē)徲騼?nèi)統(tǒng)計(jì)特征,將特征附加到穩(wěn)定點(diǎn)上,生成特征描述子。在遇到旋轉(zhuǎn)的情況下,作者們都決定找出一個(gè)主方向,然后以這個(gè)方向?yàn)閰⒖甲鴺?biāo)進(jìn)行后面的特征統(tǒng)計(jì),就解決了旋轉(zhuǎn)的問(wèn)題。
?
- 共同的大問(wèn)題有以下幾個(gè):
1、為什么選用高斯金字塔來(lái)作特征提取?
? ? ? 為什么是DOG的金字塔?因?yàn)樗咏麹OG,而LOG的極值點(diǎn)提供了最穩(wěn)定的特征,而且DOG方便計(jì)算(只要做減法。)
? ? ? 為什么LOG的極值點(diǎn)提供的特征最穩(wěn)定,有參考文獻(xiàn),未看。
???? (7.12補(bǔ)充:)直觀理解:特征明顯的點(diǎn)經(jīng)過(guò)不同尺度的高斯濾波器進(jìn)行濾波后,差別較大,所以用到的是DOG。
? ? ? 但是直觀上怎么理解?如果相鄰Octave的sigma不是兩倍關(guān)系還好理解:如果兩幅圖像只是縮放的關(guān)系,那么假設(shè)第一個(gè)Octave找到了小一倍圖像的極值點(diǎn),那么大一倍圖像的極值點(diǎn)會(huì)在下一個(gè)Octave找到相似的。但是現(xiàn)在,如果把大一倍圖像進(jìn)行一次下采樣(這樣和小的圖像就完全一樣了),進(jìn)行Gauss濾波時(shí),兩個(gè)圖像濾波系數(shù)(sigma)是不一樣的,不就找不到一樣的極值點(diǎn)了么?不理解。
2、Hessian矩陣為什么能用來(lái)篩選極值點(diǎn)?
? ? ? SIFT先利用非極大抑制,再用到Hessian矩陣進(jìn)行濾除。SURF先用Hessian矩陣,再進(jìn)行非極大抑制。SURF的順序可以加快篩選速度么?(Hessian矩陣濾除的點(diǎn)更多?)
? ? ? 至于SURF先用Hessian矩陣,再進(jìn)行非極大抑制的原因,是不管先極大值抑制還是判斷Hessian矩陣的行列式,金字塔上的點(diǎn)的行列式都是要計(jì)算出來(lái)的。先判斷是否大于0只要進(jìn)行1次判斷,而判斷是否是極大值點(diǎn)或者極小值點(diǎn)要與周?chē)?6個(gè)點(diǎn)比較,只比較1次肯定快。
? ? ? 而在SIFT中,構(gòu)建的高斯金字塔只有一座(不想SURF是有3座),要進(jìn)行非極大抑制可以直接用金字塔的結(jié)果進(jìn)行比較。而如果計(jì)算Hessian矩陣的行列式,還要再計(jì)算Dxx、Dxy、Dyy。因此先進(jìn)行非極大抑制。這兩個(gè)步驟的先后與SIFT/SURF的實(shí)際計(jì)算情況有關(guān)的,都是當(dāng)前算法下的最佳順序,而不是說(shuō)哪種先計(jì)算一定更好。3、為什么采用梯度特征作為局部不變特征?
? ? ? 這與人的視覺(jué)神經(jīng)相關(guān)。采用梯度作為描述子的原因是,人的視覺(jué)皮層上的神經(jīng)元對(duì)特定方向和空間頻率的梯度相應(yīng)很敏感,經(jīng)過(guò)SIFT作者的一些實(shí)驗(yàn)驗(yàn)證,用梯度的方法進(jìn)行匹配效果很好。
4、為什么可以采用某些特征點(diǎn)的局部不變特征進(jìn)行整幅圖像的匹配?
? ? ? 我在一份博客上找到這樣一句話:(http://apps.hi.baidu.com/share/detail/32318290,大家可以看看這篇文章。)
從直觀的人類視覺(jué)印象來(lái)看,人類視覺(jué)對(duì)物體的描述也是局部化的,基于局部不變特征的圖像識(shí)別方法十分接近于人類視覺(jué)機(jī)理,通過(guò)局部化的特征組合,形成對(duì)目標(biāo)物體的整體印象,這就為局部不變特征提取方法提供了生物學(xué)上的解釋,因此局部不變特征也得到了廣泛應(yīng)用。
? ? ? 還有:
? ? ? 圖像中的每個(gè)局部區(qū)域的重要性和影響范圍并非同等重要,即特征不是同等顯著的,其主要理論來(lái)源是Marr的計(jì)算機(jī)視覺(jué)理論和Treisman的特征整合理論,一般也稱為“原子論”。該理論認(rèn)為視覺(jué)的過(guò)程開(kāi)始于對(duì)物體的特征性質(zhì)和簡(jiǎn)單組成部分的分析,是從局部性質(zhì)到大范圍性質(zhì)。
? ? ? SIFT/SURF都是對(duì)特征點(diǎn)的局部區(qū)域的描述,這些特征點(diǎn)應(yīng)該是影響重要的點(diǎn),對(duì)這些點(diǎn)的分析更加重要。所以在局部不變特征的提取和描述時(shí)也遵循與人眼視覺(jué)注意選擇原理相類似的機(jī)制,所以SIFT/SURF用于匹配有效果。
?
?
- 不同點(diǎn)的比較:
從博客上看到一個(gè)總結(jié),我修改了一些內(nèi)容。大家可以參看以下鏈接:
http://blog.csdn.net/ijuliet/archive/2009/10/07/4640624.aspx
| ? | SIFT | SURF |
| 尺度空間 | DOG與不同尺度的圖片卷積 | 不同尺度的box filters與原圖片卷積 |
| 特征點(diǎn)檢測(cè) | 先進(jìn)行非極大抑制,再去除低對(duì)比度的點(diǎn)。再通過(guò)Hessian矩陣去除邊緣的點(diǎn) | 先利用Hessian矩陣確定候選點(diǎn),然后進(jìn)行非極大抑制 |
| 方向 | 在正方形區(qū)域內(nèi)統(tǒng)計(jì)梯度的幅值的直方圖,找max對(duì)應(yīng)的方向。可以有多個(gè)方向。 | 在圓形區(qū)域內(nèi),計(jì)算各個(gè)扇形范圍內(nèi)x、y方向的haar小波響應(yīng),找模最大的扇形方向 |
| 特征描述子 | 16*16的采樣點(diǎn)劃分為4*4的區(qū)域,計(jì)算每個(gè)區(qū)域的采樣點(diǎn)的梯度方向和幅值,統(tǒng)計(jì)成8bin直方圖,一共4*4*8=128維 (2013.5.9 note: 不一定要是16?× 16,區(qū)域也可以不用是 4?× 4) | 20*20s的區(qū)域劃分為4*4的子區(qū)域,每個(gè)子區(qū)域找5*5個(gè)采樣點(diǎn),計(jì)算采樣點(diǎn)的haar小波響應(yīng),記錄∑dx,∑dy,∑|dx|,∑|dy|,一共4*4*4=64維 |
? ? ? ? SURF—金字塔僅僅是用來(lái)做特征點(diǎn)的檢測(cè)。在計(jì)算描述子的時(shí)候,haar小波響應(yīng)是計(jì)算在原圖像(利用積分圖)。而SIFT是計(jì)算在高斯金字塔上(注意不是高斯差分金字塔。)
- 性能的比較:
? ? ? ? 論文:A comparison of SIFT, PCA-SIFT and SURF?對(duì)三種方法給出了性能上的比較,源圖片來(lái)源于Graffiti dataset,對(duì)原圖像進(jìn)行尺度、旋轉(zhuǎn)、模糊、亮度變化、仿射變換等變化后,再與原圖像進(jìn)行匹配,統(tǒng)計(jì)匹配的效果。效果以可重復(fù)出現(xiàn)性為評(píng)價(jià)指標(biāo)。
? ? ? ? 比較的結(jié)果如下:
| method | Time | Scale | Rotation | Blur | Illumination | Affine |
| Sift | common | best | best | common | common | good |
| Pca-sift | good | good | good | best | good | best |
| Surf? | best | common | common | good | best | good |
?
?
?
?
?
?
????
? ? ? ? 由此可見(jiàn),SIFT在尺度和旋轉(zhuǎn)變換的情況下效果最好,SURF在亮度變化下匹配效果最好,在模糊方面優(yōu)于SIFT,而尺度和旋轉(zhuǎn)的變化不及SIFT,旋轉(zhuǎn)不變上比SIFT差很多。速度上看,SURF是SIFT速度的3倍。
?
-----------------------------------
jiang1st2010
原文地址:http://blog.csdn.net/jiang1st2010/article/details/6567452
總結(jié)
以上是生活随笔為你收集整理的局部特征(4)——SIFT和SURF的比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 局部特征(3)——SURF特征总结
- 下一篇: 局部特征(5)——如何利用彩色信息 Co