一文搞定3D卷积

一文搞定3D卷积

在讨论卷积核的时候,是不把channel维加进去的

核 = 一个可以滑动的窗口

窗口内不同位置数据之间的权值共享

3D卷积,卷积核会在3个方向上运动,那么卷积核的运动需要有三个自由度(一小块立方体,在一个大面包块内3个方向上滑动
2D卷积,卷积核只在2个方向上运动,因此只有两个自由度(一小片纸,在一大张纸内2个方向上滑动
1D卷积,卷积核只在1个方向上运动,因此只有一个自由度(一条滑窗,在一大长线上1个方向上滑动

一个卷积核运算一次 得到一个输出值


以上讨论了单个卷积核,接下来考虑多通道,一个卷积核对应一个通道

多通道同一位置,同时并行计算(矩阵运算

CxHxW
2D卷积HW方向滑动内积:
输入:多通道2D Map(蓝色)
过程:拼接各kernel内积结果
输出:单通道(绿色)
一文搞定3D卷积_第1张图片TxHxW 取某一通道为例:
3D卷积HWT方向滑动内积
输入:多时间3D Cube(蓝色)
过程:拼接各kernel内积结果
输出:多时间3D Cube(绿色)
一文搞定3D卷积_第2张图片

3D卷积

下图是C3D论文中配图 (b) (c) 都是视频cube作为输入
一文搞定3D卷积_第3张图片
视频输入:CxTxWxH 不能用一个立方体表示了;
考虑输入:C个并列的维度为TxWxH的cude(多个蓝色cube同时算)
用一个小方块在cube中3个方向滑动,得到一个厚度为时间步的输出


2D卷积情况下,此文第一张图 橘色块到绿色片的转化,上图为过程演示

3D卷积情况下,不画图解释了,就是多个维度相同的cube叠加到同一个cube,2d时的纸片看作切片面包

卷积分解

先说一个 1x1 卷积,不属于卷积分解
如果我们要做5x5卷积,先在之前加一个1x1卷积 用于降维/通道(1x1卷积核个数<输入通道数 即可实现低成本降维/通道)
原本一步操作分成2步操作,有分解那味了

// 假设
input feature maps:28×28  channel:256
1x1 convolutional layer:1x1 channel:16
5x5 convolutional layer:5x5 channel:32
   
// 仅一步32个5x5卷积
卷积核参数量 = 256x5x5x32 = 201800

// 两步:5x5 卷积之前经过了 1x1 卷积
输入的 size 为 28x28x256 经过 1x1 卷积后 size 为 28x28x16 (通道数256降低至16)
再5x5卷积
卷积核参数量 = 256x1x1x16 + 16x5x5x32 = 16896

同理,1x1卷积核个数>输入通道数,即可升维度

Q:是否损失信息?
A:理论模糊(跨通道信息交互啦耦合解耦通道信息啦不损失分辨率啦),实验结果说明并没有损失很多信息,最大好处减少参数量~


空间可分离卷积

1个二维卷积核分解为2个一维卷积核点积

比起卷积,空间可分离卷积要执行的矩阵乘法运算也更少。假设我们现在在 m x m 卷积核、卷积步长=1 、填充=0 的 N x N 图像上做卷积。传统的卷积需要进行 (N-2) x (N-2) x m x m 次乘法运算,而空间可分离卷积只需要进行 N x (N-2) x m + (N-2) x (N-2) x m = (2N-2) x (N-2) x m 次乘法运算

深度(通道)可分离卷积

Depthwise Separable Convolution

2D卷积的 多通道输出,不add,而进行stack
一文搞定3D卷积_第4张图片

Pointwise Separable Convolution

上一步stack后的多通道输出,通过一个"1x1x通道数"的卷积核计算,一个核输出一个通道
一文搞定3D卷积_第5张图片流程如下:
一文搞定3D卷积_第6张图片等同于
一文搞定3D卷积_第7张图片
肉眼可见参数量的大大缩小
3x3x3x128 -> 3x3x3 + 1x1x3x128

另一篇解释:https://yinguobing.com/separable-convolution/#fn2


S3D, (2+1)D, P3D

k_t x k x k --> 1x k x k (saptial, depthwise) + k_t x 1 x 1(temporal, pointwise)

CSN

Channel-Separated Convolutional Networks
下图是CSN 论文配图:卷积(chanel合并),组卷积(组内channel合并),depthwise卷积(channel不合并)
一文搞定3D卷积_第8张图片

分解channel

CHW为输入:

  • 普通卷积:空间下采样,通道合1
  • channel-wise卷积:空间下采样,通道拼接
  • point-wise卷积,空间不变,通道合1

你可能感兴趣的:(视频理解)