0. 筆者個(gè)人體會(huì)
很多SLAM系統(tǒng)為了實(shí)時(shí)估計(jì)位姿,建立的是稀疏地圖,這種地圖很難用作導(dǎo)航和規(guī)劃任務(wù)。但是建立稠密地圖的話,又會(huì)降低運(yùn)算效率。設(shè)計(jì)GPU加速稠密建圖是一個(gè)可行方案,但需要使用大量繁瑣的CUDA編程,這個(gè)工作量巨大!
但最近,NVIDIA和ETHZ就聯(lián)合提出了nvblox,是一個(gè)使用GPU加速SDF建圖的庫。計(jì)算速度非常快,相較CPU計(jì)算TSDF甚至快了177倍。更重要的是,因?yàn)樗袛?shù)據(jù)都已經(jīng)存儲(chǔ)在GPU上,所以很容易和深度學(xué)習(xí)方案結(jié)合!
對(duì)建圖速度有要求的小伙伴可以關(guān)注一下這項(xiàng)工作。
1. 效果展示
nvblox以2cm的分辨率很快建立了SDF地圖:

辦公室移動(dòng)機(jī)器人實(shí)驗(yàn),包括一個(gè)重建mesh,一個(gè)距離場slice,一個(gè)占用概率表示的動(dòng)態(tài)目標(biāo)(人)。其中場景的動(dòng)態(tài)部分隨時(shí)間衰減,靜態(tài)部分使用TSDF融合實(shí)現(xiàn)精確重建。

這項(xiàng)工作最大的亮點(diǎn)在于,極大加快速度,又不損失精度。源代碼和相應(yīng)的ROS代碼都開源了,感興趣的小伙伴可以關(guān)注一下,下面來看具體的論文信息。
2. 摘要
稠密體素地圖對(duì)于機(jī)器人在雜亂空間中的安全導(dǎo)航以及與環(huán)境的交互至關(guān)重要。對(duì)于延遲和魯棒性,如果這些可以在計(jì)算受限的硬件上從相機(jī)或基于激光雷達(dá)的傳感器進(jìn)行板載計(jì)算,則是最好的。以前的工作在基于CPU的機(jī)器人地圖繪制系統(tǒng)和基于GPU的重建系統(tǒng)之間留下了差距,前者由于計(jì)算約束限制了地圖分辨率或比例,后者忽略了對(duì)機(jī)器人路徑規(guī)劃至關(guān)重要的特征。我們引入了一個(gè)庫nvblox,旨在通過GPU加速機(jī)器人體素建圖來填補(bǔ)這一空白,并針對(duì)嵌入式GPU進(jìn)行了優(yōu)化。nvblox提供了超越現(xiàn)有技術(shù)的顯著性能改進(jìn),在表面重建方面實(shí)現(xiàn)了高達(dá)177倍的加速,在距離場計(jì)算方面實(shí)現(xiàn)了高達(dá)31倍的改進(jìn),并且是開源的。
3. 算法解析
重述一下問題:
給定RGB-D或LiDAR輸入,位姿已知,建立體素地圖,將3D點(diǎn)映射為距離、占用、顏色等信息,輸出表面重建(占用/TSDF)或距離場(ESDF)。
傳統(tǒng)的建圖方法有什么問題?
使用CPU建圖太慢了!
這項(xiàng)工作是怎么做的?
nvblox希望使用GPU來加速建圖,具體架構(gòu)包括多層地圖(TSDF、顏色、占用、Mesh、ESDF,用戶自己定義)、幀積分器(添加傳感器數(shù)據(jù)到地圖)、格式轉(zhuǎn)換(轉(zhuǎn)換地圖格式),最終導(dǎo)出包含ESDF和網(wǎng)格重建的體素網(wǎng)格。使用時(shí)還可以增加地圖圖層,也可以擴(kuò)展為語義標(biāo)簽等其他類型。

這個(gè)ESDF是啥?
ESDF地圖是歐幾里得符號(hào)距離場,場里面的每一個(gè)體素都包含了距離它最近的障礙物的歐幾里得距離。對(duì)于路徑規(guī)劃來說,ESDF比TSDF更合適一些。ETHZ之前的工作voxblox計(jì)算的是準(zhǔn)歐幾里得距離,這樣即使地圖變化很小,更新計(jì)算量也非常大。相比之下,nvblox直接利用GPU計(jì)算歐幾里得距離。
ESDF加速如何進(jìn)行?
作者在PBA的基礎(chǔ)上二次開發(fā),來加速ESDF計(jì)算,算法總流程:
1、在分配塊中,輸入TSDF層和更新的體素塊列表;
2、標(biāo)記位置(在障礙計(jì)算中可以是父體的體素,也就是表面邊界上的體素)。也就是說,這個(gè)體素的子體素是其最近的表面邊界的體素。還需要處理兩種常見情況:新占用以及新空閑的體素。新占用的體素可以簡單地采用它們的TSDF值,并添加到索引中更新。新空閑的體素需要將它們的距離重置為最大值;

3、清除無效值。具體做法是找到其父體不再是一個(gè)位置的體素,重新計(jì)算距離,選擇塊索引中最大ESDF距離內(nèi)的映射子集,然后檢查每個(gè)體素是否仍然具有有效的父體;
4、降低ESDF體素距離;
5、通過跨塊邊界通信來更新相鄰塊,從而協(xié)調(diào)體素塊之間的差異;
6、如果最后一級(jí)需要通過體素塊邊界進(jìn)行通信,則進(jìn)行另一次掃描。重復(fù)掃描領(lǐng)域更新循環(huán),直到所有塊都更新完成。

ESDF加速的可視化結(jié)果,該算法的總體思想是迭代計(jì)算體素塊內(nèi)的正確距離值,然后將體素塊邊界上的距離信息傳遞給領(lǐng)域,實(shí)現(xiàn)高度并行化。

4. 實(shí)驗(yàn)結(jié)果
整個(gè)實(shí)驗(yàn)部分的核心觀點(diǎn)是:nvblox可以在提高建圖(ESDF)速度的同時(shí),不損失建圖精度。實(shí)驗(yàn)設(shè)備選擇了三個(gè)平臺(tái):臺(tái)式機(jī)(Intel i9 CPU和NVIDIA RTX3090 Ti GPU),筆記本(Intel i7 CPU和RTX3000 Mobile GPU),還有Jetson Xavier AGX。使用的數(shù)據(jù)集是Replica和Redwood。
首先是各個(gè)部分和voxblox(ETHZ之前的工作,使用CPU建圖,參考Voxblox: Incremental 3D Euclidean Signed Distance Fields forOn-Board MAV Planning)的耗時(shí)對(duì)比,其中每4幀執(zhí)行了生成了一次ESDF和網(wǎng)格,分辨率是5cm??梢园l(fā)現(xiàn)每部分的加速都非常明顯,TSDF甚至加快了177倍!

增量ESDF計(jì)算的定量對(duì)比,對(duì)比方案包括voxblox和Fiesta,運(yùn)行設(shè)備是桌面GPU。表格數(shù)據(jù)是重建體素的中值誤差,結(jié)果顯示voxblox和Fiesta的速度分別提高了31倍和4倍,關(guān)鍵是沒有損失精度。

查詢時(shí)間的對(duì)比,在GPU上采集3D點(diǎn),并在GPU上執(zhí)行ESDF查找,返回它們到最近表面的距離以及可選的距離場梯度。cor表示空間相關(guān),uncor表示不相關(guān)。這里也推薦「3D視覺工坊」新課程《徹底剖析激光-視覺-IMU-GPS融合SLAM算法:理論推導(dǎo)、代碼講解和實(shí)戰(zhàn)》。

nvblox的應(yīng)用示例,重建了一個(gè)無人機(jī)采集的場景,還是體現(xiàn)實(shí)時(shí)性。

5. 總結(jié)
今天筆者為大家介紹了一個(gè)GPU加速的體素建圖庫nvblox,主要工作量是提出了一種新穎的增量式GPU加速方法來計(jì)算ESDF。nvblox針對(duì)獨(dú)立和嵌入式GPU都進(jìn)行了優(yōu)化,計(jì)算速度非常快。對(duì)建圖速度有要求的小伙伴可以關(guān)注一下這項(xiàng)工作。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
30665瀏覽量
220040 -
gpu
+關(guān)注
關(guān)注
28文章
5118瀏覽量
134556 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5592瀏覽量
124023
原文標(biāo)題:177倍加速!NVIDIA最新開源 | GPU加速各種SDF建圖!
文章出處:【微信號(hào):3D視覺工坊,微信公眾號(hào):3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
雙GPU設(shè)計(jì) 打造最簡單與最快速的加速方案
《CST Studio Suite 2024 GPU加速計(jì)算指南》
GPU加速XenApp/Windows 2016/Office/IE性能會(huì)提高嗎
GPU加速matlab程序
tengine是如何使用arm的GPU進(jìn)行加速的
NVIDIA宣布一套用于構(gòu)建GPU加速ARM服務(wù)器的參考設(shè)計(jì)
NVIDIA推出適用于Python的VPF,簡化開發(fā)GPU加速視頻編碼/解碼
NVIDIA GPU助力加速先進(jìn)對(duì)話式AI技術(shù)
使用GPU加速RELION進(jìn)行生物結(jié)構(gòu)解析
【百萬倍加速】加速計(jì)算重新定義藥物研發(fā)
【百萬倍加速】加速計(jì)算助力基因測序突破極限
GTC23 | NVIDIA 發(fā)布用于加速量子-經(jīng)典混合計(jì)算的全新系統(tǒng)
Oracle 云基礎(chǔ)設(shè)施提供新的 NVIDIA GPU 加速計(jì)算實(shí)例
NVIDIA加速微軟最新的Phi-3 Mini開源語言模型
NVIDIA 利用全新開源模型與仿真庫加速機(jī)器人研發(fā)進(jìn)程

177倍加速!NVIDIA最新開源 | GPU加速各種SDF建圖!
評(píng)論