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

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

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

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

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

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

a5ab1b25022ac5707ea3d9392a1c6461.png

作者 | 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进行融合,模型结构如下所示:

21d30f18dab4b496d498f98a4fdba597.png

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

2 Our Approach

5edfdba0051354eea9fa9810f2b05c0e.png

a726d3bdd558a7862355649a684b09ca.png

1281f1ee64ada42c3bc7834ac4ac8c78.png

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

f20767b32f1d2cf33c2cdb9e9514a559.png

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

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

3306717489f119b24359ae18287da7bf.png

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

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

2485d58421fb71abb8a3f5a30ff6a5b3.png

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

696273841e106c4ac1d32c50d754ccd9.png

这样做不仅保证了在低分辨率下的有效性,而且减少了计算量,同时允许任意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:

441d8bf1094414a2c8d126999a292cb2.png

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

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

5c1f2e11600dc9ee1b5682f29d6353a7.png

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

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

91c76c001a3605a6a4341a1e45238ae7.png

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

2e2662eb389bb0d9a7afb5f4174831ef.png

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

8711f62a711551906533e01f88736786.png

455d11578882303906e4166fd195ed88.png

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

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

*延伸阅读

语义分割 | context relation

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

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

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

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

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

f9a7418405c1a07d4236250bb7d272f9.png

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


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

7c08ea286ab15364b5a16f2fde7095df.png

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值