как повысить чувствительность обнаружения 3D объектов ARKit - PullRequest
0 голосов
/ 04 ноября 2019

Я создал приложение для распознавания 3D-объектов, используя ARKit, и оно работает нормально .... но только для более сложных фигур. Когда я создаю файл USDZ с помощью демонстрационного кода от Apple, демонстрационное приложение распознает менее сложные формы, но я не могу заставить свое приложение распознавать те же самые формы. Конфигурационный код AR у меня такой же, и _Renderer didAdd. Может кто-нибудь помочь мне с идеями, как повысить чувствительность обнаружения 3D-объектов, чтобы он распознавал более простые формы - например, бутылку Coca Cola 2 л? Заранее спасибо за любые идеи.

 func initARSession() {

  guard ARWorldTrackingConfiguration.isSupported else {
    statusLabel.text = "ARConfig: AR World Tracking Not Supported"
    return
  }
  let config = createARConfiguration()
  sceneView.session.run(config)
}

func createARConfiguration() -> ARConfiguration {

    let config = ARWorldTrackingConfiguration()

    guard let referenceObjects = ARReferenceObject.referenceObjects(inGroupNamed: "ARObjects", bundle: nil) else {
            fatalError("Missing expected asset catalog Object resources.")
        }
        config.detectionObjects = referenceObjects
        config.planeDetection = .horizontal
        config.worldAlignment = .gravityAndHeading
        config.isLightEstimationEnabled = true
    }

    return config
}

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {

    guard let objectAnchor = anchor as? ARObjectAnchor else {return}

    let foundObjectName = objectAnchor.referenceObject.name
    print("foundObject: \(String(describing: foundObjectName!))")
}
...