留个笔记自用

D3DLO: DEEP 3D LIDAR ODOMETRY

做什么

Lidar Odometry激光雷达里程计,里程计作为移动机器人相对定位的有效传感器,为机器人提供了实时的位姿信息。移动机器人里程计模型决定于移动机器人结构和运动方式,即移动机器人运动学模型。
简单来说,里程计是一种利用从移动传感器获得的数据来估计物体位置随时间的变化而改变的方法

用建图的方式来理解,要实现机器人的定位与导航,就需要知道机器人走了多远,往哪走,也就是初始位姿和终点位姿,只有知道了里程计,才能准确将机器人扫描出来的数据进行构建。

做了什么

采用了直接学习的方式,直接根据点云的坐标和特征进行学习,端到端的方式进行训练,这篇文章主要的优点是参数量少,且效果差不多

怎么做

首先是问题定义,就是激光雷达里程计的问题,输入是两个连续点云集P和Q,分别是第t帧和第t+1帧的扫描点云,目的是输出一个相对转换Tt,t+1∈R4×4

这里的相对转换T常见情况下就是三维坐标系下转换的标准形式,由旋转矩阵R∈R3×3和三维平移向量t组成,但这里将旋转矩阵R换了一种方式设计,也设计成了一个三维向量,分别是各维度的欧拉角R∈R3,这样

t平移向量和r旋转向量组合在一起就是一个6维向量,这就是网络的最终输出,而预测输出和label的loss就用简单的欧拉距离

除了这个loss之外,加了一个常见的正则化LOSS

接下来是具体的网络结构,整体结构在文中只有一个简单的图

但介绍了所有的组成模块,主要是由个部分组成,第一部分是输入采样层,第二部分是特征处理层,第三部分是位姿回归层。
首先是第一部分输入采样层,输入正如前面所述是两个连续的点云集P、Q,维度分别是n1×(3+c)和n2×(3+c),这里的c是点的其余几何特征,文中采用的是深度,所以这里为1,这个值还可以由很多组成,如常见的法向量,横纵角等等,然后输入一个flow embedding(FE)层进行逐点输入聚合。

然后是第二部分,特征处理层,这里是由2+个SA层和一个Mini PointNet层组成,进行一个全局特征的处理

最后一部分是位姿回归,一个简单的MLP得到所需要的输出六维向量

整体结构中有几个模块化结构,如SA(Set Abstraction Layer)、FE(Flow Embedding Layer)、MPN(Mini-PointNet),接下来就是对这几个结构的具体构造
首先是SA层(Set Abstraction Layer)直译是是分层抽取特征层,来自论文《PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space》
原文所用的SA层主要有以下三个部分组成
第一步,sample layer采样层。得到重要的中心点(使用最远点采样)
第二步,group layer分组层。找到距离中心点附近的k个最近点(使用knn),组成local points region
第三步,pointnet layer,特征提取层。对每个local points region提取特征
该文使用的SA层与这种设计非常相似,不过这里的第二步是规定了一个半径r,半径r内所有点归为邻域

这里xi就是该点的坐标,xj就是点邻域上的点坐标,fi是该点的其余特征(如法向量、深度),hsa是一个MLP,用于聚合局部特征,然后在这基础上做一层maxpool提取出该点完整的局部聚合特征

输入输出效果如上图,一直这样做SA层就是会减少点的数量,并且使点所包含的特征越来越多
然后是第二部分,FE(Flow Embedding)层,直译是光流嵌入层,用途也差不多这个意思,出自另外一篇文章《FlowNet3D: Learning Scene Flow in 3D Point Clouds》,构造的方法跟SA非常相似

这里的x是点坐标,y是邻域内点坐标,其他理解跟SA层类似,但只是计算方式相同,输入处理是不同的,SA层的输入是单个点云,维度是n×(3+c)的单个点云集。但FE层的输入是两个点云,比如P点云和Q点云,对于P点云中的每个点,它的邻域是在Q点云中找,根据P点云中该点的位置直接转移到Q点云中进行邻域搜索。所以上式中的f是P点云的点特征,g是Q点云的点特征

上图中的MPN就是Mini-PointNet,式中的hfe,也就是本文的第三个模块,这里还存在一点特殊,这里的取邻域的方法又变回了KNN,这里的处理方式就跟光流匹配的方式差不多,在两帧中寻找邻域匹配的情况
最后是用到了多次的Mini-PointNet层

这里构造的方式可以简单理解一下,用多个MLP收集多个不同大小的局部特征,然后用max pooling聚合,这是PointNet中采用的特征处理方式

总结

1.这篇文章我感觉是缝合型文章,结合了一下PointNet和PointNet++里的结构,又结合了一下FlowNet的结构,最后回归出了较好的效果,但既然都缝了这么多,不如再多整几个模块,比如万能的transformer
2.跟LO-Net、DeepLO显而易见的区别就是输入的处理方式,这里没采用3D投影的方式,在我看来更加符合端到端学习的方式

《论文阅读》D3DLO: DEEP 3D LIDAR ODOMETRY相关推荐

  1. 论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey

    论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey 从背景介绍到未来挑战,一文综述移动和无线网络深度学习研究 近来移动通信和 5 ...

  2. 【论文阅读】6-Automatic 3D Model Construction for Turn-Table Sequences

    [论文阅读]6-Automatic 3D Model Construction for Turn-Table Sequences 1.知识点回顾 2.论文阅读 2.1.input& outpu ...

  3. 【论文阅读】DEEP GRAPH INFOMAX(DGI)

    DEEP GRAPH INFOMAX(DGI) 摘要 1 Introduction 2 相关工作 2.1 对比方法 2.2 抽样战略 2.3 预测编码 3 DGI Methodology 3.1 基于 ...

  4. 【论文阅读】Deep Compositional Captioning: Describing Novel Object Categories without Paired Training Data

    [论文阅读]Deep Compositional Captioning: Describing Novel Object Categories without Paired Training Data ...

  5. <论文阅读>用于 3D 点线和平面的视觉惯性里程计框架 A Visual Inertial Odometry Framework for 3D Points, Lines and Planes

    被疫情包围了!在家多看看论文吧- 论文地址:A Visual Inertial Odometry Framework for 3D Points, Lines and Planes [摘要]:恢复连续 ...

  6. 论文阅读笔记:3D deeply supervised network for automated segmentation of volumetric medical images

    摘要 深度卷积神经网络(CNN)在二维医学图像分割方面取得了显著的成功,但由于其复杂的解剖结构等诸多相互影响的挑战,使得CNN从三维医学图像中分割重要的器官或结构仍然是一项艰巨的任务.立体图像中的环境 ...

  7. 《论文阅读》LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping

    留个笔记自用 LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping 做什么 Monocul ...

  8. 论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

    论文标题 DeepDPM: Deep Clustering With an Unknown Number of Clusters 论文作者.链接 作者:Ronen M, Finder S E, Fre ...

  9. 论文阅读”Efficient Deep Embedded Subspace Clustering“(CVPR2022)

    论文标题 Efficient Deep Embedded Subspace Clustering 论文作者.链接 作者: Cai, Jinyu and Fan, Jicong and Guo, Wen ...

  10. 【论文阅读】【3d目标检测】Group-Free 3D Object Detection via Transformers

    论文标题:Group-Free 3D Object Detection via Transformers iccv2021 本文主要是针对votenet等网络中采用手工group的问题提出的改进 我们 ...

最新文章

  1. 华为云平台使用手册_华为云首发全生命周期应用平台,四大能力解决政企上云五大难题...
  2. 六、“最是不招眼,凌波水上漂”
  3. Spark配置参数详解
  4. 无向图:查找最小环集合(最短路径回溯算法)
  5. 位数不足前面补0mysql语句_全网热议:监控补光灯爆亮闪瞎眼!你遇到过吗?
  6. linux 内核 丢弃分片包,LINUX内核关于IP分片重组问题请教
  7. PHP案例:单引号字符串与双引号字符串有什么区别?
  8. 【学校集训】【USACO15DecG】Bessie's Dream
  9. HDMI是什么设备与计算机连接的接口类型,Type-C、HDMI及DP视频接口有什么区别?电脑显示器连接线如何选?...
  10. 无线网络服务器网络异常,无线网络连接上但上不了网怎么解决
  11. uniapp web设置ios safri浏览器 添加到屏幕 像是应用 但是不用证书
  12. 计算机网络——数字信号(五)
  13. swift [Application] The app delegate must implement the window property if it wants to use a main 报错
  14. 视频H5页面/视频app怎么做?
  15. 计算机网络协议,以太网帧格式
  16. 修改文件扩展名(只需四步)
  17. 获取 JSON 数据得个数 length
  18. [译文]三重缓冲:为什么我们爱它
  19. 关于《推背图》,《奇门遁甲》
  20. 重装Intel核显后,设备管理器英特尔显卡属性这里报告了一个未启动设备(igfx)

热门文章

  1. COMSOL数据导入的案例
  2. 翁凯java进阶_多项式加法——mooc《零基础学Java语言》-(浙大翁凯)第五周编程题...
  3. 大一c语言试题及答案解析,大一c语言期末题及参考答案.doc
  4. pageoffice在线编辑时向保存方法传递参数
  5. 机器学习--组合分类方法之随机森林算法原理和实现(RF)
  6. linux 下修改文件夹的用户权限和所属组,为文件建立软连接
  7. android抠图软件,手机抠图软件
  8. SaaS 真实的案例, DRP
  9. 浅谈Oracle优化与索引
  10. linux 基础课程讲义,Linux基础讲义.ppt