ausarbeitung · recovering 3d human body configurations using shape contexts ausarbeitung von peter...
TRANSCRIPT
Seminar Bildverstehen
Videobasierte Erkennung und Analyse menschlicher Aktionen
Thema 6:
G. Mori, J. Malik:
Recovering 3d Human Body Configurations
Using Shape Contexts
Ausarbeitung
Von Peter Pichlmaier
Gliederung:
1. Einleitung ............................................................................................................... 1
2. Verwandte Ansätze ................................................................................................ 1
3. Verfahren mittels Shape Kontexten ....................................................................... 2
3.1. Grundprinzip............................................................................................... 2
3.2. Matchingprozess ......................................................................................... 3
3.2.1. Korrespondierende Punkte ................................................................... 3
3.2.2. Deformation mittels kinematischer Ketten .......................................... 4
3.3. Optimierung................................................................................................ 7
3.3.1. Ausschlussalgorithmus mittels RSCs................................................... 7
3.3.2. Verwendung von Teilexemplaren ........................................................ 9
3.4. Rekonstruktion des 3D-Körpers ................................................................. 11
3.5. Validierung und Experimente..................................................................... 12
3.5.1. CMU MoBo Datenbank ....................................................................... 12
3.5.2. Eiskunstläuferin.................................................................................... 15
3.5.3. Laufende Küchenschabe ...................................................................... 15
4. Verfahren mittels „Motion Descriptor“.................................................................. 16
4.1. Problemstellung und Grundprinzip............................................................. 16
4.2. Berechnung des „Motion Descriptors“ und Matching................................ 17
4.3. Validierung und Experimente..................................................................... 20
5. Vergleich der Verfahren......................................................................................... 21
6. Referenzen.............................................................................................................. 23
1
1. Einleitung
Für menschliche Betrachter ist es einfach, Personen auf Videos sofort zu erfassen und zu
verfolgen oder selbst ungewöhnlichste Körperhaltungen zu erkennen. In der Bilderkennung
gilt dies als eines der komplexesten Probleme überhaupt. Schwierigkeiten bereiten dabei
verschiedener Körperbau und unterschiedliche Kleidung, genauso wie zwar mögliche, aber
unwahrscheinliche Körperhaltungen. Auf überfüllten Bildern bereitet es bereits Schwierig-
keiten, zwischen Person und Hintergrund zu unterscheiden. Dies würde viele interessante
Anwendungen wie Renderingprozesse, z.B. das Steuern künstlicher Personen durch einen
Schauspieler, oder Trackinganwendungen, z.B. zur automatisierten Videoüberwachung,
ermöglichen. Die Schwierigkeiten einer allgemeinen Lösung haben dazu geführt, dass bei
Forschungsarbeiten nur beschränkt viele Körperhaltungen ausgewertet werden und
üblicherweise störender Hintergrund entfernt wird. Viele Verfahren benötigen außerdem
spezielle kalibrierte Aufnahmen.
Im Folgenden sollen zwei exemplarbasiertes Verfahren, einmal mittels Deformation und
Shapevergleich und einmal zur Auswertung schlechter Videodaten, vorgestellt werden.
2. Verwandte Ansätze
Drei Gruppen verschiedener Lösungsansätze sollen hier erwähnt werden. Man unterscheidet
zwischen Low-Level-Ansätzen, die einzelne Bilddetails analysieren, ohne den
Gesamtkontext zu kennen, Verfahren basierend auf 3D-Modellen und exemplarbasierten
Ansätzen, die auf 2D-Modellen beruhen und versuchen in einer Datenbank ein passendes
Vergleichsexemplar zu finden, das manuell erstellte Informationen wie beispielsweise eine
Beschreibung der Bewegung und Daten zur Skelettrekonstruktion enthält.
Ein Beispiel für einen Low-Level-Ansatz ist die Arbeit über „Combining Segmentation and
Recognition” von Greg Mori u.a.1, bei der ein Bild zuerst in zusammengehörende Segmente
zerlegt wird und dann ausgehend von wenigen auffälligen und gut erkennbaren Körperteilen
versucht wird, den Gesamtkörper zu erkennen. Ziel der Arbeit war es, allgemeinere
Problemstellungen zu behandeln.
Pionierarbeit für die Analyse mittels 3D-Modelle waren die Forschungen von Badler2 und
Hogg3. Eine andere Möglichkeit ist es, mehrere Kameras zu verwenden und die dadurch
ermittelten Konturen mit den Projektionen eines 3D-Modells zu vergleichen, wie von
Kakadiaris und Metaxas4 angewandt.
Baumberg und Hogg5 nutzten 2D-Shapemodelle, um Fußgänger zu erfassen. Wren u.a.6
verwendeten Gruppen von gefärbten Blobs, was ein weiterer Ansatz für 2D-
Exemplarverfahren ist. Toyama und Blake7 nutzten 2D-Exemplare, deren Kanten mittels
Camfer Matching bewertet wurden, um Personen in Videos zu erfassen.
2
Abbildung 1 a) Testbild b) berechnete Gelenkpunkte c) 3D-Modell
3. Verfahren mittels Shape Kontexten
3.1. Grundprinzip
Das Verfahren von G. Mori und J. Malik 8 ist ein exemplarbasierter Ansatz. Aus einer
Datenbank mit Referenzexemplaren wird zu einem Testbild das ähnlichste Exemplar
ermittelt und dessen manuell markierte Positionen für Hände, Ellbogen, Schultern, Kopf,
Taille, Hüfte, Knie und Knöchel, die so genannten Gelenkpunkte, werden übernommen und in
das Testbild übertragen. Diese zweidimensionalen Gelenkpunkte legen die Position des
Körpers exakt fest und können zur Konstruktion eines dreidimensionalen Modells verwendet
werden.
Das Verfahren läuft in drei Schritten ab. Zuerst werden einige Eckpunkte aus den Konturen
des Testbildes gewählt und mittels Histogrammen die korrespondierenden Punkte in dem
aktuellem Vergleichsexemplar gesucht. Im nächsten Schritt wird die benötige Deformation
berechnet, um die Konturen des Exemplars in mehreren Iterationen an die des Testsbildes
anzunähern. Je geringer die benötigte Deformation, desto besser ist das Exemplar geeignet.
Die Gelenkpunkte des Trefferexemplars werden derselben Deformation unterzogen. Als
letzten Schritt wird mittels des Algorithmus von Taylor daraus ein 3D Modell berechnet.
Abbildung 1. veranschaulicht die einzelnen Schritte.
Die Auswertung kann mittels eines Ausschlussalgorithmus, der völlig ungeeignete Exemplare
vor dem eigentlichen Matchingprozess erkennt und ausschließt, effektiv beschleunigt werden.
Falls der Algorithmus um die Verwendung von Teilexemplaren erweitert wird, reduziert dies
den Umfang der benötigten Datenbank.
3
3.2. Matchingprozess
3.2.1. Korrespondierende Punkte
Am Anfang des Algorithmus wird mit Hilfe eines Grenzdetektors, entwickelt von D. Martin,
C. Fowlkes und J. Malik9, zuerst ein Satz aus Kantenpunkten ermittelt, der die äußeren und
inneren Konturen des Körpers, also dessen Shape repräsentiert. Die inneren Konturen werden
ebenfalls benötigt, um selbstüberdeckende Haltungen wie vor der Brust verschränkte Arme zu
interpretieren. Aus diesen Kantenpunkten werden 300 bis 1000 für die Auswertung
ausgewählt.
Nun gilt es zu jedem dieser Punkte den besten korrespondierende Punkt in einem anderen
Shape zu finden. Dies ist umso einfacher, je mehr Informationen bezüglich des
Gesamtkontextes die Deskriptoren enthalten. Hier wurden erweiterte Shape-Kontext-
Deskriptoren verwendet, die im Gegensatz zu normalen Histogrammen nicht nur die
Punktanzahl in den einzelnen Bins, sondern zusätzlich die Hauptrichtung der jeweiligen
Kanten im Bin enthalten. (Die Gebiete der Bins entstehen durch die Aufteilung von Kreisen,
vgl. Abbildung 2 Spalte a und c.) Jedem Kantenpunkt qi wird ein Einheitstangentenvektor ti,
der der Richtung der zugehörigen Kante entspricht, zugewiesen. Diese Vektoren werden für
alle Punkte innerhalb eines Bins aufsummiert ( entspricht Q ). Den Deskriptor für die Punkte
pi bildet das an dieser Stelle erzeugte Histogramm hi,, bestehend aus je einem Vektor pro Bin.
Folgende Formel zeigt den Hauptrichtungsvektor für Bin k des Histogramms.
Um die Deskriptoren zweier Punkte zu vergleichen, werden die beiden Histogramme mit d
Bins in zwei Vektoren mit 2d Dimensionen umgewandelt, normalisiert und mit der L2-Norm
verglichen. Der Vektor vi entsteht aus dem Histogramm hi..
Abbildung 2
( ) ( ){ }∑∈
ijijjki
i
kbinpqpqQth ,mit ˆ
1,1,1
,,,2,2,1,1
ˆ Vektors des Anteiley und x die sind ˆ und ˆ
ˆ,ˆ,...,ˆ,ˆ,ˆ,ˆˆ
iy
ix
i
ydi
xdi
yi
xi
yi
xii
hhh
hhhhhhv =
4
Abbildung 2 zeigt die Figur eines Buchstaben (a), dessen Grenzkanten (b) und zwei
Beispielhistogramme zu unterschiedlichen Punkten ( c und d ) mit ihren Binbereichen und
Hauptvektoren.
Diese Deskriptoren werden als generalisierte Shape Kontexte bezeichnet. Wie bei normalen
Shape Kontexten gilt, dass sie nicht skalierungs- und rotationsinvariant sind. Die
Skalierungsinvarianz könnte durch einen variablen Binradius, der abhängig vom mittleren
Punktabstand ist, ersetzt werden, was allerdings einen unauffälligen, monotonen Hintergrund
voraussetzt. Eine geringe Rotationsinvarianz wird durch die Radialstruktur der Bins
automatisch erreicht, weil bei geringen Rotationen die meisten Kantenpunkte immer noch in
dasselbe Bin fallen. Eine volle Rotationsinvarianz könnte erreicht werden, indem man die
Orientierung des Histogramms von lokalen Kantentangenten abhängig macht. Auf Beides
wurde in diesem Verfahren verzichtet, was zwar zu mehr benötigen Exemplare führt, aber
auch Vorteile bietet. Die nicht vorhandene Rotationsinvarianz und die Tatsache, dass
Menschen überwiegend aufrecht stehen, schließt Verwechslungen zwischen Punkten in Kopf
und Füßen aus.
Nachdem zwischen allen Punkten des Testbildes und des Exemplars Ähnlichkeitswertungen
berechnet wurden, wird eine eindeutige Bildung von Punktepaaren benötig, da jeder Punkt
genau zu einem Punkt des anderen Shapes gehören muss. Dieses Problem entspricht einem
bekannten Zuweisungsproblem, nämlich dem Problem eines gewichteten, bipartiten Graphen.
Die Knoten auf den beiden Seiten entsprechen jeweils den Punkten des Testbildes und des
Exemplars, die Verbindungskanten entsprechen den Kosten. Unterschiedlichen Punkten
werden hohe Kosten zugewiesen, ähnlichen Punkte niedrige Kosten. Spezielle Ausreißer-
knoten werden hinzugefügt, um verdeckte Punkte und Hintergrundrauschen zu kompensieren,
indem im anderen Shape fehlende Punkte für geringe Kosten diesen Ersatzknoten zugewiesen
werden können. Die bestmöglichste Lösung für das Graphenproblem bestimmt ein
Zuweisungoptimierer. Erwähnenswert ist noch, dass die Gewichtung der Kanten im Graph
beliebig erfolgen kann und deshalb z.B. spezielle Gesichtsdetektoren problemlos integrierbar
wären. Nachdem nun die korrespondierenden Punkte in Exemplar und Testbild ermittelt
wurden, kann deren Ähnlichkeitsbewertung beginnen.
3.2.2. Deformation mittels kinematischer Ketten
Der Vergleich erfolgt durch Deformation des Exemplars in das Shape des Testbildes. In
mehren Iterationen wird jeweils die benötigte Deformation des Exemplars abgeschätzt und
diese auf seine Kantenpunkte und handmarkierten Gelenkpunkte angewendet. Maximal vier
Iterationsschritte werden dafür verwendet.
5
Abbildung 3 visualisiert zwei Iterationsschritte. Die erste Spalte (a) zeigt das Testbild und
darunter das zu deformierende Exemplar. Die nächsten beiden Spalten (b und c) zeigen durch
zahlreiche grüne Verbindungslinien korrespondierenden Punkte und darunter den nächsten
Iterationsschritt. Insbesondere der rechte Arm und der linke Fuß der Eiskunstläufer werden
dabei angepasst.
Abbildung 3
In früheren Arbeiten wurden „Thin Plate Splines“ zur Deformation des Körpers verwendet,
dies ignoriert allerdings das Bewegungsverhalten eines menschlichen Körpers. Stattdessen
wird eine zweidimensionale kinematische Kette als Modell verwendet.
Diese besteht aus neun Segmenten (Abbildung 4 a):
- Torso, besteht aus Kopf, Schultern, Taille und Hüften
- zwei Oberarmen, die Ellbogen und Schultern verbinden,
- zwei Unterarmen, die Hände und Ellbogen verbinden,
- zwei Oberschenkeln, die Hüften und Knie verbinden
- und zwei Unterschenkeln, die schließlich Knie und Knöchel verbinden.
Dieses Modell erlaubt Translationen des Torsos und der damit verbunden Körperglieder und
zweidimensionale Rotationen an Schultern, Ellbogen, Hüfte und Knien.
6
Die Kantenpunkte in den Exemplaren werden jeweils dem Segment mit der am nächsten
gelegenen Knochenlinie, also der Verbindung entsprechender Gelenkpunkte, die in dem
Exemplaren bekannt sind, zugewiesen. Über die Punktkorrespondenzen ist auch in den
Testbildern bekannt, zu welchem Segment ein Punkt gehört. Abbildung 4 zeigt, das
Bewegungsmodell (a), die Zuweisung der Punkte zu den einzelnen Segmenten, symbolisiert
durch unterschiedliche Symbole (b) und eine Beispieldeformation (c).
Abbildung 4
Das Ziel ist nun die Differenzen zwischen den Punktepaaren in Testbild und Exemplar zu
minieren, beginnend mit dem Torso. Die benötigte Translationsmatrix T wird mit der
Methode der kleinsten Quadrate ermittelt. Das Minimierungsproblem lautet.
Konkret gelöst wird es, indem der mittlere Verschiebungsvektor der N Torsopunkte berechnet
wird.
Für die benötigen Rotationsmatrizen der Körperglieder muss bedacht werden, dass die vorher
berechneten Deformationsmatrizen D auch für die untergeordneten Köperteile gültig sind. Für
die Rotation an den Schultern und an den Hüften muss die Translation des Torsos
berücksichtigt werden. Für die Rotation an den Ellbogen gilt die Translation des Torsos und
zusätzlich die Rotation an den Schultern. Für die Rotation an den Knien muss analog die
Translation des Torsos und die Rotation an den Hüften angewandt werden.
( )( )∑
=
−==torsopSp
iiTtii
ppTTD,
2minargˆ
( )( )∑
=
−=torsopSp
iiii
ppN
T:
'1
7
Das Minimierungsproblem Dj für die Rotation an Gelenkpunkt ci lautet:
(Alle Punkte aus Körpersegment j )
Konkret berechnet wird dies durch eine Summe von Skalarprodukten. mit Für jedes der Körpersegmente wird die entsprechende Deformationsmatrix berechnet und auf
dessen Punkte und Gelenkpunkte angewendet in bis zu vier Iterationsschritten. Damit ist ein
Verfahren gegeben, dass durch Berücksichtigung eines einzigen Exemplars die Gelenkpunkte
eines Testbildes bestimmt und eine Wertung für die Eignung des Exemplars vornimmt
( nämlich die Gesamtkosten für die bestmöglichste Lösung des Graphenproblems ).
Die einfachste Methode wäre nun einfach stur jedes Exemplar mit dem Testbild zu
vergleichen und das mit der besten Wertung zu verwenden.
3.3. Optimierung
3.3.1. Ausschlussalgorithmus mittels RSCs
Der vollständige Matchingprozess mit mehren Iterationsschritten ist jedoch sehr
rechenaufwendig, ca. 20-30 Sekunden Dauer für jeden Exemplarvergleich auf einem 2GHZ
AMD Opteronprozessor. Deshalb wird ein Ausschlussalgorithmus verwendet, der keinesfalls
zueinander passende Exemplare im Vorfeld ausschließt. Beispielsweise werden Bilder einer
großen und einer kleinen Person, die unterschiedliche Aktionen wie Gehen und Laufen
ausführen, keinesfalls gute Matchingergebnisse liefern. Mittels RSCs („representative shape
( ){ }
( )
( ) ( )'minarg
'minarg
:2
,, ,
ijPp
TTji
PpiicRcj
iij
pcRcpD
ppDRRD
jpSpP
ji
ji
jjcj
−−⋅=
−⋅==
==
∑
∑
∈
∈
θ
θ
θ
θθ
θ
ji
ji
i ixiyi iyix
i ixiyi iyix
cp
cpD
qqqqqqqq
−=
−⋅=
+
−=
∑∑∑∑
'q'
q
''''
arctan
i
i
θ
8
contexts“) wird genau dieser Effekt ausgenutzt, um die wenigen Erfolg versprechenden
Exemplare zu finden.
Für jedes Exemplarshape Sj werden im Voraus viele Shape Kontexte berechnet (ca. 800) und
abgespeichert, die dann für jede Auswertung verfügbar sind. Im eigentlichen Algorithmus
wird für das Shape des Testbildes Sq nur eine geringe Anzahl r RSCs berechnet. Etwa fünf
bis zehn haben sich in Experimenten als sinnvoll erwiesen. Für die Berechnung wird für jeden
RSC ein einzelner Punkt aus dem Shape des Testbildes gewählt, wobei darauf geachtet
werden muss, die Punkte gleichmäßig über das ganze Shape zu verteilen. Um die
Histogramme dieser Einzelpunkte zu füllen, werden sämtliche Punkte des Shapes
berücksichtigt.
Bei der Abschätzung der Ähnlichkeit zwischen einem Exemplar und Testbild, wird zu jedem
der r RSCs zuerst der passendste Shape Kontext ermittelt und die Vergleichswerte dieser
besten Treffer werden zum Schluss aufsummiert.
Shape Kontexte des Exemplars Si : SCi j j = 1, 2, 3, … ca. 800
RSCs des Testbildes Sq : SCq u u=1,2,3…ca.5-10
dGSC : Vergleich von Gradient, Struktur, Konvexität
|$| : Gesamtzahl der Exemplare
Passendstes Shape zum RSC SCqu :
Nu ist ein Normalisierungsfaktor, der angibt wie stark sich der RSC SCq
u durchschnittlich
von einem Exemplar unterscheidet.
Mit Hilfe dieses Ausschlussverfahrens, das im Gegensatz zum vollständigen Matching nur
Sekundenbruchteile dauert, kann effektiv eine wesentlich kürzere Auswahlliste von
relevanten Exemplaren erstellt werden. Für die Testbilder muss jedoch die Einschränkung
gelten, dass die menschliche Figur das einzige Objekt darauf ist, ansonsten könnten durch
zufällig ungünstig gewählte RSCs eigentlich ideale Exemplare verworfen werden.
( )( )∑∈
=$
,$1
iS
umi
uqGSCu SCSCdN
( )( )( )
∑=
=r
u u
umi
uqGSC
iqs NSCSCd
rSSd
1
,1,
( ) ( )ji
uq
SGSC SCSCdum
i
,$1
$∑∈
=
9
Abbildung 5 Abbildung 5 zeigt zu verschienen Testbildern (Spalte a) jeweils die zehn relevantesten
Exemplare (Spalten b – k), die auf diese Weise ermittelt wurden.
3.3.2. Verwendung von Teilexemplaren
Ein weiteres Problem ist das exponentielle Wachstum der Anzahl benötigter Exemplare. Ist
z.B. ein Exemplarsatz für gehende Personen vorhanden und es sollen nun zusätzlich Personen
mit Aktenkoffern erkannt werden, müsste für jedes Exemplar ein Äquivalent mit Aktenkoffer
hinzugefügt werden. Einen Ausweg bietet die Verwendung von Teilexemplaren. Man müsste
nur wenige Exemplare von Personen mit Aktenkoffer hinzufügen. Falls unterschiedliche
Exemplare kombiniert werden, muss sichergestellt werden, dass das Ergebnis konsistent und
anatomisch korrekt ist.
Der Matchingprozess verläuft beinahe identisch, wie bei ganzen Exemplaren. Die
korrespondieren Punkte werden auf dieselbe Art erkannt und die Shapes danach deformiert.
Die Matchingwertung wird aber nicht für den ganzen Körper, sondern für sechs Körperteile
getrennt berechnet: Arme, Beine, Torso und Kopf
Es reicht jedoch nicht, für jedes der Köperteile einfach das am besten bewertete Teilexemplar
zu verwenden. Ansonsten würde man im ungünstigsten Fall vom Körper getrennte Arme oder
Beine erhalten. Die Abstände von Gelenkpunkten sind durch die Anatomie beschränkt. Die
Grundidee, um die Konsistenz zu gewährleisten, ist für jede Kombination zweier verbunden
10
Körperteile z.B. linker Arm und Torso, den Abstand der Basisgelenkpunkte (im Beispiel die
Schultern und der Kopf relevant) zu berechnen und diese Abstände mit denen in den beiden
Gesamtexemplaren zu vergleichen. Nur falls der Abstand der Kombination mit den
Abständen in beiden Gesamtexemplaren, also der Abstand zwischen Kopf und Schultern
innerhalb eines einzigen Exemplars vergleichbar ist, darf die Kombination verwendet werden.
Man nutzt aus, dass die Exemplare für sich alleine immer konsistent sind.
Man repräsentiert den Körper mithilfe einer Baumstruktur, indem die beiden Arme und der
Bauch mit dem Kopf und beide Beine mit dem Bauch verbunden werden. Theoretisch gäbe es
bei N Exemplaren N6 Kombinationsmöglichkeiten. Der Baum besitzt fünf Verbindungs-
knoten, die jeweils N2 mögliche Belegungen aufweisen können.
Köperteil j aus Exemplar i wird als l i j bezeichnet und der zugehörige Matchingwert als Li j.
Die Verwendung von zwei verbunden Körperteile li u und lj v aus zwei verschienen Exem-
plaren i und j hat die zusätzlichen Konsistenzkosten cij uv. Diese werden aus den einzelnen
Abständen der Basisgelenkpunkte bi u und bj
v berechnet. Relevant sind dabei der Abstand
zwischen den Punkten aus den beiden verschiedenen Exemplaren dij uv und die beiden
Vergleichsabstände derselben Basispunkte aus jeweils nur einem Exemplar, also dii uv und
djj uv.
Abstand der Basispunkte u und v aus Exemplar i und j:
Konsistenzkosten für die Verwendung der Köperteile u und v aus Exemplar i und j:
Die Konsistenzkosten beginnen bei null, falls die Punkte nur aus einem Exemplar stammen
und wachsen, je weiter die Kombination davon abweicht.
vj
ui
uvij bbd −=
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ −+−−−=
σ2exp1
uvii
uvij
uvii
uvijuv
ij
ddddc
11
Die Gesamtwertung S(x) für einen zusammengesetzten Körper x setzt sich aus den einzelnen
Matchingwerten für die sechs Körperteile und aus den Konsistenzkosten für die fünf
Verbindungsknoten zusammen.
Die Gewichtung wc zwischen den Matchingwertungen und Konsistenzkosten wurden genauso
wie die Konstante manuell in Experimenten bestimmt. Obwohl es N6 Möglichkeiten gäbe,
kann mit Hilfe von dynamischer Programmierung basierend auf der Baumstruktur die
optimale Lösung in O(N2) bestimmt werden.
3.4. Rekonstruktion des 3D-Körpers
Nachdem durch den Matchingprozess die 2D-Gelenkpunkte ermittelt wurden, soll nun daraus
ein 3D-Körper rekonstruiert werden. Dazu wird das Verfahren von Taylor11 genutzt, welches
die 2D-Koordianten der Gelenkpunkte, die relative Länge der Körperteile, die diese
Gelenktpunkte verbinden, und Close-Endpoint-Labels, die für jeden Gelenkpunkt angeben, ob
er näher oder weiter entfernt vom Betrachter als seine Nachbarn liegt, als Eingabedaten
voraussetzt. Außerdem muss ein orthographisches Projektionsmodell für die Kamera
verwendet worden sein.
Die Koordinaten der Gelenktpunkte wurden durch den Matchingprozess und die damit
verbundene Deformation ermittelt. Die Close-Endpoint-Labels wurden manuell in den
Exemplaren notiert und werden wie die Koordinaten der Gelenkpunkte daraus übernommen.
Die relative Länge der Körperteile ist statisch, könnte aber ebenfalls in Exemplaren ablegt
werden. Der Algorithmus berücksichtigt jeweils die perspektivische Verzerrung für jeden
Körperteil. Zuerst wird ein Gelenkpunkt als Fixpunkt ausgewählt und die Koordinaten der
Anderen werden relativ dazu berechnet.
Die X und Y-Koordinaten können bis auf einen Skalierungsfaktor s aus den 2D-Koordinaten
u und v abgelesen werden.
( ) ( )∑ ∑+−=6
),(:
1j jilinks
jixjxic
ixjc cwLwxS
σ
{ } { }Nxxxxxxx ,...,2,16,5,4,3,2,1 ∈=
( ) ( )2121 XXsuu −=−
( ) ( )2121 YYsvv −=−
12
Für die Länge der Körperteile gilt:
Die perspektivische Verzerrung errechnet sich folgendermaßen:
Die Close-Endpoint-Labels geben die Reihenfolge der Gelenkpunkte an, also ob dZ zur Z-
Koordinate des benachbarten, bereits berechneten Punktes addiert oder davon subtrahiert
werden muss. Die einzige Unsicherheit ist der Skalierungsfaktor s. Für die Abschätzung kann
jedoch ausgenutzt werden, dass dZ nicht komplex sein darf.
3.5. Validierung und Experimente
Um die Effizienz und Zuverlässigkeit des Verfahrens zu testen, wurden Testreihen aus drei
verschiedenen und beschränkten Bereichen durchgeführt. Verwendet wurden Videodaten
laufender Leute aus der CMU MoBo Datenbank ( „The CMU motion of body database“ der
Carnegie Mellon Universtität ), einer Eisläuferin und schließlich einer laufenden Küchen-
schabe.
Bei allen Tests wurde jedes Bild für sich alleine und nicht im zeitlichen Zusammenhang
analysiert. Hintergrundrauschen spielte dabei keine Rolle, da entweder bereits ein schlichter
Hintergrund vorhanden war oder der störende Hintergrund entfernt wurde.
3.5.1. CMU MoBo Datenbank
Insgesamt wurden 300 Frames von zehn verschiedenen Personen als Exemplardaten
vorbereitet. Für ein Testbild einer Person dienten jeweils nur die anderen neun Personen als
Exemplare, um zu testen, wieweit das Verfahren unterschiedlichen Köperbau und Kleidung
verarbeiten kann.
In Abbildung 6 wurden Körperhaltungen analysiert, bei denen häufig Gelenkpunkte verdeckt
wurden, die folglich nicht ermittelt werden konnten und damit auch bei der 3D-
Rekonstruktion fehlten. Diese fehlenden Körperteile erben lediglich die Deformation der
( ) ( ) ( )2212
212
212 ZZYYXXl −+−+−=
( )( ) ( )( ) 22
212
212
21
/ svvuuldZ
ZZdZ
−+−−=
−=
( ) ( )l
vvuudZs
221
221
min−+−
=>=
13
übergeordneten Köperteile, beispielsweise für den Sonderfall, dass der Oberarm nicht
gefunden werden kann, der Unterarm jedoch schon.
Abbildung 6
Abbildung 8 zeigt Testbilder mit vollständig erkennbaren Gelenkpunkten, die weitgehend
gute Ergebnisse geliefert haben, insbesondere für die Arme. Jeweils zwei Zeilen zeigen
erkannte Gelenkpunkte im Testbild und darunter das geeigneteste Exemplar. Bei der dritten
Figur führt die unterschiedliche Kleidung zu Problemen. Die Person auf den Testbildern trägt
ein gestreiftes Hemd, die anderen neun Personen auf den Exemplaren einfarbige Kleidung.
Durch die gestreifte Kleidung entstehen zusätzliche Kanten ohne Entsprechung in den
Exemplaren und die Hände können deshalb nicht korrekt erkannt werden.
a) b) c) d) e) f)
Abbildung 7
14
Abbildung 8
Durch die Verwendung und Kombination von Teilexemplaren kann die Erkennung der
Gelenktpunkte leicht verbessert werden. Der Hauptnutzen ist, dass weniger Exemplare
benötigt werden. In Abbildung 7 zeigt die obere Zeile Auswertungen mittels ganzer
Einzelexemplare, die Zeile darunter Ergebnisse mittels Teilexemplaren. In Spalte a konnte
dadurch ein Arm besser erkannt werden und in Spalte b teilweise ein Bein besser. Spalte c
verdeutlich das Hauptproblem dieser Methode, die mehrmalige Verwendung von Pixeln.
15
Beide Beine werden hier irrtümlich an derselben Stelle erkannt. Bei der Verwendung von
baumbasierten Modellen tritt dieses Problem generell auf.
3.5.2 Eiskunstläuferin
Für das Video der Eiskunstläuferin wurde ein wesentlich kleinerer Datensatz verwendet. Von
lediglich zwanzig Bildern wurden jedes vierte als Exemplar genutzt, also insgesamt nur fünf
Exemplare.
Abbildung 9 zeigt die Ergebnisse. Wegen der zu geringen Exemplarzahl treten Probleme bei
Erkennung der Arme auf, insbesondere falls sich diese vor dem Körper kreuzen und sich
dabei die Reihenfolge von Kanten ändert.
Abbildung 9 3.5.3 Laufende Küchenschabe
Das benötigte Videomaterial, insgesamt 300 Frames, wurde von Biologen der Universität
Berkeley, die Bewegungen von Insekten studierten, gewonnen. Für die Forschungen wurden
die 3D-Winkel der Gelenke benötigt. Gegenwärtig werden diese Daten gewonnen, indem auf
allen Bildern zweier Kameras mit unterschiedlicher Perspektive die zweidimensionalen
Gelenkpunkte markiert und durch Vergleich die dreidimensionalen Koordinaten durch
Vergleich ermittelt werden. Ein exemplarbasiertes Erkennungsverfahren könnte dadurch sehr
viel Zeit einsparen, dass beispielsweise nur noch jedes zehnte Frame markiert werden müsste,
um als Exemplar zu dienen.
16
Von den 300 Frames wurde aus dem mittleren Bereich vom 50. bis 250. Frame jedes Vierte
als Exemplar ausgewählt, insgesamt 41 Exemplare. Zur Erkennung der Insekten wurde das
für Menschen entwickelte Verfahren verwendet, bei dem nur das Bewegungsmodell um zwei
zusätzliche Körperglieder erweitert wurde. Abbildung 10 zeigt Auswertungen von Frames
außerhalb des Exemplarbereichs, die dennoch sehr erfolgreich verlief.
Abbildung 10 4. Verfahren mittels „Motion Descriptor“
4.1. Problemstellung und Grundprinzip
Die Arbeit „Recognizing Action at a Distance”11 von Alexei A. Efros, Alexander C. Berg,
Greg Mori und Jitendra Malik ist ein ebenfalls exemplarbasierter Ansatz für ein ganz anderes
Aufgabengebiet, nämlich der Auswertung von gewöhnlichem Videomaterial aus mittlerer
Entfernung. Man stelle sich hierzu ein aufgezeichnetes Fußballspiel in normaler Fernseh-
qualität wie dem amerikanischen NTSC-Standard vor. Die Spieler sind dabei 30 Pixel groß,
die zudem noch sehr unscharf sind, wie Abbildung 11 zeigt.
Verfahren zur Bilderkennung versuchen häufig, einzelne Körperteile oder konkrete
Körperkonturen zu erkennen, um daraus einen Gesamtkörper abzuschätzen, aber benötigen
wesentlich bessere Eingabedaten und Nahaufnahmen in einer Größe von etwa 300 Pixeln.
Anwendungen für Aufnahmen aus der Ferne arbeiten hingegen mit Figuren, die lediglich 3
Pixel groß sind, und können lediglich Positionsänderungen erkennen. Unterschiedliche
Bewegungen oder Aktionen sind nicht mehr unterscheidbar.
Die Problemstellung liegt zwischen beiden Feldern. Die Grundidee des Verfahrens ist es,
mithilfe von Optical Flow ein grobes Bewegungsmuster als „Motion Descriptor“ zu
generieren, ohne Details erkennen zu müssen. Die Bewegungsmuster einer Sequenz werden
mit abgespeicherten Exemplarmustern verglichen, um die ausgeführte Aktion zu
identifizieren. Die Exemplarmuster wurden manuell beschriftet und enthalten zusätzliche
17
Daten wie zwei- und dreidimensionale Skelettdaten, die bei Bedarf in die Testsequenz
übertragen werden können.
Abbildung 11 4.2.Berechnung des „Motion Descriptors“ und Matching
Der „Motion Descriptor“ wird in drei Schritten berechnet:
1. Stabilisierung des Bildes
2. Optical Flow
3. Filterung und Verwischung
Zuerst wird das Bild stabilisiert, indem die Figur erfasst und ein darauf zentrierter Ausschnitt
konstruiert wird. Dazu wird ein auf Normalisierungskorrelation basierender Tracker
verwendet. Prinzipiell wäre jeder Tracker geeignet, solange garantiert wird, dass eine
identische Körperhaltung zu einem identischen stabilisierten Bild führt. Durch die
Stabilisierung werden Bewegungen vergleichbar, wobei räumliche und zeitliche
Veränderungen in einer Sequenz berücksichtigt werden müssen. Dabei gehen allerdings die
Translationsinformationen verloren, die folglich bei der Auswertung komplett ignoriert
werden.
Danach wird mit dem Verfahren von Lucas Kanade 12 der Optical Flow des Bildes berechnet.
Allgemein gilt dieser als eher unzuverlässig und ungenau, aber die Flussvektoren werden
nicht als exakte Pixelverschiebungen, sondern als grobes Bewegungsmuster interpretiert. Nun
18
müssen die wesentlichen Merkmale der Bewegung extrahiert werden, um wegen des
Rauschens unzuverlässige Details zu entfernen und auch noch erfolgreich matchen zu können,
falls ein passendes Exemplar leicht zeitlich oder räumlich abweicht. Dies kann
interessanterweise durch simple Verwischung erreicht werden.
Abbild 12 zeigt die Einzelschritte des Verfahrens. Dabei muss unbedingt berücksichtigt
werden, dass keine Vektoren mit unterschiedlichen Vorzeichen verwischt werden. Deshalb
wird das Vektorfeld F in zwei getrennte Kanäle FX und FY für die X- und Y-Komponenten
aufgetrennt und diese jeweils in zwei nicht negative Kanäle FX +, Fx,
-, FY+ und FY
- zerlegt.
Diese getrennten Kanäle werden abschließend mit einem Gaußfilter verwischt und bilden
zusammen einen „spatio-temporalen Motion Descriptor“. Der entscheidende Effekt ist, dass
jeder Einzelkanal nur noch wenige, ausschließlich relevante Merkmale aufweißt, die sich gut
für Vergleiche eignen.
a) stabilisiertes Bild b) Optical Flow F
c) Fx, Fy d ) nicht negative Kanäle:
FX +, Fx,
- , FY+, FY
-
e) verwischte Kanäle:
FX +, Fx,
- , FY+, FY
-
Abbildung 12
Um Bewegungssequenzen zu vergleichen, werden nicht nur einzelne Frames verglichen,
sondern immer auch die nachfolgenden Frames mitberücksichtigt. Folgende Formel
vergleicht beginnend mit Frame i und Frame j die Sequenzen A und B. aci steht dabei für das
Vektorfeld von Kanal c in Frame i der Sequenz A. Die Variablen t und x, y stehen jeweils für
die zeitliche Erweiterung auf die Folgeframes und die Bildkoordinaten der jeweiligen Pixel.
( ) ( ) ( )yxbyxajiSTt c Iyx
tjc
tic ,,,
4
1 ,∑∑ ∑
= ∈
++=ε
19
Für einen vollständigen Vergleich zweier Sequenzen müssen alle Möglichkeiten für die
Ausgangsframes miteinander verglichen werden. Dies kann optimiert werden, indem man
Ähnlichkeitsmatrizen einführt. Die Matrix A1 wird dabei als Verkettung aller a1 definiert, die
jeweils eine Spalte bilden. Aus den Ähnlichkeitsmatrizen für die einzelnen Kanäle wird eine
Vergleichsmatrix Sff für alle Frames berechnet. Spalte a in Abbildung 13 zeigt ein Ergebnis
für eine Laufsequenz.
Sollten die verglichen Sequenzen zueinander passen, wird dies durch hohe Werte an der
Hauptdiagonale der Matrix deutlich. Um die endgültige Ähnlichkeitsmatrix für die
Bewegungen zu erstellen, wird sie nun noch mit einer T x T Identitätsmatrix gefaltet, die das
Zeitfenster T repräsentiert.
Auch Sequenzen, die zwar dieselbe Bewegungen darstellen, aber zeitlich um einige Frames
versetzt sind, sollen berücksichtigt werden. In ihrer Frameähnlichkeitsmatrix Sff wird dies
durch eine gute erkennbare Diagonale erkennbar, die in der Nähe der Identitätsdiagonale
verläuft. Statt mit einer exakten Identitätsmatrix wird mit einer Kernelmatrix K(i,j) gefaltet,
die aus zahlreichen gewichteten Diagonalen in der Umgebung der Hauptdiagonale besteht.
Spalte b in Abbildung 13 zeigt eine solche Kernelmatrix, die benutzt wurde, um aus der
Frameähnlichkeitsmatrix in Spalte a die finale Bewegungsähnlickeitsmatrix in Spalte c zu
berechnen.
a) Frameähnlichkeitsmatrix b) Kernelmatrix c) Bewegungsähnlickeitsmatrix Abbildung 13
44332211 BABABABAS TTTTff +++=
Tff ISS ∗=
( ) ( ) ( )
( )
( )⎩⎨⎧ ≈
=
= ∑
sonst 0 falls 1
,
durch Gewichtung
,,
r jiji
r
jirjiKRr
χ
ω
χωε
20
4.3 Validierung und Experimente
Um die Effizienz des Verfahrens zu zeigen, wurden Videodaten von Balletttänzern, Tennis-
und Fußballspielern verwendet. Dabei wurde jeweils eine bestimmte Anzahl an besten
Treffern ermittelt und als Prozentwerte bezüglich korrekter und falscher Auswertung in ein
Koordinatensystem eingetragen. Die X-Achse stellt jeweils die tatsächlich ausgeführten
Bewegungen dar und die Y-Achse die erkannten Bewegungen. Eine möglichst eindeutig
markierte Hauptdiagonale steht also für korrekte Ergebnisse. Eine 90% Markierung auf der
Hauptdiagonale bedeutet beispielsweise, dass 90% der Frames dieser Sequenz korrekt
zugeordnet wurden.
Beim ersten Test wurde zwischen 16 verschiedenen Standardballetschritten unterschieden. Es
wurden jeweils die Videodaten des Balletttänzers als Exemplare für die Balletttänzerin und
umgekehrt verwendet, um die fünf besten Treffer zu ermitteln. Der Matchingprozess
berücksichtigte 51 Folgebilder. Die Ergebnisse in Spalte a von Abbildung 14 zeigen, dass der
Algorithmus bei den streng choreographierten und daher relativ einfach identifizierbaren
Bewegungen hervorragend funktioniert hat. Die meisten Schritte wurden zu 90% richtig
erkannt, keiner davon schlechter als zu 70% korrekt erkannt.
Die nächste Auswertung findet mit den Videodaten eines Tennisspielers und einer
Tennisspielerin statt. Diesmal wird zwischen sechs Bewegungen unterschieden, die im
Gegensatz zu vorher spontan sind. Erneut wurden jeweils die Aufnahmen des anderen
Spielers als Exemplar verwendet, um die fünf besten Treffer zu ermitteln, und dabei sieben
Folgebilder berücksichtigt. Die Ergebnisse in Spalte b sind um einiges ungenauer, als im
vorhergehenden Experiment. Die verschiedenen Bewegungen wurden zwischen 42 % und
88% korrekt erkannt, jedoch ergeben die Fehler Sinn. Verwechselt wurden überwiegend
ähnliche Aktionen wie „schwinge“ und „laufe nach link und schwinge“. Hinzu kommt, dass
der kontrastarme Tennisschläger durch die Verwischung des optischen Flusses leicht
übersehen wird.
Für die letzte Auswertung wurden einige Minuten der Fußballweltmeisterschaft verwendet,
die im Gegensatz zu den vorherigen beiden Experimenten mit einer mobilen Kamera
aufgezeichnet wurden. Unterscheidbar waren acht verschiedene Aktionen, wofür 13
Folgeframes genutzt wurden. Die Ergebnisse in Spalte c sind wieder eher unscharf, im
Bereich von 58% bis 79%. Es wurden aber nur logisch nachvollziehbare Fehler gemacht, wie
die Aktionen „gehe nach links“ und „laufe nach links“ verwechselt.
Obwohl der gesamte Algorithmus keinerlei Translationsinformation verwendet, konnten
sowohl bei den Tennis- als auch bei den Fußballspielern die Bewegungen „laufe nach links“
und „laufe nach rechts“ zuverlässig unterschieden werden. Wenn man bedenkt, dass die
21
Figuren durchschnittlich nur 30 bis 50 Pixel groß sind und die Exemplardaten von jeweils
unterschiedlichen Sportlern stammten, ist das Ergebnis durchaus beeindruckend.
Abbildung 14
Abbildung 15 zeigt einige Testframes eines Tennisspielers und darunter der passendsten
Treffer eines anderen Spielers.
Abbildung 15 5. Vergleich der Verfahren
Die beiden Verfahren zielen auf unterschiedliche Problemstellungen. Das erste Verfahren
mittels Shape Kontexten wertet getrennte Einzelbilder in guter Qualität aus, ohne dabei
zeitliche Konsistenz zu berücksichtigen. Dies geschieht, indem durch einen aufwendigen
Matchingprozess in mehreren Iterationen, das Shape von Exemplaren in das Testbild
deformiert wird, um den besten Treffer zu finden. Dabei werden einzelne Körperteile erfasst
und auf anatomisch sinnvolle Art getrennt deformiert. Die Ausgabe sind 2D-Gelenkpunkte,
mit denen ein 3D-Skelett rekonstruiert wird. Durch die Verwendung von RSCs kann das
Verfahren beschleunigt werden, indem ungeeignete Exemplare vor dem eigentlichen
Matchingprozess aussortiert werden. Das Verfahren benötigt dennoch relativ lange und ist
momentan noch nicht für Realtime-Anwendungen geeignet.
Das zweite Verfahren dient speziell zur Auswertung von Videodaten in schlechter Qualität
aus der Entfernung, bei denen einzelne Körperteile nicht mehr erfasst werden können. Um die
22
Aktionen 30 Pixel großer Figuren noch unterscheiden zu können, werden durch Filterung und
Glättung des optischen Flusses ungefähre Bewegungsmuster erzeugt. Diese werden im
Gegensatz zum ersten Verfahren immer in Folgen mit Exemplarsequenzen verglichen, da ein
Muster alleine nicht ausreicht um eine Bewegung zu identifizieren. Als Endergebnis wird
entschieden, um welche Bewegung aus einer beschränkten Auswahl, beispielsweise 16
Ballettschritte oder sieben Bewegungen von Tennisspielern, es sich handelt. Der Algorithmus
ist damit in der Lage, Bewegungen zu unterscheiden ohne die Personen wirklich zu erfassen.
Beide haben den großen Nachteil von exemplarbasierten Verfahren, dass nur Körperhaltungen
und Bewegungen erkannt werden können, für die es passende Exemplare gibt. Allgemeine
Problemstellungen können damit kaum gelöst werden, da die Zahl der Exemplare trotz der
Nutzung von Teilexemplaren schnell ins Unermessliche wächst. Der gegenteilige „Low-
Level-Ansatz“, aus einzelnen Details einen Körper zusammenzusetzen, kennt dieses Problem
nicht. Allerdings ist die Erkennung dieser Details unzuverlässiger, da der Gesamtkontext
fehlt. Beide Ansätze zu kombinieren wäre eine wichtige Aufgabe für zukünftige Forschungen.
23
6. Referenzen
1) Greg Mori, Xiaofeng Ren, Alexei A. Efros und Jitendra Malik, Recovering Human
Body Configurations: Combining Segmentation and Recognition,
http://www.cs.sfu.ca/~mori/research/papers/mori_cvpr04.pdf, 23.5.2006
2) N. Badler und J. O’Rourke, Model-based image analysis of human motion using
constraint propagation, IEEE Trans. PAMI, Ausgabe 2, Nr. 6, S. 522-536, 1980.
3) D. Hogg, Model-based vision: A program to see a walking person, Image and Vision
Computing, Ausgabe 1, Nr. 1, S. 5-20, 1983.
4) I. Kakadiaris und D. Metaxas, Model-based estimation of 3d human motion, IEEE
Trans. PAMI, Ausgabe 22, Nr. 12, S. 1453-1459, 2000.
5) A. Baumberg und D. Hogg, Learning flexible models from image sequences, Lecture
Notes in Computer Science, Ausgabe 800, Seite. 299-308, 1994.
6) C. Wren, A. Azarbayejani, T. Darrell, und A. Pentland, Pfinder: Real-time tracking of
the human body, IEEE Trans. PAMI, Ausgabe 19, Nr. 7, Seite 780-785, 1997
7) K. Toyama and A. Blake, Probabilistic exemplar-based tracking in a metric space, in
Proc. 8th Int. Conf. Computer Vision, Ausgabe 2, 2001, S. 50-57.
8) Greg Mori und Jitendra Malik, Recovering 3d Human Body Configurations Using
Shape Contexts,
http://www.cs.sfu.ca/~mori/research/papers/mori_sc_people_pami05.pdf, 23.5.2006
9) D. Martin, C. Fowlkes, and J. Malik, “Learning to find brightness and texture
boundaries in natural images,” NIPS, 2002.
10) C. J. Taylor, Reconstruction of articulated objects from point correspondences in a
single uncalibrated image, CVIU, Ausgabe 80, S. 349-363, 2000
11) Alexei A. Efros, Alexander C. Berg, Greg Mori, Jitendra Malik, Recognizing Action at
a Distance, http://www.cs.sfu.ca/~mori/research/papers/efros-iccv03.pdf, 23.5.2006
12) B.D. Lucas and T. Kanade, An iterative image registration technique with an application
to stereo vision, in DARPA Image Understanding Workshop, April 1981