OpenCV continous Speed-Messung mit Kamera
Ich bin neu in OPENCV so mit mir tragen, wenn es sind die einfachen Dinge, die ich hier vermisst.
Ich bin versuchen zu arbeiten, ein Kamera-basiertes system, kann kontinuierlich ausgegeben die Geschwindigkeit eines Fahrzeugs mit den folgenden Annahmen:
1. Die Kamera ist horizontal gelegt und das Fahrzeug geht in der Nähe von 3 bis 5 Meter von der Kamera-Objektiv.
2. Die Geschwindigkeit wird nicht mehr als 30KM/STD
Ich hatte gehofft, um mit zu beginnen das Konzept einer optischen Maus, die erkennt die Verschiebung in der Oberfläche Muster. Aber ich bin mir unklar, wie man mit den hintergrund, wenn das Fahrzeug beginnt, geben den Rahmen.
Gibt es zwei Methoden, die ich war daran interessiert, Experimentieren Sie mit aber bin auf der Suche nach weiteren Eingänge.
- Das Fahrzeug ermitteln, wie es in den Rahmen und getrennt vom hintergrund.
- Verwenden cvGoodFeaturesToTrack zu finden Punkte auf das Fahrzeug.
- Track der Punkt, über den nächsten frame. & Berechnen Sie die horizontale Geschwindigkeit mit Lucas_Kanade Pyramide Funktion für optischen Fluss.
- Wiederholen
Schlagen Sie bitte Korrekturen und Ergänzungen.
Auch bitte ich die erfahreneren Mitgliedern, um mir zu helfen-code dieses Verfahren effizient, da weiß ich nicht, welches sind die richtigen Funktionen zu verwenden hier.
Vielen Dank im Voraus.
InformationsquelleAutor Inderpreet Singh | 2012-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hoffen, dass Sie mit einer einfachen Kamera mit 20 fps auf 30 fps und deine Kamera ist senkrecht zu der Straße, sondern Weg von ihm...das Objekt, d.h. Ihre Autos haben eine maximale Geschwindigkeit von 8 ms-1 in der Bildebene...berechnen die Geschwindigkeit der Autos in der Bildebene mit Hilfe der Linse, die Sie verwenden...
sollten Sie in Pixel pro Sekunde, wenn Sie wissen, wie viel jedes pixel misst...
Schritte...
Können Sie mithilfe der frame-Differenzierung...das ist das subtrahieren der aktuelle frame vom vorhergehenden frame und den absoluten Unterschied...Schwelle der Unterschied...diese Segmente aus Ihrem fahrenden Auto aus den Boden zurück...erinnern Sie sich an diese Segmente werden alle sich bewegenden Objekte...also, wenn u wollen ein Auto und nicht eine bewegliche Mann, den Sie verwenden können, die Form charakteristisch, dass die Höhe zu Breite-Verhältnis...passen Sie ein Rechteck, um die segmentierten Teil und in jedem frame tun die gleichen Schritte. also in jedem frame können Sie eine Aufzeichnung der Koordinate der Vorderkante der bounding-box... so, wenn ein Auto betritt die Ansicht, bis es pass out Sie wissen, für wie lange das Auto hat permanenten...die Anzahl der frames , frame-rate und die coordinaes der führenden Kante der bounding-box zu berechnen, die Geschwindigkeit...
Können Sie goodfeaturestotrack und optical-flow-open-cv -..., dass die Art und Weise, die Sie machen können unterscheiden zwischen sich schnell bewegenden und sich langsam bewegende Objekte...aber halten Sie erfrischend sind die Punkte, die goodfeaturestotrack gibt, die Sie sonst bei jedem neuen Auto kommen in der Kamera-Ansicht wird nicht aktualisiert,...aufnehmen die Verschiebung der Punkte, die wieder durch goodfeaturestotrack in jedem frame..das ist die Verschiebung der sich bewegenden Objekt...berechnen der Geschwindigkeit in der gleichen Art und Weise...die grundlegende Idee zur Berechnung der Geschwindigkeit ist, die zum aufzeichnen der Anzahl von frames wird das Objekt persistent in das Sichtfeld der Kamera...wenn Ihr die Kamera befestigt ist, so wird dein Blickfeld...daher, was zählt, ist, in wie viele frames sind Sie in der Lage zu fangen, das Objekt...
denken Sie daran....der optische Fluss von opencv arbeitet für die Verfolgung von sich langsam bewegenden Objekten oder mehr theoretisch die Funktion Punkt (bestimmt durch goodfeatures zu verfolgen..) Hubraum weniger zwischen 2 aufeinander folgenden frames für den Algorithmus zu arbeiten...große Verschiebungen haben einige falsche Vorhersagen, die von dem Algorithmus...das ist der Grund, warum die Geschwindigkeit in der Bildebene ist wichtig..zumindest qualitativ sollten Sie eine Vorstellung bekommen, wie es...
HINWEIS: beide Methoden sind für die einzelnen Objekt-tracking ..für mehrere Objekt-tracking müssen Sie ein paar änderungen...aber Sie können beginnen mit entweder der Methode...ich denke, es wird funktionieren.
für die momentane Geschwindigkeit, die Sie haben zu erfassen die position von jedem Teil des Autos in zwei aufeinanderfolgenden frames...wenn man einmal momentangeschwindigkeit Plotten ist keine große Sache..
InformationsquelleAutor rotating_image