论文翻译与解读《Self-supervised Learning of LiDAR Odometry for Robotic Applications》

  • Abstract
  • I. INTRODUCTION
  • III. PROPOSED APPROACH
      • A. Problem Formulation
    • B. Network Architecture and Data Flow
      • a) Data Representation:
      • b) Network:
    • C. 法向量计算
    • D. 几何损失

Abstract

随着激光雷达定位成为活跃的研究领域, 可靠的机器人姿态估计是许多机器人自主通道的关键一步。为了有效利用所有可用的激光雷达数据,并保持实时性能,本文提出了一种通用的自监督激光雷达测程估计方法。该方法在训练过程中有选择地使用几何损失,可认意识到 - - 可从scan points提取的信息量的多少。此外,该方法不需要 label 或 ground truth,因此适用于难以获得准确ground truth的位姿估计任务。此外,所提出的网络架构适用于广泛的环境和传感器模式,不需要任何网络或损失函数调整。此方法在室内和室外进行了实际应用的全测试,包括各种实验:使用腿,跟踪和轮式机器人,证明了其非常适合用于 - - - 面对复杂的机器人应用的, 基于学习的激光雷达测程。

I. INTRODUCTION

可靠准确的位姿估计是大多数机器人autonomy pipelines的核心组成部分之一,因为机器人需要依靠其位姿信息在周围环境中进行有效导航,并且高效完成其分配到的的任务。在缺乏外部姿态估计(例如:由GPS提供或动作捕捉系统提供)的情况下,机器人利用车载传感器数据来估计它们的姿态。最近,3D激光雷达已经成为一个热门的选择,由于重量,尺寸,和成本的减少。激光雷达可以有效地用于机器人的姿态估计,因为它们提供了直接的深度测量,可以估计6自由度机器人的姿态,而不受某些环境条件的影响,如光照差和低纹理。

为了用激光雷达数据估计机器人的姿态,已经建立了的,基于模型的技术(例如 Iterative Closest Point (ICP)[1,2] ) 通常在连续的激光雷达扫描到的帧数据之间 执行帧与帧间的对齐任务。然而,为了保持实时性,实际上只使用了可用了激光雷达扫描到的数据中的一个子集。该子集通过下采样或选择认为包含最多[3]信息的显著扫描点(feature points) 来选择。然而,这种数据缩减技术可能导致点的不均匀空间分布,以及增加潜在估计过程 对诸如传感器安装方向等因素的敏感性。更复杂的特征[4-6]可以使点选择过程不受传感器方向和机器人位姿的影响,但计算量高,不适合机器人实时操作。此外,虽然没有必要使用(每帧扫面中的)所有可用的数据,但已有研究表明,在一定程度上利用更多的扫描数据可以提高帧与帧之间的点匹配处理[7]的质量。为了有效地利用所有可用的扫描数据,基于学习的方法为直接用激光雷达数据实现机器人的姿态估计提供了一个潜在的解决方案。类似的方法已成功地应用于相机数据,并展示了其良好的结果。然而,在利用激光雷达数据 进行基于学习的机器人姿态估计领域所做的工作有限,特别是在自主驾驶领域以外的应用领。此外,大多数被提出的方法需要标签或监督数据来进行训练,使他们在范围上受到限制,因为注释激光雷达数据是特别费时的[9],而且获得准确的地面真实数据对于更长的任务是特别困难的,特别是在室内。

基于上述挑战,本研究提出一种基于自监督学习的利用激光雷达数据进行机器人姿态估计的方法。由于该方法具有自监督特性,因此在训练过程中不需要任何label或ground truth。推理过程中不需要提取法线等预处理步骤;相反,只利用直接从激光雷达获得的数据。此外,所提出的方法是轻量级计算,并能够在一个移动类CPU上实时操作。在驱动数据集上,该方法的性能与现有方法进行了验证和比较。此外,通过使用四足机器人ANYmal[10]执行自主测绘任务(如图1所示),以及在DARPA地下地球(SubT)挑战数据集[11]上评估测绘性能,首次展示了其对复杂真实世界机器人应用的适用性。最后,所提方法的代码将公开提供给机器人社区。

III. PROPOSED APPROACH

为了覆盖传感器周围的大空间区域,常见的方法是用激光雷达, 其在绕偏航轴旋转时测量 自己与采集到的点的距离。然后产生一系列3D点云数据流,通常被感知器(也就是激光雷达)打包成全点云扫描(full point cloud scans): SSS 。此文章提出了一个机器人姿态估计器,它是自我监督学习,只需要激光雷达点云在当前扫描到的点云的SkS_{k}Sk​, 和上一帧扫描到的点云Sk−1S_{k−1}Sk−1​ 作为它的输入。

重点解读:

  1. S:full point cloud scans . Lidar 每次扫描收集到的所有的点,也就是没降采样的点。
  2. 此文章提出的做 pose estimation的方法是自监督学习方法,所以只需要Lidar收集到的 当前帧的点云 Sk 和 前一帧的点云 Sk−1, 再不需要其他信息。
A. Problem Formulation

重点解读:

  • 我们的目的是想要求出 从当前帧k 相对于 上一帧k-1 的 transformation (包括translation 和rotation)。 k帧 和 k-1帧 收集到的点的个数分别是nkn_knk​ 和nk−1n_{k-1}nk−1​.
  • 在预处理阶段,法向量 Nk(Sk)N_k(S_k)Nk​(Sk​)需要被提前计算出来。 这个计算法向量的预处理 仅在训练时需要做,validation 和 test 阶段是不需要做的。
  • 因为测量中会出现噪音点,环境非静态的本质,以及 机器人的运动, 两帧之间的transformation 和 scans(point clouds) 之间的关系可用下面这个不可知的条件概率密度函数表达:p(TK−1,K∣Sk−1,Sk)p(T_{K-1, K}|S_{k-1},S_{k})p(TK−1,K​∣Sk−1​,Sk​)

B. Network Architecture and Data Flow

这篇文章侧重于在一般的机器人的应用

  • 优先考虑在硬件设备上实施的即时性
  • 设计时避免了重计算的预处理操作, 比如法向量计算。(虽然在training 要计算法向量,但是在应用阶段是不用做的)
  • 只需要提供生数据, 不需要将采样或其他数据预处理步骤

此方法的概览在 Figure 2, 图中的字母所表示的部分在其对应的段落或者subsection 中说明。

a) Data Representation:

三种常见的处理点云的神经网络技术:
i) 将3D的点云映射(投影)到2D 的图像上,然后采用2D 图像的技术处理
ii) 在3D 卷积体素上操作
iii)在无序的点云上操作

因为PointNet’s [28]刚性转换的不变性,和激光雷达数据中3D体素对高内存的需求,我们的方法使用2D图像表达数据,并且作为输入传进网络,像DeepLO [24]一样。

为了将3D点云用2D图像表示,我们采用几何映射 Rn×3→R4×H×WR^{n×3} →R^{4×H×W}Rn×3→R4×H×W, H 和 W 分别指高和宽 。 图片中点的坐标(u, v) 通过在球坐标系中离散方位角和极角计算得出, 同时保证每个像素点位置只保留最近的点(因为有时会存在这种情况:多个3D点投影到同一个2D像素上,这是由于分辨率造成的, 若此情况发生,只保留最近的那个点)。H值的选择是根据传感器的垂直扫描线的数量,而W通常选择小于激光雷达每一转的点的数量,以便获得图2中的稠密图像(cf. A)(这里看不懂的可以去百度下激光雷达的工作机制)。对每个2D的有效的图片像素,除了3D点云的坐标,还要加上范围(range), 所以表达为(x, y, z, r),这个 3D点云 到2D 图像 的转换记做 I = φ(S)。

重点解读:

b) Network:

为了去评估 transformation : Tt−1,t(θ,Ik−1,Ik)T_{t−1,t}(θ,I_{k−1},I_{k})Tt−1,t​(θ,Ik−1​,Ik​) , 一个结合卷积层,自适应平均池化层,和全连接层的网络结构被部署, 输出的尺寸是固定的(不管输入图像的维度是多少)。为此,8个类似ResNet[30]的块构成了结构的核心,每个块block由两层组成。这个网络一共大概有 10710^{7}107 个可训练的参数。 生成一个维度为 (N, 512, H2\frac{H}{2}2H​ , W32\frac{W}{32}32W​) 的feature map后,沿feature map的高度和宽度进行自适应平均池化操作,每个通道得到的一个单一值。得到的特征向量然后被送入一个的多层感知器(MLP),然后分裂成两个独立的MLP,用于预测translation: t∈R3t∈R^{3}t∈R3 和 rotation(用四元数表达的):q∈R4q∈R^{4}q∈R4。为了像360度圆形图像一样, 在所有卷积层中都应用了circular padding。

在归一化rotation: q‾=q∣q∣\overline{q} = \frac{q}{|q|}q​=∣q∣q​的四元素后,transformation 矩阵: T~t−1,t(q‾(θ,Sk−1,Sk),t‾(θ,Sk−1,Sk))\tilde{T}_{t−1,t}(\overline{q}(θ,S_{k−1},S_{k}), \overline{t}(θ,S_{k−1},S_{k}))T~t−1,t​(q​(θ,Sk−1​,Sk​),t(θ,Sk−1​,Sk​)) 矩阵被计算出

C. 法向量计算

  • 本文提出的方法,采用主成分分析 (PCA:principal component analysis) 的方法计算法向量
  • 只计算那些 有效邻域数目最小 的点的法线,其中邻域的有效性取决于它们与感兴趣的点 xix_ixi​ 的深度差,即 ∣range(xi)−range(xnb)∣2≤α| range(x_i) −range(x_{nb})|_2≤ \alpha∣range(xi​)−range(xnb​)∣2​≤α,其中,α\alphaα 为场景特定的调优参数

D. 几何损失

论文翻译 《Self-supervised Learning of LiDAR Odometry for Robotic Applications》相关推荐

  1. 【论文翻译】Few-Shot Object Detection and Viewpoint Estimation for Objects in the Wild

    Few-Shot Object Detection and Viewpoint Estimation for Objects in the Wild 野外目标的小样本目标检测与视点估计 论文地址:ht ...

  2. 论文翻译《Salient object detection: A survey》

    传统的方法: 可大致分为三类:基于block和intrinsic cues的模型.基于region和intrinsic cues的模型.基于extrinsic cues的模型(包括block和regi ...

  3. 【论文翻译】FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

    文章目录 PaperInfo Abstract 1 Introduction 2 Related Work 2D Object Detection Monocular 3D Object Detect ...

  4. 论文精读《BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View》

    BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View 文章目录 BEVDet: High-Perform ...

  5. 【论文阅读】【综述】3D Object Detection 3D目标检测综述

    目录 写在开头 3D Object Detection 相关博客: Sliding window Vote3Deep: Fast Object Detection in 3D Point Clouds ...

  6. 点云 3D 目标检测 - CenterPoint:Center-based 3D Object Detection and Tracking(CVPR 2021)

    点云 3D 目标检测 - CenterPoint: Center-based 3D Object Detection and Tracking - 基于中心的3D目标检测与跟踪(CVPR 2021) ...

  7. 3D Object Detection 3D目标检测综述

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/wqwqqwqw1231/articl ...

  8. CVPR2021 三维目标检测(3D object detection)

    [1] 3DIoUMatch: Leveraging IoU Prediction for Semi-Supervised 3D Object Detection(利用IoU预测进行半监督3D对象检测 ...

  9. 论文阅读笔记:(2021.10 CoRL) DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries

    论文地址:DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries | OpenReviewWe introduc ...

  10. 【论文翻译】Orthographic Feature Transform for Monocular 3D Object Detection

    标题:<Orthographic Feature Transform for Monocular 3D Object Detection> 作者:Thomas Roddick, Alex ...

最新文章

  1. 服务器控件GridView的排序问题
  2. 精通 RPM 之查询篇
  3. 【干货分享】自己总结录制的web前端精讲视频,零基础入门学习资料,开发工具
  4. 企业与黑客攻击 就是一场军备竞赛
  5. 解答:一个perl操作config.ini的出现的 cannot find file or dirctionary,可明明文件存在
  6. 21个实用便利的PHP代码
  7. html带圈的数字号码,html – 带有数字的CSS圈子
  8. Mysql 导入Incorrect string value: ‘\xCF\xF2\xB7\xBD\xB9\xFA‘ for column
  9. 解决百度富文本编辑器Ueditor自定义上传视频封面
  10. centos8安装docker使用smartdns+adguardhome,完美高效加速dns和去广告
  11. 发一个自己原创的迷你博客的PHP源程序(支持QQ、MSN和飞信机器人和短息接口)
  12. 开发一个在线Excel系统?SpreadJS让开发如此简单
  13. Jmockit使用详解之Mocking
  14. WinMerge:一个免费开源的文件对比神器
  15. python geopy 北斗导航_【Python】使用geopy由经纬度找地理信息
  16. 在mysql中更新数据sql语句怎么写_在MySQL中,更新数据库表记录的SQL语句,包括______语句...
  17. 【读书笔记】清单革命
  18. 奖励稀疏_好奇心解决稀疏奖励任务
  19. SMB2协议特性之oplock与lease(下
  20. 小型直播系统系列-乐聊TV的开发(二)

热门文章

  1. Contest3303 - 2022跟随唐克练编程之《顺序结构》(upc)c++
  2. 医院需要遵守的3个BYOD实施策略
  3. 【wrodpress】wordpress发表文章后无法显示
  4. Qt Quick 如何入门?
  5. python新式类和旧式类的区别_浅谈python新式类和旧式类区别
  6. 人机融合系统的休谟之问到工业智能的成熟应用的联想
  7. Unity 5.4公開測試,免費用戶也能下載使用!
  8. mysql php dll_php_pdo_mysql.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  9. API网关-Gateway
  10. Maven学习笔记,动力节点maven教程随堂笔记(史上最全)