【问题标题】:Create ARReferenceObject manually from a point cloud从点云手动创建 ARReferenceObject
【发布时间】:2019-03-31 07:37:46
【问题描述】:

我的想法是获取一个点云(例如一个 xyz 文件)并从中创建一个 ARReferenceObject 并使用它来进行对象检测。因此,与其先扫描对象并使用创建的对象引用,不如使用我自己的点云来使用 ARKit 2.0 进行对象检测。

Apple 文档中有一些关于 rawFeaturePoints 的内容,即 ARPointCloud。我看到ARPointCloud 有一个名为points 的属性,这是一个vector_float3 数组,不幸的是它是只读的。我找不到手动创建ARReferenceObject 的方法,所以我尝试了示例Scanning and Detecting 3D Objects 中的源代码。

我扫描了一个 3D 对象并导出了生成的 .arobject 文件,这是一个 zip 存档。打开包装后,我修改了trackingData.cv3dmap,但放弃了。看起来像一种专有文件格式,我不太喜欢对格式进行逆向工程。

现在我的问题是,是否有另一种解决方案可以从我自己的点云创建.arobject 文件或ARReferenceObject?或者也许有一种更好的方法可以基于已经可用的点云进行对象检测。

【问题讨论】:

    标签: ios swift object-detection arkit point-clouds


    【解决方案1】:

    没有。

    在 WWDC18 的 Apple 工程师看来,对象扫描不仅仅是特征点。 ARReferenceObject 公开了一个特征点数组,以提供您可以可视化和推理的扫描结果的表示,但这只是 ARKit 保存在参考对象中并用于识别的数据的一部分。据 Apple 公开表明,这些数据及其生成方式仍然是专有的。

    (此外,创建ARReferenceObject 和创建.arobject 文件之间没有实际区别——后者本质上是前者的序列化二进制版本。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 2017-10-30
      相关资源
      最近更新 更多