本文为个人论文核心内容Method精读笔记摘录,原文为2024 CVPR Video ReCap Recursive Captioning of Hour-Long Videos,
需要更详细的论文精读Markdown解析,关注私戳包主领取
在这里提供原文链接https://arxiv.org/pdf/2402.13250
【背景】 大多数视频字幕生成模型被设计用来处理几秒钟的短视频片段,并输出描述低层次视觉概念(例如,物体、场景、原子动作)的文本。
【存在问题】然而,大多数现实世界的视频持续数分钟或数小时,并具有跨越不同时间粒度的复杂层次结构。
【本文方法】我们提出了Video ReCap,这是一个递归视频字幕生成模型,能够处理长度差异巨大的视频输入(从1秒到2小时),并在**多个层次级别输出视频字幕。该递归视频-语言架构利用了不同视频层次之间的协同效应,能够高效处理小时级别的长视频。我们采用课程学习训练方案来学习视频的层次结构,从描述原子动作的片段级字幕开始,然后聚焦于段落级描述,最后生成小时级长视频的摘要**。
【数据集&&功能效果==】==此外,我们通过在Ego4D基础上增加8,267个手动收集的长程视频摘要,引入了Ego4D-HCap数据集。我们的递归模型能够灵活地在不同层次级别生成字幕,同时对其他复杂的视频理解任务也很有用,例如EgoSchema上的视频问答。数据、代码和模型可在https://sites.google.com/view/vidrecap公开获取。
通俗理解
目前的视频字幕模型主要是给几秒钟的短视频写简单描述,比如"一个人在走路"或"桌子上有个苹果"这种基础信息。但现实中的视频往往很长,可能几分钟到几小时,而且内容层次复杂——有细节动作,也有整体情节。
研究者们开发了一个叫Video ReCap的新模型,它的特点是能够处理各种长度的视频(最短1秒,最长2小时),并且能在不同层次上生成描述。这就像给一部电影写解说:既能描述每个镜头的具体动作,也能总结每个场景的内容,还能概括整部电影的故事。
这个模型采用了 “循序渐进” 的学习方式:先学会**描述简单动作,再学描述视频片段**,最后学会总结长视频。研究团队还制作了一个包含8,267个长视频摘要的数据集来训练模型。
这个技术不仅能给视频加字幕,还能用于视频问答等其他任务。所有相关资料都可以在网上免费获取。
层次化视频字幕生成任务面临若干**技术挑战。首先,它需要能够处理长度差异巨大的输入的模型,范围从几秒钟到几小时不等。这与大多数现有方法形成对比,后者是为持续时间最多几分钟的固定视频时长而设计的。其次,长程视频具有高度冗余性,要求模型仅聚合关键信息,同时丢弃不重要的视觉线索。第三,另一个关键挑战是理解长视频中的层次结构并利用不同层次之间的协同效应**。
通俗理解
做层次化视频字幕生成这件事有三个主要难点:
第一个难点:长度差异太大
现有的技术大多只能处理几分钟的视频,但这个任务要求系统既能处理几秒钟的短片段,也能处理几小时的长视频。这就像要求一个人既能写微博(几十个字),也能写长篇小说(几十万字),技术架构需要完全不同。
第二个难点:信息冗余问题
长视频里有大量重复和无关紧要的内容。比如一个2小时的电影里可能有很多重复的镜头、过渡画面或者不重要的背景信息。系统需要学会"挑重点",只提取真正有用的信息,忽略那些冗余内容。
第三个难点:理解层次关系
最难的是要理解视频内容的层次结构,并且要让不同层次之间相互配合。比如要知道某个具体动作属于哪个活动步骤,这个步骤又服务于什么总体目标。这些层次之间不是独立的,而是相互关联、相互支撑的。
为了解决这些技术挑战,我们提出了**Video ReCap,这是一个能够处理长度差异巨大的视频的模型,其中输入时间跨度可能相差多达三个数量级(从几秒钟到几小时),并能在多个层次级别生成字幕。我们的模型包含三个关键属性,使其具备层次化视频字幕生成能力。首先,Video ReCap采用递归式视频-语言架构,使其能够在不同的层次级别生成字幕。在第一级别,模型从短视频片段(通常持续几秒钟)提取的特征生成字幕。随着我们向上移动层次,模型使用稀疏采样的视频特征和在前一层次级别生成的字幕作为输入,为当前层次级别生成视频字幕。这种递归设计有效地利用了不同视频层次之间的协同效应,并使我们能够高效地处理非常长的视频输入(例如,长达2小时)。此外,它有助于我们的模型利用现代大型语言模型的强大推理能力。其次,我们实施了课程学习方案,从短视频片段字幕的训练开始,逐步纳入来自更高级别层次的数据,即中等长度段描述和长程视频摘要。这种层次化课程学习策略允许模型逐渐学习视频的层次结构,从短的低级别字幕开始到长的高级别视频摘要。第三,为了缓解手动标注的层次化字幕数据有限的挑战,我们使用大型语言模型生成跨越不同时间长度的伪摘要数据,然后将这些伪标注作为额外数据**来训练我们的模型。
通俗理解
为了解决前面提到的三个难点,研究者们开发了Video ReCap模型,它有三个巧妙的设计:
第一个设计:递归架构
这就像搭积木一样层层递进。系统先处理几秒钟的短片段,给每个片段写简单描述。然后利用这些短描述,再加上稀疏采样的视频特征,来写更长片段的描述。最后再基于中等长度的描述来写整个视频的总结。这种"递归"的方式让系统能处理从几秒到几小时的各种长度视频,而且能充分利用现代AI语言模型的强大能力。
第二个设计:循序渐进的学习
就像人学习一样,要从简单到复杂。系统先学会给短视频写描述,掌握了基本技能后,再学习写中等长度的描述,最后才学习写长视频的总结。这种"课程学习"让系统能逐步理解视频的层次结构。
第三个设计:用AI**生成训练数据**
手工标注长视频的层次化描述非常费时费力,数据不够用。所以研究者们让大型语言模型来生成各种长度的"伪标注"数据,用这些额外的训练材料来补充真实数据的不足。
简单说,这个系统就像一个很聪明的学生,会先学基础,再学进阶,还会自己找练习题来提高水平。
为了评估Video ReCap,我们引入了Ego4D-HCap**数据集,这是一个新的层次化视频字幕生成基准,包含持续数小时的长程以自我为中心的视频,并在多个层次级**别上具有手动==标注==的字幕。为了构建Ego4D-HCap基准,我们利用了Ego4D [19],这是最大的公开可用的长程以自我为中心的视频数据集,它提供了长达5分钟的时间戳字幕和视频片段摘要。然后我们用手动标注的8,267个长程视频摘要来增强Ego4D视频的子集,其中每个视频长达两小时。因此,Ego4D-HCap成为了一个丰富的资源,为长的未修剪的以自我为中心的视频提供了三个层次的层次化字幕,包括长程视频序列的字幕、几分钟视频片段的中间描述,以及长视频序列的视频级别摘要。
我们的结果表明,Video ReCap在所有三个时间层次上都以很大的优势超越了强大的先前视频字幕生成基线[28, 66]。我们还证明了Video ReCap可以有效用于其他复杂的视频理解任务,例如在EgoSchema [34]上的长格式视频问答,其中我们的方法以显著优势(+18.13%)超越了之前的最佳方法。
通俗理解
创建新的测试数据集
为了测试Video ReCap的效果,研究者们创建了一个叫Ego4D-HCap的新数据集。这个数据集很特别:
这就像给一个几小时的生活记录视频(比如某人一天的活动)提供了**三种不同详细程度**的说明书。
测试结果很棒
实验结果显示Video ReCap的表现非常出色:
这说明这个系统不仅能写好字幕,还能帮助理解视频内容回答问题,是个很全能的视频理解工具。
视频字幕生成方法。 视频字幕生成的早期工作使用了基于模板的方法 [24, 26, 42, 48, 60] 。随后,这些方法被使用CNN-RNN编码器-解码器架构构建的深度学习方法所取代 [7, 16, 36, 37, 46, 54, 55, 63] 。最近Transformer的引入[17, 52]导致了大量基于transformer的视频字幕生成方法 [7, 21, 27, 37, 38, 45, 46, 50, 55, 62] 。尽管这些方法在短片段字幕生成方面取得了巨大成功,但大多数方法仅限于几秒钟的短视频,无法为小时级长视频生成跨越多个时间层次的字幕。
通俗理解
视频字幕技术的发展历程
视频字幕生成技术经历了三个主要发展阶段:
第一阶段:模板方法时代
最早的方法是基于模板的,就像填空题一样。系统预先设定好句子模板,比如"一个[人]在[地点][动作]",然后识别视频中的人、地点、动作来填入模板。这种方法简单但很死板。
第二阶段:深度学习时代
后来出现了CNN-RNN架构的深度学习方法。CNN负责"看"视频提取视觉特征,RNN负责"说话"生成文字描述。这比模板方法灵活多了,能生成更自然的描述。
第三阶段:Transformer时代
近年来Transformer技术革命性地改变了AI领域,视频字幕生成也不例外。基于Transformer的方法在处理短视频方面表现非常出色。
现有技术的局限性
但是,所有这些方法都有一个共同问题:它们只能处理几秒钟的短视频片段,无法应对小时级的长视频,更别说生成不同层次的描述了。这就是为什么需要开发新的Video ReCap技术。
图1. 层次化视频字幕生成。 我们的目标是为长程视频(例如,几小时长)在三个时间粒度上生成层次化字幕。首先,我们为视频的每几秒钟生成短片段字幕,专注于原子性人类动作。之后,我们为视频的每几分钟生成中等长度的段描述,捕获较长活动中的中间步骤或扩展故事线中的视频片段。最后,我们的方法为长程视频生成摘要,描述视频中演员的总体意图和目标。
通俗理解
图1展示的层次化视频字幕生成过程
这个图很好地展示了Video ReCap是如何工作的,用一个56分钟的购物视频作为例子:
第一层:短片段字幕(蓝色框)
第二层:段落描述(黄色框)
第三层:整体总结(绿色框)
这个例子清楚地展示了三个层次之间的关系:从具体的瞬间动作,到有意义的活动片段,再到完整的故事概括。每个层次都有其独特的价值和用途。
3 技术方法
3.1. 问题概述
给定一个长的、未剪辑的视频输入,我们的目标是在**视频的多个层次级别生成文本字幕。形式化地,作为我们的输入,我们考虑一个长程视频序列 V i = [ I t ( i ) ] t = 1 , . . . , T V_i = [I_t^{(i)}]_{t=1,...,T} Vi=[It(i)]t=1,...,T,由 T T T**个RGB帧组成,用== I t ( i ) I_t^{(i)} It(i)表示【第i个视频的第t帧】 。我们的目标是在三个不同的层次级别生成字幕: Y i ( ℓ ) = [ y i , j ( ℓ ) ] j = 1 , . . . , ∣ Y i ( ℓ ) ∣ Y_i^{(\ell)} = [y_{i,j}^{(\ell)}]_{j=1,...,|Y_i^{(\ell)}|} Yi(ℓ)=[yi,j(ℓ)]j=1,...,∣Yi(ℓ)∣,其中 ℓ = 1 , 2 , 3 \ell = 1, 2, 3 ℓ=1,2,3, y i , j ( ℓ ) y_{i,j}^{(\ell)} yi,j(ℓ)表示层次级别 ℓ \ell ℓ的**字幕**** i i i==中的第**** j j j**个词。每个层次的字幕都是按**顺序生成的,从短期视频片段字幕 Y i ( 1 ) Y_i^{(1)} Yi(1)开始,描述在视频的几秒间隔内发生的细粒度动作和物体**(例如,图1中一个人拿起一个苹果)。之后,模型输出中等长度的段描述 Y i ( 2 ) Y_i^{(2)} Yi(2),捕获在视频的几分钟内展开的中间步骤或摘要(例如,图1中一个人开车并停车)。最后,模型以长程视频摘要 Y i ( 3 ) Y_i^{(3)} Yi(3)完成其生成,代表整个视频输入的视频内容。
通俗理解
技术方法概述
这一节开始解释Video ReCap具体是怎么工作的。
问题定义
输入:一个很长的、没有经过剪辑的原始视频(比如几小时的连续录像)
输出:三个不同层次的文字描述
数学表示方式
用数学符号来严格定义这个问题:
三个层次的具体含义
这三个层次是按顺序生成的,从最细致的开始,逐步到最宏观的总结。
我们现在描述Video ReCap模型,该模型包含三个高级组件:视频编码器、视频-语言对齐和递归文本解码器。我们在图2中说明了我们的方法并在下面描述每个组件。
通俗理解
Video ReCap模型的整体架构
Video ReCap模型由三个主要部分组成,就像一个完整的视频理解和描述系统:
1. 视频编码器(Video Encoder)
2. 视频-语言对齐(Video-Language Alignment)
3. 递归文本解码器(Recursive Text Decoder)
这三个组件协同工作,使得系统能够从原始视频一步步处理到最终的层次化文字描述。图2会详细展示这个过程是如何实现的。
视频编码器。 首先,我们利用现成的**视频编码器(例如,TimeSformer [9]** )从长程视频中提取特征。给定一个短视频片段,视频编码器输出密集的时空特征。我们将整个视频均匀分割并提取特征序列 X i = [ x i , j ] j = 1 , . . . , ∣ C ∣ X_i = [x_{i,j}]_{j=1,...,|C|} Xi=[xi,j]j=1,...,∣C∣,其中 ∣ C ∣ |C| ∣C∣是视频片段的数量, x ∈ R F × H × W × D x \in \mathbb{R}^{F \times H \times W \times D} x∈RF×H×W×D是特定片段的时空特征, F F F是帧数, H H H是高度, W W W是宽度, D D D是特征维度。我们对短片段字幕使用**密集时空特征,以便模型可以识别低级别的视觉线索(即物体和原子动作);对于更高级别的字幕(例如,段描述和视频摘要),我们使用==全局特征==(例如,CLS特征**)来降低计算成本并捕获长视频输入的全局属性。
通俗理解
X i X_i Xi确实指的是第 i i i个视频,它包含 j j j个片段。
数学符号解释:
具体工作流程:
特征的维度含义:
每个片段的特征 x x x是一个四维数组 F × H × W × D F \times H \times W \times D F×H×W×D:
分层策略:
就像看电影,有时要关注演员的细微表情,有时要把握整体剧情走向。
视频-语言对齐。 接下来,我们使用视频-语言(VL )对齐模块,该模块以**视频特征== X i X_i Xi==和在前一层次生成的字幕 Y i ( ℓ − 1 ) Y_i^{(\ell-1)} Yi(ℓ−1)==作为输入,并输出固定数量的嵌入**** Z i = [ z i , j ] j = 1 , . . . , ∣ Z ∣ Z_i = [z_{i,j}]_{j=1,...,|Z|} Zi=[zi,j]j=1,...,∣Z∣==,其中 z ∈ R D z z \in \mathbb{R}^{D_z} z∈RDz, ∣ Z ∣ |Z| ∣Z∣是嵌入的数量, D z D_z Dz是隐藏维度。对齐模块的目标是将视频和文本特征映射到联合特征空间,以便后续的文本解码器可以如 [28] 中那样联合处理两种特征。此外,这种方案使我们能够将==大量==的视频和文本特征(例如,几千个)压缩成一小组嵌入(例如,256个),显著降低计算成本。具体而言,我们使用冻结的预训练语言模型(例如,DistilBERT [43] )通过在语言模型的每个transformer块内注入可训练的交叉注意力层,从视频特征 X i X_i Xi中学习固定数量的视频嵌入。我们还通过使用具有==可训练交叉注意力层的====类==似冻结语言模型,从在前一层次生成的字幕****== Y i ( ℓ − 1 ) Y_i^{(\ell-1)} Yi(ℓ−1)中学习固定数量==的文本嵌入。最后,我们将视频和文本嵌入连接起来以获得联合嵌入 Z i Z_i Zi,后续文本解码器**使用它来生成字幕 Y i ( ℓ ) Y_i^{(\ell)} Yi(ℓ)。请注意,第一层次级别(即,片段字幕)没有文本特征 ,仅使用视频嵌入作为 Z i Z_i Zi。
通俗理解
模块功能:视频-语言对齐模块是连接视觉和文本的桥梁,让两种不同类型的信息能够在同一个空间中协同工作
输入输出:
核心目标:将视频特征和文本特征映射到统一的特征空间,让后续的文本生成器能够同时理解视觉和语言信息
压缩机制:将可能有几千个的原始特征压缩成256个左右的嵌入向量,大幅降低计算开销
技术实现:
特殊情况:第一层次(短片段字幕)由于没有前置文本信息,只使用视频嵌入
公式解释:
递归文本解码器。 我们使用预训练的语言模型(例如,GPT2 [40] )作为**递归文本解码器,用于在多个层次级别生成字幕。解码器接受由视频-语言对齐模块(如上所述)产生的视频-文本嵌入 Z i Z_i Zi**,然后为**层次 ℓ \ell ℓ**生成字幕****== Y i ℓ Y_i^{\ell} Yiℓ。请注意,我们使用在**前一层次级别**生成的字幕** Y i ℓ − 1 Y_i^{\ell-1} Yiℓ−1作为输入之一(与视频特征**** X i X_i Xi==一起),这使得递归字幕生成管道【pipeline】** 成为可能。请注意,对于**短期字幕生成(即, Y i 1 Y_i^{1} Yi1** ) ,文本特征集初始化为空(即,我们模型递归的基本情况)。遵循先前的工作 [1, 66] ,我们在文本解码器的**每个transformer层内插入可训练的交叉注意力块,并冻结其余层。交叉注意力层关注对齐模块的视频-文本嵌入。因此,所提出的Video ReCap使用以下训练目标对以视频 X X X==和在较低级别层次生成的字幕**** Y ( ℓ − 1 ) Y^{(\ell-1)} Y(ℓ−1)==为条件的字幕****== Y ( ℓ ) Y^{(\ell)} Y(ℓ)==的似然**进行建模:
p ( Y ( ℓ ) ∣ X ) = ∏ k = 1 K p ( y k ( ℓ ) ∣ y < k ( ℓ ) , X , Y ( ℓ − 1 ) ) ( 1 ) p(Y^{(\ell)}|X) = \prod_{k=1}^{K} p(y_k^{(\ell)}|y_{
这里, y k ( ℓ ) y_k^{(\ell)} yk(ℓ)表示字幕的语言token, y < k ( ℓ ) y_{
通俗理解
递归文本解码器的核心功能:
输入输出机制:
架构设计策略:
递归生成流程:
训练目标公式解析:
公式整体含义:
表达式澄清
视频-文本嵌入** Z i Z_i Zi**的定义:
公式中的符号含义:
正确的理解:
数据流向:
数据流向分析:
3.3. 层次化课程学习
训练递归视频-语言模型具有**挑战性,原因有几个。首先,模型必须处理输入长度差异巨大的视频(即,从几秒钟到几小时)。其次,存在显著的数据不平衡,短期片段字幕的数量远远超过视频段描述和长程摘要的数量。最后,利用不同层次级别之间的协同效应对于生成有意义且与上下文相关的字幕至关重要。为了克服这些挑战,我们从经典的心理学研究 [4, 8, 10, 15]中汲取动机,这些研究显示了人类对动作感知的层次化组织。正如人类首先感知原子动作,然后才理解中级动作,再从中级活动推断目标一样,我们的训练策略以类似的层次化方式展开。具体而言,我们的训练从最低层次级别的样本开始,即片段字幕。随后,我们用更高级别的字幕训**练我们的模型,例如,中等长度的段描述和长程视频摘要。这种战略性进展允许模型逐渐理解视频中固有的复杂层次结构,并最大化所有层次之间的协同效应。此外,这种策略有效地处理了不同层次之间高度不平衡的训练数据。图3显示了所提出的课程学习策略的概述。
通俗理解
训练挑战分析:
心理学理论基础:
课程学习策略设计:
策略实施优势:
训练流程安排:
预期效果:
为小时级长视频收集字幕标注既**耗时又昂贵。因此,层次化视频字幕生成面临的另一个关键挑战是手动标注的层次化字幕数据的稀缺性,特别是中等长度段描述和长程视频摘要。我们利用大型语言模型(LLMs)来缓解这个问题。LLMs能够有效地整合来自不同长度文本输入的信息,这与我们指导视频模型在多个层次生成字幕的目标完全一致。基于这些见解,我们使用LLMs为中等长度和长程视频(即我们的后两个层次)生成大量伪字幕标注。该过程涉及两个主要步骤。首先,给定手动标注的层次化字幕,我们微调一个LLM教师模型,从跨越不同时间持续时间的短期片段字幕连接中生成中等长度段描述和长程视频摘要。之后,我们将这种LLM生成的伪真实标注字幕数据作为额外的训练样本**来训练Video ReCap(见图4)。我们的实验表明,LLMs生成的这种伪真实标注数据有效地补充了手动标注数据,并显著提高了我们模型的字幕生成能力。
通俗理解
数据稀缺问题分析:
LLM解决方案的理论基础:
两步法实施策略:
方案优势分析:
技术创新点:
3.5. 实现细节
我们使用TimeSformer [9]作为视频编码器来提取特征,输入为4个224 × 224的RGB帧片段。我们使用GPT2 [40]作为默认文本解码器,隐藏维度为768,包含12个transformer块。我们使用Adam优化器[23],学习率为3^{-5},权重衰减为0.01。我们的训练流水线还采用了余弦调度策略[32]。更多实现细节请参考补充材料。
通俗理解
视频编码器配置:
文本解码器配置:
训练优化设置:
技术参数解释:
实现策略特点:
本文为个人论文核心Method阅读笔记,原文为2024 CVPR Video ReCap Recursive Captioning of Hour-Long Videos,
需要更详细的论文精读Markdown解析,关注私戳包主领取
在这里提供原文链接https://arxiv.org/pdf/2402.13250