日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

labelme 语义分割数据集_RangeNet++: 快速精确的雷达数据语义分割(IROS 2019)

發布時間:2024/7/23 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 labelme 语义分割数据集_RangeNet++: 快速精确的雷达数据语义分割(IROS 2019) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要介紹一篇關于雷達數據語義分割的文章。這篇文章將點云通spherical projection投到2D平面后,先通過高效的CNN網絡得出segmentation結果,然后還原出點云的segmentation結果,最后用一個精巧的knn-search算法,對結果進行優化。論文、代碼地址:

RangeNet++: Fast and Accurate LiDAR Semantic Segmentation?www.ipb.uni-bonn.dePRBonn/lidar-bonnetal?github.com

1. 總體流程

如上圖所示,總體流程分為4步:

  • A:球映射(Spherical projection)
  • B:語義分割(Segmentation)
  • C:點云重建(Point cloud reconstruction)
  • D:點云后處理(Post-processing)

2. 球映射(Spherical projection)

這步主要將3D點云映射為2D的range image,即將

映射為 。映射公式如下:

其中:

  • 為2D range image的寬和高;
  • 分別為雷達垂直方向的上、下視角范圍
  • 垂直方向總的視角范圍
  • 表示一個點到雷達的3D距離

映射完位置后,接著給每個2D位置設置feature。這里,根據每個

點對應的3D點,選取一下信息:
  • 3D坐標
  • 反射率(remission)
  • 距離(range)

每個坐標對應以上5個數值,所以最后可以得出一個

的向量。

這種映射方式可能會丟失一些點。因此,為了后面后處理時對結果進行優化,將丟失的點補上,把所有3D點對應的

座標組成一個list保存起來,后面會用到。

3. 語義分割(Segmentation)

這步主要對range image進行語義分割。具體使用如下圖所示的沙漏形狀的網絡:

從圖中可以看出,網絡在進行downsample和upsample時,只在寬度上進行操作,保持高度不變。只要原因是,使用的數據集是用Velodyne HDL-64E激光掃描儀采集的,垂直方向只能采集64個值,相對于水平方向可以任意旋轉360度采集數據來說(2048左右),數據量少很多。因此,為了防止垂直方向的信息步丟失,所以,只在水平方向進行downsample和upsample。

訓練時的loss,使用加權的cross-entropy:

其中,

表示特定的類別出現的頻率。這里主要是為了處理各個類的點數不均勻的情況。可以看出,加上 后,出現率低的類對應的點,相比出現率高的類對應的點,懲罰更大一些。

4. 點云重建(Point cloud reconstruction)

這步主要是把2D range image 圖片segmentation的結果,映射到每個3D點上。這里需要注意的是,2D range image上的一個

點, 可能對應多個實際的3D點,比如為了考慮計算速度,2D range image的尺寸盡可能小而需要下采樣時,多個3D點可能就映射到了同一個2D點。

具體操作是用之前保存的所有3D點對應的2D座標,找出其對應的segmentation結果。

5. 點云后處理(Post-processing)

如上圖所示,2D range image經過segmentation后,結果看上去還不錯。但是把結果投回到3D點云后,一些物體邊緣部位的點出錯的效果就很明顯了。因此,后處理的目的就是對這些邊緣點的結果進行修正。整體思路比較直觀:通過每個點的一些鄰居點的類別,來決定該點的類別。一個邊緣點如果出錯了,那么在3D點云中,這個點和它的大部分鄰居點的類別應該會不一致。反過來,一個點大概率會和它的大部分鄰居點的類別保持一致。

基于這種想法,論文提出了一種kNN search的操作。算法流程如下:

  • 在2D range image上,定義一個大小為 的窗口,分別用每個2D點作為窗口中心點,用該窗口取出其鄰居點(落在窗口內的其他點,視為鄰居點)。這步操作可以參考matlab里面的im2col。im2col后,可以得到每個點的鄰居點,組成一個矩陣,尺寸為: ,每列即為對應點的所有鄰居點的索引。
  • 前面說到,一個2D的點,可能對應多個3D點,所以,實際的3D點數可能比 要多。通過3D點到2D點的對應關系,還原出每個3D點的在2D圖片上的鄰居點,得出一個矩陣,尺寸為:
  • 每個2D鄰居點,包含了其對應的3D點的座標、類別。所以,可以從這些鄰居點中,用KNN算法找出距離跟目標點最近的前k個點作為鄰居點。論文中使用的距離,是兩個點的range差的絕對值,而不是3D距離。這樣做,是為了提高效率。此外,論文還使用了一個inverse Gaussian Kernel,來對距離進行調整,即:距離越近,權重越小;距離越遠,權重越大。
  • 接著,用一個距離闕值(cutoff threshold)對k個鄰居點進行過濾,去掉距離大于闕值的鄰居點。
  • 對于剩下的鄰居點集,哪個類的點數比較多,目標點就屬于哪個類。
  • 6. 總結

    這篇論文提出了一種很直觀的后處理方式kNN search。從實驗結果看,對性能有明顯幫助。

    總結

    以上是生活随笔為你收集整理的labelme 语义分割数据集_RangeNet++: 快速精确的雷达数据语义分割(IROS 2019)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。