【论文笔记】CLIP-guided Prototype Modulating for Few-shot Action Recognition

🍎个人主页:小嗷犬的个人主页

🍊个人网站:小嗷犬的技术小站

🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题 : CLIP-guided Prototype Modulating for Few-shot Action Recognition
作者 : Xiang Wang, Shiwei Zhang, Jun Cen, Changxin Gao, Yingya Zhang, Deli Zhao, Nong Sang
发表 : IJCV 2023
arXiv : https://arxiv.org/abs/2303.02982

摘要

从大规模对比语言图像预训练如CLIP近期在众多下游任务中展现出显著的成功,但在具有挑战性的小样本动作识别(FSAR)任务上仍处于探索阶段。

在本工作中,我们旨在将CLIP强大的多模态知识迁移,以缓解数据稀缺导致的原型估计不准确问题,这是低样本环境中的关键问题。

为此,我们提出了一种名为CLIP-FSAR的CLIP引导原型调制框架,它包含两个关键组件:一个视频-文本对比目标和一个原型调制。

具体来说,前者通过对比视频及其对应的类别文本描述,弥合了CLIP与小样本视频任务之间的任务差异。

后者利用CLIP的可迁移文本概念,通过时间Transformer自适应地细化视觉原型。

通过这种方式,CLIP-FSAR能够充分利用CLIP中的丰富语义先验,获得可靠的原型并实现准确的小样本分类。

在五个常用基准上的大量实验证明了我们提出方法的有效性,CLIP-FSAR在各种设置下均显著优于现有最先进的方法。

源代码和模型将在https://github.com/alibaba-mmai-research/CLIP-FSAR上公开。

CLIP-FSAR

Overview

少样本动作识别旨在利用少量视频识别新的动作类别。

在一个典型的少样本设置中,存在两个类别不重叠的数据集,一个基础数据集 D t r a i n \mathcal{D}{train} Dtrain 用于训练,一个新数据集 D t e s t \mathcal{D}{test} Dtest 用于测试。

为了模拟测试环境,通常在训练过程中从 D t r a i n \mathcal{D}_{train} Dtrain 中采样大量少样本任务(或称为episode)来优化模型。

对于一个标准的 N N N-way K K K-shot 任务,存在一个支持集 S = { s 1 , s 2 , . . . , s N × K } S = \{s_1, s_2, ..., s_{N \times K}\} S={s1,s2,...,sN×K},包含 N N N 个类别和每个类别 K K K 个视频。

任务的目标是基于支持样本对查询视频 q q q 进行分类。

为了方便表述,我们考虑 N N N-way 1-shot(即, K = 1 K = 1 K=1)任务来展示我们的框架。

遵循先前的工作,在输入视频上实施了一种稀疏帧采样策略以减少计算负担。

首先,我们采用CLIP的视觉编码器 V \mathcal{V} V 来生成输入视频帧的特征,以及文本编码器 T \mathcal{T} T 来提取相应类别自然语言描述的文本嵌入。

然后,我们对这些获得的帧特征和文本特征应用视频-文本对比目标,以适应CLIP到少样本视频任务。

此外,我们提出了一种原型调制,以细化少样本度量目标的视觉原型。图2展示了我们CLIP-FSAR的整个框架。

Video-text contrastive objective

给定一个支持集 S = { s 1 , s 2 , . . . , s N } S = \{s_1, s_2, ..., s_N\} S={s1,s2,...,sN} 和一个查询视频 q = { q 1 , q 2 , . . . , q t } q = \{q^1, q^2, ..., q^t\} q={q1,q2,...,qt},其中 s i = { s i 1 , s i 2 , . . . , s i t } s_i = \{s_i^1, s_i^2, ..., s_i^t\} si={si1,si2,...,sit} 是一个由稀疏采样的 t t t 帧组成的支持视频。

视觉编码器 V \mathcal{V} V 用于编码视频特征:

f s i = V ( s i ) , f q = V ( q ) f_{s_i} = \mathcal{V}(s_i), \quad f_q = \mathcal{V}(q) fsi=V(si),fq=V(q)

其中 f s i ∈ R t × C f_{s_i} \in \mathbb{R}^{t \times C} fsi∈Rt×C, f q ∈ R t × C f_q \in \mathbb{R}^{t \times C} fq∈Rt×C, C C C 是通道的数量。

然后我们使用文本编码器 T \mathcal{T} T 通过提示模板 a photo of [CLS] 提取基类的文本特征,并将获得的文本特征表示为 { w i } i = 1 B \{w_i\}{i=1}^B {wi}i=1B,其中 B B B 是基类数据集 D t r a i n \mathcal{D}{train} Dtrain 的总类数, w i ∈ R C w_i \in \mathbb{R}^C wi∈RC 是一个特征向量。

遵循先前的做法,为了在文本编码器中保留原始预训练的可转移知识并减少优化负担,我们在训练过程中固定 T \mathcal{T} T 不进行更新。

为了弥合CLIP和少样本视频任务之间的任务差异,我们模拟原始CLIP训练目标,以最大化视频特征和文本特征之间的相似性,如果它们是匹配对,则最小化其他情况。

为了实现这一目标,我们首先计算视频-文本匹配概率如下:

p ( y = i ∣ v ) v i d e o − t e x t = exp ⁡ ( sim ( GAP ( f v ) , w i ) / τ ) ∑ j = 1 B exp ⁡ ( sim ( GAP ( f v ) , w j ) / τ ) p_{(y=i|v)}^{video-text} = \frac{\exp(\text{sim}(\text{GAP}(f_v), w_i) / \tau)}{\sum_{j=1}^B \exp(\text{sim}(\text{GAP}(f_v), w_j) / \tau)} p(y=i∣v)video−text=∑j=1Bexp(sim(GAP(fv),wj)/τ)exp(sim(GAP(fv),wi)/τ)

其中 v ∈ { s 1 , s 2 , . . . , s N , q } v \in \{s_1, s_2, ..., s_N, q\} v∈{s1,s2,...,sN,q}, sim \text{sim} sim 是余弦相似度函数, GAP \text{GAP} GAP 是全局平均池化的缩写, τ \tau τ 表示可学习的温度因子。

然后,我们在预测值和实际类别标签之间施加交叉熵损失 L v i d e o − t e x t \mathcal{L}_{video-text} Lvideo−text 来优化目标。

Prototype modulation

现有的少样本动作识别方法,如OTAM,通常通过比较查询视频 q q q 与支持视觉原型的时间对齐距离来分类查询视频 q q q。

在少样本动作识别任务中,视频原型是一系列帧原型,请参阅OTAM以获取更多详细信息。

查询视频 q q q 与支持视频 s i s_i si 之间的距离可以表示为:

d q , s i = M ( f q , f s i ) d_{q, s_i} = \mathcal{M}(f_q, f_{s_i}) dq,si=M(fq,fsi)

其中 M \mathcal{M} M 表示时间对齐度量。

在OTAM中, M \mathcal{M} M 是动态时间规整的一种变体,用于测量支持-查询距离作为帧对齐成本。

少样本性能在很大程度上依赖于原型估计的准确性。

一方面,在低样本场景中,由于数据稀缺,视觉信息往往不足,导致不准确的原型。

另一方面,视觉和文本模态之间存在互补性,CLIP的文本描述表示涉及丰富的语义先验。

基于这些,为了提高支持原型的可靠性,我们建议利用信息丰富的支持文本特征来细化原型。

具体来说,在支持视觉特征 f s i f_{s_i} fsi 的基础上,我们将文本特征沿着时间维度堆叠到对应的视频 s i s_i si,即 R t × C ∪ R C → R ( t + 1 ) × C \mathbb{R}^{t \times C} \cup \mathbb{R}^C \rightarrow \mathbb{R}^{(t+1) \times C} Rt×C∪RC→R(t+1)×C,并使用 Temporal Transformer 来自适应地融合特征。

我们将增强后的视觉特征表示为 f ~ s i \tilde{f}_{s_i} f~si(不包括输出的文本特征)。

由于在测试过程中我们不知道查询视频的真实类别信息,我们只将视觉查询特征输入到时间Transformer中,以便输出的查询特征 f ~ q \tilde{f}_q f~q 和支持特征可以在一个共同的特征空间中匹配。

随后,我们采用时间对齐度量来计算查询-支持距离:

d q , s i ′ = M ( f ~ q , f ~ s i ) d'_{q, s_i} = \mathcal{M}(\tilde{f}q, \tilde{f}{s_i}) dq,si′=M(f~q,f~si)

其中 M \mathcal{M} M 是我们在CLIP-FSAR中默认采用的OTAM度量。

请注意,提出的CLIP-FSAR是一个即插即用的框架,在后续的实验部分,我们将CLIP-FSAR插入到其他现有的度量或方法中,并经验性地证明其可插拔性。

基于这些距离,查询视频 q q q 对支持类别的概率分布可以表示为:

p ( y = i ∣ q ) f e w − s h o t = exp ⁡ ( d q , s i ′ ) ∑ j = 1 N exp ⁡ ( d q , s j ′ ) p_{(y=i|q)}^{few-shot} = \frac{\exp(d'{q, s_i})}{\sum{j=1}^N \exp(d'_{q, s_j})} p(y=i∣q)few−shot=∑j=1Nexp(dq,sj′)exp(dq,si′)

遵循先前的工作,我们可以使用交叉熵损失 L f e w − s h o t \mathcal{L}_{few-shot} Lfew−shot 来优化模型参数。

我们CLIP-FSAR的最终训练目标是:

L = L v i d e o − t e x t + α L f e w − s h o t \mathcal{L} = \mathcal{L}{video-text} + \alpha \mathcal{L}{few-shot} L=Lvideo−text+αLfew−shot

其中 α \alpha α 是一个平衡因子。

对于少样本评估,我们可以通过 p ( y = i ∣ q ) f e w − s h o t p_{(y=i|q)}^{few-shot} p(y=i∣q)few−shot 获得属于支持类别的匹配概率,类似于先前的工作。

此外,由于我们提出的框架的双目标设计,我们还可以结合视频-文本匹配结果 p ( y = i ∣ v ) v i d e o − t e x t p_{(y=i|v)}^{video-text} p(y=i∣v)video−text 和少样本分类结果 p ( y = i ∣ q ) f e w − s h o t p_{(y=i|q)}^{few-shot} p(y=i∣q)few−shot 来获得合并预测:

p ( y = i ∣ q ) † = ( p ( y = i ∣ q ) v i d e o − t e x t ) β ⋅ ( p ( y = i ∣ q ) f e w − s h o t ) 1 − β p_{(y=i|q)}^\dagger = (p_{(y=i|q)}^{video-text})^\beta \cdot (p_{(y=i|q)}^{few-shot})^{1-\beta} p(y=i∣q)†=(p(y=i∣q)video−text)β⋅(p(y=i∣q)few−shot)1−β

其中 β ∈ [ 0 , 1 ] \beta \in [0, 1] β∈[0,1] 是一个可调整的超参数,我们将上述集成方式表示为 CLIP-FSAR † ^\dagger †。

请注意,上述描述的零样本和少样本结果的组合只是一种可选方法,本文主要关注少样本性能。

实验

主实验

消融实验

可视化

局限

在我们的CLIP-FSAR中,我们使用广泛使用的提示模板,即 a photo of [CLS] 作为默认设置。

在表11中,我们探讨了不同文本提示的影响,并发现不同的提示模板在不同的数据集上表现不一致,例如,[CLS] 在SSv2-Small数据集上表现最好,而在Kinetics数据集上表现最差。

研究通用且有效的文本提示形式将是一项有价值的工作。

此外,我们主要关注视觉方面来调制原型,并没有考虑文本方面的某些潜在改进,例如使用视觉特征来细化文本特征。

我们把上述讨论留给未来的工作。

总结

本文提出了一种基于CLIP的FSAR方法来解决CLIP模型在少样本动作识别问题上的挑战,充分利用了CLIP的多模态知识。

利用视频-文本对比目标来适配CLIP模型以适应少样本视频任务。

此外,我们提出使用文本特征通过实现时间Transformer来自适应地调节视觉支持原型。

在五个常用基准上的大量实验表明,我们的CLIP-FSAR在性能上显著优于现有最先进的方法。

相关推荐
看星猩的柴狗18 分钟前
机器学习-多元线性回归
人工智能·机器学习·线性回归
IT古董19 分钟前
【漫话机器学习系列】013.贝叶斯误差(Bayes Error)
人工智能·机器学习
宸码23 分钟前
【机器学习】【集成学习——决策树、随机森林】从零起步:掌握决策树、随机森林与GBDT的机器学习之旅
人工智能·python·算法·决策树·随机森林·机器学习·集成学习
小陈phd2 小时前
深度学习之目标检测——RCNN
python·深度学习·算法·计算机视觉
牧歌悠悠2 小时前
【深度学习】 零基础介绍卷积神经网络(CNN)
人工智能·深度学习·cnn·深度优先
凳子花❀2 小时前
CNN和Transfomer介绍
人工智能·神经网络·cnn·transformer
⊙ ∀ ⊙3 小时前
电脑充当树莓派屏幕(无线连接)
人工智能
Odoo老杨3 小时前
Odoo:免费开源ERP的AI技术赋能出海企业电子商务应用介绍
人工智能·odoo·数字化转型·erp·企业信息化·出海企业
Srlua4 小时前
Llama2及法律判决分类实战
人工智能·python
IT古董4 小时前
【漫话机器学习系列】010.Bagging算法(Bootstrap Aggregating)
人工智能·算法·机器学习·bootstrap