SIFT解析(三)產生特徵描述子

來源:互聯網
上載者:User

以上兩篇文章中檢測在DOG空間中穩定的特徵點,lowe已經提到這些特徵點是比Harris角點等特徵還要穩定的特徵。下一步驟我們要考慮的就是如何去很好地描述這些DOG特徵點。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面好好說說如何來描述這些特徵點。許多資料中都提到SIFT是一種局部特徵,這是因為在SIFT描述子產生過程中,考慮的是該特徵點鄰域特徵點的分布情況(而沒有利用全域資訊)。本步驟中主要計算過程包括:確定特徵點的方向產生特徵描述符

確定特徵點方向

在特徵點的確定過程中,特徵點的座標以及尺度被確定下來(座標很重要,尺度更重要,到後來,你會發現尺度這個參量在整個描述子產生過程中越來越重要,因為正是運用尺度參量實現的Scale-Invariant,尺度不變!),根據特徵點的尺度選擇高斯金字塔中的映像,然後在這幅映像上確定該特徵點的方向。這裡體現的正是尺度不變的思想。

特徵點方向的確定基於統計資訊,以該特徵點為中心,考察與該特徵距離為**像素的梯度方向和梯度的幅值,梯度的方向和幅值的計算公式分別為:

構造該點鄰域梯度方向長條圖,將一圓周360°劃分成36個槽,從0°開始每槽遞增10°。根據鄰域點的方向、梯度的幅值以及距離特徵點的遠近構建上述梯度方向長條圖,如所示:

根據梯度長條圖,長條圖峰值所對應的的角度就是當前特徵點A的方向,同時如果某角度的梯度幅值和>=峰值的80%,那麼就產生一個新的特徵點B,這個點的座標、尺度等參數同A,但是角度不同。

至此,特徵點的方向確定完畢。

產生映像局部描述符

到了本步驟,映像中每個特徵點的座標、尺度以及方向都確定了,下面開始根據這些資訊獲得描述子。

與上文中提到的確定特徵點方向類似,產生描述子也是根據以特徵點為中心的映像局部資訊,首先根據特徵點的尺度選擇高斯金字塔中的映像,然後計算特徵點鄰域範圍內各點的梯度方向和梯度的幅值,並根據上文得到的特徵點梯度方向更新這些梯度的方向,以此達到描述子的方向不變性。

方向不變性完成後,開始計算特徵描述符了。描述符計算過程同樣基於梯度方向長條圖,只是這次長條圖的槽是以45°劃分的(因此每個長條圖只有8個槽),而不是10°。具體過程如所示:

統計每個4×4塊的方向梯度長條圖,為了去除光照對描述子的影響,對梯度長條圖進行歸一化處理。然後將每個長條圖槽資料串聯即可得到SIFT描述子,lowe提出當梯度方向長條圖是4×4維的時候,SIFT描述子具有最好的區分度,因此這就誕生了老生長談的128維SIFT特徵向量,如所示:

至此,SIFT特徵計算過程結束。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.