基于语言-视觉对比学习的多模态视频行为识别方法

2024-03-04 02:05张冰冰安峰民张建新
自动化学报 2024年2期
关键词:分词时序编码器

张 颖 张冰冰 董 微 安峰民 张建新 张 强

视频行为识别是视频理解领域中的重要问题,其致力于识别视频中人类的不同行为[1-3],在智能监控、人机交互、医疗健康等众多领域扮演着重要的角色.进入深度学习时代以来,以卷积神经网络(Convolution neural network,CNN)[4-12]和视觉Transformer (Vision transformer,ViT)[13-17]为基础网络的视频行为识别模型取得了极大发展.目前,广泛使用的视频行为识别模型都是在预定义好类别的人工标注数据集上,以监督学习的方式进行闭集训练.这类模型只关注视觉表示,将类别名称转换为矢量标签以简化训练过程,从而忽略了类别名称的语义信息,导致学习到的特征对训练数据类别的依赖性高、泛化性差,识别训练数据类别以外的视频需要重新标注数据以提供监督信号并进行额外的训练.为实现学习视觉通用表示来解决各种现实问题的目标,这种面向固定类别、只能解决单一问题的模型显然不能满足需求.

最近,语言-视觉对比学习模型[18-20]开拓了解决闭集训练问题的思路,给学习泛化性能更强的通用视觉表示带来了希望,尤其是在零样本学习上表现出较大潜力.这类模型保留类别标签的语言描述作为监督信号,将视觉单模态模型拓展到语言-视觉多模态架构,在亿级甚至10 亿级别的语言-图像对上进行自监督训练,以对比学习的方式同时优化语言和视觉编码器.在测试过程中,该对比学习模型直接将单模态架构下的概率模型转换为语言-图像的检索问题.受到语言-视觉对比学习模型的启发,本文尝试在视频行为识别任务中引入语言监督来辅助学习更广泛的视觉概念,以获得泛化性更强的视频表达.

首先,考虑到视频训练所需计算成本较高,以及现有视频数据集规模相对较小的问题,抛弃在语言-视频数据上从头进行预训练的做法,致力于解决如何将对比语言-图像预训练(Contrastive language-image pre-training,CLIP)[18]模型迁移到视频行为识别任务的问题.其次,由于视频存在区别于图像的时序信息,并且其类别标签所携带的语言信息十分有限,完成CLIP 模型从图像到视频的迁移和适应必须解决两个关键问题: 1)如何利用视频的时序信息;2)如何强化现有类别标签的语言表达.为此,提出一种新的时序建模结构,将图像编码器拓展为视频编码器.该结构包含虚拟帧交互模块和全局帧融合模块两个关键部件.虚拟帧交互模块借助“虚拟帧分词”完成帧间信息交互,使帧级编码器能提供包含时序信息的帧级表达;全局帧融合模块集成帧级特征,得到视频表达.同时,针对问题2)提出视觉强化提示模块,该模块通过注意力机制融合视觉信息,自动生成语言提示,将初级语言表达转换为强化语言表达.依赖上述两方面拓展,CLIP模型可以有效适用于视频行为识别任务.本文主要贡献如下:

1)在CLIP 模型基础上,提出一种新颖的基于语言-视觉对比学习的多模态视频行为识别模型,将CLIP 模型在图像领域的先验知识迁移至视频领域.

2)对于视觉编码器,提出虚拟帧交互模块.该模块首先使用视频采样帧的类别分词进行线性变换生成“虚拟帧分词”,接着通过对“虚拟帧分词”进行时序卷积和虚拟帧分词移位操作完成帧间信息交互,实现在网络中间层充分利用视频时序信息的目的.

3)对于语言分支,提出视觉强化提示模块.该模块通过注意力机制融合视频编码器输出的类别分词和视觉分词中带有的视觉信息,自动生成适应视频行为识别的语言提示,对语言编码器生成的初级语言表达进行加权来达到强化语言表达的目的.

4)在4 个视频行为识别公开数据集上进行全监督、小样本和零样本实验,验证本文模型的有效性和泛化性.

1 相关工作

1.1 CLIP 在视频行为识别上的应用

CLIP 是语言-视觉对比学习的代表性工作之一,其核心思想是直接从图片标签对应的语言描述中获取额外的监督信号,通过对比学习产生泛化性能强大的视觉表达.文献[21-27]将CLIP 应用于视频行为识别,表现出十分有前景的性能.这些工作可大致分为两类: 1)专注视觉建模的单模态模型仅使用CLIP 图像编码器的预训练参数对视频编码器做强初始化,如ST-Adaptor (Spatio-temporal adapter)[21]、EVL (Efficient video learning)[22]和AIM (Adapt pre-trained image models)[23];2)继承CLIP 的多模态思想和“双塔”架构的语言-视频多模态模型,如VideoCLIP[24]、PromptCLIP[25]、ActionCLIP[26]和X-CLIP[27].

文献[21-23]在单模态框架下利用CLIP 预训练模型,虽然这类方法可以通过参数初始化的方式利用多模态预训练的优势,特别是AIM 在纯图像主干下简单地重用预训练的自注意进行时间建模,取得了优秀的性能,但是使模型失去了在微调过程中进一步进行多模态交互的能力.为更好地探索多模态交互对模型表达能力的促进作用,本文选择在多模态框架下进行模型迁移.在多模态框架下,Video-CLIP 将语言-图像数据替换为语言-视频数据,从头进行预训练.这种方式对存储硬件、计算资源的要求很高,而且实验周期相对更长.PromptCLIP冻结预训练参数,仅通过优化文本分支的一组可学习的“连续提示向量”和位于视觉编码器末端的轻量级时序Transformer,来使预先训练的语言-视觉模型适应视频理解任务.其提示学习的信息仅在语言分支流动,且对时序信息的利用不够充分.Action-CLIP 提出一个“预训练-提示-微调”的范式,通过手工设计的语言提示和视觉提示,将CLIP 模型的知识迁移到视频行为识别.X-CLIP 提出一种新的跨帧通信注意力操作和特定于视频的提示学习方法,来完成CLIP 模型从图像到视频的扩展.本文模型与ActionCLIP 和X-CLIP 最为相关,首先,将CLIP 模型从二维图像域扩展到三维视频域;然后,在视频行为识别基准上进行端到端的微调,来达到知识迁移的目的.

相比之下,本文模型是性能与计算成本权衡下的更优选择.其中,虚拟帧交互模块作为一种“即插即用”的轻量级时序建模模块,克服了在网络中间层融入时序建模可能导致的“灾难性遗忘”风险.相较于ActionCLIP 在视觉分支末端使用Transformer层融合时序信息的做法,本文通过在模型中间层插入虚拟帧交互模块,更充分地利用了视频时序信息.视觉强化提示模块同时将视频编码器输出的类别和视觉分词作为提示信号,利用其中包含的视觉信息自动生成语言提示,得到强化语言表达.相较于XCLIP 中的特定于视频的提示学习方法,视觉强化提示模块更充分地考虑了不同视频分词包含的视觉信息对语言表达强化作用的互补性.

1.2 时序建模方式

视频由一系列静态图像组成,这些视频帧不是简单的图像集合,它们之间存在前后关联的时序关系.因此,精准、有效地对视频帧之间的时序信息进行建模是建立具有鲁棒性视频行为识别模型的关键因素.进入深度学习时代以来,CNN 在计算机视觉领域占有主导地位.基于CNN 的网络架构下有3类代表性的时序建模方式: 1)添加额外的分支对运动信息(光流)建模,以描述帧间的时序关系[4];2)使用3D 卷积[5-6]将时间维度纳入计算或将3D CNN在时间和空间维度上进行分解,以提高计算效率[7-9];3)在2D CNN 的基础网络上,插入时序建模模块[10-12]来平衡识别准确率和计算速度.

基于CNN 的网络虽然在视频行为识别任务上取得了优秀的成绩,但卷积计算的有限感受野限制了模型对远距离依赖的建模能力.Transformer[28]应用注意力机制将序列中任意两个位置之间的距离缩小为一个常量,有效解决了远距离依赖建模的难题.ViT[29]将Transformer 从自然语言处理迁移至计算机视觉后,依赖性能优秀的预训练模型,基于ViT 的模型开始在视频领域被广泛使用.由于注意力计算的高复杂度,在Transformer 架构下,直接进行时空联合注意力计算显然会带来过高的计算成本.因此,存在两类平衡识别准确率和计算复杂度的方式: 1)设计计算更节约的网络架构.如VTN(Video transformer network)[13]和ViViT (Video vision transformer)[14]划分空间和时间编码,先用帧级编码器对视频帧进行独立的空间建模,再利用一个Transformer 层融合时间信息.2)设计计算开销更小的新的注意力机制.如文献[15]将时空联合注意力机制分为空间和时间的注意力计算,MViT(Multi-scale vision transformers)[16]提出多尺度视觉Transformer,Swin (Video swin transformer)[17]在视频Transformer 中引入局部归纳偏置.本文的时序建模参考VTN 和ViViT,先进行帧级编码,再进行时间融合.与在各帧上进行独立空间编码不同的是,本文虚拟帧交互模块在允许帧级编码器在空间编码的同时,充分利用视频中的时序线索.

1.3 提示学习

提示学习源于自然语言处理,其通过给予适当的“提示”,让模型更好地理解下游任务的需求,并产生相应的输出.例如给定一个示例后,GPT-3 (Generative pre-trained transformer 3)[30]模型即使某个目标领域从未被训练过,也可以自动给出该目标领域的答案.根据构建方式,可将提示学习分为两类:1)手工模板工程设计精准,但对领域知识依赖性高且灵活性差;2)自动模板学习包括离散提示[31-34]和连续提示[35-36].对于手工模板工程,“提示”是实际的语言字符串;在自动模板学习中,“提示”被映射到一个连续的向量空间中,不是可解释的自然语言.计算机视觉同样受益于提示学习,CLIP 和Action-CLIP 在测试阶段使用手工模板辅助模型表现出强大的泛化能力.CoOp (Context optimization)[37]和CoCoOp (Conditional context optimization)[38]开始探索可学习的语言提示方法.本文延续连续提示方法的思想,提出一种可学习的自动语言提示生成方法,称为“视觉强化提示”.该方法将视频编码器输出的类别分词和视觉分词作为提示信号,通过注意力机制融合其带有的视觉信息,自动生成适应视频行为识别的语言提示,以强化语言表达.

2 基于语言-视觉对比学习的多模态模型

本文从时序建模和提示学习两个方面对CLIP模型进行拓展,得到一种基于语言-视觉对比学习的多模态模型,该模型有效适用于视频行为识别任务.本节安排如下: 第2.1 节概述模型结构,第2.2节和第2.3 节介绍本文提出的虚拟帧交互模块和视觉强化提示模块.

2.1 模型结构概述

如图1 所示,模型遵循视觉分支和语言分支独立的“双塔”结构,通过联合训练视频编码器和语言编码器学习对齐视频表达和相应的语言表达.具体地,模型整体包含视频编码器Fθv(·)、语言编码器Fθt(·) 和视觉强化提示模块Fθp(·) 三个组成部分.给定一个语言-视频数据集 (L,V),V∈V是一个视频片段,L∈L是其对应类别标签的语言描述.将V和L分别输入视频编码器Fθv(·) 和语言编码器Fθt(·)中,获得视频表达v和初级语言表达ℓ:

图1 基于语言-视觉对比学习的多模态模型Fig.1 Multi-modal model based on language-visual contrastive learning

式中,vcls和vvis分别为视频编码器输出的类别分词和视觉分词.将两类视频分词作为视觉提示信号,与初级语言表达ℓ共同输入视觉强化提示模块Fθp(·),获得经过视觉信息强化的语言表达:

最后,模型会计算视频表达v与强化语言表达之间的相似性:

式中,c os(·) 代表余弦相似度计算.数据集中一一对应的语言-视频对被视作正样本,其他组合均视作负样本.模型最终的优化目标是当V和L互为正样本时,最大化相似度计算值;反之,最小化相似度计算值.

2.1.1 视觉分支

模型的视觉分支由视频编码器Fθv(·) 构成,视频编码器包含帧级编码器H(·) 和全局帧融合模块两个组成部分.首先,帧级编码器以原始帧作为输入,提供帧级表达;然后,全局帧融合模块集成帧级表达,得到视频表达.

具体地,给定一个视频片段V∈RT×H×W×3,其中T为采样帧数,H×W为视频帧的空间分辨率,输入通道数为3.首先,依据ViT 对图像的划分方法将各视频帧独立划分为N个互不重叠的图像块空间分辨率为P×P.其中t ∈{1,2,···,T}代表视频帧的时序索引,N=HW/P2代表第t个视频帧被划分的图像块数量.然后,使用线性映射E∈R3P2×D将各帧图像块RP2×3映射为序列长度为N的块嵌入,并在各帧序列首部拼接一个可学习的类别分词 (zt,0=xclass).最后,给各帧序列添加空间位置编码espa ∈R(N+1)×D以保留图像块在原始帧中的位置信息.帧级编码器H(·) 在第t帧处的输入可表示为:

式中,l代表H(·) 的层索引编号,共有LH层.是类别分词在输出序列中对应的输出状态.构成帧级编码器的虚拟帧交互模块在第2.2 节详细描述.

最后,将整个视频的帧级表达的集合H=[h1,h2,···,hT]输入全局帧融合模块(Global frame fusion module,GBM),进行时序上的“后融合”,以生成视频表达v:

式中,A vg Pool 和Etemp ∈RT×D分别代表平均池化和时间位置编码.GBM 由标准的多头自注意力(Multi-head self-attention,MHSA)和前馈神经网络(Feed-forward networks,FFN)组成.

在视觉分支中,对虚拟帧交互模块和全局帧融合模块做随机初始化,其他部分使用CLIP 预训练模型权重.

2.1.2 语言分支

模型的语言分支由语言编码器Fθt(·) 和视觉强化提示模块构成.首先,语言编码器将类别标签的语言描述作为输入,提供初级语言表达;然后,视觉强化提示模块将初级语言表达转换为强化语言表达.

本文使用预训练的CLIP 语言编码器(含12层Transformer)生成视频的初级语言表达.具体地,首先,对类别标签的语言描述进行字节对编码(Byte pair encoding,BPE)[39],得到语言序列为方便批量处理,将语言序列的长度n固定为77,包含在序列尾部添加的[EOS]分词.然后,对语言序列进行词嵌入,d=512 代表语言序列的嵌入维度.语言编码器Fθt(·) 的输入可表示为:

式中,E mbed 代表词嵌入操作,e∈Rn×d是分词的位置编码.c(0)∈Rn×d被输入到语言编码器Fθt(·)中,得到初级语言表达ℓ:

式中,l代表Fθt(·) 的层索引编号,index([EOS]) 代表[EOS]分词的索引编号.是[EOS]分词在输出序列中对应的输出状态.

最后,如式 (3) 所示,初级语言表达ℓ和两类视频分词共同输入视觉强化提示模块,得到最终用于视频行为识别的强化语言表达视觉强化提示模块在第2.3 节详细描述.在语言分支中,视觉强化提示模块进行随机初始化,语言编码器使用预训练模型权重.

2.2 虚拟帧交互模块

考虑到仅在帧级编码器末端以“后融合”方式进行时序建模的做法[13-14]未能充分利用视频的时序信息,本文提出虚拟帧交互模块(Virtual-frame interaction module,VIM).该模块使帧级编码器能够在网络中间层进行空间编码的同时,融合视频的时序信息.

在网络中间层插入时序建模模块,可能会破坏预训练模型的表达能力.例如ActionCLIP 在网络中间层引入时序移动模块[10],引发了“灾难性遗忘”问题.本文认为其原因在于对特征做全局移动操作导致了相对预训练模型的大幅数据分布偏差.因此,如图2 所示,虚拟帧交互模块为每一帧引入一个“虚拟帧分词”,来完成帧间信息交换.具体地,首先,第l层中第t帧的虚拟帧分词由第l-1 层的类别分词进行线性变换得到,在形式上代表该帧在当前层的抽象信息,该模块对全部虚拟帧分词进行基于时序卷积(Temporal convolution,T-Conv)和虚拟帧分词移位(Virtual-frame token shift,VTShift)的时序建模操作.T-Conv 是应用于时间维度的一维卷积,使用大尺寸卷积核以捕获视频远距离依赖.受到Token Shift[40]沿时间维度移动部分类别分词进行相邻帧信息交互的做法的启发,VTShift 沿时间维度移动部分虚拟帧分词以达到相邻帧信息交换的目的.这样,连续的T-Conv 和VTShift 所构成的VIM 就兼顾了相邻帧和远距离的时序依赖建模.在计算成本上,VT-Shift 是一个0 参数量、0 计算量的高效操作;T-Conv 在实现时使用分组卷积,以平衡使用较大卷积核所带来的计算开销.其中,第l层的虚拟帧交互模块的计算过程可表示为:

图2 虚拟帧交互模块Fig.2 Virtual-frame interaction module

然后,虚拟帧交互模块输出的携带时序信息的虚拟帧分词与对应帧的视觉分词拼接,共同输入标准的MHSA 和FFN,进行帧内空间建模:

式中,[·,·] 代表虚拟帧分词与视觉分词拼接,虚拟帧分词在进入FFN 层之前被丢弃.值得注意的是,虚拟帧分词携带的时间信息在MHSA 和FFN 中得以继续扩散和加强,这部分计算使用空间建模的计算成本建模了全局时空依赖.

虚拟帧交互模块保持原始帧嵌入不变,借助“虚拟帧分词”进行时序建模的做法避免了对帧级特征做全局移动可能导致的“灾难性遗忘”风险.作为一个轻量级时序建模模块与其他时序建模机制[14-16,27]相比,大大降低了计算成本.同时,虚拟帧交互模块可插入任何基于Transformer 的视觉编码器中,在网络的中间层捕获帧间时序信息及远距离依赖,是一种“即插即用”的中间层时序建模模块.

2.3 视觉强化提示模块

现有视频数据集的类别标签大多只是一个单词或短语,不充分的语言信息限制了预训练模型的表达能力.为强化语言表达,本文提出视觉强化提示模块(Visual-reinforcement prompt module,VPM),该模块借助视觉信息,自动生成适应视频行为识别的语言,提示以强化语言表达.

参考人类理解图像时的语言、视觉多模态协作,语言-视觉多模态模型[18-20]取得了巨大成功.但是,目前这种多模态协作大多体现在语言对视觉的监督作用,而在语言分支采用离线的手工提示模板[18,26]或给语言分词拼接可学习随机向量[37]的做法忽略了视觉信息对语言表达的强化作用.基于这点思考,本文设计了视觉强化提示模块.该模块通过注意力机制融合视频编码器输出的视频分词中带有的视觉信息,自动生成适应视频行为识别的语言提示,从视觉对语言的强化作用的角度,深化了语言与视觉的多模态交互.在视频分词的选择上,使用类别分词对应的输出作为视觉信息的代表进行分类,是一种被广泛认可和使用的做法.SoT (Second-order transformer)[41]认为视觉分词中包含的丰富图像语义是对类别分词的补充,并同时使用视觉分词和类别分词进行分类.受到SoT 的启发,VPM 同时使用视觉分词和类别分词作为提示信号,与语言信息进行跨模态交互来更充分地利用不同视频分词中包含的视觉信息.

具体地,视觉强化提示模块的每个块都由多头交叉注意力(Multi-head cross attention,MHCA)和FFN 组成,以初级语言表达ℓ作为查询信号,代表视频帧级表达的类别分词H ∈RT×D和代表视频各帧内容的视觉分词分别作为两组键和值,给予语言表达直接的视觉提示信号,生成两类适应视频行为识别的语言提示

式中,α和β是两个可学习参数,是最终用于与视频表达计算相似性的强化语言表达.视觉强化提示模块分别使用视频类别和视觉分词构建原始语言描述以外的视频上/下文语言提示,充分地考虑了不同视频分词所包含的视觉信息对语言表达强化作用的互补性.同时,相较于手工设计模板和可学习随机向量需要在前期的语言符号化过程中完成复杂设计的特点,该模块直接置于语言编码器末端,将提示学习融入了模型整体设计.

3 实验

3.1 实验设置

3.1.1 模型实例

本文模型的语言编码器与CLIP 一样采用12层Transformer (Lc=12,Nh=8,d=512).其中,Lc表示层数,Nh表示注意力头数.模型采用ViT (B)(Lc=12,Nh=12,d=768)作为基础网络构建帧级编码器,设置32×32 像素和16×16 像素两种视频帧分块尺寸.全局帧融合模块(Lc=1,Nh=8,d=512) 和视觉强化提示模块 (Lc=2,Nh=8,d=512),层数分别设置为1 和2.

3.1.2 数据集

本文使用K400 (Kinetics-400)[42]、Mini-K200(Mini Kinetics-200)[9]、UCF101[43]和HMDB51[44]四个公开视频行为识别数据集,对本文提出模型的有效性和泛化性进行验证和对比.其中,K400 是一个用于视频行为识别的大规模、高质量数据集,共有400 个动作类别,如人与物体的交互、人与人的交互,包含约240 000 个训练视频和约20 000 个测试视频,每个视频片段大约持续10 s;Mini-K200 是K400 的子集,包含200 个动作类别,每个类别分别从训练集和测试集中随机抽取400 个和25 个视频,共产生80 000 个训练视频和5 000 个测试视频;UCF101 包含约13 000 个视频片段,视频固定帧率为25 fps,分为101 个动作类别,涵盖人类身体运动、人与人的互动、人与物的互动、演奏乐器和体育运动5 个组别;HMDB51 包含来自51 个动作类别的约6 000 个视频片段,每个类别至少包含101 个视频.UCF101 和HMDB51 分别提供3 种不同的训练和测试数据的划分方式,用于衡量模型性能.

3.1.3 实验细节

在训练过程中,采用与TSN (Temporal segment network)[45]相同的视频采样方法,将视频片段分为T个部分,并在每个部分中随机采样1 帧,设置采样帧数T=8 或T=16 .采样帧输入尺寸为224×224像素.与X-CLIP 相同,在训练过程中,采用正则化和多种数据增强策略,详细的模型训练超参数见附录A.在测试过程中,全监督实验采用与ViViT 和Swin 相同的4 个时间剪辑×3 个空间裁剪的多视图测试,即对一个视频在时间维度上进行4 次帧采样,每个采样帧取3 个不同的空间裁剪,取12 个视图识别结果的平均值作为最终结果.小样本和零样本实验采用1 个时间剪辑×1 个空间裁剪的单视图测试,仅对视频做1 次帧采样,对采样帧做中心裁剪.3 种实验设置均以预测概率排名第1 的类别与实际结果相符的准确率(称为第1 识别准确率)或预测概率排名前5 的类别包含实际结果的准确率(称为前5 识别准确率) 作为评价标准.对于HMDB51和UCF101 数据集,在全监督和零样本实验中,采用3 种划分方式的测试集第1 识别准确率的平均值作为评价指标;在小样本实验中,仅使用第1 种划分方式进行训练和测试.无特殊说明,在所有消融实验中,模型均使用分块尺寸为 32×32 像素、8 帧输入、单视图测试.

本文模型的训练和测试基于开源的PyTorch深度学习框架,该框架在配备2 个NVIDIA GeFoce RTX 3090 GPU 的服务器上运行.

3.2 消融实验

在Mini-K200 上,对本文模型的各个模块和设置进行充分的消融实验和分析.

3.2.1 语言信息的作用

为评估引入语言信息的作用,设计一种单模态模型的变体,该变体与本文模型具有相同的视觉基础网络、时序建模方法和预训练权重,将语言编码器替换为随机初始化的全连接层作为分类头.如表1 所示,本文模型比对应的单模态模型变体的识别准确率提升3.0% 和3.2%.这表明,语言中所包含的语义信息有助于模型学习更具判别性的视频表达,可以有效提升模型性能.

表1 模型具有/不具有语言信息的消融研究(%)Table 1 Ablation studies of the model w/wo language information (%)

3.2.2 各模块的消融实验

为了验证本文提出模型和各模块的有效性,设计一个简单的基线CLIP-Mean.该基线使用语言监督,但不包含任何时序建模和提示学习方法,将帧级表达做简单平均获得视频表达.依次在CLIP-Mean上添加各模块,观察性能提升情况,如表2 所示.首先,在基线的图像编码器中插入虚拟帧交互模块VIM,第1 识别准确率提升0.6%;接着,在帧级编码器末端添加全局帧融合模块GBM,识别准确率进一步提升0.2%,说明本文提出的模型能通过虚拟帧交互模块和全局帧融合模块有效利用视频的时序线索,且二者的时序建模作用互补;最后,继续在语言编码器末端添加视觉强化提示模块VPM,识别准确率进一步提升0.9%,说明视觉强化提示模块借助视觉信息生成的语言提示有效强化了原有的视频语言表达,使之更具判别性.总之,本文模型相较基线模型,提升了1.7%,成功适应视频行为识别,验证了它的有效性.

表2 本文模块的消融实验结果 (%)Table 2 Ablation studies of the proposed modules (%)

3.2.3 虚拟帧交互模块超参数的选择

虚拟帧交互模块由时序卷积T-Conv 和虚拟帧分词移位VT-Shift 两个时序建模操作构成.为评估T-Conv 的卷积核尺寸和VT-Shift 的移动比例对时序建模效果的影响,仅在基线上添加虚拟帧交互模块,依次进行VT-Shift (移动比例分别为{1/4,1/8,1/16})和T-Conv (卷积核尺寸分别为{3,5,7}像素)操作.图3 展示了对VT-Shift 和T-Conv 的超参数进行消融实验的结果.

图3 虚拟帧交互模块超参数消融实验结果Fig.3 Ablation studies of hyper-parameters of virtual frame interaction module

如图3(a)所示,对虚拟帧分词施加适当移动比例的VT-Shift 操作,可捕获相邻帧之间的时序信息,当移动比例为1/8 时,效果最好,识别准确率达到84.4%,比基线提升0.4%.因此,在固定VT-Shift操作的移动比例为1/8 的基础上,增加T-Conv 操作,结果如图3(b)所示.当卷积核大小为7 时,识别准确率进一步提升到84.6%;而当卷积核尺寸为3或5 时,则会导致识别准确率降低.这说明当T-Conv采用较大的卷积核去关注远距离依赖时,可以发挥与VT-Shift 互补的时序建模作用.短距离的T-Conv与VT-Shift 重复对相邻帧之间的信息进行交换,从而抵消了VT-Shift 已经建立的时序关联,导致识别准确率降低,甚至减退到基线水平.

3.2.4 与其他提示学习方法对比

为进一步验证本文提出的视觉强化提示模块的有效性,将本文模型与其他提示学习方法进行对比,结果见表3.其中,ActionCLIP 和CoOp 分别使用16 个手工提示模板(具体内容见附录B)和16 个随机初始化的向量进行提示学习.本文的视觉强化提示模块VPM 获得了85.7%和97.2%准确率,优于其他方法;分类性能分别提升了0.9%和0.2%,验证了该模块的有效性.这一提升依赖视觉强化提示模块融合视频类别和视觉分词所生成的视频自适应的语言提示,初级语言表达经该提示强化后,获得了更强的判别性.

表3 提示学习方法的比较 (%)Table 3 Comparisons of prompt learning methods (%)

3.3 全监督实验

本节使用完整的训练集和测试集分别进行训练和测试,在K400、UCF101 和HMDB51 数据集上评估模型的性能.模型训练过程中冻结语言编码器的参数,只训练视频编码器和视觉强化提示模块.表4 为在K400 数据集上,本文模型与其他模型对比的实验结果,其他模型包含基于3D CNN 的模型[46-49]、基于2D CNN 的模型[10-11,50-51]、基于ViT 的单模态模型[13-17,22-23]和基于语言-视觉对比学习的多模态模型[26-27]共4 个部分.其中,CorrNet (Correlation network)[47]、SlowFast[48]、X3D-XXL[49]和MViT(B,6 4×3)从头进行训练;I3D NL[46]和所有基于2D CNN 的TSM[10]、TEA (Temporal excitation and aggregation)[11]、TEINet (Temporal enhancement-and-interaction)[50]、TDN (Temporal difference network)[51]在包含1 000 个类别的ImageNet数据集上进行预训练;VTN (ViT-B)、TimeSformer (L)[15]和Swin (L)在包含21 000 个类别的ImageNet 数据集上进行预训练;ViViT(L/16×2)在数据规模为3 亿的JFT 数据集上进行预训练;EVL (ViT-B/16)、AIM (ViT-B/16)和第4、5 部分方法均是在数据规模为4 亿的WIT 数据集上进行预训练.由表4 可以看出,基于ViT 的模型整体上优于第1、2 部分中基于CNN 的模型,显示了ViT在视频任务上的优势,但同时也带来了更大的计算成本.与之相比,本文模型(ViT-B/32)仅用8 帧输入就达到80.5%的第1 识别准确率,超过了第1、2部分中所有模型和使用更多输入帧的VTN (ViTB),且每秒10 亿次的浮点运算数(Giga floatingpoint operations per second,GFLOPs) 更低,彰显了多模态模型的巨大优势.本文模型(ViT-B/16)的识别准确率超过第3 部分所有基于ViT 的单模态模型[13-17,22-23],同时也获得了表4 所有模型中最高的识别准确率84.1%,且GFLOPs 比VTN (ViTB)、ViViT (L)和TimeSformer (L)分别降低了29倍、27 倍和16 倍.此外,与其他多模态模型相比,本文模型在所有设置下的实验结果均高于Prom-ptCLIP;在相同基础网络和采样帧数下,本文模型较ActionCLIP 具有明显性能优势,并且本文模型(ViT-B/16)在8 帧输入设置下的识别准确率高于使用32 帧输入的ActionCLIP (ViT-B/16);与当前先进模型X-CLIP 相比,本文模型仅增加较小的计算量,就获得了相同基础网络和输入帧设置下的更优性能.

表4 K400 数据集上,全监督实验结果Table 4 Fully-supervised experiment results on K400 dataset

图4 直观地展示了表4 中基于ViT 的模型及其变体、多模态模型及其变体和本文模型的变体在识别准确率和计算成本方面的平衡情况,横轴表示GFLOPs,纵轴表示第1 识别准确率.由图4 可以看出,AIM 虽然可以获得更优的识别准确率,但GFLOPs 也显著增加.除AIM 外,基于ViT 的单模态模型的识别准确率折线整体处于本文模型的右下方,体现了虚拟帧交互模块轻量级时序建模的优势和本文模型引入语言监督对提升视频表达质量和分类性能的有效性.与ActionCLIP 相比,本文模型以更小计算成本显著超越其性能;与X-CLIP 相比,本文模型以可忽略的GFLOPs 增加换取了性能上的提升.

图4 在K400 数据集上,本文模型与目前先进模型的识别准确率和浮点运算数比较Fig.4 Comparisons of accuracy and GFLOPs between the proposed model and state-of-the-art models on K400 dataset

表5 总结了在HMDB51 和UCF101 数据集上,基于2D CNN[45,52-54]、3D CNN[55-57]和多模态对比学习的视频行为识别模型和本文模型的分类性能.所有模型都先在K400 上进行预训练,再在UCF101 和HMDB51 数据集上进行微调.本文模型(ViT-B/16) 使用8 帧输入,在HMDB51 和UCF101 数据集上分别获得76.7%和97.6%的第1 识别准确率,与其他模型相比,获得了最佳性能.

表5 HMDB51 和UCF101 数据集上,全监督实验结果Table 5 Fully-supervised experiment results on HMDB51 and UCF101 datasets

表5 总结了TSN、TBN (Temporal Bilinear Network)[52]、PPAC (Pyramid pyramid attention clusters)[53]、TCP (Temporal-attentive covariance pooling)[54]等基于2D CNN 的模型,ARTNet (Ap-pearance and relation network)[55]、R3D (3D Res-Net)[56]、MCL (Motion-focused contrastive learning)[57]等基于3D CNN 的模型以及多模态对比学习模型和本文模型在UCF101 和HMDB51 数据集上的分类性能.由全监督实验结果可以看出,本文模型与目前流行的基于ViT 的模型和多模态模型相比,都取得了十分有竞争力的性能.这归因于2个因素: 1)虚拟帧交互模块能有效地在ViT 结构的中间层建模视频的时间依赖;2)本文提出的模型可以有效适应视频行为识别任务,展现其强大的视频表达能力.

3.4 小样本实验

遵循一般设置,从UCF101 和HMDB51 数据集的每个类别中,随机抽取K={2,4,8,16} 个视频构建训练集,使用第1 种划分方式进行评估.实验使用8 帧输入的本文模型(ViT-B/16)进行单视图测试.表6 为本文模型在小样本实验上的第1 识别准确率,并与其他表现优秀的单模态和多模态模型对比.表6 中,单模态模型TSM、TimeSformer和Swin (B)与多模态模型ActionCLIP (ViT-B/16)、X-CLIP (ViT-B/16)相比,存在显著的性能差距,在K=2 的极端情况下,差距最为明显,这说明单模态模型由于数据的严重缺乏,发生了过拟合.

表6 HMDB51 和UCF101 数据集上,小样本实验结果 (%)Table 6 Few-shot experiment results on HMDB51 and UCF101 datasets (%)

随着数据量增加,过拟合问题得到缓解.本文模型在相同数据条件下,显示出明显的性能优势和稳健性.在K=2 时,本文模型(ViT-B/16)在HMDB51 和UCF101 数据集上的第1 识别准确率分别超过Swin (B) 28.7%和23.1%.这得益于语言信息对视觉分支的监督作用,也进一步验证了本文模型将CLIP 的知识迁移到视频小样本识别的有效性.同时,与ActionCLIP 和X-CLIP 相比,在提供完全相同的训练数据(见附录C)时,本文模型表现出最优性能.

3.5 零样本实验

零样本实验十分具有挑战性,要求模型对从未训练过的类别进行测试.与文献[18]相同,首先使用8 帧输入的本文模型(ViT-B/16)在K400 上进行预训练,然后分别在UCF101 和HMDB51 的3种划分的测试集上进行测试,表7 为3 种划分的第1 识别准确率的平均值.

表7 HMDB51 和UCF101 数据集上,零样本实验结果(%)Table 7 Zero-shot experiment results on HMDB51 and UCF101 datasets (%)

如表7 所示,对比单模态模型ZSECOC (Zeroshot error-correcting output codes)[58]、UR (Universal representation)[59]、TS-GCN (Two-stream graph convolutional network)[60]、E2E (End-to-end algorithm for zero-shot learning in video classification)[61]和ER-ZSAR (Elaborative rehearsal enhanced zero-shot action recognition)[62],本文模型在UCF101 和HMDB51 上,分别比以往最佳结果ER-ZSAR 提升了20.8%和8.7%.对比多模态模型,使用完全相同的训练方式,本文模型在HMDB51和UCF101 上的识别准确率分别优于ActionCLIP 2.1%和6.0%,优于X-CLIP 0.5%和1.7%.这种显著改进说明本文模型可以适应视频行为识别任务,获得了泛化性能强大的视频表达.

4 结束语

本文通过对CLIP 模型进行扩展,提出一种适用于视频行为识别任务的多模态模型.该模型在视觉编码器中构造了虚拟帧交互模块,完成网络中间层的跨帧信息交互,更好地捕获了视频远距离及相邻帧之间的时间依赖信息;同时,在语言分支上构建了视觉强化提示模块,通过注意力机制融合视觉分支输出分词中包含的视觉信息,自动生成适应视频行为识别的语言提示,强化视频的语言表达.在全监督、小样本和零样本3 种不同实验场景下的实验结果表明了本文多模态模型在视频行为识别任务上的有效性和泛化性.

在未来工作中,将模型拓展到不同的视频理解任务中,例如视频检索、视频标注、视频语义分割等.此外,考虑构建更优的语言提示学习模块和时空建模方式,以进一步增强多模态模型的识别准确率.

附录 A 模型训练超参数

3 种实验设置下模型训练超参数如表A1 所示,其中设置随机初始化参数的学习率比基础学习率高10 倍.

附录 B 手工提示模板

第3.2.4 节中,为将视觉强化提示模块与手工提示模板进行对比,构建如下16 个手工模板:

A photo of action {label};A picture of action {label};Human action of {label};{label},an action;{label},this is an action;{label},a video of action;Playing action of {label};{label};Playing a kind of action,{label};Doing a kind of action,{label};Look,the human is {label};Can you recognize the action of {label}?;Video classification of {label};A video of {label};The man is{label};The woman is {label}.

表A1 模型训练超参数Table A1 Hyper-parameters for model training

附录 C 小样本实验

第3.4 节对模型在小样本实验设置下的性能进行评估.表6 中TSM、TimeSformer 和Swin (B)的实验结果引自X-CLIP,训练和测试使用原论文默认超参数训练.

为进行公平对比,ActionCLIP、X-CLIP 和本文模型使用相同K个随机样本进行训练,随机样本在UCF101 和HMDB51 数据集上第1 种划分中随机抽取得到.表C1 展示了小样本实验所使用的随机样本编号.

表C1 小样本实验使用的随机样本Table C1 Random examples used in few-shot experiment

猜你喜欢
分词时序编码器
基于时序Sentinel-2数据的马铃薯遥感识别研究
基于Sentinel-2时序NDVI的麦冬识别研究
分词在英语教学中的妙用
结巴分词在词云中的应用
结巴分词在词云中的应用
基于FPGA的同步机轴角编码器
基于PRBS检测的8B/IOB编码器设计
一种毫米波放大器时序直流电源的设计
JESD204B接口协议中的8B10B编码器设计
多总线式光电编码器的设计与应用