三维卷积与二维多通道卷积

参考博客:深度学习笔记----三维卷积及其应用(3DCNN,PointNet,3D U-Net)_YOULANSHENGMENG的博客-CSDN博客

AComprehensive Introduction to Different Types of Convolutions in Deep Learning| by Kunlun Bai | Towards Data Science (medium.com)

三维卷积与二维多通道卷积

多通道卷积

先看多通道卷积的原理:

在图中,具体过程是:三通道的图像与深度为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

猜你喜欢

转载自blog.csdn.net/SL1029_/article/details/129696805