augmented-reality - ARKit 或 ARCore 使用什么算法来检测平面?

标签 augmented-reality arkit arcore

我正在创建简单的 AR 应用程序,并且我使用了 ARCore 和 ARKit。我对现实世界中虚拟物体定位的准确性印象深刻,因为我玩的手机没有深度传感器也没有多个摄像头,所以我想知道:
这些 SDK 为平面检测实现了什么算法?

最佳答案

Basically, ARCore uses a technique called Concurrent Odometry and Mapping (COM) and ARKit uses a technique called Visual-Inertial Odometry (VIO) to understand where the smartphone is relative to the real environment around it.



第一阶段 – 运动追踪 – 每部智能手机都结合了来自 的视觉数据RGB camera sensor (以 60 fps)和来自 的运动数据accelerometer and gyroscope sensors (以 1000 fps)计算高对比度的位置 feature points使用 parallax formula .该信息允许 ARCore 和 ARKit 在六个自由度 (6 DoF) 中获得虚拟相机的位置和方向。

下一阶段——场景理解 – 帮助 ARCore 和 ARKit 了解几个特征点(即稀疏点云)共面的位置 – 因此,让智能手机找出检测到的平面的位置。

最后一个 ARCore 的舞台是 光估计而最后一个 ARKit 的舞台是 渲染 ( you don't even need to import SceneKit 因为 ARKit 包含所有必要的 SceneKit 类 - 看看这个)。

As you can see, there's no need for manufacturer to supply a smartphone with multiple RGB cameras or with Depth rear camera because just one RGB sensor with IMU sensor can do the job.

关于augmented-reality - ARKit 或 ARCore 使用什么算法来检测平面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60563365/

相关文章:

iphone - 如何在没有陀螺仪的设备上创建 CMRotationMatrix

ios - 如何为 ARKit 创建场景文件?

安卓 ARCore : Change the default gestures for translation and rotation

android - 在 ARCore 中始终旋转的垂直平面上添加的对象

android - 在哪里可以找到适用于 Android 的开源增强现实框架?

java - 如何在不点击屏幕的情况下放置物体 - Android AR

android - Metaio - 基于 3d 模型的跟踪

ios - 是否可以在模拟器中运行 ARKit?

ios - ARKit 有没有办法识别被触摸的节点?

android - ARCore 与 OpenCV