图像局部显著性—点特征(SIFT为例)
????? ? 基于古老的Marr視覺理論,視覺識別和場景重建的基礎即第一階段為局部顯著性探測。探測到的主要特征為直覺上可刺激底層視覺的局部顯著性——特征點、特征線、特征塊。
??????? SalientDetection?已經好就沒有復習過了,DNN在識別領域的超常表現在各個公司得到快速應用,在ML上耗了太多時間,求職時被CV的知識點虐死...
點探測總結(SIft、PCA-SIft、Surf、GLOH、Brief、Brisk、ORB、Freak)
?????? 特征點尋找的準則之一是算法的通用準則—泛化性能,即在一個場景中中適用,在另一個場景中也具有相似的效果。而在CV領域,專門對于圖像處理問題,應對圖像的縮放、平移、旋轉、明暗問題,進而提出了特征描述算法的相應要求:縮放不變性、平移不變性、旋轉不變性和光照不變性。
?????? 廣受好評SIFT特征在綜合評價上幾乎達到算法極限,其中圖像金字塔、計算圖像梯度尋找主方向、梯度歸一化,分別應對縮放不變、旋轉不變、和光照不變,而同時局部特征用于模式識別不需要考慮相對平移的影響。參考 原文鏈接(SIFT):http://www.cnblogs .com/cfantaisie/archive/2011/06/14/2080917.html ,文章有修改!為個人意見。
?????? 參考以前的一篇:Sift算法總結:用于圖像搜索
?????? 推薦搜索系列:http://blog.csdn.net/cserchen/article/category/785155?? 。論文下載見文章末尾的參考資料鏈接
?幾個主要的特征點算法年代發展表:
?????? 1.? 1999年的SIFT(ICCV 1999,并改進發表于IJCV 2004,本文描述),尺度非相關特征提取;
?????? 2.? 2005年的GLOH 特征(2005年的PAMI期刊);GLOH采用圓形劃分取代SIFT的正方形區間劃分。
?????? 3.? 2006年的SURF(2006年的ECCV);SURF算法是對SIFT算法加強版,同時加速的具有魯棒性的特征。第二、標準的SURF算子比SIFT算子快好幾倍,并且在多幅圖片下具有更好的魯棒性。SURF最大的特征在于采用了harr特征以及積分圖像integral image的概念,這大大加快了程序的運行速度。
?????? 4.? 2010年的Brief特征(ECCV2010 ); Brief:Binary Robust Independent Elementary Features.
??? ?? 5.? 2011年的brisk算法(ICCV2011);BRISK算法主要利用FAST9-16進行特征點檢測(為什么是主要?因為用到一次FAST5-8),可參見博客:FAST特征點檢測算法。要解決尺度不變性,就必須在尺度空間進行特征點檢測,于是BRISK算法中構造了圖像金字塔進行多尺度表達。
??????? 補充:2006年提出的fast作為一種角點檢測的方法,不涉及特征子描述。
??????? 6.? 2011年的ORB特征(ICCV2011);ORB是是ORiented Brief 的簡稱,對Brief的特定性質進行了改進。
??? ? ? 7.? 2012年的freak算法(CVPR2012);Fast Retina Keypoint 論文。與brisk算法有相似之處,是在BRISK算法上的改進。
?
SIFT特征
?? ??? Sift是David Lowe于1999年提出的局部特征描述子,并于2004年進行了更深入的發展和完善。Sift特征匹配算法可以處理兩幅圖像之間發生平移、旋轉、仿射變換情況下的匹配問題,具有很強的匹配能力。在Mikolajczyk對包括Sift算子在內的十種局部描述子所做的不變性對比實驗中,Sift及其擴展算法已被證實在同類描述子中具有最強的健壯性。
一、Sift特征點生成的主要步驟?
???? ? ? 1)、尺度空間的生成;
???????? 2)、檢測尺度空間極值點;
??? ? ?? 3)、精確定位極值點;
?? ? ? ? 4)、為每個關鍵點指定方向參數;
?? ? ? ? 5)、關鍵點描述子的生成。
?1.尺度空間概念:在一個合適的范圍內,使用高斯卷積核模擬圖像的多尺度化
???????
?????????
L(x,y,σ), σ= 1.6 a good tradeoff
?????????
?? D(x,y,σ), σ= 1.6 a good tradeoff
?
?????????
?? ? 關于尺度空間的理解說明:圖中的2是必須的,尺度空間是連續的。
??????? 注釋:高斯核通過調整核的參數,具有縮放到多尺度空間保持信息穩定的性質,但本質上需要圖像像素性質遵循高斯分布,而在大多數情況下,這種情況是滿足的。
????? ? 在 Lowe的論文中 ,? 將第0層的初始尺度定為1.6,圖片的初始尺度定為0.5. 在檢測極值點前對原始圖像的高斯平滑以致圖像丟失高頻信息,所以 Lowe 建議在建立尺度空間前首先對原始圖像長寬擴展一倍,以保留原始圖像信息,增加特征點數量。尺度越大圖像越模糊。
???????????
????????????????????????next octave 是由 first octave 降采樣得到(如2)
?,
??尺度空間的所有取值,s為每組層數,一般為3~5
2、檢測空間極值點
??????????
同一組中的相鄰尺度(由于k的取值關系,肯定是上下層)之間進行尋找
?????????
在極值比較的過程中,每一組圖像的首末兩層是無法進行極值比較的,為了滿足尺度變化的連續性,我們在每一組圖像的頂層繼續用高斯模糊生成了?3 幅圖像,高斯金字塔有每組S+3層圖像。DOG金字塔每組有S+2層圖像.
3、精確定位極值點
?????
?????????????????????????????????
? ? If ratio > (r+1)2/(r), throw it out (SIFT uses r=10)
???????????????? 表示DOG金字塔中某一尺度的圖像x方向求導兩次
?????? 通過擬和三維二次函數以精確確定關鍵點的位置和尺度(達到亞像素精度)?
?
?4、主方向的確定
直方圖中的峰值就是主方向,其他的達到最大值80%的方向可作為輔助方向
? ?? Identify peak and assign orientation and sum of magnitude to key point The user may choose a threshold to exclude key points based on their assigned sum of magnitudes.
?????? 利用關鍵點鄰域像素的梯度方向分布特性為每個關鍵點指定方向參數,使算子具備旋轉不變性。以關鍵點為中心的鄰域窗口內采樣,并用直方圖統計鄰域像素的梯度方向。梯度直方圖的范圍是0~360度,其中每10度一個柱,總共36個柱。隨著距中心點越遠的領域其對直方圖的貢獻也響應減小.Lowe論文中還提到要使用高斯函數對直方圖進行平滑,減少突變的影響。
?????????
??????
??????????????關鍵點描述子的生成步驟
?????????
通過對關鍵點周圍圖像區域分塊,計算塊內梯度直方圖,生成具有獨特性的向量,這個向量是該區域圖像信息的一種抽象,具有唯一性。
5、特征描述子生成
?????
??????每一個小格都代表了特征點鄰域所在的尺度空間的一個像素 ,箭頭方向代表了像素梯度方向,箭頭長度代表該像素的幅值。然后在4×4的窗口內計算8個方向的梯度方向直方圖。繪制每個梯度方向的累加可形成一個種子點。
???????
?????? 每個直方圖有8方向的梯度方向,每一個描述符包含一個位于關鍵點附近的四個直方圖數組.這就導致了SIFT的特征向量有128維.(先是一個4×4的來計算出一個直方圖,每個直方圖有8個方向。所以是4×4×8=128維)將這個向量歸一化之后,就進一步去除了光照的影響。
? ? ? ? ???????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 旋轉為主方向 ?
?6.計算過程綜述:
?
?
?
?
?
?
?
二、Sift特征總結(概念補充)
? 什么是局部特征?
?局部特征從總體上說是圖像或在視覺領域中一些有別于其周圍的局部地方,約束是Hash特性;
?局部特征通常是描述一塊區域,使其能具有高可區分度,意味著局部顯著性;
?局部特征的好壞直接會決定著后面使用局部特征進行分類、識別是否會得到一個好的結果。
?局部特征需具備的特性?
?重復性,這是算法的一般特性,默認遵循hash性質。
?可區分性,可分離性,用于模式分類的一般基準。
?準確性,描述準確性,即hash映射的直觀性能,即一定保證近鄰哈希。
?數量以及效率,hash壓縮函數分布的均勻性,此性能影響到后續的學習效果。
?不變性:hash映射的近鄰特性,這標識了近鄰hash函數本質要求,即近鄰的點在映射到另一個空間也應該是近鄰。
?局部特征提取算法-SIFT
?SIFT算法由D.G.Lowe 1999年提出,2004年完善總結。后來Y.Ke將其描述子部分用PCA代替直方圖的方式,對其進行改進。
? ?SIFT算法是一種提取局部特征的算法,在尺度空間尋找極值點,提取位置,尺度,旋轉不變量
?SIFT特征是圖像的局部特征,其對旋轉、尺度縮放、亮度變化保持不變性,對視角變化、仿射變換、噪聲也保持一定程度的穩定性。
?獨特性好,信息量豐富,適用于在海量特征數據庫中進行快速、準確的匹配。
?多量性,即使少數的幾個物體也可以產生大量SIFT特征向量,這涉及到fast角點檢測的要求。
?可擴展性,可以很方便的與其他形式的特征向量進行聯合。
尺度空間理論
?尺度空間理論目的是模擬圖像數據的多尺度特征
?其基本思想是在視覺信息圖像信息處理模型中引入一個被視為尺度的參數, 通過連續變化尺度參數獲得不同尺度下的視覺處理信息, 然后綜合這些信息以深入地挖掘圖像的本質特征。
描述子生成的細節
?以極值點為中心點,并且以此點所處于的高斯尺度sigma值作為半徑因子。對于遠離中心點的梯度值降低對其所處區域的直方圖的貢獻,防止一些突變的影響。
?每個極值點對其進行三線性插值,這樣可以把此極值點的貢獻均衡的分到直方圖中相鄰的柱子上
歸一化處理
?在求出4*4*8的128維特征向量后,此時SIFT特征向量已經去除了尺度變化、旋轉等幾何變形因素的影響。而圖像的對比度變化相當于每個像素點乘上一個因子,光照變化是每個像素點加上一個值,但這些對圖像歸一化的梯度沒有影響。因此將特征向量的長度歸一化,則可以進一步去除光照變化的影響。
?對于一些非線性的光照變化,SIFT并不具備不變性,但由于這類變化影響的主要是梯度的幅值變化,對梯度的方向影響較小,因此作者通過限制梯度幅值的值來減少這類變化造成的影響。
?
PCA-SIFT算法
? PCA-SIFT與標準SIFT有相同的 亞像素位置 ,尺度 和 主方向。但在第4步 計算描述子的 設計,采用的 主成分分析 的技術。
?下面介紹一下其特征描述子計算的部分:
?不用原先的4*4*8的特征描述,而用特征點周圍的41×41的像斑計算它的主元,并用PCA-SIFT將原來的2×39×39(或者XY兩個方向)即3042維的向量降成20或X維,以達到更精確的表示方式。
?它的主要步驟為,對每一個關鍵點:在關鍵點周圍提取一個41×41的像斑于給定的尺度,旋轉到它的主方向?;計算39×39水平和垂直的梯度,形成一個大小為3042的矢量;用預先計算好的投影矩陣n×3042與此矢量相乘;這樣生成一個大小為n的PCA-SIFT描述子。
?????? 注意:主成分分析的劣勢在于其真正地實現局部空間壓縮,所以其泛化性能也一定會產生損失。
三、工程師角度理解SIFT(目的驅動)
SIft的主要價值在于:
??????? 縮放不變性:這一點?以來尺度空間理論來解決,使用 高斯濾波 理論上可以解決尺度上的差異。在特征點檢測過程中,受到尺度的影響不大;在特征點的描述上,仍然要考慮到尺度對特征向量的影響。
????? ? 旋轉不變性:通過對關鍵點指定主方向來實現。在檢測到的特征點鄰域內,尋找局部的梯度方向,作為主方向即世界坐標軸。圖像局部旋轉后以世界坐標軸標定,可以重新對齊,即實現旋轉不變。
????????特征點位置確定:位置確定是Sift特征算法可以改進的地方,并且應對與不同的場景要使用不同的方法,即不是sift特征的特異之處。
????????PCA—sift:在超量圖像檢測的場景下,PCA化并不一定能取得好的效果,也有可能適得其反。
四、點-區塊檢測對比總結:
??????? 參考鏈接:特征提取方法 SIFT,PCA-SIFT,GLOH,SURF 對比總結
??????? 總結論文:A comparison of SIFT, PCA-SIFT and SURF 對三種方法給出了性能上的比較,源圖片來源于Graffiti datase,對原圖像進行尺度、旋轉、模糊、亮度變化、仿射變換等變化后,再與原圖像進行匹配,統計匹配的效果。效果以可重復出現性為評價指標。
| 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 |
??????? 由此可見,SIFT在尺度和旋轉變換的情況下效果最好,SURF在亮度變化下匹配效果最好,在模糊方面優于SIFT,而尺度和旋轉的變化不及SIFT,旋轉不變上比SIFT差很多。速度上看,SURF是SIFT速度的3倍。
?????? ? 采用NN作為匹配策略的特征描述子性能測評結果:
????????????
?
五、總結
??????????????? 暫無...............................
參考資料:
Sift Wiki百科:https://en.wikipedia.org/wiki/Scale-invariant_feature_transform
?? ? Sift 原始論文:Lowe, David G. (1999)."Object recognition from local scale-invariant features" (PDF). Proceedings of the International Conference on Computer Vision.2. pp.?1150–1157.doi:10.1109/ICCV.1999.790410.
????? Sift 改進和發展:Lowe, David G. (2004)."Distinctive Image Features from Scale-Invariant Keypoints". International Journal of Computer Vision.60 (2): 91–110.doi:10.1023/B:VISI.0000029664.99615.94.
?GLOH Wiki百科: https://en.wikipedia.org/wiki/GLOH?
???? GLOH原始論文: Krystian Mikolajczyk and Cordelia Schmid "A performance evaluation of local descriptors", IEEE Transactions on Pattern Analysis and Machine Intelligence, 10, 27, pp 1615--1630, 2005.
?Surf 原始論文: Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool, "Speeded Up Robust Features", ETH Zurich, Katholieke Universiteit Leuven( SURF was first presented byHerbert Bay, et al., at the 2006European Conference on Computer Vision.).
BRISK 原始論文: 《BRISK:Binary Robust Invariant Scalable Keypoints》ICCV2011文章
Freak? 原始論文:《FREAK: Fast Retina Keypoint》CVPR2012
Surf 原始論文:Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool, "SURF: Speeded Up Robust Features", Computer Vision and Image Understanding (CVIU), Vol. 110, No. 3, pp. 346--359, 2008.
?
總結
以上是生活随笔為你收集整理的图像局部显著性—点特征(SIFT为例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dnf五陵怎么玩 五陵怎么去怎么开启
- 下一篇: 网站开发常用jQuery插件总结(13)