【问题标题】:Augmented Reality - Using only GPS增强现实 - 仅使用 GPS
【发布时间】:2011-06-14 14:22:29
【问题描述】:

我正计划做一个 AR 应用程序,它只使用 GPS 技术来获取位置,然后使用指南针/陀螺仪来跟踪 6DOF 取景器的移动。它是我自己发展的个人项目,但我正在寻找起点,因为它对我来说是一个新领域,所以这可能是一个稍微开放的问题,有超过 1 个正确答案。通过使用 GPS,我希望以牺牲其准确性为代价来简单地开发我的第一个 AR 应用程序。

此 AR 的理念是不使用任何视觉处理(仅依赖 GPS),并在屏幕上显示 3d 模型,距离用户站立的位置大致正确(直到某个点)。这听起来很简单,因为游戏在 3D 世界中工作,具有要绘制的视点和面部/对象/模型等的位置。我的目标平台是可能运行这些操作系统的 WM6、Phone7 或 Android 之一的移动设备和平板电脑。

我见过的大多数应用程序都使用标记并使用 AR-ToolKit 或 ARTag,而那些使用 GPS 的应用程序往往只是在屏幕上显示一个兴趣点或一个平面框,以表明您在所需的位置。

我在 3D 图形编程方面做了一些非常有限的工作,但是你认为有没有什么库可以让我开始这方面的工作,而不是自下而上地构建所有东西。忽略 GPS 的低精度(关于 AR),我将在 3D 空间中定义一个点(由于 GPS 定位而不断移动),然后在同一 3D 空间中渲染一个 3D 模型的定义点。

我看到了一些类似的应用程序示例,但没有什么可以扩展的,所以任何人都可以建议从哪里开始使用可能适合我的项目的库。

【问题讨论】:

  • 我仍然无法理解如果 GPS 不那么准确,你怎么能依赖它。
  • @Andrey - 我将在项目过程中提高准确性。通过卫星提供的免费矫正服务,我可以获得从 15 米到 2-3 米的 GPS。然后我将使用其他技术进一步改进它,尽管此时可能需要使用视觉处理。精度取决于您要渲染的 3d 模型有多接近,因此使用标准 GPS 可以使用远处的摩天大楼,但如果您面前的人无法正常工作。我只是想看看我如何在 Java/.net 框架中启动这个项目。
  • @JonWillis 你的问题解决了吗?
  • @justchill 最后我刚刚使用 openGL 编写了自己的 3d 引擎。 GPS 定位很好,我使用的是带有 DGPS/RTK 校正的测量级天线,以将 GPS 精度降至 1 厘米

标签: android windows-mobile gps augmented-reality


【解决方案1】:

基于传感器的 AR 无需使用任何库即可从头开始。您所做的只是使用 6DOF 估计相机的位置,然后执行 perspective projection 将已知的 3D 点投影到相机的焦平面上。您使用传感器和 GPS 定义相机矩阵,并在每个新相机帧上执行投影。如果您启动并运行它,就足以开始将广告牌、图像等投影到相机框架中。

一旦您的针孔相机模型工作正常,您可以尝试补偿相机的广角镜头、镜头失真等。

对于计算相对距离,有haversine forumula

迁移到 3D 模型可能是最困难的部分。在移动设备上将相机帧引入 OpenGL 可能很棘手。我对 windows mobile 或 android 没有任何经验,所以我无能为力。

无论如何玩得开心,第一次在世界上看到你的虚拟元素真的很高兴!

【讨论】:

  • 感谢您提供有用的答案。我记得当我在 android 上的 open GL 中旋转我的第一个 3D 立方体时的喜悦,而当我尝试在 C# 中使用不同的库进行旋转时所感受到的痛苦是一场噩梦。我认为相机视点被认为是 3D 世界的原点,甚至 2D 模型都根据相机“粗略”位置的已知位置给出坐标,该位置来自传感器。
  • 是的,就是这样,相机是原点,您的世界定位对象会根据其 GPS 报告的位置定位在与手机的相对距离处。
  • 很高兴这是我的预期。您是否知道创建这些基于 GPS 的 AR 应用程序的教程或更详细的阅读。我想我会先从 POI 开始,然后转向 3d 模型,保持简单并随着时间的推移不断改进。
  • @JonWillis,嗯,我会尝试追踪一些。如果您想了解所有基础知识,这是一个很好的开始方式 - 只要您可以在决定迁移到 OpenGL 时放弃您的自制投影引擎。
  • 谢谢,我真的很感激。我希望能编写自己的引擎,但它是一个相当大的跳跃,所以想先做示例。这是我想做的,因为一旦我完成了我的 AR 项目,我希望在 OpenGL 或 DirectX 中做一个游戏。我已经在阅读有关 AR 的研究主题,并且已经阅读了大约 50 篇期刊/会议论文,其中还有更多要深入了解。
猜你喜欢
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多