-
由Deeplabv1提出的。
-
有两种实现方式:
- 一,卷积核填充0。
- 二,输入等间隔采样。
-
-
扩张率(dilation rate),也叫空洞数(Hole Size)。
-
标准卷积可以看做空洞卷积rate=1(Note:rate=2表示中间空洞间隙为1)的特殊形式。
-
中间的空洞间隙,计算感受野的时候,也属于感受野的有效范围。(单个卷积的感受野计算公式:[(rate-1)(k-1) + k] ** 2 ,其中(rate-1)(k-1) 是因为空洞而新增加的边长增量)
-
作用:
- 扩大感受野:
- 原本为了增加感受野同时不增加计算量,只能进行降采样(pooling或s2/conv),但空间分辨率(fm尺度)因此缩小了。
- 空洞卷积可以在不需要引入额外参数的前提下,任意扩大感受野。
- 一方面感受野大了可以检测分割大目标,另一方面分辨率高了可以精确定位目标。因此空洞卷积主要应用于检测、分割。
- 捕获多尺度上下文信息:
- 空洞卷积有一个参数可以设置dilation rate,具体含义就是在卷积核中填充dilation rate-1个0。
- 当设置不同dilation rate时,感受野就会不一样,也即获取了多尺度信息(常考deeplabv2的ASPP)。而多尺度信息在视觉任务中相当重要。
- 扩大感受野:
-
用法:
- 语义分割由于需要获得较大的分辨率图,因此经常在网络的最后两个stage丢弃降采样操作,改用空洞卷积减少感受野的丢失。
-
缺点:
- 在实际中不好优化,且缺少对应的算子加速,速度会大大折扣。
- 因为空洞卷积得到的某一层的结果中,邻近的像素是从相互独立的子集中卷积得到的,相互之间缺少依赖。因此存在gridding问题(网格效应/棋盘问题):
- 局部信息丢失:由于空洞卷积的计算方式类似于棋盘格式,某一层得到的卷积结果,来自上一层的独立的集合,没有相互依赖,因此该层的卷积结果之间没有相关性,即局部信息丢失。
- 远距离获取的信息没有相关性:由于空洞卷积稀疏的采样输入信号,使得远距离卷积得到的信息之间没有相关性,影响分类结果。
-
改进方法:
- HDC:
- 不同于采用相同的空洞率的deeplab方案,该方案将一定数量的layer形成一个组,然后每个组使用连续增加的空洞率,其他组重复。
- 如deeplab使用rate=2,而HDC采用r=1,r=2,r=3三个空洞率组合,这两种方案感受野都是13。
- 但HDC方案可以从更广阔的像素范围获取信息,避免了grid问题。
- 同时该方案也可以通过修改rate任意调整感受野。
- deeplabv3在v2基础上进一步探索空洞卷积,分别研究了级联ASPP与并联ASPP两种结构。
- HDC:
空洞卷积(Atrous/Dilated Convolution)
最新推荐文章于 2022-02-23 11:09:27 发布