将点云位置与法线对齐以提高精度

Aligning Point Cloud Positions with Normals for Improved Accuracy

提问人:borodinmk 提问时间:8/10/2023 更新时间:8/10/2023 访问量:42

问:

enter image description here我有一个带噪声的点云(图A),我也有这些点的精确归一化法线(图C)。

有没有办法根据法线对齐点的位置,以获得更准确的点云(图D)?

下面是一些可能有用的伪代码:

import open3d as o3d

point_cloud = o3d.geometry.PointCloud()
point_cloud.points = o3d.utility.Vector3dVector(points)  # Figure A
point_cloud.normals = o3d.utility.Vector3dVector(normals)  # Figure C
estimated_point_cloud = point_cloud.estimate_normals()  # Figure B

从本质上讲,如果我有一个类似于球体的点云,其法线的方向就好像它们来自立方体一样,我想获得一个更像立方体的形状。

我正在使用 Python 和 Open3D,但我对使用其他库、语言和工具的解决方案持开放态度。任何关于学习内容的帮助或建议将不胜感激。

我在这方面的经验有限,对图书馆功能的粗略探索没有结果。我找到了几种解决方案,可以允许将一个点云相对于另一个点云对齐或改进几何形状,但它们不太适合我的需求。

如果这可能会有所帮助: 我只有一个嘈杂的点云和相当准确的法线。 点云和法线是使用两种不同的神经网络获得的。

Python 数学 3D 几何 Open3D

评论

0赞 Ripi2 8/11/2023
我不明白。似乎您想沿该点法线给出的方向和强度移动每个点,并且您希望弯曲的多边形变成一个完美的矩形。如果“真”点位于矩形中,则它们的法线将与该矩形对齐。您可以选择谁更重要,矩形或法线。
0赞 Ripi2 8/11/2023
矩形(或者更好的是,它的四个段中的每一个)可以通过线性回归进行拟合,而无需使用法线。

答: 暂无答案