此篇延伸补充的源头文章链接:
相关主题推荐文章:
相关论文集:
- Multi-Scale Context Aggregation by Dilated Convolution
- Understanding Convolution for Semantic Segmentation
- Ranking Atrous Convolution for Semantic Image Segmentation
缘由与长相
Dilated Convolution 和 Receptive Field 是一个密切相关的话题,Dilated Convolution 发展的源头可说是从 Semantic Segmentation 这个主题发展出来的技术,为的就是因应一个更为精确的物体识别问题:pixel-wise object detection。人们希望能够把小到像素级别的数据同样正确归类到所属的 classification 之中,这个挑战直接冲击到了旧有的方法。
原先的 CNN architecture 是用一个“实心”的 kernal 去扫描 input data,然后使用 pooling 方法直接暴力的删掉其余 75% 的信息量,只留下 25% 的原汁原味,这样的做法在还没有精确到 pixel-wise 的情况时还是可以行的通的,一旦要归类到小至 pixel 等级的尺度时,pooling 对原 data 的破坏力足以让事情搞砸,试想一个原始数据被经过 Convolution 剥离出了其区域特征后,接着下一个环节被大刀阔斧般的砍去内部信息,并且永久无法复原,这是在微小的 pixel 世界中无法接受的做法。
如果说 pooling 这种简单删减 data 让单位 output 中 Receptive Field 增大的方法不可行,就需要一个新的在不删减原始数据的情况下,直接让 Receptive Field 提升的办法:Dilated Convolution。简单的说,就是把原本“实心”的 kernal 元素之间按照一定规律插入 0 元素作为空格,如下图:
(a)就是原始的方法,是一个实心的 kernal ,中间没有半点缝隙,增大 Receptive Field 的办法就只有用更大的 kernal ,或是换个角度想,用了 pooling 之后 Receptive Field 也是跟着变大的。(b)和(c)则是插入了 0 元素之后 Dilated 的 kernal ,它是一个变向放大 kernal 的办法,放大后的直接好处就是可以让 Receptive Field 直接跟着一起扩大,扩大后的好处是让每个新的 output 能够有更好的局部视野,搜集到的特征也更有全局性一些。