Ich versuche eine Methode zu finden, um Leute mit nur einer Kamera 3 Meter über dem Boden zu erkennen. Dies ist ein von der Kamera zurückgegebener Frame:
UPDATE: Videotest -> http://dl.dropbox.com/u/5576334/top_head_shadow.avi
Dazu verstehe ich zunächst, dass ich eine Hintergrund-Vordergrund-Segmentierung durchführen muss. Das ist der einfache Teil.
Mit der Vordergrundmaske kann ich einfache Operationen wie die Hough-Transformation ausführen, um Kreise zu finden. Auf diese Weise werden jedoch nur 60% der Köpfe erkannt, einschließlich vieler falsch positiver Ergebnisse.
Ich könnte einige andere einfache Techniken wie die Farbsegmentierung verwenden, aber ich fand heraus, dass die Köpfe der Menschen von oben gesehen sehr unterschiedlich sind, aufgrund ihrer Frisur, Farbe, Haarmenge, ...
Eine andere Möglichkeit, die ich habe, ist die Möglichkeit, HOG-Deskriptoren oder Haar-ähnliche Funktionen zu verwenden, aber ich würde eine umfangreiche Datenbank von Personen benötigen, die von oben gesehen werden, um die Modelle zu trainieren. Ich habe so etwas nicht gefunden.
Ich dachte, dies wäre ein sehr häufiges Problem, aber ich kann nicht viel darüber in der Literatur oder im Internet finden. Jede Hilfe zur Lösung dieser Aufgabe wird gebeten :-)
UPDATE: Weitere Informationen erhalten Sie, wenn Sie eine generische Methode zum Verfolgen des Fußgängerflusses implementieren. Der erste Prototyp wird in einer Mall getestet.
quelle
Antworten:
Gibt es noch andere Gegenstände, die sich neben Menschen bewegen können? Wenn dies nicht der Fall ist, finden Sie die Blobs (verbundenen Komponenten) in Ihrer Vordergrundmaske. Dies sind Ihre Mitarbeiter.
Sie können auch miteinander "kollidieren" und so einen Tropfen anstelle von zwei erzeugen. In diesem Fall können Sie eine Bewegungsverfolgung durchführen und die Mehrdeutigkeit beheben, indem Sie die Tatsache verwenden, dass die Flugbahn und die Geschwindigkeit glatt sind.
Wenn es andere Objekte gibt (wie Hunde, Autos), sollten Sie einen Klassifikator erstellen, der Blob-Parameter wie folgt erhält:
Und gibt die richtige Klasse zurück (Human / No Human).
quelle
Ich war in der "Um gut erprobte Methoden anwenden zu können, bräuchte ich eine umfangreiche Datenbank mit Beispielen, die ich nicht habe". Position in einem sehr kleinen Unternehmen, das "es sich nicht leisten konnte". Ich bedaure sehr, dass ich nicht einfach alles getan habe, um so viele Daten wie möglich zu erhalten. Ich denke, es hätte am Ende einen großen Unterschied für sie bewirkt.
Jede Art von realer Sichterkennung hat eine Million Dinge, an die Sie erst gedacht haben, als Sie es ausprobiert haben und die fehlgeschlagen sind. Es ist ein altes Problem, das um ein Vielfaches schwieriger ist, als es den Anschein hat. Ich würde empfehlen, sich an die Newton-Methode zu halten, "auf den Schultern von Riesen zu stehen" (oder, fast genauso gut, auf einem großen Haufen von Zwergen). Verwenden Sie also eine Methode, von der Sie bereits wissen, dass sie funktioniert und robust ist. Alles, was so klingt, wird "gut genug" sein und kläglich scheitern.
Stand der Technik in Fußgängererkennung letzt , was ich wusste , war , HOG , die ursprünglich in genau dieser Einstellung getestet. Sie möchten Tracking, also müssen Sie ein bisschen in Google Scholar herumspielen, um das zu finden. Ich war in einer ähnlichen Position und würde daher empfehlen, dass Sie sich Ihre Datenbank besorgen, was auch immer Sie tun müssen, und etwas verwenden, von dem Sie wissen, dass es funktioniert. Es wurde bereits mit einer bekannten Fehlerrate getestet, nicht mit einer solchen Hört sich einfach gut an. Der 40-jährige Todesmarsch von Computer-Vision-Algorithmen, bei dem es so klingt, als würden sie funktionieren, ist etwas, an dem Sie nicht teilnehmen möchten.
PS Nicht versuchen, Computer Vision zu kritisieren. Es ist eines meiner Lieblingsgebiete. Aber die Geschichte zeigt, dass es tausend falsche und nicht sehr viele richtige Schritte gibt. Es ist besser, jemandem zu folgen, der bereits einige der richtigen Schritte gefunden hat.
quelle
Ich denke, Sie könnten anfangen, indem Sie ein paar Antworten von hier aus kombinieren.
In dieser Antwort werden zwei verschiedene Ansätze genannt , mit dem Hauptunterschied, dass Sie keine Gesichtserkennung durchführen können, da Sie keine Gesichter sehen. Der andere Ansatz ist jedoch weiterhin anwendbar: Entscheiden Sie, ob etwas ein Fußgänger ist oder nicht, basierend auf seinen Aktionen (Bewegungen) .
Dies würde, wie Sie vorausgesagt haben, die Verwendung einer Vordergrund-Hintergrund-Segmentierung vorschlagen. Ein sehr schneller Googler fand diesen kürzlich erschienenen Artikel ziemlich vielversprechend, aber da ich das nie persönlich gemacht habe, haben Sie oder jemand anderes möglicherweise bessere Vorschläge für einen bestimmten Algorithmus, der in diesem Schritt verwendet werden kann.
Die erste Antwort, die ich verlinkt habe, gibt nur einen sehr allgemeinen Ansatz. Diese Antwort kann Ihnen jedoch einen Eindruck über Ihre nächsten Schritte vermitteln: Verfolgen Sie die Objekte und versuchen Sie, sie anhand der Geschwindigkeit oder der Bewegungsrichtung zu unterscheiden .
Schließlich habe ich das Problem, das Sie hatten, nie angegangen, daher bin ich wahrscheinlich nicht sehr hilfreich, aber vielleicht können Ihnen die Antworten, auf die ich verweise, eine allgemeine Vorstellung davon geben, wo Sie anfangen sollen. Es überraschte mich auch, dass ich bei der Suche nach einer Antwort auf Ihr Problem keine früheren Werke und Artikel finden konnte, aber dann brauchen Sie vielleicht nur jemanden, der Ihnen die richtigen Stichwörter zur Beschreibung dieses Problems mitteilt .
quelle
Ich habe eine Aufgabe wie hier beschrieben, zähle Leute. Meine Anforderung ist jedoch, dass die Kamera von links / rechts auf Personen gerichtet ist und nicht über dem Kopf.
Da ich nach einer möglichen Lösung für meinen Fall suche, stoße ich auf eine interessante Methode für Ihren Fall (Overhead-Erkennung). Bei diesen Lösungen wird eine Stereokamera verwendet, damit Sie mit Blobs (Personen, die sich zu nahe beieinander bewegen) umgehen können, indem Sie die Tiefe anzeigen (z. B. sehen Sie nur Blobs in der durchschnittlichen Kopfhöhe von Personen).
Dieses Produkt könnte Ihnen eine bessere Erklärung geben: digiop . Weitere technische Erläuterungen finden Sie in der Broschüre.
PS Ich vertrete nicht das Unternehmen, sondern zeige nur eine gut dokumentierte Lösung
quelle