扫描真实世界对象并从中生成 3D 网格

Scanning Real-World Object and generating 3D Mesh from it

ARKit 应用程序允许我们创建一个 ARReferenceObject,并使用它,我们可以可靠地识别现实世界对象的位置和方向。但我们也可以保存完成的 .arobject 文件。

然而,ARReferenceObject仅包含 ARKit 识别现实世界对象所需的空间特征信息,而不是该对象的可显示 3D 重建。

func createReferenceObject(transform: simd_float4x4, 
                              center: simd_float3, 
                              extent: simd_float3, 
                   completionHandler: (ARReferenceObject?, Error?) -> Void)

我的问题:

有没有一种方法可以让我们使用 Poisson Surface Reconstruction.arobject 文件重建数字 3D 几何体(低多边形或高多边形)或 Photogrammetry?

你用一句话回答了你自己的问题from Apple's documentation:

An ARReferenceObject contains only the spatial feature information needed for ARKit to recognize the real-world object, and is not a displayable 3D reconstruction of that object.

如果您 运行 sample code,您可以亲眼看到它在扫描期间和测试识别后创建的参考对象的可视化 — 它只是一个稀疏的 3D 点云。 Apple 的 API 为您提供的肯定没有摄影测量,而且在恢复网格中的逼真结构方面也没什么可做的。

这并不是说这样的努力是不可能的——已经有一些第三方 demoing Here 基于 ARKit 的摄影测量实验。但是

1. 这不是使用 ARKit 2 对象扫描,只是来自 ARFrame.

的原始像素缓冲区和特征点

2. 这些演示中的外推水平需要 非平凡的原始研发,因为它远远超出了那种信息 ARKit 本身供应。

RealityKit 2.0 |对象捕获 API

Object Capture API 在 WWDC 2021 上宣布,为您提供了期待已久的摄影测量工具。在输出中我们得到具有高分辨率纹理的 USDZ 模型。

了解摄影测量 HERE

增强现实工具包 |网格重建

将iOS设备与激光雷达和ARKit 3.5/4.0/5.0结合使用,您可以轻松重建周围环境的拓扑图。场景重建功能在启动当前 ARSession 后立即开始工作。

Apple LiDAR 在 5 米范围内工作。扫描仪可以帮助您提高 ZDepth 通道的质量,以及 People/Real 世界对象遮挡、运动跟踪、即时物理接触体和光线投射等功能。

LiDAR 扫描仪的其他出色特性是:

  • 您可以在光线较暗的房间内使用您的设备
  • 你可以跟踪没有任何特征的纯白墙
  • 你几乎可以瞬间发现飞机

考虑到当您使用 LiDAR 时扫描对象的质量不如您预期的好。不扫描小细节。那是因为Apple LiDAR的分辨率不够高。