打打字就能指挥算法视频抠图,Transformer掌握跨模态新技能,精度优于现有模型丨CVPR 2022

本文主要是介绍打打字就能指挥算法视频抠图,Transformer掌握跨模态新技能,精度优于现有模型丨CVPR 2022,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

都说Transformer适合处理多模态任务。

这不,在视频目标分割领域,就有人用它同时处理****文本和视帧,提出了一个结构更简单、处理速度更快(每秒76帧)的视频实例分割框架。

这个框架只需一串文本描述,就可以轻松将视频中的动态目标“抠”出来:

已关注

关注

重播 分享 赞

切换到竖屏全屏 退出全屏

对白的算法屋 已关注

分享 点赞 在看

已同步到看一看[写下你的评论](javascript:😉

[](javascript:😉

分享视频

,时长 01:43

0 / 0

00:00 / 01:43

切换到横屏模式

继续播放

转载

,

打打字就能指挥算法视频抠图,Transformer掌握跨模态新技能,精度优于现有模型丨CVPR 2022

对白的算法屋 已关注

分享 点赞 在看

已同步到看一看[写下你的评论](javascript:😉

进度条,百分之0

[播放](javascript:😉

00:00

/

01:43

01:43

全屏

倍速播放中

[0.5倍](javascript:😉 [0.75倍](javascript:😉 [1.0倍](javascript:😉 [1.5倍](javascript:😉 [2.0倍](javascript:😉

[超清](javascript:😉 [高清](javascript:😉 [流畅](javascript:😉

您的浏览器不支持 video 标签

继续观看

打打字就能指挥算法视频抠图,Transformer掌握跨模态新技能,精度优于现有模型丨CVPR 2022

[视频详情](javascript:😉

可以实现端到端训练的它,在基准测试中的多个指标上表现全部优于现有模型

目前,相关论文已被CVPR 2022接收,研究人员来自以色列理工学院。

图片

主要思路

根据文本描述进行视频目标分割这一多模态任务(RVOS),需要结合文本推理、视频理解、实例分割和跟踪技术。

现有的方法通常依赖复杂的pipeline来解决,很难形成一个端到端的简便好用的模型。

随时CV和NLP领域的发展,研究人员意识到,视频和文本可以同时通过单个多模态Transformer模型进行有效处理。

为此,他们提出了这个叫做MTTR (Multimodal Tracking Transformer)的新架构,将RVOS任务建模为序列(sequence)预测问题。

图片

首先,输入的文本和视频帧被传递给特征编码器进行特征提取,然后将两者连接成多模态序列(每帧一个)。

接着,通过多模态Transformer对两者之间的特征关系进行编码,并将实例级(instance-level )特征解码为一组预测序列。

接下来,生成相应的mask和参考预测序列。

最后,将预测序列与基准(ground truth,在有监督学习中通常指代样本集中的标签)序列进行匹配,以供训练过程中的监督或用于在推理过程中生成最终预测。

具体来说,对于Transformer输出的每个实例序列,系统会生成一个对应的mask序列。

为了实现这一点,作者采用了类似FPN(特征金字塔网络)的空间解码器和动态生成的条件卷积核。

而通过一个新颖的文本参考分数函数,该函数基于mask和文本关联,就可以确定哪个查询序列与文本描述的对象具有最强的关联,然后返回其分割序列作为模型的预测。

精度优于所有现有模型

作者在三个相关数据集上对MTTR进行了性能测试:JHMDB-Sentences、 A2D-Sentences和Refer-YouTube-VOS。

前两个数据集的衡量指标包括IoU(交并比,1表示预测框与真实边框完全重合)、平均IoU和precision@K(预测正确的相关结果占所有结果的比例)。

结果如下:

图片

可以看到,MTTR在所有指标上都优于所有现有方法,与SOTA模型相比,还在第一个数据集上提高了4.3的mAP值(平均精度)。

顶配版MTTR则在平均和总体IoU指标上实现了5.7的mAP增益,可以在单个RTX 3090 GPU上实现每秒处理76帧图像。

MTTR在JHMDBs上的结果表明MTTR也具备良好的泛化能力。

更具挑战性的Refer-YouTube-VOS数据集的主要评估指标为区域相似性(J)和轮廓精度(F)的平均值。

MTTR在这些指标上全部“险胜”。

图片

一些可视化结果表明,即使在目标对象被类似实例包围、被遮挡或完全超出画面等情况下,MTTR都可以成功地跟踪和分割文本引用的对象。

图片

最后,作者表示,希望更多人通过这项成果看到Transformer在多模态任务上的潜力。

最最后,作者也开放了两个试玩通道,感兴趣的同学可以戳文末链接~

图片

Colab试玩效果

试玩地址:
https://huggingface.co/spaces/akhaliq/MTTR
https://colab.research.google.com/drive/12p0jpSx3pJNfZk-y_L44yeHZlhsKVra-?usp=sharing

论文地址:
https://arxiv.org/abs/2111.14821

代码已开源:
https://github.com/mttr2021/MTTR

关于我

你好,我是对白,清华计算机硕士毕业,现大厂算法工程师,拿过8家大厂算法岗SSP offer(含特殊计划),薪资40+W-80+W不等。

高中荣获全国数学和化学竞赛二等奖。

本科独立创业五年,两家公司创始人,拿过三百多万元融资(已到账),项目入选南京321高层次创业人才引进计划。创业做过无人机、机器人和互联网教育,保研清华后退居股东。

我每周至少更新三篇原创,分享人工智能前沿算法、创业心得和人生感悟。我正在努力实现人生中的第二个小目标,上方关注后可以加我微信交流。

期待你的关注,我们一起悄悄拔尖,惊艳所有在这里插入图片描述

这篇关于打打字就能指挥算法视频抠图,Transformer掌握跨模态新技能,精度优于现有模型丨CVPR 2022的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_33161208/article/details/123387876
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/270192

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot