LOVON——面向足式Open-Vocabulary的物体导航:LLM做任务分解、YOLO11做目标检测,最后L2MM将指令和视觉映射为动作(且解决动态模糊)
前言
因为项目需要(比如我们在做的两个展厅讲解订单),近期我一直在研究VLN相关,有些工作哪怕暂时还没开源(将来可能会开源),但也依然会解读,比如好处之一是构建完整的VLN知识体系,本文便是其中一例
我在解读过程中,会以最自然的理解顺序去介绍每一个模块,且每一个模块具体的指向都尽可能直截了当的指出来
比如论文中的指令器instruction object extractor(简称IOE),便是下图图中LLM模块下面Extractor所示的模块。这点 其实不难,但如果我直接点明,大家理解的速度会因此翻倍
更何况,无论是读paper、抠代码,还是做科研复现、客户订单,都是不断增强我们自信、底气、实力的方式,具身层面,但凡别人能做的 我们也能做到——只要客户有需求,当然 需求不能是那种神仙来了 也没辙的
PS,如想做、在做、曾做该方向的,欢迎私我一两句简介,邀你进NaVILA为代表的「七月具身: 人形导航VLN交流群」
第一部分 LOVON
1.1 引言、相关工作、问题表述
1.1.1 引言
足式机器人经过数十年的发展,如今在复杂地形中展现出了卓越的机动性。然而,目前的大多数研究主要集中在优化单一任务,如行走、跳跃、攀爬和短距离导航,缺乏对复杂长时任务的全面考量
众所周知,足式机器人在开放环境中执行长时任务的潜力尚未被充分挖掘,将先进的语言与视觉理解能力与足式机器人机动性相结合,是实现实际应用的关键突破
来自1香港科技大学(广州)、2北京仿人机器人创新中心、3 香港科技大学的研究者:Daojie Peng1∗, Jiahang Cao1,2∗, Qiang Zhang1,2∗, Jun Ma1,3†等人提出了LOVON『其paper《LOVON: Legged Open-Vocabulary Object Navigator》、其项目地址、其GitHub地址』
如图1所示,其集成了
- 大语言模型(LLMs)的任务规划能力
- 开放词汇视觉检测的感知能力
- 以及用于精确运动预测的语言到运动模型(L2MM)
且LOVON系统解决了诸如机器人运动引起的视觉抖动等现实世界中的挑战
- 具体而言,作者设计了一种拉普拉斯方差滤波技术,有效减缓了机器人移动过程中出现的视觉不稳定性,从而确保了目标检测的准确性和连续性
- 还提出了用于稳健任务完成的功能执行逻辑。在仿真基准Gym-Unreal [6]上的实验表明,LOVON取得了优异的结果
此外,作者在多个腿式机器人平台(Unitree Go2、B2 和 H1-2)上进行了大量实验,成功完成了涉及实时检测、搜索和导航至开放词汇动态目标的长时任务
1.1.2 相关工作
第一,对于用于机器人任务规划的大型语言模型
- 在机器人领域,LLM(大语言模型)已被越来越多地应用于高级任务规划、指令执行和语义推理,例如
SayCan [8] 将LLM与机器人可供性模型结合,用于将语言指令映射为可执行的动作
而 Code as Policies [9] 则利用LLM直接根据自然语言描述为机器人控制器生成代码 - 尽管取得了这些进展,但在将语言与现实世界机器人动作进行对齐 [10]–[12]、处理模糊或用户指定的指令,以及确保在非结构化环境下的鲁棒性能方面仍然存在挑战
LOVON在这些基础上进一步发展,通过将基于LLM的规划与开放词汇感知和腿式机器人移动能力集成,旨在解决以往方法在长时序、开放世界场景中的局限性
第二,对于开放词汇视觉感知
- 开放词汇视觉感知已经从早期的固定类别目标检测器『如 Faster R-CNN [13] 和 YOLO [3]』有了显著发展,这些方法仅能识别预定义类别,在开放世界场景下表现不佳
后续的研究,如Grounding DINO [14],通过引入基于语义关联的预训练,进一步提升了开放集检测的准确性 - 对于机器人应用而言,实时性能以及对动态摄像机运动(例如由足式机器人行走引起的抖动或目标短暂遮挡)的鲁棒性依然是关键挑战 [15]。现有方法在此类场景下往往无法保持检测的稳定性,缺乏根据机器人运动状态或环境变化自适应的反馈机制
LOVON 针对这些不足,通过开发专门的预处理技术(如拉普拉斯方差滤波)来减轻运动模糊,确保视觉输入的一致性,并将开放词汇检测与任务规划和运动控制紧密集成,实现了在非结构化环境中的端到端执行
第三,对于足式机器人导航与长时域自主性
- 足式机器人导航已从低层次的移动发展到复杂任务,但现有方法往往侧重于单一任务优化,缺乏对长时域任务中高层次规划的整合[16]–[18]
尽管足式机器人在地形适应性方面表现优越[19],但其在非结构化环境中执行连续目标的潜力尚未得到充分挖掘,因为传统系统通常将感知与运动规划分离,并且在动态目标跟踪方面存在困难 - LOVON通过将分层任务分解与实时运动控制相统一,解决了这一问题。基于LLM的规划器能够将长时域任务分解,而L2MM将指令和视觉反馈映射为动态运动向量
这使得机器人具备自适应行为,例如在目标丢失时切换至搜索状态。该方法已在Unitree Go2、B2和H1-2等平台上的多种地形中验证。通过将开放词汇感知与足式移动能力结合,LOVON使自主机器人能够在复杂环境中导航,并适应动态任务
1.1.3 问题描述
- 关于任务
本任务要求机器人在任意开放世界环境中操作,需要执行长周期任务以搜索不同目标。长周期任务被定义为一组子任务
,其中每个子任务对应于搜索特定目标
的描述具有灵活性(如图2左下角所示示例),允许任务目标多样化,具体而言,首先,大语言模型任务规划器将人的任务重新配置为基本指令,同时检测模型利用拉普拉斯滤波器处理视频流。随后,任务指令、目标对象、边界框和状态被输入到语言到运动模型中,该模型生成机器人的控制向量和反馈,逐步完成所有任务
该过程中的核心挑战在于,机器人需自主搜索并识别不同的子目标(目标),并根据任务指令以不同速度导航至这些目标。这些子目标在任务过程中可能发生变化,因此要求机器人具备动态适应能力 - 关于目标
作者的目标是开发一个双系统模型:
(I) 高层策略能够将复杂的任务指令
分解为具体的子任务指令集
,并进行任务规划;
(II) 低层策略则基于具体的子任务指令
和视频流输入
,生成运动向量
,实现精确的运动控制
该模型应能够适应不同类型的腿式机器人,确保在现实世界应用中的多样性和通用性
1.2 LOVON的完整方法论
LOVON 的流程如图2所示
- 首先,大型语言模型LLM将人类的长周期任务
You are a robot, you need firstly run to the backpack. After that move to the chair at 0.5 m/s and then approach the person fastly.
重新配置为基本的任务指令,毕竟
Task 1: Run to the chair at 0.4 m/s
Task 2: Move to the chair at 0.5 m/s
Task 3: Approach to the person at 0.8 m/s - 随后,这些指令(Task 1/Task 2/Task 3)被传递给指令对象提取器instruction object Extractor(简称IOE)——即,这个IOE是紧跟LLM之后 处理指令的,以识别目标对象,比如:chair、person等
- 检测模型——比如YOLO11 处理捕获的视频流,输入图像则通过拉普拉斯滤波器进行预处理
- 最后,任务指令、目标对象、边界框、任务状态和搜索状态被组合后,作为输入传递给所提出的L2MM,该模块会生成机器人的控制向量以及同时用于LLM和L2MM的反馈状态
Finally, the mission instruction, target object, bounding box,mission state, and search state are combined as inputs to theproposed L2MM, which generates the robot’s control vectorand feedback states for both the LLM and L2MM
1.2.1 多模态输入处理
LOVON集成了两个预训练模型:
- 用于长时序任务管理的大型语言模型LLM(例如,[1]、[22]、[23])
- 用于视觉输入处理的目标检测模型(例如,[5]、[14]、[20]、[21]
首先,对于指令,先LLM处理,之后指令对象提取器Extractor 提取目标对象
- 首先,LLM的输入包括系统描述
、用户的长序列任务描述
,以及来自L2MM
的反馈
基于这些输入,LLM生成具体的任务指令,使LOVON能够通过生成必要的指令来完成长序列任务,从而实现任务目标
- 然后,作者提出的IOE——即提取器instruction object Extractor,将指令映射到检测类别。IOE采用带有感知层的两层Transformer来预测目标类别
其中表示检测模型能够识别的类别集合
其次,对于视觉处理,目标检测模型以RGB图像,和
作为输入,并输出所需的检测信息如下
作者采用归一化格式来表示检测结果,其中
- 预测目标记为
- 置信度得分
- 边界框的中心位置表示为
- 边界框的宽度和高度表示为
此外,作者对目标检测模型输出的边界框应用移动平均滤波器,以进一步提升稳定性
1.2.2 基于拉普拉斯方差的运动模糊滤波
当足式机器人运动时,由于产生的波动,捕获的图像帧会出现运动模糊,如图3所示
由于机器人动态行走,前几帧尤其模糊,这给视觉模型带来了挑战
为了解决这一问题,作者提出了一种基于拉普拉斯方差的方法,用于检测和过滤运动模糊帧。该预处理步骤通过减轻机器人运动和振动引起的模糊与畸变,提高了输入到基于目标检测的视觉-语言处理流程的鲁棒性
- 具体而言,首先将RGB帧
转换为灰度图
- 随后,应用拉普拉斯算子以增强高频成分,得到拉普拉斯响应
- 接着,计算拉普拉斯响应的方差,以评估帧的清晰度
如果方差低于阈值,则该帧被判定为模糊帧,并用上一帧清晰帧替换。阈值
根据机器人场景通过实验校准。该过滤方法的性能将在第VII-B节讨论
1.2.3 语言到动作模型L2MM:负责预测动作和提供反馈
简言之,L2MM 采用编码器-解码器架构设计
具体而言,编码器接收一系列输入,包括以下组件:
- 前一个任务指令
- 当前任务指令
- 预测目标
- 预测置信度
- 中心位置
- 归一化边界框的宽度和高度
- 当前任务状态
以及当前搜索状态
这些输入被拼接在一起,并用特殊token [SEP] 分隔,作为,编码器处理该序列并输出一个潜在状态
随后,该信息被传递给解码器,解码器由三个独立的头部组成,每个头部分别针对不同的预测任务进行处理:
- 运动向量头
本头根据潜在状态预测机器人的运动向量
。其被建模为一个序列到向量的问题,输出为机器人运动的控制向量
- 任务状态头
该头用于预测任务状态,该状态被用作编码器的反馈以调整未来的动作
该预测被表述为一个序列到数值的问题,其中输出表示任务的当前状态
预测公式如下
- 搜索状态头
本头预测搜索状态,用以指示机器人在寻找目标过程中的进展
这同样是一个序列到数值的问题,输出反映当前的搜索状态:
- 对于运动向量头部
,作者采用均方误差损失函数,并使用系数
来衡量预测与实际运动向量之间的差异
- 对于任务和搜索状态头
和
,作者使用交叉熵损失将预测状态与真实标签进行比较
其中是真实标签,
是每个类别的预测概率
每个解码器头都使用感知层来处理潜在状态 并生成相应的输出,且该模型的最终输出是来自所有三个解码器头的预测结果的组合:
- 其中
,
和
分别表示机器人在 x 轴和 y 轴上的速度,θ 表示角速度
和
分别为输出的搜索状态和任务状态
任务状态包括success(任务成功完成)和 running(朝检测到的目标移动)
搜索状态包括 searching_0(向左旋转进行搜索)和 searching_1(向右旋转进行搜索)
状态与其对应运动向量的关系总结见表 I
该架构使模型能够同时预测运动向量、任务状态和搜索状态,从而不仅使机器人能够精确控制自身运动,还能理解长任务序列并提供相关反馈
1.3 机器人任务执行功能逻辑与数据集的准备
1.3.1 机器人任务执行功能逻辑
一旦模型生成预测结果,机器人便按照其功能逻辑执行任务,并适应环境变化。在任务执行过程中,引导其行为的关键功能包括
- 执行新任务
机器人将前一次任务指令与当前指令进行比较。如果二者不同,机器人便开始执行新任务 - 跑向目标物体
在检测到任务物体后,机器人根据运动向量和检测结果朝其导航 - 搜索丢失的物体
如果机器人失去了对任务物体的跟踪,它会自动切换到搜索状态,并调整运动以重新定位该物体 - 保持当前状态
机器人根据实时视觉输入保持当前状态,直到发生状态转换,以确保任务持续执行 - 完成任务
机器人监控任务物体,一旦进入成功阈值范围,机器人停止并切换到成功状态
这些功能规则确保了自主导航、任务适应性以及任务的稳健完成
1.3.2 数据集准备
如图4所示,数据集生成流程包括三个主要部分:
- 检测类别同义词扩展
作者利用大型语言模型(LLM)为预定义的目标类别生成同义词,从而丰富对象类别,并提升模型在不同对象描述间的泛化能力 - 指令多样化
为了增强语言模块,作者利用大语言模型(LLM)生成任务指令的同义表达
这样,模型能够处理多样化的句子结构,同时保留核心信息,从而提升其适应能力 - 对象类别阈值生成
根据初始示例为目标检测定义成功阈值,然后利用LLM将这些阈值自适应扩展到其他类别,确保模型能够处理不同尺寸的对象
在生成过程中,生成的数据会反馈到LLM中,以迭代优化数据集,避免冗余并逐步提升数据集的多样性。数据集生成过程快速且易于扩展,使用Inteli9-12900KF CPU生成100万条数据仅需不到15分钟
1.4 实验
1.4.1 实验设置
第一,在模型细节上
- 作为任务规划器和数据生成助手,作者使用了DeepSeek R1 [22]
- IOE 采用相同的整体架构,但特征维度缩减至64,包含2层Transformer 和4个注意力头,前馈维度为256
- 对于目标检测,作者采用了最新开发且高效的YOLO-11 [20],该模型兼具高性能与轻量级架构
- L2MM 是一种基于 Transformer的模型,特征维度为256,包含4层和8个注意力头,前馈维度为1024,并配有一个线性输出层
第二,在训练设置上
- 作者收集的数据集包含100 万样本,以4:1 的比例划分为训练集和测试集。且使用NVIDIA RTX 3080Ti GPU 进行训练
- L2MM 模型的训练采用0.1 的dropout率,学习率为10−4,批量大小为512,最大序列长度为64,运动损失系数β 设为10
- 使用AdamW 优化器训练25 个epoch。总训练时间约为1 小时
同样,IOE 模型在相同的训练设置下训练,耗时约30 分钟
第三,在机器人设置上
LOVON 具有多功能性,可应用于多种腿式机器人。在作者的实验中,他们评估了三种具有代表性的模型:Unitree Go2、B2 和 Unitree H1-2,如图5所示
计算平台采用 Jetson Orin,视觉平台则包括机器人内置摄像头以及 Realsense D435i 摄像头
1.4.2 运动模糊帧过滤的性能
为了研究运动模糊对目标检测性能的影响,作者进行了实验,分析拉普拉斯方差与检测置信度之间的关系
- 他们指令机器人以0.3、0.5或0.7 m/s的固定速度接近背包、椅子或人
相机以约15Hz的频率更新,确保目标始终处于视野中 - 捕获图像帧后,作者计算每一帧的拉普拉斯方差,并将其输入目标检测模型,以获得预测的置信度分数
如图6所示
拉普拉斯方差与YOLO置信度之间的关系波动显著。例如,在机器人运行阶段,尽管目标始终处于视野范围内,检测模型在许多帧中始终无法识别目标对象
- 为了解决这一问题,作者采用了所提出的运动模糊帧过滤方法。通过设置上文引入的模糊阈值,能够过滤掉运动模糊过度的帧
图7中研究了不同模糊阈值的影响,他们观察到,较高的阈值会带来更高的合格帧比例,但阈值设置过高又会导致有效帧被不必要地剔除
经过测试,作者将阈值设定为Tblur=150,这使得所有数据集的合格帧比例提升了约15% - 随后,作者将该过滤方法集成到目标检测流程中。被判定为模糊的帧会被排除,并由上一帧合格帧替换,同时检测置信度通过移动平均滤波器(MAF)进行平滑处理。如图7子图所示,这一集成方法使合格帧率整体提升了25%,证明了他们运动模糊帧过滤方法的有效性
// 待更