Überblick über Positionierungsmethoden und -technologien für die virtuelle Realität
Die Positionsverfolgung ist eine Kombination aus Hardware und Software, mit der Sie die absolute Position eines Objekts im Raum bestimmen können. Diese Technologie ist entscheidend, um den Effekt des Eintauchens in die virtuelle Realität zu erzielen. In Kombination mit Orientierungsverfolgung können alle 6 Freiheitsgrade (6-DoF) der realen Welt gemessen und an VR übertragen werden. Während der Arbeit mit Virtual-Reality-Technologien in unserem Unternehmen haben wir einige Erfahrungen in diesem Bereich gesammelt und möchten diese teilen, indem wir über die vorhandenen Möglichkeiten zur Verfolgung der Situation für Virtual-Reality sowie die Vor- und Nachteile einer Lösung sprechen.Kleine Klassifizierung
Die Methoden und Ansätze zur Lösung dieses Problems können in mehrere Gruppen unterteilt werden:- Akustisch
- Radiofrequenz
- Magnetisch
- Optisch
- Trägheit
- Hybrid
Die menschliche Wahrnehmung stellt hohe Anforderungen an Genauigkeit (~ 1 mm) und Verzögerungen (<20 ms) bei BP-Geräten. Optische und Trägheitsverfahren kommen diesen Anforderungen am nächsten und werden am häufigsten zusammen verwendet, um sich gegenseitig zu ergänzen. Betrachten Sie die Grundprinzipien, auf denen die oben genannten Methoden basieren.Akustische Methoden
Akustische Verfolgungsgeräte verwenden Ultraschallschallwellen (hochfrequente Schallwellen), um die Position und Ausrichtung des Zielobjekts zu messen. Um die Position des Objekts zu bestimmen, wird die Ankunftszeit der Schallwelle vom Sender zu den Empfängern oder die Phasendifferenz der sinusförmigen Schallwelle während des Empfangs und Sendens gemessen . Unternehmen Intersense Entwicklungseinrichtung Positionsverfolgung auf Basis von Ultraschall.Akustische Tracker haben aufgrund der geringen Schallgeschwindigkeit in der Luft im Allgemeinen eine niedrige Bildwiederholfrequenz. Ein weiteres Problem besteht darin, dass die Schallgeschwindigkeit in der Luft von Umgebungsfaktoren wie Temperatur, Luftdruck und Luftfeuchtigkeit abhängt.RF-Methoden
Es gibt viele Methoden, die auf Funkfrequenzen basieren. In vielerlei Hinsicht ähneln sie nach den Prinzipien der Positionsbestimmung akustischen Verfolgungsmethoden (der Unterschied liegt nur in der Art der Welle). Am vielversprechendsten sind derzeit UWB-Methoden (Ultra-Wide Band), aber selbst bei den besten auf UWB basierenden Lösungen erreicht die Genauigkeit nur etwa einen Zentimeter ( DW1000 von DecaWave , Dart von Zebra Technologies , Serie 7000 von Ubisense und andere). Vielleicht können Startups wie Pozyx oder IndoTraq in Zukunft eine Genauigkeit von weniger als einem Millimeter erreichen. UWB-Positionsverfolgungslösungen sind jedoch noch nicht auf die virtuelle Realität anwendbar.Andere Verfahren zur Positionierung bei Funkfrequenzen werden hier ausführlicher beschriebenArtikel .Magnetische Methoden
Die magnetische Verfolgung basiert auf der Messung der Intensität des Magnetfelds in verschiedene Richtungen. In solchen Systemen gibt es in der Regel eine Basisstation, die ein wechselndes oder konstantes Magnetfeld erzeugt. Da die Stärke des Magnetfelds mit zunehmendem Abstand zwischen Messpunkt und Basisstation abnimmt, können Sie den Standort des Reglers bestimmen. Wenn sich der Messpunkt dreht, ändert sich die Verteilung des Magnetfelds entlang verschiedener Achsen, wodurch Sie die Ausrichtung bestimmen können. Die bekanntesten Produkte, die auf magnetischer Verfolgung basieren, sind der Razer Hydra- Controller und das STEM- System von Sixense.Die Genauigkeit dieses Verfahrens kann unter kontrollierten Bedingungen recht hoch sein (die Hydra-Spezifikationen beziehen sich auf 1 mm Positionsgenauigkeit und 1 Grad Orientierungsgenauigkeit). Die magnetische Verfolgung unterliegt jedoch Interferenzen durch leitende Materialien in der Nähe des Emitters oder Sensors, durch Magnetfelder, die von anderen elektronischen Geräten erzeugt werden, und durch ferromagnetische Materialien im Verfolgungsraum.Optische Methoden
Optische Methoden sind eine Kombination aus Computer-Vision-Algorithmen und Tracking-Geräten, zu denen sichtbare oder Infrarotkameras, Stereokameras und Tiefenkameras gehören.Abhängig von der Wahl des Referenzsystems gibt es zwei Ansätze zur Positionsverfolgung:
- Ein Outside-In- Ansatz impliziert die Anwesenheit eines festen externen Beobachters (Kamera), der die Position eines sich bewegenden Objekts anhand charakteristischer Punkte bestimmt. Wird in Oculus Rift (Constrellation), PSVR, OSVR und vielen Motion Capture-Systemen verwendet.
- Der Inside-Out- Ansatz setzt das Vorhandensein eines optischen Sensors auf einem sich bewegenden Objekt voraus, wodurch es möglich ist, die Bewegung relativ fester Punkte im umgebenden Raum zu verfolgen. Wird in Microsoft Hololens, Project Tango (SLAM) und SteamVR Lighthouse verwendet (eine Hybridoption, da es Basisstationen gibt).
Abhängig von der Verfügbarkeit spezieller optischer Marker werden diese außerdem separat isoliert:- Die markerlose Verfolgung basiert normalerweise auf komplexen Algorithmen mit zwei oder mehr Kameras oder Stereokameras mit Tiefensensoren.
- , . ( , ), QR-. .
Perspective-n-Point (PnP)
Mit der optischen Verfolgung wird das sogenannte PnP-Problem (Perspective-n-Point) gelöst, um die Position eines Objekts im Raum zu bestimmen, wenn die Position eines Objekts im 3D-Raum aus der perspektivischen Projektion des Objekts auf die Ebene des Kamerasensors bestimmt werden muss.
Für ein gegebenes 3D-Modell des Objekts und eine 2D-Projektion des Objekts auf die Kameraebene wird ein Gleichungssystem gelöst. Als Ergebnis werden viele mögliche Lösungen erhalten. Die Anzahl der Entscheidungen hängt von der Anzahl der Punkte im 3D-Modell des Objekts ab. Eine eindeutige Lösung zur Bestimmung der 6-DoF-Position eines Objekts kann mit mindestens 4 Punkten erhalten werden. Für ein Dreieck werden 2 bis 4 mögliche Lösungen erhalten, dh die Position kann nicht eindeutig bestimmt werden:
Die Lösung wird durch eine ausreichend große Anzahl von in Bibliotheken implementierten Algorithmen vorgeschlagen:SLAM - Simultane Lokalisierung und Zuordnung
Die Methode der simultanen Lokalisierung und Kartenerstellung (SLAM) ist die beliebteste Positionierungsmethode in der Robotik (und nicht nur), mit der die Position im Raum verfolgt wird.
Der Algorithmus besteht aus zwei Teilen: Der erste ist die Abbildung einer unbekannten Umgebung basierend auf Messungen (Daten von einem Kilometerzähler oder einer Stereokamera), der zweite ist die Bestimmung ihres Standorts (Lokalisierung) im Raum basierend auf einem Vergleich aktueller Messungen mit einer vorhandenen Weltraumkarte. Dieser Zyklus wird kontinuierlich neu berechnet, während die Ergebnisse eines Prozesses an den Berechnungen eines anderen Prozesses beteiligt sind. Die beliebtesten Methoden zur Lösung des Problems sind ein Partikelfilter und ein fortschrittlicher Kalman-Filter. Tatsächlich ist SLAM ein ziemlich umfangreiches Thema und nicht nur ein spezifischer Algorithmus. Die Analyse aller vorhandenen Lösungen zu diesem Thema stützt sich auf einen separaten Artikel.SLAM ist praktisch für mobile Virtual- und Augmented-Reality-Lösungen. Der Nachteil dieses Ansatzes ist jedoch die große Rechenkomplexität, die in Verbindung mit anspruchsvollen VR / AR-Anwendungen die produktiven Ressourcen des Geräts stark belastet.Project Tango von Google und Microsoft Hololens sind die bekanntesten SLAM-basierten Projekte für mobile Geräte. Unterstützung für SLAM-basiertes Tracking wird auch für kürzlich angekündigte Produkte von Intel ( Project Alloy ) und Qualcomm ( VR820 ) erwartet .Unter Open-Source-Lösungen können wir zwischen ORB-SLAM , LSD-SLAM und PTAM-GPL unterscheiden .Trägheitsverfolgung
Moderne Trägheitsmesssysteme ( IMUs ), die auf der MEMS-Technologie basieren, ermöglichen es Ihnen, die Ausrichtung (Rollen, Neigen, Gieren) im Raum mit großer Genauigkeit und minimalen Verzögerungen zu verfolgen.
Dank der Sensorfusionsalgorithmen, die auf einem Komplementärfilter oder Kalman-Filter basieren , korrigieren sich die Daten von Gyroskop und Beschleunigungsmesser erfolgreich gegenseitig und bieten Genauigkeit sowohl für Kurzzeitmessungen als auch für einen langen Zeitraum.Die Bestimmung von Koordinaten (Verschiebung) aufgrund der doppelten Integration der Linearbeschleunigung ( Dead Reckoning)), berechnet aus den Rohdaten des Beschleunigungsmessers, erfüllt die Genauigkeitsanforderungen für lange Zeiträume nicht. Der Beschleunigungsmesser selbst liefert sehr verrauschte Daten, und wenn er integriert ist, steigt der Fehler mit der Zeit quadratisch an.Die Kombination des Trägheitsansatzes zur Verfolgung mit anderen Methoden, die die sogenannte Beschleunigungsmesserdrift periodisch korrigieren, hilft, dieses Problem zu lösen.Hybridmethoden
Da keine der Methoden fehlerfrei ist und alle ihre Schwachstellen haben, ist es am sinnvollsten, verschiedene Verfolgungsmethoden zu kombinieren. So kann Inertial Tracking (IMU) eine hohe Datenaktualisierungsrate (bis zu 1000 Hz) liefern, während optische Methoden über lange Zeiträume eine stabile Genauigkeit liefern können (Driftkorrektur).Hybrid-Tracking-Methoden basieren auf " Sensor Fusion " -Algorithmen , von denen der Extended Kalman Filter ( EKF ) am beliebtesten ist .Wie funktioniert SteamVR Lighthouse?
Das HTC Vive Tracking-System besteht aus zwei Basisstationen, optischen Sensoren und Trägheitsmesseinheiten (IMUs) in den Steuerungen und im Helm. Basisstationen bestehen aus zwei rotierenden Lasern und einer Reihe von Infrarot-LEDs. Einer der Laser dreht sich vertikal, der zweite horizontal. Somit "scannen" die Laser wiederum den umgebenden Raum. Basisstationen arbeiten synchron: Zu einem bestimmten Zeitpunkt „scannt“ nur einer der vier Laser den Verfolgungsraum. Um den Betrieb des gesamten Systems zwischen jedem Einschalten des Lasers zu synchronisieren, wird der gesamte umgebende Raum durch einen Infrarotlichtimpuls beleuchtet.Sensoren an den Controllern und am Helm zeichnen alle optischen Impulse von den Basisstationen auf und messen die Zeit zwischen ihnen. Da die Lasergeschwindigkeit im Voraus bekannt ist (60 Hz), können die Drehwinkel jedes der Strahlen aus der Zeit zwischen den Impulsen berechnet werden. Was uns die 2D-Koordinaten des optischen Sensors gibt, wenn Sie die relative Position der Sensoren auf dem Controller kennen, können Sie die 3D-Position des Controllers im Raum einfach wiederherstellen (PnP-Aufgabe). Bei gleichzeitiger Sichtbarkeit von zwei Basisstationen kann die 3D-Position des Controllers aus dem Schnittpunkt zweier Strahlen berechnet werden, was genauere Ergebnisse liefert und weniger Berechnungen erfordert. Der Verfolgungsprozess wird im Folgenden deutlicher dargestellt.Vor einem Monat gab Valve bekannt, dass es sein Tracking-System für Drittentwickler öffnen werde. Mehr dazu lesen Sie hier .Welche Methode zur Positionsverfolgung im Weltraum ist Ihrer Meinung nach für Virtual / Augmented Reality am vielversprechendsten?Dies ist der erste Artikel in einer Reihe über BP-Technologen. Wenn Interesse besteht, werden wir sie weiter schreiben.PS Warum gibt es keinen Virtual-Reality-Hub?Source: https://habr.com/ru/post/de397757/
All Articles