查看原文
其他

CVPR2019 | Decoders 对于语义分割的重要性

you62580 极市平台 2021-09-20

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流点击文末“阅读原文”立刻申请入群~


CVPR2019 accepted list ID已经放出,极市已将目前收集到的公开论文总结到github上(目前已收集210篇),后续会不断更新,欢迎关注,也欢迎大家提交自己的论文:

https://github.com/extreme-assistant/cvpr2019

今天为大家推荐一篇CVPR2019 关于语义分割的文章 :

作者 | you62580

原文地址 | https://zhuanlan.zhihu.com/p/59044838

论文地址 | https://arxiv.org/abs/1903.02120


该文章提出了一种不同于双线性插值的上采样方法,能够更好的建立每个像素之间预测的相关性。得益于这个强大的上采样方法,模型能够减少对特征图分辨率的依赖,能极大的减少运算量。该工作在PASCAL VOC数据集上达到了88.1%的mIOU,超过了DeeplabV3+的同时只有其30%的计算量。


1. Introduction

在之前的语义分割方法中,双线性插值通常作为其最后一步来还原特征图的分辨率,由于非线性差值不能建立起每个像素的预测之间的关系,因此为了得到精细的结果,对特征图的分辨率要求较高,同时带来了巨额的计算量。


为了解决这个问题,本工作提出了Data-dependent Up-sampling (DUpsample),能够减少上采样操作对特征图分辨率的依赖,大量的减少计算量。同时得益于DUpsample, Encoder中的low-level feature能够以更小的运算量与Decoder中的high-level feature进行融合,模型结构如下所示:



我们可以看到,该网络将传统的非线性插值替换成DUpsample,同时在feature fuse方面,不同于之前方法将Decoder中的特征上采样与Encoder特征融合,本工作将Encoder中的特征下采样与Decoder融合,大大减少了计算量 ,这都得益于DUpsample。


2 Our Approach

其中以两倍为例,DUpsample的操作如下图所示:



我们可以用 1x1 卷积来完成上述的权重与特征相乘的过程。文章中作者指出,DUpsample的权重是经过预训练得到的,因此在上采样尺度比较大时,不会引入过多的学习参数,可以视为PixelShuffle的提升版本。


但是当我们将这个模块嵌入到网络时会遇到优化问题。因此我们使用softmax with temperature 函数来解决这个问题:



我们发现T可以使用梯度下降学习得到,这样减少了调试的麻烦。


有大量的工作说明,与low-level features结合可以显著的提升分割的精度,其做法如下:



f是在上采样之后的卷积操作,其计算量依赖于特征图的空间大小,这样做会显著增加计算量。得益于DUpsample,我们可以使用下列操作来减少计算量:



这样做不仅保证了在低分辨率下的有效性,而且减少了计算量,同时允许任意level feature的融合。


只有使用了DUpsample,上述操作才变得可行,否则语义分割的精度会被双线性插值限制。


3 Experiments

本次实验使用以下两种数据集:PASCAL VOC 2012 和 PASCAL Context benchmark. 我们使用ResNet-50或Xception-50作为我们的backbone,具体训练细节详见论文。


首先我们设计实验说明双线性插值的上限远远低于DUpsample。我们搭建一个简易网络实现auto-encoder,其中上采样方式分别使用双线性插值与DUpsample, 输入分别为ground_truth,得到下表中的mIOU*,这个指标代表上采样方法的上限。同时我们使用ResNet50作为主干网络,输入为raw image去实现语义分割,得到下表中的mIOU:



通过上表我们可以发现:1) 在相同条件下,DUpsampling效果优于bilinear。2)DUpsampling在output_stride=32的情况下效果与bilinear在output_stride=16的情况下结果相当。


接下来我们设计实验说明融合不同的low-level特征对结果的影响,如下表所示:



值得说明的是,并不是所有与low-level feature的融合都会提升结果,例如conv1_3,因为其结果不够鲁棒。因此和哪一层low-level feature相结合对语义分割的结果有很大的影响。


接下来我们设计实验与双线性插值进行比较:



可以看到我们的方法优于传统的双线性插值上采样方法。同时我们验证了不同的softmax对结果的影响,在没有使用softmax with tenperature的情况下只有69.81的mIOU(这里没设置消融实验有些疑惑,感觉不同的softmax对实验结果影响挺大的)。



最后将我们的方法与最新的模型进行比较,结果如下(分别为PASCAL VOC与PASCAL context):




我们的方法在只用deeplabv3+ 30%的计算量的情况下,超越了当前所有的方法。



总的来说,我觉得这个论文提出的想法很有趣,是一篇很有insight的论文。




*延伸阅读

语义分割 | context relation

CVPR2019 | 开源分割新算法MS R-CNN,性能超越何恺明Mask R-CNN

有关语义分割的奇技淫巧有哪些?

TorchSeg:基于pytorch的语义分割算法开源了


小Tips:如何查看和检索历史文章?

有不少小伙伴提问如何号内搜文章,其实很简单,在“极市平台”公众号后台菜单点击极市干货-历史文章,或直接搜索“极市平台”公众号查看全部消息,即可在如下搜索框查找往期文章哦~



ps.可以输入CVPR2019/目标检测/语义分割等等,快去探索宝藏吧~~



点击左下角阅读原文”,即可申请加入极市目标跟踪、目标检测、工业检测、人脸方向、视觉竞赛等技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~



觉得有用麻烦给个好看啦~  

视频 小程序 ,轻点两下取消赞 在看 ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存