实例分割综述(单阶段/两阶段/实时分割算法汇总)

实例分割综述(单阶段/两阶段/实时分割算法汇总)点击上方“3D视觉工坊”,选择“星标”干货第一时间送达简介目标检测或定位是数字图像从粗到细的一个渐进过程。它不仅提供了图像对象的类,还提供了已分类图像中对象的位置。位置以边框或中心的形式…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

实例分割综述(单阶段/两阶段/实时分割算法汇总)

简介

目标检测或定位是数字图像从粗到细的一个渐进过程。它不仅提供了图像对象的类,还提供了已分类图像中对象的位置。位置以边框或中心的形式给出。语义分割通过对输入图像中每个像素的标签进行预测,给出了较好的推理。每个像素都根据其所在的对象类进行标记。为了进一步发展,实例分割为属于同一类的对象的单独实例提供了不同的标签。因此,实例分割可以定义为同时解决目标检测问题和语义分割问题的技术。本文对实例分割的背景、存在的问题、技术、发展、流行的数据集、相关工作以及未来的发展进行了讨论。本文为想在实例分割领域进行研究的人们提供了有价值的信息。

背景

分类可被定义为预测图像中一个对象的类别,或根据其分类分数提供图像中对象的类别列表。目标检测或定位是一个从粗推理到精推理的渐进过程,它不仅提供了图像目标的类别,还以边界框或中心的形式给出了分类后的图像目标的位置。语义分割的目的是通过对图像中每个像素点的标签进行预测,得到精确的推理结果。每个像素都根据其所在的对象或区域进行分类标记。按照这个方向,实例分割为属于同一对象类的不同对象实例提供了不同的标签。因此,实例分割可以定义为寻找目标检测的任务同时解决语义分割。将每个分割后的对象分解为各自的子成分。下图描述了图像分割的演变过程。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

问题

语义分割的思想是开发一种在分割精度和分割效率两个方面都表现良好的技术/算法。更好的分割精度包括精确的定位和识别物体的图像/框架,结果分类在实际场景相关的各种各样的对象可以区分,属于同一类的对象的实例受类内外观变化的影响,可能被局部化和识别(即更好的鲁棒性)。更好的分割效率是指分割算法的计算量。它指的是有效的实时计算成本(如可接受的内存/存储需求),以及对处理器的较小负担。

小对象的实例分割仍然是一个问题。CNN按层次计算特征,因此在默认情况下,特征层中的下采样层会形成一个内建的多尺度金字塔,进而生成不同分辨率的特征图。这会导致一些问题。例如,CNN层越深,接受域越广,对位姿、变形、光照等变化的鲁棒性越强,但分辨率越低,细节丢失。相对而言,较低的CNN层接收域较窄,细节更丰富,但分辨率更高,对语义的敏感性更低。对象的语义属性出现在不同的层中,而这些层又取决于对象的大小。因此,如果一个物体很小,它的细节在浅的CNN层中会更少,同样的细节在较高的层中几乎会消失。这个问题使得小对象检测非常具有挑战性。各种各样的技术已经被提出来解决这个问题,例如带孔卷积和提高特征的分辨率。然而,这些技术导致更高的计算复杂度。此外,如果对象很大,那么它的语义概念将在更高的层中得到反映。许多技术已经被开发出来,通过使用不同的CNN层来提高检测精度。

几何变换的处理问题。就几何变换而言,DCNNs本质上不能是空间不变的。DCNN层中的局部最大池化使网络具有某种程度的平移不变性。尽管如此,特征的中间映射实际上并不是变换不变的。

处理图像退化也是一个问题。现实图像中的噪声是一个问题。这通常是由照明问题、相机质量差、图像压缩等引起的。虽然低质量的图像往往降低其识别,ImageNet、Microsoft COCO、PASCAL VOC等图像数据库都使用高质量的图像,这就证明了这一点。

实例分割

实例分割已成为机器视觉研究中比较重要、复杂和具有挑战性的领域之一。为了预测对象类标签和特定于像素的对象实例掩码,它对各种图像中出现的对象实例的不同类进行本地化。实例分割的目的主要是帮助机器人,自动驾驶,监视等。

实例分割技术

Mask proposal分类

实例分割综述(单阶段/两阶段/实时分割算法汇总)

如图所示. 掩模建议技术分类的一般框架

在深度学习流行之前,之前的技术依赖于自下而上的生成mask proposal。随后,被具有更高效结构的新技术所取代,如RCNN。尽管RCNN在分割精度上有一定的提高,但训练是一个基于多阶段的管道,这是缓慢的,很难优化,因为训练每个阶段需要分开。在CNN的每张图像中,每个方案都需要提取特征,这就分别导致了存储、时间和检测尺度的问题。测试也很慢,因为需要提取CNN的特征。随后,又出现了Fast RCNN和Faster RCNN,解决了它的问题。

1.先检测,然后分割

实例分割的流行方法包括使用一个边界框来检测对象,然后是对象框分割。下图展示了此类技术的一般框架。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

基于掩模的技术

在这方面最成功的技术之一是Mask RCNN。使用相对简单的Mask predictor扩展了更快的R-CNN检测算法。Mask RCNN易于训练,具有更好的泛化能力,只会给更快的R-CNN增加很小的计算开销。前者运行速度为5帧/秒。基于Mask R-CNN的实例分割方法在最近的实例分割挑战中显示了良好的结果。

其它技术(检测物体边界框)

滑动窗口技术

基于区域的技术

2.标记像素,然后聚类

对图像的每个像素进行分类标记。接下来是使用聚类算法将像素分组到对象实例中。下图显示了一般框架。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

该方法受益于语义分割,可以预测高分辨率的对象掩模。与分割检测跟踪技术相比,标签像素跟踪聚类方法在经常使用的基准上精度较低。由于像素标记需要密集的计算,通常需要更多的计算能力。

3.密集滑动窗口法

这类技术的一般框架如下图所示:

实例分割综述(单阶段/两阶段/实时分割算法汇总)

张量掩模

与DeepMask和InstanceFCN不同,TensorMask涉及对多个类的分类,这是与预测mask并行完成的。这个特性对于实例分割非常有用。下表给出了值得注意的方法的分类。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

接下来说一说实例分割的演变

前面你说到实例分割不是一个孤立的任务,有目标检测和语义分割发展而来,时间轴如下图所示:

实例分割综述(单阶段/两阶段/实时分割算法汇总)

RCNN:

实例分割综述(单阶段/两阶段/实时分割算法汇总)

RCNN集成了AlexNet和使用选择性搜索技术的区域方案。RCNN模型的训练包括以下步骤。第一步涉及计算使用选择性搜索获得的类不可知区域建议。下一步是CNN模型微调,包括使用区域建议微调预先训练的CNN模型,如AlexNet。接下来,利用CNN提取的特征来训练一组类特异性支持向量机(SVM)分类器,该分类器取代了通过微调学习的softmax分类器。然后使用CNN获得的特征对每个对象类进行类特异性边界盒回归训练。

虽然RCNN取得了较高的目标检测质量,但它也存在一些明显的缺陷。例如,多阶段的训练是缓慢和困难的,因为每个阶段都必须单独训练。另外,分别训练SVM分类器和BBox回归器需要更多的资源和时间。最后,测试速度很慢,因为在没有共享计算的情况下,每个测试图像中的每个对象提案都需要从CNN中提取特征。

RCNN的这些问题激发了其他技术的发展,这导致了改进的检测框架的诞生,例如快速RCNN和更快的RCNN。

Fast RCNN

实例分割综述(单阶段/两阶段/实时分割算法汇总)

Fast RCNN解决了RCNN的一些问题,从而提高了目标检测能力。Fast RCNN使用检测器的端到端训练。它通过同时学习softmax分类器和类特定的BBox回归简化了训练过程,而不是像RCNN那样单独训练模型的各个组件。快速RCNN共享区域方案的卷积计算,然后在最后一个卷积层和第一个全连接层之间添加一个ROI池化层,提取每个区域方案的特征。聚类利用特征层扭曲的概念来实现图像层扭曲。将ROI池化层特征分解为一组全连通层,最后分解为目标类别预测软最大概率和类别建议精细化偏移量两层。与RCNN相比,Fast RCNN在很大程度上提高了效率,训练速度提高了3倍,测试速度提高了10倍。

Faster RCNN

实例分割综述(单阶段/两阶段/实时分割算法汇总)

虽然Fast RCNN显著提高了检测速度,但它仍然依赖于外部区域建议,计算是Fast RCNN的速度瓶颈。此时,CNNs在卷积层中具有目标定位能力,而在全连接层中这种能力会减弱。因此,用CNN代替选择性搜索产生区域建议是可行的。Faster RCNN有区域建议网络(Region Proposal Network, RPN)用于生成区域建议,高效准确。采用相同的骨干网,从最后一个共享的卷积层中提取特征,完成RPN的区域划分和快速RCNN的区域分类。

Mask R-CNN

实例分割综述(单阶段/两阶段/实时分割算法汇总)

Mask R-CNN,一个相对简单和灵活的实例分割模型。该模型通过目标检测进行了实例分割,同时生成了高质量的掩模。通常,Faster R-CNN有一个用于识别物体边界框的分支。Mask R-CNN并行添加了一个对象蒙版预测分支作为改进。使用FPN主干的head架构如图所示。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

MaskLab

MaskLab改进了Faster R-CNN,并产生两个额外的输出,即语义分割和实例中心方向。Faster R-CNN给出的预测框将具有不同尺度的对象实例带入一个标准尺度,然后MaskLab在每个预测框内同时使用语义分割和方向预测进行前景和背景分割。为了区分不同语义类别的对象,采用了对分类数据进行像素级编码的语义分割预测方法。该技术消除了重复的背景编码。此外,方向预测还被用于具有共同语义标签的对象实例的分离。

Non-local Neural Networks

这个非局部神经网络可以说是图像里面Attention的鼻祖,它是第一篇把注意力机制应用到图像领域,随后就有了大家熟悉的SENet,SKNet,GCNet,Residual Attention Network, CAM, BAM等等。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

非局部意味着是一种滤波技术,它计算图像中所有像素的加权平均值。在这样做的时候,它允许在一个基于路径外观相似度的位置上,远距离像素对滤波响应做出贡献。这一想法是由块匹配3D (BM3D) (Block-matching 3D)相继发展起来的。长期依赖已通过图形模型来建模,例如条件随机场(CRF)。CRF中的平均场推理可以转化为递归网络,然后可以进行训练。与机器翻译中使用的自我注意方法有关。自我关注胶囊通过观察所有位置,然后在嵌入空间内取其加权平均值,计算出序列中某个位置的响应。自注意可以看作是一种非局部均值,因此可以将机器翻译中的自注意与机器视觉中适用于图像和视频问题的一般非局部过滤操作联系起来。

路径聚合网络(PANet)

提出了一种用于实例分割任务的基于框架,旨在提高信息的流动。改进了深层网络的特征层次,在底层使用与定位相关的特定信号。这个过程称为自底向上路径增强。它使得底层和深层网络顶层特征之间的信息路径更短。还提出了一种被称为自适应特性池的技术,它将特征网格和所有层次的特征联系起来。由于这种技术,在每一级特征的相关信息流到后续子网络用于产生建议。一个备用的分支段捕获各种提议视图,以增强生成掩码的预测。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

混合任务级联

最佳级联实例分割的关键是最大限度地利用对象检测和对象实例分割之间的反向关系。混合任务级联或HTC与传统级联在两个重要方面有所不同。首先,HTC并没有对这两个任务进行层叠处理,而是以组合的方式分多个阶段进行处理。其次,它使用一个完全卷积的片段来提供空间上下文。这有助于区分前景和嘈杂的背景。作者称,HTC能够学习更多有用的功能,通过整合功能,这些功能是互补的,逐步与每个阶段。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

GCNet

实例分割综述(单阶段/两阶段/实时分割算法汇总)

由非局部网络建模的全局上下文对于整个图像的不同查询位置几乎是相同的。利用这一发现创建了一个基于独立查询公式的简单网络。提出的网络保持了非局部网络的准确性,但用更少的计算开销。GCNet的设计在结构上类似于挤压激发网络(SENet)。用一个三步的通用模型来建模全球上下文。在通用模型内部,已经设计了一个更有效的实例化,称为全局上下文(GC)块。该块是轻量级的,能够高效地建模全局上下文。轻量级的事实允许设计者在网络的多个层之间应用它,从而构建一个全局上下文网络(GCNet)。

Mask Scoring R-CNN

在Mask R-CNN上增加了一个额外的Mask Head模块,学习Mask-iou一致的Mask分数。Mask R-CNN与MaskIoU Head结合,结合实例特征和预测的Mask。这种安排用于预测输入掩模和ground truth掩模之间的损失。图下显示了Mask Scoring R-CNN架构。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

在COCO dataset数据集上的实验比较结果:

实例分割综述(单阶段/两阶段/实时分割算法汇总)

总结

本文对实例分割进行了概述。图像分割从粗推理发展到细推理。随着计算能力和研究能力的提高,这种演变已经发展到实例分割,并将继续下去。本文讨论了重要的实例分割问题。从整体和个别的角度讨论了用于实例分割的各种技术。讨论了它们的分类、优缺点。讨论了实例分割中常用的数据集及实验结果。实例分割也是图像分割前沿的研究方向,任务更具有挑战性,天池大赛也有实例分割的赛题,现在已经进行到赛季2了,还有一些新的任务,比如视频全景分割更是很前沿和挑战的任务。

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉优质源码即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

实例分割综述(单阶段/两阶段/实时分割算法汇总)

▲长按加微信群或投稿

实例分割综述(单阶段/两阶段/实时分割算法汇总)

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

实例分割综述(单阶段/两阶段/实时分割算法汇总)

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

整理不易,请给工坊点赞和在看实例分割综述(单阶段/两阶段/实时分割算法汇总)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172451.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • icem网格划分如何给内部面网格,ICEM CFD处理混合网格划分中低质量的问题

    icem网格划分如何给内部面网格,ICEM CFD处理混合网格划分中低质量的问题所谓的混合网格,指的是模型中同时存在结构网格与非结构网格的情况。采用混合网格的主要优势在于:对于复杂的几何,我们可以将其分解成多个几何,对于适合划分结构网格的采用结构网格划分方式,而对于非常复杂的部分,可以使用非结构方式进行划分。然而采用混合网格也有一些缺点:交接面位置网格质量会非常差。因此我们需要采用一些方式对网格质量进行改善。另外对于交界面的处理也存在一些问题。我们先说说在ICEMCFD中进…

  • datagrip 2022 激活码 mac(JetBrains全家桶)「建议收藏」

    (datagrip 2022 激活码 mac)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~9AAG1RZ8NI-eyJsaWNlb…

  • android代码实现ScaleAnimation[通俗易懂]

    android代码实现ScaleAnimation[通俗易懂]packagecom.yangguangfu.cn;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.view.animation.Animation;importandroid…

    2022年10月15日
  • Java的八种基本数据类型

    Java的八种基本数据类型1.byte:字节1.计算机中,数据传输大多是以“位”(bit,比特)为单位。2.一位就代表一个0或1(二进制),每8个位(bit)组成一个字节(byte),所以,1个字节=8位0101代码。2.short3.int4.long5.float6.double7.char1.char类型占2个字节(16位),用来表示字符。2.char是基本数据类型。String表示字符串,是类类型。一个String是由0~n个char组成。3.字符使用单引号表示,字符串使用双引号表示。8.boolea

  • css3 flex布局的使用 图片文字垂直居中排列 图文混排垂直居中 display:flex「建议收藏」

    css3 flex布局的使用 图片文字垂直居中排列 图文混排垂直居中 display:flex「建议收藏」遇到的问题在实际工作的过程中经常遇到图片文字的混排,需要图片与一段文字垂直居中,这个实现方法以前一直非常复杂,而flex是解决这个问题比较好的办法;css代码display:flex;flex的是Flexible的缩写,意为弹性。可以在单行或者多行的盒状模型中提供很好的灵活性,所以它也是自适应友好的。图文混排垂直居中基本用法用flex实现文字和图片在同一行的时候的垂…

  • pycharm需要安装哪些包_用于引入包的关键字

    pycharm需要安装哪些包_用于引入包的关键字在学习python的时候,被推荐了使用PyCharm这款IDE,但是在import包的时候却发生了问题–无法引入,但是明明通过了pip进行模块的加载,百度之后,了解到,在这款IDE中,要导入包,需要手动进行引入。如下图所示首先在file中找到settings顺带一下,如果有的同学是第一次接触这款IDE,可能对与皮肤颜色不太了解,其实也是在settings中进行设置的,而且该公司旗下的其他产品如…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号