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

VLN 论文精读(二)VL-Nav: Real-time Vision-Language Navigation with Spatial Reasoning

这篇笔记用来描述2025年发表在arxiv上的一篇有关VLN领域的论文,由纽约州立大学布法罗分校和卡耐基梅隆联合发布。其主要创新点在于:像素级的视觉-语意特征、低算力移动设备部署、30Hz控制实时性、VLM模型的zero-shot

整个导航流程大概如下:

  1. 接受导航指令,用VL模型(文中用的是YOLO-World)对前向视角中的内容进行分析;
  2. 对于所有可能的识别目标都进行保留,模拟人类寻找目标的情况,即瞟一眼然后走进确认;
  3. 选择一个综合好奇心与高斯分布评分加权最高的目标,激光雷达滚动 occupancy map + FAR-planner + 局部规划器 让小车前往目标进行确认;
  4. 如果确认为假则重新选择一个目标;

写在最前面

为了方便你的阅读,以下几点的注意事项请务必了解:

  1. 该系列文章每个字都是我理解后自行翻译并写上去的,可能会存在笔误与理解错误,如果发现了希望读者能够在评论区指正,我会在第一时间修正错误。
  2. 阅读这个系列需要你有基础的LLM与导航知识,有时候我会直接使用英文名词,因为这些词汇实在不容易找到符合语境的翻译。
  3. 原文可能因为版面限制存在图像表格与段落不同步的问题,为了更方便阅读,我会在博文中重新对图像表格进行排版,并做到引用图表的文字下方就能看到被引用的图表。因此可能会出现一张图片在博客中多处位置重复出现的情况。
  4. 对于原文中的图像,我会在必要时对图像描述进行翻译并附上我自己的理解,但如果图像描述不值得翻译我也不会强行写上去。

Basic Information

  • 论文标题:VL-Nav: Real-time Vision-Language Navigation with Spatial Reasoning
  • 原文链接:https://arxiv.org/abs/2502.00931
    发表时间:2025
    发表平台:arxiv
    作者团队:Yi Du、Taimeng Fu、Zhuoqun Chen、Bowen Li、Shaoshu Su、Zhipeng Zhao、Chen Wang
    院校机构:
    • University at Buffalo;
    • Carnegie Mellon University;
  • GitHub仓库:【暂无】
  • 项目网站:https://sairlab.org/vlnav/;

Abstract

在未知环境中进行视觉-语言导航(Vision-Language Navigation)对于移动机器人至关重要。在家庭辅助和救援等场景中,移动机器人需要理解人类的指令,例如“找到一个穿着黑色衣服的人”。作者提出了一种新颖的视觉语言导航(VL-Nav)系统,该系统在低功耗机器人上集成了高效的空间推理。与以往依赖单一图像级特征相似性来引导机器人的方法不同,该法将 像素级视觉语言特征(pixel-wise vision-language features)与 好奇心驱动(curiosity-driven)的探索相结合。这种方法能够实现对不同环境中人类指令目标的稳健导航。作者在一个四轮移动机器人上部署了VL-Nav,并通过室内和室外环境中不同场景大小和语义复杂度的综合导航任务评估其性能。值得注意的是,VL-Nav在Jetson Orin NX上能够以 30Hz 的频率实时运行,突显了其进行高效VLN的能力。结果表明,VL-Nav实现了86.3%的总体成功率,比以往的方法提高了44.15%。

在这里插入图片描述


Introduction

在未知的环境中,根据人类指令进行高效导航对于自主机器人至关重要,其应用范围从家庭辅助到行星探索等多个领域。在上述场景下,机器人需要自主探索并识别人类指令中的目标,作者将这一挑战定义为视觉语言导航(VLN)。假设一名身穿灰色衣服的男子失踪,发出“找到一个穿灰色衣服的男人”的指令,机器人不应进行随机探索,而是应该优先考虑那些视觉特征与语言线索显示出更强关联的方向,例如在其视野内检测到“灰色布料”。真实场景的VLN需要一个能够满足以下条件的导航系统:

  1. 解释像素级视觉语言特征;
  2. 适应并在各种环境中稳健运行;
  3. 在低功耗平台上实时运行。

然而,目前还没有能够完全满足上述三个需求的VLN系统。现有的方法可以大致分为 经典方法端到端学习方法模块化学习方法

  • 经典方法虽然高效,但在整合视觉-语言特征理解方面存在困难;
  • 端到端学习方法展现了潜力,但计算成本高昂,容易在模拟环境中过拟合,并且在超出分布的场景中泛化能力较差;
  • 模块化学习方法展示了在真实世界中强大的性能,但通常依赖于大量的真实世界训练数据,并且缺乏类似人类的推理能力;

VLMs和LLMs的出现进一步增强了模块化导航方法的能力。例如,视觉-语言-前沿地图(Vision-Language Frontier Maps ,VLFM)利用VLMs直接从RGB图像中提取语言相关的特征用来创建语义地图,进而能够根据人类的语义进行引导探索。然而,它们依赖高算力的条件限制了在低功耗平台上的部署。此外,VLFM严重依赖于 单个图像级特征相似性(single image-level feature similarity),限制了细粒度视觉-语言能力。

【注】:在阅读下面这段之前需要对 frontier-basedinstance-basedCVL spatial reasoning 这几个名词有一个大致的概念。

  • frontier-based:探索边界来指导导航常用于主动探索。通过构建环境的occupancy mapnavigation graph,识别已探索区域和未知区域的边界(frontier),引导前往这些区域以最大化信息增益;
  • instance-based:以目标物体或特征为中心,利用视觉或语义实例来引导导航,围绕该目标进行路径规划,常用于精确导航
  • CVL spatial reasoning:基于计算机视觉和语言(Computer Vision and Language, CVL)的空间推理能力;

为了弥补这一差距,作者提出了一个针对低功耗机器人优化的新型导航框架VL-Nav,并在车载计算机上以 zero-shot 实现了 30Hz 的控制频率。VL-Nav在 frontier-basedinstance-based 的目标点上都采用了空间推理(spatial reasoning)。

VL-Nav初始化时使用部分边界检测从动态占据地图中生成 frontier-based 的目标点,将搜索限制在 可控的视野范围内 从而减少计算开销;然后引入instance-based 目标点,模拟人类搜索行为,让机器人能够接近并验证潜在的目标从而提高成功率。为了筛选出信息量最大的目标点引入了CVL空间推理。该技术首先使用高斯混合模型将像素级视觉语言特征转换为空间评分分布。然后根据该分布为每个目标点分配一个CVL score。然后使用好奇心驱动的权重鼓励机器人探索未知区域,并将用于调整CVL score。最终选择具有最高CVL score的目标作为目标点。CVL空间推理确保了所选目标点不仅与人类描述一致,而且还能引导机器人探索未知区域。

一旦选定目标,VL-Nav便利用 经典规划器 进行实时感知障碍的路径规划,从而无缝地适应已知的环境。通过将像素级视觉语言特征与基于好奇心的探索相结合,并采用新颖的CVL空间推理,VL-Nav超越了所有baseline方法,同时在部署上是可行的。作者的主要贡献如下:

  • 提出了一个针对低功耗机器人优化的高效VLN系统,在车载计算机上实现了30Hz的稳健实时性能;
  • 通过整合像素级视觉-语言特征 + 好奇心驱动的探索,增强了VL-Nav的空间推理能力;
  • 在四个真实世界场景中进行了实验,结果表明VL-Nav在不同环境中比以往的方法提高了44.15%。

Related Works

机器人导航方法可以大致分为经典方法(Classical Approaches)、端到端方法(End-to-End Learning)、模块化学习方法(Modular Learning)这三类。

Classical Approaches

经典导航方法,主要是基于SLAM的技术。该方法通常使用深度传感器或单目RGB相机构建环境的几何地图,在增量地图上同步定位机器人。探索通常由启发式策略启动(如frontier-based),规划器用于避障和路径规划。尽管这些经典方法对于传统导航任务有效,但它们缺乏整合视觉-语言特征的能力,因此不足以应对视觉-语言-导航这样的人机协作任务。

End-to-End Learning

端到端学习方法使用深度神经网络直接将传感器输入映射到导航动作,通常使用模仿学习(IL)或强化学习(RL)进行训练。尽管端到端方法能够学习用于目标导向探索(goal-directed)的语义先验,但它们存在显著的局限性。这些局限性包括高昂的计算成本、对大规模训练数据的依赖、缺乏可解释性。此外由于应用领域差异,这些方法通常难以在仿真环境之外进行泛化,当过渡到现实世界时性存在显著的性能下降。

Modular Learning

模块化学习方法旨在通过用学习到的模块 替换经典流程中的部分组件,以实现结合经典方法和端到端方法的优点。该方法在保持系统可解释性和效率的同时集成语义先验。例如,从RGB-D数据生成的语义地图用于导航到特定对象。通过将原始传感器数据抽象为更高级别的表示,模块化方法在解决Sim-to-Real迁移方面显示出潜力,降低了领域差异的影响。然而,现有的模块化方法通常严重依赖于真实世界的训练数据,并且难以利用视觉语言特征。

Foundation Models for Navigation

根据VLMs和LLMs等基础模型的最新进展,通过将自然语言理解融入模块化学习进一步增强语义导航的能力。视觉-语言-前沿地图(VLFM)方法通过利用 预训练的VLM直接从RGB图像中提取语义,从而实现了基于前沿探索的zero-shot语义先验理解。VLFM在仿真环境中实现了SOTA性能,解决了先前基于前沿和目标导向的模块化方法的局限性。然而,VLFM对计算密集型VLM的依赖限制了其在资源受限平台上的部署,并且依赖于每次观测的单一语义相似性度,没有充分考虑像素级视觉语言理解和空间推理。先前有团队在四足真机机器人上安装高功耗的RTX 4090来处理计算密集型任务,这对于移动机器人来说是不切实际的。(PS:其实我之前很多实验都是用3080笔记本连接机器人完成的,在这里被作者批评成不切实际了_(:з」∠)_)

Strengths of VL-Nav

VL-Nav通过解决经典方法、端到端、模块化学习方法的局限性。采用了滚动占据网格(rolling occupancy grid)和部分前沿检测(partial frontier detection)降低了计算开销,并增强了在低功耗平台上动态环境中的适应性。通过instance-based目标点与空间推理的整合实现了像素级视觉语言特征的解释和上下文感知的目标选择。VL-Nav针对资源受限的平台进行了优化,并保持了30Hz的实时性能。这使得VL-Nav不仅适用于实际应用,而且在复杂多样的环境中表现出卓越的导航性能。


Methodology

本节将介绍VL-Nav流程 Fig. 2,该流程利用滚动占据网格地图、frontier-basedinstance-based的目标点,以及好奇心-视觉-语言评分策略来选择并确定导航目标。该目标不仅与给定的指令对齐,还能引导机器人更高效地探索未知区域。
在这里插入图片描述

A. Rolling Occupancy Map: Occupancy Update

作者将环境表示为一个二维占据网格 G G G ,其中每个单元格状态为空闲的(0)、未知的(-1)或被占据的(100)三者中的一种。在接收到新的传感器数据(包含障碍物地形点云 P P P)后,按照以下步骤更新 G G G

  1. Expand if needed 必要时扩展:如果任何新观察到的点位于当前已知地图边界之外,则就地扩展网格;
  2. Clear stale obstacles in forward FOV 清除前向视野中的障碍物:将过时的障碍物单元格重新标记为空闲;
  3. Inflate new obstacles 膨胀新的障碍物:对于传感器范围 R R R 内的 P P P 中每个障碍物点,标记对应的单元格以及膨胀半径内的局部邻域为被占据;
  4. Raycast unknown cells to free 将传感器视线范围内的未知区域单元设置为空闲:假设机器人姿态为 ( x r , y r , θ r ) (x_{r},y_{r},\theta_{r}) (xr,yr,θr) 以及其视角范围 θ ∈ [ θ r − h f o v 2 , θ r + h f o v 2 ] \theta\in [\theta_{r}-\frac{hfov}{2},\theta_{r}+\frac{hfov}{2}] θ[θr2hfov,θr+2hfov]

Algorithm 1 总结了主要步骤,并返回更新后的网格 G G G,这种更新策略利用一致的视线逻辑和膨胀来支持安全导航。
在这里插入图片描述

B. Frontier-based Target Points

每个单元格用 ( m x , m y ) (m_{x},m_{y}) (mx,my)表示,对于空闲的单元格 G ( m x , m y ) = 0 G(m_{x},m_{y})=0 G(mx,my)=0 而言,其至少有一个领域单元格为未知状态 G ( m x , + Δ x , m y + Δ y ) = − 1 G(m_{x},+\Delta{x}, m_{y}+\Delta{y})=-1 G(mx,+Δx,my+Δy)=1 。在每次网格更新时仅更新 前向视角的楔形区域 单元格:

∣ A g n l e ( ( m x , m y ) , ( x r , y r ) ) − θ r ∣ ≤ h f o v 2 , a n d ∥ ( m x , m y ) − ( x r , y r ) ∥ ≤ R . \left|Agnle\left((m_{x},m_{y}),(x_{r},y_{r})\right)-\theta_{r} \right| \leq \frac{hfov}{2}, and \left\|(m_{x},m_{y})-(x_{r},y_{r})\right\| \leq R. Agnle((mx,my),(xr,yr))θr2hfov,and(mx,my)(xr,yr)R.

使用BFS将这些单元格聚类(小聚类由单个质心表示,大聚类由多个采样点表示),质心与采样点将作为frontier-based的目标点。

C. Instance-Based Target Points (IBTP)

视觉-语言模块定期返回候选目标的几何中心 ( q x , q y , c o n f i d e n c e ) (q_{x},q_{y},confidence) (qx,qy,confidence),其中 q x , q y q_{x}, q_{y} qx,qy 表示待选目标的全局坐标估计、 c o n f i d e n c e confidence confidence 量化了该目标的匹配度,如果置信度大于阈值 τ d e t \tau_{det} τdet 则保留。如果有多个对象相互距离较近,保留经过体素滤波降采样后的点。

这种方法模仿了人类在搜索物体时的行为:当瞥见潜在目标时人会靠近确认。VL-Nav同样将高于置信度阈值的对象都视为有效目标,允许机器人靠近并验证它是否为真。如果验证结果为假,机器人则会继续对其他目标进行探索,从而产生准确稳健的zero-shot导航策略。

D. CVL Scoring Policy

一旦获得了质心和instance-based的目标,系统将为每个候选目标 g g g 计算一个CVL score。用 ( x r , y r ) (x_{r}, y_{r}) (xr,yr) 表示机器人位置, θ r \theta_{r} θr为偏航角, d ( x r , g ) d(x_{r},g) d(xr,g)为欧几里得距离,角度偏移增量表示为:
Δ θ = A n g l e ( g , ( x r , y r ) ) − θ r \Delta\theta=Angle(g,(x_{r},y_{r}))-\theta_{r} Δθ=Angle(g,(xr,yr))θr

VL Score

Fig. 3所示,视觉-语言评分 S V L ( g ) S_{VL}(g) SVL(g) 将像素级视觉语言特征转换为机器人水平FOV上的高斯混合分布。假设开放词汇检测模型(能识别常见任意物体的模型)识别出 K K K 个可能的方向或区域,每个方向或区域由 ( μ k , σ k , α k ) (\mu_{k},\sigma_{k},\alpha_{k}) (μk,σk,αk) 表示。其中 μ k \mu_{k} μk 表示FOV内平均偏移角度; σ k \sigma_{k} σk 表示视觉编码检测的角度不确定性(在本文中设定为0.1); α k \alpha_{k} αk 为置信度的权重。通过在高斯混合模型中累加每个区域的得分, S V L ( g ) S_{VL}(g) SVL(g) 能够让机器人偏向于与语言提示词匹配度更高的方向。
在这里插入图片描述

从人类的角度来看,这个过程类似用不同确定性值来观察不同目标的区域。例如,如果在一个大房间里寻找“红色椅子”,可能在视野右侧有多个模糊的红色轮廓、在视野中心有一些更清晰的红色物体。尽管眼角余光瞟见的物体通常置信度较低,但并不会在决策过程中被忽略。相反会将这部分观察结果合并为一种心理上的感觉,即“椅子可能在这些其中一个方向上”。VL-Nav采用类似的方法为每个区域分配一个期望为 μ k \mu_{k} μk,方差为 σ k \sigma_{k} σk,加权为 α k \alpha_{k} αk 的高斯分布。根据VLFM的启发,在此基础上乘以视图置信度 C ( Δ θ ) C(\Delta{\theta}) C(Δθ),用来降低与中心视野有较大角度偏移的检测的权重。VL socre计算如下:
S V L = ∑ k = 1 k α k e x p ( − 1 2 ( Δ θ − μ k σ k ) 2 ) ⋅ C ( Δ θ ) C ( Δ θ ) = c o s 2 ( Δ θ ( θ f o v / 2 ) ⋅ π 2 ) \begin{align} S_{VL} &=\sum^{k}_{k=1}\alpha_{k}exp\left(-\frac{1}{2}\left(\frac{\Delta\theta-\mu_{k}}{\sigma_{k}}\right)^{2}\right)\cdot C(\Delta\theta) \\ C(\Delta\theta) &= cos^{2}\left(\frac{\Delta\theta}{(\theta_{fov}/2)}\cdot\frac{\pi}{2}\right) \end{align} SVLC(Δθ)=k=1kαkexp(21(σkΔθμk)2)C(Δθ)=cos2((θfov/2)Δθ2π)

Curiosity Cues

系统中添加了两个好奇项以引导机器人朝着未知区域进行探索,同时防止每次机器人仅选择边际VL score的遥远目标,目的是避免冗余的往返移动。

  • D i s t a n c e W e i g h t i n g Distance\,Weighting DistanceWeighting 距离权重定义如下:
    S d i s t ( g ) = 1 1 + d ( x r , g ) S_{dist}(g)=\frac{1}{1+d(x_{r},g)} Sdist(g)=1+d(xr,g)1
    较近的目标会获得较高的分数目的是降低能耗,同时防止不必要的折返。虽然仅距离项不能保证最优路径,但它有助于更快到达目标。
  • U n k n o w n − A r e a W e i g h t i n g Unknown-Area\,Weighting UnknownAreaWeighting 通过测量 g g g 周围有多少未知单元格来进一步鼓励好奇心驱动的区域探索权重定义如下:
    r a t i o ( g ) = # ( u n k n o w n c e l l s ) # ( t o t a l v i s i t e d c e l l s ) ratio(g)=\frac{\#(unknown\,cells)}{\#(total\,visited\,cells)} ratio(g)=#(totalvisitedcells)#(unknowncells)
    其中,使用局部BFS从 g g g 向外辐射,计算未知单元格的数量与可达单元格数量。较大的 r a t i o ( g ) ratio(g) ratio(g) 表示移动到 g g g 时可能会探索出更大的未知空间并获得更多信息。使用指数映射来归一化权重分数,其中 k k k 是一个可调参数,用于控制score从0向1增长的速度:
    S u n k n o w n ( g ) = − 1 − e x p ( − k r a t i o ( g ) ) S_{unknown}(g)=-1-exp\left(-k\,ratio(g)\right) Sunknown(g)=1exp(kratio(g))

Combined CVL Score

最终frontier-based的目标score结合了上述三个部分,其中 w V L w_{VL} wVL w d i s t w_{dist} wdist 为缩放权重:
S C V L ( g ) = ( w d i s t S d i s t ( g ) + w V L S V L ( g ) ⋅ S u n k o n w o n ( g ) ) S_{CVL}(g)=\left(w_{dist}S_{dist}(g)+w_{VL}S_{VL}(g)\cdot S_{unkonwon}(g)\right) SCVL(g)=(wdistSdist(g)+wVLSVL(g)Sunkonwon(g))

VL score是在第一次检测到目标点时分配的,而好奇心项是在选择目标点时评估的。对于instance-based的目标,这些好奇心值将被省略,因为其主要目的是验证而不是探索。

E. Select & Publish Goal Point

在评估了所有instance-basedfrontier-based的目标的CVL分数之后,系统选择得分最高的作为候选对象。Algorighm 2概述了选择过程,首先考虑instance,然后是frontier
在这里插入图片描述

如果没有候选对象超过距离阈值 δ r e a c h e d \delta_{reached} δreached,机器人将不发布任何新目标。一旦发布了目标,全局规划器就会更新障碍物信息并重新规划安全路线。局部规划器将每个全局航路点细化为短时域命令以实现实时避障,支持在未知环境中进行增量探索。

F. Path Planning with FAR Planner

一旦选定了CVL目标,就将点目标路径规划交给FAR Planner,它以多边形方式表示障碍物并实时更新可见图。这使得在部分未知环境中能够进行高效的重新规划,通常优于基于搜索或基于采样的方法。局部规划器将FAR Planner的航路点细化为短时域速度命令,确保对新障碍物的快速反应,并与VL-Nav的zero-shot视觉-语言目标无缝集成。


Experiments

A. Experimental Setting

在真实机实验中,作者从五个方面评估了VL-Nav 并进行消融实验:

  1. 经典基于前沿的探索;
  2. 基于VLFM;
  3. 不包含instance-base的目标点的VLNav;
  4. 不包含好奇心项的VLNav;
  5. 完整的VLNav配置。

由于原始VLFM依赖于BLIP-2,它对于实时边缘部署来说计算量太大,因此作者使用YOLO-World模型来代替,为VLFM生成每次观测的相似性分数。每种方法都在相同的条件下进行测试,以确保公平的性能比较。

Environments

实验考虑了四个环境(如 Fig. 4所示),每个环境都是场景size与语义复杂度的不同组合:办公室(中size+复杂环境)、公寓(小size+复杂环境)、室外区域(大size+简单环境型)、走廊(大size+中等环境型)。在每个环境中,使用三个语言提示词与五种评估方法,从而产生各种空间布局和语义测试案例。
在这里插入图片描述

Language-Described Instance

作者定义了九个不同导航指令词用来描述导航任务,这些指令词确保了机器人必须依靠视觉-语言理解来定位目标,指令词如下:

  • “高大的白色垃圾桶”;
  • “那里似乎有一个穿白色衣服的男人”;
  • “找到一个穿灰色衣服的男人”;
  • “那里似乎有一把黑色椅子”;
  • “高大的白板”和“那里似乎有一把折叠椅”

Robots and Sensor Setup

所有实验均使用配备Livox Mid-360 LiDAR的四轮小车进行。LiDAR向前倾斜约23度,以实现与前置摄像头视野对齐的±30度垂直FOV覆盖范围。Intel RealSense D455 RGB-D摄像头向上倾斜7度以提供较高物体的视野,但不使用深度点云数据。由于LiDAR测量具有更高的精度,因此它是建图和定位的主要来源。整个VL-Nav系统在NVIDIA Jetson Orin NX车载计算机上运行。

B. Main Results

作者在四个不同环境的真实机实验中验证了VL-Nav系统,每个环境都具有不同的语义与空间复杂度。基于上面提到的实验动机,这里专注于评估VL-Nav下述能力:

  1. 解释细粒度的视觉语言特征并进行稳健的VLN;
  2. 在各种环境中的陌生区域进行高效探索;
  3. 在资源受限的平台上实时运行。

Fig. 5 展示了在地图上的轨迹和检测结果的俯视比较。
在这里插入图片描述

Overall Performance

Table. I所示,完整的VL-Nav在上述四个环境中均获得了最高的成功率(SR)和路径长度加权成功率(SPL),并大幅超越了经典方案,证实了将CVL空间推理与部分frontier-based 的搜索相结合的优势。
在这里插入图片描述

Effect of Instance-Based Target Points (IBTP)

启用IBTP时导航效果有显著的改进,特别是在像公寓和办公室这样的复杂领域。IBTP允许VL-Nav追求置信度高于阈值的初步结果以模仿人类的搜索行为。这种机制预防了忽略潜在匹配对象的可能,并减少了确认或丢弃候选对象时的总运动距离。

Curiosity Contributions

好奇心分数对于VL-Nav的性能也至关重要,其融合了两个关键组成部分:

  • Distance Weighting 距离加权:防止倾向于选择非常遥远的目标,以减少行驶时间和能量消耗;
  • Unknown-Area Weighting 未知区域加权:奖励向产生更多信息的区域进行探索;

消融实验反映出CVL的每个部分在解决语义导航方面的互补性:

  1. 在杂乱的环境中移除距离评分项 V L − N a v w / o VL-Nav w/o VLNavw/o 会降低SR和SPL;
  2. 移除instance-base的目标点也会降低性能;

Comparison to VLFM

尽管VLFM方法利用了视觉-语言相似性值,但它缺乏像素级视觉语言特征、instance-base的目标点验证机制、基于CVL的空间推理。因此VL-Nav通过CVL空间将像素级视觉-语言特征和好奇心探索进行结合,在SR和SPL方面都超越了VLFM。这些优势在语义复杂和开放区域环境中尤为明显,突显了VL-Nav的CVL空间推理增强复杂场景中的视觉-语言导航能力。

Summary of Findings

实验结果证实,VL-Nav在各种未见过的真实世界环境中展现出了视觉-语言导航性能。通过融合frontier-base的目标点、instance-base的目标点、用于目标选择的CVL空间推理,VL-Nav平衡了语义感知和探索效率。该系统即使在大型或杂乱的场景中也表现出强大的性能,突显了其作为低功耗机器人zero-shot视觉-语言导航解决方案的潜力。


DISCUSSION

A. Sizes of Environments vs. SR and SPL

实验按大小将环境分为三类:小型(公寓)、中型(办公室)和大型(平均走廊与室外)。如Table.1Fig.6中的折线图所示,经典的froniter-base的探索在较大的空间中性能明显下降,经常超出路径长度限制。其成功率从小型环境中的约55.6%下降到大型环境中的36.7%,其SPL从0.564下降到0.214。这说明了在更大更开放的环境中,朴素的360° froniter-base方法变得越来越低效。

在这里插入图片描述
在这里插入图片描述

相比之下,VL-Nav在所有尺寸的环境中都保持了稳健性。尽管从中型(91.7%的成功率,0.812的SPL)到大型(82.3%的成功率,0.655的SPL)环境时性能略有下降,但其总体性能仍然远高于基线方法。消融后的VL-Nav变体(无IBTP、无好奇心)也出现了类似的趋势,仍然超越了froniter-base的探索,但落后于完整的VL-Nav系统。

该结论强调了两个关键因素:

  1. CVL空间推理使VL-Nav能够利用细粒度的视觉语言线索,同时优先考虑具有大量未知空间的区域,避免了froniter-base的方案在大型开放环境中面临的极端低效问题;
  2. instance-base的目标点(IBTP)实现了更有针对性的导航,即使地图尺寸增大,也能保持高成功率。

B. Semantic Complexities of Environments vs. SR and SPL

作者还根据语义复杂度对环境进行分类,将其分为低(室外)、中等(走廊)和高(平均办公室和公寓)。发现所有方法在语义更丰富的环境中都表现出更好的性能。可能的解释是结构化的室内空间为检测和分割模型提供了更强的线索,从而实现了更准确的导航。

这些结果表明随着环境提供更多的语义上下文,VL-Nav获得了更显著的优势。该系统没有被环境信息的杂乱性所淹没,而是利用了语言引导的instance-base检测和基于好奇心的探索。CVL空间推理和instance-base的目标点融合提供了一种可扩展的策略,即使在高度复杂的室内领域也能定位导航指令目标。

C. Dynamic Environment Handling

处理动态环境对于真实世界场景中的稳健导航至关重要,移动障碍物和地形等变化会影响机器人性能。VL-Nav融入了几种策略,以动态适应环境变化从而确保可靠性和效率。

为了处理动态环境,系统维护了一个动态占据网格地图,该地图在 FAR planner 中集成了动态地形分析和路径规划。这使得系统能够不断更新其对环境的理解,并相应调整导航策略。动态网格地图确保了实时变化,为环境中的动态视觉-语言导航提供了更稳健的基础。

D. Real-Robot Efficiency Optimization

尽管VL-Nav被设计为一个通用的导航框架,但也引入了几项优化措施,以确保在机器人上实际可行性和高性能。

Visual-Language Module Variants

该优化为视觉-语言流程中高效决策模型变体。在测试中使用了不同输入维度和TensorRT精度的多个YOLO-World版本。例如:

  • 配置一:输入图像size为256×320 + 标准GPU精度;
  • 配置二:输入图像size为256×320 + TensorRT(FP32);
  • 配置三:输入图像size为480×640 + TensorRT(FP16);

根据经验,原始的256×320配置(不使用TensorRT运行)比高分辨率+FP16模式提升了约23%的更高成功率。这表明适中的输入分辨率可以在检测精度和实时性能之间取得更理想的平衡。

Rolling Occupancy Grid vs. Fixed Large Grid

该优化在于如何维护占据网格。这里没有像大多数仿真环境中那样保持一个大型的、固定大小的全局网格,而是在真机上实现了一个滚动网格,仅在新传感器数据需要时才动态地移动或扩展它。这种方法使内存使用量与活动探索区域成正例,从而降低了存储和用于部分前沿检测的BFS/聚类计算的开销。此外,由于真实世界的机器人通常以增量方式进行探索,因此丢弃远处的地图区域对决策的影响很小。

Additional System-Level Improvements

最后,作者加入了各种方法以确保在真实世界约束下实现稳健的导航:

  • 监控机器人的局部规划器和速度命令,以检测“卡住”的情况,如果机器人在超过时间阈值后仍然静止不动,系统会丢弃当前目标并重新选择一个新目标;
  • 调整传感器频率和地图更新速率,以避免使占据网格不会让CPU/GPU资源饱和;

这些措施加上滚动网格和高效的检测模型,有助于保持VL-Nav的轻量级和响应性。


LIMITATION AND CONCLUSION

A. Limitations

尽管VL-Nav展示了上述性能,但仍存在一些局限性:

  • 系统处理复杂语言描述的能力:系统难以应对包含隐喻的指令和用特定文本注释描述对象的指令;
  • 对各种导航条件(如光照)需要手动设置阈值:这些阈值可能无法很好地推广到不同的环境和场景中;

B. Conclusion

VL-Nav系统的核心贡献和优势主要包括以下几点:

  • 高效实时性:VL-Nav能够在资源受限的平台上实现30Hz的实时导航;
  • 强大的空间推理能力:通过结合像素级视觉-语言特征和基于好奇心的探索策略,VL-Nav的CVL空间推理方法在各种室内和室外环境中表现出强大的性能;
  • 卓越的性能提升:VL-Nav在性能上超越了现有方法44.15%,总体成功率达到86.3%;
  • 类人推理:VL-Nav通过有效利用视觉-语言嵌入中的语义线索来优先考虑前沿和潜在目标,从而使导航决策更接近类人思维;
  • 实际应用潜力:强调了VL-Nav在实际机器人应用中的潜力;

VL-Nav系统在未来的工作将着重于以下几点展开:

  • 处理更复杂的指令:扩展VL-Nav处理多步骤任务的指令、引入时间推理能力(例如跟踪移动目标)、增强对动态环境的适应性;
  • 与大型语言模型(LLMs)的进一步集成:利用LLMs进行更细致的命令解析、实现开放词汇对象检测以扩大应用范围;

相关文章:

VLN 论文精读(二)VL-Nav: Real-time Vision-Language Navigation with Spatial Reasoning

这篇笔记用来描述2025年发表在arxiv上的一篇有关VLN领域的论文,由纽约州立大学布法罗分校和卡耐基梅隆联合发布。其主要创新点在于:像素级的视觉-语意特征、低算力移动设备部署、30Hz控制实时性、VLM模型的zero-shot ; 整个导航流程大概如下…...

优选算法系列(2.滑动窗口 _ 上)

目录 解法⼀(暴力求解)(不会超时,可以通过):一.长度最小的子数组(medium) 题目链接209. 长度最小的子数组 - 力扣(LeetCode) 解法: 代码&#…...

RK3568 android11 基于PN7160的NXP NFC移植

一,概述 1. 模块概述 PN7160专为在各种系统实现快速集成而设计,支持所有符合NFC Forum的模式,包括Android和Linux驱动程序,并支持实时操作系统和无操作系统的应用(PN7160不符合EMVCo)。嵌入式NFC固件减少了对主机交互的需求,并最大限度缩小了代码尺寸,使设计更轻松。…...

【网工第6版】第1章 计算机网络概论

目录 1计算机网络形成和发展 ■计算机网络 ■我国互联网发展 ■计算机网路分类 ■计算机网络应用 2 OSI和TCP/IP参考模型 ■网络分层的意义 ■OSI参考模型 ■TCP/IP参考模型 ■TCP/IP参考模型协议 3 数据封装与解封过程 ■封装 ■解封 1计算机网络形成和发展 ■计…...

【嵌入式】keil5安装(同时兼容C51和STM32)

最近在开发STM32的时候,安装Keil5,遇到STM32和C51的共存的问题,在网上找了很多方法,又遇到一些bug,最终还是弄好了。因此将处理的过程记录下来,希望对遇到相同问题的朋友一些启发。 1、下载安装包 Keil P…...

每日一题--进程与协程的区别

进程是什么? 进程(Process) 是操作系统进行 资源分配和调度的基本单位,代表一个正在执行的程序实例。每个进程拥有独立的虚拟地址空间、代码、数据和系统资源(如文件句柄、网络端口等)。进程之间通过 IPC&…...

网络安全运维应急响应与溯源分析实战案例

在日常运维过程中,网络安全事件时有发生,快速响应和精准溯源是保障业务稳定运行的关键。本文将通过一个实际案例,详细解析从发现问题到溯源定位,再到最终解决的完整流程。 目录 一、事件背景 二、事件发现 1. 监控告警触发 2…...

leetcode29. 两数相除-medium

1 题目:两数相除 官方标定难度:中 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。…...

深海300米的低温环境中的BMS优化方法

在深海300米的低温环境中,采用扩展卡尔曼滤波(EKF)结合温度补偿模型实现电池管理系统(BMS)的荷电状态(SOC)精确估计,需通过以下步骤实现: 1. 低温电池模型建立 1.1 电池…...

高主频GPU+RTX4090:AI生图性能优化超150%

概述:消费级高主频CPU搭配 RTX 4090显卡可以显著提高AI生图的性能,相比于企业级CPU具有更大的吞吐量和更优的成本效益。 引言:在AI图像生成过程中,CPU与GPU的协同效应对系统的整体性能至关重要。测试表明,与RTX 4090显…...

OpenCV 图像双线性插值

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 双线性插值是一种 二维插值方法,用于计算 栅格(Grid) 或 像素点 之间的插值值。它主要用于 图像缩放、旋转、变换 等操作,以在新像素位置估算灰度值或颜色值。 如上图所示,假设存在一个二维离散函数(如图像)…...

OpenCV计算摄影学(23)艺术化风格化处理函数stylization()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 风格化的目的是生成不以照片写实为目标的多种多样数字图像效果。边缘感知滤波器是风格化处理的理想选择,因为它们能够弱化低对比度区…...

《我的Python觉醒之路》之转型Python(十五)——控制流

[今天是2025年3月17日,继续复习第一章节、第二章节的内容 ] 《我的Python觉醒之路》之转型Python(十四)——控制流...

内存管理

一.什么是内存管理呢? 我们可以来看一下这个图,我们来了解一下这些地方都存的是什么。 数据段就是存放全局和静态变量的,代码段是存放常量的。 栈 局部变量:在函数内部定义的变量,其存储空间在栈上分配。当函数被调用时…...

学习threejs,使用MeshLambertMaterial漫反射材质

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshLambertMaterial…...

P41-指针进阶1、2

1.字符指针 2.数组指针 3.指针数组 4.数组传参和指针传参 5.函数指针 6.函数指针数组 7.指向函数指针数组的指针 8.回调函数 9.指针和数组面试题的解析 指针的主题,我们在初级阶段的《指针》章节已经接触过了,我们知道了指针的概念 1.指针就是个…...

旅游类小程序界面设计

产品概述 艾啦游是一款互联网旅游类小程序,致力于国内精品旅游,以及拥有自由行、专属热榜单、出行攻略等诸多功能,汇聚了许多国内的人气景点,与诸多城市的酒店也保持合作,打造一体式旅行服务,更有不断上新…...

探索具身多模态大模型:开发、数据集和未来方向(下)

25年2月来自广东人工智能和数字经济实验室、深圳大学、巴黎理工学院和巴黎高等师范学院、中山大学的论文“Exploring Embodied Multimodal Large Models: Development, Datasets, and Future Directions”。 近年来,具身多模态大模型 (EMLM) 因其在复杂的现实环境中…...

14 结构体

结构体 结构体是什么? 在前面我们学习过基础的数据类型int float char 等,都只能用来表示基础的数据类型,那么要怎么来表示复杂的数据类型呢? 比如学生信息: 学号姓名性别年龄总分数100maye男18666101椰汁女19555 …...

如何配置 Docker 以实现无需 sudo 使用

1. 背景知识:为什么需要 sudo? Docker 是一个容器化平台,其核心组件包括: Docker 守护进程(dockerd):负责管理容器的创建、运行和销毁。Docker CLI:用户通过命令行工具&#xff08…...

嵌入式开发之STM32学习笔记day06

基于STM32F103C8T6的开发实践——从入门到精通01 1. 引言 STM32系列微控制器是STMicroelectronics推出的一款高性能、低功耗的32位微控制器,广泛应用于嵌入式系统中。STM32F103C8T6是其中非常受欢迎的一款,凭借其强大的性能、丰富的外设接口和低廉的价格…...

openocd C#桌面工具

文章目录 简介一、主界面二、文件列表三、rtl介绍四、虚拟示波器1、画线2、画点3、合并显示4、测试代码简介 基于廉价9.9包邮的DAP-Link,在IAR和Keil中下载和调试都没毛病。 可是不能单独使用。单独烧录固件用不了,也不能同jlink一样打印日志和显示波形。 openocd开源工具能…...

goland小问题报错及解决

报错信息: cannot use rw (variable of type *populateResponse) as ResponseWriter value in argument to t.fh.ServeHTTP: *populateResponse does not implement ResponseWriter (missing method Fprintf) cannot use rw (variable of type *http2responseWrite…...

AtCoder Beginner Contest 397 A - D题解

Tasks - OMRON Corporation Programming Contest 2025 (AtCoder Beginner Contest 397) 本文为 AtCoder Beginner Contest 397 A - D题解 题目A: 代码(C): #include <bits/stdc.h>int main() {double n;std::cin >> n;if (n > 38.0) {std::cout << 1;}…...

18年老牌软件,完美解锁pro!

很多小伙伴在学习、工作中都喜欢使用思维导图来整理和记录自己的思路&#xff0c;通过图形化的方式展示复杂概念和关系&#xff0c;使信息更加清晰易懂&#xff0c;有助于理解和记忆&#xff1b;其次&#xff0c;分层次和分类别的信息结构也能够快速理清思路&#xff0c;突出重…...

Power Apps 技术分享:画布应用使用表单控件

前言 表单控件&#xff0c;是画布应用里一个非常好用的控件&#xff0c;我们今天简单介绍下&#xff0c;如何使用这个控件。 正文 1.首先&#xff0c;我们需要有一个数据源&#xff0c;我们这里用上一篇博客新建的数据源&#xff0c;如下图&#xff1a; 2.新建一个页面&#xf…...

视频转音频, 音频转文字

Ubuntu 24 环境准备 # 系统级依赖 sudo apt update && sudo apt install -y ffmpeg python3-venv git build-essential python3-dev# Python虚拟环境 python3 -m venv ~/ai_summary source ~/ai_summary/bin/activate核心工具链 工具用途安装命令Whisper语音识别pip …...

ZLMediaKit源码分析——[1] 开篇:onceToken源码分析

系列文章目录 第一篇 基于SRS 的 WebRTC 环境搭建 第二篇 基于SRS 实现RTSP接入与WebRTC播放 第三篇 centos下基于ZLMediaKit 的WebRTC 环境搭建 第四篇 WebRTC学习一:获取音频和视频设备 第五篇 WebRTC学习二:WebRTC音视频数据采集 第六篇 WebRTC学习三:WebRTC音视频约束 …...

EasyRTC嵌入式音视频通话SDK:微信生态支持、轻量化架构与跨平台兼容性(Linix/Windows/ARM/Android/iOS/LiteOS)

随着WebRTC技术的不断发展&#xff0c;实时音视频通信在各个领域的应用越来越广泛。EasyRTC嵌入式音视频通话SDK作为一款基于WebRTC技术的实时通信解决方案&#xff0c;凭借其强大的功能和灵活的集成能力&#xff0c;受到了越来越多开发者的关注。 一、系统架构设计 纯C语言开…...

Python中使用vlc库实现视频播放功能

文章目录 前言1. 环境准备1.1Python安装1.2选择Python开发环境1.3安装必要库 2. 基础播放示例3. 常用播放控制功能4. 事件监听5. 播放网络流媒体6. 结合 GUI 库制作视频播放器&#xff08;以 Tkinter 为例&#xff09; 前言 本教程主要包含打开文件、播放和停止按钮&#xff0…...

Elasticsearch面试题

以下是150道Elasticsearch面试题及其详细回答&#xff0c;涵盖了Elasticsearch的基础知识、配置与优化、查询操作、集群管理、性能调优等多个方面&#xff0c;每道题目都尽量详细且简单易懂&#xff1a; Elasticsearch基础概念类 1. 什么是Elasticsearch&#xff1f; Elastics…...

Linux上位机开发实战(qt编译之谜)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多同学都喜欢用IDE&#xff0c;也能理解。因为不管是visual studio qt插件&#xff0c;还是qt creator其实都帮我们做了很多额外的工作。这里面最…...

SpringBoot3+Druid+MybatisPlus多数据源支持,通过@DS注解配置Service/Mapper/Entity使用什么数据源

在 Spring Boot 3 中结合 Druid 和 MyBatis-Plus 实现多数据源支持&#xff0c;并通过 DS 注解动态切换数据源&#xff0c;可以按照以下步骤进行配置&#xff1a; 官方文档&#xff1a;多数据源支持 | MyBatis-Plus 1. 引入依赖 在 pom.xml 中添加以下依赖&#xff1a; <…...

Java学习------内部类

1. 定义 定义在一个类中的类 2. 使用时机 当一个类需要用到另一个类&#xff0c;并且两个类的联系比较密切时就需要使用内部类内部类可以访问外部类的私有成员&#xff0c;这样可以将相关的类和接口隐藏在外部类的内部&#xff0c;提高封装性匿名内部类是没有名字的类&#…...

【QA】建造者模式在Qt有哪些应用

#设计模式 #Qt 一、QDomDocument&#xff08;XML 文档构建&#xff09; 模式角色&#xff1a; Builder&#xff1a;QDomDocument 本身Product&#xff1a;XML 文档对象Director&#xff1a;用户代码通过 QDomDocument 逐步构建文档结构 示例代码&#xff1a; QDomDocument…...

uniapp 多环境配置打包,比较优雅的解决方案,全网相对优解

uniapp 多环境配置打包&#xff0c;比较优雅的解决方案&#xff0c;全网相对优解 读取.env.[development|test|staging|production]配置文件进行打包&#xff0c;最终效果如下图可以看到多个环境&#xff0c; 并且我们可以自定义更多的环境配置 前言 由于uniapp的hbuilder开发…...

【量化科普】Liquidity,流动性

【量化科普】Liquidity&#xff0c;流动性 &#x1f680;量化软件开通 &#x1f680;量化实战教程 在金融市场中&#xff0c;流动性&#xff08;Liquidity&#xff09;是一个至关重要的概念。它指的是资产能够以多快的速度被买入或卖出而不显著影响其价格的能力。高流动性的…...

qt介绍图表 charts 一

qt chartsj基于Q的Graphics View框架&#xff0c;其核心组件是QChartView和QChart.QChartView是一个显示图表的独立部件&#xff0c;基类为QGraphicsView.QChar类管理图表的序列&#xff0c;图例和轴示意图。 绘制一个cos和sin曲线图&#xff0c;效果如下 实现代码 #include…...

如何图像去噪?(一)

喜欢可以在我的主页订阅专栏哟&#xff0c;至少更新6年~~&#xff0c;更到我上大学也可能会继续更~~ 第一章 图像去噪的基础知识与核心概念 1.1 图像噪声的数学模型与物理成因 定义扩展&#xff1a; 图像噪声是信号采集、传输或存储过程中引入的随机干扰&#xff0c;其本质为…...

【数据库】Data Model(数据模型)数据模型分析

理解图片中的 Data Model&#xff08;数据模型&#xff09;是学习数据库设计和应用程序开发的重要一步。作为初学者&#xff0c;你可以通过比喻和简单的解释来理解这些概念以及它们之间的联系。以下是对图片中数据模型的详细分析&#xff0c;以及如何理解它们之间的关系。 1. 数…...

win10 c++ VsCode 配置PCL open3d并显示

win10 c VsCode配置PCL open3d并显示 一、效果图二、配置步骤2.1 安装vscode2.2 pcl-open3d配置2.3 vscode中设置 三、测试代码四、注意事项及后续 一、效果图 二、配置步骤 2.1 安装vscode vscode下载链接 下载中文插件、c相关插件 2.2 pcl-open3d配置 1&#xff09;下载…...

Flask多参数模版使用

需要建立目录templates&#xff1b; 把建好的html文件放到templates目录里面&#xff1b; 约定好参数名字&#xff0c;单个名字可以直接使用&#xff1b;多参数使用字典传递&#xff1b; 样例&#xff1a; from flask import render_template # 模板 (Templates) #Flask 使用…...

python中a is None 和 a==None有区别吗

在 Python 中&#xff0c;a is None 和 a None 的区别如下&#xff1a; 1. a is None 这是身份&#xff08;identity&#xff09;比较&#xff0c;用于检查 a 是否就是 None 这个对象。None 是 Python 的单例对象&#xff0c;意味着在 Python 运行过程中&#xff0c;所有 No…...

Excel(函数篇):COUNTIF与CONUTIFS函数、SUMIF与SUMIFS函数、ROUND函数、MATCH与INDEX函数、混合引用与条件格式

目录 COUNTIF和COUNTIFS函数COUNTIF函数COUNTIFS函数SUMIF和SUMIFS函数SUMIF函数SUMIFS函数SUMIFS函数与控件实现动态年月汇总ROUND、ROUNDUP、ROUNDDOWN函数单元格混合引用条件格式与公式,标记整行数据MATCH和INDEX函数COUNTIF和COUNTIFS函数 COUNTIF函数 统计下“苏州”出现…...

C语言及内核开发中的回调机制与设计模式分析

在C语言以及操作系统内核开发中,回调机制是一种至关重要的编程模式。它通过注册框架和定义回调函数,实现了模块间的解耦和灵活交互,为系统的扩展性和可维护性提供了有力支持。本文将深入探讨这种机制的工作原理、应用场景以及与设计模式的关联。 一、回调机制的核心概念 (…...

SAP WORKFLOW BUSINESS PROCESS AUTOMATION

SAP WORKFLOW BUSINESS PROCESS AUTOMATION...

它,让机器人与HMI屏无缝对接

随着工业自动化向智能化发展&#xff0c;机器人与HMI屏的通信变得至关重要。本文将为您介绍一款创新的解决方案&#xff0c;它打破了通信协议的壁垒&#xff0c;实现机器人与HMI屏的无缝连接。 随着工业自动化向智能化的迈进&#xff0c;生产制造业正加速引入大量工业机器人以替…...

Vala语言基础知识-源文件和编译

源文件和编译 Vala代码‌以.vala为扩展名。与Java等语言不同&#xff0c;Vala‌不强制要求严格的文件结构‌——它没有类似Java的"包"&#xff08;package&#xff09;或"类文件"&#xff08;class file&#xff09;的概念&#xff0c;而是通过文件内的文本…...

《mc百科》小引

现在的年轻人&#xff0c;不是玩农药&#xff0c;就是在打和平&#xff0c;几乎每到街上&#xff0c;想就看见农药上号的&#xff0c;但这些游戏&#xff0c;虽然宜人&#xff0c;但随时都能让人异化。 但有一种游戏&#xff0c;可以说几乎涵盖了所有文化。早其自由度高达999%…...

java泛型通配符?及上下界(extends,super)保证安全性、灵活性、可读性

在 Java 中&#xff0c;泛型通配符&#xff08;?&#xff09;用于表示未知类型&#xff0c;通常用于增强泛型的灵活性。通配符可以与上下限结合使用&#xff0c;以限制泛型的范围。以下是通配符及上下限的使用示例&#xff1a; 1. 无界通配符 (?) 无界通配符表示可以接受任意…...