当前位置: 首页 > 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个像…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

uniapp 字符包含的相关方法

在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...