视觉半稠密点云匹配性能测试:基于分割描述符法

简介:

  1. SegMap是一种点云全局对齐的方法,原工作主要是针对lidar点云的。
  2. SegMap的特点是速度非常快,鲁棒性很好,因为提取了特征描述符。
  3. 本工作主要把SegMap方法尝试在视觉生成的半稠密点云上应用。
  4. 具体原理见:https://blog.csdn.net/ziliwangmoe/article/details/87445298

测试方案:

  1. 使对统一条街,两次采集图像数据,用DSO生成半稠密点云
  2. 将两份点云使用segmap进行分割和提取描述符后进行匹配的对齐

测试结果:

  1. 红色和白色分别是两次采集的点云在被分割后的样子。两次采集只有中间的街道是重叠区域
  2. 中间的街道是两次采集重叠的区域,通过segmap匹配后,基本对齐了。
  3. 细致发现其实不是所有地方多对齐得很好。这个主要是因为两份地图的scale不是完全的一致。所以不可能做到远距离的匹配。其实上面的对齐并没有用到整条街道的匹配。只用了街道一端的匹配,所以另一段就没有完全对齐了。
  4. 单独用街道另外一端一小点点云和另外一个点云对齐就能对其上,虽然重合得不是太好,但是后续加上ndt就能完全对齐。
  5. segmap对点云分割的结果。还是扔掉了很多的点。

结论:

  1. SegMap的确是非常的robust,两份点云的确是非常的不一致。
  2. 全局的一致性对匹配效果影响很大,也就是source点云一定不要太大了。
  3. 在分割和描述的提取上还有很大的提升空间,可以更具场景的特点采用不同的策略。

代码:

  1. https://github.com/rabienrose/3d_vision/tree/master/visual_map/src/pointcloud_match/desc_matcher
  2. 使用catkin build编译,如果不知道catkin build是什么的,请先自行学习。
  3. 拷贝三方库
  4. 所有依赖都在拷贝的三方库中

使用:

  1. 需要文件:
    1. 配置文件:pc_match_config.yaml。里面主要是segmap算法的配置
    2. 启动脚本:gen_pc_desc.sh
    3. 配置文件和脚本都在代码库中,自行搜索
    4. source点云pcd
    5. target点云pcd
    6. 描述符文件,由描述符提取功能生成
  2. 流程:
    1. 脚本中修改./devel/lib/pcdesc_matcher/pcdesc_matcher ${root_dir} loc
      1. 执行文件路径
      2. 最后的loc是代表定位模式还是描述符提取模式,如果要提去描述符就设置为gen_map
    2. 修改点云文件名为:semi_pc.pcd
    3. 把所有需要的文件放在一个目录里面,比如如下:
      1. features_database.csv 生成的描述符文件,生成描述符的时候不需要
      2. segments_database.csv 生成的描述符文件,生成描述符的时候不需要
      3. pc_match_config.yaml
      4. semi_pc.pcd
    4. 最后使用gen_pc_desc.sh运行程序,gen_pc_desc.sh程序的入参就是上面包含所有文件的那个目录路径

重要的配置参数

  1. Segmenters
    1. radius_for_growing:设置越大,分割就越大快,越小就月零碎。分割太大不容易被匹配上,分割太小又会让产生更多噪音。
    2. min_cluster_size:主要根据点云的密度来设置,因为视觉点云相对lidar很稀疏,这里设置为最小值50
  2. GeometricConsistency
    1. resolution:决定误差在多少以内算作内点。设置太低,很难成功匹配上,太高的话会被匹配到错误的地方
    2. min_cluster_size:这个一般设置为6就行。意思是内点小于多少才算是成功被匹配,大于6基本对匹配成功与否判断比较准确,但是resolution不同也会影响这个的作用。
  3. Classifier
    1. n_nearest_neighbours:找一个描述符最相近的其他描述符的时候,需要找多少个点,也就是最相似的多少个描述符。一般设置为120。这个值越大,送入后面几何一致性判断模块的预先匹配就越多,也就是内点率就越低。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值