多榜單SOTA!SplatAD:首個實現(xiàn)Lidar & 視覺重建大一統(tǒng)框架,仿真閉環(huán)再下一城~
寫在前面&筆者的個人理解
在實際部署之前,大規(guī)模測試對于確保自動駕駛汽車 (SDV) 等自主機器人的安全至關重要。從收集的日志中生成數(shù)字孿生的數(shù)據(jù)驅動方法提供了一種可擴展的方式來構建多樣化、逼真的測試仿真環(huán)境。與成本高昂、耗時且受物理約束限制的實際測試不同,模擬可以快速、低成本地探索多種場景,有助于優(yōu)化自動駕駛車輛的安全性、舒適性和效率。受此啟發(fā),出現(xiàn)了多種基于NeRF和3DGS的方法。
最近基于 NeRF 的方法為攝像頭和激光雷達聯(lián)合提供了高保真?zhèn)鞲衅鞣抡?,與流行的自動駕駛數(shù)據(jù)集中最常見的傳感器裝置相匹配。然而,基于 NeRF 的方法渲染速度慢,使得它們成本高昂,難以用于大規(guī)模測試。3DGS 為 NeRF 提供了一種有吸引力的替代方案,因為它的加速渲染實現(xiàn)了相當?shù)膱D像真實感,同時將推理速度提高了一個數(shù)量級。然而,基于 3DGS 的自動駕駛設置方法繼承了只能渲染相機傳感器數(shù)據(jù)的限制,而忽略了激光雷達的模式。激光雷達能夠直接感知 3D 環(huán)境,這使其成為現(xiàn)代自動駕駛模塊中的不可或缺的工具,因此也是一種重要的仿真模式。
基于上述提到的NeRF和3DGS的相關缺點和不足,在本文中,我們旨在使用 3DGS 來解決相機和激光雷達數(shù)據(jù)的高效、可區(qū)分和逼真的渲染問題。由于激光雷達傳感器的獨特特性,將3DGS應用于激光雷達面臨著獨特的挑戰(zhàn)。
- 與捕捉密集、規(guī)則間距的像素信息的相機傳感器不同,激光雷達傳感器記錄的是稀疏、非線性的點云數(shù)據(jù)信息,其中存在來自非返回射線的較大空隙
- 大多數(shù)激光雷達可以捕捉 360° 的場景全景,而現(xiàn)有方法通常將數(shù)據(jù)投射到多個深度圖像中,這是一種忽略激光雷達稀疏結構的低效方法
- 激光雷達受到滾動快門效應的影響,每次掃描需要長達 100 毫秒的時間,在此期間,自我車輛可能會移動幾米,這違反了 3DGS 的單一來源假設
考慮到上述提到的諸多挑戰(zhàn),我們提出了一種新穎的視圖合成方法,它統(tǒng)一了攝像頭和激光雷達渲染,專為實時渲染大規(guī)模動態(tài)交通場景而設計,稱之為SplatAD。此外,我們在多個流行的自動駕駛數(shù)據(jù)集上進行了大量的實驗驗證,相關的實驗結果均表明我們提出的SplatAD算法模型的有效性和通用性,并且在所有數(shù)據(jù)集上取得了SOTA的性能表現(xiàn)。
論文鏈接:https://arxiv.org/pdf/2411.16816
算法模型網(wǎng)絡結構&技術細節(jié)梳理
在詳細介紹本文提出的算法模型SplatAD之前,下圖展示了我們算法模型的整體網(wǎng)絡結構。
Scene representation(場景表達)
我們的場景表示建立在 3DGS 的基礎上,但進行了關鍵更改以處理自動駕駛場景的具體情況,并允許從同一表示中進行攝像頭和激光雷達渲染。與 3DGS 一樣,每個場景都由一組具有可學習占用率的半透明 3D 高斯表示。我們?yōu)槊總€高斯分配一個可學習的基色和特征向量。最后,我們的表示包含每個傳感器的可學習嵌入,以模擬它們特定的外觀特征。
為了處理動態(tài),我們遵循常用的場景圖分解,將場景分為靜態(tài)背景和一組動態(tài)參與者。每個動態(tài)參與者都由一個 3D 邊界框和一系列位姿描述,這些位姿可以從現(xiàn)成的目標檢測器和跟蹤器或標注中獲得。
每個高斯函數(shù)都有一個不可學習的 ID,表示它是否被分配給靜態(tài)世界,或者它屬于哪個參與者。對于分配給參與者的高斯函數(shù),它們的均值和協(xié)方差在相應軸對齊邊界框的局部坐標系中表示。為了在給定時間構建整個場景,分配給邊界框的高斯函數(shù)會根據(jù)參與者的位姿轉換為世界坐標。由于參與者的位姿估計可能不準確,我們使用可學習的偏移量對其進行調整。此外,每個位姿都有一個根據(jù)位姿差異初始化的速度和一個可學習的速度偏移量。
Camera rendering(相機渲染)
給定一個擺好位置的相機,我們在相應的捕獲時間處組成一組高斯函數(shù),并使用3DGS中高效的基于圖塊的渲染來渲染圖像。雖然我們保留了 3DGS 的高階步驟,但我們引入了關鍵的調整,以更好地模擬自動駕駛數(shù)據(jù)的獨特特征。
Projection, tiling, and sorting
每個均值和協(xié)方差都從世界坐標轉換為相機坐標。然后使用透視投影將均值轉換為圖像空間,而協(xié)方差則使用投影的雅可比矩陣的上兩行進行轉換。視錐體外的高斯函數(shù)會被剔除,為了提高效率,3DGS 使用覆蓋 99% 置信度的方形軸對齊邊界框來近似高斯函數(shù)的范圍。此外,3DGS將圖像劃分為圖塊,每個圖塊的尺寸為16×16像素,并將高斯函數(shù)分配給它們相交的所有圖塊,在某些必要情況下,可以復制這些圖塊。這樣,每個像素在光柵化過程中只需處理所有高斯函數(shù)的一個子集。最后,根據(jù)高斯函數(shù)平均值的深度對高斯函數(shù)進行排序。
Rolling shutter
許多相機使用滾動快門,其中圖像的捕獲不是即時的,而是逐行進行的,從而允許相機在曝光期間移動。先前的研究工作強調了由于自動駕駛數(shù)據(jù)中存在高傳感器速度而對滾動快門效應進行建模的重要性,他們基于光線追蹤的方法可以通過移動每條光線的原點輕松解釋這一點。對于 3DGS,等效方法需要將所有 3D 高斯投影到曝光期間遇到的所有相機姿勢,因為高斯相對于相機的位置會隨時間而變化。
具體來說,每個高斯相對于相機的速度被投射到圖像空間,并且它們的像素均值在光柵化過程中根據(jù)像素的捕獲時間進行調整。然而,由于只考慮靜態(tài)場景,因此我們調整公式以考慮動態(tài)。對于每個高斯,其像素速度近似為如下的公式。
我們通過增加近似高斯范圍來考慮剔除高斯函數(shù)和檢查高斯函數(shù)與圖塊之間的交點時的像素速度。我們使用覆蓋三個標準差的矩形,而不是 3DGS 使用的正方形。范圍的增加對應于滾動快門時間內高斯均值覆蓋的區(qū)域,假設傳感器時間戳處于曝光的中間。由于情況并非總是如此,我們還包括一個可學習的時間偏移,描述傳感器時間戳和曝光中間之間的差異。
Rasterization(光柵化)
3DGS 通過為每個圖塊啟動一個線程塊并將每個線程分配給圖塊內的像素來并行光柵化像素。對于每個像素,其坐標都是從塊和線程索引推斷出來的。由此,我們發(fā)現(xiàn)像素的捕獲時間與圖像中間行之間的時間差為如下的形式。
為了柵格化一個像素,我們將 RGB 值和與當前圖塊相交的深度排序高斯特征混合在一起。
我們使用小型CNN算法模型建模視圖相關效果。給定特征圖、相應的射線方向和特定于相機的學習embedding,它可以預測逐像素的仿射映射。此外,我們發(fā)現(xiàn),使用小型 CNN 代替多層感知機對于高效紋理建模至關重要。
Lidar rendering(激光雷達渲染)
激光雷達傳感器使自動駕駛汽車能夠測量一組離散點的距離和反射率(強度)。它們通過發(fā)射激光束脈沖并測量飛行時間來確定距離和反射率的返回功率。
大多數(shù) AD 數(shù)據(jù)集部署的激光雷達使用多個激光二極管安裝在垂直陣列中,其中二極管陣列旋轉以捕獲 360° 數(shù)據(jù),并且單次掃描通常需要 100 毫秒才能捕獲。因此,我們專注于這種類型的激光雷達。但是,我們注意到,通過相應地修改投影,我們的方法可以輕松地對其他類型的激光雷達(例如固態(tài)激光雷達)進行建模。我們提出的激光雷達渲染遵循圖像渲染,但我們修改了每個組件以準確模擬激光雷達特性。.
Projection
對于一個在捕獲時刻構成的姿態(tài)激光雷達和高斯分布,我們將每個均值和協(xié)方差從世界坐標轉換為激光雷達坐標。原始激光雷達數(shù)據(jù)通常以球面坐標方位角、仰角和距離捕獲。因此,我們將高斯均值從激光雷達坐標轉換為球面坐標
與相機相同,我們通過近似其在傳感器空間中的影響來解釋滾動快門效應。
Tiling and sorting
3DGS 效率的核心在于其基于圖塊的柵格化。雖然激光雷達通常具有固定的方位角分辨率,但許多激光雷達使用二極管之間的非等距間距來獲得感興趣的區(qū)域的更高分辨率,從而產(chǎn)生非線性高程分辨率,如下圖所示。
Rasterization
使用我們提出的可微分的基于圖塊的柵格化器渲染激光雷達數(shù)據(jù)。同樣,每個圖塊啟動一個線程塊,其中每個線程負責柵格化一個激光雷達點。每個線程都提供方位角、仰角和捕獲時間以供柵格化。這些要么根據(jù)激光雷達規(guī)格確定要么在訓練時根據(jù)現(xiàn)有點云計算。原因在于,對于訓練,不能期望數(shù)據(jù)完全遵循直線掃描線。因此,我們不能遵循圖像策略并依靠塊和線程索引來直接推斷像素坐標。此外,激光雷達射線的方位角和仰角不一定決定其與激光雷達掃描中心的時間偏移。為了渲染某個點的預期范圍,我們將滾動快門校正范圍與每個高斯混合。
實驗結果&評價指標
為了驗證我們提出的SplatAD算法模型的魯棒性和泛化性,我們使用同一組超參數(shù)在多個流行的自動駕駛數(shù)據(jù)集PandaSet、Argoverse2以及nuScenes上對其進行了評估。對于每個數(shù)據(jù)集,我們將 SplatAD 與針對自動駕駛數(shù)據(jù)集上最佳的基于NeRF 和基于 3DGS 的方法進行比較,以對相機和激光雷達數(shù)據(jù)進行新穎的視圖合成。我們使用標準 NVS 指標 PSNR、SSIM 和 LPIPSon 來評估圖像的渲染質量,相關的實驗結果如下表所示。
在圖像質量方面,SplatAD 始終優(yōu)于現(xiàn)有的 3DGS 方法,并且對于三個考慮的數(shù)據(jù)集有很大的差距。此外,我們的方法在所有 NVS 指標中都比 NeuRAD 的 SOTA 結果有所改進,同時將圖像渲染速度提高了一個數(shù)量級。我們提供定性比較的可視化結果,如下表所示。
此外,為了衡量方法建模能力的上限,我們在PandaSet數(shù)據(jù)集上總結了重建指標,如下表所示。
在這里,方法按順序對所有數(shù)據(jù)進行訓練,并在相同的視圖上進行評估。此外,我們?yōu)樗蟹椒▎⒂脗鞲衅魑蛔藘?yōu)化,以解決任何位姿不準確的問題。與 NVS 設置相比,除 UniSim 之外的所有方法都顯示出使用額外訓練數(shù)據(jù)的改進。SplatAD 實現(xiàn)了 SOTA 結果,同時渲染速度比以前的最佳方法快 10 倍。此外,我們注意到 SplatAD 在驗證圖像上的表現(xiàn)與之前的 3DGS方法的重建結果相當。
我們研究了 SplatAD 推廣到與訓練期間遇到的視圖有很大不同的視圖的能力。我們使用在每隔一幀上訓練的模型,并使用了三種設置:水平移動自車、垂直移動自車,并對所有動態(tài)參與者應用移位和旋轉。我們使用 DINOv2 特征輸出Frechet 距離,因為這些特征已被證明比使用 Inception-v3 更符合人類感知。但是,我們注意到,使用 Inception-v3 特征不會改變模型性能或我們的結論。下表展示了 SplatAD 學習有意義的表示以進行泛化的能力,明顯優(yōu)于其他 3DGS 方法。
結論
在這項工作中,我們提出了SplatAD算法框架,這是首個從3D高斯模型渲染相機和激光雷達數(shù)據(jù)的方法。我們將精確的傳感器建模與高效的算法相結合,實現(xiàn)了SOTA的新型視圖合成結果,并進一步提升了算法模型的渲染速度。