2014-07-08 73 views
0

我正在尝试使用眼镜Vuzix star 1200 XLD和C++构建桌面AR应用程序。 我在AR和着名的SDK中使用的算法做了大量的研究,我发现可视SLAM是一种常用的算法。用于增强现实的视觉SLAM

所以,如果您使用了它,我想提供一些反馈意见,并且欢迎您提供有关用于跟踪和匹配的其他AR算法的任何建议。

非常感谢!

+0

视觉SLAM是博士水平的研究课题。祝好运并玩得开心点! ;) – dividebyzero

回答

5

在一年后...

SLAM不是一个算法,它是一种方法,在步骤达成目标分解。每一步都可以选择许多合适的算法之一,其中每个算法都具有不同的特性,如性能,准确性等等。

SLAM可以是视觉单眼SLAM(monoSLAM),SLAM的一个专门分支,与视觉测距有关。

您可以从特征检测器和描述符提取算法开始,如FAST & BRIEF。更多的算法可以完成这两项任务,如ORB和AKAZE。

因此,您可以从图像中提取和描述点云。

然后,你匹配来自两个(让说连续)帧,与匹配器,像一个蛮力海明距离匹配器,获得像速度向量的东西点。

https://www.youtube.com/watch?v=G8XAHLJR8A4

然后你申请一些算法像即插即用的求解,得到解释的相对摄像机运动的旋转平移矩阵。现在,您为每个功能都有一个3D位置矢量。

您可以选择从功能检测的地标,开始建立一个三维点云底图,各有其误差分布。然后你应用一些类似sba的包装调整。

这是低级别的起点。你会想要建立一个带有纹理的3D世界,你需要准确地关闭路径,你需要坚固的移动部件(如peolple,车辆)...

你所有梦想的,在这里等待由自己开发:)