通过跨视图一致性追求,进行三维人体动作表征学习
论文: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中(原图请看论文,平台上传需打码),相同的挥手动作有不同的关节(joint)姿势,但是在运动轨迹(motion)上是相似的。通常的对比学习方法将它们视为负样本对,在嵌入空间中将它们拉远与锚点的距离。如果能充分利用和探索这些在关节中不同但在运动轨迹中相似的互补信息,就可以扩展关节模态中隐含的正样本对集合大小,提高训练的保真度。因此,交叉视图对比学习策略利用多视图知识,从中更好地提取骨架特征。
本文提出一种用于骨架动作特征的跨视图对比学习框架,该框架利用多视图互补信息来挖掘正样本,并在无监督对比学习中追求交叉视图一致性(样本分布一致性),使模型能够提取更全面的交叉视图特征。
首先,对每个单视图骨架动作表示模块(SkeletonCLR)进行并行对比学习,产生多个单视图嵌入特征。接着,由于样本在嵌入空间中的距离反映了样本在原始空间中的相似性,作者受到启发,用一个视图中样本的极端相似性来指导另一个视图的学习过程。
更具体地说,作者开发了交叉视图一致性知识挖掘模块(CVC-KM)来检验样本之间的相似性,并选择最相似的样本对作为正样本对,用来扩展被指导的视图的正样本集合,即用嵌入距离/相似度(置信度得分)作为相应的挖掘样本在对比损失中的权重。CVC-KM将最突出的知识从一个视图传递给其他视图,引入互补的伪监督约束,促进视图之间的信息共享。
整个框架根据嵌入空间中样本之间的距离在视图间挖掘正样本对,促进视图之间的知识交换,使得提取到的骨架特征包含多视图知识,对各种下游人土更具竞争力。
本文的贡献主要如下:
- 提出了CrosSCLR,一个用于骨架动作表示的交叉视图对比学习框架;
- 开发了骨架动作表示模块(SkeletonCLR)来学习骨架数据的单视图表示;
- 使用并行的SkeletonCLR模型和CVC-KM来跨试图挖掘有用的样本,使得模型能够在无监督的情况下捕获更全面的表示;
- 在三维骨架数据集上评估模型,并在无监督条件下取得了显著的结果。
CrosSCLR
由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所示,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 g^将隐藏层向量映射到一个更低维空间: z = g ( h ) z=g(h) z=g(h)和 z ^ = g ^ ( h ^ ) \hat z=\hat g(\hat h) z^=g^(h^),映射层是一个带有ReLU的全连接层。
- M = { m i } i = 1 M M=\{m_i\}_{i=1}^M M={mi}i=1M是存储负样本的存储库(memory bank),用以避免嵌入的冗余计算。每个推理步骤, M M M中最早入队的嵌入会出队,让当前的 z ^ \hat z z^入队。
- InfoNCE用于个体判别:
最终获得一个有利于提取单视图具有辨别性表示的强编码器 f f f。
Limitations of Single-View Contrastive Learning
- 单个正样本对不能全面描述样本之间的关系,需要一个更可靠的嵌入分本(即更多的正样本对)。并且如果只用单个正样本,相似度高的其他样本会被当作负样本,将相似度高的样本推远是不合理的。
- 由于没有任何注释,所以不可避免地会将同类的不同样本嵌入到远离彼此的地方,即它们分布稀疏/不规则,会给线性分类带来很大的困难。
3.2 Cross-View Consistent Knowledge Mning
CKC-KM利用一个视图中样本的高相似性,指导另一个视图的学习过程。根据嵌入的相似性挖掘视图之间的正样本对,促进视图间的知识交换,从而提高每个视图中隐层的正样本对集合大小,提取的骨架特征将包含多视图知识,从而形成更规则的嵌入空间。
contrastive Context as Consistent Knowledge
跨视图交换的知识是一个样本的对比上下文,这个对比上下文描述了在对比学习的设置下,该样本在嵌入空间中与其他样本(分布)的关系。给定一个样本的嵌入
z
z
z和相应的存储库
M
M
M,它的对比上下文是
z
z
z和
M
M
M之间的相似度集合
S
S
S,基于特定的知识挖掘策略
Γ
Γ
Γ,生成正样本的索引集
N
+
N_+
N+。其中,
S
+
=
{
s
i
}
i
∈
N
+
S_+=\{s_i\}_i\in N_+
S+={si}i∈N+和点积‘·’是为了计算嵌入
z
z
z和
m
i
m_i
mi之间的相似性
s
i
s_i
si。
N
N
N是存储库中嵌入的索引集,
N
+
N_+
N+是
Γ
Γ
Γ选择出来的正样本索引集。
对比上下文
C
(
S
∣
N
+
)
C(S|N_+)
C(S∣N+)包含以下两个方面:
- 嵌入上下文 S S S:是嵌入空间中一个样本与其他样本之间的关系,即分布;
- 对比集合
N
+
N_+
N+:是
Γ
Γ
Γ根据嵌入相似度
S
S
S挖掘的在正样本集合。
并且 C ( S ∣ N + ) = { S + , S − } C(S|N_+)=\{S_+, S_-\} C(S∣N+)={S+,S−}, S + S_+ S+是正样本上下文, S − S_- S−是负样本上下文, S = S + ∪ S − S=S_+\cup S_- S=S+∪S−。
在3.1的InfoNCE公式中,嵌入 z z z只有和正样本上下文 S + = { z ⋅ z ^ } S_+=\{z·\hat z\} S+={z⋅z^}的相似度计算,没有考虑到嵌入空间中的任何邻居。负样本虽然相似度较高,但在嵌入空间中被迫消失,因此属于同一类别的样本难以嵌入到同一聚类中,无法为下游分类任务构建“规则”的嵌入空间。
High-confidence Knowledge Mining
高置信度知识挖掘机制(KM),选择最相似的对作为正样本对来扩展正样本集合。
由图4可知,两个嵌入如果嵌入足够紧密,很可能属于同一类别;相反,两个嵌入在嵌入空间中距离极远,几乎不属于同一个类,因此,本文可以通过将最相似的嵌入设置为正样本嵌入,从而促进对比学习:
Γ
=
T
o
p
k
Γ=Topk
Γ=Topk是选择Topk相似高嵌入的索引的函数,
N
+
N_+
N+是它们在存储库中的索引集。与3.1的Loss函数相比,这里的
L
K
M
L_{KM}
LKM通过接近更高置信度的正样本,可以得到一个更规则的空间。由于没有任何标签,太大的K可能会损害对比性能。
Cross-View Consistency Learning
跨视图一致性学习,不仅从互补视图中挖掘高置信度的正样本,而且使嵌入上下文在多个视图中保持一致。
图3中,
x
u
x^u
xu和
x
v
x^v
xv由3.3中的视图生成方法从相同的原始数据
x
x
x中生成,其中u和v表示两种类型的数据视图。在单视图对比学习之后,两个SkeletonCLR模块分别获得了嵌入
z
u
z^u
zu和
z
v
z^v
zv,还有相应的存储库
M
u
M^u
Mu和
M
v
M^v
Mv。可以通过
(
S
+
u
,
N
+
u
)
(S^u_+, N^u_+)
(S+u,N+u)和
(
S
+
v
,
N
+
v
)
(S^v_+, N^v_+)
(S+v,N+v)从两个视图中挖掘高置信度知识。
CrosSCLR的目的是通过鼓励对比上下文的相似性来学习不同视图中一致的嵌入分布,即交换不同视图中的高置信度知识。
在图3(b)中,如果想使用视图中的知识
v
v
v来指导视图
u
u
u的对比学习,它包含两个方面:
(1)从
S
v
S^v
Sv中找到相似度最高的对比对,将其作为
u
u
u中的正样本对;
(2)用
S
i
v
S_i^v
Siv作为
m
i
u
m_i^u
miu的权重,即
S
i
u
S_i^u
Siu的权重,
C
(
S
u
∣
C(S^u|
C(Su∣
N
+
v
)
=
C
(
S
v
→
u
∣
N
+
v
)
,
N^v_+)=C(S^{v→u}|N_+^v),
N+v)=C(Sv→u∣N+v),
S
v
→
u
=
{
S
i
u
⋅
S
i
v
}
i
∈
N
S^{v→u}=\{S_i^u·S_i^v\}_{i\in N}
Sv→u={Siu⋅Siv}i∈N。
公式7为跨视图对比上下文学习,它限制了两个视图的相似分布。
与
L
K
M
L_{KM}
LKM相比,公式6考虑了跨视图信息,协同使用一个视图的高置信度正样本及其分布来指导另一个视图的对比学习,从而得到更规则的嵌入空间和更好的骨架特征。
Learning CrosSCLR
目标函数:
U
U
U是视图的数量,
v
≠
u
v\ne u
v=u。
在早期训练过程,模型不够稳定和强大,不能提供可靠的交叉知识。由于不可靠的信息可能会导致结果与目标背道而驰,因此不鼓励过早地进行跨试图交流。本文对CrosSCLR进行两阶段训练:
(1)模型的每个视图都用3.1的InfoNCE公式单独训练,没有跨试图交流;
(2)接着。当模型可以提供高置信度的知识时,将损失函数替换为上面的目标函数,开始进行跨试图知识挖掘。
能力不足,理解有限,请大家指正批评。