Robuste Handkonturerkennung
Initialisierung eines Handtrackingverfahrens
- Art: Diplomarbeit
- Autor: Oliver Jorkisch
- Abgabedatum: Juni 2006
- Umfang: 86 Seiten
- Dateigröße: 3,8 MB
- Note: 1,3
- Institution / Hochschule: Rheinische Friedrich-Wilhelms-Universität Bonn Deutschland
- Originaltitel: Robuste Handkonturerkennung als Initialisierung eines Handtrackingsystems
- Bibliografie: ca. 30
- ISBN (eBook): 978-3-8366-0535-9
- ISBN (CD) :978-3-8366-0535-9 CD
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Jorkisch, Oliver Juni 2006: Robuste Handkonturerkennung, Hamburg: Diplomica Verlag
- Schlagworte: Handtracking, Hautfarbesegmentierung, Gestenerkennung, Diffusion Snake, Handkonturerkennung
In den Warenkorb
48,00 €
Diplomarbeit von Oliver Jorkisch
Einleitung:
Die Hand wird in der Informatik als Interaktionsinstrument zunehmend wichtiger. Schon heute gibt es einige Systeme bei denen der Benutzer seine Eingaben nicht mehr mit Maus und Tastatur, sondern mit Hilfe seiner Hände vornimmt. Der große Vorteil hiervon ist, dass man Objekte wie in der realen Welt manipulieren kann. Z.B. ist es nicht ganz klar, wie man ein 3D-Objekt wie eine Tasse mit Maus und Tastatur greift. Mit der Hand ist diese Aufgabe ganz natürlich ausführbar und muss nicht extra erlernt werden. Um eine solche Interaktion zu unterstützen ist ein Handtracking notwendig.
Man unterscheidet hierbei zwischen einem System zur Erkennung vorher festgelegter Gesten und einem Tracking aller möglichen Handstellungen. Bei der Gestenerkennung können nur solche Gebärden erkannt werden, die dem auch System bekannt sind. Diese Menge ist beschränkt und muss vor dem Tracking festgelegt werden. Das Verfahren kann man daher auch als eine Klassifizierungsaufgabe betrachten.
Hier wird ausschließlich das vollständige Handtracking betrachtet, da es flexibler einsetzbar ist, und keinen Beschränkungen hinsichtlich der Anzahl der verschiedenen zu erkennenden Handstellungen unterliegt.
Problemstellung: Hier wird ein Verfahren präsentiert, welches die Handkontur ohne Vorkenntnis erkennen kann. Das Verfahren soll in der Lage sein die Hand auch unter schwierigen Bedingungen wie Verdeckung, schlechten Lichtverhältnissen oder verrauschten Bildern zu erkennen. Hierdurch wird die Initialisierung eines Handtrackingvorgangs erheblich vereinfacht.
Durch ein Verfahren zur Erkennung der Handkontur ohne Vorkenntnisse entfällt die Notwendigkeit, zu Beginn des Handtrackings ein manuelles matching durchzuführen. Der Benutzer muss lediglich seine Hand zu Beginn des Trackings in einer vorgeschriebenen Geste zeigen, und die Konturerkennung führt die Initialisierung durch. Eine auf diese Weise korrekt erkannte Hand bietet eine sehr viel bessere Initialposition, als bei der manuellen Initialisierung. Der Startzustand des Handtrackingalgorithmus wird demnach optimal bestimmt. Beim anschließenden ersten Durchgang des Trackings der Hand startet das Optimierungsverfahren dann aus einer ähnlichen Startposition, wie im weiteren Verlauf auch. Dient während des Trackings der zuletzt erkannte Handzustand als Schätzung des aktuellen, bietet die erkannte Handkontur am Anfang eine (mindestens) ebenso gute Annahme.
Durch die Erkennung der Handkontur erhält man auch eine genaue Information darüber, wie die Hautfarbe des Benutzers aussieht. Zwar kann man aus Trainingsdaten ganz gute statistische Informationen über die Farbe der Haut gewinnen, aber dennoch ist es sinnvoll diese Daten an den jeweiligen Benutzer anzupassen. Aber auch wenn der Benutzer nicht wechselt, ist solch eine dynamische Initialisierung von Vorteil. Schon bei unterschiedlichen Beleuchtungsverhältnissen sieht ein- und dieselbe Hand unter dem Gesichtspunkt der Hautfarbebetrachtung anders aus. Daher wird hier die Hautfarbeerkennung des Handtrackingalgorithmus schon vor Beginn des eigentlichen Trackings an die aktuellen Gegebenheiten angepasst. Da bei jeder Benutzung des Systems diese Initialisierung durchgeführt wird, ist das Handtrackingverfahren stets auf die aktuellen Verhältnisse optimiert. Die Hautfarbe des aktuellen Benutzers wird ermittelt, in dem auf die Segmentierung der Handkonturerkennung ein statistisches Verfahren anwendet.
Inhaltsverzeichnis:
| 1. | Einleitung | 4 |
| 1.1 | Überblick über verschiedene Handtrackingverfahren | 5 |
| 1.2 | Das Handtrackingsystem der Uni Bonn | 7 |
| 1.3 | Zielsetzung dieser Arbeit | 11 |
| 2. | Instrumente für die Segmentierung von Bildern | 14 |
| 2.1 | Snakes | 16 |
| 2.2 | Diffusion Snakes | 18 |
| 2.3 | Simplified Diffusion Snakes | 20 |
| 2.4 | (Simplified) Diffusion Snakes mit Vorabinformationen | 21 |
| 3. | Der Minimierungsprozess | 23 |
| 3.1 | Aktualisierung der Approximationsfunktion | 24 |
| 3.1.1 | Diffusion Snake | 25 |
| 3.1.2 | Cartoon Limit | 29 |
| 3.2 | Aktualisierung der Kontur | 29 |
| 3.2.1 | Diffusion Snake | 30 |
| 3.2.2 | Cartoon Limit | 33 |
| 4. | Erstellung der Trainingsdaten | 34 |
| 4.1 | Hautfarbesegmentierung | 35 |
| 4.1.1 | Konvertierung von RGB nach HSV | 37 |
| 4.1.2 | Trainieren der Hautfarbesegmentierung | 38 |
| 4.2 | Erkennung von Handfeatures in Binärbildern | 40 |
| 4.3 | Ausrichtung der B-Splines | 43 |
| 4.4 | Berechnung der Kovarianzmatrix für das Trainingsset | 45 |
| 5. | Die Priorenergie | 48 |
| 5.1 | Zentrierung der Kontrollpunkvektoren | 49 |
| 5.2 | Ausrichtung mit Hilfe der Frobenius Norm | 50 |
| 5.3 | Berechnung der Priorenergie | 52 |
| 6. | Ergebnisse | 54 |
| 6.1 | Ellipse | 54 |
| 6.1.1 | Cartoon Limit | 55 |
| 6.1.2 | Diffusion Snake | 59 |
| 6.2 | Hand | 62 |
| 6.2.1 | Cartoon Limit | 64 |
| 6.2.2 | Diffusion Snake | 68 |
| 7. | Fazit & Aussblick | 71 |
| 7.1 | Fazit | 71 |
| 7.2 | Ausblick | 73 |
| 8. | Appendix A: Bestimmung des optimalen Winkels bei der Ausrichtung zweier Konturen | 74 |
| 9. | Appendix B: Ableitung des zweiten Terms der Priorenergie | 76 |
| 10. | Appendix C: Die Euler-Lagrange Gleichung im Zweidimensionalen | 77 |
| 11. | Appendix D: Die Frobenius Norm | 80 |
| 12. | Literaturverzeichnis | 81 |
| 13. | Abbildungsverzeichnis | 83 |
Textprobe:
Kapitel 3, Der Minimierungsprozess: In diesem Abschnitt wird die Minimierung der in Kapitel 2.4 vorgestellten Funktionale durchgeführt. Je nach angewandter Methode wird Ei (u,C) dabei entweder durch eine Diffusion Snake oder eine Simplified Diffusion Snake repräsentiert. Daher werden die Minimierungen dieser beiden Methoden getrennt betrachtet.
Bei der jeweiligen Optimierung werden die beiden zu minimierenden Parameter u und C getrennt behandelt. Es wird also abwechselnd erst die Segmentierung u und dann die Kontur C optimiert. Dabei gibt es einen Unterschied ob man die Diffusion Snakes oder die Simplified Diffusion Snakes betrachtet, denn ein Optimierungsschritt von u bei der Diffusion Snake stellt noch keinen stabilen Zustand dar.
Würde man vor der nächsten Aktualisierung von C eine weitere Aktualisierung von u durchführen, gäbe es andere Ergebnisse. Die Aktualisierung der Approximationsfunktion kann in diesem Fall als eine Kantenglättung aufgefasst werden. Es soll verhindert werden, dass scharfe Kanten im Bild die Glattheit des Ergebnisses stören. Mit jedem Schritt des Gradientenabstiegs in Richtung u werden somit Kanten geglättet, und es wirkt als ob man einen Weichzeichner eines Bildverarbeitungsprogramms angewendet hätte.
Aus diesem Grunde stellt sich die Frage, wie oft man die Aktualisierung der Approximationsfunktion durchführen sollte bis die nächste Aktualisierung der Kontur folgt. Es wäre zum Beispiel eine Alternative u so lange zu verändern bis sich ein stabiler Zustand eingestellt hat, bei dem sich nicht mehr viel verändert und dann erst einen Schritt der Konturpropagierung durchzuführen. Hier stellt sich dann die gleiche Frage, denn auch nach einer Veränderung von C ist die Kontur für eine gegebene Approximation noch nicht konvergiert.
Ein mögliches sinnvolles Abbruchkriterium einer Aktualisierungssequenz (die Minimierung nach u oder nach C) stellt das Fehlerfunktional E (u, C) dar. Eine Aktualisierungsfolge könnte so lange ausgeführt werden bis sich E (u, C) verschlechtert. Dies würde dann der Vorgehensweise eines klassischen Gradientenabstiegs entsprechen. Insgesamt ergeben sich folgende mögliche Vorgehensweisen:
Alterniere jeweils nach einem Schritt Führe die Aktualisierung von u so lange aus bis sich E (u, C) verschlechtert, führe danach einen Schritt der Aktualisierung von C aus Führe die Aktualisierung von C so lange aus bis sich verschlechtert, führe danach einen Schritt der Aktualisierung von u aus E (u, C) Führe die Aktualisierung von u so lange aus bis sich E (u, C) verschlechtert, führe danach die Aktualisierung von C ebenfalls so lange aus bis sich das Fehlerfunktional verschlechtert Hat die Fehlerfunktion die Form eines elliptischen Paraboloids, führen alle Möglichkeiten zum Minimum. Bei einem mehrdimensionalen Problem, welches man mit Hilfe eines Gradientenabstiegs lösen möchte, geht man meist davon aus, dass das Problem diese Form hat. Lediglich die Anzahl der Iterationsschritte, die benötigt werden, könnte je nach angewandter Methode variieren.
Sollte es lokale Minima geben, so läuft man ebenfalls mit allen Möglichkeiten Gefahr in einem solchem zu landen. Von der reinen Theorie her würde sich die zuletzt vorgestellte Alternative anbieten, da sie den schnellsten Zugang zum Minimum zu erreichen scheint. In der Praxis hat sich jedoch die erste Möglichkeit als die sinnvollste gezeigt.
Anders gestaltet es sich bei der Simplified Diffusion Snake. Hier bedeutet eine Aktualisierung von u sofort einen finalen Zustand, denn der Durchschnitt der Grauwerte einer Region ändert sich bei gleich bleibender Kontur nicht. Es stellt sich hier daher lediglich die Frage, ob die Konturpropagierung einmal, oder bis zur Verschlechterung des Fehlerfunktionals durchgeführt werden sollte. Auch hier erwies sich in Tests die einmalige Ausführung als die bessere Alternative.
In den folgenden Abschnitten wird die Durchführung der jeweiligen Aktualisierungsschritte ausführlich betrachtet.
Kapitel 3.1, Aktualisierung der Approximationsfunktion: Die Approximationsfunktion beschreibt eine Näherung des Eingabebildes. In den beiden hier betrachteten Algorithmen haben die Approximationsfunktionen höchst unterschiedliche Merkmale. Dies ist auch der Hauptunterschied zwischen den beiden Herangehensweisen. Im Cartoon Limit ist die Approximationsfunktion sehr einfach gehalten, und die Betrachtung deren Veränderung mit der Zeit ist somit nicht sehr komplex. Der Nachteil ist jedoch, dass sich die Approximierung dafür stark vom Eingabebild unterscheidet.
Das genaue Gegenteil ist bei der Diffusion Snake der Fall. Hier lehnt sich die Approximationsfunktion stark an das Eingabebild an, die Aktualisierung jedoch gestaltet sich als etwas komplexer. Dabei geht es nicht nur darum, dass die formelle Betrachtung anspruchsvoller ist. In der Praxis gibt es einige Parameter zu betrachten, welche die Veränderung der Approximationsfunktion beeinflussen. Neben dem Vorteil so den Algorithmus besser anpassen zu können, hat dies den Nachteil, dass das Verhalten stark von der Parameterkonstellation abhängt. Die Werte müssen sehr fein eingestellt werden, und ein funktionierender Parametersatz reagiert nicht unbedingt robust auf veränderte äußere Bedingungen. Beim Cartoon Limit ist das Aussehen der Approximationsfunktion fest vorgegeben, und daher arbeitet man hier für alle Bedingungen mit der gleichen Konfiguration.
In den Warenkorb
48,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783836605359
Arbeit zitieren:
Jorkisch, Oliver Juni 2006: Robuste Handkonturerkennung, Hamburg: Diplomica Verlag
Schlagworte:
Handtracking, Hautfarbesegmentierung, Gestenerkennung, Diffusion Snake, Handkonturerkennung



