微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 会动的马,会抓东西的机械臂,还有一块被夹住的软布

会动的马,会抓东西的机械臂,还有一块被夹住的软布

2026-11-13 11:06
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-11-13 11:06 • 科技行者

你有没有想过一个问题:如果给你一匹正在奔跑的马,只告诉你它尾巴上一个点、耳朵上一个点、前蹄上一个点的运动轨迹,你能不能猜出它全身每一寸皮肤接下来会怎么动?

这听起来像是个脑筋急转弯,但其实是一群做计算机图形学和机器人研究的人正经八百在琢磨的问题。他们管这个叫"稀疏到稠密的运动补全"。

简单说就是:已知少数几个点怎么动,推算出所有点怎么动。

这个问题在现实里到处都是。拍视频的时候,摄像头只能追踪画面里看得见的几个特征点;机器人身上装的传感器,往往只有关节处那几个;给动物或者布料做动作捕捉,身上能贴的标记点总是有限的。但我们想要的,是整个物体表面的完整运动,包括那些没被观察到的地方,甚至包括摄像机根本看不到的背面。

这篇论文的作者们給这个系统起了个很诗意的名字,叫CEPHEID,造父变星,天文学里那种亮度会周期性变化、因此可以用来测量宇宙距离的恒星。这个名字其实暗合了论文的核心思路:把"形状"和"尺度"这两件事彻底分开处理,就像造父变星的亮度周期和它的实际距离是两件可以分别测量的事情一样。

问题到底难在哪

先说说这个领域里原本已经有的"笨办法"。

如果你有一个三维网格模型,网格的顶点之间天然连着边,像一张渔网。如果你知道渔网上几个点被拉动了,其余的点理应跟着动,动多少取决于它们离被拉动的点有多近、隔了几层网格连接。这套数学工具叫做*谐波扩展*,简单理解就是在网格图上解一个"扩散方程",已知边界条件(被观察到的那几个点的位移),反推出所有未知点最"平滑"、最"合理"的位移分布。这个过程不需要任何训练数据,纯粹靠网格的连接关系做一次线性方程求解,所以论文里把它叫做"无参数的基准线"。

谐波扩展有个很朴素的物理直觉:运动会沿着网格结构"传导"开来,离观测点越近,传导越强;离得越远,传导越弱,最后趋于平静。这就像往水里扔一颗石子,涟漪会一圈圈往外扩散,离中心越远,水面晃动得越轻微。

但现实世界的运动往往不是这么老实的。一匹奔跑的马,尾巴甩动的幅度可能比腿部运动大得多;一块随风飘动的布,局部褶皱的剧烈程度跟整体飘动完全不是一个量级。谐波扩展只能给出一个"平均而言合理"的猜测,却抓不住这些局部的、复杂的、非线性的真实运动细节。

于是,过去几年里研究者们开始尝试用深度学习来"修正"谐波扩展留下的误差,也就是用神经网络去学习真实运动和谐波扩展预测值之间的差距,论文里管这个差距叫*残差*,也就是真实值减去基准预测值剩下的那部分。

思路很合理:谐波扩展负责打个底,神经网络负责在上面精雕细琢。可问题来了,如果你拿一个专门学人体动作的网络,去预测一块布料的运动残差,它大概率会预测得一塌糊涂,甚至比什么都不做的谐波扩展还差。

这篇论文里有组实验数字让人印象很深。研究者训练了三个"专才"模型,分别只学动物骨架运动、只学人体运动捕捉数据、只学机械臂运动,然后让这三个模型互相"串门",去预测自己没见过的那类物体的运动。结果十二次跨领域尝试里,有七次的表现比什么都不做的谐波扩展还要差。

拿布料这个例子来说,原本专攻人体动作的那个模型,预测布料运动的误差比谐波扩展高出25.5%,专攻机械臂的那个模型也高出7.8%。

这就好比你请了一位精通京剧唱腔的老师傅去指挥一支摇滚乐队,他懂的那套发声技巧、节奏感、情绪处理方式,套用到完全不同的音乐体裁上,不仅帮不上忙,反而可能把原本还算过得去的即兴演奏搞得更乱。如果乐队本来什么指挥都没有,靠乐手们自己凭感觉对拍子,效果说不定还更自然。这就是"负迁移",专业知识用错了地方,比没有专业知识更糟。

那如果把所有类型的数据混在一起训练一个"全能"模型呢?这就引出了论文里发现的第二个大麻烦。

尺度这个隐藏的大麻烦

研究者发现,不同类型物体的运动残差,其振幅差异大得惊人。在观测密度相同的情况下,动物、人体、机械臂这三类训练数据的残差振幅能相差18到39倍。更麻烦的是,同一类物体,当你观测到的点变多时,残差振幅会随之骤降,降幅能超过一个数量级。

这个现象背后的道理其实不难理解。观测点越密集,谐波扩展的基准预测就越准,因为它能更紧密地贴合真实边界,留给神经网络去修正的"剩余误差"自然就越小。但问题是,残差的真实大小依赖于你还不知道的目标运动本身,而这恰恰是在实际预测时你永远拿不到的信息。

这就像让你去估计一场晚会的礼物预算,但预算的具体数字取决于来了多少位客人,而客人数量这件事你在准备礼物的那一刻根本不知道。

网络模型:一句话解释,这里指负责从观测数据中学习运动规律并做出预测的神经网络结构,是整个系统里唯一通过梯度下降训练、参数会随着学习不断调整的部分。

残差:一句话解释,真实运动值和某个基准预测值(这里是谐波扩展的结果)之间的差值,也就是基准没能解释、需要额外补充的那部分信息。

如果直接拿原始的残差数值去训练一个跨家族的统一模型,网络会被这种剧烈的尺度波动搞得晕头转向。它可能在学习动物数据时学到"残差一般是这么大",转头去处理布料数据时却套用了完全错误的尺度,预测出来的修正量要么太夸张要么太保守。

这正是这篇论文最核心的洞察:把运动的"形状"(往哪个方向偏、偏移的模式长什么样)和运动的"尺度"(具体偏移多少)彻底拆开处理。神经网络只负责学习一个无量纲的、经过归一化的残差模式,专注于"形状"这件事;而"尺度"这件事,交给一套单独设计的、不依赖目标真值的估算规则去完成。

这个拆分思路,让人联想到裁缝做衣服的逻辑。一件衣服的版型(肩宽、袖长、腰身曲线的比例关系)和这件衣服具体做多大尺码(是给小孩穿还是给成年人穿),本质上是两件可以分开处理的事情。版型设计师专注打磨比例是否好看、是否合身,量体师则专门负责量出具体的尺寸数字。如果让版型设计师同时兼顾不同体型的具体尺寸,他设计出来的版型大概率会在某些尺码上特别走样,因为他的注意力被尺度问题分散了。

拆开之后,怎么把尺度找回来

把残差模式学成无量纲的之后,一个新问题随之而来:在实际预测的时候,这个无量纲的模式需要乘上一个具体的物理尺度才能变回真实的运动预测。但这个尺度本该等于真实残差的离散程度,而这恰恰是无法在测试时直接测量的,因为你压根不知道真实运动是什么。

研究者的解法是:用观测到的那几个点的位移离散程度,作为一个"量纲正确"的参照基准,再用一个轻量级的修正公式,把这个参照基准微调到更接近真实残差尺度。

论文里把这个参照基准叫做*观测增益*,也就是已知观测点位移数据本身的标准差,它天然带着正确的物理单位(比如毫米),相当于给尺度估算提供了一把"及格线"的尺子。

修正公式:一句话解释,这里特指一个经过岭回归拟合、包含11个无量纲特征(比如观测点密度、图连接跳数、基准场的粗糙程度等)的指数函数,用来把观测增益微调成更贴近真实残差尺度的估计值。

这套修正公式是在三个训练用的数据家族(动物、人体、机械臂)上提前拟合好、然后冻结参数的,面对布料和多足机器人这两个从没见过的家族时,也原样套用,不做任何针对性调整。

效果如何?论文给出的数据相当扎实:在布料这个完全没训练过的数据上,用这套目标无关的尺度估算方法,完成运动补全的误差,和一个"开了天眼"的理想方案,也就是提前知道真实答案、反推出最优缩放系数的理论上限相比,差距只有1%到8%。

这个数字的分量在于,这套系统完全没见过布料数据,也不知道布料真实该怎么动,却能把尺度估得和"作弊"方案相差无几。

打个比方,这就像一个没去过某个陌生城市的人,只靠观察当地建筑的大致风格和路牌密度,就能估算出从车站走到某个地标大概需要多少步,而这个估算结果,居然和一个随身带着精确地图的人算出来的步数差不了几步。如果没有这套基于观察线索的推断方法,这个陌生人要么得瞎猜一个数字(可能差出十万八千里),要么只能原地不动等人带路,什么估算都做不出来。

研究者还专门验证过,如果不做任何修正,直接把观测增益当成最终尺度使用,效果在布料上是全面劣于谐波扩展的,误差从0.68到0.5一路恶化到1.3以上。而借用别的数据家族事先拟合好的查找表,虽然比完全不修正要好,但在某些观测密度下依然比不过这套目标无关的估算方法。换句话说,量出来的尺子本身已经不错,但没有恰到好处的微调,照样会在陌生场景里栽跟头。

骨架之外:这个模型是怎么"看懂"形状的

光解决了尺度问题还不够,网络本身需要一个足够灵活、又能跨越不同几何结构的架构来学习残差的"形状"。

研究者采用的骨干网络叫MGN-T,这是一种在图神经网络的消息传递机制中间插入一层Transformer注意力模块的混合结构。

消息传递:一句话解释,图神经网络里的一种计算方式,每个节点(这里是网格顶点)会收集来自相邻节点的信息,逐层更新自己的状态,从而让局部信息沿着图结构传播开。

Transformer注意力:一句话解释,一种不依赖固定邻接关系、能让任意两个位置的信息直接"对话"的计算机制,常用于捕捉长距离依赖关系。

为什么两者都要?消息传递擅长处理局部的、依赖网格连接结构的形变,比如相邻顶点之间应该如何协调运动;但注意力机制能让相距很远、网格路径上要绕很多圈才能连通的两个区域直接交换信息,这在观测点稀疏、很多顶点离最近的观测点有好几跳距离的情况下尤其重要。

论文里做了个对照实验,用同等训练预算的纯消息传递网络和带注意力的MGN-T在DT4D动物数据集上做比较。结果显示,带注意力的版本整体误差降低了4.9%,而且这个优势在观测最稀疏的时候最明显,能达到7.5%的相对误差降低。

这说明注意力机制发挥作用的地方,恰恰是信息需要"跳得远"的场景,就像一个小镇上如果只靠邻里之间口口相传消息,消息传到镇子另一头可能already面目全非,但如果镇上装了广播喇叭,再远的消息也能直接传达到。

预测的时候,系统不会只生成一次结果就算完事,而是用*流匹配*这种生成式方法,从多个随机的高斯噪声起点出发,分别推演出一条预测轨迹,再把这些独立的预测结果取平均。

流匹配:一句话解释,一种训练生成模型的方法,核心思路是学习如何把一个简单的随机噪声分布,逐步"流动"变换成目标数据的真实分布。

论文测试了平均几次预测效果最好,发现平均8次之后,再增加到16次带来的提升已经很微弱,只有0.8%到2.1%,而如果只用单次预测(不做平均),误差会比平均16次高出8%到25%不等。这说明多次采样取平均确实能抹平一些随机性带来的波动,但收益递减得很快,8次是一个性价比合适的平衡点。

四个积木,拆掉哪块房子会塌

一个系统里有多个组件协同工作时,很自然会问:每个组件到底贡献了多少?如果拿掉某一个,会发生什么?

研究者做了一次系统的拆解实验,把整套方法拆成五个可以独立开关的设计选择:要不要用谐波扩展做基准、要不要做多次采样平均、要不要用流匹配这种生成式建模方式、要不要让网络的输入里包含谐波扩展的结果作为条件信息、要不要做目标无关的尺度恢复。

结果很有意思:只有两个组件的拆除会导致系统的表现反过来比什么都不做的谐波扩展还差。

去掉谐波扩展这个基准之后,模型在布料和多足机器人这两个从没训练过的家族上,误差直接飙升到谐波扩展基准的2.4倍。这说明谐波扩展提供的那个"几何上合理"的初始猜测,对整个系统至关重要,它相当于给神经网络的学习任务先行排除掉了大部分基础工作量,网络只需要专注学习"谐波扩展还差在哪里",而不是从零开始猜测整个运动场。

去掉尺度恢复这个环节,把估算尺度直接固定成1,在布料上误差还能勉强控制住,但在多足机器人数据上却反超了谐波扩展,误差从0.247恶化到0.409。这正印证了前文说的尺度剧烈波动问题:不同家族的残差振幅相差巨大,如果不做任何缩放调整,某些家族的预测会被严重放大或压缩。

而其余三个组件,去掉条件输入、去掉流匹配、去掉多次采样平均,虽然都会让效果变差一些,但不会让系统反过来输给谐波扩展这个最基本的底线。

这组实验的意义在于说清楚了一件事:在这套系统里,谐波扩展和尺度恢复是两根真正的承重墙,其余的设计选择更像是装修细节,能让房子住得更舒服,但拿掉它们房子不会塌。

当年没训练过的东西,现在能用了吗

最让人好奇的,其实是这套系统能不能真的跳出训练数据的边界,用到完全陌生的场景里。

研究者做了两个很直观的演示。

第一个是机器人抓取软体物体的场景。在仿真环境Isaac Lab里,一只机械臂抓起一根软软的横杆,整个系统(机械臂、底座、被抓的软横杆)被当成一个5525个点的集合,点与点之间不靠网格的面连接,而是靠最近邻关系构建的图。观测信息只有机械臂身上的8个本体感知点(抓手上4个,底座上4个),而被抓的软横杆上一个观测点都没有。

结果呢?系统从机械臂传感器的8个点出发,成功推算出了那根完全没被观测的软横杆大概会怎么运动,整个过程没有用到任何关于这根横杆物理属性的先验知识,也没有接触约束建模。

第二个演示更有意思,是在一段现实世界拍摄的跳马视频上做的。用一个叫CoTracker3的点跟踪算法,从视频里追踪出马身上12个一直可见的点,再用单张图片三维重建工具TripoSR,从某一帧画面重建出马的三维网格模型。

CoTracker3:一句话解释,一种能在视频序列中持续追踪指定像素点运动轨迹的算法,即使这些点在部分帧里被遮挡也能通过时序信息进行恢复。

TripoSR:一句话解释,一种从单张图片快速重建出三维物体模型的技术。

有意思的是,这套系统不仅补全了画面里能看到的120个点的运动,还补全了马身体背对摄像机、全程从未被任何镜头捕捉到的另外120个点的运动。

这里要老实说一句:这些背面的点没有真实答案可以对照,论文自己也承认这一点,它想证明的不是补全结果有多精确,而是证明这套系统确实能借助网格的连接结构,把信息从"看得见的地方"传递到"看不见的地方"。

这就好比你只摸到了一头大象的鼻子和一条腿,却要推测它尾巴此刻摆成什么样子。如果大象全身的骨骼和肌肉连接方式是已知的(相当于网格连接关系),你至少能做出一个有道理的猜测,尽管这个猜测的准确度没法验证,因为你压根没看到尾巴。但如果连这层连接关系都没有,你连猜的依据都没有,只能瞎蒙。

跟其他方法比,差距有多大

论文选了两个有代表性的对比方法。一个叫NSDP,是一种用神经场从稀疏控制点回归稠密运动的方法,论文作者在自己的数据划分上重新训练了它;另一个叫DOMA,是一种不需要离线训练、针对每个场景单独优化连续形变场的方法。

在DT4D动物数据集上,三者的对比结果相当悬殊。在从0.5%到50%的五档观测密度下,这套统一模型的误差始终是三者中最低的,相比谐波扩展基准低了44%到81%。而NSDP在所有五档密度下,表现都比谐波扩展基准更差,误差是基准的1.6到3.6倍;DOMA虽然始终优于基准,但误差也是这套统一模型的1.4到2.5倍。

论文里还放了一张很直观的对比图,用一块从没训练过的布料做测试,只给32个观测点(占全部1577个自由顶点的一小部分)。图里能看到,NSDP的预测直接把布料撕裂了,DOMA的预测让布料整体变形走样、甚至出现了自身穿插的问题,而这套统一模型的预测让布料保持了完整的形状,误差分布图上看起来也暗沉得多,说明误差普遍更小。

论文还专门验证了,如果把谐波扩展这个依赖网格面片连接的计算,换成完全不依赖面片信息、只靠点与点之间最近邻关系构建的薄板样条插值,整套系统依然能正常工作,只是在观测特别稀疏的时候代价会明显增大一些。这说明这套方法的适用范围并不严格局限于"有规整网格"这种理想情况,点云这种更松散的数据形式也能支撑起类似的补全能力。

针对实际部署场景的微调

有一个细节值得单独说一下。训练时,这套系统用的观测点位置是随机抽取的,每次训练样本观测到的点集合都不一样。但现实里一个真正部署的机械臂,它身上装的传感器位置通常是固定的,每一帧观测的都是同一批点。

这种"训练时随机、部署时固定"之间的错位,会带来多大的损失?

研究者专门做了个实验:针对一个固定的三点标记方案(模拟真实机械臂上会装的标记点数量),拿预训练好的统一模型直接零样本去跑,再拿同一个模型针对这个固定观测模式做一万步微调,看两者差距。

结果显示,零样本评估下误差是谐波扩展基准的0.86倍,经过针对性微调之后,误差直接降到基准的0.37倍,相当于误差又砍掉了一半还多。

这个结果说明一件朴素但重要的事:通用的预训练模型确实能在陌生场景下发挥作用,提供一个比什么都不做更好的起点,但如果你明确知道部署时的观测模式会是固定不变的,花一点点代价做针对性微调,收益是相当可观的。这就像一个通才医生面对任何病人都能给出及格的诊断,但如果提前知道病人是来做某个specific手术的,找一个专门做这个手术的专科医生微调一下方案,结果显然会更好。

局限性,这篇论文自己也没回避

论文在结尾部分很坦诚地点出了几处尚待解决的问题。

目前所有的定量评估,都建立在"观测到的位移数据是精确无误的"这个前提之上,没有考虑传感器噪声、跟踪丢失、深度畸变这些真实世界里躲不开的干扰因素。而且,数据来源也五花八门:动物数据是艺术家手工制作的动画,机械臂数据是用正向运动学生成的随机轨迹,布料和多足机器人数据则全部来自仿真,只有人体运动捕捉数据和附录里的机器人抓取数据是真正记录下来的真实动作。

另外,训练过程中采用的观测点抽样方式只有"随机抽样"这一种,没有覆盖"固定点位"这种在实际部署里更常见的情况,虽然前面提到微调能弥补这个差距,但如果不做微调,直接零样本应用在固定点位场景下,性能是打折扣的。

写在后面

读完这篇论文,我一直在想一件事:这套系统最值得玩味的地方,其实不是它预测得多准,而是它把一个看似模糊的概念,尺度,变成了一件可以单独拆解、单独测量、单独修正的事情。

很多时候我们处理复杂问题,习惯把所有变量揉在一起学,指望一个足够大的模型能自己把这些纠缠在一起的因素理清楚。但这篇论文给出了一个相反的示范:先想清楚哪些东西天生就不该混在一起学(形状和尺度),再分别用最合适的工具去处理它们,无量纲的形状交给神经网络去学习模式,有量纲的尺度交给一套基于可观测线索的统计规则去估算。

这种"先拆再合"的思路,其实在很多领域都能看到影子。它让我想起物理学里的量纲分析,把一个复杂的物理方程,硬是拆解成一堆无量纲的比值乘上一个基准单位,这样不管你研究的是飞机还是昆虫,这套无量纲的规律居然是通用的。这篇论文某种程度上就是把这个古老的物理学思路,搬到了神经网络的训练目标设计上。

还有一个细节让我印象很深:论文反复强调谐波扩展这个"不学习"的基准方法,始终是检验学习效果的标尺。如果你的神经网络预测比不做任何学习的方法还差,那这个学习到底有什么意义?这个追问其实挺尖锐的,它提醒我们,在给一个系统加上复杂的机器学习组件之前,先问问自己:这个组件真的比什么都不做更好吗?很多时候答案并不是理所当然的"是"。

这篇论文没有解决的问题,也挺耐人寻味。训练时的观测点是随机撒的,但现实世界的传感器布局往往是固定的、带有特定物理含义的(比如关节处、特定标记点)。如果未来能把"固定观测模式"也纳入训练的多样性里,而不是依赖事后微调去补救,这套系统会不会变得更加"开箱即用"?

Q&A

Q1:CEPHEID是什么?

A:CEPHEID是一个能从稀疏观测点推算出整个物体稠密运动的统一模型,不需要骨架、配准或跨网格对应关系,训练好一次后能零样本应用到完全没见过的几何类型上,比如布料和多足机器人。

Q2:为什么跨类型训练运动预测模型容易失败?

A:因为不同类型物体(动物、人体、机械臂)的运动残差振幅能相差18到39倍,而且观测点越密集残差越小,这种尺度剧烈波动在测试时又无法直接测量,导致单一模型很难同时适配多种类型,容易出现比不学习还差的负迁移现象。

Q3:CEPHEID和谐波扩展这种传统方法比优势在哪?

A:谐波扩展是不需要训练、基于网格连接关系的几何基准方法,CEPHEID在此基础上学习一个无量纲的残差修正,并用目标无关的方式恢复物理尺度,在布料等陌生数据上误差比谐波扩展降低15.6%,多足机器人上降低10.1%。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-