DeepLab系列

本系列是基于像素分割的语义分割算法,目前分为3个版本。

DeepLabV1 和DeepLabV2

DeepLab系列
DeepLab系列

问题

作者认为语义分割需要解决三个问题:

  1. 过多的pool导致图片分辨率降低。
  2. 目标的大小变化。
  3. 由于pool使得DCNN(深度卷积圣经网络)具有不变性(图片翻转后类别不变),有利于分类任务,但是不利于稠密的预测任务比如语义分割,会损失定位精度。

解决

1 过多的pool导致图片分辨率降低。

去掉最后几个axpool(s=2->1)将接下来的卷积层转为膨胀卷积

  • 膨胀卷积的作用:
  1. 在没有加入参数和多余的计算情况下,扩大感受野。
  2. 可以控制图片生成任意大小的分辨率。

具体作法如下图所示,DeepLabV1是以vgg16为baseline。
DeepLab系列
图中蓝色框使用的是膨胀卷积,从图中可以看出,经过pool5后,从原来的缩小32倍,变为缩小8倍左右。

2 目标的大小变化。

multi_input 或者aspp(proposed)

  • multi_input:缩放某一张图片,然后输入到多个DCNN,最后将某一层的特征图放大到原图并融合所有的结果。但是这种做法计算量大。
  • 文中受spp的启发提出一种新的做法叫做ASPP即使用膨胀卷积的spp,实验结果表明,使用ASPP-L: four branches, r = {6, 12, 18, 24}的效果最好。ASPP如下图。

DeepLab系列
具体作法如下图所示:
DeepLab系列
在图b中,这些通道都是独立的,并行进行的。

3 由于DCNN(深度卷积圣经网络)具有不变性(图片翻转后类别不变),有利于分类任务,但是不利于稠密的预测任务比如语义分割,会损失定位精度。

提高模型掌握细粒度特征的能力。

  • 通常的做法是skip-layers。
  • 文的方法是使用fully connected Conditional Random Field (CRF) 。因为DCNN具有不变性,所以用于分类,FC-CRF对DCNN的输出进一步去噪细化,用于定位,使分割边界更加清晰。

其他提高精度的方法

  • 更改学习策略:由固定step更新lr转为使用某个函数计算lr,提高1.17%。
  • 数据增强:使用随机缩放输入图片的方式(0.5-1.5),提高1.59%。

缺点

  • 不能端到端进行训练。===>需要整合DCNN和FC-CRGF。

DeepLabV3

继续提高模型精度,根据一些现有的有利探索或是创新,优化之前的模型。

缺点

优点