RVT

为了构建一个既能表现出色,又能继承基于视图方法可扩展性的操作网络,提出了 RVT(Robotic View Transformer)。

RVT 的核心是一种 Transformer 架构的基于视图的方法。RVT 能够联合关注场景的多个视图,并跨视图聚合信息。随后,它生成视图级别的热力图和特征,用于预测机器人末端执行器的姿态。

另一个关键创新是,通过从虚拟视图重新渲染图像,实现摄像头图像与输入 Transformer 的图像解耦。由于 RVT 的多视图输入是通过重新渲染获得的,即使只有一个传感器摄像头,也可以使用 RVT。

RVT 在 RLBench 的 18 个任务(249 种任务变体)上的平均成功率比 PerAct 高出 26%。RVT 在 RLBench 的 88.9% 的任务(16/18)上表现优于 PerAct,同时推理速度是 PerAct 的 2.3 倍(11.6 fps 对比 4.9 fps)


Rendering

给定由一个或多个传感器摄像头捕获的 RGB-D 图像,首先重建场景的点云,然后,围绕机器人基座的虚拟视点重新渲染点云。对于每个视图,渲染三种图像映射,总共包含 7 个通道:RGBDxyz。使用 PyTorch3D [56] 进行渲染。

Joint Transformer

重新渲染的图像、任务的语言描述以及夹爪状态被输入到一个联合 Transformer 模型中。对于语言输入,使用预训练的 CLIP [57] 模型(ResNet-50 变体)生成每个单词的嵌入作为 token。对于虚拟图像,将每张图像分割为 20×20 的 patch,并通过一个 MLP 生成图像 token,类似于 ViT。对于夹爪状态,采用与 PerAct [6] 类似的方法,通过一个 MLP 处理后将其与图像 token 拼接在一起。同时,还为所有图像和语言 token 添加位置嵌入,以保留位置信息。

RVT 总共有 8 层自注意力层。在前 4 层中,每个图像的 token 仅允许与同一图像中的其他 token 进行注意力计算。这种设计使网络能够首先处理单个图像的特征。在后 4 层中,将所有图像 token 与语言 token 拼接在一起,并允许注意力层在不同图像和文本之间传播和累积信息。最后,图像 token 被重新排列回原始的空间配置,生成每张图像的特征通道。