多模态算法在视频理解中的应用

1 概述

现阶段视频分类算法,主要聚焦于视频整体的内容理解,给视频整体打上标签,粒度较粗。较少的文章关注时序片段的细粒度理解,同时也从多模态角度分析视频。本文将分享使用多模态网络提高视频理解精度的解决方案,并在youtube-8m 数据集中取得较大提升。

2 相关工作

在视频分类人物中,NeXtVLAD[1] 被证明是一种高效、快速的视频分类方法。受ResNeXt方法的启发,作者成功地将高维的视频特征向量分解为一组低维向量。该网络显着降低了之前 NetVLAD 网络的参数,但在特征聚合和大规模视频分类方面仍然取得了显着的性能。RNN[2] 已被证明在对序列数据进行建模时表现出色。研究人员通常使用 RNN 对 CNN 网络难以捕获的视频中的时间信息进行建模。 GRU[3] 是 RNN 架构的重要组成部分,可以避免梯度消失的问题。 Attention-GRU[4] 指的是具有注意机制,有助于区分不同特征对当前预测的影响。为了结合视频任务的空间特征和时间特征,后来又提出了双流CNN [5]、3D-CNN [6]、以及slowfast[7]和ViViT[8]等。虽然这些模型在视频理解任务上也取得良好的表现,但还有提升的空间。比如,很多方法只针对单个模态,或者只对整个视频进行处理,没有输出细粒度的标签。

3 技术方案

3.1 整体网络结构

本技术方案是旨在充分学习视频多模态(文本、音频、图像)的语义特征,同时克服 youtube-8m数据集样本极不均衡和半监督的问题。如Figure 1所示,整个网络主要由前面混合多模态网络(mix-Multmodal Network)和后面的图卷积网络(GCN[9])组成。mix-Multmodal Network 由三个差异化的多模态分类网络构成,具体差异化参数在Table1中。

多模态算法在视频理解中的应用

Figure 1. 整体网络结构

多模态算法在视频理解中的应用

Table 1. 三个差异化的 Multimodal Net 的参数

3.2 多模态网络

如图Figure 2所示,多模态网络主要理解三个模态(文本、视频、音频),每个模态都包含三个过程:基础语义理解、时序特征理解、模态融合。其中,视频和音频的语义理解模型分别使用的是EfficientNet[10]和VGGish,时序特征理解模型是NextVLAD。而文本的时序特征理解模型为Bert[11]。多模态特征融合,我们采用的是SENet[12]。SENet网络的前处理需要将各个模态的特征长度强行压缩对齐,这样会导致信息丢失。为了克服这个问题,我们采用了多Group的SENet的网络结构。实验表明,多个group的SENet网络相较于单个SENet 学习能力更强。

多模态算法在视频理解中的应用

Figure 2. 多模态网络结构

3.3 图卷积

由于Youtube-8M粗粒度标签全部标注,细粒度标签只标注了部分数据。因此,引入 GCN来进行半监督分类任务。基本思想是通过在节点之间传播信息来更新节点表示。对于多标签视频分类任务,标签依赖关系是一个重要信息。

我们使用标签之间的条件概率将标签相关信息引入我们的建模。基于Youtube-8M 数据集粗粒度标签,我们首先统计每个标签的出现次数,得到一个矩阵 N∈Rᶜ 。C 是所有类别的数量。然后我们统计所有标签对的并发次数,这样就可以得到并发矩阵 M∈Rᶜ﹡ᶜ 。最终得到条件概率矩阵 P∈Rᶜ﹡ᶜ:

多模态算法在视频理解中的应用

Pᵢⱼ表示标签i出现时标签j的出现概率。

但是,来自训练和测试数据集的共现矩阵可能并不完全一致,数据集标签也不是 100% 正确。另一方面,一些罕见的共现对我们来说可能不是真正的关系,可能只是噪音。因此,我们可以使用阈值λ将滤Pᵢⱼ到Pᵢⱼ′:

多模态算法在视频理解中的应用

在我们的任务中,每个标签将是图(graph)的一个节点(node),两个节点之间的线表示它们的关系[13][14]。所以我们可以训练一个矩阵来表示所有节点的关系。以从我们的数据集中提取的一个简化的标签相关图 Figure 3为例,Label BMW --> Label Car,表示当 BMW 标签出现时,Label Car 很可能发生,但反之则不一定。标签 Car 与所有其他标签具有高度相关性,没有箭头的标签表示这两个标签彼此没有关系。

多模态算法在视频理解中的应用

Figure 3. 标签相关性示意图

GCN网络实现如Figure 4所示。GCN模块由两层堆叠的GCN(GCN(1) 和 GCN(2))组成,它们有助于学习标签相关图,以将这些标签表示映射到一组相互依赖的分类器中。 A是输入相关矩阵,由矩阵P'的值初始化。W₁和 W₂是将在网络中训练的矩阵。 W是GCN学习到的分类器权重。

多模态算法在视频理解中的应用

Figure 4. GCN网络结构

3.4 标签重加权

Youtube-8M 视频分类任务是一个多标签分类任务,然而,注释数据仅选择多标签中的一个进行标注为1,其余标签均为0。也就是说,某一个视频片段除了可能是标注的还可能是其他置为0的标签。这个问题也是个弱监督问题。针对此情况,我们提出了一种解决方法。在计算损失时给带注释的类赋予较大的权重,并为未注释的类赋予较小的权重[15]。这种加权交叉熵方法将帮助模型更好地从不完整的数据集中学习。原始二元交叉熵损失函数为:

多模态算法在视频理解中的应用

其中 是视频片段的标签, 是模型预测结果Prediction, 是batch size, 是所有类的数量。

其中y∈Rᴮ﹡ᶜ是视频片段的标签,p∈Rᴮ﹡ᶜ是模型预测结果Prediction,B是batch size,C是所有类的数量。

新的标签重加权损失函数如下:

多模态算法在视频理解中的应用

其中,权重w∈Rᴮ﹡ᶜ定义为:

多模态算法在视频理解中的应用

n是添加到未注释类的小权重, m是已注释类的大值权重。

3.5 特征增强

为了避免在训练模型时过拟合,我们添加了随机生成的高斯噪声并随机注入到输入特征向量的每个元素中。如Figure 6 所示,噪声将被添加到输入特征向量中,掩码向量随机选择 50% 的维度并将值设置为 1。这里的高斯噪声是独立的,但对于不同的输入向量具有相同的分布。

多模态算法在视频理解中的应用

Figure 6. 加高斯噪声

同时,为了避免多模态模型只学习某一个模态的特征,也就是在模态上过拟合。我们将模态特征也mask,保证输入中至少有某一个模态,如Figure 7所示。这样就可以充分学习各个模态。

多模态算法在视频理解中的应用

Figure 7. 模态Mask

4 实验

4.1 评价指标

模型性能根据MAP@K进行评估,其中 K=100,000。

多模态算法在视频理解中的应用

其中, C是类数, n是为每个类预测的段数。 N是每个类的正标记段数。 P(k)是前k个预测片段的精度。 rel(k)是一个函数,用于判断排名k的片段是否被正确预测(如果正确则等于 1,否则为 0)。

4.2 实验结果

4.2.1 多模态

为了验证多模态中每个模态的收益,我们做了消融实验,结果如 Table 2所示。单个模态作为特征时,Video 的准确率最高,Audio的准确率最低,Text接近Video。双模态时,Video + Text 由明显提升,再加上 Audio后,提升有限。

多模态算法在视频理解中的应用

Table 2. 多模态消融实验

4.2.2 图卷积

同样为验证GCN的收益,我们也做了对比实验,其中阈值λ我们选择了两个,分别是 0.2 和0.4。如Table 3 所示,结果表明,原始模型(org)相比,GCN 生成的分类器有助于提高性能,特别时当λ=0.4时。

多模态算法在视频理解中的应用

Table 3. 图卷积实验

4.2.3 差异化的多模态网络

为了验证并联的多模态网络和差异化后的效果,我们设计五组实验。第一组模型是单独的1个多模态网络,第二、三、四组是2个、3个、4个并联的多模态网络,第五组是差异化的3个并联的多模态网络。从结果来看,并联网络能提高精度,但是并联4个以后进度会下降,所以一味的增加并联的网络数并不能带来收益。同时,实验结果还表明,差异化的网络结构能更有效的拟合数据。

多模态算法在视频理解中的应用

Table 4. 差异化多模态网络实验

4.2.4 标签重加权

标签重加权由两个超参(n和m),通过实验表明,当n=0.1 和m=2.5时准确率提高较高。

多模态算法在视频理解中的应用

Table 5. 标签重加权实验

4.2.5 特征增强

特征增强属于数据增强的一种。实验表明,通过加入高斯噪声,和mask掉某些模态,都能提高模型的泛化能力。且此种加入高斯噪声方式,实现简单,迁移性强,易于再其他网络中实现。

多模态算法在视频理解中的应用

Table 6. 特征增强实验

5 总结

实验表明,上述几种方法均有不同程度的提高,尤其以多模态和图卷积提升比较明显。 我们希望在未来探索更多的标签依赖关系。 GCN 网络也被证明在这项任务中很有用,我们认为值得我们做更多的实验,将 GCN 网络与其他最先进的视频分类网络结合起来。

引用

[1]. Rongcheng Lin, Jing Xiao, Jianping Fan: NeXtVLAD: An Efficient Neural Network to Aggregate Frame-level Features for Large-scale Video Classification. In: ECCV, workshop(2018)

[2]. Jeffrey L Elman. Finding structure in time. Cognitive science, 14(2):179–211, 1990

[3]. Kyunghyun Cho, Bart Van Merrienboer, ¨ Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. arXiv, 2014.

[4]. Jan K Chorowski, Dzmitry Bahdanau, Dmitriy Serdyuk, Kyunghyun Cho, and Yoshua Bengio. Attention-based models for speech recognition. In NIPS, pages 577–585, 2015.

[5]. Karen Simonyan, Andrew Zisserman, Two-Stream Convolutional Networks for Action Recognition in Videos. In: NIPS (2014)

[6]. Du Tran, Lubomir Bourdev, Rob Fergus, Lorenzo Torresani, Manohar Paluri Learning Spatiotemporal Features With 3D Convolutional Networks. In: ICCV(2015)

[7]. Christoph Feichtenhofer, Haoqi Fan, Jitendra Malik, Kaiming He, SlowFast Networks for Video Recognition. In: CVPR (2019)

[8]. Anurag Arnab, Mostafa Dehghani, Georg Heigold, Chen Sun, Mario Lučić, Cordelia Schmid, ViViT: A Video Vision Transformer. In: CVPR (2021)

[9]. Zhao-Min Chen, Xiu-Shen Wei, Peng Wang, Yanwen Guo: Multi-Label Image Recognition with Graph Convolutional Networks. In: CVPR (2019)

[10]. Mingxing Tan, Quoc V. Le, EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks, PMLR 97:6105-6114, 2019

[11]. Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova, BERT: Pre-training of deep bidirectional transformers for language understanding. In North American Association for Computational Linguistics (NAACL), 2019

[12]. Jie Hu, Li Shen, Gang Sun, Squeeze-and-Excitation Networks. In: CVPR (2018)

[13]. Zhang Z, Sabuncu M. Generalized cross entropy loss for training deep neural networks with noisy labels[C]//Advances in neural information processing systems. 2018: 8778-8788.

[14]. Pereira R B, Plastino A, Zadrozny B, et al. Correlation analysis of performance measures for multi-label classification [J]. Information Processing & Management, 2018, 54(3): 359-369.

发表评论

相关文章