论文精读《ShareGPT4Video: Improving Video Understanding and Generation with Better Captions》


引言:一篇很牛的 NIPS 论文,而且还可以直接上手体验!链接:https://huggingface.co/spaces/Lin-Chen/ShareCaptioner-Video

在这里插入图片描述

虽然回答的内容不太准确,但是感觉好棒哈哈!😄


✅ NLP 研 2 选手的学习笔记

笔者简介:Wang Linyong,NPU,2023级,计算机技术
研究方向:文本生成、大语言模型
论文链接:https://arxiv.org/abs/2406.04325,2024 NeurIPS(CCF A) 长文
项目链接:https://github.com/ShareGPT4Omni/ShareGPT4Video
中文标题:《ShareGPT4Video:用更好的字幕提高视频理解和生成》

在这里插入图片描述

⭐️ 重点备注: 本文中的 “字幕” 都是“Caption” 的意思。



0 摘要

● 【先一句话总述一下本文所做的工作】本文提出 ShareGPT4Video 系列,旨在通过密集和精确的字幕促进大视频语言模型(Large Video-Language Models,LVLMs)的视频理解和文本到视频模型(Text-To-Video Models,T2VMs)的视频生成。【现存的挑战】为实现这一目标,不考虑不可扩展的昂贵人工标注器,用朴素的多帧或帧级联输入策略对视频进行标注,会导致不详细,有时还会造成时间上的混乱。【具体的三个挑战】设计高质量视频字幕生成策略的挑战在于 3 个方面:1)帧间精确的时间变化理解。2)帧内详细内容描述。3)任意长度视频的帧数可扩展性。【本文的第一个创新点——策略】为此,精心设计了一种差分视频字幕生成策略(differential video captioning strategy),该策略稳定、可扩展、高效,可以为任意分辨率、长宽比和长度的视频生成字幕。【本文的第二个创新点——数据集】在此基础上,构建了 ShareGPT4Video(数据集),包含了跨越广泛类别的 40K 高质量视频,所产生的字幕包含了丰富的世界知识、对象属性、相机运动,关键是,详细和精确的事件时间描述。【本文的第三个创新点——模型】基于 ShareGPT4Video,进一步开发了 ShareCaptioner-Video,一种优秀的字幕器,能够有效地为任意视频生成高质量的字幕。我们用它注释了 480 万段有美感的视频,并在 10 秒的 text2video 生成任务中验证了它们的有效性。【实验结果】在视频理解方面,验证了 ShareGPT4Video 在几种当前LVLM架构上的有效性,并提出了卓越的 LVLM ShareGPT4Video-8b。所有的模型、策略和注释都将是开源的,我们希望它可以作为推进 LVLMs 和 T2VMs 社区发展的关键资源。


1 快速了解背景

● 【研究意义】在大型语言模型驱动下,多模态学习的最新进展导致了图像-文本对话 [41,11,18,66,76,15,2,78,90,89] 和文本-图像生成任务 [3,61,7,27,63,62,84,9] 的进展。这启发了向视频理解 [40,1,38,83,48,50,75,47] 和生成任务 [64,23,70,67,5,45] 的转变,允许跨视频和语言模态的用户交互。因此,连接上述不同任务模式的 详细和高保真视频字幕,有助于推动该领域的进步。

● 【该研究领域的现存不足】尽管视频有丰富的语义和时间内容,但它们通常只能与现有数据中的简短字幕配对。这些简短的描述限制了对视频的详细理解和视频生成的可控性。虽然研究人员已在图像-文本对话 [11,8,65] 和文本到图像生成任务 [9,4] 中认识到详细字幕的重要性,但在视频理解和生成方面仍缺乏类似的研究。


2 现存问题和已有解决方案

● 【现存不足:模型能力有限】创建大规模、高质量的视频字幕是具有挑战性的。长视频的详细字幕即使对人类来说也是非常重要和耗时的,阻碍了大规模注释。目前开源的 LVLM 缺乏这种能力,闭源 API 还不支持视频输入。另一方面,如果我们粗略地将输入从视频降为多个帧,即使 GPT4V 也很难生成令人满意的视频描述。例如,一种直观的想法是为 GPT4V 提供多个带有时间戳的帧并生成字幕,而我们发现 GPT4V 是不稳定的,有时会误解帧之间的时间关系,其性能随着视频帧的增加而进一步下降。其他方法,如将所有帧连接到一个大图像中,对时间问题没有帮助,并且随着帧数的增加,字幕会丢失细节。我们还在图 11 和图 12 中展示了这些问题。

在这里插入图片描述

图11:GPT4V 生成的视频字幕,以多个帧和时间戳作为输入。GPT4V 无法理解具有正确时间顺序的帧,并输出不正确的字幕。

● 翻译:
带有时间戳的多帧说明:视频集中讲述了食物的制作过程,从切片、切碎到搅拌和调味,最后是制作出一款口感丰富、充满活力的沙拉。在视频中,一名前臂上有纹身的男子在设备齐全的厨房里一丝不苟地准备沙拉。他先切黄瓜,然后切红洋葱,切大蒜,切绿叶草本植物。在完成这些任务的过程中,西红柿、黄瓜片和切碎的洋葱保持整齐排列,突出了他有条不紊的方法。

它们放在一个大玻璃碗里。在准备沙拉酱之前,他把原料混合在一起,以确保味道均匀分布。他在一个小碗里倒入橄榄油,加入柠檬汁、芥末、黑胡椒和类似盐的粉末,然后大力搅拌,使其成为乳化的稠度。

回到切菜,他准备了一个葱或红洋葱旁边的油芥末混合物。最后,他从一个金属碗里把面包丁加入沙拉中,这表明准备过程已经完成。

在整个视频中,厨房的设置保持一致,因为这名男子专注于制作一道细致而美味的菜肴。视频集中在食物的准备上,从切菜到混合和调味,最终形成了一份充满活力和质地多样化的沙拉。

时间不匹配☹

在这里插入图片描述

图12:通过将所有帧连接到一个大图像中生成的视频字幕 GPT4V。一些视频细节丢失了。

● 【现存不足:数据集的不足】设计有效的视频字幕策略的挑战根植于三个基本方面:1)帧间精确的时间变化理解:时间维度区分视频和图像。不精确的时间描述会显著降低视频字幕的质量,并导致训练模型的混乱。2)帧内详细内容描述:详细描述[11]对于图像和文本之间的模态对齐至关重要,这对视频和文本对齐也很重要。3)任意长度视频的帧数可扩展性:在日常种遇到的视频长度可以有很大的变化。理想的字幕策略应该能够适应这种变化,并为任何长度的视频生成适当的字幕。

● 参考文献:
[11] L. Chen, J. Li, X. Dong, P. Zhang, C. He, J. Wang, F. Zhao, and D. Lin. Sharegpt4v: Improving largemulti-modal models with better captions. arXiv preprint arXiv:2311.12793, 2023.


3 本文的第一和第二个创新点:构建策略和新数据集

● 本文提出差分滑动窗口字幕策略(Differential Sliding-Window Captioning strategy,DiffSW),稳定、可扩展,可高效地为任意视频生成字幕。DiffSW 的核心概念是将 “所有帧转为字幕(all-frames-to-caption)” 任务转换为差分描述任务(differential description task)。为第一帧生成详细的字幕,并按时间顺序将长度为 2 的滑动窗口应用于后续帧。

DiffSW的实现步骤: 首先,根据美学(aesthetic)质量和内容复杂性选择不同的视频源。接下来,我们使用 基于语义的数据 过滤来防止内容同质化。应用 语义感知的关键帧提取 进行稀疏采样,保持显著的语义变化。最后,实现了 差分滑动窗口字幕生成策略,利用 GPT-4V 生成详细且时间丰富的字幕。

在这里插入图片描述

图2:用于生成高质量视频字幕数据的管道(pipeline)。

● 【该创新点的优势阐述】强大的图像多模态模型 GPT4V[54] 的任务是基于三个输入识别帧之间的变化:前一帧、其差分字幕和当前帧。这包括摄像机运动、对象运动、角色动作和场景转换的改变。在获取所有差分字幕后,将其输入到 GPT4[53] 中,构建整个视频的综合字幕。差分概念允许 DiffSW 专注于帧之间的变化,即时间变化。滑动设计保证了时序的正确性和帧数的不变性。恒定的输入帧数保证了 GPT4V 不忽略细节,并高效地利用了 API,使得 DiffSW 的字幕质量稳定、可扩展、高效。此外,差分设计可以通过重用其差分字幕来重新说明字幕视频的任何子片段。

[54] OpenAI. Gpt-4v(ision) system card. https://cdn.openai.com/papers/GPTV_System_Card.pdf, 2023.

● 【构建数据集——数据源的选择】为了服务于视频理解和视频生成任务,在收集过程中考虑了视频的美学质量和内容复杂性。首先考虑Panda-70M[14],一个来自 YouTube 的高分辨率视频数据集,其片段范围在一分钟内。这个开放域资源涵盖了各种领域,如野生动物,烹饪,体育,新闻和电视节目,游戏和 3D 渲染。它通常包括复杂的内容和过渡,为理解各种现实世界的场景提供了坚实的基础。然而,这些内容和过渡的复杂性对视频生成领域提出了重大挑战。为了解决这个问题,我们还从一些用户上传的视频网站[56,57,51]来源了大量具有美感的视频。这些视频主要由风景和赏心悦目的人类活动组成,包含更少的过渡和更简单的事件。用来自 Ego4D[21] 和 BDD100K[79]的精选视频补充了我们的集合,以填补以自我为中心的人类活动和自动驾驶场景的空白,确保我们的视频源包含尽可能多的真实世界场景。

● 【构建技术——基于语义的数据过滤】虽然所提出的字幕方法可以支持长时间的视频,但由于对视频时长和视频数量的权衡,主要关注于短于两分钟的视频。我们首先从我们选择的数据源中过滤出超过两分钟的视频,将两分钟内的视频作为候选。提出一种基于语义的数据过滤策略,以缓解这些候选内容之间的同质性,并保持最终视频数据集的多样性。该方法旨在从候选视频池中选择具有显著主题差异的视频,以组成我们的最终视频集合。首先使用 Panda-Student [14]模型为每个候选视频生成一句简短的字幕,然后维护最终的候选视频池。每当处理一个新视频 V V V 时,我们使用 Bert-Base-Uncased [17]语言模型对其对应的短字幕 S S S 进行编码,以获得 C L S \mathtt{CLS} CLS token P n + 1 ∈ R 1 × D P_{n+1} ∈ \mathbb{R}^{1×D} Pn+1R1×D,以捕获高级语义表达。然后,我们计算这个 C L S \mathtt{CLS} CLS token P n + 1 P_{n+1} Pn+1 C L S \mathtt{CLS} CLS tokens { P 1 , P 2 , … , P n } \{P_1, P_2,…,P_n\} {P1,P2,,Pn} 的视频已经进入了最终候选名单。只有当新视频的最大相似度低于预定义阈值时,才会将其添加到池中。我们提供了如下图所示的伪代码。

在这里插入图片描述

● 视频在时间维度上通常是冗余的,而关键帧采样是紧凑地表示视频的一般思想。然而,传统的关键帧提取方法[91,6]往往难以确保语义的一致性,导致缺少覆盖关键变化和转换的关键帧。因此,我们开发了一种语义感知的关键帧提取方法,该方法在减少视频中的时间冗余和保持内容的语义一致性之间取得了平衡。

● 【构建技术——语义感知的关键帧提取】我们将 V ∈ R t × H × W × 3 V∈\mathbb{R}^{t ×H×W×3} VRt×H×W×3 表示为从视频中以固定的 2 秒间隔采样的 T T T 帧集。计算了足够稀疏的关键帧集 V ′ ∈ R T ′ × H × W × 3 V'∈R^{T'×H×W×3} VRT×H×W×3,但又全面覆盖了 T ′ < T T'<T T<T 的视频内事件的演变。将 CLIP-Large image encoder[59]的输出 C L S \mathtt{CLS} CLS 标记视为每一帧的全局语义,并删除具有高语义相似性的相邻帧。在实践中,我们用 V V V 的第一帧初始化关键帧集合 V ′ V' V。对于 V V V 中的每一帧,我们计算其与 V ′ V' V 中最新的关键帧的语义相似度 d d d。如果 d d d 低于预定义的阈值,我们将该帧视为关键帧,并将其添加到 V ′ V' V 中。如果没有,则跳过该帧作为冗余。为了完备性, V V V 的最后一个坐标系总是添加到 V ′ V' V 中。我们提供了如下图所示的伪代码。

在这里插入图片描述

● 正如我们在第 1 节中提到的,我们发现如果我们直接将所有帧提供给 GPT4V, GPT4V 很难稳定地生成具有正确帧之间时间关系的字幕,并且随着帧数的增加,其性能进一步恶化。另一方面,如果我们将所有帧拼接成一个大图像,随着帧数的增加,GPT4V 会丢失更多的细节,如图 1112 所示(本文的最前面两张图)。为此,一种稳定、可扩展、高效的策略对于任意长度视频的大规模标注至关重要。

● 差分滑动窗口字幕(Differential Sliding-window Captioning)。本文开发了一种差分滑动窗口字幕管道(pipeline),为各种视频生成具有详细时间描述的高质量字幕。具体来说,每次输入到图像多模态模型的输入包括当前关键帧和前一个关键帧及其差分描述。 然后,引入 差分提示(Differential Prompt) 引导 GPT4V 关注当前帧与前一帧之间的变化,如姿态、位置、摄像机角度等;此外,将前一帧的差分描述作为补充上下文,可以提高响应质量并减少幻觉。这是因为图像嵌入和文本描述分别提供了图像的显式和隐式表示。差分描述不仅添加了额外的上下文,而且集成了两帧前的时间信息,进一步提高了模型的时间理解。需要注意的是,对于缺少前一帧的第一个关键帧,其差分字幕将直接替换为标准字幕。最后,我们将所有差分字幕及其相应的时间戳输入 GPT4。设计了一个特定的摘要提示(Summary Prompt),以指导 LLM 生成具有精确的时间动态和详细的空间信息的高质量视频字幕。在实践中,我们使用 GPT-4-Turbo-04-09 作为所有注释。

● 在提示的设计中,我们发现 显式的分层提示设计 可以显著帮助 GPT4V 理解其角色、预期格式和操作边界。这种方法有助于输出格式的稳定性,并提高结果的整体质量。更多细节请参考附录 A.2 节。

附录:A.2 分层提示设计(Hierarchical Prompt Design)
  本文提出这一设计,以帮助多模态和语言模型在描述过程中有效发挥其作用。我们在图 7 和图 8 中分别说明了差异字幕提示摘要提示。分层提示主要由四个部分组成。角色部分为模型提供了它要扮演的角色和它面临的工作环境的整体感知。技巧部分指定模型需要拥有的技能,确保精确地符合多个需求,没有遗漏或混淆。约束部分阐明了用户不希望的行为以及在构建输出时需要遵循的规则。结构化输入部分要求用户根据他们的特定场景进行设置。

  例如,当指导模型生成差分字幕时,角色部分通知模型它是分析视频帧的专家。技能部分要求模型描述帧间目标动作和行为,环境和背景的变化,目标外观属性的变化,以及反映时间变化的摄像机运动。约束部分要求精确的描述,而不是逐项列出。结构化输入部分,输入包括帧索引、时间戳、前一帧及其差分字幕等。
在这里插入图片描述

图7:差异字幕提示模板

在这里插入图片描述
图8:摘要字幕提示模板


4 本文的第三个创新点:新模型

在这里插入图片描述

图4:ShareCaptioner-Video 是一个四合一的超常规视频字幕模型,具有以下功能:快速字幕、滑动字幕、剪辑摘要和提示字幕。

● 我们使用收集到的视频字幕数据对 IXC2-4KHD[19] 进行微调,得到 ShareCaptioner-Video。为了灵活使用,我们根据以下功能重新组织数据。

  1. 快速字幕】该模型采用图像网格格式进行直接视频字幕生成,提供了快速的生成速度,非常适合短视频。在实践中,将视频的所有关键帧连接到垂直拉长的图像中,并在字幕任务上训练模型。
  2. 滑动字幕】该模型支持差分滑动窗口格式的流字幕,产生适合长视频的高质量字幕。与 3.3 节中使用的字幕管道类似,我们将相邻的两个关键帧与前一个差分字幕一起作为输入,并训练模型以描述它们之间发生的事件。
  3. 剪辑摘要】该模型可以快速总结来自 ShareGPT4Video 或经历了差分滑动窗口字幕过程的视频的任何剪辑,消除了重新处理帧的需要。我们使用所有的差分描述作为输入,输出是视频字幕。
  4. 提示重构字幕】该模型可以对偏爱特定视频生成区域的用户的提示输入进行重新措辞,确保在高质量视频字幕数据上训练的 T2VMs 在推理过程中与其训练保持格式对齐。在实践中,使用 GPT-4 为密集字幕生成 Sora 风格的提示,并反向训练重描述任务,即使用生成的提示作为输入,将密集字幕作为训练目标。

[19] X. Dong, P. Zhang, Y. Zang, Y. Cao, B. Wang, L. Ouyang, S. Zhang, H. Duan, W. Zhang, Y. Li, et al. Internlm-xcomposer2-4khd: A pioneering large vision-language model handling resolutions from 336 pixels to 4k hd. arXiv preprint arXiv:2404.06512, 2024.

● 为了验证 ShareCaptioner-Video 在视频字幕任务中的有效性,并进一步支持视频生成领域的发展,用它标注了大量有美感的视频。具体来说,我们精心收集和处理 480 万段视频剪辑,总计约 3000 小时,来自三个来源:MixKit [51], Pexels[56]和 Pixabay[57]。然后,采用 ShareCaptioner-Video 的滑动字幕模式为这些视频生成高质量的字幕。整个描述过程需要大约 4000 H100 GPU 小时。我们在图 8 中提供了生成的字幕的一些统计信息。

在这里插入图片描述

表8:由 ShareCaptioner-Video 生成的 4.8M 高质量视频字幕对的静态数据

● 完整架构图如下:(a)所提出的 ShareGPT4Video 数据集包含大量从不同来源收集的高质量视频字幕对,其中有来自 GPT4V 的 40K 字幕和来自 ShareCaptioner-Video480 万字幕。(b)详细说明了利用多模态图像模型 GPT4V[54]为视频生成高质量字幕的过程。请参阅图 10 以获得示例的完整字幕。(c)独特的字幕策略可以通过重用子片段的差分字幕来重新字幕。

在这里插入图片描述

图1:ShareGPT4Video 的细节和属性。


在这里插入图片描述

图10:由我们的 DiffSW 生成的完整视频字幕,具有正确的时间理解和全面的细节描述

● 【实验结果一】拥有 7B 参数的 ShareGPT4Video-8B20 个维度中的 19 个方面优于竞争对手,尽管这些竞争对手使用了更大的训练数据或更多的参数。最好的结果已加粗,次好的结果加了下划线。
在这里插入图片描述

表3:与 SOTA 方法在 TempCompass 上的比较

● 【实验结果二】“*” 表示我们使用公共检查点的评估结果。最好的结果已加粗,次好的结果加了下划线。
在这里插入图片描述

表4:与 SOTA 方法在 VideBench 上的比较

5 总结

<这里隐藏了一个锚点⚓>

● 本文旨在解决大型视频语言模型(LVLMs)和文本到视频模型(T2VMs)缺乏高质量视频字幕数据的挑战。本文开发了一个高质量的视频字幕数据集 ShareGPT4Video 和一个视频-语言多模态领域先进而通用的模型 ShareCaptioner-Video。通过一系列策略和设计,从高级图像多模态模型、GPT4V 中生成 40K 的详细字幕,从 ShareCapator-Video 中生成 4.8M 高质量字幕。这些说明包括丰富的世界知识、对象属性、相机运动和事件的详细时间描述。广泛的实验验证了所提出数据集和 Captioner 在增强视频理解和生成任务方面的有效性。我们相信ShareGPT4VideoShareCaptioner-Video 将成为推动 LVLM 和 T2VM 社区研究的重要资源。


6 参考文献

92 篇


7 补充说明

● 本文没有写 “视频生成” 的部分。

● 若有写得不对的地方,或有疑问,欢迎评论交流。


⭐️ ⭐️ 写于2025年3月17日 21:40 教研室工位

### BasicVSR++ 的视频超分辨率技术 BasicVSR++ 是一种改进的视频超分辨率方法,通过增强传播和对齐机制显著提升了性能。该模型的核心在于其设计了一种更高效的特征传播方式以及更加精确的空间对齐策略[^1]。 #### 特征传播优化 传统的视频超分辨率方法通常依赖于简单的帧间传播来共享信息,而 BasicVSR++ 提出了 **双向特征传播** 和 **残差传播网络 (Residual Propagation Network)** 来提升效率。这种方法能够更好地捕捉时间维度上的上下文关系,并减少冗余计算[^2]。 #### 空间对齐增强 为了处理视频中的运动模糊和复杂场景变换,BasicVSR++ 引入了先进的空间对齐模块——具体来说是一种基于可变形卷积的对齐方案。这一模块允许模型自适应地调整不同帧之间的像素对应关系,从而实现更高精度的时间一致性[^3]。 以下是部分代码片段展示如何构建一个基础版本的双向传播结构: ```python import torch.nn as nn class BidirectionalPropagation(nn.Module): def __init__(self, channel_num): super(BidirectionalPropagation, self).__init__() self.forward_resblocks = ResidualBlocksWithInputConv(channel_num * 2, channel_num) self.backward_resblocks = ResidualBlocksWithInputConv(channel_num * 2, channel_num) def forward(self, feat_prop_forward, feat_prop_backward, aligned_feat): # Forward propagation feat_prop_forward = torch.cat([feat_prop_forward, aligned_feat], dim=1) feat_prop_forward = self.forward_resblocks(feat_prop_forward) # Backward propagation feat_prop_backward = torch.cat([feat_prop_backward, aligned_feat.flip(1)], dim=1) feat_prop_backward = self.backward_resblocks(feat_prop_backward) return feat_prop_forward, feat_prop_backward ``` 此代码实现了双向特征传播的关键逻辑,其中 `aligned_feat` 表示经过对齐后的输入特征图[^4]。 --- ### 实验结果与应用场景扩展 实验表明,在保持相近参数规模的情况下,BasicVSR++ 将 PSNR 指标平均提高了约 0.82 dB,同时具备更强泛化能力,可以应用于诸如压缩视频增强等多种实际任务中。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一支王同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值