卷积计算
单通道卷积
最基础的卷积过程,必须理解这个过程
计算过程
- 确定图像大小
- 确定Stride步长
- 确定Padding扩充
设图像大小为(5,5,1),长为5,宽为5,1个通道
设卷积核大小为(3,3),stride=1,padding=0
综上所述我们得到W=5,F=3,P=0,S=1
计算公式
outputSize = [( W-F+2*P ) / S] + 1

计算结果
= (5-3+0)/1+1=3最终size为3*3,卷积核数量为1所以为(3,3,1)
多通道卷积(深度卷积)
计算过程
- 确定图像大小(彩色图像比二维多一个通道channel数)
- 确定Stride步长
- 确定Padding扩充
设图像大小为(5,5,3),长为5,宽为5,3个通道(RGB)
设卷积核大小为(3,3,3),stride=1,padding=0
卷积核的数量为1,卷积核的通道数为3
综上所述我们得到W=5,F=3,P=0,S=1
计算结果
因为只有一个卷积核所以最后得到的channel是1。
Input(5,5,3)----Conv(3,3,3)---->Output(3,3,1)
遵循公式
输入的通道数 === 卷积核的通道数
输出的通道数 === 卷积核的个数

假设输入层为一个大小为64×64像素、三通道彩色图片。经过一个包含4个Filter的卷积层,最终输出4个Feature Map,且尺寸与输入层相同。整个过程可以用下图来概括。

逐通道卷积
同样是上述例子,一个大小为64×64像素、三通道彩色图片首先经过第一次卷积运算,不同之处在于此次的卷积完全是在二维平面内进行,且Filter的数量与上一层的Depth相同。所以一个三通道的图像经过运算后生成了3个Feature map,如下图所示:

逐点卷积
逐点卷积就是多通道卷积的特殊形式,每个卷积核为(1,1)大小。
Pointwise Convolution的运算与常规卷积运算非常相似,不同之处在于卷积核的尺寸为 1×1×M,M为上一层的depth。所以这里的卷积运算会将上一步的map在深度方向上进行加权组合,生成新的Feature map。有几个Filter就有几个Feature map。如下图所示:

计算过程
使用(1,1,numOfChannels ) 的卷积核进行卷积
思想:使用1x1卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,3x3,64channels的卷积核后面添加一个1x1,28channels的卷积核,就变成了3x3,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了28channels,这就是通道间的信息交互。
可以实现
可以实现在(width,height)不变的情况下,修改channel的数量。
Separable Convolution深度可分离卷积
回顾一下,常规卷

本文详细介绍了卷积计算的基础过程,包括单通道和多通道卷积,以及深度可分离卷积的原理和优势。通过实例和计算步骤,展示了如何运用不同类型的卷积核(如1x1、3x3等)进行操作,并讨论了池化计算在结构中的作用。还提到了YoloV1网络结构中卷积层的配置。
1万+

被折叠的 条评论
为什么被折叠?



