当前位置: 首页 > news >正文

375FPS! 谷歌提出MaskConver“重校正用于全景分割的纯卷积模型

https://arxiv.org/2312.06052

近年来,基于Transformer的模型由于其强大的建模能力以及对语义类和实例类的统一表示为全局二值掩码,在全景分割中占据主导地位。
在本文中,我们回顾了纯粹的卷积模型,并提出了一种新的结构MaskConver,它通过预测物体和物体的中心来完全统一物体和物体的表示。在这种程度上,它创建了一个轻量级类嵌入模块,当多个中心共存于同一位置时,可以打破这种联系。

此外,我们的研究表明,解码器的设计对于确保模型具有足够的上下文以进行准确的检测和分割至关重要。我们介绍了一个功能强大的ConvNeXt-UNET解码器,它缩小了卷积和基于Transfoormer模型之间的性能差距。

  • 使用ResNet50主干,我们的MaskConver在COCO-Val集上实现了53.6%的PQ,比基于卷积的现代模型全光FCN以及基于变压器的模型(如Mask2Former(+1.7%PQ)和KMAX-DeepLab(+0.6%PQ))高出9.3%。
  • 采用MobileNet主干的MaskConver达到了37.2%的PQ,在相同的FLOPS/延迟限制下,比Panopov-DeepLab提高了+6.4%。
  • 进一步优化的MaskConver版本在移动设备上实时运行时,PQ达到29.7%。

本文方案

骨干网是典型的卷积神经网络,如ResNet和MobileNet。提出了一种新的像素解码器ConvNeXt-UNET来生成图像特征,并在其上附加预测头。我们提出了三个预测头:

  • (1)中心热图头,预测物体和物体的中心点热图;
  • (2)中心嵌入头,预测中心点的嵌入;
  • (3)掩模特征头,产生掩模特征。掩码嵌入生成器通过将top-K置信度预测中心(它们的语义类和坐标)和中心嵌入作为输入来生成掩码嵌入。

最后,通过将掩码特征与掩码嵌入相乘来获得一组二进制掩码。我们将首先解释我们的设计动机,然后在以下小节中详细说明提出的模块。

Pixel Decoder: ConvNeXt-UNet

为了弥补基于变压器的方法之间的差距,我们首先设计了一种新的像素解码器ConvNeXt-UNET,如图3所示,由现代的ConvNeXt块[53]组成,以类似于UNET[59]的方式部署来生成图像特征。值得注意的是,ConvNeXt-UNET在主干的最高级别L5(步幅32)放置了更多的ConvNeXt块。由于大型内核设计,在L5级堆叠更多的ConvNeXt块可以有效地捕获远程上下文信息和高级语义。

具体地,解码器体系结构由两个超参数定义:重复次数N=[N5,N4,N3]和信道大小D=[D5,D4,D3],从而确定从高级L5(步长32)到低级L3(步长8)的UNT结构。例如,设置N5=18和D5=384意味着在级别L5部署具有384个通道的18个ConvNeXt块。此外,我们经验上发现在ConvNeXt块(称为ConvNeXt-SE)中增加另一个压缩和激发[30]层是有效的,如图4所示,这以额外的边缘参数和可以忽略的Flop为代价提高了模型的容量。

Prediction Heads

在所提出的像素解码器生成的图像特征的基础上,我们构建了中心热图、类嵌入和掩码特征的三个预测头。

  • Light Structure of Head.不同于现有方法通常在预测头部采用3×3卷积,并对低层特征(即步长8甚至步长4)引入繁重的计算,MaskConver遵循ConvNeXt[53]的设计原则,采用大核尺寸为7×7的深度卷积
  • Center Heatmap Head.扩展了目标检测方法,提出了对物体和物体使用中心点表示的方法。实验发现,遮罩中心比包围盒中心具有更好的表示能力。中心热图头部产生形状为H i×W i×C类的特征图,其中H i和W i是特征金字塔中第i级特征图的高度和宽度,C类是语义类的数目。我们将把top-K个最有信心的预测中心点(它们的预测语义类和坐标)提供给MASK Embedding生成器。
  • Center Embedding Head。 中心嵌入头生成形状为H i×W i×C embd的中心点嵌入,其中C embd是嵌入的通道大小。其输出被馈送到掩码嵌入生成器,以收集前K个最有信心的预测中心点的K个中心嵌入(基于它们的坐标)。
  • Mask Feature Head. 扩展了目标检测方法[67,90],提出了对物体和物体使用中心点表示的方法。实验发现,遮罩中心比包围盒中心具有更好的表示能力。中心热图头部产生形状为H i×W i×C类的特征图,其中H i和W i是特征金字塔中第i级特征图的高度和宽度[47],C类是语义类的数目。我们将把top-K个最有信心的预测中心点(它们的预测语义类和坐标)提供给MASK Em-bedding生成器。
  • Mask Feature Head.掩码特征头组合了从L5到L3的解码器特征以创建掩码特征。这是通过将所有解码器特征的大小调整到相同的大小(步长4)并将它们相加,然后馈送到光预测头来完成的。得到的遮罩特征具有形状H/4×W/4×C embd,其中H和W分别是输入图像的高度和宽度。遮罩特征,与遮罩嵌入相乘(来自遮罩嵌入生成器,详细信息请参见第节)。3.3),生成最终输出:一组K个二进制掩码。

Mask Embedding Generator

我们还建议使用类嵌入:它学习将每个语义类嵌入到一个大小为Cembd的向量中。类嵌入用于调整(通过加法和MLP)中心嵌入,缓解不同语义类的实例引起的中心冲突。

具体来说,我们设计了一个“类嵌入查找表”模块,用于存储学习到的语义类的嵌入。对于前K个中心,我们推断它们最可能的语义类,并从模块中获得它们对应的类嵌入。然后,我们将得到的类嵌入和中心嵌入相加,并将它们传递给MLP模块(两个完全连通的层)以生成最终的掩码嵌入。我们注意到,利用类嵌入对于预测掩码嵌入的质量至关重要。它确保每个实例都有唯一的嵌入向量,避免了实例中心碰撞的问题。

本文实验

在表1,我们将所提出的MaskConv算法与其他方法在三个方面进行了比较:基于卷积的、基于变换的和高效的模型。

  • 基于卷积的模型。在基于卷积的模型类别中,MaskConv在性能(PQ)和速度(FPS)方面始终优于所有其他基于卷积的方法。特别是,与最先进的全景FCN[45]相比,MaskConv的PQ要好+9.3%,运行速度快2.13倍
  • 基于Transformer的模型。与基于变压器的模型相比,当使用类似的触发器/参数时,MaskConv获得更好的PQ。特别是,MaskConv比Mask2Former[11]高出1.7%,同时在V100 GPU上也更快。MaskConv也比KMAX-DeepLab[83]好+0.6%,FLOP数量略高。这些结果表明,通过设计更好的像素解码器、预测头和掩码嵌入生成器,MaskConv可以成功地弥合基于变换和卷积的模型之间的差距
  • 高效的模型。对于高效的模型,我们比较了MaskConv和Panoptic-DeepLab。我们使用具有相同MobileNet-MH主干和输入大小640×640的Panoptic-DeepLab来进行公平比较。我们的模型具有640个输入图像,与Panoptic-DeepLab相比,PQ提高了+6.4%,同时在V100 GPU上的速度也快了1.42倍。此外,如果我们将输入大小更改为256×256,我们的MaskConv-256的PQ与PanOpoic-DeepLab相似(29.7%对30.8%),而运行速度快5.07倍。我们的MaskConv-256在Pixel 6 GPU上实时运行,速度为33 FPS

小结

在这项工作中,我们提出了MaskConv,回顾了用于全景分割的纯卷积。MaskConv通过统一thing和stuff建模,简化了基于卷积的全景模型。具体地说,MaskConv使用中心来表示物体和填充区域,并使用灯光类嵌入模块来预测存在于相同位置的多个实例的唯一嵌入向量。MaskConv还采用了ConvNeXt-UNET像素解码器,为预测头提供了远程上下文和高级语义。凭借简化的架构和ConvNeXt-UNET,MaskConver缩小了与基于CoCo数据集的基于变压器的模型之间的差距。最后,MaskConver在移动领域表现出色,这要归功于卷积的简单和高效

相关文章:

375FPS! 谷歌提出MaskConver“重校正用于全景分割的纯卷积模型

https://arxiv.org/2312.06052 近年来,基于Transformer的模型由于其强大的建模能力以及对语义类和实例类的统一表示为全局二值掩码,在全景分割中占据主导地位。 在本文中,我们回顾了纯粹的卷积模型,并提出了一种新的结构MaskConve…...

leetcode初级算法(python)- 数组

文章目录 1.从排序数组中删除重复项2.买卖股票最佳时机23.旋转数组运行颠倒列表法整体移动元素块法4.存在重复运行包含判断法排序比较判断法运行集合判断法5.只出现一次的数字6.两个数组的交集27.移动零8.两数之和9.旋转图像这篇博客中的代码都是数组计算。 1.从排序数组中删除…...

重新定义音乐创作:ChatGPT与未来音乐产业的融合

### 重新定义音乐创作:ChatGPT与未来音乐产业的融合 随着人工智能技术的飞速发展,ChatGPT不仅在文字创作领域大放异彩,也正逐步渗透并重塑音乐产业的未来。这种先进的语言模型,如今已成为音乐家、作曲家和制作人们手中的一把利剑…...

人工智能绘画的时代下到底是谁在主导,是人类的想象力,还是AI的创造力?

#ai作画 目录 一.AI绘画的概念 1. 数据集准备: 2. 模型训练: 3. 生成绘画: 二.AI绘画的应用领域 三.AI绘画的发展 四.AI绘画背后的技术剖析 1.AI绘画的底层原理 2.主流模型的发展趋势 2.1VAE — 伊始之门 2.2GAN 2.2.1GAN相较于…...

[HTML]Web前端开发技术29(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 上一节的课后练习...

文本编辑器markdown语法

markdown语法 1.介绍 Markdown是一种使用一定的语法将普通的文本转换成HTML标签文本的编辑语言,它的特点是可以使用普通的文本编辑器来编写,只需要按照特定的语法标记就可以得到丰富多样的HTML格式的文本。 2.标题分级 "# " -> 一级标题 &…...

【C++】类和对象之拷贝构造函数篇

个人主页 : zxctscl 文章封面来自:艺术家–贤海林 如有转载请先通知 文章目录 1. 前言2. 传值传参和传引用传参3. 概念4. 特征 1. 前言 在前面学习了6个默认成员函数中的构造函数和析构函数 【C】构造函数和析构函数详解,接下来继续往后看拷…...

Mybatisplus 传参参数为自定义sql, 使用条件构造器作为参数

1 pom依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version> </dependency> 2 mapper 接口文件 List<TBookOrder> searchDiy(Param(Const…...

C#与VisionPro联合开发——TCP/IP通信

TCP/IP&#xff08;传输控制协议/互联网协议&#xff09;是一组用于在网络上进行通信的通信协议。它是互联网和许多局域网的基础&#xff0c;为计算机之间的数据传输提供了可靠性、有序性和错误检测。在软件开发中&#xff0c;TCP/IP 通信通常用于实现网络应用程序之间的数据交…...

spring Boot快速入门

快速入门为主主要届介绍java web接口API的编写 java编辑器首选IntelliJ IDEA 官方链接&#xff1a;https://www.jetbrains.com/idea/ IEDA 前言 实例项目主要是web端API接口的使用&#xff0c;项目使用mysql数据库&#xff0c;把从数据库中的数据的查询出来后通过接口json数…...

FPGA SERDESE2 (SDR收发仿真)

高速 Serdes 环路测试 高速串行通信优势非常巨大,只需要很少的IO引脚就可以实现高速通信,这也是当今FPGA高速接口的核心 技术。比如XILINX的7代FPGA,GTX可以达到10.3125Gbps,ultrascale FPGA的GTH可以达到16Gbps。目前国产FPGA还难以达到这么高的接口速度。 高速串行通信经…...

Java异常体系结构核心解析-Throwable

资料不在于多&#xff0c;而在于精。好资料、好书&#xff0c;我们站在巨人的肩膀上前行&#xff0c;可以少走很多弯路。 通过搜索引擎找到自己需要的最好最权威信息&#xff0c;是一种很重要的能力。 Java源代码和官方资料Java™ Tutorials Java异常体系结构&#xff0c;是一种…...

Android MediaRecorder 相关

Android MediaRecorder 相关 本篇文章主要介绍下MediaRecorder类. 1:创建对象 MediaRecorder mediaRecordernew MediaRecorder();MediaRecorder可以直接通过无参构造直接创建对象. 2: 音频源 通过调用setAudioSource(int audio_source)来设置音频源,可以是麦克风.音频文件…...

Spring中关于事务的一些方方面面

事务隔离级别&#xff1a; 先了解一些事务隔离级别有哪些&#xff1a; 未提交读(Read Uncommitted)&#xff1a; 允许脏读&#xff0c;也就是可能读取到其他会话中未提交事务修改的数据 提交读(Read Committed)&#xff1a; 只能读取到已经提交的数据。Oracle等多数数据库默…...

LiveQing视频点播流媒体RTMP推流服务功能-支持配置开启 HTTPS 服务什么时候需要开启HTTPS服务

LiveQing视频点播流媒体RTMP推流服务功能支持配置开启 HTTPS 服务什么时候需要开启HTTPS服务 1、配置开启HTTPS1.1、准备https证书1.1.1、选择Nginx类型证书下载 1.2、配置 开启 HTTPS1.2.1 web页面配置1.2.2 配置文件配置 2、验证HTTPS服务3、为什么要开启HTTPS3.1、安全性要求…...

LabVIEW串口通信的激光器模块智能控制

LabVIEW串口通信的激光器模块智能控制 介绍了通过于LabVIEW的VISA串口通信技术在激光器模块控制中的应用。通过研究VISA串口通信的方法和流程&#xff0c;实现了对激光器模块的有效控制&#xff0c;解决了数据发送格式的匹配问题&#xff0c;为激光器模块的智能控制提供了一种…...

全球最受欢迎的DAWFL Studio 21.2.3.4004 中文破解版强悍来袭

1997年是一个「古老」的年代&#xff0c;那时人们还在用「猫」上网&#xff0c;微信、QQ的江湖被ICQ统治&#xff0c;音乐编辑领域 Cool Edit 如日中天。这一年 &#xff0c;FL Studio 的前身 FruityLoops 在比利时问世&#xff0c;26年来&#xff0c;FL已成长为全球最受欢迎的…...

【uni-app】常用组件和 API

常用组件 uni-app 为开发者提供了一系列基础组件&#xff0c;类似 HTML 里的基础标签元素&#xff0c;但 uni-app 的组件与 HTML 不同&#xff0c;而是与小程序相同&#xff0c;更适合手机端使用。 虽然不推荐使用 HTML 标签&#xff0c;但实际上如果开发者写了div等标签&…...

基于springboot+vue的安康旅游网站(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…...

monaco脚本编辑器 在无界中使用 鼠标点击不到

背景A项目使用无界引入B项目 经排查&#xff0c;是B使用的的monaco脚本编辑器无法在A的无界框架中引入的问题。 经查询&#xff0c;需要修改monaco源码来使之能在无界中使用。 解决方案&#xff1a;https://github.com/Tencent/wujie/issues/205。 有三种解决方案&#xff1a; …...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...