ARKit 与 ARCore - 定位

ARKit vs ARCore - Orientation

我有一个关于 ARKit 和 ARCore 的问题。

我正在开发一个 Unreal Engine 结合内置增强现实的应用程序。 Android 手机使用 ARCore,iOS 设备使用 ARKit。

现在,我观察到的是: 我有一个虚拟世界,我可以很好地通过它。但是现在例如我失去了跟踪能力(例如我正在看一堵白墙或者我只是把手放在相机前面) Android-Devices 失去了跟踪能力 and方向。这意味着整个世界都被卡住了。如果我用 iPhone 这样做,我就失去了跟踪能力。

我发现了类似这样的东西,它比较了 ARKit 和 ARCore。

对于 ARKit:

运动跟踪:ARKit 可以根据相机使用视觉惯性里程计 (VIO) 捕获的实时帧中的真实对象,不变且准确地跟踪设备的定位。这允许设备捕获运动传感器数据,记录设备的实时位置。

对于 ARCore:

运动跟踪:ARCore 跟踪和解释 IMU(惯性测量单元)数据,这与 VIO 随附的 ARKit 不同。完全不同的是,它还测量周围物体的形状、构造和特征,以检测和识别正在使用的 Android 设备的正确位置和方向。

Source: https://www.itfirms.co/arkit-vs-arcore-how-they-compare-against-each-other/

在 ARKit 运动跟踪的描述中没有关于方向的内容

谁能用其他容易理解的话解释一下为什么 ARKit 在这种情况下不会失去定位能力?

提前致谢

从技术上和概念上讲,这两种方法是相同的。与文章所说相反,

interprets IMU (Inertial Measurement Unit) data unlike ARKit that goes with VIO

ARKit 解释图像特征(视觉)和 IMU 数据(惯性)并将它们融合以获得位置随时间的变化(里程计)-> 视觉惯性里程计

ARCore 解释图像特征和 IMU 数据并将它们融合以获得位置随时间的变化 -> 视觉惯性里程计

所以方法和基本概念是相同的。不同的是实现。我认为这只是一个决定,如果跟踪系统的视觉部分出现故障,该怎么做。 Apple 似乎决定继续使用 IMU(它仍然可以跟踪方向),而 Google 决定停止整个跟踪框架(也许你已经注意到,在你覆盖 ARCore 相机后,你有大约 1 秒的时间其中跟踪对方向变化做出反应。只有在超时后,跟踪才会完全停止)