实例分割模型Mask2Former解析

Masked2Former是在mask rcnn基础上改进的一个实例分割模型,参考了一些经典模型的思想,如DETR,实验表明效果很好。
在这里插入图片描述

论文:《Masked-attention Mask Transformer for Universal Image Segmentation》
https://arxiv.org/abs/2112.01527

代码地址:https://github.com/facebookresearch/Mask2Former

1.摘要

图像分割对具有不同语义的像素进行分组,例如,类别或实例隶属关系。每种语义选择都定义了一个任务。虽然每个任务只是语义不同,但目前的研究重点是为每个任务设计专门的体系结构。我们提出了maskedatattention Mask Transformer (Mask2Former),这是一种能够处理任何图像分割任务(全景、实例或语义)的新架构。它的关键组成部分包括屏蔽注意,它通过在预测的屏蔽区域内约束交叉注意来提取局部特征。
除了将研究工作量减少至少三倍之外,它在四个流行数据集上的性能明显优于最佳的专业架构。最值得注意的是,Mask2Former为全光分割(COCO上57.8 PQ),实例分割(COCO上50.1 AP)和语义分割(ADE20K上57.7 mIoU)设置了新的技术水平。
在这里插入图片描述

2.模型创新点

主要改进:
1.首先在Transformer解码器中使用屏蔽注意力(Masked attention),与传统的Transformer解码器中使用的交叉注意力相比,可以更快收敛并提高性能。
2.使用多尺度分辨率特征,帮助模型分割小物体/区域
3.提出了更换自注意力和交叉注意力的顺序、使查询特征可以学习、去除dropout等优化改进,所有这些可以不增加额外计算的同时提高性能。

3.模型结构

模型主要包括三个结构:主干特征提取器、像素解码器以及变压器解码器。

3.1 初步的掩码分类

收到DETR的启发,图像中的每个片段都可以作为C维特征向量,并且可以通过Transformer解码器处理,并使用一组预测目标进行训练。关于这种元架构更多的应该参考MaskFormer。

在这里插入图片描述

3.2 屏蔽注意力的Transformer解码器

3.2.1 Masked Attention

上下文特征已被证明对于图像分割很重要。然而,最近的研究表明,基于 Transformer 的模型收敛缓慢是由于交叉注意力层中的全局上下文造成的,因为交叉注意力需要许多训练周期才能学习关注局部对象区域。我们假设局部特征足以更新查询特征,并且可以通过自注意力收集上下文信息。
为此,我们提出了屏蔽注意力,这是交叉注意力的一种变体,仅参与每个查询的预测掩模的前景区域。
原始的交叉注意力的计算:
在这里插入图片描述
Masked attention的计算方式:
在这里插入图片描述
在这里插入图片描述
M_(l-1)是先前第(l-1)个transformer解码器层的经过调整大小的掩码预测的二值化输出,它被调整到与k_l相同的分辨率,M_0是从X_0得到的二进制掩码预测,即再查询特征馈送到Transformer解码器之前。

3.2.3 优化改进

标准 Transformer 解码器层 由三个模块组成,按以下顺序处理查询特征:自注意力模块、交叉注意力模块和前馈网络(FFN)。此外,查询特征(X0)在输入 Transformer 解码器之前被初始化为零,并与可学习的位置嵌入相关联。此外,dropout 应用于残差连接和注意力图。
为了优化 Transformer 解码器设计,我们做了以下三点改进。首先,我们切换自注意力和交叉注意力(我们新的“屏蔽注意力”)的顺序,以使计算更有效:第一个自注意力层的查询特征是与图像无关的,并且没有来自图像的信号,因此应用自注意力不太可能丰富信息。其次,我们使查询特征(X0)也可学习(我们仍然保留可学习的查询位置嵌入),并且可学习的查询特征在用于 Transformer 解码器中预测掩码(M0)之前直接受到监督。我们发现这些可学习的查询特征的功能类似于区域提议网络,并且能够生成掩模提议。最后,我们发现 dropout 是不必要的,而且通常会降低性能。因此,我们完全消除了解码器中的丢失。

3.3提高训练效率

在预测与其匹配的真实情况之间的最终损失中,我们使用重要性采样 对不同的预测和真实情况对的不同 K 点集进行采样。我们设置 K = 12544,即 112 ⇥ 112 点。这种新的训练策略有效地将训练内存减少了 3x,从每张图像 18GB 减少到 6GB,使计算资源有限的用户更容易使用 Mask2Former。

5.结论

我们提出了用于通用图像分割的 Mask2Former。 Mask2Former 基于简单的元框架 [14] 和新的 Transformer 解码器,使用所提出的屏蔽注意力,在四个流行数据集的所有三个主要图像分割任务(全景、实例和语义)中获得了最佳结果,甚至超越了设计的最佳专业模型每个基准,同时保持易于训练。与为每个任务设计专用模型相比,Mask2Former 可以节省 3 倍的研究工作量,并且计算资源有限的用户也可以使用它。
我们希望引起人们对通用模型设计的兴趣
中间实验参数配置、实验结果和模块深度解析,有时间再来填坑!

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

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

相关文章

新手必看:腾讯云服务器购买详细图文教程

腾讯云服务器购买流程很简单,有两种购买方式,直接在官方活动上购买比较划算,在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵,但是自定义购买云服务器CPU内存带宽配置选择范围广,活动上购买只能选择固定的活动…

【极光系列】Windows安装Mysql8.0版本

【极光系列】Windows安装Mysql8.0版本 一.mysql服务端 下载地址:https://dev.mysql.com/downloads/mysql/ 二.解压二进制包 解压到 E:\mysql-8.0.35-winx64目录下,记住你解压后的目录,后续要使用三.创建my.ini文件 tips:mys…

nvcc -V显示command not found

出现这个问题,不仅是 nvcc -V会显示command not found,nvidia-smi同样也会显示 解决方法如下: 1)这里首先转换到CUDA所在位置,一般是在这个位置 cd /usr/local 2)打开、编辑环境变量的配置文件 vim ~/.bashrc …

使用HTTP/2在Linux上的Nginx服务器进行优化

随着互联网的发展,HTTP/2协议逐渐成为主流。与传统的HTTP/1.1相比,HTTP/2提供了更高的传输效率和更好的安全性。在Linux上使用Nginx服务器进行优化,我们可以充分利用HTTP/2的优势,提高网站的性能和用户体验。 1. 安装Nginx并启用…

日志采集传输框架之 Flume,将监听端口数据发送至Kafka

1、简介 Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传 输的系统。Flume 基于流式架构,主要有以下几个部分组成。 主要组件介绍: 1)、Flume Agent 是一个 JVM 进程&#xf…

【JupyterLab】在 conda 虚拟环境中 JupyterLab 的安装与使用

【JupyterLab】在 conda 虚拟环境中 JupyterLab 的安装与使用 1 JupyterLab 介绍2 安装2.1 Jupyter Kernel 与 conda 虚拟环境 3 使用3.1 安装中文语言包(Optional)3.2 启动3.3 常用快捷键3.3.1 命令模式下 3.4 远程访问个人计算机3.4.1 局域网下 1 JupyterLab 介绍 官方文档: …

15.鸿蒙HarmonyOS App(JAVA)进度条与圆形进度条

15.鸿蒙HarmonyOS App(JAVA)进度条与圆形进度条 progressBar2.setIndeterminate(true);//设置无限模式,运行查看动态效果 //创建并设置无限模式元素 ShapeElement element new ShapeElement(); element.setBounds(0,0,50,50); element.setRgbColor(new RgbColor(255,0,0)); …

Nginx——强化基础配置

1、牢记Context Context是Nginx中每条指令都会附带的信息,用来说明指令在哪个指令块中使用,可以将Context 理解为配置环境。 每个指令都拥有自己的配置环境,如果把配置环境记错了,或者在设计时未考虑配置环境的作用,…

【闯关练习】—— 1400分(构造)

🌏博客主页:PH_modest的博客主页 🚩当前专栏:cf闯关练习 💌其他专栏: 🔴每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓…

STM32F103标准外设库——寄存器 (二)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

LeetCode刷题---逆波兰表达式求值

解题思路: 使用栈来解决该问题 首先定义一个栈Stack,接着对tokens数组进行遍历,如果当前元素是非数字字符串的话(运算符),就从栈中取出两个元素根据该运算符进行计算,将计算后的结果添加到栈中。如果当前元素是数字字符…

基于Spring Boot+vue的云上新鲜水果超市商城系统

本云上水果超市是为了提高用户查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了用户、员工信息和管理员这三者的需求。操作简单易懂,合理分析各个模块的功能,尽可能…

【翻译】Qt Designer 如何使用资源文件

原文地址:https://doc.qt.io/qt-6/designer-resources.html Qt的资源浏览器是用于管理应用程序资源的工具,可以让开发者方便地查看和管理应用程序中的各种资源文件,例如图像、字体、布局文件、对话框等。 资源浏览器提供了一个可视化的界面&…

【Golang】二进制字符串转换为数字

在本文中,我们将探讨如何使用 Go 语言将十六进制字符串转换为二进制字符串,将不定长整型补码字符串转换为数字,以及如何将 IEEE754 标准的单精度(32位)和双精度(64位)浮点数字符串转换为数字。最…

商业世界,从2023到2024

作者|潮汐商业评论 编辑|Ray 变化总在发生,你不去迎接进步的变化,就会等到退步的变化。 —— 查理.芒格 2023, 我们似乎总在不断告别。从“一生自由”的大家黄永玉到“智慧”投资家查理.芒格,再到写出《不能承受的生命…

Zung氏抑郁自评量表SDS

抑郁症是常见的心理障碍,其症状表现为:心境低落、思维迟缓、意志活动减退、认知功能损害、躯体症状等。在生活中常有悲观消沉,灰心丧气,对所有事情都提不起兴趣,严重的还会出现肢体僵硬和耳鸣等症状。 部分人有明显的…

10分钟快速上手LLM大模型Python前端开发(三)之显示模块(一)

10分钟快速上手LLM大模型Python前端开发(三)之显示模块(一) 显示代码初步测试 通用显示方法显示字符串显示dataframe显示Markdown 微信公众号:leetcode_algos_life,代码随想随记 小红书:4124081…

Linux网络文件共享服务

目录 一.文件存储类型 1.直连式存储:Direct-Attached Storage,简称DAS 2.存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理) 3.网络附加存储:Network-…

运筹说 第67期 | 动态规划模型的建立与求解

通过前一期的学习,我们已经学会了动态规划的基本概念和基本原理。本期小编带大家学习动态规划模型的建立与求解。 动态规划模型的建立 一 概述 建立动态规划的模型,就是分析问题并建立问题的动态规划基本方程。 成功地应用动态规划方法的关键&#x…

Laravel 框架中队列的使用

概述 Laravel 框架内置了强大的队列系统,用于处理异步任务、提高系统性能等。队列可以让任务异步执行,而不会阻塞当前进程,可以提高系统的处理能力。 Laravel 的队列系统支持多种驱动,如 Redis、Beanstalkd、SQS 等,…