Here we go
本文所提到的是DeepLabv2: DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
项目地址:http://liangchiehchen.com/projects/DeepLab.html
University of California- Los Angeles的Liang-Chieh Chen(左0)和 google的George Papandreou(左1)The first two authors contribute equally to this work 纯洁的革命友谊!
![]()
关键词:Atrous Convolution ;hole算法
本文贡献主要在 3 4个方面:
1. Atrous Convolution 也就是前一版中 hole算法
2. Atrous spatial pyramid pooling(ASPP)
3. CRF
4. 101篇参考文献,良心出品!
故事背景
FCN出现之前分割技术和分类技术还不是在一个全卷积网络中的,也有很多好的文章值得一读,FCN把全连接改为了卷积,score map上采样之后对图片进行像素级的分割,后续也有很多文章对其进行改进并取得了不错效果,本文就是其中具有代表性的一个工作,其中本文用到的hole算法比较经典,也是本文重点介绍的地方,至于CRF,感兴趣的童鞋可以找相关文献撸公式。
本文在当时Pascal 刷到79.7%,不错的成绩了,说到Pascal 禁不住感叹下Jianping团队,现在的成绩,,,
一句话总结:
本文降低stride并使用hole算法代替上采样,使用multi-scale,endtoend训练之后加入crf,得到了比较好的结果,其中最高是使用coco pretrain的ResNet101模型,输入三种图片尺度融合之后使用CRF,达到79.7%的效果。
1. Atrous Convolution
atrous convolution 简单来理解就是将filter中以rate=r的间隔保留参数,结合下图:
可以看到此一维atrous convolution 中 虽然kernel size的跨度为5,但是这个filter是带孔的,也就是实际只有3个不为零,这样改动的优点有:
- 与kernel size=5的filter相比,参数量要少(与kernel size=3相同),计算量要少,输出的feature 却相同dense的feature
- 可以通过rate的大小,较随意的设置感受野大小,却不用担心padding过大的问题,这也是为aspp奠定了基础
实施中,作者分别在caffe和TensorFlow中使用了不同的方案:caffe中通过修改im2col函数来调整对feature maps的采样,而在TensorFlow中则通过产生
r2
个子feature maps 保持filter不变来达到 相同的效果。
2. Multiscale
本文中 用了两种方法,在VGGs中通过ASPP进行了4个不同感受野的feature maps的融合。
另外在ResNet101上直接使用了三种不同尺寸的原始图片输入同一参数的模型中,aspp之后,对得到的score maps进行融合。
3. Results
这里只列出Pascal voc 2012的结果,使用power等于0.9的poly的学习策略要好于step,crf后面会有文章详细介绍,其他影响因素见下表: