概述
一、图像类型
二、图像去噪
三、卷积的三种模式
四、高斯卷积
一、图像类型
1、二值图像(Binary Image)
一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。
2、灰度图像(Gray Image)
灰度图像矩阵元素的取值范围通常为[0,255]。因此其数据类型一般为8位无符号整数的(int8),这就是人们经常提到的256灰度图像。“0”表示纯黑色,“255”表示纯白色,中间的数字从小到大表示由黑到白的过渡色。在某些软件中,灰度图像也可以用双精度数据类型(double)表示,像素的值域为[0,1],0代表黑色,1代表白色,0到1之间的小数表示不同的灰度等级。二值图像可以看成是灰度图像的一个特例。
3、RGB彩色图像(Color Image)
RGB图像分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。RGB图像的数据类型一般为8位无符号整形,通常用于表示和存放真彩色图像,当然也可以存放灰度图像。
二、图像去噪
噪声点,其实在视觉上看上去让人感觉很难受,直观理解就是它跟周围的像素点差异比较大,显得比较突兀,视觉看起来很不舒服,这就是噪声点。那如何去除噪声点呢?
一个自然而然的想法就是把每个像素点与周围其他像素点加权平均一下。而这个权重就叫做卷积核。当然也可以直接求平均,如下图所示。
那么对图像卷积(滤波)是如何进行的呢?加入现在有一个卷积核g,在对图像进行卷积操作时首先要对卷积核进行一个翻转操作,先水平翻转,再进行竖直翻转。
然后,将卷积核覆盖区域与卷积核对应位置相乘,最后相加,即得到卷积核中心位置对应的像素值。如图中就是当前位置的卷积核与覆盖区域相乘相加后得到e所在位置的像素值,这就是一个点的卷积操作。而对于一张图像的卷积操作就是将卷积核以窗口的形式在图像上进行左左到右,从上到下进行滑动,由此就会得到一张新的图像。这就是卷积(滤波)操作完成去噪的过程。
那么卷积操作有什么特性呢?
- 线性:
就是和两张图像先求和再卷积核先卷积再求和最终的结果是一样的。
- 平移不变形:
1、噪声的分类
- 椒盐噪声,就是黑点,白点。处理方式:中值滤波
- 脉冲噪声,只有白点
- 高斯噪声
这里主要介绍高斯噪声,高斯噪声数学模型是一个独立的加和模型
在应对高斯的噪声的处理时,自然就会想到高斯滤波,但是它也是有成本有代价,虽然它可能滤除噪声,但是它也会衰减部分信号,比如轮廓信息。
三、卷积的三种模式
1、full
橙色部分为image, 蓝色部分为filter。full模式的意思是,从filter和image刚相交开始做卷积,白色部分为填0。
2、same
当filter的中心(K)与image的边角重合时,开始做卷积运算,可见filter的运动范围比full模式小了一圈。注意:这里的same还有一个意思,卷积之后输出的feature map尺寸保持不变(相对于输入图片)。当然,same模式不代表完全输入输出尺寸一样,也跟卷积核的步长有关系。same模式也是最常见的模式,因为这种模式可以在前向传播的过程中让特征图的大小保持不变,不需要精准计算其尺寸变化(因为尺寸根本就没变化)。
那么既然为了保持跟原图一样大小,那么周围的填充方式:
- 在深度学习中,经常使用的是用0填充。
- 常数填充
- 镜像填充
- 复制填充...等
3、valid
当filter全部在image里面的时候,进行卷积运算,可见filter的移动范围较same更小了。
四、高斯卷积
首先介绍几种卷积(滤波):
那么接下来,使用原图-平滑之后的图=边缘图,如果再把得到的边缘图加到原图上就会得到一个锐化图。其实下面这两幅图就是对上面锐化过程的分解。
对于这样的锐化结果使用数学表达式进行解读:
其中
原图可以看做是卷积做了恒等变换,平滑可以看做是均值滤波,所以锐化可以看做:
其实对于平滑来说,卷积核中权重全都是
产生这种现象的原因在于由于卷积过程中引入了本来图像上没有的信息,所以这并不是我们想要的结果,产生这种原因的根源就是因为卷积的模板是方的,也就是卷积核中的权重都是一样的,想要出除这种效应,就需要对卷积的模板进行更换,也即是将卷积核模板调整的更加平滑一些。比如下面这张图,距离中心位置越远相应的权重就应该更小。这样的设置也更加合理一些。这就是高斯核。
这里需要注意的是在高斯核中,约束条件是所有权重相加和为1,这样做的目的是防止卷积后数据溢出,因为无论RGB还是灰度图都在
在高斯核里有这样几个参数:1窗口大小,2
同理,也可以通过固定方差
这样一来,就会涉及到两个参数的选取问题,一般来说有个经验性的值。窗口大小为
- 高斯滤波,非常重要,贯穿整个计算机视觉,甚至现在的神经网络提取到的某些特征跟高斯滤波输出的结果都十分相似。其实高斯滤波就是滤除高频信息,是一个低通滤波器。
- 高斯卷积的另外一个特性就是对一副图像进行连续两次
的高斯卷积输出结果等价于使用的高斯卷积一次的输出结果。这个满足勾股定理的,比如连续的两次高斯卷积核大小为可以使用高斯卷积核代替。大致意思就是两个小高斯核的连续卷积可以用一个大的高斯核代替。
- 高斯核还可以分解。
现在就举个例子解释高斯核分解,假设有一个高斯卷积核与一个3x3大小的图像卷积得到应该是一个点。那么此时将高斯核拆解为两个一维向量,分别与图像进行卷积操作。它的主要作用就是加速。
如果使用一个mxm的卷积核对一副nxn大小的图像进行卷积,它的算法复杂度是
这些东西在深度神经网络中也会遇到,但是这里高斯卷积是完全等价的,在深度学习中不一定保证是等价的。
我是尾巴~
每日一句毒鸡汤:你全力做到的最好,可能还不如别人随便搞搞。
本次推荐:获取Emoji的在线网站
Home of Emoji Meanings emojipedia.org继续加油~
最后
以上就是暴躁服饰为你收集整理的产生高斯白噪声的matlab代码_机器视觉学习(二)高斯卷积的全部内容,希望文章能够帮你解决产生高斯白噪声的matlab代码_机器视觉学习(二)高斯卷积所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复