三维卷积&空洞卷积

三维卷积

1. 大致的结构

下面就是 3D 卷积,其过滤器深度小于输入层深度(核大小<通道大小)。因此,3D 过滤器可以在所有三个方向(图像的高度、宽度、通道)上移动。在每个位置,逐元素的乘法和加法都会提供一个数值。因为过滤器是滑过一个 3D 空间,所以输出数值也按 3D 空间排布。也就是说输出是一个 3D 数据。
在这里插入图片描述

2. 2D与3D对比

2D常用于计算机视觉、图像处理领域:
2D 卷积2D卷积操作如图1所示,为了解释的更清楚,分别展示了单通道和多通道的操作。且为了画图方便,假定只有1个filter,即输出图像只有一个chanel。

其中,针对单通道,输入图像的channel为1,即输入大小为(1, height, weight),卷积核尺寸为 (1, k_h, k_w),卷积核在输入图像上的的空间维度(即(height, width)两维)上进行进行滑窗操作,每次滑窗和 (k_h, k_w) 窗口内的values进行卷积操作(现在都用相关操作取代),得到输出图像中的一个value。

针对多通道,假定输入图像的channel为3,即输入大小为(3, height, weight),卷积核尺寸为 (3, k_h, k_w), 卷积核在输入图像上的的空间维度(即(height, width)两维)上进行进行滑窗操作,每次滑窗与3个channels上的 (k_h, k_w) 窗口内的所有的values进行相关操作,得到输出图像中的一个value。

在这里插入图片描述
3D:三维卷积常用视频处理领域(检测动作及人物行为)。

3D 卷积3D卷积操作如图2所示,同样分为单通道和多通道,且只使用一个filter,输出一个channel。

其中,针对单通道,与2D卷积不同之处在于,输入图像多了一个 depth 维度,故输入大小为(1, depth, height, width),卷积核也多了一个k_d维度,因此卷积核在输入3D图像的空间维度(height和width维)和depth维度上均进行滑窗操作,每次滑窗与 (k_d, k_h, k_w) 窗口内的values进行相关操作,得到输出3D图像中的一个value.

针对多通道,输入大小为(3, depth, height, width),则与2D卷积的操作一样,每次滑窗与3个channels上的 (k_d, k_h, k_w) 窗口内的所有values进行相关操作,得到输出3D图像中的一个value。
在这里插入图片描述
参考:
https://blog.csdn.net/weixin_36836622/article/details/90355877
https://www.zhihu.com/question/266352189

空洞卷积

在这里插入图片描述

1.引入空洞卷积

该结构的目的是在不用pooling(pooling层会导致信息损失)且计算量相当的情况下,提供更大的感受野。 顺便一提,卷积结构的主要问题如下:

  • 池化层不可学
  • 内部数据结构丢失;空间层级化信息丢失。
  • 小物体信息无法重建 (假设有四个pooling layer 则 任何小于 2^4 = 16 pixel 的物体信息将理论上无法重建。)

而空洞卷积就有内部数据结构的保留和避免使用 down-sampling 这样的特性,优点明显。

2.结构

感受野 积神经网络中每层的特征图(Feature Map)上的像素点在原始图像中映射的区域大小,也就相当于高层的特征图中的像素点受原图多大区域的影响!
感受野越大——每个卷积输出都包含较大范围的信息

这对于视觉任务来说十分的关键!所以在设计神经网络时,要充分考虑到感受野的问题,这样模型也会更加精确和鲁棒~。

扩张率(dilation rate) 主要用来表示扩张的大小 该参数定义了卷积核处理数据时各值的间距。

在这里插入图片描述
kernel都是3*3

  • 图(a)为1-dilated conv,感受野为3×3
  • 图(b)为2-dilated conv,跟在1-dilated conv后面,感受野扩大为为7×7
  • 图©为4-dilated conv,同样跟在1-dilated conv以及2-dilated conv后面,感受野扩大为为15×15
  • 相比之下,使用stride为1的普通卷积,三层后的感受野仅为7×7

3.空洞卷积的作用

(1)扩大感受野

在deep net中为了增加感受野且降低计算量,总要进行降采样(pooling或s2/conv),这样虽然可以增加感受野,但空间分辨率降低了。**为了能不丢失分辨率,且仍然扩大感受野,可以使用空洞卷积。**这在检测,分割任务中十分有用。一方面感受野大了可以检测分割大目标,另一方面分辨率高了可以精确定位目标。

(2) 捕获多尺度上下文信息

空洞卷积有一个参数可以设置dilation rate,具体含义就是在卷积核中填充dilation rate-1个0,因此,当设置不同dilation rate时,感受野就会不一样,也即获取了多尺度信息。

4.问题:

(1) Gridding Effect

扩张卷积虽然在不损失特征图尺寸的情况下增大了感受野,但是也会带来新的问题,主要是体现在卷积的输入,由于卷积核是有间隔的,这意味着不是所有的输入都参与计算,整体特征图上体现出一种卷积中心点的不连续,尤其是当叠加的卷积层都是用相同的dilation rate的时候:
在这里插入图片描述
上图中示例是三个dilation rate=2扩张卷积层连续卷积后的结果,蓝色的标识是参与计算的卷积中心,而颜色的深度表征次数。可以看到,由于3次的dilation rate是一致的额,所以卷积的计算中心会呈现出一种网格状向外扩展,有一些点不会成为计算的中心点。

(2)

光采用大 dilation rate 的信息或许只对一些大物体分割有效果,而对小物体来说可能则有弊无利了。

5.解决

解决这个问题最直接的方法当然就是不使用连续的dilation rate相同的扩展卷积,但是这还不够,因为如果dilation rate是成倍数的,那么问题还是存在。所以最好的方式是将连续排布的扩张卷积的dilation rate设置为“锯齿状”,比如分别是[1,2,3],

一个简单的例子: dilation rate [1, 2, 5] with 3 x 3 kernel (可行的方案):
在这里插入图片描述
而这样的锯齿状本身的性质就比较好的来同时满足小物体大物体的分割要求(小 dilation rate 来关心近距离信息,大 dilation rate 来关心远距离信息)。

空洞卷积一般应用在语义分割上~

参考:
https://blog.csdn.net/chaipp0607/article/details/99671483
感受野计算
https://www.jianshu.com/p/f743bd9041b3
https://www.cnblogs.com/hellcat/p/9687624.html

猜你喜欢

转载自blog.csdn.net/weixin_45019830/article/details/107454022
今日推荐