2016-05-12 12 views
0

Schritte, die ich verfolgt habe:Wie verfolgen und zählen Sie mehrere Autos in einem Video mit Konturen?

  • Hintergrundsubtraktion mit Vorverarbeitung.
  • Konturerkennung.

Mit diesen zwei Schritten kann ich Konturen auf allen beweglichen Autos im Video zeichnen. Aber wie kann ich Konturen verfolgen, um die Anzahl der Autos im Video zu zählen?

Ich suchte ein wenig und es scheint verschiedene Techniken wie Kalman Filter, Lucas Kannade und Optical Flow zu geben ... Aber ich weiß nicht, welchen ich für meinen Anwendungsfall verwenden soll. Ich verwende opencv3-python.

+0

Wenn Sie nur Autos zählen müssen, die eine Kamera passieren, genügt ein einfacher Scan-Satz. Verwenden Sie sie wie eine Lichtschranke – Piglet

+0

bitte beispielhaft. – Adi

+0

bewerten Sie eine Zeile von Pixeln über die Spur. Wenn es eine massive Änderung der Intensität von dem Nicht-Auto-Wert gibt, hast du selbst ein Auto passiert. – Piglet

Antwort

2

Eigentlich scheint dies wie eine allgemeine Frage, aber ich werde einen Standpunkt (Ich selbst, hatte ich das gleiche Problem, aber mit pointclouds, obwohl es anders sein kann, als Sie gefragt, I hope it will give you an idea of how to proceed).

Die meisten der Zeit, wenn Ihre Konturen erkannt werden, beinhaltet drei Hauptschritte bewegenden Objekten in der Szene-Tracking:

Eigenschaft Matching:

Dieser Schritt ist etwa detecting features in your object (Frame N) and match it to features of objects in frame (N+1). der Erkennungsteil hat einen Standard algorithms and descriptors, der in OpenCV (SURF, SIFT, ORB ...) verfügbar ist, sowie den Features matching Teil.

Kalman Filter

Der Kalman-Filter wird auf get an initial prediction (generally by applying a constant velocity model for your objects) verwendet. Für jeden Erscheinungspunkt der Spur wird eine Korrespondenzsuche ausgeführt. Wenn die durchschnittliche Entfernung über einem bestimmten Schwellenwert liegt, wird der Feature-Matching angewendet, um eine bessere erste Schätzung zu erhalten. Um dies zu tun, müssen Sie Ihr Problem so modellieren, dass es durch eine gelöst werden kann.

Dynamic Mapping

Nach der Bewegungsschätzung, the appearance of each track is updated. Im Gegensatz zu Standard-Mapping-Techniken ist Dynamic Mapping ein Ansatz, der versucht, Aussehensdetails von statischen und dynamischen Objekten zu akkumulieren. So verfeinern Sie Ihren Bewegungsschätzungs- und -verfolgungsprozess.

Es gibt da draußen eine Menge Papiere, auch Sie können einen weiteren Blick auf diese Papiere nehmen:

Robust Visual Tracking and Vehicle Classification via Sparse Representation

Motion Estimation from Range Images in Dynamic Outdoor Scenes

Multiple Objects Tracking using CAMshift Algorithm in OpenCV

Hoffe, es hilft!

+0

Vielen Dank für die Vorschläge.Die Art und Weise, wie ich den ersten Algorithmus erstellt habe, war die Verwendung der Hintergrundsubtraktion mit Konturerkennung. Dann habe ich einen ungarischen Algorithmus verwendet, um die Konturen zu verfolgen. – Adi