当前位置:首页 期刊杂志

基于X-Linear 和语义嵌入的视频描述算法

时间:2024-07-28

李亚杰,关胜晓,倪长好

(中国科学技术大学 微电子学院,安徽 合肥230026)

0 引言

视频描述任务是将计算机视觉信息转换为人类能够理解的自然语言句子的描述。将计算机视觉内容理解和自然语言处理两个领域相结合用于解决视频描述是一项极具挑战性的任务。视频描述涉及对许多实体的理解,这些实体包括场景、人物、物体、人的动作、人与物体的交互、人与人的交互、其他事件以及事件发生的顺序等。所有这些信息必须使用自然语言处理(Natural Language Processing,NLP)技术,以一种可压缩的、语法正确的文本表达出来。视频描述任务可以应用于很多领域,如智能安防、盲人导航、视频检索、人机交互等。

目前视频描述算法主要是基于编码-解码器架构。 编码器使用卷积神经网络(CNN)或循环神经网络(RNN)对视频信息进行编码,解码器根据编码特征使用RNN 生成视频语言描述。 由于注意力机制在机器翻译和目标检测等领域的成功,Li Yao[1]等人提出使用软注意机制的TA 模型,在每一步解码时不是简单地对视频每帧的编码信息进行求平均,而是根据当前解码状态以软注意的方式获取感兴趣的时间特征,同时使用了3D 卷积特征和三个手工低级特征将时间和空间特征进行结合。 Pan Yingwei[2]等人提出X-LAN 图像描述模型, 该模型使用了类似Transformer[3]的结构,并使用了双线性池化技术来获取图像不同区域特征的高阶交互,并同时考虑了空间和通道的注意力分布。 X-LAN 模型目前是针对图像描述的,还没有应用于视频领域,要使用目标检测技术获取图像不同区域的特征作为输入,且以上模型都没有使用视觉高级语义特征来辅助描述生成,不能获取丰富的语言描述。 Gan Zhe[4]等人提出语义成分网络(Semantic Compositional Network,SCN)进行视觉描述,SCN 获取视频的高级语义特征并送入解码器的LSTM 中用于辅助描述生成。 为了解决算法的过拟合问题,Chen Haoran[5]提出使用层归一化和变分Dropout 方法来解决。

为了获取更加丰富的时序特征,本文以X-LAN图像描述模型作为基础模型,并对解码器中的LSTM进行修改,使其可以使用语义检测网络,获取视频高级语义特征用于辅助解码,并使用了层归一化和变分Dropout 来缓解网络过拟合问题。 为了解决视频描述任务中的曝光偏差和训练损失与评测指标不一致的问题,本文使用了强化学习对模型进行微调。

1 相关工作

1.1 视频描述

视频描述的研究始于基于模板的经典方法,主语、动词和宾语被分别检测,然后使用句子模板连接,这些方法被称为SVO-Triplets[6-7]。 然而深度学习的出现以及计算机视觉和自然语言处理的巨大进步同样影响了视频描述领域。 因此最新的方法都是基于深度学习的体系结构[8-9],它们用2D/3D-CNN编码视觉特征,并使用LSTM/GRU 学习序列。 通过在标准的编码器-解码器框架上引入额外的转换进行了改进。 这些转换包括注意力机制[1](模型学习模型关注的视频部分)、序列学习[9](模型学习视频帧的序列和相应句子中的单词序列)、语义属性[10-11](利用了CNN 功能之外的视觉语义)以及利用生成文本对视觉内容进行了联合建模[12]。

1.2 X-LAN

X-Linear 注意力模块利用空间和逐通道的双线性池化注意力机制来捕获查询特征和关键特征之间的高阶相互作用,获得注意力分布。 双线性池化是一种计算两个特征向量之间的外积运算,该运算可以实现特征向量中所有元素的二阶交互,实现比线性池化更好的特征融合。 双线性池化使得很多任务的性能都有所提高,如细粒度图像识别、视觉问答和图像识别等任务。 由于融合后的特征需要向量展开,维度会是特征向量通道数的平方。 为减少参数和计算量,Kong Shu[13]等人发现可以将映射矩阵W 进行低秩分解,使用两个低秩矩阵U+和U-来表示,减少了参数量。 Jin Hwa[14]等人在视觉问答任务上提出多模双线性池化MLB,实现了视觉特征和文本特征的融合,并提出双线性池化注意力。

X-LAN 模型由X-Linear 注意力模块构成,它使用了双线性池化来获得特征的高阶交互。X-LAN原本是应用在图像描述任务中,本文对其进行改进提出XLSNet 模型,使其可以应用于视频描述任务中。原本X-LAN 模型的输入视觉特征是Faster R-CNN[15]提取的不同目标特征,它代表了图像不同区域。 本文直接将CNN 提取的帧序列特征作为输入。 原本X-LAN 模型并没有使用视觉高级语义属性,即解码时没有语义的指导,因此本文加入视频的高级语义特征进行辅助解码,并将LSTM 修改为语义嵌入GRU。 本文还对GRU 单元引入了变分Dropout 和层归一化层来防止模型过拟合问题。 基于交叉熵的模型优化会带来曝光偏差问题和优化目标与评测指标不匹配问题, 最后使用强化学习对模型进行微调。

2 本文方法

每个 x 表示为视频的一帧,每个y 表示为单词表中的一个单词。

本文实验使用GloVe[16]预训练模型来获取单词的嵌入表示,假设单词嵌入维度为Dw,对于每描述句子Yi∈RLi×Dw可表示为:

2.1 CNN 特征提取

本文使用了在ImageNet[17]上预训练的64 个路径的ResNeXt101[18]对视频的每帧进行特征提取,并使用ResNeXt101 的最后全局池化层的输出作为视频帧的特征表示,它是一个2 048 维的特征向量。第i 个视频的特征表示为Vi∈RF×Dv:

CNN 网络不仅可以提取图像特征,而且还获取了在ImageNet 上1 000 类的类别分布。 类别分布中包含了丰富的潜在语义信息,因此本文也将CNN网络得到的类别分布作为语义信息加入到语义嵌入GRU 中。 第i 个视频的分类语义信息表示为ci∈R1000:

其中ci,j表示一帧图像的类别分布。 整个视频的类别语义信息ci为所有帧的平均。

2.2 语义检测网络

语义检测网络(Semantic Detection Network,SDN)是一个多标签分类的多层感知器神经网络。 从词汇表中去掉停止词,并选择K(K=300)个常见的名词、动词、形容词等作为语义标签,网络的输入为CNN提取的视频的每帧特征的平均池化。假设有N 个视频,,yi为第i 个视频的语义标签。 计算如下:

其中SDN 表示语义检测网络,ti∈RK为第i 个视频的语义特征,该语义特征与类别语义特征拼接一起作为视频语义特征送入解码器中。

2.3 语义嵌入GRU

循环网络GRU 引入了门控机制,缓解了循环网络的梯度消失问题, 它包含更新门zt和重置门rt。假设GRU 的输入为xt∈RDx,上一个隐状态为ht-1∈RDh,则计算如下:

其中Wz∈RDh×Dx,Uz∈RDh×Dh,Wr∈RDh×Dx,Ur∈RDh×Dh,W∈RDh×Dx,U∈RDh×Dh。

将语义信息嵌入到GRU 中就可以得到语义嵌入GRU(Semantic Embedding GRU,SEGRU),由于直接将语义嵌入到 GRU 中参数量大,网络训练困难,因此采用因式分解技术降低参数量,使网络训练成为可能。 将权值 W、U、V 转换为语义相关的权值矩阵,SEGRU 计算如下:

其中s∈RDs为语义特征向量,v∈RDv为输入视频特征 向 量,P*1∈RDf×Ds,W*2∈RDf×Dx,U*2∈RDf×Dh,V*2∈RDf×Dv,P*3∈RDh×Df,P∈{W,U,V}, *∈{z,r,h},Df为因式分解的中间维度。

由于训练数据少,且单词出现频率差异大,模型会出现过拟合现象。 传统Dropout 技术通过随机丢弃一些神经元来缓解过拟合,但是直接将其使用在循环网络中会损害循环网络在时间维度上的记忆能力,因此本文使用变分的Dropout 方法,它是在每个时刻使用相同的丢弃掩码。 加入Dropout 会降低收敛速度,而归一化技术可以平滑损失函数加快收敛,在循环网络中常用层归一化技术。SEGRU 变为:

其中LN 表示层归一化,m*为Dropout 掩码。

2.4 XLSNet

本文的XLSNet 是对X-LAN 的改进。 XLSNet 网络结构如图1 所示,它也是一个编码-解码器架构的序列到序列模型。 左半部分为编码器, 包含了CNN 特征提取,X-Linear 注意力编码和语义检测网络SDN。 右半部分为解码器,由语义嵌入SEGRU 和X-Linear 注意力模块组成。 XLSNet 的主要改进有:(1)输入的视频特征是时序信号,而原本的X-LAN编码器是自注意力机制的,会使其丢失位置信息,因此先对视频特征加入位置编码[3];(2)原始X-Linear注意力模块中的二阶特征交互使用的是后归一化(在激活函数后),本文将归一化层提前到激活函数前;(3)增加语义检测网络SDN 提取高级语义信息,并使用SEGRU 替换LSTM 进行解码生成;(4)最终Softmax 之前的Linear 层的参数和WordEmbed 层的参数进行捆绑,减少了网络参数量,并起到正则化效果;(5)普通Dropout 在处理时序信号时会造成时序信息的破坏,损坏网络在时间维上的记忆能力,因此将该层都替换成变分Dropout 层。

在进行模型推断时,首先对输入视频帧进行均匀采样,送入ResNext101 卷积网络中提取帧特征,得到视频帧序列特征。由于X-Linear 编码器没有位置信息,因此对输入的帧使用位置编码器[3]添加相对位置信息。 经X-Linear 编码器得到视频的注意力特征Vatt和视频嵌入特征Vembed。 同时对卷积特征在时间维上进行均匀池化操作,并送入SDN 语义检测网络提取语义特征,并将该特征和CNN 的类别分类信息进行连接得到语义特征s,再将s 送入解码器进行语言描述生成。

3 实验与分析

XLSNet 模型主要在MSVD[19]数据集进行实验验证。 MSVD 数据集共有1 970 个短视频,每个视频的平均时长为10 s,每个视频约有40 个人工描述的句子。 MSVD 数据集中每个描述的平均单词数大约为7.1,共有80 839 个英语句子。 本文从训练集中获得了12 596 个英语单词作为词汇表。

3.1 实验细节

本文使用ResNext101 作为卷积特征提取, 每个视频均匀采样得到35 帧图像。 编码器有两层XLinear 注意力, 解码器有一层X-Lieanr 注意力。 单词嵌入使用GloVe 作为预训练权重,单词嵌入维度为300 维。 SEGRU 的隐藏层设置为1 024,批处理大小为128,生成的语言描述长度为20。 训练时使用Adam 作为优化器,初始学习率为1×10-4,学习率每1 000 次迭代就衰减0.96,模型共训练20 次。

3.2 实验分析

3.2.1 语义嵌入分析

图1 XLSNet 网络基本结构

由语义检测模型提取的视频语义特征可认为包含了视频中事物、场景以及关系信息,视频经过CNN 图像分类器得到的最终1 000 类的类别分布可认为是某种模式的语义信息,也是有助于语言解码的, 因此本文送入解码器的语义特征si=[ti,ci],其中ti表示语义检测网络提取的语义特征,ci表示CNN 分类器得到语义特征。为了验证语义属性对模型解码的影响,本文尝试了几种不同的语义特征的组合模型:XLSNetno表示没有使用语义特征,XLSNett表示只是使用了语义检测网络提取的语义特征t,XLSNetc表示只使用了CNN 分类器得到的类别分布语义特征c,XLSNets表示使用了两个语义特征。 为了公平比较,四个模型的实验设置完全一样。 表1显示了四个模型和其他现有流行的视频描述模型的结果比较。

从表1 可以看出:(1)XLSNets在所有对比模型中有5 个指标达到最好,其中CIDEr 指标达到了1.101 4,比SAM-SS 提高了7%,比XLSNetno提高了38%;(2)SAM-SS 也使用了高级语义嵌入,但是使用了2D 和3D 卷积提取视频特征,而XLSNet 只使用了2D 卷 积 特 征,XLSNet 在CIDEr 和METEOR 指 标 上显著高于SAM-SS,且ROUGE 指标相当,这表明本文使用X-Lienar 注意力模块进行视频特征交互的有效性;(3)在XLSNet 四个组合模型的比较中可以看出语义嵌入对模型性能带来显著的提升。 类别分布语义特征c 有助于提高除CIDEr 以外的其他指标;语义特征t 对所有指标都是有显著的提升,且比类别分布语义特征c 影响更大;而将两个语义特征组合后模型性能达到最好。

3.2.2 Dropout 和层归一化的影响

为验证SEGRU 对过拟合的影响,本文以XLSNets基础, 尝试了删除SEGRU 中的Dropout 和层归一化,将模型表示为XLSNetf。 图2 显示了这两层对最终性能的影响。 可以看到模型的性能显著下降,这表明层归一化和Dropout 对模型的性能至关重要,Dropout 有助于减少模型过拟合,层归一化有助于加速模型收敛并优化模型损失函数。

图2 Dropout 和层归一化对模型性能的影响

3.2.3 强化学习结果

本文使用了文献[24]中提出的REINFORCE 强化学习方法对网络进行训练。 其中尝试了两种不同的奖励函数:(1)直接以CIDEr 指标作为奖励,模型表示为XLSNetlr;(2)为综合考虑所有指标,将文献[5]中的overall 作为奖励,模型表示为XLSNetrlo。 overall指标计算如下:

其中mb表示到当前第i 个批次上的指标m 的最大得分,mi表示第i 批次上指标m 的平均得分,m ∈{BLEU@4,CIDEr,METEOR,ROUGE}。 上式计算的是一个批次的得分,而不能作为奖励用于训练,本文需要得到每个样本的得分,因此对该式进行了改进:

表1 不同语义结合和主流模型结果比较

从表2 可以看到:(1)引入强化学习后,模型全部指标都有显著的提升,其中XLSNetrl的CIDEr 指标提升到1.193 9,提高了近8.4%;(2)虽然XLSNetrl只使用了CIDEr 作为奖励,但在提高CIDEr 指标的同时也对其他指标也带来了提升;(3)XLSNetrlo的奖励综合考虑了所有的指标,其中BLEU 指标达到最好,这可能在计算overall 奖励时需要对四个指标权重进行调参,而不是使用均匀权重0.25。

4 结束语

本文提出XLSNet 视频描述模型,对X-LAN 进行改进,嵌入视频高级语义信息来辅助解码,只需要视频帧的2D 卷积特征即可在各项指标上获得很不错的性能。 XLSNet 模型的编码器使用的是多层X-Linear 注意力模块,该模块是使用双线性池化来获取特征之间的高阶交互,从而提取丰富的视频时序特征。 实验表明与其他使用双流或多模态特性的算法相比,该模型更高效。 增加视频的类别分布语义特征来丰富视频的语义特征有助于模型解码生成。 为解决循环网络GRU 的过拟合问题提出的变分Dropout 和层归一化有效地提高模型的解码性能。 最后,由于视频描述算法的曝光偏差和训练损失与评测指标不一致问题,本文使用了两种奖励函数进行强化学习,进一步提升了模型性能。

表2 强化学习训练结果

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!