卷积神经网络(个人总结)

卷积与图像去噪

写这篇博文完全是为了自己理一下卷积的相关概念以及思路。

先来说一下什么是噪声,噪声就说图像中的白点,也就是图像中为255的那些像素。噪声分为椒盐噪声(黑色像素和白色像素随机出现),脉冲噪声(白色像素随机出现),高斯噪声(噪声强度变化服从高斯分布(正态分布))。

解决方法:中值滤波,即用一个3*3的方框框柱图像里的像素,中间像素的值用框柱的九个值的中间值替代如下图:
卷积神经网络(个人总结)_第1张图片
下面我来介绍什么是卷积以及为什么会有卷积的出现。

我们知道,在卷积出来之前,几乎用的都是全连接神经网络,但是对于图像而言,直接用全连接神经网络是不可以的,因为你自己想象一下,一个正常尺寸的图像向量有多少维。于是卷积神经网络的出现就完美的解决了这种问题。卷积神经网络的中心思想就是提取图像中我们认为重要的部分,将他放大,而不是一股脑的整张图片全有用。卷积的用法和上面的中值滤波很像。但是卷积核带有权值,上面的中值滤波没有权值。卷积的定义如下图,即将框柱的部分进行点乘从而输出一个数,达到提取特征的目的,通过卷积核输出的图像称为特征图。
卷积神经网络(个人总结)_第2张图片
下面来介绍一种卷积核,叫高斯卷积核。
为什么会出现高斯卷积核以及出现的意义。我是这么理解的,一般卷积核的权值都会设为相同的数,但这就带来了一个问题,就是会出现横竖纹的情况,因为权值都一样就像那种磨皮的效果。 而高斯卷积核采用中心权值大,边缘权值小的方法来避免出现这种情况。下图是高斯卷积核权值的计算公式。
卷积神经网络(个人总结)_第3张图片这个公式中唯一的未知参数就是方差,根据不同的方差计算的结论就是:大方差或者大尺寸卷积核平滑能力强,小方差或者小尺寸卷积核平滑能力强,一般我们把高斯卷积核的半窗宽度设置为三倍的方差。下图是高斯卷积核的生成步骤:
卷积神经网络(个人总结)_第4张图片
下图是高斯卷积核的性质:
卷积神经网络(个人总结)_第5张图片
高斯卷积核的总结:
他能够有效的抑制噪声,实现图像平滑,同时,高斯卷积核亦可以堆叠和分解,他们都可以用于减少卷积计算的复杂度。

卷积与边缘提取

边缘:图像中亮度明显而急剧变化的点

边缘的种类:表面法向不连续,深度不连续,表面颜色不连续,光照不连续

卷积神经网络(个人总结)_第6张图片
卷积神经网络(个人总结)_第7张图片
下面介绍一种边缘检测方案:canny边缘检测器

1,用高斯一阶偏导核卷积图像
2,计算每个点的梯度幅值和方向
3,非极大值抑制(将输出的边缘宽的边变细)
4,连接与阈值(滞后):
定义两个阈值:低和高
使用高阈值开始边缘曲线,使用低阈值继续边缘曲线。(即先看高阈值,低阈值的只选取那些).

纹理表示

纹理的原理和边缘提取又是完全不一样的了,因为边缘的原理是急剧变化的点,而纹理不是这样,并且纹理有各式各样的。于是解决方案就是利用卷积核组来识别不同的纹理。如下图所示:
卷积神经网络(个人总结)_第8张图片步骤:
卷积神经网络(个人总结)_第9张图片
其实这个原理特别的通俗易懂,我跟你举个例子你就明白了,比如说你设计有七个卷积核的卷积核组,要去和一个图像分别进行卷积,你会得到一个深度为7的特征图组,其中特征值最大的就是那个图像的纹理。道理如下图所示:
卷积神经网络(个人总结)_第10张图片
总结:1,设计卷积核组
2,利用卷积核组对图像进行卷积操作获得对应的特征响应图组
3,利用特征响应图的某种统计信息来表示图像中的纹理。

卷积神经网络:
下面来正式介绍一下卷积神经网络,包括他的操作过程以及相比于全连接神经网络牛的地方。

首先,全连接神经网络的问题在于太复杂,计算量太大,拿一个32323的图像来说,隐层的每个神经元权值个数为32323=3072,而如果图像大小是2002003的话,那么隐层神经元的个数久为2002003=120000个,显然直接用全连接神经网络处理图像不是很合适。于是卷积神经网络应运而生。我个人而言觉得两者最主要的区别就是后者参数更少。

卷积网络中的卷积操作

通俗点来讲就是用一个卷积核去框柱一片局部区域。卷积核上必须要有权重。然后进行点乘,最后会得到一个实数。特征图就是由卷积核滑动得来的。

参数

参数有卷积核的长宽以及步长,其中输入数据矩阵尺寸和输出特征图的尺寸的换算关系为w2=(w1-F)/S+1。其中,F是卷积核尺寸,S为卷积步长。

但是为了保证输入图像和输出图像的尺寸大小一样,原始图像一开始要进行边界填充,因为按一般的卷积操作,输出的尺寸都会变小。

池化操作

作用:对每一个特征响应图独立进行,降低特征响应图组中每个特征响应图的宽度和高度,减少后续卷积层的参数的数量,降低计算资源耗费,进而控制过拟合。

操作:对特征响应图某个区域进行池化就是在该区域上指定一个值来代表整个区域。

常见的池化操作:
最大池化:使用区域内的最大值来代表这个区域。
平均池化:采用区域内所有值的均值作为代表。

超参数:池化窗口和池化步长

整个池化操作如下图:
卷积神经网络(个人总结)_第11张图片
针对图像识别中样本过少的问题,可以使用图像增强技术,就是将一个图像进行各种镜像转换或者切割等技术使一张图片可以当做几张图片来用。这种做法可以让模型观察到数据的更多内容,从而具有更好的泛化能力。

你可能感兴趣的:(机器学习日记,cnn,计算机视觉,深度学习)