图像实例分割:CenterMask

CenterMask: single shot instance segmentation with point representation

论文链家:

https://arxiv.org/abs/2004.04446

摘要

本文提出了一种简单、快速、准确的单镜头实例分割方法。单阶段实例分割面临两个主要挑战:对象实例区分和像素级特征对齐。相应地,本文将实例分割分解为两个子任务:局部形状预测(即使在重叠的情况下也可以分离实例)和全局显著性生成(以像素到像素的方式分割整个图像)。两个分支的输出被组合起来形成最终的实例掩码。为了实现这一点,从物体中心点的表示中提取局部形状信息。完全从头开始训练,没有任何铃声和口哨声,提出的中心掩码达到34.5掩码AP,速度为12.3 fps,使用单一模型,在具有挑战性的COCO数据集上进行单尺度训练/测试。除速度慢5倍的TensorMask方法外,该方法的精度高于其他所有一级实例分割方法,说明了中心模板的有效性。此外,该方法还可以方便地嵌入到FCOS等单级目标检测器中,具有良好的性能,体现了中心掩模的通用性。

1.       Introduction

为了解决这些问题,本文建议打破mask表示为两个平行组件:

(1) 一种局部形状表示法,它为每个局部区域预测一个粗略的遮罩,可以自动分离不同的实例。

(2) 一种全局显著性地图,它可以分割整个图像,提供显著性细节,并实现像素级对齐。为了实现这一点,从目标中心的点表示中提取局部形状信息。建模对象作为其中心点是由一级中心网[30]检测器驱动的,因此本文称之为方法中心掩码。建议的中心遮罩的图示如图1所示。给定输入图像,根据关键点估计管道预测目标中心点位置。然后提取中心点的特征表示,形成局部形状,局部形状由一个粗掩模表示,该粗掩模将物体与近距离物体分开。同时,完全卷积的主干线生成了整个图像的全局显著性图,在像素级将前景与背景分离。最后,将粗糙但感知实例的局部形状和精确但不感知实例的全局显著性映射组合起来,形成最终的实例掩码。

为了验证中心掩模的鲁棒性并分析其核心因素的影响,进行了大量的实验,比较了多个基本实例的融合性能。可视化结果表明,仅使用局部形状分支的中心mask可以很好地分离对象,而仅使用全局自性分支的模型在对象不重叠的情况下表现良好。在复杂和对象重叠的情况下,这两个分支的结合可以区分实例,同时实现像素级的分割。COCO[20]测试集图像的中心掩码结果如图2所示。

总之,本文的主要贡献如下:

•提出了一种无锚定盒的一阶段实例分割方法,该方法简单、快速、快速              准确。完全从零开始训练,提出的中心掩模达到34.5掩模AP,速度为12.3 fps对具有挑战性的可可,显示出良好的速度精度权衡。此外,该方法还可以方便地嵌入到FCOS[27]等单级目标检测器中,具有良好的性能,体现了中心掩模的推广性。

•提出对象遮罩的局部形状表示,以区分无锚箱条件下的实例。局部形状分支使用对象中心点的表示,即使在重叠的情况下,也能有效地预测粗糙遮罩和分离对象。

•提出了全局显著性映射,实现自然的像素级特征对齐。与以前的特征对齐操作(例如分割)不同,该模块更简单、更快、更精确。全局显著性生成的行为类似于语义分割[23],希望这项工作能够激励未来的一阶段全景分割[16]。

2.       Related Work

两段式分割:两段式分割方法,先进行包围盒检测,再对包围盒区域的像素进行分类,得到最终的掩模。

一阶段实例分割:目前最先进的一阶段实例分割方法大致可以分为两类:基于全局区域的方法和基于局部区域的方法。基于全局区域的方法首先基于整个图像生成中间和共享的特征地图,然后将提取的特征集合起来形成每个实例的最终遮罩。

3.       CenterMask

本文的目标是建立一种单阶段的实例分割方法。一个阶段意味着没有预先定义的兴趣区域(roi)用于掩模预测,这需要同时定位、分类和分割对象。为了实现这一点,本文将实例分割分解为两个简单且并行的子任务,并将它们的结果集合起来形成最终的掩码。第一个分支从每个对象的中心点表示预测粗糙形状,这可以约束每个对象的局部区域并自然区分实例。

第二个分支预测整个图像的显著性图,实现精确分割并保留精确的空间位置。最后,通过将两个分支的输出相乘来构造每个实例的掩码。

4.       Experiments

在MS-COCO实例分割基准上对所提出的中心掩码的性能进行了评估[20]。该模型在115k个trainval 35k图像上进行训练,并在5k个minival图像上进行测试。最终结果在20k测试设备上进行评估。

5.       Conclusion

本文提出了一种简单、快速、准确的单镜头锚箱自由实例分割方法。将掩模预测分解为两个关键模块:有效分离不同实例的局部形状分支和明智地实现精确分割像素的全局显著分支。大量的融合实验和可视化图像证明了该中心掩模的有效性。本文希望本文的工作能够帮助简化更多的实例级识别任务。

图像实例分割:CenterMask的更多相关文章

  1. CVPR2019 | 超越Mask R-CNN!华科开源图像实例分割新方法MS R-CNN

    安妮 乾明 发自 凹非寺 本文转载自量子位(QbitAI) 实习生又立功了! 这一次,亮出好成绩的实习生来自地平线,是一名华中科技大学的硕士生. 他作为第一作者完成的研究Mask Scoring R- ...

  2. 手把手教你使用LabVIEW实现Mask R-CNN图像实例分割

    前言 前面给大家介绍了使用LabVIEW工具包实现图像分类,目标检测,今天我们来看一下如何使用LabVIEW实现Mask R-CNN图像实例分割. 一.什么是图像实例分割? 图像实例分割(Instan ...

  3. Tensorflow实现Mask R-CNN实例分割通用框架,检测,分割和特征点定位一次搞定(多图)

    Mask R-CNN实例分割通用框架,检测,分割和特征点定位一次搞定(多图)   导语:Mask R-CNN是Faster R-CNN的扩展形式,能够有效地检测图像中的目标,同时还能为每个实例生成一个 ...

  4. 实例分割:MaskXRCnn 与Visual Genome数据集

    一.VG数据集 机器学习领域的突破突然让计算机获得了以未曾有的高精度识别图像中物体的能力--几乎达到了让人惊恐的程度.现在的问题是机器是否还能更上层楼,学会理解这些图片中所发生的事件. Visual ...

  5. 基于FCN的图像语义分割

    语义图像分割的目标在于标记图片中每一个像素,并将每一个像素与其表示的类别对应起来.因为会预测图像中的每一个像素,所以一般将这样的任务称为密集预测.(相对地,实例分割模型是另一种不同的模型,该模型可以区 ...

  6. Deep Snake : 基于轮廓调整的SOTA实例分割方法,速度32.3fps | CVPR 2020

    论文提出基于轮廓的实例分割方法Deep snake,轮廓调整是个很不错的方向,引入循环卷积,不仅提升了性能还减少了计算量,保持了实时性,但是Deep snake的大体结构不够优雅,应该还有一些工作可以 ...

  7. 经典论文系列| 实例分割中的新范式-SOLO

    前言: 这是实例分割中的一篇经典论文,以往的实例分割模型都比较复杂,这篇论文提出了一个简单且直接的实例分割模型,如何设计这种简单直接的模型且要达到一定的精度往往会存在一些困难,论文中有很多思路或思想值 ...

  8. CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)

    CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)1. 目标检测:FCOS(CVPR 2019)目标检测算法FCOS(FCOS: ...

  9. CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等

    CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等 CVPR 2020中选论文放榜后,最新开源项目合集也来了. 本届CPVR共接收6656篇论文,中选1470篇,&q ...

随机推荐

  1. 使用Windows全局钩子打造键盘记录器

    简介 键盘记录功能一直是木马等恶意软件窥探用户隐私的标配,那么这个功能是怎么实现的呢?在Ring3级下,微软就为我们内置了一个Hook窗口消息的API,也就是SetWindowsHookEx函数,这个 ...

  2. Windows核心编程 第十七章 -内存映射文件(上)

    第1 7章 内存映射文件 对文件进行操作几乎是所有应用程序都必须进行的,并且这常常是人们争论的一个问题.应用程序究竟是应该打开文件,读取文件并关闭文件,还是打开文件,然后使用一种缓冲算法,从文件的各个 ...

  3. Win64 驱动内核编程-29.强制解锁文件

    强制解锁文件 强制解锁因其他进程占用而无法删除的文件. 1.调用 ZwQuerySystemInformation 的 16 功能号来枚举系统里的句柄 2.打开拥有此句柄的进程并把此句柄复制到自己的进 ...

  4. spring mvc简单使用

    spring mvc pom.xml依赖与插件 导入servlet.springmvc.Jackson的依赖,编译插件.tomcat <?xml version="1.0" ...

  5. 比物理线程都好用的C++20的协程,你会用吗?

    摘要:事件驱动(event driven)是一种常见的代码模型,其通常会有一个主循环(mainloop)不断的从队列中接收事件,然后分发给相应的函数/模块处理.常见使用事件驱动模型的软件包括图形用户界 ...

  6. JMM——Java内存模型抽象|八种同步操作|操作规则

    JMM 调用栈&本地变量在线程栈上 对象整体在堆上(包括其本地变量,不论类型),栈有其引用即可访问, 线程调用同一个对象时,是访问该对象的私有拷贝 每个CPU有自己的高速缓存 高速缓存存在意义 ...

  7. Msf--永恒之蓝 ms17_010

    |>>>中华人民共和国网络安全法<<<|警告:请勿用于非法用途,后果自负! 简介 一.概述 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers ...

  8. Docker Swarm(八)滚动更新、回滚服务

    滚动更新.回滚服务 默认情况下, swarm一次只更新一个副本,并且两个副本之间没有等待时间,我们可以通过: # 定义并行更新的副本数量--update-parallelism# 定义滚动更新的时间间 ...

  9. Linux如何设置用户登录超时(闲置时间)vi /etc/profile ... export TMOUT=900

    Linux如何设置用户登录超时(闲置时间) 转载莫负寒夏ai 最后发布于2019-08-08 15:04:22 阅读数 1897  收藏 展开 1. 针对所有用户 # vi /etc/profile ...

  10. mysql示例及练习2

    #创建数据库并应用create database shopdb;use shopdb;#创建表customerscreate table customers(c_id int primary key ...