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 問題定義
輸入是對觀察者周圍環境的自由格式文本描述 T T;輸出是在已知室內環境中估計出的觀察者位姿。該設置擴展了基于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%。 k k 值上的增益表明,我們帶有門控融合的雙分支 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
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.