【问题标题】:Which method should be used to achieve the most accurate world tracking experience on ARKit?在 ARKit 上应该使用哪种方法来实现最准确的世界追踪体验?
【发布时间】:2019-03-24 17:02:52
【问题描述】:

我的公司正在使用 ARKit 为客户开发增强现实应用,他们希望在 iOS 上获得最佳的世界追踪体验。我们告诉他们,这不是一门精确的科学,微小的变化是完全正常的,但他们希望我们尽一切可能将全息图的错误、漂移和移动降至最低。

我们已经在 Unity 上测试了一些 ARHitTestResult 示例和其他一些使用 ARImageAnchor 的示例,但我们无法确定哪个是最好的。似乎使用ARImageAnchor 可以改善跟踪,但我不确定这是否真的如此,或者这只是一种视觉错觉。

什么是最好的 - ARImageAnchor 与普通的 ARAnchor

请就此事提出建议或分享任何 Unity/Apple 文档。

谢谢。

【问题讨论】:

    标签: swift unity3d augmented-reality arkit aranchor


    【解决方案1】:

    ARKit 中的任何锚点(ARFaceAnchorARImageAnchorARPlaneAnchor 等)都继承自 ARAnchor 类,在某些情况下还继承自 ARTrackable 协议。

    ARKit 中的每个锚点都有其特殊用途(例如,ARPlaneAnchor 是 ARAnchor 的特殊版本,用于平面检测过程)。我不认为一个锚比另一个更精确。

    因此,您只需要良好的照明条件可区分的 3D 表面,即可获得可靠的跟踪结果和它们上面的高对比度纹理。此外,预先保存的 ARWorldMap 也是获得持久 AR 体验的好方法。

    在跟踪场景时不要使用重复的纹理/对象图案纯色表面。此外,为了获得最佳跟踪结果,即使是轻微移动的对象也不要跟踪。您只需要静态环境。

    我应该说,所有 Apple 设备都经过良好校准,可提供可靠且精确的 AR 体验。


    附言

    关于 ARWorldTrackingConfiguration()ARImageTrackingConfiguration() 的一些提示。

    如果您在 6 DOF ARWorldTrackingConfiguration() 中启用图像识别选项,您将获得 ARImageAnchor 对象(对于每个检测到的图像),这只是关于在世界跟踪 AR 会话中检测到的图像的位置和方向的信息。这不会提高世界跟踪的精度,但会显着减慢处理速度。

    guard let refImgs = ARReferenceImage.referenceImages(inGroupNamed: "ARGroup", 
                                                              bun dle: nil) else {
        fatalError("Missing expected resources.")
    }
    
    let configuration = ARWorldTrackingConfiguration()
    configuration.detectionImages = refImgs
    configuration.maximumNumberOfTrackedImages = 3
    session.run(configuration, options: [.resetTracking, 
                                         .removeExistingAnchors])
    

    启用图像跟踪的world-tracking session 只能同时跟踪少量图像。您可以使用ARImageTrackingConfiguration 跟踪更多图像。但是随着检测图像数量的增加,图像检测的准确性和性能会大大降低。为获得最佳效果,一组图片不要超过 20-25 张。

    ARImageTrackingConfiguration():

    通过ARImageTrackingConfiguration,ARKit 建立 3D 空间不是通过跟踪设备相对于世界的运动,而是仅通过检测和跟踪摄像头视野中已知 2D 图像的运动。 Image-only tracking 允许您将虚拟内容锚定到已知图像,仅当这些图像在相机视野中时。 World tracking with image detection 让您可以使用已知图像将虚拟内容添加到 3D 世界,并且即使在图像不再可见后仍继续跟踪该内容在世界空间中的位置。 World tracking 在稳定、不动的环境中效果最佳。在更多情况下,您可以使用仅图像跟踪向已知图像添加虚拟内容,例如,移动的地铁车厢内的广告。

    结论:在您的场景中使用ARImageAnchors 不会为世界跟踪结果增加额外的质量层。查看Recognizing Images in an AR Experience文章了解详细信息。

    【讨论】:

      猜你喜欢
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 2017-12-28
      • 2011-11-29
      • 1970-01-01
      相关资源
      最近更新 更多