Introduction
这篇文章是DeepLab系列文章的第三篇,也可以说是DeepLabv3. 这篇文章主要是对DeepLab系列的不断改进,在介绍这篇文章之前,我们先来看一下DeepLab系列论文的大致内容。
Dilated Convolution
Dilated Convolution,也可以叫做空洞卷积,最早在文章
Multi-Scale Context Aggregation by Dilated Convolutions
中被应用到分割领域。我们都知道,CNN的一大特点就是具有一定的平移不变性,这种性质对于分类来说大有裨益,但对于分割这种需要找到每个像素标签的dense classification任务来说,这种特性反而会导致我们很难以得到精确的分割结果,因为特征图的某个激活点代表的特征可能实际分布在激活点靠左,也可能分布在靠右。如果我们再往深一点考虑,这种平移不变性是怎么引入的呢?是池化,因为池化的存在,某个局部最大的激活点便会同时出现在池化后的多个位置,在Bengio等人写的DeepLearning一书中对此也有介绍。如果想要解决这个问题,那只需要把池化取消掉,或者把卷积层的步进(stride)全部设为1就好了。但是这样子又会带来两个新的问题:
感受野(Receptive Field)过小
计算量巨大
对于CNN,每一层的感受野都可以通过公式 RFi=RFi−1+(Ker<