UMR · 规范姿态中的表面对应

让同一批点,找到另一副身体

从有面部、手掌和脚部细节的人体网格,到按 URDF 装配的远征 A3。左侧保留人体表面的点索引,右侧的同一批点在三项损失共同作用下寻找机器人表面。

模型正在加载;动画需要 JavaScript。Chamfer 贴合并覆盖目标,Repulsion 缓解点聚集,模板边平滑让邻近点的位移保持连贯。

动画与损失设置
等待开始

人体模板 / 对应点固定机器人表面示意接触区域

准备将人体表面上的点复制到机器人一侧。

前臂局部:三项负梯度的方向

箭头按各项分别缩放,只比较方向;浅橙圆示意 r,并非硬截断边界。灰线显示固定的源表面邻接。

改变排斥的作用尺度

单位为归一化长度。r 增大时,惩罚随距离衰减得更慢;这里只计算每个点的 6 个近邻。

d = r 时,exp(−d²/r²) = 0.368

完全重合处的成对梯度为零。大惩罚不等于大移动,是否分散还取决于其他损失与初始化。

橙色小片展示接触标签如何随同一索引转移。关节位置相近时,掌心与手背的接触仍可能不同;表面对应让优化器能区分这些区域。这里未求解后续的接触或机器人运动。

这个动画计算了什么?

人体使用 MakeHuman hm08 网格,经原始骨骼权重调整为展开姿态;机器人使用 HOPETableTennis 中 a3_t2d5 的 URDF,按关节轴、关节原点与 visual 变换装配 37 个可视链接。模型分别归一化到单位高度,A3 网格经过减面,未加入内置 IMU 的封闭体积。两者均为真实模型资产;人体并非论文使用的 SMPL 模板,A3 也不是此处复现的论文实验。

人体网格有 26,756 个三角形,A3 有 56,719 个三角形。优化使用从三角面上采样的 768 个人体点与 1,152 个无序机器人目标点。人体点记录三角形与重心坐标;局部邻接沿源网格边的最短路径近似测地距离。连线表示这个固定的源邻接图,目标点没有预先指定的一一配对。小点以穿透实体的叠加方式显示,背面点会变淡,便于观察全体点的迁移。

演示直接更新点坐标,未训练论文的 PointNet / MLP,也未求解后续关节运动或接触。λ 的示例值为 1、0.002、0.4;点数、K、r 与步长为浏览器演示选择。每次更新限制最大点位移,最多运行 300 次;结束代表演示完成,不代表全局收敛。读数显示未加权损失,关闭某项后该项不参与更新。三个损失共同鼓励贴合、分散和连贯,不保证均匀覆盖、双射或接触可执行。

模型出处与转换记录见 资产说明;人体来自 MakeHuman(CC0)。公式参考 Cao 等人的 UMR v2 式(3)—(5)。可暂停后切换损失并单步查看,也可对同一初始模板重新运行作比较。