ARCore使用什么传感器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARCore使用什么传感器?相关的知识,希望对你有一定的参考价值。

ARCore使用哪些传感器:兼容手机中的单摄像头,双摄像头,IMU等?

另外,如果通过切换到不太准确的版本,传感器不可用,那么ARCore是否足够动态?

答案

更新。

Google的ARCore以及Apple的ARKit使用相同类型的传感器来跟踪现实世界的场景。 ARCore使用单个RGB相机和IMU设备,什么是加速度计,磁力计和陀螺仪的组合。您的手机可以在30fps(现在)/ 60fps(现在)/ 120fps(在不久的将来)使用ARCore的3D跟踪。顺便说一下,惯性测量单元可以在高达1000Hz下运行。

阅读Google关于COM方法的内容,建立在Camera + IMU上:

Concurrent Odometry and Mapping - 电子设备跟踪其在环境中的运动,同时构建环境的三维视觉表示,用于跟踪运动中的correct drift

虽然在前几年谷歌倾向于Multicam + Depth-cam设置(在Tango系统),现在它倾向于Single-cam + IMU系统。

这是Google US15595617专利:System and method for concurrent odometry and mapping

我们都知道android设备的最大问题是校准。 ios设备没有此问题(因为Apple控件和硬件和软件)。低质量的校准会导致3D跟踪错误,因此您的所有虚拟3D对象都可能会“漂浮”在跟踪不佳的场景中。因此,对于不良追踪(and you can't switch to a less accurate version of tracking)没有神奇的按钮。在这种情况下,唯一的解决方案是从头开始重新跟踪您的场景。

良好跟踪结果的三个主要规则是:

  1. 跟踪你的场景不要太快,不要太慢。
  2. 跟踪appropriate surfaces和对象。
  3. 跟踪时使用光线充足的环境。

那么在ARCore的双摄像头设置呢?我必须给你两个针对ARCore的两个摄像头的论据。

第一个论点:ARCore的下一个最大问题(那也是ARKit问题)是Energy Impact。我们知道帧率越高 - 跟踪结果越好。但是30 fps的能量影响是HIGH,而60 fps则是VERY HIGH。这种能源冲击将迅速耗尽智能手机的电池(由于CPU / GPU的巨大负担)。所以,想象一下你为ARCore使用2个摄像头 - 你的手机必须以60 fps并行处理2个高分辨率图像序列,以及处理和存储跟踪功能和AR锚点,同时,手机必须同时渲染具有高分辨率纹理的动画3D图形,速度为60 fps。这对你的CPU / GPU来说太过分了。在这种情况下,电池将在15分钟内死亡,并且会像太阳一样热。在我看来,用户不喜欢它,因为这是一个糟糕的AR体验。

第二个论点:谷歌生产单镜头Pixels并开发ARCore。谷歌认为Pixel 2和Pixel 3主要rear camera的第二个镜头是“不必要的”。它为第二台相机实现了什么?因此,双摄像头手机在单摄像头手机上应该没有优势。谷歌必须出售他们的单镜头像素,并大力运行ARCore。为双镜头手机优化ARCore超出了谷歌的范围。你不这么认为吗?

以上是关于ARCore使用什么传感器?的主要内容,如果未能解决你的问题,请参考以下文章

AR ANDROID的室内位置映射

kotlin-从一个片段更改多个片段的小数位

ARCore + 定位服务

代码显示谷歌计划将ARCore集成到Chrome OS

ARCore增强现实开发实战

统一的 ARCore 与 Sceneform 功能/用例?