当前位置: 首页 > article >正文

【文献阅读】ViNT: A Foundation Model for Visual Navigation

ViNT:视觉导航的基础模型

发表于2023 年 10 月 24 日

ViNT: A Foundation Model for Visual Navigation

摘要

通用预训练模型(“基础模型”)使从业者能够利用比从头开始学习所需的数据集小得多的数据集,为单个机器学习问题生成可泛化的解决方案。这类模型通常在大规模且多样化的数据集上进行弱监督训练,其消耗的训练数据比任何单个下游应用程序可用的数据都要多。在本文中,我们介绍了视觉导航变换器(ViNT),这是一种基础模型,旨在将通用预训练模型的成功应用于基于视觉的机器人导航。ViNT通过一个通用的目标达成目标进行训练,该目标可用于任何导航数据集,并采用灵活的基于变换器的架构来学习导航可供性,并能够有效地适应各种下游导航任务。ViNT在多个现有导航数据集上进行训练,这些数据集包含来自各种不同机器人平台的数百小时机器人导航数据,并且展现出正向迁移能力,优于在更窄数据集上训练的专业模型。ViNT可以通过基于扩散的目标提议进行增强,以探索新环境,并且在配备远程启发式算法时可以解决千米级的导航问题。ViNT还可以通过一种受提示调优启发的技术适应新的任务规范,即将目标编码器替换为嵌入到目标令牌相同空间中的另一种任务模态(例如,GPS路标点或逐向导航指令)的编码。这种灵活性和适应各种下游问题领域的能力使ViNT成为移动机器人领域一种有效的基础模型。

训练数据 ViNT基础模型 零样本部署 适应下游任务


图1:ViNT基础模型概述。ViNT可以在不同环境和机器人实体间进行零样本泛化,并且可以直接应用于包括探索和在人类周围导航等任务。ViNT还可以通过少量数据进行微调,以将其能力扩展到新任务。

 1 引言

最近,机器学习方法在自然语言处理[1]、视觉感知[2 - 4]和其他领域[5, 6]取得了广泛成功,这些方法利用互联网规模的数据训练通用的“基础”模型,这些模型可以通过零样本迁移、提示调优或在目标数据上进行微调来适应新任务[7 - 10]。尽管这种范式在许多领域都取得了成功,但由于环境、平台和应用的多样性,它很难应用于机器人领域。在本文中,我们提出一个问题:移动机器人的基础模型需要具备哪些条件?

在本文中,我们将机器人基础模型定义为一种预训练模型,它可以(i)在新颖且有用的场景(例如,不同的传感器、机器人实体、环境等)中进行零样本部署,并且(ii)适应所选的下游任务(例如,不同的目标、目标规范类型、行为等)。我们特别关注视觉导航问题,在该问题中,机器人必须仅使用以自我为中心的视觉观察来在其环境中导航。一个通用的预训练机器人导航模型应该支持广泛的导航应用,易于对下游任务进行微调,并且能够泛化到广泛的环境和机器人平台。这样的模型应该提供一个具有广泛能力的导航策略,在此基础上可以构建特定领域的应用,为新的机器人平台提供零样本的基础泛化能力和基础功能,并且在使用少量数据进行微调后可以进一步提升。

为此,我们提出了视觉导航变换器(Visual Navigation Transformer,简称ViNT):一种用于视觉导航的跨实体基础模型,具有强大的零样本泛化能力。我们训练ViNT以达到由相机图像指定的目标,提供了一个非常通用的预训练目标,几乎可以应用于任何移动机器人数据集。我们提出了一种用于视觉导航范式的新颖探索算法,该算法使用扩散模型来提议短视距目标,并证明它使ViNT能够在新环境中导航。ViNT可以零样本控制新机器人,探索以前未见过的环境,执行室内地图绘制,并且无需干预即可在千米级的户外环境中导航。此外,我们展示了ViNT可以在少量数据上进行微调,以在新的任务规范模态(例如GPS路标点或高级路由命令)下实现高性能,这使得ViNT能够作为各种导航应用的基础。最后,我们定性分析了ViNT表现出的一些涌现行为,例如隐式偏好和在动态行人周围的导航。

我们希望ViNT代表了朝着这种通用机器人基础模型迈出的一步,这种模型可以部署在广泛的机器人上,用于广泛的任务,并作为各种移动机器人应用的基础。ViNT的模型权重以及训练和部署代码将在我们的项目页面上发布。

 2 相关工作

从大规模、多样化的机器人数据集学习已在各种机器人应用中得到研究,在这些应用中,相似机器人之间的数据共享为更具泛化性的模型提供了更大的训练集[11 - 13]。然而,对于移动机器人应用,由于动力学和相机配置(例如,焦距、视野和外部参数)各不相同,当前的方法往往依赖于从小规模的真实世界数据集学习,这些数据集仅代表单个机器人平台,或者依赖于模拟,通过配对机器人和环境模型来转移学习到的策略[14 - 16]。相反,本文遵循从多个不同的真实世界机器人系统收集的数据中学习导航行为的范式[17 - 19],同时专注于训练一个基础模型,该模型可以零样本或使用少量数据适应各种下游任务。

我们的目标是训练一种有效的视觉导航策略,以解决一系列下游任务,例如导航到GPS目标[20]、目标图像[21]和基于技能的驾驶[22]。遵循视觉导航领域的大量研究,我们结合使用拓扑图来维护环境的空间表示和学习到的策略进行低级控制[23 - 28],并使用学习到的启发式算法在新环境中引导机器人[15, 29]。但与这些工作不同的是,我们的目标是训练一个通用模型,而不是针对每个问题的特定解决方案,展示了一个高容量的单一模型如何适应各种任务。

与ViNT最相关的工作是RT - 1、I2O和GNM [15, 19, 30],它们研究了在现实环境中部署的机器人在不同环境和实体间的广泛泛化能力。虽然RT - 1在遵循各种指令方面表现出令人印象深刻的性能,但我们的重点是通过使用少量数据进行微调,使单个模型能够在多个机器人上适应不同任务。I2O及相关工作[15, 16]展示了从模拟到现实世界环境的出色迁移能力,但我们强调我们的目标与特定算法的选择无关:我们专注于学习一种强大的导航策略,能够有效地适应解决不同的下游任务。GNM [19]展示了从异构RGB数据集进行策略学习,但专注于在零样本设置下到达图像目标这一单一任务。相反,ViNT训练一个通用策略,重点在于适应下游应用中的新实体和新任务,尽管它也可以在零样本情况下发挥很大作用(第6.1节)。

 3 ViNT模型

我们的模型针对图像目标导航进行训练,提供通用的导航能力,这些能力既可以直接使用,也可以作为预训练基础,用于在下游任务中根据其他任务规范进行微调。在图像目标导航任务中,机器人的任务是导航到由图像观察 \( S \) 指定的子目标(即机器人在目标位置的观察)。与诸如点目标(PointGoal)[31]、GPS导航或语义目标[32]等其他目标指定机制不同,针对图像目标导航训练的模型可以基于最少的假设,利用任何包含视频和动作的数据,而无需真实定位、语义标签或其他元数据。这使得在从许多不同机器人获取的大规模多样化数据集上进行训练变得可行,有助于实现广泛的泛化。

ViNT将当前和过去的视觉观察 \( o_{t - P: t} \) 以及子目标图像 \( O_{s} \) 作为输入,并预测(i)到达子目标所需的时间步数(动态距离),以及(ii)指向子目标的长度为 \( H \) 的未来动作序列。我们的3100万参数模型ViNT基于变换器(Transformer)架构[33]构建,并针对以下两点进行了优化:(i)在资源受限的机器人上进行快速高效的推理,以及(ii)针对下游任务进行提示和微调的能力。我们从零初始化所有网络,并使用公式(1)中的训练目标进行端到端训练。模型架构如图2所示,并在附录A中详细描述。

图2:ViNT模型架构。ViNT使用两个EfficientNet编码器ψ来生成输入令牌,以供Transformer解码器使用。生成的序列会进行连接,并通过一个全连接网络,以预测到目标的(时间)距离,以及长度\(H = 5\)的未来动作序列。 输入部分:有两类输入,一类是过去5个时间步长的观测图像,规格为\(85×64×3\)的RGB图像,通过一个拥有500万个参数的EfficientNet - B0编码器(标记为\(\psi\))处理,输出512维的特征,这样的处理重复6次;另一类是目标图像和当前观测图像合并后的图像, 同样经过一个500万个参数的EfficientNet - B0编码器(标记为\(\phi\)),输出也是512维特征。中间处理部分:将上述得到的特征转换为7个512维的令牌,并添加位置编码,然后输入到一个由4层、每层4个头且拥有2100万个参数的Transformer模块中,进行自注意力计算。
输出部分 :通过Transformer处理后,模型会输出两个结果,一个是到目标的时间距离,为一维连续值;另一个是归一化的动作,规格为\(3×5\)的连续值,代表未来的动作序列。Transformer 模块有 2100 万个参数,且有 4 层、每层 4 个头 ,具备一定的复杂性和较大的容量。那如果要进行结构改进,可以把这个架构中的什么模块替换为大模型的结构呢?是生成token的部分。还是生成action的部分呢?

标记化:ViNT架构(图2)首先将其输入标记化为大小为 \( d_{model } = 512 \) 的嵌入。ViNT通过使用EfficientNet - B0 [34]模型对当前和 \( P = 5 \) 个过去的视觉观察进行独立编码来实现标记化,该模型以 \( 85×64×3 \) 的图像作为输入,并从最终卷积层输出一个展平的特征向量 \( \psi(o_{i}) \) [30]。

目标融合:我们发现,使用EfficientNet编码器 \( \phi \) 从目标图像 \( \phi(o_{s}) \) 中简单提取特征会导致性能不佳,模型常常完全忽略目标(见附录A)。我们假设,对于基于图像的目标达成任务,有效的特征通常是相对的,编码的是当前观察与目标之间的差异,而不是目标本身的绝对表示。因此,我们使用一个单独的目标融合编码器 \( \phi(o_{t}, o_{s}) \) 来联合编码当前和目标观察。我们将两个图像沿通道维度堆叠,通过第二个EfficientNet - B0编码器,并展平以获得目标令牌。

变换器:将 \( P + 2 \) 个观察和目标令牌与位置编码相结合,并输入到变换器骨干网络 \( f \) 中。我们使用仅解码器的变换器,其中包含 \( n_{L} = 4 \) 个多头注意力块,每个块有 \( n_{H} = 4 \) 个头和 \( d_{FF} = 2048 \) 个隐藏单元。


图3:使用ViNT在未见环境中的长视距导航。我们使用基于拓扑图的规划器进行物理搜索来探索环境。一个图像到图像的扩散模型提议多样化的探索目标,这些目标使用ViNT进行空间定位(黄色),并使用目标导向的启发式函数 \( h \) 进行评分。子目标被添加到拓扑图 \( M \) 中,并使用ViNT策略执行。

解释:基于ViNT模型的导航系统流程,具体如下:
当前观察(Current Observation):图左侧显示的是机器人当前视角下的环境画面,作为整个导航流程的输入信息,代表机器人对当前所处环境的感知。
 生成未定位子目标(Ungrounded Subgoals):当前观察图像被输入到扩散模型(Diffusion)中,扩散模型会基于当前观察生成多个未定位的子目标图像。这些子目标是机器人可能前往的潜在位置,但此时还未确定它们与当前位置的具体空间关系。
 定位子目标(Grounded Subgoals):未定位子目标图像接着被输入到ViNT模型中,ViNT模型对这些子目标进行处理,计算出它们与当前位置的空间关系,从而得到定位子目标。图中定位子目标图像上的黄色线条,表示ViNT模型预测的到达这些子目标的动作或路径。
 基于启发式的拓扑规划(Heuristic - Based Topological Planner):定位子目标以及目标信息(右上角绿色的“Goal”,旁边配有地图和指向标)被输入到基于启发式的拓扑规划器中。规划器会根据子目标、目标位置以及启发式信息(如距离、环境特征等),规划出机器人到达目标的最优路径,引导机器人在环境中进行导航 。

训练目标:在训练过程中,我们首先从数据集 \( D \) 中采样一个轨迹小批量 \( \tau \) 。然后,我们选择 \( P \) 个连续的观察来形成时间上下文 \( o_{t: t - P} \) ,并随机选择一个未来观察 \( o_{s}: = o_{t + d} \) (其中 \( d \) 从 \( [l_{min }, l_{max }] \) 中均匀采样)作为子目标 [35]。相应的 \( H \) 个未来动作 \( \hat{a}: = a_{t: t + H} \) 和距离 \( d \) 用作标签,并使用最大似然目标进行训练:

其中 \( \phi \)、\( \psi \)、\( f \) 如上文所定义,\( \lambda \) 用于平衡两个损失。

与实体无关的动作空间:为了在不同大小、速度和动力学的机器人上有效地训练单个模型,我们遵循Shah等人[19]的方法,为ViNT选择一个与实体无关的动作空间(why?)。为了抽象低级控制,ViNT使用相对路标点作为其动作空间 \( \hat{\alpha} \);为了考虑机器人速度和大小的较大差异,我们根据机器人的最高速度对这些路标点进行缩放归一化。在部署过程中,使用特定于机器人的控制器通过低级控制对这些路标点进行反归一化和跟踪

训练数据:我们使用来自各种环境和机器人平台大规模异构导航轨迹数据集来训练ViNT,这些平台具有不同的动力学、相机参数和行为。训练数据集包含超过100小时的真实世界轨迹,这些轨迹全部来自现有数据集,涵盖了8种不同的机器人平台,这些平台具有不同的速度和动力学。有关数据集的更多详细信息,请参见附录C。

部署:ViNT可以在任何配备车载摄像头和低级速度跟踪控制器的机器人上运行。在时间 \( t \) 给定一个子目标图像 \( s \) 时,我们以4Hz的频率运行模型,并使用PD控制器以滚动时域的方式跟踪预测的路标点 \( \hat{a} \) 。

 4 使用ViNT进行长视距导航

虽然ViNT学习到的基于目标的策略捕获了对导航可供性和障碍物的一般理解,但它本身的适用性有限。许多实际任务要么不是由目标图像定义的,要么需要比ViNT直接支持的更长的视距。我们通过将ViNT与由拓扑图形成的情景记忆相结合,将其应用于几个下游应用中,拓扑图为到达遥远位置提供短视距子目标。在以前未见过的环境中,我们可以进一步用探索性子目标提议来增强这种基于图的规划器,这可以驱动ViNT探索新环境并找到通往目标的路径。我们考虑了多种这样的提议机制,并发现通过基于当前观察对多样化的未来子目标候选进行采样的图像扩散模型可以获得最佳性能。

这些子目标使用目标导向的启发式函数进行评分,以识别朝着目标前进的最佳子目标,这一过程类似于物理 \( A^{} \) 搜索 [29]。环境中的过去观察和未探索的边界被存储为拓扑图中的节点,它们的连接性由ViNT预测的距离确定。在探索过程中,机器人在探索环境时动态构建这个拓扑图。在后续部署中,它可用于发现通往环境中任意目标的捷径。我们首先描述基于子目标候选进行规划的高级算法,然后讨论获取这些子目标候选的过程。

 4.1 高级规划和探索

假设我们可以获取可供ViNT进行规划的子目标候选 \( o_{s_{i}} \in S \) 。我们将这些子目标候选纳入一个用于在新环境中进行目标导向探索的框架中,在该框架中,用户提供一个高级目标 \( G \) ,这个目标可能距离很远。我们在很大程度上遵循先前的工作 [29],但将学习到的模型替换为ViNT和扩散模型。我们在此总结该系统,并在附录B.3中提供更完整的讨论。我们在线构建一个拓扑图 \( M \) 作为情景记忆,每个节点是一个单独的子目标观察,边表示两个子目标之间的路径,当机器人采取该路径或模型预测一个子目标可从另一个节点到达时添加边。我们将目标导向的探索框架视为一个搜索问题,机器人在搜索目标的同时逐步构建 \( M \) 。为了引导搜索朝着目标进行,机器人使用目标导向的启发式函数 \( h(o_{t}, o_{s_{i}}, G, M, C) \) 根据子目标候选到达目标的可能性对其进行评分,给定额外的上下文 \( C \) —— 例如,楼层平面图或卫星图像 [15, 29]。这个启发式函数可以是几何的(例如,欧几里得距离)或学习得到的(见附录B.3)。

在新环境中部署时,机器人使用扩散模型从 \( o_{t} \) 生成子目标候选 \( s \) ,使用ViNT对其进行空间定位,并使用目标导向的启发式函数 \( h(.) \) 对其进行评分。然后,机器人使用类似 \( A^{} \) 的规划器根据这个启发式函数选择最佳子目标 \( o_{s}^{} \) ,将其添加到 \( M \) 中,并使用ViNT朝着它行驶(图3)。在同一环境的后续部署中,机器人可以使用 \( M \) 发现通往环境中任意目标的捷径。有关规划器和启发式函数的更多详细信息,请参见附录B.3。在我们的实验中,我们考虑两种候选搜索启发式函数:一种是基于机器人和目标位置的几何启发式函数,另一种是基于卫星图像形式的额外上下文的学习启发式函数。

 4.2 使用扩散生成子目标

上述物理搜索算法依赖于能够提议既多样化又可从机器人当前观察 \( o_{t} \) 到达的子目标候选 \( s \) 。这相当于从RGB图像的高维、多模态分布中进行采样。

为此,我们在ViNT训练数据上训练一个条件生成模型 \( g(o_{s_{i}} | o_{t}) \) 。具体来说,我们应用一个图像到图像的扩散模型 [38, 39],这是一种生成模型类别,非常适合在诸如RGB图像的高维空间中生成多样化的样本。我们使用从ViNT数据集中轨迹随机采样未来观察来训练模型,并在推理时从模型中采样 \( K \) 个子目标候选 \( S = \{s_{1},..., s_{K}\} \)

然而,这些子目标生成没有进行空间定位:它们不包含与 \( o_{t} \) 的可操作关系。我们通过使用ViNT计算时间距离 \(d(s_{i}, o_{t})\) 和动作序列 \(a(s_{i}, o_{t})\) 来定位这些候选目标,从而得到一组如图6所示的定位子目标。虽然扩散模型生成的样本不一定与任何真实观察匹配(见图3),但它们保留了来自 \(o_{t}\) 的足够相对特征,看起来是合理的,并且我们发现ViNT对生成的子目标具有良好的泛化能力。我们将在第6.5节进一步研究这种扩散模型的行为。
1先前的工作也研究了在潜在空间中采样子目标[36],这可能需要更简单的密度模型来学习潜在分布。然而,在我们的框架中直接实施这个想法会带来优化挑战和较差的性能(见第6.1节)。直接在潜在空间中学习采样分布[37]是一个令人兴奋的未来方向,但与本文的贡献无关。

图5:ViNT在室内和室外环境中完成了多种目标的长距离导航;这里展示了从起点(橙色)到目标(绿色)的示例轨迹。通过目标导向的启发式方法(可选择由卫星图像引导)可以实现到达目标的行为,而去除这种启发式方法则可以进行无向探索,以最大程度地覆盖工作空间。

 5 ViNT:用于下游任务的基础模型

除了作为基于图像目标条件的核心功能外,我们还展示了ViNT学习到的强大导航先验可以通过在新环境中或使用新的数据模态对部分或整个模型进行微调,从而适应各种下游任务,而不仅仅是导航到图像目标。
全模型微调:虽然ViNT在对新环境和机器人的零样本泛化方面表现出色,但我们可以通过使用相同的目标但使用任务相关数据对整个模型进行微调,进一步提高任务性能。这使得ViNT能够快速学习新技能,形成一个不断改进的模型。ViNT只需1小时的导航数据就能掌握新环境和实体,将原始模型的能力转移到新环境中,而无需从头开始重新训练。
适应新模态:虽然指定图像目标提供了一个通用的预训练目标,但ViNT可以通过学习从所需目标模态到ViNT目标令牌的“软提示”映射,轻松适应其他常见的目标指定形式[10]。我们利用Transformer架构能够关注投影共享令牌空间的多模态输入的能力[40, 41]。给定一个新模态的子目标 \(\sigma\)(例如2D坐标或高级路由指令[22]),我们训练一个小型神经网络 \(\bar{\phi}\),将子目标映射到这个共享令牌空间,如图4所示,并替换 \(\phi(o_{t}, o_{s})\)。我们使用修改后的目标,用任务相关数据 \(D_{F}\) 对ViNT进行微调:

这使得在最小的数据量下适应新任务成为可能,同时仍然利用ViNT的性能和泛化能力。附录B.4包含更多详细信息。

图4:使用新的可调整目标令牌使ViNT适应不同目标。

 6 实际评估

我们将ViNT基础模型部署在五个不同的机器人平台上,包括一架无人机、一只四足机器人以及另外两个在训练数据中未出现的新型机器人。我们设计实验以回答以下问题:
- 问题1(Q1):ViNT能否有效地探索以前未见过的环境并结合启发式方法?
- 问题2(Q2):ViNT能否泛化到新型机器人、环境和障碍物?
- 问题3(Q3):ViNT能否通过微调在分布外环境中提高性能?
- 问题4(Q4):ViNT策略能否适应处理新的任务规范和模态?
有关训练数据和评估中使用的平台的更多详细信息,请参见附录D。我们没有对机器人和数据集之间的传感器进行仔细的系统识别或同质化处理;所有数据集均按原始来源使用,并且每个机器人平台都有自己的低级控制器和机载堆栈。

 6.1 导航性能

为了理解问题1(Q1),我们在各种具有挑战性的室内和室外环境中部署完整的基于图的导航管道(第4.1节),这些环境在训练数据中未曾见过。我们在两个具有挑战性的任务上评估ViNT的性能:(i)覆盖探索,目标是在未知环境中最大程度地探索以寻找目标,目标位置未知;(ii)引导探索,目标是使用上下文信息(如GPS坐标或卫星图像)到达目标(任务示例见图5)。我们将ViNT与多种基线方法进行比较,包括通过模仿学习或强化学习训练的端到端策略[15, 42]、一种先前使用变分信息瓶颈(VIB)进行探索的基于图的方法[36],以及一个消融版本的ViNT(ViNT - R),它从训练集中随机采样图像作为目标,而不是使用扩散模型生成子目标。实验设置的详细信息请参见附录E.1。

在覆盖探索任务中,智能体被放置在未知环境中,任务是在没有任何额外线索的情况下最大程度地探索环境以寻找目标。表1总结了该任务在室内和室外环境中的成功率。我们发现,虽然端到端的基线方法能够避免与周围环境发生碰撞,但它们无法探索新区域,并且常常被困在环境的小区域内。基于图的方法通过在搜索目标时明确考虑覆盖范围,避免了这种陷阱,从而使ViNT获得了较高的成功率。定性分析(表1右侧)表明,基于扩散模型提出的多样化子目标进行规划会导致更高效的路径,而其他基线方法在探索时则采用迂回路径。图5展示了在具有挑战性的室内环境中覆盖探索任务的以自我为中心的轨迹。尽管ViNT - R缺乏有效的子目标提议,但表现也相当不错。第6.5节将对这一观察结果进行讨论。

这一观察结果也适用于位置引导导航任务(表2),在该任务中,机器人的任务是在以前未见过的环境中到达2D目标位置。机器人可以使用机载轮式里程计(室内)、GPS坐标(室外)或无源卫星图像(室外)来跟踪其位置并用作目标导向的启发式方法。与之前最先进的基线方法[29]相比,我们发现扩散模型的各种子目标预测与基于图的评分方案相结合,导致了更高的成功率和更长的无碰撞行驶距离。由于大规模预训练学习到的隐式可供性和偏好,ViNT在拥挤的室内空间中也更能有效地避免碰撞,在室外空间中更高效地到达目标(通过成功率加权路径长度(SPL)指标体现)(更多分析见第6.5节)。通过观察到的碰撞前更大的行驶距离可知,ViNT需要的干预也更少。图7展示了使用卫星图像作为上下文的ViNT在室外环境中的物理搜索轨迹(另见图5)。


表1:ViNT与我们的物理搜索算法相结合,在室内和室外环境中的无向目标到达任务上始终优于基线方法(左)。通过有效地对扩散子目标提议进行规划,ViNT能够找到通往目标的高效路径。其他基线方法在探索大型室内环境时遇到困难,室内平面图上叠加的轨迹显示了这一点(右)。

图6:使用Vizbot(上)和LoCoBot(下)机器人平台,在具有挑战性的室内环境中可视化ViNT探索轨迹。通过对候选子目标进行空间定位获得的未来动作样本 \(\hat{a}\) 以黄色显示,与最佳候选对应的最佳动作以蓝色标记。

室内:位置 室外:GPS 室外:卫星
方法 成功率 距离 成功率 SPL 距离 成功率 SPL 距离

表2:ViNT能够有效地利用目标导向的启发式方法,如2D目标位置和卫星图像,成功且无需干预地探索新的千米级环境。

图7:使用ViNT进行卫星引导的物理搜索。我们可视化了ViNT在基于卫星图像的启发式方法下从起点(橙色)到目标(绿色)的765米轨迹。轨迹中五个实例的通过对候选子目标进行空间定位获得的未来动作样本 \(\hat{a}\) 以黄色显示。类似A的规划器使用启发式方法选择最佳子目标(对应的 \(\hat{a}\) 以蓝色标记),引导机器人到达目标。

 6.2 零样本泛化:单一策略驱动任何机器人

为了回答问题2(Q2),我们在四个不同的机器人平台上部署相同的预训练ViNT策略,无需针对无向探索任务进行任何微调。我们报告机器人在无干预情况下从起始位置的最大位移(以米为单位),作为在复杂环境中到达任意远距离目标的代理指标,结果见表3。最值得注意的是,ViNT成功地零样本泛化到控制Go 1四足机器人,而该机器人在训练期间并未出现。我们将在所有组合数据集和机器人上训练的ViNT与最佳单机器人基线(仅使用目标环境数据训练的模型)以及在所有数据集上训练的GNM模型[19]进行比较。我们观察到,跨机器人实体训练的策略不仅可以匹配,而且在我们研究的所有实体上都优于单机器人模型。我们还发现,与较小的GNM模型相比,ViNT的更大容量导致了更好的泛化能力,特别是在训练数据集中未出现的机器人(如Go 1)上。至关重要的是,我们还发现ViNT在域内机器人(Vizbot)上展示了正向迁移,大大优于仅在目标机器人和环境中训练的专业模型,这是较小模型中不存在的涌现现象。这表明该模型在不同任务之间进行泛化以提高性能,这是基础模型的一个关键属性。


模型 LoCoBot Go 1 Vizbot Jackal
单机器人GNM [19] 40 60 12 8 40 20 184 427
ViNT 120 45 110 438


表3:在覆盖任务中,ViNT驱动不同机器人行驶数百米(报告的是无干预情况下的最大位移),击败了低容量模型(GNM)和在单个机器人数据集上训练的专业模型。

| 方法 | 图像 |  | 成功位置 | 成功路由 |微调数据量(K)


表3:左:ViNT可以进行端到端微调(图像任务)或适应下游任务(位置和路由任务),并且优于从头开始训练和其他预训练方法。右:ViNT可以将导航可供性转移到新任务(未经微调时成功率为40%),并且使用不到1小时的微调数据就能高效掌握任务(成功率达到80%)。ViNT微调(绿色)优于使用5倍数据训练的单域模型(橙色)。

 6.3 通过微调实现更广泛的泛化

为了回答问题3(Q3),我们考虑在低数据情况下对ViNT进行微调的问题。在这种情况下,整个ViNT模型以 \(1×10^{-4}\) 的降低学习率进行5个epoch的端到端微调(第5节)。我们假设可以访问少量的任务相关数据(最多5小时,在1 - 2小时的数据上即可取得成功结果),并研究使用ViNT从这些数据的子集中学习的效率。我们研究在CARLA模拟器中对自动驾驶任务进行微调的原因有两个:(i)模拟的CARLA环境在感知上与用于训练ViNT的真实世界数据不同(图8);(ii)道路驾驶任务需要非常特定的语义行为,即保持在车道内行驶和平稳转弯,而这些在我们的真实世界训练数据中并不存在。我们展示了ViNT可以在少量数据(不到1小时)上进行微调,通过有效利用模型中编码的导航先验来实现强大的性能。
我们将ViNT骨干网络与几种替代方法进行比较,包括使用监督学习训练的视觉表示[2]、无监督目标训练的表示[7, 43, 44]以及与实体无关的导航策略[19]。我们对所有模型使用相同的微调数据和过程(见第5节);更多详细信息请参见附录E.3。表3总结了我们的发现。我们将朝着目标的进展比例报告为“成功率”,将智能体在车道内行驶的轨迹比例报告为“在车道内”。虽然预训练的视觉表示相比完全从头开始训练的策略显著提高了任务性能,但我们观察到学习到的策略经常发生碰撞且性能不佳。GNM [19]由于其强大的导航先验优于这些基线,但较低容量的模型无法完全泛化到该任务。另一方面,ViNT能够实现强大的性能,比次优基线获得显著更高的成功率。对微调数据集大小进行扫描(表3右侧)表明,ViNT仅使用1小时的微调数据就能实现强大的性能,展示了其在极少数据情况下泛化到新环境的能力。

图8:CARLA测试环境(上),以及显示路由任务高级路由指令的鸟瞰图。

 6.4 使ViNT适应下游任务

为了评估问题4(Q4),我们研究ViNT是否可以通过考虑除子目标图像之外的目标模态,作为更广泛下游任务的基础模型(见第6.4节)。我们考虑相同的CARLA驾驶任务,但使用两种不同的高级规划器:(i)基于位置的规划器,它命令一系列GPS路标点;(ii)路由规划器,其功能类似于谷歌地图,向策略命令高级导航指令(左转/右转/直走)[22]。我们将ViNT学习到的预训练导航先验与前面讨论的基线进行比较,这些基线对应于预训练的视觉表示和策略,每个都使用相同的任务相关数据适应下游任务(更多详细信息请参见附录E.3)。
表3总结了我们在两个任务上的结果。我们再次发现,通用的预训练视觉表示,如ImageNet或VC - 1,不足以提取具有挑战性的下游任务的导航可供性,这表明有效的泛化需要的不仅仅是通用的视觉表示[44, 45]。我们还发现,与微调不同,GNM [19]在适应任务方面存在困难,这表明ViNT的架构和增加的容量对于广泛的泛化和适应至关重要。ViNT在两个任务上都实现了强大的性能,展示了其作为下游任务基础模型的能力。

 6.5 涌现行为

大规模机器学习最令人兴奋的方面之一是,在多样化数据集上训练大型模型可能会产生涌现行为。尽管ViNT使用简单的自监督训练目标(公式1),但它展示了许多涌现行为,我们在本节中对其进行定性描述,并在项目页面和补充视频中展示示例:general - navigation - models.github.io。
隐式导航可供性:理想情况下,我们希望机器人基础模型展示出一些理想的“默认”行为,同时为下游应用提供一种机制,以便根据需要调整这种行为。我们发现ViNT在避免碰撞方面具有这种属性。一个证据是在通过ViNT - R基线进行定量研究时,当给它提供来自机器人无法到达位置的随机子目标时的行为(表1)。在这种情况下,尽管子目标无效且超出分布(ViNT仅被训练用于到达子目标),ViNT在80%的情况下成功探索环境并到达目标,优于所有基线。这表明当提供无意义的目标时,ViNT会采取无碰撞的行动(即上述“默认”行为),同时仍然尝试跟随可到达的子目标。
实际上,尽管我们使用扩散模型增强的“完整”方法性能更好,但该模型生成的子目标通常质量较低,有许多伪影,有时甚至与任何真实可到达的状态都不匹配(图9)。尽管如此,由于这种“默认”行为,ViNT能够成功利用有效的子目标,同时忽略不好的子目标,并在以前未见过的环境中展示出无碰撞导航能力。

图9:扩散模型生成的样本可能是无效的子目标,但ViNT对这样的提议具有鲁棒性。

隐式导航偏好:ViNT展示出的另一个有趣属性是其隐式偏好,即室外时偏好沿着铺设好的道路行驶,室内时偏好平稳地在走廊中间行驶,如图10和补充视频所示。这一点特别有趣,因为大量的预训练数据集包含次优的、蜿蜒的轨迹,这表明ViNT可以从多样化的训练行为中学习到 “良好” 的默认行为。这种偏好有助于ViNT有效地探索以前未见过的环境,而其他基线方法在探索环境时往往比较随意(见表1(右))。

对动态行人的鲁棒性:虽然ViNT仅在离线数据上使用简单的自监督训练目标进行训练,但我们发现其避障能力可以泛化到动态障碍物和行人。图11展示了一个例子,机器人的任务是导航到两个行人后面的目标。ViNT选择避开行人的行动,并恢复到原始路径,成功到达目标。

图10:ViNT表现出对沿着铺设好的道路(左)和走廊(右)行驶的隐式偏好。

图11:对动态行人的鲁棒性。尽管ViNT使用简单的自监督训练目标,但它能够成功地在一群动态行人周围导航并到达他们身后的目标。

7 讨论

我们介绍了ViNT,这是一种机器人基础模型,它在来自许多不同机器人的多样化数据上针对通用图像目标导航任务进行训练,然后可以支持各种不同的导航功能。ViNT可以与拓扑图规划方法结合用于长距离导航,利用扩散模型提议的目标探索新环境,针对新领域(如自动驾驶)进行微调,并适应新的任务规范方法,如GPS坐标或逐向路由指令。我们的结果表明,ViNT可以成功地在不同机器人和环境之间进行泛化,优于先前的导航模型,可以有效地针对新领域和任务进行微调,并展示出有前景的涌现行为,如在动态行人中导航。
局限性和未来工作:与许多大规模模型一样,ViNT在推理时计算负担较重,这对于功率受限的平台(如四旋翼无人机)来说可能是一个挑战。虽然我们的设计旨在实现高效推理,但我们基于Transformer的模型在部署时的运行成本仍然比简单的前馈卷积网络高得多。此外,尽管在我们的实验中ViNT在不同机器人之间有效地进行了泛化,但它假设了一定程度的结构相似性。例如,它无法控制四旋翼无人机的高度或处理动作表示的其他变化,也无法适应新的传感器(如激光雷达)。未来在各种模态和动作空间上进行训练可能会解锁这些能力。更广泛地说,虽然ViNT展示了通用且可广泛复用的导航基础模型的前景,但我们相信通用跨机器人模型最令人兴奋的发展仍在未来:随着越来越大的多机器人数据集的汇集,也许我们将看到更广泛的泛化和更灵活的规范,以及越来越强大和通用的机器人模型。我们希望ViNT代表了朝着这个方向迈出的一步。

 附录
 A ViNT模型架构

表4详细展示了ViNT模型架构。我们使用EfficientNet - B0卷积编码器[34]的全部18层,从头开始初始化,将观察图像和子目标图像分别标记为512维的嵌入向量。我们利用一个观察编码器对过去和当前的观察图像进行标记,以及一个联合观察和目标编码器,通过将子目标图像与当前观察图像按通道维度拼接后进行标记。对于联合观察和子目标令牌的标记,图像 \(o_{t}\) 和 \(o_{s}\) 沿其通道维度连接,每个训练数据点产生一个 \(6×85×64\) 的张量。


表4:ViNT架构详细信息。模型的输入是RGB图像 \(o_{t: t - P} \in[0,1]^{P×3×85×64}\) 和 \(o_{s} \in[0,1]^{3×85×64}\) ,分别代表当前、过去和目标图像。我们试图预测 \(H\) 个未来动作 \(\hat{a}\) 和时间距离 \(d\) 。

 A.1目标条件架构

我们考虑了不同的机制,用子目标图像的特征为ViNT设定条件,如图12所示。
1. 后期融合:独立提取观察特征和目标特征,并在多头注意力层中融合它们。为实现这一效果,在将观察图像和目标图像输入模型之前,我们避免它们之间进行任何通道维度的拼接。
2. 早期融合:联合提取观察(上下文)和目标特征,并在标记之前融合观察和目标特征。我们通过将目标图像与每个观察图像沿通道维度连接来实现这一点。在这种设置下,我们去掉了目标令牌,因为目标信息已经包含在每个观察令牌中。
3. FiLM(RT - 1):遵循FiLM + EfficientNet编码器(Brohan等人[30]),分别对每个观察图像进行编码。为了以视觉目标为条件,我们用EfficientNet编码器替换了“通用句子编码器”。在这种设置下,我们也去掉了目标令牌,因为目标信息已经包含在每个观察令牌中。
我们的观察结果总结在表5中。虽然FiLM在语言任务中表现良好,但我们发现它在基于图像的导航任务中训练不稳定。相反,我们直接独立编码每个观察,并将它们传递给Transformer。理想情况下,目标将被单独编码,然后在Transformer层中与观察结果相结合,以便稍后可以将整个目标编码器替换为不同的目标模态。不幸的是,我们发现这种方法(我们称之为“后期融合”,因为目标和观察在编码后才融合)性能不佳:在基于图像的导航中,观察图像和目标图像之间的相对特征才是重要的,而不是目标的绝对特征。“早期融合”架构会立即将目标图像与所有过去和当前的观察图像融合,这允许学习目标图像和当前状态之间的联合特征。然而,这种架构缺乏灵活性,因为在适应新的目标模态时,观察编码器必须从头开始学习。ViNT通过使用两种不同类型的编码器避免了这个问题:一个仅用于观察的编码器用于标记每个观察图像,以及一个联合观察和目标编码器,该编码器应该提取相对目标特征。如附录B.4所述,后一个编码器可以被替换,以便在下游任务中实现替代目标规范。具体来说,我们通过学习基于新任务目标信息的最终令牌来适应新任务,以取代联合观察/目标编码器。


图12:为ViNT考虑的不同目标条件架构。


表5:比较不同目标条件架构的优缺点(√表示优点,×表示缺点)。虽然“早期融合”在核心导航任务中效果最好,但它不支持下游适应(第5节)。“后期融合”理想情况下适用于适应,但在我们的任务中表现不佳。我们的目标融合架构能够与早期融合的性能紧密匹配,同时也支持适应。

 B实现细节

 B.1训练ViNT

表6列出了训练ViNT基础模型的详细超参数列表。

 B.2子目标扩散

为了生成子目标,我们使用图像到图像的扩散模型。它以图像 \(o_{t}\) 为输入,并从 \(g(o_{s_{i}} | o_{t})\) 中生成样本,其中 \(O_{s_{i}}\) 是从 \(o_{t}\) 可达的候选子目标图像。为了生成扩散模型的训练对,我们首先从训练数据中随机均匀选择 \(o_{t}\) ,然后选择在 \(o_{t}\) 之后5到20个时间步内的 \(O_{s_{i}}\) 。
遵循Saharia等人[39]的方法,我们将图像条件实现为简单地在U - Net输入中进行通道维度拼接。我们使用diffusers库[48]中的Flax U - Net实现,并去除了文本交叉注意力,因为我们不依赖文本输入进行条件设定。
我们使用Kingma等人[49]的连续时间扩散公式,采用固定的线性噪声调度,而不是学习得到的调度。与Kingma等人[49]不同的是,我们使用未加权的训练目标,在Ho等人[38,公式14]和Kingma等人[49,附录K]中称为 \(L_{simple }\) 。我们采用无分类器引导[50],并发现它有助于生成视觉保真度更好的子目标,这与先前的工作[51]一致。

 B.3通过拓扑图进行长视距物理搜索

与Shah和Levine[29]一样,我们以类似于标准 \(A^{}\) 算法的方式实现物理搜索,通过跟踪由我们的扩散模型生成的可能未访问子目标的开放集 \(\Omega\) ,并遵循算法1。
节点根据成本函数 \(f(s)\) 进行访问,该函数取决于从当前状态 \(o_{t}\) 到父节点 \(s^{-}\) 的距离(沿图测量)、预测的从 \(s^{-}\) 到 \(s\) 的距离,以及提供长视距导航提示的启发式函数 \(h\) (类似于 \(A^{}\) 算法中的启发式函数):
\[f(s)=d_{\mathcal{M}}\left(o_{t}, s^{-}\right)+d_{pred }\left(s^{-}, s\right)+h(s, G, C)\]
一般来说,启发式函数可以是任何提供子目标 \(s\) 与长视距目标 \(G\) 之间距离概念的函数,也可以选择带有一些上下文 \(c\) 。在我们的实验中,为了展示我们方法的灵活性,我们考虑了三种启发式函数:
 覆盖探索:对于覆盖探索,我们没有长视距引导,因此使用 \(h(s)=0\) 。
 位置引导:对于长视距GPS目标(室外)和2D位置目标(室内),我们使用欧几里得距离 \(h(s)=\|s - G\|\) 。
 卫星引导:在上下文引导的实验中,我们训练一个学习得到的启发式函数,该函数使用卫星图像作为输入,学习一个用于“好”子目标的启发式函数。我们在俯视图像上训练一个卷积神经网络,以预测子目标 \(s\) 包含在从 \(o_{t}\) 到 \(G\) 的轨迹上的概率,使用对比目标进行训练[52]。更多信息可以在Shah和Levine[29]中找到。


图13:子目标扩散模型U - Net架构。每个ResNet由2个残差块组成。下采样和上采样通过步长卷积完成。

算法1:通过拓扑图进行长视距导航
1:当目标 \(G\) 未到达时
2: \(s \gets \min f(\Omega)\)
3: \(P \gets \text{ShortestPath}(M, o_{t}, s^{-})\)
4:对于 \(P\) 中的 \((s, s′)\)
5: \(ViNT.\text{GoToGoal}(s′)\)
6:结束循环
7: \(ViNT.\text{GoToGoal}(s)\)
8: \(o_{t} \gets \text{Observe}()\)
9: \(\text{AddNode}(M, o_{t}, \text{parent}: s^{-})\)
10:采样 \(s_{i} \sim g(s_{i}|o_{t})\)
11: \(\text{Add}(\Omega, s_{i})\)
12:结束循环

通过拓扑图进行长视距导航的算法,具体流程如下:
1. 初始化与目标判断:在开始时,算法进入一个循环,只要目标\(G\)未被到达,循环就会持续进行。这是整个导航过程的核心循环框架,确保机器人不断尝试直至到达目标。
2. 选择最优子目标:从可能的未访问子目标集合\(\Omega\)中,依据成本函数\(f(s)\)选择成本值最小的子目标\(s\) 。成本函数\(f(s)\)综合考虑了从当前状态\(o_t\)到父节点\(s^-\)的距离(沿图测量)、预测的从\(s^-\)到\(s\)的距离,以及一个提供长视距导航提示的启发式函数\(h\),以此来评估子目标的优劣,挑选出最有希望引导机器人接近目标的子目标。
3. 规划前往子目标的路径:使用\(ShortestPath\)函数,根据拓扑图\(M\)、当前状态\(o_t\)和选定的子目标\(s\)的父节点\(s^-\),计算出从当前位置到子目标\(s\)的最短路径\(P\)。这个路径规划过程借助拓扑图的结构信息,为机器人前往子目标提供最优的路线指引。
4. 按路径移动并执行动作:对于路径\(P\)中的每一个中间节点\(s'\),依次调用\(ViNT.GoToGoal(s')\)函数,让机器人朝着这些中间节点移动。当遍历完路径\(P\)中的所有中间节点后,再调用\(ViNT.GoToGoal(s)\),使机器人移动到选定的子目标\(s\)位置。在机器人移动过程中,\(ViNT\)模型发挥作用,依据其训练学到的导航策略,生成合适的动作指令,控制机器人的运动,以实现向目标前进的目的。
5. 更新状态与环境信息:机器人到达子目标\(s\)后,调用\(Observe()\)函数获取当前新的观察状态\(o_t\),用于更新机器人对环境的认知。然后,将新的观察状态\(o_t\)作为一个新节点添加到拓扑图\(M\)中,并指定其父节点为\(s^-\) 。这一步骤不断丰富拓扑图的信息,记录机器人在环境中的探索轨迹,为后续的路径规划和导航决策提供更全面的环境数据支持。
6. 生成新的子目标候选:利用\(g(s_i|o_t)\)函数,基于当前的观察状态\(o_t\)采样生成新的子目标候选\(s_i\) 。这些新的子目标候选为机器人后续的探索和导航提供更多的选择方向。
7. 添加子目标候选到集合:将新生成的子目标候选\(s_i\)添加到未访问子目标集合\(\Omega\)中,以便后续循环中对这些候选子目标进行评估和选择,持续推动机器人在环境中的探索和导航过程,直至到达目标\(G\)。

 B.4微调ViNT

在所有CARLA微调实验中,任务相关数据是使用基于规则的神谕代理收集的,起始和结束位置在相距900米的范围内随机采样。我们在CARLA的Town 01环境中收集了181条训练轨迹(大约4小时),并在预留的Town 02环境中收集了另外52条轨迹(1小时)。受Codevilla等人[22]的启发,我们通过允许基于规则的代理在受到扰动后纠正其位置并重新回到车道中心,进一步扩充了这个数据集。

图像微调
    架构:我们使用与ViNT完全相同的架构,不做任何改变。
    训练:对于微调图像目标导向模型,我们使用与ViNT相同的训练过程,学习率为0.0001,使用AdamW优化器,但不使用热身或余弦调度器。在微调训练中,我们不混合任何先前的数据。
GPS适应
    架构:为了适应GPS风格的目标,我们切断ViNT的目标编码器块。然后我们学习一个大小为3000的固定张量,并将其与以自我为中心坐标的GPS命令目标连接。然后将其输入到一个2层MLP中,该MLP输出变压器最终令牌的预测。架构如图14所示。
    训练:在训练过程中,我们不是随机采样未来图像作为目标,而是从未来的里程计信息中采样目标。一旦我们有了用于自监督的未来目标坐标,我们将其转换为局部坐标并输入到我们的架构中,使用与ViNT相同的目标进行微调。我们使用余弦调度器,热身学习率到0.0001,共4个epoch。我们还从1.25秒到1.75秒之间采样目标点,而不是从0.5秒到2.5秒。
命令适应
    架构:对于离散命令目标,我们对GPS风格的目标采用类似的方法。我们为每个离散命令学习一个固定张量,并使用命令索引选择相应的潜向量,输入到一个2层MLP中,以预测最终令牌。通过这种方式,我们学习了一个潜向量字典,每个潜向量对应一个不同的命令。这个架构如图14所示。
    训练:在我们的实验中,我们使用“左”、“右”和“直走”作为离散命令。我们假设训练数据没有标记离散命令,因此我们通过采样未来位置(如在GPS适应中),然后根据横向偏差选择命令,追溯性地为数据集轨迹标记相应的命令。在我们的实验中,我们将横向坐标大于0.05的样本分为“左”或“右”,其余样本标记为“直走”。我们再次使用余弦调度器,热身学习率到0.0001,共4个epoch。

图14:ViNT的适应架构。左:GPS适应架构。目标的局部坐标与固定潜向量 \(z\) 连接。右:命令适应架构,使用由命令标签索引 \(i\) 选择的潜向量 \(z_{i}\) 。

解释:这张图展示了ViNT模型在适应不同目标规范时的架构变化,分为GPS目标(左侧)和命令目标(右侧)两种情况:

 左侧 - GPS目标适应架构
1. 输入部分:上方有多张堆叠的图像,代表过去和当前的视觉观察,这些图像会输入到观察编码器\(\psi\) (浅粉色模块)中。旁边绿色的“GPS Goal”表示GPS目标,即机器人要到达的位置坐标信息。
2. 特征处理:从观察编码器\(\psi\)输出特征后,会与一个固定张量\(z\)(浅蓝色模块)连接,同时结合GPS目标信息(橙色小块)。接着,它们一起输入到一个多层感知器(MLP,由几个浅蓝色小模块堆叠表示)中进行处理。
3. 后续流程:处理后的信息会与其他特征(下方带有紫色和绿色方块的长条)进行融合(通过圆形和加号的图标表示融合操作),然后输入到Transformer等后续模块(浅米色长条及省略号部分) ,用于生成导航所需的动作等输出。

 右侧 - 命令目标适应架构
1. 输入部分:同样上方有多张堆叠的图像作为视觉观察,输入到观察编码器\(\psi\)中。“Command”表示离散的导航命令,如“左转”“右转”“直走”等。
2. 特征处理:这里有一个潜向量字典,包含多个潜向量\(z_1, z_2, …, z_n\)(灰色模块) ,根据命令索引选择相应的潜向量\(z_i\)(浅蓝色模块),然后与观察编码器\(\psi\)输出的特征一起,输入到一个多层感知器(MLP,由几个浅蓝色小模块堆叠表示)中。
3. 后续流程:和左侧类似,经过MLP处理后的信息与其他特征融合(通过圆形和加号的图标表示融合操作),再输入到后续模块(浅米色长条及省略号部分),以生成相应的导航动作等结果 。

 C训练数据集

ViNT训练数据集包含超过100小时的真实世界导航轨迹,全部来自现有数据集。该数据集由跨8个不同机器人平台收集的遥控和自主导航行为组合而成,包括4个商用平台(TurtleBot、Clearpath Jackal、Warthog和Spot)以及几个定制平台(Yamaha Viking ATV、RC Car、乘用车)。这些轨迹包含广泛不同的机器人动力学和最高速度,范围在0.2到10m/s之间,在各种不同的环境中运行(例如,办公楼、走廊、郊区、越野小径、大学校园等)。所有数据要么是公开可用的,要么是其他研究人员为过去的项目收集的;没有专门为训练ViNT收集额外的训练数据。


表7:ViNT训练数据集包含在具有挑战性的室内、室外和越野环境中,来自8种不同大小、速度和能力的机器人的超过150小时的导航数据。

 D评估ViNT的机器人平台

 Vizbot:一种受Niwa等人[58]设计启发、基于Roomba定制构建的机器人平台。它配备了一个现成的PCB安装鱼眼相机。
 Unitree Go 1:一种商用四足机器人,配备了原装的前置摄像头。训练数据集中没有来自Go 1的数据。尽管SCAND包含在Boston Dynamics Spot上收集的数据,Spot也是一种四足机器人,但这两个平台实际上有非常不同的特性。
 Clearpath Jackal UGV:一种商用越野平台,配备了一个现成的PCB安装鱼眼相机。这个系统类似于用于RECON、Berkeley和SCAND - J数据集的数据收集平台,但有不同的相机和安装高度。
 LoCoBot:一种流行的基于Kobuki的开源平台,配备了一个现成的PCB安装鱼眼相机。这个机器人不在训练数据集中,尽管GoStanford(GS)数据集是在类似的TurtleBot2上收集的,但TurtleBot2使用不同的球形相机,且安装高度较低。

 E评估设置和细节

 E.1导航性能

室内实验:为了设置室内覆盖探索实验,我们使用LoCoBot和Vizbot机器人平台。我们在封闭环境中选择一个随机的起点和目标,并在我们测试的所有基线中保持这些位置一致。对于覆盖探索任务,我们确保环境是“封闭的”,并封锁任何玻璃墙和楼梯间,因为这些超出了机器人的能力范围。如果(i)机器人在预先指定的10分钟时间限制内无法到达目标,或者(ii)机器人物理卡住(例如,碰撞且无法恢复),则实验终止。
为了在LoCoBot上设置室内引导探索实验,我们在一个大型办公楼中标记起点和目标位置,并记录它们的2D位置。目标位置作为上下文传达给机器人,并可供搜索算法使用。系统使用机器人的机载轮式里程计来跟踪位置。

室外实验:对于覆盖探索实验,我们遵循Shah等人[36]的设置,使用Clearpath Jackal UGV。我们在封闭的室外环境中选择一个随机的起点和目标位置,并为机器人获取一个目标图像观察。如果(i)机器人在预先指定的20分钟时间限制内无法到达目标,或者(ii)机器人与环境中的障碍物碰撞,则实验终止。
对于引导探索实验,我们紧密遵循Shah和Levine[29]的设置。在GPS引导实验中,机器人除了目标图像外,还可以访问目标的GPS位置。在卫星引导实验中,机器人还可以访问以其当前位置为中心的俯视卫星图像和一个学习得到的启发式函数 \(h\) 。

基线:对于第6.1节中介绍的实验,我们将4种基线方法与我们的方法进行比较。
    1. 端到端行为克隆(End - to - End BC):一种修改后的ViNT模型,没有目标令牌,仅针对预测未来动作的任务进行端到端训练。这代表了一种典型的无向行为克隆基线,与其他基线具有相似的模型容量。
    2. 端到端广义计算图(End - to - End GCG):一种基于模型的算法,使用预测模型来规划一系列动作,以在不导致碰撞的情况下到达目标[42]。由于该模型在训练时需要碰撞标签,因此仅在具有这些标签的训练数据子集(RECON、CoryHall、Berkeley)上进行训练;因此,这个基线仅在室外进行评估。
    3. RECON:物理搜索算法RECON [36]的一个变体,它使用潜在目标模型来表示可达目标,并通过对采样的子目标进行规划,以类似于我们的方式探索环境。这个基线使用变分信息瓶颈来采样潜在子目标,而不是使用扩散模型采样子目标图像。
    4. ViNT - R:我们方法的一个消融版本,它使用从训练数据中随机采样的子目标,而不是从条件扩散模型中采样的子目标作为子目标候选。

 E.2多机器人泛化实验

多机器人泛化实验的设置与覆盖探索实验相同。唯一的区别是我们评估的基线。
基线:对于第6.2节中介绍的实验,我们在每个机器人上测试三种基线低级策略。每个基线都使用第4.1节中描述的基于图的探索方案。我们使用以下基线:
    1. 单机器人:我们在两个最大的数据集(用于室外的RECON和用于室内的SACSoN)上训练一个单数据集策略模型(ViNT架构)和扩散模型,并在我们的每个机器人上进行评估,以确定每个机器人的最佳单数据集模型。请注意,我们在Go 1上没有可比较数量的视觉运动训练数据。
    2. GNM:我们使用GNM [19]作者提供的预训练模型检查点,并结合我们的扩散模型(因为GNM与探索任务不兼容),在每个机器人上进行评估。
    3. ViNT:我们使用我们的预训练ViNT策略和图像扩散模型(不进行微调)在每个机器人上进行评估。

 E.3微调与适应

本节描述了在CARLA自动驾驶模拟器中进行ViNT微调与适应实验的设置和实现细节,如第6.3节和第6.4节所述。

CARLA数据收集:我们使用基于规则的神谕自动驾驶代理收集专家轨迹,并在轨迹上以4Hz的频率收集里程计和RGB信息。这些轨迹有随机的生成点和随机的目的地,最长可达900米。我们在CARLA的Town 02中收集了52条轨迹用于留出测试,在Town 01中收集了181条轨迹用于训练。这使得自动驾驶控制数据的数据集大小达到5小时。受[22]启发,我们还在Town 01和Town 02中分别收集了代理偏离路线后纠正回正确车道的短轨迹用于训练和测试,这些数据时长为4小时,我们将其添加到自动驾驶数据中用于训练。

微调实验:为了测试在新领域中使用相同目标规范训练ViNT的微调系统,我们利用收集到的测试轨迹作为要跟随的目标图像序列。每个Town 02测试轨迹创建一个图,其中每个节点是对应于图像的带时间戳的里程计点。为了在测试轨迹上评估模型,我们在相同的起点生成模型并将其定位在轨迹地图上。然后,我们查询与当前节点之后1.5秒的节点对应的目标图像,并将该目标图像与4Hz的图像上下文一起发送到ViNT,以计算短距离轨迹。这由一个简单的PID控制器跟踪。收集所有试验中碰撞前朝向目标的平均进展并报告。表3总结了使用多个基线和不同数据大小的这些实验结果。

适应实验:为了测试新任务,我们采用与微调实验类似的评估设置,但依赖于所选目标节点的里程计位置而不是图像。对于位置适应,我们将目标坐标转换到局部框架并发送到ViNT。对于路由适应,我们确定当前节点和目标节点之间的横向坐标差异。我们选择当前节点作为参考,以确保进行开环实验,并允许预先计算要发送的命令信号。然后,我们在训练期间应用相同的分箱策略,使用0.05的归一化距离作为“左”、“右”和“直走”之间的边界。此操作下游的控制系统与图像微调相同,当到达目标或发生碰撞时实验终止。收集碰撞前朝向目标的进展并在所有试验中取平均值,结果列于表3。

基线:CARLA实验的基线如下:
    1. 从头开始训练(Scratch):在CARLA任务相关数据集上从头开始训练ViNT。
    2. 预训练视觉表示
        ImageNet:用在ImageNet上预训练的EfficientNet - B0权重初始化ViNT,其他参数从头开始初始化,并使用CARLA任务相关数据集进行微调。
        SimCLR:用在第C节所述训练数据上通过SimCLR [7]预训练的EfficientNet - B0权重初始化ViNT,其他参数从头开始初始化,并使用CARLA任务相关数据集进行微调。
        VC - 1:用来自VC - 1 [44]作者的预训练ViT - B模型检查点初始化ViNT并冻结,其他参数从头开始初始化,并使用CARLA任务相关数据集进行微调。VC - 1编码器在Ego4D、操作、导航和ImageNet图像的组合上使用掩码自动编码 [43, 59]进行预训练。
    3. GNM:使用GNM [19]作者的预训练与实体无关模型检查点,使用CARLA任务相关数据集进行微调。请注意,GNM有870万个可训练参数,而ViNT有3100万个。
我们注意到,第6.4节中VC - 1基线的性能较弱,可能是因为它被冻结,而所有其他视觉编码器都可以自由微调。这代表了典型的下游使用情况 [44]。尽管在多个不同的数据集上进行了训练,但视觉表示的通用特征并未针对导航任务进行优化,这阻碍了其零样本转移到域外任务的能力。为了公平比较预训练视觉特征的质量,我们将此性能与ViNT - FE(一个预训练的ViNT模型,其视觉编码器被冻结)进行比较。ViNT - FE与VC - 1基线具有相同数量的可训练参数,并且视觉表示被冻结(见表8)。


表8:评估ViNT在冻结和未冻结编码器情况下的微调效果,并与通用视觉编码器进行比较。即使被冻结,ViNT中与导航相关的特征似乎比通用特征更容易转移到分布外输入上。


http://www.kler.cn/a/571628.html

相关文章:

  • 智能设备上的 AI 移植与部署:新趋势与实践案例
  • uniapp 解决 H5 跨域问题
  • 基于Swintransformer与对称性损失函数的3D人体姿态估计
  • 论文插图绘制|R语言绘制瀑布图,展示高频突变基因在样本中的分布模式|25-03-04
  • 自动化学习-使用git进行版本管理
  • php的笔记(更新中)
  • 电子电气架构 --- 拓扑架构集中的趋势及其演变
  • RK3568平台(网络篇)RTL8111网卡
  • 【Elasticsearch】修改数据流(Data Stream)
  • 蓝桥云客 跑步
  • AI编程,常见的AI编程工具有哪些?如何用AI编程做一个简单的小软件?
  • Pycharm配置ROS开发环境
  • CSS_复合选择器
  • 【前沿 热点 顶会】CVPR 2025 录用的与图像|视频恢复、抠图、超分辨率、3D生成有关的论文
  • c++ cout详解
  • 【每日八股】MySQL篇(七):日志(上)
  • flink和yarn和mpp架构区别
  • Vue 调用摄像头扫描条码
  • windows 安装Android Studio
  • FreeRTOS系列---程序正常,但任务无法创建