Skip to content

Latest commit

 

History

History
139 lines (81 loc) · 5.76 KB

Summary.md

File metadata and controls

139 lines (81 loc) · 5.76 KB

Temp Summary

  • 语义(Semantic)在地图中的作用:
  1. 用于点云配准, NDT/ICP都需要一个比较好的初始条件,通过语义进行配准,可以获得一个较好的初值条件;
  2. 对于SLAM中的回环检测更好(loop closure),与传统的通过特征进行检测不同,通过语义可以检测得更加精准,获得更好的准确性(没有语义它是怎么做的?)
  3. For higher-level task,例如路径规划,更高级的任务;
  4. Dynamics 对于动态环境,能够进行物体识别,将点云中动态物体识别出来,不进行地图的构建;

有什么可以创新的地方:

  1. 和点云配准算法进行结合(点云配准是一个非常基础的工作,也是一个 narrow direction,这一部分可以顺着FUZZY的工作看一下能够继续挖)
    1. 能否添加semantic的相关信息?
    2. 稀疏/稠密的点云地图,Lidar和RGB-D?能否进行加速等?
  2. 语义的提取也可以,是从RGB CNN 网络中进行提取,还是直接从三维点云中进行label?
  3. 融入动态的进去?

  • point cloud 中 semantic 获取的主要方式:

    • PointNet / PointNet++ : 直接从3D点云中进行语义标注/分割,Pixel级别;

    • SemanticFusion: RGB-D输入,利用RGB的2D image 作为输入,同样是pixel-wise的标注;

      上述的两个网络都需要对网络的object进行训练;2D输入的缺点:根据[1],是计算量比较大,无法处理dense point cloud的输入;


点云配准的时候会提高两个点云之间的correspondence,整个correspondence是如何获得的?

FPFH —— 获取三维点之间的特征匹配;

ORB/SIFT —— 获取二维图像之间的特征匹配;


读论文的方法

  • 如果一篇论文看不懂,可以看引用这篇论文的文章是如何总结它的,这就是最好的参考资料。
  • 先读一篇论文,然后看其引用文章,如果引用的文章没有度过,需要进行扩充。

  • 点云配准在SLAM中一个非常基础的方法,主要用的地方在于mapping和localization;

    • 对于mapping来说,其实就是用来估计机器人的pose,来进行轨迹的绘制,为了得到全局一致性的地图,需要知道某一时刻机器人的位置和姿态;
    • 对于localization来说,当已知地图来进行定位的时候,也需要进行点云的配准,知道自己在点云中的位置和姿态。

    当然对于SLAM系统来说,除了用点云进行匹配,还可以通过里程计(比如说移动机器人的轮子)等参数来获取机器人的位姿,但是机械的方式很容易产生误差,因此采取采取视觉的方式会更多一些。

TODO

  1. ICP 中处理outlier有什么方法?
  2. ICP 中加速计算有什么方法?
  3. ICP中提高correspondence的方法?
  4. 最大似然估计的算法是如何进行的?
  5. PCA(主成分分析)如何进行?
  6. EM-ICP 是什么含义?
  7. CPD和GMM也是基于ICP么?
  8. 4PCS?—— 作用?
  9. 欧拉角的奇异值?

一些通用的改进

  1. 如何获得全局最优的方法

  2. 如何增加鲁棒性的方法

  3. 如何增加计算速度的方法

  4. 应用方面:

    1. multi-view 的配准
    2. non-rigid的配准
  5. 单从表达来看,可以分为两大类:

    1. 如何模拟这个Model,是point, 还是distribution?
    2. 如何构造Objective function?
    3. 如何优化Objective function?

    —— 周末总结一下

如何进行实验比较

  1. 精确性:

    给定不同的初始条件:角度/位置

    不同实验的成功率

一些读论文的想法

  1. 感觉上来说,有一个问题是这些数学描述的方法很难解决的问题:high-level 的信息。就是说纯数学的方法总归是无法描述具有含义的信息。举个例子来说就是,比如有两个点云,他们各自有自己的数据,但只有一小部分重叠。因此,可能大部分的point set都是“无用”的,那么我们如何甄别出来,哪一个部分是重叠的,并且只用这一部分来进行配准?

    —— 从目前的信息来看,这一部分high-level的东西只能由深度学习的方法来给出。

  2. 在现有的模型中的添加:

    1. 动态物体的提取,时间改变,拓扑结构改变的情况;
    2. multi-view的匹配;
    3. Partial-overlapping 的匹配;

    可以从问题入手,看有什么问题要研究,然后进行改进;

  3. 包括TRO的那篇FUZZY,其实也用了很多的tricks。另外,还有一个问题,既然GK-based的方法类似于 point-to-plane,那可否能够类比一个 Generalized-ICP 的版本呢?

  4. 我想解决的是这么一个问题:

    两个大场景,他们只有部分重叠,如何能够将两幅场景进行匹配上。点云是稀疏的点,如何能够描述他们的结构化信息?

    那么如何能够更好地进行特征提取?

    聚类中心到其聚类点的向量是否是一个特征呢?

    对于模糊聚类的想法:能够找到模糊聚类的中心的特征,模糊聚类中心及其聚类点的向量群;或者以聚类中心为中心,以聚类点为数据点进行NDT?

  5. 如何使用更好的特征描述一个点,给出一个非常好的correspondence?

    FPFH 用的是sephere的最邻近点,显然对Noise应该非常敏感,能够改成更好地描述周围局部的feature呢?

  6. GMM等方法能够提供全局优化?能否提供certificable?

  7. 研究一些谱聚类/谱方法的含义。

可能的一些方向:

  1. 低重叠下的点云配准。

    深度学习的方法,或者是hand-crafted features.

  2. 参考 https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9102390

    这篇文章,可以搞一下动态环境下机械臂的一些研究。(依托点云配准)

  3. 三维点云的分割?