二维高斯模糊为什么可以在线性时间复杂度完成?

二维高斯核是如何生成的

以模糊半径 ( σ = 1.5 \sigma=1.5 σ=1.5) 为1.5的高斯核为例,其权重矩阵为:
m 2 = [ 0.09474166 0.11831801 0.09474166 0.11831801 0.14776132 0.11831801 0.09474166 0.11831801 0.09474166 ] m_2= \left[ \begin{matrix} 0.09474166 & 0.11831801 & 0.09474166 \\ 0.11831801 & 0.14776132 & 0.11831801 \\ 0.09474166 & 0.11831801 & 0.09474166 \\ \end{matrix} \right] m2=0.094741660.118318010.094741660.118318010.147761320.118318010.094741660.118318010.09474166
其生成过程为,首先生成一维高斯核, σ = 1.5 \sigma=1.5 σ=1.5。则一维高斯核
m 1 = [ 0.30780133 , 0.38439734 , 0.30780133 ] m_1=[0.30780133, 0.38439734, 0.30780133] m1=[0.30780133,0.38439734,0.30780133]
则对应的 σ = 1.5 \sigma=1.5 σ=1.5的二维高斯核
m 2 = m 1 T ⋅ m 1 m_2=m_1^T \cdot m_1 m2=m1Tm1
这也说明了其实二维独立高斯分布是可以由一维高斯分布生成的。独立说明二维分布的概率是可以由两个一维分布概率相乘得来,对应上面的二维高斯核生成公式。

如何以线性时间复杂度执行二维高斯模糊

仍以上面的 m 1 , m 2 m_1,m_2 m1,m2为例子,假设图像的一个 3 × 3 3\times 3 3×3的局部区域为:
I = [ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] I= \left[ \begin{matrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31}& a_{32} & a_{33} \\ \end{matrix} \right] I=a11a21a31a12a22a32a13a23a33
先对 I I I执行一维水平高斯核 m 1 m_1 m1,得到:
I 1 = [ m 1 ⋅ [ a 11 , a 12 , a 13 ] T m 1 ⋅ [ a 21 , a 22 , a 23 ] T m 1 ⋅ [ a 31 , a 32 , a 33 ] T ] I_1= \left[ \begin{matrix} m_1\cdot [a_{11} , a_{12} , a_{13}]^T \\ m_1\cdot [a_{21} , a_{22} , a_{23}]^T \\ m_1\cdot [a_{31} , a_{32} , a_{33}]^T \\ \end{matrix} \right] I1=m1[a11,a12,a13]Tm1[a21,a22,a23]Tm1[a31,a32,a33]T
再对 I 1 I_1 I1执行垂直高斯核 m 1 T m_1^T m1T,得到:
I 2 = I 1 T ⋅ m 1 T I_2=I_1^T\cdot m_1^T I2=I1Tm1T
I 2 I_2 I2现在为一个数,且等于直接将 I I I与二维高斯核 m 2 m_2 m2作高斯模糊。因此二维高斯模糊可以以线性时间完成,这当 m 2 m_2 m2的尺寸很大时,是可以节省很多时间的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值