局部特征(3)——SURF特征总结
- 局部特征(1)——入門篇
- 局部特征(2)——Harris角點
- 局部特征(3)——SURF特征總結
- 局部特征(4)——SIFT和SURF的比較
- 局部特征(5)——如何利用彩色信息 Color Descriptors
- 局部特征(6)——局部特征描述匯總
?--------------------------------------------------------------
?
第一部分:興趣點的檢測
?
1、建立積分圖。
優點:任何一個垂直矩形區域的面積只需要進行3次?+/-法就能計算。一階的haar小波響應只要5次+/-法就能計算。計算的時間和區域大小無關。
?
2、建立圖像的尺度空間(應該分別有Dxx、Dxy、Dyy 三個尺度金字塔):
用box filters代替二階高斯差分模板。
保持圖像的大小不變,對box filters進行尺度變換:建立高斯金字塔,金字塔分為多個Octaves,每個Octave分為4個Scale levels。第一級的Octave的模塊大小為9、15、21、27(相差6),第二級為15、27、39、51(相差12),第三級為27、51、75、99(相差24)。每一級第一個level的大小為上一級第二個level的大小。繼續建立高斯金字塔,直到filter的大小大于原圖像的大小為止(問題是大于每一Octave的第一個mask大小還是最后一個mask的大小?)。
?
尺度變換的方法,與每個Octave第一個scale level的size(L)/3有關,例如第一個Octave的L為9,L/3=9/3=3,則對于每行/列,連續出現L/3個相同的值,則再插入2個相同的值。若某連續3行同時為1,則再插入兩行0。若只連續1行為1,則1*(2/3)=1(四舍五入)。插入的行/列要求左右/上下對稱。
?
3、對于尺度空間中的每一個box filter,與圖像卷積,計算每一點上的Dxx、Dyy、Dxy,再計算每一點Hessian矩陣的行列式。(卷積可以用積分圖實現快速計算。)
? ? ?
其中w是因為box filters只是高斯二階差分的近似,為了使行列式的值大致相等,乘以這個權值,取0.9。注意,每Octave提高一級,計算行列式的時候,采樣的間隔提高一倍。例如第一個Octave,每個點都計算,到了第二個Octave,隔一個點計算一個……(用增大模板大小,對圖像上的點采樣計算的方法,等同于實現對圖像進行下采樣并改變模板尺度的大小。)
對于每一個Octave,對計算出行列式的值設一個閾值,大于該閾值的列為候選興趣點。對候選極值點進行非極大抑制:對于該level的周圍8個點以及上下scale level相應位置的9*2個點,一共26個點進行比較行列式的大小,若該點是周圍26個點中行列式最大的,則保留。(每一個Octave的頭尾兩個scale level是沒法計算的。)
為什么可以用Hessian矩陣來判斷極小值/極大值,請見最后。?
最后,內插子像素精確定位(具體未看)。
?
第二部分:特征描述子
?
1、?主方向的確定(U-Surf沒有此步驟)
s =?當前mask大小?* 1.2 / 9
以興趣點為中心,確定6s為半徑的圓。對圓內以s為步長的采樣點計算haar小波響應(邊長為4s)。
以興趣點為中心,對小波響應進行高斯加權()。對一個扇形區間(比如π/3)的水平和垂直方向的小波響應分別求和。最長矢量對應的扇形方向就是主方向。(每一個扇形窗可否有重復?)
?
2、以興趣點為中心,主方向為參考x軸方向,20s為邊長,做正方形區域,并將該區域分為4*4個子區域。(SURF-36把它分為3*3個子區域,區分性略差但速度快。)每個子區域取5*5個采樣點,計算這些采樣點上的haar小波響應dx和dy。以興趣點為中心,對響應進行高斯加權(σ=3.3s)。
?
3、對每個子區域的dx、dy、|dx|、|dy|進行求和,歸一化為單位向量。對于4*4個子塊一共可以構成64維空間。(SURF-128在統計dx和|dx|時,把dy分為大于0時候和小于0時候兩種情況,而在統計dy和|dy|時將dx分為大于0和小于0兩種情況,這樣每個子區域是8維向量)。
附:最近的思考(2011.7.10補充):
1、為什么Hessian矩陣可以用來判斷極大值/極小值
我的理解如下:
在x0點上,hessian矩陣是正定的,且各分量的一階偏導數為0,則x0為極小值點。
在x0點上,hessian矩陣是負定的,且各分量的一階偏導數為0,則x0為極大值點。
對于某個局部區域,若hessian矩陣是半正定的,則這個區域是凸的(反之依然成立);若負定,則這個區域是凹的(反之依然成立)。而對于正定和負定來說,Hessian矩陣的行列式總是大于等于0的。反過來就是說:某個點若是極大值/極小值,hessian矩陣的行列式必然要大于等于0,而大于等于0如果是滿足的,這個點不一定是極大值/極小值(還要判斷一階導數)。所以后面還要進行極大值抑制。
與SURF相關的局部特征是SIFT,已經有很多專家對它討論過了,這里我也不再多談,如果大家對它感興趣的話,請看這里,而接下來的這篇博客則對SIFT和SURF做了比較
?
---------------------------
jiang1st2010
原文地址:http://blog.csdn.net/jiang1st2010/article/details/6564835
總結
以上是生活随笔為你收集整理的局部特征(3)——SURF特征总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 局部特征(2)——Harris角点
- 下一篇: 局部特征(4)——SIFT和SURF的比