Gaussian Blur

**高斯模糊(Gaussian blur)**是图像 II 与一个二维高斯核的卷积。它是计算机视觉中标准的低通滤波器:在进行任何基于导数的运算之前抑制高频噪声,并且是尺度空间(scale space)的数学基础。标准差为 σ\sigma 的核为

Gσ(x,y)=12πσ2exp ⁣(x2+y22σ2)G_\sigma(x, y) = \frac{1}{2\pi\sigma^2} \exp\!\left(-\frac{x^2 + y^2}{2\sigma^2}\right)

平滑后的图像为 L(x,y,σ)=(GσI)(x,y)L(x, y, \sigma) = (G_\sigma * I)(x, y),其中 * 表示卷积。在实践中,核会被截断到一个有限窗口内(常见的选择是半宽约为 3σ3\sigma,因为高斯分布几乎所有的质量都集中在 ±3σ\pm 3\sigma 范围内),并归一化使其元素之和为 1,从而保持图像的平均亮度不变。

关键性质

在导数计算中的作用

微分运算会放大噪声,因此梯度总是在平滑后的图像上计算。由于卷积与微分是可交换的,

x(GσI)=(Gσx)I\frac{\partial}{\partial x}\big(G_\sigma * I\big) = \left(\frac{\partial G_\sigma}{\partial x}\right) * I

可以直接与高斯的导数进行卷积。Harris 角点检测、Canny 边缘检测、KLT 跟踪以及光流都依赖以这种方式稳定后的梯度。SIFT 使用的高斯差分(Difference of Gaussians, DoG)

D(x,y,σ)=L(x,y,kσ)L(x,y,σ)D(x, y, \sigma) = L(x, y, k\sigma) - L(x, y, \sigma)

是尺度归一化高斯拉普拉斯算子的一种廉价近似,把两次模糊和一次减法变成了一个斑点(blob)检测器。

图像金字塔中的抗锯齿

在不先去除高于新奈奎斯特极限的频率成分的情况下对图像降采样,会产生走样(aliasing)伪影。因此图像金字塔在每次减半操作之前都会先施加一次高斯模糊——这就是经典的高斯金字塔。多尺度特征检测(ORB 的尺度层、KLT 的从粗到细跟踪)都依赖于这种预平滑操作被正确地执行。

实用说明

对SLAM的意义

视觉SLAM中几乎每一个前端操作都涉及高斯模糊:基于梯度的检测器和跟踪器在求导前都会先平滑;SIFT 的整个检测流水线都建立在高斯尺度空间与 DoG 之上;ORB 和 KLT 都在高斯金字塔上运行以获得尺度鲁棒性;直接法则能从适度平滑扩大光度对齐收敛域中获益。理解 σ\sigma 如何在噪声抑制与特征定位精度之间进行权衡,能够解释SLAM前端中许多实际的调参决策。

相关条目