返回「计算机、信息技术与工程」

卷积

卷积 创建时间:2021/2/26 12:20

更多
Markdown 结构化数据
本文目录 1 个章节

卷积

创建时间:2021/2/26 12:20

assets/卷积__Image.png

所谓两个函数的卷积,本质上就是先将一个函数翻转,然后进行滑动叠加。

卷积——翻转,滑动,倍率,叠加。多次滑动得到的一系列叠加值,构成了卷积函数。

叠加——在连续情况下,叠加指的是对两个函数的乘积求 积分 ,在离散情况下就是 加权求和

以信号分析为例,卷积的结果是不仅跟当前时刻输入信号的响应值有关,也跟过去所有时刻输入信号的响应都有关系,考虑了对过去的所有输入的 效果的累积

在图像处理的中,卷积处理的结果,其实就是把每个 像素周边 的,甚至是整个图像的 像素 都考虑进来,对当前像素进行某种 加权处理

assets/卷积__Image.jpg

assets/卷积__Image_1.jpg

应用:

1. 信号分析

一个输入信号f(t),经过一个线性系统(其特征可以用单位冲击响应函数g(t)描述)以后,输出信号应该是什么?实际上通过卷积运算就可以得到输出信号。

2. 图像处理

输入一幅图像f(x,y),经过特定设计的卷积核g(x,y)进行卷积处理以后,输出图像将会得到模糊, 消除噪声、边缘强化等各种效果。


图像处理中的卷积:

计算过程:

assets/卷积__Image_2.jpg

对图像的处理函数(如平滑,或者边缘提取),也可以用一个g矩阵来表示,如:

在处理平面空间的问题,已经是二维函数了

按卷积的定义,二维离散形式的卷积公式应该是:

从卷积定义来看,应该是在x和y两个方向去累加(对应上面离散公式中的i和j两个下标),而且是无界的,从负无穷到正无穷。可是,真实世界都是有界的。

对于像素点(u,v)处求卷积,计算如下所示:

assets/卷积__Image_3.jpg

只把坐标(u,v)附近的点选择出来做计算。点(i,j)只能是黄色方框附近的点。

首先我们在原始图像矩阵中取出(u,v)处的矩阵:

然后将图像处理矩阵翻转(这个翻转有点意思,可以有几种不同的理解,其效果是等效的:(1)先沿x轴翻转,再沿y轴翻转;(2)先沿x轴翻转,再沿y轴翻转;)

计算卷积时,就可以用 的内积:

意义:

做乘法的两个对应变量a,b的下标之和都是(u,v),其目的是对这种加权求和进行一种约束。这也是为什么要将矩阵g进行翻转的原因。

以上矩阵下标之所以那么写,并且进行了翻转,是为了让大家更清楚地看到跟卷积的关系。这样做的好处是便于推广,也便于理解其物理意义。实际在计算的时候,都是用翻转以后的矩阵,直接求矩阵内积就可以了。

以上计算的是(u,v)处的卷积,延x轴或者y轴滑动,就可以求出图像中各个位置的卷积,其输出结果是处理以后的图像(即经过平滑、边缘提取等各种处理的图像)。

我的理解:

图像处理中,使用卷积,实质上是使用一个矩阵,表示像素点周围各个像素点的权值,对范围内的像素值做加权求平均。 把原始图像中的相邻像素都考虑进来,进行混合。相邻的区域范围取决于g矩阵的维度,维度越大,涉及的周边像素越多。

而矩阵的设计,则决定了这种混合输出的图像跟原始图像比,究竟是模糊了,还是更锐利了。

比如说,如下图像处理矩阵将使得图像变得更为平滑,显得更模糊,因为它联合周边像素进行了平均处理:

而如下图像处理矩阵将使得像素值变化明显的地方更为明显,强化边缘,而变化平缓的地方没有影响,达到提取边缘的目的:

而高斯模糊,实质上就是使用高斯公式计算像素及周围像素在一次计算中的权值:

assets/卷积__Image_1.png

assets/卷积__Image_2.png

那么,理解了卷积的概念,知道卷积在图像处理当中如何应用之后,随后遇到相应的图像处理问题时,只需明确使用的处理矩阵即可。

卷积

图像处理中认为,灰度值变化剧烈的地方就是边缘。

sobel算子的原理,对传进来的图像像素做卷积,卷积的实质是在求梯度值,或者说给了一个加权平均。 然后对生成的新像素灰度值做阈值运算,以此来确定边缘信息。

若Gx是对原图x方向上的卷积,Gy是对原图y方向上的卷积;

assets/卷积__Image_3.png

assets/卷积__Image_4.png

得到像素点新的像素值之后,给定一个阈值就可以得到sobel算子计算出的图像边缘了。

通常,为了消除噪声对sobel算子的影响,会增加一个预处理的操作,主要是做平滑处理降低噪声的影响。

https://www.cnblogs.com/sophia-hxw/p/6088035.html

https://www.zhihu.com/question/22298352/answer/637156871