技術(shù)文章
在前面的幾章節(jié)中探討了aiSim仿真合成數(shù)據(jù)的置信度,此外在場(chǎng)景重建和測(cè)試流程閉環(huán)的過(guò)程中,難免會(huì)面臨3D場(chǎng)景制作重建耗時(shí)長(zhǎng)、成本高、擴(kuò)展性低以及交通狀況復(fù)雜程度難以滿意等問(wèn)題,當(dāng)前的主要挑戰(zhàn)在于如何自動(dòng)化生成3D靜態(tài)場(chǎng)景并添加動(dòng)態(tài)實(shí)例編輯,從而有效縮短測(cè)試流程,擴(kuò)大仿真測(cè)試范圍。
圖1:實(shí)際圖像 圖2:NeRF重建場(chǎng)景
對(duì)于3D重建,目前主要的兩種解決方案為NeRF和3DGS。
NeRF是將三維空間中的每個(gè)點(diǎn)的顏色和密度信息編碼為一個(gè)連續(xù)的函數(shù)并由MLP參數(shù)化。給定一個(gè)視角和三維空間中的點(diǎn),NeRF可以預(yù)測(cè)該點(diǎn)的顏色和沿視線方向的密度分布。通過(guò)對(duì)這些信息進(jìn)行體積渲染,NeRF能夠合成出新視角下的圖像。
高保真輸出。
基于NerFStudio提供了較為友好地代碼庫(kù)。
相對(duì)較快的訓(xùn)練時(shí)間。
對(duì)于待重建區(qū)域具有可擴(kuò)展性。
渲染速度緩慢。NeRF需要沿著從相機(jī)到場(chǎng)景的每條光線進(jìn)行大量的采樣和計(jì)算,以準(zhǔn)確估計(jì)場(chǎng)景的體積密度和顏色。這個(gè)過(guò)程計(jì)算密集,在NVIDIA A100上進(jìn)行了測(cè)試,全HD分辨率下,渲染一張圖像大約需要10s。
場(chǎng)景深度估計(jì)效果不理想。NeRF通過(guò)體積渲染隱式地學(xué)習(xí)了場(chǎng)景的深度信息,但這種深度信息通常是與場(chǎng)景的顏色和密度信息耦合在一起的。這意味著,如果場(chǎng)景中存在遮擋或非朗伯(non-Lambertian)反射等復(fù)雜情況,NeRF可能難以準(zhǔn)確估計(jì)每個(gè)像素的深度。
近距離物體重建質(zhì)量可能較低。這可能是由視角和分辨率不足、深度估計(jì)不夠準(zhǔn)確以及運(yùn)動(dòng)模糊遮擋等問(wèn)題造成的。
高FOV相機(jī)校準(zhǔn)不完善導(dǎo)致的重影偽影。
當(dāng)然為了解決這些問(wèn)題研究人員通過(guò)引入深度正則化來(lái)提升NeRF深度估計(jì)的準(zhǔn)確性和穩(wěn)定性,通過(guò)優(yōu)化NeRF的結(jié)構(gòu)和算法提升渲染速度。
3DGS采用三維高斯分布來(lái)表示場(chǎng)景中的點(diǎn)云數(shù)據(jù),每個(gè)點(diǎn)用一個(gè)具有均值和協(xié)方差的高斯函數(shù)來(lái)描述。通過(guò)光柵化渲染高斯函數(shù),從而生成逼真的3D場(chǎng)景圖像。
訓(xùn)練時(shí)間短。
近似于實(shí)時(shí)的渲染。
提供高保真的輸出。
代碼庫(kù)友好度較低。相比于NeRFStudio,文檔的完善程度和易用性較低。
初始點(diǎn)云獲取需求高,需要精確的傳感器和復(fù)雜的數(shù)據(jù)處理流程,否則將會(huì)對(duì)3DGS的性能產(chǎn)生明顯的影響。
深度估計(jì)同樣不足,主要可能有幾個(gè)原因:在優(yōu)化過(guò)程中傾向于獨(dú)立優(yōu)化每個(gè)高斯點(diǎn),導(dǎo)致在少量圖像下出現(xiàn)過(guò)擬合;由于缺乏全局的幾何信息,導(dǎo)致在大型場(chǎng)景下或復(fù)雜幾何結(jié)構(gòu)重建時(shí)深度估計(jì)不準(zhǔn)確;初始點(diǎn)云的深度信息不夠準(zhǔn)確等
相機(jī)模型支持受限。目前3DGS主要支持針孔相機(jī)模型,雖然理論上可以推導(dǎo)出其他相機(jī)模型的3DGS版本,但還需要后續(xù)的實(shí)驗(yàn)驗(yàn)證其有效性和準(zhǔn)確性。
重建區(qū)域可擴(kuò)展受限,主要是缺乏LiDAR覆蓋區(qū)域之外的幾何信息導(dǎo)致的不完整重建以及大型城市場(chǎng)景重建的大量計(jì)算。
集成和資源密集的挑戰(zhàn),目前3DGS集成通常依賴Python接口;3DGS在運(yùn)行時(shí)可能會(huì)占用大量的VRAM。
通過(guò)優(yōu)化超參數(shù)和采用新方法,如Scaffold-GS,可能有助于減少內(nèi)存需求,提高在大型場(chǎng)景下的處理能力。
① 輸入:相機(jī)視頻數(shù)據(jù);自車(chē)運(yùn)動(dòng)數(shù)據(jù);校準(zhǔn)數(shù)據(jù);用于深度正則化的LiDAR點(diǎn)云數(shù)據(jù);
② 移除動(dòng)態(tài)對(duì)象:創(chuàng)建分割圖來(lái)識(shí)別和遮罩圖像中的不同對(duì)象和區(qū)域;對(duì)動(dòng)態(tài)對(duì)象進(jìn)行自動(dòng)注釋*(康謀aiData工具鏈);
③ 進(jìn)行NeRF或3DGS:
NeRF:
嵌入不同的氣候條件;
采用Block-NeRF進(jìn)行大規(guī)模重建;
可以使用任何攝像頭模型,示例中使用的是MEI相機(jī)模型。
3DGS:
采用Block-Splatting進(jìn)行大規(guī)模重建;
可以從COLMAP或LiDAR中獲得初始點(diǎn)云;
將輸入的相機(jī)轉(zhuǎn)化為針孔相機(jī)模型。
在NeRF和3DGS生成靜態(tài)場(chǎng)景后,aiSim5將基于外部渲染API進(jìn)一步增加動(dòng)態(tài)元素,不僅可以重建原始場(chǎng)景,也可以根據(jù)測(cè)試需求構(gòu)建不同的交通狀態(tài)。
aiSim5中基于NeRF/3DGS場(chǎng)景細(xì)節(jié)。
圖13:網(wǎng)格投射陰影 圖14:車(chē)下環(huán)境遮蔽
在aiSim5中完成動(dòng)態(tài)對(duì)象的添加后,可以自由的在地圖場(chǎng)景中更改交通狀態(tài),用于感知/規(guī)控等系統(tǒng)的SiL/HiL測(cè)試。