SIFT算法中概念简单解释
尺度空間
真實世界的物體只有在一定尺度上才有意義,例如我們能夠看到放在桌子上的水杯,但對于整個銀河系,這個水杯是不存在的。物體的這種多尺度的本質在自然界中是普遍存在的。尺度空間就是試圖在數字圖像領域復制這個概念。又比如,對于某幅圖像,我們是想看到葉子還是想看到整棵樹,如果是樹,那么我們就應該有意識的去除圖像的細節部分(如葉子、細枝等)。在去除細節部分的過程中,我們一定要確保不能引進新的錯誤的細節。因此在創建尺度空間的過程中,我們應該對原始圖像逐漸的做模糊平滑處理。進行該操作的唯一方法是高斯模糊處理,因為已經被證實,高斯函數是唯一可能的尺度空間核。
(我簡單的把尺度空間理解為,一副圖像通過縮小后,會產生很多尺度空間,給定的一副圖像我們只能進行縮小;同一個組的圖像的分辨率相同,但是組內的圖像依次看起來模糊,細節的部分被省略,盡大可能保留了圖像的主要信息,以便于后面的特征點檢測;各個組之間圖像的分辨率依次減小;我們得到各類尺度空間的目的是為了檢測圖像中的特征點,當圖像模糊、進一步縮小后,檢測到的特征點可能是原圖的一個區域,因此每個特征點會有半徑的屬性)
?
極值檢測
為了在連續的尺度下檢測圖像的特征點,需要建立 DoG 金字塔,而 DoG 金字塔的建立又離不開高斯金字塔的建立,如下圖所示,左側為高斯金字塔,右側為 DoG 金字塔。
(下圖只顯示了兩組尺度空間圖像,兩組圖像的分辨率是一樣的,但是每組圖像里,上層圖像比下層圖像模糊,上面的那組圖像的分辨率要小于下面的那組圖像,上面的圖像進行了縮小;右側每層的尺度空間圖像數目都比左側少一個,因為左側的每相鄰的兩層圖像相減得到右側的一層圖像,)
?
極值點的搜索是在 DoG 金字塔內進行的,這些極值點就是候選的特征點。在搜索之前,我們需要在 DoG 金字塔內剔除那些像素值過小的點,因為這些像素具有較低的對比度,它們肯定不是穩定的特征點。極值點的搜索不僅需要在它所在尺度空間圖像的鄰域內進行,還需要在它的相鄰尺度空間圖像內進行,如圖 2 所示。
?
?
特征點的定位
極值點的求取是在 DoG 尺度圖像內進行的, DoG 圖像的一個特點就是對圖像邊緣有很強的響應。一旦特征點落在圖像的邊緣上,這些點就是不穩定的點。這是因為一方面圖像邊緣上的點是很難定位的,具有定位的歧義性;另一方面這樣的點很容易受到噪聲的干擾而變得不穩定。因此我們一定要把這些點找到并剔除掉。它的方法與 Harris 角點檢測算法相似,即一個平坦的 DoG 響應峰值往往在橫跨邊緣的地方有較大的主曲率,而在垂直邊緣的方向上有較小的主曲率。
(這一個步驟主要是去掉檢測到的極值點中的圖像邊緣點)
?
方向角度的確定
?????? (確定特征點方向角度時,我們首先要確定該特征點的半徑,半徑和該圖像的尺度有關,確定半徑后,統計特征點周圍各個方向半徑內的像素梯度幅值和,10度為一個方向,方向統計和最大的表示該特征點的方向。)
?
特征點描述符生成
目前為止,我們已經為關鍵點賦予了坐標位置、尺度信息以及方向。現在我們需要一組向量將這個關鍵點表達出來,并且這組向量不單包括關鍵點,還應包括關鍵點周圍對其有貢獻的像素點。我們還期望這組向量對仿射變換、光照變換等具有一定的魯棒性,這些不變特性將會作為目標匹配的依據。
描述子的基本思路:通過對關鍵點周圍圖像區域分塊,計算塊內梯度直方圖,生成具有獨特性的向量,這個向量是該區域圖像信息的一種抽象,具有唯一性。
(特征點描述符表示這個特征點獨特性的地方,區別與其他特征點的地方,找出區別主要根據特征點周圍的像素值,計算特征點周圍的像素值的梯度直方圖,根據周圍像素直方圖來唯一描述特征點,通常一個特征點需要計算周圍4*4個子區域,每個子區域涉及8個方向,所以每個特征點有4*4*8=128維)
?
參考自:
https://blog.csdn.net/dcrmg/article/details/52561656
http://blog.csdn.net/zhaocj/article/details/42124473
http://blog.csdn.net/liuheng0111/article/details/51234163
總結
以上是生活随笔為你收集整理的SIFT算法中概念简单解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 套接字介绍
- 下一篇: pandas基础知识