5

Ich lese einige Arbeiten über Kalman-Filter für CV-Objekt-Tracking, aber ich kann keine Referenz über die Wahl von finden: 1) die Prozessrausch-Kovarianz Q; 2) Messrauschkovarianz R. Bisher habe ich erkannt, dass das Modell eine Bewegungsgleichung ist (jemand verwendet Beschleunigung als Zustandsvariable, andere verwenden nur Position und Geschwindigkeit), aber niemand ist sich über Q und R bewusst, einschließlich dieses Beispiels von mathworks: http://www.mathworks.it/it/help/vision/examples/using-kalman-filter-for-object-tracking.html Kürzlich fand ich diese Seite: http://blog.cordiner.net/2011/05/03/object-tracking-using-a-kalman-filter-matlab/ aber die Q-und R-Zuordnung ist nicht klar. Weiß jemand, bitte hilf mir bitte?Kalman Filter in Computer Vision: die Wahl der Q und R Rauschkovarianzen

+0

Haben Sie echte Daten (Messungen)? Sie können diese verwenden, um Annäherungen von R und Q zu erhalten. R hängt von Ihrer Sensorqualität ab und es gibt keine festen Werte dafür, aber Sie könnten es aus realen Messungen schätzen. R drückt aus, wie genau Ihre Sensoren sind. Q ist ein Maß dafür, wie genau Ihr Modell ist - einige Dynamiken sind zu kompliziert, um modelliert zu werden und werden als Prozessrauschen angenommen. Wenn Sie Ihre Modellvorhersagen mit realen Messungen vergleichen, können Sie Q schätzen. Aufgrund dieser Auswahl variieren Q und R in der Literatur. – remus

+0

Danke für die Antwort. Können Sie den Kommentar unten lesen? Vielen Dank. – Orlok

Antwort

4

R ist die Kovarianzmatrix des Messrauschens, die als Gauß-Signal angenommen wird. Im Zusammenhang mit der Verfolgung von Objekten in einem Video bedeutet dies einen Erkennungsfehler. Angenommen, Sie verwenden einen Gesichtsdetektor, um Gesichter zu erkennen, und Sie möchten sie dann mit dem Kalman-Filter verfolgen. Sie führen den Detektor aus, Sie erhalten eine Begrenzungsbox für jedes Gesicht und dann verwenden Sie den Kalman-Filter, um den Schwerpunkt jeder Box zu verfolgen. Die R-Matrix muss beschreiben, wie unsicher Sie bezüglich des Ortes des Schwerpunkts sind. In diesem Fall sollten für die x, y-Koordinaten die entsprechenden Diagonalwerte von R ein paar Pixel sein. Wenn Ihr Zustand Geschwindigkeit enthält, müssen Sie die Unsicherheit der Geschwindigkeitsmessung erraten und die Einheiten berücksichtigen. Wenn Ihre Position in Pixel und Ihre Geschwindigkeit in Pixel pro Bild gemessen wird, müssen die diagonalen Einträge von R dies widerspiegeln.

Q ist die Kovarianz des Prozessrauschens. Einfach ausgedrückt: Q gibt an, wie stark die tatsächliche Bewegung des Objekts von Ihrem angenommenen Bewegungsmodell abweicht. Wenn Sie Autos auf einer Straße verfolgen, sollte das Modell mit konstanter Geschwindigkeit ziemlich gut sein und die Einträge von Q sollten klein sein. Wenn Sie die Gesichter von Personen verfolgen, werden sie sich wahrscheinlich nicht mit einer konstanten Geschwindigkeit bewegen. Daher müssen Sie Q ankurbeln. Auch hier müssen Sie sich der Einheiten bewusst sein, in denen Ihre Zustandsvariablen ausgedrückt werden.

Das ist also die Intuition. In der Praxis beginnen Sie mit einer vernünftigen Anfangsschätzung für R und Q, und dann stimmen Sie sie experimentell ab. Die Einstellung von R und Q ist also ein bisschen Kunst. In den meisten Fällen ist auch die Verwendung von Diagonalmatrizen für R und Q ausreichend.

Hier ist eine example, die die vision.KalmanFilter in Matalb für die Verfolgung mehrerer Personen verwendet.

+0

Danke für die Antwort. Ich weiß, was Q und R physikalisch sind, aber ich frage mich, ob es einige Ratschläge, Verfahren oder Methoden gibt, zum Beispiel die Modell-Rauschkovarianz Q. Meine Anwendung ist eine einfache Objektverfolgung und ich denke, R ist "wie viel ändern" Zentroid/Cursor-Position (unter der Annahme, dass nur die Position als Zustandsvariable gemessen werden könnte) aufgrund des Erfassungsrauschens; Mein Problem ist Q. Zum Beispiel, beide verlinkte Seite oben und das: http://studentdavestutorials.weebly.com/object-tracking-2d-kalman-filter.html zuweisen gleichen Wert zu Q: (0,1)^2, also ich frage mich, ob es etwas gibt, das ich berücksichtigen muss – Orlok

+1

Eine Sache zu versuchen könnte sein, die Vorhersagen zu plotten und zu sehen, wie sehr sie von den Erkennungen abweichen. Wenn Sie sich über R sicher sind, wird Ihnen das sagen, ob Q richtig ist. – Dima

+1

Danke für die Antwort, es war hilfreich für mich. Es gibt einen Fehler im ersten Satz des ersten Absatzes. R ist die Kovarianzmatrix des MESSWERTS. Quelle: http://campar.in.tum.de/Chair/KalmanFilter – ALM