Human Action Recognition Using Temporal Templates Jonas von Beck Übersicht 1.Motivation 2.Einführung 3.Temporal Templates 4.Grundlagen der Bilderkennung 5.Implementierung des Verfahrens 6.Fazit 7.Anwendungen 1. Motivation Bewegungsmuster lassen sich durch die Bewegung an sich erkennen. Man erkennt trotz miserabler Bildqualität eine sich setzende Person. Frame 5 25 40 2. Einführung 1. Aufnahme der Bildsequenz 5. Ablage oder Abgleich mit Datenbank 2. Reduzieren der Auflösung 4. Berechnung invarianter Merkmale 3. Bewegung extrahiert & Binärbild oder Graustufenbilder erzeugen 3. Temporal Templates Bewegung: Es werden Informationen über Bewegung festgehalten. Diese werden in einem Binärbild oder Graustufenbild festgehalten. Wo? Wie? 3.1. Motion-Energy Images (MEI) Generierung eines Binärbildes wobei Bewegung weiß dargestellt wird Hier Bewegungserkennung durch Differenzbilder D.h. Aufeinanderfolgende Frames werden differenziert Um Rauschen entgegenzuwirken wird die Auflösung herabgesetzt. An den Stellen wo Bewegung stattfindet, färbt sich das MEI weiß. 3.2. Motion-History Images (MHI) Erweiterung von MEI Graustufenbild, bei der frühere Bewegung dunkler dargestellt wird Dadurch zusätzliche Information über Richtung der Bewegung Hinsetzen MHI Arme Schwenken MHI Hinknien MHI Durch die Graustufen lässt sich erkennen, wie die Bewegung stattgefunden hat. 4. Grundlagen aus der Bilderkennung Die gleiche Bewegung aus verschiedenen Sichtweisen. (z.B. wenn Person weiter Weg) ο Ziel: Merkmale extrahieren die unabhängig von Position, Rotation oder Skalierung sind. 4.1. Invariante Merkmale • MBR • BEF Allgemeine Merkmale: • Fläche der Form • Umfang der Form • Minimum Bounding Rectangle (MBR) • Best Ellipse Fit Invariante Merkmale: • Verhältnis Höhe/Breite: |log(H/B)| • Füllungsgrad • Kompaktheit: Fläche/Umfang² • Elongierttheit: (1- Nebenachse/Hauptachse) des BEF • Und weitere 4.1.1. Momente Durch Momente lassen sich Objektform und Intensitätsverläufe eindeutig darstellen. Dazu werden aus der Bildfunktion B(x,y) die Momente mp,q gebildet. 4.1.1. Momente • • • • • Die Ordnung des Moments berechnet sich aus (p+q) m0,0 = Summe der Pixelwerte. (Fläche bei Binärbild) m1,0 = Zeilenmoment erster Ordnung m0,1 = Spaltenmoment erster Ordnung Daraus lässt sich der Schwerpunkt des Bildes berechnen 4.1.2. Hu-Momente Mit Hilfe des Schwerpunkts können die zentralen Momente μp,qdefiniert werden Hu hat die unskalierten zentralen Momente normiert 4.1.2. Hu-Momente Hu hat mit den normierten zentralen Momenten 7 Merkmale entwickelt, die invariant gegen Translation, Rotation, und Größenskalierung sind . Die Merkmale werden in einen Vektor (x1x2x3x4x5x6x7)T gepackt. Die 7 invarianten Hu-Momente 4.2. Klassifizierung Aus den Trainingsdaten wird ein Merkmalsvektor nach Hu erstellt und in einer Datenbank den Einzelnen Bewegungen zugeordnet. Die Eingabedaten müssen Klassifiziert werden. Dafür werden diese mit der Datenbank abgeglichen. 4.2. Klassifizierung Am einfachsten ist es einen Mittelwert x der Trainingsdaten zu berechnen Abgleich erfolgt dann durch suchen der kleinsten euklidischen Norm im R7 (x1 t1 )2 (x1 t1 )2 ... (x 7 t 7 )2 Leider gibt es dabei einige Nachteile und Probleme 4.2.1. Probleme bei euklid. x1 x2 t1 t2 t1 und t2 sind gleich weit von Verschiedenen Mittelwerten entfernt. Dennoch sollten beide unterschiedlich gewichtet werden, da das obere Merkmal eine größere Streuung hat als das Untere. 4.2.1. Probleme bei euklid. x t1 t2 • Trainingsdaten • Testwerte t2 ist zwar näher an x, t1 ist aber eher im Streuungsbereich Realistischere Abstandsmessung 4.2.2. Mittelwert und Varianz Mittelwert = E[x] Gilt für Vektor 1. Dimension Standartabweichung = Sqr(Var[x]) Abweichungen lassen sich skalieren, so dass diese Einheitlich sind. Standarisierte Distanz r: xt d S tan dardabweichung 4.2.3. Standarisierte Distanz t sei zu Klassifizierender Vektor mit den 7 Hu-Momenten ti = i-ter Eintrag im Vektor t xi,j = Mittelwert des Merkmals i aus der Klasse (Bewegung) j si,j = Standardabweichung des Merkmals i aus der Klasse j Wir berechnen die Standarisierte Distanz d t, x j 2 2 2 t1 x1, j t 2 x 2, j t 7 x 7, j ... s1, j s 2, j s7, j Wenn die Distanz so berechnet wird, haben die unterschiedlichen Streuungen der Merkmale keinen Einfluss auf die Klassifizierung 2 4.2.4. Kovarianzen • Verschiedene Momente können zueinander Abhängig sein. (korreliert) • Wir berechnen also paarweise die Kovarianz der Momente. • Eine Kovarianzmatrix mit allen Kovarianzen wird aufgestellt 4.2.4. Kovarianzen Seien x1,i , x 2,i ,..., x n,i eine Serie von n Beispielen zum Merkmal i und x 1, j , x 2, j ,..., x n, j eine Serie von n Beispielen zum Merkmal j jeweils vom gleichen Muster m(i) und m( j) sind jeweils die Mittelwerte der Merkmale Die Kovarianz von Merkmal i und j ist definiert durch 1 c i, j x1,i mi x1, j m j ... x n,i mi x n, j m j n 1 c i, j 0 , falls i und j zusammen Wachsen und Fallen c i, j 0 , falls i steigt/fällt wenn j fällt/steigt c i, j 0 , falls i und j unabhäng sind 4.2.5. Die Kovarianzmatrix Mahalanobisdistanz c 1,1 C c n,1 d t mx 2 T c 1, n Mit dieser Matrix lassen sich Distanzen unabhängig von c n, n Streuung und Korrelation zwischen Cx1 t m x Merkmalen berechnen 5.1. Trainieren des Systems Es werden 18 Aerobicübungen aufgenommen und die Zugehörigen MEIs und MHIs Generiert. Dies wir für Verschiedene Blickwinkel von -90° bis 90° (30°Schritte) getan. 5.1. Trainieren des Systems • MEIs und MHIs werden über einen Zeitraum von „r“ bis „r+Δr“ rückwirkend erzeugt, da Bewegungen unterschiedlich schnell durchgeführt werden können. • Zu den erhaltenen Daten werden die Statistischen Daten berechnet und in der Datenbank abgelegt. 5.2. Test mit einer Kamera Um das System zu testen werden die Übungen von einer Weiteren Person Wiederholt. Aufnahmewinkel 30° Wieder werden MEI und MHI erstellt, die statistischen Daten berechnet. Dann folgt der Abgleich mit der Datenbank durch Mahalanobis Distanzen. Die Tabelle zeigt die Distanz zur nahesten Bewegung, sowie die Nummer dieser. Zudem die Distanz zur Korrekten Bewegung und die durchschnittliche Distanz, sowie der Rang der Korrekten Bewegung. 5.2. Test mit einer Kamera Bei den Bewegungen die falsch erkannt wurden, ist dies auf die Ähnlichkeit zurückzuführen. Testbewegung Auch wurde die Bewegung durch die andere Person nicht identisch durchgeführt bester Match korrekter Match 5.3. Test mit mehreren Kameras Einige Bewegungen die von einem Sichtwinkel ähnlich MEIs und MHIs haben, können von einem anderen Winkel unterschiedlich aussehen. Der gleich Test wird mit zwei Kameras wiederholt die in einem Winkel von 90° zueinander stehen. Das Ergebnis sieht mit zwei Kameras deutlich besser aus. Es muss berücksichtigt werden, dass jede Bewegung nur wenig trainiert wurde. Dennoch gibt es andere Probleme die eine Ursache sein könnten 6.1. Probleme / Nachteile 1. Bewegungserkennung: • Bewegung im Hintergrund • Bewegung der Kamera • Einfarbige Kleidung • Helligkeitsschwankungen 2.Verdeckung durch Personen Objekte 3.Kombinierte Bewegungen • Werfen eines Balls • Bewegung des Oberkörpers beim gehen 6.2. Vorteile 1.Sehr geringer Berechnungsaufwand 2.Funktioniert auch bei sehr schlechter Bildqualität 7. Anwendungen 1.Als Teil von anderen Bildsequenzerkennungsprogrammen 2.KidsRoom Interaktiver Spielraum