实例分割论文阅读之:《Mask Transfiner for High-Quality Instance Segmentation》

news2024/11/15 21:34:43

1.摘要

两阶段和基于查询的实例分割方法取得了显著的效果。然而,它们的分段掩模仍然非常粗糙。在本文中,我们提出了一种高质量和高效的实例分割Mask Transfiner。我们的Mask Transfiner不是在规则的密集张量上操作,而是将图像区域分解并表示为四叉树。我们基于变压器的方法只处理检测到的容易出错的树节点,并并行地自我纠正它们的错误。虽然这些稀疏像素只占总数的一小部分,但它们对最终的掩模质量至关重要。这使得Mask Transfiner能够以较低的计算成本预测高度准确的实例掩码。大量的实验表明,Mask Transfiner在三个流行的基准测试上优于当前的实例分割方法,显著提高了两阶段和基于查询的框架在COCO和BDD100K上的+3.0掩码AP,以及在cityscape上的+6.6边界AP。

2.介绍

图像实例分割的进步在很大程度上是由强大的目标监测范式的发展所推动的。基于Mask RCNN和最近的DETR的方法在例如COCO挑战上取得了越来越高的性能。虽然这些方法在物体的监测和定位方面表现出色,但有效预测高精度分割掩码的问题迄今仍是难以琢磨的。
如图3所示,最近最先进的方法,特别是基于查询的方法,在边界盒和分割性能之间仍然存在较大差距,这强烈表明,掩膜质量的改进并没有跟上检测能力的进步,在图2中,先前方法的预测掩码非常粗糙,大多数情况下是过于平滑的的对象边界,实际上,高效而精确的掩膜预测是极具挑战性的,因为需要高分辨率的深度特征,而这需要大量的计算和内存成本。
图1
为了解决这些问题,我们提出了Mask Transfiner,这是一种高效的基于transformer的高质量实例分割方法,在图1中,我们的方法首先识别容易出错的区域,这些区域大多分布在对象边界或者高频区域,为此,我们的网络学习检测非相干区域,由下采样掩码自身时的信息损失来定义,这些非相干区域分布稀疏,仅占总像素的一小部分,然而,由于它们对最终的分割性能至关重要,它允许我们在细化过程中只处理高分辨率特征图的一小部分。因此,我们构建了一个分层四叉树来表示和处理多尺度的非相干图像像素。
为了改进非相干四叉树节点的掩码标签,我们设计了一个基于transform的改进网络,而不是标准卷积网络,因为它们需要在均匀网格上运行。我们的变压器有三个模块:节点编码器,序列编码器和像素解码器。节点编码器首先丰富了每个不相干点的特征嵌入。序列编码器然后将这些编码的特征向量跨多个四叉树级别作为输入查询。最后,像素解码器预测其对应的掩码标签。与MLP相比,序列表示和多头关注使得Mask Transfiner能够灵活地将稀疏特征点作为跨层并行的输入,对它们的逐像素关系进行建模,然后在长距离范围内传播信息。
我们在COCO, cityscape和BDD100K基准测试中广泛分析了我们的方法,其中定量和定性结果表明,Mask Transfiner不仅优于现有的两阶段和基于查询的方法,而且与标准变压器使用相比,在计算和内存成本方面效率更高。我们使用ResNet-50在41.6 APMask的COCO测试开发上建立了一个新的最先进的结果,显著优于最近的SOLQ和queryst。

3.相关工作

在这里插入图片描述

实例分割:两阶段实例分割方法首先检测边界框,然后在每个RoI区域中执行分割。 Mask R-CNN 使用 FCN 分支扩展了 Faster R-CNN 。后续工作 也为 Mask R-CNN 模型家族做出了贡献。一阶段方法 和基于内核的方法 ,例如 PolarMask 、YOLOACT 和 SOLO 删除了提案生成和特征重新池化步骤,以更高的效率获得可比较的结果。
基于查询的实例分割方法 受到 DETR 的启发,最近通过将分割视为集合预测问题而出现。这些方法使用查询来表示感兴趣的对象,并对它们联合执行分类、检测和掩模回归。在[15, 23]中,使用DCT或PCA算法将对象掩码压缩为编码向量,而QueryInst采用具有掩码信息流的动态掩码头。然而,图 3 中检测和分割性能之间的巨大差距表明,这些基于查询的方法产生的掩模质量仍然不能令人满意。与上述方法相比,Mask Transfiner 的目标是高质量的实例分割。在我们高效的转换器中,输入查询是不连贯的像素节点,而不是表示对象。我们的方法适用于两阶段框架和基于查询的框架,并且在其中都有效。
实例分割的细化:大多数现有的实例分割细化工作都依赖于专门设计的卷积网络 或 MLP 。 PointRend [28] 对低置信度分数的特征点进行采样,并使用共享 MLP 细化其标签,其中所选点由 Mask R-CNN 的粗略预测确定。 RefineMask [47] 结合了细粒度的特征和额外的语义头作为指导。后处理方法 BPR [36] 裁剪图像的边界块和初始掩模作为输入,并使用 [38] 进行分割。值得注意的是,一些方法 [11,14,46] 专注于细化语义分割细节。然而,由于更复杂的分割设置、每个图像的对象数量不同以及描绘重叠对象的要求,使得实例分割具有挑战性[27]。
与这些细化方法相比,Mask Transfiner 是一种端到端的实例分割方法,使用转换器来纠正错误。使用轻量级 FCN 来预测要细化的区域,而不是基于掩模分数的非确定性采样 [28]。与[28]中的MLP不同,顺序和分层输入表示使Mask Transfiner能够有效地将非局部稀疏特征点作为输入查询,其中变压器的强大全局处理非常适合我们的四叉树结构。

4.Mask Transfiner

图5
我们提出了一种有效解决高质量实例分割的方法。 Mask Transfiner 的整体架构如图 5 所示。 Mask R-CNN [21],我们采用多尺度深度特征金字塔。然后,对象检测头将边界框预测为实例建议。该组件还以低分辨率生成粗略的初始掩模预测。给定这些输入数据,我们的目标是预测高度准确的实例分割掩模。
由于大部分分割错误归因于空间分辨率的损失,我们首先在 3.1 节中定义这种不相干的区域并分析它们的属性。为了识别和细化多个尺度的不相干区域,我们采用了四叉树,这将在 3.2 节中讨论。轻量级不相干区域检测器将粗略初始掩模与多尺度特征一起作为输入,并以级联方式预测每个尺度的不相干区域。这使得我们的 Mask Transfiner 能够节省巨大的计算和内存负担,因为只有一小部分高分辨率图像特征由细化网络本身处理。我们的细化transformer(第 3.3 节详述)在检测到的不相干区域中运行。由于它对构建的四叉树上的特征点进行操作,而不是在统一的网格中,因此我们设计了一个transformer架构,它联合处理四叉树各级中的所有不相干节点。最后,我们介绍了 Mask Transfiner 的训练策略以及实现细节。

3.1 不相干区域

现有实例分割方法 [15, 21] 产生的大部分分割错误是由于空间分辨率的损失造成的,例如掩模下采样操作、小 RoI 池大小和系数压缩 [15, 23],其中掩模预测本身是在粗略的特征尺度上执行的。尽管其效率很高,但由于高频细节的丢失,低空间分辨率使得预测准确的对象边界变得困难。在本节中,我们首先定义不相干区域,其中由于空间分辨率降低而丢失掩模信息。然后,通过分析它们的属性,我们观察到很大一部分错误确实位于这些区域。
在这里插入图片描述

不相干区域的定义
为了识别不相干的区域,我们通过对掩模本身进行下采样来模拟由于网络中下采样而导致的信息丢失。具体来说,在无法通过后续上采样步骤正确重建掩模的区域中,信息会丢失,如图 4 所示。正式地,令 Ml 为尺度级别 l 的对象的二进制真实实例掩模。每个尺度级别的分辨率相差 2 倍,其中 l = 0 是最精细的尺度,l = L 是最粗糙的尺度。我们分别用 S↓ 和 S↑ 表示 2× 最近邻下采样和上采样。尺度 l 处的不相干区域是二元掩模,如下所示:
在这里插入图片描述
这里,⊕表示逻辑“异或”运算,O↓是通过在每个2×2邻域中执行逻辑“或”运算来进行2×下采样。因此,如果原始掩模值Ml-1在更精细尺度级别中的至少一个像素中与其重建不同,则像素(x,y)是不相干的Dl(x,y)=1。直观上,不连贯的区域大多沿着对象实例边界或高频区域散布,由粗掩模丢失或额外预测错误标签的点组成。我们在图 6 和补充中提供了它们的可视化。文件,它们稀疏且不连续地分布在典型图像上。
在这里插入图片描述
在这里插入图片描述
不相干区域的属性:在表 1 中,我们提供了对上面定义的不相干区域的分析。
结果表明,大部分预测误差集中在这些不相干区域,占所有错误预测像素的 43%,而对应的边界框区域仅占 14%。不相干区域的粗掩模预测准确率为 56%。通过修复边界框检测器,我们进行了预言机研究,用真实标签填充每个对象的所有这些不连贯区域,同时将其余部分保留为初始掩模预测。与在不相干区域使用初始掩模预测相比,性能从 35.5 AP 飙升至 51.0 AP,这确实证明它们对于提高最终性能至关重要。

3.2用于掩膜细化的四叉树

在本节中,我们将描述检测和细化图像中不相干区域的方法。我们的方法基于迭代检测和划分每个特征尺度中的不相干区域的思想。通过仅分割已识别的不相干像素以进一步细化,我们的方法仅关注重要区域,从而有效地处理高分辨率特征。为了形式化我们的方法,我们采用四叉树结构首先识别跨尺度的不连贯区域。然后,我们使用 3.3 节中详细介绍的网络来预测四叉树中所有不相干节点的细化分割标签。最后,我们的四叉树用于通过将校正后的掩模概率从粗尺度传播到更细尺度来融合来自多个尺度的新预测。
不相干区域的检测:图 5 的右侧部分描述了我们的轻量级模块的设计,用于有效检测多尺度特征金字塔上的不相干区域。按照级联设计,我们首先连接最小特征和粗略对象掩模预测作为输入,并使用简单的全卷积网络(四个 3×3 卷积),然后使用二元分类器来预测最粗略的不相干掩模。然后,对检测到的较低分辨率掩模进行上采样并与相邻级别中的较高分辨率特征融合,以指导更精细的不相干预测,其中仅采用单个 1×1 卷积层。在训练过程中,我们强制执行等式生成的较低级别的真实不相干点。 1 在更高级别特征图中其父点的覆盖范围内。
四叉树的定义和构造:我们定义一个点四叉树来分解检测到的不相干区域。
我们的结构如图 5 所示,其中较高级别 FPN 特征(例如特征分辨率 28×28)中的一个黄点在其相邻的较低级别 FPN 特征图中(例如分辨率 56×56)有四个象限点。这些都是特征点,但具有不同的粒度,因为它们位于不同的金字塔级别。与计算机图形学中使用的传统四叉树“单元”相反,四叉树“单元”可以有多个点,我们的点四叉树的细分单元始终在单个点上,点的划分由检测到的不相干值决定以及二元分类器的阈值。基于检测到的不相干点,我们构造一个多级分层四叉树,从使用最高级别特征图中检测到的点作为根节点开始。选择这些根节点来细分到较低级别特征图上的四个象限,具有更大的分辨率和更多的局部细节。请注意,在精细级别,只有被检测为不相干的象限点才能进一步分解,并且不相干树节点的扩展被限制在与先前粗略级别的不相干预测相对应的区域中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1438947.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Django】ORM关系映射

关系映射 在关系型数据库中,通常不会把所有数据都放在同一张表中,不易于扩展,常见的关系映射有: 一对一映射,如一个身份证对应一个人。 一对多映射,如一个班级可以有多个学生。 多对多映射,如…

基于SpringBoot和PostGIS的震中影响范围可视化实践

目录 前言 一、基础数据 1、地震基础信息 2、全国行政村 二、Java后台服务设计 1、实体类设计 2、Mapper类设计 3、控制器设计 三、前端展示 1、初始化图例 2、震中位置及影响范围标记 3、行政村点查询及标记 总结 前言 地震等自然灾害目前还是依然不能进行准确的预…

解密 ARMS 持续剖析:如何用一个全新视角洞察应用的性能瓶颈?

作者:饶子昊、杨龙 应用复杂度提升,根因定位困难重重 随着软件技术发展迭代,很多企业软件系统也逐步从单体应用向云原生微服务架构演进,一方面让应用实现高并发、易扩展、开发敏捷度高等效果,但另外一方面也让软件应…

每日一练:LeeCode-112、路径总和【二叉树+DFS+回溯】

本文是力扣LeeCode-112、路径总和 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有…

【闲来看源码】分析一下`ArrayUtils.contains()`这个方法的实现

【闲来看源码】分析一下ArrayUtils.contains()这个方法的实现 大家先来看源码 PreAuthorize("ss.hasPermi(system:user:remove)")Log(title "用户管理", businessType BusinessType.DELETE)DeleteMapping("/{userIds}")public AjaxResult remo…

flink反压及解决思路和实操

1. 反压原因 反压其实就是 task 处理不过来,算子的 sub-task 需要处理的数据量 > 能够处理的数据量,比如: 当前某个 sub-task 只能处理 1w qps 的数据,但实际上到来 2w qps 的数据,但是实际只能处理 1w 条&#…

制作离线版element ui文档

链接:https://pan.baidu.com/s/1k5bsCK9WUlZobhFBLItw1g?pwdgeyk 提取码:geyk --来自百度网盘超级会员V4的分享 https://github.com/ElemeFE/element 克隆官方代码 使用nvm切换node版本,推荐使用14.0.0 http://doc.xutongbao.top/doc/#/zh…

田忌赛马 - 华为OD统一考试

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 给定两个只包含数字的数组a,b,调整数组a里面数字的顺序,使得尽可能多的a[i] > b[i]。 数组a和b中的数字各不相同。输出所有可以达到最优结果的a数…

Mac M1使用PD虚拟机运行win10弹出“内部版本已过期立即安装新的windows内部版本”

一、问题 内部版本已过期立即安装新的windows内部版本 二、解决 1、如图所示打开zh-CN目录 C:\windows\system32\zh-CN找到licensingui.exe文件 将该文件重命名为licensingui_bak.exe 2、修改完成效果如下 (1)但操作中发现,需要TrustedIns…

使用阿里云一键部署 幻兽帕鲁服务器 菜鸟教程 一键快速部署

本文通过介绍如何 从购买阿里云服务器(windows系统)、到一键傻瓜式快速部署、再到连接到帕鲁服务器,简介明了,易上手,没相关专业知识的游戏玩家也能一键傻瓜式搭建服务器环境。 背景:最近很火爆的游戏《幻…

HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-任务管理

目录 一、任务管理1.1、任务状态1.2、任务基本概念1.3、任务管理使用说明1.4、任务开发流程1.5、任务管理接口 一、任务管理 从系统角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。 O…

设计模式巡礼:多板适配案例解析与深度重构

theme: cyanosis 月黑风高,好兄弟发给我一个重构需求,咨询我的意见。 一、 场景分析 开发的产品是需要运行到不同的定制Android板子,不同板子有对应的不同SDK提供的API,目前的业务端,业务流程基本是确定的&#xff0…

LLM大语言模型(六):RAG模式下基于PostgreSQL pgvector插件实现vector向量相似性检索

目录 HightLightMac上安装PostgreSQLDBever图形界面管理端创建DB 使用向量检索vector相似度计算近似近邻索引HNSW近似近邻索引示例 HightLight 使用PostgreSQL来存储和检索vector,在数据规模非庞大的情况下,简单高效。 可以和在线业务共用一套DB&#…

国产航顺HK32F030M: 超声波测距模块串口通信数据接收与处理

参考代码 /************************************************************************************************** * file usart_async_tx_no_int_rx_rxneint.c * brief 异步串口通信例程, 通过查询TXE标志发送数据,通过RXNE中断接收数据,当中断接收到数据后会将 * …

使用yolo训练自己的模型

YOLO(You Only Look Once)是一种用于目标检测的深度学习模型,旨在实时检测图像或视频中的多个对象。与传统的目标检测方法不同,YOLO一次性处理整个图像,而不是通过滑动窗口或区域提议进行多次检测。这种方法使得YOLO在…

2023年全国职业院校技能大赛软件测试赛题第3套

2023年全国职业院校技能大赛 软件测试赛题第3套 赛项名称: 软件测试 英文名称: Software Testing 赛项编号: GZ034 归属产业: 电子与信息大类 …

微信小程序新手入门教程四:样式设计

WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式,决定了 WXML 的组件会怎么显示。 WXSS 具有 CSS 大部分特性,同时为了更适合开发微信小程序,WXSS 对 CSS 进行了扩充以及修改。与 CSS 相比,WXSS …

GPT帮别人画,就是不帮我画,我很急怎么办?

今天分享如何让GPT更听话,分享来自林杰陪伴群中的群友“友人”,分享的非常棒,是AI绘画中的高手! AI也需要奖励 虽然说AI距离完全的自主思考还有很长很长的路要走,但是各种实验表明,当我们在与AI对话时&am…

ABAP 标准状态栏GUI STATUS的快速创建

ABAP 标准状态栏GUI STATUS的快速创建 不用先创建GUI 状态 SE41

【PyQt】06-.ui文件转.py文件

文章目录 前言方法一、基本脚本查看自己的uic安装目录 方法二、添加到扩展工具里面(失败了)方法二的成功步骤总结 前言 方法一、基本脚本 将Qt Designer(一种图形用户界面设计工具)生成的.ui文件转换为Python代码的脚本。 pytho…