AI 视觉连载6:传统 CV 之高斯滤波

这一节在上一节的基础上,再进阶一下,来了解一下什么是高斯滤波。

首先,如上一节所说,均值滤波是利用一个窗口在图片上滑动,每次都计算窗口内能看到的像素的平均值,然后将平均值作为滤波的输出,从而可以起到平滑图像、去噪点的作用。

有没有发现,此时并没有特别说明这个窗口是什么,以及窗口是否带有参数。

在介绍高斯滤波之前,进一步说明一下均值滤波的这个窗口。

上图是均值滤波示意图,中间一个 3x3 的正方形即为均值滤波的窗口。

此时,可以将均值滤波的窗口看做是有参数的窗口,只不过,在均值滤波算法中,窗口所带的参数都是1。

为什么都是 1 呢?

因为只有 1 才能完成求取均值的操作:原始图像每个像素值乘以 1,然后求和之后除以窗口大小(9)。

这一步骤很像是为像素都乘上一个权重,然后将乘完权重的结果相加,这一过程被更广泛的称为乘累加。

乘累加,乘的就是权重。

深度学习中的很多算法都是基于此而来,包括卷积、矩阵乘、全连接等(这些后面会重点讲述),当然也包括本节要介绍的高斯滤波。

再多解释一下:为什么计算机视觉算法离不开对像素的乘累加操作?

因为乘累加操作做的是对原始图像中相邻像素的加权求和。

这里有两个概念,一个是相邻像素,在最开始的第一篇文章像素中,着重强调了图像像素的局部性,正是因为局部性的存在,你看到一张图片时,才能知道这一块画的是耳朵,那一部分是嘴巴。

另一个概念就是加权求和,基于局部像素的加权求和,得到的是这一局部像素的特征融合,比如,均值滤波的加权求和得到的特征是窗口内像素的平均值(这里把均值作为图像的一类特征)。

深度学习的卷积加权求和得到的是局部像素的其他特征,比如细节特征或轮理特征。

基于以上分析,我们可以得出一个结论:图像的特征,是通过将一些局部像素进行加权求和得到的融合特征。

高斯滤波也是如此。

高斯滤波

高斯滤波和均值滤波的区别,就在于高斯滤波器窗口内的数值不再全部都是1,而是符合高斯分布的参数。

上图是从百科上找到的一张高斯分布图片(也叫正态分布),图像的高斯滤波窗口由于是正方形,因此是一种二维高斯分布。

二维高斯分布可以理解为围绕中心旋转一周得到的一个类似于钟形的结构。

高斯滤波由于其权重分布服从高斯分布,它对于滤除图片中含有的高斯噪声很有效。

再实际滤波操作时,你可以灵活的选择是使用平均滤波还是使用高斯滤波。你可以调整滤波窗口的大小,甚至组合来使用,以达到更实际有效的滤波目的。

滤波不是本专栏学习的重点,了解滤波的原理就好,为后面深度学习提供知识积累。

相关推荐
青少儿编程课堂2 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:分层图最短路解析
c++·python·算法·bfs·信息学竞赛
YSL07012431 分钟前
一文通关-----排序
数据结构·算法
ZhengEnCi11 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
罗西的思考11 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
夜不会漫长13 小时前
C++:红黑树
数据结构·算法
AI备案指南-满满14 小时前
算法备案审核不通过,一般是什么原因?
java·人工智能·算法·大模型备案·算法备案·大模型登记
Ramble_Naylor14 小时前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust
秋天的怀念_David14 小时前
算法一千零一夜 · 第二十三夜 电力民生写成的曲线
java·程序人生·算法
不一样的故事12614 小时前
NB/T 47013.8-2015 附录D 吸枪技术
人工智能·经验分享·算法
通问AI14 小时前
用 200 行 Python 给文档库做「上下文完整度」自检:四个可复算的检查项
算法