【技術翻譯】SIFT算子原理及其實現 (一)介紹


介紹

匹配不同圖片的特征是計算機視覺常見的問題. 當所有要匹配的圖片很相似的時候(大小,方位),簡單的角點檢測算子就可以匹配,但是,當你的圖片大小,方位不同的時候,你就要用到尺度不變特征變換(scale invariant feature transform).

為什么是SIFT?

SIFT算子不僅僅具有尺度不變特性,你可以改變以下的內容,還可以得到很好的結果:

  • scale尺度
  • rotation旋轉
  • Illumination亮度
  • Viewpoint視角

下面是一個例子:

我們要查找這些內容:

我們在下面這張圖片中查找以上目標

這是結果:

可以看出上面的圖片匹配非常魯棒。大長方形圈出了匹配對象; 小正方形是這些區域內的特征. 注意看大長方形的形狀,它和你要匹配的目標在場景圖片中的方向和視角是一致的. 

SIFT是一個非常復雜的算法. 它涉及到很多處理過程,也很容易讓人糊塗. 因此我將整個算法分為以下幾個部分, 下面是SIFT算法的主要部分:

  • 構建尺度空間
  • LOG近似
  • 角點匹配
  • 去除低質量角點
  • 給角點加上方位
  • 生成SIFT特征

我可以用SIFT算子做什么?

當你實現了整個算法之后,你就可以得到你圖片的SIFT特征. 一旦你有了這些,你可以做任何你想做的:
圖片查找,目標檢測/識別, 或者你想到的任何東西,這些我們后面會談到.

但是問題是這個算法是有專利的!

因此,對於學術目的而言,SIFT還是很好的. 如果你在找一些能應用到商業的算法,還是換個方法吧!

這個系列接下來的內容

  • 1. 介紹
  • 2. 尺度空間
  • 3. LOG 近似
  • 4. 角點匹配
  • 5. 去除低分辨率角點
  • 6. 角點的方向
  • 7. 生成特征

原文地址:http://aishack.in/tutorials/sift-scale-invariant-feature-transform-introduction/  作者:Utkarsh Sinha 

實現地址:https://github.com/kassol/SIFT/tree/master/src

參考資料:http://www.inf.fu-berlin.de/lehre/SS09/CV/uebungen/uebung09/SIFT.pdf

     http://web.eecs.umich.edu/~silvio/teaching/EECS598/lectures/lecture10_1.pdf

        http://www.cs.ubc.ca/~lowe/papers/iccv99.pdf

     https://stackoverflow.com/questions/19815732/what-is-gradient-orientation-and-gradient-magnitude


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM