博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高斯核与高斯核的卷积的结果还是一个高斯核的推导
阅读量:4101 次
发布时间:2019-05-25

本文共 6191 字,大约阅读时间需要 20 分钟。

高斯核卷积高斯核

之前看sift源码中有个概念,就是对一张图像 I 0 I_0 I0,先进行标准差为 σ 1 \sigma_1 σ1的高斯核卷积,得到 I 1 I_1 I1,再基于 I 1 I_1 I1进行标准差为 σ 2 \sigma_2 σ2的高斯核卷积得到图像 I 2 I_2 I2,和 I 0 I_0 I0直接进行一次标准差为 σ \sigma σ的高斯核的卷积得到 I 2 I_2 I2之间的关系。写成表达式就是 I 0 ∗ g 1 ∗ g 2 I_0*g1*g2 I0g1g2是否等于 I 0 ∗ ( g 1 ∗ g 2 ) I_0*(g1*g2) I0(g1g2),如果成立 g = g 1 ∗ g 2 g=g1*g2 g=g1g2是个什么东东。结论是等号成立的,并且 g g g也是一个标准差为 σ \sigma σ的高斯分布的概率密度函数,且 σ 2 = σ 1 2 + σ 2 2 \sigma^2=\sigma_1^2 + \sigma_2^2 σ2=σ12+σ22。结合律留给有兴趣的读者,下面证明方差之间的关系。

证明

g 1 , g 2 g_1,g_2 g1,g2是两个1维正态分布的概率密度函数:

g 1 ( x ) = 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 g_1(x)=\frac{1}{\sqrt{2\pi}\sigma_1}{e}^{-\frac{(x-\mu_1)^2}{2\sigma_1^2}} g1(x)=2π σ11e2σ12(xμ1)2
g 2 ( x ) = 1 2 π σ 2 e − ( x − μ 2 ) 2 2 σ 2 2 g_2(x)=\frac{1}{\sqrt{2\pi}\sigma_2}e^{-\frac{(x-\mu_2)^2}{2\sigma_2^2}} g2(x)=2π σ21e2σ22(xμ2)2

在无穷区间上的积分,被积函数的自变量发生平移并不影响积分结果,为了简化计算,不妨设 μ 1 = μ 2 = 0 \mu_1=\mu_2=0 μ1=μ2=0.

从而,

f ( t ) = g 1 ( x ) ∗ g 2 ( x ) f(t)=g_1(x)*g_2(x) f(t)=g1(x)g2(x)

= ∫ − ∞ ∞ g 1 ( x ) g 2 ( t − x ) d x =\displaystyle\int_{-\infty}^{\infty}g_1(x)g_2(t-x)dx =g1(x)g2(tx)dx
= 1 2 π σ 1 σ 2 ∫ − ∞ ∞ e − x 2 2 σ 1 2 − − ( t − x ) 2 2 σ 2 2 d x =\displaystyle{\frac{1}{2\pi \sigma_1\sigma_2}\int_{-\infty}^{\infty}e^{\frac{-x^2}{2\sigma_1^2}-\frac{-(t-x)^2}{2\sigma_2^2}}}dx =2πσ1σ21e2σ12x22σ22(tx)2dx

下面对积分部分进行计算

∫ − ∞ ∞ e − x 2 2 σ 1 2 − − ( t − x ) 2 2 σ 2 2 d x \displaystyle\int_{-\infty}^{\infty}e^{\frac{-x^2}{2\sigma_1^2}-\frac{-(t-x)^2}{2\sigma_2^2}}dx e2σ12x22σ22(tx)2dx
= ∫ − ∞ ∞ e − x 2 σ 2 2 − σ 1 2 ( t − x ) 2 2 σ 1 2 σ 2 2 d x =\displaystyle\int_{-\infty}^{\infty}e^{\frac{-x^2\sigma_2^2-\sigma_1^2(t-x)^2}{2\sigma_1^2\sigma_2^2}}dx =e2σ12σ22x2σ22σ12(tx)2dx

= ∫ − ∞ ∞ e x 2 σ 2 2 + σ 1 2 t 2 + σ 1 2 x 2 − 2 σ 1 2 t x − 2 σ 1 2 σ 2 2 d x =\displaystyle\int_{-\infty}^{\infty}e^{\frac{x^2\sigma_2^2+\sigma_1^2t^2+\sigma_1^2x^2-2\sigma_1^2tx}{-2\sigma_1^2\sigma_2^2}}dx =e2σ12σ22x2σ22+σ12t2+σ12x22σ12txdx

= ∫ − ∞ ∞ e ( σ 1 2 + σ 2 2 ) ( x − σ 1 2 t σ 1 2 + σ 2 2 ) 2 − σ 1 4 t 2 ( σ 1 2 + σ 2 2 ) 2 ⋅ ( σ 1 2 + σ 2 2 ) + σ 1 2 t 2 − 2 σ 1 2 σ 2 2 d x =\displaystyle\int_{-\infty}^{\infty}e^{\frac{(\sigma_1^2+\sigma_2^2)(x-\frac{\sigma_1^2t}{\sigma_1^2+\sigma_2^2})^2-\frac{\sigma_1^4t^2}{(\sigma_1^2+\sigma_2^2)^2}\cdot(\sigma_1^2+\sigma_2^2)+\sigma_1^2t^2}{-2\sigma_1^2\sigma_2^2}}dx =e2σ12σ22(σ12+σ22)(xσ12+σ22σ12t)2(σ12+σ22)2σ14t2(σ12+σ22)+σ12t2dx

= ∫ − ∞ ∞ e ( σ 1 2 + σ 2 2 ) ( x − σ 1 2 t σ 1 2 + σ 2 2 ) 2 + σ 1 2 σ 2 2 t 2 σ 1 2 + σ 2 2 − 2 σ 1 2 σ 2 2 d x =\displaystyle\int_{-\infty}^{\infty}e^{\frac{(\sigma_1^2+\sigma_2^2)(x-\frac{\sigma_1^2t}{\sigma_1^2+\sigma_2^2})^2+\frac{\sigma_1^2\sigma_2^2t^2}{\sigma_1^2+\sigma_2^2}}{-2\sigma_1^2\sigma_2^2}}dx =e2σ12σ22(σ12+σ22)(xσ12+σ22σ12t)2+σ12+σ22σ12σ22t2dx

= ∫ − ∞ ∞ e ( σ 1 2 + σ 2 2 ) ( x − σ 1 2 t σ 1 2 + σ 2 2 ) 2 − 2 σ 1 2 σ 2 2 − t 2 σ 1 2 + σ 2 2 d x =\displaystyle\int_{-\infty}^{\infty}e^{\frac{(\sigma_1^2+\sigma_2^2)(x-\frac{\sigma_1^2t}{\sigma_1^2+\sigma_2^2})^2}{-2\sigma_1^2\sigma_2^2}-\frac{t^2}{\sigma_1^2+\sigma_2^2}}dx =e2σ12σ22(σ12+σ22)(xσ12+σ22σ12t)2σ12+σ22t2dx

= e − t 2 σ 1 2 + σ 2 2 ∫ − ∞ ∞ e ( σ 1 2 + σ 2 2 ) ( x − σ 1 2 t σ 1 2 + σ 2 2 ) 2 − 2 σ 1 2 σ 2 2 d x =e^{\frac{-t^2}{\sigma_1^2+\sigma_2^2}}\displaystyle\int_{-\infty}^{\infty}e^{\frac{(\sigma_1^2+\sigma_2^2)(x-\frac{\sigma_1^2t}{\sigma_1^2+\sigma_2^2})^2}{-2\sigma_1^2\sigma_2^2}}dx =eσ12+σ22t2e2σ12σ22(σ12+σ22)(xσ12+σ22σ12t)2dx

前面说过,无穷积分上被积函数的自变量平移操作不影响积分值(可以用换元法证明,令 y = x − σ 1 2 t σ 1 2 + σ 2 2 y=x-\frac{\sigma_1^2t}{\sigma_1^2+\sigma_2^2} y=xσ12+σ22σ12t, d x = d y dx=dy dx=dy,换元必换限,这里上下限依旧是正负无穷,不变)

上式
= e − t 2 σ 1 2 + σ 2 2 ∫ − ∞ ∞ e ( σ 1 2 + σ 2 2 ) x 2 − 2 σ 1 2 σ 2 2 d x =e^{\frac{-t^2}{\sigma_1^2+\sigma_2^2}}\displaystyle\int_{-\infty}^{\infty}e^{\frac{(\sigma_1^2+\sigma_2^2)x^2}{-2\sigma_1^2\sigma_2^2}}dx =eσ12+σ22t2e2σ12σ22(σ12+σ22)x2dx

= e − t 2 σ 1 2 + σ 2 2 ∫ − ∞ ∞ e − ( σ 1 2 + σ 2 2 2 σ 1 σ 2 x ) 2 d x =e^{\frac{-t^2}{\sigma_1^2+\sigma_2^2}}\displaystyle\int_{-\infty}^{\infty}e^{-(\frac{\sqrt{\sigma_1^2+\sigma_2^2}}{\sqrt{2}\sigma_1\sigma_2}x)^2}dx =eσ12+σ22t2e(2 σ1σ2σ12+σ22 x)2dx

y = σ 1 2 + σ 2 2 2 σ 1 σ 2 x y=\frac{\sqrt{\sigma_1^2+\sigma_2^2}}{\sqrt{2}\sigma_1\sigma_2}x y=2 σ1σ2σ12+σ22 x,则 d x = 2 σ 1 σ 2 σ 1 2 + σ 2 2 d y dx=\frac{\sqrt{2}\sigma_1\sigma_2}{\sqrt{\sigma_1^2+\sigma_2^2}}dy dx=σ12+σ22 2 σ1σ2dy,换元必换限,上下限依旧是正负无穷不变,从而有

原式
= e − t 2 σ 1 2 + σ 2 2 ∫ − ∞ ∞ e − y 2 ⋅ 2 σ 1 σ 2 σ 1 2 + σ 2 2 d y =e^{\frac{-t^2}{\sigma_1^2+\sigma_2^2}}\displaystyle\int_{-\infty}^{\infty}e^{-y^2}\cdot\frac{\sqrt2\sigma_1\sigma_2}{\sqrt{\sigma_1^2+\sigma_2^2}}dy =eσ12+σ22t2ey2σ12+σ22 2 σ1σ2dy

= e − t 2 σ 1 2 + σ 2 2 2 σ 1 σ 2 σ 1 2 + σ 2 2 ∫ − ∞ ∞ e − y 2 d y =e^{\frac{-t^2}{\sigma_1^2+\sigma_2^2}}\frac{\sqrt2\sigma_1\sigma_2}{\sqrt{\sigma_1^2+\sigma_2^2}}\displaystyle\int_{-\infty}^{\infty}e^{-y^2}dy =eσ12+σ22t2σ12+σ22 2 σ1σ2ey2dy

= e − t 2 σ 1 2 + σ 2 2 2 σ 1 σ 2 σ 1 2 + σ 2 2 π =e^{\frac{-t^2}{\sigma_1^2+\sigma_2^2}}\frac{\sqrt2\sigma_1\sigma_2}{\sqrt{\sigma_1^2+\sigma_2^2}}\sqrt\pi =eσ12+σ22t2σ12+σ22 2 σ1σ2π

其中 ∫ − ∞ ∞ e − y 2 d y = π \int_{-\infty}^{\infty}e^{-y^2}dy=\sqrt\pi ey2dy=π ,一般的高数书上都有,不等式放缩证明收敛性;平方后取极坐标,再两边夹取极限得到收敛的值。

最后得到

f ( t ) = 1 2 π σ 1 σ 2 ⋅ e − t 2 σ 1 2 + σ 2 2 ⋅ 2 σ 1 σ 2 σ 1 2 + σ 2 2 ⋅ π f(t)=\frac{1}{2\pi\sigma_1\sigma_2}\cdot e^{\frac{-t^2}{\sigma_1^2+\sigma_2^2}}\cdot\frac{\sqrt2\sigma_1\sigma_2}{\sqrt{\sigma_1^2+\sigma_2^2}}\cdot\sqrt\pi f(t)=2πσ1σ21eσ12+σ22t2σ12+σ22 2 σ1σ2π
= 1 2 π σ 1 2 + σ 2 2 e − t 2 σ 1 2 + σ 2 2 =\frac{1}{\sqrt{2\pi}\sqrt{\sigma_1^2+\sigma_2^2}}e^{\frac{-t^2}{\sigma_1^2+\sigma_2^2}} =2π σ12+σ22 1eσ12+σ22t2
= 1 2 π σ e − t 2 σ 2 =\frac{1}{\sqrt{2\pi}\sigma}e^{\frac{-t^2}{\sigma^2}} =2π σ1eσ2t2
f ( t ) f(t) f(t)是标准差为 σ \sigma σ的高斯分布的概率密度函数,其中 σ 2 = σ 1 2 + σ 2 2 \sigma^2=\sigma_1^2+\sigma_2^2 σ2=σ12+σ22,证毕。

从理论上说,一张图先后经过 σ 1 , σ 2 \sigma_1,\sigma_2 σ1,σ2的高斯模糊和直接经过 σ \sigma σ的模糊后的状态是一样的,但是实际操作中,由于高斯核模板大小并不是无穷的,而是取了有限个元,所以其中的误差累计,具体会是什么结果也难以预料,只能多做做实验进行对比了。而在sift尺度空间的构造中,因为 σ \sigma σ σ 2 \sigma_2 σ2大,所以对应的高斯模板也会大一点,运算量就大了。也就是在 I 0 , I 1 I_0,I_1 I0,I1已知的情况下,由 I 1 I_1 I1得到 I 2 I_2 I2比由 I 0 I_0 I0得到 I 2 I_2 I2的实际运算量会小点。

转载地址:http://bwksi.baihongyu.com/

你可能感兴趣的文章
configure: error: Please reinstall the BZip2 distribution
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
【增强学习在无人驾驶中的应用】
查看>>
OpenCV meanshift目标跟踪总结
查看>>
人工神经网络——神经元模型介绍
查看>>
Windows 窗口底层原理
查看>>
一种函数指针的运用
查看>>
今天,Python信息量很大!
查看>>
Flash 已死,Deno 当立?
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
都无代码了,还要程序员吗?
查看>>
面试想拿 10K,HR 说我只配7k?
查看>>
副业过万的程序员都知道的网站有哪些
查看>>
那些人生“开挂”的程序员,都在干什么?
查看>>
影响科学圈的那些计算机代码
查看>>
乐视视频 App 图标改为“欠 122 亿”,网友:我在别家分红包,却在你家随份子!...
查看>>
乔布斯18岁求职信拍卖价22.24万美元,值吗?
查看>>
为何程序员总喜欢写技术博客,看完恍然大悟...
查看>>
假如计算机是中国人发明的,那代码应该这么写
查看>>
触目惊心:比特币到底消耗了多少能源?
查看>>