想象你是外卖平台的培训主管。新招的骑手还没熟悉城市,订单就来了——顾客备注:“翠湖小区3栋2单元,进门左转第二间,门口有盆绿萝。”你敢直接派他吗?当然不敢。聪明的做法,是先建一个和翠湖小区一模一样的“数字训练基地”,让骑手在里面跑几百遍,直到闭着眼也能找到那盆绿萝,再放他去接真单。 视觉语言导航研究的思路正是如此。Matterport3D 提供“翠湖小区”的高精度数字图纸——真实室内场景的三维扫描数据;Habitat 则扮演那座能无限次重开、可编程控制的“骑手训练基地”——一个高性能仿真平台。导航 Agent(数字骑手)在这里学习读指令、看路、走到目标。本文用骑手培训的故事,拆解这两大核心工具的构成、用法、训练流程与评估方式。

岗位关联

掌握仿真环境,是在具身智能、视觉语言导航方向做出可验证成果的基础能力。熟练操作 Matterport3D 与 Habitat,你就能低成本地训练、评估导航 Agent,推动智能体从实验室走向真实世界。

目录
  1. 可视化演示
  2. 仿真环境概述
  3. Matterport3D数据
  4. Habitat平台
  5. 导航Agent训练
  6. 视觉语言指令
  7. 评估与挑战
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示Matterport3D与H的核心机制,通过概览/流程/对比/趋势四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

Matterport3D与H:Matt Matterport3D数据集 Habitat仿真平台架构与A 核心机制可视化 Matterport3D与H整体架构与关键组件

仿真环境概述

培训主管首先得回答一个问题:为什么非要建“数字训练基地”,直接在马路上练不行吗?因为真实世界的训练成本太高——骑手骑错一条路、耽误一单,就要挨投诉、赔钱,甚至出安全事故。而建一个虚拟小区,摔倒了不流血,走错路不罚款,还能一夜之间让骑手跑一千次。

在 AI 领域,这个“数字训练基地”就是 3D 室内仿真环境。具身智能(Embodied AI)研究让 Agent——也就是数字骑手——在虚拟房间里自由走动、观察、决策。它要做的事听起来很日常:给你一句话“穿过客厅,进卧室,停在床边”,然后你需要控制一个机器人从起点走到终点。这就是视觉语言导航(Vision-Language Navigation, VLN),一个横跨计算机视觉、自然语言处理与强化学习的核心任务。

仿真环境的价值在于提供“真实感与可重复性”的完美组合。Matterport3D 提供从真实建筑扫描而来的高保真场景,Habitat 提供可高效运转的平台。二者让研究者把“路况复杂度”变为可调参数,把“训练成本”降到了接近零。这正是仿真环境成为视觉语言导航研究基石的深层原因。

回到比喻:没有基地,骑手只能裸奔上街;有了 Matterport3D 的图纸和 Habitat 的场地,新手才能安全地“以练代战”。

Matterport3D数据

为了让骑手能在虚拟小区里熟悉真实路况,我们得先把“翠湖小区”变成图纸。Matterport3D 干的正是这件测绘活:用专业的 RGB-D 三维扫描设备走进真实的住宅和办公楼,把每一面墙、每一条走廊、每一个门洞都数字化。

这个数据集包含 90 个真实建筑场景,超过一万张全景图像,每张图像都带有深度信息和相机位姿。更贴心的是,它还提供了语义标注:哪些像素是墙、哪些是门、哪些是地板。有了这些标注,Agent 不仅能“看”,还能“理解”——就像骑手知道贴了“消防通道”标签的门是可以推开的。

把这些全景图按空间关系连接起来,就形成一张可导航的拓扑图。Agent 的每一步移动,都是在这张图上从一个节点“瞬移”到相邻节点。数学上,我们可以用一张图来描述:

数据集的另一大特点是“真实”。它不是游戏引擎随手生成的房间,而是真实世界的复刻。这种真实性让在 Matterport3D 上训练出的导航策略,迁移到现实机器人时更有底气——就像骑手在 1:1 还原的基地里练过车,出门自然不容易慌。

G=(V,E)G = (V, E)
这里的 G 就是整栋建筑的可通行“道路网络”,V 是路口(全景采集点),E 是路段(可通行的连接)。
  1. 节点集合 VV 是所有全景图像拍摄位置的集合,每一处都是 Agent 可以停留观察的一个“路口”。
    V={v1,v2,…,vn}V = \{v_1, v_2, \ldots, v_n\}
  2. 边集合 EE 表示节点之间的可通行连接,比如“从客厅可以走进厨房”就构成一条边。
    E={(vi,vj)∣vi 与 vj 空间相邻且可通行}E = \{(v_i, v_j) \mid v_i \text{ 与 } v_j \text{ 空间相邻且可通行}\}
  3. 图 GG 把节点和边组合成完整拓扑地图,Agent 的规划算法就在这张图上搜索路径。
    G=(V,E)G = (V, E)

Habitat平台

图纸有了,接下来需要一座“训练基地”——能让骑手真正跑起来的场地。Habitat 就是这样一个仿真平台,它由两部分组成:底层是高性能 3D 渲染引擎,负责把 Matterport3D 的图纸变成沉浸式画面;上层是一套标准的强化学习环境接口,负责给 Agent 提供“眼、耳、手”。

Habitat 的渲染快得惊人,一秒钟可以输出数千帧图像。这让 Agent 能在短时间内进行海量试错,大幅缩短训练时间。在接口层面,Agent 通过传感器(RGB 彩色相机、深度相机、GPS 定位等)获取观测,执行“前进、左转、右转、停止”这类离散动作,每一步都会得到环境反馈的奖励信号。

从强化学习的角度看,Habitat 把整个仿真过程封装成一个标准的马尔可夫决策过程(MDP):

Habitat 的意义在于“标准化”。它把场景加载、传感器模拟、碰撞检测、评估计分全部打包,研究者只需关注算法本身。正如训练基地把场地、车辆、计时器都备齐,骑手只需专心练车。

M=(S,A,P,R,γ)\mathcal{M} = (\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma)
这个五元组是 Agent 决策问题的标准描述:它在什么状态,能做什么动作,状态怎么转移,能拿多少奖励,未来收益打多少折扣。
  1. 状态空间 SS 是所有可能环境状态的集合,例如 Agent 当前所在的位置、朝向、看到的画面。
    S={s1,s2,…}\mathcal{S} = \{s_1, s_2, \ldots\}
  2. 动作空间 AA 是 Agent 可以执行的原子动作,在视觉导航中通常是“前进、左转、右转、停止”。
    A={aforward,aleft,aright,astop}\mathcal{A} = \{a_{\text{forward}}, a_{\text{left}}, a_{\text{right}}, a_{\text{stop}}\}
  3. 状态转移概率 PP 描述了执行某个动作后,世界状态如何变化。
    P(s′∣s,a)\mathcal{P}(s' \mid s, a)
  4. 奖励函数 RR 是环境对每个动作给出的即时反馈,好比骑手准时送达获得好评。
    R(s,a)→r\mathcal{R}(s, a) \rightarrow r
  5. 折扣因子 γγ 决定未来的奖励相对当前奖励的重要程度,取值范围 0 到 1。
    0≤γ≤10 \le \gamma \le 1

导航Agent训练

骑手在基地里怎么练车?一开始他四处乱撞,走几步就迷路;后来他学会观察路口标志,再后来能提前规划转弯。Agent 的学习过程也类似,靠的是强化学习:从“随机乱走”开始,通过奖励信号一点点调整策略。

Habitat 中最常见的训练框架是 PPO(近端策略优化),一种稳定高效的策略梯度算法。整个训练循环是:Agent 用摄像头“看”一眼当前画面(观测)→ 神经网络编码器把画面压缩成特征向量 → 策略网络输出动作概率 → 环境执行动作返回新画面和奖励 → 反复迭代更新网络参数。

训练的目标是最大化期望累积奖励。形式化地,我们定义策略 π 的期望回报:

为了让训练更高效,研究者还会精心设计奖励函数。最简单的做法是“到达目标给 +1,其他时候给一个小负奖励”,这等于告诉骑手:送达有赏,绕路费时。更复杂的设计还会加入“向目标靠近就加分”的稀疏奖励变体,帮助 Agent 在长距离任务中更快收敛。

J(θ)=Eτ∼πθ[∑t=0Tγtrt]J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta}\left[\sum_{t=0}^{T} \gamma^t r_t\right]
这表示:从开始到结束,每一步拿到的即时奖励 r_t,按 γ^t 衰减后累加起来,求期望。Agent 的每个参数调整,都是为了让这个总回报尽可能大。
  1. 策略 πθπθ 是由神经网络参数 θ 决定的策略,输入观测,输出动作分布。
    πθ(a∣s)\pi_\theta(a \mid s)
  2. 轨迹 ττ 是 Agent 从起点到终点的一整条历史记录(状态、动作、奖励的序列)。
    τ=(s0,a0,r1,s1,…,sT)\tau = (s_0, a_0, r_1, s_1, \ldots, s_T)
  3. 期望 E因为策略和环境都有随机性,我们取大量轨迹的平均值。
    Eτ∼πθ[⋅]\mathbb{E}_{\tau \sim \pi_\theta}[\cdot]
  4. 折扣累计奖励越早的奖励权重越大,越晚的奖励乘以 γ^t 后逐渐衰减。
    ∑t=0Tγtrt\sum_{t=0}^{T} \gamma^t r_t

视觉语言指令

骑手训练的核心,是学会读懂顾客的“备注”。这些备注常常模糊又啰嗦——“看到红色大门往里走”“厨房门口有个垃圾桶,绕过它”。对机器来说,把这样一句话和眼前的画面对应起来,是视觉语言导航最大的难点。

Habitat 中使用的指令往往包含视角描述、物体参照和空间关系,例如“离开卧室后右转,在沙发旁停下”。Agent 需要把自然语言中的“沙发”与视觉画面中的沙发区域对齐,把“右转”映射为动作空间中的一条转向指令。这就是跨模态对齐(Cross-Modal Alignment)。

实现上,语言指令先用一个编码器(如 LSTM 或 BERT)转化为特征向量序列;视觉观测则用 CNN 编码为空间特征图。随后用注意力机制计算语言与视觉的匹配程度:

训练时,模型会不断调整编码器参数,使得“沙发”这个词对画面沙发区域的权重越来越大,对无关区域的权重越来越小。最终,Agent 在导航时就具备了一种“指哪看哪”的能力——顾客说绿萝,它就盯着门口那盆绿萝。

αij=exp⁡(qi⊤kj)∑j′exp⁡(qi⊤kj′)\alpha_{ij} = \frac{\exp(\mathbf{q}_i^\top \mathbf{k}_j)}{\sum_{j'} \exp(\mathbf{q}_i^\top \mathbf{k}_{j'})}
α_ij 表示第 i 个语言词对画面第 j 个区域的关注强度。分数越高,说明这个词越“看中”画面中那个位置。
  1. 语言特征 qi每个指令词通过编码器变成一个查询向量,代表这个词的语义。
    qi=flang(wi)\mathbf{q}_i = f_{\text{lang}}(w_i)
  2. 视觉特征 kj画面每个区域通过视觉编码器变成一个键向量,代表该区域的视觉内容。
    kj=fvis(xj)\mathbf{k}_j = f_{\text{vis}}(x_j)
  3. 点积相似度q 与 k 做点积,得到这个词与这个视觉区域的匹配分数。
    sij=qi⊤kjs_{ij} = \mathbf{q}_i^\top \mathbf{k}_j
  4. Softmax 归一化对同一词的分数做归一化,得到权重分布,所有区域权重之和为 1。
    αij=exp⁡(sij)∑j′exp⁡(sij′)\alpha_{ij} = \frac{\exp(s_{ij})}{\sum_{j'} \exp(s_{ij'})}

评估与挑战

骑手练了几个月,基地决定考核他。考核内容不只是“有没有送到”,还有“绕了多少路”。一个把小区绕了三圈才送达的骑手,和一个直线直达的骑手,服务水平天差地别。视觉导航评估指标正是这套逻辑。

最基础的指标是成功率(Success Rate, SR):Agent 是否在允许的步数内到达目标位置?成功为 1,失败为 0。但成功率不惩罚绕路,所以研究者又提出 SPL(Success weighted by Path Length),把效率也纳入考核:

即便在虚拟基地中表现出色,Agent 走向真实世界仍有巨大的挑战。仿真器的光照、纹理、物理引擎和传感器噪声与真实环境存在差异,这就是著名的“sim2real gap”。Matterport3D 的高保真度可以缩小这一差距,但无法消除。真正可靠的 Agent,必须经过仿真预训练加真实环境微调——就像骑手先在基地练熟,再跟老师傅上路跑几趟,才能真正出师。

SPL=1N∑i=1NSi⋅limax⁡(pi,li)SPL = \frac{1}{N} \sum_{i=1}^{N} S_i \cdot \frac{l_i}{\max(p_i, l_i)}
SPL 在成功的基础上,再计算“最短路径长度 l_i”与“实际路径长度 p_i”的比值。实际走的路越接近最短路径,SPL 越接近 1。
  1. 任务数 NN 是评估所用导航任务的总数,通常覆盖多个场景多条指令。
    N=∣test tasks∣N = |\text{test tasks}|
  2. 成功率指示 SiS_i 是第 i 个任务是否成功,成功取 1,失败取 0。
    Si∈{0,1}S_i \in \{0, 1\}
  3. 最短路径长度 li这是评估者离线计算的地面真实值,代表理论上最少走多少步。
    li=ShortestPath(sstart,sgoal)l_i = \text{ShortestPath}(s_{\text{start}}, s_{\text{goal}})
  4. 实际路径长度 piAgent 在仿真中真正走过的轨迹长度。
    pi=∑∣Δpositions∣p_i = \sum |\Delta \text{positions}|
  5. 效率比值实际路径与最短路径的比越接近 1,说明 Agent 走得越聪明。
    limax⁡(pi,li)≤1\frac{l_i}{\max(p_i, l_i)} \le 1

AI 应用场景

家庭服务机器人训练

阶段:数据采集与模型训练

解决的问题:家庭机器人(如扫地机、陪护机器人)直接部署到真实家庭时,会遭遇家具布局差异、光线变化、指令模糊等问题,反复实机测试成本高且易损坏设备。用 Habitat 加载 Matterport3D 的室内场景,可以在云端大规模并行训练机器人导航策略,让机器人先掌握“走进卧室”“绕过餐桌到达厨房”等能力,再迁移到真实家庭。

具体案例:某团队用 50 个 Matterport3D 家庭场景 + Habitat 训练一个室内送药机器人。仿真中 Agent 学会理解“去主卧床头柜”这类指令,真实部署时成功率达 82%,比直接实机训练的效果高出 30 个百分点。

仓库物流自主搬运

阶段:策略优化与评估

解决的问题:仓库机器人需要根据自然语言指令(“把 3 号货架的空箱运到打包区”)自主导航。真实仓库改造费用极高,无法承受试错。利用 Habitat 搭建仓库数字孪生,把货架位置、通道宽度、障碍物都建模进仿真环境,快速验证多种导航策略。

具体案例:物流科技公司以 Matterport3D 扫描的真实仓储空间为底图,在 Habitat 中对搬运机器人进行强化学习训练。Sim2real 迁移后,机器人在真实仓库中的避障成功率提升约 25%,显著降低了现场调试时间。

虚拟现实内容测试

阶段:仿真测试与性能评测

解决的问题:在 VR/AR 应用中,用户需要跟随语音提示在虚拟房间内移动。传统开发靠人工反复测试,耗费人力。借助 Habitat 与 Matterport3D 的真实场景库,可以自动化测试“语音导航引导”功能的完成率和路径效率。

具体案例:一家 VR 看房创业公司使用 Habitat 对虚拟导览 Agent 进行评估,通过 SPL 指标发现指引话术存在歧义,修改后用户平均找房时间减少 40%。

Python 演示

python87 行
import random  class GridHouseEnv:    """微型室内地图,模拟 Matterport3D 的可导航图结构。"""     ROOMS = {0: "玄关", 1: "走廊", 2: "客厅", 3: "厨房", 4: "卧室"}    GRAPH = {0: [1], 1: [0, 2], 2: [1, 3], 3: [2, 4], 4: [3]}    GOAL = 4     def __init__(self):        self.state = None        self.steps = None        self.reset()     def reset(self):        self.state = 0        self.steps = 0        return self.state     def step(self, action):        """执行动作,返回(下一状态, 奖励, 是否结束)"""        self.state = self.GRAPH[self.state][action % len(self.GRAPH[self.state])]        self.steps += 1        reward = 1.0 if self.state == self.GOAL else -0.01        done = self.state == self.GOAL        return self.state, reward, done     def choose_action(self, q_table, state, epsilon=0.2):        """epsilon-greedy 策略:按概率探索,否则贪心选择"""        if state not in q_table or random.random() < epsilon:            return random.randrange(len(self.GRAPH[state]))        return max(q_table[state], key=q_table[state].get)  def train_q_learning(env, q_table, episodes=300):    """用 Q-learning 训练导航策略,相当于 Habitat 中的训练循环"""    lr, gamma = 0.1, 0.9    for _ in range(episodes):        state = env.reset()        done = False        while not done:            action = env.choose_action(q_table, state)            nxt, reward, done = env.step(action)            if state not in q_table:                q_table[state] = {}            old_q = q_table[state].get(action, 0.0)            if nxt in q_table and q_table[nxt]:                best_next = max(q_table[nxt].values())            else:                best_next = 0.0            q_table[state][action] = old_q + lr * (reward + gamma * best_next - old_q)            state = nxt  def evaluate(env, q_table):    """用学到的策略走一遍,返回(路径, SPL)"""    path = []    state = env.reset()    path.append(state)    visited = set(path)    shortest = 4    while state != env.GOAL:        if state not in q_table:            break        action = max(q_table[state], key=q_table[state].get)        state = env.step(action)[0]        if state in visited:            break        visited.add(state)        path.append(state)    success = state == env.GOAL    spl = success * shortest / max(env.steps, shortest)    return [env.ROOMS[r] for r in path], round(spl, 2)  def main():    env = GridHouseEnv()    q_table = {}    train_q_learning(env, q_table, episodes=500)    path, spl = evaluate(env, q_table)    print("学到的导航路线:", " -> ".join(path))    print("SPL:", spl)  if __name__ == "__main__":    main()
目的:用 Q-learning 训练一个在微型“房间图”中导航的 Agent,模拟 Habitat 中强化学习的核心流程,并计算 SPL 评估指标。
  1. self.GRAPH = {0: [1], 1: [0, 2], ...}模拟 Matterport3D 的导航图结构,节点是房间,边是走廊连接。
  2. def step(self, action):模拟 Habitat 的 env.step() 接口,输入动作,返回观测、奖励和终止标志。
  3. state = self.GRAPH[self.state][action % ...]根据图的邻接关系决定 Agent 走到哪个房间。
  4. reward = 1.0 if self.state == self.GOAL else -0.01到达目标给正奖励,平时给微小惩罚,激励 Agent 尽快到达。
  5. def choose_action(self, q_table, state, epsilon=0.2):探索与利用平衡,类似 PPO 训练中的随机策略采样。
  6. q_table[state][action] = old_q + lr * (...)Q-learning 更新公式,让 Agent 逐步学会“哪个房间该往哪走”。
  7. spl = success * shortest / max(env.steps, shortest)复现 SPL 评估逻辑,同时考核成功率和路径效率。

常见误区

误区刚接触时我以为下载了 Matterport3D 数据集,就能直接把 Agent 放进去走。结果发现它只是一堆全景图和网格数据,没有像 Habitat 那样的环境交互接口。

正解Matterport3D 相当于“建筑图纸”,Habitat 才是“基地沙盘”。图纸需要经过 Habitat 的处理(场景加载、碰撞网格生成、传感器挂载)才能被 Agent 使用。正确流程是先用 Habitat 的 habitat-lab 装载 Matterport3D 场景,再在环境中训练。

为何常见:大家习惯把“数据集”和“环境”混为一谈,加上教程中总是成套出现两者,容易让人忽略它们的分工。

误区在 Habitat 里 SPL 达到 0.9,我觉得装到真实机器人上也能横着走。结果真实环境中灯光一变、地毯一铺,Agent 立刻迷路。

正解仿真和现实之间存在 sim2real gap,包括渲染差异、物理引擎误差、传感器噪声等。Matterport3D 的高真实度能缩小鸿沟,但无法消除。业界通常采用“仿真预训练 + 真实微调”的两阶段方案。

为何常见:因为仿真画面太真实,给了人“所见即所得”的错觉,低估了底层物理和感知的差异。

误区看到 SPL 0.85 就认为 Agent 的导航成功率也接近 0.85。

正解SPL 同时受成功率和路径效率影响。一个 SPL=0.8 的系统,可能是成功率 0.8 且不绕路,也可能是成功率 1.0 但普遍绕了 25% 的远路。因此评估时要同时报告成功率与 SPL,二者互补。

为何常见:SPL 名字里的“Success”容易让人误以为它就是成功率的变体,忽略了其中的路径长度惩罚项。

误区我一直以为 Agent 像人看导航 App 一样,先看到全局地图再规划路径。

正解在 Habitat 的典型视觉导航设定中,Agent 只能看到第一人称 RGB/深度图像,没有全局地图“上帝视角”。它必须靠记忆和实时决策逐步摸索,这正是评测的难点所在。

为何常见:日常使用地图 App 的经验让人默认“导航=全局路径规划”,而忽略了具身智能中“局部感知 + 连续决策”的核心设定。

面试题

Q1. Matterport3D 的场景数据是如何获取的?

单选题 · easy

  • A.计算机随机生成的合成数据
  • B.真实室内场景的三维扫描← 正确答案
  • C.从网络爬取的普通照片
  • D.游戏引擎离线渲染的画面

答案:B。Matterport3D 使用 RGB-D 深度相机等设备对真实建筑进行三维扫描,因此它保存了真实世界的几何与纹理信息,这也是它比纯合成数据更具真实感的原因。

Q2. Habitat 平台的核心作用是什么?

单选题 · easy

  • A.提供海量文本标注数据
  • B.提供可交互的 3D 仿真环境← 正确答案
  • C.负责训练语言大模型
  • D.替代全部真实世界实验

答案:B。Habitat 是一个面向具身智能的仿真平台,提供渲染、传感器模拟和强化学习接口。它无法完全替代真实世界实验,但可以高效进行大规模仿真训练。

Q3. 视觉语言导航中 Agent 的主要输入包括?

单选题 · easy

  • A.语音指令和触觉信号
  • B.视觉观测与自然语言指令← 正确答案
  • C.GPS 定位与气压计读数
  • D.温度传感器和湿度数据

答案:B。视觉语言导航的核心是“看”与“听”的结合:视觉观测提供环境信息,自然语言指令提供目标任务,二者共同决定 Agent 的下一步动作。

Q4. Matterport3D 的导航图节点通常对应什么?

单选题 · mid

  • A.房间里的每一件家具
  • B.全景图像的拍摄位置← 正确答案
  • C.楼层中的每一个窗户
  • D.地图上的任意随机坐标

答案:B。导航图由全景采集点构成,每个节点代表一个可停留观察的位置,边代表两个位置之间可通行。Agent 的移动本质上是在这些节点之间做离散跳转。

Q5. Habitat 中常用的离散动作空间不包括?

单选题 · mid

  • A.前进
  • B.左转
  • C.停止
  • D.起飞← 正确答案

答案:D。室内地面导航的主要动作是前进、左转、右转、停止。“起飞”属于空中机器人动作,不在 Habitat 地面导航的典型离散动作空间内。

Q6. 奖励函数中“到达目标 +1,其他步 -0.01”的主要作用是?

单选题 · mid

  • A.让 Agent 学会高速奔跑
  • B.引导 Agent 尽快到达目标← 正确答案
  • C.让 Agent 忽略所有指令
  • D.让 Agent 完全随机行动

答案:B。微小惩罚会随步数累积,使 Agent 倾向于用更少步数到达目标,从而在提高成功率的同时提高路径效率,这也是 SPL 指标优化的思想来源。

Q7. Habitat 中的状态转移概率主要来自什么?

单选题 · mid

  • A.大语言模型的文本预测
  • B.仿真器的物理与运动学模拟← 正确答案
  • C.用户手动输入的参数表
  • D.数学公式的随机抽样

答案:B。Agent 执行动作后,Habitat 的物理引擎和运动学模型计算出新位置,从而得到下一状态。状态转移概率是仿真环境对动作的确定性或噪声响应。

Q8. Habitat 仿真平台提供哪些能力?

多选题 · mid

  • A.RGB 与深度传感器模拟← 正确答案
  • B.物理碰撞检测机制← 正确答案
  • C.同义词词典自动扩充
  • D.强化学习交互接口← 正确答案

答案:ABD。Habitat 提供视觉传感器、碰撞检测和 RL 环境接口,用于机器人导航训练。同义词词典扩充属于自然语言处理的数据增强方法,并非 Habitat 的核心能力。

Q9. 关于 SPL 指标,以下哪些说法是错误的?

多选题 · hard

  • A.实际路径都不能超过最短路径
  • B.SPL 综合了成功率与路径效率
  • C.Agent 绕路不影响 SPL 结果← 正确答案
  • D.SPL 与任务成功率完全等价← 正确答案

答案:CD。SPL 既看是否成功,也看实际路径与最短路径的比值。绕路会使分子变小,从而降低 SPL,因此 C 错误;SPL 包含效率惩罚,与成功率并不等价,D 也错误。A 的说法本身就不成立,因为实际路径完全可能超过最短路径。

Q10. 从仿真环境迁移到真实世界时,面临的典型挑战包括?

多选题 · hard

  • A.真实光照与仿真渲染存在差异← 正确答案
  • B.物理引擎无法完全模拟真实接触← 正确答案
  • C.传感器噪声模型不够精确← 正确答案
  • D.仿真环境的奖励函数一定最优

答案:ABC。sim2real gap 来自视觉差异、物理差异和感知差异等多个层面。Matterport3D 的高保真可以缓解视觉差异,但物理和传感器差异仍需在真实环境中微调。奖励函数设计是研究者的主观选择,不存在“一定最优”的结论。