卷积神经网络(CNN)

视觉处理三大任务:图像分类、目标检测、图像分割

上游:提取特征,CNN

下游:分类、目标、分割等,具体的业务

1. 概述

卷积神经网络是深度学习在计算机视觉领域的突破性成果。在计算机视觉领域, 往往我们输入的图像都很大,使用全连接网络的话,计算的代价较高。另外图像也很难保留原有的特征,导致图像处理的准确率不高。

​ 卷积神经网络(Convolutional Neural Network,CNN) 是一种专门用于处理具有网格状结构数据的深度学习模型。 最初,CNN主要应用于计算机视觉任务,但它的成功启发了在其他领域应用,如自然语言处理等。

​ 卷积神经网络(Convolutional Neural Network)是含有卷积层的神经网络. 卷积层的作用就是用来自动学习、提取图像的特征。

CNN网络主要有三部分构成:卷积层、池化层和全连接层构成,其中卷积层负责提取图像中的局部特征;池化层用来大幅降低运算量并特征增强;全连接层类似神经网络的部分,用来输出想要的结果。

1.1 卷积思想

卷:从左往右,从上往下

积:乘积,求和

1.4.1 概念

​ Convolution,输入信息与卷积核(滤波器,Filter)的乘积。

1.4.2 局部连接

  • 局部连接可以更好地利用图像中的结构信息,空间距离越相近的像素其相互影响越大。
  • 根据局部特征完成目标的可辨识性。

1.4.3 权重共享

  • 图像从一个局部区域学习到的信息应用到其他区域。

  • 减少参数,降低学习难度。

2. 卷积层

在这里插入图片描述

2.1 卷积核

​ 卷积核是卷积运算过程中必不可少的一个“工具”,在卷积神经网络中,卷积核是非常重要的,它们被用来提取图像中的特征。

卷积核其实是一个小矩阵,在定义时需要考虑以下几方面的内容:

  • 卷积核的个数:卷积核(过滤器)的个数决定了其输出特征矩阵的通道数(out_chainal)。
  • 卷积核的值:卷积核的值是初始化好的,后续进行更新。
  • 卷积核的大小:常见的卷积核有1×1、3×3、5×5等,一般都是奇数 × 奇数。

下图就是一个3×3的卷积核:
在这里插入图片描述

2.2 卷积计算

2.2.1 卷积计算过程

卷积的过程是将卷积核在图像上进行滑动计算,每次滑动到一个新的位置时,卷积核和图像进行点对点的计算,并将其求和得到一个新的值,然后将这个新的值加入到特征图中,最终得到一个新的特征图。
在这里插入图片描述

  1. input 表示输入的图像
  2. filter 表示卷积核, 也叫做滤波器
  3. input 经过 filter 的得到输出为最右侧的图像,该图叫做特征图

​ 那么, 它是如何进行计算的呢?卷积运算本质上就是在滤波器和输入数据的局部区域间做点积
在这里插入图片描述
左上角的点计算方法:
在这里插入图片描述
按照上面的计算方法可以得到最终的特征图为:
在这里插入图片描述
卷积的重要性在于它可以将图像中的特征与卷积核进行卷积操作,从而提取出图像中的特征
可以通过不断调整卷积核的大小、卷积核的值和卷积操作的步长,可以提取出不同尺度和位置的特征。

2.2.2 卷积计算底层实现

并不是水平和垂直方向的循环。

下图是卷积的基本运算方式:
在这里插入图片描述
卷积真正的计算过程如下图:
在这里插入图片描述

2.3 边缘填充

Padding

通过上面的卷积计算,我们发现最终的特征图比原始图像要小, 如果想要保持图像大小不变, 可在原图周围添加padding来实现。

更重要的,边缘填充还更好的保护了图像边缘数据的特征。
在这里插入图片描述

2.4 步长Stride

按照步长为1来移动卷积核,计算特征图如下所示:
在这里插入图片描述
如果我们把 Stride 增大为2,也是可以提取特征图的,如下图所示:
在这里插入图片描述
stride太小:重复计算较多,计算量大,训练效率降低;
stride太大:会造成信息遗漏,无法有效提炼数据背后的特征;

2.5 多通道卷积计算

首先我们需要认识下通道,做到颗粒度对齐~

2.5.1 数字图像的标识

我们知道图像在计算机眼中是一个矩阵
在这里插入图片描述
通道越多,可以表达的特征就越丰富~

2.5.2 具体计算实现

实际中的图像都是多个通道组成的,我们怎么计算卷积呢?

在这里插入图片描述
计算方法如下:

  1. 当输入有多个通道(Channel), 例如RGB三通道, 此时要求卷积核需要有相同的通道数。
  2. 卷积核通道与对应的输入图像通道进行卷积。
  3. 将每个通道的卷积结果按位相加得到最终的特征图。

如下图所示:
在这里插入图片描述

2.6 多卷积核卷积计算

​ 实际对图像进行特征提取时, 我们需要使用多个卷积核进行特征提取。这个多个卷积核可以理解为从不同到的视角、不同的角度对图像特征进行提取。

​ 那么, 当使用多个卷积核时, 应该怎么进行特征提取呢?
在这里插入图片描述

2.7 特征图大小

输出特征图的大小与以下参数息息相关:

  1. size: 卷积核/过滤器大小,一般会选择为奇数,比如有 1×1, 3×3, 5×5
  2. Padding: 零填充的方式
  3. Stride: 步长

那计算方法如下图所示:

  1. 输入图像大小: W x W

  2. 卷积核大小: F x F

  3. Stride: S

  4. Padding: P

  5. 输出图像大小: N x N

在这里插入图片描述

2.9 卷积参数共享

​ 数据是 32 × 32 × 3 32×32×3 32×32×3 的图像,用 10 10 10 5 × 5 5×5 5×5 的filter来进行卷积操作,所需的权重参数有多少个呢?

  • 5 × 5 × 3 = 75 5×5×3 = 75 5×5×3=75,表示每个卷积核只需要 75 75 75个参数。
  • 10个不同的卷积核,就需要 10 ∗ 75 = 750 10*75 = 750 1075=750个卷积核参数。
  • 如果还考虑偏置参数 b b b,最终需要 750 + 10 = 760 750+10=760 750+10=760 个参数。

全连接参数量: 10 ∗ 28 ∗ 28 ∗ ( 32 ∗ 32 ∗ 3 + 1 ) 全连接参数量: 10 * 28 * 28 *(32 * 32 * 3 + 1) 全连接参数量:102828(32323+1)

2.10 局部特征提取

通过卷积操作,CNN具有局部感知性,能够捕捉输入数据的局部特征,这在处理图像等具有空间结构的数据时非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值