参考博客:深度学习笔记----三维卷积及其应用(3DCNN,PointNet,3D U-Net)_YOULANSHENGMENG的博客-CSDN博客
三维卷积与二维多通道卷积
多通道卷积
先看多通道卷积的原理:
在图中,具体过程是:三通道的图像与深度为3的卷积核做卷积操作,例如:三通道6 * 6大小的图片与卷积核做卷积,卷积核的的每一层与对应的通道做卷积,分别得到4 * 4的输出,然后对应位置相加得到4 * 4的特征图。这是一个卷积核的结果,加上多个filter卷积操作后就可以提取不同的特征。
多通道卷积与三维卷积的联系
事实上多通道卷积可以看成三维卷积的过程,只不过是卷积只在二维平面上滑动,实际上就是将通道拼接在一起了,如下图:在一个filter中channel number =kernel number,这个三维filter只在H和W方向移动,因此本质还是二维卷积过程。这样我们得到的还是提取了某一特征的feature map。
如果要继续提取别的特征,则需要加filter,这样就能提取到不同的特征,如下图:
Din还是指的输入特征图的channels,也即单个filter的kernels数目,Dout为需要输出的特征图通道数,那么我们需要Dout个filter对输入图片进行卷积。
二维卷积计算量:
输入[Hin, Win, Din] ,k个filter,每个filter大小为[w, h, Din],步长s,填充p
Hout = (Hin+ 2 * p - h) / s
Wout = (Win+ 2 * p - w) / s
Dout = k
参数数量:(w * h * Din + 1)k
计算量:大约为 h * w * Din * Hout * Wout * k
三维卷积
在三维卷积中,与上面多通道的二维卷积三维来展示最大的不同就是:输入特征图的channels 大于单个filter的kernel数目,这样就需要filter在深度方向也需要滑动。具体来看:
可以设输入继续为[Hin, Win, Din, Cin],k个filter,每个大小为[h, w,d],滑动步长设为s,填充为p
则可以得到输出:
Hout = (Hin+ 2 * p - h) / s + 1
Wout = (Win+ 2 * p - w) / s + 1
Dout = (Din+ 2 * p - d) / s + 1
Cout = k
参数数量:(1 + w * h * d)*k
计算量:h * w * d *Hout * Wout * Dout * k