加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。点击文末“阅读原文”立刻申请入群~
作者 | Liu-Kevin
来源 |
https://blog.csdn.net/limiyudianzi/article/details/87982122
这篇文章发表于CVPR 2019会议上,中国科学院自动化研究所所做关于全景分割问题。本文提出了一个叫做 Attention-guided Unified Network ( AUNet ) 的结构去解决全景分割问题,该方法在MS-COCO数据集上取得了目前最好的结果。
论文地址:https://arxiv.org/pdf/1812.03904.pdf
ps.CVPR2019 accepted list已经放出,极市已将目前收集到的公开论文总结到github上(包括本文及pdf下载),后续会不断更新,欢迎关注,也欢迎大家提交自己的论文:
https://github.com/extreme-assistant/cvpr2019
全景分割(Panoptic Segmentation)是一个比较新的分割概念,是指的对目标区域做实例分割(Instance Segmentation),对背景区域做语义分割(Semantic Segmentation)。这里借助论文中的一张图片进一步的说明。图中很多人在沙滩上放风筝,其中人和风筝是前景,而天空沙滩和远处的森林是背景,在背景的分割中,我们需要区分哪里是沙滩,天空和森林就行了,不需要具体指出有几棵树分别在哪里也就是所谓的语义分割。在前景的分各种,我们不仅仅要指出哪些是人,同时还要把不同的人区分标记,即要数出一共有几个人(这里人就是所谓的实例)也就是实例分割。
作者指出,之前的很多工作只是把实例分割和语义分割加在一起,但是并没有考虑二者内在的上下文信息的关系,比如说虽然树木和草地都是绿油油的有点相似,但是人只会站在草地上而不会站在树上。作者也是基于此提出了把语义分割和实例分割二者融合在一起的模型。同时,这篇文章也探讨了如何通过注意力机制实现用高层的图像特征提高分割的准确性。
这篇文章的主要贡献有以下几个:
1)作者提出了一个可以端到端训练的网络,用于前景和背景的分割,并且在MS-COCO数据集上取得了目前最好的结果。
2)尝试将前景信息和背景信息互补,并共同作用于提高结果。
AUNet,的形状如上图所示,该方法以特征金字塔(FPN)作为主干,之后分为了三个分支,分别叫做前景的分支,背景分支和RPN(faster-RCNN中的结构)分支。其中如前文提到的,作者用了两个注意力机制,试图互补前景的信息和背景的信息,其中一个方法叫做PAM (Proposal Attention Module)一个叫做MAM(Mask Attention Module)
PAM的具体方法如下图所示,这个注意力模块连接了RPN分支和背景分支。和大部分的注意力机制一样,作者将RPN分支的信息通过制作一个蒙版Mi 作用于背景分支(注意这里的蒙版用的是1-sigmoid因为RPN选择的前景信息,作为背景蒙版的时候应该用1减去)。这样使得分割任务集中更多注意力在局部目标上,以促进背景语义分割的准确性。在PAM的后面还加入了一个小的结构叫做背景选择,旨在过滤掉没有用的背景特征,个人感觉也可以看做一个小的attention机制。
MAM注意力模块连接了前景和背景分支,旨在互补二者的信息,方法与之前的类似,同时也用的1-sigmoid,还有背景选择。
同时在MAM中,为了解决在目标检测任务中的ROI尺寸的问题,作者又提出了另外一种插值的方法,叫做RoIUpsample, 用于解决尺寸不同的问题。
同时,在这个模型的训练中,前后分支之间并没有分别使用不同的loss,而是用了一个loss,这更加强了这是一个统一的模型这样一个特点。最终loss的形式是这样子的,L = λ1Lcls + λ2Lbox + λ3Lmask + λ4Lseg,是各个loss的加权平均。
在这个问题中,使用的评价标准叫做全景率(panoptic quality)可以同时的评价目标检测的好坏和分割结果的好坏,是一个比较综合的指标。
最终的结果如下,作者在MS-COCO数据集上取得了目前最好的结果。除了数值的结果以外,作者还展示了一些可视化的结果,包括注意力的区域。
菜鸟评价:作为一个菜鸟的收获如下,首先对于我来说,全景分割的这个任务是比较新颖的,数据集是18年才建立的,因为很少做自然图像了解也很少。其次是这个模型虽然看起来很复杂,但是因为确实是个非常复杂的分割问题,所以说可能相对于问题本身,模型如作者所述还是简单的。再次,background select这个小的操作之前没有看到的(井底之蛙),作者并没有很详细的介绍这个操作的初衷,所以感觉是之前别人提出来过的操作,也给我自己的模型搭建提供了一些新的点子。最后,通过high-level的信息去提高分割的准确性感觉是一个比较新的想法,值得思考。
*延伸阅读
觉得有用麻烦给个好看啦~