滤波与卷积

入门01-图像与基础处理预计 20 分钟卷积滤波高斯核平滑

前置知识点

kp-001 图像的数字化表示与色彩空间

一句话定义

滤波是用一个小尺寸核(kernel)在图像上滑动、对邻域像素加权求和得到输出像素的运算;严格卷积还会先把核翻转 180 度。

为什么重要

滤波是图像处理的「四则运算」:去噪靠高斯滤波、锐化靠拉普拉斯核、边缘靠梯度核、深度网络的第一层也是可学习的卷积核。理解了离散卷积与输出尺寸公式,就同时打通了经典视觉与 CNN 两套体系。

直观类比

核像一枚小印章,盖在图像每个位置上,把印章覆盖的像素按印章上的系数加权求和,填进输出图;均值核是「全体平摊」,高斯核是「越近的话语权越大」,中值滤波则是「让中间人发言」。

前置知识

kp-001(像素矩阵与通道)。

核心概念

原理与机制

离散线性滤波按下式计算(严格说这是互相关,深度学习文献里统称卷积;数学意义上的卷积需先把核旋转 180 度,对对称核二者等价):

输出尺寸由核尺寸 k、填充 p、步幅 s 决定:

g(x, y) = Σ Σ k(i, j) · f(x + i, y + j) out = ⌊(N + 2p − k) / s⌋ + 1

高斯核由二维正态密度采样归一化而来,标准差 σ 越大越模糊;核尺寸通常取 σ 的约 6 倍并向上取奇数。均值核系数全为 1/k²,实现最简单但频域上截止不干净,会留下振铃感;高斯核是唯一「各向同性且可分离」的常用平滑核,因此工程上平滑首选高斯。

公式与模型

G_σ(x, y) = exp(−(x² + y²) / (2σ²)) / (2π σ²)

中值滤波:out(x,y) = median{ f(x+i, y+j) | (i,j) ∈ 核窗口 },无法写成卷积,也无解析频域描述。

图示

输入图像 6×6 1/91/91/9 1/91/91/9 1/91/91/9 3×3 均值核 out 输出一个像素

实例与案例

去噪:手机夜拍叠加高斯去噪后噪点减少但细节变软,改用双边滤波(保边平滑)可兼顾。实时预处理:YOLO 训练管线里的 Mosaic 增强前常有轻量模糊增强,本质就是随机 σ 的高斯核。工业检测中先 3×3 高斯再去 Canny 边缘,能把孤立噪点误检率降一半以上。

import cv2
blur  = cv2.GaussianBlur(img, (5, 5), 1.2)   # 高斯平滑
med   = cv2.medianBlur(img, 5)               # 中值,治椒盐噪声
sharp = cv2.filter2D(img, -1, kernel=[[0,-1,0],[-1,5,-1],[0,-1,0]])  # 锐化

常见误区

与其他知识点的关系

卷积是 kp-003 梯度算子、kp-005 金字塔降采样的原子操作;kp-015 的 CNN 把固定核换成可学习参数,输出尺寸公式完全沿用本站。

自测题

  1. 输入 32×32、核 5×5、padding 2、stride 1,输出尺寸是多少?

答案要点:(32 + 4 − 5)/1 + 1 = 32,尺寸不变。

  1. 椒盐噪声为什么中值滤波比高斯滤波有效?

答案要点:椒盐噪声是极端离群值,均值/加权平均会被拉偏,中值直接把离群值排掉。

  1. 5×5 高斯核可分离时计算量省多少?

答案要点:每像素从 25 次乘加降为 10 次,约省 60%。

延伸阅读

相关知识点

kp-003 边缘检测:从 Sobel 到 Cannykp-015 视觉深度学习骨架:从 CNN 引用到骨干网络