使用迭代最近点 (ICP) 时如何标记点云库 (PCL) 中的 NULL 数据 [英] How to mark NULL data in Point Cloud Library (PCL) when using Iterative Closest Point (ICP)

查看:49
本文介绍了使用迭代最近点 (ICP) 时如何标记点云库 (PCL) 中的 NULL 数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用点云库 (PCL) 中集成的迭代最近点 (ICP) 算法对齐2 组点云.我收到一个错误报告,说它找不到足够的对应点.我已经放宽了参数的条件:setEuclideanFitnessEpsilon(-1.797e+5)、setMaximumIterations(40) 和 setRANSACIterations(2000) 并且仍然有同样的问题..(我还没有找到很多关于这些条件值应该是哪个或如何的信息是为了适当的对齐,所以在这方面任何帮助也将非常感激)

I´m trying to align 2 sets of point clouds using the Iterative Closest Point (ICP) algorithm integrated within Point Cloud Library (PCL). I´m getting an error report saying that it cant find enough correspondence points. I have already relaxed the conditions for the parameters: setEuclideanFitnessEpsilon(-1.797e+5), setMaximumIterations(40) and setRANSACIterations(2000) and still having the same problem.. (I havent found much info about which or how these conditional values should be for a proper alignement, so any help in this regard would be really appreciated too)

我怀疑这个问题与我的云中有许多 NULL 数据点有关,我用值 NULL (0) 标记了这些数据点.使用 PCL 时这样做是否正确?PCL 是否有任何 NULL 标准值?我显然不希望算法在尝试对齐数据集时考虑那些 NULL 点..

I´m suspecting that this problem has to do with the fact that I have many NULL data points in my cloud, which I´ve marked with the value NULL (0). Is that properly done when using PCL? Is there any NULL standard value for PCL? I clearly dont want the algorithm to consider those NULL points when trying to align the data sets..

感谢您的帮助

推荐答案

如果使用 PCL,无效数据的默认值不是 NULL,而是 NaN.因此,如果您想将一个点标记为无效,您应该首先包含 文件,然后将位置设置为 'std::numeric_limits::quiet_NaN()'.通常是这样做的

If you are using PCL, default value of invalid data is not NULL, but is NaN. So if you want to mark a point as invalid, you should first include <limits> file and then set the positions to 'std::numeric_limits::quiet_NaN()'. It is usually done like this

const float bad_point = std::numeric_limits<float>::quiet_NaN();
if( is_invalid_point )
    p.x = p.y = p.z = bad_point;

但无论如何,配置 ICP 可能会很痛苦.根据您的数据,您可能需要进行更多的参数调整.

But anyway, configuring ICP can be a pain. You may have to do a lot more parameter tweaking depending on your data.

这篇关于使用迭代最近点 (ICP) 时如何标记点云库 (PCL) 中的 NULL 数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆