面向操作的关键点表征

稀疏的 keypoints 关键点给操作策略一个类别级的抓手,在原始像素和学习到的隐向量都做不到的地方泛化到新物体。

阅读约 5 分钟

货架上摆着两个马克杯。一个是矮胖的蓝色陶瓷杯,一个是高高的白色旅行杯。对一个读原始像素的策略来说,这是两张几乎毫无重叠的、互不相关的图像。对一个读 keypoints(关键点)的策略来说,它们是同样的三个点:杯沿、手柄根部、杯底。一种表征让两个杯子形同陌路,另一种让它们亲如手足。

这道鸿沟就是关键点的全部论据。操作策略通常并不需要一个物体完整的像素外观,它需要的是少数几个与任务相关的位置,并能在不同实例和视角间被可靠地跟踪。拿到这些点,很多泛化几乎就是白送的。

代价是,得有人、或有某个系统,去定义并找到这些点。真正的工作、以及真正的数据问题,就住在这里。

两个杯子,三个点

关键点表征用一组稀疏的、带标签的三维位置,取代稠密的图像,而这些位置在一个类别的每个实例上都表示同样的含义。无论杯子是蓝是白、有没有磕碰、是不是半掩在阴影里,手柄关键点始终是手柄。因为这些点由功能而非外观来定义,建立在其上的策略天生就继承了一种类别级的不变性,而像素策略必须从零学起。

这是一个老想法在新场景里的应用。经典视觉用关键点做匹配。kPAM 和稠密物体描述子一类方法把这个想法带入操作,让策略把任务表述为语义点之间的关系:把杯沿关键点放到盘子关键点上方,把轴的关键点对准孔的关键点。

为什么“稀疏”在泛化上胜过“稠密”

支持关键点的理由,是一个关于“泛化从何而来”的理由。原始像素策略必须仅凭训练信号,从无关因素(颜色、logo、光照)中拆解出真正重要的因素(手柄)。数据足够多时它能做到;数据现实一点时它常常做不到,反而抓住某个恰好与成功相关的虚假线索。

关键点把这种拆解作为先验注入进去。通过预先认定“这些位置才是重要的”,表征丢掉了策略本会过拟合的外观。像 Stanford IRIS lab 关于结构化表征的工作,以及当前 arXiv Robotics (cs.RO) 上源源不断的结果,都反复发现同一件事:稀疏结构用一点点表达力,换来了大量的稳健性。

关键点之所以奏效,是因为它丢掉了图像中那部分策略本会去过拟合的东西。

几种表征并排比较

表 1:操作中的状态表征对比
表征对新实例的泛化样本效率何时失效
原始像素数据不足时很差外观变化、新背景
学习到的隐向量中等中等分布漂移、失败不透明
物体位姿(6-DoF)对刚性已知物体很好物体形变或未知
语义关键点类别内很好遮挡、可形变、点未定义

没有哪一行是白捡的。当你有 CAD 模型和刚性物体时,位姿估计极佳;面对一条毛巾则毫无用处。关键点在类别内大放异彩,但一旦某个点被遮挡、或在一个新形状上根本不存在,就会陷入困境。

关键点从哪里来

表征的好坏,取决于其背后的对应关系。要训练一个关键点模型,你需要许多实例的许多视角,并让这些点彼此一致:这里这个像素,与那里那个像素,是同一个语义手柄。取得这种对应关系,正是关键点悄悄施加的数据成本。

人类示范在一个特定方面有帮助。当一个人操作物体时,他的接触点就是“哪些位置与任务相关”的强先验,而他的手会在整个动作中跟踪这些位置。像 Open X-Embodiment 这样的大型多本体集合,提供了关键点模型所需的跨实例多样性,以免它死记单一物体;而 NVIDIA GEAR Lab research 团队的物理先验工作,正是倚重这类结构化的中间表示。

从点到动作

关键点是一种状态表征,而不是策略。总得有什么东西,把“轴的关键点距孔的关键点 3 cm”变成电机指令。在实践中,这里分出两种设计风格。一种把关键点作为紧凑的观测喂给一个学习到的策略,让网络去把点映射到动作。另一种把任务写成一个显式的几何目标,把这些点驱动到那种配置,再交给一个优化器。

学习路线更灵活,能应对纯几何忽略的接触与动力学。优化路线更可解释,一旦关键点存在,几乎不需要任务专属数据。多数能用的系统会把两者混合:用关键点定义目标,用一个学习到的策略去收尾那接触变得杂乱的最后几厘米。无论哪种,这种表征都靠“把下游问题变小”来证明自己的价值。

把局限说清楚

关键点不是万能的状态表征。可形变物体打破了“固定一组点即可描述物体”的假设;一件折叠的衬衫没有稳定的“第三个角”。严重遮挡会藏起策略赖以为生的那些点。而且,究竟哪些点对某个任务重要,仍然得有人来决定,这个选择无法干净地自动化。

诚实的立场是:对已知类别内的刚性和铰接物体,关键点是一个强大的默认选择;对可形变的长尾,它并不合适。分清自己身处哪种情形,就已经赢了一半。

原始像素把一个物体的一切都告诉策略,而这恰恰是问题所在,其中大部分对当前任务而言都是噪声。关键点押注于“少数几个精心挑选的位置承载了信号、其余可以丢弃”,而在合适的情形里,这个赌注会以“无需用数据去买的泛化”回报你。难处在于,这些点总得从某处来。而那个“某处”,正越来越多地变成正在做事的人手,并以让结构得以幸存的方式被采集下来。

keypointsrepresentationgeneralizationmanipulationdatasets

来源