1. 程式人生 > >影象配準SIFT

影象配準SIFT

(一)影象特徵匹配--SIFT

1.1 SIFT背景簡介

        SIFT演算法是David Lowe在1999年提出的區域性特徵描述子,並在2004年深入發展和完善。

        SIFT演算法是在尺度空間進行特徵檢測並確定關鍵點的位置和關鍵點所在的尺度。

        該關鍵點方向特徵選取該點鄰域梯度的主方向,以便實現運算元對尺度和方向的無關性。

1.2 SIFT特徵向量生成步驟

        一幅影象SIFT特徵向量的生成步驟主要有如下四步:

        (1)檢測尺度空間極值點,初步確定關鍵點的位置和所在尺度; [初步找出關鍵點群]

        (2)精確確定關鍵點位置和尺度,同時去除低對比度的關鍵點和不確定的邊緣響應點,以便增強匹配穩定性、提高抗噪聲能力;[精確確定關鍵點群並擇優篩選]

        (3)指定每個關鍵點的方向引數,以便運算元具有旋轉不變性;

        (4)生成關鍵點描述子,即生成SIFT特徵向量;

1.2.1尺度空間

        概念解釋:尺度空間:尺度空間是利用高斯核對原始影象進行尺度變換,獲得影象多尺度下的尺度空間表示序列,對這些序列進行尺度空間特徵提取

其中,二維高斯核定義為:

        其中σ被稱為尺度座標, 是高斯正態分佈的方差。

        注:除高斯核外,尺度函式有很多,但並不是所有的尺度函式都可以構建尺度空間。Koenderink和Lindeberg已經證明,在一些合理的約束下,高斯核是唯一可以產生尺度空間的核,而且是唯一的線性核。

        二維影象  在不同的尺度空間 可以通過影象 與卷積核 做卷積求得

 

        這裡尺度座標σ越小表示影象被平滑的越少,σ越大表示影象被平滑的越多。大尺度反映影象概貌特徵,小尺度反映影象細節特徵。

        選擇合適的尺度因子是構建尺度空間的關鍵。

1.2.2 高斯金字塔構建

        1)高斯差分尺度空間(DOG scale-space);

        為了在尺度空間有效檢測到穩定的關鍵點,提出了高斯差分尺度空間,它是由不同尺度的高斯差分核與影象卷積而生成的。

         影象高斯金字塔有O組,每一組有S層,在實際計算時,使用高斯金字塔每組中相鄰上下兩層影象相減,下一層的影象由上一層影象降取樣得到,得到高斯差分影象。

                            
                                                     

                                                               (a)高斯金字塔                                               (b)高斯差分金字塔生成圖示

                                                                                                           圖 高斯金字塔圖示

 (1)空間極值點檢測 [關鍵點初步篩選]

        為了尋找尺度空間極值點,需要每個取樣點與它所有的相鄰點比較,看其是否比它影象域和尺度域的相鄰點大或小。

                                                                                                                   圖 DOG尺度空間區域性極值監測

        圖中中間的檢測點與它相同尺度的8個相鄰點以及上、下相鄰尺度的9*2個點比較,以確保在尺度空間和二維影象空間都監測到極值點。

(2)確定極值點位置 [確定關鍵點]

        通過你和三維二次函式來精確確定關鍵點位置和尺度。

        由於DOG運算元會產生較強的邊緣效應,,所以需要去除低對比度的關鍵點和不問穩定的邊緣響應點以增強匹配穩定性和提高抗噪聲能力。

        去除邊緣響應點原理: 定義一個不好的高斯差分運算元的極值在橫跨邊緣的地方主曲率大,而垂直邊緣的方向主曲率小。主曲率通過一個2*2的Hessian矩陣

        求出,令 為最大特徵值,  為最小特徵值,

        則

 

 

        導數由取樣點相鄰差估計得到。

        D的主曲率和H的特徵值成正比,令α = γβ,則

         此函式單調遞增,可以限制比值γ達到過濾邊緣響應點的目的。

(3)求關鍵點方向

         利用關鍵點鄰域畫素的梯度方向分佈特性為每個關鍵點制定方向引數,使運算元具備旋轉不變性。

        由此可以求出(x,y)處的方向和梯度。 L所用的尺度是每個關鍵點所在的尺度。

注:一個特徵點有三個屬性:位置、尺度和方向

        (4)生成SIFT特徵向量