Mein System ist das folgende. Ich benutze die Kamera eines Mobilgeräts, um ein Objekt zu verfolgen. Durch diese Verfolgung erhalte ich vier 3D-Punkte, die ich auf den Bildschirm projiziere, um vier 2D-Punkte zu erhalten. Diese 8 Werte sind aufgrund der Erkennung etwas verrauscht. Ich möchte sie filtern, um die Bewegung flüssiger und realistischer zu gestalten. Als zweite Messung verwende ich den Gyroskopausgang des Geräts, der drei Euler-Winkel (dh die Gerätelage) liefert. Diese sind genauer und mit einer höheren Frequenz (bis zu 100 Hz) als 2D-Positionen (um 20 Hz).
Mein erster Versuch war mit einem einfachen Tiefpassfilter, aber die Verzögerung war wichtig. Deshalb versuche ich jetzt, einen Kalman-Filter zu verwenden, in der Hoffnung, dass er die Positionen mit geringer Verzögerung glätten kann. Wie in einer früheren Frage zu sehen , ist ein wichtiger Punkt in einem Kalman-Filter die Beziehung zwischen den Messungen und den internen Zustandsvariablen. Hier sind die Messungen sowohl meine 8 2D-Punktkoordinaten als auch die 3 Euler-Winkel, aber ich bin nicht sicher, was ich als interne Zustandsvariablen verwenden und wie ich die Euler-Winkel mit den 2D-Punkten verbinden soll. Daher ist die Hauptfrage, ob ein Kalman-Filter überhaupt für dieses Problem geeignet ist. Und wenn ja, wie?
From this tracking, I get four 3D points that I project on a mobile device screen, to get four 2D points. These 8 values are kinda noisy
und später sagen Sie What's available to me is the device's gyroscope output, which provides three Euler angles (i.e. the device attitude).
. Welches ist es? Die vier 2D-Punkte oder die drei Euler-Winkel? Oder fährt der Bearbeitungszug Euler-Winkel -> 3D-Punkte -> 2D-Punkte?