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

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...