标题:从极度增强的骨骼序列中改进自监督动作识别
发表: Pattern Recognition-2024
目录
摘要
自监督对比学习已被广泛应用于基于骨架的动作识别,因为它能够学习判别性特征。然而,直接将现有的对比学习框架应用于三维骨架学习受到精心设计的数据增强和简单多流决策级融合方法的限制。为了解决这些缺陷,我们提出了一种名为3s-AimCLR++的三流对比学习框架,该框架利用了丰富信息挖掘来自监督动作表示。对于单流对比学习,我们首先提出了极端增强的方法来生成更多的运动模式,这可以引入更多运动模式以提高所学表征的通用性。由于直接使用极端增强导致原始身份的剧烈变化几乎无法提升性能,我们因此提出了分布散度最小化(DDM)损失,以更温和地利用极端增强。此外,提出了单流最近邻挖掘(SNNM)策略来扩展正样本,使学习过程更加合理。对于多流处理,现有方法简单地集成各流的结果。然而,考虑到不同流之间信息的互补性,我们提出了多流聚合与交互(MSAI)策略以更好地融合多流信息。在NTU-60、NTU-120和PKU-MMD数据集上的大量实验验证了我们的3s-AimCLR++在多种评估协议下能显著优于最先进的方法。代码和模型可在https://github.com/Levigty/AimCLR-v2获得。
Keywords:Self-supervised skeleton-based action recognition,Contrastive learning
1.引言
人类行为识别是计算机视觉中的一个重要研究课题,已广泛应用于智能视频监控、人机交互和视频内容分析等领域。基于RGB数据的行为识别方法虽已取得可喜成果,但仍面临背景杂乱、光照变化及外观差异等挑战。随着深度传感器技术和人体姿态估计算法的发展,骨架数据的获取变得更为便捷,并且骨架数据对背景杂乱、光照变化和外观变化具有更强的鲁棒性。因此,近年来基于骨架的行为识别逐渐成为行为识别领域的一个重要分支。
在基于骨架的行为识别中,主要挑战之一是学习骨架序列的判别性空间和时间特征。先前工作在这方面已做出一些努力,传统的基于骨架的行为识别方法主要聚焦于设计手工特征来建模骨架序列的模式。随着深度学习技术的不断发展,循环神经网络(RNNs)和长短时记忆网络(LSTMs)被用于捕捉骨架序列的时间动态特性。进一步地,基于卷积神经网络(CNNs)的方法通过将骨架序列转换为RGB图像,然后采用CNNs学习判别性的时空特征。近年来,鉴于人体骨架与图结构的相似性,一些基于图卷积网络(GCNs)的方法被提出,以捕获时空关系,取得了优越的性能。然而,上述所有方法均采用有监督方式训练,需要大量标注数据来学习行为表示,而大规模数据标注成本极高。因此,无需标签数据即可学习更通用特征表示的自监督基于骨架的行为识别近年来受到越来越多的关注。
在自监督的基于骨架的行为识别中,一些工作专注于生成式预训练任务,如重构、运动预测等,旨在通过关注时空细节来促使模型学习更好的特征表示。随着对比自监督学习的发展,许多研究表明其能提升特征表示的区分度。一些工作依赖于对比学习框架,通过拉近正样本对并推开负样本对来提升性能。还有一些方法结合生成任务与对比学习,在多任务学习框架下使模型提取判别性表示。
其中,相较于生成方法,对比学习方法更注重实例级别的信息而非细节信息,构建出更适合下游任务的更具有区分度的特征空间,因此受到广泛关注。进一步地,我们重新审视现有的对比自监督基于骨架的行为识别方法,发现存在几个缺点,并希望能针对这些问题提出有效解决方案,从而改进对比自监督学习方法。
问题1(如何有效地引入更多时空运动模式?):对比自监督方法通过数据增强构建正样本对,研究表明数据增强的设计至关重要。在SkeletonCLR中,仅使用剪切和裁剪生成增强序列,我们称之为“常规增强”。常规增强带来的时空运动模式有限。我们认为,在预训练任务中看到更丰富的运动模式能明显提升编码器的特征提取能力,因此希望通过更强的数据增强带来更丰富的运动模式,从而提升所学表示的泛化能力。
问题2(如何更好地利用引入的时空信息?):AS-CAL提出使用大量的时空增强,但性能并不十分理想。我们发现,更强的数据增强虽然引入新颖的运动模式,但增强后的骨架序列可能不保持原序列的身份。因此,直接使用极端增强不一定能因原身份的剧变而提升性能,需要探索更合适的利用引入的时空信息的方式。
问题3(如何更好地选择正负样本对?):在对比学习中,同一样本的两个不同增强样本被视为正样本对,而记忆库中的样本都被视为负样本。但实际上,记忆库中的样本并非都是负样本,这在一定程度上使得学习过程不合理。
问题4(如何更好地聚合多流信息?):对于给定的骨架序列,关节信息、运动信息和骨骼信息易于获取,但现有方法通常简单地将不同流的结果进行集成,未考虑不同流之间的互补信息。因此,迫切需要找到一种有效的多流信息聚合与交互策略来构建更具区分度的特征空间。
为此,我们提出了一种名为3s-AimCLR++的三流对比学习框架,用于自监督动作表示的丰富信息挖掘。具体而言,该方法框架如图1所示,包括针对单流的AimCLR++(图2)和针对多流的信息聚合与交互策略。首先,我们希望通过极端增强引入更多时空运动模式。随后提出分布散度最小化(DDM)损失,以更好地利用引入的时空信息。为了使正样本集更加合理,我们进一步提出了单流最近邻挖掘。此外,我们还提出了多流聚合与交互(MSAI)策略,以更优地融合多流信息,而非简单地在决策级别集成结果。
图1展示了为自监督基于骨架的动作识别提出的3s-AimCLR++框架。3s-AimCLR++包含单流对比学习和多流信息聚合与交互两个部分,旨在构建一个更好的特征空间。
综上所述,我们的贡献包括:
- 提出了一种新的自监督基于骨架的行为识别框架3s-AimCLR++,旨在从极端增强序列中学习更具有区分度的特征表示,并有效聚合和交互多流信息。
- 针对单流,提出了极端增强以引入更多运动模式,并提出DDM损失以温和地利用引入的运动模式。为了使正样本集更加合理,我们进一步提出了单流最近邻挖掘。
- 对于多流,提出了多流聚合与交互(MSAI)策略,以更优地融合多流信息,而非简单地在决策层面集成结果。
- 在NTU-60、NTU-120和PKU-MMD数据集上的一系列评估协议下达到了最先进水平,展现了我们框架在学习更好特征表示方面的优越性。
本文是对会议论文[23]的扩展,对AimCLR[23]进行了多方面扩展,包括简化AimCLR结构、探索极端增强组合以提出AimCLR++用于单流,提出有效策略聚合与交互多流信息,以及通过这些新设计将[23]中提出的3s-AimCLR升级至3s-AimCLR++。实验结果显示,我们的3s-AimCLR++能实现更优的性能和泛化能力。我们还增加了大量实验,如探索方法对不同极端增强的鲁棒性、SNNM中最近邻居的数量、迁移学习性能以及定量和定性实验,系统展示了所提方法的有效性。观察到提出的3s-AimCLR++在三个公开数据集上一致且显著地提升了性能。
论文其余部分组织如下:第2节讨论相关工作,第3节介绍单流的AimCLR++,第4节介绍3s-AimCLR++,第5节展示实验结果,第6节总结全文。
2. 相关工作
监督式基于骨架的动作识别。传统的基于骨架的动作识别方法主要集中在设计手工特征以表达骨架序列[3,4]。近年来,随着深度学习的迅速发展,一些方法采用循环神经网络(RNNs)来模拟骨架序列的时间特征[5,6]。然而,由于RNNs存在梯度消失问题,一些方法则将3D骨架序列转化为伪图像,并利用卷积神经网络(CNNs)来达到有竞争力的结果[7,8]。但无论是RNNs还是CNNs,都无法充分表征骨架数据的结构,因为骨架数据本质上是以图的形式嵌入,而非向量序列或二维矩阵。近期,随着空间时间图卷积网络(ST-GCN)[9]的引入,图卷积网络(GCNs)在基于骨架的动作识别领域得到广泛应用,基于ST-GCN[9]基础上出现了多种GCN基方法[24],以更好地模拟时空关系。本文中,为了验证我们提出的框架的优越性,我们采用了广泛应用的ST-GCN作为编码器来提取特征。
自监督学习。近年来,由于巨大的标注成本,自监督方法受到了大量关注。早期的预训练任务,如旋转预测、拼图解决和时间顺序预测,旨在学习良好的特征。对比学习是一种基于实例区分的预训练任务,其目标是将一组正例(同一实例的不同增强版本)与一组无关的负例进行分类,帮助模型学习好的特征。近期的工作在多个领域[25-28],包括图像、视频、图、文本等,利用这些技术展示了卓越的性能。SimCLR[29]、MoCo[14,15]和VICReg[30]框架因其易用性和普遍适用性而非常流行。最近,一些非对比式学习方法如BYOL[31]、SimSiam[32]、MAE[33]显示了有希望的性能,但对比学习仍提供了互补的优势。在这项工作中,我们专注于对比学习,它已被证明在自监督基于骨架的动作识别方面优于非对比式学习。并且,我们设计了SNNM和MSAI来进一步提升这一领域的对比学习性能。
自监督基于骨架的动作识别。自监督学习是无监督学习的一种特定类型,它定义了特定的预训练任务作为学习目标,以便从未标记数据中学习强大的表示。对于骨架序列数据,存在生成式预训练任务、对比式预训练任务和多重预训练任务。
生成式预训练任务中,LongTGAN[12]建议使用编码器-解码器来重建输入序列以获得有用的特征表示。P&C[13]也基于重建预训练任务,提出了一种训练策略来削弱解码器,迫使编码器学习更具区分性的特征。Cheng等人[34]提出预测3D骨架的运动作为预训练任务,并使用分层变换器来编码骨架序列。Yang等人[22]设计了一种新颖的骨架云着色技术来学习骨架表示。Xu等人[35]提出了运动胶囊自编码器(MCAE)来应对运动表示中的“变换不变性”挑战。这些基于帧级生成的方法被认为在本质上可能不适合基于骨架的动作识别的表示学习[36]。实际上,像之前提到的基于帧级生成的方法,在基于骨架的动作识别背景下可能并不本质适合于表示学习[36]。使用这样的帧级生成方法可能在有效捕获骨架数据中潜在的时空关系和结构方面存在局限性。
对比式预训练任务中,AS-CAL[17]提议使用大量的时空增强并使用动量LSTM和记忆库。SkeletonCLR[18]基于MoCo v2[14,15]构建,并使用剪切和裁剪作为增强手段,取得了竞争性的性能。进一步地,CrosSCLR[18]提出了跨视图一致性知识挖掘策略以提高SkeletonCLR的性能。ST-CL[36]通过将运动趋势的时空连续性作为监督信号来获取动作特异性特征。Thoker等人[37]提出了跨骨架对比学习,以交叉对比的方式从多个不同的输入骨架表示中学习。
生成式预训练任务更关注骨架序列的详细信息,而对比式预训练任务更关注实例级别上骨架序列的区分信息。为了学习更通用的特征,也有几种方法执行多重预训练任务。MS2L[19]提议使用多种预训练任务(即,运动预测、拼图识别和对比学习)并将它们结合起来,鼓励Bi-GRU编码器捕获更合适的特征。CP-STN[20]在一个框架中结合了对比学习范式和生成式预训练任务,通过使用不对称的空间和时间增强来使网络提取区分性表示。Tanfous等人[38]提出通过开发动作识别自监督学习的分类法来调和AS-CAL和P&C。PCRP[39]提出了一种新的框架,通过原型对比和反向预测,全面学习固有的语义相似性。
我们的方法使用对比式预训练任务,从单流对比学习和多流信息聚合两方面来提升自监督动作识别性能。即使不使用多重预训练任务,也能实现更好的性能,这是由于更好地引入和关注时空信息。
3. AimCLR++
对于给定的骨架序列,现有方法通常利用不同流的信息(例如,关节、运动和骨骼)。在本节中,我们提出了一种名为AimCLR++的对比学习框架,如图2所示,该框架可用于单流数据。所提出的AimCLR++包含以下关键组件:(1) 空间时间数据增强,(2) 分布偏差最小化损失,(3) 单流最近邻挖掘。为了便于理解我们方法的主要思想,我们首先概述AimCLR++,然后详细介绍每个组件。
图2展示了所提出的单流AimCLR++的流程。通过常规增强
和极端增强
,从输入序列s中获得x、
和
。使用查询编码器和查询MLP提取
和
,同时使用键编码器和键MLP得到z。在每次训练步骤中,z被存储在内存库中,作为后续训练步骤中的负样本。在应用InfoNCE损失的同时,我们提出了分布偏差最小化(DDM)损失来减少
和
之间的分布差异。此外,我们还提出了单流最近邻挖掘策略来扩充正样本集。
3.1 AimCLR++概览
如图2所示,对于输入序列s,我们应用常规增强来获得正常增强的序列x和$
。同时应用极端增强
来获得极度增强的序列
。然后使用查询编码器
提取特征:
和
。查询多层感知机(MLP)
用于将特征投影到新空间:
,
。键编码器
和键MLP
是
和
的动量更新版。
内存库包含M个负样本,是一个先进先出队列,由z更新。每次迭代后,z会入队,而M中最早的嵌入会出队。M提供了众多负嵌入,而新计算出的z是正嵌入。我们基线方法SkeletonCLR[18]的流程如图2底部所示,它使用InfoNCE损失:
其中是温度超参数。这里,z和
被标准化,点积
用于计算它们的相似性。
对于提出的极度增强视图,它引入了丰富的时空信息,但可能不会保持原始序列的身份。因此,InfoNCE损失不适用于此视图,实验也证实了这一点。因此,我们提出了分布偏差最小化(DDM)损失(第3.3节)。同时,单流最近邻挖掘(第3.4节)被提出以扩大正样本集,使学习过程更加合理。
计算总损失后,查询编码器和查询MLP通过梯度更新,而键编码器和键MLP作为查询编码器和查询MLP的移动平均值进行更新。我们将查询编码器和查询MLP的参数记为,键编码器和键MLP的参数记为
。然后键编码器和键MLP按如下方式更新:
其中是一个动量系数。键编码器基于查询编码器的变化缓慢更新,确保了键表示的稳定性。
基于上述内容,查询编码器以无监督方式进行训练。最后,我们使用查询编码器为下游任务提取特征表示。
3.2. 时空数据增强
如图3所示,SkeletonCLR[18]中使用的常规增强所引入的运动模式相对有限。这些精心设计的增强限制了编码器进一步探索其他增强所揭示的新颖模式。更重要的是,人们相信在预训练任务中观察到更丰富的运动模式显然能提高编码器的特征提取能力。因此,引入了极端增强来带来更多的新颖运动模式,从而学习更通用的特征表示。
图3。(a)原始序列(黑色),(b)正常增广序列[18](蓝色),(c)强增广序列(红色)。(对于图例中有关颜色的解释,请参阅本文的网页版本。)
根据骨架序列的特点以及先前的一些工作[17,18],我们采用了以下数据增强方法。
定义1(常规增强):在基线方法SkeletonCLR[18]中,使用了剪切(Shear)和裁剪(Crop)作为增强手段。我们在后续描述中将“剪切+裁剪”定义为常规增强。
剪切(Shear):剪切增强是一种线性变换[17,18,37],使得身体关节的3D坐标形状沿随机角度倾斜。变换矩阵定义为:
其中是从区间[-β, β]中随机采样的剪切因子。β是剪切幅度,这里设为β=0.5。随后,序列在通道维度上乘以变换矩阵A。
裁剪(Crop):对于图像分类任务,裁剪是一种常用的增强手段,因为它可以在保持原样本区分度的同时增加多样性。对于时间序列的骨架数据,具体做法是对序列进行对称性填充一些帧,然后随机裁剪回原始长度[18,37]。填充长度定义为,其中γ是填充比例,这里设置为γ=6。
定义2(极端增强):我们希望探索一个更通用的框架,其中极端增强能够比常规增强引入更多新颖的运动模式。因此,我们将极端增强定义为在常规增强的基础上增加几种增强,以引入更多运动模式。我们引入了一些增强作为选项,包括空间增强(如空间翻转、旋转、轴遮罩)、时间增强(如时间翻转)和时空增强(如高斯噪声、高斯模糊)。我们将这些增强与常规增强组合起来,作为“极端增强”,最终得到一个极度增强的序列。根据实验结果,最终使用的“极端增强”是“常规增强 + 空间翻转 + 旋转 + 轴遮罩 + 高斯噪声 + 高斯模糊”。
空间翻转(Spatial Flip):人体的骨骼结构是对称的,我们能够在骨骼对称交换后识别动作。例如,左腿踢和右腿踢应被视为同一类“踢”。因此,每帧的骨架序列以概率p=0.5进行对称增强。具体来说,骨架中心的躯干位置保持不变,而左右子骨架的位置互换。
旋转(Rotate):考虑到摄像机位置的变化,我们向骨架序列引入随机“旋转”[17,18,37]。对于所有骨架关节,随机选择一个主旋转轴并选择一个范围在
内的随机旋转角度,其余两个旋转轴随机选择角度
。这同样符合我们识别动作的常识:观察视角的变化不影响动作本身。
高斯噪声(Gaussian Noise):为了模拟由估计或注释引起的噪声位置[17],我们以p=0.5的概率在原始序列的关节坐标上添加均值为0、标准差为0.01的高斯噪声。
高斯模糊(Gaussian Blur):我们为高斯核随机采样,该核为长度为15的滑动窗口。以p=0.5的概率,使用以下核
对原始序列的关节坐标进行模糊处理:
其中t表示相对于中心骨架的相对位置,核的长度设定为15,对应于t的总跨度。
轴遮罩(Axis Mask):对于3D骨架序列,我们希望投影到2D空间的序列可以作为其增强序列。具体来说,我们随机选择一个轴,并以p=0.5的概率应用零掩模。
时间翻转(Temporal Flip):在PCRP[39]中,提出了反向预测来学习对人类感知有意义的更高层次信息(如运动顺序)。因此,时间翻转被用作数据增强的一个选项。具体而言,骨架序列以p=0.5的概率反转为
。
3.3. 分布散度最小化损失
从图2中可以看出,对于查询向量,新计算出的 z是正向嵌入,而许多负向嵌入存储在一个记忆库
中。这样,我们可以获得一个条件概率分布,该分布编码了查询
被分配给记忆库 M 中嵌入
的可能性:
同样,我们也可以得到查询 与它的正向嵌入z成对出现的概率:
然后,方程(1)中的InfoNCE损失可以重写为另一种形式:
其中 和
是理想的分布,而
和
是网络学习到的分布。为了避免探索未知的理想分布,InfoNCE损失[40]将
视为一个独热分布,其中(在理论情况下,模型开始时可能并不能完美区分正样本和负样本,它可能会给某些负样本非零的
)正向对满足
,而负向对满足
(对于所有
)。这意味着InfoNCE损失旨在最大化正样本的匹配度,同时最小化负样本的匹配度。
为了从极端增强中探索新的运动模式,一种直接的方法是将极端增强的序列作为查询,正常增强的序列作为键在InfoNCE损失中使用。然而,与正常增强序列相比,极端增强序列由于运动模式的巨大变化可能无法保持原始序列的身份,导致性能下降。
另一方面,几乎不可能获得理想的概率分布。幸运的是,CLSA[41]发现,对于随机初始化的网络,正常增强的查询和极端增强的查询具有相似的分布。这启发我们,正常增强查询在记忆库上的分布可以用来监督极端增强查询的分布。这避免了直接对极端增强序列使用独热分布,并能够探索极端增强所揭示的新模式。
类似于方程(5)和(6),我们基于其正样本和负样本 和
得到
的条件分布。然后,我们提出最小化正常增强查询
和极端增强查询
之间的分布距离,即:
分布 是对
远优于独热分布的监督,这一点也在实验部分得到了证实。这将避免直接使用InfoNCE损失处理极端增强查询
引起的性能下降问题,并提高了学习表示的泛化能力。
3.4 单流近邻挖掘
在MoCo[14]中,来自同一样本的两种不同增强被视为正对,而记忆库中的样本都被视为负对。然而,记忆库中的样本并非必然全是负样本[16]。因此,我们希望查询 和
在记忆库 M上的最近邻应当被视为正样本以扩大正样本集合(见图4)。
图4。提出的单流近邻采样示意图。在传统的对比学习框架中,目标是将正样本拉近,将负样本推开。提出的单流最近邻挖掘的思想是使几个与查询相似的负样本成为正样本。
具体来说,是记忆库 M 中与正常增强查询
最相似的前
个最近邻的索引集合。类似地,我们也有
来表示极端增强查询
的最近邻的前
个索引集合。因此,我们可以将最近的前 k个邻居设为正样本,使学习过程更为合理:
在此方程中,。相比于方程(1),方程(9)会通过拉近更多高置信度的正样本,引导出一个更加规则的空间。
4. 3s-AimCLR++
现有方法[18,22]通常直接在决策层面集成三路(即关节、动作和骨骼)的信息来获得最终结果。我们希望更好地利用三路信息的互补性,因此提出了多流聚合与交互(MSAI)策略来实现3s-AimCLR++。如图1所示,我们首先为每个单一流(关节、动作、骨骼)应用AimCLR++,如第3节所述。接着,我们利用多流聚合与交互(MSAI)策略融合多流信息,构建更优的特征空间。
4.1 多流聚合与交互
如图5所示,在单一流最近邻挖掘的基础上,我们可以为每个单一流计算最邻近的前 个邻居,得到
和
。然后,为每个单一流计算交集
,以保留高置信度的结果,从而分别获得关节流的
、动作流的
和骨骼流的
。对于多流,我们采用投票机制
来确定
,即如果有超过两条流认为元素应标记为正,则标记为1,否则为0。以此获得伪标签。
图5。提出的多流聚合和交互的说明。提出了融合关节、运动和骨骼信息的策略,以获得表示正或负的伪标签。然后使用伪标签作为监督来监督每个单流特征分布。
接着,利用伪标签将最近邻设置为正样本。类似于方程(9),我们为每个单一流计算。这能更好地融合多流聚合与交互,使学习过程更加合理。
4.2 训练损失函数
在训练的初期,模型不够稳定和强大,无法提供可靠的最近邻信息及进行有效信息交互。因此,我们在3s-AimCLR++的不同训练阶段采用了不同的损失函数:
其中,表示三个流的损失之和。第一阶段,模型使用损失函数
对三路进行训练。进入第二阶段后,采用损失函数
开始挖掘单一流最近邻。最后,在第三阶段,使用损失函数
实现多流信息的聚合与交互。这里,
和
是平衡各损失项的系数。尽管其他值可能带来更好的性能,但我们选择
以使3s-AimCLR++更具有通用性。
5. 实验与讨论
5.1 数据集
NTU RGB+D 60数据集 [42]:包含56,578个动作序列和60个动作类别。有两种评估协议:跨主体(xsub)和跨视角(xview)。在xsub中,一半的受试者作为训练集,其余作为测试集。在xview中,使用第2和第3摄像头的序列进行训练,而第1摄像头的序列用于测试。
NTU RGB+D 120数据集 [43]:基于NTU RGB+D 60扩展,规模扩大到120个动作类别和113,945个序列。也有两种评估协议:跨主体(xsub)和跨设置(xset)。在xsub中,53个受试者的动作用于训练,其余用于测试。在xset中,所有32种设置被分为一半用于训练,另一半用于测试。
PKU-MMD数据集 [44]:包含近20,000个动作序列,涵盖51个动作类别。它包括两个子集。第一部分是动作识别的较简单版本,而第二部分则更具挑战性,因视角变化带来的噪声更多。我们在两个子集上按照跨主体协议进行了实验。
5.2 实验设置
所有实验都在PyTorch框架上进行。数据预处理遵循SkeletonCLR和CrosSCLR [18],以保证公平比较。
自监督预训练。预训练参数设置遵循SkeletonCLR和CrosSCLR,以确保公平比较。具体来说,采用ST-GCN [9]作为编码器,批量大小为128,特征维度为128,记忆库的大小为32,768,动量系数m设为0.999,温度超参数设为0.07。优化方面,使用带有动量(0.9)和权重衰减(0.0001)的SGD。模型训练400个周期,学习率初始为0.1,在第350周期降至0.01。在SNNM中设置
,在MSAI中设置
。关于第4.2节中提到的三阶段训练策略,编码器在前150个周期使用
训练,之后150至300个周期使用
,剩余周期使用
训练。
KNN评估协议。固定训练好的编码器,使用K-近邻(KNN)分类器对编码器输出的特征进行分类。报告的KNN结果中,K = 20。
线性评估协议。在编码器后附加一个分类头(全连接层加上softmax层),并在编码器固定的条件下训练网络。使用初始学习率为3.0的SGD进行100个周期的训练,学习率在第80周期降至0.3。批量大小设为128。
半监督评估协议。先使用无标签数据训练编码器以获取初始化权重,然后仅用1%或10%的有标签数据对整个网络进行微调。使用初始学习率为0.1(在第80周期降低10倍)的SGD进行训练,共100个周期,除在PKU-MMD第二部分下1%的半监督评估协议设置为52(因数据限制)外,批量大小设为128。
微调评估协议。先用无标签数据训练编码器以获取初始化权重,然后用所有有标签数据对整个网络进行微调。使用初始学习率为0.1(在第80周期降至0.01)的SGD训练整个网络100个周期。批量大小设为128。
5.3 与最先进方法的比较
我们在多种评估协议下,将所提方法与先前的相关方法进行了比较。
KNN评估结果。从图6中可以看出,在KNN评估协议下,我们的3s-AimCLR++在三个数据集上均优于3s-CrosSCLR。仅使用简单的KNN分类器就能获得明显提升,这也表明3s-AimCLR++学到的特征更具辨别力。
线性评估结果。如表1所示,我们比较了所提出的3s-AimCLR++与其他近期方法。在使用GRU作为编码器的情况下,除了在NTU-60 xview上,我们的3s-AimCLR++在三个数据集的线性评估协议下均优于其他方法。对于使用更强编码器的情况,我们的3s-AimCLR++在NTU-60的xsub和xview协议下分别领先3s-AimCLR 2.0%和1.6%。在NTU-120上的性能,3s-AimCLR++也以显著优势超越其他方法。这表明我们的3s-AimCLR++在大规模多类别数据集上具有很强的竞争力。对于PKU-MMD数据集,第二部分因视角变化引起的骨骼噪声更大,更具挑战性。值得注意的是,3s-CrosSCLR在第二部分表现不佳,而我们的3s-AimCLR和3s-AimCLR++表现良好,证明了我们的方法在应对由骨骼噪声引起运动模式方面具有强大的能力。综上,我们的3s-AimCLR++在大规模和小规模数据集上均表现出色,验证了我们方法的有效性和泛化能力。
与SkeletonCLR和CrosSCLR [18]的比较。我们在NTU-60和NTU-120数据集上进行了详细实验,比较我们方法与基线SkeletonCLR和CrosSCLR的性能。如表2所示,对于这两个数据集的三种不同流,我们的AimCLR++显著提升了SkeletonCLR,特别是在动作和骨骼流上。我们认为这是由于我们引入并更好地利用了新颖的运动模式,大大提高了这两个流的性能。对于三流的结果,我们的3s-AimCLR++远远超过了3s-SkeletonCLR。与使用跨视角一致性知识挖掘策略的3s-CrosSCLR相比,我们在两个数据集上也取得了领先地位。
半监督评估结果。在某些情况下,可用的有标签数据非常少,这使得数据驱动的编码器训练变得困难。如表3所示,即使少量数据(即,1%,10%),我们的3s-AimCLR++在所有配置下都达到了竞争力强的结果。使用1%和10%有标签数据的3s-AimCLR和3s-AimCLR++的性能远超其他方法,进一步证明了极端增强带来的新颖运动模式在仅有少量有标签数据时具有巨大影响。
微调评估结果。为了公平比较,表4中方法使用的ST-GCN具有相同的结构和参数。对于单流,经过微调的AimCLR++在两个数据集上优于监督学习的ST-GCN。对于多流,微调的3s-AimCLR++也超过了3s-CrosSCLR和监督学习的3s-ST-GCN,再次证明了我们方法的有效性。
迁移学习结果。如同图像领域的一般做法,他们在大规模ImageNet [48]上进行无监督预训练,然后用学到的权重初始化网络,最后在小数据集上进行训练。我们也进行了实验,即在无标签的大数据集上执行预训练任务,然后在小数据集上进行微调。如表5所示,从零开始训练时,第一部分和第二部分的准确率分别为92.7%和54.9%。当我们在PKU-MMD数据集本身上进行预训练任务时,我们能在第一部分和第二部分分别获得1.9%和3.8%的提升。当使用NTU-60和NTU-120数据集进行自监督预训练时,第二部分的准确率显著提高,这说明了学习到表示的可转移性带来的益处。表6展示了在NTU-60数据集上迁移学习结果的类似趋势,说明我们的方法能显著提高端到端训练的准确性。
5.4. 消融实验
我们在NTU-60数据集上进行了消融研究,以验证我们方法各组成部分的有效性。
每个组件的有效性。如表7所示,3s-SkeletonCLR [18] 使用常规增强,并在xsub和xview上分别达到75.0%和79.8%的准确度。然而,直接在极度增强的查询上使用InfoNCE损失,两个指标的准确度都有所下降。这同样说明,由于原始身份的巨大变化,直接对极度增强的查询使用InfoNCE损失不一定能够提高性能。但是,使用DDM损失后,准确度分别提高了1.3%和1.7%。进一步地,引入SNNM后,xsub和xview上的准确度分别提高了3.3%和3.0%。值得注意的是,MSAI也能有效带来约1.1%和1.6%的增益。我们的3s-AimCLR++在使用所有组件时达到最高准确度。这表明提出的组件能使编码器学习更合适的特征。
极端增强组合的有效性。在第3.2节中,我们定义极端增强相比于常规增强能引入更多新颖的运动模式。因此,我们首先探索了当极端增强为常规增强加单一数据增强时,AimCLR++的表现。图7展示了在NTU-60 xsub上为单流AimCLR++添加单一增强的准确度。当极端增强为常规增强加单一数据增强时,“轴向遮罩”和“空间翻转”相对更为有效。我们可以看到,使用DDM损失通常优于直接使用InfoNCE损失,这证明了所提DDM损失的有效性。
在添加单一增强的基础上,我们也探索了不同增强的组合。基于图7中的结果,我们在表8中继续叠加增强来形成极端增强。可以看出,我们的DDM损失始终表现良好,而直接使用InfoNCE损失通常导致性能下降。值得一提的是,当增强过于极端时,InfoNCE损失甚至难以收敛。这说明了我们的方法对于不同增强组合的鲁棒性。这是一个通用框架,其中极端增强相较于常规增强能引入更多新颖的运动模式。
对2D和3D骨架的鲁棒性。为了验证我们的方法在2D骨架上是否有效,我们将NTU-60数据集的3D骨架转换为2D,实验结果如表9所示。可以看到,使用2D数据的表现不如使用3D数据,因为与2D数据相比,3D数据包含了深度信息。尽管如此,当输入为2D骨架时,我们的方法在多种评估协议下也实现了有竞争力的结果。
对不同主干网络的鲁棒性。ST-GCN [9] 在基于骨架的动作识别领域被广泛用作主干网络。为了验证我们的方法对不同主干网络的鲁棒性,我们探索了使用更先进主干网络时我们方法的性能。我们尝试了CTR-GCN [49](基于GCN)、UNIK [50](基于CNN)和DSTA-Net [51](基于Transformer)。如表10所示,在相同的实验设置下,我们的方法可以提高端到端训练的性能。
Top-𝑘1的影响。从图8(a)中,𝑘1 = 0意味着不使用单流最近邻居挖掘(SNNM)。值得指出的是,当1 ≤ 𝑘1 ≤ 6时,SNNM带来了明显的增益。这是因为SNNM通过扩展正样本使学习过程更加合理。当𝑘1继续增加时,由于引入了太多低置信度的正样本,会对性能产生不良影响。最终,根据性能我们将𝑘1设定为4。
Top-𝑘2的影响。从图8(b)中,𝑘2 = 0意味着不使用多流聚合与交互(MSAI)策略。同样值得指出的是,当0 < 𝑘2 ≤ 40时,MSAI也带来了明显的增益。这是因为MSAI通过“∩”保留高置信度样本以学习更好的特征表示。最终,根据性能我们将𝑘2设定为20。
记忆库大小的影响。我们也进行了实验以验证不同大小的记忆库对性能的影响。如表11(a)所示,增大记忆库的大小会带来性能的提升,但同时也会增加计算量。为了与SkeletonCLR和CrosSCLR保持一致,记忆库的大小设置为32,768。
批量大小的影响。由于计算能力的限制,我们使用了32、64和128的批次设置进行实验。在SkeletonCLR和CrosSCLR中,批次大小设置为128。如表11(b)所示,当批次大小设置为128时,同样取得了最佳结果。
定性与定量结果。我们应用了固定的t-SNE设置来展示图9中的嵌入分布。报告的t-SNE结果是基于相同随机选取的10类样本的公平比较,我们也计算了归一化互信息(NMI)。从结果中,我们可以得出结论,3s-AimCLR++相较于3s-CrosSCLR能将同一类别的嵌入聚得更紧密。对于NMI,3s-AimCLR++在NTU-60和NTU-120数据集上均大幅度领先于3s-CrosSCLR。在多种评估协议下的巨大提升也进一步证实了t-SNE结果的真实性。
t-SNE是一种名为“t-分布随机邻居嵌入”(t-Distributed Stochastic Neighbor Embedding)的非监督机器学习算法,主要用于高维数据的降维和可视化。它由Laurens van der Maaten和Geoffrey Hinton在2008年开发。t-SNE的核心目标是保持高维空间中数据点之间的相似性关系,但在一个低维(通常是2维或3维)空间中展示这些数据,以便人类可以直观地理解和探索数据的结构。
6. 结论
本文中,我们提出了3s-AimCLR++,旨在探索由极端增强带来的单一流对抗性学习中的新颖运动模式,并有效地为多流信息交互提供支持。具体而言,针对单一流,我们提出了极端增强策略,旨在引入新颖的运动模式以提升所学表示的普适性。我们还设计了DDM损失函数,旨在通过最小化分布分歧,以更温和的方式利用极端增强。为了解决正样本集合不合理的问题,进一步提出了单一流最近邻挖掘策略,使学习过程更加合理。针对多流情况,我们提出了多流聚合与交互策略,以更好地融合信息。实验结果显示,3s-AimCLR++在多种评估协议下显著优于当前的最先进方法。
然而,我们方法的局限性在于使用三路数据流会显著增加计算复杂度。未来,我们将探索如何降低计算复杂度,并研究如何在无需负样本的情况下,在该领域应用Siamese网络。
读后总结
出发点:将现有的对比学习框架应用于三维骨架受到数据增强和简单多流决策级融合方法的限制。
创新点1:提出了3s-AimCLR++,通过探索由极端增强带来的单一流对抗性学习中的新颖运动模式,并有效地为多流信息交互提供支持。
创新点2:针对单一流,在时空数据增强部分,使用了普通增强和极端增强策略,通过极端增强策略,带来更多的新颖运动模式,从而学习更通用的特征表示。将极端增强和一个普通增强得到的特征作为查询,将另一个普通增强得到的特征作为键,将键输入到记忆库中,将查询与记忆库中的特征向量进行条件概率分布计算得到类别概率。
创新点3:由于与正常增强序列相比,极端增强序列由于运动模式的巨大变化可能无法保持原始序列的身份,导致性能下降。本文提出分布散度最小化损失,通过正常增强查询在记忆库上的分布用来监督极端增强查询的分布,来减少普通增强和极端增强得到的特征向量( 和
)之间的分布;提出用于两个普通增强得到的条件概率分布的InfoNCE损失,实现最大化正常增强的数据与正样本之间的匹配相似度,最小化与负样本之间的匹配相似度。
创新点4:为了解决正样本集合不合理的问题(原有的方法将记忆库中的所有样本都记为负样本),进一步提出了单一流最近邻挖掘策略。将记忆库中与查询 和
之间条件概率最高的k1个样本(特征向量)记为正样本。
创新点5:针对多流情况,我们提出了多流聚合与交互策略,以更好地融合信息。将三个流得到的最邻近邻居(在创新点4中记为正样本的),通过投票机制得到综合的正样本,视为伪标签,然后使用伪标签作为监督来监督每个单流特征分布。