Posts mit dem Label MeanShift-Algorithmus werden angezeigt. Alle Posts anzeigen
Posts mit dem Label MeanShift-Algorithmus werden angezeigt. Alle Posts anzeigen

Mittwoch, 25. Juni 2008

Nochmals ein kurzer Überblick mit einem Diagramm
Wie die Algorithmen funktionieren?


Das folgende Diagramm fasst die durchlaufenen Schritte des Algorithmus zusammen:


HSV Color System = Hue Saturation Value
HSV separiert Farbe, Helligkeit und die Konzentration des Farbtons.

Das Originalbild wird für jedes Videobild mittels eines Farbhistogrammmodels von der getrackten Farbe zu einem Farbwahrscheinlichkeitsbild konvertiert.

Durch den Camshift-Algorithmus werden die Größe und das Zentrum des Farbobjektes gefunden, der auf dem Farbwahrscheinlichkeitsbild aufsetzt.

Der Blau gestrichelte Kasten beinhaltet die Schritte, die der MeanShift-Algorithmus durläuft.

Um die Position und die Größe im nächsten Videobild zu setzen, wird die aktuelle Position und die aktuelle Größe des getrackten Objekts weitergegeben und dazu benutzt.

Dieser Prozess wird wiederholt.


Mittwoch, 28. Mai 2008

Merkmalsextraktion

CamShift- und MeanShift- Algorithmus bei OpenCV

OpenCV verwendet für das Tracken den CamShift-Algorithmus. Der Vorteil davon ist, dass man auch kostengünstigere WebCams benutzen kann. So ein Algorithmus, dass effizient und schnell arbeiten und in Realzeit tracken kann, ohne die Ressourcen des PCs auszuschöpfen, sodass andere Anwendungen nebenher laufen können.
Der MeanShift-Algorithmus basiert auf eine robuste parameterlose Technik für steigende Dichtheitsgradienten, um den Gipfel der Wahrscheinlichkeitsverteilung zu finden.

Wir wollen ein Verfahren für die Farbverteilung in einer Videoszene finden.

Aus diesem Grund ist der MeanShiftAlgorithmus so modifiziert worden, dass er mit dynamisch wechselnden Farb-Wahrscheinlichkeitsverteilungen arbeiten kann, die von der Video-Bildsequenz stammen. Dieser modifizierte Algorithmus ist der Continuously Adaptive MeanShift Algorithmus (CamShift).

Arbeitsweise der Algorithmen:
MeanShift Algorithmus:
1. Festlegen einer Suchfenster-Größe
2. Festlegen der Anfangsposition des Suchfensters
3. Berechnen der Mittleren Position im Suchfenster
4. Zentrieren des Suchfensters an dieser mittleren Position
5. Wiederholen von Schritt 3 und 4 bis zu einer Konvergenz (oder bis zu einem gegebenen
Schwellenwert)

Der MeanShiftAlgorithmus arbeitet mit Wahrscheinlichkeitsverteilungen, um farbige Objekte in VideoSequenzen zu tracken. Die Farbbilddaten müssen als Wahrscheinlichkeitsverteilungen dargestellt werden. Benutzt werden Farbhistogramme um dies zu bewerkstelligen.

CamShift Algorithmus:
1. Festlegen der Anfangsposition des Suchfensters
2. Anwendung von MeanShift (s.o.) ; Speichern des zeroth moment
3. Gleichsetzen der Suchfenstergröße zu einer Funktion des zeroth moment, der in Schritt 2
gefunden wurde.
4. Wiederholen des 2. und 3. Schritts bis zu einer Übereinstimmung („zeroth moment“ :
Verteilungsbereich unter dem Suchfenster. Fensterradius, Höhe und Breite, wird in die
Funktion des zeroth moment eingesetzt)

Der CamShiftAlgorithmus trackt X, Y und Bereiche der Hautfarbenen Wahrscheinlichkeits-verteilung. Der Bereich ist hierbei proportional zu Z, der Entfernung zu der Kamera.