ESC
输入关键词搜索文章
目录

SkeleTR 论文精读

ICCV 2023 · 两阶段骨架动作识别的标杆
个体内 GCN + 个体间 Transformer:0.81M 参数超越前序 SOTA,AVA mAP +4.1%。
0.81MSkeleTR-S 参数
336clip/s 推理
+4.1%AVA mAP 提升
2阶段架构
一句话读懂:SkeleTR 将 wild 场景的骨架动作识别重新定义为两阶段问题——Stage 1 用 GCN 建模每个个体的短骨架序列(1-2 秒)内部动态,Stage 2 用 Transformer 建模多个体之间的交互关系。核心创新包括:大量短序列取代少量长序列(IoU-based matching 减少关联噪声)、Mix Pooling 三流压缩(将 Transformer 计算量从 52.7 降至 0.594 GFLOPs)、统一框架同时处理视频级分类/实例级检测/群体活动识别。SkeleTR-S 仅 0.81M 参数、2.74 GFLOPs、336 clip/s,在超越前序 SOTA 精度的同时比 CTR-GCN 更小更快。#Duan-et-al.-2023

系列定位

本文是动作识别系列论文精读第四篇,是 个体特定动作检测 survey 的核心引用论文之一。

SkeleTR 是目前最接近"先建个体模型,再做动作检测"范式的完整系统——其两阶段架构精确对应双阶段设计。

Part 1
引言:骨架动作识别从实验室到野外

骨架动作识别(skeleton-based action recognition)因其对背景和光照变化的鲁棒性,以及天然保护用户隐私的特性,近年来受到越来越多的关注。#Duan-et-al.-2023 然而,大多数现有方法——从开创性的 ST-GCN #Yan-et-al.-2018 到后续的 CTR-GCN #Chen-et-al.-2021、MS-G3D #Liu-et-al.-2020——都主要在受控环境中评估:典型的 NTU-RGB+D 数据集中,每段视频最多 2 人,且提供 ground-truth 骨架序列,序列长度 $T=300$ 覆盖整个视频。

问题在于,真实世界(in the wild)的场景远比实验室复杂。一段排球比赛视频中可能有 10+ 人同时运动;一段电影片段中人物频繁进出画面。在这种情况下,传统的"少量长序列"输入范式面临三个根本性挑战:

  1. 长序列关联噪声:在 300 帧的时间跨度上用置信度排名关联骨架,不可避免地产生 identity switch——不同人的骨架被错误地串联到同一条序列中。
  2. 缺乏人际交互建模:传统 GCN 方法将每条序列独立处理后简单平均池化,完全忽略了人与人之间的交互关系——而这恰恰是识别"握手""交谈""传球"等动作的关键。
  3. 输入格式僵化:固定 $M=2$ 条序列意味着,人少时大量零填充造成冗余,人多时信息在输入采样阶段就丢失了。

SkeleTR 正是为解决这些问题而生。它的核心思想可以概括为一句话:用大量短序列取代少量长序列,用 GCN 建个体内动态、用 Transformer 建个体间交互。这个看似简单的重新定义,带来了深远的影响——不仅提升了 wild 场景的识别精度,还让同一套架构可以统一处理视频级分类、实例级检测和群体活动识别三大任务。更令人惊喜的是,SkeleTR-S 以仅 0.81M 参数(比 CTR-GCN 少 40%)超越了所有前序 SOTA 的精度,同时推理速度最快。#Duan-et-al.-2023

SkeleTR 框架概览
图 1:SkeleTR 是一个统一的骨架动作识别框架,可同时处理视频级分类(Posetics/Kinetics-400)、实例级检测(AVA)和群体活动识别(Volleyball)。核心是两阶段建模:先做序列内运动建模,再做序列间关系建模。(来源:SkeleTR, Fig.1)
Part 2
问题剖析:为什么 Prior Works 在 Wild 场景失效

2.1 长序列关联噪声的量化证据

要理解 SkeleTR 为什么有效,我们首先需要看清 prior works 到底在哪里出了问题。SkeleTR 的作者设计了一组对照实验来说明这一点。

传统方法(如 ST-GCN++)的输入构造方式是:对每一帧保留置信度最高的 2 个骨架,然后按置信度排名将不同帧的骨架串联成 2 条长序列($M=2, T=300$)。这种 score-based matching 在长时间跨度内会产生大量关联错误——想象一下,在一个 10 人的场景中,置信度排名第 2 的骨架可能在不同帧属于完全不同的人。#Duan-et-al.-2023

SkeleTR 提出的替代方案是 IoU-based matching:以 stride $= T/2$ 均匀选取关键帧,对每个关键帧中的每个骨架,在 $T$ 帧窗口内用 IoU(交并比)匹配关联骨架。由于匹配窗口只有 1-2 秒,骨架在短时间内的位移很小,IoU 匹配的准确率远高于跨整个视频的 score-based 匹配。消融实验证实了这一点:在完全相同的 $M=2, T=300$ 输入格式下,IoU-based matching 让 ST-GCN++ 提升 2.21%,让 SkeleTR-S 提升 3.91%。#Duan-et-al.-2023

输入格式对比
图 2:输入格式对比。上方:从视频中提取的原始骨架(不同颜色代表不同人,S 为置信度分数)。左下:传统 GCN 使用 2 条长序列(覆盖整个视频),通过 score-based matching 关联。右下:SkeleTR 使用大量短序列(每个仅覆盖 1-2 秒),关联错误更少。(来源:SkeleTR, Fig.2)

2.2 短序列的核心 Insight

但 IoU matching 只是第一步。SkeleTR 更激进的创新是将长序列拆成大量短序列——不再用 $M=2, T=300$,而是用 $M=40, T=15$(同样总骨架数,但序列更短、更多)。

为什么这样做有效?直觉上,每条短序列(1-2 秒)直接对应一个人的原子动作。多条短序列的集合,在空间和时间上可以表示更长跨度的动作(一个人的连续动作)或涉及多人的视频级动作。短序列的一致性远优于长序列——在 1 秒内,一个人不太可能离开画面再回来,identity switch 的概率大幅降低。

反直觉发现:短序列的优势仅在 wild 场景中体现。当 GT 长骨架序列可用时(如 NTU-RGBD),长序列反而更好(NTU60: 88.8% vs 85.9%)。这说明短序列设计的核心价值在于减少 wild 场景中的关联噪声,而非模型架构本身的优势。#Duan-et-al.-2023

此外,短序列格式天然适配可变人数:不同视频的序列数 $M'$ 因人而异,训练时通过动态采样范围 $[M_{\min}, M_{\max}]$ 处理,推理时使用实际序列数。这避免了人少时的零填充冗余和多人时的信息丢失。

Part 3
SkeleTR 架构详解

SkeleTR 的架构可以用一个简单的公式概括:$M$ 个短骨架序列 $\rightarrow$ GCN 个体内建模 $\rightarrow$ Mix Pooling 压缩 $\rightarrow$ Transformer 个体间建模 $\rightarrow$ 预测。让我们逐模块展开。

SkeleTR 完整架构
图 3:SkeleTR 完整架构。(a) Prior GCN 方法使用少量长序列 + 独立 GCN + 平均池化。(b) SkeleTR 使用大量短序列 + GCN backbone + Mix Pooling + Transformer 编码器。(c) Mix Pooling 的三流设计:1×1(全局)、T×1(时间动态)、1×P(空间结构)。(来源:SkeleTR, Fig.3)

3.1 Stage 1: GCN 个体内骨架动态建模

Stage 1 的任务是:对每条短骨架序列 $X_i \in \mathbb{R}^{T \times V \times C}$$T$ 帧、$V$ 个关节、$C$ 维坐标),提取其时空运动特征。SkeleTR 继承了 GCN 在骨架建模上的优势——图卷积天然适配骨架的拓扑结构,而 MLP 忽略空间关系、Transformer 需要更多数据才能学到空间归纳偏置。

每个 GCN Block 包含两层:GCN 层在骨架图上执行图卷积,融合同一帧内的关节特征(空间建模);TCN 层使用 1D 卷积捕获每个关节的时序运动模式(时序建模)。多个 Block 堆叠构成 backbone,中间阶段进行通道膨胀和时间下采样。#Duan-et-al.-2023

论文提供三种 backbone 配置:

配置项ST-GCN++[S]ST-GCN++CTR-GCN
GCN Blocks 数61010
输出通道宽度128256256
参数量 (M)0.1811.3141.356
FLOPs (T=30, G)0.0920.2840.298

ST-GCN++[S] 是作者专门设计的轻量版:参数量仅为 ST-GCN++ 的 1/7,单序列计算量仅为 1/3。配合 SkeleTR 的 Transformer head(0.627M),SkeleTR-S 整体仅 0.81M 参数——这比所有竞品都小。

消融实验直接验证了 GCN 在个体内建模上的优越性:在相同的 SkeleTR 框架下,将 GCN 替换为 MLP 导致 Posetics Top-1 从 53.90 暴跌至 45.19(-8.71%),替换为 Transformer(ST-TR)降至 51.35(-2.55%)。GCN 的图卷积天然适配骨架拓扑结构,这是 MLP 和 Transformer 无法替代的归纳偏置。#Duan-et-al.-2023

3.2 Mix Pooling: 维度压缩的关键设计

Stage 1 输出每个序列的时空特征 $\mathbf{F}_i \in \mathbb{R}^{T \times V \times C'}$。如果要直接用 Transformer 建模所有序列间的关系,注意力计算的复杂度为 $\Theta((M \times T \times V)^2)$——以 $T=15, V=17$ 的典型配置,仅 2 个 Transformer block 就需要 52.7 GFLOPs,完全不可行。

另一个极端是全局平均池化,将每条序列压缩为 1 个向量,复杂度降至 $\Theta(M^2)$,但会丢失所有细粒度信息。

SkeleTR 的解决方案是 Mix Pooling——在两个极端之间找到最佳折中。它并行执行三种部分降维,每种保留不同维度的信息:

$$\text{MixPool}(\mathbf{F}_i) = \text{Concat}\left[\text{GAP}_{T,V}(\mathbf{F}_i),\; \text{GAP}_{V}(\mathbf{F}_i),\; \text{GAP}_{T}(\mathbf{F}_i)\right]$$

其中 $\text{GAP}_{T,V}$ 表示在时间和空间维度上同时做全局平均池化,$\text{GAP}_{V}$ 仅在空间维度池化(保留时间),$\text{GAP}_{T}$ 仅在时间维度池化($V$ 个关节聚合为 $P=5$ 个身体部位:头、双臂、双腿,保留空间结构)。

操作输出维度语义
$1 \times 1$时空全局平均1序列整体表示
$T \times 1$空间维度全局平均,保留时间$T$时间动态
$1 \times P$时间维度全局平均,$V$ 关节聚合为 $P=5$ 部位$P=5$空间结构
Mix Pooling 内部结构
图 4:Mix Pooling 内部结构。输入 $M \times (T \times V \times C)$ 的特征,经三条并行池化路径(1×1、T×1、1×P)后拼接为 $[M \times (1+T+P)] \times C$ 的 2D 张量。(来源:SkeleTR, Fig.3c / Appendix)

三流拼接后,每条序列保留 $L = 1 + T + P$ 个特征向量,总复杂度从 $\Theta((M \times T \times V)^2)$ 降至:

$$\Theta\left(M^2 (1+T+P)^2\right) \approx 0.6 \text{ GFLOPs}$$

消融实验穷举了 9 种聚合策略组合,完整 Mix Pooling($1\times1 + T\times1 + 1\times P$)在 Posetics 和 AVA 上均取得最佳——这证明了三个视图的信息是互补的,缺一不可。#Duan-et-al.-2023

3.3 序列级时空嵌入

在 Mix Pooling 特征送入 Transformer 前,SkeleTR 为每条序列添加了位置信息:用全连接层编码序列中心骨架的 bounding box 坐标(空间位置)和归一化时间戳(时间位置),将编码后的嵌入加到 Mix-Pooled 特征上,再做 LayerNorm。这一设计让 Transformer 能感知每条序列在视频中的时空位置——例如,位于画面左侧的序列和右侧的序列在交互建模时应被区别对待。#Duan-et-al.-2023

3.4 Stage 2: Transformer 个体间交互建模

Stage 2 使用标准 Transformer encoder 建模序列间关系。配置如下:$N_2 = 2$ 个 encoder blocks,post-layernorm 风格,每个 block 包含 MHSA(多头自注意力,Multi-Head Self-Attention;8 个注意力头,每头通道宽度 $C/2$)和 FFN(前馈网络,Feed-Forward Network;两层 MLP,隐藏维度 $2C$)。在 Stage 2 末端,对每条序列的 $L$ 个特征做 intra-sequence average pooling,聚合为 1 个特征向量用于预测。#Duan-et-al.-2023

Transformer encoder 架构
图 5:Transformer encoder 架构。输入经 Mix Pooling 后进入 ×N₂ 个 encoder block(MHSA + FFN + post-LayerNorm),最后做 Avg Pooling 输出 M×C 特征。(来源:SkeleTR, Appendix Fig.6)

多头设计的语义可解释性是 SkeleTR 的一大亮点。在"握手"动作的可视化中,8 个注意力头展现出清晰的分工:第 1 个 head 聚合单个人内部的时间特征(个体内长程上下文),第 4 个 head 建模个体间交互——$P_{21}$$P_{22}$ 的注意力权重最高,恰好对应握手的交互时刻。这验证了两阶段解耦设计的有效性:不同注意力头自动学到了不同的语义角色。#Duan-et-al.-2023

注意力权重可视化
图 6:注意力权重可视化(握手动作)。Head 1 聚焦个体内时间特征,Head 4 聚焦个体间交互。$P_{ij}$ 表示第 $i$ 时间戳第 $j$ 个人的短序列。(来源:SkeleTR, Fig.4)

统一 Transformer vs 分支独立 Transformer:作者比较了三种设计——(a) 统一 Transformer 处理所有视图特征、(b) 分支 Transformer 分别处理后 late fusion、(c) 分支 Transformer 处理后 reshape 加回。设计 (a) 不仅性能最优(53.90% vs 52.47%),参数量也仅为分支方案的 1/3(0.627M vs 1.880M)。统一 Transformer 的优势在于能实现跨视图特征交互。#Duan-et-al.-2023

3.5 代码集成:PySKL

SkeleTR 的一作 Haodong Duan 同时也是 PySKL(PyTorch Skeleton Action Recognition Toolbox)的维护者。PySKL 在 GitHub 上获得 1.2k+ stars,集成了 ST-GCN++、CTR-GCN、PoseC3D 等主流方法。SkeleTR 的代码已集成到 PySKL 的仓库中 #Duan-et-al.-2022b,可以通过配置文件直接复现论文结果。PySKL 提供了完整的训练/推理 pipeline、数据预处理工具和预训练模型,降低了复现门槛。该仓库的核心代码位于 pyskl/models/skeletr.py,定义了 SkeleTR 的 GCN backbone、Mix Pooling 模块和 Transformer encoder 的完整实现,配置文件在 configs/skeletr/ 目录下。

Part 4
Training Pipeline

4.1 训练数据与任务

SkeleTR 在四个数据集上评估,覆盖三种任务粒度:

数据集任务类别数骨架来源特点
Posetics视频级分类320HRNet / OpenPose 2DKinetics-400 子集,合并骨骼相同的类
NTU-Inter双人交互识别NTU60/120 子集官方 3D仅含双人交互类,4 个 split
AVA v2.2时空动作检测60(评估)HRNet 2D多标签,每帧标注原子动作
Volleyball群体活动识别8HRNet 2D每 clip 最多 13 人

4.2 损失函数

SkeleTR 根据任务使用不同的损失函数:Posetics、NTU-Inter 和 Volleyball 使用交叉熵损失 $\mathcal{L}_{\text{CE}}$;AVA 使用二元交叉熵损失 $\mathcal{L}_{\text{BCE}}$(多标签)。由于 BCE 损失值量级较小,作者显式设置损失权重 $\lambda = 100$。在 Posetics-AVA 联合训练中,总损失为两个数据集损失的加权和:

$$\mathcal{L} = \mathcal{L}_{\text{AVA}} + \mathcal{L}_{\text{Posetics}}$$

其中 $\mathcal{L}_{\text{AVA}} = 100 \cdot \mathcal{L}_{\text{BCE}}$#Duan-et-al.-2023

4.3 优化器与训练配置

所有模型端到端训练,使用 SGD 优化器,batch size 128,base learning rate 0.1,multi-step LR scheduler(decay factor 0.1)。Posetics 和 NTU-Inter 训练 100 epochs(milestones: 70, 85),AVA 和 Volleyball 训练 40 epochs(milestones: 30, 35)。#Duan-et-al.-2023

配置项披露状态值 / 说明
训练数据已披露Posetics (320类), NTU-Inter, AVA v2.2, Volleyball
训练硬件未披露推理测试使用 2080Ti,训练硬件未提及
优化器已披露SGD, batch size 128
学习率已披露base LR=0.1, multi-step decay 0.1
Batch size已披露128
训练轮数已披露100 epochs (Posetics/NTU), 40 epochs (AVA/Volleyball)
训练时长未披露原文未给出
模型参数量已披露SkeleTR-S: 0.81M, SkeleTR-L: 3.82M
精度格式未披露未提及 FP16/mixed precision
Checkpoint 策略未披露原文未给出
输入格式已披露M=40, T=15(主实验);M=20, T=30(消融)
损失权重已披露AVA BCE loss weight λ=100

4.4 迁移学习与联合训练

SkeleTR 的统一框架天然支持跨任务学习。作者验证了三种策略:(1) 从零训练、(2) 在 Posetics 上预训练后在 AVA 上微调、(3) Posetics-AVA 联合训练。从零训练 AVA 容易过拟合——联合训练作为强正则化器,将训练/验证 loss 差距大幅缩小。在 10 秒时间窗口下,联合训练将 AVA Overall mAP 从 21.33 提升至 25.69(+4.36%)。值得注意的是,联合训练对 Person Interaction 类别提升有限,因为 AVA 风格的人际交互很少出现在 Kinetics 视频中。#Duan-et-al.-2023

训练/验证损失曲线
图 7:AVA 上的训练/验证损失和验证 mAP 曲线。联合训练(Joint Training)显著缓解过拟合,验证 mAP 远高于从零训练。(来源:SkeleTR, Fig.5)
Part 5
Inference Pipeline

5.1 视频级分类推理

对于 Posetics 动作分类和 Volleyball 群体活动识别,推理流程较为直接:从视频中采样大量持续 1-2 秒的短骨架序列,通过 GCN backbone 提取特征,经 Mix Pooling 和 Transformer 建模后,对 $M$ 条序列的输出特征做平均池化,再用全连接层预测视频级动作类别。#Duan-et-al.-2023

5.2 实例级检测推理(AVA)

AVA 是非 trimmed 视频,需要为每个 person proposal 在特定时间戳预测动作。SkeleTR 采用滑动窗口策略:以 1 秒为步长在视频上滑动窗口,每个窗口内采样短骨架序列并预测。一个人类 proposal 可能被多个窗口包含——对每个窗口获得一个动作预测,最终对该 proposal 的所有预测取平均得到最终结果。#Duan-et-al.-2023

这种多窗口平均策略确保每个 proposal 获得多个时间视角的预测,提升了鲁棒性。但代价是计算开销随视频长度线性增长。

5.3 自适应序列数 M

SkeleTR 支持推理时使用自适应序列数:若测试视频的实际序列数 $M'$ 在训练范围 $[M_{\min}, M_{\max}]$ 内,直接使用 $M'$;否则截断到边界。这一策略在不损失精度的前提下大幅降低计算量——在 $T=15$ 配置下节省 52% GFLOPs(7.394 → 3.532),性能仅降 0.20%(55.55 → 55.35)。#Duan-et-al.-2023

5.4 推理效率

SkeleTR-S 在 2080Ti 上达到 336 clip/s 的推理速度,是所有对比方法中最快的。这得益于三个因素:(1) 短序列减少了 GCN 的计算量($T=15$ vs $T=300$,FLOPs 降低 20 倍);(2) Mix Pooling 控制了 Transformer 的复杂度(0.594 GFLOPs);(3) ST-GCN++[S] 的轻量化设计。作为对比,CTR-GCN 为 195 clip/s,PoseC3D 仅 53 clip/s。#Duan-et-al.-2023

方法Posetics Top-1Params (M)GFLOPs推理速度 (clip/s)
ST-TR47.456.4426.9297
MS-G3D52.632.8220.8699
CTR-GCN54.101.365.36195
PoseC3D53.091.9014.6953
SkeleTR-S55.850.812.74336
SkeleTR-L57.903.827.30200
关键发现:SkeleTR-S 在精度、参数量、FLOPs 和推理速度四个维度上全面领先——精度最高(55.85%),参数最少(0.81M),FLOPs 最低(2.74G),速度最快(336 clip/s)。#Duan-et-al.-2023
Part 6
实验验证

6.1 主实验:四大任务全面 SOTA

SkeleTR 在三种任务的四个数据集上均取得 SOTA。以下是关键结果:

Posetics 动作分类:SkeleTR-L 达到 57.9% Top-1,比 CTR-GCN(54.1%)提升 3.8%,比 ST-GCN++(52.5%)提升 5.4%。#Duan-et-al.-2023

AVA 时空动作检测:SkeleTR-S 达到 22.8% Overall mAP,比 ST-GCN++(18.6%)提升 4.1%。联合训练后达到 26.8%,提升 8.2%。使用 CTR-GCN backbone 并联合训练,达到 27.3%。Person Interaction 类别提升最大(+7.0% vs ST-GCN++),证明个体间建模对交互动作至关重要。#Duan-et-al.-2023

方法Overall mAPPerson MovementObject ManipulationPerson Interaction
ST-GCN++18.639.19.720.0
CTR-GCN18.939.49.820.5
SkeleTR-S22.843.812.326.9
SkeleTR-S* (joint)26.848.217.727.8
SkeleTR [C]*27.350.917.328.3

* 表示与 Posetics 联合训练;[C] 表示 CTR-GCN backbone。AVA 提升最大的 top-5 动作中,3 个属于 Person Interaction(Hand Clap +20.0、Listen to a person +16.1、Hug a person +11.1),另 2 个分别属于 Object Manipulation(Ride +13.0)和 Person Movement(Lie/Sleep +11.1)。#Duan-et-al.-2023

Volleyball 群体活动识别:SkeleTR-S 达到 94.4%,超过专用方法 COMPOSER(93.7%)和 POGARS(93.2%)。#Duan-et-al.-2023

6.2 消融实验

GCN vs MLP vs Transformer(个体内建模):GCN 以 53.90% Posetics Top-1 显著优于 Transformer(51.35%)和 MLP(45.19)。GCN 的图卷积天然适配骨架拓扑结构,这是其他架构无法替代的。#Duan-et-al.-2023

Mix Pooling 组合:穷举 9 种聚合策略,完整三流组合($1\times1 + T\times1 + 1\times P$)在两个数据集上均取得最佳。任一子组合或单流均不如完整组合——三个视图的信息是互补的。计算成本仅 0.594 GFLOPs,是无压缩方案(52.7 GFLOPs)的 1.1%。#Duan-et-al.-2023

IoU-based vs Score-based matching:在相同 $M=2, T=300$ 输入下,IoU matching 让 ST-GCN++ 提升 2.21%,让 SkeleTR-S 提升 3.91%。#Duan-et-al.-2023

交互建模方式:Transformer Encoders(52.81% Posetics)显著优于 Non-Local(48.43%)、Add Global(51.06%)、Concat Global(50.01%)和 NA(48.21%)。多头注意力能建模多样的序列间关系,而 Non-Local 的单头注意力无法区分不同类型的交互。#Duan-et-al.-2023

6.3 多人场景的收益

按每帧平均骨架数 $N_{\text{ske}}$ 分层分析 Posetics 精度提升:$N_{\text{ske}} \lt 2$ 提升 3.2%,$2 \leq N_{\text{ske}} \lt 5$ 提升 5.4%,$N_{\text{ske}} \geq 5$ 提升 13.1%——约为其他场景的 2-4 倍。提升最大的动作(Swing Dancing +34.6%、Cheerleading +29.0%、Dodgeball +30.0%)均涉及大量人员。这直接验证了个体间交互建模在多人场景中的价值。#Duan-et-al.-2023

AVA 检测结果可视化
图 9:AVA v2.2 验证集检测结果可视化(ST-GCN++ vs SkeleTR-S)。SkeleTR 在 Person Interaction 和 Person Movement 动作上的排名显著优于 ST-GCN++。(来源:SkeleTR, Appendix Fig.5)

6.4 与 RGB 模态的互补性

首次观察到骨架动作识别与 RGB 的强互补性:SkeleTR + RGB late fusion(2:1 比例)带来 +2.3% Posetics Top-1, +3.0% AVA mAP,显著优于 ST-GCN++ + RGB 融合。在 AVA Person Movement 类别上,SkeleTR + RGB 比 RGB only 提升 6.3% mAP(48.44 → 54.78),说明骨架模态包含了 RGB 无法捕获的运动信息。#Duan-et-al.-2023

6.5 短序列 vs 长序列的边界条件

关键消融:在受控环境(NTU60,GT 长序列可用)中,长序列 $2 \times 300$ 最优(88.8%),短序列反而降点($40 \times 15$:85.9%)。但在真实环境(Posetics)中,短序列 $40 \times 15$ 最优(SkeleTR-L: 55.6%),长序列 $2 \times 300$ 仅 52.6%。这说明短序列设计的价值完全在于减少 wild 场景的关联噪声,而非架构优势。#Duan-et-al.-2023

序列数消融曲线
图 10:固定总骨架数 M×T,调整序列数 M 时的 Posetics Top-1 精度。三种模型均在 M=40, T=15 时达到最高精度。(来源:SkeleTR, Fig.6)
三种多视图建模设计对比
图 8:三种多视图建模设计。(a) 统一 Transformer(SkeleTR 采用);(b) 分支 Transformer + late fusion;(c) 分支 Transformer + reshape 加回。设计 (a) 性能最好且参数最少。(来源:SkeleTR, Appendix Fig.7)
Part 7
讨论与启发

7.1 竞品技术对比

维度SkeleTRST-GCN++IGFormerPoseC3D
核心表示短骨架序列 + 两阶段长骨架序列 + GCN双人骨架 + Transformer骨架热图 + 3D CNN
个体间建模Transformer有但仅限双人
可变人数自适应 M固定 M=2仅双人支持
参数量0.81M1.31M20.29M+1.90M
推理速度336 clip/s235 clip/s未报告53 clip/s
统一多任务分类+检测+群体仅分类仅交互仅分类

7.2 局限性

  1. 依赖预提取骨架:使用 Faster-RCNN + HRNet 预提取骨架,pose estimation pipeline 相对较重,在资源受限场景中需要切换到轻量级方案。#Duan-et-al.-2023
  2. 不可端到端(作者分析,非论文原文表述):骨架提取和动作识别是分离的 pipeline,无法联合优化。这是当前骨架动作识别领域的共性局限。
  3. 推理时滑动窗口开销:AVA 推理使用 1 秒步长的滑动窗口,长视频的计算开销随时长线性增长。
  4. 无显式身份建模(作者分析,非论文原文表述):SkeleTR 的"个体"是隐式的(通过短序列的 IoU matching),没有学习显式的 identity embedding。如果 tracker 混淆了两个外观相似的人,SkeleTR 无法纠正。
  5. 短序列在受控环境中无优势:当 GT 长骨架序列可用时,短序列格式不会带来额外收益。

7.3 与双阶段范式的对应

SkeleTR 的两阶段架构精确对应"先建个体模型,再做动作检测"的双阶段范式:

  • Step 1 建个体模型 = Stage 1 GCN 个体内建模。每条短序列独立通过 GCN,提取个体运动模式特征。短序列(1-2 秒)直接对应单个人的原子动作,是"个体模型"的最小语义单元。
  • Step 2 做动作检测 = Stage 2 Transformer 个体间建模。所有序列特征拼接后通过 Transformer,捕获交互关系和全局上下文,为每个个体输出融合了上下文的增强特征。

关键设计选择与范式的对应:短序列 = 个体原子动作表示;GCN = 个体特征提取器;Mix Pooling = 个体模型压缩(保留多视图信息);Transformer = 上下文增强的动作检测器。SkeleTR 是目前最接近这一范式完整实现的系统。

7.4 可操作启发

  1. 短序列优于长序列(在 wild 场景中):任何需要处理多人视频的骨架动作识别系统,都应考虑用大量短序列替代少量长序列。
  2. IoU matching 优于 score-based matching:这是一个即插即用的改进,不需要修改模型架构。
  3. GCN 做个体内、Transformer 做个体间:这种分工优于纯 GCN 或纯 Transformer,因为 GCN 的图归纳偏置适合骨架拓扑,Transformer 的注意力适合交互建模。
  4. Mix Pooling 作为通用压缩策略:三流设计(全局 + 时间 + 空间)可作为任何需要维度压缩的场景的参考。
  5. 联合训练作为正则化:当目标数据集较小时,联合训练比预训练+微调更有效。
  6. 骨架与 RGB 互补:骨架模态包含 RGB 无法捕获的运动信息,late fusion 是一种简单有效的多模态策略。

参考来源

  • Duan, H., Xu, M., Shuai, B., Modolo, D., Tu, Z., Tighe, J., Bergamo, A. (2023). SkeleTR: Towards Skeleton-based Action Recognition in the Wild. ICCV 2023 (Paper ID: 6583). arXiv:2309.11445 · GitHub: kennymckormick/pyskl
  • Yan, S., Xiong, Y., Lin, D. (2018). Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition. AAAI 2018. arXiv:1801.07455
  • Duan, H., Zhao, J., Chen, K., Lin, D., Wang, L. (2022). Pyskl: Towards good practices for skeleton action recognition. ACM MM 2022. arXiv:2205.09443
  • Chen, Y., Zhang, Z., Yuan, C., Li, S., Wang, Y. (2021). Channel-wise Topology Refinement Graph Convolution for Skeleton-Based Action Recognition. ICCV 2021. arXiv:2107.12213
  • Liu, Z., Zhang, H., Chen, Z., Wang, Z., Ouyang, W. (2020). Disentangling and Unifying Graph Convolutions for Skeleton-Based Action Recognition. CVPR 2020. arXiv:2003.14111