【論文閱讀】點(diǎn)云地圖動(dòng)態(tài)障礙物去除基準(zhǔn) A Dynamic Points Removal Benchmark in Point Cloud Maps
終于一次輪到了講自己的paper了 hahaha,寫個(gè)中文的解讀放在博客方便大家討論
- Title Picture

-
Reference and prenotes
paper: https://arxiv.org/abs/2307.07260
code: https://github.com/KTH-RPL/DynamicMap_Benchmark
b站:地圖動(dòng)態(tài)障礙物去除總結(jié) ITSC’23: A Dynamic Points Removal Benchmark in Point Cloud Maps
1. Motivation
主要就是2019年末在公司的時(shí)候,做一個(gè)教育平臺(tái)的無人駕駛小車項(xiàng)目的時(shí)候 從頭開始部署autoware發(fā)現(xiàn),建圖中會(huì)有我們來來回回走動(dòng)的 點(diǎn)云,當(dāng)時(shí)其實(shí)就想了一種和 ndt slam 直接結(jié)合的方式去除,不過比較稚嫩+工程的想法所以后續(xù)也沒有什么總結(jié),隱約記得:最后還是 人手動(dòng)去除的障礙物 畢竟也就三幅圖 ??
直到 2023年初 來了KTH后 天明又提了這個(gè)需求 問我能不能自動(dòng)去掉Leica動(dòng)態(tài)圖,他人手標(biāo)了KTH的圖標(biāo)了1個(gè)月,所以當(dāng)時(shí)就又投入到這個(gè)idea的調(diào)研了,最后就是這一篇 + 后續(xù)兩篇方案 的輸出,那么開始進(jìn)入正題

如圖是截取KITTI 07的部分地圖,因?yàn)橛衧emanticKITTI的標(biāo)注信息 所以我們把動(dòng)態(tài)物體用黃色表示出來了,這個(gè)動(dòng)態(tài)物體如果不在建圖中去掉 可能會(huì)導(dǎo)致:
- 定位出現(xiàn)問題,因?yàn)橛写罅坎粚儆陟o態(tài)的點(diǎn)云出現(xiàn)在地圖里導(dǎo)致錯(cuò)誤的feature
- 全局規(guī)劃 無法規(guī)劃,如上圖 如果直接作為全局規(guī)劃的global map,那么這一條路可能都不會(huì)被選擇,有時(shí)候還可以繞路解決 但是如果黃色點(diǎn)再多 則直接gg 【不過這一點(diǎn)在自動(dòng)駕駛中可能不會(huì)那么大的影響 因?yàn)榇蟛糠侄紩?huì)做地圖矢量 OpenDrive的形式】
- 建筑測(cè)量時(shí),導(dǎo)致大量不準(zhǔn)確的判斷,主要就是用全站儀進(jìn)行收集時(shí),萊卡雖然內(nèi)置去除 但是當(dāng)數(shù)量較多時(shí),也無法做到輸出干凈的地圖
Contribution
那么對(duì)比之前方案 和 這篇的貢獻(xiàn)主要在于:
- 現(xiàn)有的方案 沒有一個(gè)通用的基準(zhǔn)測(cè)試以便后續(xù)研究者能夠直接使用 一種格式進(jìn)行測(cè)試 評(píng)估,所以我們?cè)诖丝偨Y(jié)了之前的方案,采用統(tǒng)一格式進(jìn)行整理 刪除多余的部分,給出一條更focus在這個(gè)任務(wù)上的benchmark
- 之前的方案大多都是在仿真或KITTI上進(jìn)行,而且都是64線雷達(dá)等,此篇我們同時(shí)還標(biāo)注了 av2 32線大城市數(shù)據(jù),semindoor 16線 半室內(nèi)數(shù)據(jù) 并開放給大家一起評(píng)估使用。【后續(xù)隨著兩篇的出版還會(huì) 再開出 128線,萊卡全站儀數(shù)據(jù)】
- 這篇提出基準(zhǔn)的同時(shí) 也告訴了大家如何分析各個(gè)方案的問題并將其改進(jìn),比如我們選用了之前方案經(jīng)常對(duì)比的octomap進(jìn)行演示進(jìn)行改進(jìn)
2. Benchmark
基準(zhǔn)測(cè)試包含四個(gè)方案 Removert,ERASOR,原octomap,改進(jìn)后octomap,那么先整理一下方案 說明一下各自缺點(diǎn) 然后進(jìn)入到實(shí)驗(yàn)給大家對(duì)應(yīng)起各個(gè)問題

首先圖2,3指示了三個(gè)方案各自的問題 【部分問題erasor文章中也進(jìn)行了探討 如果感興趣 可以點(diǎn)進(jìn)paper查看reference進(jìn)行閱讀】:
- raycasting:采用雷達(dá)點(diǎn) 都是從中心射出去的性質(zhì),判斷這條線的穿過部分都是空的點(diǎn),但是會(huì)有:雷達(dá)角度 和稀疏雷達(dá) 導(dǎo)致的誤判斷動(dòng)態(tài)點(diǎn),刪除了過多的點(diǎn)
- visiting-based:采用可視區(qū)域(但是我在總結(jié)的時(shí)候 一直感覺和raycasting的基本差不多 沒啥區(qū)別),也就是 <一個(gè)激光點(diǎn)的光路穿過了另一個(gè)激光點(diǎn),那么另一個(gè)激光點(diǎn)就是動(dòng)態(tài)點(diǎn) 引用> Fig 2. ? 可以看到如果超過一定高度的動(dòng)態(tài)障礙物會(huì)導(dǎo)致 車頂部的點(diǎn)云無法有效被去除
- height-threshold:也就是ERASOR的方案,用地圖和當(dāng)前scan的高度差異來判斷,然后去除這個(gè)高度下的所有點(diǎn),F(xiàn)ig 3. 指示了缺點(diǎn):需要針對(duì)傳感器高度,場(chǎng)景內(nèi)出現(xiàn)的高度物體來進(jìn)行調(diào)參,但是也避免不了無法找到一個(gè)合適的閾值解決一個(gè)場(chǎng)景內(nèi)所有的高度,如果調(diào)高了會(huì)誤刪除很多點(diǎn),如果調(diào)低了會(huì) 留下一些動(dòng)態(tài)點(diǎn)
以下為方法總結(jié):

我們的改進(jìn)主要是針對(duì)benchmark和實(shí)驗(yàn)發(fā)現(xiàn)的問題進(jìn)行的,在原始的octomap前加入了噪音去除,地面分割,然后octomap會(huì)根據(jù)每次scan的 給整個(gè)空間的每個(gè)voxel occupancy value 也就是這個(gè)voxel被占據(jù)的概率,最后運(yùn)行完所有,我們根據(jù)概率閾值進(jìn)行篩選動(dòng)靜態(tài)
同時(shí)需要注意的是 得益于octomap ? 方案是唯一的不需要先驗(yàn)原始地圖的,也就是后續(xù)如果能對(duì)時(shí)間進(jìn)行改進(jìn) 可以做到實(shí)時(shí)建圖,最后直接輸出clean map
3. Experiment
我們引入了新的兩個(gè)數(shù)據(jù)集:
- AV2 的一個(gè)序列,配置為兩個(gè)VLP32,上下連起來的中心放置方式 周邊建筑物較高
- semindoor 我們自己在建筑樓下收集的數(shù)據(jù),配置為一個(gè)VLP16,放在一個(gè)在地上的小車上
還有就是評(píng)估m(xù)etric從 voxel-level 換成了 point-level,這樣就不會(huì)對(duì)gt進(jìn)行任何形式的處理 比如降采樣等,也能保證最精準(zhǔn)的評(píng)估,對(duì)標(biāo)后續(xù)建筑領(lǐng)域的測(cè)量評(píng)估(全站儀)
定性分析 (看圖)
首先趁熱打鐵,剛剛大家讀完了 各個(gè)方案缺點(diǎn),正好從實(shí)驗(yàn)可視化的角度看一看:


-
raycasting的問題 在圖7的(d) 中得到了非常明顯的體現(xiàn),也就是 地面角度和雷達(dá)稀疏性 導(dǎo)致去掉了過多靜態(tài)點(diǎn),給地面造成了空洞 空洞的形狀也正如雷達(dá)的ring
-
關(guān)于車頂部點(diǎn)云無法去除 在KITTI05的數(shù)據(jù)中體現(xiàn)較多 因?yàn)槲恼缕?原文并沒有能展示
-
height-based 在圖6的? 可以看到樹木的trunk 很規(guī)律的被高度截?cái)?,還有圖中的其他部分 限于篇幅沒有截圖所有的,還有圖7? 也可以看到一小塊墻壁的高度面刪除
那么從可視化角度,(note:ERASOR 我調(diào)過參,因?yàn)閷?duì)高度閾值需要準(zhǔn)確 16線的小車上不同于KITTI av2的也和kitti的高度不一樣 所以為了對(duì)他們公平,就用了不同的config,其他的基本保持一個(gè)參數(shù) 比如我們改進(jìn)后的octomap w GF閾值都是默認(rèn)的一個(gè)
ERASOR和octomap w GF表現(xiàn)是比較好的,考慮下游任務(wù),如果更追求精準(zhǔn)度 octomap w GF更好,如果更追求去除的干凈程度給部分不依賴 plane feature的localization用 可能ERASOR更好,預(yù)告:后續(xù)的兩篇方法在時(shí)間和精度上均能夠超過octomap w GF,歡迎大家star repo 以追蹤信息
定量分析(看表)
- SA:靜態(tài)點(diǎn)的準(zhǔn)確率
- DA:動(dòng)態(tài)點(diǎn)的準(zhǔn)確率
- AA:聯(lián)合準(zhǔn)確率, S A × D A \sqrt{SA \times DA} SA×DA?,因?yàn)槲铱梢匀サ羲械狞c(diǎn) 讓我的DA 100%,也就是一個(gè)點(diǎn)都不去讓SA 100%,所以需要一個(gè)聯(lián)合準(zhǔn)確率去做最終的判斷

從表的信息可以看出經(jīng)過 benchmark指導(dǎo) 改進(jìn)后的octomap w GF在大多時(shí)候表現(xiàn)還是較為優(yōu)越的,雖然這并不是我們的最后結(jié)果(benchmark 比較站在中立的角度)
Fig 5指示了 沒有標(biāo)出來的動(dòng)態(tài)點(diǎn)都在動(dòng)態(tài)點(diǎn)哪個(gè)位置分布上,可以看到 基本都在動(dòng)態(tài)點(diǎn)的周圍,也就是說 后續(xù)可能經(jīng)過一個(gè)cluster 距離的簡(jiǎn)單聚類 會(huì)再次提升DA的值(這也就是我們benchmark的意義:如何分析 - 分析后如何改進(jìn))
表二則是指示了 w GF后我們的速度提升 20-30%,當(dāng)然還是不如Removert和ERASOR快,但是 在審的兩篇方法為主 均在速度上有極大的提升
4. Conclusion
結(jié)論就是,這篇benchmark 大概就是給大家進(jìn)行現(xiàn)有方案的總結(jié),并且實(shí)驗(yàn)分析,改進(jìn)其中一個(gè)老方案,給大家看到benchmark paper的意義,也可以說是survey paper(其實(shí)主要還是每個(gè)方法都有自己的格式 對(duì)比的都不開源 所以干脆自己干 搞一個(gè) 造福大家 一鍵生成與復(fù)現(xiàn)
最后就是 這個(gè)動(dòng)態(tài)去除pipeline + simple ndt slam,可以做到給大家一條龍服務(wù),需要做的就是rosbag record /point_cloud,錄下你的雷達(dá)數(shù)據(jù)即可!
- rosbag record
- ?? run simple_ndt_slam
- ?? run DynamicMap_Benchmark 其中任一方法均可
所有的代碼和README均已完善,歡迎大家一起交流,如果有數(shù)據(jù)集 自己標(biāo)了gt想要貢獻(xiàn)的話 就更好啦!Stay tuned with us (因?yàn)楹竺孢€有更多方案會(huì)加進(jìn)來哦文章來源:http://www.zghlxwxcb.cn/news/detail-741367.html
贈(zèng)人點(diǎn)贊 手有余香 ??;正向回饋 才能更好開放記錄 hhh文章來源地址http://www.zghlxwxcb.cn/news/detail-741367.html
到了這里,關(guān)于【論文閱讀】點(diǎn)云地圖動(dòng)態(tài)障礙物去除基準(zhǔn) A Dynamic Points Removal Benchmark in Point Cloud Maps的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!