点击上方“AI算法修炼营”,选择加星标或“置顶”
标题以下,全是干货
前言
我们可以看到,在已经公布的CVPR2020的文章来看,单纯的语义分割领域的文章已经不太多,往提升精度上来进行的工作也已经接近饱和。
现在的语义分割算法主要集中在小物体分割和分割边缘的处理上,代表性的工作有2019年英伟达提出的《G-SCNN: Gated Shape CNNs for Semantic Segmentation》该网络提出了一种新的思路,通过两个并行CNN结构来分别进行常规抽取和抽取图像的边界相关信息。作者将他们分别称为regular stream和shape stream。Regular steam的结构与传统的语义分割模型相似。而Shape stream的主要作用是获取图像中的边界信息,最终将两者信息进行融合,从而得到最终的分割结果。这类方法思路都是用了门控机制来融合low-level特征。
在建模上下文信息的方向也将视觉注意力机制中的Non-local工作和图卷积(Graph Convolution Network)等工作进行了各种花样式的改进与提升。
其中视觉注意力机制的代表性工作有:CCNet、DANet(可以关注公众号历史文章:《视觉注意力机制 | Non-local如何改进?来看CCNet、AANet》)。图卷积的代表性工作有:Graph-FCN。首先,研究者为图像语义分割问题构建图节点模型。
图模型方法广泛应用于分割问题,这类方法将像素视作节点,将节点之间的差异度(dissimilarity)视作边(edge)。最优的分割即对图执行最大割(maximum cut)。结合了概率论和图论的概率图模型方法(如马尔可夫随机场和条件随机场)被用于细化语义分割结果。这些方法将检测到的目标建模为图节点,通过提取目标之间的关系来改进检测准确率。相比于深度卷积模型把输入数据表示为网格结构,图模型具备更灵活的跳跃连接(skip connection),因此它可以探索图中节点之间的关系。
那么2020年之后,在提升精度方向接近饱满的情况,语义分割方向的研究该往哪走呢?
1、实时高精度语义分割
之前研究的语义分割模型精度不错,但是计算速度很慢,快的模型比如ICnet,它的精度又不够,那么有没有一种又快又好的语义分割模型?
该方向最近工作:
《Semantic Flow for Fast and Accurate Scene Parsing》 这篇文章在cityscape上面25fps,80mIoU, 应该是第一个在cityscapes数据集上面可以做到80mIoU的实时网络。具体详细解读可以参考公众号历史文章:《超强语义分割算法!基于语义流的快速而准确的场景解析》
论文地址:https://arxiv.org/abs/2002.10120
代码地址:https://github.com/donnyyou/torchcv
受光流技术启发,通常需要在相邻视频帧之间进行运动对齐,文章中提出了一种流对齐模块(FAM),以学习相邻层级特征图之间的语义流,并有效地将高层特征传播到高分辨率特征当中并进行对齐。此外,将FAM模块集成到一个通用的金字塔结构中,使得即使在非常轻量的骨干网络(如ResNet-18)上,也比其他实时方法具有更高的性能。
2. 半监督与弱监督语义分割
半监督语义分割是指使用未标注的数据和标注数据一起来提升语义分割模型的性能。最近也有很多论文在研究这个方向,因为毕竟语义分割的标注成本太高了。
弱监督监督语义分割是指使用比像素级别标注更弱的标注来监督语义分割网络,它同样也是为了节省成本。
整理近五年的弱监督语义分割的论文列表。希望对研究这个方向的你有所帮助:
● Box bounding box:
ICCV_2015:Exploiting Bounding Boxes toSupervise Convolutional Networks for Semantic Segmentation
CVPR_2018: Simple Does It_Weakly Supervised Instance and SemanticSegmentation
Arxiv_2018: Weakly Supervised Semantic Image Segmentation withSelf-correcting Networks
Arxiv_2019: DeepCut_Object Segmentation from Bounding BoxAnnotations using Convolutional Neural Networks
● Image level label:
CVPR_2015:From Image-level to Pixel-level Labeling withConvolutional Networks
CVPR_2016: Learning Deep Features for Discriminative Localization
CVPR_2017: Combining Bottom-Up, Top-Down, and Smoothness CuesforWeakly Supervised Image Segmentation
CVPR_2017: Object Region Mining with Adversarial Erasing: A SimpleClassification to Semantic Segmentation Approach
CVPR_2017: Weakly Supervised Semantic Segmentation using Web-CrawledVideos
CVPR_2017: WILDCAT:Weakly Supervised Learning of Deep ConvNets forImage
CVPR_2018: Revisiting Dilated Convolution:A Simple Approach forWeakly- and SemiSupervised Semantic Segmentation
CVPR_2018:Bootstrapping the Performance of WeblySupervised Semantic Segmentation
CVPR_2018: Object Region Mining with Adversarial Erasing: A SimpleClassification to Semantic Segmentation Approach
CVPR_2018: Weakly-Supervised Semantic Segmentation by IterativelyMining Common Object Features
CVPR_2018: Weakly-Supervised Semantic Segmentation Network with DeepSeeded Region Growing
CVPR_2018: Weakly Supervised Instance Segmentation using Class PeakResponse
ECCV_2016: Augmented Feedback in Semantic Segmentation under ImageLevel Supervision
ECCV_2016: Built-in Foreground/Background Prior for Weakly-SupervisedSemantic Segmentation
ECCV_2016: Built-in Foreground/Background Prior for Weakly-SupervisedSemantic Segmentation
ECCV_2016: Seed, Expand and Constrain: Three Principles forWeakly-Supervised Image Segmentation
ECCV_2018: Weakly- and Semi-Supervised Panoptic Segmentation
ICCV_2015: Constrained Convolutional Neural Networks for WeaklySupervised Segmentation
ICCV_2015: Weakly- and Semi-Supervised Learning of a DeepConvolutional Network for Semantic Image Segmentation
ICLR_2015: FULLY CONVOLUTIONAL MULTI-CLASS MULTIPLE INSTANCELEARNING
TPAMI_2017: STC: A Simple to Complex Framework for Weakly-supervisedSemantic Segmentation
● point:
ECCV_2016: What’s the Point: Semantic Segmentation with PointSupervision
● Scribble:
CVPR_2016: ScribbleSup: Scribble-Supervised Convolutional Networks forSemantic Segmentation
CVPR_2018: Normalized Cut Loss for Weakly-supervised CNNSegmentation
MICCAI_2016: 3D U-Net: Learning Dense Volumetric
Segmentation from Sparse Annotation
● 多种标记:
CVPR_2015:Learning to Segment Under Various Forms of Weak Supervision
CVPR_2018:Exploiting Saliency for Object Segmentation from Image Level Labels
3、Zero-Shot语义分割系列
Zero-Shot算法由图像分类领域转到Dense Prediction。
最近工作:
【1】NIPS-2019有一篇: Zero-Shot Semantic Segmentation
这篇论文提出了一个新的零样本语义分割任务,就是如何在零训练样本的前提下学习没有看到过的目标的像素分类。简单来说,就是在现今的语义分割模型中只能分割出训练数据集中存在的物品类别的信息,而识别不到新的训练集中不存在的类别信息,也就会使未看到的物品类别被分类成背景信息。因此如何零样本下完成模型的在学习过程,使模型可以识别出图像中的新的类别信息,是该论文主要解决的问题。
作者的目的是为了完成模型的补充学习,重新设计现有的语义分割框架,从而可以较为便利的识别到原始模型从未见过、看不见的场景和物体类别。
论文地址:https://arxiv.org/abs/1906.00817
参考解读:https://zhuanlan.zhihu.com/p/74841466
【2】最近这个作者又开了一个新分割任务:《 BUDA: Boundless Unsupervised Domain Adaptation in Semantic Segmentation》
论文地址:https://arxiv.org/abs/2004.01130
在这项工作中,定义并解决了语义分割中的一个新问题“无界无监督域自适应”(BUDA)。BUDA旨在针对这些从未见过的类进行显式的测试时间预测。为了实现此目标,提出了一种新颖的框架,该框架利用域自适应和零脉冲学习技术来实现目标域上的“无限”自适应。通过对目标伪标签进行自我训练,可以进一步提高性能。
4. 视频语义分割
视频语义分割不好做的原因是没有全帧标注的语义分割数据集,这样就很难衡量语义分割模型在视频每一帧上表现,之前MIT提出一个新的video semantic segmentation数据集,但一直没有release。
实际上,相比于单张图像,我们更容易获取视频数据,而视频数据本身有很强的帧冗余性和不确定性,如果我们把视频直接一帧一帧地送入图像分割的模型中,必然会带来很大的计算开销,并且由于场景中运动物体的变化,也会导致分割结果不稳定性,比如一个物体前一帧是类别A,而到中间的几帧的时候突然变成的类别B,或者物体的内部出现语义类别不一致的现象。所以目前视频语义分割主要研究的重点大致有两个方向:第一个是如何利用视频帧之间的时序信息来提高图像分割的精度,第二个是如何利用帧之间的相似性来减少模型计算量,提高模型的运行速度和吞吐量。
参考资料:https://zhuanlan.zhihu.com/p/52014957?utm_source=wechat_session&utm_medium=social&utm_oi=563847837759242240&from=groupmessage
5. 语义理解系列的工作
最近工作:
【1】Understanding the context:Grid Saliency for Context Explanations of Semantic Segmentation-NIPS2019
论文地址:https://arxiv.org/abs/1907.13054
文章特别探索了视觉显著性为语义分割网络生成上下文解释的潜力,发现哪个上下文对目标对象区域内的类预测影响最大。使用最新的分割网络,研究了在对象与它们的上下文之间存在人工偏见的人工合成数据集上网格显着性的有效性,以及在现实世界中的Cityscapes数据集上的有效性。结果表明,网格显著性可以成功地用于提供易于解释的上下文解释,而且可以用于检测和定位数据中存在的上下文偏差。
【2】比如对语义分割模型的鲁棒性探究,对抗样本攻击:Dynamic Divide-and-Conquer Adversarial Training for Robust Semantic Segmentation(PSPnet作者大佬的)
6.Domain Adaption
领域自适应即Domain Adaptation是迁移学习中很重要的一部分内容,目的是把分布不同的源域和目标域的数据,映射到一个特征空间中,使其在该空间中的距离尽可能近。于是在特征空间中对source domain训练的目标函数,就可以迁移到target domain上,提高target domain上的准确率。目前有很多这个领域的文章出现,是一个值得关注的好领域,来解决深度学习的刚需问题
7.分割领域的新数据集
【夜间场景语义分割】:Night-time Semantic Segmentation with a Large Real Dataset
【分割透明物体】:Segmenting Transparent Objects in the Wild
在这种特殊case的场景下,很多state-of-the-art的模型都不是很work了,尤其是很多建模context的论文,有些操作可能会带来噪声。
8、NAS 应用于语义分割
另一个很火的方向是用NAS来做Seg,这个方向这两年也做的很多,比如Auto-Deeplab,Faster-Seg等等,未来也有空间可以探索。
代表工作:
【2】CVPR 2020|图网络引导的实时语义分割网络搜索 (GAS)
你找到自己心仪的方向了吗?
参考资料:
【1】https://zhuanlan.zhihu.com/p/108274663
【2】https://zhuanlan.zhihu.com/p/76603228
【3】本文参考知乎问题回答,
https://www.zhihu.com/question/296147174/answer/531704188
目标检测系列秘籍一:模型加速之轻量化网络秘籍二:非极大值抑制及回归损失优化秘籍三:多尺度检测秘籍四:数据增强秘籍五:解决样本不均衡问题秘籍六:Anchor-Free视觉注意力机制系列Non-local模块与Self-attention之间的关系与区别?视觉注意力机制用于分类网络:SENet、CBAM、SKNetNon-local模块与SENet、CBAM的融合:GCNet、DANetNon-local模块如何改进?来看CCNet、ANN
语义分割系列一篇看完就懂的语义分割综述最新实例分割综述:从Mask RCNN 到 BlendMask超强视频语义分割算法!基于语义流快速而准确的场景解析CVPR2020 | HANet:通过高度驱动的注意力网络改善城市场景语义分割
基础积累系列卷积神经网络中的感受野怎么算?
图片中的绝对位置信息,CNN能搞定吗?理解计算机视觉中的损失函数深度学习相关的面试考点总结
自动驾驶学习笔记系列 Apollo Udacity自动驾驶课程笔记——高精度地图、厘米级定位 Apollo Udacity自动驾驶课程笔记——感知、预测 Apollo Udacity自动驾驶课程笔记——规划、控制自动驾驶系统中Lidar和Camera怎么融合?
竞赛与工程项目分享系列如何让笨重的深度学习模型在移动设备上跑起来基于Pytorch的YOLO目标检测项目工程大合集目标检测应用竞赛:铝型材表面瑕疵检测基于Mask R-CNN的道路物体检测与分割
SLAM系列视觉SLAM前端:视觉里程计和回环检测视觉SLAM后端:后端优化和建图模块视觉SLAM中特征点法开源算法:PTAM、ORB-SLAM视觉SLAM中直接法开源算法:LSD-SLAM、DSO视觉SLAM中特征点法和直接法的结合:SVO
2020年最新的iPad Pro上的激光雷达是什么?来聊聊激光SLAM