【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03

(0)引言

# 课程链接:

计算机视觉(本科) 北京邮电大学 鲁鹏 清晰完整合集_哔哩哔哩_bilibili

# 课程覆盖:

02_卷积与边缘提取(上)

03_边缘提取(下)和拟合(上)【边缘提取直接合并到02了】

# 课程大纲: 

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第1张图片

(1)卷积与边缘提取(上下)

# (1)图像的类型。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第2张图片

                 1)二进制图像。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第3张图片

                 2)灰度图像。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第4张图片

                 3)彩色图像。


# (2)图像去噪(均值卷积和高斯卷积)。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第5张图片

                 1)使用均值卷积核去噪。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第6张图片

                 均值卷积的具体操作过程,如图所示。【事实上,卷积模板 g 在与图像 f 进行运算前,g 是要进行翻转的(应该是180°),这样才叫做卷积。如果不翻转直接进行运算,应该称为相关运算。由于现在的卷积核大都是对称的,因而目前不是很强调翻转的概念(当然,如果自定义的模板不是对称的,那么就需要翻转了)。】

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第7张图片

                 卷积特性。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第8张图片

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第9张图片

                 2)图像填充(是为了使卷积前后图像保持一致)。由于深度学习往往有很多层网络,如果不加填充的卷积下去,图像的尺寸就会越卷越小。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第10张图片

                常用的填充方法,全零填充(深度学习常用)、环绕填充(左填右,右填左,上填下,下填上)、复制边缘(镜像边缘)、边缘拉伸(是拉伸图像的最外一层的像素,可以理解为就是把边缘的像素复制一遍)。

【参考:图像处理四种边界条件Python轮子实现——ZeroPadding、WrapAround、EdgeCopy、Reflect(同时应对各种size——valid、same、full)_氵文大师的博客-CSDN博客_图像处理边界条件】

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第11张图片

                2)卷积核操作案例,向左平移。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第12张图片

                平滑(去噪 / 模糊)操作。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第13张图片

                 锐化操作。记原始图像为 P , 平滑后图像为 S 。则P - S 能够突出图像的边缘,记为边缘图 E 。此时 P+ E 就相当于增强了原始图像的边缘信息,那么就是锐化了。可以看后面的例子。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第14张图片

                3)图像振铃,即引入了原先图像中没有的效果。如,使用平滑卷积核去卷积边缘(竖直的)信息很强的图片就会这样。

                解决振铃的办法,也就是离卷积点越近的权值越大,越远则越小,那么我们可以引入高斯卷积核来解决这个问题。卷积模板 K(如5 x 5)就是记中心点为原点(0, 0)然后依次建立坐标轴,写出 5 x 5个点的坐标,然后依次代入 二维高斯函数Gσ 中,可以计算出每一点对应的权值,从而组成了 K (K 的所有权值相加要等于 1,也就是说要对 K 每个点的权值进行归一化。简单说,如原点的权值记为 aii, 权值总和记为 A 那么归一化就是 aii 除以 A,即 aii / A)。如果K不进行归一化,那么可能会对图像的灰度值衰减了。下面的图像就是二维高斯函数的图像,Z 轴就是Gσ 值。 σ(标准差) 和 K 的尺寸 w,h是我们指定的,一般来说w = h。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第15张图片

                影响高斯卷积核的因素(1):σ 和 K 的尺寸 w,h。如图,我们固定 w,h ,然后观察图像可以看出,σ 越小,则表示数据越集中,可以看出如果 σ 越大,那么图像越扁,反之则越凸。σ 越大时,中心点周围的权值也越大,那么周围点对中心点的贡献就越大,因而平滑效果越强;反之,σ 越小,则中心点周围的点权值都很小,则对中心点的贡献越小,所以效果越弱。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第16张图片

                影响高斯卷积核的因素(2):如果我们固定 σ ,来调整 K 的尺寸 w,h(K是卷积模板)。 如图所示,当 w,h 大的时候,即w = h = 30 。 Gσ(假设是最高点的值)要归一化就要除以w x h = 900,则 Gσ 就越小,这说明图像平滑的效果就越好(因为原始的像素乘以了一个小的Gσ);那么反之,如果w = h =10(也就是小的时候),Gσ归一化要除以         w x h = 100,那么显然与大的w,h相比,Gσ的值就很大了,那么这个卷积模板的平滑效果就差了。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第17张图片

                 均衡 σ 和 w,h 的经验,我们毋需考虑,对于给定 σ ,那么w = h = 2*3σ+1;同理,如果给定w(h) ,那么 σ = (w - 1) / 6 。这是古圣先贤总结的经验,记住就行。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第18张图片

                使用高斯卷积核的卷积结果:左边是使用均值卷积核,右边是高斯卷积核。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第19张图片

                总结:

                1. 高斯核本质是滤除图像的高频信号(也就是平滑噪声)。

                 2. 高斯卷积自身是另一个高斯,这个话的理解是一个 σ 大的高斯核相当于两个 σ 小的高斯核的卷积集成。举个简单例子,设图像 P ,使用了uσ大小的高斯核卷积结果为 P',再用 vσ 的高斯核对 P' 卷积结果为 P''。对于 P -> P'',其实只使用一个标准差为√u² + v² σ 大小的高斯核就可以直接得到。(√u² + v²是对 u² + v² 开平方,这是我给的通用公式。)

                3. 高斯核可以分解为 x 方向和 y 方向的卷积核,从而加速运算(我们可以看后面的两张图辅助理解)。假设 k x k的高斯核去卷积尺寸为 n x n的图像,那么对于每一点的计算复杂度是O( k² ),因而整张图片所有点的卷积计算复杂度为O( k²n² ),倘若我们可以将高斯核分解为 x 方向和 y 方向的卷积核,那么对于任意方向(如 x )的卷积计算复杂度为O(km²)  从而两个方向的卷积计算复杂度都为O( km² ),显然加速了运算。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第20张图片

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第21张图片

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第22张图片


# (3)图像噪声的类别

                1)常见的图像噪声有椒盐噪声(可以使用中值滤波器去除)、脉冲噪声、高斯噪声(高斯噪声每个点的值是独立的,符合正态分布。使用高斯滤波器去除)。

                2)中值滤波器(不是线性滤波器)。如果该滤波器模板越大,则图像越模糊。


# (4)边缘检测

                1)边的种类。表面不连续的边、深度的不连续的边、表面颜色的不连续的边,阴影造成的边。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第23张图片

                 2)梯度和导数。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第24张图片

                3)常用的算子。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第25张图片

                 4)图像梯度。梯度向量一定是与边垂直的,梯度是指向信号变化最大的方向。【灰度值,白色:255  黑色:0】

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第26张图片

                5)高斯偏导核。事实上,对于图像的边缘提取,就是对图像进行高斯平滑(如果不对图像进行平滑操作,那么计算图像梯度的时候,由于到处都有极值点,因而会影响边缘的判断),然后再进行边缘提取。如下图所示,而高斯偏导核,就是将平滑核边缘提取操作集成了。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第27张图片

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第28张图片

                高斯偏导核(对应函数可以自己算一下Gσ的偏导)的表现,可以看到标准差越小,细节保留越多,标准差越大,则平滑效果越强。 (也就是细节还是粗犷,按任务选择)

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第29张图片

                6)高斯核和高斯偏导核的比较。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第30张图片

                 7)Canny边缘检测器_(上)。我们一般采取的思路就是经过对x,y两个方向卷积操作可以得到边缘图,然后计算梯度继承的幅值,可以得到一张x,y两方向的集成。但是并不是所有的边我们都要的,因此我们可以设置一个阈值(即thresholding),只有超过thresholding阈值的边,我们才认为是边,从而得到一个大致的边缘图。【但是这并不一定是真实的边缘,如下图示,有的边可能比实际对应的边大或者小。因而要解决这种方法,我们可以采取非最大化值抑制法】

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第31张图片

                 8)非最大化值抑制法。简单说,就是类似排序的过程,如图所示,到了q点时,将 q 与其近邻的 p、r 的梯度值进行比较(p 、r一般是要与其周围像素加权求和得到,离得越近则影响越大),如果 q 比 p、r都大,那么就取 q 作为边的最终位置;否则,边的位置就是max(p,r)。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第32张图片

                9)双门限法。 如图所示,就是设置两个threshold来选择候选边。一个高的threshold所得到的边,可以肯定是边,但同时设置低的threshold来保留弱的边,然后判断彼此的连接关系,如果有连接关系则认为是边然后保留下来,否则去除。     

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第33张图片

                10)Canny算子边缘检测器_(下)。那么Canny边缘检测器的步骤,如下:

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第34张图片


(2)拟合(上)

# (1)常用的拟合方法。最小二乘法和RANSAC、Hough transform、model selection(snake)。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第35张图片

                1)最小二乘法(假设所有的点都处于线(边)上,即有效点)。注意啊,Y=XB,记住这个前提才能化简后续的式子,矩阵求导的话要复习一下矩阵分析。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第36张图片

                另外的注意点是,我们考虑的是(xi,yt)到直线y=mx+b的纵向距离,而不是垂直距离【也正因为如此,这也成为了最小二乘法的缺点,也就是说,如果直线垂直于x轴,那么是不存在y的,自然的纵向距离是不存在的,因而对于同一物体进行旋转拍摄时,斜率存在的才有效;垂直x轴的就无效了。】

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第37张图片

                2)全最小二乘法(这就是我们常说的最小二乘了)。这里首先要说的是,在全最小二乘法中,我们衡量的就是点到直线的垂直距离了;还有要利用到极大似然估计,从而可以得到全最小二乘法的一个概率解释的模型。【其实二者都是一个意思,只是一种利用几何模型解释,另一种是利用该概率模型解释】

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第38张图片

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第39张图片

                3)Robust estimators:如果噪点实在太多,那鲁棒最小二乘法也不太好用。

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第40张图片

【鲁鹏】计算机视觉(本科)_卷积与边缘提取_02/03_第41张图片

你可能感兴趣的:(计算机视觉,计算机视觉,人工智能)