点云识别-多个目标物体配准

点云配准-多个目标物体配准

综述

常见的点云配准都是单一配准,最经典的为粗配+icp精配准。本文依据pcl中cg算法,利用hough进行识别。

算法流程

1、计算法线
2、均匀降采样
3、shot描述子计算
4、寻找对应关系
5、利用hough进行配准

过程

1、原始点云如下(注:点云数据来自鹏力3D相机
原始点云
2、配准显示:
在这里插入图片描述

3、配准结果:绿色为模板点云,红色为配准后的点云,蓝色为采样后的模板与场景点云。
在这里插入图片描述
3、配准矩阵
Instance 1
-0.954096 0.268854 -0.131979 143.093
-0.249819 -0.957457 -0.144453 312.399
-0.165201 -0.104852 0.980671 -23.7059
0 0 0 1

Instance 2
-0.991586 -0.0764673 -0.10445 315.292
0.0794278 -0.99654 -0.0244786 118.135
-0.102216 -0.0325689 0.994229 -61.2683
0 0 0 1

Instance 3
-0.998138 -0.0601465 0.0101171 310.928
0.0604276 -0.997714 0.030263 56.9239
0.0082738 0.030818 0.999491 -99.1217
0 0 0 1

Instance 4
-0.999558 -0.0199898 0.0220236 421.992
0.0200465 -0.999796 0.00236082 95.5149
0.021972 0.00280128 0.999755 -93.8967
0 0 0 1

Instance 5
-0.974308 -0.0302755 -0.223178 838.464
0.0247241 -0.999312 0.0276273 62.7956
-0.223861 0.0213997 0.974386 -14.9758
0 0 0 1

Instance 6
0.995402 -0.0953485 -0.00915375 -26.4745
0.0919225 0.977743 -0.188599 71.0808
0.0269327 0.186891 0.982011 -106.315
0 0 0 1

Instance 7
0.993101 0.0247692 -0.11462 204.98
-0.0205901 0.999084 0.0375023 -185.268
0.115444 -0.0348835 0.992701 -87.0265
0 0 0 1

Instance 8
0.961276 0.185717 0.203613 -589.633
-0.15904 0.977225 -0.140493 61.6279
-0.225068 0.10267 0.968919 -37.016
0 0 0 1

Instance 9
0.997246 0.0271222 0.0690321 -274.307
-0.0308815 0.998064 0.0539868 -195.472
-0.0674343 -0.05597 0.996153 -61.2137
0 0 0 1

Instance 10
-0.980549 -0.179777 -0.0787599 828.43
0.185432 -0.980049 -0.0715434 141.976
-0.0643267 -0.0847565 0.994323 -47.6181
0 0 0 1

Instance 11
0.993726 0.0035918 0.111787 74.8284
-0.00202689 0.999898 -0.0141095 -132.863
-0.111826 0.0137944 0.993632 -56.3289
0 0 0 1

Instance 12
0.995317 -0.0547616 0.0796628 252.42
0.0618801 0.994034 -0.0898222 -53.1371
-0.0742687 0.0943311 0.992767 -71.2469
0 0 0 1

结论

针对以上场景点云12个目标,使用该方法可以进行全部识别。
耗时:16s,平均每个目标1.35s。
误差:有图可知,个别配准精度不高,可以通过后续优化进行操作。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
点云配准是指将多个点云数据集对齐的过程,常用于三维重建、三维建模、机器人导航等领域。Python作为一种流行的编程语言,提供了丰富的库和工具来实现点云配准。 在Python中,可以使用Open3D、pyntcloud、pyrealsense等库来处理点云数据,进行配准操作。首先,我们需要读取和加载点云数据集,这可以从文件中读取或者通过传感器实时获取。 然后,我们可以使用ICP(Iterative Closest Point)算法来实现点云的刚体配准。ICP算法通过迭代的方式,对齐两个点云数据集之间的最小平均距离误差,直到满足一定的停止条件。 在Python中,可以使用Open3D库中的`registration_icp`函数来实现ICP算法。通过该函数,我们可以将源点云目标点云作为输入,并设置一些参数(如最大迭代次数、距离阈值等),最终得到配准后的点云。 除了ICP算法,还可以使用其他的点云配准算法,如PCA、SVD等。这些算法可以在不同的库和工具中找到,并使用适当的参数来实现点云配准。 最后,我们可以将配准后的点云数据进行可视化展示,可以使用Matplotlib、Mayavi等库来实现。通过可视化,可以直观地查看配准效果,以及进行进一步的分析和处理。 总之,使用Python进行点云配准,可以借助丰富的库和工具,实现点云数据集的对齐和融合,进而用于实际应用中,如三维重建、物体识别等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小修勾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值