Vript-Hard——一个基于高分辨率和详细字幕的视频理解算法

一、概述

多模态学习的最新进展促进了对视频理解和生成模型的研究。随之而来的是,对高分辨率视频和详细说明所建立的高质量数据集的需求激增。然而,由于时间因素的影响,视频与文本的配对不像图像那样容易。准备视频和文本配对是一项困难得多的任务。例如,旅游视频博客(vlog)包括许多旅行准备、住宿和参观旅游景点的场景。为这些视频提供详细而恰当的字幕需要花费大量的时间和精力,因为必须查看视频并根据场景为其添加字幕。因此,目前的情况是,大多数基于视频-文本对建立的传统数据集都是包含简化字幕的短视频。

为了克服这一挑战,本文建立了一个视频-文本数据集Vript,该数据集适用于较长的视频,并且比以前建立的数据集具有更详细的说明。Vript 的注释基于视频脚本的格式,对于每个场景,不仅关注内容,还关注镜头类型和摄像机运动。与传统的数据集不同,本文对未经修剪的视频进行了详细注释,每个场景都有大约 145 个字的长标题。除了视觉信息外,旁白还被转录为文本,并辅以视频标题作为背景信息,从而提高了字幕的信息含量和准确性。

现有研究表明,详细的标题有助于改善视觉和语言关联/映射。然而,如上所述,大多数数据集只包含简短的字幕,并没有密集而详细的注释。因此,本文采用了三种新方法来改进视频与文本之间的关联/映射

  • 使用视频脚本
    • 通过对多个连续场景进行采样,并将相应的字幕串联起来以生成更长的文本,从而制作出更长的视频。
  • 旁白转录
    • 结合旁白转录和视频输入。
  • 视频时间戳。共轭作用
    • 输入旁白和视频时间戳作为附加信息。

在这些方法的基础上,本文还建立了一个名为 "Vriptor "的视频字幕模型,它可以为短视频和长视频生成密集而详细的字幕,在开源模型中达到了 SOTA 性能。

它还提出了一个视频理解基准Vript-Hard,其中包括三个任务(幻觉评估、长视频推理和事件重排),比传统基准更具挑战性。
源码地址:https://github.com/mutonix/Vript.git
论文地址:https://arxiv.org/abs/2406.06040

二、视频字幕详细说明

在构建 Vript 的过程中,本文的目标是尽可能详细地注释视频,以便通过字幕将视频可视化。视频中的每个场景都有字幕描述,重点不是粗略的字幕,而是详细的动作和交互。这里可以描述各种信息,包括物体和人物的外观、环境、光线和视频风格。

它还关注摄像机是如何移动来捕捉图像的。以往的研究将图像字幕用于视频字幕,而没有利用视频特有的摄像机移动信息。例如,对于一个男人骑自行车的视频片段,仅仅解释 "一个穿深蓝色衬衫的男人骑着一辆黑色自行车在路上行驶 "和 "当镜头转到特写镜头时,一个穿深蓝色衬衫的男人骑着一辆黑色自行车 "是不够的。更具体的描述会更有用,例如 “当镜头拉远时,我们看到的是该男子在公路上的概貌,背景是群山”。这样,有关摄像机行为的信息就被添加到了内容中,从而提高了视频字幕的质量。

可以说,将静态情况与摄像机行为信息结合起来,近似于在视频脚本中描述一个场景。因此,Vript 使用 PySceneDetect 根据视频脚本的格式将视频划分为多个场景,并为每个场景标注有关静态情况和摄像机行为的说明。我们称之为 “视频脚本”。然后,本文从 HD-VILA-100M 中选择了10,000 个完整的 YouTube视频,并从 YouTube Shorts 和 TikTok 中选择了1,500 个短视频作为视频数据。GPT-4V 还用于为每个场景注释以下信息。

  • 标题:场景摘要(最多 10 个字)
  • 内容:约 150 字的详细描述。
  • 拍摄类型:全景、特写等。
  • 摄像机移动:摇镜头、变焦等。

为了给视频添加高质量的脚本,未经剪辑的视频(长度从 5 秒到 2.9 小时不等)从头到尾都有密集的注释。除视频帧外,还添加了外部信息以帮助注释:使用 Whisper 转录的旁白和视频标题将原始视频内容输入模型。这些外部信息大大减少了错觉,提高了字幕的准确性,使模型能够更好地理解视频内容和视觉信息。

例如,如下图所示,仅凭场景-010 画面无法猜测碗中加入了哪些配料。旁白中的信息显示配料是蛋黄酱和芥末,从而提高了右上角面板中字幕的准确性。

三、Vriptor算法实现

一般来说,在将图像映射到文本时,一个标题映射到一个视频。然而,现有的视频-文本数据集(如 Panda-70M、WebVid-10M)只有简单的标题,缺乏详细信息,这意味着图像-文本关系/映射不够充分。为了解决这个问题,本文研究了如何利用 Vript 数据集将视频映射为更多文本。其结果是建立了一个名为 Vriptor 的强大视频字幕模型,该模型在大型开源视频语言模型中达到了 SOTA 性能。

如果要对视频进行详细注释,有几种可能的方法来增加支持的文本量,其中之一就是将几个连续片段的字幕连接起来。然而,使用这种方法,由于字幕是单独注释的,因此连接字幕的上下文和含义可能不一致。因此,我们参照视频脚本的格式,将连续字幕重构为视频脚本中的场景。Vript 允许通过对若干连续片段进行采样来创建 “子脚本”。例如,十个连续的片段及其相应的 "字幕 "包含约 1,500 个单词,比较短的字幕长约 100 倍 。

由于 Vript 是通过输入旁白和视频帧来进行注释的,因此字幕包含旁白中的信息。

处理视频的常见大规模语言模型采用特定的采样技术来提取视频输入的多个帧,但这些模型对时间的感知能力较弱,只知道帧的顺序,而不知道帧的持续时间。因此,本文认为时间戳对于视频脚本支持非常重要,并在输入旁白和输出字幕中添加了视频时间戳。这使得模型更容易理解每个场景的开始和结束。

这些方法被整合到 Vriptor 的学习中。下图(复制如下)显示了四种不同的输入和输出组合:一个场景到一个字幕、一个场景+旁白到一个字幕、多个场景到一个脚本以及多个场景+旁白到一个脚本。所有组合都添加了时间戳。

我们还在 ST-LLM 的基础上对 Vriptor 进行了两个阶段的训练,并使用 Vript-HAL 和 MSR-VTT 对其字幕能力进行了评估。Vriptor 支持两种字幕类型:"描述整个视频 "和 “描述整个场景”。在描述整个视频时,Vriptor 会提供 100-150 字的一般描述。当逐个场景描述时,Vriptor 会为每个场景提供 100-150 字的详细描述。下表显示,与整个视频描述相比,Vriptor 在逐场景描述中提供了更详细的视频描述,从而提高了召回率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知来者逆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值