【CrosSCLR论文笔记】3D Human Action Representation Learning via Cross-View Consistency Pursuit


论文:3D Human Action Representation Learning via Cross-View Consistency Pursuit


摘要

作者提出一种跨试图的对比学习框架CrosSCLR,该框架利用多视图之间的有监督互补信息,应用于基于3D骨架的动作特征的无监督任务中。
CrosSCLR包含单视图对比学习模块SkeletonCLR和跨视图一致性知识挖掘模块CVC-KM,这两个模块以协作学习的方式进行集成。
CVC-KM的工作方式是,在高置信度的正/负样本及其分布中,根据其嵌入 (特征) 的相似性,在视图之间交换高置信度嵌入的互补信息,确保对比学习中上下文的跨视图一致性,即相似的分布。 (指the distributions of embedding)


引言

很多3D动作识别工作都使用完全监督的方式来进行,并且需要大规模的3D骨架标注诗句。然而,标注数据昂贵且耗时,这促使人们开始探索基于骨架数据的无监督方法。
一部分的无监督方法通过辅助任务(pretext task)来挖掘每个样本的结构完整性,包括reconstruction、auto-regression和jigsaw puzzles,但是这些设计出来的辅助任务并不能保证对下游任务的泛化性好。
另一部分基于对比学习的无监督方法,目的是利用潜在空间中样本的个体判别。
无监督方法仍有以下待解决问题:

  • 传统的对比学习方法只使用一个由数据增强产生的正样本对,在负样本集合中即使相似也会被视为负样本,并且负样本在嵌入空间中被强制远离锚点,这对于聚类是不合理的。
  • 当前的无监督方法尚未探索不同骨架模态提供的丰富内部有监督信息,在关节、运动轨迹和骨骼等多视图中很容易获取骨架信息,可以通过不同视图保存的互补信息来帮助模型从相似的负样本中挖掘出正样本对。
    图1

在单视图中,即使是相似度高也会被当作是负样本,进而拉远距离。因此本文提出一种通过其他视图的互补信息,指导当前视图进行对比学习。
在图1中(原图请看论文,平台上传需打码),相同的挥手动作有不同的关节(joint)姿势,但是在运动轨迹(motion)上是相似的。通常的对比学习方法将它们视为负样本对,在嵌入空间中将它们拉远与锚点的距离。如果能充分利用和探索这些在关节中不同但在运动轨迹中相似的互补信息,就可以扩展关节模态中隐含的正样本对集合大小,提高训练的保真度。因此,交叉视图对比学习策略利用多视图知识,从中更好地提取骨架特征。
本文提出一种用于骨架动作特征的跨视图对比学习框架,该框架利用多视图互补信息来挖掘正样本,并在无监督对比学习中追求交叉视图一致性(样本分布一致性),使模型能够提取更全面的交叉视图特征。
首先,对每个单视图骨架动作表示模块(SkeletonCLR)进行并行对比学习,产生多个单视图嵌入特征。接着,由于样本在嵌入空间中的距离反映了样本在原始空间中的相似性,作者受到启发,用一个视图中样本的极端相似性来指导另一个视图的学习过程。
更具体地说,作者开发了交叉视图一致性知识挖掘模块(CVC-KM)来检验样本之间的相似性,并选择最相似的样本对作为正样本对,用来扩展被指导的视图的正样本集合,即用嵌入距离/相似度(置信度得分)作为相应的挖掘样本在对比损失中的权重。CVC-KM将最突出的知识从一个视图传递给其他视图,引入互补的伪监督约束,促进视图之间的信息共享。
整个框架根据嵌入空间中样本之间的距离在视图间挖掘正样本对,促进视图之间的知识交换,使得提取到的骨架特征包含多视图知识,对各种下游人土更具竞争力。
本文的贡献主要如下:

  • 提出了CrosSCLR,一个用于骨架动作表示的交叉视图对比学习框架;
  • 开发了骨架动作表示模块(SkeletonCLR)来学习骨架数据的单视图表示;
  • 使用并行的SkeletonCLR模型和CVC-KM来跨试图挖掘有用的样本,使得模型能够在无监督的情况下捕获更全面的表示;
  • 在三维骨架数据集上评估模型,并在无监督条件下取得了显著的结果。

CrosSCLR

图3
由Figure3可知,CrosSCLR包含两个关键模块:
(1)SkeletonCLR:一个用于无监督学习单视图表示的对比学习框架;
(2)CVC-KM:它将最突出的知识从一个视图传达给其他视图,引入互补的伪监督约束,促进视图之间的信息共享。

3.1 Single-View 3D Action Representation

SkeletonCLR基于MoCO框架来学习单视图3D动作表示。

SkeletonCLR

SkeletonCLR模块是一种用于骨架表示的记忆-增强对比学习方法(memory-augmented contrastive learning method),它将一个样本的不同数据增强版本作为正样本,将其他样本作为负样本。在每个训练步长中,当前的批处理嵌入会被存储在先入先出的内存中(数据类型为队列),以消除冗余计算,作为下一步的负样本。
正样本对在嵌入空间中相互靠近,而负样本对会被相互推离。
图2
如图2所示,SkeletonCLR包含以下几个主要组件:

  • 一个数据增强模块 T,它将输入的骨架序列随机转换为不同的数据增强版本 x x x x ^ \hat x x^,并且将它们认为是正样本对。本文使用Shear作为空间数据增强方法,Crop作为时间数据增强方法。
  • 两个编码器 f f f f ^ \hat f f^分别将 x x x x ^ \hat x x^嵌入到隐藏空间中,得到隐藏层向量: h = f ( x ; θ ) h=f(x;\theta) h=f(x;θ) h ^ = ( f ^ ( x ^ ; θ ^ ) \hat h=(\hat f(\hat x;\hat \theta) h^=(f^(x^;θ^) f ^ \hat f f^ f : θ ^ ← α θ ^ + ( 1 − α ) θ f:\hat \theta←\alpha\hat \theta+(1-\alpha)\theta f:θ^αθ^+(1α)θ的动量更新版本,其中 α \alpha α是一个动量系数。SkeletonCLR使用ST-GCN作为骨干网络。
  • 映射层 g g g和动量更新版本 g ^ \hat g
### 一致性原理 在计算机科学尤其是分布式系统中,一致性指的是多个副本之间的状态保持同步的程度。具体来说,在分布式数据库环境下,当更新操作完成之后,所有节点的数据应该达到相同的状态。 #### CAP定理下的强弱一致性 根据CAP理论[^4],在一个理想的状况下,所有的读写请求都能立即看到最新的数据版本,这被称为强一致性。然而为了满足分区容忍性的需求,有时不得不牺牲这种即时可见性而采用最终一致性模型——即允许短暂的时间窗口内不同节点间存在差异,但经过一定时间后所有更改都将传播至各个位置达成一致。 #### Paxos算法实现高可用条件下一致性 Paxos是一种用于解决分布式环境中进程间协调问题的协议,广泛应用于构建可靠的复制状态机和服务发现机制。该算法通过一轮或多轮投票过程来决定提案能否被接受,从而确保即使在网络分割期间也能维持较高的可用度的同时保障一定程度上的一致性[^1]。 ```python class Proposer: def __init__(self, id): self.id = id self.promised_value = None async def prepare(self, round_number): # 向多数派发送Prepare消息... async def propose(self, value): await self.prepare() if not self.promised_value or self.promised_value == value: # 发送Accept消息给Acceptor... ``` #### Raft共识算法简化版说明 Raft旨在提供一种更易于理解和实现的方法论去达成分布式系统的领导者选举与日志复制功能。其核心思想在于将复杂的决策流程分解成几个相对独立且容易处理的小部分,如任期编号、心跳检测以及条目追加等,以此为基础建立起稳定可靠的一致性框架[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值