本文基于诺亦腾联合创始人、CTO戴若犁博士于2024年10月开源创新大会的主题演讲修改而成,亦为2024年8月世界机器人大会期间发表的《用动作捕捉技术构建具身智能数据工厂》一文的续篇。
数据是横亘在具身智能规模化落地面前的一座大山。在过去的两年里,诺亦腾深入机器人行业,在商业一线感知水温,在与合作伙伴携手前行的过程中发现了具身智能行业缺数据,缺高质量数据的现状。
以可控的成本建设高质量、大规模数据集并以此树立技术门槛,已逐渐成为整个行业的战略共识。然而,其中真正的挑战,仍未被业界充分认识。
戴博士基于服务具身智能行业客户的一线落地经验,针对具身智能数据工厂建设中有关数据采集、设备选择、管理优化、数据上规模等实际的难点与挑战,分享了他的经验与洞察。欢迎转载分享。
感谢各位。
在咱们这个领域,快速、高效积累大规模高质量数据集的重要性已经被认可。我此前曾经围绕「利用动作捕捉技术建设具身智能数据工厂」这个话题分享过一些经验,关于动作捕捉、高精度追踪技术在具身智能领域中怎么用,典型的遥操作数据采集工作流是什么样子的,四种数据生产方式的特点和长短板都在哪里等。在那之后,诺亦腾与一些有远见有实力的机构、公司积极展开合作,获得了许多第一手的珍贵实践经验。感谢他们的信任,也感谢他们允许我把部分「最佳实践」信息面向行业做有限度的披露与分享。
2024年开源创新大会戴若犁博士演讲
在这个过程中我们发现,有一些问题仍然是行业中的 Open Questions:数据采集的最佳实践流程(production pipeline)应该是什么样子的?会遇到哪些困难?多大的数据量才足够闭环一个相对泛化的任务?合成数据和真实数据的比例应该是多少?Cross-embodiment gap (跨本体的数据通用性)能不能解决?Sim2Real gap(仿真数据可用性)能不能解决?行业中的各位都在怎么干?
所以我今天的分享,主要围绕数据采集这件事情展开,聊一聊数据采集这件事情的难度究竟在哪里。主要讲三个「难点」:
① 数据精度与连续性、鲁棒性的平衡以及解法;
②「Demo」与「量产」的区别,多席位采集中的各种挑战;
③「1000万条数据」的生产意味着什么。
我会快速地铺展开全貌,希望能够为大家带来一些启发。
讲正题之前,我首先要向在座的一位嘉宾致敬,他就是 OpenCV 的创始人 Dr. Gary Bradski。不夸张地说,我们这个基于计算机视觉的动作捕捉与追踪的行业的饭碗是他给的。感谢他今天专门来听我这个 Talk。
数据精度与连续性、鲁棒性的平衡以及解法
「既要,又要,还要」
第一个难点在于如何满足「既要又要还要」:既要保证一定的精度需求,又要最大程度保证数据的连续性与鲁棒性,且做到多快好省。
诺亦腾动作捕捉应用于各类机器人遥操作
首先需要明确的是:在遥操作数据采集中,对于数据连续性和鲁棒性的需求高于对数据精度的需求。一般来说,本体映射会造成损耗,实际末端精度达不到亚毫米级别,但由于「人在流程中」(Human-in-the-loop),最终的遥操作任务达成和末端交互精度由遥操作「中之人」来保障,因此厘米级别精度就足以满足具身智能遥操作数据采集的需求。如果盲目追求高精度,忽略数据的连续性,有可能会产生极高的后期数据清理费用,而这一费用甚至要远高于数据采集流程中所有设备与人员的成本摊销。
诺亦腾动作捕捉应用于各类机器人虚拟遥操作
另一方面,一个具身智能数据工厂要确保单日单席产出100条有效数据的要求(后面会介绍为何单日单席产出100条有效数据是合理目标),数据筛选与标注的流程应当在数据产出后马上进行。如果数据质量差、连续性差,就必须删除数据重新采集。数据连续性未达到标准,会进而影响整个数据采集流程的效率与稳定程度。
「惯性」还是「光学」?
在这里就不得不谈一谈关于遥操作动作捕捉设备的选择。「惯性」还是「光学」?这是一个问题。惯性动作捕捉设备依靠穿戴于人体关键肢体位置的惯性测量单元(IMU,由陀螺仪、加速度计以及磁力计构成)估算人的动作姿态。而光学动作捕捉设备利用工作在 850nm 至 900nm 红外波段的高速相机系统,捕捉人体动捕服上的马克点(Marker)计算动作姿态。
技术路径的区别决定了惯性动作捕捉只有姿态精度,没有位置精度可言。它的算法基于前向动力学(FK),逆向动力学(IK),生物力学(Bio-Mechanics)与物理引擎(Physical Engine),我本人和诺亦腾的研发团队在这套算法身上花了十余年的时间。惯性动作捕捉可以满足视觉合理性、动作一致性、物理可解释性,但是无法满足末端绝对精度。如果有人问起「惯性动捕的指尖精度是厘米级别还是毫米级别」,这个问题是不存在答案的。
典型的惯性动作捕捉过程 powered by PN Studio
与之相对,光学动作捕捉设备一直是「室内高精度位姿追踪」的「金标准」,可以达到亚毫米级别的追踪精度。光学动捕厂商可以提供不同分辨率、不同FOV的镜头供选择,单镜头价格从几千元到十几万元不等。光学动作捕捉一直是影视特效与科研领域的香饽饽。
那么,是不是说光学动捕就是优先选择的对象呢?事实上并不是这样的。
在实践中,都把惯性动作捕捉作为了第一选择。惯性动作捕捉设备相对便宜,单角色可穿戴动捕设备的市场标价(list price)一般在几万元人民币到几十万元人民币不等,但在遥操作数据采集流程中,价格低并不是惯性动捕的最大优点。
惯性动作捕捉技术最大的优势在于它的数据永不中断,环境适应性极强,完全不会受到遮挡影响。如果解决好了地磁干扰问题和射频干扰问题(后文会专门提及这两个问题如何解决)则几乎不用考虑在哪里能用、怎么才能用的问题,也无需顾及遥操作时完成何种任务,无需担心数据的鲁棒性受到影响。
如前面提到的,惯性动作捕捉没有末端绝对位置精度可言,那为何这些头部企业(以及诺亦腾绝大部分的遥操作需求用户)还是会选择它呢?其关键在于「人在流程中」。
从人体180个自由度的构型向机器人URDF构型的映射
在遥操作过程中,末端精度并不是依靠毫米级/亚毫米级精确映射人和机器人的末端执行器(人手与机器灵巧手)的指尖运动或高精度电缸/伺服关节控制达成的,而是依靠人眼和人脑达成的。遥操作人员主观视觉全程关注机器人灵巧手而不是自己的手,一旦触碰到交互物体,他穿戴着动捕手套的手指就会停止运动。依靠人眼、人脑与肢体的协同来保证任务闭环与末端精度。在这个环节中,动作捕捉系统充当的并不是高精度金标准量测设备,而是一个符合人类自然动作人机交互的“遥控器”(”It's a joystick”,北美某头部人形团队运控 team leader 的原话是这样讲的)。
光学动作捕捉的两个「圣杯」
在机器人领域中,中等精度遥操作确实用惯性动捕就够用了,但是光学动作捕捉的需求仍然非常明确。在有多人交互、人和机器人协同,机器人与第三方物体交互的场景,或者超高精度人类动作采集,人手动作采集(非遥操作需求,而是人类高精度动作数据需求)这样的需求中,事实上需要将光学系统与惯性系统联合使用:通过惯性系统获取基本的人体姿态信息,通过光学系统获取有精度需求的关键点信息(比如末端执行器:双手,以及第三方交互目标物体)。这个需求中,传统光学系统其实面临着着重大的挑战,但绝大多数业内人士甚至没有意识到这一点。
光学动作捕捉世界一直存在着两个「圣杯」问题——谁解决了这两个问题,谁就摘下了这个领域皇冠上的明珠。第一个问题是抗遮挡(anti-occulusion):光学动捕系统通过对每个相机视距范围、视野范围内的马克点的圆度、尺寸、圆心位置进行识别与追踪估算,作为其动作捕捉的基础数据来源(raw data)。一旦马克点被环境、道具或者人自身遮挡,那么之后所有的追踪或动捕都会受到影响。
由于马克点被遮挡,图中动作捕捉数据受到严重影响
而机器人数据采集与遥操作异常复杂,遮挡情况严重,横向对比影视特效摄影棚的环境,或者严格可控的实验室环境,环境和遮挡挑战从30分被拉到了90分。
我们想象一个场景:一个产业工人打开料仓,伸手进去取货,再将货物搬运出来进行码垛。在这个过程中,他的关键肢体有多少次会被环境,被货物,被自己的身体遮挡?再想象一个场景:一个竞速魔方运动员,他在把玩魔方的过程中,他的手指会有多少次被遮挡?
在传统光学动作捕捉流程,特别是服务那些影视特效、动画制作的应用中,这些遮挡可能并不是问题。即便整个项目所需要清理的数据高达1000条,其后期数据清理(data clean-up)单价或许会超过 20元/s 粗修,200元/s 精修的行业标准,但这些成本仍然是在可控范围内的。
2022年2月 某互联网大厂高精度动作捕捉数据修复需求报价单
但是如果当我们的需求是面向泛化抓取任务的 200万条灵巧手操作数据,每条数据时长为10-20秒时,后期的数据清洗将会是一个完全无法承担的成本。遥操作数据必须尽可能地连续,极少中断,遮挡问题必须要解决。
光学动作捕捉的第二个圣杯问题是「同型刚体」(identical rigid-body): 光学动捕技术要获取一个空间物体,或者人的肢体的六自由度位姿信息,需要用不少于三个马克点构建成一个固定形态,我们称之为刚体(rigid-body)。为了追踪多个目标物,每个刚体需要是不同形态的「异型刚体」(heterogeneous rigid-body),否则光学动捕系统就区分不出来哪个刚体代表左手,哪个刚体代表右手。换言之,传统光学捕捉系统,用异构的方式给每个刚体带来了独立「ID」。
同型刚体(左)与8种不同构型的异型刚体(右)
在传统的影视与科研应用中,这仍然不是什么大问题。在空间追踪的目标物非常有限的情况下,只需要费点脑子和制作时间,把这些马克点贴成不同的组合形态即可。但是在机器人领域,需求则完全不一样:在机器人遥操作数据采集流程中,数据量需求的基本单位将达到万级,动辄需要数十甚至上百个席位同时进行遥操作数据生产。同一场地中,集中着对应数量的动作捕捉数据采集员,场地内的可追踪刚体数量总和将达到数百个之多。
考虑到可佩戴在身体上的刚体的尺寸是有约束条件的(鉴于佩戴舒适度与安全考量,身体佩戴的刚体追踪物通常不能超过50mm*80mm,而佩戴在手指上的同场尺寸不能超过10mm*20mm)。在这样的条件下,将3-4个马克点在规定尺寸面内贴出几十上百种不同的构型,是数学上无解的任务——刚体中每个三角形的每条边的差异度,需要大于半个马克球的直径。换而言之,尺寸约束、不同构型、数量极多——这三个条件构成了事实上的「不可能三角形」。
关于光学刚体的「不可能三角形」悖论(Trilemma),三者不能同时成立
因此只有采用同型刚体,且用某种巧妙的办法使其能被赋予各自的唯一ID时,光学动捕才能在具身智能人形机器人数据采集流程中发挥优势,才能被应用到这一领域中。
诺亦腾基于同型刚体的光惯混合手指动捕
完美的一揽子解决方案
因此,面向具身智能行业需求,我们搞动捕的人都撞墙了——惯性动作捕捉存在着末端精度的问题,光学动捕存在遮挡和异构刚体问题,有没有解法呢?答案是有的。光学与惯性混合的 HybridTrack 系统可以完美地一揽子解决以上所有问题。这是一套诞生于2018年的算法与软硬件系统,将惯性与光学系统的优质特性融合在一起,用光学定位补充惯性末端精度,用惯性数据源与光学计算进行紧耦合,极大提升了光学系统的抗遮挡能力,并将惯性传感器的ID赋予同型光学刚体。甚至可以毫不夸张地讲,这是到目前为止唯一能完美保障机器人遥操作数据采集,或者大规模人体动作、超高精度手部动作数据采集流程的系统。
2018年 诺亦腾同型刚体研发项目
诺亦腾多人全场互动仿真实训项目
从「Demo」到「量产」 多席位采集中的各种挑战
至此,我们讲清楚了如何在合理预算下,从技术的角度大力出奇迹,来平衡数据精度与数据鲁棒性和连续性的问题。这是几乎最重要,也是最难的一个挑战。但它不是唯一的挑战。
正如前面所提到的,在机器人遥操作数据采集的流程中,为了应对万级的数据采集量,常常需要数十甚至上百个席位,同时进行遥操作数据生产。当到了这样的「量产级别」规模时,许多此前在Demo阶段预料不到的问题就会出现。比如说网络复杂度的问题、射频干扰的问题、长时间供电的问题以及多源信息同步的问题等等。这些问题是必须要通过工程手段逐一解决的,不解决就上不了规模,或者上了规模仍然无法高效生产。
举例来说,在一个具身智能数据工厂中,有100个采集席位。数据采集员身着目前主流的无线传感器动作捕捉设备。在这种情况下,无线信道的并发数量、所占用的带宽是超负荷的,而很多厂商可能对于这一点缺乏预判与准备。这种「射频打架」的状态影响数据回流,无法获得良好的数据得包率,无法做到时间对齐,甚至连最基本的连续性都无法保证。显而易见在这种条件下获得的数据是无法用于模型训练的。
为了应对各种挑战,诺亦腾进行了针对性地研发工作,重构出专为具身智能数据采集场景优化的全身有线动作捕捉设备,开发出了更好的抗磁算法,用在线动态误差估计修正了传感器时漂、温漂等一系列问题,还通过全系统能耗优化提升了设备的续航时间——针对性地解决了各种问题。
「1000万条数据」的生产意味着什么?
人类遥操作人员穿戴着动作捕捉设备,操控机器人在真实的环境中采集真实数据,再将这些数据与视觉信息、运控信息、力触觉信息数据等打上时间标签同步,打包回流,这样的流程没有 Sim2Real Gap(仿真-现实域差异),没有 Environment domain Gap (环境差异),获得数据的质量最高。我们可以将这个流程简单理解成开着一辆智能驾驶车辆上路,获得最真实的第一手真实行车数据。这非常类似于在自动驾驶领域中已经得到验证,并且正在大量实践的端到端自动驾驶模型的数据采集流程。
那么多大的数据规模才能够满足具身智能模型训练的需求呢?通过和行业中从事端到端训练的专家交流,我们得到了一个大致的量级:基本上百万条有效数据这样的规模才是足够闭环一个场景中的泛化任务执行能力的训练。对于具身智能机器人领域来说,我们把bar再提高一点,可以得出结论:1000万条高水平、高质量的数据是一个门槛,只有迈过去这个,才能真帮人类干点活,我们才不用那么卷。
那么1000万条数据意味着什么呢?我们不妨来算一笔账。假设某企业建设了一个规模化的具身智能数据工厂,有100个席位,每一个席位的采集员和标注员每天可以出产100条数据,每天一共可以采集一万条数据,一年可以采集300万条。所以说,1000万条数据的flag,需要300个席位单班,或者100个席位三班倒,猛干一年才能够实现的数据量,这是一个相当庞大的工程。
从0到1实现数据采集的 Demonstration,其实是非常快的。但要从这一步走到100-200个数采席位,三班倒去采集数据的具身智能数据工厂,其实仍有90%的路还未走完。其间会面临许多需要切实解决的问题——甚至可以说,当面临1000万条数据的生产的时候,这个项目的管理复杂度跟实际运营一个工厂其实并无区别。目前许多研究者、业界从业者暂时还未发现这是个重大挑战,或者没做好如何去做的准备。诺亦腾在大规模的设备管理、复杂环境的应对等方面,通过此前大量的项目经验,积累了丰富的经验。
曾经诺亦腾做过一个非常有趣的项目:上百位观众身着设备同时进行虚拟现实体验,体验奔驰发布的全新一代A-Class轿车,这个项目的灵感来源是当年很火的电影《头号玩家》。在这样的一个场地中,有上百人的规模,同时运行各类动作捕捉、Tracking、VR设备,在三天的时间中接待了上千人——这不仅仅是一个技术难题,更是一个管理难题,是一件非常有挑战性的事情。
最后还有一个大挑战,是关于数据量的。1000万条数据简单换算,大约要用6.5吨硬盘来存储,如何保证数据维护、管理、存储、运转的可靠性是一个大挑战,对于建立具身智能数据工厂而言,或许也需要建设配套的边缘云,找到合适的供应商提供数据服务。同样是具身智能数据工厂建设过程中不得不去考虑的问题之一。
总结
最后我们总结一下。前面讲述的三个难点,是诺亦腾目前通过合作,通过实践积累的一些经验。具身智能数据工厂,或者说具身智能数据的积累很难,很具有挑战性。但是它本身的价值与需求的天花板会很高,会是一个有着可观回报,或者说能够积累长期价值的事情。这一领域目前仍然处于上升期之内,低谷期和长尾期尚未到来,因此这件事情非常值得长期坚持做下去。
想要做好这件很难的事情,需要拥有很强的能力,也需要携手各方展开合作:本体厂商、模型厂商,像诺亦腾这样做设备的厂商,以及全球的开源社区、学界一起努力。对于诺亦腾而言,我们的目标是和合作伙伴们一起努力去积累这样一些能力,一起做好这件非常有价值、有意思的事情。
2024年开源创新大会戴若犁博士演讲
谢谢GOSIM组委会的邀请,我们也愿意给开源社区做点贡献,比如联合起来弄个足够大的、高质量的「具身智能开源数据集」。