1. 程式人生 > >計算機視覺 ——SIFT運算元

計算機視覺 ——SIFT運算元

SIFT

四個主要步驟

  • 尺度空間的極值檢測 搜尋所有尺度空間上的影象,通過高斯微分函式來識別潛在的對尺度和選擇不變的興趣點。
  • 特徵點定位 在每個候選的位置上,通過一個擬合精細模型來確定位置尺度,關鍵點的選取依據他們的穩定程度。
  • 特徵方向賦值 基於影象區域性的梯度方向,分配給每個關鍵點位置一個或多個方向,後續的所有操作都是對於關鍵點的方向、尺度和位置進行變換,從而提供這些特徵的不變性。
  • 特徵點描述 在每個特徵點周圍的鄰域內,在選定的尺度上測量影象的區域性梯度,這些梯度被變換成一種表示,這種表示允許比較大的區域性形狀的變形和光照變換

1 尺度尺度極值檢測

1.1 LOG

高斯拉布拉斯運算元檢測特徵點最好,但運算量過大,故選用DOG

1.2 DOG

這裡寫圖片描述 這裡寫圖片描述

1.3 DoG空間極值檢測

這裡寫圖片描述 每一層的頂層和底層無法比較,需要高斯模糊生成三幅影象

這裡寫圖片描述

2 刪除不好的極值點

原因:極值點是在DOG離散空間得到的,離散空間極值點不一定全部滿足連續空間的極值點,因此要把不滿足的刪除掉。可以在尺度空間通過DOG函式進行曲線擬合尋求極值點,目的是去點兒曲率非常不對稱的點: 1.低對比度的特徵點

  • 對比度的泰勒展式
  • 求導
  • 帶入,大於閾值留

2.不穩定的邊緣點響應 在邊緣方向的主曲率值比較大,而沿著方向上的曲率值比較小,與Hessian矩陣值成正比。

H=[DxxDyxDxyDyy]
Tr(H)=Dxx+Dyy=α+βDet(H)=Dxx+DyyDxy2=αβ
γ=αβ Tr(H)2Det(H)=(α+β)2αβ=(γβ+β)2γβ2=(γ+1)2γ 因此為了檢測主曲率是否在某個閾值Tγ下,只需檢測 Tr(H)2Det(H)>(Tγ+1)2Tγ

3 求取特徵點的主方向

已經找到不同尺度下均存在特徵點,為了實現影象旋轉不變性,需要給特徵的方向進行賦值。 主要利用關鍵點鄰域畫素的梯度方向分佈特性,為關鍵點指定的方向特性

m(x,y)=[L(x+1,y)L(x1,y)]2+[L(x,y+1)L(x,y1)]2 θ(x,y)=arctanL(x,y+1)L(x,y1)L(x+1,y)L(x1,y)

這裡寫圖片描述 在梯度直方圖中,當存在一個相當於主峰值80%能量的柱值時,則可以將這個方向認為是該特徵點輔助方向。一個特徵點可能檢測到多個方向(也可以理解為,一個特徵點可能產生多個座標、尺度相同,但是方向不同的特徵點)。

4 生成特徵描述

這裡寫圖片描述 每個特徵點由4個種子點組成,每個種子點有8個方向的向量資訊。 推廣128維度 這裡寫圖片描述

128維

5 參考