设想你是一位游客,第一次来到一座陌生城市。你给当地的金牌导游一句话:「穿过小巷,看到红色邮局后左转,走到喷泉广场。」这位导游一边听你描述,一边环顾四周寻找「红色邮局」,在路口仔细判断该往哪拐,还会在脑中默默记下刚才走过的路。最后,他带你顺利抵达喷泉广场——全程没有地图,只靠语言、眼睛和记忆。 这就是「视觉语言导航」(Vision-Language Navigation,VLN)在做的事:让机器人像这位金牌导游一样,接收一句自然语言指令,理解眼前的视觉画面,把两者对上号,然后一步步移动,直到完成任务。区别在于,导游用的是人脑,而机器人要用视觉编码器、语言模型、跨模态对齐网络、记忆模块和动作决策策略来协同完成。本文就用「金牌导游带路」这个比喻,带你从零看懂 VLN 的任务设定、核心挑战、关键技术,以及它是如何被装进真实机器人平台的。
掌握视觉语言导航的核心思路,你就能理解多模态感知、跨模态对齐与具身决策如何在实际机器人系统中协同工作——这对从事服务机器人、智能导航系统开发的工程师而言,是打通「听懂指令」到「走对路线」的关键能力。
可视化演示
展示滑动窗口协议中发送方和接收方的帧传输过程,包括窗口滑动、帧发送、确认和超时重传机制。
本节配有交互动效(进入视口后自动加载,约 3KB)。
滑动窗口协议 发送方维护发送窗口,窗口内的帧可连续发送无需等待确认 收到确认后窗口滑动,释放已确认帧的位置 W=窗口大小
VLN任务设定
游客在酒店前台说:「请带我去喷泉广场,路上会经过一家红色邮局。」金牌导游听了之后,立刻在脑中拆解任务:先离开酒店,找到红色邮局,再左转走到喷泉广场。整个过程中,导游的「输入」是一句话,「输出」是一连串脚步动作。机器人做 VLN 时也是同样的协议:输入是自然语言指令和持续不断的第一视角画面,输出不是一句回答,而是一系列离散的动作,比如前进、左转、右转、停止。
为了让这个任务可以训练和评测,研究者把它形式化为一个条件概率问题:给定视觉观测和文本指令,生成动作序列的概率。类比过来,就是「导游在已知街景和游客要求时,选择某条路径的概率」。R2R(Room-to-Room)是这类任务最经典的数据集,采集自真实室内三维场景,包含两万多条人工标注的指令,每条指令对应一条真实可行走的路线。这就好比给导游建了一所「带团实训基地」,里面有大量真实街区的路线题库。
走完这一圈你会发现,VLN 的任务设定其实和导游接单没有本质区别:一句话进来,一串动作出去,中间每一步都不能与历史脱节。定义清楚输入、输出、数据与指标,是后面所有技术的地基。
- 条件概率含义$p(a_1, \ldots, a_T \mid I, L)$ 表示在给定视觉画面 $I$ 和指令 $L$ 时,模型输出一整串动作 $a_1$ 到 $a_T$ 的概率。
- 链式分解$\prod_{t=1}^{T}$ 把这串动作拆成每一步的连乘,每个动作的条件又叠加了前面所有动作。
- 逐步依赖$a_t$ 的生成依赖当前观测 $I$、完整指令 $L$ 和已执行动作 $a_1$ 到 $a_{t-1}$,这正是「边走边看边回想」的数学表达。
核心挑战
一位真正带过团的导游会告诉你:这行不好干。游客说话有口音,把「右拐」说成「又拐」;阴天光线差,远处招牌看不清;更麻烦的是,一步走偏几厘米,走十分钟可能偏出半条街。这些麻烦搬到机器人身上,就变成了 VLN 的四大核心挑战。
第一,指令歧义。自然语言天生省略信息,「去那家店」里的「那家」到底指哪家?这要求模型具备指代消解能力,把模糊词绑定到具体视觉目标。第二,视觉噪声。真实场景有光照变化、遮挡和传感器噪声,同一个地标在不同时刻可能看起来完全不同。第三,累积误差。机器人每一步的动作不可能绝对精确,微小偏差会随步数积累,最终导致「一步错、步步错」,在长程导航中迷路。第四,泛化困难。在训练环境里认得的路标,换一栋楼、换一个城市就可能失效,模型需要具备跨场景迁移能力。
导游靠多年的方向感和肌肉记忆来抵消走偏,而机器人必须靠跨模态记忆和更聪明的决策策略来应对。这些挑战不是孤立的,它们共同决定了 VLN 模型必须同时做好「看懂环境、听懂指令、记住来路、选对动作」四件事。
- 状态转移$s_{t+1} = f(s_t, a_t)$ 表示机器人在状态 $s_t$ 时执行动作 $a_t$ 后,会进入下一个状态 $s_{t+1}$。
- 噪声注入$+ \varepsilon_t$ 给状态转移叠加一个随机扰动,模拟真实世界里轮子打滑、转向偏差等不确定性。
- 正态分布假设$\varepsilon_t \sim \mathcal{N}(0, \sigma^2)$ 说明这个扰动服从均值为零、方差为 $\sigma^2$ 的正态分布——大多数时候偏差很小,但偶尔会偏得多一点。
视觉语言对齐
游客说「看到红色邮局就左转」,导游必须先在街景里找到那个红色邮局,而不是被旁边的蓝色药店带走注意力。这个「把嘴里的名词和眼里的物体对上号」的过程,在 VLN 里叫视觉语言对齐,它是整个系统的核心能力。
具体实现时,模型会用两个编码器分别处理两种模态:视觉编码器(如 ViT)把当前帧图像编码成一个向量 $\mathbf{v}_I$,语言编码器(如 BERT)把指令文本编码成向量 $\mathbf{v}_L$。然后通过余弦相似度来判断它们是否匹配:相似度越高,说明这个画面越符合指令描述。这就像导游在脑中把「红色邮局」的语音记忆和眼前建筑物的视觉记忆放在一起比对,越像就越有把握。更进一步,注意力机制可以让模型不只做整体匹配,还能把指令中的每个词与画面中的每个局部区域做细粒度对应——比如「红色」对应墙面的颜色区域,「邮局」对应建筑的轮廓区域。
对齐做得好,机器人才能像导游一样「认准目标不跑偏」。但只靠一帧画面是不够的——导游在带路时会一路默记刚才的路线,机器人同样需要一份「导航小本本」,也就是跨模态记忆。
- 双编码器$\mathbf{v}_I = \text{ViT}(I)$ 和 $\mathbf{v}_L = \text{BERT}(L)$ 分别把图像和指令压缩成固定长度的向量。
- 点积归一化分子 $\mathbf{v}_I \cdot \mathbf{v}_L$ 计算两向量的点积,分母 $\|\mathbf{v}_I\| \|\mathbf{v}_L\|$ 做长度归一化,把结果限定在 $[-1, 1]$。
- 相似度语义$\text{sim}(I, L)$ 越接近 1,说明画面与指令越匹配;越接近 -1,说明越不相关。
跨模态记忆
导游带路时,不会每走三步就停下来问游客「我们走到哪了」。他脑子里有一份不断更新的路线记录:「刚才在药店左转,前面是小学围墙,再走 50 米应该看到喷泉了。」这份在行进过程中持续维护的「小本本」,就是跨模态记忆。它让机器人不再只依赖当前这一帧画面做决策,而是把历史观测和指令信息融合起来,知道自己从哪来、往哪去。
跨模态记忆通常分两类:短时记忆保存最近几步的视觉观测和动作,让机器人能感知「我刚刚经过了什么」;长时记忆则沉淀整个任务中积累的路径信息,形成对环境的全局认知。记忆的更新需要精妙的设计,不能让旧信息无限堆积,也不能让新信息瞬间冲掉关键线索。研究者常用门控机制来平衡:用一个可以学习的门控向量 $g_t$ 来决定「保留多少旧的、吸收多少新的」,类似 LSTM 和 GRU 的思路,也呼应了导游在带路时「记住关键路标、忘掉无关细节」的取舍智慧。
有了记忆,导游才能回答「我们是不是走过这条路」,机器人也才能在长程导航中不迷路。不过,知道自己在哪、目标是什么之后,最关键的问题来了:下一步迈哪条腿?这就轮到动作决策登场。
- 旧记忆保留$\mathbf{g}_t \odot \mathbf{m}_{t-1}$ 用门控向量逐元素乘以上一步记忆,决定哪些旧信息值得留下。
- 新信息写入$(1 - \mathbf{g}_t) \odot \mathbf{x}_t$ 用互补门控吸收当前观测的新信息,$g_t$ 接近 0 的位置会更多地采纳新知。
- 哈达玛积$\odot$ 表示逐元素相乘,让记忆的每个维度都可以独立决定保留或更新,灵活度远高于整体替换。
动作决策
游客会发现,好导游在岔路口从不犹豫——他看一眼路标,心里默念指令,再结合刚才走过的路线,三秒内就能决定往左还是往右。VLN 中的动作决策模块扮演的就是这个角色:在每一时刻,综合当前视觉观测、指令语义和历史记忆,输出一个「应该执行什么动作」的概率分布。
现代 VLN 系统里,这个决策由一个策略网络完成。策略网络把视觉特征、语言特征和记忆特征拼接起来,经过多层变换,最后通过 softmax 输出各候选动作的概率。训练这个策略网络主要有两类方法:模仿学习(行为克隆)直接学习专家示范,像新导游跟着老导游跟团实习,照抄每一步的选择;强化学习则让机器人自己试错,走对了给奖励、走错了给惩罚,像导游在实践中自己总结「那条路堵车,下次绕开」。两种方式各有优劣,实际系统常把两者结合:先用模仿学习快速打底,再用强化学习进一步优化长程决策能力。
动作决策让机器人的「腿」终于有了主心骨。但好导游不是天生的,机器人也不是一出生就会带路。它们都需要一个系统的训练过程,从「导游学校」毕业,再经过「实战考核」。
- 策略网络定义$\pi_\theta(a \mid s)$ 表示在状态 $s$(包含视觉、指令和记忆的综合信息)下选择动作 $a$ 的概率,$\theta$ 是网络参数。
- softmax 输出$\text{softmax}(\mathbf{W} \mathbf{h})$ 把网络最后一层得分 $\mathbf{W} \mathbf{h}$ 转成和为 1 的概率分布。
- 行为克隆损失$\mathcal{L}_{\text{BC}} = -\log \pi_\theta(a^* \mid s)$ 鼓励模型给专家动作 $a^*$ 更高概率——模仿学习就是最大化这个对数概率。
训练与评测
金牌导游怎么炼成的?先在导游学校里对着沙盘和模拟街区反复演练,再跟着资深导游实地跟团,慢慢才敢独自带客。VLN 模型也遵循类似的成长路径。由于让机器人在真实世界里随意乱走代价太高,研究者通常先在模拟器里训练——Matterport3D 模拟器提供了大量真实扫描的室内场景,配合 R2R 数据集的指令,模型可以在虚拟环境里走成千上万条路线,这就是「模拟器里的导游学校」。
从模拟器毕业之后,面临的现实问题是:仿真和真实世界有差距。光照不同、材质不同、传感器噪声不同,在模拟器里考 90 分,真机可能只有 50 分。因此,实际部署前通常要用真实场景数据做微调,或者引入域自适应技术来弥合「域间隙」。评测时,除了看成功率(SR),研究者更常用 SPL 指标——它不仅关心有没有到达终点,还关心路径是不是「够直」。这就像评价导游,不只是问「到了没有」,还要看他有没有绕远路坑游客的钱。
训练与评测构成了 VLN 的「导游成长闭环」:在模拟器里反复演练,在真实场景中微调考核,再用 SPL 这样的严格标准来打分。这一整套流程跑通之后,剩下的问题就是把训练好的「导游大脑」真正装进一个能走能看的机器人身体里。
- 平均求和$\frac{1}{N} \sum_{i=1}^{N}$ 对 N 条测试路线求平均,得到整体表现。
- 成功指示$S_i$ 是第 i 条路线的成功标志,1 表示到达目标,0 表示失败,它像一票否决制。
- 路径长度比$l_i^* / \max(l_i, l_i^*)$ 是最短路径长度与实际路径长度的比值,绕路越多,比值越小。
机器人平台集成
前面说的都是「导游的大脑」,但真正带团需要的是完整的「人」:一双能看的眼睛、一双能走路的腿、一个能协调全身的小脑。机器人平台集成要做的,就是把 VLN 模型从电脑屏幕里搬到物理世界的机器人身上,让它能看、能走、能决策。
硬件层面,机器人至少需要三样东西:一台 RGB 相机作为「眼睛」,持续采集前方画面;一个可移动底盘作为「双腿」,负责执行前进、转向、停止等动作;还有一台计算设备作为「小脑」,运行感知、记忆和决策网络。软件层面,系统需要一条完整的流水线:相机采集图像 → 视觉编码 → 指令-视觉对齐 → 记忆更新 → 动作决策 → 底盘控制。这条流水线必须在每帧之间完成,通常要求 10 到 30 赫兹的实时频率,对模型轻量化和计算优化提出了很高要求。
平台集成意味着把「听懂指令」的顶层智能和「走得稳」的底层控制拧成一股绳。真实部署中还要考虑鲁棒性:光线突变、地板打滑、行人挡路,这些问题无法在训练时穷举,只能靠多传感器融合、路径重规划和反复的真机测试来兜底。到这一步,当初那个「金牌导游」,才真正长成了能上岗的机器人带团专员。
- 目标误差$\mathbf{p}^* - \mathbf{p}_t$ 是目标位置与当前位置之差,误差越大,需要的驱动力越大。
- 比例项$K_p (\mathbf{p}^* - \mathbf{p}_t)$ 是比例控制,按误差大小线性输出驱动力。
- 微分项$K_d \frac{d}{dt}(\mathbf{p}^* - \mathbf{p}_t)$ 是微分控制,根据误差变化率提供阻尼,防止机器人冲过头或在目标点附近震荡。
AI 应用场景
酒店服务机器人「送物到房」
阶段:感知 → 指令解析 → 跨模态对齐 → 动作决策 → 底盘控制
解决的问题:传统酒店机器人只能按预设路线或二维码巡游,无法理解「请把这瓶水送到 302 房客人手上」这类自然语言指令,更无法应对客人临时换房、走廊改道等变化。VLN 让机器人直接理解语义目标,结合实时视觉自主规划路径。
具体案例:某酒店部署的配送机器人接到前台指令后,先解析「302 房」这个目标,再通过走廊摄像头对齐房号牌,记忆途经的电梯口和转角,实时决策前进、转弯、等电梯等动作,最终抵达客房门口并通知客人取物。全程无需铺设磁条或二维码。
仓储物流 AGV「按单取货」
阶段:指令解析 → 视觉对齐 → 长时记忆 → 动作决策 → 运动控制
解决的问题:传统仓储机器人依赖地面二维码或固定路线,指令变更需要重新规划地图。VLN 让工人直接说出「去 A3 货架取蓝色箱子,送到打包台」,机器人依靠视觉识别货架编号和高层语义,自主完成取送货。
具体案例:某电商仓库的 AGV 接到语音指令后,在复杂货架间穿行,利用跨模态记忆记住已走过的巷道,避免重复绕路;到达目标货架后,机械臂配合视觉对齐定位蓝色箱子。平均取货时间比二维码方案缩短约 30%。
园区巡检机器人「按需巡查」
阶段:多传感器感知 → 指令对齐 → 全局记忆 → 决策规划 → 安全避障
解决的问题:安保人员直接下达「去 3 号仓库检查漏水点」这样的开放式指令,传统巡检机器人无法理解。VLN 让巡检机器人把自然语言指令映射到园区三维地图中的具体区域,并在途中执行检测任务。
具体案例:某工厂园区巡检机器人接令后,自主导航至 3 号仓库,途经多个车间门口时依靠视觉对齐确认未走错路口;到达后通过图像识别发现积水区域并自动上报。整个任务中机器人还利用长时记忆避开了当天临时封闭的通道。
Python 演示
"""简化版视觉语言导航演示: 指令驱动的网格世界导航"""import randomimport math random.seed(2024) LANDMARKS = { "红房子": ((1, 0, 0, 0.5), (2, 2)), "蓝亭子": ((0, 0, 1, 0.5), (5, 3)), "花坛": ((1, 0.5, 0, 0.3), (2, 5)), "喷泉": ((0, 1, 1, 0.2), (6, 6)),} def cosine_similarity(a, b): dot = sum(x * y for x, y in zip(a, b)) norm_a = math.sqrt(sum(x * x for x in a)) norm_b = math.sqrt(sum(x * x for x in b)) if norm_a == 0 or norm_b == 0: return 0.0 return dot / (norm_a * norm_b) def parse_instruction(instruction): targets = [] for name in LANDMARKS: if name in instruction: targets.append(name) return targets def current_observation(pos): visible = [] for name, (feature, landmark_pos) in LANDMARKS.items(): dist = abs(pos[0] - landmark_pos[0]) + abs(pos[1] - landmark_pos[1]) if dist <= 3: visible.append((name, feature, landmark_pos)) return visible class GridRobot: def __init__(self, start): self.pos = start self.step_count = 0 def move_toward(self, target): dx = target[0] - self.pos[0] dy = target[1] - self.pos[1] if abs(dx) >= abs(dy): step = (1 if dx > 0 else -1, 0) else: step = (0, 1 if dy > 0 else -1) self.pos = (self.pos[0] + step[0], self.pos[1] + step[1]) self.step_count += 1 def align_with_instruction(obs, target_name): target_feature = LANDMARKS[target_name][0] best_name, best_score = None, -1.0 for name, feature, _ in obs: score = cosine_similarity(feature, target_feature) if score > best_score: best_name, best_score = name, score return best_name, best_score def run_demo(): instruction = "从门口出发, 先去红房子, 再去喷泉" targets = parse_instruction(instruction) if not targets: print("未识别到任何目标地标") return print("解析指令得到目标序列:", targets) robot = GridRobot((0, 0)) print("机器人起点:", robot.pos) for target_name in targets: target_pos = LANDMARKS[target_name][1] print("目标:", target_name, "位置:", target_pos) while robot.pos != target_pos: obs = current_observation(robot.pos) aligned, score = align_with_instruction(obs, target_name) if aligned: print(" 当前", robot.pos, "最匹配:", aligned, "相似度", round(score, 3)) robot.move_toward(target_pos) print(" 移动一步 ->", robot.pos) print("到达目标:", target_name) print("任务完成! 总步数:", robot.step_count) if __name__ == "__main__": run_demo()
LANDMARKS定义每个地标的「视觉特征向量」和网格坐标,模拟环境里的物体。parse_instruction(instruction)用关键词匹配从自然语言指令中提取目标名称,对应「听懂指令」。current_observation(pos)模拟机器人的视觉传感器,返回一定视野范围内的地标,对应「看见环境」。cosine_similarity(a, b)计算两个特征向量的余弦相似度,对应「视觉语言对齐」。align_with_instruction(obs, target_name)在当前视野里找出与指令目标特征最相似的地标,对应「跨模态匹配」。robot.move_toward(target)沿曼哈顿方向每次移动一格,对应「动作决策与执行」。run_demo()主流程:依次前往每个目标地标,打印每一步的对齐结果与移动位置,直到全部到达。
常见误区
误区很多人以为 VLN 就是把相机拍到的东西用目标检测识别出来,再丢给路径规划器走最短路线。既然物体识别和路径规划都这么成熟了,VLN 还有什么难的?
正解VLN 的难点不在单个模块,而在「把指令和视觉对齐」以及「持续记住理解过的上下文」。目标检测只回答「画面里有什么」,路径规划只回答「怎么走最近」,但「客人说的那个红色邮局到底对应哪个目标」以及「刚才在药店左转后现在该往哪走」这类跨模态语义问题,才是 VLN 真正要解决的。它不是串起现有模块,而是要让多模态理解贯穿整个决策过程。
为何常见:看到「视觉+语言+导航」就自然拆解成三个已有子领域,忽略了任务独有的对齐与记忆机制。
误区SLAM 不是已经能定位和建图了吗?让机器人自己在地图里走不就行了,为什么还要费劲做视觉语言导航?
正解SLAM 回答的是「我在哪、周围长什么样」,它不回答「客人说的那个地方是哪里、怎么按这句话一步步走过去」。VLN 解决的是语义级目标导航——把自然语言指令映射到环境里的具体目标,并生成符合语义约束的动作序列。事实上 SLAM 常作为 VLN 系统的底层模块提供位置信息,两者是互补关系,不是替代关系。
为何常见:把「定位建图」和「语义目标导航」两个层次混为一谈,以为知道自己在哪就等于知道该去哪。
误区在 Matterport3D 模拟器里用 R2R 数据集训练,模型成功率都到 80% 了,那买一台机器人装上模型不就能上岗了吗?
正解模拟器与真实世界之间存在明显的「域间隙」:渲染图像的光照、材质、纹理与真实相机拍摄差异很大,传感器噪声、运动控制误差也完全不同。在仿真里考 80 分,真机往往只有 40 分。所以真实部署需要做域自适应、真实数据微调,甚至针对具体机器人平台重新采集数据训练,不能直接把仿真模型搬到真机上。
为何常见:仿真数据便宜又量大,容易让人忽视「虚拟到现实」的鸿沟,就像在驾校模拟器里开得好,不代表能直接上路。
误区既然大语言模型这么强,把「去喷泉广场」这句话丢给它,让它输出坐标或者路线不就行了?何必单独训练导航模型?
正解大语言模型擅长文本层面的推理,但它没有实时的视觉观测,也没有与环境的闭环交互。真正的导航需要「看一眼画面→判断当前状态→做出动作→再观察新画面→继续决策」的循环。LLM 可以充当高层规划器(把长指令拆成子目标),但底层的视觉对齐、记忆更新和动作执行仍然需要专门的 VLN 模型来完成,两者是协作关系。
为何常见:近年来大模型能力令人惊叹,人们容易高估它对物理世界的「具身理解」,忽略了闭环感知与控制的重要性。
面试题
Q1. 视觉语言导航(VLN)任务中,模型的输入是什么?
- A.只有一段自然语言指令
- B.只有一系列视觉图像
- C.自然语言加视觉图像← 正确答案
- D.语音指令和触觉信号
答案:C。VLN 的核心是「语言+视觉」双模态输入:模型同时接收自然语言指令和第一视角的图像序列,然后在环境中执行导航动作。只有语言或只有图像都不完整,语音和触觉则不是任务的标准输入。
Q2. VLN 评测指标 SPL 主要衡量什么?
- A.指令文本的翻译质量
- B.按路径长度加权的成功率← 正确答案
- C.视觉图像的分割准确率
- D.机器人对话响应速度
答案:B。SPL(Success weighted by Path Length)在成功率基础上引入路径长度惩罚:成功到达且路径接近最短,SPL 才高;绕路或失败都会拉低分数。其他选项描述的是翻译、分割、对话等无关任务指标。
Q3. 下列属于 VLN 核心挑战的是哪些?
- A.指令歧义与指代消解← 正确答案
- B.视觉观测存在噪声← 正确答案
- C.决策误差随步数累积← 正确答案
- D.预训练语料规模不足
答案:ABC。指令歧义让模型难以确定目标,视觉噪声干扰对齐,累积误差导致长程导航迷路,这三者都是 VLN 特有的核心挑战。语料规模是通用 NLP 问题,并非 VLN 区别于其他任务的关键挑战。
Q4. 指令-视觉对齐最常用的相似度计算方式是什么?
- A.余弦相似度← 正确答案
- B.字符串编辑距离
- C.曼哈顿街区距离
- D.哈希碰撞次数
答案:A。VLN 把图像和文本分别编码成向量,然后用余弦相似度衡量二者在向量空间中的匹配程度,值越接近 1 表示越匹配。编辑距离用于文本,曼哈顿距离用于坐标空间,哈希碰撞则与语义相似度无关。
Q5. 跨模态记忆在 VLN 中的主要作用是什么?
- A.保存模型训练时的超参数
- B.记录历史观测辅助后续决策← 正确答案
- C.压缩存储所有场景视频
- D.加速图像预处理速度
答案:B。VLN 中记忆模块维护历史观测、动作和语义信息,让模型知道「从哪来、已去过哪」,从而在长程导航中避免绕路和迷路。超参数、视频压缩和图像加速都与跨模态记忆的功能无关。
Q6. 训练 VLN 动作策略网络时,常用哪些方法?
- A.模仿学习(行为克隆)← 正确答案
- B.强化学习(策略梯度)← 正确答案
- C.无监督聚类算法
- D.大规模预训练后微调← 正确答案
答案:ABD。模仿学习让模型照专家示范学习动作,强化学习让模型通过试错优化长期回报,预训练加微调利用大规模数据先学通用表征再适配导航任务,三者都是 VLN 策略训练的主流范式。无监督聚类不适用于动作序列的监督式学习。
Q7. R2R 数据集的主要特点是什么?
- A.全部由计算机合成图像构成
- B.真实室内三维场景配人工指令← 正确答案
- C.只包含文本没有视觉信息
- D.专用于自动驾驶高速场景
答案:B。R2R(Room-to-Room)基于 Matterport3D 真实扫描的室内三维场景,人工标注了数万条自然语言指令,每条指令对应一条真实可走的路线。它不是合成图像,也并非只有文本或面向高速自动驾驶。
Q8. 模拟器训练好的 VLN 模型迁移到真实机器人后性能下降,主因是什么?
- A.模拟器中的步长设置不合理
- B.仿真与真实的域间隙导致分布漂移← 正确答案
- C.机器人外壳颜色与模拟不同
- D.训练指令语种不一致
答案:B。模拟器渲染的图像分布(光照、纹理、传感器噪声)与真实相机拍摄存在明显差异,模型在仿真特征分布上学习到的视觉语义在真实场景中失效,这就是域间隙导致的分布漂移。步长、外壳颜色、语种都不是本质原因。
Q9. VLN 机器人平台通常不包含下列哪个组件?
- A.RGB 视觉传感器
- B.可移动的底盘
- C.语义解析与决策模块
- D.随机数生成专用芯片← 正确答案
答案:D。VLN 平台需要三件套:视觉传感器负责感知,移动底盘负责执行,计算芯片上的语义解析与决策模块负责智能。随机数生成芯片既不是感知、决策也不是执行组件,不属于 VLN 平台的标准配置。
Q10. 提升 VLN 系统在真实环境中的鲁棒性,可行的工程手段有哪些?
- A.融合多路传感器的信息← 正确答案
- B.针对目标场景做域自适应微调← 正确答案
- C.部署时增加路径重规划机制← 正确答案
- D.把指令训练数据统一成单一模板
答案:ABC。多传感器融合能弥补单一视觉受光照遮挡的短板,域自适应微调能缩小仿真与真实的差距,路径重规划可以在执行中应对突发障碍。统一指令模板会减少语言多样性,反而降低模型在新指令上的泛化能力,不是提升鲁棒性的手段。