【问题标题】:Point cloud sensor position estimation点云传感器位置估计
【发布时间】:2017-06-26 15:42:26
【问题描述】:

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

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

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

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

【问题讨论】:

  • 如果您正在寻找一个自动化的流程,那么我认为这是不可能的(或者至少很容易做到)。但是,如果您有两个点云(而不是 2D 深度图像),您可以尝试使用基于点的胶合(在 meshlab 中)对齐它们。如果正确对齐,旋转矩阵将为您提供传感器位置的原点,即深度图点云。
  • 感谢您的回答。我想知道是否有自动化的方式..

标签: kinect point-clouds 3d-rendering


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 感谢您的回答。因此,据我了解您的回答,在我假设没有任何点云段的传感器位置信息(任何单次扫描)的情况下,无法自动找到传感器的位置(在全局坐标中,注册后)结果)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多