比LERF提速199倍!清華哈佛發布LangSplat:三維語義高斯潑濺 | CVPR 2024 Highlight
人類生活在一個三維世界中,并通過文本語言描述三維場景,構建三維語義場以支持在三維空間中的開放文本查詢最近越來越受到關注。
最近,來自清華大學和哈佛大學的研究人員共同提出了LangSplat,該方法結合三維高斯潑濺技術重建三維語義場,能夠實現準確高效的開放文本查詢。現有方法在NeRF的基礎上嵌入CLIP語義特征,LangSplat則通過結合三維高斯潑濺,在每個高斯點上編碼了從CLIP提取的語義特征。
Project Page: https://langsplat.github.io/
Paper: https://arxiv.org/pdf/2312.16084.pdf
Video: https://youtu.be/K_9BBS1ODAc?si=gfo5TrLK-htyWyuT
Code: https://github.com/minghanqin/LangSplat
采用tile-based的三維高斯潑濺技術來渲染語義特征,從而避免了NeRF中計算成本高昂的渲染過程。
LangSplat首先訓練特定場景下的語義自編碼器,然后在場景特定的低維latent space上學習語義特征,而不是直接學習高維的CLIP語義特征,從而降低了計算量。現有基于NeRF的方法的三維語義場比較模糊,無法清晰地區分目標的邊界。
本文深入研究了這一問題,提出使用SAM學習多層次語義,在不引入DINO特征的情況下獲得了更準確的語義場。廣泛的實驗結果表明,LangSplat在開放文本目標定位和語義分割任務上的性能顯著超過了之前的SOTA方法LERF。
值得注意的是,LangSplat在1440×1080分辨率的圖像上,查詢速度比LERF快了199倍。
在3D場景中進行開放文本查詢對于機器人導航、3D編輯和增強現實等應用非常重要。目前的方法,例如LERF在神經輻射場中嵌入CLIP語義特征,受到速度和準確性的限制。
本文提出的方法LangSplat顯著提高了效率和準確性,為落地應用提供了一種有前景的方案。
該工作目前在X(Twitter)上受到廣泛關注。被清華大學官方賬號以及AK轉載,論文視頻累計瀏覽量超過100,000,論文代碼已開源。
方法論
層次語義學習:LangSplat利用Segment Anything Model(SAM)學習層次語義,解決了三維語義場的邊界模糊問題。
3D語義高斯潑濺:LangSplat引入了一種新的技術,即3D高斯潑濺,它使用包含語義特征嵌入的3D高斯來表示3D場景。這種方法比NeRF-based的方法渲染過程更快。
特定場景的語義自編碼器:為了緩解高維語義特征嵌入導致的內存out of memory問題,LangSplat構建特定場景的語義自編碼器將這些文本語義特征降維。
層次語義學習
在本文中,我們利用SAM來獲得實例級的精確對象掩碼,然后用這些掩碼對應的圖像區域提取像素對齊的特征。我們還明確地建模了SAM定義的語義層次,以解決點模糊性問題。
具體來說,我們將一個32 × 32點提示的常規網格輸入SAM,以獲得三個不同語義層次下的掩碼:分別代表子部分、部分和整體層次的掩碼。
然后基于SAM預測的IoU分值、穩定性分值和掩碼之間的重疊率,為每一組掩碼去除冗余的掩碼。每個過濾后的掩碼集合獨立地根據其各自的語義層次做全圖分割,從而得到三個分割圖:。
這些分割圖準確地勾勒出對象在其層次結構中的邊界,有效地將場景劃分為語義上有意義的區域。通過獲得的分割圖,我們繼續為每個分割區域提取CLIP特征。
數學上,得到的像素對齊的語義嵌入是:
如此,從三維語義場景渲染的每個像素都具有與其精確語義上下文相匹配的CLIP特征。這種匹配減少了模糊性,提高了基于語義的查詢的準確性。
此外,由于我們在「整體」、「部分」和「子部分」層次上都有不同的分割圖,我們可以直接在這些預定義的尺度上查詢三維語義場。這消除了在多個絕對尺度上進行密集搜索的需要,使查詢過程更加高效。
3D語義高斯潑濺
在一組2D圖像上獲得語義嵌入后,我們可以通過建模3D點和2D像素之間的關系來學習一個3D語義場。
大多數現有方法使用NeRFs進行3D建模,但它們面臨著耗時的渲染過程。為了解決這個問題,我們提出了基于3D高斯散射的3D語義場建模方法。
這種3D高斯散射方法明確地將3D場景表示為各向異性的3D高斯分布的集合,每個高斯分布 由均值和協方差矩陣
描述:
3D高斯投影到2D圖像平面上后,用基于tile的光柵化策略進行渲染:
其中,ci是第 i 個高斯的顏色,N 表示瓦片中的高斯數量, 是在像素 v 處渲染的顏色, 。
這里oi是第 i 個高斯的不透明度, 代表投影到二維上的第 i 個高斯的函數。
在本文中,我們提出了3D語義高斯,為每個高斯增加三個語義嵌入 。
這些嵌入源自CLIP特征,捕捉了SAM提供的層次語義。增強后的高斯被命名為3D語義高斯。并采用基于tile的光柵化器以保持渲染效率:
其中, 代表在像素v處以語義層次l渲染的語義嵌入。通過直接將語義信息引入高斯中,我們使三維語義場能夠響應基于文本的查詢。
特定場景的語義自編碼器
作為一種顯式建模方法,表征一個復雜場景可能需要數百萬個3D點。直接在高維的CLIP潛空間直接學習高斯的語義特征會顯著增加內存消耗,容易導致「內存不足」的問題。
為降低內存消耗并提高效率,我們引入了基于場景的語義自編碼器,將場景中的CLIP嵌入映射到低維潛在空間。
CLIP模型是通過4億對(圖像,文本)訓練的,其D維潛在空間可能非常緊湊。然而,我們在這里訓練的語義場Φ是特定于場景的,這意味著我們可以利用場景先驗知識壓縮CLIP特征。
事實上,對于每個輸入圖像,我們將獲得由SAM分割的數百個掩碼,這顯著少于CLIP訓練中使用的圖像數量。因此,場景中的所有分割區域在CLIP潛在空間中稀疏分布,使我們能夠通過基于場景的自編碼器進一步壓縮這些CLIP特征。
實驗
實驗設置:實驗測試了該方法在開放詞匯3D對象定位和語義分割任務上的性能,使用的數據集包括LERF和3D-OVS。
結果:LangSplat顯著優于先前的最先進方法。特別是,它在1440×1080分辨率下比LERF快199倍,顯示出在速度和效率上的顯著提高。
可視化和消融研究:論文包括了詳細的可視化和消融研究,展示了LangSplat各組成部分的有效性。
貢獻
1. 通過引入帶有語義特征的3D高斯潑濺來進行三維場景感知。
2. 與以前的方法相比,實現了顯著的速度提升,使其適合實時應用。
3. 通過采用層次語義和新的渲染技術,LangSplat提高了3D語義場的精確度。
4. 通過使用場景特定的自動編碼器,減少了處理高維數據所需的計算和內存開銷。