关注公众号,发现CV技术之美
▊ 写在前面
视频-文本检索是视觉语言理解中一项重要但具有挑战性的任务,它旨在学习一个相关的视频和文本实例相互接近的联合嵌入空间。目前的大多数工作都只是基于视频级和文本级的嵌入来衡量视频-文本的相似性。然而,忽略更细粒度或局部信息会导致表示不足的问题。有些工作通过分解句子来利用局部细节,但忽略了相应视频的分解,导致了视频-文本表示的不对称性。
为了解决上述限制,作者提出了一个层次对齐网络(HANet)来对齐不同层次的视频文本匹配表示。具体来说,作者首先将视频和文本分解为三个语义层次,即事件(视频和文本)、动作(运动和动词)和实体(外观和名词)。
在此基础上,作者自然地以个体-局部-全局 的方式构建层次表示,其中个体层面 关注帧和单词之间的对齐,局部层面 关注视频片段和文本上下文之间的对齐,全局层面 关注整个视频和文本之间的对齐。
不同级别的对齐捕获视频和文本之间从细到粗的相关性,并利用三个语义级别之间的互补信息。此外,通过明确学习关键语义概念,本文提出的HANet也具有丰富的可解释性。在两个公共数据集,即MSR-VTT和VATEX,上的大量实验表明,所提出的HANet优于其他SOTA的方法,这证明了分层表示和对齐的有效性。
▊ 1. 论文和代码地址
HANet: Hierarchical Alignment Networks for Video-Text Retrieval
论文地址:https://arxiv.org/abs/2107.12059
代码地址:https://github.com/Roc-Ng/HANet
▊ 2. Motivation
由于在线视频的爆炸性增长和人工智能技术的进步,跨模态检索吸引了越来越多的关注。除了语音识别,视频文本检索是上述场景中的一项关键技术,其目的是搜索给定自然语言句子作为查询的相关视频。这项任务具有挑战性,因为视频和文本是两种不同的模态,如何在共享空间中编码和匹配它们是关键。
目前,通常的做法是将视频和文本编码成紧凑的表示,并使用度量学习在联合潜在公共空间中度量它们的相似性。然而,这种紧凑的全局表示忽略了视频和文本中存在的更细粒度或局部信息,这可能导致表示不足的问题。
为了缓解这个问题,一些工作利用局部语义信息进行细粒度视频文本检索。而视频文本检索是一项跨模态的任务,这些方法只关注文本分析,而忽略了视频分析,导致了视频文本表示的不对称性。因此,同时解析文本和视频是一种更通用的解决方案。
为了解决上述问题,作者提出了分层对齐网络(HANet),旨在同时解析文本和视频到不同的语义级别,然后生成单个、局部和全局级别的表示,最后在单独的共享空间中分层对齐不同级别的表示(如上图所示)。
▊ 3. 方法
在本文中,作者提出了用于视频文本检索的层次对齐网络(HANet),其目标是对齐不同层次的视频-文本特征,并度量不同公共空间中的相似性。HANet的结构如上图所示,它由四个部分组成:
1)视频文本解析(Video-text parsing) ,即分别使用特定于视频的和特定于文本的解析方式解析视频和文本。
2)视频表示(Video representations) ,即在视频解析的基础上构建帧、片段和视频级别的特征。
3)文本表示(Text representations) ,即在文本解析的基础上构建单词、短语和句子层次。
4)层次对齐(Hierarchical alignment) ,即对齐视频和文本表示的不同语义级别来计算它们的相似性。
最后,作者在第3.5节中介绍了模型的训练和推理 。
3.1 Video-Text Parsing
给定一个长度为𝑁的视频𝑉及其对应的长度为𝑀的标题𝑆,作者期望不仅视频和文本的全局表示 在其公共空间中很接近,而且更细粒度的表示 也应该很接近。为了实现这个目标,首先解析视频和文本。
3.1.1 Video Parsing
与文本解析不同,视频解析具有挑战性,因为视频比文本更复杂,缺乏独特的语义结构。视频解析的一种方法是引入一些现有的视觉操作,如时间分割、目标检测、跟踪,这些对于实践应用是耗时和复杂的。
为了解决这个问题,作者提出使用预定义的概念词汇表将视频帧投影到概念空间( concept space)中,其中每个帧都明确地与特定的概念相关联。作者通过概念(concept )建立了视频帧(或片段)与关键字(如名词和动词)之间的跨模态关联。
形式上,给定预定义的大小的动作概念词汇表,作者使用CNN将相应的视频动作特征图投影到维动作概念空间中。同样,采用另一个CNN将实体特征映射投影到维实体概念空间中。即:
其中,和分别表示为行动和实体概念的置信度。𝜎是Sigmoid激活函数,𝐵𝑁是BatchNorm。关于和的详细描述在3.2节中解释。值得一提的是,作者利用具有𝑘=5核大小的卷积层来获得动作概念的概率输出,即捕获连续视频帧中的内在运动信息。
3.1.2 Text Parsing
根据之前的工作,作者使用现成的语义作用解析工具包来获得动词、名词以及每个名词对相应动词的语义。在这里,动词被认为是动作,名词是实体。然后,作者将句子词投射到动作和实体概念中,得到它们的置信度如下:
其中,和分别表示为动作概念和实体概念的置信度。关于和的详细描述在3.3节中解释。
视频文本解析在动作和实体概念层面引入了视频和文本之间新的基于概念的匹配空间。这样,还引入了良好的可解释性。
3.2 Video Representations
作者设计了三种不同的表示粒度,即个体、局部和全局,分别对应于视频帧、视频片段和整个视频,它们捕获从细到粗的信息,并相互补充。
3.2.1 Individual-level Representation
形式上,给定视频𝑉,作者首先使用预训练过的CNN来提取帧级特征。然后,作者使用不同的全连接(FC)层将视频编码为三个语义级嵌入,如下所示:
其中。由于和只包含帧级别的信息,这里它们被认为是个体级别的表示。用于全局级表示。
3.2.2 Local-level Representation
为了进一步探索帧之间的上下文信息,作者提出了一个选择和合并(SeMe)模块来生成局部级表示。SeMe模块以个体级表示为输入,并输出概念可信度。为了提取更多的高级表示,作者首先使用卷积层将和投影到另一个空间中:
其中𝑆𝐸是一个Squeeze-and-Excitation block来显式地建模通道之间的相互依赖关系。然后,作者通过视频解析获得了局部级的表示。具体来说,每一帧都有维动作概念置信度和维实体概念置信度。而我们希望知道的是哪些动作和实体概念与每个视频相关联,而不是每个帧。为此,作者引入了一种基于多实例学习(MIL)的机制,如下所示:
其中,是第i个动作概念的𝜏-max帧级置信度分数集,的大小为𝜏。是给定视频𝑉的视频一层动作概念的置信度。对于第i个动作概念,作者通过平均得到了第i个视频级动作概念置信度。用同样的方式也可以得到。给定和,和个具有最高置信度的行动和实体概念将会被选择用来表示视频V的概念。
对于每个选择的动作概念,作者在中选择大小为𝑘=5的视频片段,并使用平均池化获得一个特征向量。通过此操作,最终得到了局部级动作表示。获得与获得局部级实体表示的主要区别是,作者在中选择3帧,并且可能不是连续的,对应前3个最高置信度,通过平均池化获得一个特征向量。
通过合并相邻和语义上相似的帧,局部级表示包含更丰富的信息,并捕获局部范围依赖关系,它们可以显式地与文本中的名词和动词对齐。综上所述,局部级表示是与概念对应的几个帧级特征的聚合。
3.2.3 Global-level Representation
对于全局事件级别,作者采用一种注意机制,将帧级特征平均为一个单一的全局向量,它表示视频中的显著事件,如下所示:
其中𝛼为注意力分数,𝑊为可学习的权重。
3.3 Text Representations
与视频表示一样,文本表示包括三个粒度层次,即帧层次对应于单词,局部层次对应于上下文,全局层次对应于句子。三种层次的文本表示被用于在层次对齐中与相应的视频表示对齐。形式上,给定句子𝑆,作者使用预训练的模型来提取单词嵌入,然后在文本解析之上生成三种不同层次的表示。
3.3.1 Individual-level Representation
作者利用一个双向GRU(Bi-GRU)来生成一个具有上下文感知能力的单词嵌入序列,如下所示:
基于文本解析,作者选择动词和名词对应的特征作为和,它们是的子集,对应于视频中的和。同时,作者采用3.2.3节中类似的的注意机制,获得了全局事件嵌入。
3.3.2 Local and Global-level Representation
作者遵循之前的工作,并使用改进的关系GCN来获得局部和全局级的表示。具体来说,作者收集了三个特征,即,并使用来表示这个特征集,它是图的初始化节点嵌入。通过文本解析而产生的不同语义角色是图的边。
在这里,作者只使用一个GCN层,如下所示:
是转换矩阵,是角色嵌入矩阵,是语义角色的数量,是节点i的邻居节点,表示一个one-hot形式的长度为表示从节点𝑖到节点𝑗的边,节点𝑖和𝑗之间的相似性,计算如下:
来自GCN层的输出是最终不同级别的表示,其中表示局部级动作表示,表示局部级实体表示,表示全局级表示。值得注意的是,作者没有在视频中使用关系GCN,原因是每个实体对相应操作的语义角色是未知的。
3.4 Hierarchical Alignment
在上述文本编码和视频编码之后,我们得到了三个层次的表示,即个体、局部和全局层次。在本节中,将介绍如何在三个不同的层次上分层对齐表示。
3.4.1 Individual Alignment
由于视频和文本中有多个组件,作者使用了stack attention机制来对齐多个组件并计算总体相似性得分。下面用来表示和,文本也是一样。使用余弦相似度来计算每对跨模态分量之间的相似度。然后,计算出将句子单词和视频帧动态对齐的注意权重如下:
其中,𝜆为温度参数,,。最终的相似性总结了所有单个组件的相似性,如下所示:
此外,作者引入了基于概念置信度的概念相似性,其中概念置信度从个体级别的表示中发展而来。为了简单起见,使用来表示和。作者使用广义Jaccard相似度来计算基于概念的相似度:
3.4.2 Local Alignment
在局部层面,作者同样采用stack attention机制来获得和。
3.4.3 Global Alignment
在全局级别上,视频和文本被编码到全局向量中。作者使用余弦相似度来衡量全局视频和全局文本之间的跨模态相似性。
3.5 Training and Inference
3.5.1 Training
一旦计算出了所有的相似性得分,就得到了视频𝑉和句子𝑆之间的两个相似性,即:
采用广泛使用的 hard negative采样策略优化HANet,$\mathcal{L}{l} 和\mathcal{L}{p}$如下所示:
其中(𝑉,𝑆)是正样本对,𝑉−和𝑆−是mini-batch中最难的负样本对。
此外,作者使用二binary cross-entropy(BCE)损失来进行概念学习:
其中是Ground Truth。
总体损失为上述损失的组合,结果如下:
其中𝜂和𝜇是超参数。
3.5.2 Inference
作者简单地将和的平均值作为𝑉和𝑆之间的最终视频文本相似性,用于视频文本检索。
▊ 4.实验
4.1. Comparison with State-of-the-Art Methods
上表展示了MSR-VTT数据集上本文方法和SOTA方法的性能对比。
上表展示了VATEX数据集上本文方法和SOTA方法的性能对比。
4.2. Ablation Studies
4.2.1 Effectiveness of Hierarchical Alignment
上表展示了不同层次对齐的消融实验结果,可以看出,更多的对齐有利于达到更好的性能。
4.2.2 Effectiveness of Local-level Representation
上表展示了不同局部级别表示方法的实验结果,可以看出1)视频上下文信息是通过在SeMe模块中选择和合并基于概念的相关帧来引入的;2)文本上下文信息也被关系GCN捕获。
4.3. Qualitative Analyses
4.3.1 Visualization of the Text-to-Video Retrieval
上图展示了MSR-VTT测试集上可视化的文本到视频检索的几个示例。
4.3.2 Visualization of Action- and Entity-level Concept
上表展示了动作级别和实体级别的可视化结果。
▊ 5. 总结
在本文中,作者提出了层次对齐网络(HANet),以充分利用不同语义层次表示的互补信息进行视频文本检索。作者首先分别使用基于概念的弱监督分类和现有的文本解析工具包对视频和文本进行解析 。
然后,引入层次对齐,在个体、局部和全局级别对齐表示 ,以计算跨模态相似性。在两个流行的文本视频检索基准上的定量和定性结果显著地证明了HANet的有效性。在未来,由于成对匹配的成本相对较高,因此更精确和有效的层次对齐仍有待探索。
▊ 作者简介
研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。
知乎/公众号:FightingCV
END
欢迎加入「视频检索」交流群👇备注:检索