日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SIFT算法步骤梳理

發布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SIFT算法步骤梳理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:SIFT算法是檢測和描述局部特征的一種方法,具有尺度不變性,對于光線,噪聲等的容忍度相當高。即便少數幾個物體也可以產生大量SIFT特征。

SIFT算法實質上是在不同尺度空間上查找關鍵點,并計算出關鍵點的方向。

算法步驟:

1.構建尺度空間

  • ?利用高斯核來構建
    • 高斯核是唯一可以產生多尺度空間的核,也是唯一線性核,利用高斯核對圖像模糊處理不會引入其他噪聲。
    • 高斯核函數:

  • 輸入圖像通過高斯核函數連續的對尺度進行參數變換,最終得到多尺度空間序列。圖像中某一尺度的空間函數由高斯函數和原輸入圖像I(x,y)卷積得出:

  • 高斯金字塔
    • 模仿圖像的不同尺度
    • 生成步驟:高斯平滑-->對圖像做下采樣(一般先將圖像擴大一倍,在擴大的圖像基礎上構建高斯金字塔,然后您對該尺寸下圖像進行高斯模糊,幾幅模糊的圖像集合構成了一個八度,然后對該八度下倒數第三張圖片進行下采樣,長和寬分別縮短一倍,圖像面積變為原來的四分之一。以此類推)
    • 為什么選倒數第三張進行下采樣?為了保持尺度空間的連續性,根據下圖公式可以計算得出第o組第S層的圖像尺度,可以發現下一組的第o層圖像恰好和上一組倒數第三張圖一致,所以每一組的第0張圖像只需要用上一層的倒數第三張進行下采樣即可。

2.DoG

  • Laplace operator:二階導

  • LoG(Laplace of Gaussian)
    • 把拉普拉斯算子和高斯函數聯合到了一個步驟
    • 等價于先對高斯函數求二階導,再與原圖進行卷積

將高斯拉普拉斯算子展開:

又有:

  • DoG:對不同尺度下的高斯函數的差分

DoG算子為

DoG算子和LoG算子具有類似的波形,且計算復雜度低,所以一般用DoG代替LoG算子。

  • DoG vs LoG

  • 高斯差分圖像

3.DoG定位極值點

  • 特征點是由DoG空間的局部極值點組成的。
  • 每一個像素要和他所有的相鄰點比較(中間的監測點和它同尺度的8個相鄰點和上下相鄰尺度對應的9*2個,共26個點比較,以確保在尺度空間和二維圖像空間都檢測到極值點)
  • 確定潛在特征點
    • 檢測到的局部極值點A(x,y,σ)是離散情況下的一個極值點,如果考慮連續情況,則極值點可能落在了A點的附近(Δx,Δy,Δσ)(如下圖所示),而真正的極值點B可以表示為在點A處的泰勒展開。

    令上面D(x)的一階導數為0,可以得到

    • 對以上過程進行多次迭代(最多5次)得到最終候選點的精確位置.(偏移超過0.5時更新當前像素點,若沒有超過0.5,則當前像素加上偏移就是精確點)

    4.邊緣和低對比度響應(移除某些特征點)

    • 移除低對比度的點:D(X')小于0.03的點
    • 移除邊緣點:利用hessian矩陣

    5.確定關鍵點方向

    • 利用特征點領域像素的梯度來確定其方向參數
      • 對于已經檢測到的特征點,已知其尺度σ,可以確定該尺度下的高斯圖像

    • 梯度方向

    • 梯度幅值

    • 利用圖像的梯度直方圖求取關鍵點局部結構的穩定方向
      • 以關鍵點為原點,一定區域內的圖像像素點對關鍵點方向生成所做的貢獻。
      • 構建梯度直方圖,梯度方向決定位于直方圖的哪個槽(共36個槽,每10度劃分一個),幅值加權更新槽內幅值的和。

    6.構建關鍵點描述子(keypoints descriptor)

    • 校正主方向,確保旋轉不變性
      • 以特征點為中心,將坐標軸旋轉到特征點的主方向
    • 生成描述子,形成128維的特征向量
      • 基于梯度方向直方圖,每45度一個劃分,共劃分8個槽
      • 在每個4*4的小方塊內繪制8個方向的梯度直方圖,計算幅值,即形成一個種子點
      • 對每個關鍵點使用16個種子點來描述,每個種子點有8個方向的信息,即形成了128為特征向量

    • 歸一化處理特征向量的長度,進一步去除光照的影響。

    參考博文:

    SIFT特征詳解 - Brook_icv - 博客園

    SIFT解析(二)特征點位置確定 - DreamFaquir - 博客園

    SIFT解析(三)生成特征描述子_honpey愛編程-CSDN博客

    SIFT定位算法關鍵步驟的說明 - ☆Ronny丶 - 博客園

    總結

    以上是生活随笔為你收集整理的SIFT算法步骤梳理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。