首页 > 解决方案 > Scanning Real-World Object and generating 3D Mesh from it

问题描述

ARKit app allows us to create an ARReferenceObject, and using it, we can reliably recognize the position and orientation of the real-world objects. But also we can save the finished .arobject file.

enter image description here

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

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

My question:

Is there a method that allows us to reconstruct digital 3D geometry (low-poly or high-poly) from the .arobject file using Poisson Surface Reconstruction or Photogrammetry?

标签: swiftaugmented-realityscenekitarkitrealitykit

解决方案


您用Apple 文档中的引用回答了您自己的问题:

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

如果您运行该示例代码,您可以亲眼看到它在扫描期间和测试识别之后创建的参考对象的可视化——它只是一个稀疏的 3D 点云。Apple 的 API 为您提供的内容当然没有摄影测量,而且在恢复网格中的真实结构方面也没有太多工作要做。

这并不是说这样的努力是不可能的——已经有一些第三方演示 了基于 ARKit 之上的摄影测量实验

1.这不是使用 ARKit 2 对象扫描,只是原始像素缓冲区和来自ARFrame.

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


推荐阅读