Ich möchte Objekte von mehreren Sensoren mit unterschiedlichen (manchmal überlappenden!) Sichtfeldern verschmelzen. Wie kann ich anhand von Objektlisten feststellen, ob einige von verschiedenen Sensoren beobachtete Objekte tatsächlich dasselbe Objekt sind? Nur dann kann ich wirklich einen Algorithmus schreiben, um den zukünftigen Zustand eines solchen Objekts vorherzusagen.
Aus der Literatur habe ich diese 4 Schritte gelesen:
- Plot, um die Zuordnung zu verfolgen (zuerst die Schätzungen der Tracks aktualisieren und dann durch "Akzeptanzgatter" oder durch statistischen Ansatz PDAF oder JPDAF zuordnen)
- Spurglättung (viele Algorithmen zum Generieren einer neuen verbesserten Schätzung, z. B.: EKF, UKF, PF)
- Track-Initiierung (neue Tracks aus nicht zugeordneten Plots erstellen)
- Gleiswartung (Löschen eines Gleises, wenn es in den letzten M Runden nicht zugeordnet war. Außerdem: Vorhersage der zugeordneten Gleise, ihrer neuen Position basierend auf dem vorherigen Kurs und der Geschwindigkeit)
Im Grunde frage ich Punkt 1, Akzeptanztor. Für einen einzelnen Sensor kann ich mir vorstellen, dass es nur ein Vergleich der xy-Position des Objekts und der Sensormessung sein kann, Geschwindigkeit mit Kurs schließlich. Mein Fall ist jedoch, dass ich bereits Objektlisten von jedem Sensor in jedem Zyklus bereit habe. Es gibt einige Algorithmen zum Zusammenführen von Informationen über ein Objekt, die von verschiedenen Sensoren gesammelt wurden (eine gute Quelle ist z. B. hier: http://www.mathworks.de/). matlabcentral / fileexchange / 37807-Messfusion-Zustandsvektor-Fusion ), aber die Frage ist, wie zu entscheiden ist, welche Objekte fusioniert werden sollen und welche so bleiben, wie sie waren? Sichtfelder können sich teilweise, nicht vollständig überlappen.
quelle
Antworten:
Dies wird in der Verfolgungsliteratur als "Datenassoziation" bezeichnet. Wenn Sie die Position eines Objekts messen, müssen Sie wissen, welches Objekt Sie gemessen haben. Wenn Sie diese Wahrscheinlichkeit abschätzen können, können Sie die wahrscheinlichste Zuordnung frei wählen. Dies ist ein stark erforschtes Thema, das sich jedoch auf die Bayes'sche Analyse beschränkt.
Hier ist ein einfacher Weg:
Angenommen, wir haben zwei ObjekteÖ1 und Ö2 eine Schätzung ihrer Position x1 und x2 und eine Messung z . Annehmenz ist nur eine Positionsmessung. Wir möchten aktualisierenÖ1 oder Ö2 's geschätzte Position, aber wir haben keine Ahnung mit dem Objekt, das wir gerade gemessen haben. Wir finden also das wahrscheinlichste Objekt und aktualisieren es.
Schätzenp ( z|x1) und p ( z|x2) . Der Kalman-Filter bietet Ihnen die Werkzeuge, um dies zu tun.
WENNp ( z|x1) > p ( z|x2) UND p ( z|x1) > γ , dann aktualisieren x1 mit z Der Kalman-Filter bietet Ihnen auch die Werkzeuge, um dies zu tun.
SONST WENNp ( z|x2) > p ( z|x1) UND p ( z|x2) > γ , dann aktualisieren x2 mit z Der Kalman-Filter bietet Ihnen auch die Werkzeuge, um dies zu tun.
Sonst ist keine Wahrscheinlichkeit größer alsγ , also lassen wir die Messung fallen. Sie können einstellenγ auf Null, wenn es dich nicht interessiert.
Zwei Dinge: Erstens müssen Sie auch wissen, wie ein Objekt initialisiert wird. Deshalbγ ist wichtig. Wenn die Messung nicht scheinen alle bekannten Schätzungen übereinstimmen, haben Sie gerade ein neues Objekt gefunden.
Zweitens habe ich den Verdacht, dass Ihre Frage stark bearbeitet wird, sodass ich gerade nicht viele Details einfüge.
BEARBEITEN Um Ihre neuere, überarbeitete Frage zu beantworten:
Sie haben ein anderes Problem, aber es ist völlig verwandt. Zunächst möchten Sie Objekte zusammenführen. Dies ist so einfach wie das Schätzen der Wahrscheinlichkeit, dass alle Messungen von Objekt 1 und alle Messungen von Objekt 2 tatsächlich von demselben Objekt stammen. Der Algorithmus ist einfach, aber rechnerisch nahezu unlösbar. Dies entspricht der Zusammenführung von Titeln.
Um dies wirklich mit Objekten in 3D zu tun, benötigen Sie ein Modell des Objekts, mit dem Sie die Wahrscheinlichkeit abschätzen können, dass zwei teilweise überlappende (oder möglicherweise nur in der Nähe befindliche) Objekte tatsächlich dasselbe Objekt sind. Dies ist jedoch genau das gleiche wie beim Akzeptanz-Gate-Ansatz.
Hinweis
Es gibt nur wenige wirklich nützliche Möglichkeiten, um Messungen durchzuführen, und sie sind gut definiert. Ich empfehle dringend, wenn Sie mit abstrakten Nachverfolgungs- und Schätzungsaufgaben fortfahren möchten, das Bar-Shalom- Nachverfolgungs- und Schätzungsbuch zu lesen . Bitte besorgen Sie es sich in einer Bibliothek, wenn Sie können. Ich kenne einfach keine bessere Referenz.
quelle
Das hängt von vielen Dingen ab. Welche Art von Sensoren? Sind sie stationär? Sind sie zumindest in Bezug zueinander festgelegt?
Wenn Sie beispielsweise ein System mit mehreren Kameras haben, die in Bezug zueinander fixiert sind, können Sie sie kalibrieren, sodass Sie ihre relativen Positionen und Ausrichtungen kennen. Dann können Sie nicht nur feststellen, ob zwei Erkennungen in verschiedenen Kameras dasselbe Objekt sind, sondern auch die Position in 3D bestimmen.
Hier ist das klassische Papier zur Kamerakalibrierung . Um die Kalibrierung tatsächlich durchzuführen, können Sie entweder OpenCV oder die Caltech Camera Calibration Toolbox für Matlab verwenden . OpenCV verfügt über eine Beispielanwendung für die Kamerakalibrierung, die einfacher zu verwenden ist als die Caltech-Toolbox.
quelle