DCP代码及实验记录 2020.9.5

实验结果和代码已上传至学校云盘: 链接:
https://rec.ustc.edu.cn/share/41947130-ef56-11ea-ae23-ebe12587560c

  • 00:

    使用modelNet40的点云数据进行配准实验。

    点云数目:2048

    modelnet的点云数据非常规整,没有噪声点,

    src,target是由同一个点云数据旋转得到的,因而两个点云之间严格一一对应

    配准效果非常好。

点云数据:kitti_odometry 序列01

  • 01:
    点云采样数量:3072

    对同一个点云进行两次不同的采样,对其中一个进行 较大幅度的 随机旋转平移:

    angle: [0.2825798589863413 0.7841613528453935 0.2713792204696284]

    trans: [-0.25484568 -0.24589611 0.31652238]

    src与target之间的旋转效果明显,绕X轴有非常显著的旋转,地平面扬起。

    配准后的点云基本重合,还差一个绕z轴的非常小的旋转量。

  • 02:
    点云采样数量:3072

    对同一个点云进行两次不同的采样,对其中一个进行 较小幅度的 随机旋转平移:

    角度:[0.04,0.04,0.04], 平移量:[0.01 0.05 0.05]

    src 和target 之间的相对位姿较小,基本没有旋转量,沿y轴有一个平移量

    配准后的结果src_pred、target_pred应当与src/target重合,但是反而误差更大了,

    预测的点云与对应的点云之间有一个绕z轴的大的旋转量。

  • 03:
    点云采样数量:3072

    对两个里程计前后帧的点云进行采样,然后进行配准:

    注意里程计数据的帧与帧之间,地面是始终在同一平面的,即没有绕x轴的旋转量

    相差2帧时:位姿差别太小,配准后的点云位姿反而相差更大,出现了绕x轴的旋转量(地平面抬起)

    相差5帧:配准后的点云位姿反而相差更大,个别出现了绕x轴的旋转量,个别出现了绕z轴的旋转

    相差7帧:时间距离和空间太大,场景内容都不一样,导致配准后的点云位姿反而相差更大

  • 04:
    点云数目:2048

    在实验01的基础上:

    针对问题5,将z轴坐标简单乘以一个倍数进行放大。

    实验发现较为合适的倍数=3

    可以将xy平面的旋转以及绕y轴的旋转配准至大概接近,但均有误差存在

    简单的进行放大是不够的,因为一些z轴坐标为负的点会被放大到非常下面

  • 05: 与01进行对比

    点云采样数量:2048

    对同一个点云进行相同的采样,对其中一个进行 较大幅度的 随机旋转平移:

    angle: [0.2825798589863413 0.7841613528453935 0.2713792204696284]

    trans: [-0.25484568 -0.24589611 0.31652238]

    配准结果与modelNet上的结果相近,非常好

  • 06: 与05进行对比

    点云采样数量:2048

    对同一个点云进行相同的采样,对其中一个进行 较大幅度的 随机旋转平移,

    对z轴坐标放大3倍

    angle: [0.2825798589863413 0.7841613528453935 0.2713792204696284]

    trans: [-0.25484568 -0.24589611 0.31652238]

    与05结果无较大差异,配准效果较好

  • 07:
    点云采样数量:2048

    对同一个点云进行相同的采样,对其中一个进行 较大幅度的 随机旋转平移:

    angle: [0.7239022641818816 0.6697969212818884 0.5282925532745861]

    trans: [-0.35980887 0.20374635 -0.39225807]

    src与target之间的旋转效果明显,绕X轴有非常显著的旋转,地平面扬起。

    配准后的点云基本重合,还差一个绕z轴的非常小的旋转量。

    配准效果较好

  • 08:
    点云采样数量:2048

    对同一个点云进行相同的采样,对其中一个进行 较小幅度的 随机旋转平移:

    角度:[0.04,0.04,0.04], 平移量:[0.01 0.05 0.05]

    src 和target 之间的相对位姿较小,基本没有旋转量,沿y轴有一个平移量

    配准后的结果src_pred、target_pred基本与src/target重合,平移量被配准了

    剩余绕z轴的小的旋转量没有配准

    配准效果较好

###实验分析:

a. 对比05,01和00,说明点云严格一一对应的关系是决定DCP配准性能的关键
此外,点云数目在大于2048时基本没有差别

b.对比05与06,05与00,说明点云的扁平分布对配准性能的影响不大,
即使是kitti里程计的数据,只要严格一一对应皆可以配准

c. 对比07,08 , 说明相对位姿的大小并不会影响配准的效果。

问题总结:

  1. DCP假设输入的两个待配准的点云是完全匹配的,而odometry数据中只有局部点云是匹配的。

  2. DCP假设输入的两个点云中的每个点是完全对应的,若将同一点云的两次不同采样作为输入,其配准结果会出现误差。

  3. 对于前后帧相差较小的两个点云输入,DCP不能捕获之间的细微位姿差异,配准后的结果位姿相差更大
    这主要是问题2导致的。由于问题2导致存在本身的配准误差,当两个点云之间的位姿差别小于配准误差时,配准结果一定不好

  4. odomentry数据集,或者说自动驾驶点云数据,其scan与scan之间绕x或y轴的旋转量是非常小的,即地平面始终是平行的。
    但是这种数据在没有严格一一对应关系的前提下,对于DCP来说是较为相似的,配准结果很差。

  5. kitti_odometry数据集在xy平面的尺度较大,在Z轴上的尺度相对较小,因而采样后的输入点云是类似于二维平面的形状,
    然而实验发现并不是这个因素导致配准结果变差的。

  6. DCP 的使用场景应当是已知两个patch点云对应关系的情况下,求解该对应关系之间的变换关系。
    直接使用DCP作为里程计,暗含了对点云前后帧完全相同且点之间严格一一对应的假设,显然这是不成立的。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值