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