点云技术相关产学研社区

 找回密码
 立即注册加入PCL中国点云技术相关产学研社区

扫一扫,访问微社区

查看: 3194|回复: 1

ICP对齐两组点云求旋转和平移矩阵结果有误

[复制链接]
发表于 2013-5-16 23:51:36 | 显示全部楼层 |阅读模式
大家好!我现在用icp 欲求两点云间旋转和平移向量。我自己对同一场景,以不同的视角拍照,然后通过立体匹配获得了两组点云。
我已尝试:
1. 因做立体匹配时,不是每一个待匹配的特征点都能找到符合阈值的对应点,所以我将源点云和目标点云中未能找到立体匹配点的点滤去,产生新的点云。这带来一个问题,两组点云点数不一致,源点云67,目标点云62.而且也一一对应关系也被打乱,有错位。我不知道这是不是造成alignment 出错的原因。请问需要两点云size一致么,且一一对应?
2.我尝试保留未匹配点,使点云size一致。当然结果显示未匹配点对结果影响结果很大。可以看做是增加了噪声点。
3.我现在的问题是如何滤除未匹配点却不打乱点云一一对应关系。

我查阅国外大牛的帖子,有提到可以将未匹配的点坐标值设为无限大的值,然后通过setMaxCorrespondenceDistance来排除。可是我不清楚如何将未匹配的点设为无限大的值,另外setMaxCorrespondenceDistance(100),100的长度单位是什么。各位同仁,如果有这方面好的解决办法,或者教程,还望多多分享,不胜感激!
回复

使用道具 举报

发表于 2013-5-19 10:04:13 | 显示全部楼层
两片点云的size是否一致其实关系不大的,ICP的对应是通过不断寻找最近邻去迭代优化得出最后的刚体变换,没有匹配的特征点不加入到计算的点对中去就好了。况且,理论上说计算刚体变换只需要四组以上的点对,当然越多的准确对应点算出来的刚体变换是越准确的。

另外那个setMaxCorrespondenceDistance的目的是设置最近邻找点对时的阈值,超过这个阈值的就不会被加入到对应集合中去。至于单位,要看你点云的数据了。
回复 支持 反对

使用道具 举报

本版积分规则

QQ|小黑屋|点云技术相关产学研社区 ( 陕ICP备13001629号 )

GMT+8, 2024-5-20 00:52 , Processed in 1.226036 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表