天天看點

sift學習

Sift尺度不變特征變換比對算法

Scale Invariant Feature Transform

主要的思路就是使用高斯金字塔和高斯核濾波查分來提取局部特征。在尺度空間當中尋找極值點,提取位置、尺度和旋轉不變量。

sift學習
sift學習
Sigema代表高斯分布的方差,尺度空間可以定義為原始圖像I(x,y)與一個可變吃段高斯函數G(x,y,sigema), 。
Sigema,sigema是高斯金字塔的尺度參數,sigema越小,圖像被平滑越小,相應的尺度就越小。當sigema連續變化,G(x,y,z)就生成了圖像的尺度空間。
![這裡寫圖檔描述](https://img-blog.csdn.net/20171210121521331?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjE4MzgwMzM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

先介紹一下尺度空間理論:
用來模拟圖像資料的多尺度特征,高斯卷積核是實作初讀變化的唯一線性核:
           

高斯金字塔就是為了得到不同空間下的穩定關鍵點,将圖像和不同的尺度因子的高斯核進行卷積操作,

假設有o組,每一個組都有s層,通過一定的知識,可以的得到,組内尺度群組件尺度歸結為:

第一步

将原圖分離模糊成告訴金字塔模型,實際上就是使用高斯模糊将特征提取出來,

sift學習

模闆大小為m*n的模闆元素(x,y),對整個圖像進行滑移,在滑移之前,要注意邊界的影響。

Sigema取值的不同,會導緻不同的邊緣處理效果。

使用不同的系數k的sigema,會生成一系列高斯特征:

如上圖所示,想生成一階的圖,同一階的圖的sigema相同,但是k不同,然後使用個點取樣的方法,生成第二階的圖形,繼續使用不同倍數的sigema來對圖形進行周遊,得到第二階高斯圖。
           
sift學習

為了有效的在尺度空間當中檢測到關鍵點,定義圖像的高斯差分尺度空間為圖像對的不同吃多那個空間的差,可以利用dog高斯查分算子生成。

sift學習

每一組高斯圖,都會生成s-1個高斯差。随着高斯空間尺度的逐漸增大,對圖像的模糊逐漸增大。

關鍵點是有dog空間的局部極值點組成的。

極值點的尋找方法就是:

Dog尺度空間中的中間曾的每一個下像素和它同尺度的8個相鄰點以及上下相鄰尺度對應的9*2個點,以確定在尺度空間和二位圖像空間當中都能檢測到局部極值點。

下一步的工作就是通過進一步的檢驗來定位精确的關鍵點。具體來說就是去除噪聲和邊緣相應。

關鍵點方向的配置設定:

通過尺度不變性求關鍵點,可以使其具有縮放不變的性質每一組都有隔點采樣。這一點可以取得。利用關鍵點領域像素的梯度方向分布特性,就可以使得圖像具有旋轉不變性。

sift學習

在這裡使用的是一階微分模闆來進行的。

然後使用1.5sigema的半圓統計進行直方圖的繪制。這個直方圖就是

特征點描述點的生成:

特征描述子的生成的大緻思路是:

在特征點附近生成塊,計算分塊的梯度,生成獨特的資訊标記

第一步:确定描述子所需要的區域,考慮到一些因素,區域為3(d+1),原型區域的半徑為3(d+1)*根号2  = R.
2:考慮到旋轉不變性,将R*R領域的坐标旋轉Θ,
           

● 3:前兩步是确定塊的大小,到了這一步就是将關鍵點确定為R園的中心點,計算幅值和角度。

sift學習
sift學習

繼續閱讀