CVPR 2022 | 刷新4个SOTA!港大字节开源ReferFormer: 语言作为查询的参考视频目标分割框架...

本文主要是介绍CVPR 2022 | 刷新4个SOTA!港大字节开源ReferFormer: 语言作为查询的参考视频目标分割框架...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

在本文中,来自香港大学和字节跳动的研究者们提出了一种基于Transformer的参考视频目标分割新框架ReferFormer。其将语言描述视为查询条件,直接在视频中查找目标对象,除此之外,通过实例序列的整体输出自然地完成目标物体的跟踪,无需进行任何后处理。ReferFormer在四个参考视频目标分割数据集上都取得了当前最优的性能。

17b9cb1dea82ce84067a09a965148ed0.png

paper:https://arxiv.org/abs/2201.00487

code: https://github.com/wjn922/ReferFormer

引言

参考视频目标分割(referring video object segmentation,RVOS)是一个新兴且具有挑战性的多模态任务,它需要在视频中将文本所指代的参考对象进行实例分割。

目前得到广泛研究的参考图像分割(referring image segmentation, RIS)任务中,文本描述通常是基于目标的外观特征或者空间关系,RVOS任务则可以对目标所进行的动作进行描述,这要求模型有着更强的时空建模能力,且保证分割目标在所有视频帧上的一致性;与传统的视频目标分割(video object segmentation, VOS)任务相比,RVOS任务在预测阶段没有给定分割目标的真值,从而增加了对目标进行正确精细分割的难度。

现有的RVOS方法往往都依赖于复杂的多阶段框架,以保证分割目标的一致性。为了解决以上问题,香港大学和字节跳动的研究者们提出了一种基于Transformer的端到端RVOS框架 —— ReferFormer,其将语言描述作为查询条件,在视频中仅仅关注于参考目标,且通过连接不同帧上相对应的查询即可完成目标的追踪,无需进行后处理。该模型在四个RVOS数据集上(Ref-Youtube-VOS, Ref-DAVIS17, A2D-Sentences, JHMDB-Sentences) 均取得了当前最优的性能。

方法亮点:

- 提出了一种简单统一,基于Transformer的端到端RVOS框架,无需进行后处理;

- 将语言描述作为查询的限制条件,从而用很少数量的查询即可完成任务;

- 在四个RVOS任务数据集上都取得了当前最优的性能。

方法

f0daac3e72fb4d5987d2a82aca3497a5.png

图1 网络整体结构

网络主要由四个部分组成:Backbone,Transformer,跨模态FPN以及实例分割生成部分。

Backbone. 网络首先使用视觉编码器从视频中抽取每一帧的特征,同时采用文本编码器获得文本描述的语言特征,该特征进行平均池化后获得的向量即为句特征。

Transformer. Transformer编码器用于进一步建模视频帧的多尺度特征;在解码器部分,定义了N个可学习特征作为query,且为所有帧共享。同时,对上述句特征复制N次,query和句特征共同作为解码器的输入。在这种方式下,所有query都会在语言的指引下仅仅关注于目标对象,因此本文将此查询称为“条件查询(conditional query)”。得益于该设计,模型采用很少数量(默认为5)的query即可获得很好的效果。最终,通过在解码器中进行query和视觉特征的交互,每一帧上均获得含有目标信息的N个表征,对于整个视频,则共有Nq个表征。

跨模态FPN. 在这一部分,视觉特征与文本特征以互注意力的形式进行多尺度、细粒度交互,可以获得更好的分割效果。这一过程中,FPN产生了语义丰富、高分辨率的特征图送入后续分割模块。

实例分割生成部分. 对于前述每一帧上获得的N个表征,首先分别通过class head,box head,mask head生成其对应的二分类概率,边界框以及动态卷积核参数。边界框作为relative coordinate特征添加至FPN的输出特征中,获得每个query对应的卷积特征图,目标mask的生成通过动态卷积得到:

e1cddeb26e6bdf3839578884fa310724.png

训练和预测. 每一帧上对应位置的query追踪的是同一实例(图中以相同形状表示),将相对应的query进行连接,即可获得属于同一实例的序列,从而自然地对目标进行各种而无需后处理。在训练和预测阶段,均以实例序列视为整体进行监督和输出。

在训练阶段,由于视频中仅含有一个目标物体,因此采用最小代价匹配进行正样本分配,损失函数包括二分类损失,边界框损失以及掩码损失:

65a6652aa2dd376849c9bd6f312a94f0.png

在预测阶段,输入为一整段视频。首先计算每个实例序列在所有帧上的平均得分,选择分数最高的实例序列,其索引为σ,输出其对应的mask序列即可。

26751416ed88723a31f2b7a61292bcc0.png

Demo

以下展示了模型在多个具有挑战性场景的分割效果:

- Ref-DAVIS17

2b9cb8068c5067f193b5d37358cffb51.gif

遮挡

54c1d4c29c9214cdc281204e7452521a.gif

姿态变化

- Ref-Youtube-VOS

7959deba8e20ce3bf60b8d7318f855e7.gif

精细分割

7b80702c6d8476d58b9d6b9f5d0ae6cb.gif

快速运动

图2 可视化效果展示

性能

本文采用不同的视觉编码器进行了广泛实验,在当前四个RVOS上均取得了当前最好的性能。其中,Ref-DAVIS17和JHMDB-Sentences的评估采用的分别是在Ref-Youtube-VOS和A2D-Sentences上训练好的模型,证明了方法的泛化性能。

- Ref-Youtube-VOS & Ref-DAVIS17

f37f7cd55e482871fe266f37642297cd.png

图3 Ref-Youtue-VOS和Ref-DAVIS17数据集性能比较

- A2D-Sentences & JHMDB-Sentences

25758019416463441578298e8faff403.png

图4 A2D-Sentences数据集性能比较

235f04a37b31fc999fe77b685e93b995.png

图5 JHMDB-Sentences数据集性能比较

结论

本文提出了一个简单统一的参考视频目标分割框架,不同于以往复杂、多阶段的pipeline,本文提出了将语言描述作为查询的概念,使得模型能够精准地关注于目标对象,同时通过实例序列匹配自然地完成目标的跟踪,实现了端到端的输出。

ICCV和CVPR 2021论文和代码下载后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF
CVer-Transformer交流群成立
扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲扫码或加微信: CVer6666,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!▲扫码进群
▲点击上方卡片,关注CVer公众号整理不易,请点赞和在看

这篇关于CVPR 2022 | 刷新4个SOTA!港大字节开源ReferFormer: 语言作为查询的参考视频目标分割框架...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/644491

相关文章

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

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

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

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

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL多列IN查询的实现

《MySQL多列IN查询的实现》多列IN查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL多列IN查询的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析与优化1.

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

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

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件