花了点时间梳理了一下DeepLab系列的工作,主要关注每篇工作的背景和贡献,理清它们之间的联系,而实验和部分细节并没有过多介绍,请见谅。
DeepLabv1
Semantic image segmentation with deep convolutional nets and fully connected CRFs
link:https://arxiv.org/pdf/1412.7062v3.pdf
引言
DCNN在像素标记存在两个问题:信号下采用和空间不变性(invariance)
第一个问题是由于DCNN中重复的最大池化和下采样造成分辨率下降,DeepLabv1通过带孔(atrous)算法解决。
第二个问题是分类器获得以对象为中心的决策需要空间不变性,从而限制了DCNN的空间精度,DeepLabv1通过条件随机场(CRF)提高模型捕获精细细节的能力。
DeepLabv1主要贡献
速度:带孔算法的DCNN速度可达8fps,全连接CRF平均预测只需0.5s。
准确:在PASCAL语义分割挑战中获得第二名。
简洁:DeepLab可看作DCNN和CRF的级联。
相关工作
DeepLab有别于two stage的RCNN模型,RCNN没有完全利用DCNN的feature map。
DeepLab和其他SOTA模型的主要区别在于DCNN和CRF的组合。
方法
空洞卷积
一维空洞卷积
kernel size=3,Input stride=2,stride=1。
理解空洞卷积
feature map变小主要是由于卷积层和池化层引起的,若另所有层的stride=1,输出feature map将会变大。
原始情况下Pooling layer stride=2,receptive field=4
另Pooling layer stride=1,receptive field=3,输出更dense,但感受野变小。
采用空洞卷积后,receptive field=4
跟第一张图相比,在蓝色节点的基础上多了红色节点,在保持感受野使输出更加dense。
条件随机场
全连接CRF模型使用的能量函数E(x)
分为一元势能函数和二元势能函数。
一元势能函数刻画观测序列对标记变量的影响。
当我们观察到像素点i,是DCNN计算像素i的输出标签的分配概率。
二元势能函数