1. 程式人生 > >SIFT(2)-----高斯模糊

SIFT(2)-----高斯模糊

       SIFT演算法是在不同的尺度空間上查詢關鍵點,而尺度空間的獲取需要使用高斯模糊來實現 。

一維正態分佈公式:

       (x-μ)在高斯影象模糊中對應模糊半徑,指的是模板元素到模板中心的距離。

           eg: 二維模板大小為m*n,則模板上元素(x,y)對應的高斯公式為:  

  

正態分佈主要分佈在3σ至-3σ,距離之外的畫素可忽略不計,所以,影象處理只需要計算(6σ+1)*(6σ+1)的矩陣作為高斯矩陣模板,且σ值越大,影象越模糊。

影象二維高斯模糊

5*5的高斯模板(σ=0.6):

6.58573e-006 0.000424781 0.00170354 0.000424781 6.58573e-006
0.000424781 0.0273984 0.109878 0.0273984 0.000424781
0.00170354 0.109878 0.440655 0.109878 0.00170354
0.000424781 0.0273984 0.109878 0.0273984 0.000424781
6.58573e-006 0.000424781 0.00170354 0.000424781 6.58573e-006

分離高斯模糊

      如圖2.3所示,二維高斯模糊會損失一部分邊緣畫素,σ值越大,邊緣畫素損失越多,且二維高斯模糊模板越大,運算量也越大。對二維高斯模糊進行改進,提出了分離高斯模糊。分離高斯模糊就是水平方向進行一維高斯矩陣變換加上豎直方向的一維高斯矩陣變換。

                                           

      使用O(n)表示時間複雜度,它是衡量一個演算法消耗時間的量度。eg:計算f(x)=x^3+2x^2+5x-6中,隨著x的不斷趨向極端(即正無窮與負無窮)時,x^3越來越起主導作用,所以我們稱這個演算法的時間複雜度為O(3) 。

       二維高斯模糊的時間複雜度為O(M*N*m*n) ,分離高斯模糊的時間複雜度為O(M*N*m)+O(M*N*n) ;m,n為高斯矩陣的維數,M,N為二維影象的維數。 

       分離高斯模糊的優點:1、演算法的時間複雜度變低,即運算量變小;2、邊緣損失的畫素變少。