如何将成反比的 2 个指标合并为一个?

问题描述

我使用 Open3d(Python-3 库)处理地面激光扫描仪 (TLS) 的 3D 点云注册注册后,它返回给我 2 个指标:fitness 和 RMSE,它们在理想情况下成反比(低 RMSE 和高 fitness = 良好的注册)。以下是我所知道的:

适应度在 0 和 1 (0% - 100%) 之间变化,根据文档,“重叠区域(内点对应的数量/目标云中的点数)。越高越好”。 问题:它真的是一个指标吗?完美的配准不会给我 100%,最大值取决于云的几何形状(数据集)。有时最大范围在 70-80%(来自室内场景的云)有时在 30-40%(来自室外场景的云)。我通过的距离是用于模拟云的体素(或两倍)。

RMSE 的范围可以从 0 到无限,但通常范围在 0.05 m(非常好)和 0.50 m(非常差)之间。文档只说“测量所有内部对应的 RMSE。越低越好”。显然它测量在给定距离内找到的对应关系的 RMSE,你必须将一个距离、两朵云和一个变换 T[Rot(3x3)+t(3x1)] 传递给函数,所以它返回 RMSE 和找到之间的适应度两朵云。

让我生气的是:没有一个指标是可信的。我不能使用适应度来知道注册是否好,因为这取决于场景,唯一的方法是我以前知道可以找到的最大适应度。而且我也不能使用 RMSE,因为有时云完全错误但 RMSE 很低(这意味着很好,但前提是适应度也很好)。更糟糕的是:即使有高 RMSE 和低适应度(相对于最大可能适应度),云也可以大致正确,因为两个云之间的低旋转或平移会导致这两个指标给出不好的结果。

事实证明,判断配准是否良好的唯一方法是在转换后可视化两个云,这使得验证无法自动化。有没有办法同时使用这两个指标来增加对结果的信心?我想使用 RMSE/fitness(越少越好)或 fitness/RMSE(越多越好)。我的经验表明,适应度比 RMSE 更重要。 我先谢谢你。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)