【计算机视觉】计算机视觉与深度学习-04-图像去噪&卷积&边缘提取-北邮鲁鹏老师课程笔记

计算机视觉与深度学习-04-图像去噪&卷积-北邮鲁鹏老师课程笔记

本节总结

1 什么是卷积核?

卷积核就是图像处理时,给定输入图像,输入图像中一个小区域中像素加权平均后成为输出图像中的每个对应像素,其中权值由一个函数定义,这个函数称为卷积核。
引例:平均卷积图像去噪中,卷积核保存了 3x3 像素矩阵求平均值的权值,该卷积核中每个元素的值为1/9。
2 什么是卷积操作?

将卷积核旋转180度,对图像中对应区域进行加权求和的运算。实际情况中,一般卷积核都是对称的,一般不需要旋转

卷积与图像去噪

图像噪声

噪声点,其实在视觉上看上去让人感觉很难受,直观理解就是它跟周围的像素点差异比较大,显得比较突兀,视觉看起来很不舒服,这就是噪声点。
参考:图像噪声 – csz795

噪声分类及产生原因

在这里插入图片描述

脉冲噪声&椒盐噪声

在这里插入图片描述

高斯卷积核(低通滤波器)并不能去除椒盐噪声和脉冲噪声。需要使用中值滤波器。

中值滤波器

中值滤波器是非线性操作

刚开始的卷积核没有权重,当图像处理时,将9*9的卷积核套在图像的9个像素上,取这9个图像向上的像素值,排序求出其中值,并用该中值替换当前中心点像素值。
在这里插入图片描述

在这里插入图片描述

中值滤波 vs 均值滤波

中值滤波:卷积结果的像素值是图像原本就有这个像素值。
均值滤波:卷积结果的像素值是加权平均计算出的,可能原本并没有这个像素值。(高斯滤波)

高斯噪声(Gaussian noise)

高斯噪声(Gaussian noise)是指它的概率密度函数服从高斯分布的一类噪声。

高斯噪声数学模型是一个独立的加和模型 f ( x , y ) = f ^ ( x , y ) + η ( x , y ) f(x,y)=\hat{f}(x,y)+\eta (x,y) f(x,y)=f^(x,y)+η(x,y),一般认为 η ( x , y ) ∼ N ( μ , σ ) \eta(x,y) \sim N(\mu,\sigma) η(x,y)N(μ,σ),通常 μ = 0 , σ \mu=0,\sigma μ=0,σ很小。

即认为图像是由真实图像+高斯噪声组成的,高斯噪声的产生一个是由于采集器附加的噪声,另一个是由于光学问题带来的噪声。将两者合起来就是最终看到的带有噪声的图像。

因此对于高斯噪声就有了这样的假设:首先噪声的产生是相互独立的,而且服从均值为0的正态分布。
在这里插入图片描述在这里插入图片描述
噪声的方差越大,高斯卷积核的方差或尺寸就要越大。

虽然高斯卷积核可以去除高斯噪声,但是更模糊(最下图比最上图模糊),坏的噪声去掉了,好的像素也受到了影响。

瑞利噪声

伽马噪声

指数噪声

均值噪声

图像去噪算法

空间滤波

空域滤波是在原图像上直接进行数据运行,对像素值进行处理。如邻域平均法、中值滤波、低通滤波等。

变换域滤波

图像变换域滤波是对图像进行某种变换,将图像从空间域转换到变换域,再对变换域中的变换系数进行处理,之后再从变换域转换到空间域,达到降噪目的。如傅里叶变换、余弦变换、小波变换等。

偏微分滤波

偏微分方程主要针对底层图像处理,它具有各向异性的特点,应用在图像降噪中,可以在降噪的同时很好地保持边缘信息。主要适用于低噪声密度图像,在处理高噪声密度图像时效果并不理想。

变分法

变分法降噪首先确定图像的能量函数,通过对能量函数的最小化工作,使图像达到平滑效果。此方法降噪的关键是找到合适的能量方程,保证演化的稳定性,获得理想效果。

形态学噪声滤除器

结合图像开闭操作进行降噪,先对图像进行开运算,然后再进行闭运算,将图像上的噪声去掉。此方法适用于图像中的对象尺寸比较大,且没有细节的图像。

引例:平均卷积噪声处理

灰度图,像素值用一个[0,255]的数字表示,9*9的矩阵表示周围像素值。

下图中253明显比周围像素值大,是噪声。

在这里插入图片描述

如果对上面的噪声图像去噪?

一种去噪方式是:平均卷积噪声处理,对3*3的像素矩阵加权求和,得到平均值为92,用92替换253,得到去噪后的新图像。

一般将权值记录在卷积核中

在这里插入图片描述

卷积定义

在这里插入图片描述在这里插入图片描述

卷积性质

叠加性

平移不变性

在这里插入图片描述

交换律

结合律

分配律

与标量相乘

在这里插入图片描述

卷积(convolution)与相关(correlation)

在这里插入图片描述

相关运算,反应已有事物的内在关联,描述两个事物之间的相似性(包括自相关与互相关),并不是事物之间的相互影响。

在这里插入图片描述

相关可以看作是向量内积的推广(内积为两向量点乘,其物理意义为将一个向量投影到另一个向量)。内积越大,投影越大,两个向量间夹角越小,方向越一致,相似度越高。特别地,当内积为0时,两个向量是垂直的;只有当两个向量夹角为0时,内积最大(相关系数也最大)。因此,相关可反映两个向量空间的夹角。

注意相关不具有交换性

卷积运算,反映事物的相互作用,并且这种相互作用受制于同一个影响因子。

在这里插入图片描述

卷积核在计算时需要旋转180度,但实际情况中,一般卷积核都是对称的,一般不需要旋转

卷积与相关的转换

在这里插入图片描述

参考:卷积(convolution)与相关(correlation) – Hsuty
参考:卷积(convolution)与互相关(cross-correlation)的一点探讨 – 无迹
参考:卷积运算和相关运算的区别与物理含义? – Allen

边界填充

在这里插入图片描述

为什么必须边界填充? - 卷积后图像会变小

如果不进行边界填充,卷积结果的图像比原图像小一圈,卷积操作后的图像要小于输入时图像,通过边界填充,可以实现卷积前后图像的尺寸不变。

在这里插入图片描述

边界填充方法 - 常数填充最常用

常数填充
零填充(zero padding)
拉伸
镜像

在这里插入图片描述

卷积示例

单位脉冲核

无变化

在这里插入图片描述

平移

平移

平滑

模糊-平均卷积核

锐化

锐化在这里插入图片描述

原图 - 平滑后的图 = 边缘图
原图 + 边缘图 = 锐化

在这里插入图片描述

在这里插入图片描述

卷积核

平均卷积核

模糊-平均卷积核

高斯卷积核

平均卷积核存在的问题

因为是与周围加权平均,所以卷积后的图像产生了一些水平和竖直方向的条状。

其实对于平滑来说,卷积核中权重全都是1/9 ,显然这是不合理的。在这个过程中会损失图像的高频信息产生振铃效应。也就是卷积后的图像产生了一些水平和竖直方向的条状纹路。图像处理中,对一幅图像进行滤波处理,若选用的滤波器具有陡峭(方的,不平滑)的变化,则会使滤波图像产生“振铃”,所谓“振铃”,就是指输出图像的灰度剧烈变化处产生的震荡,就好像钟被敲击后产生的空气震荡。

在这里插入图片描述

产生这种现象的原因在于由于卷积过程中引入了本来图像上没有的信息,所以这并不是我们想要的结果,产生这种原因的根源就是因为卷积的模板是方的,也就是卷积核中的权重都是一样的,想要去除这种效应,就需要对卷积的模板进行更换,也即是将卷积核模板调整的更加平滑一些。比如下面这张图,距离中心位置越远相应的权重就应该更小。这样的设置也更加合理一些。这就是高斯核。

在这里插入图片描述

高斯卷积核定义

在这里插入图片描述在这里插入图片描述

高斯卷积核生成步骤

在这里插入图片描述

确定卷积核的尺寸

比如5x5

设置高斯函数的标准差

比如σ=1

计算卷积核各个位置权重值

在这里插入图片描述

对权重值进行归一化

需要注意的是在高斯核中,约束条件是所有权重相加和为1,这样做的目的是防止卷积后数据的衰减和溢出,因为无论RGB还是灰度图都在[0,255]内。

为什么要对权重值进行归一化?- 防止像素值的衰减和放大

如果所有权重的和小于1,假如是一张全白的图也即是像素值全为255,经过一个3×3 ,权重和不是1而是0.1的卷积核,得到输出结果却是25.5 ,显然这也不是想要的结果。

如果所有权重的和大于1,卷积后数据溢出(像素值被放大),改变了图像原始的0-255的范围。

只有所有权重的和等于1,卷积后的像素值范围不会改变。

因此,为解决该问题只需要将卷积核归一化即可,也就是卷积核中每一个值除以卷积核权重的总和,添加限制条件为权重和为1 。

高斯卷积核参数

高斯卷积核参数只有一个,高斯函数标准差σ。窗口尺寸可以由高斯函数标准差σ求出。窗口大小 = 23σ+1。

卷积核尺寸大小(窗口大小)

一般由高斯函数标准差σ求出。窗口大小=2×3×σ+1。

高斯函数标准差σ

其实就是标准差(方差),越大就会散布的越开,也即是窗宽相同,σ越大越扁,σ越小越突出,因为总面积要为1

在这里插入图片描述

窗宽相同,总面积都为1,则
方差越大,中心权重越小,图像越平滑。
方差越小,中心权重越大,图像越陡峭。

在这里插入图片描述

同理,也可以通过固定方差σ去改变窗口大小。
当方差固定时,也就是说这个突出的最高中心点位置是相同的,而总面积又是相同的,归一化操作为(当前值/所有值之和),则
窗口越大,归一化中分子相同,分母越大,中心点权重占比越小,相对周围点权重占比越大,越平滑。
窗口越小,归一化中分子相同,分母越小,中心点权重占比越大,相对周围点权重占比越小,越陡峭。

也就是说当方差固定时,窗口越小平滑的就越不明显,就会导致图像比较模糊

在这里插入图片描述

这样一来,就会涉及到两个参数的选取问题,一般来说有个经验性的值。窗口大小为6σ+1

高斯卷积核参数经验法则

在这里插入图片描述

为什么高斯卷积核窗口大小是23σ+1?

遵循3σ原则,基本可以包含99%以上的信号,甚至可以不用归一化。超过[-3σ,3σ]范围的信号很少。
高斯卷积核中心的左边和右边遵循3σ原则,所以是2x3σ,再加上自身1,所以是2x3xσ+1。

高斯卷积核作用

1 低通滤波器

去除图像中的“高频”成分(低通滤波器)。

2 抑制噪声
3 实现图像平滑

高斯核特性

1 高斯卷积非线性

高斯卷积核是线性操作

2 高斯核权值非负

高斯卷积核的权值不可为负数。

3 高斯核权值总和为1

恒定区域不受卷积影响。

4 高斯卷积核分解
4.1 大方差卷积分解为多个连续小方差卷积(满足勾股定理)

使用多次小方差卷积核连续卷积,可以得到与大方差卷积核相同的结果

例:高斯卷积对一副图像进行连续两次σ=1的高斯卷积输出结果等价于使用 2 σ \sqrt 2 \sigma 2 σ的高斯卷积一次的输出结果。这个满足勾股定理的,比如连续的两次高斯卷积核大小为 2 σ 2 \sigma 2σ 3 σ 3 \sigma 3σ可以使用 1 3 σ \sqrt 13\sigma 1 3σ高斯卷积核代替。大致意思就是两个小高斯核的连续卷积可以用一个大的高斯核代替。

高斯卷积核分解

4.2 二维高斯卷积核分解为两个一维高斯卷积核

举个例子解释高斯核分解,假设有一个高斯卷积核与一个3x3大小的图像卷积(不考虑边界填充)得到应该是一个点。那么此时将高斯核拆解为两个一维向量,分别与图像进行卷积操作。它的主要作用就是加速。

在这里插入图片描述

上图中的一维卷积核卷积不是向量乘矩阵,是进行卷积操作。

卷积核分解的作用(降低算法复杂度)

如果使用一个 mxm 的卷积核对一副 nxn 大小的图像进行卷积,考虑边界填充,算法复杂度为 O ( n 2 m 2 ) O(n^2m^2) O(n2m2),而使用分解卷积算法复杂度 O ( n 2 m ) O(n^2m) O(n2m) 【其实这是x或者y一个方向上的复杂度】,也就是说如果对核进行分离,那么复杂度就能够降低一个等级,这是一件很有意义的事情。从这里也可以看出来如果使用小核进行卷积也能够加速运算。

在这里插入图片描述

参考:机器视觉学习(二)高斯卷积 – 小小
参考:【图像处理】高斯模糊、高斯函数、高斯核、高斯卷积操作 – mjiansun

卷积与边缘提取

什么是图像边缘?- 亮度明显而急剧变化的点

图像中亮度明显而急剧变化的点。

为什么研究边缘?- 边缘编码图像语义和形状信息

1 编码图像中的语义与形状信息。
2 相对于像素表示,边缘表示显然更加紧凑。

有哪些边缘种类?

表面法向不连续

在这里插入图片描述

瓶盖上方的法线向上,瓶盖周围的法线向外。

深度不连续

真实图片中是不存在的,拍照照到的地方和照不到的地方的边界。

表面颜色不连续

例:识别物体时需考虑,品牌标签等。

光照不连续

例:感知物体位置时需要考虑,与周围物体的位置关系。例如:阴影。

在这里插入图片描述

如何检测边缘?- 边缘处的导数取最值

在这里插入图片描述

如何对图像求偏导?- 函数求偏导公式中邻域范围改成1再用卷积实现

在这里插入图片描述

函数求偏导公式中邻域范围改成1,得到的效果还可以。所以一直沿用。

由上图中图像求导公式可知:图像求导公式 = 右边像素 f ( x + 1 , y ) f(x+1,y) f(x+1,y) - 自己 f ( x , y ) f(x,y) f(x,y)

因此,图像求导可以通过卷积核实现。

在这里插入图片描述

在这里插入图片描述

x方向求导,检测的是横向像素间差别,求出来是y方向的边。
y方向求导,检测的是纵向像素间差别,求出来是x方向的边。

图像梯度

梯度=[对x偏导,对y偏导]

图像梯度的方向 - 与边缘方向垂直

梯度方向=arctan(对y偏导数 / 对x偏导数)

梯度方向与信号的方向垂直,求出梯度方向就可以知道信号的方向。

梯度方向是灰度变换最快的方向。

在这里插入图片描述

图像梯度的模 - 边缘

用 图像梯度的模 来反映图像的边缘信息

梯度模:值越大表示当前点是边缘的可能性越大。

在这里插入图片描述

噪声的影响

在这里插入图片描述

噪声影响带来的问题

若对灰度函数直接求导,图像中不能确定最大导数位置。

解决办法(先平滑处理)

从图像上看,每个点都有噪声,这是高斯噪声的特点,所以考虑使用高斯核去噪平滑,之后对去噪后的信号求导。

在这里插入图片描述

缺点:需要进行2次卷积操作,一次f*g,一次求x偏导

第一次卷积:高斯去噪,第二次卷积:图像求导(对x求偏导 − 1 ∣ 1 -1 | 1 11,对y求偏导 1 − 1 \frac {1}{-1} 11

解决办法:卷积交换律(高斯一阶偏导核)

先对高斯卷积核(平滑)进行求导卷积(求导),得到新的卷积核(求导+平滑),再用这个新的卷积核与原图卷积。

高斯一阶偏导核 - 高斯卷积+求导卷积

d d x g \frac{d}{dx} g dxdg
在这里插入图片描述

高斯一阶偏导核权值可视化

一半正,一半负。

在这里插入图片描述

高斯一阶偏导卷积核的方差参数

在这里插入图片描述

上图中,从左到右,高斯一阶偏导卷积核的方差分别为1,3,7。

方差大,提取粗粒度轮廓。
方差小,提取细粒度轮廓。

高斯一阶偏导核特性
1 高斯的导数
2 卷积核中权值可为负

在这里插入图片描述

3 权值总和为0

恒定区域无响应,即恒定区域不会有边缘。
例如一张全白的图,使用-3|2求导, 1 ∗ ( − 3 ) + 1 ∗ 2 = − 1 1*(-3)+1*2=-1 1(3)+12=1,计算结果显示有梯度,与实际不符,因为这是一张全白的图。所以必须使得权值总和为0,保证像这样的情况不出错。

4 高对比度点的响应值大

响应值越大,表示该点是边缘点的概率越大。
在这里插入图片描述

边缘检测目标

Canny边缘检测器

在这里插入图片描述

1 高斯一阶偏导核卷积图像

在这里插入图片描述

期望得到上图中右图所示很精确的边缘。

高斯一阶偏导核卷积图像的缺点

计算每个点的梯度幅值和方向。

梯度幅值:用来描述该点是不是边缘。

在这里插入图片描述

经过高斯一阶偏导核的处理,梯度强度边缘很粗,因为边缘附近的信号,从左到右是慢慢改变的,而不是突然改变的阶梯型,但边缘检测想要更细的边,就需要非极大值抑制。

在这里插入图片描述

在这里插入图片描述

2 如何细化高斯卷积后粗边缘? - 非极大值抑制

目标:将宽的“边缘”细化至单个像素宽度。
在这里插入图片描述
在这里插入图片描述

p跟梯度方向的正方向距离为1的 r 和反方向距离为1的 q 比较梯度强度。梯度强度p>q&&q>r,则保留p点,否则删除p点。

一般r和q不在图像正规的像素点上,通常r和q点的强度需要周边的点加权求和来获得。

但,非最大化抑制的结果中有噪声,需要通过门限值对噪声进行过滤。

3 如何去除非最大化抑制结果中的噪声? - 门限过滤

在这里插入图片描述

Canny如何选择去噪时的门限值?- 双阈值

高阈值门限:提取高骨干边缘曲线。

低阈值门限:提取链接骨干的边缘曲线。低阈值会筛选出很多边,但只保留与高阈值提取的边有关系的边。

在这里插入图片描述

参考:Canny边缘检测-@zhou-CSDN

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值