机器学习10-卷积和卷积核3
- 纹理表示
- 卷积神经网络
- 全链接神经网络的瓶颈
- 卷积网络中的卷积操作
- 特征响应图组尺寸计算
- 池化操作
- 示例
- 图像增强
- 翻转
- 随机缩放抠图
- 色彩抖动
- 其他方案
- 1. 平移
- 2. 旋转
- 3. 拉伸
- 4. 径向畸变
- 5. 裁剪
纹理表示
如何去表示纹理?
基于卷积核组的纹理表示方法:利用卷积核组提取图像中的纹理基,利用基元的统计信息来表示图像中的纹理。
卷积核组
1.设计卷积核组
2.利用卷积核组对图像进行卷积操作获得对应的特征响应图组;
3.利用特征响应图的某种统计信息来表示图像中的纹理
ri ,哪种边缘信息的统计响应均值越高那么图中这个边缘种类就越多,记录这多个基元的响应图均值就记录了这张图的边缘信息。
颜色越浅均值越高。
1对应C
2===》A
3===》B
设计重点:
卷积核类型 (边缘条形以及点状)
卷积核尺度(3-6个尺度)
卷积核方向 (6个角度)
总结:
1.设计卷积核组;
2. 利用卷积核组对图像进行卷积操作获得对应的特征响应图组;
3.利用特征响应图的某种统计信息来表示图像中的纹理。
卷积神经网络
全链接神经网络的瓶颈
3072+1,120000+1 还有一个偏置b。全连接神经网络只适合处理小图像,处理大图像的计算量过大,速度会很慢。
如果使用卷积的方式,将图像卷积成几个特征,然后再将特征作为连接网络的输入层,可以大大减少计算量。
卷积核:
- 不仅具有宽和高,还具有深度,常写成如下形式:
宽度×高度×深度 - 卷积核参数不仅包括核中存储的权值,还包括一个偏置值
卷积网络中的卷积操作
计算过程:
- 将卷积核展成一个5x5x3的向量,同时将其覆盖的图像区域按相同的展开方式展成5x5x3的向量
- 计算两者的点乘。
- 在点乘的结果上加上偏移量
数学公式:w^T *x + b
w为卷积核的权值,b为卷积核的偏置
卷积神经网络中,卷积核可以按照指定的间隔进行卷积操作,这个间隔就是卷积步长。
特征响应图组尺寸计算
给定输入数据矩阵时,影响输出的特征图组尺寸大小的因素:
- 卷积核的宽、高;
- 是否采用边界填充操作;
- 卷积步长;
- 该层的卷积核个数
池化操作
在机器学习中,池化(Pooling)操作有以下几个重要作用:
-
- 降维
池化层通过对输入数据进行下采样,减少数据的维度。例如,最大池化(Max Pooling)会在一个局部区域内选择最大值作为输出,这样可以将输入数据的尺寸缩小,减少后续层的计算量。
- 降维
-
- 特征不变性
平移不变性:池化操作使得模型对输入数据的小幅度平移具有不变性。例如,最大池化选择局部区域内的最大值,无论该最大值在局部区域内如何平移,池化结果不变。
旋转不变性和缩放不变性:一定程度上,池化操作也能使模型对输入数据的小幅度旋转和缩放具有一定的不变性。
- 特征不变性
-
- 防止过拟合
池化操作通过减少参数数量和计算量,能够在一定程度上防止模型过拟合。通过降低数据的复杂度,模型更容易学习到数据中的主要特征,而不是记住每个数据点的细节。
- 防止过拟合
-
- 加速训练
由于池化操作减少了数据的维度,网络中的参数数量也相应减少,这使得训练过程中的计算量减小,从而加速训练过程。
- 加速训练
-
- 特征提取
池化操作可以帮助提取数据中的主要特征。例如,平均池化(Average Pooling)可以提取局部区域内的平均特征,最大池化可以提取局部区域内最显著的特征。
- 特征提取
常见的池化方法包括最大池化、平均池化和随机池化。不同的池化方法在不同的场景下有不同的应用效果。
常见的池化操作:
最大池化:使用区域内的最大值来代表这个区域
平均池化: 采用区域内所有值的均值作为代表。
池化层的超参数:池化窗口和池化步长
示例
图像增强
**存在的问题:**过拟合的原因是学习样本太少,导致无法训练出能够泛化到新数
据的模型。
数据增强: 是从现有的训练样本中生成更多的训练数据,其方法是利用多种能
够生成可信图像的随机变换来增加样本。
数据增强的目标: 模型在训练时不会两次查看完全相同的图像。这让模型能够
观察到数据的更多内容,从而具有更好的泛化能力
翻转
随机缩放抠图
以残差网络中的样本增强方法为例
输入要求:224x224的彩色图片
训练阶段:在不同尺度、不同区域随机扣取
1.在[256,480]之间随机选择一个尺寸L
2.将训练样本缩放至短边=L
3.在该样本上随机采样一个224×224的图像区域
测试阶段:按照一套预先定义的方式扣取
1.将图像缩放成5种尺寸:{224,256,384,480,640}
2.对每一个尺度的图像及其镜像图像,分别在其四个角及中间位
置扣取224×224区域,即可获得10个图像
色彩抖动
操作步骤:
1.利用主成分分析方法提取当前图像的色彩数
据([RGB])的主轴;
2.沿着主轴方向随机采样一个偏移;
3.将偏移量加入当前图像的每个像素。
其他方案
随机联合下述操作
平移
旋转
拉伸
径向畸变
裁剪
以下是对图像增强中涉及的平移、旋转、拉伸、径向畸变和裁剪操作的介绍:
1. 平移
- 定义:平移是指在图像平面内将图像沿水平或垂直方向移动一定的距离。
- 作用:可用于调整图像中感兴趣区域的位置,或者模拟图像在不同位置的情况。
- 实现方法:通过改变图像中每个像素的坐标位置来实现。例如,将图像中每个像素的x坐标增加一个固定值表示水平平移,y坐标增加一个固定值表示垂直平移。
2. 旋转
- 定义:旋转是将图像围绕一个中心点(通常是图像的中心)按一定角度进行转动。
- 作用:可用于校正图像拍摄时的倾斜角度,或者为数据集增加旋转变化的数据以提高模型的泛化能力。
- 实现方法:利用旋转矩阵来计算每个像素在旋转后的新坐标位置。旋转操作通常会导致图像出现空白区域,需要通过插值等方法来填充这些空白区域。
3. 拉伸
- 定义:拉伸包括水平拉伸和垂直拉伸,是指改变图像在水平或垂直方向上的尺寸比例。
- 作用:可以模拟图像在不同分辨率或显示比例下的情况,或者用于纠正图像的宽高比。
- 实现方法:通过改变像素坐标的映射关系来实现。例如,水平拉伸可以通过将x坐标按一定比例缩放来完成。
4. 径向畸变
- 定义:径向畸变主要出现在广角镜头拍摄的图像中,图像会呈现出从中心向边缘逐渐变形的情况,分为桶形畸变和枕形畸变。
- 作用:在处理由广角镜头拍摄的图像时,校正径向畸变可以使图像恢复正常的几何形状。
- 实现方法:通常采用基于相机标定参数的数学模型来进行校正,例如通过计算畸变系数来还原图像。
5. 裁剪
- 定义:裁剪是指从原始图像中选取一个子区域作为新的图像。
- 作用:可以去除图像中不相关的部分,聚焦于感兴趣的区域,或者用于调整图像大小。
- 实现方法:通过指定裁剪区域的左上角坐标和右下角坐标来选择要保留的像素区域,去除其余部分。