跳转至

DisentangledTMR: Privacy-Preserving Skeleton Motion Retargeting via Factorized Transformers

会议: ECCV2026
Paper: https://eccv.ecva.net/virtual/2026/poster/5993
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/15204.pdf
领域: 视频理解 / 骨架动作分析
关键词: 骨架匿名化、运动重定向、解耦表示、因子化注意力、隐私效用权衡

一句话总结

DisentangledTMR 将源人物的动作和参考人物的骨架身份分开编码,再用因子化 Transformer 重组运动;在 NTU60 的推荐部分重定向配置下,预训练身份重识别率由 75.4% 降至 18.1%,同时保留 75.8% 预训练动作识别率和 87.1% 重新训练后的动作识别率。

研究背景与动机

去掉人脸和纹理,并不等于去掉身份。骨架的骨长、肢体比例提供静态生物特征,步态、动作节奏和执行习惯又提供动态线索。因此,匿名化不能只改变身材,也不能简单给关节加噪声:前者可能保留可识别的步态,后者可能先破坏动作识别所需要的信息。

运动重定向提供了一个较直观的目标:保留源人物在做什么,让这段运动由另一套身体结构执行。但 DMR、PMR 一类共享编码器方案把动作与身份压进同一个表示,重建需要保留信息,对抗身份识别又要求删除信息,两种梯度容易争夺同一批特征。本文希望把这个冲突前移到架构设计:动态动作获得高带宽的时序通路,参考身份只获得低带宽的静态结构通路;不过,动作流仍接收位置,静态平均姿态也可能与动作有关,因此这些只是归纳偏置,不能自动证明完全解耦。

另一个部署问题是,下游识别器通常已经在原始骨架上训练好。即便匿名化序列还包含动作信息,身体比例改变也可能使旧模型失效,所以“信息保留”与“旧模型直接可用”需要分别检验。核心 idea:先以不对称双编码器和分离注意力降低动作与身份混合的机会,再以分阶段训练清除残余泄漏,并通过训练时固定的部分重定向比例调节匿名化输出与旧识别器的兼容性。

方法详解

整体框架

输入是源人物和参考人物的单人三维骨架序列,每段统一为 64 帧、25 个关节。动作编码器从源序列提取随时间变化的运动表示,身份编码器从参考序列提取全局骨架描述;因子化解码器自回归生成运动,最后可与原序列进行部分混合。推理时,参考人物从不包含源人物的参考池均匀抽取;训练中还使用同一人物作为源与目标的自重建。

动作表示大小为 \(64\times768\),身份表示只有 256 维,前者总容量为后者的 192 倍。这个比例是表示元素数之比,不是编码器参数量之比。身份向量在解码时广播到各时刻,提供身体结构条件,而不是一段可复制的参考动作。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    source["源骨架序列"] --> action["动作与身份双编码<br/>时序动作 / 静态身份"]
    target["参考骨架序列"] --> action
    action --> decoder["因子化解码<br/>双路注意力与门控"]
    training["分阶段解耦训练<br/>编码 / 重建 / 联合"] -.-> action
    training -.-> decoder
    decoder --> blend["部分重定向<br/>固定比例残差混合"]
    source --> blend
    blend --> output["匿名化骨架序列"]

关键设计

1. 动作与身份双编码:用可见信息和容量差异限制串扰

动作流同时读入关节位置、相邻帧速度和速度差得到的加速度,每个关节共 9 个通道。一个分支使用核大小为 3、5、7 的并行时间卷积,整合短期与较长时间尺度的变化,再以中间维度 256、2 层 8 头时间自注意力处理远距离依赖,最后投影到 768 维。另一分支使用修改后的 Skeleton MixFormer,提供每帧骨架特征;两个分支以 sigmoid 门控逐元素融合。MixFormer 随模型从头训练,采用 Kaiming normal 初始化,并未加载预训练权重。

身份流先做以骨盆为中心的平移归一化和朝向规范化,再对时间取平均。它把平均姿态送入空间 GCN:输入由 3 维投影到 64 维,随后经过通道为 64→128→256→256 的三层图卷积、残差连接和 8 头空间注意力。全局池化后的 256 维特征,与根据平均姿态计算的 24 条骨长经 24→128→128 MLP 得到的特征拼接,再由 384→512→256 MLP 压缩成身份向量。这里的骨长按正文是在平均姿态上计算,不能擅自改写成逐帧骨长的平均。压掉时间维使身份流无法直接携带完整轨迹,但也会丢失动态身份信息;这部分泄漏需要动作流上的监督继续处理。

2. 因子化解码:先分别读取动作和身份,再决定混合比例

解码器有 6 层,模型维度 320,每层先做因果自注意力,再分别向动作表示与身份表示做交叉注意力。两个分支不提前拼成同一组键值,而是先得到动作条件特征和身份条件特征,再由可学习 sigmoid 门控逐元素组合,随后经过归一化与 320→2048→320 前馈网络,最后输出关节坐标。这样,动作的时间变化与身体结构条件在进入融合前仍有可区分的路径。

身份只提供一个全局 token,因此其交叉注意力实质上是广播式条件注入,而不是在不同参考帧之间挑选。正文把门控定义为时间与隐藏通道上的逐元素权重;虽然摘要和结论使用“逐关节门控”的措辞,但不能把它理解成公式中显式存在一个独立关节维。推理时输出帧继续作为下一步输入,完全自回归运行;训练时的教师强制用于减少初期误差累积。

3. 分阶段解耦训练:先建立分工,再允许重建和输出监督介入

第一阶段冻结解码器,训练动作与身份编码器及辅助分类头。动作分类交叉熵保证动作流仍能表达动作;身份分类交叉熵让身份流保留参考人物结构。监督对比学习以“相同动作、不同人物”为正样本,温度为 0.07,减少动作特征被人物分组的倾向。身份对抗器先在停止梯度的动作特征上学习识别人,再由动作编码器把它的身份预测推向均匀分布;这使用分步优化,不是梯度反转层。

正文对对抗目标的文字定义足以明确写成下式,其中 \(N_{\mathrm{id}}\) 为身份类别数,\(U_{N_{\mathrm{id}}}\) 为这些身份上的均匀分布:

\[ \mathcal L_{\mathrm{adv}}=\mathrm{KL}\!\left(D_{\mathrm{adv}}(\cdot\mid H_{\mathrm{action}})\,\|\,U_{N_{\mathrm{id}}}\right). \]

此外还有归一化特征间的正交惩罚,以及交叉相关矩阵的 Frobenius 范数惩罚。两者都处理到共同的 256 维,但预处理不同:正交项先对动作特征做时间平均再截断,交叉相关项则展平时间维后取前 256 个元素。这个实现细节意味着它们并未直接约束动作表示的全部维度;去相关也不能等同于严格统计独立。

第二阶段引入解码器重建,编码器仍更新,但学习率降至基准的 1%,不是完全冻结。逐帧关节 MSE、目标骨长一致性、加速度平滑、速度匹配共同限制几何误差与抖动;针对手、脚、头等共 7 个末端点加强位置和速度监督,再用关节角范围惩罚与触地帧脚速惩罚抑制不合理姿态和滑步。第三阶段联合优化全部模块,同时保留前两阶段损失,额外在输出上加入动作分类、增强末端约束、分布判别器和身份对抗器。输出监督很重要,因为编码器分开,并不保证解码器的门控不会重新引入身份相关信号;这些辅助头在推理时移除。

4. 部分重定向:用训练内残差连接适配已有识别器

完整重定向容易引起下游分布偏移。本文在解码器输出后加入源序列的残差混合;依据正文对式 (16) 的说明,其关系为:

\[ \hat{\mathbf s}_{\beta}=\beta D\!\left(E_A(\mathbf s_{\mathrm{src}}),E_I(\mathbf s_{\mathrm{tgt}})\right)+(1-\beta)\mathbf s_{\mathrm{src}}. \]

推荐值 \(\beta=0.2\) 意味着坐标混合中原序列权重为 80%、解码输出为 20%,并不意味着“隐私只改变 20%”或“身份泄漏恰好保留 80%”。每个 \(\beta\) 都在训练前固定,训练过程始终启用对应残差连接,让解码器学习与源序列互补的输出。因此参数扫描比较的是各自训练的模型,不是把同一模型的推理滑块任意拨动。\(\beta=1.0\) 去掉源序列残差,但同样没有数学上的完全匿名保证。

一个完整示例

设源人物做挥手动作,参考人物来自另一个身份,其参考片段不必也是挥手;这是帮助理解流程的示例,不是额外实验。源片段归一化到 64 帧后,由动作流保留抬臂和摆动的时间结构;参考片段经平均姿态和骨长通路变成 256 维身体描述,不把参考动作轨迹直接交给解码器。

解码器逐帧生成以参考结构为条件的挥手序列。如果使用为 \(\beta=0.2\) 单独训练的配置,就把生成结果与源坐标按 20% 和 80% 混合,交给原始数据上训练好的 SGN。另一种评估重新在匿名化数据上训练动作分类器,测试动作是否仍可学习;两种评估回答不同问题,不能拿较高的重新训练结果替代直接部署表现。

损失函数 / 训练策略

训练使用 Adam,批量大小 128,三个阶段分别为 20、15、20 个 epoch,合计约 28 GPU 小时。第三阶段学习率为 \(5\times10^{-5}\),即基准学习率的十分之一。教师强制概率在第二阶段由 1.0 线性降至 0.5,第三阶段由 0.5 降至 0.3,推理时为 0;按批次选择教师强制或完全自回归。

第一阶段动作分类、身份分类、对比、对抗、正交、交叉相关损失的权重依次为 3.0、1.0、1.0、0.5、0.1、0.01。第二阶段 MSE、末端、骨长、速度、平滑、脚部、关节约束的权重依次为 1.0、2.0、1.0、0.2、0.1、1.0、1.0。权重不是直接照搬 Optuna 最优试验:作者报告该试验扩大训练规模后表现变差,最终借助重要性排序人工设定。

模型共 22.7M 参数:动作编码器 4.9M,其中 MixFormer 为 2.3M;身份编码器 0.8M;解码器 17.0M。配对训练按两个身份与两个动作构成四元组,NTU60 使用 50k 四元组。缓存公式存在排版损坏,以上仅规范化正文明确解释的两个关键关系,未补写无法核验的完整损失推导或补充材料超参数。

实验关键数据

主实验

所有数据使用 Kinect v2 的 25 关节骨架与跨视角协议,并排除多人动作。NTU60 原始数据有 56,880 段、60 类动作、40 人,筛选后为 49 个单人动作类;NTU120 原始有 114,480 段、120 类、106 人,筛选后为 94 类;ETRI 原始有 112,620 段、55 类、100 人、8 个视角。这些序列数是原始数据规模,不是筛选后的训练样本数。NTU60 用相机 2、3 训练,相机 1 测试;ETRI 用相机 2、3、5、7 训练,其余视角测试。

AR 是动作分类准确率,越高越好;RI 是源身份重识别准确率,越低越好。主协议将原始数据上训练好的 SGN 直接用于匿名化输出;次协议仅重新训练动作分类器。NTU60 的随机 RI 约为 2.5%。下表来自原文表 1,准确率单位均为 %;本文预训练 AR/RI 是 5 次运行的均值与标准差,其他条目按原文报告。几何指标对照目标真值,保留原文数值尺度,不擅加毫米单位。

方法 预训练 AR ↑ 预训练 RI ↓ 重训 AR ↑ MSE ↓ MPJPE ↓ 骨长误差 ↓ 平滑项 ↓ 速度误差 ↓
原始骨架 89.1 75.4 89.1 不适用 不适用 不适用 不适用 不适用
DMR 49.1 25.7 43.1 0.047 0.202 0.029 0.023 0.001
PMR 35.7 7.8 19.9 0.050 0.272 0.051 0.094 0.002
DisentangledTMR,β=0.2 75.8 ± 1.1 18.1 ± 1.8 87.1 0.030 0.113 0.016 0.029 0.0005

相对原始骨架,本文 RI 下降 57.3 个百分点,但预训练 AR 也下降 13.3 个百分点。相对 PMR,预训练 AR 提高 40.1 个百分点,但 RI 高出 10.3 个百分点,因而不是所有指标同时最优。平滑项也并非最低:DMR 的 0.023 优于本文 0.029,不能把“几何质量整体较好”写成全部物理指标领先。

消融实验

下表是原文表 2 的真实参数分析,均为单次运行的预训练 SGN 准确率(%)。NTU120 与 ETRI 使用尚未加入完整输出监督组合的早期检查点,不能当作三个数据集上的统一最终模型对比。

β NTU60 AR ↑ NTU60 RI ↓ NTU120 AR ↑ NTU120 RI ↓ ETRI AR ↑ ETRI RI ↓
0.00,原始骨架 89.1 75.4 88.2 67.6 90.8 45.6
0.10 82.7 52.0 85.3 62.4 90.0 43.0
0.20 76.8 17.3 81.4 39.4 87.8 35.7
0.30 42.8 14.3 73.5 22.8 84.0 26.0
0.50 27.7 3.1 47.1 9.9 67.3 10.4
1.00 2.0 4.7 2.6 0.9 3.7 1.0

表 2 的 NTU60、β=0.20 数值 76.8/17.3 不等于表 1 的 75.8/18.1。虽然表注称该行与表 1 对应,但前者是单次结果、后者是 5 次汇总,笔记分别保留,不自行统一。正文另报告 β 从 0.20 到 0.25 时预训练 AR 由 76.8% 变为 38.8%;完整重定向时重训 AR 为 55.4%,说明重新训练能恢复部分可用性,但并未完全保存原始效用。

组件消融在正文第 4.5 节只有方向性结论:去掉 MixFormer 或时间卷积分支造成最大的效用下降;用固定骨长向量替换身份 GCN 使隐私变差;身份流改读完整时序则保留较低 RI,却损害效用;去掉第一阶段对抗或正交约束也恶化权衡。缓存未包含这些配置的完整数值表,因此不能给它们填造具体下降幅度。

阶段消融报告,含第三阶段的配置预训练 AR 聚集在约 82%,仅第一阶段为 57.3% AR、15.3% RI。这个约 82% 与主表的 75.8% 并不一致,正文没有提供足以对齐的完整设置;只能据此保留“联合微调很重要”的局部结论,不能宣称完整课程相对各阶段提高了某个精确幅度。

关键发现

  • 动作可学习性与现成识别器兼容性不同:推荐配置重训 AR 为 87.1%,预训练 AR 为 75.8%。
  • 推荐点的 RI 为 18.1%,仍显著高于 2.5% 随机水平;经验风险下降不能称为不可重识别。
  • NTU60 的 RI 随 β 并非严格单调,β=0.50 时为 3.1%,β=1.00 时反而为 4.7%,因此原文“平滑下降”的概括需要这个例外。

亮点与洞察

  • 把信息通路作为隐私设计变量。 动作流保留时序,身份流只读压缩静态结构,比只在共享表示后加对抗损失更有明确的任务分工;但分工有效仍要靠攻击实验验证。
  • 显式检查解码输出。 隐表示的分类与去相关指标并不能保证最终关节序列匿名,第三阶段将身份与分布判别器放到输出上,针对的是解码后重新泄漏的风险。
  • 将部署约束纳入评估。 同时报告预训练和重训 AR,揭示了动作信息存在但旧模型无法利用的情形;这种双协议也适用于其他隐私表示发布任务。

局限与展望

  • 作者承认:没有正式隐私保证。 指标学习、模型反演或更强身份攻击可能获得更高 RI;本文不是差分隐私方法,也没有给出可组合的隐私预算。
  • 攻击证据的适用范围有限。 主表没有重训 RI;正文称补充材料在完整重定向配置上测试了直接用匿名化数据训练的攻击者,结果与标准评估器相差不超过 ±0.3 个百分点。但本地缓存没有补充材料,且该陈述不能替代 β=0.2 推荐点上的自适应攻击验证。
  • 读者观察:均值姿态和去相关不等于因子独立。 平均姿态仍可能包含动作相关结构,动作流也能访问原始位置;尤其对比和去相关约束并非覆盖所有可能的非线性身份信号。
  • 适用数据有限。 只验证同一传感器、25 关节和单人动作,未证明向 OpenPose、COCO、SMPL 等拓扑迁移有效;表 2 是各数据集内的扫描,不是明确的训练域到未见测试域迁移实验。
  • 资源和兼容性成本明显。 批量大小 128 时训练约需 40 GB 显存,预训练 AR 仍比原始数据低 13.3 个百分点。后续可在推荐 β 下增加自适应攻击、跨传感器测试和域适配,同时检查恢复效用是否重新引入身份。

相关工作与启发

  • vs DMR / PMR(原文参考文献 7,ICCV2025):它们共享 CNN 编码器与解码器,DMR 不使用对抗训练,PMR 加入隐私对抗;本文改为互补双编码器和分离交叉注意力。PMR 的 RI 更低但 AR 也大幅下降,比较必须同时保留两项指标。
  • vs Skeleton MixFormer(原文参考文献 35):MixFormer 是骨架动作识别骨干,这里只是动作编码器的一条可训练分支。本文的新意主要是隐私重定向架构及训练组合,不是首次提出该骨干。
  • vs FiLM 与 Barlow Twins:单身份 token 的广播条件作用类似 FiLM;跨流相关惩罚借鉴 Barlow Twins 的去冗余思想,但这里并非恢复其原始同视图目标,也不是互信息的直接估计。
  • vs 直接扰动和差分隐私匿名化:输出形式、目标身份条件与攻击协议不同,本文未给这些方法做统一数值排名。可复用的研究方向是先对齐发布对象和攻击能力,再比较效用与风险,而不是只横排 RI。

评分

  • 新颖性: 4/5。不对称编码与因子化解码针对隐私重定向有明确动机,基础模块主要是已有技术的组合。
  • 实验充分度: 3/5。有三个数据集、双效用协议和多次运行,但推荐配置的自适应攻击及数值化消融证据仍不完整。
  • 写作质量: 3/5。架构与部署矛盾解释清晰,但阶段消融、主表、单次扫描之间的口径及单调性表述需要更严格说明。
  • 价值: 4/5。对需要复用已有动作识别器的骨架数据发布很有参考性,实际部署仍需针对目标攻击者重新验证。