高斯核函數是一種應用廣泛的核函數:
其中h為bandwidth 帶寬,不同帶寬的核函數形式也不一樣

高斯核示例
由上圖可以看到,橫坐標指的是兩變量之間的距離。距離越近(接近於0)則函數值越大,否則越小。h越大,相同距離的情況下 函數值會越小。因此我們可以選取適當的h值,得到滿足上述要求的那種權重(兩變量距離越近,得到權重越大)
New(x) = 1/(√(2*π)*h)*e^(-x^2/2*h^2) : h為帶寬
高斯模糊可用來處理邊緣
高斯函數的可分離性:mxn=>[mx1]x[1xn]
使用二維矩陣變換得到的效果可通過在水平方向進行一維高斯矩陣變換加豎直方向的一維高斯矩陣變換得到。
原計算量O(mxnxMxN)
現計算量O(nxMxN)+O(mxMxN)
m,n為高斯函數的維數,兩次一維的高斯卷積會消除二維高斯矩陣所產生的邊緣,超出圖像邊緣的虛框不做卷積。
DoG(Difference of Gaussian)
LoG(Laplace of Gaussian)
高斯養分函數:G(x,y,kσ)-G(x,y,σ)~~(k-1)σ^2Δ^G (高斯拉普拉斯函數)
參考代碼:
def calc_gaussian(x,h=1): molecule = x*x demominator = 2*h*h left = 1/(math.sqrt(2*math.pi)*h) return left * math.exp(-molecule/demominator )
意義: Meanshift 中引入核函數
隨着樣本與被偏移點的距離不同,其偏移量對均值偏移向量的貢獻也不同。