Bewegungsdetektion

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

Bewegungsdetektion

Um Bewegung bzw. Ruhe erkennen zu können, muss ein Maß für die Veränderung im Bild bestimmt werden. Eine Möglichkeit hierfür ist es, die Differenz zwischen aufeinander folgenden Bildern zu berechnen. Da diese Funktionalität oft benötigt wird, wurde hierfür in EyesWeb 3.3 der Block "SMI" (Silhouette Motion Image) realisiert (in Eyesweb XMI 5.2. heisst der entsprechende Block "MHI"). Dieser liefert als Ausgabe neben der visuellen Darstellung der Veränderung (dem Silhouette Motion Image) auch die "Quantity of Motion" (QoM). Basis hierfür ist die Differenzbildung der n-1 Bilder vor dem aktuellen Bild. Die Anzahl n der Bilder kann parametriert werden, wobei n >= 2 sein muss. Weil bei der Berechnung typischer Weise eine Glättung durchgeführt wird, ist ein Median-Filter im Block integriert, dessen Größe parametriert werden kann. Der SMI-Block erwartet ein einkanaliges Bild am Eingang, welches typischer Weise ein Binärbild mit der Silhouette des zu detektierenden Objekts enthält.

Im nachfolgenden EyesWeb-Patch quantity_of_motion01.eyw wird zunächst eine Hintergrundsubtraktion durchgeführt, anschließend das Differenzbild binarisiert und schließlich wird das Silhouette Motion Image ausgegeben und die Quantity of Motion als Kurve grafisch dargestellt.

Eyw quantity of motion01.png

Ein Beispiel ist nachfolgend gezeigt:

Qom beispiel01 k.png


Der Patch für Eyesweb XMI 5.2 bewegungsdetektion_xmi_a.eywx sieht entsprechend aus.


Eywx bewegungsdetektion xmi a.png



Es kann sinnvoll sein die Quantity of Motion (QoM) noch über eine Mittelwertbildung zu glätten (siehe quantity_of_motion_mean.eyw), um das Ergebnis etwas träger gegenüber Änderungen zu machen.

Eyw quantity of motion mean.png

Die Ergebnisse mit und ohne Glättung sind nachfolgend exemplarisch gezeigt:

Qom beispiel mean k.png


Soll das Ergebnis zur Triggerung verwendet werden, so kann dies durch eine Vergleichsoperation erreicht werden. Typisch wäre es hier festzustellen ob die Bewegung im Bild klein ist, also die QoM einen Grenzwert unterschreitet. In der Praxis ist die Verwendung einen Schwellwertes allerdings nicht günstig, da bei kleinen Schwankungen um diesen Wert, der Trigger mehrfach ausgelöst würde. Sinnvoller ist daher die Verwendung eines Hysterese-Schwellwertes, wie dies im nachfolgenden Beispiel quantity_of_motion_mean_hyst.eyw gezeigt ist.

Eyw quantity of motion mean hyst.png


Im Beispiel ist die Auswirkung der Hysterese sichtbar:

Qom beispiel mean hyst k.png


Diese beiden Ausgangszustände können z.B. zur Triggerung verwendet werden, also z.B. zur Freischaltung eines Signals an eine nachfolgende Anwendung.