三維 Gaussian splatting(3DGS)是近年來在顯式輻射場和電腦圖形學領域出現的一種變革性技術。這種創新方法的特點是使用了數百萬個3D高斯,這與神經輻射場(NeRF)方法有很大的不同,後者主要使用隱式的基於座標的模型將空間座標映射到像素值。 3D GS憑藉其明確的場景表示和可微分的渲染演算法,不僅保證了即時渲染能力,而且引入了前所未有的控制和場景編輯水平。這將3D GS定位為下一代3D重建和表示的潛在遊戲規則改變者。為此我們首次系統性地概述了3D GS領域的最新發展和關鍵貢獻。首先詳細探討了3D GS出現的基本原理和公式,為理解其意義奠定了基礎。進而深度討論3D GS的實用性。透過促進即時效能,3D GS開啟了大量應用,從虛擬實境到互動式媒體等等。此外,還對領先的3D GS模型進行了比較分析,並在各種基準任務中進行了評估,以突出其性能和實用性。該綜述的結論是確定了當前的挑戰,並提出了該領域未來研究的潛在途徑。透過這項調查,我們旨在為新來者和經驗豐富的研究人員提供寶貴的資源,促進在適用和明確的輻射場表示方面的進一步探索和進步。
為了幫助讀者跟上3D GS的快速發展,我們提供了第一個關於3D GS的調查綜述。我們有系統且及時地收集了有關該主題的最重要的最新文獻,主要來自arxiv。本文的目標是對3D GS的初步發展、理論基礎和新興應用進行全面且最新的分析,突顯其在該領域的革命性潛力。 考慮到3D GS的新生但快速發展的性質,本次調查還旨在確定和討論該領域的當前挑戰和未來前景。我們提供了對3D GS可能促進的正在進行的研究方向和潛在進展的見解。希望透過這篇綜述,不僅提供學術知識,還能促進這一領域的進一步研究和創新。 本文的架構如下所示:(圖2) 請注意,所有內容都是基於最新的文獻和研究成果,旨在為讀者提供關於3D GS的全面和及時的資訊。
本節介紹了輻射場的簡要公式,它是場景渲染中一個關鍵的概念。輻射場可以透過兩種主要類型來表示:隱式的,如NeRF,使用神經網路進行直接但計算要求高的渲染;和顯式的,如網格,採用離散結構來更快地訪問,但內存使用率更高。接下來,我們將進一步探討與相關領域如場景重建和渲染的連結。
輻射場:輻射場是三維空間中光分佈的表示,它捕捉光如何與環境中的表面和材料相互作用。從數學上講,輻射場可以描述為函數,其中將空間中的一個點和由球面座標指定的方向映射到非負輻射值。輻射場可以透過隱式或明確表示法進行封裝,每種表示都有特定的場景表示和渲染優勢。
隱含輻射場:隱式輻射場表示場景中的光分佈,而不明確定義場景的幾何體。在深度學習時代,它經常使用神經網路來學習連續的體積場景表示。最突出的例子是NeRF。在NeRF中,MLP網路用於將一組空間座標和觀看方向對應到顏色和密度值。任何點的輻射度都不是明確儲存的,而是透過查詢神經網路即時計算的。因此,函數可以寫成:
這種格式可對複雜場景進行緊湊的、可微分的表示,儘管渲染過程中的計算負載較高,原因是體積光線行進。
明確輻射場:相反,顯式輻射場直接表示離散空間結構中的光分佈,例如體素網格或點集。此結構中的每個元素儲存其在空間中的相應位置的輻射資訊。這種方法允許更直接且通常更快地存取輻射數據,但代價是更高的記憶體使用率和潛在的更低解析度。顯性輻射場表示的一般形式可以寫成:
#其中DataStructure可以是網格或點雲,是基於觀看方向修改輻射的函數。
兩全其美的3D Gaussian Splatting:3D GS表示從隱式輻射場到顯式輻射場的轉變。它透過利用3D高斯作為靈活高效的表示,利用了這兩種方法的優勢。這些高斯係數經過最佳化,可以準確地表示場景,結合了基於神經網路的最佳化和明確結構化資料儲存的優點。這種混合方法旨在透過更快的訓練和即時效能實現高品質渲染,特別是對於複雜的場景和高解析度輸出。 3D高斯表示公式化為:
許多技術和研究學科與3D GS有著密切的關係,下文將對其進行簡要描述。
場景重建與渲染:粗略地說,場景重建涉及從圖像或其他資料的集合中創建場景的3D模型。渲染是一個更具體的術語,專注於將電腦可讀資訊(例如,場景中的3D物件)轉換為基於像素的影像。早期的技術是基於光場生成逼真的影像。 structure-from-motion(SfM)和多視圖立體(MVS)演算法透過從影像序列估計3D結構進一步推進了這一領域。這些歷史方法為更複雜的場景重建和渲染技術奠定了基礎。
神經渲染與輻射場:神經渲染將深度學習與傳統圖形技術結合,以建立照片級真實感影像。早期的嘗試使用卷積神經網路(CNNs)來估計混合權重或紋理空間解決方案。輻射場表示一個函數,該函數描述了透過空間中每個點在每個方向上傳播的光量。 NeRFs使用神經網路對輻射場進行建模,從而實現詳細逼真的場景渲染。
體積表示和Ray-Marching:體積表示不僅將目標和場景建模為曲面,還將其建模為填充了材質或空白空間的體積。這種方法可以更準確地渲染霧、煙或半透明材料等現象。 Ray-Marching是一種與體積表示一起使用的技術,透過增量追蹤穿過體積的光的路徑來渲染影像。 NeRF分享了體積射線行進的相同精神,並引入了重要性取樣和位置編碼來提高合成影像的品質。在提供高品質結果的同時,體積射線行進在計算上是昂貴的,這促使人們尋找更有效的方法,如3D GS。
基於點的渲染:基於點的渲染是一種使用點而不是傳統多邊形來視覺化3D場景的技術。這種方法對於渲染複雜、非結構化或稀疏的幾何資料特別有效。點可以用額外的屬性來增強,如可學習的神經描述符,並有效地渲染,但這種方法可能會遇到諸如渲染中的漏洞或混疊效應等問題。 3D GS透過使用各向異性高斯來擴展這一概念,以實現場景的更連續和更有凝聚力的表示。
3D GS在不依賴神經組件的情況下,在即時、高解析度影像渲染方面取得了突破。
考慮一個由(數百萬)優化的3D高斯表示的場景。目標是根據指定的相機姿勢產生影像。回想一下,NeRF是透過計算要求很高的體積射線行進來完成這項任務的,對每個像素的3D空間點進行採樣。這種模式難以實現高解析度影像合成,無法實現即時渲染速度。與此形成鮮明對比的是,3D GS首先將這些3D高斯投影到基於像素的影像平面上,這個過程稱為「splatting」(圖3a)。然後,3D GS對這些高斯進行排序,並計算每個像素的值。如圖所示,NeRF和3D GS的渲染可以被視為彼此的逆過程。在接下來的內容中,我們從3D高斯的定義開始,這是3D GS中場景表示的最小元素。接下來描述如何將這些3D高斯用於可微分渲染。最後介紹了3D GS中使用的加速技術,這是快速渲染的關鍵。
三維高斯的性質:三維高斯的特徵是其中心(位置)μ、不透明度α、三維協方差矩陣∑和顏色c。對於與視圖相關的外觀,c由球面諧波表示。所有屬性都是可學習的,並透過反向傳播進行最佳化。
Frustum Culling:給定指定的相機位姿,此步驟將決定哪些3D高斯位於相機的平截頭體之外。透過這樣做,給定視圖之外的3D高斯將不會參與後續計算,從而節省計算資源。
Splatting:**在這個步驟中,3D高斯(橢球)被投影到2D影像空間(橢球)中用於渲染。給定觀看變換W和3D協方差矩陣∑,投影的2D協方差矩陣∑′使用以下公式計算:
其中J是投影变换的仿射近似的Jacobian矩阵。
按像素渲染:在深入研究3D GS的最终版本之前,我们首先详细介绍了其更简单的形式,以深入了解其工作机制。3D GS利用多种技术来促进并行计算。给定像素x的位置,其到所有重叠高斯的距离,即这些高斯的深度,可以通过观看变换W来计算,形成高斯N的排序列表。然后,采用阿尔法合成来计算该像素的最终颜色:
其中是学习的颜色,最终不透明度是学习的不透明度和高斯值的乘积:
其中x′和μ是投影空间中的坐标。考虑到生成所需的排序列表很难并行化,因此与NeRF相比,所描述的渲染过程可能会更慢,这是一个合理的担忧。事实上,这种担忧是有道理的;当使用这种简单的逐像素方法时,渲染速度可能会受到显著影响。为了实现实时渲染,3DGS做出了一些让步来适应并行计算。
Tiles (Patches):为了避免为每个像素推导高斯系数的成本计算,3D GS将精度从像素级转移到patch级细节。具体来说,3D GS最初将图像划分为多个不重叠的块,在原始论文中称为“tiles”。图3b提供了tiles的图示。每个瓦片包括16×16个像素。3D GS进一步确定哪些tiles与这些投影的高斯图相交。假设投影的高斯可能覆盖多个tiles,逻辑方法包括复制高斯,为每个副本分配相关tiles的标识符(即tile ID)。
并行渲染:在复制之后,3D GS将各个tile ID与从每个高斯的视图变换获得的深度值相组合。这生成字节的未排序列表,其中高位表示tile ID,低位表示深度。通过这样做,排序后的列表可以直接用于渲染(即alpha合成)。图3c和图3d提供了这些概念的视觉演示。值得强调的是,渲染每个tile和像素都是独立发生的,这使得这个过程非常适合并行计算。另一个好处是,每个tile的像素都可以访问公共共享内存,并保持统一的读取序列,从而能够以更高的效率并行执行alpha合成。在原始论文的官方实现中,该框架将tile和像素的处理分别视为类似于CUDA编程架构中的块和线程。
简而言之,3D GS在前向处理阶段引入了几种近似,以提高计算效率,同时保持高标准的图像合成质量。
3D GS的核心是一个优化过程,旨在构建大量的3D高斯集合,准确捕捉场景的本质,从而促进自由视点渲染。一方面,3D高斯的特性应该通过可微分渲染来优化,以适应给定场景的纹理。另一方面,能够很好地表示给定场景的3D高斯数是预先未知的。一个很有前途的途径是让神经网络自动学习3D高斯密度。我们将介绍如何优化每个高斯的性质以及如何控制高斯的密度。这两个过程在优化工作流程中是交错的。由于在优化过程中有许多手动设置的超参数,为了清晰起见,我们省略了大多数超参数的符号。
损失函数:一旦图像的合成完成,就将损失计算为渲染图像和GT的差:
3D-GS的损失函数与NeRFs的损失函数略有不同。由于耗时的ray-marching,NeRF通常在像素级而不是图像级进行计算。
参数更新:3D高斯的大多数特性可以直接通过反向传播进行优化。需要注意的是,直接优化协方差矩阵∑会导致非正半定矩阵,这不符合通常与协方差矩阵相关的物理解释。为了避免这个问题,3D GS选择优化四元数q和3D矢量s。q和s分别表示旋转和缩放。这种方法允许协方差矩阵∑被重构如下:
初始化:3D GS從SfM或隨機初始化的稀疏點的初始集合開始。然後,採用點加密和修剪來控制三維高斯的密度。
點密集化:在點密集化階段,3D GS自適應地增加高斯密度,以更好地捕捉場景的細節。這個過程特別關注幾何特徵缺失的區域或高斯分佈過於分散的區域。密集化在一定次數的迭代之後執行,目標是表現出大的視圖空間位置梯度(即,高於特定閾值)的高斯。它涉及在重建不足的區域克隆小高斯,或在重建過度的區域分裂大高斯。對於克隆,將建立高斯的副本,並將其移向位置梯度。對於分裂,用兩個較小的高斯代替一個較大的高斯,將它們的規模縮小一個特定的因子。此步驟尋求高斯在3D空間中的最佳分佈和表示,從而提高重建的整體品質。
點修剪:點修剪階段涉及移除多餘或影響較小的高斯,在某種程度上可以被視為一個正規化過程。這一步驟是透過消除幾乎透明的高斯(α低於指定閾值)和在世界空間或視圖空間中過大的高斯來執行的。此外,為了防止輸入相機附近高斯密度的不合理增加,在一定次數的迭代後,將高斯的阿爾法值設為接近零。這允許控制必要的高斯密度的增加,同時能夠淘汰多餘的高斯。這個過程不僅有助於節省計算資源,還確保模型中的高斯對場景的表示保持精確和有效。
3D GS的變革潛力遠遠超出了其理論和計算的進步。本節深入探討3D GS正在產生重大影響的各種開創性應用領域,如機器人、場景重建和表示、人工智慧生成的內容、自動駕駛,甚至其他科學學科。 3D GS的應用展現了其多功能性和革命性的潛力。在這裡,我們概述了一些最著名的應用領域,深入了解3D GS如何在每個領域中形成新的前沿。
SLAM是機器人和自主系統的核心運算問題。它涉及機器人或設備在未知環境中理解其位置的挑戰,同時建立圖環境佈局。 SLAM在各種應用中至關重要,包括自動駕駛汽車、擴增實境和機器人導航。 SLAM的核心是創建未知環境的地圖,並即時確定裝置在該地圖上的位置。因此,SLAM對運算密集型場景表示技術提出了巨大的挑戰,同時也是3D GS的良好試驗台。
3D GS作為一種創新的場景表示方法進入SLAM領域。傳統的SLAM系統通常使用點/曲面雲或體素網格來表示環境。相較之下,3D GS利用各向異性高斯來更好地表示環境。這種表示法提供了幾個好處:1)效率:自適應地控制3D高斯的密度,以便緊湊地表示空間數據,減少計算負載。 2) 準確性:各向異性高斯可以進行更詳細、更準確的環境建模,尤其適用於複雜或動態變化的場景。 3) 適應性:3D GS可以適應各種規模和複雜的環境,使其適用於不同的SLAM應用。一些創新研究在SLAM中使用了3D高斯飛濺,展示了這種範式的潛力和多功能性。
動態場景建模是指捕捉和表示隨時間變化的場景的三維結構和外觀的過程。這涉及到創建一個數位模型,該模型準確地反映場景中物件的幾何體、運動和視覺方面。動態場景建模在各種應用中至關重要,包括虛擬和擴增實境、3D動畫和電腦視覺。 4D高斯散射(4D GS)將3D GS的概念擴展到動態場景。它結合了時間維度,允許對隨時間變化的場景進行表示和渲染。這種範式在即時渲染動態場景的同時保持高品質的視覺輸出方面提供了顯著的改進。
AIGC是指由人工智慧系統自主創建或顯著改變的數位內容,特別是在電腦視覺、自然語言處理和機器學習領域。 AIGC的特點是能夠模擬、擴展或增強人工生成的內容,實現從逼真圖像合成到動態敘事創作的應用。 AIGC的意義在於其在各個領域的變革潛力,包括娛樂、教育和技術發展。它是不斷發展的數位內容創作格局中的關鍵元素,為傳統方法提供了可擴展、可自訂且通常更有效率的替代方案。
3D GS的這種明確特性有助於實現即時渲染功能以及前所未有的控制和編輯水平,使其與AIGC應用程式高度相關。 3D GS的明確場景表示和可微分渲染演算法完全符合AIGC產生高保真度、即時和可編輯內容的要求,這對虛擬實境、互動式媒體等領域的應用至關重要。
自動駕駛旨在讓車輛在沒有人為幹預的情況下導航和操作。這些車輛配備了一套感測器,包括相機、LiDAR以及雷達,並結合了先進的演算法、機器學習模型和強大的運算能力。中心目標是感知環境,做出明智的決策,安全且有效率地執行機動。自動駕駛對交通運輸具有變革潛力,提供了關鍵好處,例如透過減少人為失誤提高道路安全性,增強無法駕駛者的機動性,以及優化交通流量,從而減少擁塞和環境影響。
自動駕駛汽車需要感知和解讀周圍環境,才能安全行駛。這包括即時重構駕駛場景,準確識別靜態和動態物體,並了解它們的空間關係和運動。在動態駕駛場景中,由於其他車輛、行人或動物等移動物體,環境不斷變化。即時準確地重建這些場景對於安全導航至關重要,但由於所涉及元素的複雜性和可變性,這是一項挑戰。在自動駕駛中,3D GS可以用於透過將資料點(例如從LiDAR等感測器獲得的資料點)混合成內聚和連續的表示來重建場景。這對於處理不同密度的資料點和確保場景中靜態背景和動態目標的平滑準確重建特別有用。到目前為止,很少有作品使用3D高斯對動態駕駛/街道場景進行建模,與現有方法相比,在場景重建方面表現出優異的性能。
本節透過展示我們之前討論的幾種3D GS演算法的效能來提供更多的經驗證據。 3D GS在許多任務中的不同應用,加上每個任務的客製化演算法設計,使得在單一任務或資料集中對所有3D GS演算法進行統一比較變得不切實際。因此,我們在3D GS領域中選擇了三個具有代表性的任務進行深入的效能評估。性能主要來自原始論文,除非另有說明。
儘管近幾個月來3D GS的後續工作取得了顯著進展,但我們認為仍存在一些有待克服的挑戰。
据我们所知,这篇综述首次全面概述了3D GS,这是一项革命性的显式辐射场和计算机图形学技术。它描绘了传统NeRF方法的范式转变,突出了3D GS在实时渲染和增强可控性方面的优势。我们的详细分析证明了3D GS在实际应用中的优势,特别是那些需要实时性能的应用。我们提供了对未来研究方向和该领域尚未解决的挑战的见解。总的来说,3D GS是一项变革性技术,有望对3D重建和表示的未来发展产生重大影响。这项调查旨在作为一项基础资源,推动这一快速发展领域的进一步勘探和进展。
原文链接:https://mp.weixin.qq.com/s/jH4g4Cx87nPUYN8iKaKcBA
以上是為何在自動駕駛方面Gaussian Splatting如此受歡迎,開始放棄NeRF?的詳細內容。更多資訊請關注PHP中文網其他相關文章!