Augmented Reality SDK mit OpenCV [geschlossen]

Ich entwickle ein Augmented Reality SDK auf OpenCV. Ich hatte einige Probleme, Tutorials zu diesem Thema zu finden, welche Schritte zu befolgen sind, mögliche Algorithmen, schnelles und effizientes Codieren für Echtzeit-Performance usw.

Bisher habe ich die nächsten Informationen und nützliche Links zusammengestellt.

OpenCV-Installation

Herunterladenneueste Release-Version.

Sie finden InstallationsanleitungenHier (Plattformen: Linux, Mac, Windows, Java, Android, iOS).

OnlineDokumentation.

erweiterte Realität

Für AnfängerHier ist ein einfacher Augmented Reality Code in OpenCV. Es ist ein guter Anfang.

Für alle, die nach einem gut gestalteten SDK auf dem neuesten Stand der Technik suchen, habe ich einige allgemeine Schritte gefunden, die jede Augmented Reality basierend auf Marker Tracking unter Berücksichtigung der OpenCV-Funktionen haben sollte.

Hauptprogramm: Erstellt alle Klassen, Initialisierung,Erfassung Frames aus Video.

AR_Engine-Klasse: Steuert die Teile einer Augmented Reality-Anwendung. Es sollte 2 Hauptzustände geben:

Erkennung: versucht, den Marker in der Szene zu erkennenVerfolgung: Verwendet, sobald es erkannt wurde, niedrigere Rechentechniken, um den Marker in kommenden Frames zu verfolgen.

Außerdem sollten in jedem Bild einige Algorithmen zum Ermitteln der Position und Ausrichtung der Kamera vorhanden sein. Dies wird erreicht, indem die Homographietransformation zwischen dem in der Szene erkannten Marker und einem 2D-Bild des Markers, den wir offline verarbeitet haben, erfasst wird. Die Erklärung dieser MethodeHier (Seite 18). Die Hauptschritte für Pose Estimations sind:

Kameraeigene Parameter laden. Wurde zuvor offline durch Kalibrierung extrahiert.

Laden Sie das Muster (marker) to track: Dies ist ein Bild des planaren Markers, den wir verfolgen werden. Es ist notwendig, Features zu extrahieren und Deskriptoren zu generieren (Schlüsselpunkte) für dieses Muster können wir später mit Merkmalen aus der Szene vergleichen. Algorithmen für diese Aufgabe:

SIEBENSCHNELLSURFEN

Führen Sie für jedes Frame-Update einen Erkennungsalgorithmus für ausExtrahieren von Features aus der Szene und Deskriptoren generieren. Auch hier haben wir mehrere Möglichkeiten.

SIEBENSCHNELLSURFENFREAK: Eine neue Methode (2012) soll die schnellste sein.ORB

FindenStreichhölzer zwischen Muster und Szenendeskriptoren.

FLANN Matcher

FindenHomographie Matrix aus diesen Übereinstimmungen. RANSAC kann zuvor verwendet werden, um In- / Outliers in den Übereinstimmungen zu finden.

ExtraktKamerahaltung aus der Homographie.

Beispielcode aufPose aus der Homographie.Beispielcode aufHomographie von der Haltung.Vollständige Beispiele:arucoMastering von OpenCV-Samples

Antworten auf die Frage(2)

Ihre Antwort auf die Frage