我成功地拍摄了一个房间的多个点云框架,其中没有移动物体,这些物体是从3D LiDAR采集的。激光雷达固定在房间内,不会在框架之间移动。我的目标是“合并”所有这些帧以生成一个地面真实帧,该帧更好地表示房间,并且具有比每个单独帧更低的测量噪声。
然后,这种地面真点云将用作与同一房间的其他框架进行比较的房间模型,并在不同条件下(移动物体,物体位置变化等)获取
到目前为止,我的方法是使用ICP(迭代最近点算法)将多个帧拼接在一起。由于LiDAR不会在帧之间移动,因此点云已经几乎对准了,而ICP则更多地用作强制执行正确对准的保护措施。
注册后,将应用统计离群值移除过滤器,以从地面真实模型中移除离群值(改编自tutorial和文档),然后使用Voxel网格滤波器对点云进行体素化以减少模型的点数。最终结果保存在PCD文件中。
在计算了地面真实性模型之后,我使用了一个变化检测算法(遵循this tutorial)来找出在地面真实性和测试帧之间有多少体素发生了变化。
据我了解,缝合多点云,过滤离群值和体素化该点云应该会产生多点云框架的“平均水平”,从而得到一个更好的房间地面真实模型,如果仅考虑一帧。
为验证基本事实,我将“变化检测”算法应用于用于生成相同基本事实的框架,将它们用作测试框架,并将它们“合并”后得到的点云用作基本事实模型。
我期望体素的数量会减少,因为我使用八叉树的体素分辨率(在“更改检测”算法上)比传感器噪声高5倍,但是数量却没有。根据测试,从20%到40%的体素在地面真实模型和用于生成相同地面真实的框架之间变化。
但是,我进行的其他测试表明,如果我从地面真实帧中随机选择一个帧,而没有进行任何处理,然后将该随机帧用作地面真实模型,则当比较“更好”的地面真理模型...
我认为我必须在地面真相生成模型上引入一些错误,但是我不明白为什么。我在做什么错了?