1

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

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

点云数据

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

从我想找到的角度来看,点云看起来像这张照片:

从我想找到的角度来看,点云看起来像这张照片。

4

1 回答 1

1

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

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

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

最无能为力的是,当您说“传感器的位置”时,您需要指定您所指的坐标空间。位置总是相对于特定的坐标空间

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

于 2017-07-12T08:21:09.257 回答