2017-06-27 4 views
6

Mit iOS 11+ und ARKit können wir derzeit Ebenen auf horizontalen Oberflächen erkennen und diese Ebene auch auf der Oberfläche darstellen.Kann ARKit bestimmte Oberflächen als Ebenen erkennen?

Ich frage mich, ob wir durch eine Art Bilddatei bestimmte Oberflächen deklarieren können, in denen wir Flugzeuge erkennen wollen? (möglicherweise alle anderen Ebenen ignorierend, die ARKit von anderen Oberflächen erkennt)

- Wenn das nicht möglich ist, könnten wir dann vielleicht die erkannte Ebene erfassen (über ein Bild), zu der wir dann durch ein Core-ML-Modell verarbeiten könnten welche identifiziert diese spezifische Oberfläche?

+0

Um die in der Szene gefundenen Ergebnisse zu analysieren, haben wir anscheinend eine Liste von 'ARHitTestResult'-Objekten erhalten. Aber ich sehe nicht, wie wir daraus ein Bild machen können. https://developer.apple.com/documentation/arkit/arhittestresult – rambossa

Antwort

1

ARKit hat im Moment keine Unterstützung für solche Dinge. Sie können das als Bild erkannte Flugzeug tatsächlich erfassen und wenn Sie in der Lage sind, dies durch Kern-ML in Echtzeit zu erreichen, bin ich sicher, dass viele Leute daran interessiert wären!

Sie soll:

  • bekommen die 3D-Position der Ecken der Ebene
  • ihre 2D-Position in dem Rahmen finden, mit sceneView.projectPoint
  • den Rahmen Auszug aus den currentFrame.capturedImage
  • eine tun affine Transformation auf dem Bild mit dem Ihr Flugzeug verlassen werden, auf ein Rechteck vorprojiziert
  • machen Sie einige ML/Bildverarbeitung, um eine Übereinstimmung zu finden

Beachten Sie, dass die ARKit-Rechteckerkennung oft nicht gut ausgerichtet ist und nur einen Teil der gesamten Ebene haben kann. Die Punkte, die ARKit entlarvt, sind leider nicht nützlich, da sie keine Eigenschaften enthalten, die für die Übereinstimmung von Feature-Punkten über Frames hinweg verwendet werden, und Apple hat nicht gesagt, welchen Algorithmus sie verwenden, um ihre Feature-Punkte zu berechnen.

+0

danke nochmal @guig – rambossa

+0

Ich denke, Apple hat eine Demo-App mit QR-Code-Extraktion, wo die affine Transformation die 2D-Ecken bilden, aber ich konnte mich nicht erinnern, wo ich sah es. – Guig