zoukankan      html  css  js  c++  java
  • 数学基础之高斯核函数

    高斯核函数是一种应用广泛的核函数:

    K{frac{X_1-X_2}{h}}=frac{1}{h*sqrt{2pi}}*exp^{-frac{(X_1-X_2)^2}{2h^2}}
    其中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 中引入核函数

          随着样本与被偏移点的距离不同,其偏移量对均值偏移向量的贡献也不同。

  • 相关阅读:
    最大流——poj3308 (模板)
    混合边的欧拉路径——poj1637 最大流
    JBPM FAQ
    spring 读取资源文件方法
    JBPM使用assignHandler进行用户分派思路
    直接修改jpbm xml流程定义字段的方法
    转 java 读取文件的字符集
    JAVA实现AD验证
    找到一篇jbpm session closed解决办法的文章
    dwr 读取cookie
  • 原文地址:https://www.cnblogs.com/jimchen1218/p/11857799.html
Copyright © 2011-2022 走看看