LangLoc: “Tell Me What You See”
LangLoc:“告诉我你看到了什么”
https://arxiv.org/pdf/2607.05077


摘要
我们处理基于自然语言的细粒度室内定位问题:给定对周围环境的自由格式描述,估计观察者在已知3D环境内的2D位置和朝向。语言查询是轻量级的、保护隐私的,并且不需要相机——然而先前的工作停留在粗略的场景检索,无法解析场景内的位姿。我们使用LangLoc填补了这一空白,这是一个三阶段的流水线,其(i)通过带有CLIP语义特征的双分支GATv2编码器检索正确的场景,在Top-1召回率上比之前的最佳结果高出8个百分点;(ii)通过光线投射计算物体可见性来对密集的地板网格进行打分,从而估计位置和朝向,达到0.95米的中位误差;以及(iii)通过一个贝叶斯对话模块解决剩余的歧义,该模块提出有针对性的“是/否”问题并更新位姿后验,直到位置被精确定位。为了支持这项任务,我们贡献了一个基准测试集,包含超过13,000条以位姿为索引的自然语言描述,覆盖超过1,300个室内3D扫描。代码和数据将被发布。项目主页:https://rzninvo.github.io/Lang-Loc/.
1 引言
知道你在哪里对于几乎所有的位置感知服务都是基础性的:室内导航、机器人辅助、增强现实和应急响应都需要一个准确的位姿估计。 当今占主导地位的定位范式是视觉的:设备捕获图像或视频流,将其上传到服务器,并作为回报接收一个位姿估计 [32, 36]。虽然有效,这种方法带有显著的缺点。图像传输非常消耗带宽,特别是在需要频繁查询的室内。更严重的是,它是侵犯隐私的:家庭、办公室和医院的照片不可避免地捕获了用户可能不希望分享的敏感信息。最后,捕获一张有用的图像本身就并非易事——一张空白墙壁的照片携带的判别性信息很少,要求用户知道如何拍摄出一张信息丰富的照片。
语言提供了一个极具吸引力的替代方案。告诉系统“我正站在一个书架前,左边有一张蓝色沙发,房间对面有一台电视”是自然、快速的,并且几乎不传输任何个人可识别信息。文本描述比图像小几个数量级,不需要相机或特殊硬件,并且反映了人们在日常生活中自然地向彼此交流其所在位置的方式。这使得语言定位在禁止使用相机但具备数字孪生环境(如医院、实验室和应急调度中心)的场景中显得自然而然。除了定位之外,人与智能体之间的交流还需要将自由形式的语言目标(例如,“去书架找到那本红色的书”)映射为机器人、无人机和AR助手的精确3D位姿。
尽管具有这些优势,基于语言的定位在很大程度上仍未得到解决。现有方法仅处理粗略的场景检索——识别一段描述指的是数据库中的哪个房间 [14, 23]。从语言中解析出场景内的精确位姿是一个开放性问题:同一房间内的许多视点共享相似的语义,它们之间的差异仅在于微妙的几何或可见性线索,而这些线索很难在纯文本中被捕捉到。
我们提出了LangLoc,这是首个用于从自然语言进行细粒度室内定位的流水线。给定一段自由格式的描述和一个3D场景数据库,LangLoc首先检索出正确的场景——在Top-1召回率上比先前的最先进方法高出8个百分点——然后在其中估计2D地面位置和朝向,实现约1米的中位位置误差。当描述存在歧义时,系统会进入交互式对话:它会提出有针对性的“是/否”问题(例如,“桌子左边有椅子吗?”),并更新贝叶斯位姿后验,直到位置被确定。
贡献。 —— 场景检索。一个结合CLIP特征的双分支GATv2编码器,确立了新的SOTA,比先前工作 [14] 提高了8个百分点。 —— 细粒度定位。一种基于可见性的地面网格评分方法,从语言中估计2D位置和朝向,实现约1米的中位误差。 —— 基于对话的消歧。一个交互式贝叶斯细化模块,通过有针对性的“是/否”问题来解决有歧义的描述。
2 相关工作
视觉定位。在已知环境中估计6自由度相机位姿是计算机视觉中一个长期存在的问题。基于结构的方法构建显式的3D地图,并通过建立2D-3D对应关系然后进行PnP求解来进行定位[32, 36, 37]。学习到的局部特征[16]和匹配网络[33]大幅提高了鲁棒性。首先检索候选图像然后执行局部匹配的分层流水线[32]定义了主流的范式。另一条研究路线通过CNN直接从单张图像回归位姿[12, 21],以牺牲一些精度为代价换取架构的简单性。场景坐标回归方法[9-11]通过预测密集的3D坐标并集成可微的PnP+RANSAC求解器,弥补了这一精度差距的大部分,实现了最先进的单图像定位。视觉位置识别[3, 5, 8, 18]解决了相关的检索问题,即识别数据库中最近的位置,这类似于我们流水线的粗略阶段,但使用的是图像查询。最近的工作转向了更轻量级的地图表示:PixLoc [35]通过学习到的特征度量对齐来细化位姿,而OrienterNet [34]则针对2D公共地图进行定位。以上所有方法都需要视觉查询。我们的工作偏离了这一范式,用自然语言描述替换了图像,探索仅从语言中可以获得多少定位精度。 基于语言和跨模态定位。Text2Pos [23] 首先研究了文本到3D的定位,通过学习自由格式描述与大规模室外点云之间的联合嵌入来进行粗略的网格检索。在室内领域,Chen等人[14]将该问题构建为基于3D场景图的场景检索:将文本查询解析为图,并与3DSSG [40]图的数据库进行匹配以识别正确的房间。他们的Text2SGM模型证明了从语言进行场景图匹配是可行的,但它停留在粗略的场景识别阶段,并未解析场景内的相机位姿。SceneGraphLoc [26]通过使用双分支GATv2编码器将图像特征与3D场景图匹配来执行跨模态粗略定位——这是一种我们将其调整为用于文本到图检索的架构。SGAligner [31]学习多模态场景图嵌入,对齐3D、图像和文本模态,进一步证明了场景图作为模态间桥梁的实用性。我们的工作建立在这些基础之上,但将流水线从场景检索扩展到了检索场景内的细粒度位姿估计。 基于对话的定位和具身导航。在具身环境中,智能体通常通过对话与人类交互以解决空间歧义。视觉与对话导航[38]引入了用于物体目标导航的合作对话。DiaLoc [43]提出了基于迭代的对话定位,其中智能体通过澄清问题来缩小其位姿估计范围。更广泛的VLN文献[4, 19, 29]研究了在照片级真实环境中的指令跟随。最近的基于LLM的智能体[44]将显式推理引入导航。这些工作启发了我们基于对话的消歧模块,该模块选择有针对性的问题来减少候选位姿的不确定性。 3D场景图与视觉-语言接地。场景图[6]在统一的层次结构中编码对象、属性和空间关系。3DSSG [40]将这一思想扩展到从3D室内重建中学习预测语义场景图,而增量方法[42]使得能够从RGB-D流中即时构建图。使用基础模型的开放词汇扩展[17, 22, 28]通过消除对固定词汇的需求,进一步扩大了场景图的适用性。在语言方面,ScanRefer [13]和ReferIt3D [1]将指代表达与3D边界框配对。ScanQA [7]和SQA3D [25]将其扩展到具有空间推理的问答。预训练的3D-语言模型[20, 45]在大规模上将点云或多视图特征与文本对齐。这些资源针对的是接地或检索,而不是以视点为条件的位姿估计,在细粒度基于语言的定位的数据和方法上都留下了空白,而我们的工作旨在填补这一空白。
3 基于语言的定位
我们的流水线包含三个阶段(图1):场景检索(3.2节)、精细定位(3.3节)以及基于对话的消歧(3.4节)。

3.1 问题定义
输入是对观察者周围环境的自由格式文本描述 TT;输出是在已知室内环境中估计出的观察者位姿。该设置扩展了基于3D场景图的语言场景检索 [14]:我们不仅识别正确的场景,还能解析出精确的场景内位姿。


3.2 基于语言的场景检索



3.3 精细定位
一旦场景检索识别出正确的环境,第二阶段就会在其中估计一个精确的位姿。关键的洞察在于,观察者必须站在一个位置,从该位置可以同时看到所提及的物体且距离它们较近。我们通过将文本实体与3D物体进行匹配来利用这一点,然后针对场景网格进行光线投射,从而对密集的地面位置网格进行评分,计算从每个候选位置可以看到多少个匹配的物体。




3.4 基于对话的消歧
当几个空间上截然不同的视点获得相似的分数时,单一描述可能无法唯一确定位姿。例如,一个房间可能包含两个相似的座位区,每一个都与“一张面向电视的沙发”这一描述相符。为了解决此类歧义,我们引入了一个对话模块(图3),该模块提出有针对性的“是/否”问题,并利用答案通过贝叶斯后验更新迭代地缩小合理视点的集合。





问题选择。我们在当前后验分布下贪婪地选择一个具有信息量的问题。默认情况下,我们最大化期望信息增益(包括“未知”):



4 LangLoc数据集
现有的3D视觉-语言数据集提供以物体为中心的接地 [1, 13] 或场景级描述 [45],但不提供适合定位的以位姿为索引的自我中心描述。我们通过扩展3RScan [39] 构建了这样一个基准,包含超过1,300个室内扫描的以位姿为索引的文本描述,共有13,000多个以位姿为索引的自然语言描述。
关键帧选择。原始RGB-D序列包含许多模糊、冗余或无信息的帧。我们分三步为每个场景选择一组紧凑的高质量关键帧。首先,通过图像质量模型 [2] 对每一帧进行评分,并丢弃低质量帧。其次,我们渲染场景网格以确定从每个幸存帧可以看到哪些物体,并在相机坐标系中计算成对的空间关系(例如,left_of(在...左边), above(在...上方))。第三,我们应用一个两阶段的行列式点过程(DPP)[24]:阶段1使用奖励物体多样性和几何复杂性的质量分数来选择语义上信息丰富的帧;阶段2通过惩罚具有重叠位置、观察方向和可见性掩码的帧来强制执行空间多样性。
描述生成。对于每个选定的关键帧,可见物体列表和空间关系被组装成一个供大语言模型(LLM)使用的结构化提示,该模型生成以该视点为基准的自然语言场景描述。这些自动描述通过专用标注接口收集的人工标注进行补充,以形成最终的训练和评估标签。完整的流水线细节和超参数在补充材料中提供。
5 实验
我们评估场景检索(5.1节)以及带和不带对话的精细定位(5.2节)。对于检索,我们使用建立在3RScan [39] 上并带有3DSSG [40] 标注的ScanScribe基准 [14],并遵循其标准的训练/验证/测试划分。对于精细定位,我们在LangLoc数据集(4节,基于3RScan构建)和ScanNet [15] 上进行评估。

5.1 场景检索
我们在 [14] 的三个评估协议下报告 Recall@k。基线模型取自 [14]:Text2Pos [23] 学习联合文本-点云嵌入,CLIP2CLIP 匹配文本和渲染视图的 CLIP 嵌入,Text2SGM 执行场景图匹配(match-prob, cos-sim, ret-based)。
10场景池(表1)。每个查询与10个候选场景进行匹配。LangLoc 实现了 76.7% 的 Top-1 召回率,超过了最强的 Text2SGM 变体(68.6%)8.1个百分点,并在 Top-5 达到 98.9%。kk 值上的增益表明,我们带有门控融合的双分支 CLIP 编码器比单分支替代方案学习到了更具判别力的场景嵌入。

完整测试集(表2)。在所有55个测试场景上的检索更难(池子大了5.5倍)。LangLoc 达到 83.3% 的 Top-5 和 91.6% 的 Top-10,分别比 Text2SGM 高出 7 和 4 个百分点。Text2Pos 在 Top-5 跌至 10% 以下,而 CLIP2CLIP 提升至 33.3% 的 Top-5,但仍远低于基于图的方法,突显了物体级结构和空间关系的优势。

LLM生成的查询(表3)。为了测试超越图衍生文本的鲁棒性,我们使用 GPT-4o-mini 从场景图像和检测到的物体生成查询,减少词汇重叠并增加措辞的变异性。LangLoc 获得 59.5% 的 Top-1,比 Text2SGM(34.2%)高出 +25 pp,比 CLIP2CLIP(33.1%)高出 +26 pp;在 Top-5 它达到 96.2%,表明在领域偏移下,正确的场景几乎总是在顶级候选者中。

5.2 精细定位


评估数据。由于基于对话的变体需要人工标注——每个查询涉及多轮交互式消歧——我们在每个数据集中随机选择的 100 个场景上进行评估。标注对话轮次非常耗时,因此我们将全量评估(LangLoc 数据集的所有 1,300 个扫描)保留给非对话变体,并在表 6 中单独报告;完整的每个数据集结果在补充材料中提供。
100场景子集的结果(表4)。在 3RScan 分割上,无对话的 LangLoc 已经将角度误差与 VLM 基线相比减半(平均 46.1° 对 85.5°),证明光线投射可见性评分产生了有意义的朝向估计。中点基线不预测朝向(表中标记为“–”)。添加对话进一步将中位位置误差从 1.55 m 降低到 0.80 m——提升了 49%——平均角度误差从 46.1° 降低到 39.5°。IoU 从 0.172 几乎翻倍到 0.342,因为对话模块缩小了后验分布并将预测的视锥体与真实值对齐。VLM 尽管预测了朝向,但仅实现了 0.062 的 IoU,因为其朝向本质上是随机的(~85° 误差)。
在原始位置误差中出现了一个具有启发性的模式。中点基线尽管完全没有使用语言,却达到了看似有竞争力的 1.42 m 平均值。这是小型室内房间的人为产物(artifact):地板中心在紧凑空间中机械地接近每一点,但它没有实际价值——它既不传达有意义的房间内位置,也不传达观察方向。因此,中点基线不应被解释为有意义的定位结果,因为它既不提供方向也不提供特定视点的证据,这与 LangLoc 的角度、视锥体重叠和基于后验的估计不同。
无对话的 LangLoc 报告了较高的原始位置误差(1.71 m),因为它承诺在描述物体附近的特定地板区域,当多个物体簇匹配描述时这可能是错误的。这表明主要的残差歧义不是朝向估计(LangLoc 已经远强于 VLM),而是在满足同一描述的多个空间分离的位姿簇之间进行选择。对话模块正是通过跨簇提出判别性问题来针对这种失败模式,从而将后验分布坍缩向正确的视点。
Top-10 指标区分了这两种行为:正确位置几乎总是在高分单元中,达到 1.04 m(Top-10 均值)——远低于中点基线的原始误差。通过对话,LangLoc 实现了 0.93 m 均值和 0.80 m 中位位置误差,在所有指标上都优于中点基线。
在 ScanNet 上,具有不同房间布局和标注惯例,无对话的 LangLoc 泛化良好:它实现了 1.25 m 的 Top-10 均值,42.7° 的角度误差,以及 0.236 的 IoU——与 3RScan 分割相当。VLM 再次产生近随机的朝向(~94°)和接近零的 IoU(0.030)。在 ScanNet 上添加对话产生了比 3RScan 更大的增益:中位位置误差从 1.31 m 降至 0.07 m,中位角度误差从 34.7° 降至 5.1°,IoU 从 0.236 升至 0.593。
两个因素加剧了这一点:ScanNet 帧平均包含更多可见物体(6 对 4),使每个对话问题更具判别性,且其房间空间歧义较小,导致后验分布在超过 40% 的场景中坍缩为单模态,并将 MAP 估计值锁定在网格间距以下。

人工对话试点。为了测试受控对话的收益是否转移到真实交互中,我们还运行了一个 10 场景的试点,使用人工编写的描述和人工输入的对话答案。带有人工对话的 LangLoc 优于单次射击(single-shot)LangLoc,并接近被要求从相同描述进行定位的人类(这些人类基线在表 5 的最后一行)。虽然人工标注者更好地估计了朝向方向,但带对话的 LangLoc 实现了最低的位置误差。

全量评估(表6)。在完整的 LangLoc 数据集(1,300 个扫描,13k+ 描述)上,无对话的 LangLoc 实现了 0.95 m 的 Top-10 中位位置误差和 39.8° 的中位角度误差,与 100 场景子集一致,并证实 LangLoc 可以扩展到完整基准。中点基线再次达到了较低的原始位置误差(1.26 m 中位值对 LangLoc 的 1.31 m),这是由于房间尺寸较小,但这仍然是一个空洞的基线:它既不提供有意义的房间内位置,也不提供任何观察方向。LangLoc 的 3D IoU 为 0.147,比 VLM 的 0.018 高一个数量级,证实该方法仅从语言中恢复了准确的位置和朝向。

6 结论
我们提出了 LangLoc,这是首个细粒度室内定位流水线,它通过结合双分支 GATv2 检索编码器、基于可见性的地板网格位姿评分和用于消歧的贝叶斯对话模块,从自然语言文本描述中估计 2D 位置和朝向——无需任何图像。在提出的 LangLoc 数据集(1,300+ 扫描上的 13k+ 描述)和 ScanNet 上,它实现了约 1 m 的中位位置精度和有意义的朝向,大幅优于仅几何和零样本 VLM 基线。交互式对话产生了进一步的巨大增益——将 ScanNet 的中位误差降低至 7 cm 和 5°——表明几个有针对性的“是/否”问题解决了单一描述中固有的大部分空间歧义。
局限性与未来工作。当前的流水线在具有已知物体标签和关系的预建 3D 场景图上运行。将其扩展到开放词汇或增量构建的图将把适用性扩大到没有预先标注的环境。在许多视点共享相似物体配置的大型、杂乱场景中,性能会下降——这是更丰富的空间推理或多轮对话策略可以解决的挑战。最后,虽然语言查询本质上是保护隐私的,但该方法仍然需要访问环境的详细 3D 模型;放松这一假设,例如针对更粗略的平面图或示意图进行定位,是实际部署的一个有希望的方向。
原文链接:https://arxiv.org/pdf/2607.05077