来自 iPhone 默认(非激光雷达)摄像头的 3D 模型,例如房间的 3D 模型

目标

目标是根据iPhone的默认(非激光雷达)摄像头看到的内容制作3D模型,例如房间的3D模型

我是如何实现的

我设法获得了用于在太空中定位设备的特征点。在此步骤中,您已经可以通过格式导出它们,但我决定更深入。我使用了一个名为Open3D的c ++库,上面有python层,通过设备上从功能点创建网格。球旋转算法(这件事仍然让我大吃一惊)被用来使它成为可能。ARKit.plyPythonKit

结果

结果并不令人满意。由于点数非常大,因此计算需要太多时间。此外,生成的网格非常不精确,因为数字三角测量的精度(我在没有激光雷达的设备上从 ARKit 获得)很低。

点云
ARKit的点云可视化
网格结果
球旋转算法的网格结果

进一步的改进

  • Try to validate ARKit point cloud to improve accuracy
  • Minimize the computation time but still keep it on device

GitHub

点击跳转