CLIP-guided Prototype Modulating for Few-shot Action Recognition

标题:基于CLIP引导的原型调制用于少样本动作识别

源文链接:CLIP-guided Prototype Modulating for Few-shot Action Recognition | International Journal of Computer Vision (springer.com)icon-default.png?t=N7T8https://link.springer.com/article/10.1007/s11263-023-01917-4

源码链接: GitHub - alibaba-mmai-research/CLIP-FSAR: Code for our IJCV 2023 paper "CLIP-guided Prototype Modulating for Few-shot Action Recognition".icon-default.png?t=N7T8https://github.com/alibaba-mmai-research/CLIP-FSAR

发表:IJCV-2023

目录

摘要

1简介

2相关工作

3方法论

3.1 CLIP的初步介绍

3.2 CLIP-FSAR

4实验

4.1实验设置

4.2与最先进方法的比较

4.3消融实验

4.4可视化分析

4.5限制

5结论

读后总结


摘要

从CLIP这样的大规模对比性语言图像预训练中学习,最近在广泛的下游任务中取得了显著的成功,但在具有挑战性的少样本动作识别(FSAR)任务中,它仍然有待探索。在这项工作中,我们的目标是将CLIP强大的多模态知识迁移,以缓解由于数据稀缺导致的不准确的原型估计问题,这是低样本量情况下的一个关键问题。为此,我们提出了一个名为CLIP-FSAR的CLIP引导原型调制框架,该框架由两个关键组件组成:一个视频文本对比目标和原型调制。具体来说,前者通过对比视频和相应的类别文本描述,弥合了CLIP和少样本视频任务之间的任务差异。后者利用CLIP中可迁移的文本概念,通过时序Transformer自适应地细化视觉原型。通过这种方式,CLIP-FSAR可以充分利用CLIP中丰富的语义先验,获得可靠的原型,并实现准确的少样本分类。在五个常用基准上的大量实验证明了我们提出的方法的有效性,并且在各种设置下,CLIP-FSAR的性能明显优于现有的最先进方法。源代码和模型可在以下网址公开获取:https://github.com/alibaba-mmai-research/CLIP-FSAR。

关键词:少样本动作识别 · 多模态学习 · 多模态基础模型 · 大型模型应用

1简介

动作识别是视频理解领域的一个基本话题,近年来取得了显著的进展(Lin等人,2019;Arnab等人,2021;Carreira和Zisserman,2017;Wang等人,2021b,c)。尽管如此,现代模型需要大量的数据标注,而数据标注可能是耗时且繁重的任务。少样本动作识别是一个有前景的方向,旨在缓解数据标注问题,它通过少量标记的视频来识别未见过的类别,并受到了相当的关注(Zhu和Yang,2018;Cao等人,2020;Wang等人,2022b)。

主流的少样本动作识别方法遵循基于度量的元学习范式(Vinyals等人,2016)来优化模型,这些方法首先将输入视频映射到一个公共的特征空间,然后通过预定义的度量规则计算查询与支持原型之间的对齐距离来进行分类。为了获得具有区分性的特征空间并促进学习,现有方法通常利用单模态监督预训练,例如使用ImageNet初始化(Deng等人,2009)。

尽管取得了显著的进步,但由于标签数据相对较少以及缺乏多模态对应信息,单模态初始化仍然无法实现令人满意的性能。幸运的是,对比性语言图像预训练是一个强大的新兴范式,它通过从互联网上可用的大规模图像-文本对应用对比学习来学习高质量的可迁移表示(Radford等人,2021;Jia等人,2021)。像CLIP(Radford等人,2021)这样的典型工作成功展示了惊人的迁移能力,并在各种下游任务中取得了显著的进步(Zhou等人,2022b;Gao等人,2021;Zhang等人,2022b;Rao等人,2022;Wang等人,2022c)。受这些成功实践的启发,我们尝试将CLIP的强大能力转移到少样本动作识别任务中。一个直接的想法是,用CLIP的预训练视觉编码器替换ImageNet初始化,以利用其强大的表示能力。然而,图1中的实验结果表明,简单地替换初始化和在下游数据集上进行微调确实可以提高性能,但仍然有限。我们将这归因于未能充分利用CLIP模型的多模态属性,以在少样本场景下获得可靠的支持原型

图1 基于典型少样本动作识别方法(即OTAM,Cao等人,2020)的性能比较。我们注意到,直接将原始的ImageNet预训练主干网络替换为CLIP(Radford等人,2021)的视觉编码器,并简单地微调CLIP模型,只能带来有限的性能提升。相比之下,我们的方法通过充分利用CLIP的多模态语义知识,实现了显著的性能提升。

基于上述观察,我们专注于充分利用CLIP模型强大的多模态知识来解决少样本动作识别问题,因此提出了一种新颖的CLIP指导的原型调制框架,称为CLIP-FSAR。具体来说,为了将CLIP适应到少样本视频任务中,我们优化了一个视频-文本对比目标,以拉近视频特征与相应类别文本表示之间的距离。此外,为了缓解少样本场景下视觉信息不足的问题,我们提出使用CLIP中的文本语义先验来调制视觉原型。这是通过实现一个时间转换器来实现的,该转换器可以在支持集中自适应地融合文本和视觉特征基于这种方案,我们的CLIP-FSAR能够为少样本度量目标生成全面且可靠的原型,从而产生稳健的分类结果。我们在五个标准基准数据集上进行了广泛的实验,结果表明我们的CLIP-FSAR显著提高了基线方法的性能。

综上所述,我们的主要贡献如下:

(1)我们提出了一种新颖的CLIP-FSAR方法用于少样本动作识别,该方法充分利用了CLIP模型的多模态知识。据我们所知,这是首次尝试将大规模对比性语言图像预训练应用于少样本动作识别领域

(2)我们设计了一个视频-文本对比目标以适应CLIP,并进行了原型调制以生成可靠的原型。(3)在五个具有挑战性的基准数据集上进行了广泛的实验,证明了我们的方法的有效性,并且CLIP-FSAR取得了最先进的性能。

2相关工作

这项工作与少样本图像分类、视觉语言对比学习以及少样本动作识别密切相关。下面我们将对它们进行简要概述。

少样本图像分类。少样本学习的目标是用少量的样本来识别新的类别(Fei-Fei等人,2006年;Guo等人,2020年)。少样本研究大致可以分为三类:数据增强、模型优化和基于度量的方法第一类方法(Li等人,2020a;Hariharan和Girshick,2017年;Zhang等人,2018年;Ye等人,2021年)试图使用数据生成策略来提高少样本模型的泛化能力第二类方法希望为分类模型提供一个良好的初始化,这样只需要少量的梯度更新步骤就可以达到最优点。典型的方法包括MAML(Finn等人,2017年)和其他变体(Jamal和Qi,2019年;Rajeswaran等人,2019年;Rusu等人,2019年;Li等人,2017年;Ravi和Larochelle,2017年)。最近,(Zhou等人,2022b;Gao等人,2021年)也尝试在测试时微调部分可学习权重,以转移CLIP(Radford等人,2021年)的鲁棒先验进行少样本分类。基于度量的方法通过学习映射空间和设置支持查询匹配规则来对查询样本进行分类,包括余弦相似度(Vinyals等人,2016年;Ye等人,2020年)、欧几里得距离(Snell等人,2017年;Yoon等人,2019年)和可学习度量(Sung等人,2018年;Li等人,2019年)。还有一些方法(Pahde等人,2019年,2021年;Xing等人,2019年;Xu等人,2022年)引入额外的属性信息来辅助少样本分类。其中,我们的方法属于基于度量的方法,它可以在没有任何测试时间微调的情况下对查询样本进行分类,并尝试利用CLIP的可迁移多模态知识来促进具有挑战性的少样本动作识别任务

视觉-语言对比学习。探索视觉-语言预训练是一个热门且有前景的方向,用于挖掘不同属性数据之间的关联(Li等人,2020c,2021,2020b;Wang等人,2022a,2021a;Zhai等人,2022;Zhong等人,2022;Yang等人,2022)。最近,对比性语言-图像预训练(Radford等人,2021;Jia等人,2021;Luo等人,2021)因其简单性和有效性而受到越来越多的关注。代表性的工作如CLIP(Radford等人,2021)通过两个独立的编码器将图像和自然语言描述投影到一个共同的特征空间中进行对比学习,并通过在数亿个图像-文本对上进行预训练,实现了显著的“零次学习”迁移能力。随后,这些预训练模型被扩展到各种下游任务并显示出卓越的性能,包括图像分类(Zhou等人,2022b,a)、目标检测(Shi等人,2022;Gu等人,2022)、语义分割(Wang等人,2022c;Rao等人,2022)和视频理解(Lin等人,2022;Ju等人,2022;Liu等人,2022)。受这些成功的启发,在这项工作中,我们提出了第一个简单但有效的框架,以利用CLIP丰富的语义知识来进行少样本动作识别。最近或同时期的一些工作(Ni等人,2022;Wang等人,2021a;Ju等人,2022;Wu等人,2023;Rasheed等人,2023)将CLIP应用于封闭集动作识别任务,这需要利用分类器对训练集的类别进行分类。相比之下,提出的CLIP-FSAR遵循基于原型的元学习少样本范式,并旨在利用文本特征来增强支持原型的表示

少样本动作识别。现有的大多数少样本识别方法遵循基于度量的方式(Vinyals等人,2016)来优化模型,并设计鲁棒的对齐度量来计算查询样本和支持样本之间的距离以进行分类。一些方法(Zhu等人,2021;Zhang等人,2020;Zhu和Yang,2018,2020)采用了少样本图像分类领域(Snell等人,2017;Sung等人,2018)中的全局匹配思想来进行少样本匹配,但这种方法性能相对较差,因为在度量过程中忽略了长期的时序对齐信息。为了利用时序线索,以下方法(Cao等人,2020;Zhang等人,2021;Perrett等人,2021;Li等人,2022b;Wu等人,2022;Thatipelli等人,2022;Wang等人,2022b;Nguyen等人,2022;Huang等人,2022;Wang等人,2023;Zheng等人,2022)专注于查询视频和支持视频之间的局部帧级(或片段级)对齐。其中,OTAM(Cao等人,2020)提出了一种动态时间规整技术(Müller,2007)的变体,以明确利用支持-查询视频对中的时序信息。ITANet(Zhang等人,2021)设计了一种混合的空间和通道注意力机制来学习具有代表性的特征。TRX(Perrett等人,2021)利用不同数量的有序帧元组来比较支持视频和查询视频。HyRSM(Wang等人,2022b)引入了自注意力来聚合视频之间的时序关系,并设计了一种双向的平均Hausdorff度量(Bi-MHM)来在匹配过程中放宽时序约束。(Huang等人,2022)提出了复合原型,它们采用多个度量函数来进行少样本匹配。

尽管这些方法取得了巨大的成功,但它们主要使用单模态预训练的骨干网络,没有涉及多模态特征,这限制了性能的进一步提升。在我们的工作中,我们引入了强大的CLIP模型,并尝试利用其多模态语义知识来处理少样本动作识别任务。请注意,提出的CLIP-FSAR与原始的线性探测CLIP(Radford等人,2021)之间存在两个本质的区别:(1)原始的线性探测CLIP(Radford等人,2021)对动作识别进行了线性探测评估,并需要在测试类别上进行微调,这与我们基于度量的少样本设置完全不同,在我们的设置中,训练和测试类别是互斥的,不允许在测试类别上进行微调(2)我们的主要贡献是设计了一种有效的方法,可以利用CLIP的多模态知识生成可靠的原型,而原始的线性探测CLIP只是线性微调了视觉骨干网络,并没有涉及多模态线索。此外,本文的关键见解是,将CLIP简单地扩展到少样本动作识别任务是明显不足的(如图1所示),因此我们精心设计了CLIP-FSAR以更好地利用CLIP的强大多模态知识,并希望为社区提供一种新颖且可行的解决方案,该方案利用大型基础模型并在下游任务上进行微调

3方法论

我们首先简要回顾了关于CLIP(Radford等人,2021)的背景知识,然后详细描述了我们的框架如何将CLIP应用于少样本动作识别任务。

3.1 CLIP的初步介绍

与使用人工标注标签的传统监督训练范式(He等人,2016;Deng等人,2009;Carreira和Zisserman,2017)不同,对比语言图像预训练(CLIP)(Radford等人,2021)采用自然语言描述来监督表示学习,从而提高了学习模型的可扩展性和可迁移性。更具体地说,CLIP是一个双编码器结构,由一个视觉编码器和一个文本编码器组成。视觉编码器旨在将输入图像映射到一个紧凑的嵌入空间,可以使用ResNet(He等人,2016)架构或ViT(Dosovitskiy等人,2021)架构来实现。文本编码器基于Transformers(Vaswani等人,2017)设计,用于从自然语言描述中提取高语义特征。随后,如果获得的图像特征和文本特征是匹配的,则将它们拉近;如果不是匹配的,则将它们推开。总之,CLIP的学习目标是在公共特征空间中执行多模态对比学习。为了进一步提高表示能力,CLIP在4亿个网络抓取的图像文本对上进行了预训练。当迁移到下游任务(例如,目标检测(Gu等人,2022))时,为了在预训练期间与文本描述保持一致,输入文本通常使用提示模板“a photo of [CLS]”,其中[CLS]表示实际的类别名称。

3.2 CLIP-FSAR

概述。少样本动作识别旨在通过少量视频识别新的动作类别。在典型的少样本设置中,有两个类别不相交的数据集,一个用于训练的基础数据集Dtrain和一个用于测试的新数据集Dtest。为了模拟测试环境,通常在训练过程中从Dtrain中抽取大量的少样本任务(或称为episode)来优化模型。对于一个标准的N-way K-shot任务,有一个支持集S = {s1, s2,..., sN×K},由N个类别和每个类别的K个视频组成。该任务的目标是基于支持样本对查询视频q进行分类。为了表述方便,我们考虑N-way 1-shot(即K = 1)任务来展示我们的框架。根据之前的工作(Cao等人,2020;Perrett等人,2021;Zhang等人,2021),对输入视频实施稀疏帧采样策略(Wang等人,2016)以降低计算负担。我们首先采用CLIP的视觉编码器V生成输入视频帧的特征,并使用文本编码器T提取相应类别自然语言描述的文本嵌入。然后,我们对这些获得的帧特征和文本特征应用视频文本对比目标,以使CLIP适应少样本视频任务。此外,我们提出了一种原型调制方法,以优化少样本度量目标的视觉原型。图2展示了我们CLIP-FSAR的整个框架。

图2展示了CLIP-FSAR的架构。给定支持视频和查询视频,首先采用一个视觉编码器来提取帧特征。然后,我们应用一个视频-文本对比目标来拉近获得的视频特征和对应的类别文本表示。之后,使用原型调制来利用文本语义特征细化视觉支持原型。最后,在得到的具有信息量的原型和查询特征上施加一个少样本度量目标来进行分类。

视频-文本对比目标。给定一个支持集 S = {s1, s2,..., sN} 和一个查询视频 q = {q1, q2,..., qt},其中 si = {s1i, s2i,..., sti} 是一个由稀疏采样的 t 帧组成的支持视频。我们使用视觉编码器 V 来编码视频特征

f_{s_i}=\mathcal{V}(s_i),\quad f_q=\mathcal{V}(q)\quad(1)

其中 fsi ∈ Rt×C,fq ∈ Rt×C,C 是通道数。然后,我们使用文本编码器 T 来提取基础类别的文本特征,采用提示模板“a photo of [CLS]”,并将获得的文本特征表示为 \{w_i\}_{i=1}^B,其中 B 是基础集 Dtrain 的总类别数,wi ∈ RC 是一个特征向量。遵循先前的做法(Wang 等人 2022c;Shi 等人 2022;Rao 等人 2022),为了保留文本编码器中的原始预训练可迁移知识并减少优化负担,我们在训练过程中固定 T 不进行更新

为了弥合CLIP与少样本视频任务之间的任务差异,我们模拟了原始的CLIP训练目标,即如果视频特征和文本特征是匹配对,则最大化它们的相似性,否则最小化它们的相似性。为了实现这一目标,我们首先计算视频-文本匹配概率如下:

p_{(y=i|v)}^{video-text}=\frac{\exp(sim(\mathrm{GAP}(f_v),w_i)/\tau)}{\sum_{j=1}^B\exp(sim((\mathrm{GAP}(f_v),w_j)/\tau)}\quad(2)

其中v \in \{s_1, s_2, ..., s_N, q\},sim 是余弦相似度函数,GAP 是全局平均池化的缩写,τ 表示一个可学习的温度因子。然后,我们在预测结果和实际类别标签之间施加一个交叉熵损失L_{\text{video-text}}来优化目标

原型调制。现有的少样本动作识别方法,如OTAM(Cao等人2020年提出),通常通过比较查询视频q与支持视觉原型之间的时间对齐距离来进行分类在少样本动作识别任务中,视频原型是一系列帧原型的序列,具体细节请参考OTAM(Cao等人2020年)。查询视频q与支持视频si之间的距离可以表示为:

d_{q,s_i}=\mathcal{M}(f_q,f_{s_i})\quad(3)

其中M代表时间对齐度量(有序时间对齐模块(OTAM)。在OTAM中,M是动态时间规整(DTW, Müller 2007年)的一个变体,用于测量支持-查询距离作为帧对齐成本。少样本性能在很大程度上依赖于原型估计的准确性(Snell等人2017年)。一方面,在低样本场景中,由于数据稀缺,视觉信息往往不足,导致原型不准确。另一方面,视觉和文本模态之间存在互补性(Shi等人2021年),而CLIP的文本描述表示包含了丰富的语义先验(Lietal. 2022a)。基于这些,为了提高支持原型的可靠性,我们提出利用信息丰富的支持文本特征来细化这些原型。具体来说,在支持视觉特征fsi的基础上,我们将文本特征沿着时间维度堆叠到对应的视频si上,即\mathbb{R}^{t\times C}\cup\mathbb{R}^{C}\to\mathbb{R}^{(t+1)\times C},并使用时间变换器(Temporal Transformer)来自适应地融合这些特征。我们将融合后得到的增强视觉特征表示为\widetilde{f_{si}}(不包括输出的文本特征)。由于在测试时我们不知道查询视频的真实类别信息,因此我们仅将视觉查询特征输入到时间变换器中,以便输出的查询特征\widetilde{f_q}和支持特征可以在一个共同的特征空间中进行匹配。随后,我们采用时间对齐度量来计算查询-支持距离

d_{q,s_i}^{\prime}=\mathcal{M}(\widetilde{f}_q,\widetilde{f}_{s_i})\qquad(4)

其中M在我们的CLIP-FSAR中默认为OTAM度量。

在我们提出的CLIP-FSAR中,OTAM(或其他特定度量)默认情况下并不直接给出,因为CLIP-FSAR是一个即插即用的框架。在后续的实验部分,我们将CLIP-FSAR插入到其他现有的度量或方法(如Zhang等人2021年、Perrett等人2021年、Wang等人2022b年的工作)中,并通过实验来实证展示其可插入性。基于这些距离,我们可以为查询视频q在支持类别上的概率分布进行建模,如公式(5)所示:

p_{(y=i|q)}^{few-shot}=\frac{\exp(d_{q,s_{i}}^{\prime})}{\sum_{j=1}^{N}\exp(d_{q,s_{j}}^{\prime})}\quad(5)

与前人的工作(如Cao等人2020年、Wang等人2022b年、Perrett等人2021年的工作)类似,我们可以使用交叉熵损失L_{few-shot}来优化模型参数。我们CLIP-FSAR的最终训练目标是:

\mathcal{L}=\mathcal{L}_{video-text}+\alpha\mathcal{L}_{few-shot}\quad(6)

其中α是一个平衡因子。对于少样本评估,我们可以通过公式(5)得到属于支持类别的匹配概率,就像之前的工作(Cao等人2020年、Perrett等人2021年、Wang等人2022b年的工作)所做的那样。此外,由于我们提出的框架具有两个目标的设计,我们还可以结合视频-文本匹配结果(公式2)和少样本分类结果(公式5)来获得合并的预测

p_{(y=i|q)}^\dagger=(p_{(y=i|q)}^{video-text})^\beta\cdot(p_{(y=i|q)}^{few-shot})^{1-\beta}\quad(7)

其中β是一个在[0, 1]之间的可调超参数,我们将这种组合方式称为CLIP-FSAR†。请注意,上述描述的零次学习和少样本结果的组合仅是一种可选的方法,本文主要关注少样本性能。

4实验

在本节中,我们对五个少量动作识别基准进行了广泛的实验,并将CLIP-FSAR与当前最先进的方法进行了比较,以验证其有效性。此外,还进行了详细的消融研究,以分析CLIP-FSAR的性能。

4.1实验设置

数据集。我们在五个常用的少样本动作数据集上验证了我们的方法,包括SSv2-Full(Goyal等人,2017年)、SSv2-Small(Goyal等人,2017年)、Kinetics(Carreira和Zisserman,2017年)、UCF101(Soomro等人,2012年)和HMDB51(Kuehne等人,2011年)。参照(Cao等人,2020年;Zhu和Yang,2018年;Perrett等人,2021年;Zhang等人,2021年)中的设置,在SSv2-Full、SSv2-Small和Kinetics上,我们随机选取64个类别作为基础类别,24个类别作为新类别,以进行公平的比较。对于UCF101和HMBD51,我们遵循(Zhang等人,2020年)中的数据集分割来评估我们的CLIP-FSAR方法。

评估协议。遵循先前的工作(Cao等人,2020年;Wang等人,2022年b;Perrett等人,2021年),我们在5-way K-shot设置下报告我们CLIP-FSAR的性能,其中K的取值范围从1到5。

实现细节。我们的实验实现基于PyTorch(Paszke等人,2019年)库,并使用Adam(Kingma和Ba,2014年)优化器进行训练。在偏向运动的数据集(如SSv2-Full)上,我们以0.00005的学习率训练模型。在偏向外观的数据集(如UCF101)上,我们以0.00001的学习率优化模型。在每个优化迭代中,我们输入20个场景任务来训练模型,即批处理大小为20。为了简化起见,除非另有说明,否则我们采用OTAM(Cao等人,2020年)作为基线对齐度量。遵循之前的方法(Cao等人,2020年;Wang等人,2022年b),我们从每个视频中均匀稀疏地采样8帧来编码视频表示。在训练过程中,我们采用了几种标准的数据增强技术,如随机裁剪和颜色抖动。为了验证我们的CLIP-FSAR,我们考虑了两种CLIP模型,即CLIP-RN50(ResNet-50)(He等人,2016年)和CLIP-ViT-B(ViT-B/16)(Dosovitskiy等人,2021年)。在多样本场景(例如5-shot)中,我们在将支持特征输入到原型调制之前,采用简单但有效的平均原则(Snell等人,2017年)来生成平均支持特征。在推理阶段,我们实验中报告了10,000个随机采样的少样本任务的平均准确率。

基线方法。现有的少样本动作识别方法,如OTAM(Cao等人,2020年)、TRX(Perrett等人,2021年)、ITANet(Zhang等人,2021年)和HyRSM(Wang等人,2022年b),都使用了单模态的ImageNet预训练。为了验证我们方法的有效性,我们主要考虑使用CLIP初始化的两种典型基线方法。第一种是OTAM,我们将其原有的ImageNet预训练替换为CLIP的视觉编码器进行端到端的训练。第二种是CLIP-Freeze,它直接利用预训练视觉编码器输出的特征,并使用OTAM度量进行少样本匹配,而无需在基础数据集上重新训练。

4.2与最先进方法的比较

为了验证所提出框架的有效性,我们将CLIP-FSAR的性能与当前最先进的少样本动作识别方法在五个标准数据集上进行了比较。结果总结在表1和表2中。从实验结果中,我们可以得出以下观察结果:

(a) 与OTAM基线相比,我们的方法通过利用CLIP的多模态知识可以显著提高性能。例如,在5-way 1-shot SSv2-Full设置下,使用CLIP-RN50和CLIP-ViT-B时,我们的方法分别获得了14.0%和11.7%的性能提升。值得注意的是,基于CLIP-ViT-B的CLIP-FSAR始终优于其他最先进的技术,这证明了我们的方法的有效性。

(b) 通过比较使用相同CLIP视觉编码器的OTAM和CLIP-Freeze的结果,我们可以看到在少样本动作识别任务上重新训练CLIP可以使其适应下游任务并进一步提高性能。

(c) 基于CLIP-ViT-B的CLIP-FSAR通常比基于CLIP-RN50的性能更优,这表明更强大的预训练模型会导致更好的少样本泛化能力。此外,多模态预训练的CLIP显示出比ImageNet预训练更好的性能。

(d) CLIP-FSAR与基线之间的性能差距在shot较小时更为显著,并随着shot的增加而逐渐缩小。我们认为这是由于在视觉信息不足时,引入文本语义线索会更加有效。类似地,与基线相比,基于CLIP-RN50的性能提升比基于CLIP-ViT-B的更显著。在Kinetics数据集上,基于CLIP-RN50的1-shot性能差距为11.2%(87.6%对比76.4%),而基于CLIP-ViT-B的性能差距为1.5%(89.7%对比88.2%)。

(e) 通过将视频文本匹配的结果融入到少样本分类中,即CLIP-FSAR†,性能也在一定程度上得到了提升。

加粗显示的是未涉及集成技术的最佳结果

实验在5-way K-shot设置下进行,其中K的值从1变化到5

“–” 表示该结果在已发表的作品中未提供

“∗” 表示这是我们的实现所得出的结果

“INet-RN50” 表示在ImageNet上预训练的ResNet-50模型

“†” 代表方程7中的集成方法,该方法结合了少样本结果和视频文本匹配结果

为了进一步验证我们框架的可插拔性,我们将提出的方法作为即插即用组件应用到现有的指标或方法上,如Bi-MHM(Wang等人,2022b)、ITANet(Zhang等人,2021)和TRX(Perrett等人,2021)。从表3中,我们可以发现,当将我们的CLIP-FSAR扩展到这些技术时,也取得了显著的性能提升,这表明我们的方法是一个通用的架构。

4.3消融实验

为了研究CLIP-FSAR中每个成分的贡献,我们进行了一系列详细的消融研究。除非另有说明,我们采用CLIP-RN50模型作为比较实验的默认设置。

组件分析。在表4中,我们研究了所提出的CLIP-FSAR中视频文本对比目标和原型调制的作用。通过执行视频文本对比,我们在Kinetics数据集上分别获得了1-shot和5-shot下4.0%和2.7%的性能提升。这种一致性的提升表明了将CLIP适应到少样本视频任务中的重要性。同样地,在SSv2-Small数据集上,实施原型调制相比基线获得了10.9%和3.4%的性能提升。我们观察到,在1-shot场景中性能提升尤为显著,这表明当视觉信息非常有限时,补充文本语义信息会更为有效。此外,通过同时训练这两个组件,我们获得了最佳性能,这从经验上验证了视频文本对比目标和原型调制之间的互补性。

改变时间Transformer层的数量。为了探究应用的时间Transformer层数对性能的影响,我们在SSv2-Small和Kinetics数据集上进行了消融研究。表5的结果显示,在SSv2-Small数据集上,随着Transformer层数的增加,性能逐渐提升,但超过某个特定值后开始出现过拟合现象。不同的是,在Kinetics数据集上,仅使用一层Transformer层就足够达到最优性能,我们将其归因于该数据集相对基于外观,时间建模对于识别来说不那么关键(Chen等人,2021)。为了平衡精度和效率,我们采用单层时间Transformer层作为默认设置。

原型调制方案的影响。在表6中,我们进行了消融实验,其中比较了几种常用的时间聚合运算符,如Bi-LSTM(Graves等人,2013)、Bi-GRU(Chung等人,2014)和时间Transformer(Vaswani等人,2017),以进一步分析不同原型调制方案的效果。我们观察到,由于Transformer灵活的信息交互和强大的泛化能力(Dai等人,2019;Wang等人,2022b),时间Transformer始终优于其他竞争对手。此外,Transformer的输出在原型调制机制中与输入语义特征和视觉特征的相对位置无关的特性,使其更适合我们的框架。请注意,在将文本特征与原型进行调制之前,已通过位置编码将位置信息注入到视觉特征中,而文本特征则不额外施加位置编码

在表7中,我们探讨了时间建模对少样本性能的影响,发现时间建模在一定程度上有助于提高性能,但主要改进来自于文本信息的注入。例如,原型调制将5-way 1-shot SSv2-Small的结果从39.9%提升至50.8%,提升了10.9%,而使用时间Transformer进行时间建模仅提升了0.6%。

加粗值表示效果最好,实验均在CLIP-RN50主干上进行。“TM”是时态建模的缩写。“原型调制”表示将原型调制的文本特征与时序变压器结合在一起

为了进一步分析应用于支持和查询视频的时间Transformer是否应该共享权重,我们在表8中进行了实验比较。实验结果表明,共享权重允许查询和支持样本处于相同的特征空间,从而实现更好的少样本动作识别结果。

不同的视频文本对比方式。为了在适应少样本动作识别任务时不引入复杂的模块设计,以与原始的CLIP预训练方式保持一致,我们在视频文本对比阶段没有加入时间建模。在表9中,我们将引入时间建模的设置与默认设置进行了比较,并观察到两者产生了可比较的性能,而默认设置没有引入额外的参数。

加粗的值表示最佳结果

“Temporal Transformer + GAP”意味着使用一个时间Transformer层和一个空间全局平均池化(GAP)来替代原来的单一GAP。

超参数敏感性分析。在等式6中,我们引入了一个超参数α来平衡两个损失项。如图3a所示,我们报告了消融实验的结果。我们可以观察到,这个参数对性能的影响相对较小,而CLIP-FSAR始终保持着领先的性能。我们还进行了实验来分析β对合并预测CLIP-FSAR†性能的影响(如图3b所示),并发现β在不同数据集上的取值是不同的。在偏向运动的SSv2-Small数据集上,β的较小值可以实现更好的性能,而在偏向外观的Kinetics数据集上则需要较大的值。

改变输入视频帧的数量。为了与先前的方法(Cao等人,2020;Perrett等人,2021;Zhang等人,2021)进行公平的比较,我们在实验中从每个视频中采样8帧来编码视频表示。我们进一步在图4中分析了不同数量的输入视频帧对性能的影响。结果表明,随着输入视频帧数量的增加,CLIP-FSAR的性能缓慢提升并最终趋于饱和。值得注意的是,我们的方法始终优于基线方法,这表明CLIP-FSAR具有良好的可扩展性。一个有趣的现象是CLIP-Freeze的结果存在波动,我们将其归因于CLIP最初是为图像领域进行预训练的,并且如果没有适应过程,它就无法感知视频中的运动模式。

N类分类。我们也探讨了改变N对少样本性能的影响。N类1样本的比较结果如图5所示,其中N从5变化到10。我们可以观察到,N越大,分类的难度就越大,性能也就越低。例如,CLIP-FSAR在SSv2-Small数据集上的10类结果相比5类结果下降了14.3%。然而,在各种设置下,CLIP-FSAR仍然显著优于比较方法,这表明了我们方法的有效性。

泛化能力分析。我们的CLIP-FSAR基于CLIP的预训练视觉和文本编码器进行比较实验。为了进一步探索我们的框架是否可以扩展到标准的单模态预训练初始化,我们将视觉编码器替换为在ImageNet上预训练的模型,并保持文本编码器不变。如表10所示,我们分别在三个具有不同深度的ImageNet初始化模型(ResNet-18、ResNet-34和ResNet-50)上进行了实验。结果充分表明,我们的方法可以有效地提高这些基线方法的性能,例如,使用ResNet-18时,CLIP-FSAR将SSv2-Small数据集的1次学习性能从35.8%提升至46.0%,这充分展示了我们框架的泛化能力。在表11中,我们还将我们的CLIP-FSAR框架应用于自监督学习方法DINO(Zhang等人,2022a)。具体来说,我们将CLIP-FSAR中的视觉编码器替换为在ImageNet上进行自监督预训练的开源DINO ResNet-50模型,并保持文本编码器不变。从结果中,我们注意到,基于OTAM和TRX,我们的框架与原始基线相比仍然取得了令人印象深刻的性能提升,这表明了我们方法的强大泛化能力。

参数数量和推理延迟。在表12中,我们展示了不同方法在参数数量、计算量、推理延迟和性能方面的比较。我们观察到,所提出的CLIP-FSAR在性能上表现最佳,并且仅略微增加了推理延迟,从而在准确性和性能之间实现了优越的平衡。

零样本学习性能。尽管我们的CLIP-FSAR最初是为少量样本动作识别任务设计的,但我们也可以使用视频-文本对比目标进行零样本学习分类。为了方便起见,我们使用了与少量样本评估相同的数据划分,即在训练集上进行训练,并在测试集上进行零样本学习分类。表13展示了5类零样本学习实验的比较结果。可以看出,与CLIP-Freeze相比,我们的方法表现出更好的性能。例如,在HMDB数据集上,使用CLIP-ViT-B时,我们的方法相比CLIP-Freeze提高了11.2%的性能。这可以解释为我们的CLIP-FSAR对视频任务的适应性。

4.4可视化分析

为了进一步定性地分析我们的CLIP-FSAR,我们在测试阶段可视化了没有和带有原型调制时的特征分布变化,如图6所示。通过比较结果,我们可以观察到明显的改进:经过原型调制后,类内分布更加紧凑,类间特征更具判别性。上述发现验证了我们的CLIP-FSAR的合理性和优越性。为了深入分析CLIP-FSAR的特性,我们在图7中可视化了HMDB51和UCF101测试集上的两个失败案例。我们可以看到,我们的CLIP-FSAR仍然错误地将一些具有相似运动模式的细粒度动作类别进行了分类,例如“Kick Ball”(踢球)和“Kick”(踢)。此外,一些视频的外观过于相似,如图7中“Surfing”(冲浪)和“Skiing”(滑雪)的例子所示,即使引入了额外的文本信息,也很难将它们区分开来。

4.5限制

在我们的CLIP-FSAR中,我们采用了广泛使用的提示模板,即“a photo of [CLS]”作为默认设置。在表14中,我们探讨了不同文本提示的影响,并发现不同的提示模板在不同数据集上的表现并不一致,例如,“[CLS]”在SSv2-Small数据集上表现最好,但在Kinetics数据集上表现最差。研究通用且有效的文本提示形式将是一项有价值的工作。此外,我们主要关注于视觉方面来调制原型,并没有考虑在文本方面的一些潜在改进,例如使用视觉特征来细化文本特征。我们将上述讨论留作未来的工作。

5结论

在本文中,我们提出了一种基于CLIP模型的CLIP-FSAR方法来解决少样本动作识别问题,其中我们充分利用了CLIP模型的多模态知识。我们利用视频-文本对比目标来使CLIP模型适应少样本视频任务。此外,我们提出使用文本特征通过实现时间转换器来适应性地调制视觉支持原型。在五个常用基准数据集上的广泛实验表明,我们的CLIP-FSAR方法显著优于当前的先进方法。

读后总结

出发点:在少样本学习中,存在由于数据稀缺导致的不准确的原型估计问题。

创新点1:通过CLIP的多模态知识迁移,引入类别文本信息,提出视频文本对比目标,通过计算支持视频的视频特征和类别文本特征的匹配概率,得到预测类别,然后在预测类别和实际类别间添加交叉熵损失函数来优化目标。同时也能弥合CLIP与少样本视频任务之间的任务差异。

创新点2:将类别文本特征沿着时间维度堆叠到对应的视频特征上,进一步使用时间变换器(Temporal Trasnformer)来自适应地融合特征,使得视觉模态特征拥有了文本特征地丰富地语义先验。

思考:

在4.5限制中,提及本论文主要关注于视觉方面来调制原型,并没有考虑在文本方面的一些潜在改进,例如使用视觉特征来细化文本特征。该论文只进行了由文本到视觉的改进,而没有视觉到文本的改进,在少样本对比学习中该如何实现文本的运用呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/348934.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wireshark查看流量图

点击 菜单中的 统计 , 选择 IO 图表 项 勾选下面选项..

java.nio.charset.UnmappableCharacterException

问题 java.lang.IllegalArgumentException: java.nio.charset.UnmappableCharacterException: Input length 1 解释为编码转换有问题 问题错在位置 非汉字存在 打包的时候就会报异常

Vue基本使用-02

上节我们讲了什么是mvvm模型,以及我们vue的一些常用指令,今天给大家讲一下vue的基本使用,在将之前我们需要重点讲解我们的一个指令,v-model指令 v-model v-model 可以在组件上使用以实现双向绑定,什么是双向绑定呢?意思就是当我们…

2024年第三届数据统计与分析竞赛(B题)数学建模完整思路+完整代码全解全析

你是否在寻找数学建模比赛的突破点?数学建模进阶思路! 详细请查 作为经验丰富的数学建模团队,我们将为你带来2024年第三届数据统计与分析竞赛(B题)的全面解析。这个解决方案包不仅包括完整的代码实现,还有…

分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了

前言 实际上,.NET Core 内部也内置了一套日志系统,它是一个轻量级的日志框架,用于记录应用程序的日志信息。 它提供了 ILogger 接口和 ILoggerProvider 接口,以及一组内置的日志提供程序(如 Console、Debug、EventSo…

Python学习从0开始——Kaggle时间序列002

Python学习从0开始——Kaggle时间序列002 一、作为特征的时间序列1.串行依赖周期 2.滞后序列和滞后图滞后图选择滞后 3.示例 二、混合模型1.介绍2.组件和残差3.残差混合预测4.设计混合模型5.使用 三、使用机器学习进行预测1.定义预测任务2.为预测准备数据3.多步骤预测策略3.1 M…

docker 部署nginx多级子域名(三级四级...)映射不同web项目,访问不同路径地址

一、背景 只有一台服务器,一个顶级域名,现在需要根据不同子域名访问不同web项目,比如 # 管理后台 cms.biacu.com# 客户端h5 h5.biacu.com# 四级域名 h5.s.biacu.com同时,不同web项目放在不同位置 二、 1、在云服务器上&#x…

C++——计算不同的非空子串个数

计算不同的非空子串 计算方法 这道题是我在BCSP-X小高组的题目中发现的一道 没事闲的就写了代码和思路&#xff1a; 代码 #include <iostream> #include <vector> #include <string> #include <algorithm>using namespace std;// 用于存储后缀数…

AnythingLLM 的 Docker 使用

AnythingLLM是使用大语言模型LLM的一站式简便框架。官网的介绍如下&#xff1a; AnythingLLM is the easiest to use, all-in-one AI application that can do RAG, AI Agents, and much more with no code or infrastructure headaches. 1. 使用官方docker 最方便的方法是使…

IDEA项目上传Github流程+常见问题解决

一、Github上创建仓库 项目创建好后如图所示 二、IDEA连接Github远程仓库 管理远程 复制远程地址 定义远程 登录Github 点击进入File->Settings->Version Control->Github登录自己的账号并勾上“√” 三、推送项目 点击推送 修改为main 点击确定&#xff0c;打开远程…

【智能算法应用】基于粒子群算法的多尺度Retinex图像去雾方法

目录 1.算法原理2.粒子群算法的多尺度Retinex图像去雾方法3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】粒子群算法&#xff08;PSO&#xff09;原理及实现 多尺度Retinex算法 在Retinex算法中&#xff0c;雾化图像的形成可以总结为入射光和反射光的乘积: I ( x…

【算法训练记录——Day28】

Day28——回溯算法Ⅳ 1.复原IP地址2.[全排列](https://leetcode.cn/problems/permutations/submissions/539240290/)3.[全排列Ⅱ](https://leetcode.cn/problems/permutations-ii/description/) ● 93.复原IP地址 ● 78.子集 ● 90.子集II 1.复原IP地址 思路&#xff1a;相当于…

SSM情侣购物系统 -计算机毕业设计源码02387

目 录 摘要 1 绪论 1.1 开发背景与意义 1.2开发意义 1.3Vue.js 主要功能 1.3论文结构与章节安排 2 情侣购物系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分…

细说MCU串口函数及使用printf函数实现串口发送数据的方法

目录 1、硬件及工程 2、串口相关的库函数 &#xff08;1&#xff09;串口中断服务函数&#xff1a; &#xff08;2&#xff09;串口接收回调函数&#xff1a; &#xff08;3&#xff09;串口接收中断配置函数&#xff1a; &#xff08;4&#xff09;非中断发送&#xff…

[linux]如何跟踪linux 内核运行的流程呢

前面已经可以把内核编译出来&#xff0c;但是作为技术狗想看到内核是怎么运行的怎么办&#xff1f; 内核很多代码都是C语言写的&#xff0c;那简单&#xff0c;添加2行代码&#xff1a; include/linux/printk.h 529和530原来的&#xff1a; #define pr_info(fmt, ...) \ …

IIoT(智能物联网)的现状、应用及安全

近年来&#xff0c;物联网&#xff08;IoT&#xff09;作为推动现代公司和智能城市发展的一个范式&#xff0c;已经取得了显著的发展。IoT使得分布式设备&#xff08;如手机、平板电脑和计算机&#xff09;能够感知并从外部环境传输数据&#xff0c;以服务于最终用户。IoT的概念…

TcpClient 服务器、客户端连接

TcpClient 服务器 TcpListener 搭建tcp服务器的类&#xff0c;基于socket套接字通信的 1 创建服务器对象 TcpListener server new TcpListener(IPAddress.Parse("127.0.0.1"), 3000); 2 开启服务器 设置最大连接数 server.Start(1000); 3 接收客户端的链接,只能…

华为昇腾异构计算架构CANN及AI芯片简介

异构计算架构CANN 异构计算架构CANN&#xff08;Compute Architecture for Neural Networks&#xff09;是华为针对AI场景推出的异构计算架构&#xff0c;向上支持多种AI框架&#xff0c;包括MindSpore、PyTorch、TensorFlow等&#xff0c;向下服务AI处理器与编程&#xff0c;…

Open vSwitch 中 upcall 消息的类型

一、upcall 调用的流程 在 Open vSwitch 的数据包转发流程中&#xff0c;如果数据包在内核空间无法完全处理&#xff08;比如匹配不到流表项&#xff09;&#xff0c;就会发生 upcall 调用&#xff0c;将数据包从内核空间的 Datapath 模块传输至用户空间的 ovs-vswitchd 守护进…

UML类图之间的关系与对应的代码关系

UML类图之间的关系与对应的代码关系 1. 依赖关系1.1 图解1.2代码实现 2. 关联关系2.1图解2.2代码实现 3. 聚合关系3.1图解3.2代码实现 4. 组合关系4.1图解4.2代码实现 5. 泛化关系5.1图解5.2代码实现 6. 实现关系6.1图解6.2代码实现 在UML中&#xff0c;共有四种关系&#xff1…