很多人容易混淆2D卷积和3D卷积的概念,把多通道的2D卷积当成3D卷积,本文展示了一种直观理解2D卷积和3D卷积的方式。
2D卷积
单通道
首先了解什么是卷积核,卷积核(
filter
)是由一组参数构成的张量,卷积核相当于权值,图像相当于输入量,卷积的操作就是根据卷积核对这些输入量进行加权求和。我们通常用卷积来提取图像的特征。
直观理解如下:下图使用的是 3×3卷积核(height x width,简写
H
×
W
H \times W
H
×
W
) 的卷积,
padding
为1(周围的虚线部分,卷积时为了使卷积后的图像大小与原来一致,会对原图像进行填充),两个维度上的
strides
均为1(滑动步长,这里体现为每次滑动几个小方格)。
上图是通道数为1的2维图像的卷积操作,静态表示为:
多通道
了解了单通道图像的卷积之后,再来看多通道图像的卷积,我们知道灰度图像只有一个通道,而 RGB 图像有R、G、B三个通道。
多通道图像的一次卷积要对所有通道上同一位置的元素做加权和,因此卷积核的shape变成了
H
×
W
×
c
h
a
n
n
e
l
s
H\times W\times channels
H
×
W
×
c
h
a
n
n
e
l
s
,没有错卷积核变成了3维,
但这不是3维卷积
,因为我们区分几维卷积看的是卷积核可以在几个维度上的滑动,卷积核是不能在
c
h
a
n
n
e
l
s
channels
c
h
a
n
n
e
l
s
上滑动的,因为上面提到每次卷积都要关联所有通道上同一位置上的元素。
3通道的卷积表示如下:
上图将3个通道分开表示,卷积核也分开表示,filter1、filter2、filter3均为二维卷积核,堆叠在一起便形成了
H
×
W
×
3
H\times W \times 3
H
×
W
×
3
的卷积核,同样的我们将3个通道也堆叠在一起,于是形成了下面的3维表示图:
3D卷积
单通道
用类似的方法我们先分析单通道图像的3D卷积,3D卷积的对象是三维图像,因此卷积核变成了
d
e
p
t
h
×
h
e
i
g
h
t
×
w
i
d
t
h
depth\times height\times width
d
e
p
t
h
×
h
e
i
g
h
t
×
w
i
d
t
h
简写为
D
×
H
×
W
D\times H\times W
D
×
H
×
W
。单通道的3D卷积动态图如下:
将上述静态表示成:
多通道
多通道的3D卷积核shape为
D
×
H
×
W
×
c
h
a
n
n
e
l
s
D\times H\times W\times channels
D
×
H
×
W
×
c
h
a
n
n
e
l
s
,我们还是首先将各通道分开画:
然后将filter1、filter2、filter3堆叠在一起形成一个4维卷积核
D
×
H
×
W
×
3
D \times H\times W \times 3
D
×
H
×
W
×
3
,同理将各通道堆叠在一起就形成了多通道的3D卷积输入图像。