%---------------------------------------------------------------------------------------------------
% Grundlagen
%---------------------------------------------------------------------------------------------------
\newpage
\chapter{Grundlagen}
\label{sec:Grundlagen}
Ziel ist die Entwicklung eines Systems zur Steuerung von Computersystemen mittels Körpergesten. Zu diesem Zweck wird erörtert werden, wie Gesten definiert werden und welche Verfahren existieren, um diese zu erkennen.
\section{Tracking von Körperbewegungen}
\label{sec:TrackingVonKörperbewegungen}
%\textit{Was wird benötigt um Gesten zu erfassen?}
Für die Realisierung unseres späteren Szenarios ist es notwendig, die Körperbewegungen des Anwenders zu erfassen und daraus Gesten abzuleiten. Der erste Schritt, die Erfassung der Bewegung von Körperteilen, übernehmen Trackingsysteme. Diese Systeme messen Kennwerte der Bewegung einzelner Körperteile in einem zeitlichen Zusammenhang und leiten diese Informationen an das Gestenerkennungsystem weiter. Im folgenden soll allgemein auf Trackingsysteme und speziell auf das an der Hochschule vorhandene Trackingsystem eingegangen werden.
\subsection{Trackingsysteme}
\label{sec:Trackingsysteme}
%\textit{Verweis auf andere Arbeiten zur Auflistung und Beschreibung von alternativen Trackingsystemen.}
Es stehen eine Vielzahl unterschiedlicher Trackingsysteme mit einer Vielzahl von Technologien zur Verfügung. Diese Systeme können in drei Kategorien unterteilt werden:

\begin{figure}
	\centering
		\includegraphics[width=0.40\textwidth]{grafiken/Elektromeschanisch.jpg}
	\caption[Elektromeschanisches Trackingsystem]{Elektromeschanisches Trackingsystem\protect\footnotemark}
	\label{fig:Elektromeschanisch}
\end{figure}
\footnotetext{Bild aus \url{http://www.medien.ifi.lmu.de/fileadmin/mimuc/hs_2004/vortrag_pattis.pdf}}
\begin{enumerate}
	\item \textbf{Inside-In Systeme}
	
Bei diesen Systemen befinden sich die Sensoren auf dem Körper des Benutzers und werden direkt in Signale umgewandelt. Ein Beispiel wäre die Nutzung von elektromechanischen Skeletten. Bei diesen Systemen erfolgt die Messung über Potentiometer, welche über das mechanische System am Körper verstellt werden. Abbildung \ref{fig:Elektromeschanisch} zeigt ein solches System. Ein Beispielsystem ist die Arbeit mit am Körper befestigten Funksendern und außen stehende Sensoren, welche die Feldstärke messen.
\item \textbf{Inside-Out Systeme}

Bei diesem System sind die Sensoren direkt am Körper des Benutzers angebracht. Die Aufnahme der von den Sensoren gesendeten Signalen erfolgt jedoch von entfernt positionierten Empfängern.
\item \textbf{Outside-In Systeme}

Bei Outside-In Systemen messen die Sensoren von außen auf den Benutzer bzw. einen Bereich in welchem der Nutzer steht. Beispiel hierfür ist das in dieser Arbeit verwendete optische System. Welches Infrarotlicht ausstrahlt und mittels reflektierender Marker das zurück geworfene Licht misst.
\end{enumerate}
Es gibt für jede dieser Kategorien eine Vielzahl von technischen Lösungen. Eine detaillierte Übersicht finden Sie in den Arbeiten von \cite{Heitsch2008}, \cite{Boetzer2008}, \cite{Allen2001} und \cite{Noack2007}.

Alle dort vorgestellten Technologien haben gemeinsam, dass sie physikalische Werte statisch oder dynamisch erfassen und an das verarbeitende System weitergeben. Die jeweils eingesetzten Trackingtechnologien unterscheiden sich, für ein angeschlossenes System meistens nur in der Art der erfassten Daten, in der Präzision der Erfassung und dem verwendeten Datenmodell. Einen umfassenderen Überblick zur Art der gelieferten Daten und den dazugehörigen Genauigkeitsanforderungen in unserem Szenario wird im dazu gehörigen Analyse- und Designkapitel erörtert. \ref{sec:AnforderungenAnDieDatenerfassung} sowie \ref{sec:ArtDerDatenUndAbbildungImDatenraum}
\subsection{Freiheitsgrade}
\label{sec:Freiheitsgrade}
%\textit{Hier werden die zwei Freiheitsgrade beschrieben}
Für die spätere Umsetzung ist es wichtig den Begriff und die Bedeutung der unterschiedlichen Freiheitsgrade (DOF, Degree of Freedom) zu verstehen.

Unter dem Begriff "`Degree of Freedom"' (DOF) versteht man die verschiedenen möglichen Freiheitsgrade von Bewegungen. Dabei umfassen die ersten drei DOFs die Translationen in die verschiedenen Richtungsachsen (x, y, z).\footnote{Bezeichnet als 3DOF.} Die nächsten drei beschreiben die Drehbewegung um die Richtungsachsen, welche als Gier-, Roll- und Nickwinkel bezeichnet werden. Die Kombination aus Translation und Drehbewegung erlaubt dabei sechs Freiheitsgrade.\footnote{Bezeichnet als 6DOF.} Unterschiedliche Trackingsysteme erlauben hierbei das Erfassen einer unterschiedlichen Anzahl von Freiheitsgraden. Das hier eingesetzte ART-Tracker System beherrscht die Erfassung sowohl von 3DOF-Objekten als auch von 6DOF-Objekten. Abbildung \ref{fig:6DOF} zeigt die jeweiligen Freiheitsgrade für 6DOF.
\begin{figure}
	\centering
		\includegraphics[width=0.60\textwidth]{grafiken/6DOF.png}
	\caption{Koordinatensystem 6DOF}
	\label{fig:6DOF}
\end{figure}

\subsection{ART Tracker}
\label{sec:ARTTracker}
%\textit{Vorstellung des ART-Trackers}
Für die Realisierung unseres Szenarios verwenden wir das im Labor der Hochschule f"ur angewandte Wissenschaften stehende Trackingsystem ART-Tracker der Firma A.R.T GmbH.\footnote{\url{http://www.ar-tracking.de}} Es ist ein optisches Outside-In System und besteht aus einem Tracking Server, auf welchem die Firmensoftware DTrack installiert ist. Darüber hinaus besteht das System aus sechs speziellen FPGA-Infrarotkameras, welche mit dem Server verbunden sind. Alle diese Komponenten können als Komplettsystem von der Firma A.R.T.GmbH bezogen werden.

Die Kameras sind im Raum verteilt, an Eckpositionen fest verankert und wurden vorher kalibriert. In unserem Fall sind vier Kameras im Frontbereich und zwei im rückwärtigen Raum angebracht. Sie senden in regelmäßigen Abständen einen Infrarotblitz aus und erfassen das zurückgeworfene IR-Licht als Bilder. Diese werden in den Kameras aufbereitet und an den zentralen Server weitergeleitet. Der Server errechnet aus den Informationen der Kamerabilder die Position der einzelnen Marker und sendet diese als TCP/IP oder UDP Paket in das angeschlossene Netzwerk. Von dort können sie eingelesen und ausgewertet werden.
Abbildung \ref{fig:Anordnung_Kamera} zeigt die Anordnung der Kameras im Labor der HAW.

\begin{figure}[htbp]
	\centering
		\includegraphics[width=0.80\textwidth]{grafiken/Kameras.jpg}
	\caption{Kameraanordnung im Labor}
	\label{fig:Anordnung_Kamera}
\end{figure}


Die Positionserfassung basiert beim ART-Tracker auf aktiven oder passiven Markern. Dieses sind kleine Infrarotlicht ausstrahlende oder rückstrahlende Elemente (z.B. Kugeln mit Reflektionsfolie). Die Marker werden an dem zu vermessenden Objekt befestigt und von den Kameras des ART-Tracker System erfasst. Bei der Erfassung müssen immer zwei Kameras den jeweiligen Marker sehen, um die Position des Markers eindeutig bestimmen zu können. Zu sehr verdeckte Marker werden nicht erkannt und führen zu Lücken in der Aufzeichnung. Darüber hinaus muss der Erfassungsbereich frei von nicht gewünschten Infrarotleuchtquellen und stark reflektierenden Objekten sein. Ansonsten würde das System diese Objekte fälschlicherweise als Benutzereingaben interpretieren.


Es werden, wie schon beschrieben, zwei Arten von Rückgabeobjekten mit verschiedenen Freiheitsgraden vom ART System unterschieden. Diese an das angeschlossene System zurück gelieferten Objekte sind:
\begin{itemize}
	\item \textbf{Einzelne Marker}\footnote{In dieser Arbeit einfach Marker genannt.}
	
	
Einzelne Marker sind aktive oder passive elemente Messobjekte, welche an dem zu vermessenden Objekt befestigt werden. Die Marker werden von mehreren fest im Raum angeordneten IR-Kameras erfasst. Aus den einzelnen Kamerabildern wird dann die Position des Messobjektes im dreidimensionalen Raum errechnet. Der Freiheitsgrad für Marker ist 3DOF, wodurch es nur möglich ist die Position im Raum nicht jedoch die Drehorientierung des Objektes zu bestimmen. 
	\item \textbf{Bodys}
	
	
Diese Markerkonstrukte bestehen aus mehreren einzelnen Markern. (Für 6DOF mindestens vier.) Diese Marker sind mittels nicht reflektierender Stangen in einem festen Abstand zueinander verbunden. Die einzelnen Abstände der Marker zueinander werden vorher im System hinterlegt. Aufgrund dieser bekannten Abstände der Marker, ist das System nicht nur in der Lage die Position des Bodys im dreidimensionalen Raum, sondern auch seine eigene Drehorientierungen um einen vorher definierten Punkt des Bodys zu erfasst. Der Freiheitsgrad von Bodys ist maximal 6DOF. Der Body besitzt also neben der Position im globalen Koordinatensystems, noch ein eigenes Koordinatensystem, welches die eigene Drehorientierung angibt. Abbildung \ref{fig:Body} zeigt einen solchen Body.

\begin{figure}
	\centering
		\includegraphics[width=0.50\textwidth]{grafiken/Body.JPG}
	\caption{Body}
	\label{fig:Body}
\end{figure}


Die einzelnen Bodys des ART-Tracker Systems unterscheiden sich untereinander in der Anzahl der Marker und den jeweiligen Abständen der Marker zueinander. Dadurch können Sie vom Trackingsystem eindeutig voneinander unterschieden werden. Die Firma A.R.T GmbH liefert einen großen Satz an vorgefertigten Bodys. Dabei geht die Bandbreite von Brillenaufsätzen bishin zu Komplettsystemen zur Erfassung sämtlicher K"orperteile. 
\end{itemize}
Neben der eigentlichen Positionserkennung von Markern und Bodys, erkennt das Trackingsystem selbstständig die Identität von Objekten aus alter und neuer Messung und vergibt jedem erkannten Objekt eine eindeutige ID. Die dazu genutzte Technik arbeitet mit stochastischen Verfahren um die Identität eines Objektes festzustellen. \\
Der ART-Tracker ist für die Erkennung der Identität von Bodys recht robust, bei einzelnen Markern führt das Gerät öfters zur Erkennung des identischen Markers als neues Objekt und damit zur Vergabe einer neuen ID. Situationen hierfür sind schnelle Positionsveränderungen, mehrere dicht aneinander liegende Marker oder das nicht durchgehende Erkennen der einzelnen Marker (z.B. durch Verdeckung).

Das Trackingsystem ist trotzdem sehr solide und wird bereits in der Praxis, wie zum Beispiel in der Autoindustrie oder der Medizin, erfolgreich eingesetzt. Es benötigt eine feste Kamerainstallation und eine einmalige Kalibrierung des Kamerasystems. Die Qualität der Erkennung hängt sehr von der Kalibrierung, von IR-Störquellen im Aufnahmebereich und der Anzahl und Positionierung der IR-Kameras im Raum ab.
\section{Gesten}
\label{sec:Gesten}
\subsection{Begriffsklärung}
\label{sec:Begriffsklaerung}
%\textit{Es erfolgt eine Begriffsdefinition. Inklusive Abgrenzung K"orpergeste und Geste im Allgemeinen.}
In dieser Arbeit geht es um die Steuerung von Computersystemen mittels Gesten. Dafür muss als erstes erläutert werden, was Gesten eigentlich sind, welche Arten von Gesten es gibt und welche für unsere Zwecke von Interesse sind.


Der Begriff Geste kann je nach Betrachtungsweise sehr unterschiedlich aufgefasst werden. In den meisten Fällen versteht man unter einer Geste die Bewegung von Körperteilen (besonders der Arme und Hände), durch die man etwas Bestimmtes zum Ausdruck bringt.\footnote{\url{http://de.thefreedictionary.com/Geste}} Dabei werden unbewusste Handlungen von bewussten Handlungen zur Kommunikation unterschieden. 


Eine tiefer gehende Klassifikation und Definition des Begriffs Geste findet man unter \cite{Pavlocic1997}.


Wie bei \cite{Rahimi2008} und \cite{Boetzer2008a} werden auch in dieser Arbeit die Gesten zur Interaktion mit Computersystemen als manipulative Gesten verstanden. Der Nutzer möchte mit seiner Handlung den Zustand des Computersystems ändern bzw. manipulieren.

Die Arbeit von \cite{Boetzer2008a} teilt die manipulativen Gesten in drei Arten ein, welche sich in dem für sie jeweils benötigtem Benutzertraining unterscheiden. Diese Einteilung soll für diese Arbeit übernommen werden.
\begin{itemize}
	\item \textbf{Bewegungsverfolgung}
	
	Bewegungsverfolgung oder besser genannt physikalische Interpretation, sind Gesten, welche unmittelbar eine Entsprechung in der realen Welt haben. Beispiel hierfür ist das Verschieben von virtuellen Objekten auf einem Touchscreen. Der Benutzer assoziiert das virtuelle Abbild und die durchführende Handlung mit realen Gegenständen, physikalischen Regeln und Funktionen, wodurch die Interaktion mit dem Objekt stark erleichtert wird und der Trainingsaufwand des Benutzers gering ist.
  \item \textbf{Kontinuierliche Gesten}
	Kontinuierliche Gesten sind Handlungen, welche in der realen Welt keine wirkliche Entsprechung haben. Sie basieren jedoch auf Metaphern und bekannten mentalen Modellen. In unserer Anwendung beispielsweise wird mittels einer Zeigergeste auf einen Punkt auf dem Bildschirm gezeigt. Der Nutzer kann diese Handlung mit einem aus seinem Finger kommenden Laserpointer assoziieren, welcher sich als einfacher Punkt auf dem Bildschirm äußert. Der Trainingsaufwand für solche Gesten ist höher. Die Geste ist jedoch in den meisten Fällen für den Benutzer leicht verständlich und einfach durchzuführen.
	\item \textbf{Symbolisch-manipulative Gesten}
	
	Symbolisch-manipulative Gesten sind Gesten, für die es keine wirkliche reale Entsprechung gibt. Das mentale Modell ist bei diesen Gesten sehr kompliziert und führt zu einem hohen Trainings- und Verständnisaufwand. Ein Beispiel aus der späteren Anwendung ist die Funktionsselektion. Dabei wird mittels der Bewegung der Hand in eine bestimmte Richtung eine bestimmte Funktion angewählt. Das die Handbewegung in eine Richtung zu einer Funktionsauswahl führt, muss dem Benutzer zuerst vermittelt werden. Die symbolisch-manipulativen Gesten sind schwerer in ihrer Anwendung und erhöhen den Trainingsaufwand, erweitern jedoch das mögliche Gestenrepertoir um einen großen Satz möglicher Gesten.
\end{itemize}
\subsection{Gesten als Kommunikationsmittel}
\label{sec:GestenAlsKommunikationsmittel}
%\textit{Hier soll Dargestellt werden, dass Körpergesten ein normales Mittel zu nonverbalen Kommunikation darstellen. Dass die Interpretation von Gesten, kulturell Geprägt ist und sehr unterschiedlich sein kann.}
Körpergesten werden in der ganzen Welt als bewusstes oder unterbewusstes Kommunikationsmittel verwendet, Sei es als Unterstützung verbaler Kommunikation oder als Ausdruck von Gefühlen und Stimmungen. Dabei ist die Interpretation von Gesten immer abhängig von äußeren Einflüssen wie Kulturkreis, Bildung sowie die derzeitige Situation. Das im westlichen Raum gängige Handzeichen für OK bzw. super (Daumen und Zeigefinger der Hand bilden einen Kreis) ist in Japan das Zeichen für Geld und in bestimmten Ländern kann es als "`Du bist Wertlos"' interpretiert werden.\footnote{\url{http://www.rp-online.de/reise/ratgeber/Wenn-Gesten-obszoen-werden_bid_16035.html}} Daher muss bei der Kommunikation mittels Gesten immer der richtige Kontext zwischen Sender und Adressat geklärt sein. Training und gemeinsame Absprachen bilden eine Möglichkeit Fehlinterpretationen zu vermeiden.
\subsection{Statische und dynamische Gesten}
\label{sec:StatischeUndDynamischeGesten}
%\textit{Erklärung dass Gesten statisch also als Momentaufnahme oder dynamisch daher über einen längeren Zeitraum auftreten können.}
Für diese Arbeit müssen zwei Arten von Gesten unterschieden werden: Statische und dynamische Gesten. Statische Gesten sind hierbei zeitlose Handlungen. Die Einnahme einer bestimmten, vorher definierten, Haltung der Hand ist in unserer späteren Beispielanwendung bereits eine statische Geste, welche zu einer bestimmten Interaktion mit dem System führt. Im Gegensatz dazu gibt es dynamische Gesten. Diese Gesten werden über einen gewissen Zeitraum hinweg durchgeführt. In unserer späteren Anwendung ist dieses die Bewegung der Hand in eine bestimmte Richtung für eine definierte Dauer. Diese Gesten erfordert zur Erkennung die Durchführung der Handbewegung über eine gewisse Zeit hinweg. Das Erkennen von statischen Gesten ist im Gegensatz zu dynamischen Gesten einfacher, da bei dynamischen Gesten die Einbeziehung der Zeit die Komplexität stark erhöht und eine saubere Start-Stop Erkennung nötig ist.
\subsection{Start/Stop Erkennung von Gesten}
\label{sec:StartStopErkennungVonGesten}
%\textit{Darlegung des Problems, dass gewollte Gesten von ungewollten Gesten im Raum nicht leicht zu Unterscheiden sind. Aufzeigen von Beispielen zur Start/Stop Erkennung. Hinweis, dass die Start/Stop Erkennung nicht Teil dieser Arbeit ist und durch einfache technische Mittel kompensiert wird}
Um eine einzelne Geste eindeutig erkennen und auswerten zu können, ist es notwendig den Zeitpunkt zu bestimmen, wann die einzelne Geste beginnt und wann sie aufhört. Wichtig ist dabei die Beantwortung dieser Frage, um im weiteren Verlauf die einzelnen Gesten zeitlich voneinander klar trennen und unterscheiden zu können.

Eine saubere Erkennung des Start- und Endzeitpunktes einer Geste erleichtert zusätzlich gewollte kommunikative Gesten von einfachen Handbewegungen zu unterscheiden. Die Lösung dieser Aufgabe ist nicht immer trivial. Im dreidimensionalen Raum tritt bei der Interaktion mit dem System immer wieder das Problem auf, dass das System nicht unterscheiden kann, ob der Benutzer eine gezielte Geste ausführt und eine Reaktion erwartet oder ob die Bewegung, welche er gerade macht, aus anderen Gründen erfolgt.

Andere Interaktionssysteme können den Start und Endzeitpunkt leichter erkennen. Bei der Interaktion mittels Touchscreen beispielsweise wird im Interaktionsmodell festgelegt, dass eine Geste mit Berührung der Touchoberfläche beginnt und mit dem Loslassen von der Oberfläche endet. Bei unserer Interaktion im dreidimensionalen Raum ist so eine Vereinbarung nicht so leicht möglich, da unsere Sensoren ständig die Beweungen des Benutzers erfassen.

Ein Vorteil den Start und Endzeitpunkt einer Geste zu erkennen, ist die Unterscheidung von mehreren aufeinander folgenden Gesten. Aus den Informationen wann die eine Geste aufhört und wann die nächste Geste anfängt, können der Bildung von Gestenketten dienen. Diese können wieder eigene Gesten darstellen. Im nächsten Abschnitt wird auf die Kettenbildung von Gesten näher eingegangen.

Das automatische Erkennen von Start und Ende einer kommunikativen Geste ist wie bereits erwähnt überaus komplex und soll in dieser Arbeit nicht eingehend untersucht werden. Der Block der Start/Stop Erkennung wird in dieser Arbeit als vorhanden und funktionstüchtig angesehen.
\subsection{Kettenbildung von Gesten}
\label{sec:KettenbildungVonGesten}
%\textit{Erklärung über die Möglichkeit Gesten zu neuen Gesten zu Kombinieren. Bestimmte Gesten können zu neuen Gesten kombiniert werden.}
Mehrere Grundgesten können, durch Aneinanderreihung, zu einer neuen Geste kombiniert werden. Die einzelnen Grundgesten sind dann wie Buchstaben eines Alphabets und werden so zu komplexeren Worten kombiniert.
Ein Beispiel ist die Aneinanderreihung folgender Gesten:
\begin{enumerate}
	\item "`Zusammenführen der Finger"'
	\item "`Handbewegung in eine Richtung"'
	\item "`Auseinanderführen der Finger"'
\end{enumerate}
Diese Kombination kann von der Anwendung als Drag and Drop Geste erkannt werden und führt beispielsweise zum Verschieben eines Icons auf einem Desktop. In diesem Fall führte die durchgeführte Kettenbildung zu einer neuen komplexeren Geste.

Jedoch ist nicht nur die zeitliche Aneinanderreihung von Gesten möglich. Gesten können auch bei paralleler Ausführung kombiniert werden. Das Bewegen der Hand in eine Richtung mit dabei unterschiedlichen Handhaltungen, kann vom System als jeweils andere Geste interpretiert werden.


Bei der Kombination von Gesten muss im Modell natürlich darauf geachtet werden, dass es Gesten gibt, welche nur nacheinander ausgeführt werden können, weil sie sich gegenseitig ausschließen. Eine Hand kann zum Beispiel zur selben Zeit nur nach links oder rechts bewegt werden. Andere Gesten sind jeweils in Ihrer Durchführung von einander Abhängig. Die eine Geste kann nur ausgeführt werden, wenn parallel eine andere Geste ausgeführt wird. 

Diese Erkenntnis ist für die spätere Modellbildung von Relevanz. Es muss zum einen sicher gestellt werden, dass nicht sich gegenseitig ausschließende Gesten zur selben Zeit eingesetzt werden.
Zusätzlich ist es für die Anwendung möglich, mittels des entworfenen Modells, bei vorher definierten Gestenketten, eine gewisse Annahme zu treffen, welche Geste als nächstes auftreten sollte. Diese ist für die Anwendung von Nutzen um die Qualität der Erkennung zu erhöhen, da eine gewisse Erwartungshaltung einbezogen wird.
\subsection{Attribute einer Geste}
\label{sec:AttributeeinerGeste}
Alle Gesten einer Gestenklasse haben, neben gemeinsamen Eigenschaften, Attribute welche sich voneinander unterscheiden. Zum Beispiel besitzen die Gesten der Gestenklasse "`Handbewegung in eine Richtung"' als Gemeinsamkeit die Bewegungsrichtung. Die einzelnen Gesten unterscheiden sich jedoch in ihrer Startposition voneinander. Die Startposition ist daher eine spezifische Eigenschaft der jeweiligen konkreten Geste. Je nach Modell, können für die verschiedenen Gestenklassen Attribute definiert und beim Erkennen der Geste mit übergeben und ausgewertet werden. Durch die Attribute ist es einer Anwendung möglich, neben der Erkenntnis, dass eine Geste durchgeführt wird, zusätzliche Informationen zu erhalten und darauf zu reagieren.

Gesten können sehr Komplex sein, daher ist im folgenden eine gründliche Analyse der Anforderungen an unser späteres System nötig.
