1

我想 kinect 的标准使用方式是把这个设备放在某个固定的位置,让它进行计算,例如跟踪在它前面移动的人的头部跟踪。

但我的用例不同。我需要做的是改变参考框架 - 将 kinect 连接到头部并开始在房间周围移动。然后我需要计算它在房间内的位置(我已经将房间映射到内存中)。

因此,现在应该根据当前设备位置本身及其与房间墙壁、地板和天花板的关系进行跟踪。据我了解,kinect 应该能够反射墙壁上的光并给出深度 - 我目前与墙壁的距离等。如果这甚至可能实现,我需要获取一些信息。

您能否为我提供一些建设性的参考资料,让我可以更深入地探讨该主题,以便能够开始实施所需的行为?

4

1 回答 1

1

我建议您查看有关基于图像的室内定位的研究文章,以了解更多信息。基础是:您有一组训练数据(房间的 3D 模型),并且您想查看在哪个场景(= 在哪个物理位置),输入数据更符合您的模型。

在这种情况下,有两件重要的事情需要考虑:

  1. 考虑到您已经知道用户在前一帧的位置,那么用户在新帧中可能的新位置是什么?这很重要,因为您不想像蛮力一样测试所有可能的场景(想象一下计算机必须生成多少 x、y、z 和头部角度)。例如,您只能将基于用户先前已知位置的 10 厘米半径和 10 度旋转视为所有可能的新位置。您可能会想到更智能的解决方案(例如,基于用户速度和移动方向)。

  2. 测试这些不同可能场景与您的 3D 模型的一致性。这需要一个函数,从可能的解决方案的角度获取现实世界的 3D 模型,以及相机的输入,然后以数字(或一组数字)的形式告诉您这两者的差异。因此,如果您可以针对相机输入对每个可能的位置运行此函数,则结果最小(最小差异)的位置是用户最可能的位置。现在,有很多这样的功能。我会推荐 SAD(绝对差异之和),因为我已经看到它被用于类似的项目,而且非常简单。如需更复杂,请查看基于特征的图像比较。

于 2013-06-20T19:42:45.803 回答