查看原文
其他

为什么要用空洞卷积?

左右Shawn 智能算法 2021-09-10

我们知道正常的卷积已经能够提取特征了,那么空洞卷积又是做什么的呢?


空洞卷积(atrous convolutions),又称扩张卷积(dilated convolutions),向卷积层引入了一个成为“扩张率(dilated rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。下图是正常卷积核空洞卷积的动态图对比:

下图为卷积核为3x3,步长为1的普通卷积:

下图为卷积核为3x3,步长为1,扩张率为1的空洞卷积:

对比上两动图,先感受下区别。


空洞卷积有什么用呢?

在深度网络中为了增加感受野且降低计算量,总要进行降采样池化等,这样虽然可以增加感受野,但空间分辨率降低了。为了能不丢失分辨率,且仍然扩大感受野,可以使用空洞卷积。这在检测时,一方面感受野大了可以检测分割大目标,另一方面分辨率高了可以精确定位目标。另外,还可以通过调整扩张率来获得多尺度信息。

所以总的来说,空洞卷积主要作用:

  • 不丢失分辨率的情况下扩大感受野

  • 调整扩张率获得多尺度信息


不丢失分辨率的情况下扩大感受野:

我们通过图例来看下空洞卷积是如何发挥作用的?首先空洞卷积是怎么在不丢失特征分辨率的情况下扩大感受野,看下图:

上图左侧为对0-9共10颗像素的正常3x3卷积,padding为same,stride=1的情况下,我们知道其卷积后共得到10个特征,每个特征的感受野均为3x3,如左侧红色的那个特征覆盖3,4,5三颗像素(想象二维情况下应该是3x3)。

上图右侧为对0-9共10颗像素的空洞3x3卷积,这里的3x3是指有效区域,在padding为same,stride=1的情况下,也得到了10个特征,但是每个特征的感受野为5x5,如右侧蓝色的那个特征覆盖2,3,4,5,6五颗像素(想象二维情况下应该是5x5)。


这就在不丢失特征分辨率的情况下扩大了感受野,进而对检测大物体有比较好的效果。


调整扩张率获得多尺度信息:

那么如何通过调整扩张率来获得多尺度信息呢?我们一起看下图:

上图右侧为对0-9共10颗像素的空洞3x3卷积,这里的3x3是指有效区域,在padding为same,stride=1,dilated rate=1的情况下,也得到了10个特征,但是每个特征的感受野为5x5,如右侧蓝色的那个特征覆盖2,3,4,5,6五颗像素(想象二维情况下应该是5x5)。

而左侧为为3x3空洞卷积,padding为same,stride=1, dilated rate=2的情况下,我们可以看到卷积后的特征的感受野为7x7,如红色特征的感受野为1,2,3,4,5,6,7。


所以,我们可以通过调整dilated rate大小,来调整卷积层的感受野,不同的感受野可以感受不同尺度信息的物体。


So, 你Get到了吗?


推荐阅读



全网 | 深度学习语义分割算法(精选15篇)

全网 | 机器视觉特征点提取及模板匹配(精选11篇)

全网 | 深度学习目标检测算法(精选12篇)

全网 | 机器学习入门实战(精选10篇)

这38篇原创文章,带我入门深度学习!

重磅!智能算法技术交流群成立啦!

扫描下方二维码,添加 智能算法小助手微信,可申请入智能算法学习群(备注智能算法)。

按扫码,申请入群

(添加人数较多,请耐心等待)

 

最新 AI 干货,我在看❤️

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存