点云传感器位置估计

Point cloud sensor position estimation

让我们坐下,我有点云数据,但我不知道传感器位置(它不是 [0,0,0])。有没有一种从中估计原始传感器位置的好方法?

例如,从下面的点云,
点云数据:

找到允许点云看起来像这样的视点。(如深度图)所以没有(或最少)可以观察到的洞。

点云从我想找的视点看起来像这张图:

通常,点云重建是通过以不同角度捕获对象并将它们对齐在一起来完成的。在点云中,此过程称为 Registration。因此,kinect 传感器没有静态位置,因为在每一帧中,全局坐标 space 中的传感器位置不是静态的。

所以我假设您不是在询问经过重建过程的点云,因此是从静态传感器位置生成的点云。如果该点云未经过任何转换(旋转、过渡)并使用原始深度数据生成,则点云始终在深度相机坐标 space 中生成,其中原点是 Kinect 传感器的位置。

在你的问题中它说传感器位置不是[0,0,0],这意味着捕获深度图像后,它已经转换到新坐标space。(我假设原点新坐标 space 是给定点云的中心)。所以在不知道这个变换矩阵的情况下,就无法得到原来的相机位置(相对于新坐标)。

最无力的是,当你说"position of the sensor"时,你需要指定你所指的坐标space。 位置总是相对于特定坐标space.

您可以按照@Atif Anwer 所说找到相机的位置但是在一种情况下,两个点云中的任何一个都没有经过变换,因此它在原始坐标 space 中。然后你可以找到第二个点云相对于第一个点云的变换,并将该变换矩阵应用于 [0,0,0] 以找到第二个点云相对于初始深度相机坐标的相机位置 space.