机构:波恩大学
代码链接: https://github.com/PRBonn/lidar-bonnetal
本文解决的问题是旋转式激光雷达点云数据的语义分割问题,其在进行处理时以原始点云作为输入,不丢弃任何点的信息。
分割精度超越了现有SOTA,且速度快于激光雷达的帧率(10Hz)
RangeNet++
RangeNet++ 基于2D-3D投影的分割思路,处理流程大概可以分为4步:
- 将点云数据转换为range image(距离图像,应该是名称中’range’的由来)
- 在range image上进行2D全卷积语义分割
- 将2D语义信息转换到3D点云上
- 基于range image的3D后处理,可对所有点进行快速的基于GPU的kNN搜索,以清除undesired discretization and inference artifacts

1.Range Image Point Cloud Proxy Representation
机械式激光雷达是在竖直平面上进行扫描进行成像,这种逐行曝光的方式相当于相机快门中的rolling shutter,相比于常见的所有像素点同时曝光的global shutter方式,好处是可以达到更快的帧速,坏处是会带来果冻效应:即,一旦场景中有动态物体或者相机是移动的,由于逐行曝光,运动物体的不同部位在不同时间被先后曝光,导致出现部分曝光(partial exposure)、斜坡图形(skew)、晃动(wobble) 等现象。举例:

自动驾驶场景中的激光雷达都是移动的,在高速情况下其场景点云会被拉伸为椭圆:

为了获得完整LiDAR点云的准确语义分割,第一步是将每个偏斜的点云转换为range image:即将每个点pi =(x,y,z)转换为球坐标,最后转换为图像坐标(u,v):
( u v ) = ( 1 2 [ 1 − arctan ( y , x ) π − 1 ] w [ 1 − ( arcsin ( z r − 1 ) + f u p ) f − 1 ] h ) \left(\begin{array}{l} u \\ v\end{array}\right)=\left(\begin{array}{c} \frac{1}{2}\left[1-\arctan (y, x) \pi^{-1}\right] w \\ {\left[1-\left(\arcsin \left(z r^{-1}\right)+f_{\mathrm{up}}\right) \mathrm{f}^{-1}\right] h} \end{array}\right) (uv)=(

RangeNet++是一种针对旋转式激光雷达点云数据的语义分割算法,它采用2D-3D投影思路,通过转换点云数据为距离图像并在其上进行全卷积语义分割,然后将2D语义信息映射回3D点云,最后进行基于GPU的KNN后处理,以消除不理想的离散化和推断伪影,实现超越现有SOTA的分割精度,且处理速度超过激光雷达帧率。

2210

被折叠的 条评论
为什么被折叠?



