【论文笔记】基于点云投影的激光里程计: CNN for IMU Assisted Odometry Estimation using Velodyne LiDAR

论文将三维点云编码成2维矩阵,使用CNN对其进行特征提取和后续处理.
类似的方法在其之前的工作中被用于ground segmentation 以及 vehicle detection:

《M. Velas, M. Spanel, M. Hradis, and A. Herout, “CNN for very fastground segmentation in Velodyne lidar data,” 2017. [Online]. Available:http://arxiv.org/abs/1709.0212》,

《B. Li, T. Zhang, and T. Xia, “Vehicle detection from 3D lidarusing fully convolutional network,”CoRR, vol. abs/1608.07916, 2016.[Online]. Available: http://arxiv.org/abs/1608.079116》

这篇是用同样的点云编码方法来做激光里程计。

点云二维编码:

将点云P编码为一个二维矩阵(图像)。
首先将原始点云按照角度和激光的线束,划分为一个个polar bin:
在这里插入图片描述

这样每一个polar bin 可以用坐标(r,c)来表示 。r为激光的线束,c表示角度;在二维矩阵中对应像素点(r,c):
在这里插入图片描述

由于使用64线的雷达,二维图像的高是64
图像是3通道的,分别记录了每个polar bin 中的所有点云的 深度,高度,强度
∑ p ∈ b r , c [ p y , ∥ p x , p z ∥ 2 , p i ] ∣ b r , c ∣ \frac{\sum_{\boldsymbol{p} \in \boldsymbol{b}_{\boldsymbol{r}, \boldsymbol{c}}}\left[p^{y},\left\|p^{x}, p^{z}\right\|_{2}, p^{i}\right]}{\left|\boldsymbol{b}_{\boldsymbol{r}, \boldsymbol{c}}\right|} br,cpbr,c[py,px,pz2,pi]

网络结构

使用多帧输入提升鲁棒性;

使用两个不同的孪生神经网络进行旋转、平移预测,即用CNN对每个输入图像对提特征然后用FC层将所有特征融合输出R或者T (regression CNN
在这里插入图片描述

其中 CNN part 的结构为:

在这里插入图片描述

这种分别单独预测的方法大幅提高了平移量的预测精度。(然而在相机重定位中,两个一起预测可以共享特征提升精度。)
然而,旋转精度还是很差。这里将旋转量的预测视为了回归问题,但是在里程计任务中前后帧的差别很小,因此旋转量的解空间也很小,通过密集采样可以将其转换为一个分类问题:
R = arg ⁡ max ⁡ i ∈ { 0 , … , K − 1 } Γ ( R i ( M n ) , M n − 1 ) Γ : M 2 → R \begin{array}{c} R=\arg \max _{i \in\{0, \ldots, K-1\}} \Gamma\left(R_{i}\left(\boldsymbol{M}_{\boldsymbol{n}}\right), \boldsymbol{M}_{\boldsymbol{n}-1}\right) \\ \Gamma: \mathbb{M}^{2} \rightarrow \mathbb{R} \end{array} R=argmaxi{0,,K1}Γ(Ri(Mn),Mn1)Γ:M2R
这里M是编码后的点云图像。
对应的网络结构就变成了(classification CNN
在这里插入图片描述

即将当前帧点云随机旋转多次后和前一帧一起成对的输入CNN和FC网络,最后用softmax对结果进行评分,
这里的CNN part 也进行了改进:图像的水平分辨率也增加到了1800(分辨率提高增加了性能,对应的卷积核size也做了修改)
在这里插入图片描述

注意为了减少采样的数量,作者将xyz三个轴的旋转分开,使用三个CNN对其分别进行预测

最优旋转预测量的选择

选择可能性最大的(softmax 输出最高的)
或者使用加权平均:
R ∗ = ∑ i ∈ S W p ( R i ) ⋅ R i ∑ i ∈ S W p ( R i ) R^{*}=\frac{\sum_{i \in S_{W}} p\left(R_{i}\right) \cdot R_{i}}{\sum_{i \in S_{W}} p\left(R_{i}\right)} R=iSWp(Ri)iSWp(Ri)Ri

数据预处理:

对垂直高度进行归一化,对深度进行log放缩:
h ˉ = y i H , H = 3 ; d ˉ = log ⁡ ( d ) \bar{h}=\frac{y^{i}}{H}, H=3 ; \quad \bar{d}=\log (d) hˉ=Hyi,H=3;dˉ=log(d)

实验中没有得到性能提升的尝试:

  • 没有使用垂直高度归一化和深度log放缩
  • 三维点坐标作为矩阵的通道值。

实验分析

对前后帧输入序列长度的实验

在这里插入图片描述

N= 5最佳,分开训练最佳

对选择最佳旋转向量时要考虑的候选数目的实验

在这里插入图片描述

与loam的对比试验

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值