Ich habe Daten für die seitliche Position jedes Fahrzeugs über die Zeit und die Fahrspurnummer, wie in diesen 3 Darstellungen im Bild und in den Beispieldaten unten gezeigt.
> a
Frame.ID xcoord Lane
1 452 27.39400 3
2 453 27.38331 3
3 454 27.42999 3
4 455 27.46512 3
5 456 27.49066 3
Die seitliche Position ändert sich im Laufe der Zeit, da ein menschlicher Fahrer die Fahrzeugposition nicht perfekt kontrollieren kann. Das Spurwechselmanöver beginnt, wenn sich die seitliche Position drastisch ändert, und endet, wenn die Änderung wieder "normal" wird. Dies kann nicht direkt aus den Daten identifiziert werden. Ich muss das Diagramm jedes Fahrzeugs manuell betrachten, um den Start- und Endpunkt des Spurwechselmanövers zu bestimmen, um die Dauer des Spurwechsels abzuschätzen. Aber ich habe Tausende von Fahrzeugen im Datensatz. Könnten Sie mich bitte auf einen relevanten Bildanalyse- / maschinellen Lernalgorithmus hinweisen, der trainiert werden könnte, um diese Punkte zu identifizieren? Ich arbeite in R. Danke im Voraus.
quelle
Antworten:
Eine erste Ableitung an der Oberfläche würde es tun. Die von Ihnen angezeigten Daten enthalten jedoch viel Rauschen. Daher benötigen wir eine Möglichkeit, die erste Ableitung etwas geräuschlos oder zumindest innerhalb eines Frequenzbereichs zu bewerten, der den Jitter beseitigt und die wesentliche Ableitungsänderung beibehält.
Die Wavelet-Analyse könnte dies für Sie erreichen, insbesondere wenn Sie die erste Ableitung eines Gaußschen als Mutter-Wavelet verwenden. R hat einige anständige Wavelet-Pakete (siehe r-project.org für den Anfang). Wenn Sie die Wavelet-Transformation in kurzen Maßstäben durchführen, werden die Positionen der Jitter-Bits in der Lenkung identifiziert. Wenn Sie dies in größeren Maßstäben tun (dh mit niedrigerer Frequenz), können Sie wahrscheinlich nur die Spurwechsel und nicht die kleinen Jitter finden.
Wenn Sie die Transformation mit einem angemessenen Datensatz trainieren, sollten Sie in der Lage sein, eine Skala oder einen Bereich von Skalen zu identifizieren, die Spurwechseln entsprechen. Beachten Sie jedoch, dass dies etwa O (n ^ 2) ist, wenn Sie dies nicht herausfinden. Versuchen Sie daher, den Skalierungsbereich etwas einzuschränken, um Rechenzeit zu sparen.
quelle
Sieht so aus, als könnten Sie nur ein paar Sekunden höher als die Rauschableitung suchen. Berechnen Sie einfach den absoluten Wert der endlichen Differenz von jedem Zeitschritt bis zum letzten (oder einem der ersteren) und warten Sie auf eine Reihe hoher Werte. Dann kommt es zu einem Spurwechsel.
quelle
Probieren Sie die Changepoint-Paket aus . Ich habe es in einem ähnlichen Fall benutzt.
Die Änderungspunktanalyse ist der statistische Name für Methoden, die Änderungen zwischen zwei "Regimen" erkennen. Ein Auto, das auf einer Fahrspur bleibt, ist eine Linie mit dem Gefälle 0 in der Mitte einer Fahrspur. Sie können problemlos ein statistisches Modell an Autos anpassen, die auf Fahrspuren fahren. Ein Spurwechsel fährt entlang einer Linie mit einem Gefälle von nicht 0. Das Modell hat sich geändert. Die Änderungspunktanalyse und das Änderungspunktpaket sind genau das, was Sie benötigen, um den Punkt zu bestimmen, an dem sich ein Modell von
y=a' (straight and level) to
y = a + bx` ändert (nach oben oder unten).quelle