Object Tracking und Motion Tracking kombinieren
Dieser Artikel beschreibt, wie 3D Object Tracking mit dem Motion Tracking des Geräts fusioniert wird, um Tracking-Stabilität und Benutzererlebnis in komplexen Szenarien zu verbessern.
Grundprinzip
Motion Fusion kombiniert Pose-Daten aus 3D Object Tracking und Geräte-Motion-Tracking, um eine robustere Pose-Schätzung zu erreichen.
Datensynchronisierung und Ergänzung
- Visuelles Tracking: Berechnet die Pose des aktuellen Frames (Position + Rotation) durch Abgleich von Bildmerkmalspunkten, wird aber leicht durch Verdeckung, Unschärfe oder schnelle Bewegung beeinflusst.
- Motion Tracking: Nutzt hochfrequente IMU-Sensorausgaben sowie visuelle Bildausgaben, um Gerätbewegungsdaten zu erhalten, kann jedoch kumulative Driftfehler aufweisen.
- Motion Fusion:
- Die Pose des visuellen Trackings und die Pose des Geräte-Motion-Trackings werden im Koordinatensystem ausgerichtet.
- Wenn das Zielobjekt klar sichtbar ist und sich stabil bewegt, dominiert das visuelle Tracking; seine Pose wird fortlaufend zur Korrektur in das Fusion-Modul eingespeist, um kumulative Drift zu reduzieren.
- Wenn das Zielobjekt verloren geht, im Bild zu klein ist oder sich schnell bewegt, fällt visuelles Tracking aus und Motion Tracking dominiert.
Wichtige technische Punkte
- Timestamp-Ausrichtung: Richtet die Zeitstempel visueller Frames mit Motion-Tracking-Daten aus, um jitter durch Latenz zu vermeiden.
- Koordinatensystem-Ausrichtung: Richtet Koordinatensysteme anhand der visuellen Tracking-Trajektorie und der Motion-Tracking-Trajektorie aus.
- Relokalisierung: Wenn das Zielobjekt wieder erscheint, übernimmt visuelles Tracking und korrigiert mögliche kumulative Fehler schnell.
Geeignete Szenarien und Einschränkungen
Motion Fusion eignet sich nicht für alle Szenarien. In folgenden Fällen ist Motion Fusion nicht anwendbar:
- Das Zielgerät unterstützt keine Motion-Tracking-Funktionen wie ARCore/ARKit. Die detaillierte Geräteliste finden Sie unter Motion-Tracking-Geräteunterstützung.
- Das Zielobjekt ist in der Szene dynamisch, z. B. ein Spielzeug oder eine Figur in der Hand.
In anderen Szenarien verbessert Motion Fusion das Benutzererlebnis von 3D Object Tracking erheblich.
- Schnelle Bewegung: Schnelle Bewegung des handgehaltenen Geräts kann Bewegungsunschärfe verursachen und visuelles Tracking fehlschlagen lassen.
- Ziel verschwindet: Virtuelle Inhalte der gesamten Szene können weiterhin dargestellt werden, wenn die Ansicht das Ziel verlässt oder das Ziel verdeckt wird.
- Vom Ziel entfernen: Das Tracking bleibt stabil, wenn das Zielobjekt im Bild zu klein wird.
- Schlechte Lichtverhältnisse: Die Leistung des visuellen Trackings sinkt, die Erfahrung soll aber erhalten bleiben.
Effekt und erwartete Ergebnisse
Wenn das Szenario geeignet ist, bietet Motion Fusion eine stabilere und flüssigere Erfahrung als 3D Object Tracking allein.
Idealer Effekt
- Stabileres Tracking: Virtuelle Objekte zittern oder springen nicht.
- Sanfter Übergang: Wenn visuelles Tracking ausfällt, bleibt die Änderung der fusionierten Pose kontinuierlich und natürlich.
- Störfestigkeit: Wenn das Zielobjekt verloren geht oder verdeckt wird oder sich das Gerät schnell bewegt, kann das virtuelle Objekt weiterhin der Gerätebewegung folgen.
Nicht ideale Fälle und Gegenmaßnahmen
| Phänomen | Ursache | Wahrnehmung des Benutzers | Lösung |
|---|---|---|---|
| Anfangs nicht wirksam | Motion Tracking benötigt Zeit zur Initialisierung | Inhalte verschwinden in der Anfangsphase | Geeignete UI-Hinweise geben und sicherstellen, dass die Initialisierung des System-Motion-Trackings abgeschlossen ist |
| Deutliche Drift | Systemfehler akkumulieren sich, lange keine visuelle Korrektur | Virtuelle Objekte weichen von der ursprünglichen Position ab | Benutzer anleiten, die Verdeckungszeit zu verkürzen, oder Hinweise zur visuellen Relokalisierung hinzufügen |
| Leistungsabfall | Zwei Funktionen laufen lange gleichzeitig | Die Framerate sinkt und das Bild ruckelt | Normal; Motion Fusion kann per API deaktiviert werden |
Methode zur Prüfung erwarteter Ergebnisse
Testen Sie mit einem unterstützten Gerät in einer realen Szene:
- Richten Sie das Gerät auf das Zielobjekt und bestätigen Sie, dass das virtuelle Objekt stabil ist.
- Verdecken Sie das Objekt 2 Sekunden lang mit der Hand und bewegen Sie das Gerät; beobachten Sie, ob sich das virtuelle Objekt flüssig bewegt.
- Entfernen Sie die Hand und bestätigen Sie, dass das virtuelle Objekt schnell und ohne Sprung in die richtige Position zurückkehrt.
Zusammenfassung und Best Practices
Motion Fusion verbessert die Robustheit von 3D Object Tracking in vielen Szenarien deutlich, erfordert jedoch Gerätehardware-Unterstützung und ausreichende Leistung.
API-Referenz zum Echtzeit-Aktivieren/-Deaktivieren von Motion Fusion:
- Native: setResultPostProcessing
- Unity: EnableMotionFusion