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

《UniVS: Unified and Universal Video Segmentation with Prompts as Queries》要点提炼

论文来源:https://arxiv.org/abs/2402.18115
《UniVS: Unified and Universal Video Segmentation with Prompts as Queries》是2024CVPR中的一篇关于视频分割的论文,

主要内容:

论文提出了一个名为UniVS的新型统一视频分割架构,它能够处理多种视频分割任务,包括类别指定的视频分割(category-specified VS)和提示指定的视频分割(prompt-specified VS)。UniVS通过将视频分割任务转换为由提示引导的目标分割任务,从而消除了传统方法中需要的启发式帧间匹配过程。

创新点:

  1. 使用提示作为查询(Prompts as Queries):UniVS将先前帧中目标的提示特征平均值作为初始查询,以明确解码掩码。
  2. 目标提示交叉注意力层(Target-wise Prompt Cross-Attention Layer):引入了目标提示交叉注意力(ProCA)层,以在记忆池中整合提示特征。
  3. 统一的视频掩码解码器(Unified Video Mask Decoder):通过使用预测的实体掩码作为视觉提示,UniVS将不同的视频分割任务转换为提示引导的目标分割任务。
  4. 通用训练和测试:UniVS不仅统一了不同的视频分割任务,还自然实现了通用训练和测试,确保在不同场景下的鲁棒性能。
  5. 跨多个基准的性能平衡:UniVS在10个具有挑战性的视频分割基准测试中表现出色,涵盖了视频实例、语义、全景、对象和引用分割任务。

网络结构:

UniVS主要由三个模块组成:

  1. 图像编码器(Image Encoder):将RGB图像转换为特征令牌。
  2. 提示编码器(Prompt Encoder):将原始视觉/文本提示转换为提示嵌入。
  3. 统一视频掩码解码器(Unified Video Mask Decoder):明确解码视频中任何实体或提示引导目标的掩码。

统一视频掩码解码器包含四个关键组件:

此外,UniVS在训练过程中包括三个阶段:图像级训练、视频级训练和长视频微调,以逐步提高模型对视频数据的理解能力。

论文还进行了一系列的消融研究,以验证所提出组件的有效性,并通过实验结果展示了UniVS在多个视频分割任务上的性能。

分割过程

在论文《UniVS: Unified and Universal Video Segmentation with Prompts as Queries》中,完成分割部分的过程涉及以下几个关键步骤:

  1. 图像编码(Image Encoding)

    • 输入的RGB视频帧首先通过图像编码器转换成特征表示。这通常包括一个卷积神经网络(CNN)骨干网络,它提取空间特征,以及一个像素解码器,它融合不同尺度的特征以增强表示。
  2. 提示编码(Prompt Encoding)

    • 对于视觉提示(如点击、框选、遮罩、涂鸦等),通过视觉采样器从图像特征中提取特征点,形成视觉提示嵌入。
    • 对于文本提示(如类别名称或描述性文本),使用CLIP文本编码器将文本转换为嵌入,然后通过交叉注意力层与图像特征进行交互,生成文本提示嵌入。
  3. 统一视频掩码解码(Unified Video Mask Decoding)

    • 使用初始提示查询(由先前帧中目标的提示特征平均值生成)作为掩码解码器的输入。
    • 引入目标提示交叉注意力(ProCA)层,以整合记忆池中的提示特征,并增强目标表示的独特性。
    • 通过图像交叉注意力层和分离自注意力(SepSA)层,专注于从输入帧中提取目标的详细信息,并在空间和时间域内促进目标内容的交互。
  4. 掩码预测

    • 掩码解码器的输出通过一个前馈网络(FFN)和其他转换层,最终生成每个目标的预测掩码。
    • 对于类别指定的视频分割任务,使用可学习查询来识别第一帧中的所有实体掩码,然后使用非极大值抑制(NMS)和分类阈值来过滤冗余掩码和低置信度掩码。
  5. 跨帧跟踪和实体匹配

    • 对于类别指定的视频分割任务,使用周期性目标检测策略,将分割转换为提示引导的目标分割问题。
    • 对于提示指定的视频分割任务,使用预测的实体掩码作为视觉提示,更新目标的记忆池,并在后续帧中识别和分割目标。
  6. 训练和优化

    • 训练过程中,使用像素级掩码监督损失、分类损失和ReID损失来优化模型参数。
    • 训练分为三个阶段:图像级训练、视频级训练和长视频微调,以逐步提高模型对视频数据的理解能力。
  7. 推理和输出

    • 在推理阶段,模型接收视频帧和提示,通过上述编码和解码过程预测每个目标的掩码。
    • 最终输出是视频中每个目标的分割掩码,这些掩码可以用于各种应用,如视频编辑、增强现实、视频恢复等。

整个分割过程是端到端的,意味着从输入视频帧到输出分割掩码的所有步骤都是连续的,并且可以通过反向传播和梯度下降自动优化。

相关文章:

《UniVS: Unified and Universal Video Segmentation with Prompts as Queries》要点提炼

论文来源:https://arxiv.org/abs/2402.18115 《UniVS: Unified and Universal Video Segmentation with Prompts as Queries》是2024CVPR中的一篇关于视频分割的论文, 主要内容: 论文提出了一个名为UniVS的新型统一视频分割架构&#xff0c…...

计算机毕业设计选题推荐-推拿知识互动平台-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

基于SpringBoot+Vue+MySQL的瑜伽馆管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 本系统采用SpringBoot作为后端框架,Vue.js构建前端用户界面,MySQL作为数据库存储系统,实现了瑜伽馆的全面数字化管理。系统涵盖会员管理、课程预约、教练排班、收入统计等功能模块&#xff0c…...

【MySQL】EXPLAIN(执行计划)关键字是什么?

简介: explain是一个强大的 SQL 命令,用于分析和优化查询性能。通过查看数据库执行计划,我们可以理解查询是如何被处理的,包括表的访问顺序、使用的索引、连接类型等。这对于找到潜在的性能瓶颈非常重要。 目录 一、基本含义 二…...

Mybatis两种方式来调用sql语句

使用Mybatis时,有两种方式来调用sql语句: 方式一(直接通过Session对象调用sql语句): SqlSession sqlSession sqlSessionFactory.openSession(); User user sqlSession.selectOne("userTest.selectUser"…...

第十八节:学习统一异常处理(自学Spring boot 3.x的第五天)

这节记录下如何通过AOP方式统一处理异常拦截。 第一步: 新建一个exception包,创建一个ExcetionHandler.java(名字随意取) package cn.wcyf.wcai.exception;import cn.wcyf.wcai.common.Result; import org.springframework.web…...

flink中slotSharingGroup() 的详解

在 Apache Flink 中,slotSharingGroup() 是一个用于控制算子(operator)之间资源共享的机制。它允许多个算子共享相同的 slot(即资源容器)。Slot 是 Flink 中的资源单位,slot 共享可以提高资源利用率&#x…...

ASPF 技术介绍

...

77-java 装饰器模式和适配器模式区别

‌Java中的装饰器模式和适配器模式虽然都涉及到对象的组合和包装,但它们的应用场景和目的有所不同。‌ ‌装饰器模式的目的是在不修改原始对象的基础上,动态地添加功能或行为。‌它允许用户通过创建一个包含原始对象的包装类(装饰器&#xff…...

5. Fabric 设置画布大小

1. 设置宽度 canvas.setWidth(width)2. 设置高度 canvas.setHeight(height)3. 设置大小 canvas.setDimensions({width,height })4. 画布的缩放 canvas.on(mouse:wheel, (opt) > {const delta opt.e.deltaY // 滚轮,向上滚一下是 -100,向下滚一下…...

240912-通过Ollama实现网站知识总结

A. 最终效果 B. 准备工作 报错: USER_AGENT environment variable not set, consider setting it to identify your requests.-CSDN博客 C. 完整代码 # https://coreyclip.github.io/Ollama-Web-Summaries/import os os.environ[USER_AGENT] Mozilla/5.0 (Windows NT 10.…...

Debian 包管理工具apt使用

apt基本用法 apt(Advanced Package Tool)是Debian及其衍生发行版(如Ubuntu、Linux Mint等)中非常强大的软件包管理系统。它允许用户从远程仓库安装、更新、升级、配置和卸载软件包。除了我们已经讨论过的卸载软件包的功能外&…...

如何模拟一个小程序项目打包的流程

一、Uni-app 执行 yarn run dev:mp-weixin后会发生什么 (一)准备工作 克隆项目:创建以 typescript 开发的工程(如命令行创建失败,请直接访问 https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts.z…...

设计模式七大原则详解

设计模式七大原则详解 设计模式中的“七大原则”是面向对象编程(OOP)中的一组指导原则,这些原则帮助开发者编写灵活、可维护、可扩展的代码。这些原则并不直接等同于设计模式,但它们是设计模式的基础。下面是这七大原则&#xff…...

Navicat On-Prem Server 2.0 | MySQL与MariaDB基础管理功能正式上云

近日,Navicat 发布了 Navicat On-Prem Server 2.0 的重大版本更新。这标志着这款自2021年首发的私有云团队协作解决方案迈入了一个崭新的阶段。此次2.0版本的飞跃性升级,核心聚焦于MySQL与MariaDB基础管理功能的全面革新与强化,赋予了用户的操…...

汽车车门的美观与功能:矫平工艺的精细修复

汽车车门的美观与功能:矫平工艺的精细修复 在汽车制造的精细工艺中,车门不仅是车辆外观的重要组成部分,更是功能性的关键载体。车门的平整度直接影响到车辆的密封性、噪音控制以及整体的美观度。面对生产过程中可能出现的车门变形问题&#…...

【Python】05.Python 中的列表与元组

一、列表与元组的概念 列表是一种在代码中批量表示/保存数据的方式 元组和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改调整, 元组中放的元素是创建元组的时候就设定好的, 不能修改调整 二、列表的创建 创建列表主要有两种方式. [ ] 表示一个空的列表。如果需要往…...

【Go】十五、分布式系统、Consul服务注册发现、Nacos配置中心搭建

分布式 传统开发方式的痛点: 我们的服务分为很多种:用户服务、商品服务、订单服务等,若我们一个成熟的体系内,新添加一个服务,会变得十分的繁琐与困难 当我们的负载较大时,如果选择添加机器的方式来减轻…...

[Linux#48][网络] 令牌环网 | IPv4 | socket 套接字 | TCP | UDP | 网络字节序列

目录 1.网络 1.0 令牌环网(了解) 1.1 IP 地址 1.3 网络通信的基本脉络 IPv4地址解释 2.Socket 编程预备 2.1 端口号 2.2 传输层协议 2.3 网络字节序列 库函数定义 函数说明 1.网络 1.0 令牌环网(了解) 相同令牌时&am…...

Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决

文章目录 问题简述解决方法 问题简述 使用Mac mini外接2K 显示器时,默认分辨率是25601440,字体较小,如果切换成19201080,字体又变大模糊。 解决方法 使用HiDP I(一种显示技术,使用多个物理像素显示1个像…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...