ICLR 2015 (International Conference on Learning Representations)
github-caffe
文章目录
Deeplabv1
概述
- 解决的问题?
- 语义分割;
- 相对于以往的工作,要让分割的边界更加的精确(导致不精确的根本原因是高层特征的平移不变性,微微小的位置细节变化在高层特征上无法表示);
- 采用的方法?
- Deeplab结合了深度卷积神经网络(DCNNs)和概率图模型(DenseCRFs)。
- 将hole(空洞卷积)应用在DCNNs模型上。
- 结果如何?
- 相比于传统的视觉算法(SIFT or HOG),DCNN以其end-to-end的方式获得了很好的效果,
- 在pascal-voc2012上获得state-of-the-art 的效果,测试集上达到71.6% IOU accuracy,
- 速度上,现代GPU上8fps,全连接CRF平均推断需要0.5s。
- 评估
- 速度快,精度高。
- Deeplab是由两个非常成熟的模块组成——DCNN&CRFs级联而成。
- 后续的direction:需要将CNN和CRF(Conditional random field)整合为end-to-end的系统。将论文的结构应用在其他的数据集上,如depth maps or videos。
图片来自官方的PPT

细节
section1
结构都是我们现在熟悉的结构。主要讲一下结构的大致构造。
- 训练的时候使用的预训练模型是VGG16的权重,然后进行finetune,当然,最VGG16还要进行结构的修改才能符合我们的训练要求:
- 将VGG16后面的全连接层改为全卷积层。
- 为了更加密集的采样,在最后的两个pool层,不进行下采样。
- 将倒数第二个pool后的紧随的三个卷积变成2x采样率的空洞卷积,将最后一个pool后的第一个FC层变成4x采样率的空洞卷积(扩大感受野,但是不增加参数量)。
- 训练时,损失函数取的是输出的特征图与ground truth下采样8倍做交叉熵和;但是测试时候,取输出特征图的双线性插值上采样8倍得到的结果。

- 由上面得到的分割结果,是比较粗糙的,在轮廓部分的分割效果将不会很好,没有确切的轮廓。有以下几种方式去解决:
- 利用卷积网络中多个层次的信息,如FCN中的skip connection。
- 还有一种方法就是,employ a super-pixel representation。这个有论文在用,且效果不错。这篇论文大致就是:首先对输入图像以superpixel来提取CNN的特征(使用VGG16),然后把这些特征作为CNN classifier的输入,输出每个superpixel的类别。相当于是换一种思路来进行分割。
- 这篇论文就是采用了CRF来做这件事情。就是将DCNNs的识别能力和全连接CRFs细粒度定位精度结合起来,来产生更加精确的定位效果,从而使分割的效果、边界细节的判断也会更加的好。详情在section2。
section2
这个部分主要对CRF进行一个描述。
- 传统方法中,有使用CRFs来平滑噪声分割图(smooth noisy segmentation maps),这些模型会包括耦合相邻节点的energy terms,favoring same-label assignments to spatially proximal pixels(有利于相同标签分配空间近端像素??不懂。。。)。定性来看,这些短范围(short-range)的CRFs的主要功能就是,it clean up the spurious predictions of weak classifier built on top of local hand-engineered features。
- 相对于这些弱分类器,现在的深度卷积网络表现得好很多。在这种情况下,使用local-range的CRF就不是很好,因为虽然这样做会改善定位的表现,但是会失去许多thin-structures。为了克服short-range CRFs的局限性,就将我们的系统与全连接CRF模型整合在一起。
- 关于CRF,参考这篇博文:here
section3
多尺度的预测
- 本文还探索了使用多尺度预测来增加对边界检测的准确性。具体做法是在输入图像和前四个池化层的输出附加了两层MLP(第一层:128个3x3卷积,第二层是128个1x1卷积),他们的输出和最后的输出进行channel的concat操作,合起来,最后的softmax层输入特征多了5x168=640个channels,实验表明多尺度有助于提高精度,但是效果不如CRF明显。
result
实验的一些条件:
Name | Info |
---|---|
Backbone | VGG16(pre-trained on ImageNet) |
Dataset | Pascal VOC 2012 |
Batch size | 20 |
initial Lr | 0.001(0.01 for the final classifier layer),x0.1/2000 iters |