Aughanded Virtuality - Professur Mediengestaltung
Transcription
Aughanded Virtuality - Professur Mediengestaltung
Fakultät Informatik Institut für Software- und Multimediatechnik Professur für Mediengestaltung Diplomarbeit im Studiengang Medieninformatik zum Thema Aughanded Virtuality Die Hände im virtuellen Raum Tobias Günther Dresden, 29. September 2014 Verantwortlicher Hochschullehrer: Prof. Dr.-Ing. habil. Rainer Groh Betreuer: Dipl.-Ing. Arch. Ingmar S. Franke, M. Sc. Selbstständigkeitserklärung Ich erkläre hiermit, dass ich die vorliegende Diplomarbeit selbstständig verfasst habe. Es wurden keine anderen Quellen und Hilfsmittel als die angegebenen benutzt. Dresden, den 29. September 2014 Tobias Günther Danksagung Ich danke insbesondere meinem Betreuer Dipl.-Ing. Arch. Ingmar S. Franke, M. Sc. für die Unterstützung, die ich im Rahmen der Erstellung dieser Arbeit erhalten habe. Die Gespräche, Ratschläge und konstruktive Kritik waren eine motivierende Hilfe. Mein Dank gilt außerdem Prof. Dr.-Ing. habil. Rainer Groh für die Ermöglichung dieser Diplomarbeit. Weiterhin möchte ich Dipl.-Medieninf. Mathias Müller danken, der mir vor allem bei softwaretechnischen Fragen und Implementierungsproblemen weitergeholfen hat. Ebenso gilt mein Dank Dr. rer. nat. Romy Müller, die mich bei der Erstellung und Auswertung der Nutzerstudie unterstützt hat. Für eine angenehme Arbeitsatmosphäre und die hilfreiche Begleitung während des Studienalltags bedanke ich mich bei den Mitarbeitern und Studenten des Lehrstuhls für Mediengestaltung. Für viele hilfreiche Gespräche, Meinungen und Denkanstöße danke ich Pascal Brückner und Katarina Lena Maurer sowie allen Freunden und Bekannten, die Interesse an der Arbeit gezeigt oder meine Präsentation bei OutputDD und der Langen Nacht der Wissenschaft besucht haben. Besonders bedanken möchte ich mich bei meinen Eltern, die mir stets zur Seite standen und mich während der kompletten Studienzeit konsequent unterstützt haben. Inhaltsverzeichnis 1 2 3 4 5 6 7 8 Einleitung ..................................................................... 1 1.1 Motivation ................................................................ 1 1.2 Zielstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Gliederung ................................................................ 5 Grundlagen und Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Begriffe Computergrafik und Bildverarbeitung ................................ 7 2.2 Begriffe Virtual Reality ..................................................... 16 Verwandte Arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1 Mixed Reality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 Augmented Virtuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3 Der reale Körper im virtuellen Raum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Analyse ....................................................................... 51 4.1 Ausgangssituation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.2 Analyse der verwandten Arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.3 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Synthese ...................................................................... 71 5.1 Festlegung der Hardware und Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.2 Aufbau des Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.3 Entwicklung des Prototypen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Umsetzung .................................................................... 87 6.1 Videointegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.2 Segmentierung des Videostreams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.3 Virtuelle Szene in Unity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.4 Bedienung und Einstellung der Parameter des Prototypen . . . . . . . . . . . . . . . . . . . . . . 99 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.1 Vorbereitung und Ziele der Nutzerstudie ..................................... 103 7.2 Erkenntnisse von OutputDD ................................................ 109 7.3 Durchführung und Ergebnisse der Nutzerstudie ............................... 113 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 8.1 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 8.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Anhang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 A Quellcode B Bedienungsanleitung des Prototypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 C Fragebogen der Nutzerstudie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 D Literaturverzeichnis E Abbildungsverzeichnis F Tabellenverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 ................................................................. ........................................................ ...................................................... 135 145 152 1 Einleitung Nachdem im ersten Abschnitt auf die Motivation dieser Arbeit eingegangen wird, folgt im Anschluss eine Darlegung der allgemeinen Ziele und Aufgaben des Themas. Eine Zusammenfassung der inhaltlichen Schwerpunkte rundet das Kapitel ab. 1.1 Motivation The power of imagination can allow us to dwell where we choose, when we choose, ” and with whom we choose. We are limited only by what we can imagine and our ability to communicate it.“ [Sherman und Craig 2002, S. 7] Die Erschaffung von Fantasie- und Traumwelten fasziniert die Menschen seit jeher. Ob in Geschichten, Gemälden oder Musikstücken - lange Zeit war die Erkundung dieser Welten nur in den Vorstellungen der Leser, Betrachter oder Zuhörer möglich. Mit dem Aufkommen der modernen Computertechnologie ist es mittlerweile möglich, nicht real existierende Umgebungen immersiv zu erleben. Das Eintauchen des Nutzers in die virtuelle Welt erfolgt durch Simulationen, die diese Welt für die Sinne des Nutzers real erscheinen lassen. Die Wahrnehmung des Anwenders wird also derart manipuliert, dass die gebotenen Reize kaum von Stimuli der realen Umgebung zu unterscheiden sind. Durch technologische Fortschritte sind heutzutage Virtual Reality Systeme erhältlich, die einen hohen Präsenzeindruck des Nutzers hervorrufen und ihm damit das Gefühl geben, sich tatsächlich an einem virtuellen Ort zu befinden. Abb. 1.1: Fotografien von Ivan Sutherland bei der Benutzung des von ihm entwickeltem Head-MountedDisplays (vgl. [Sutherland 1968]). Das Gerät funktionierte bereits stereoskopisch und reagiert mit visuellem, dreidimensionalem Feedback auf die Kopfbewegungen des Nutzers. Die ersten Schritte in Richtung Virtual Reality geschahen Anfang der sechziger Jahre des letzten Jahrhunderts: Ivan Sutherland, ein Pionier der neuartigen Technologie, beschrieb 1965 eine 2 Einleitung Vision für ein immersive, computer-based, synthetic-world display system“ [Craig et al. 2009, ” S.4]. In Reaktion auf die Handlungen des Nutzers sollte das System visuelle, auditive und haptische Rückmeldungen liefern. Auf Grundlage dieser Vision entwickelte Sutherland drei Jahre später das erste getrackte, stereoskopische Head-Mounted-Display der Welt, welches zumindest visuelles Feedback, in Form einer einfachen, dreidimensionalen Molekül-Repräsentation, darbot (siehe Abbildung 1.1). Je nach Kopfbewegungen des Nutzers konnte das Molekül aus einer anderen Perspektive betrachtet werden (vgl. [Sutherland 1968]). Anfang der siebziger Jahre des letzten Jahrhunderts folgten bereits erste Versionen der vermutlich populärsten Anwendung von Virtual Reality - den Flug-Simulatoren. Insbesondere das Militär hatte großes Interesse an dieser sicheren und kostengünstigen Trainingsmöglichkeit (vgl. [Craig et al. 2009]). Die Entwicklung von Virtual Reality Technologien hat seit dieser Zeit geradezu immense Fortschritte gemacht und erlaubt mittlerweile die Simulation komplexer, virtueller Welten. Rechner und Computersysteme werden immer leistungsfähiger, mobiler und gleichzeitig erschwinglicher. Aktuelle Echtzeit-Grafikanwendungen erreichen eine visuelle Renderqualität virtueller Szenen, die von der Ansicht der realen Welt teilweise kaum noch zu unterscheiden ist. Es existieren bereits Tracking-Lösungen die berührungsfrei und markerlos funktionieren. Virtual Reality Technologien sind längst im Verbraucherbereich angekommen und nicht mehr ausschließlich Forschungseinrichtungen und großen Unternehmen vorbehalten. Dennoch profitiert gerade die Forschung von der weiten Verbreitung und dem Interesse der Endkunden an Virtual Reality Hard- und Software. Head-Mounted-Displays, Datenhandschuhe und Tracking-Hardware werden immer leistungsfähiger und kostengünstiger. Mit der finalen Endkunden-Version der Oculus Rift wird im Jahr 2015 ein professionelles Head-Mounted-Display zur Verfügung stehen, welches den Einstieg in die virtuelle Welt für unter 400$ ermöglicht (vgl. [Langley 2014]). Erste Erfahrungen können Anwender mittlerweile selbst mit dem Smartphone sammeln: Etwa durch Augmented Reality Apps, die das von der Smartphone-Kamera aufgezeichnete Videobild mit virtuellen Inhalten überlagern. Mit dem Google Cardboard“ (siehe Abbildung ” 1.2) lässt sich aus einem Smartphone und einer faltbaren Karton-Vorrichtung sogar eine funktionsfähige Virtual Reality Brille improvisieren (vgl. [Google 2014]). Abb. 1.2: Google Cardboard: Virtual Reality mit dem Smartphone (vgl. [Google 2014]). Konstruktion eines Head-Mounted-Displays aus einem faltbaren Karton und einem Smartphone. Ein Vorteil von Virtual Reality ist, dass die Simulation der virtuellen Welt sicher, reversibel und reproduzierbar ist. Dies macht die Technologie vor allem für Trainings- und Lernanwendungen 1.1 Motivation 3 interessant. Obwohl die reale Welt in der Regel als Vorbild für virtuelle Umgebungen dient, sind letztere grundsätzlich unabhängig von zeitlichen, räumlichen und physischen Beschränkungen der Realität. So ist beispielsweise die Kommunikation zwischen physisch weit entfernten Benutzern im gleichen virtuellen Raum möglich. Die Darstellung und Manipulation virtueller Objekte ist sehr flexibel, wovon unter anderem die Gebiete der Produktpräsentation und des Prototyping profitieren können. Des Weiteren kann ein selektiver und individueller Blick auf die virtuelle Welt erfolgen, sodass der Fokus des Nutzers auf Aspekte gelenkt wird, die in der Realität nicht in seinem Aufmerksamkeitsspektrum liegen würden. Ein Überblick über Anwendungsgebiete von Virtual Reality ist in Kapitel 2.2.1 zu finden. Der vermutlich erste Ansatz, reale und virtuelle Inhalte zu überlagern, war im Jahr 1986 einsatzbereit: Das Super Cockpit“ ist ein durchsichtiges Display, das an Helmen von Piloten angebracht ” wurde und abhängig von der Blickrichtung des Insassen verschiedene, virtuelle Informationen über der realen Umgebung visualisieren konnte (vgl. [Sherman und Craig 2002, Kapitel 1]). Anfang der 1990er Jahre wurden sogenannte Augmented Reality Technologien populär, die die Realität in Echtzeit mit virtuellen, dreidimensionalen Objekten anreichern sollten (vgl. [Azuma et al. 1997]). 1994 prägten Milgram & Kishino den allgemeinen Begriff Mixed Reality, der für die Verschmelzung von realen und virtuellen Inhalten steht. Die Autoren führten weiterhin den zu Augmented Reality entgegengesetzten Begriff Augmented Virtuality ein, der für das Konzept steht, die virtuelle Umgebung mit realen Objekten zu überlagern (vgl. [Milgram und Kishino 1994]). Obwohl in den letzten Jahren vermehrt Forschungsarbeiten und Technologien zum Themengebiet Augmented Virtuality entstanden sind, erreichte das Konzept nie eine vergleichbare Popularität wie Augmented Reality. Nichtsdestotrotz stellen die existierenden Augmented Virtuality Anwendungen vielversprechende Ansätze dar. Die Integration von realen Objekten in die virtuelle Umgebung sorgt zwangsweise für realistische und detailreiche Darstellungen, die einen Kontext zwischen realer und virtueller Welt schaffen. Der Umweg über die Simulation entfällt. Anwendungsgebiete von Augmented Virtuality sind beispielsweise virtuelle Videokonferenzen, die bildgestützte Chirurgie, Architektur-Visualisierungen oder Entertainment-Produkte. Konkrete Beispiele und Arbeiten werden in Kapitel 3.2 vorgestellt. Mixed Reality Ansätze beziehen sich meist auf eine Überlagerung rein visueller Inhalte und Wahrnehmungen. Eine interessante Verschmelzung von Reizen der realen Welt und virtuellen Stimuli findet dagegen im ambitionierten Projekt von Wagner statt. In Zusammenarbeit mit der Firma Mack Rides GmbH & Co KG wurde eine reale Achterbahnfahrt mit Virtual Reality Technologien kombiniert. Zur Verwirklichung der virtuellen Anzeige verwendeten die Entwickler das HeadMounted-Display Oculus Rift (siehe Abbildung 1.3). Das Ziel der Idee war es, das intensive Fahrgefühl der Achterbahn für die Testpersonen zu erhalten, den Anblick der realen Umgebung allerdings mit virtuellen Inhalten zu ersetzten. Hierfür war es notwendig, die aktuelle Geschwindigkeit des Achterbahnwagens zu messen, um die virtuelle Animation mit der realen Bewegung des Wagens zu synchronisieren. Die visuellen Möglichkeiten in der virtuellen Umgebung sind nahezu unerschöpflich: So können die Nutzer während der Achterbahnfahrt fantastische Welten, Geschichten oder Verfolgungsjagden erleben, die darüber hinaus überraschender sein können als 4 Einleitung die reale Fahrt. Beispielsweise müssen in der Virtualität keine Schienen angezeigt werden, die den Fahrtweg vorgeben. Wagner fand weiterhin heraus, dass das Layout der virtuellen Strecke stark verändert werden kann, ohne dass Testpersonen dies bemerken. Ein Beispiel für eine solche Änderung ist die Anpassung von Kurvenradien (vgl. [Wagner 2014]). Abb. 1.3: VR Coaster: Reale Achterbahnfahrt mit der Oculus Rift (vgl. [Wagner 2014]). Der Proband trägt das Head-Mounted-Display während der Fahrt (links) und sieht dabei eine virtuelle Umgebung. Die virtuellen Kamerabewegungen sind mit den Bewegungen des Achterbahnwagens synchronisiert. Für die virtuellen Inhalte wurde eine modifizierte Variante des Demonstrators Spooky Hoofs“ von © Gamesmold eingesetzt (rechts). ” Ein interessantes Teilgebiet von Augmented Virtuality, welchem bisher wenig Forschungsinteresse zuteil wurde, ist die Überlagerung der virtuellen Umgebung mit einer realen Repräsentation des Nutzerkörpers. Die Aufmerksamkeit galt bis vor einigen Jahren vorwiegend dem Bestreben, den Anwender in der virtuellen Welt mit einem virtuellen Körper - einem sogenannten Avatar - zu repräsentieren. Dieser wird meist entsprechend der real getrackten Nutzerbewegungen animiert. Grundsätzlich hat die Darstellung eines derart animierten Avatars viele Vorteile: Studien belegen beispielsweise die Verbesserung der Einschätzbarkeit von Größenrelationen und egozentrischen Distanzen in der virtuellen Umgebung (vgl. [Linkenauger et al. 2013] und [Mohler et al. 2010]). Weiterhin ist ein Avatar eine Grundlage für die Implementierung von Interaktionsmöglichkeiten des Nutzers mit virtuellen Objekten. Studien von Slater et al. weisen, bei Verwendung von virtuellen Avatarkörpern, auf eine Steigerung des Präsenzeindrucks des Anwenders hin (vgl. [Slater et al. 1994] und [Slater et al. 1998]). Des Weiteren existieren Erkenntnisse, die eine schnellere und akkuratere Leistung beim Lösen bestimmter Aufgaben in der virtuellen Welt durch den Einsatz von Avatarkörpern aufzeigen (vgl. [McManus et al. 2011]). Trotz allem bleiben Avatare virtuell und damit künstlich. Einen Avatar als Repräsentation des eigenen Körpers zu akzeptieren, dürfte Nutzern deutlich schwerer fallen als die Akzeptanz einer Echtzeit-Videoaufzeichnung des realen Körpers. Durch die detailreiche, reale Repräsentation des Nutzerkörpers in der virtuellen Welt könnte unter Umständen sogar eine Steigerung des Realismusgrads von Virtual Reality Anwendungen erreicht werden. Hier setzt die vorliegende Arbeit an. Im Gegensatz zu Avataren können bei Augmented Virtuality Lösungen die reale Form, Farbe, Pigmentierung und Behaarung des Nutzerkörpers in die virtuelle Welt transferiert werden. Darüber hinaus ist keine aufwändige und kostenintensive Tracking-Hardware notwendig, um die realen Bewegungen des Nutzers aufzuzeichnen. Es ist außerdem zu vermuten, dass Vorteile von animierten Avatarkörpern ebenfalls 1.2 Zielstellung 5 für reale Körperüberlagerungen gelten - so konnten etwa Bruder et al. eine Steigerung des Präsenzeindrucks des Nutzers auch bei Einsatz von Videoüberlagerungen des realen Körpers über einer virtuellen Szene nachweisen (vgl. [Bruder et al. 2009]). 1.2 Zielstellung Die vorliegende Arbeit beschäftigt sich mit der Augmented Virtuality Technologie und insbesondere mit der egozentrischen Darstellung des realen Körpers in virtuellen Umgebungen. Bei der Recherche zu diesem Thema soll zuerst allgemein das Konzept Mixed Reality betrachtet werden und anschließend eine sukzessive Annäherung an das Teilgebiet Augmented Virtuality stattfinden. Es folgt die Vorstellung und Analyse von konkreten Arbeiten und Implementierungen, die eine Repräsentation des realen Nutzerkörpers in der virtuellen Welt thematisieren. Auf Grundlage der gewonnenen Erkenntnisse soll schließlich die Entwicklung eines eigenen Prototypen erfolgen. Mit der Oculus Rift steht bereits das zu verwendende Head-Mounted-Display zur Bewältigung dieser Aufgabe fest. Darüber hinaus sollen Lösungen verwandter Arbeiten analysiert und verglichen werden. Da der reale Körper des Nutzers mittels eines Videostreams dargestellt werden soll, ist die Wahl einer geeigneten Kamera zu treffen. Weiterhin müssen die Einzelbilder des aufgezeichneten Videos gefiltert und von nicht relevanten Pixeln befreit werden, damit eine entsprechende Überlagerung der virtuellen Umgebung nur Bildteile anzeigt, die zum Körper des Nutzers gehören. Hierfür ist ein probates Segmentierungsverfahren zu bestimmen, welches den Videostream in Bereiche die zum Nutzer gehören, und in Hintergrundbereiche aufteilt. Mit diesen Informationen ist es möglich, eine Maske für den Videostream zu definieren, die unerwünschte Bildbereiche von der Anzeige ausschließt. Es muss weiterhin ein geeigneter Weg gefunden werden, die reale Repräsentation des Nutzerkörpers einer virtuellen Szene zu überlagern. Alle erwähnten Schritte sollen in Echtzeit ausgeführt werden. Eine wichtige Entscheidung im Rahmen dieser Arbeit stellt daher die Wahl der Entwicklungsumgebung und der zu verwendenden Softwareframeworks und -bibliotheken dar. Nach der Bereitstellung der Grundfunktionalitäten des Prototypen sollen sinnvolle Erweiterungsmöglichkeiten erörtert und gegebenenfalls implementiert werden. Des Weiteren ist die Durchführung einer Nutzerstudie und die damit verbundene Evaluation der entwickelten Augmented Virtuality Anwendung vorgesehen. Abschließend sollen die Ergebnisse der Arbeit in einem Fazit zusammengefasst und Verbesserungen sowie Anwendungsgebiete des Prototypen präsentiert werden. 1.3 Gliederung Die vorliegende Arbeit gliedert sich in acht Kapitel. Das Einleitungskapitel dient als Einstieg in das bearbeitete Thema und beschreibt die Motivation, die Zielstellung und die Gliederung der Arbeit. Zum Verständnis späterer Abschnitte werden in Kapitel 2 Grundlagen und Begriffe aus 6 Einleitung Computergrafik, Bildverarbeitung und Virtual Reality erläutert. Nach dem allgemeinen Überblick über fachliche Grundlagen werden in Kapitel 3 verwandte Arbeiten aus den entsprechenden Bereichen näher betrachtet und inhaltlich zusammengefasst. Der Fokus liegt hier vor allem auf Augmented Virtuality und Forschungsansätzen, die einer virtuellen Umgebung den realen Körper des Nutzers, in Form eines Videostreams, überlagern. Neben der Darlegung der Ausgangssituation werden in Kapitel 4 die Erkenntnisse der verwandten Arbeiten analysiert. Es erfolgt die Erörterung der Anforderungen, die zur Umsetzung des Prototypen notwendig sind. In Kapitel 5 findet die Synthese statt. Beschrieben werden unter anderem die Wahl der Entwicklungsumgebung und der benötigten Kamera sowie die Vor- und Nachteile verschiedener softwaretechnischer Lösungen, die Hände des Nutzers aufzuzeichnen, das entsprechende Video in Vorder- und Hintergrund zu segmentieren, zu filtern und in der virtuellen Szene darzustellen. In Kapitel 6 wird die Implementierung des in der Synthese entwickelten Prototypen und die Umsetzung weiterer Programmteile erläutert. Kapitel 7 befasst sich mit der Evaluierung der Ergebnisse der durchgeführten Nutzerstudie. Am Ende der Arbeit steht eine Zusammenfassung, ein kritisches Fazit und ein Ausblick auf Erweiterungen und Ideen zur Verwendung der Resultate. Nach dem 8. Kapitel folgen im Anhang Quellcodeausschnitte, der Fragebogen der Nutzerstudie sowie Literatur-, Abbildungs- und Tabellenverzeichnis. 2 Grundlagen und Begriffe In diesem Kapitel werden die Grundlagen zum Verständnis der nachfolgenden Abschnitte der Arbeit geschaffen. Neben Begriffen aus der Computergrafik und Bildverarbeitung spielen insbesondere Inhalte zu Virtual Reality eine große Rolle für das Thema. 2.1 Begriffe Computergrafik und Bildverarbeitung Der Bereich der Computergrafik umfasst eine enorme Themenvielfalt. Im Folgenden soll daher im Wesentlichen auf Bereiche eingegangen werden, die im unmittelbaren Zusammenhang mit der Arbeit stehen. Projektion Laut Schiele gehört die Perspektive in der Computergrafik zu den wichtigsten Hilfsmitteln ” zur Vermittlung eines räumlichen Eindrucks“ [Schiele 2012, S. 14]. Der Autor gibt zu bedenken, dass im Zusammenhang mit grafischen Darstellungen die Begriffe Perspektive“ und Projektion“ ” ” meist gleichbedeutend genutzt werden. Iwainsky & Wilhelmi geben folgende Definition für den Begriff Perspektive an: Technik zur Vermittlung eines räumlichen Eindrucks durch ein Bild auf einer Fläche, ” in dem dreidimensionale Objekte und Szenen so dargestellt werden, wie sie beim natürlichen Sehvorgang wahrgenommen würden.“ [Iwainsky und Wilhelmi 1994, S. 215] Besonders in der Malerei wurde der Begriff Perspektive“ geprägt. So existieren in der Kunst” geschichte beispielsweise die Bedeutungsperspektive und die Zentralperspektive. Erstere wurde bereits in der Antike angewendet: wichtige Persönlichkeiten wurden in einem Gemälde zentral und überproportional groß dargestellt. In der Zentralperspektive laufen parallele Kanten auf einen oder mehrere Fluchtpunkte zu und erzeugen so einen räumlichen Tiefeneindruck im Gemälde. Weitere Beispiele sind die Frosch- und die Vogelperspektive, die sich durch eine Verlagerung der Horizontlinie ergeben. Spezielle Arten von Perspektiven sind die Luft- und die Farbperspektive. Bei der Luftperspektive findet eine Steigerung des Tiefeneindrucks statt, weil die Darstellung des Hintergrunds mit zunehmender Entfernung an Kontrast abnimmt und an Helligkeit zunimmt. Auf eine ähnliche Weise wirkt der Effekt der Farbperspektive: Je nach Farbton in entsprechender Entfernung kann der Tiefeneindruck verstärkt oder abgemildert werden (vgl. [Schiele 2012, Kapitel 2.1]). Projektionen bilden laut Foley et al. 3D-Objekte auf eine zweidimensionale Projektionsebe” ne“ ab [Foley et al. 1994, S. 224]. Iwainsky & Wilhelmi definieren den Begriff allgemeiner: 8 Grundlagen und Begriffe Abbildung eines geometrischen Objektes auf ein Gebilde niedrigerer Dimension, ” meist eines dreidimensionalen Körpers auf eine Ebene.“ [Iwainsky und Wilhelmi 1994, S. 225] Die Projektion eines 3D-Objekts lässt sich mittels des Konzepts der Projektionsstrahlen darstellen. Ausgehend von einem Projektionszentrum laufen diese Geraden durch jeden Punkt eines Objekts und schneiden dabei eine Projektionsebene, auf der die Projektion schließlich erzeugt wird. Solange es sich bei der Projektionsebene tatsächlich um eine Ebene handelt und nicht um eine gekrümmte Fläche, wird von einer planaren geometrischen Projektion gesprochen. Die am häufigsten verwendeten Projektionsarten in der Computergrafik sind die Zentralprojektion und die Parallelprojektion. Erstere entspricht eher den natürlichen Sehgewohnheiten des menschlichen Auges. Daher lässt die Größe von Objekten einen Rückschluss auf die Entfernung zum Betrachter zu. Dieser Effekt ist auch als perspektivische Verkürzung bekannt (vgl. [Foley et al. 1994]). Laut Iwainsky & Wilhelmi definiert sich die Zentralprojektion so: Spezielle Form der Projektion, bei der die Projektionsstrahlen von einem endlichen ” Projektionszentrum in Form eines Geradenbüschels ausgehen und ein Bild auf der Projektionsebene an den jeweiligen Durchstoßpunkten erzeugen.“ [Iwainsky und Wilhelmi 1994, S. 306] Anders formuliert laufen bei dieser Art der Projektion alle Projektionsstrahlen in einem Fluchtpunkt, dem Projektionszentrum, zusammen. Diese Position stellt gleichzeitig den Standpunkt des Betrachters dar. Im dargestellten Bild wird am Ende nur derjenige Punkt auf einem Projektionsstrahl gesehen, der dem Betrachter am nächsten ist. Alle anderen Punkte, die ebenfalls auf dem Projektionsstrahl liegen, sind von diesem Punkt verdeckt. Die Bildachse ist eine Senkrechte auf der Bildebene, die durch das Projektionszentrum läuft. Nur auf dieser Achse wird das Bild unverzerrt dargestellt, wohingegen der Grad der Verzerrung zunimmt, je weiter sich ein Projektionsstrahl von der Bildachse entfernt (vgl. [Schiele 2012, Kapitel 2.2.2]). Darstellungen mittels Parallelprojektion erscheinen meist weniger realistisch, da keine perspektivischen Verkürzungen stattfinden. Der Maßstab und die Winkel von Objekten können besonders bei orthogonalen Parallelprojektionsarten gut wahrgenommen und gemessen werden. Hier steht die Projektionsrichtung senkrecht auf der Projektionsebene. Bekannte Beispiele sind Grund-, Auf- und Seitenriss (vgl. [Foley et al. 1994]). Iwainsky & Wilhelmi erläutern den Begriff Parallelprojektion folgendermaßen: Spezielle Form der Projektion, bei der die Projektionsstrahlen aus einem im Un” endlichen liegenden Projektionszentrum kommen und deshalb parallel verlaufen. Bei der Parallelprojektion liefern parallele Kanten im Original auch parallele Kanten im Bild.“ [Iwainsky und Wilhelmi 1994, S. 212] 2.1 Begriffe Computergrafik und Bildverarbeitung 9 Transformationen Transformationen bilden die Grundlage vieler Grafikapplikationen. Gleichzeitig sind es wichtige ” Werkzeuge zur Erstellung dreidimensionaler Szenen“ [Watt 2001, S. 15]. Es handelt sich um computergrafische Modifikationen, die die Translation, Skalierung, Rotation und Scherung von Objekten umfassen. Die Translation ist eine Verschiebung beziehungsweise die Änderung der Position eines Objekts. Unter Skalierung versteht man die Größenänderung beziehungsweise die Anpassung des Ausmaßes des Objekts. Rotationen entsprechen Drehungen um eine bestimmte Achse, die die Orientierung eines Objekts ändern. Scherungen dagegen sind winkelverzerrende Veränderungen, bei denen die Gestalt eines Objekts verformt wird. Auch Projektionen können als Transformationen aufgefasst werden. Mathematisch lassen sich Transformationen mittels Transformationsmatrizen beschreiben (vgl. [Foley et al. 1994, Kapitel 5]). Polygon-Netz Ein Polygon ist eine geschlossene ebene Figur mit geradlinigen Begrenzungsstrecken als Seiten“ ” [Iwainsky und Wilhelmi 1994, S. 220]. Watt beschreibt das Polygon-Netzmodell als populärste ” Methode zur Darstellung eines Objekts in der Computergrafik“ [Watt 2001, S. 15]. Die Oberfläche des Objekts wird dabei durch eine Menge miteinander verbundener planarer Polygone ” erzeugt, wobei jedes Polygon eine Liste von (miteinander verbundenen) Punkten ist“ [Watt 2001, S. 15]. Polygonnetze sind demnach Strukturen von Punkten, die untereinander mit Kanten verbunden sind und so Flächen bilden können. Foley et al. geben folgende Definition an: Ein Polygonnetz ist eine Ansammlung von Kanten, Knoten und Polygonen, die so ” verbunden sind, dass jede Kante zu mindestens zwei Polygonen gehört. Eine Kante verbindet zwei Knoten und ein Polygon ist eine geschlossene Folge von Kanten.“ [Foley et al. 1994, S. 367] Die Geometrie einfacher Objekte, etwa die eines Würfels, lassen sich mit dieser Methode exakt beschreiben. Komplexere Objekte, insbesondere solche, die runde Oberflächenstrukturen aufweisen, können dagegen meist nur annäherungsweise wiedergegeben werden. Je nach Aufwändigkeit dieser Annäherung steigen die Kosten für die Modellierung, Speicherung und das Rendering eines solchen Objekts. Für die Allgegenwärtigkeit von Polygon-Netzen in der Computergrafik gibt Watt zwei Gründe an: Die Einfachheit der Erstellung eines solchen Objekts und das Vorhandensein effektiver Schattierungsalgorithmen für Polygon-Netze. Ein großer Nachteil der Methode sind dagegen die nicht zu verhindernden Ungenauigkeiten bei der Modellierung komplexer Formen (vgl. [Watt 2001]). Textur Als Texturen werden Bilder bezeichnet, die wie eine Hülle“ die Geometrie eines 3D-Modells um” manteln. Die nachträgliche Aufbringung von Oberflächendetails auf die Geometrie einer virtuellen Szene wird als Texture-Mapping bezeichnet. Die Oberflächen von dreidimensionalen Objekten, 10 Grundlagen und Begriffe die durch ein Polygon-Netz grob modelliert wurden, sollen dabei mit zweidimensionalen Bildern überzogen werden. Der Detailgrad der Geometrie des eigentlichen 3D-Models steigt dabei nicht, sodass die Rechenzeit sich nicht wesentlich erhöht (vgl. [Schiele 2012]). Am gebräuchlichsten sind zweidimensionale Texturen, die sich leicht mittels Grafiksoftware und Fotografien der realen Welt erstellen lassen. Laut Watt können durch Texture-Mapping Szenen mit geringem Aufwand visuell interessanter, attraktiver und realistischer“ gestaltet werden [Watt 2001, S. 256]. ” Die Oberflächen von Materialien in der realen Welt besitzen meist Muster oder Maserungen, die in regelmäßiger oder unregelmäßiger Form auftreten können. Regelmäßige Muster lassen sich unter Umständen beliebig oft nahtlos an sich selbst anfügen, ohne dass Übergänge erkennbar ” sind“ [Schiele 2012, S. 291]. Texturen die diese Eigenschaft besitzen, werden kachelbar genannt. Besonders prozedurale - durch mathematische Funktionen erzeugte - Texturen sind hierfür geeignet. Zusätzlich benötigen sie nur einen geringen Speicherbedarf. Diskrete Texturen aus Fotografien oder Farbbildern belegen hingegen relativ viel Speicherkapazität und sind aufgrund der unterschiedlichen Kanten schwieriger nahtlos zusammenzusetzen (vgl. [Schiele 2012]). Zweidimensionale Texturen werden in einem eigenen Textur-Koordinatensystem gespeichert. Einzelne Elemente der Textur werden Texel genannt. Unter Einfluss der Beleuchtungseffekte einer Szene werden die Farbwerte der Texel auf die Oberfläche des 3D-Objekts aufgebracht. Hierfür müssen die Texel des Textur-Koordinatensystems in Pixelkoordinaten der Polygone transformiert werden. Der Mapping-Vorgang gestaltet sich je nach Komplexität des 3D-Objekts entsprechend schwierig (vgl. [Schiele 2012]). Shader Laut Bender & Brill gilt die Einführung von Shadern als Meilenstein“ für die Echtzeit” grafik [Bender und Brill 2006, S. 294]. Shader bedienen sich Hochsprachen, mit deren Hilfe die Programmierung der Grafikhardware möglich gemacht wird. Die Autoren beschreiben den Begriff Shader wie folgt: Diese so genannten Shader erlauben eine interaktive Veränderung“ bestimmter ” ” Teile der in Hardware gegossenen Computergrafik-Pipeline unter Beibehaltung der Hardware-Performance bei der Darstellung der Szene. Ein Shader bezeichnet demgemäß ein Stück Software, das an die Stelle eines beliebigen Teils der HardwarePipeline tritt.“ [Bender und Brill 2006, S. 294] Bekannte Sprachen, zum Schreiben von Shadern sind beispielsweise Cg (C for graphics), GLSL (OpenGL Shading Language) und HLSL (High-Level Shader Language). Laut Bender & Brill sind die Sprachen an C/C++ angelehnt und ähneln sich in Syntax und Semantik deutlich. Sie bieten spezielle Funktionalitäten für das Rechnen mit Vektoren und Matrizen und sind auf die Zusammenarbeit mit der Renderpipeline abgestimmt (vgl. [Bender und Brill 2006]). 2.1 Begriffe Computergrafik und Bildverarbeitung 11 Es werden mehrere Arten von Shadern unterschieden. Die wichtigsten sind Vertex- und Fragmentshader. Der Vertexshader nimmt als Eingabe die Eckpunktkoordinaten, die Ecken-Normalen, Materialparameter und Texturkoordinaten eines Eckpunkts (engl. Vertex ). Aus den Objektkoordinaten werden unter anderem die Clipping-Koordinaten der Eckpunkte berechnet. Weiterhin findet hier die Beleuchtung der einzelnen Eckpunkte statt. Die Ausgaben des Vertexshaders dienen als Eingabe für den Fragmentshader. Ein Fragment ist die Vorstufe eines Pixels und enthält neben der Position und Farbe die Tiefeninformationen und Textur-Koordinaten des Bildpunktes. Die Werte des Fragments entstehen aus der Interpolation der entsprechenden umliegenden Eckpunktinformationen. Die Aufgabe des Fragmentshaders - auch Pixelshader genannt - ist die Berechnung der endgültigen Farbe und Transparenz eines Pixels (vgl. [Bender und Brill 2006]). Die Benutzung von Shadern stellt vor allem für die Erzeugung von Echtzeit-Spezialeffekten“ ” eine interessante Möglichkeit dar. Durch Ausführung der Shader Befehle auf der Grafikkarte kann im Vergleich zur CPU meist eine deutlich bessere Performance erreicht werden, was insbesondere für das Rendering komplexer visueller Effekte wichtig ist (vgl. [Bender und Brill 2006]). Virtuelle Kamera und Szene Die virtuelle beziehungsweise synthetische Kamera ist eine Art Metapher, die die Abbildung einer dreidimensionalen Szene auf den Monitor veranschaulicht. Die virtuelle Kamera legt die Position und Blickrichtung fest, aus der eine virtuelle Szene durch den Nutzer betrachtet werden soll. Das Prinzip ist analog zur Fotografie beziehungsweise zu einer realen Kamera zu betrachten. Letztendlich legt die virtuelle Kamera auch den Ausschnitt der Szene fest, der später gerendert werden soll. Dies ist die Voraussetzung für die Anwendung verschiedener Projektionsverfahren und dem Clipping, welches Bereiche und Objekte vom Rendervorgang ausschließt, die nicht im Sichtbereich der virtuellen Kamera liegen. In der Virtualität können sowohl Projektionsarten verwendet werden, die eine relativ realitätsnahe Abbildung der Welt erzeugen - wie beispielsweise die Zentralprojektion - als auch Projektionen, die kaum der menschlichen Sehgewohnheit entsprechen wie zum Beispiel die umgekehrte Perspektive (vgl. [Foley et al. 1994, Kapitel 6.1]). Die von der virtuellen Kamera betrachtete Welt stellt die computergrafische Szene dar. Eine Szene wird von Iwainsky & Wilhelmi allgemein definiert als: Gesamtheit von Objekten und ihrer Bewegungsparameter, des Hintergrunds und der ” Beleuchtungseinflüsse. [...] Im Rahmen der 3D-Computergrafik wird ein komplexes 3D-Modell ebenfalls als Szene bezeichnet.“ [Iwainsky und Wilhelmi 1994, S. 277] Der Erzeugung der dreidimensionalen Szene im Rechner liegt die geometrische Modellierung der virtuellen Welt zu Grunde. Hierfür können beispielsweise verschiedene Grafikprogramme genutzt werden. Für eine realistische Darstellung sind darüber hinaus passende Beleuchtungs- und Reflexionsmodelle notwendig (vgl. [Schiele 2012]). 12 Grundlagen und Begriffe Bild-Segmentierung Nach Iwainsky & Wilhelmi ist Bild-Segmentierung: Eine der wichtigsten Teilaufgaben der Bildverarbeitung, welche die Zerlegung der ” Bildfläche in verschiedene in sich zusammenhängende Segmente (Regionen, Gebiete) mit unterschiedlichen Eigenschaften zum Ziel hat.“ [Iwainsky und Wilhelmi 1994, S. 34] In der Bild-Segmentierung - im Folgenden als Segmentierung bezeichnet - werden also Segmente, die meist Objekte darstellen, anhand bestimmter Merkmalen - zum Beispiel ihrer Farbigkeit erkannt und aufgeteilt. Iwainsky & Wilhelmi sehen folgendes als die Grundaufgabe der Segmentierung: Gegeben ist eine Definition der Uniformität“ oder Homogenität“ und gesucht ” ” ” wird eine Aufteilung des Bilds in sich nicht überschneidende Teilgebiete, wobei jedes in dem Sinne uniform ist, dass keine Vereinigung benachbarter Teilgebiete uniform ist.“ [Iwainsky und Wilhelmi 1994, S. 34] Neben dem Verfahren zur Gebietszerlegung, welches darauf basiert, dass ein Homogenitätskriterium in dieser Region erfüllt wird, existieren Verfahren zur Kantendetektion. Hierbei sind Bildsegmente durch Bildelemente voneinander getrennt, in deren lokalen Umgebungen starke ” Intensitätsänderungen (Diskontinuitäten) auftreten“ [Iwainsky und Wilhelmi 1994, S. 34]. Die Entstehungsursachen für Diskontinuitäten sind Änderungen der physikalischen Oberflächeneigenschaften, der Oberflächenorientierung und der Beleuchtung. Ersteres betrifft zum Beispiel die Farbe, das Material oder die Glattheit einer Oberfläche. Zur Oberflächenorientierung gehören die Krümmungen des Objekts oder Verdeckungen durch andere Objekte. Beleuchtungsänderungen entstehen durch Schatten oder Reflexionen. Neben den erwähnten Diskontinuitätsursachen existieren weiterhin technische Effekte wie Rauschen oder Quantisierung, welche zu Intensitätsänderungen führen können und damit meist fehlerhafte Ergebnisse im Segmentierungsvorgang bedingen (vgl. [Iwainsky und Wilhelmi 1994]). Jähne beschreibt die Segmentierung als Operation, bei der für jeden einzelnen Bildpunkt entschieden wird, ob dieser zu einem Objekt gehört oder nicht“ [Jähne 2005, S. 471]. Dem voraus ” geht die Extrahierung von lokalen Objektmerkmalen, auf deren Grundlage die Unterscheidung eines Objekts von anderen Objekten und vom Hintergrund stattfinden kann. Als Ergebnis der Segmentierung entsteht ein Binärbild, in welchem die Pixel den Wert eins besitzen, wenn der Bildpunkt zum Objekt gehört und den Wert null haben, wenn das Gegenteil der Fall ist. Jähne erwähnt neben regionenorientierten und kantenbasierten Verfahren zur Segmentierung weiterhin pixelbasierte Methoden. Diese zusätzliche Klasse von Segmentierungsverfahren ignoriert die lokalen Nachbarschaften und konzentriert sich ausschließlich auf die Merkmale einzelner Bildpunkte (vgl. [Jähne 2005]). 2.1 Begriffe Computergrafik und Bildverarbeitung 13 Chroma-Keying Die farbbasierte Bildfreistellung (engl. Chroma-Keying) ist ein Verfahren, das ursprünglich in der Film- und Fernsehtechnik eingeführt wurde. Es umfasst die Darstellung der Vordergrundhandlung vor neuen, beliebigen Hintergründen, die unabhängig gefilmt oder mittels eines Computers generiert wurden. Eine Möglichkeit ist es, die Personen und Gegenstände im Vordergrund vor einer blauen Wand - einem sogenannten Blue-Screen - zu filmen. In der Vordergrundszene dürfen in diesem Fall keine Farben vorkommen, die ähnlich zum gewählten Blauton sind. Anschließend werden anstelle des blauen Hintergrunds die neuen Bildinformationen eingefügt. Das ChromaKeying-Verfahren nutzt also eine gesättigte Farbe als Maske oder auch Schlüssel“ zur Erzeugung ” eines sogenannten Stanz-Signals“ (vgl. [Webers 2011]). ” Als Hintergrundfarbe ist neben Blau vor allem Grün gebräuchlich (Green-Screen). Theoretisch wäre auch die Benutzung von Rot möglich. In der Praxis ist das Auftreten von rötlichen Farbtönen in der Vordergrundszene allerdings kaum zu vermeiden - vor allem da die menschliche Haut viele Rottöne aufweist. Deshalb wird Rot als Hintergrundfarbe kaum genutzt (vgl. [Webers 2011]). RGB-Farbraum Das Modell des RGB-Farbraums gilt als traditionelle Form der Farbdefinition in der ComputerBildgestaltung. Die Netzhaut des menschlichen Auges besitzt drei verschiedene Zapfentypen mit unterschiedlicher Sensibilität auf verschiedene Wellenlängen (vgl. [Watt 2001, Kapitel 15.2]). Der Farbraum ist deshalb stark an die Dreifarbentheorie angelehnt: Demnach kann die Darstellung einer Farbe als gewichtete Summe der drei künstlerischen Grundfarben Rot, Grün, Blau“ erfolgen ” [Schiele 2012, S. 29]. Es lässt sich also ein Tripel der Farben Rot, Grün und Blau angeben, das die relative Gewichtung der Grundfarben bestimmt: (R,G,B). Weiß ist in dieser Repräsentation des RGB-Farbraums gegeben, wenn alle Kanäle den Maximalwert aufweisen - im Intervall [0,1] steht das Tripel (1,1,1) für die Farbe Weiß. Ist der Wert in allen Kanälen hingegen null, entspricht dies dem Tripel (0,0,0), also der Farbe Schwarz (vgl. [Watt 2001]). Das RGB-Farbmodell basiert auf einem kartesischen Koordinatensystem und kann als Einheitswürfel dargestellt werden (siehe Abbildung 2.1). Die RGB-Primärfarben verhalten sich additiv, das Gesamtergebnis der Farbe wird durch die Addition der einzelnen Kanäle erreicht (vgl. [Foley et al. 1994]). Der RGB-Farbraum wird als nichtlinear wahrgenommen. Daher führen teilweise große Änderungen der einzelnen Werte nur zu minimalen visuell wahrnehmbaren Veränderungen, während bei hohen Intensitäten selbst kleine Schritte deutlich sichtbare visuelle Unterschiede erzeugen können. Zudem ist das RGB-Farbmodell kein gutes System zur Farbbeschreibung - ein intuitive Zuordnung von Farben, wie beispielsweise hellgrün“, zu RGB-Werten gestaltet sich schwie” rig. Auch die Helligkeitsänderung einer Farbe ist problematisch, da hierfür meist alle Werte des RGB-Tripels geändert werden (vgl. [Watt 2001]). 14 Grundlagen und Begriffe G (0,1,0) (1,1,0) (0,1,1) (1,1,1) (0,0,0) B (1,0,0) (0,0,1) R (1,0,1) Abb. 2.1: Darstellung des RGB-Einheitswürfels. Die Diagonale in der Mitte ist die Grauachse. HSV-Farbraum Im Gegensatz zum RGB-Farbraum orientiert sich das HSV -Farbmodell nicht an der Hardware sondern am Benutzer, da es die intuitiv einleuchtenden Mischungsmethoden eines Malers“ ” benutzt [Foley et al. 1994, S. 467]. V 120° 60° 180° 0° 240° (1,0) 320° (1,1) H S (0,0) Abb. 2.2: Darstellung der sechsseitigen Pyramide des HSV -Farbraums. Der HSV -Farbraum basiert auf den drei Primärkomponenten: Farbton (Hue), Sättigung (Saturation) und Intensität (Value). Die Intensität wird auch als Helligkeit oder Hellwert bezeichnet (vgl. [Schiele 2012]). Im Folgenden wird der Begriff Hellwert für das Value verwendet. Nach der 2.1 Begriffe Computergrafik und Bildverarbeitung 15 Festlegung eines Farbtons, kann für diesen die Sättigung und der Hellwert angepasst werden, ohne größere Verschiebungen der Grundfarbigkeit zu verursachen. Der HSV -Farbraum besitzt ein zylindrisches Koordinatensystem und kann in einer sechsseitigen Pyramide dargestellt werden (siehe Abbildung 2.2). Die obere Ebene, in der der Hellwert V = 1 ist, entspricht einer Projektion des RGB-Einheitswürfels entlang der Hauptdiagonalen - mit dem Weißpunkt als Vorderseite. Obwohl der Hellwert V konstant ist, werden nicht alle Farben in dieser Ebene mit der gleichen Helligkeit wahrgenommen. Im Gegensatz zu anderen Farbräumen werden die Koordinaten des Farbtons nicht in Prozent angegeben, sondern in Grad. Der Farbton H ist demnach durch einen Winkel um die vertikale Achse definiert. Die Sättigung S entspricht auf der vertikalen Achse dem Wert null - hier spielt der Farbton keine Rolle, da es sich bei den Farben um Grauwerte handelt. Je weiter sich ein Punkt von der vertikalen Achse der Pyramide entfernt befindet, desto gesättigter erscheint eine Farbe. Im Schwarzpunkt (0,0) haben die Werte H und S keine Relevanz (vgl. [Foley et al. 1994, Kapitel 11.3.4]). Obwohl der HSV -Farbraum ein intuitiveres Farbverständnis erlaubt, wird die Nicht-Linearität des RGB-Farbraums übernommen. Dies gilt insbesondere für die Winkelangaben des Farbtons. Eine Änderung von wenigen Grad kann in bestimmten Bereichen eine deutlich sichtbare visuelle Auswirkung haben, während in anderen Bereichen kaum Unterschiede wahrnehmbar sind (vgl. [Watt 2001]). 16 Grundlagen und Begriffe 2.2 Begriffe Virtual Reality Als Virtual Reality wird die Darstellung und gleichzeitige Wahrnehmung der Wirklichkeit in einer in Echtzeit computergenerierten, interaktiven virtuellen Umgebung bezeichnet. Erreicht wird dieser Eindruck mit speziellen Ausgabegeräten. Besonders verbreitet sind Head-MountedDisplays. Der deutsche Begriff für Virtual Reality ist Virtuelle Realität“. In diesem Kapitel ” wird ein Überblick zum weiten Feld der Virtual Reality gegeben. Neben Begriffserläuterungen sollen auch Anwendungsgebiete vorgestellt und auf verwandte Themengebiete wie Mixed Reality eingegangen werden. 2.2.1 Virtual Reality Der Begriff Virtual Reality“ ist etwas unscharf formuliert, da vermutet werden könnte, dass ” nur virtuelle Abbilder, die die echte Welt zu imitieren versuchen, dieser Klasse angehören. Im Sinne von Milgram & Kishino sind allerdings auch fiktive Welten möglich, welche die physikalischen Grenzen der Realität - etwa Raum, Zeit und Material-Eigenschaften - überschreiten (vgl. [Milgram und Kishino 1994]). Die relativ junge Geschichte und aktive Forschung auf diesem Gebiet sorgen darüber hinaus für eine Vielzahl von Ansätzen und Meinungen bei der Begriffsbestimmung. Die Verwendung als Schlagwort, durch Marketing und Massenmedien trägt ebenfalls wenig dazu bei, eine klare Definition zuzulassen. Selbst in Virtual Reality Gemeinschaften wird der Ausdruck recht inkonsistent verwendet (vgl. [Sherman und Craig 2002, Kapitel 1]). Sherman & Craig haben untersucht, welche Schlüsselelemente für Virtual Reality eine Rolle spielen und anhand der Ergebnisse eine generelle Bedeutung des Begriffs ausgearbeitet. Die vier Schlüsselelemente sind die virtuelle Welt, Immersion, sensorische Rückmeldung und Interaktivität. Virtuelle Welt Sherman & Craig bezeichnen die virtuelle Welt als imaginary space often manifested through ” a medium“ [Sherman und Craig 2002, S. 7]. In einigen Fällen existiert sie nur in den Gedanken des Urhebers - in anderen wird sie auf eine bestimmte Weise verbreitet, sodass sie mit anderen Nutzern geteilt werden kann. Die Existenz der virtuellen Welt ist unabhängig von einem System, welches sie darstellen kann. So existieren etwa Drehbücher, die eine virtuelle Welt eines Films beschreiben, auch wenn der Film noch gar nicht produziert wurde. Das Erleben oder Erfahren der virtuellen Welt wird dagegen durch ein System bewerkstelligt - zum Beispiel wenn der Film schließlich im Kino von Zuschauern betrachtet wird. Analog ist die computerbasierte, virtuelle Welt eine Beschreibung von Objekten in dieser Simulation. Wenn diese computerbasierte, virtuelle Welt dem Nutzer mittels eines Systems in einer physisch immersiven, interaktiven Präsentation näher gebracht wird, kann vom Erleben der virtuellen Welt gesprochen werden. 2.2 Begriffe Virtual Reality 17 Der Begriff virtuelle Umgebung wird in der vorliegenden Arbeit synonym zum Ausdruck virtuel” le Welt“ verwendet. Eine exaktere Definition von Sherman & Craig für virtuelle Umgebung“ ” lautet: an instance of a virtual world presented in an interactive medium such as virtual ” reality.“ [Sherman und Craig 2002, S. 17] Immersion Der Begriff Immersion bezeichnet laut Sherman & Craig allgemein die sensation of being ” in an environment“ [Sherman und Craig 2002, S. 9]. Es existieren gemäß den Autoren zwei Arten: Die mentale Immersion und physische Immersion. In den meisten Medien bezieht sich der Ausdruck auf einen emotionalen Zustand - auf das Gefühl in ein Erlebnis involviert zu sein. In Virtual Reality Anwendungen muss dagegen auch der Fakt beachtet werden, dass die Sinne des Benutzers mit verschiedenen Stimuli ersetzt oder überlagert werden. Die mentale Immersion wird häufig mit der Wahrnehmung von Präsenz in einer Umgebung gleichgesetzt. Im Sinne der Publikation von Sherman & Craig gilt die folgende Auslegung für mentale Immersion: state of being deeply engaged; suspension of disbelief; involvement“ ” [Sherman und Craig 2002, S. 9] Das Konzept des Ausdrucks sense of presence“ betrachten Sherman & Craig als gleichwertig ” zum Begriff mentale Immersion“. Den Ausdruck physische Immersion erläutern die Autoren ” dagegen wie folgt: bodily entering into a medium; synthetic stimulus of the body’s senses via the use ” of technology; this does not imply all senses or that the entire body is immersed/engulfed“ [Sherman und Craig 2002, S. 9] In anderen Veröffentlichungen werden die Begriffe Immersion“ und Präsenz“ anstelle von phy” ” ” sischer Immersion“ und mentaler Immersion“ verwendet. Slater et al. schreiben: ” Immersion can lead to presence, the participant’s sense of being there“ in the ” ” virtual environment.’ [Slater et al. 1994, S. 2,3] Präsenz entspricht also demnach der menschlichen Reaktion auf eine immersive Umgebung. Die Immersion wird bei Virtual Reality Anwendungen durch bestimmte Technologien erreicht, die die Sinne des Nutzers ersetzen oder überlagern. 18 Grundlagen und Begriffe Sensorische Rückmeldung Im Gegensatz zu traditionellen Medien erlaubt die virtuelle Realität den Benutzern, ihren Standpunkt innerhalb der virtuellen Welt zu wählen und außerdem Ereignisse dieser Welt zu beeinflussen. Sherman & Craig sehen die sensorische Rückmeldung als essentiellen Bestandteil“ ” von Virtual Reality [Sherman und Craig 2002, S. 10]. Basierend auf der physischen Position des Benutzers, die durch Sensoren ermittelt wurde, kann der Standpunkt in der virtuellen Welt angepasst werden. Die Rückmeldung oder das Feedback wird dabei in den meisten Fällen auf visuelle Weise vermittelt, seltener auch durch haptische Wahrnehmungsanpassungen. Um dieses Ziel zu erreichen, müssen die Bewegungen des Nutzers getrackt werden. Typische Systeme verfolgen die Kopfbewegungen und, zum Zweck der Interaktion mit virtuellen Objekten, mindestens eine Hand des Benutzers. Fortschrittlichere Systeme versuchen den kompletten Körper des Nutzers zu tracken. Informationen über die Position des Nutzers im Raum sowie seine Blickrichtung sind auch für den wichtigen Aspekt der Interaktivität notwendig. Interaktivität Um eine virtuelle Welt authentisch erscheinen zu lassen, sollte sie auf die Aktionen der Nutzer reagieren. Diese Interaktivität stellt für Sherman & Craig ein weiteres Schlüsselelemente von Virtual Reality dar. Obwohl virtuelle Welten von einer ansprechenden computergrafischen Darstellung sicherlich profitieren, existieren auch Beispiele für Anwendungen, die die Welt komplett in Textform - dafür allerdings sehr interaktiv - wiedergeben. Klassische Text-Adventures, wie Zork, geben dem Benutzer die Möglichkeit, mithilfe von Kommandos mit Objekten, Charakteren und Orten der virtuellen Welt zu interagieren. Der Anwender erhält so den Eindruck, in das Geschehen involviert zu sein. Eine andere Form der Interaktivität ist die Änderung des Standorts des Nutzers in der virtuellen Welt. Dazu gehört die physische Bewegung zum Erreichen neuer Orte ebenso wie Änderungen des Blickwinkels durch Rotation des Kopfes. In kollaborativen Umgebungen können mehrere Nutzer im gleichen virtuellen Raum interagieren und sich gegenseitig wahrnehmen (vgl. [Sherman und Craig 2002, Kapitel 1]). Definition Virtual Reality Craig et al. bezeichnen Virtual Reality als eine Art Computersimulation, in der ein Bild von einer Welt erzeugt wird, das wir in der gleichen Weise wahrnehmen wie die reale Welt“ ” [Craig et al. 2009, S. 1]. Nur eine authentische Darstellung der virtuellen Welt überzeugt“ das ” Gehirn des Benutzers davon, ein Gefühl der Gegenwärtigkeit in der synthetischen Szene zu besitzen. Um diesen Eindruck der Immersion zu erreichen ist es notwendig, die Sinne des Menschen durch künstliche Stimuli zu täuschen“. Durch die Verwendung eines Head-Mounted-Displays ” kann etwa der Sehsinn der Nutzers beeinflusst werden und es entsteht der Schein, die visuelle 2.2 Begriffe Virtual Reality 19 Repräsentation der Virtualität sei real. Der Nutzer taucht körperlich in eine simulierte Umgebung ein, die sich zwar von der realen Umgebung unterscheidet, aber den Eindruck vermittelt, es könnte sich um die Realität handeln (vgl. [Craig et al. 2009, Kapitel 1.1]). Trotz Interaktivität, sensorischer Rückmeldung und Immersion ist Virtual Reality letztendlich als ein Medium zu betrachten, ähnlich wie ein Buch oder ein Film. Die Möglichkeiten der genannten Beispiele unterscheiden sich deutlich, dennoch lassen sich alle als eine Art Kommunikationsmittel verstehen. Craig et al. bringen es folgendermaßen auf den Punkt: Virtual reality is a medium, a means by which humans can share ideas and experi” ences.“ [Craig et al. 2009, S. 1] Laut einer formalen Definition von Sherman & Craig ist Virtual Reality : A medium composed of interactive computer simulations that sense the partici” pant’s position and actions and replace or augment the feedback to one or more senses, giving the feeling of being mentally immersed or present in the simulation (a virtual world).“ [Sherman und Craig 2002, S. 13] Typische Virtual Reality Systeme simulieren in den meisten Fällen die visuelle Wahrnehmung des Nutzers. Häufig wird zusätzlich die auditive Wahrnehmung in eine Anwendung einbezogen. Die taktile und haptische Wahrnehmung - also der Tastsinn - findet dagegen seltener Verwendung in Virtual Reality Systemen. Der olfaktorischen (Geruch), der gustatorischen (Geschmack) und der vestibulären (Balance) Wahrnehmung wird hingegen sehr wenig Aufmerksamkeit geschenkt (vgl. [Craig et al. 2009, Kapitel 1.1]). Im Rahmen dieser Arbeit werden ebenfalls nur visuelle Aspekte von Virtual Reality betrachtet. Informationen zum Umgang mit anderen Sinnen können beispielsweise in [Sherman und Craig 2002] nachgeschlagen werden. Telepräsenz Ein weiterer zu Virtual Reality verwandter Begriff ist Telepräsenz. Die Sinne des Benutzers werden hier durch technische Hilfsmittel, wie beispielsweise Videokamera oder Mikrofon, ersetzt. Somit ist der Nutzer in der Lage, aus der Egoperspektive entfernte Orte zu sehen und zu hören und mit der abgelegenen Umgebung zu interagieren. Die Welt ist also im eigentlichen Sinn nicht virtuell, obwohl sie ein Abbild der Realität darstellt. So kann eine Fernsteuerung stattfinden, die zum Beispiel die Tätigkeiten in Gefahrenzonen erleichtert - etwa bei Arbeit mit giftigen Chemikalien oder der Erforschung eines fremden Planeten. Doch auch Maßstabs-Probleme“ können auf diese ” Weise gelöst werden. In der Medizin können die Bewegungen des Arztes auf kleine Werkzeuge übersetzt werden, sodass minimale Schnitte bei einer Operation für die Behandlung ausreichen. Diese minimal-invasiven Eingriffe können vom Personal über kleine Kameras beobachtet werden, die ebenfalls in den Körper eingeführt werden (vgl. [Sherman und Craig 2002, Kapitel 1]). Eine formale Definition von Telepräsenz lautet: 20 Grundlagen und Begriffe the ability to directly interact (often via computer mediation) with physically real, ” remote environment from the first-person point of view; there are no restrictions on the location of the remote environment, and there are no restrictions on the size of the device used to carry out the user’s commands at the remote location.“ [Sherman und Craig 2002, S. 20] Avatar Bailenson et al. beschreiben Avatare recht allgemein als digital representation of human ” users“ [Bailenson et al. 2005, S. 3]. Der Avatar dient laut den Autoren der Echtzeit-Repräsentation von Individuen in virtuellen Umgebungen, auch mit mehreren Benutzern. Davis et al. greifen die Ausführungen von Bailenson et al. auf und definieren den Begriff Avatar“ wie folgt: ” An avatar is defined as a user-created digital representation that symbolizes the ” user’s presence in a metaverse“ [Davis et al. 2009, S. 93] Das Metaverse ist für die Autoren eine Art Erweiterung der virtuellen Welt, die die Interaktion und Kommunikation von Teilnehmern in dieser Umgebung in den Vordergrund stellt. Die wichtigsten Konzepte im Zusammenhang mit Avataren sind für Davis et al. Repräsentation, Präsenz und Immersion. Das Erscheinungsbild und die Handlungen der Benutzer werden im Metaverse durch den Avatar umgesetzt (vgl. [Davis et al. 2009]). Eine weitere Definition von Bell bezieht sich vor allem auf den Aspekt der Kontrolle des Avatars durch seinen menschlichen Handlungsträger: An avatar is any digital representation (graphical or textual), beyond a simple label ” or name, that has agency (an ability to perform actions) and is controlled by a human agent in real time.“ [Bell 2008, S. 3] Im Sinne dieser Arbeit ist ein Avatar ein digitaler Stellvertreter eines menschlichen Nutzers in der virtuellen Welt, der in Echtzeit von diesem Nutzer gesteuert werden kann. Es handelt sich also um eine virtuelle Repräsentation eines Menschen, mit der sich der Nutzer während eines interaktiven, virtuellen Erlebnisses identifizieren kann. Ein Beispiel für ein solches Erlebnis sind Computerspiele und insbesondere Ego-Shooter, in denen der Spieler sich in die Rolle eines virtuellen Charakters hineinversetzen und die Geschichte aus der egozentrischen Sicht der Spielfigur nachvollziehen kann. Die Steuerung erfolgt in diesem Fall meist indirekt durch Controller - beispielsweise Maus und Tastatur. Boulic et al. stellen dagegen eine Möglichkeit vor, Avatare in Echtzeit zu animieren, indem die realen Bewegungen des Nutzers auf seine virtuelle Repräsentation gemappt werden (vgl. [Boulic et al. 1997]). 2.2 Begriffe Virtual Reality 21 Naturgesetze in Virtual Reality Anwendungen Viele Virtual Reality Anwendungen setzen verschiedene Naturgesetze um, die das Verhalten und die Interaktionen von und mit Objekten der Welt gemäß der physischen Realität erscheinen lassen. Der Nutzer weiß somit, was ihn erwartet und die Erlebnisse der virtuellen Welt wirken nicht den Vorstellungen der Realität entgegen. In einer Anwendung, in der virtuelle, architektonische Entwürfe besichtigt werden können, könnte beispielsweise erwünscht sein, dass Nutzer nicht durch Wände gehen und sich ausschließlich auf dem Boden fortbewegen. Auch die Physik von Objekten spielt in diesem Zusammenhang eine Rolle - vor allem im Hinblick auf die Gravitation. Der entscheidende Punkt bei Virtual Reality Anwendungen ist aber, dass die Naturgesetze nicht zwangsweise beachtet werden müssen. Je nach Anwendung können so faszinierende Effekte erzielt werden, sodass das Erlebnis in der virtuellen Realität die Grenzen der Naturgesetze übersteigt. Denkbar ist beispielsweise, dem Nutzer einen Röntgenblick zu ermöglichen, um das Innenleben von Objekten zu betrachten ohne sie zu öffnen. Fortbewegungsarten wie Fliegen oder Schweben sind theoretisch ebenso möglich wie das Verschieben oder Anheben von Objekten, die in der Realität zu schwer sind (vgl. [Craig et al. 2009, Kapitel 1.5.2.1]). Display-Hardware für Virtual Reality Anwendungen Es existieren viele spezielle Geräte, die die gerenderten Bilder der virtuellen Welt dem Nutzer in geeigneter Weise präsentieren sollen. Am meisten Aufmerksamkeit wurde in diesem Zusammenhang tatsächlich dem visuellen Stimuli gewidmet. Die vorliegende Arbeit beschäftigt sich ausschließlich mit der visuellen Wahrnehmung der virtuellen Realität. Daher wird davon abgesehen, auditive und haptische Hardware-Konzepte vorzustellen. Laut Craig et al. können Virtual Reality Displays in drei Paradigmas eingeordnet werden. Stationäre Displays sind an einem Ort fixiert, der angezeigte Inhalt variiert allerdings abhängig von der Position des Benutzers zum Display. Kopf-basierte Displays werden durch die Kopfbewegungen des Nutzers bewegt. Das Display befindet sich daher immer im Sichtfeld des Nutzers. Schließlich existieren noch hand-basierte Systeme, bei denen das Ausgabegerät in den Händen gehalten werden kann und somit ein spezieller Blickwinkel auf die Szene möglich wird. Diese Form von Displays wird vor allem für Augmented Reality Anwendungen genutzt - etwa in modernen Smartphones (vgl. [Craig et al. 2009, Kapitel 1.3]). Large-Screen Stationary Display Eine weitere Möglichkeit für die visuelle Ausgabe der virtuellen Welt stellen große Flächen dar, auf die die Bilder entweder projiziert werden oder die durch die Kombination mehrerer kleiner Displays entstehen. Ziel ist es, möglichst das komplette Sichtfeld des Nutzers abzudecken. Viele dieser Systeme zeigen daher in einem möglichst großen Bereich um den Nutzer herum die virtuellen Welt an. In CAVE-Systemen ( Cave Automatic Virtual Environment“) werden häufig alle ” umliegenden Wände sowie Boden und Decke des Raums als Projektionsfläche genutzt. Neben 22 Grundlagen und Begriffe dem teilweise enormen Sichtfeld ist das relativ geringe Maß an Hardware, welches der Nutzer tragen muss, als Vorteil zu nennen. Weiterhin ist die reale Welt, trotz virtueller Projektion oder Anzeige, in der Regel gut wahrnehmbar. Dies erhöht die Sicherheit des Systems, da Unfälle durch Orientierungslosigkeit vermieden werden sollten. Weil nicht alle Systeme das komplette Sichtfeld des Nutzers abdecken, kann die Freiheit in der virtuellen Welt eingeschränkt sein. Weitere Nachteile sind die meist recht hohen Kosten solcher Systeme und die Schwierigkeit, die reale Welt vollständig zu maskieren. Auch die enorme Größe von CAVE-Systemen sollte bedacht werden (vgl. [Craig et al. 2009, Kapitel 1.5.1.2]). Head-Mounted-Displays Den bekanntesten Vertreter von Virtual Reality Hardware stellt wohl das Head-Mounted-Display dar. Das Gerät enthält einen Bildschirm vor jedem Auge des Nutzers und wird auf dem Kopf getragen. Der größte Vorteil dieser Geräte ist die Freiheit des Nutzers, in jede Richtung der virtuellen Welt schauen zu können. Craig et al. bezeichnen dies als 100% field-of-regard“ ” [Craig et al. 2009, S. 13]. Besonders vorteilhaft sind Head-Mounted-Displays hinsichtlich Kosten und Portabilität. Auch das geringe Ausmaß solcher Systeme ist oft nützlich. Ein signifikanter Nachteil von Head-Mounted-Displays sind die deutlich auffallenden Latenzen, welche häufig Übelkeit und Kopfschmerzen verursachen und damit die Benutzungszeit stark einschränken. Außerdem muss das Display auf dem Kopf getragen werden, was sich je nach Gewicht des Geräts negativ auf das Nutzungserlebnis auswirken kann. Benötigte Kabel von einem Computer zum Display können den Handlungsfreiraum des Benutzers einschränken. Derzeit ist auch die geringe Auflösung von Head-Mounted-Displays ein Nachteil. Die Isolation des Nutzers von der Außenwelt kann dagegen als Vor- und Nachteil angesehen werden. Zwar sind Diskussionen über das Erleben bei einem Experiment schwieriger durchzuführen, jedoch kann der Eindruck der Immersion durch die Ausblendung der realen Umgebung unter Umständen verstärkt werden. Die Systeme sind derzeit in der Regel nur von einem Nutzer zur gleichen Zeit verwendbar (vgl. [Craig et al. 2009, Kapitel 1.5.1.2]). Anwendungsgebiete Das Anwendungsgebiet von Virtual Reality Applikationen ist groß und variantenreich. Im Folgenden wird ein Überblick über entsprechende Einsatzzwecke gegeben. Die Möglichkeiten von Virtual Reality scheinen unerschöpflich. Der aktuelle Stand sollte daher als Zwischenergebnis betrachtet werden - es ist zu erwarten, dass in den nächsten Jahren viele neue Ansätze für Anwendungen aufkommen werden. Craig et al. sehen das Ziel von Virtual Reality folgendermaßen: While the technology that supports virtual reality is interesting in its own right, ” the real payoff of virtual reality comes when it aids in solving real-world problems, provides a creative outlet, or better human existence in some way.“ [Craig et al. 2009, S. 33] 2.2 Begriffe Virtual Reality 23 Craig et al. betrachten Virtual Reality als Medium, vergleichbar mit Musik oder Malerei. Einer der Hauptzwecke dieser Medien ist die Kommunikation von Ideen. Dabei spielt es keine Rolle, ob die Ideen abstrakter oder praktischer Natur sind. Ein Beispiel für eine abstrakte Idee wäre etwa: Wie ist es, in einem animierten Cartoon zu leben?“. Als praktische Idee könnte ” zum Beispiel die Funktionsweise eines Autos vermittelt werden (vgl. [Craig et al. 2009, Kapitel 2.1]). Virtual Prototyping Durch virtuelles Prototyping können Produkte bereits vor dem Erscheinen auf dem Markt, unter anderem hinsichtlich Ergonomie, Benutzerfreundlichkeit und Ästhetik evaluiert werden. Somit können schon im Vorfeld Kosten und Zeit bei der Entwicklung gespart werden. Die Vielfalt der Produkte ist in diesem Zusammenhang nahezu unbegrenzt: Ob Armbanduhr oder U-Boot, grundsätzlich ist das Prototyping von jedem Produkt denkbar, solange das Feedback der virtuellen Umgebung den Ansprüchen für die gewünschte Darstellung und Interaktion genügt. Durch die virtuelle Benutzung eines Produkts können bereits vor der eigentlichen Herstellung Fehler und Probleme erkannt und behoben werden. Weiterhin zählt zu diesem Genre das Testen des Aufbaus, der Montage sowie der Wartung von Produkten. Besonders die ästhetische Qualität eines Produkts kann mittlerweile durch fotorealistische Renderings adäquat eingeschätzt werden. Die entsprechenden Dateien sind nicht nur einfacher zu ändern als physische Prototypen, sondern auch leichter zu verbreiten. Craig et al. bezeichnen die Gegebenheit des schnellen Austauschs von Informationen als unerlässlich“, da Firmen in der heutigen Zeit weltweit agieren, ” Kollaborationen über weite Distanzen ermöglicht werden und Betriebe und Kunden auf mehreren Kontinenten verteilt sind (vgl. [Craig et al. 2009, Kapitel 2.4.1]). Architectural Walkthroughs Architekten visualisieren ihre Gebäudekonzepte in der Regel mit traditionellen Modellen, die dem Kunden einen ersten Eindruck des Entwurfs vermitteln. Durch bessere Rechner wurden auch animierte fotorealistische Renderings zu einem gängigen Mittel der Präsentation. Durch Virtual Reality Methoden kann dagegen ein immersives Erlebnis geschaffen werden, das dem Kunden erlaubt, das Gebäude selbst zu erkunden und eine Vorstellung von der Größe und Nutzung des vorhandenen Raums zu erlangen. So können unerwünschte Konstellationen noch vor dem Baubeginn erkannt und beseitigt werden. Hier sind Parallelen zum Virtual Prototyping zu finden. Besonders wichtig für diese Art von Virtual Reality Anwendungen ist die realistische Gestaltung der virtuellen Welt. Die Repräsentation der Umgebung und die Navigation in dieser Umgebung sollte natürlichen Gegebenheiten angepasst sein. Die Nutzer können in der Regel durch das 24 Grundlagen und Begriffe Gebäude laufen, Türen öffnen, Treppen und Aufzüge nutzen, wie in der Realität. Ein Spezialfall von Architectural Walkthroughs ist die virtuelle Visualisierung von historischen Schauplätzen, welche meist zu Lernzwecken über geschichtliche Ereignisse entworfen werden (vgl. [Craig et al. 2009, Kapitel 2.4.2]). Visualisierung von wissenschaftlichen Daten Computersimulationen und Sensoren können erhebliche Mengen von Daten liefern. Aufgrund des Umfangs kann sich die sinnvolle Analyse der Daten durch Forscher schwierig gestalten. Durch Computeranimationen und interaktive Werkzeuge ist es möglich, den Prozess zu erleichtern. Die virtuelle Realität liefert einen natürlicheren Ansatz, den Raum und die im Raum dargestellten Datenvisualisierungen zu erkunden. Aufgrund des dreidimensionalen Charakters der meisten Visualisierungen ist ohnehin eine passende Art der Navigation im Raum notwendig. Craig et al. schreiben hierzu: In any case, virtual reality can provide a better interface to the data than is possible ” through the two-dimensional interfaces of the standard desktop mouse. [...] in VR the user can be given a natural interface to view the world through a variety of different lenses“.“ ” [Craig et al. 2009, S. 37] Training Das älteste Beispiel für Virtual Reality Anwendungen sind Flugsimulationen. Ziel war es, Piloten eine sichere und kostengünstige Trainingsmöglichkeit zu bieten. Die Idee kann auf vielfältige Anwendungsgebiete erweitert werden, beispielsweise in der Medizin auf das Fachgebiet der Chirurgie. Die virtuelle Welt soll in diesem Fall die Realität simulieren. Vorteile ergeben sich neben der erwähnten Kosteneinsparung und den entsprechenden Sicherheitsaspekten auch durch die Ausführung von ungewöhnlichen oder in der Realität schwer nachzustellenden Trainingsszenarios. Die virtuelle Welt kann weiterhin problemlos verändert werden und der Trainingsleiter kann auf die Performance von Lernenden schnell reagieren. Nicht zuletzt können die Leistungen aufgezeichnet und im Nachhinein analysiert werden (vgl. [Craig et al. 2009, Kapitel 2.4.4]). Entertainment Alleine durch die Neuheit“ des Mediums Virtual Reality besitzt es für die Entertainmentbranche ” eine starke Anziehungskraft. Der Trend bei Computerspielen geht ohnehin in Richtung visuell realistischer Erlebnisse aus der egozentrischen Spielerperspektive. Hardware für Heimcomputer wird aufgrund dieser Nachfrage immer potenter und gleichzeitig günstiger. Virtual Reality als Produkt für den Endverbraucher ist mittlerweile keine Zukunftsvision mehr - spätestens seit der Einführung 2.2 Begriffe Virtual Reality 25 der Oculus Rift sind Head-Mounted-Displays erschwinglich geworden. Das die ComputerspieleCommunity ein großes Interesse an einem immersiven Spiele-Erlebnis hat, zeigt sich laut Craig et al. unter anderem am Erfolg von CAVEQuakeII, einer CAVE-Portierung des Ego-Shooters QuakeII, die mittlerweile die vermutlich am weitesten verbreitete CAVE-Anwendung darstellt (vgl. [Craig et al. 2009, Kapitel 2.4.5]). Andere Anwendungen Weitere Anwendungsgebiete für Virtual Reality stellen medizinische, pädagogische und künstlerische Bereiche dar. Craig et al. sehen die meisten dieser Anwendungen als Unterkategorie der bereits beschriebenen Hauptgenres. Medizinische Implementierungen sind beispielsweise meist den Bereichen Training“ oder Visualisierung wissenschaftlicher Daten“ zuzuordnen. Dem ers” ” ten Fall entspricht etwa die Schulung minimal invasiver, chirurgischer Eingriffe. Die Visualisierung der gescannten Daten von CT-Geräten ist ein Beispiel für den zweiten Fall. Für den pädagogischen Bereich sind in fast allen Haupt-Genres Anwendungen denkbar. Bereits erwähnt wurden Architectural Walkthroughs durch historische Schauplätze. Doch auch Trainings- und Visualisierungsapplikationen sind leicht vorstellbar. Kunst in der virtuellen Realität eröffnet beispielsweise Möglichkeiten, surrealistische und fantastische Welten mittels eines neuen Mediums darzustellen. Die ästhetischen und interaktiven Chancen von Virtual Reality gewähren Künstlern eine völlig neue Ausdrucksform, obgleich derartige Anwendungen häufig in den Bereich Entertainment“ ” einzuordnen sind (vgl. [Craig et al. 2009, Kapitel 2.4.6]). 2.2.2 Mixed Reality, Augmented Reality und Augmented Virtuality Der Begriff Mixed Reality beschreibt laut Milgram & Kishino eine Unterklasse von Virtual Reality -Technologien, bei der eine Fusionierung von realen und virtuellen Welten“ stattfindet ” [Milgram und Kishino 1994, S. 2]. Die Autoren definieren in diesem Zusammenhang das Virtuelle Kontinuum, welches vollkommen reale Umgebungen mit vollkommen virtuellen Umgebungen verbindet und den Zwischenstufen entsprechende Technologien zuweist. Der bekannteste Vertreter ist Augmented Reality. Bei dieser Methode wird die Anzeige der realen Umgebung auf einem Bildschirm durch virtuelle Inhalte überlagert, etwa in Form von computergrafisch erzeugten Objekten. Sherman & Craig definieren den Begriff Augmented Reality wie folgt: a type of virtual reality in which synthetic stimuli are registered with and superim” posed on real-world objects; often used to make information otherwise imperceptable to human senses perceptible.“ [Sherman und Craig 2002, S. 18] Ein Anwendungsbeispiel lässt sich in der Live-Übertragung von Sportwettkämpfen im TV finden: Beim Skispringen wird die zu überbietende Weite für den aktuellen Sportler mittels eines 26 Grundlagen und Begriffe Abb. 2.3: Augmented Reality: Visualisierung von Informationen beim Segelsport. Zu sehen sind die Geschwindigkeiten und Nationalitäten der Boote und die bisherige Route (weiße und rote Punkte). TV-Bild vom America’s Cup 2013 (vgl. [Kerschbaumer 2014]) © America’s Cup Event Authority. farbigen Balkens visualisiert, der dem Video-Signal - und damit der realen Umgebung - überlagert wird. Auch beim Segelsport sollen derartige Visualisierungen dem Zuschauer das andernfalls schwer zu verfolgende Geschehen näher bringen (siehe Abbildung 2.3). Für die virtuellen Grafiken zum America’s Cup 2013 erhielt Sportvision den Technical Achievement Award“ (vgl. ” [Kerschbaumer 2014]). Typischerweise wird in Augmented Reality Anwendungen nur die visuelle Wahrnehmung verändert. Hierfür ist die Verwendung von Head-Mounted-Displays und vor allem handbasierten Bildschirmen üblich. Die wichtigste Voraussetzung für eine funktionierende Anwendung ist die Übereinstimmung der räumlichen Positionen von virtueller Überlagerung und der realen Welt (vgl. [Sherman und Craig 2002, Kapitel 1]). Abb. 2.4: Beispiele für das Green-Screen-Verfahren. Ein Studio mit grün ausgekleideten Wänden (links) Fotografie: Phrontis via Wikimedia Commons. Darstellung vor und nach der Anwendung der Filtertechnik (rechts). Die grünen Bildflächen werden durch virtuelle Inhalte ersetzt. Fotografien: PictureYouth und Keraunoscopia via Wikimedia Commons. 27 2.2 Begriffe Virtual Reality Die entgegengesetzte Fall zu Augmented Reality entspricht laut Milgram & Kishino der Klasse Augmented Virtuality [Milgram und Kishino 1994, S. 2]. Hierbei werden den virtuellen Darstellungen reale Objekte überlagert. Das aus Fernsehproduktionen bekannte Green-ScreenVerfahren ist eine Anwendung von Augmented Virtuality. Viele Nachrichtenstudios sind inzwischen weitgehend mit virtuellen Interieur ausgestattet. Nur Nachrichtensprecher und Tisch sind reale Objekte, die über dem virtuellen Hintergrund eingeblendet werden. Die grünen Wände des Studios können anschließend mit Filtertechniken ausgeblendet werden (siehe Abbildung 2.4). Die Vermischungen von Realität und Virtualität wird von den Autoren als Teilmenge von Virtual Reality angesehen. Um diese Teilmenge abzugrenzen, wurde ihr der Begriff Mixed Reality zugeordnet. Die gänzlich künstlich erzeugte, virtuelle Umgebung befindet sich am äußeren rechten Ende des Virtuellen Kontinuums, welches in Abbildung 2.5 dargestellt ist. Es verdeutlicht die Zusammenhänge von realen Umgebungen (Real Environment) und virtuellen Umgebungen (Virtual Environment) als entgegengesetzte Extrema mit den Zwischenstufen Augmented Reality und Augmented Virtuality (vgl. [Milgram und Kishino 1994]). Mixed Reality (MR) Real Environments Augmented Reality Augmented Virtual Virtuality Environments Abb. 2.5: Vereinfachte Darstellung des Virtuellen Kontinuums von Milgram & Kishino (vgl. [Milgram und Kishino 1994]). Unter Real Environment fallen alle Ansichten einer Szene, die ausschließlich reale Objekte darstellen. Dazu gehört laut Milgram & Kishino, neben der direkten Betrachtung durch den Menschen, auch die Ansicht der echten Welt mittels eines Video-Bildschirms. Bisher wurden die Konzepte real“ und virtuell“ als gegeben angesehen. Die Entscheidung, ob ein Objekt real ” ” ist oder nicht, erscheint zuerst simpel. Computergrafisch gerenderte Bilder erreichen mittlerweile allerdings fotorealistische Ergebnisse, sodass eine Unterscheidung nicht immer eindeutig ist. Milgram & Kishino schlagen daher eine Abgrenzung der Konzepte, basierend auf drei verschiedenen Aspekten, vor (vgl. [Milgram und Kishino 1994]). Als erstes definieren sie reale ” Objekte“ und virtuelle Objekte“ folgendermaßen: ” ◦ Real objects are any objects that have an actual objective existence.“ ” (vgl. [Milgram und Kishino 1994, S. 6]) ◦ Virtual objects are objects that exist in essence or effect, but not formally or actually.“ ” (vgl. [Milgram und Kishino 1994, S. 7]) Damit ein reales Objekt angeschaut werden kann, muss es entweder direkt beobachtet oder aufgenommen und mittels eines Displays angezeigt werden. Virtuellen Objekte sind künstlich 28 Grundlagen und Begriffe simuliert und daher nicht direkt anschaubar, sondern nur über eine visuelle Anzeige-Technologie sichtbar. Der zweite Aspekt zur Abgrenzung ist daher die Betrachtbarkeit von Objekten. Unter direct viewing verstehen die Autoren die Anschauung eines Objekts durch die Luft oder durch ein vollständig transparentes Material, wie beispielsweise Glas. Diese Variante ist nur für reale Objekte möglich, wohingegen das non-direct viewing auf einem Display sowohl für reale Objekte (zum Beispiel durch die Aufnahme der Realität mit einer Videokamera) als auch für virtuelle Objekte (durch computergrafische Abbildungen) denkbar ist (vgl. [Milgram und Kishino 1994]). Abschließend unterscheiden Milgram & Kishino zwischen realen Bildern“ und virtuellen ” ” Bildern“: ◦ For this purpose we turn to the field of optics, and operationally define a real image as ” any image which has some luminosity at the location at which it appears to be located.“ (vgl. [Milgram und Kishino 1994, S. 7]) ◦ A virtual image can therefore be defined conversely as an image which has no luminosity ” at the location at which it appears [...] “ (vgl. [Milgram und Kishino 1994, S. 7]) Luminosity“ wird an dieser Stelle offenbar als physikalische Größe der Leuchtkraft verwendet, die ” die abgestrahlte Energie pro Zeiteinheit darstellt. Virtuelle Bilder von Objekten sind daher solche, die keine Leuchtkraft besitzen, also zum Beispiel Hologramme oder Spiegelbilder. Die Autoren zählen auch das erzeugte Bild eines stereoskopischen Displays zu dieser Kategorie. Während die beiden Einzelansichten reale Bilder sind, ist das im Gehirn zusammengesetzte 3D-Bild virtuell (vgl. [Milgram und Kishino 1994]). 3 Verwandte Arbeiten Nachdem im vorherigen Kapitel bereits auf einige Grundlagen eingegangen wurde, sollen nun verwandte Arbeiten aus entsprechenden Fachbereichen untersucht werden, die sowohl theoretische als auch praktische Erkenntnisse liefern. Dem Hauptthemengebiet der vorliegenden Arbeit wird sich dabei sukzessive genähert. Zunächst werden Publikationen besprochen, die sich allgemein mit dem Themengebiet Mixed Reality beschäftigen und den Grundstein für die Idee der Überlagerung verschiedener Ebenen der Realität und der Virtualität legen. Im Anschluss sollen Arbeiten betrachtet werden, die dem spezifischeren Teilgebiet Augmented Virtuality zuzuordnen sind und daher Ansätze beinhalten, die Teile der realen Welt einer virtuellen Umgebung überlagern. In diesem Zusammenhang werden durchaus praktischere Forschungsergebnisse präsentiert, die gleichzeitig eine Vorstellung vermitteln, wie entsprechende Techniken auch außerhalb des wissenschaftlichen Umfelds eingesetzt werden können. Schließlich erfolgt die Untersuchung von Publikationen, die den realen Körper des Nutzers in den Kontext der virtuellen Welt setzen. Insbesondere die technische Umsetzung dieser Ansätze wird detailliert betrachtet. 3.1 Mixed Reality Das Konzept des Virtuellen Kontinuums wurde von 1994 von Milgram & Kishino eingeführt. Die Autoren liefern mit ihrer Taxonomie die Grundlage zur Einordnung von Mixed Reality Anwendungen aller Art. Im Folgenden wird die Publikation daher detailliert betrachtet. Anschließend soll ein anwendungsorientiertes Beispiel vorgestellt werden, das die Verwendung verschiedener Mixed Reality Techniken in der Praxis verdeutlicht. 3.1.1 Eine Taxonomie visueller Mixed Reality Displays In [Milgram und Kishino 1994] und [Milgram et al. 1995] werden verschiedene Mixed Reality Display-Konzepte verglichen, um wesentliche Unterschiede und Gemeinsamkeiten auszumachen. Ziel der Arbeit war es, die visuellen Anzeige-Umgebungen hinsichtlich ihrer Fähigkeit, die Realität und die Virtualität darzustellen, konzeptionell zu untersuchen. Die psychologische Wahrnehmung der Umwelt wird dabei ausschließlich auf den Sehsinn beschränkt. Auditive, olfaktorische, gustatorische und taktile Wahrnehmungseindrücke sind nicht Teil der Betrachtung (vgl. [Milgram et al. 1995]): 1. Augmented Reality : Monitor, 2. Augmented Reality : Head-Mounted-Display, 3. Augmented Reality : Head-Mounted-Display, optisch durchsichtig, 4. Augmented Reality : Head-Mounted-Display, durchsichtig mittels Live-Video, 30 Verwandte Arbeiten 5. Augmented Virtuality : Monitor, 6. Augmented Virtuality : Head-Mounted-Display und 7. Augmented Virtuality : Head-Mounted-Display, Interaktion mit realen Objekten. Bei den Augmented Reality (AR) Ansätzen nach den Punkten 1. und 2. werden Videos der realen Umgebung durch Computergrafik überlagert. Im Fall von Punkt 3. ist es die reale, egozentrische Sicht, die durch Computergrafik überlagert wird. Dieses Verfahren kann zum Beispiel durch Benutzung von halbtransparenten Spiegeln erreicht werden. Die reale Umgebung ist ohne Umwege durch das Glas zu sehen (see-through (ST)). Gleichzeitig werden hologrammartige Abbildungen auf den Spiegel projiziert. Die egozentrische Sicht kann allerdings auch mittels eines Live-Videos aufgenommen und dargestellt werden (Punkt 4.). Die Display-Konzepte nach den Punkten 1. und 2. können ebenso für Augmented Virtuality (AV) genutzt werden, indem eine computergrafische Darstellung durch reale Videos überlagert wird (Punkte 5. und 6.). Ein Sonderfall ist Punkt 7., da hier die computergrafische Abbildung mit der realen Umgebung hinsichtlich der Anordnung der Objekte übereinstimmt, sodass die Szene beispielsweise mit den Händen interaktiv erkundet werden könnte. Es ist zu beachten, dass diese Anwendung über die rein visuelle Wahrnehmung hinausgeht und daher abseits der restlichen Ansätze betrachtet werden sollte. Eine weitere wichtige Unterscheidung der Systeme, die in der oberen Liste nicht berücksichtigt wurde, ist die Möglichkeit stereoskopische Inhalte darzustellen. Dazu bieten sich vor allem Head-Mounted-Displays (HMD) an, da die anzuzeigenden Inhalte bei diesen Geräten in der Regel ohnehin für jedes Auge separat dargestellt werden müssen. Um die gewählten Mixed Reality Display-Konzepte voneinander abzugrenzen, wählen die Autoren vier Aspekte, die sich als Entweder-Oder-Fragen formulieren lassen (vgl. [Milgram et al. 1995]): 1. Ist der Hauptanteil des Bilds - also der Untergrund - real oder computergrafisch? 2. Wird dieser Untergrund per direct viewing oder non-direct viewing angeblickt? 3. Wird die Umgebung egozentrisch oder exozentrisch betrachtet? 4. Ist ein striktes, konformes Mapping zwischen Realität und Virtualität notwendig oder nicht? In Tabelle 3.1 sind die Ergebnisse zusammengefasst. Interessant ist der Zusammenhang zwischen der dritten und vierten Spalte. Falls ein System ein konformes Mapping von Realität und Virtualität verlangt, erfordert es notwendigerweise auch eine egozentrische Sicht auf die Umgebung. Der Umkehrschluss gilt allerdings nicht: Es existieren auch egozentrische Technologien mit nonkonformem Mapping. Die Klassifizierung von Mixed Reality Display-Systemen wurde bereits ähnlich durch Milgram & Kishino durchgeführt. Obwohl die oben gewählten Aspekte als sinnvoll voneinander abgegrenzt erscheinen, geben die Autoren zu bedenken, dass die Display-Klassen je nach problemdefinierendem Aspekt verschiedene Gruppierungen zulassen. Dennoch stellt diese Vorarbeit eine hilfreiche Grundlage dar, um eine Taxonomie für Mixed Reality Displays zu definieren. So kann festgehalten werden, in welcher Weise virtuelle und reale Zusammenhänge von Mixed Reality Umgebungen realisiert werden können. 31 3.1 Mixed Reality Tabelle 3.1: Klassifizierung von Mixed Reality (MR) Display-Systemen (vgl. [Milgram et al. 1995]). Real (R) o. Direct View (D) Egozentrisch (EG) o. Konformes Mapping Virtuell (V) o. Non-Direct (N) Exozentrisch (EX) (1:1) o. nicht (1:k) 1. AR, Monitor R N EX 1:k 2. AR, HMD R N EG 1:k 3. AR, HMD, ST optisch R D EG 1:1 4. AR, HMD, ST video R N EG 1:1 5. AV, Monitor V N EX 1:k 6. AV, HMD V N EG 1:k 7. AV, HMD, interaktiv V D,N EG 1:1 Klasse von MR-System Das Ziel von Milgram & Kishino ist es, diesbezüglich Probleme durch unklare Begrifflichkeiten und konzeptionelle Grenzen für Forscher einzuschränken. Die Taxonomie soll daher neben einer geordneten Klassifikation, auf die sich theoretische Diskussionen stützen können, auch die praktischen Probleme von Mixed Reality Displays einbeziehen. Auswertungen von Entwicklungen, Untersuchungen und Datensätzen könnten somit sinnvoll verglichen werden. Die Taxonomie versucht Antworten auf die folgenden Fragen zu geben: 1. Wie viel wissen wir über die Welt, die angezeigt wird? 2. Wie realistisch können wir die Welt anzeigen? 3. Wie groß ist das Maß der Immersion für den Beobachter in dieser Welt? [Milgram und Kishino 1994, S. 8] Milgram & Kishino schlagen für jede Frage ein Maß beziehungsweise eine Dimension zur Beantwortung vor: 1. Extent of World Knowledge, 2. Reproduction Fidelity, 3. Extent of Presence Metaphor. Die erste Dimension gibt an, wie viele Informationen das System über die anzuzeigende Welt besitzt (siehe Abbildung 3.1). World Unmodelled World Partially Modelled World Completely Modelled Abb. 3.1: Milgram & Kishino: Darstellung der Dimension Extent of World Knowledge. Auf der linken Seite ist der Fall zu sehen, bei dem die Umgebung vollständig computergrafisch modelliert wurde und das System alle Informationen über die enthaltenen Objekte besitzt. Auf der rechten Seite ist das Konzept der vollständig nicht modellierten Umgebung positioniert: Dem System sind keine Informationen über Szenenobjekte bekannt (vgl. [Milgram und Kishino 1994]). Werden reale Objekte per direct viewing beobachtet, hat das System keinerlei Kenntnisse von ihnen. Ein Beispiel ist der Blick durch ein optisch durchsichtiges Head-Mounted-Display auf die reale Umgebung. Doch auch Inhalte, die über non-direct viewing dargestellt werden, müssen 32 Verwandte Arbeiten nicht zwangsweise für das System zugänglich sein. Wenn beispielsweise ein Computer per Videokamera eine reale Szene aufnimmt und auf einem Bildschirm ausgibt, besitzt dieser in der Regel keine Informationen über die Objekte der abgebildeten Welt. Zwar könnte das VideoBild analysiert werden, um gewisse Informationen zu extrahieren, allerdings ist dieses Wissen alles andere als umfassend und verlässlich. Der entgegengesetzte Fall wäre eine komplett virtuell erschaffene Welt, in der der Computer über das gesamte Informationsspektrum verfügt: Die Verortung von Objekten, der Standpunkt des Betrachters und seine Bestrebungen, die Welt durch Objektmanipulationen zu verändern. Alles zwischen diesen beiden Extremen ist ein Mix von partiellen Informationen, die dem System zur Verfügung stehen. In [Milgram und Colquhoun 1999] heben Milgram & Colquhoun die Parallelität der Konzepte Extent of Presence Metaphor (EWK) und des Virtuellen Kontinuums hervor. Die Position einer beliebigen Umgebung oder Welt“ auf dem Virtuellen Kontinuum stimmt daher mit dem Ort auf dem EWK -Kontinuum ” überein. Virtual Environments entsprechen damit vollständig computergrafisch modellierten Umgebungen, während Real Environments komplett nicht modellierten Welten“ entsprechen. Die ” Zwischenstufen stellen eine partiell modellierte Umgebungen dar. Interessant ist der Fakt, dass eine Umgebung nicht zwangsweise vollständig virtuell ist, auch wenn alle sichtbaren Objekte der Szene computergeneriert sind. Ebenso handelt es sich nicht in jedem Fall um Real Environments, nur weil alle sichtbaren Objekte Aufnahmen der Realität sind. Würde man beispielsweise eine virtuelle - und damit modellierte - Umgebung komplett mit realen Video-Texturen versehen, könnte der Eindruck entstehen, dass es sich um reale Objekte handelt. Nichtsdestotrotz besitzt das System vielfältige Informationen über die zugrunde liegenden, computergenerierten Objekte und die Welt ist gewiss modelliert. Aus diesem Grund ist die Abgrenzung von Augmented Reality und Augmented Virtuality oft nicht trivial, da es nicht genügt reale“ und virtuelle“ Flächenanteile zu addieren und festzustellen, welche Technologien ” ” vorwiegend vorhanden sind. Des Weiteren ist es denkbar, dass Anwendungen existieren, in denen die beiden Konzepte ineinanderfließen“. Milgram & Colquhoun geben als theoretisches ” Beispiel den Weg von einem virtuellen Büro durch eine Tür in ein reales Büro an. Handelt es sich anfangs um eine rein virtuelle Umgebung, könnte man nach dem Öffnen der Tür für Augmented Virtuality argumentieren, da das virtuelle Büro durch den Ausschnitt der Realität im Türrahmen überlagert wird. Kurz vor dem Durchschreiten der Tür scheint es sich um einen Augmented Reality Ansatz zu handeln. Im realen Büro angekommen entspricht der Eindruck klar einer realen Umgebung. Der Begriff Mixed Reality ist in diesem Fall unter Umständen zweckmäßiger (vgl. [Milgram und Colquhoun 1999]). Die zweite Dimension - Reproduction Fidelity - bewertet die Bildqualität der Anzeige. Dabei gehen Milgram & Kishino davon aus, dass die Genauigkeit der Reproduktion von der Qualität der Technologie zur Darstellung einer Szene abhängt (siehe Abbildung 3.2). Am rechten Rand ist die absolute und damit fotorealistische Qualität angesiedelt, die sich nicht mehr von einem direct viewing der realen Welt unterscheidet. Die genannten Beispiele innerhalb der Abbildung sind eine grobe Vereinfachung der Thematik und stellen lediglich eine Orientierung dar. Tatsächlich spielen vielfältige Faktoren eine Rolle, wie etwa die Display-Hardware, die Signalverarbeitung 33 3.1 Mixed Reality Conventional High (monoscopic) Colour Stereoscopic Definition Video Video Video Video Simple Visable Shading, Ray Realtime, Wireframes Surface Texture, Tracing, Hi-fidelity, Imaging Transparency Radiosity 3D Animation 3D HDTV Abb. 3.2: Milgram & Kishino: Darstellung der Dimension Reproduction Fidelity. In Pfeilrichtung steigt die Bildqualität und damit der Realitätsgrad, mit der eine Technologie Objekte abbilden kann (vgl. [Milgram und Kishino 1994]). Beispieltechnologien für das non-direct viewing“ von ” realen (oben) und virtuellen Objekten (unten). und grafische Rendertechniken. Aufgeteilt in Reproduktionsgenauigkeit von realen Objekten und virtuellen Objekten könnten theoretisch eigene, neue Taxonomien erstellt werden. Extent of Presence Metaphor ist die dritte Dimension der Taxonomie und gibt an, wie stark der Präsenzeindruck des Beobachters bei Betrachtung einer Bildschirmszene ist. Die Immersion, die eine Technologie bietet, ist dementsprechend der entscheidende Maßstab. Beispiele sind in Abbildung 3.3 dargestellt. Das Maximum an Immersion ist erreicht, wenn die Empfindungen und Wahrnehmungen des Beobachters nicht mehr von der Realität zu unterscheiden sind (Realtime Imaging). Monitor Based Colour (WoW) Video Monoscopic Multiscopic Panoramic Surrogate Realtime Imaging Imaging Imaging Travel Imaging Large Screen HMD‘s Abb. 3.3: Milgram & Kishino: Darstellung der Dimension Extent of Presence Metaphor (vgl. [Milgram und Kishino 1994]). In Pfeilrichtung steigt die Immersion der Technologien (oben) und Konzepte (unten). 3.1.2 The MagicBook - moving seamlessly between reality and virtuality Es existieren verschiedene technologische Anwendungen, die das gesamte Spektrum des Virtuellen Kontinuums auszunutzen versuchen. Im Folgenden wird zur Verdeutlichung des Mixed Reality Konzepts ein Beispiel vorgestellt: Billinghurst et al. präsentieren mit ihrem Ma” gicBook“-Projekt eine Möglichkeit für Kinder, ein Märchenbuch nicht nur zu lesen, sondern auch in die Seiten einzutauchen“ und Teil der Geschichte zu werden (siehe Abbildung 3.4). Das Buch ” lässt sich im Wesentlichen wie ein normales Buch handhaben. Mit einem speziellen Opernglasähnlichen Augmented Reality Display können allerdings virtuelle 3D-Modelle von handelnden Charakteren auf den Buchseiten betrachtet werden. Durch Drehung des MagicBooks“ lassen ” 34 Verwandte Arbeiten sich die animierten Szenen aus allen Richtungen ansehen. Darüber hinaus ist es möglich, in die Szenen hineinzufliegen“ und die virtuelle Umgebung zu erkunden. Dadurch können sich die ” Leser auf eine Ebene mit den Charakteren begeben und die Geschichte aus einer immersiven Perspektive erleben. Die Benutzung ist auch für mehrere Teilnehmer möglich, unabhängig von der gewählten Stufe auf dem Virtuellen Kontinuum. So lässt sich das 3D-Modell durch mehrere Augmented Reality Displays aus jeweils verschiedenen Blickpunkten beobachten, während die Nutzer sich weiterhin gegenseitig sehen und miteinander kommunizieren können. Tauchen mehrere Leser in die immersive Sicht der virtuellen Umgebung ein, werden sie durch Avatare, ähnlich den 3D-Charakteren, dargestellt. Ein Teilnehmer, der sich in der immersiven Welt befindet, sieht Nutzer, die die Szene von oben betrachten, als große virtuelle Köpfe im Himmel. Neben Märchenbüchern haben die Autoren diverse andere Anwendungsdomänen für weitere Bücher identifiziert und umgesetzt: Architektur, wissenschaftliche Visualisierung, Bildung und Unterhaltung. Als Vorteile des Systems werden niedrige Kosten und hohe Benutzerfreundlichkeit genannt. Laut Billinghurst et al. ist das MagicBook“ ein attraktives Mittel zur Betrach” tung von räumlichen Daten, die vom Wechsel zwischen egozentrischer und exozentrischer Sicht profitieren können (vgl. [Billinghurst et al. 2001]). Abb. 3.4: Mixed Reality : MagicBook“-Projekt (vgl. [Billinghurst et al. 2001]). Lesen des Buchs auf ” herkömmliche Weise (links). Betrachtung einer 3D-Szene mit einem Augmented Reality Display (mittig). Immersive, virtuelle Sicht der gleichen Szene (rechts). 3.2 Augmented Virtuality Simpel ausgedrückt beschreibt Augmented Virtuality eine Klasse von Technologien, die etwas von der realen Welt in einer virtuellen Umgebung platzieren. Ein Beispiel sind Video-Livestreams, die in einer durch 3D-Grafik erzeugten Szene angezeigt werden. In Second Life“ - einer virtuellen ” Online-Welt, in der sich Menschen treffen, kommunizieren und sozialisieren können - ist es etwa möglich, das Gesicht seines Avatars durch die Live-Aufnahme einer Webcam zu ersetzen oder mit seinem Avatar eine Live-Konferenz zu beobachten (siehe Abbildung 3.5). Simsarian & Akesson stellen in ihrer Arbeit ein ähnliches System für die Erstellung von Augmented Virtuality vor (vgl. [Simsarian und Akesson 1997]). Mit dem entwickelten Tool lassen 3.2 Augmented Virtuality 35 Abb. 3.5: Augmented Virtuality: Webcam-Livestreams in der virtuellen Welt von Second Life (© Linden Research, Inc). Video des eigenen Gesichts auf einem Avatar-Körper (links, [Prisco 2010]) und Teilnahme von Avataren an einer Konferenz (rechts, [Buckman 2007]). sich virtuelle Welten erzeugen, die partiell durch Video-Texturen überlagert werden. Die Extrahierung der Texturen von Objekten aus der realen Welt erfolgt automatisch. Die Autoren wollen damit eine Szene konstruieren, die relevante Daten der realen Welt mit der Flexibilität einer virtuellen Welt kombiniert. Als Vorteile der Virtualität werden die Unabhängigkeit von zeitlichen, räumlichen und physischen Beschränkungen der realen Welt genannt. Die eigentliche Szene, die beispielsweise mittels eines immersiven 3D-Videos gezeigt werden kann, ist eine virtuelle Repräsentation der Realität. Daher entsprechen die virtuellen Objekte in ihrer Form und ihrer Ansicht den realen Objekten des abzubildenden Raums. Die Manipulation dieser Objekte ist allerdings nicht an reale Gegebenheiten gebunden. Weiterhin ist es möglich, wenig relevante Teile der realen Welt nicht in die Szene zu übernehmen und andere interessante Teile entsprechend hervorzuheben. Die Welt wird mit einem selektiven Blick betrachtet. Simsarian & Akesson nennen dieses System Windows on the World“ (siehe Abbildung 3.6). ” Abb. 3.6: Augmented Virtuality: Windows on the World“ - Eine virtuelle Welt, die mit Video-Texturen ” von realen Objekten überlagert wird (vgl. [Simsarian und Akesson 1997]). Eine weitere Anwendung von Augmented Virtuality ist die Durchführung von Videokonferenzen zwischen mehreren Personen. Das System cAR/PE!“ von Regenbrecht et al. ist eine erste ” prototypische Lösung für die Netzwerk-Kommunikation von drei Teilnehmern aus verschiedenen Orten in einem virtuellen Raum (vgl. [Regenbrecht et al. 2003]). Dabei wird die traditionelle Art und Weise einer Konferenz nachgeahmt, bei der sich die Redner von Angesicht zu Angesicht gegenüber sitzen. Das Konzept sieht ebenfalls die Einbindung von Video-Livestreams von realen Objekten, also den Teilnehmern, vor. Die Streams werden an einem virtuellen Konferenztisch“ ” in Sichthöhe eingeblendet, sodass die Personen sich gegenseitig in der virtuellen Umgebung 36 Verwandte Arbeiten sehen können (siehe Abbildung 3.7). Die Orientierung der Video-Ebene wird durch getrackte Kopfbewegungen und durch eine sogenannte Space Mouse angepasst. Mit dieser Technik können sich die Teilnehmer im Raum umsehen. Ein entscheidender Vorteil dieses Systems gegenüber Augmented Reality Ansätzen ist laut den Autoren die Nutzung des virtuellen Raums, etwa zur Anzeige von Präsentationen an den Wänden oder zur Darstellung und Manipulation von 3DObjekten. So könnte etwa ein CAD-Modell von mehreren Ingenieuren auf dem Konferenztisch begutachtet und angepasst werden. Abb. 3.7: Augmented Virtuality: Videokonferenz-System cAR/PE!“ (vgl. [Regenbrecht et al. 2003]): ” Aufbau des realen Sitzplatzes mit benötigter Hardware (links) und Ansicht des virtuellen Raums in dem die Konferenz stattfindet (rechts). In [Hughes und Stapleton 2005] wird das Augmented Virtuality Konzept genutzt, um neuartige Möglichkeiten und Werkzeuge für die Gemeinschaftsarbeit zwischen Personen zu schaffen, bei denen ein starker Einsatz der Vorstellungskraft erforderlich ist. Insbesondere bei kreativen Kollaborationen sehen die Autoren Vorteile. Einerseits spielen in einem solchen zwischenmenschlichen Szenario die körperlichen Ausdrücke und der persönliche, leidenschaftliche Austausch der Beteiligten eine große Rolle. Andererseits findet der kreative Prozess nahezu komplett in der Vorstellung der anwesenden Personen statt. Um Inspirationen zu teilen, mussten bisher Skizzen, Zeichnungen oder starre Modelle eingesetzt werden. Die Virtualität bietet dagegen die Möglichkeit, dynamisch Inhalte ohne Limitierung durch physikalische Beschränkungen der realen Welt darzustellen. Hughes & Stapleton wollen die Vorteile einer virtuellen Umgebung nutzen, ohne den zwischenmenschlichen Austausch in eine künstliche Abstraktion zu zwingen. Die Idee ist es, eine Art kollektive Vorstellungskraft“ für die beteiligten Personen zu ermöglichen (vgl. ” [Hughes und Stapleton 2005]). Auch in der Medizin können Augmented Virtuality Anwendungen gefunden werden: In der bildgestützten Chirurgie wird ein leistungsstarkes Computersystem eingesetzt, das dem Chirurgen die Vorausplanung des Eingriffs mit Hilfe eines spezifischen 3D-Modells am Bildschirm ermöglicht. So können beispielsweise Hirntumore sehr exakt lokalisiert werden. Während der Operation verfolgt der Arzt die Bewegung der eingesetzten Instrumente millimetergenau auf dem Display und ist somit in der Lage, den Tumor zu entfernen, ohne gesundes Gewebe zu verletzen. Paul et al. kombinieren in ihrer Arbeit das präoperative 3D-Modell des Patienten mit einem texturierten 3.2 Augmented Virtuality 37 Mesh, der live von einem chirurgischen Mikroskop aufgezeichnet wird (vgl. [Paul et al. 2005]). Die 3D-Oberfläche des Meshs wird durch ein stereoskopisches Verfahren, entsprechend den realen Aufnahmen während der Operation, erzeugt. Somit werden die realen Bilder des chirurgischen Mikroskops in die virtuelle Umgebung der multimodalen 3D-Szene integriert, die vor der Operation mit spezifischen Bildern des Patienten angefertigt wurde (siehe Abbildung 3.8). Das System erleichtert das Verstehen der räumlichen Beziehung zwischen den Objekten des komplexen 3DModells und dem operativen Bereich, dargestellt durch den live generierten Oberflächen-Mesh. Abb. 3.8: Augmented Virtuality in der bildgestützten Chirurgie. Zwei Ansichten der Kombination von präoperativem 3D-Modell und dem Oberflächen-Mesh, der während der Operation aus Bildern des chirurgischen Mikroskops erstellt wird (vgl. [Paul et al. 2005]). In [Mueller und Gibbs 2006] wird ein Netzwerk-Tischtennis-Spiel für drei Personen vorgestellt. Dabei wird ein - laut den Autoren - virtuelles Videokonferenzsystem mit physischen Elementen überlagert: Die Teilnehmer spielen auf realen Tischtennisplatten, die sich an unterschiedlichen Orten befinden. Durch die Übertragung der Video- und Audiosignale der jeweils anderen Spieler ist die Kommunikation untereinander möglich. Die Platten sind so positioniert, dass eine Hälfte normale aufgestellt und die andere vertikal nach oben gerichtet ist (siehe Abbildung 3.9). Abb. 3.9: Augmented Virtuality: Table Tennis for Three“ (vgl. [Mueller und Gibbs 2006]). Reale Tisch” tennisplatte und Videostreams der anderen Spieler (links). Vorbereitete Tischtennisplatte mit Sensoren auf der Rückseite (rechts). Der Ball kann nun immer wieder an die vertikale Platte gespielt werden und springt dadurch zurück zum Spieler. Die Vertikale der Platte ist weiß angestrichen und dient gleichzeitig als Projektionsfläche für die Videos der anderen Teilnehmer. Das Ziel des Spiels ist es, semi-transparente 38 Verwandte Arbeiten Markierungen zu treffen, die ebenfalls projiziert werden. Der Ort des Aufpralls des Balls wird mit piezoelektrischen Sensoren gemessen, die an der Rückseite der Platte angebracht sind und auf Vibrationen reagieren. Alle Spieler bekommen die gleiche Aufgabe gestellt und können sich Markierungen gegenseitig stehlen“. Hier sehen Mueller & Gibbs die Vorteile ihres Prototy” pen: Die sozialen Interaktionsmöglichkeiten ähneln dem realen Tischtennisspiel, sind nun aber auch für räumlich entfernte Teilnehmern erlebbar. Weiterhin benötigt die physische Aktivität der Spieler keine Zwischenschritte über Eingabegeräte, wie beispielsweise Gamepads, und entspricht so eher dem realen Sport. Die Autoren sehen ihr System als Vertreter von Augmented Virtuality, da die virtuellen Videos der Teilnehmer von den physisch existierenden Elementen, wie etwa der Tischtennisplatte, überlagert“ werden (vgl. [Mueller und Gibbs 2006]). Diese Einordnung muss ” kritisch betrachtet werden, da es sich laut der Arbeit von Milgram & Kishino bei nahezu allen Objekten des Systems um reale Objekte handelt, die eine tatsächliche, gegenständliche Existenz besitzen (vgl. [Milgram und Kishino 1994]). Virtuelle Objekte sind nach dieser Ansicht nur die projizierten Zielmarkierungen und Punkteanzeigen des Interfaces auf der Platte. In der Auffassung von Mueller & Gibbs sind offenbar die Videostreams der anderen Teilnehmer virtuell. Nach Milgram & Kishino stellt dies allerdings lediglich das non-direct viewing von realen Objekten dar. Daher wäre Table Tennis for Three“ im Virtuelle Kontinuum eher bei ” Augmented Reality einzuordnen. Nichtsdestotrotz ist das vorgestellte Konzept eine interessante Variante einer Mixed Reality Anwendung. So wird etwa der eigene Tischtennisball als reales Objekt im direct viewing wahrgenommen und der Ball der Mitspieler als reales Objekt im non-direct viewing. Aus Sicht der Mitspieler kehrt sich die Betrachtungsweise ins Gegenteil um. Eine weitere Mixed Reality Arbeit, die sich schwierig in das Virtuelle Kontinuum einordnen lässt, präsentieren Pece et al.: Ein neuartiges Video-Konferenzsystem, das durch den Einsatz von Smartphone-Kameras ein statisches Panorama der Umgebung erzeugt und dieses mit LiveVideostreams anreichert (vgl. [Pece et al. 2013]). Durch die Darstellung des umliegenden Orts erhalten die Teilnehmer räumliche Informationen, die bei herkömmlichen Webcam-Videokonferenzen nicht zur Verfügung stehen (siehe Abbildung 3.10). Das System kann schnell eingerichtet werden und es sind keine teuren Panoramakameras notwendig. Abb. 3.10: Augmented Virtuality: PanoInserts: Mobile Spatial Teleconferencing“ - Statisches Panorama ” mit überlagerten Live-Videostreams (vgl. [Pece et al. 2013]). 3.3 Der reale Körper im virtuellen Raum 39 Augmented Virtuality ist zudem ein vielversprechendes Konzept für Architektur-Designer. Wang erwähnt, dass dieser Technologie im Gegensatz zu Virtual Reality und Augmented Reality im architektonischen Kontext bisher wenig Beachtung geschenkt wurde (vgl. [Wang 2007]). Um wissenschaftliche Grundlagen für die Nutzung von Augmented Virtuality im Architektur-Design zu schaffen, werden in der Arbeit mögliche Probleme und Lösungsansätze beschrieben und eine umfassende Taxonomie für die Unterstützung architektonischer Anwendungen formuliert. In diesem Zusammenhang spezifiziert der Autor Augmented Virtuality Technologien nach bestimmten Charakteristiken in einem strukturierten Framework. Es ergeben sich einige Vorteile bei der Ergänzung rein virtueller Darstellungen um reale Instanzen. So werden der virtuellen Szene quasi automatisch zusätzliche Details und Kontext hinzugefügt. Beispielsweise könnten ganze virtuelle Gebäude mit passenden Videotexturen versehen werden, um der virtuellen Welt ein ähnlich reichhaltiges“ Aussehen zu verleihen wie der realen Welt. ” 3.3 Der reale Körper im virtuellen Raum Bisherige Bestrebungen, den Körper des Nutzers in die virtuelle Welt zu transferieren, verwendeten häufig Avatare (vgl. [Steinicke et al. 2009]). Diese virtuellen Ersatzkörper“ bieten dem ” Betrachter zwar ein gewisses visuelles Feedback, lassen individuelle und persönliche Körpermerkmale des Nutzers allerdings außer Acht. Sollen die Bewegungen des Avatar-Körpers darüber hinaus denen des echten Körpers entsprechen, ist derzeit meist preisintensive und umständliche Tracking-Hardware notwendig. In den letzten Jahren verfolgten einige Forschergruppen Augmented Virtuality Ansätze, die eine visuelle Überlagerung der virtuellen Szene mit einer realen Repräsentation des Nutzers anstreben. Obwohl die Konzepte vielversprechend erscheinen, wurde den Arbeiten bisher eher wenig Beachtung geschenkt. Im Folgenden werden diverse Ansätze zu diesem Thema vorgestellt. 3.3.1 Eine Augmented Virtuality Darstellung des Körpers durch Chroma-Keying von egozentrischen Videos Steinicke, Bruder, Rothaus & Hinrichs stellen in ihrer Arbeit einen software-basierten Ansatz vor, der eine realistische, visuelle Repräsentation des eigenen Körpers in der virtuellen Umgebung ermöglicht (vgl. [Steinicke et al. 2009]). Dabei werden Kameras an das verwendete Head-Mounted-Display angebracht, die die reale Umgebung aus der egozentrischen Sicht des Nutzers aufnehmen. Die erhaltenen Bilder werden anschließend in Vordergrund und Hintergrund segmentiert. Den Vordergrund stellen in diesem Fall Teile des menschlichen Körpers dar. Die Gliedmaßen werden anschließend der aktuellen Sicht des Nutzers auf die virtuelle Welt überlagert. Die Autoren bezeichnen ihren Ansatz der Visualisierung als high-fidelity virtual body“ ” [Steinicke et al. 2009, S.1]. 40 Verwandte Arbeiten Es wird darauf hingewiesen, dass viele bisherige Ansätze ein virtuelles Modell des Körpers einen sogenannten Avatar - nutzen. Dieser wird durch die Bewegungen des Nutzers gesteuert, indem bestimmte Markerpunkte, die am realen Körper befestigt sind, durch ein Tracking System erkannt und auf die virtuelle Körperrepräsentation angewendet werden. Probleme ergeben sich durch dieser Methode laut Steinicke et al. bei Multi-User-Szenarien, in denen die benötigten Tracking-Systeme ungeeignet wären. Auch ein häufiger Wechsel der Benutzer kann aufgrund der Instrumentierung“ nur schwer umgesetzt werden. Ein weiterer Nachteil ist die ” fehlende Darstellung individueller Merkmale des eigenen Körpers, wie etwa Hautfarbe, Haarfarbe oder Kleidung. Der vorgestellte Ansatz ist von derartigen Problemen nicht betroffen (vgl. [Steinicke et al. 2009]). In einer weiteren Arbeit der Autoren wird angemerkt, dass TrackingSysteme und Motion-Capturing-Anzüge im Vergleich zum vorgestellten System sehr preisintensiv und umständlich in der Anwendung sind (vgl. [Bruder et al. 2009]). Die Autoren sehen die Darstellung eines realistischen und sich natürlich bewegenden Körpers in der virtuellen Umgebung als sehr empfehlenswerte Erweiterung an (vgl. [Steinicke et al. 2009]). Die visuelle Repräsentation des eignen Körpers in einer immersiven virtuellen Umgebung hat laut Steinicke et al. einen beträchtlichen und messbaren Einfluss auf das Präsenzempfinden des Nutzers in der virtuellen Welt. Die Autoren zitieren hier [Slater et al. 1998] und geben als Grund für das Phänomen folgendes an: Hat eine Person eine Assoziation mit einem Körper, der sich an einem bestimmten Ort befindet, ist es wahrscheinlich, dass die Person glaubt, sie befände sich ebenfalls an diesem Ort. Weiterhin spielt das intuitive Erkunden und die natürliche Interaktion mit der virtuellen Welt eine entscheidende Rolle (vgl. [Bruder et al. 2009]). Die realistische Repräsentation des Körpers kann laut Bruder et al. als Referenz dienen und somit Hinweise auf die Größe von virtuellen Objekten geben, sowie die Abschätzung von Distanzen in der virtuellen Welt erleichtern. Das genutzte System besteht aus einem individuell angepassten video-see-through Head-MountedDisplay für die visuelle Präsentation der virtuellen Szene. Das Modell basiert auf dem 3DVisor ” Z800“ und bietet ein Display mit einer Auflösung von 800x600 Pixeln und einer Bildwiederholungsrate von 60 Hz. Der diagonale Blickwinkel des Geräts beträgt lediglich 40 Grad. Zur Aufnahme der realen Umgebung wurden zwei USB-Kameras mit einer Auflösung von 640x480 Pixeln und einer Aufzeichnungsrate von 30 Hz verwendet. Die Kameras sollen stereoskopische Bilder der egozentrischen Sicht des Nutzers liefern und wurden daher in der ungefähren Augenhöhe des Nutzers angebracht. Auf dem Head-Mounted-Display wurde darüber hinaus eine Infrarot-LED montiert, deren Position im Raum durch ein optisches Tracking-System festgestellt wurde. So kann die Position des Nutzers getrackt und in der virtuellen Umgebung angepasst werden. Um auch die Orientierung und Rotation der Blickrichtung festzustellen, verwendeten Steinicke et al. einen InertiaCube2“, der ebenfalls auf dem Head-Mounted-Display befestigt wurde. Andere ” Hilfsmittel, insbesondere zum Tracken der Gliedmaßen-Bewegungen des Nutzers, wurden nicht benutzt (vgl. [Bruder et al. 2009]). Zur Segmentierung des Videobilds der USB-Kamera mussten die Autoren einen effizienten Algorithmus zur Hauterkennung implementieren. Sie entschieden sich für eine einfache Echtzeit- 3.3 Der reale Körper im virtuellen Raum 41 Hautfarbenerkennung, die sich als zuverlässiges Mittel herausstellte (vgl. [Bruder et al. 2009]). Hierzu wurden die aufgezeichneten Bilder in den HSV -Farbraum umgewandelt, da dieser sich besonders für die Segmentierung der Haut eignet (vgl. [Brand und Mason 2000]). Der Algorithmus arbeitet in zwei Phasen: einer Trainingsphase und einer Klassifikationsphase. In der ersten Phase soll der Nutzer seine Hände vor sich halten und ansehen, so dass sich in den zwei weiß markierten Trainingsbereichen innerhalb des Displays Hautpartien befinden (siehe Abbildung 3.11 (a)). So kann sich das System an unterschiedliche Hauttöne anpassen. Die Farbtöne (H-Werte) der Pixel in den Trainingsbereichen werden anschließend genutzt, um den durchschnittlichen Hautton und eine Standardabweichung zu berechnen. Pro Sitzung muss die Trainingsphase nur einmal durchgeführt werden. Abb. 3.11: Haut-Segmentierung durch Anwendung des Algorithmus von Steinicke/Bruder et al.: (a) Aufgezeichnetes Videobild mit Händen des Nutzers und weißen Trainingsregionen, (b) Schwarz-Weiß-Bild zur Wahrscheinlichkeitsvisualisierung von Hautpixel-Kandidaten, (c) Segmentiertes Video der Hände vor schwarzem Hintergrund, (d) Überlagerung der virtuellen Umgebung mit dem segmentierten Video durch Alpha-Blending (vgl. [Bruder et al. 2009] und [Steinicke et al. 2009]). In der darauf folgenden Klassifikationsphase werden einige Vorverarbeitungsschritte erledigt, unter anderem die Anwendung eines leichten Gaußfilters zur Weichzeichnung des aktuellen Bilds. Danach wird für jedes Pixel die Wahrscheinlichkeit abgeschätzt, mit der es Teil der gewünschten Hautregion ist. Für die Ermittlung der Wahrscheinlichkeit spielen die Differenzen der minimalen und maximalen H-Werte der umliegenden 21x21 Nachbarschaftspixel eine Rolle. Pixel, die einen bestimmten Wahrscheinlichkeitsgrenzwert überschreiten, gelten als Hautpixel-Kandidaten. Diese können in einem Graustufenbild festgehalten werden (siehe Abbildung 3.11 (b)). Die Pixel mit den höchsten Wahrscheinlichkeiten erscheinen hier weiß. In dieser Repräsentation enthält die Darstellung kleinere Löcher“ in den Hautregionen und falsch klassifizierte Pixel außerhalb der ” 42 Verwandte Arbeiten Hautregionen. Daher wenden Bruder et al. einen Erweiterung der Medianfilter-Technik auf das Graustufenbild an. Es wird die Anzahl der Hautpixel-Kandidaten in einer 7x7 Nachbarschaft um das aktuelle Pixel gezählt. Das aktuelle Pixel bleibt anschließend nur dann ein Kandidat, wenn mindestens dreizehn der umliegenden Pixel Hautpixel-Kandidaten sind. Die Prozedur wird mit erhöhten Grenzen von 17, 21 und 25 wiederholt. Analog wird das Verfahren für Pixel durchgeführt, die keine Hautpixel-Kandidaten sind und daher den Hintergrund darstellen. Das finale Bild kann nun als Maske zur Segmentierung des Videos in Vordergrund und Hintergrund dienen. Der Vordergrund wird anschließend der virtuellen Szene mittels Alpha-Blending überlagert (siehe Abbildung 3.11 (d)). Für ausführlichere mathematische Beschreibung der Operationen sei auf [Bruder et al. 2009] verwiesen. Die beschriebene Möglichkeit der Segmentierung funktioniert nur für Gliedmaßen von Nutzern beziehungsweise Regionen, die Hauttöne aufweisen. Um den kompletten eigenen Körper in der virtuellen Umgebung anzuzeigen, ist ein Chroma-Keying-Verfahren notwendig. Der Hintergrund des aufgezeichneten Videos muss demnach einer bestimmten Farbe entsprechen, die nicht im Vordergrund (also im Körper und der Kleidung des Nutzers) vorkommen sollte. Anschließend kann diese Farbe vernachlässigt und nur Pixel anderer Farben angezeigt werden. Der Körper des Nutzers kann daher beispielsweise segmentiert werden, wenn der umgebende Raum vorher grün ausgekleidet wurde. Steinicke/Bruder et al. nutzen den einfarbigen Boden ihres Labors als Hintergrund. Das Verfahren ist in diesem Fall also nur für einen Blick des Nutzers zu seinen eigenen Füßen geeignet. Wenn der Nutzer nach oben sieht, soll stattdessen eine Haut-Segmentierung stattfinden (vgl. [Bruder et al. 2009]). Laut Steinicke/Bruder et al. erfordert das Chroma-Keying-Verfahren nur eine Vergleichsoperation und kann daher in Echtzeit in einem Shader umgesetzt werden. Ob auch das oben beschriebene, mathematisch wesentlich kompliziertere und damit rechenintensivere Verfahren der Haut-Segmentierung in einem Shader umgesetzt werden konnte, geht aus der Arbeit von Steinicke/Bruder et al. nicht eindeutig hervor (vgl. [Steinicke et al. 2009]). Der implementierte Segmentierungsalgorithmus von Steinicke/Bruder et al. erreicht laut Angaben der Autoren durchschnittlich 14 Bilder pro Sekunde (vgl. [Bruder et al. 2009]). Es scheint daher gewagt, den Algorithmus als echtzeitfähig zu bezeichnen. Das verwendete HeadMounted-Display bietet eine Bildwiederholungsrate von 60 Hz. Eine Unterschreitung dieses Werts empfiehlt sich nicht, da dies zum einen ein stockendes Nutzererlebnis zur Folge hätte und zum anderen Simulator Sickness begünstigten würde. Das System von Steinicke/Bruder et al. könnte aufgrund der beschränkten Webcam-Aufzeichnungsrate von 30 Hz allerdings ohnehin keine 60 Hz für das Head-Mounted-Display zur Verfügung stellen. In einem von den Autoren durchgeführten Experiment wurde nur eine USB-Kamera benutzt, um die Performance zu verbessern. Hier geben Steinicke/Bruder et al. Frameraten von 10-30 Hz an (vgl. [Bruder et al. 2009]). Tiefeninformationen der Pixel werden von dem vorgestellten System nicht ausgewertet. Daher ist der Fall, in dem sich virtuelle Objekte vor Körperpartien des Nutzers befinden, nicht abgedeckt. Die Repräsentation des eigenen Körpers beziehungsweise der Hände überdeckt in jedem Fall die 3.3 Der reale Körper im virtuellen Raum 43 virtuelle Szene. Es wäre wünschenswert, wenn die Hände des Nutzers hinter bestimmte virtuelle Objekte greifen könnten, die sich in unmittelbarer Nähe des Nutzers befinden. Zusätzlich würde die Implementierung von Tiefeninformationen die dreidimensionale Interaktion mit der virtuellen Umgebung ermöglichen. Tiefeninformationen könnten beispielsweise aus der stereoskopischen Sicht der verwendeten Kameras extrahiert werden. Alternativ existieren allerdings auch spezielle Tiefenkameras (vgl. [Bruder et al. 2009]). Beleuchtungseffekte, wie Schatten oder Reflexionen des Körpers in der virtuellen Umgebung werden nicht beachtet. Damit die Video-Darstellung der Hände hinsichtlich der Helligkeit in etwa der virtuellen Szene entspricht, passen Steinicke/Bruder et al. die Helligkeit der segmentierten Videopixel an. Dafür wird der Hellwert V aller Pixel der virtuellen Szene gemittelt und mit dem durchschnittlichen Hellwert der Videopixel verglichen. Die Anpassung der Videopixel erfolgt anschließend so, dass der durchschnittliche Hellwert der Videopixel dem durchschnittlichen Hellwert der virtuellen Szene gleichkommt (vgl. [Bruder et al. 2009]). Steinicke/Bruder et al. führten weiterhin ein Experiment durch, in dem geprüft werden sollte, ob das subjektive Präsenzempfinden der Nutzer durch die Repräsentation des eigenen Körpers als egozentrische Video-Überlagerung in der virtuellen Umgebung, gesteigert werden kann (vgl. [Bruder et al. 2009]). Die Selbsteinschätzung der Präsenzwahrnehmung führten die Probanden anhand des Slater-Usoh-Steed Fragebogens durch (vgl. [Usoh et al. 2000]). Es konnten sieben männliche Testpersonen im Alter von 25-31 Jahren für den Versuch gewonnen werden. Aufgabe der Probanden war es, durch das virtuelle Labor zu laufen und nacheinander zehn blinkende Controller zu drücken. Das Experiment wurde dabei einmal mit und einmal ohne die Darstellung des eigenen Körpers durchgeführt. Im Ergebnis konnten Steinicke/Bruder et al. aufzeigen, dass der Slater-Usoh-Steed-Punktewert im Durchlauf mit Darstellung des Körpers um 19% höher ausfiel. Offenbar war die Steigerung trotz der geringen Stichprobenmenge von nur sieben Personen statistisch signifikant. Es ist also davon auszugehen, dass die Darstellung des eigenen Körpers in der virtuellen Umgebung das Präsenzempfinden der Nutzer steigern kann. Allerdings sind die erreichten Punktwerte des Slater-Usoh-Steed-Fragebogens insgesamt recht niedrig und weisen daher auf ein allgemein geringes Präsenzgefühl hin. Dies lag wohl unter anderem an der geringen Bildwiederholungsrate des Systems. Weiterhin fühlten sich die Probanden sicherer, wenn sie ihre Hände sahen und hatten weniger Angst, mit einer Wand zu kollidieren. Offenbar vertrauten einige Testpersonen dem Trackingsystem nur bedingt. Busch et al. erweitern das vorgestellte Konzept auf die Segmentierung von beliebigen realen Objekten (vgl. [Busch et al. 2009]). Neben den Händen beziehungsweise dem Körper des Nutzers soll es nun auch möglich sein, eine Repräsentation von physisch vorhandenen Objekten in die virtuelle Umgebung zu transferieren. Als Beispiel nennen die Autoren einen realen Zollstock, mit dem virtuelle Räume vermessen werden können. Die verwendete Hardware entspricht exakt der Konfiguration in [Bruder et al. 2009]. Der Segmentierungsalgorithmus wurde weiter oben bereits vorgestellt. Die Erweiterung umfasst die Wahl von Farbton-Grenzen abseits der Hauttöne. Die Nutzer können so bestimmte Farbbereiche markieren und zur Segmentierung aktivieren. Anschließend werden der virtuellen Szene nur Pixel überlagert, die sich in diesen Farbbereichen 44 Verwandte Arbeiten befinden. Da das System keine Konturen der Objekte erkennt, sondern nur global alle Pixel auf den richtigen Farbwert überprüft, muss die Umgebung der Realität so aufgebaut sein, dass sich die gewählten Farbbereiche der virtuellen Objekte nicht im Hintergrund oder in anderen Objekten befinden. 3.3.2 Sicht-basierte Repräsentation der Hände und intuitive Manipulation virtueller Objekte in Mixed Reality Umgebungen Eine weitere Arbeit zum Thema wurde von Bach et al. veröffentlicht. Die Autoren führen eine Methode ein, die eine Repräsentation der eigenen Hände des Nutzers in virtuellen Umgebungen ermöglicht (vgl. [Bach et al. 2012]). Im Gegensatz zu Bruder et al. wird eine Interaktion mit virtuellen Objekten angestrebt (vgl. [Bruder et al. 2009]). Das genutzte System besteht aus einem Head-Mounted-Display, auf dem zwei Kameras installiert wurden, die das egozentrische Sichtfeld des Nutzers aufzeichnen. Wie in der Arbeit von Steinicke, Bruder, Rothaus und Hinrichs wird ein 3DVisor Z800“ mit einer Auflösung von 800x600 Pixeln, einer Bild” wiederholungsrate von 60 Hz und einem horizontalen Sichtfeld von 32 Grad verwendet. Die USB-Kameras sind vom Typ uEye“ und besitzen eine Auflösung von 1280x1024 Pixeln, die ” für das 3DVisor Z800“herunter skaliert werden muss. Ziel ist es, die Hände aus dem Video zu ” extrahieren und in der virtuellen Umgebung anzuzeigen. Dies geschieht mithilfe eines farbbasierten Segmentierungs-Ansatzes. Durch Chroma-Keying und einen speziellen blauen Hintergrund konnten Bach et al. eine detaillierte Repräsentation der Hände erhalten, die nahezu keine Artefakte aufweist. Mittels Silhouetten- und Fingerspitzenerkennung der Hände und Finger des Nutzers stehen Positionen zur Verfügung, die zur Durchführung der Interaktion genutzt werden können. Die Autoren präsentierten in diesem Zusammenhang ein Beispiel, in welchem ein virtueller Ball in einer zweidimensionalen Umgebung mit den Fingerspitzen gegriffen werden konnte. Das System besteht aus einer selbst angepasste Hardware-Lösung und nutzt C++ sowie OpenGL und OpenCV. Die Hand-Interaktion wird von Bach et al. als natürlich und intuitiv“ bezeichnet, da die Sicht ” auf die Hände in Egoperspektive den alltäglichen Gewohnheiten entspricht [Bach et al. 2012, S. 1]. Darüber hinaus hat sich die Egoperspektive bereits in vielen Virtual-Reality-Anwendungen etabliert - zum Beispiel in Spielen und der wissenschaftlichen Datenvisualisierung. Vorteile ergeben sich in vielerlei Hinsicht: es werden keine Hilfsmittel wie Datenhandschuhe oder teure Hardware wie Infrarot- oder 3D-Kameras benötigt. Außerdem könnte die Technik zur Controller-losen Steuerung von Robotern oder Home-Entertainment-Geräten eingesetzt werden. In der Medizintechnik sorgen berührungsfreie Interaktionsmöglichkeiten für bessere Hygienebedingungen. Für die Autoren war die hoch qualitative Extraktion und die damit verbundene möglichst realistische Repräsentation der Hände besonders wichtig (vgl. [Bach et al. 2012]). Daher sollte die Anzahl der falsch klassifizierten Pixel bei der Segmentierung so niedrig wie möglich ausfallen. Artefakte wie Löcher“ in der Haut oder Hintergrundregionen, die falsch segmentiert wurden, ” 3.3 Der reale Körper im virtuellen Raum 45 sollen auch deswegen vermieden werden, weil das Schwarz-Weiß-Bild der Ergebnismaske des Segmentierungsvorgangs für weitere Verarbeitungsschritte eingesetzt wird. Die für die Interaktion benötigten Informationen können leichter und präziser aus einem korrekten Ausgangsbild ermittelt werden. Bach et al. verwenden zur Segmentierung ebenfalls den HSV -Farbraum, der an der menschlichen Farbwahrnehmung orientiert ist und die Analyse des Farbtons, unabhängig von der Sättigung und Helligkeit des Pixels, erlaubt. Die Segmentierung von beliebigen Hintergründen wurde für den Prototypen nicht umgesetzt, da dieser laut Bach et al. nicht außerhalb des Labors eingesetzt werden sollte. Durch die Wahl eines einfarbigen Hintergrunds wird die Extraktion der Hände robuster und einfacher, da nur der entsprechende Farbton gefiltert werden muss. Die Autoren entschieden sich bei der Wahl des Hintergrund-Materials für dunkelblauen matten Stoff. So konnten Reflexionen minimiert und die Varianz des Farbtons gering gehalten werden. Um eine einheitliche Lichtsituation ohne harte Schatten zu schaffen, empfehlen Bach et al. mehrere diffuse, neutrale Kunstlichtquellen. Zur Berechnung der Segmentierungsgrenzen wird vor Benutzung des Systems ausschließlich der blaue Hintergrund aufgenommen und analysiert. Die Helligkeit des Videobild, beziehungsweise die Belichtungszeit der Kameras wird so lange angepasst, bis eine gewünschte durchschnittliche Farbvarianzuntergrenze innerhalb des Bilds erreicht wurde (vgl. [Bach et al. 2012]). Sehr helle Bereiche der Hände erscheinen im aufgezeichneten Video unter Umständen vollständig weiß. Besonders Reflexionen in den Fingernägeln stellen hier Problembereiche dar. Bach et al. schlagen daher die Nutzung einer zusätzlichen Highlight“-Maske vor, die nur Pixel enthält, deren ” Hellwert eine vorher bestimmte Stufe überschreitet. Anschließend wird diese Maske mit den bisherigen Segmentierungs-Masken per logischem OR“-Operator kombiniert (vgl. [Bach et al. 2012]). ” Abb. 3.12: Verwendung der Hand zur Interaktionsmöglichkeit mit virtuellen Objekten. Extraktion von Fingerspitzenpositionen und konvexer Hülle der Hand (links). Interaktion mit einem virtuellen Ball (rechts). Das Verfahren funktioniert ausschließlich in einer zweidimensionalen Ebene (vgl. [Bach et al. 2012]). In einem weiteren Schritt erfolgt die Nachbearbeitung der Maske, indem die Konturen des Schwarz-Weiß-Bilds extrahiert werden. Weitere benötigte Merkmale zur Durchführung der Interaktion sind etwa die konvexe Hülle der Hände und die Position der Fingerspitzen. Es wird angenommen, dass die Konturen der Hände im Bild die größten zusammenhängenden Bereiche darstellen. Andere Konturen werden vernachlässigt und aus der Maske gelöscht. Bach et al. 46 Verwandte Arbeiten betrachten hier nur den Fall, dass eine Hand aufgenommen wird. Somit entspricht die Hand immer genau der größten Kontur. Würden zwei Hände im Videobild erscheinen, wäre nicht eindeutig klar, ob eine oder zwei Konturen extrahiert werden müssten, da die Hände bei einer Überlagerung sozusagen visuell verbunden sind. Als Demonstration für eine Interaktion präsentieren Bach et al. einen virtuellen Prototypen, in dem ein Ball über eine zweidimensionale Oberfläche bewegt werden kann (siehe Abbildung 3.12). Bei einer Kollision mit der Hand-Kontur erfolgt eine physik-basierte Animation des Balls in die entsprechende Richtung. 3.3.3 Robuste Video-Avatare des eigenen Körpers unter flexiblen Umgebungsbedingungen Fiore & Interrante präsentieren eine weitere Arbeit, die sich mit der Darstellung von realen Körpern in virtuellen Umgebungen mithilfe einer segmentierten Videoüberlagerung beschäftigt (vgl. [Fiore und Interrante 2012]). Zur Anzeige der virtuellen Umgebung wird ebenfalls ein HeadMounted-Display verwendet. Ein entscheidender Nachteil ist laut den Autoren die komplette Blockierung des Nutzerblicks auf die reale Umwelt. Somit wird auch der Blick auf den eigenen Körper verhindert und damit laut Fiore & Interrante jegliches Gefühl einer Verkörperung in der virtuellen Welt. Der Nutzer beobachtet die virtuelle Szene nur und erlebt sie nicht. Weiterhin kann die Orientierung bei der Navigation in der Virtualität verloren gehen. Daher schlagen die Autoren die Repräsentation des realen Körpers in der virtuellen Umgebung vor. Fiore & Interrante vermuten darüber hinaus eine Erhöhung der Arbeitsgeschwindigkeit des Nutzers, je realistischer die Darstellung des Körpers ist (vgl. [Fiore und Interrante 2012]). Sie beziehen sich dabei auf die Arbeit von Ries et al., welche einen Effekt der Darstellungsqualität von Avataren auf die Arbeitsgeschwindigkeit der Probanden aufgezeigt haben (vgl. [Ries et al. 2009]). Fiore & Interrante greifen den von Bruder et al. vorgestellten Segmentierungs-Ansatz auf (vgl. [Bruder et al. 2009]). Das Ziel war es, die Methode robuster zu gestalten, sodass Unterschiede zwischen Vordergrund und Hintergrund deutlicher zu Tage treten. Die Autoren streben ein System an, dass in jedem Raum unabhängig von Farbe, Form und Grundriss funktioniert. Hierzu wurden verschiedene Möglichkeiten in Betracht gezogen. Die Erkennung des Vordergrunds anhand von Bewegungen stellte für das gewünschte Ziel keine geeignete Option dar. In Szenarios, die einen statischen Hintergrund aufweisen, liefert dieser Ansatz gute Ergebnisse. Bei der Betrachtung der Umgebung mit einem Head-Mounted-Display bewegen sich allerdings sowohl Vordergrund als auch Hintergrund in recht zufälliger Weise. Fiore & Interrante nutzen daher die Analyse von Farbwerten zur Bestimmung der zu segmentierenden Bildanteile. Zusätzlich wird der Tiefensensor der Microsoft Kinect verwendet, um das Ergebnis weiter zu verbessern (vgl. [Fiore und Interrante 2012]). Erste Bestrebungen der Autoren basierten allerdings auf einem anderen Ansatz. Das genutzte Labor lag in einer virtuellen, modellierten Variante vor. Die Idee war es nun, die Live-Videoaufnahme des Labors mit dem 3D-Modell zu vergleichen und Änderungen von Bereichen zu erkennen. Der 3.3 Der reale Körper im virtuellen Raum 47 Vordergrund des Videos - also etwa die Hände des Nutzers - taucht im 3D-Modell des Labors nicht auf. Daher dürften diese Bereiche die größten Abweichungen bei einem Vergleich aufweisen. Die Differenz ergab sich als absoluter Wert nach der Subtraktion des gerenderten Bilds vom aufgezeichneten Videobild. Hierfür wurden die Bilder in Graustufen umgewandelt und ein Histogrammausgleich durchgeführt, um die Helligkeitswerte zu normalisieren und aneinander anzupassen. Das Differenzergebnisbild wurde mittels eines Median-Filters geglättet. Die anschließende Segmentierung erfolgte durch die Festlegung eines Grenzwerts. Pixel unterhalb einer gewissen Helligkeitsstufe im Differenzbild wurden verworfen. Mit diesem Verfahren konnte eine grobe Segmentierung in Hintergrund und Vordergrund erreicht werden. Dennoch konnte das Ergebnis nicht als zufriedenstellend bezeichnet werden. Probleme traten vor allem auf, wenn die Beleuchtung des 3D-Modells sich zu sehr von der Beleuchtung des realen Labors unterschied. Ebenso sollte die Geometrie der Räume exakt aufeinander abgestimmt sein. Weitere Schwierigkeiten traten durch zeitliche Verschiebungen des Trackings auf. Das virtuelle und das reale Labor konnten nicht korrekt synchronisiert werden, da die Kamera mit einer Bildwiederholungsrate von 20-30 Hz die Bilder bei schnellen Bewegungen des Kopfes zu spät lieferte, sodass die Ansicht des 3D-Modells sich schon weiterbewegte. Aufgrund der genannten Probleme wurde die Methode nicht weiter verfolgt (vgl. [Fiore und Interrante 2012]). Stattdessen sollte die Segmentierung im zweiten Ansatz mittels Analyse der Farbwerte der Pixel erfolgen. Hierfür wurde das System im ersten Schritt auf die Hände und Füße des Nutzers (Vordergrund) und den umgebenden Raum (Hintergrund) kalibriert. Zu diesem Zweck erfolgt die Aufnahme eines kurzes Videos aus Sicht des Nutzers. Anschließend können über eine grafische Nutzeroberfläche Bereiche mit der Maus markiert werden, die Vorder- beziehungsweise Hintergrundpixel enthalten. Auf dieser Grundlage ist es möglich, Histogramme von Vorderund Hintergrund zu ermitteln. Die Histogramme wurden normalisiert und zur Schätzung von Wahrscheinlichkeitsverteilungen benutzt. Pixel mit einer Wahrscheinlichkeit über einer vorher definierten Grenze gehören zum Vordergrund. Fiore & Interrante fanden heraus, dass sich Histogramme mit Farbton- und Sättigungswerten am besten für diese Aufgabe eignen. Um auch für verschiedene Blickrichtungen des Nutzers ein ansprechendes Ergebnis zu erhalten, schlagen die Autoren die Erstellung mehrerer Hintergrund-Histogramme vor. Das aktuelle LaufzeitHistogramm für die Segmentierung wird anschließend in Abhängigkeit von der Blickrichtung des Nutzers aus den gespeicherten Einzel-Histogrammen interpoliert. Für dieses Vorgehen wird ein Video vom gesamten Raum benötigt. Der Kalibrierungsschritt ist entsprechend aufwändiger (vgl. [Fiore und Interrante 2012]). Da nach wie vor Fälle auftreten, bei denen das Segmentierungsergebnis nicht optimal ausfällt, schlagen die Autoren die Nutzung einer oder mehrerer Microsoft Kinects vor. So soll die 3DPosition des Nutzers im Raum festgestellt und in den Segmentierungsprozess eingebunden werden. Die Microsoft Kinect liefert Tiefeninformationen und eine Art Skelett des Nutzers. Fiore & Interrante installierten eine Microsoft Kinect die im Raum positioniert wurde und darüber Aufschluss geben sollte, in welchen Bereichen überhaupt eine Segmentierung stattfinden soll. Um die Daten der Microsoft Kinect in Koordinaten der virtuellen Umgebung zu transformieren, 48 Verwandte Arbeiten wurden zwölf spezielle Tracking-Kameras im Raum angebracht, die sowohl die Position des Nutzers als auch des Tiefensensors der Microsoft Kinect ermittelten. Nach einer relativ aufwändigen Kalibrierung und Umrechnung der Koordinatensysteme der Geräte, konnten so aus Sicht des Nutzers Vordergrundobjekte ermittelt werden. Fiore & Interrante entwickelten somit ein weiteres Verfahren zur Segmentierung, welches auch mit der oben erwähnten Farbanalyse der Umgebung kombiniert werden kann. So wird auch eine Lösung von Problemfällen möglich, bei denen zu viele Farben - etwa in der Kleidung des Nutzers - eine exakte Farbsegmentierung verhindern (vgl. [Fiore und Interrante 2012]). Abb. 3.13: Segmentierungsergebnisse der Methode von Fiore & Interrante. Aufgezeichnetes Videobild (links). Segmentierungsergebnis mit Tiefen- und Skelettinformationen der Microsoft Kinect (mittig). Kombination von Microsoft Kinect Segmentierung und Farbanalyse zu einem Gesamtergebnis (rechts). Die Extraktion des Vordergrunds funktioniert nicht zufriedenstellend (vgl. [Fiore und Interrante 2012]). Das System hat den Nachteil, sehr anfällig für Fehler in der Kalibrierung zu sein. Selbst geringe Abweichungen können die Qualität des Ergebnisses stark beeinflussen. Die präsentierten Beispiele von Fiore & Interrante fallen daher insgesamt nicht überzeugend aus. Die FarbSegmentierung funktioniert in einigen Fällen gut, während bestimmte Objekte im Raum, die eine Ähnlichkeit zu den Hauttönen aufweisen, nicht korrekt segmentiert werden. Das Ziel, ein System zu schaffen, das in beliebigen Räumen funktioniert, konnte daher nur teilweise erreicht werden. Die Kombination mit einer Extraktion der Tiefeninformationen der Microsoft Kinect scheint vielversprechend. In der Praxis sind die Ergebnisse jedoch sehr ungenau und nicht befriedigend (siehe Abbildung 3.13). Eine Möglichkeit für die Verbesserung dieser Methode wäre die Nutzung mehrerer Microsoft Kinect Geräte, um genauere Daten der Nutzerposition zu erhalten. Eine weitere sinnvolle Option stellt die Verwendung von Tiefeninformationen dar, die direkt aus der Sicht des Nutzers gewonnen wurden. So könnte etwa ein leichter Tiefensensor direkt auf dem Head-Mounted-Display angebracht oder aus der stereoskopischen Aufnahme der USB-Kameras die Tiefe der Pixel berechnet werden (vgl. [Fiore und Interrante 2012]). 3.3 Der reale Körper im virtuellen Raum 49 Als Head-Mounted-Display wurde ein SX60“ von NVIS genutzt. Die Auflösung des Geräts ” beträgt 1280x1024 Pixel und der diagonale Blickwinkel liegt bei 60 Grad. Die genutzten USBWebcams verfügen über eine Auflösung von 1920x1080 Pixeln, sowie eine Bildwiederholungsrate von 24 Hz. Zur Anbringung der Kameras an der Front des Head-Mounted-Displays nutzten Fiore & Interrante Klettverschlüsse. Die Videobilder der Kameras wurden mittels der OpenCV Bibliothek aufgenommen und anschließend in der Größe angepasst und in OpenGL auf ein Quad-Objekt gerendert. Die korrekte Größe des Videobilds wurde ermittelt, indem das Labor der Autoren mit einem virtuellen Nachbau verglichen wurde, bis die Überlagerung zusammenpasste. Probleme erwähnen Fiore & Interrante im Zusammenhang mit der Verwendung der Webcams. Als sich Benutzer schnell drehten, suchten die Kameras eine passende Fokuseinstellung zur Scharfstellung der Szene. Dieser Vorgang dauerte zu lang und sorgte für ein unscharfes Bild, bis die Kameras den Fokuspunkt gefunden hatten. Die Autoren empfehlen daher schnellere Kameras, warnen aber gleichzeitig vor einer Erhöhung des Gesamtgewichts des Systems. Da die Nutzer das Gerät auf dem Kopf tragen, muss das Gewicht möglichst gering gehalten werden, um eine angenehme Nutzung zu gewährleisten. Die Anbringung der Kameras mit Klettverschlüssen überzeugte Fiore & Interrante nicht, da die Kameras sich bei längerer Benutzung zu bewegen schienen (vgl. [Fiore und Interrante 2012]). 3.3.4 Egozentrische Echtzeit-Überlagerung des eigenen Körpers auf real existierende, ferngesteuerte Avatare in virtuellen Umgebungen Durch Teleoperationen können Nutzer Maschinen, Roboter oder Avatare aus der Distanz steuern. Mittlerweile existieren Systeme, die den Nutzer dazu befähigen, einen entfernten humanoiden Roboter zu kontrollieren, als ob es ihr eigener Körper wäre. Saraiji et al. stellen in ihrer Arbeit eine Möglichkeit vor, die virtuelle Darstellung des Avatarkörpers mit einer Repräsentation des eigenen Körpers zu überlagern (vgl. [Saraiji et al. 2013]). Bisher waren die Avatardarstellungen unabhängig von visuellen Nutzerfaktoren, wie individuellen Körperformen, Hauttönen oder der getragenen Kleidung. Die Aufzeichnung eines Echtzeitvideos durch eine Kamera innerhalb des genutzten Head-Mounted-Displays ermöglicht es, aus der egozentrischen Sicht des Nutzers seine Körperform, sein Hautbild und entsprechende Lichtverhältnisse zu extrahieren (siehe Abbildung 3.14 (a)). Es soll neben der bewegungsspezifischen auch eine visuelle Übereinstimmung zwischen Nutzer und Avatar geschaffen werden. Laut den Autoren erhöht dies den Eindruck des Nutzers, sich wirklich am Ort der Teleoperation zu befinden und nicht nur einen Roboter zu steuern (vgl. [Saraiji et al. 2013]). Im Gegensatz zu den oben präsentierten Arbeiten nutzen Saraiji et al. zur Generierung der benötigten Maske ein virtuelles 3D-Modell (siehe Abbildung 3.14 (b)). Dieses Modell wird an den jeweiligen Nutzer angepasst, um die Benutzung mit unterschiedlichen Körpergrößen zu ermöglichen. Zur Segmentierung des realen Videobilds wird in diesem Fall also ein entsprechendes Bild der virtuelle Szene verwendet. Zusätzlich muss eine Kalibrierung stattfinden, damit das aufgezeichnete Videobild an den richtigen Stellen maskiert werden kann. 50 Verwandte Arbeiten Abb. 3.14: Körper-Segmentierungsmethode von Saraiji et al.: (a) Aufgezeichnetes Videobild mit Händen des Nutzers. (b) Die anhand des 3D-Modells erstellte Maske. (c) HelligkeitsKorrektur-Ebene durch Berechnung der Beleuchtung auf dem virtuellen Modell. (d) Kombination aller Ebenen zu einem Gesamtergebnis (vgl. [Saraiji et al. 2013]). Wie in Abbildung 3.14 (d) zu sehen ist, scheint die Kalibrierung nicht in allen Fällen fehlerfrei zu funktionieren. Die Maske stimmt nur teilweise mit der realen Position der Arme und Hände im Videobild überein. Eine grundsätzliche Voraussetzung zur Verwendung dieses Verfahrens ist die Aufzeichnung der Bewegungen des Nutzers. Diese müssen in Echtzeit getrackt und mit dem virtuellen 3D-Modell des Körpers synchronisiert werden. Hier nutzen Saraiji et al. zahlreiche reflektierende Marker, die am Head-Mounted-Display, an den Schultern und an den Armen der Probanden angebracht wurden. Vierzehn im Raum verteilte Kameras dienen zum Tracken der Marker. Zusätzlich wurden Datenhandschuhe eingesetzt, um die Fingerbewegungen des Nutzers zu erkennen. Die Autoren implementierten weiterhin eine Methode zur Korrektur und Anpassung von Helligkeiten, um Unterschiede zwischen der virtuellen Umgebung und dem überlagerten Videobild zu reduzieren. Dies konnte relativ einfach bewerkstelligt werden, da das virtuelle Modell des Körpers in der virtuellen Szene bereits korrekt beleuchtet wird. Die Schattierungs-Werte wurden demnach anhand der Oberflächennormalen des virtuellen 3D-Models berechnet, indem die Lichtquellen der virtuellen Umgebung beachtet wurden (siehe Abbildung 3.14 (c)). Die Bildverarbeitung des Systems wurde komplett auf der Grafikkarte ausgeführt. Hinsichtlich der Performance gab es laut den Autoren keine Probleme: Die Echtzeitfähigkeit konnte unter Beweis gestellt werden. Mit der vorgestellten Methode werden Frameraten von über 60 Frames pro Sekunde erreicht. Somit ist die Bildwiederholungsrate des verwendeten HeadMounted-Display ausgereizt. Das Tracking der Nutzerbewegungen scheint dagegen - zumindest bei schnellen Positionswechseln der Gliedmaßen - eine spürbare Verzögerung aufzuweisen (vgl. [Saraiji et al. 2013]). 4 Analyse Nachdem bereits auf verwandte Arbeiten zum Thema: Der reale Körper im virtuellen Raum“ ” eingegangen wurde, sollen in diesem Kapitel die Rechercheergebnisse zusammengetragen und zur Anwendung gebracht werden. Zunächst wird die Ausgangssituation geschildert. Es folgt eine Analyse der verwandten Arbeiten. Anschließend werden Anforderungen an die Entwicklung des Augmented Virtuality Prototypen definiert. 4.1 Ausgangssituation Ein wesentlicher Ansatzpunkt, der zur Entstehung dieser Arbeit beigetragen hat, war die Beschäftigung mit der Oculus Rift (© Oculus VR), die an der Professur für Mediengestaltung zur Verfügung stand. Nach der Betrachtung diverser Demonstratoren wurden erste Konzepte und Ideen entwickelt, wie das Prinzip Virtual Reality weiterentwickelt werden könnte. Dabei hat sich die Virtual-Reality-Brille als verlässliches Werkzeug erwiesen, welches den Grundstein für die vorliegende Arbeit bildet und als Schnittstelle zwischen Realität und Virtualität fungiert. Die Oculus Rift wird mittels einer Halterung am Kopf des Benutzers befestigt und gehört daher zur Gruppe der Head-Mounted-Displays. Grundsätzlich handelt es sich um eine stereoskopische Video-Brille, die zusätzlich Sensoren besitzt, welche den Rotationswinkel des Kopfes registrieren. Das Tracking der Blickrichtung ermöglicht die Ausrichtung einer virtuellen Kamera in Relation zur realen Kopfbewegung des Benutzers - etwa innerhalb einer 3D-Szene. Für die vorliegende Arbeit stand das Development Kit der Oculus Rift zur Verfügung. Abb. 4.1: Virtual Reality Brille Oculus Rift(links). Demo-Projekt Eden River - An Oculus Rift Rela” xation Experience“(rechts) © Unello Design. Der Screenshot verdeutlicht das stereoskopische Rendering, das für die Darstellung der Szene in der Oculus Rift benötigt wird. Die Bilder werden verzerrt dargestellt, um die optischen Abbildungsfehler der Nahlinsen zu korrigieren. Diese Version besitzt ein 7-Zoll-Display und wiegt etwa 379g (vgl. [Hollister 2013]). Die Auflösung des Bildschirms beträgt 1280x800 Pixel. Allerdings erfordert die stereoskopische Sicht der Oculus Rift ein separates Bild für jedes Auge. Somit sinkt die theoretisch verfügbare Auflösung 52 Analyse auf 640x800 Pixel pro Auge (vgl. [Kickstarter 2014]). Die tatsächlich sichtbare Fläche scheint allerdings deutlich kleiner zu sein, wie Selbstversuche zeigten. Ein Grund für diesen Malus ist vermutlich der notwendige Einsatz von Nahlinsen, die dem Benutzer eine Fokussierung des Displays auf sehr kurze Distanz ermöglichen aber dafür das Sichtfeld einschränken. Im Development Kit sind neben der Standard-Linse weitere Varianten für weit- und kurzsichtige Menschen enthalten. Ein zusätzlicher Nachteil der unmittelbar über dem Bildschirm befestigten Optiken ist ihre starke kissenförmige Verzeichnung. Diese muss durch ein geeignetes Rendering mit tonnenförmiger Verzeichnung des anzuzeigenden Materials kompensiert werden (siehe Abbildung 4.1). Die Virtual-Reality-Brille wurde 2012 im Rahmen eines Crowdfunding-Projekts entwickelt und bietet im Vergleich zu ähnlichen Modellen ein enormes diagonales Sichtfeld von 110 Grad. Im Verbraucherbereich waren zu dieser Zeit diagonale Sichtfelder von 30-40 Grad üblich (vgl. [BBC-News 2012]). Dies soll laut Palmer Luckey - dem Gründer der Firma Oculus VR dafür sorgen, dass sich der Benutzer so fühlt, als wäre er tatsächlich mitten in der Welt: That means you’re not looking at a screen any more - you actually feel like you are ” inside of the world.“ Palmer Luckey (vgl. [BBC-News 2012]). Zur weiteren Verstärkung der immersiven Wirkung bietet das Head-Tracking der Oculus Rift sechs Freiheitsgrade und ist auf eine sehr niedrige Latenz optimiert. Der Sensorchip besitzt eine Abtastrate von 1000Hz und wertet dabei die Daten von Gyroskop, Magnetometer und Beschleunigungssensor aus (vgl. [PCWelt 2013]). Die hohe Abtastrate hat zusammen mit dem 60Hz-Display der Oculus Rift noch einen weiteren Vorteil. Die immersive Betrachtung von Virtual Reality Szenen mittels Head-Mounted-Displays kann zu unerwünschten Begleiterscheinungen wie Kopfschmerzen oder Übelkeit führen. Dieses Phänomen wird auch Cybersickness oder Simulator Sickness genannt (vgl. [Seppänen 2013]). Laut Peek et al. sind hohe Latenzen beim HeadTracking und niedrige Bildschirmwiederholraten Ursachen für Simulator Sickness und die damit verbundenen Probleme (vgl. [Peek et al. 2013]). Die Oculus Rift ist per Kabel mit einer Control-Box“ verbunden. In dieser zentralen Einheit ” werden die Daten der Sensoren gesammelt und per USB-Verbindung an den Computer gesendet. Außerdem lassen sich Kontrast und Helligkeit des Bildschirms direkt per Tasten einstellen. Die Box ist per HDMI-Kabel mit dem Rechner verbunden. Die Oculus Rift wird vom Betriebssystem als reguläres Display erkannt. Die Anzeige von Inhalten ist ohne vorherige Aufbereitung jedoch nicht sinnvoll, da jedes Auge ein separates Einzelbild benötigt, um den Eindruck eines einheitlichen Bilds zu erhalten. Da die Oculus Rift nur einen Bildschirm für beide Augen zur Verfügung stellt, muss diese Aufgabe softwareseitig gelöst werden. Oculus VR bietet hierfür ein Software Development Kit (SDK) an, das Entwicklern bei der Integration der Oculus Rift in eigene Projekte unterstützen soll. Damit ist die Integration des Head-Mounted-Displays in gebräuchliche Entwicklungsumgebungen recht einfach zu bewerkstelligen. Darüber hinaus liefert Oculus VR mit der Toscana-Demo eine komplette virtuelle Umgebung, die bereits an die Gegebenheiten der Oculus Rift angepasst ist und von Entwicklern als Grundlage für eigene Projekte oder für Lernzwecke verwendet werden kann. 4.2 Analyse der verwandten Arbeiten 53 Das System, auf dem der Prototyp entwickelt werden soll, besteht aus einem Rechner mit Intel Core i7-2600K -Prozessor und AMD Radeon HD 6900 -Grafikkarte, sowie acht Gigabyte Arbeitsspeicher. Als Betriebssystem ist Microsoft Windows 7 Professional 64 bit installiert. Zur Implementierung steht Microsoft Visual Studio 2013 Ultimate zur Verfügung. 4.2 Analyse der verwandten Arbeiten Im Folgenden werden die Arbeiten von Steinicke et al. (vgl. [Steinicke et al. 2009]), Bruder et al. (vgl. [Bruder et al. 2009]), Bach et al. (vgl. [Bach et al. 2012]), sowie Fiore & Interrante (vgl. [Fiore und Interrante 2012]) und Saraiji et al. (vgl. [Saraiji et al. 2013]) analysiert und verglichen. Bei der Arbeit von Steinicke et al. und Bruder et al. handelt es sich um die Beschreibung des selben Systems, welches von den Autoren in unterschiedlichen Publikationen vorgestellt wurde. Eine ausführliche Inhaltsangabe der Publikationen kann in Kapitel 3.3 nachgelesen werden. 4.2.1 Analyse der Grundkonzepte Die Grundkonzepte der Ansätze ähneln sich sehr stark. Das Prinzip kann daher auf vier wesentliche Schritte zusammengefasst werden: 1. Aufnahme der egozentrischen Sicht des Nutzers mittels ein oder zwei Kameras, 2. Segmentierung des Videostreams in zwei Bildbereiche: (a) den Nutzerkörper beziehungsweise die Nutzerhände und (b) den Hintergrund mit nicht relevanten Informationen, 3. Extraktion des Nutzerkörpers/der Nutzerhände und Filterung des Hintergrunds und 4. Repräsentation des Nutzerkörpers/der Nutzerhände in der virtuellen Umgebung durch Überlagerung der virtuellen Szene mit dem segmentierten und gefilterten Videostream. Es wird bei allen Ansätzen ausschließlich die visuelle Wahrnehmung des Nutzers angesprochen. Andere Sinne, wie die auditive oder haptische Wahrnehmung, werden von den Autoren nicht betrachtet. Unterschiede zwischen den erwähnten Arbeiten können hinsichtlich der Faktoren: Hardware, Segmentierung, Performance und Interaktion gefunden werden. Die Faktoren werden im Folgenden einzeln betrachtet. 4.2.2 Analyse der Hardware Zwei Hardwarekomponenten werden von allen Verfahren der verwandten Arbeiten aus Kapitel 3.3 genutzt: Ein Head-Mounted-Display und Kameras zur Aufzeichnung der benötigten Videostreams aus der egozentrischen Sicht des Nutzers. Im folgenden Abschnitt werden die verwendeten Komponenten analysiert und verglichen. Bei den Publikationen von Fiore & Interrante 54 Analyse sowie Saraiji et al. ist das Tracking ein integraler Bestandteil des Segmentierungsverfahrens. Erstere verwenden die Microsoft Kinect sowie zwölf Vicon MX“-Trackingkameras (vgl. ” [Fiore und Interrante 2012]). Das System von Saraiji et al. ist mit vierzehn Natural Point ” OptiTrack V100:R2“-Kameras und den Datenhandschuhen 5DT Data Glove 5 Ultra“ ausge” stattet (vgl. [Saraiji et al. 2013]). Head-Mounted-Display In [Steinicke et al. 2009] beziehungsweise [Bruder et al. 2009] sowie in [Bach et al. 2012] wird ein 3DVisor Z800“ Head-Mounted-Display mit einer Auflösung von 800x600 Pixeln, einer Bildwie” derholungsrate von 60 Hz und einem diagonalen Sichtfeld von 40 Grad beziehungsweise einem horizontalen Sichtfeld von 32 Grad verwendet. Die Oculus Rift bietet ein Display mit einer Auflösung von 1280x800 Pixeln und einem diagonalen Sichtfeld von 110 Grad und einem horizontalem Sichtfeld von 90 Grad. Die Bildwiederholungsrate beträgt ebenfalls 60 Hz. Das von Saraiji et al. konstruierte Head-Mounted-Display besitzt zwar die gleiche Auflösung und Bildwiederholungsrate, kann allerdings nur ein diagonales Sichtfeld von 73 Grad aufweisen (vgl. [Saraiji et al. 2013]). Fiore & Interrante nutzen für ihre Umsetzung ein NVIS SX60“ Head-Mounted-Display ” mit einer geringfügig höheren Auflösung von 1280x1024 Pixeln, einem diagonalen Sichtfeld von 60 Grad und einer Bildwiederholungsrate von 60 Hz (vgl. [Fiore und Interrante 2012]). Tabelle 4.1: Vergleich der Head-Mounted-Displays der verwandten Arbeiten aus Kapitel 3.3 Head-Mounted- Auflösung Bildwieder- diagonales horizontales Display (Pixel) holungsrate Sichtfeld Sichtfeld Steinicke/Bruder et al. 3DVisor Z800 800x600 60 Hz 40◦ 32◦ Bach et al. 3DVisor Z800 800x600 60 Hz 40◦ 32◦ NVIS SX60 1280x1024 60 Hz 60◦ - Eigenbau 1280x800 60 Hz 73◦ 61◦ Oculus Rift 1280x800 60 Hz 110◦ 90◦ Publikation von Fiore & Interrante Saraiji et al. Vorliegende Arbeit Hinsichtlich der Bildwiederholungsrate sind keine Unterschiede bei den verwendeten Geräten auszumachen. Bezüglich der Auflösung der Displays liegen hingegen das NVIS SX60 HMD“ und ” die Oculus Rift vorn. Die Werte liegen jedoch nicht allzu weit auseinander, zumal beachtet werden muss, dass die Qualität der visuellen Ausgabe, sowie der tatsächlich sichtbare Teil des Displays auch von den verwendeten Nahlinsen der Geräte abhängt. Ohne die Head-Mounted-Displays getestet zu haben, ist es daher nicht möglich, eine verlässliche Aussage über die Anzeigequalität zu tätigen. Die größte Differenz beim Vergleich der Systeme kann im Hinblick auf das diagonale Sichtfeld festgestellt werden. Hier bietet die Oculus Rift ein circa 50% größeres Sichtfeld als das verwendete Head-Mounted-Display von Saraiji et al.. Die anderen Geräte liegen noch deutlicher unter dem Wert von 110 Grad der Oculus Rift. 55 4.2 Analyse der verwandten Arbeiten Kamera Steinicke et al. beziehungsweise Bruder et al. nutzen für ihre Umsetzung nicht näher bezeichnete USB-Kameras mit 30 Bildern pro Sekunde Aufzeichnungsrate und einer Auflösung von 800x600 Pixeln (vgl. [Steinicke et al. 2009] und [Bruder et al. 2009]). Fiore & Interrante wählen für ihren Ansatz USB-Kameras vom Typ Logitech C615“, die nur 24 Bil” der pro Sekunde liefern, dafür allerdings eine Auflösung von 1920x1080 Pixeln besitzen (vgl. [Fiore und Interrante 2012]). Bach et al. verwenden eine IDS uEye“-Kamera mit einer Auf” lösung von 1280x1024 Pixeln und einer Bildaufzeichnungsrate von 34-36 Hz, machen aber keine Angaben zum konkreten Modell (vgl. [Bach et al. 2012]). Saraiji et al. nutzen für ihr System die FireWire-Kamera FFMV-03M2M“ von © Point Grey Research, Inc., die 60 Bilder pro Se” kunde liefert, im Gegensatz zu den anderen Modellen allerdings nur eine Auflösung von 640x480 Pixeln aufweist (vgl. [Saraiji et al. 2013]). Die technischen Daten sind in Tabelle 4.2 zusammengefasst. Tabelle 4.2: Vergleich der Kameras der verwandten Arbeiten aus Kapitel 3.3 Kameramodell Publikation von Auflösung (Anzahl) Steinicke/Bruder et al. Bach et al. Bildaufzeich- Anschluss Sichtfeld (Pixel) nungsrate Unbekannt (2/1) USB 800x600 30 Hz IDS uEye (2) - 1280x1024 34 Hz ◦ Fiore & Interrante Logitech C615 (2) USB 1920x1080 24 Hz 74 (diag.) Saraiji et al. FFMV-03M2M (2) FireWire 640x480 60 Hz 62◦ (horiz.) Angaben über die Größe der Sichtfelder der Kameras finden sich nur bei Fiore & Interrante und Saraiji et al.. Den Arbeiten von Steinicke/Bruder et al. und Bach et al. können hierzu dagegen keine konkreten Werte entnommen werden. Es fällt auf, dass die Sichtfelder der Kameras passend zu den Sichtfeldern der Head-Mounted-Displays gewählt wurden. Bruder et al. geben zu bedenken, dass das Sichtfeld einer Kamera häufig größer ist als das Sichtfeld eines Head-Mounted-Displays und daher entsprechend beschnitten werden muss, um die gewünschte Übereinstimmung zu erhalten (vgl. [Bruder et al. 2009]). Alle Ansätze beschreiben eine Umsetzung mit zwei Kameras. Mit diesem Vorgehen soll die stereoskopische Sicht in der virtuellen Umgebung bewerkstelligt werden. Steinicke/Bruder et al. verwenden in einem praxisorientierten Experiment dagegen nur das Bild einer Kamera, um das System zu beschleunigen. Der Körper wird mit dieser Methode als monoskopische Darstellung der virtuellen Umgebung überlagert. 4.2.3 Analyse des Segmentierungsverfahrens Nachfolgend werden die Segmentierungsansätze der verwandten Arbeiten aus Kapitel 3.3 analysiert, verglichen sowie Vor- und Nachteile ermittelt. Eine Übersicht über alle Ansätze ist in 56 Analyse Tabelle 4.3 dargestellt. Die Segmentierung ist ein entscheidender Schritt für die Umsetzung des Prototypen, die vor allem auf die visuelle Qualität des überlagerten Videostreams deutliche Auswirkungen hat. Da die Bewertung der visuellen Qualität nur anhand der gegebenen Bilder aus den verwandten Arbeiten erfolgen kann, ist ein gewisser Unsicherheitsfaktor gegeben, da nicht eindeutig einschätzbar ist, ob die Ansätze auch in der Praxis die entsprechende Qualität liefern. Weiterhin werden verschiedene Aspekte ausgeklammert, die erst bei der Betrachtung des Videostreams auffallen würden und anhand der statischen Bildern nicht beurteilt werden können - zum Beispiel Artefakte durch schnelle Bewegungen des Nutzers. Ansätze 1 & 2: Steinicke/Bruder et al. Steinicke/Bruder et al. schlagen eine Methode vor, mit der sich die Hände und Arme des Nutzers freistellen lassen und somit der virtuellen Umgebung überlagert werden können (vgl. [Steinicke et al. 2009] sowie [Bruder et al. 2009]). Die Autoren verwenden zur Segmentierung des Videostreams, in Hautbereiche des Nutzers und den Hintergrund, ein Verfahren, das die Farbwerte einzelner Pixel analysiert (siehe Tabelle 4.3, Ansatz 1). Hierzu erfolgt die Umwandlung der aufgezeichneten Bilder in den HSV -Farbraum. In einer Trainingsphase werden zur Kalibrierung des Systems Hautpartien des Nutzers aufgzeichnet, die sich in bestimmten Trainingsregionen befinden. In der darauf folgenden Klassifikationsphase werden für jedes Pixel Wahrscheinlichkeiten abgeschätzt, die angeben, ob das Pixel eher ein Kandidat für den Hautbereich oder für den Hintergrundbereich ist. Mithilfe von Nachbarschaftspixel-Analysen und der Anwendung der Medianfilter-Technik kann schließlich die finale Segmentierung erfolgen. Ausführlichere Beschreibungen des verwendeten Algorithmus finden sich in Kapitel 3.3.1 und in [Steinicke et al. 2009] sowie [Bruder et al. 2009]. Wie genau die Implementierung des Verfahrens erfolgte, geht aus der Arbeit von Steinicke/Bruder et al. nicht eindeutig hervor. Da Objekte, die farblich Hauttönen ähnlich sind, also einen rötlichen beziehungsweise gelblichen Farbton aufweisen, unter Umständen bei der Segmentierung fälschlicherweise den Hautbereichen des Nutzers zugeordnet werden, sollte darauf geachtet werden, keine derartigen Objekte im Hintergrund zu platzieren. Die visuelle Qualität der Segmentierung erscheint gut“. Die Kanten der Freistellung erscheinen ” sehr sauber und Artefakte sind nicht zu erkennen (siehe Abbildung 4.2 (1)). Diese Art der Segmentierung teilt das Bild lediglich in Bereiche mit Hauttönen und in Bereiche ohne Hauttöne auf und kann daher nur verwendet werden, wenn ausschließlich die Hände und Arme des Nutzers im Blickfeld erscheinen. Um den kompletten Körper vom Hintergrund zu segmentieren, verwenden Steinicke/Bruder et al. ein Chroma-Keying-Verfahren, welches Bildbereiche anhand einer bestimmten Farbe erkennt und zusammenfasst. In der Arbeit der Autoren wird der einfarbige Laborboden als Hintergrund genutzt und von der endgültigen Auswahl ausgeschlossen (siehe Tabelle 4.3, Ansatz 2). Das System wird daher von vornherein auf die Farbe des Labor-Bodens eingestellt. Eine Kalibrierung vor der Benutzung des Systems ist offenbar nicht vorgesehen. Der praktische Sichtraum bleibt auf den Boden beschränkt, sodass die Beine und Füße freigestellt werden können. Diese Variante benötigt offenbar nur eine Vergleichsoperation Saraiji et al. Interrante Fiore & Bach et al. / Bruder et al. mangelhaft mangelhaft sehr gut Nutzer-Körper 3D-Modell kompletter Körper & MS Kinect Chroma-Keying kompletter Körper Chroma-Keying Chroma-Keying Hände, Arme Beine, Füße keine rötlichen/gelblichen Einschränkungen Tracking Tracking Farbe & (Stoff) - HSV frei wählbar frei wählbar matter Stoff beschränkt Tracking auf Labor beschränkt Tracking auf Labor Stoff ausgekleidet sein Sichtraum muss mit blauem blauer, Farbe HSV beschränkt (Boden) Labor-Boden frei wählbar Hintergrund Sichtraum auf Labor-Boden - HSV HSV Farbraum Farbe Farbe Schlüssel Steinicke et al. Chroma-Keying Verfahren Objekte im Hintergrund Hände, Arme Körperpartien (Haut) gut Qualität / Bruder et al. Steinicke et al. Publikation von 3D-Modell Anpassung phase Trainings- Kamera Helligkeit der fest phase Trainings- Kalibrierung Abb. 4.2: Vergleich der visuellen Qualität der Segmentierungsansätze der verwandten Arbeiten aus Kapitel 3.3. Darstellung der Ausgangsbilder (oben) und Segmentierungsergebnisse (unten). 1 [Bruder et al. 2009]; 3 [Bach et al. 2012]; 4a & 4b [Fiore und Interrante 2012]; 5 [Saraiji et al. 2013]. 5 4a & 4b 3 2 1 Ansatz Tabelle 4.3: Vergleich der Segmentierungsansätze der verwandten Arbeiten aus Kapitel 3.3 4.2 Analyse der verwandten Arbeiten 57 58 Analyse und konnte somit von Steinicke/Bruder et al. in einem performanten Shader umgesetzt werden (vgl. [Steinicke et al. 2009]). Zur visuellen Qualität des Ansatzes lässt sich keine Aussage treffen, weil entsprechendes Analysematerial fehlt. Da die Methode somit nur funktioniert, wenn der Benutzer den Blick nach unten gerichtet hat, schlagen Steinicke/Bruder et al. eine Variante vor, bei der abhängig von Blickhöhe zwischen den Methoden Haut-Segmentierung“ ” und Boden-Segmentierung“ umgeschaltet wird. Ob dieses aufwendigere und rechenintensivere ” Verfahren ebenfalls in einem Shader umgesetzt wurde, wird von den Autoren nicht erwähnt (vgl. [Steinicke et al. 2009] sowie [Bruder et al. 2009]). Ansatz 3: Bach et al. In der Arbeit von Bach et al. wird der Videostream in Bereiche der Hände des Nutzers und den Hintergrund segmentiert, indem das farbbasierte Verfahren des Chroma-Keying zum Einsatz kommt (siehe Tabelle 4.3, Ansatz 3). Zur Analyse der Farbwerte der Pixel wird der HSV Farbraum eingesetzt. Als Hintergrund wählen die Autoren einen dunkelblauen, matten Stoff, auf den das System von vornherein kalibriert wird. Dies kann als Einschränkung angesehen werden, da der Sichtraum des Nutzers auf den mit blauem Stoff ausgekleidetem Bereich des Raums reduziert wird. Für eine Rundumsicht müsste der komplette Raum die entsprechende blaue Farbe aufweisen. Der Ansatz von Bach et al. ist vorwiegend für die Freistellung der Hände konzipiert worden, sollte aber auch auf die Bereiche der Arme des Nutzers problemlos anwendbar sein. Es ist eine Lichtsituation mit mehreren diffusen Lichtquellen vorgesehen, die für konstante Umgebungsbedingungen sorgt. Bei der Kalibrierung werden die Helligkeitswerte des aufgezeichneten Bilds beziehungsweise die Belichtungseinstellungen der Kamera so lange angepasst bis die Farbvarianz im Bild unter eine definierte Schwelle gefallen ist. Die Analyse erfolgt anhand eines berechneten Histogramms des entsprechenden Bilds. Anschließend kann die Ermittlung des durchschnittlichen Farbtons und der Standardabweichung erfolgen. Anhand dieser Informationen kann ein Farbbereich für den blauen Hintergrund im Histogramm festgelegt werden, dem Bach et al. zusätzliche Sicherheitsdistanzen“ zuweisen, um Überschneidungen ” mit dem Vordergrund zu vermeiden [Bach et al. 2012, S.3]. Die Segmentierungsgrenzen für die Vordergrundobjekte - also die Hände des Nutzers - ergeben sich als Invertierung des Farbbereichs des Hintergrunds. Eine zusätzliche Highlights-Maske erkennt sehr helle Reflexionen, die etwa in Fingernägeln des Nutzers auftreten können (vgl. [Bach et al. 2012]). Die visuelle Qualität der Segmentierung ist als sehr gut“ einzuschätzen. Vorder- und Hintergrund erscheinen sauber ” getrennt und es sind keine Artefakte in der Maske zu erkennen (siehe Abbildung 4.2 (3)). Ansatz 4a & 4b: Fiore & Interrante Der Ansatz von Fiore & Interrante kombiniert eine Farb-Analyse des Ausgangsbilds mit Tracking-Ergebnissen der Microsoft Kinect und erhält so das Segmentierungs-Resultat des Videostreams (siehe Tabelle 4.3, Ansätze 4a & 4b). Die Autoren präsentieren eine Variante, die 4.2 Analyse der verwandten Arbeiten 59 das Tiefenbild der Microsoft Kinect nutzt (siehe Abbildung 4.2 (4a)) und eine Variante, die die aus dem Tiefenbild ermittelten Skelettinformationen der Microsoft Kinect verwendet (siehe Abbildung 4.2 (4b)). Die Farb-Analyse erfolgt wie bei den anderen Ansätzen im HSV -Farbraum. Als Schlüssel des Chroma-Keying dienen die Hauttöne und die Farbwerte des Hintergrunds. Fiore & Interrante greifen hier laut eigener Aussage das in der Arbeit von Bruder et al. beschriebene Segmentierungs-Verfahren auf. Das Ziel der Autoren war die Verbesserung des Ansatzes von Bruder et al., sodass die Segmentierung robuster funktioniert und in beliebigen Räumen angewendet werden kann. Die Kalibrierung des Systems erfolgt in einer Trainingsphase, in der ein Video vom kompletten Raum aufgenommen wird. Aus dem Trainingsvideo werden, je nach Blickrichtung, verschiedene Histogramme generiert, die zur Segmentierung herangezogen werden können. Zu diesem Zweck können in einer grafischen Oberfläche mit der Maus Bereiche markiert werden, die dem Vordergrund entsprechen und ebenso Bereiche, die den Hintergrund darstellen. Die Segmentierungsgrenzen werden anschließend, abhängig von der Blickrichtung des Nutzers, aus umliegenden, gespeicherten Histogrammen interpoliert und extrahiert. Die Ergebnisse dieser Segmentierungsvariante sind bei der Wahl eines passenden Hintergrunds bezüglich der visuellen Qualität mit den guten“ Ergebnissen von Bruder et al. zu vergleichen. Das ” definierte Ziel, beliebige Hintergründe für das System zuzulassen, konnten Fiore & Interrante mit dieser Methode allerdings nicht erreichen. Daher wurde zusätzlich ein Tracking des Nutzers durchgeführt. Da die Microsoft Kinect zu schwer ist, um sie in geeigneter Weise auf dem Head-Mounted-Display zu befestigen, positionierten Fiore & Interrante das Gerät im Raum und trackten die Bewegungen des Nutzers zusätzlich mit zwölf Spezialkameras. Anhand der ermittelten Nutzerposition und mit Hilfe umfangreicher Kalibrierungsschritte und zahlreicher Umrechnungsoperationen der jeweiligen Koordinatensysteme der Geräte ist es möglich, die Tiefeninformationen der Microsoft Kinect aus Sicht des Nutzers zu erhalten. Das System ist durch diese Umsetzung allerdings sehr anfällig für Fehler, besonders in der Kalibrierungsphase. Das definierte Ziel von Fiore & Interrante, eine robuste Segmentierung in beliebigen Räumen und unabhängig vom Hintergrund zu entwickeln, wurde somit auch mit dieser Variante nicht erreicht. Die insgesamte visuelle Qualität der Segmentierung nimmt durch die Kombination beider Verfahren sogar deutlich ab und kann nicht überzeugen. Es sind großflächige Artefakte zu erkennen und teilweise fehlen komplette Körperpartien. Die Qualität der Segmentierung wird daher als mangelhaft“ eingestuft. Dennoch hat der Ansatz Vorteile: Es wird der komplette ” Körper vom Hintergrund segmentiert und der Hintergrund ist frei wählbar. Eine Einschränkung ergibt sich allerdings dadurch, dass die Verwendung des Trackings nur im Labor möglich ist. Die Anwendbarkeit in der Praxis ist aufgrund der mangelhaften visuellen Qualität fragwürdig (vgl. [Fiore und Interrante 2012]). Ansatz 5: Saraiji et al. Saraiji et al. implementieren ebenfalls einen Ansatz, der die Segmentierung des kompletten Körpers unabhängig von der Beschaffenheit des Hintergrunds und des umliegenden Raums erlaubt (siehe Tabelle 4.3, Ansatz 5). Die Autoren stellten den Nutzerkörper in der virtuellen 60 Analyse Umgebung zuerst als Avatar dar, also als dreidimensionales, animiertes und virtuelles Modell. Die Idee von Saraiji et al. ist es, diesen Avatar mit einer realen Repräsentation des Nutzerkörpers zu überlagern, indem ein egozentrisches Video an genau den Bereichen überlagert wird, an denen bisher das 3D-Modell des Avatars existierte. Im Gegensatz zu den anderen vorgestellten Verfahren muss der Nutzer hierfür Datenhandschuhe zum Tracking der Finger-, Handund Armbewegungen tragen. Daher ist der freie Blick auf die Hände im Videostream nicht mehr gegeben. Der Nutzer sieht somit zwar eigene, der virtuellen Szene überlagerte, Körperteile - individuelle Merkmale, wie Hautfarbe oder die exakte Form der Hände können aber nicht dargestellt werden (siehe Abbildung 4.2 (5)). Die visuelle Qualität der Darstellung ist aus diesem Grund zumindest im Bereich der Hände mangelhaft“. Selbst synthetische Haut-Texturen dürften eine ” bessere Wahl darstellen. Darüber hinaus ist auch das Segmentierungsergebnis nicht exakt. Zwar sind die Masken-Kanten scharf und es existieren keine sichtbaren Artefakte, in einigen Beispielen wird allerdings nicht nur der Körper des Nutzers als Vordergrund definiert, sondern fälschlicherweise auch Bereiche des Hintergrunds. Die Maske ist sozusagen nicht deckungsgleich mit den angestrebten Segmentierungsbereichen. Die Ursache ist das von Saraiji et al. verwendete Verfahren zur Segmentierung des Videostreams. Im Gegensatz zu den bisher vorgestellten Ansätzen wird auf eine Farbanalyse des Videos verzichtet. Das Video ist völlig unabhängig von der Erzeugung der Maske und wird nur zur Überlagerung der virtuellen Szene genutzt. Um dennoch ein Segmentierungsergebnis zu erhalten, erstellen die Autoren für jeden Nutzer ein angepasstes 3D-Modell seines Körpers. Dieser Kalibrierungsschritt ist wichtig, um individuelle Größenmerkmale des Nutzers darstellen zu können. Gleichzeitig ist die Kalibrierung sehr fehleranfällig, da das 3D-Modell lediglich in bestimmten Bereichen skaliert wird und somit nicht zwangsweise den anatomischen Gegebenheiten des Nutzers entsprechen muss. Der reale Nutzerkörper wird zur Laufzeit des Systems getrackt und das 3D-Modell kann entsprechend den realen Bewegungen animiert werden. Hierfür sind vierzehn im Raum installierte Tracking-Kameras vorgesehen, die die Position verschiedener Marker aufnehmen, die wiederum am Head-Mounted-Display und am Körper des Nutzers befestigt sind. Die Segmentierung erfolgt durch Analyse des 3D-Modells aus der virtuellen Sicht des Nutzers. Die Bildverarbeitungsaufgaben werden laut Saraiji et al. komplett auf der Grafikkarte des verwendeten Rechners ausgeführt - vermutlich durch selbsterstellte Shader. Ein Vorteil dieser Methode ist die leichte Extraktion von Lichtinformationen der virtuellen Welt. Da der dreidimensionale Avatar bereits korrekt beleuchtet wird, ist es relativ einfach, die Helligkeitswerte des zu überlagernden Videostreams entsprechend anzupassen. Weiterhin kann der komplette Körper des Nutzers vom Hintergrund segmentiert werden. Probleme ergeben sich in diesem Zusammenhang mit der Tracking-Hardware, die als visueller Störfaktor wirken kann. Darüber hinaus ist das Trackingsystem auf das Labor kalibriert und das System damit nicht mobil (vgl. [Saraiji et al. 2013]). Weitere Ansätze Andere Ansätze zur Segmentierung des Videostreams in Nutzerkörper und Hintergrund waren wenig erfolgreich und werden daher nicht detailliert betrachtet. So geben Fiore & Inter- 4.2 Analyse der verwandten Arbeiten 61 rante beispielsweise an, die Unterteilung des Bilds in Vorder- und Hintergrund anhand von Bewegungserkennung in Betracht gezogen zu haben. Diese Variante wurde verworfen, da sowohl Vorder- als auch Hintergrund in Virtual Reality Anwendungen eine hohe Dynamik aufweisen. Ein anderer Versuch wurde unternommen, indem das 3D-Modell des verwendeten Labors mit den realen Videoaufnahmen dieses Labors verglichen wurde. Die Differenz beider Bilder sollte laut Fiore & Interrante der Nutzerkörper sein. Hier traten Probleme mit der Beleuchtung, dem Mapping von 3D-Modell und Videostream und Latenzen bei der Ausgabe auf (vgl. [Fiore und Interrante 2012]). 4.2.4 Analyse der Performance Steinicke/Bruder et al. geben für ihr System und den genutzten Segmentierungsalgorithmus eine resultierende Bildwiederholungsrate von 14 Hz an. In einem durchgeführten Experiment nutzten die Autoren zur Steigerung der Performance des Systems in der Praxis nur noch eine Kamera zur Aufzeichnung des Videostreams. Mit dieser Variante konnten 10-30 Hz erreicht werden. Der überlagerte Videostream ist jedoch ohnehin durch die Webcam-Bildaufzeichnungsrate von 30 Hz ein limitierender Faktor der Umsetzung. Die mögliche Anzeige-Bildrate von 60 Hz des genutzten Head-Mounted-Displays ist somit nicht erreichbar. Allein die Anzeige der virtuellen Umgebung kann theoretisch ausreichend viele Bilder pro Sekunde generieren. Detaillierte Informationen zur Performance des Systems, insbesondere hinsichtlich der Latenzen der Videoüberlagerung, konnten der Arbeit nicht entnommen werden (vgl. [Bruder et al. 2009]). In den Publikationen von Bach et al. und Fiore & Interrante sind ebenfalls keine Informationen hinsichtlich der Performance der verwendeten Systeme zu finden. Fiore & Interrante geben zumindest die Bild-Aufzeichnungsrate der genutzten Kameras an, die bei 24 Hz liegt und damit ebenfalls einen limitierender Faktor für das eingesetzte Head-Mounted-Displays darstellt, welches eine Anzeige-Bildrate von 60 Hz ermöglichen würde (vgl. [Fiore und Interrante 2012]). Die Umsetzung von Saraiji et al. weist hinsichtlich der Anzeige-Bildrate des Systems keine Probleme auf: Die verwendeten Kameras zeichnen die reale Sicht des Nutzers mit 60 Hz auf und auch die computergenerierte, virtuelle Umgebung erzeugt keine Performance-Probleme, sodass die Anzeige auf dem genutzten Head-Mounted-Display ebenfalls mit 60 Hz erfolgen kann. Das Gerät wird somit ausgereizt und die Ausgabe sollte flüssig und ohne wahrnehmbare Ruckler“ ” erfolgen. Die Tracking-Latenzen des Ansatzes von Saraiji et al. scheinen dagegen nicht optimal zu sein: Die Autoren geben an, dass eine für den Nutzer deutlich sichtbare Verzögerung auftritt. Offenbar sind schnelle Bewegungen visuell erst wahrnehmbar, wenn sie vom Nutzer bereits ausgeführt worden sind (vgl. [Saraiji et al. 2013]). 62 Analyse 4.3 Anforderungen Das übergeordnete Ziel dieser Arbeit ist die Erstellung eines Augmented Virtuality Prototypen, welcher die virtuelle Welt mit einer realen Repräsentation des Nutzer-Körpers überlagert. Die Umsetzung dieses Grundkonzepts erfolgte bereits in einigen wissenschaftlichen Publikationen, die in Kapitel 3.3 vorgestellt wurden. Im Folgenden werden die Analyse-Ergebnisse der Ansätze aus Kapitel 4.2 diskutiert und anhand der Erkenntnisse die Anforderungen an den Prototypen abgeleitet. So soll eine möglichst optimale Lösung für das definierte Problem, den realen Körper in die virtuelle Welt zu transferieren, gefunden werden. 4.3.1 Grundsätzliche Anforderungen an den Prototypen Als Erstes muss die Frage beantwortet werden, ob die virtuelle Umgebung von einer Repräsentation des kompletten Körpers des Nutzers oder nur von einzelnen Körperteilen überlagert werden soll. Die im Analyse-Kapitel vorgestellten Ansätze verwenden alle Videostreams der Arme und Hände des Nutzers. Steinicke/Bruder et al. stellen zusätzlich eine Möglichkeit vor, nur die Beine und Füße des Nutzers über der virtuellen Szene anzuzeigen (vgl. [Bruder et al. 2009]). In dem Verfahren von Fiore & Interrante sowie in dem Verfahren von Saraiji et al. wird der komplette Körper vom Hintergrund segmentiert (vgl. [Saraiji et al. 2013]). Als nachteilig an den letzten beiden Ansätzen hat sich die mangelhafte visuelle Qualität des überlagerten Videostreams erwiesen. Zwar ist der Raum und damit auch der Hintergrund bei diesen Ansätzen frei wählbar und es gibt keine Einschränkungen bezüglich Farben und Objekten, die im Vordergrund beziehungsweise Hintergrund auftauchen dürfen - dafür ist allerdings die Verwendung preisintensiver Tracking-Hardware notwendig. Zusätzlich erfordern die Verfahren aufwändige Kalibrierungsschritte und können ausschließlich in den dafür ausgestatteten Laboren eingesetzt werden. Der Prototyp der vorliegenden Arbeit soll dagegen für eine Anwendung auch außerhalb des Labors konzipiert werden. Es ist zudem nicht angedacht, dass Nutzer sich im kompletten Raum bewegen, daher erscheint der Aufbau eines Trackingsystems, wie in [Saraiji et al. 2013] nicht zweckmäßig. Vielmehr sollen die Anwender in einer sitzender Position die virtuelle Szene betrachten. Die Segmentierung des kompletten Körpers wäre daher ohnehin redundant, da der sitzende Nutzer in der Regel nur seine Hände und Arme sieht. Der Prototyp soll demnach eine konkrete Möglichkeit darstellen, das übergeordnete Ziel zu erreichen, die realen Hände des Nutzers der virtuellen Umgebung zu überlagern und so Realität und Virtualität zu verschmelzen. Implementierungsansätze wurden bereits in verwandten Arbeiten in Kapitel 3.3 aufgezeigt. Die Entwicklung des Prototypen soll sich an den vorgestellten Optionen orientieren aber gleichzeitig einen Mehrwert bieten. Dieser ergibt sich einerseits aus der Wahl optimalerer HardwareKomponenten, die in Kombination mit geeigneter Software eine Steigerung der Performance ermöglichen. Andererseits entsteht ein Mehrwert aus der Entwicklung und Kombination neuer Konzepte, die im Zusammenhang mit der bisherigen Aufgabe, eigene Körperpartien des Nutzers in der virtuellen Umgebung darzustellen, noch keine Rolle gespielt haben. Beispielsweise wurde 4.3 Anforderungen 63 in keiner der verwandten Arbeiten in Kapitel 3.3 die Möglichkeit diskutiert, die Repräsentation der Hände auf unnatürlich Weise zu verändern - also etwa halb-transparent darzustellen. Das vorwiegende Ziel war bisher die Erhaltung des hohen Realitätsgrads der realen Bilder der Hände. In der Analysephase wurde festgestellt, dass verwandte Augmented Virtuality Arbeiten zum Thema Der reale Körper im virtuellen Raum“ ausschließlich die visuelle Repräsentation des ” Nutzerkörpers implementieren. Diesem Vorgehen wird sich angeschlossen und als Anforderung die visuelle Integration der realen Hände in die virtuelle Welt definiert. Es wird darauf verzichtet, andere Sinne, wie auditive oder haptische Wahrnehmung, für die vorliegende Arbeit zu betrachten. Das visuelle Feedback des eigenen Körpers beziehungsweise der Hände des Nutzers scheint bereits eine überzeugende sensorische Rückmeldung darzustellen. Laut Craig et al. ist die visuelle Komponente das vorherrschende Mittel der Kommunikation für die meisten Menschen - das Display hat also den größten Einfluss auf das Design eines Virtual Reality Systems (vgl. [Craig et al. 2009, Kapitel 1.5.1.2]). Die Ansätze von Fiore & Interrante und Saraiji et al. tracken den Körper des Nutzers und schaffen somit die Voraussetzung für die Interaktion mit der virtuellen Umgebung (vgl. [Fiore und Interrante 2012] und [Saraiji et al. 2013]). In der Arbeit von Fiore & Interrante erfolgt das Tracking zwar ohne spezielle Kleidung oder Marker, die das visuelle Ergebnis der Körper-Videoüberlagerung stören könnten - die Ergebnisse scheinen jedoch sehr ungenau zu sein (vgl. [Fiore und Interrante 2012]). Auf dieser Grundlage eine geeignete Interaktion mit virtuellen Objekten zu entwickeln, ist vermutlich nicht sinnvoll. Vielversprechender wirkt in dieser Hinsicht das Verfahren von Saraiji et al., welches nicht nur grob den Körper, sondern auch die Fingerbewegungen des Nutzers mithilfe eines Datenhandschuhs trackt (vgl. [Saraiji et al. 2013]). Die Ergebnisse dürften exakt genug sein, um eine Interaktion mit virtuellen Objekten zu erlauben. Ein weiter Vorteil des Trackings ergibt sich durch die Lösung von Verdeckungsproblemen. Bei einer reinen Überlagerung der virtuellen Szene durch die Repräsentation des realen Körpers erscheint dieser immer im Vordergrund - auch wenn virtuelle Objekte sich theoretisch näher am Betrachter befinden, als bestimmte Körperteile. Beispielsweise kann der Nutzer hinter virtuelle Objekte greifen“, wenn dem System Informationen über die Position seiner Hände zur Verfügung stehen, ” die mit den Positionen der virtuellen Objekte verglichen werden können. Die Datenhandschuhe des Ansatzes von Saraiji et al. sind allerdings gleichzeitig ein Nachteil, weil sie die freie Sicht auf die natürliche Ansicht der Hände verhindern. Ein markerloses und berührungsloses Tracking wäre hier die optimalere Wahl. Die Interaktion mit der virtuellen Umgebung ist zweifelsohne ein erstrebenswertes Ziel. Derartige Ansätze scheinen allerdings bisher noch nicht ausgereift zu sein oder sind mit erheblichem technischen Aufwand oder einer enormen Hardwareausstattung verbunden. Dem grundlegenden Ziel der vorliegenden Arbeit, die realen Hände des Nutzers der virtuellen Umgebung zu überlagern, wirken vielversprechende Ansätze sogar teilweise entgegen, da Datenhandschuhe benötigt werden, die die freie Sicht auf die Hände verhindern. Für die Umsetzung des Prototypen der vorliegenden Arbeit liegt das Hauptaugenmerk daher auf der Integration der visuellen Repräsentation der Hände 64 Analyse in die virtuelle Welt. Eine Implementierung von sinnvollen Interaktionsmöglichkeiten würde den Rahmen der Betrachtung übersteigen, stellt allerdings einen interessanten Ansatzpunkt für weitere Arbeiten dar. Nichtsdestotrotz sollen im Ausblick Möglichkeiten und Anwendungsgebiete von Interaktionen mit der virtuellen Umgebung aufgezeigt werden. Zusammenfassend lassen sich die Anforderungen an das Grundkonzept des Prototypen wie folgt darstellen: 1. Aufnahme der egozentrischen Sicht des Nutzers mittels einer Kamera, 2. Segmentierung des Videostreams in zwei Bildbereiche: (a) die Nutzerhände und (b) den Hintergrund mit nicht relevanten Informationen, 3. Extraktion der Nutzerhände und Filterung/Entfernung des Hintergrunds und 4. Repräsentation der Nutzerhände in der virtuellen Umgebung durch Überlagerung der virtuellen Szene mit dem segmentierten und gefilterten Videostream. Die zu wählende Entwicklungsumgebung soll möglichst flexibel sein und eine leichte Anpassung und Einfügung neuer Szenen ermöglichen. Ebenso ist die native und problemlose Einbindung des Oculus Rift SDKs eine Anforderung, die festgelegt wird. 4.3.2 Anforderungen an die Hardware Im Folgenden werden die Anforderungen an die Hardware-Komponenten Head-Mounted-Display und Kamera definiert. Die Benutzung von Tracking-Hardware ist aus zwei Gründen nicht vorgesehen. Einerseits wurde festgelegt, dass auf die Umsetzung von Interaktionsmöglichkeiten verzichtet werden soll. Andererseits haben sich Segmentierungsansätze, die auf dem Tracking des Nutzers basieren, hinsichtlich der optischen Qualität als mangelhaft erwiesen. Head-Mounted-Display Da das zu verwendende Head-Mounted-Display für diese Arbeit mit der Oculus Rift bereits feststeht, müssen keine weiteren Anforderungen definiert werden. Dennoch soll der durchgeführte Vergleich im Kapitel Analyse“ die Tauglichkeit der Oculus Rift für die gestellte Aufga” be verdeutlichen. In allen verwandten Arbeiten zum Thema aus Kapitel 3.3 wurden ebenfalls Head-Mounted-Displays mit ähnlichen technischen Daten eingesetzt. Ein Diskussion über die Unterschiede der Geräte und die damit verbundenen Vor- und Nachteile für den zu erstellenden Prototypen erfolgt in Kapitel 5.1. 4.3 Anforderungen 65 Kamera In der Analyse wurde festgestellt, dass bei den verwandten Arbeiten aus Kapitel 3.3 zwei Kameras zur Aufzeichnung des Videostreams verwendet werden, um eine stereoskopische Darstellung zu ermöglichen. Bruder et al. weisen auf Performanceprobleme durch die Nutzung von zwei Kameras hin und beschreiben in ihrer Arbeit die Durchführung eines Experiments, in dem ihr Augmented Virtuality Ansatz nur eine Kamera verwendet. Offenbar war die monoskopische Darstellung der Videoüberlagerung kein Problem für die Betrachter, der Performancegewinn jedoch entscheidend. Es muss sich also in der Praxis zeigen, ob der Gebrauch von zwei Kameras mehr Vorteile bringt als der Performancegewinn durch die monoskopische Darstellung. Es wird demzufolge keine konkrete Anforderung an die Anzahl der Kameras definiert. Im Folgenden werden daher vorerst die Anforderungen an eine einzelne Kamera festgelegt. Für die Befestigung an der Oculus Rift muss die Kamera vorzugsweise leicht sein, damit das am Kopf zu tragende Gewicht sich nicht unangenehm auf den Tragekomfort auswirkt und weiterhin eine problemlose Befestigung und Benutzung der Virtual-Reality-Brille möglich ist. Darüber hinaus sollte die Kamera ein flaches Profil aufweisen, damit das ohnehin schon weit nach vorn ragende Gehäuse nicht noch unnötig verlängert wird. Neben der Einschränkung der Bewegungsfreiheit des Kopfes hätte ein hohes Profil außerdem den Nachteil, dass die Linse der Kamera weiter vom Auge des Benutzers entfernt ist. Das aufgezeichnete Video soll aber möglichst nah an dem liegen, was der Proband ohne die Virtual-Reality-Brille sehen würde. Die Gehäuseaußenseite der Oculus Rift ist circa sieben Zentimeter von den Augen des Benutzers entfernt. Hinzugerechnet werden muss die Tiefe der Videokamera, sodass sich der Abstand vom Objektiv zum Auge weiter erhöht. Wenn das Objektiv eine zu hohe Brennweite aufweist, wird der Bildausschnitt zu eng ausfallen, um das Display der Oculus Rift in geeigneter Weise auszufüllen. Entsprechend ist die Sichtfeldgröße der Oculus Rift von der Kamera deutlich zu übertreffen. Während der Analyse wurde festgestellt, dass verwandte Arbeiten teilweise Kameras verwenden, deren Sichtfeldgröße mit der Sichtfeldgröße des Head-Mounted-Displays übereinstimmen. Dies ist kritisch zu sehen, da die Kameras häufig an der Front des Head-Mounted-Displays befestigt werden, um die Augenposition des Betrachters möglichst exakt zu treffen. Je nach Gehäuseausmaßen des Head-Mounted-Displays befinden sich die Kameras so allerdings weiter vom Gesicht des Nutzers entfernt, als die natürlichen Augen. Um trotz des geringeren Abstands zur Szene dennoch einen möglichst gleichwertigen Bildausschnitt zu erhalten, kann nur die Brennweite des Objektivs der Kamera verringert werden. Daher wird als Anforderung für die Kamera weiterhin definiert, dass der aufgenommene Bereich einem Sichtfeld entspricht, das diagonal 110 Grad beziehungsweise horizontal 90 Grad deutlich übertrifft. Falls der Sichtbereich zu groß ausfällt, kann dieser problemlos beschnitten werden, wie von Bruder et al. beschrieben (vgl. [Bruder et al. 2009]). Das Objektiv der Kamera muss also eine möglichst geringe Brennweite aufweisen. Ein weiterer zu beachtender Punkt ist eine angemessen hohe Bildaufzeichnungsrate, um der Bildwiederholungsrate des Displays der Oculus Rift zu entsprechen und den Effekt der Simulator 66 Analyse Sickness nicht zu verstärken. Optimal wäre es, mindestens die Spezifikationen des Development Kits zu erreichen, also eine Aufzeichnungsrate von 60 Bilder pro Sekunde und eine Auflösung von 1280x800 Pixeln. Eine Unterschreitung dieser Werte hätte mehrere Nachteile: Zum einem ist eine niedrige Bildwiederholungsrate eine Ursache für die Auslösung von Simulator Sickness (vgl. [Peek et al. 2013]). Zusätzlich gaben Bruder et al. nach der Durchführung eines Experiments an, dass Probanden - vor allem durch die niedrige Framerate von 10-30 Hz - von einem geringen Präsenzempfinden berichteten (vgl. [Bruder et al. 2009]). Prinzipiell kommen demnach nur Kameras in Frage, die eine Bildaufzeichnungsrate von mindestens 60 Hz aufweisen. Da die Auflösung der Oculus Rift bei Betrachtung durch die Nahlinsen des Geräts deutlich einzelne Pixel erkennen lässt und die Anzeigequalität im Vergleich zu anderen Displays ohnehin eher schlecht abschneidet, erscheint es sinnvoll die Auflösung des Head-Mounted-Displays nicht zu unterschreiten. Hinsichtlich der Kamera werden deshalb folgende Mindest-Anforderungen festgelegt, die sich an den technischen Daten der Oculus Rift orientieren: 1. Auflösung: 1280x800 Pixel, 2. Bildaufzeichnungsrate: 60 Hz, 3. horizontales Sichtfeld: > 90 Grad und 4. diagonales Sichtfeld: > 110 Grad. Neben diesen Daten ist die wichtigste Voraussetzung für die Videokamera, dass das Video per Livestream an den Rechner gesendet werden kann. Dabei ist eine geringe Latenz bei der Übertragung äußerst wünschenswert, damit die Anzeige des Videos in der Oculus Rift verzögerungsfrei stattfinden kann. Als Anforderung für die Kamera wird demnach weiterhin die LivestreamingFähigkeit und ein geringer Input-Lag definiert. Fiore & Interrante erwähnen in ihrer Arbeit Fokusprobleme mit den verwendeten Webcams, was zu Folge hatte, dass Bildinhalte bei schneller Bewegung der Kameras unscharf dargestellt wurden. Ursache dafür war die zu langsame Arbeit des Autofokus der Geräte (vgl. [Fiore und Interrante 2012]). Aus diesem Grund soll als letzte Anforderung an die Kamera ein schneller Autofokus oder vorzugsweise ein Objektiv mit festem Fokus festgelegt werden. 4.3.3 Anforderungen an das Segmentierungsverfahren Die wichtigste Anforderung an das Segmentierungsverfahren ist die Erlangung möglichst fehlerfreier und robuster Ergebnisse, die als geeignete Grundlage für die Erstellung einer Maske dienen können. Die Beschaffenheit der Maske beeinflusst entscheidend die visuelle Qualität der letztendlichen Ausgabe des Videostreams. Hier sollen die guten bis sehr guten Resultate aus den Arbeiten von Steinicke/Bruder et al. und Bach et al. als Vorbild gelten (vgl. [Steinicke et al. 2009], [Bruder et al. 2009] und [Bach et al. 2012]). Da die visuelle Qualität der 4.3 Anforderungen 67 Segmentierung schwierig zu messen ist, kann als Anforderung nur definiert werden, dass die Kanten zwischen den aufgeteilten Bereichen des Bilds möglichst sauber und glatt und die Anzahl der Artefakte möglichst gering ausfallen sollen. Es sollte vermieden werden, dass Bereiche des Hintergrunds als Vordergrund klassifiziert werden und umgekehrt. Der Bereich der Nutzerhände soll als einheitliche Fläche segmentiert werden und somit keine Löcher“ aufweisen. Ebenso sol” len Objekte oder einzelne Pixel des Hintergrunds, die hautähnliche Farbtöne aufweisen, nicht fälschlicherweise dem Nutzerkörper zugeordnet werden. Ebenfalls einen bedeutender Faktor für den Prototypen stellt die Performance der Anwendung dar (siehe Kapitel 4.3.4). Daher soll das Segmentierungsverfahren so gewählt werden, dass es mit dem Ziel, ein echtzeitfähiges und performantes System zu implementieren, einhergeht. Als Anforderung wird demnach festgelegt, dass die Segmentierung ressourcenschonend und effizient umgesetzt werden soll, so dass ausreichend hohe Frameraten erzielt werden können. Eine weitere Anforderung ist der flexible Einsatz des Prototypen. Das System soll leicht abund wieder aufzubauen sein, so dass die Vorstellung nicht auf das Labor beschränkt bleibt. Die Demonstration soll vielmehr auch auf externen Kongressen oder Konferenzen mit moderatem Aufwand möglich sein. In diesem Zusammenhang ist die Unabhängigkeit des Segmentierungsverfahrens von speziellen Hintergründen wünschenswert. Damit das System auch in Räumen außerhalb des Labors funktioniert, muss entweder eine Lösung für einen mobilen Hintergrund gefunden werden oder das Verfahren muss frei wählbare Hintergründe erlauben. Geringfügige Einschränkungen, wie beim Ansatz von Steinicke/Bruder et al., sind dagegen akzeptabel: Für das Segmentierungsverfahren der Autoren muss darauf geachtet werden, Objekte, die hautähnliche Farbtöne aufweisen, aus dem Hintergrund zu entfernen oder zu verdecken (vgl. [Bruder et al. 2009]). Je nach Funktionsweise des Segmentierungsverfahrens muss ein geeignetes Kalibrierungsverfahren gefunden werden, um beispielsweise auf veränderte Lichtsituationen reagieren zu können. Ebenfalls eine Rolle spielen individuelle Eigenschaften, die Segmentierungsergebnisse verändern können: zum Beispiel die Hautfarbe des Nutzers bei farbbasierten Ansätzen. Die Umsetzung einer Art Trainingsphase, in der das System auf den entsprechenden Nutzer eingestellt wird, wie in den Arbeiten von Steinicke/Bruder et al. und Fiore & Interrante, wäre daher erstrebenswert (vgl. [Steinicke et al. 2009], [Bruder et al. 2009] und [Fiore und Interrante 2012]). Dabei sollten die Segmentierungsparameter entweder automatisch berechnet oder manuell eingestellt werden können. 4.3.4 Anforderungen an die Performance Die Performance des Systems ist ein wichtiger Faktor für Virtual Reality Anwendungen. Ein oder mehrere Sinne des Nutzers werden durch synthetische Stimuli ersetzt. Die physische Immersion ist aber nur gegeben, wenn die eingesetzte Technologie die Sinne des Nutzers überzeugend ersetzen“ kann. Physische Immersion kann laut Slater et al. zu mentaler Immersion führen ” 68 Analyse und damit den Präsenzeindruck des Nutzers steigern (vgl. [Slater et al. 1994]). Dies ist laut Sherman & Craig ein Schlüsselelement von Virtual Reality (vgl. [Sherman und Craig 2002, Kapitel 1]). Da der Mensch die Realität in Echtzeit“ erlebt und wahrnimmt, ist folgerichtig ” an eine Virtual Reality Anwendung ebenfalls die Anforderung der Echtzeitfähigkeit zu stellen. Dies gilt insbesondere für Mixed Reality Anwendungen, da hier Realität und Virtualität einander überlagert werden und so die Realität als Referenz fungiert. Entsprechende Latenzen der virtuellen Darstellung dürften daher deutlicher wahrnehmbar sein als in reinen virtuellen Welten. Die sensorische Rückmeldung des Systems an den Nutzer ist nach Sherman & Craig ebenfalls ein Schlüsselelement für Virtual Reality Anwendungen. Die Autoren geben weiterhin zu bedenken, dass jede Latenz im System seine Effektivität beziehungsweise Wirksamkeit reduziert. Ein effektives Virtual Reality Erlebnis benötigt laut Sherman & Craig Echtzeit-Interaktion (vgl. [Sherman und Craig 2002, Kapitel 1]). Die im Analyse-Kapitel betrachteten, verwandten Arbeiten sind hinsichtlich der Performance meist nicht zufriedenstellend. Die mögliche optimale Bildwiederholungsrate der verwendeten Head-Mounted-Displays von 60 Hz wird nur bei dem Ansatz von Saraiji et al. ausgereizt (vgl. [Saraiji et al. 2013]). An diesem Ergebnis soll sich bezüglich der Ausgabegeschwindigkeit orientiert werden. Niedrige Frameraten von 10-30 Hz können laut Nutzeraussagen in einem Experiment von Bruder et al. zu einem geringeren Präsenzempfinden führen (vgl. [Bruder et al. 2009]). Dies soll im Prototypen der vorliegenden Arbeit vermieden werden. Demnach wird eine Anzeige-Bildrate von 60 Hz angestrebt, was den technischen Spezifikationen der Oculus Rift entspricht. Ein weiterer Punkt, der im Rahmen der Performance des Systems bedacht werden muss, sind Latenzen der sensorischen Rückmeldung an den Nutzer. Diese erfolgt in den analysierten verwandten Arbeiten - und auch im zu entwickelnden Prototypen - visuell. Um ein verzögerungsfreies, visuelles Feedback zu erlangen, muss das aufgezeichnete Video der Nutzersicht innerhalb kurzmöglichster Zeitspanne in das System eingespeist, segmentiert, gefiltert und der virtuellen Umgebung überlagert werden. Es handelt sich um eine kritische Stelle, die aufgrund des Verarbeitungsaufwands zu hohen Latenzen führen könnte. In den verwandten Arbeiten aus Kapitel 3.3 wird diese Problematik nicht näher diskutiert. Saraiji et al. geben allerdings an, dass ihre Tracking-Umsetzung zu deutlich wahrnehmbaren Verzögerungen führt, die in zukünftigen Arbeiten vermieden werden sollten (vgl. [Saraiji et al. 2013]). Zusammenfassend lässt sich sagen, dass der Prototyp performant und echtzeitfähig entwickelt werden soll. Dazu gehören neben der Vermeidung von Latenzen jeglicher Art auch die flüssige Darstellung und Ausgabe der virtuellen Szene inklusive überlagertem Videostream, sodass die Sehgewohnheiten des Menschen, analog zu den Gegebenheiten der realen Welt, in überzeugender Weise befriedigt werden können. 4.3.5 Anforderungen an die Funktionalität des Prototypen Neben der reinen Anzeige der realen Hände des Nutzers in der virtuellen Umgebung sollen Möglichkeiten implementiert werden, die Repräsentation der Hände mit verschiedenen Effekten 4.3 Anforderungen 69 anzupassen. Als Anforderung für den Prototypen wird demnach die Integration von grafischen Darstellungen festgelegt, die die natürliche und realistische Repräsentation der Hände und Arme des Nutzers verändern. Weiterhin ist die Möglichkeit der Anpassung verschiedener Parameter innerhalb der virtuellen Szene wünschenswert. Neben dem Standort des Nutzers in der virtuellen Welt soll auch die Höhe der virtuellen Kamera in der Szene anpassbar sein, um individuellen Größenmerkmalen von Nutzern zu entsprechen. Auch eine Justierung der Größe der Videoüberlagerung soll als Anforderung definiert werden. Die Bedienung des Prototypen soll entweder per Tastatur oder Maus erfolgen. Eine Steuerung der visuellen Effekte und Skalierungsfaktoren mittels eines 3D-Menüs innerhalb der virtuellen Szene ist nicht vorgesehen. In der Regel sollen Anwender durch einen Testleiter bei der Benutzung des Systems unterstützt werden. Dennoch ist die selbstständige Bedienung durch den Nutzer nicht grundsätzlich ausgeschlossen, da dieser ebenfalls Tastaturbefehle verwenden könnte. 5 Synthese Im Synthese-Kapitel werden, auf Grundlage der Analyse-Ergebnisse und unter Beachtung der festgelegten Anforderungen, Entscheidungen für die Umsetzung des Prototypen getroffen. Dies umfasst die Festlegung der zu verwendenden Hardware- und Softwarekomponenten, den Aufbau des Gesamtsystems und die Vorstellung der Entwicklungsansätze des Prototypen. Näher eingegangen wird darüber hinaus auf die Wahl des Segmentierungsalgorithmus, die Möglichkeiten zur Integration des Videostreams, die Festlegung der Demonstrationsszene und die Zusammenstellung von Kalibrierungsparametern für das Systems. 5.1 Festlegung der Hardware und Software Die entscheidenden Hardwarekomponenten für den Augmented Virtuality Prototypen sind das Head-Mounted-Display und die daran zu befestigende Kamera. Im Folgenden werden die Spezifikationen und Vorteile der gewählten Hardware erläutert und die Entschlüsse, diese Geräte zu verwenden, begründet. Ebenfalls wichtig war die Festlegung der Entwicklungsumgebung, die einen großen Einfluss auf die Implementierung des Prototypen hat. 5.1.1 Head-Mounted-Display Mit der Oculus Rift ist bereits ein Faktor für die Umsetzung des Prototypen gegeben. Da alle in Kapitel 3.3 vorgestellten Arbeiten für die visuelle Darstellung der virtuellen Umgebung ein Head-Mounted-Display nutzen, scheint die Oculus Rift ein geeignetes Mittel für die Entwicklung des Prototypen darzustellen. Darüber hinaus können die bisher verwendeten Systeme hinsichtlich bestimmter Hardware-Faktoren übertroffen werden. Es ist zu beachten, dass im Folgenden nur die technischen Daten der Geräte verglichen werden können. Es ist zu vermuten, dass die größere Abdeckung des menschlichen Gesichtsfelds das Erlebnis in der virtuellen Welt beeinflusst, da die Ränder des Displays weniger deutlich zu erkennen sein dürften. Lin et al. fanden einen signifikanten Zusammenhang zwischen der Erhöhung des Sichtfelds in virtuellen Umgebungen und dem Präsenzempfinden der Nutzer (vgl. [Lin et al. 2002]). Je größer das Sichtfeld des Displays, desto höher fiel auch der Präsenzeindruck der Nutzer aus. Gleichzeitig stiegen die ermittelten Werte für den Faktor Simulator Sickness. Dies könnte allerdings daran liegen, dass andere ursächliche Faktoren für Simulator Sickness - wie hohe Latenzen beim Head-Tracking und niedrige Bildschirmwiederholraten (vgl. [Peek et al. 2013]) mit der Steigerung des Sichtfelds deutlicher wahrnehmbar sind. Die Head-Tracking-Latenz der oben erwähnten Head-Mounted-Displays zu vergleichen, gestaltet sich schwierig, da nicht alle Hersteller hierzu detaillierte Informationen liefern. Die Anfälligkeiten der Systeme für Simulator Sickness sind somit nicht ermittelbar. 72 Synthese Grundsätzlich ist die Erhöhung des Sichtfelds in Virtual Reality Anwendungen als Vorteil zu sehen, da sie laut Lin et al. das Präsenzempfinden und damit die mentale Immersion steigert, welche laut Sherman & Craig ein Schlüsselelement für Virtual Reality und gleichzeitig das Ziel der meisten Medienschaffenden ist (vgl. [Sherman und Craig 2002, Kapitel 1]). Die Verwendung der Oculus Rift sollte sich daher im Vergleich zu den Geräten der Arbeiten von Steinicke et al. beziehungsweise Bruder et al., Bach et al., Fiore & Interrante und Saraiji et al. präzenssteigernd auf das Erlebnis in der virtuellen Welt auswirken. Insgesamt ist die Oculus Rift, hinsichtlich technischer Faktoren der Hardware, den erwähnten Ansätze überlegen, wie in Kapitel 4.2.2 aufgezeigt wurde. 5.1.2 Kamera Die Recherche nach einer geeigneten Videokamera für die Erstellung eines Augmented Virtuality Prototypen gestaltete sich zunächst schwierig. Eine interessante Variante nutzen Saraiji et al. für ihr System: Es handelt sich um die FireWire-Kamera FFMV-03M2M“ von © Point Grey ” Research, Inc., die die gewünschte Bildaufzeichnungsrate von 60 Hz liefert, laut den Autoren allerdings nur eine Auflösung von 640x480px und ein horizontales Sichtfeld von 62 Grad bietet (vgl. [Saraiji et al. 2013]). Aufgrund der geringen Auflösung und der ungenügenden Brennweite wurde sich bei der Wahl der Kamera für den Prototypen gegen dieses Modell entschieden. Weitere Kameras verwandter Arbeiten, die in Kapitel 4.2.2 analysiert wurden, kommen aufgrund der niedrigen Bildaufzeichnungsrate von 30 Hz beziehungsweise 24 Hz nicht in Frage. Daher musste die Recherche und Auswahl eigenhändig anhand der definierten Anforderungen erfolgen. Zunächst wurden bei der Kamerarecherche USB-Webcams in Betracht gezogen. Es konnte jedoch keine geeignete Webcam gefunden werden, die die geforderten Bedingungen erfüllt. Besonders die Bildaufzeichnungsrate und das Weitwinkelobjektiv stellten in diesem Zusammenhang große Hürden dar. Weiterhin besitzen viele Webcams einen relativ großen Input-Lag. Die Bewegungen der Hände des Nutzers würden somit stark verzögert auf dem Display der Oculus Rift dargestellt werden. Auf der Suche nach alternativen Kameras, abseits von Webcams, war vor allem die Livestreaming Fähigkeit ein Problem. Viele Modelle sind nicht für einen derartigen Einsatzzweck konstruiert und bieten daher keine Unterstützung von Streaming. Die Lösung des Problems war die Benutzung einer speziellen Hardwarekomponente - einer Capture Card, die über den PCIe-Slot des Computers und einen HDMI-Eingang Videodaten entgegennehmen kann. Für die vorliegende Arbeit wurde das Modell Game Broadcaster HD“ von © AVerMedia ” verwendet. Als geeignete Videokamera wurde schließlich das Modell GoPro HERO3+ Black Edition“ (© ” Woodman Labs) gewählt - eine wasserfeste und stoßsichere Action-Kamera, die häufig von Sportlern für Videoaufnahmen genutzt wird. Aufgrund ihrer geringen Ausmaße und des Gewichts von 74g kann sie leicht am Körper oder an Sportgeräten befestigt werden. Durch das flache Profil und eine Tiefe von circa zwei Zentimetern, ist die Kamera auch für die Anbringung am Gehäuse 5.1 Festlegung der Hardware und Software 73 der Oculus Rift geeignet (siehe Abbildung 5.1). Besonders verbreitet ist der Einsatz als Helmkamera, welcher der Egoperspektive des Benutzers relativ nah kommt. Damit von der umliegenden Szenerie ein möglichst breites Feld zu erkennen ist, verwendet die GoPro-Kamera ein starkes Weitwinkelobjektiv von 14mm. Dies hat gleichzeitig den Vorteil, dass ein fester Fokus verbaut werden konnte und trotz einer hohen Blendenöffnung von 2.8 alle Bildinhalte scharf dargestellt werden. Damit können Fokusprobleme wie in der Arbeit von Fiore & Interrante vermieden werden (vgl. [Fiore und Interrante 2012]). Das maximale horizontale Sichtfeld beziehungsweise Field-of-View (FOV) der GoPro-Kamera von 118,2 Grad im Format 16:9 (vgl. [GoPro 2014b]) übertrifft die Spezifikationen der Oculus Rift (90 Grad horizontales FOV [Kickstarter 2014]). Auch das diagonale Sichtfeld ist mit 133,6 Grad (Format 16:9) größer als das Sichtfeld der Oculus Rift (110 Grad). Aufgrund der Positionierung der Kamera mehrere Zentimeter vor den Augen des Benutzers ist dies auch notwendig, um eine perspektivisch adäquate Videoaufzeichnung der Umgebung zu erhalten. Hinsichtlich Auflösung und Bildaufzeichnungsrate übertrifft die GoPro die geforderten Werte: 120 Bilder pro Sekunde bei Videos mit einer Auflösung von 1280x720 Pixeln und 60 Bilder pro Sekunde bei Videos mit einer Auflösung von 1920x1080 Pixeln (vgl. [GoPro 2014a]). Damit ist die Kamera auch für das angekündigte Nachfolgemodell der Oculus Rift Development Kit 2 geeignet, dessen Display eine Auflösung von 1920x1080 Bildpunkten bieten soll (vgl. [Oculus-VR 2014a]). Abb. 5.1: GoPro HERO3+ Black Edition“ © Woodman Labs (links). Provisorische Befestigung der ” GoPro-Kamera an der Oculus Rift mit doppelseitigem Klebeband und Kabelbindern (rechts). In der Praxis wurde schließlich festgestellt, dass der Einsatz einer einzelnen GoPro-Kamera bereits eine überzeugende Qualität für den zu überlagernden Videostream liefert. Die monoskopische Darstellung schien in Versuchen mit verschiedenen Probanden nicht negativ aufzufallen. Vorteilhaft für den Einsatz von nur einer Kamera sind auch das geringe Gewicht an der Oculus Rift und damit ein höherer Nutzerkomfort. Außerdem war die Erlangung überzeugender PerformanceWerte des Systems, selbst mit einer Kamera, herausfordernd. Bei der Nutzung von zwei Kameras hätte sich der Rechenaufwand deutlich erhöht und eine flüssige Wiedergabe wäre vermutlich nicht mehr möglich gewesen. Die Verwendung von zwei Kameras wird daher als zukünftiges Feature angesehen. 74 Synthese 5.1.3 Entwicklungsumgebung Die Wahl der Laufzeit- und Entwicklungsumgebung ist für die Umsetzung der Demonstratoren von entscheidender Bedeutung. Das Hauptmotiv der Arbeit - Augmented Virtuality - gibt hier den Weg vor. Zur visuellen Darstellung von Virtual Reality Szenen ist ein adäquater Umgang mit dreidimensionaler Computergrafik unabdingbar. Um über ein möglichst flexibles Framework zu verfügen, bietet sich daher die Benutzung einer sogenannten Spiel-Engine an. Derartige Umgebungen sind für die Entwicklung von Computerspielen konzipiert und besitzen daher in der Regel eine eigene Grafik-Engine, die für die Visualisierung computergrafischer Inhalte verantwortlich ist. Weitere Bestandteile können beispielsweise Physik-Engine, Soundsystem, Datenverwaltung, Steuerung und Netzwerkunterstützung sein. Auch Skripting wird von den meisten Spiel-Engines unterstützt. Nahezu alle derzeit erhältlichen Oculus Rift Demos werden aus der Ego-Perspektive bedient. Die perspektivischen Möglichkeiten innerhalb einer virtuellen Szene sind theoretisch vielfältig - sich immersiv in einer virtuellen Welt umzuschauen, scheint allerdings die vorwiegendste Variante darzustellen. Da gerade 3D-Spiele ohnehin häufig egozentrisch gespielt werden, sodass der Blick des Nutzers dem des Avatars in der virtuellen Welt entspricht, ist es nicht verwunderlich, dass die Mehrzahl der Oculus Rift Demos in Spiel-Engines entwickelt wurden. Vorteile ergeben sich somit aus der Unterstützung von komplexen und realitätsnahen, virtuellen Leveln sowie von Avataren, die eine Repräsentation des Spielers in der Virtualität darstellen. Weiterhin ist die Navigation dieser Avatare in der virtuellen Welt meist der menschlichen Fortbewegung nachempfunden und bereits in die Engine integriert. Um Probleme bei der Anbindung der Virtual Reality Brille zu vermeiden, sollte die Spiel-Engine die native Unterstützung der Oculus Rift beherrschen. Zwar vereinfacht das Oculus SDK die Entwicklung von eigenen Lösungen durch die Abstraktion von Hardwaredetails und die Zurverfügungstellung von vorgefertigten Hilfsmethoden, die beispielsweise Daten von Beschleunigungsmesser und Gyroskops zurückgeben - dennoch wäre die manuelle Integration der Oculus Rift mit einem erheblichen Mehraufwand verbunden. Laut den Entwicklern wären hierfür zwei Schritte notwendig: Erstens, die Umsetzung des Motion-Trackings der Oculus Rift auf die Sicht der virtuellen Kamera und zweitens, die Implementierung eines stereoskopischen 3D-Renderings, einschließlich der optischen Verzerrung, die pro Auge benötigt wird, um die natürliche Verzerrung der Nahsichtlinsen in der Brille zu korrigieren (vgl. [Oculus-VR 2014b]). Die Zeit für diese Arbeitsschritte kann durch die Verwendung einer geeigneten Engine eingespart und so für die Entwicklung des Prototypen investiert werden. Aufgrund der oben erwähnten Punkte ist die Frage zu klären, welche Engines eine native Unterstützung der Oculus Rift ( out-of-the-box“) bieten. In erster Linie bieten sich hier die derzeit ” bekanntesten Vertreter an, die auch für die meisten Oculus Rift Demos verwendet worden sind: Unreal Engine und Unity. Das Oculus SDK bietet für beide Engines eine Integration der Oculus Rift (vgl. [Oculus-VR 2014c]). Mittlerweile sind auch weitere Engines in der Lage, die Virtual Reality Brille zu erkennen und ohne weitere Schritte zu verwenden - beispielsweise Torque3D 5.2 Aufbau des Systems 75 (vgl. [Torque-3D 2013]) oder die CryEngine (vgl. [CryEngine 2013]). Der offizielle Support von Oculus VR gilt allerdings der Integration von Unreal Engine und Unity (vgl. [Oculus-VR 2013]). Darüber hinaus sind diese beiden Spiel-Engines sehr weit verbreitet und bieten daher vielfältige Möglichkeiten, von anderen Projekten und Wissensquellen zu profitieren. Unity hat derzeit beispielsweise circa 2,5 Millionen registrierte Entwickler, von denen 600.000 monatlich aktiv sind (vgl. [Unity 2014]). Unreal Engine oder Unity scheinen daher als Entwicklungsumgebung eine gute Wahl darzustellen. Nachfolgend werden Vor- und Nachteile von Unreal Engine und Unity kurz verglichen und hinsichtlich der Tauglichkeit für die vorliegende Arbeit geprüft. Die Recherche zu den Engines ergab, dass sowohl Unreal Engine als auch Unity einen ausgezeichneten Support bieten, der neben umfangreichen Dokumentationen, zahlreichen Video-Tutorials, Beispielprojekten und Codebeispielen auch mit aktiven Foren aufwarten kann. Hinsichtlich der für die Arbeit relevanten Features scheint es nur wenige Unterschiede zu geben. Beide Engines unterstützen die Implementierung von eigenen Shadern, Video-Texturen und die Einbindung von externen Bibliotheken, auch die Verwendung von C++ Code ist somit möglich. Allerdings gilt dies nicht für die kostenlosen Versionen Unreal Development Kit (UDK) und Unity Free. Vor allem die Möglichkeit, externe Plugins mit nativem Code zu integrieren, ist nur in den Pro Versionen verfügbar. Für die gestellte Aufgabe dieser Arbeit stellt das Livestreaming von Videos auf eine Textur ein sehr sinnvolles Feature dar. In Unity lässt sich dies mit der Klasse WebCamTexture“ leicht bewerk” stelligen. Der Unreal Engine scheint eine ähnliche komfortable Funktion zu fehlen. Letztendlich ist festzuhalten, dass der zu entwickelnde Prototyp vermutlich mit beiden Engines erstellt werden könnte. Unity hat allerdings durch das einfache Livestreaming von Videos auf eine Textur einen wesentlichen Vorteil. Nach einer exemplarischen Erprobung der Engines in der Praxis wurde schließlich Unity als Entwicklungsumgebung ausgewählt, da sie neben den genannten Vorteilen auch flexible und eingängige Editoren und Möglichkeiten zur Kamerahandhabung besitzt. Für die Umsetzung von Bildverarbeitungsaufgaben, die insbesondere bei der Segmentierung und Verarbeitung des Videostreams benötigt werden, stellt die Verwendung von externen Programmbibliotheken eine interessante Option dar. Die freie Programmbibliothek OpenCV stellt bereits viele Funktionen und Filter für die Bildverarbeitung zur Verfügung, die somit nicht mehr eigenständig implementiert werden müssen. Die Integration von Webcam-Videostreams beherrscht die Bibliothek ebenfalls. Daher stellt OpenCV eine gute Ausgangslage für die zu erledigenden Videoverarbeitungsaufgaben dar. 5.2 Aufbau des Systems Im Folgenden wird der Aufbau des Systems erläutert. Die GoPro-Kamera ist an der vorderen Seite des Gehäuses der Oculus Rift befestigt. Eine Anbringung der Kamera mittels Klettband scheint nicht geeignet zu sein. Fiore & Interrante verwendeten diese Methode in ihrer Arbeit und gaben an, dass die Kameras häufig nicht in der erwünschten Position blieben (vgl. 76 Synthese [Fiore und Interrante 2012]). Die Befestigung mittels Magneten erscheint ebenfalls problematisch, da so ein noch leichteres Verschieben der Kamera möglich wäre. Weiterhin könnte es unter Umständen zur Beeinflussung der elektronischen Bauteile der Oculus Rift kommen. Die Justierung der Kamerapostion wäre wünschenswert. Da allerdings nur eine Kamera verwendet wird, ist die exakte Ausrichtung nicht so entscheidend, wie bei der Nutzung von zwei Kameras, die eine stereoskopische Sicht aufzeichnen sollen. Aus diesem Grund scheint eine starre Befestigung der Kamera am Head-Mounted-Display eine sinnvolle Variante zu sein. Für den Prototypen wurde die Kamera schließlich mittels doppelseitigem Klebeband und Kabelbindern angebracht. GoPro-Kamera HDMI RAW-Videosignal Capture-Card PCIe YUY2-Videosignal Videointegration HARDWARE Oculus Rift HDMI Displayoutput SOFTWARE (Unity-Engine) 3D-Szene Stream RGB-Videosignal Segmentierung Stream RGB-Videosignal mit Alphakanal USB Sensordaten Abb. 5.2: Schema des Aufbaus des Prototypen. Die Grafik zeigt die Zusammenhänge zwischen den einzelnen Hardware- und Softwarekomponenten des Systems. Die GoPro-Kamera und die Oculus Rift sind nicht per Kabel miteinander verbunden, sondern nur physisch aneinander befestigt. Der Weg der Datenübertragung kann wie folgt zusammengefasst werden (siehe Abbildung 5.2): Per HDMI-Kabel erfolgt die Weiterleitung der Rohdaten des Videosignals von der Kamera an die Capture Card. Diese wandelt das Signal in das YUY2 -Format um und stellt es für den Computer bereit, indem sie die Daten über die PCI-Express-Schnittstelle überträgt. Im nächsten Schritt findet die softwareseitige Integration des Videos statt. Ziel ist es, einen RGB-Videostream zu erhalten, bei dem jedes Einzelbild des Videos für weitere Bildverarbeitungsoperationen verfügbar gemacht wird. Es bieten sich mehrere Lösungen an, auf die in Kapitel 5.3 eingegangen wird. Danach erfolgt die Segmentierung der Einzelbilder des Videostreams in Bereiche, die den Händen und Armen des Nutzers zuzuordnen sind, und in nicht relevante Hintergrundbereiche. Der AlphaKanal-Wert der überflüssigen Pixel des Hintergrunds wird anschließend auf Null gesetzt. Der entstandene Videostream wird nun innerhalb der Unity-Engine als teilweise transparente Textur angezeigt. Der nächste Schritt umfasst die Überlagerung des Bilds der virtuellen Kamera mit dem Videostream der realen Hände. Die Ausrichtung der virtuellen Kamera erfolgt mithilfe der bereitgestellten Head-Tracking-Daten, die die Oculus Rift per USB-Verbindung an die UnityEngine überträgt. Schließlich wird das finale Signal der videoüberlagerten 3D-Szene per HDMIKabel an das Display der Oculus Rift weitergeleitet und angezeigt. 5.3 Entwicklung des Prototypen 77 5.3 Entwicklung des Prototypen Der Prototyp nutzt die Augmented Virtuality Technologie zur Darstellung der Hände in der virtuellen Umgebung. Die sogenannte Aughanded Virtuality Anwendung stellt die praktische Umsetzung der vorliegenden Arbeit dar. Es waren Lösungen für folgende Teilprobleme zu finden: die Integration des Videostreams in das System, die Weiterverarbeitung des Videostreams - insbesondere die Entwicklung eines geeigneten Segmentierungsalgorithmus - sowie die Überlagerung des finalen Videostreams über eine geeignete 3D-Szene und die Bereitstellung von Einstellungsund Kalibrierungsparametern. Im Folgenden werden verschiedene Ansätze vorgestellt und diskutiert, die im Verlaufe der Arbeit eine Rolle gespielt haben. 5.3.1 Entwicklungsansätze des Prototypen Für die Umsetzung der Bildverarbeitungsaufgaben wurde zunächst mit der Nutzung der freien Programmbibliothek OpenCV begonnen. Diverse Vorab-Tests mit OpenCV und einer Webcam führten zu guten Segmentierungs-Ergebnissen. Der nächste Schritt umfasste die Integration von OpenCV in die Unity Engine. Hier sollte der verarbeitete, finale Videostream der virtuellen 3DSzene überlagert werden. Im ersten Ansatz wurde ein .Net Wrapper für OpenCV in Unity integriert. Die Einbindung von EmguCV in Unity als externe Bibliothek erfolgte ohne Probleme. Mit den Funktionen aus EmguCV standen nun Bildverarbeitungsoperationen direkt in der Unity Engine zur Verfügung. Diese konnten unmittelbar per C#-Skript ausgeführt werden. Verschiedene Versuche, einen Videostream zu öffnen, zu verarbeiten und in Unity in einer virtuellen Szene auf einer Textur anzuzeigen, führten jedoch zu unbefriedigenden Ergebnissen. Die Performance des Systems war selbst bei Anwendung einfacher Bild-Filter nicht brauchbar: In einem Test, in dem ein simpler Sobel-Filter auf das Webcam-Video angewendet wurde, konnten bei der Anzeige der Szene innerhalb der Unity Engine nicht einmal zehn Bildern pro Sekunde erreicht werden. Der Performanceverlust wurde vermutlich durch den Einsatz des Wrappers verursacht. Da EmguCV als eine Art Adapter zwischen OpenCV und Unity wirkt und jeder Datenzugriff eine Transformation in die gewünschte Form des Zielsystems bedingt, wird bei der mehrfachen Iteration durch die mehreren hunderttausend Pixel der einzelnen Videobilder viel Leistung verschenkt. Doch auch Versuche, einfache Bildverarbeitungsoperationen direkt im C#-Skript von Unity auszuführen, führten zu keiner zufriedenstellenden Performance. Daher wurde anschließend die Idee verfolgt, die Bildverarbeitungsaufgaben auszulagern und extern in der OpenCV Bibliothek zu erledigen, sodass erst der finale Videostream in die Unity Engine übertragen wird. Die zuletzt beschriebene Methode hat den Vorteil, die Bildverarbeitungsaufgaben in maschinennahem C++Code implementieren zu können, was unter Umständen zu einem Leistungsgewinn führen kann. C++ wird in der Anwendungsprogrammierung häufig eingesetzt, wenn die effiziente 78 Synthese Ausnutzung von Ressourcen ein Anforderungsmerkmal ist - etwa in aufwändigen Grafikprogrammen. Um die Bildverarbeitungsaufgaben extern durchführen zu können, wurde eine DLL erstellt, die von der Unity Engine innerhalb eines C#-Skripts importiert werden konnte. Somit stehen verschiedene externe Funktionen in Unity zur Verfügung, die in der DLL definiert wurden. Diese Methode schien zuerst vielversprechend zu sein, da in Tests mit einer Webcam eine Performance erreicht wurde, die die flüssige Anzeige des Videostreams in der Unity Engine zuließ. Schwierigkeiten traten jedoch bei der Integration des Videostreams der GoPro-Kamera auf, welche für den Prototypen verwendet werden sollte. Nach zahlreichen Implementierungsversuchen (siehe Kapitel 6.1.1) konnte schließlich eine Lösung für das Problem gefunden werden, indem der Videostream der GoPro-Kamera durch das Framework libVLC geöffnet wurde. Die Segmentierung des Videostreams erfolgte mittels OpenCV Befehlen (siehe Kapitel 6.2.1). Somit war es erstmals möglich, eine funktionsfähige Umsetzung des Prototypen zu erstellen. Der von libVLC geöffnete Videostream wird in - für OpenCV lesbare - Einzelbilder umgewandelt. Diese werden anschließend segmentiert, gefiltert und in ein geeignetes Format umgewandelt. Die Unity Engine erhält diese Bilder nun durch den Aufruf einer externen Funktion und erstellt aus den Einzelbildern eine Textur, auf der der Videostream angezeigt und der virtuellen Szene überlagert werden kann. Aufgrund der Verwendung mehrerer externer Bibliotheken bei der Verarbeitung entstanden zahlreiche Konvertierungsschritte, die der Videostream durchlaufen muss. So verschlechterte sich die Performance des Systems erneut. Diverse Optimierungen an den kritischen Stellen der Übergabe des Videostreams zwischen den Bibliotheken führten zwar zu einem grundsätzlich brauchbaren System - die hohen Anforderungen an die Performance, die in Kapitel 4.3.4 gestellt wurden, konnten auf diesem Weg jedoch nicht erfüllt werden. Daher wurde nach einer Option gesucht, den Videostream performant zu segmentieren. Die Lösung des Problems war die Verwendung eines Shaders. Da Shader nicht vom Prozessor sondern auf der Grafik-Hardware ausgeführt werden, ist eine deutlich höhere Leistung des Systems zu erwarten. Jedoch müssen bei der Programmierung von Shadern verschiedene Aspekte und Einschränkungen beachtet werden, die bei der Implementierung normalerweise keine Rolle spielen (siehe Kapitel 6.2.2). Im Ergebnis konnte allerdings ein überzeugender Segmentierungsalgorithmus in einem Shader implementiert werden, der sowohl den gestellten Anforderungen an die visuelle Qualität der Segmentierung als auch den Performanceanforderungen genügt (siehe Kapitel 5.3.2). Die bisher problematische Integration des Videostreams konnte schließlich durch eine Funktion der Unity Engine übernommen werden, die eine gleichzeitige Anzeige des Videos auf einer Textur vorsieht (siehe Kapitel 6.1.2). Die Textur wird auf ein Quad-Objekt aufgebracht. Der erwähnte Segmentierungs-Shader kann nun direkt auf das Quad-Objekt angewendet werden, um die Videoüberlagerung von nicht relevanten Hintergrundinformationen zu maskieren. Implementierungsdetails zur virtuellen 3D-Szene, den benötigten virtuellen Szenenkameras, sowie der Bewerkstelligung der Videoüberlagerung, können in Kapitel 6.3 nachgeschlagen werden. 5.3 Entwicklung des Prototypen 79 5.3.2 Segmentierungsalgorithmus Das Ziel des Segmentierungsverfahrens ist es, den Videostream der egozentrischen Nutzersicht in zwei Bereiche zu aufzuteilen: Der Vordergrund beinhaltet die Hände und Arme des Nutzers. Alle anderen Bereiche des Bilds sollen dem Hintergrund zugeordnet werden. Auf Grundlage der Segmentierung ist es möglich, eine Maske zu erstellen und die nicht zu verwendenden Hintergrundbereiche des Videostream mithilfe des Alpha-Kanals von der Anzeige auszuschließen. Diese Filterung ermöglicht die Überlagerung der virtuellen Szene mit einem Videostream, der lediglich Pixel darstellt, die zu den Händen und Armen des Nutzers gehören - alle anderen Pixel erscheinen transparent. Entscheidung für einen Segmentierungs-Ansatz In der Analyse von Segmentierungsansätzen verwandter Arbeiten in Kapitel 4.2.3 konnte aufgezeigt werden, dass das Chroma-Keying ein vielversprechendes Verfahren für die Aufgabe der Aufteilung des Videostreams in Vorder- und Hintergrundbereiche darstellt. Die visuelle Qualität der Segmentierungsergebnisse war im Vergleich zu Ansätzen, die auf dem Tracking des Nutzers basieren, sehr überzeugend. Ein Nachteil von Chroma-Keying ist, dass in der Regel nicht der komplette Körper des Nutzers segmentiert werden kann, sondern nur bestimmte Bereiche. Die einzige Möglichkeit, den kompletten Nutzerkörper mit nur einem Farb-Schlüssel zu segmentieren, stellt die Auskleidung des kompletten Raums mit Stoff oder Tapete einer bestimmten Farbe dar - in der Filmtechnik werden meist grüne oder blaue Hintergründe verwendet. Bei Augmented Virtuality Ansätzen ist dieses Vorgehen in der Praxis offenbar nicht zweckmäßig. Steinicke/Bruder et al. schlagen eine Methode vor, die den Farb-Schlüssel für das Chroma-KeyingVerfahren abhängig von der Blickrichtung des Nutzers ändert (vgl. [Steinicke et al. 2009] bzw. [Bruder et al. 2009]). Der komplette Körper des Nutzers wird hier durch die Kombination mehrerer Schlüssel segmentiert. Da als Anforderung an den Prototypen der vorliegenden Arbeit bereits festgelegt wurde, dass ausschließlich die Hände und Arme des Nutzers segmentiert werden sollen, fällt dieser Nachteil des Chroma-Keying-Verfahrens bei der Auswahl des Segmentierungsalgorithmus nicht ins Gewicht. Im Vergleich zu Tracking-Segmentierungsansätzen ist der Hintergrund beim Chroma-Keying meist nicht frei wählbar oder es existieren Einschränkungen - beispielsweise dürfen sich beim Ansatz von Steinicke/Bruder et al. keine Objekte im Hintergrund befinden, die eine ähnliche Farbe wie die Hauttöne des Nutzers aufweisen. Dafür sind Systeme, die das Chroma-KeyingVerfahren verwenden, mobiler, weil die Hardware im Vergleich zu den benötigten TrackingKameras nicht aufwendig in einem neuen Raum installiert und langwierig kalibriert werden muss. Der größte Vorteil des Chroma-Keying-Verfahrens ist jedoch die visuelle Qualität des segmentierten Videostreams, welche sich deutlich von den mangelhaften Ergebnissen der TrackingSegmentierung abhebt. Der unkomplizierte Einsatz des Prototypen auch außerhalb des Labors wurde in 4.3 ebenso als Anforderung definiert wie die Implementierung einer möglichst optimalen 80 Synthese visuellen Qualität des Videostreams, der die virtuelle Szene überlagert. Für die vorliegende Arbeit wird daher der farbbasierte Segmentierungs-Ansatz des Chroma-Keyings gewählt. Die Umwandlung der aufgezeichneten Videobilder in den HSV -Farbraum ist ein Schritt aller Segmentierungs-Verfahren, die in Kapitel 4.2.3 analysiert wurden. Vorteile ergeben sich hier durch die Bereitstellung des Farbtons in einem eigenen Kanal. Viele Segmentierungsansätze basieren auf der Analyse bestimmter Farbtöne des Vorder- und Hintergrunds, die im HSV -Farbraum effektiver voneinander unterschieden werden können. Auch die weiteren Kanäle Sättigung“ und ” Hellwert“ scheinen geeignete Parameter für den Algorithmus darzustellen. Der HSV -Farbraum ” ist für Menschen in der Regel intuitiv begreifbar und im Vergleich zum RGB-Farbraum führen Änderungen einzelner Werte meist zu nachvollziehbareren Ergebnissen. Für die Umsetzung des Prototypen wird sich daher den Ansätzen der verwandten Arbeiten angeschlossen: Die Einzelbilder des Videostreams werden für die weitere Verarbeitung in den HSV -Farbraum umgewandelt. Als nächstes muss entschieden werden, welcher Farb-Schlüssel für das Chroma-Keying-Verfahren verwendet werden soll. Es bieten sich grundsätzlich drei Möglichkeiten für die Wahl eines Schlüssels: die Hauttöne, wie in der Arbeit von Steinicke/Bruder et al., der Hintergrund, wie in der Arbeit von Bach et al. oder eine Kombination von Hauttönen und Hintergrund wie beim Ansatz von Fiore & Interrante (vgl. [Bach et al. 2012] und [Fiore und Interrante 2012]). Für das Verfahren von Bach et al. muss ein einheitlicher, matter und einfarbiger Hintergrund verwendet werden - die Autoren nutzen in der Praxis blauen Stoff. Bach et al. geben an, dass ihr Ansatz für die Anwendung im Labor konzipiert ist. Der Nutzer schaut dabei immer in Richtung des blauen Hintergrunds. Das komplette Sichtfeld kann nicht ausgenutzt werden: Betrachtet der Nutzer Teile des Raums, die nicht mit blauem Stoff ausgekleidet sind, funktioniert der Segmentierungsalgorithmus nicht mehr. Die Flexibilität des Ansatzes ist daher nicht besonders hoch, ein freies Umsehen des Nutzers ist im Vergleich zur Variante von Steinicke/Bruder et al. nicht möglich. Bei letzterer werden die Einzelbilder des Videostreams nach Pixeln durchsucht die Hauttöne aufweisen. Solange sich im Hintergrund keine Objekte befinden, die ebenfalls hautähnlichen Farbtönen entsprechen, ist somit die Beschaffenheit des Hintergrunds nicht relevant für das Segmentierungsergebnis. Diese Einschränkung scheint grundsätzlich akzeptabel, da in den meisten Räumen entsprechende Objekte leicht zu entfernen sind. In Kapitel 4.3.3 wurde der möglichst flexible Einsatz des Prototypen als Anforderung definiert. Die Unabhängigkeit des Systems von speziell zu wählenden Hintergründen ist daher als Vorteil zu sehen. Hinsichtlich der visuellen Qualität der Segmentierung scheint der Ansatz von Bach et al. geringfügig bessere Ergebnisse zu liefern. Der Unterschied zur visuellen Qualität des Verfahrens von Steinicke/Bruder et al. ist nach den vorhandenen Informationen nicht besonders groß. Grundsätzlich nutzen beide Systeme einen zufriedenstellenden Segmentierungsalgorithmus zur Erkennung der Arme und Hände des Nutzers. Die Verwendung der Hauttöne als Schlüssel für das Chroma-Keying scheint jedoch insgesamt vielversprechender als der Einsatz eines fixen, einfarbigen Hintergrunds. Werden mehrere Farb-Schlüssel eingesetzt, wie in der Arbeit von Fiore & Interrante, entstehen scheinbar nur in Problemfällen mit schwierigen Hintergründen bessere Segmentierungsergebnisse. Aufgrund der Erhöhung des Rechenaufwands und damit ein- 5.3 Entwicklung des Prototypen 81 hergehend einer möglichen Verschlechterung der Performance, wurde sich schließlich dagegen entschieden, mehrere Farb-Schlüssel im Segmentierungsalgorithmus einzusetzen. Für eine einheitliche Lichtsituation bei der Anwendung des Prototypen muss in jedem Fall gesorgt werden. Am besten gelingt dies laut Bach et al. mit diffusem Kunstlicht aus mehreren Quellen. Problematisch wäre zum Beispiel Tageslicht an einem sonnigen, leicht bewölktem Tag, da unterschiedliche Helligkeiten, Sättigungen und vor allem dynamische Schatten und Reflexionen eine farbbasierte Segmentierung nahezu unmöglich machen würden. Um gute Ergebnisse zu erzielen, ist außerdem eine ausreichend helle Beleuchtung notwendig. Schon durch den Qualitätsverlust bei der Videoaufzeichnung, könnten in dunklen Räumen die Segmentierungsergebnisse negativ beeinflusst werden. Der Kamerasensor arbeitet am besten bei hellem Licht, da das Eingangssignal so nicht künstlich verstärkt werden muss. Umsetzung des Segmentierungsalgorithmus Im Verlaufe der vorliegenden Arbeit wurden verschiedene Versuche unternommen, einen geeigneten Segmentierungsansatz zu implementieren. Die erste Variante wurde mittels OpenCV umgesetzt. Implementierungsdetails können in Kapitel 6.2.1 nachgeschlagen werden. Dieser Ansatz wurde jedoch nicht weiter verfolgt, da die Performance der Anwendung nicht den gestellten Anforderungen entsprach. Dies dürfte im Wesentlichen nicht an der Segmentierung, sondern an der Integration des Videos in die OpenCV Programmbibliothek und die Weiterleitung des Videostreams an die Unity Engine gelegen haben. Es musste daher eine andere Lösung gefunden werden. Eine Umsetzung des Segmentierungsprozesses in einem Shader stellte schließlich eine Möglichkeit dar, die auch hinsichtlich der Performance überzeugen konnte. Die Implementierung wurde dabei sukzessive verbessert und um neue Features erweitert (siehe Kapitel 6.2.2). Der anfangs recht rudimentäre Segmentierungsalgorithmus lieferte nur befriedigende Ergebnisse. Die visuelle Qualität der Anzeige erreichte noch nicht die guten Resultate von Bach et al. und Steinicke/Bruder et al.. Durch Einbeziehung und Analyse der Nachbarschaftspixel konnte schließlich die visuelle Qualität der Segmentierung auf ein zufriedenstellendes Maß gesteigert werden. Durch technische Beschränkungen bei der Programmierung innerhalb des Shaders mussten die Segmentierungsparameter jedoch fest integriert werden - eine Justierung und Kalibrierung war somit nicht möglich. Folglich mussten für die Anwendung des Prototypen gleichbleibende Bedingungen hinsichtlich der Beleuchtung geschaffen werden. Darüber hinaus war die optimale Nutzung nur für Menschen eines bestimmten Hauttyps möglich. Dennoch konnte mit diesem Stand des Prototypen die Nutzerstudie durchgeführt werden (siehe Kapitel 7). Im Nachhinein stellte sich heraus, dass mit aktueller Grafikhardware und unter Nutzung spezieller Befehle die Restriktionen bei der Shader -Programmierung umgangen werden können. Somit steht die Möglichkeit zur Verfügung, deutlich mehr Befehle im Shader ausführen zu lassen, ohne einen spürbaren Performanceverlust zu erhalten. In der finalen Implementierung ist daher ein Segmentierungsalgorithmus innerhalb des Shaders umgesetzt worden, welcher eine individuelle Anpassung zahlreicher Segmentierungsparameter zur Laufzeit erlaubt. Damit ist das visuelle Ergebnis der Segmentierung sehr fein steuerbar und der Prototyp lässt sich in verschiedenen 82 Synthese Räumen beziehungsweise Lichtsituationen verwenden. Außerdem ist die Anwendung nicht mehr auf Nutzer eines bestimmten Hauttyps beschränkt. Der Segmentierungsalgorithmus des Prototypen der vorliegenden Arbeit orientiert sich am Ansatz von Steinicke/Bruder et al.. Es handelt sich um ein Chroma-Keying-Verfahren, welches die Hauttöne des Nutzers als Farb-Schlüssel verwendet, um den aufgezeichneten Videostream in Vordergrund- und Hintergrundbereiche aufzuteilen (vgl. [Bruder et al. 2009]). Es sollen dabei nur die Hände und Arme des Nutzers segmentiert werden, weitere Körperteile werden nicht beachtet. Die von der Kamera aufzuzeichnende, reale Umgebung sollte möglichst keine gelblichen beziehungsweise rötlichen Objekte enthalten, die mit den Hauttönen des Nutzers verwechselt werden könnten. Die Farbwerte der Einzelbilder des Videostreams werden pixelweise analysiert. Hierzu werden die Bilder zunächst in den HSV -Farbraum umgewandelt, um Zugriff auf die entsprechenden Farbtonwerte der Pixel zu erhalten. Grundsätzlich funktioniert die Segmentierung durch einen Abgleich der Farbtonwerte mit bestimmten, vorher festgelegten Segmentierungsgrenzen. Liegt der Farbwert des Pixels innerhalb der Grenzen, gehört das Pixel zum Vordergrund und damit zu den Händen beziehungsweise Armen des Nutzers. Liegt es außerhalb der Grenzen, ist das Pixel dem Hintergrund zuzuordnen. Neben Segmentierungsgrenzen für den Farbton werden ebenfalls Werte für die Grenzen von Sättigung und Hellwert der Pixel angegeben. Diese simple Variante der Segmentierung lässt sich effizient und durch wenige Befehle umsetzen und stellt das erste Segmentierungsverfahren dar, welches im Rahmen dieser Arbeit in einem Shader implementiert wurde. Der Nachteil dieses simplen Ansatzes ist die relativ hohe Ungenauigkeit der Segmentierung und die Darstellung zahlreicher Artefakte, die durch die falsche Klassifizierung einzelner Pixel oder Pixelgruppen entstehen. Eine Analyse der Nachbarschaftspixel, wie im Ansatz von Steinicke/Bruder et al. scheint daher sehr empfehlenswert. So können Löcher“ innerhalb des Bereichs ” der Hände und störende Artefakte im Hintergrund des finalen Videostreams verhindert werden. Die Idee ist es, eine bestimmte Anzahl von umliegenden Pixeln ebenfalls gegen die Segmentierungsgrenzen zu testen. Entspricht von diesen Nachbarschaftspixeln eine gewisse Anzahl ebenfalls Hauttönen, wird das aktuelle Pixel akzeptiert (vgl. [Bruder et al. 2009]). Diese Variante ist die zweite, in einem Shader umgesetzte Segmentierungsvariante und liefert bereits Ergebnisse mit einer zufiedenstellenden visuellen Qualität, solange die Umgebungsbedingen des Raumes und die Hauttypen der Benutzer relativ gleich bleiben. Steinicke/Bruder et al. nutzen für ihren Segmentierungsalgorithmus zusätzlich einen wahrscheinlichkeitstheoretischen Ansatz. Dem aktuellen Hautpixelkandidaten werden je nachdem, wie weit die Farbtonwerte vom durchschnittlichen Hautton abweichen, Wahrscheinlichkeitswerte zugeordnet, die angeben, wie sicher die Hautpixelkandidaten zur gewünschten Hautregion gehören. Für die Ermittlung der Wahrscheinlichkeiten werden außerdem Farbtonwerte der umliegenden Pixel analysiert. Im Endeffekt erhalten Steinicke/Bruder et al. ein Graustufenbild, welches als Maske für den Videostream dienen kann. Zuvor wird jedoch eine Erweiterung der 5.3 Entwicklung des Prototypen 83 Medianfilter-Technik angewendet, die Störpixel und Artefakte aus der Maske entfernen soll. Diese entspricht der oben erwähnten Methode, Nachbarschaftspixel zu prüfen und zu zählen und das aktuelle Pixel nur dann zu akzeptieren, wenn eine vorher definierte Anzahl an umliegenden Pixeln ebenfalls Hautpixel sind. Steinicke/Bruder et al. führen dieses Verfahren für die Hautregionen mehrmals mit unterschiedlichen, jeweils erhöhten unteren Grenzen durch. Anschließend wird die Methode auch für die Hintergrundpixel wiederholt. Des Weiteren werden in Zwischenschritten glättende Filter, wie zum Beispiel ein Gaußscher Weichzeichner eingesetzt (vgl. [Bruder et al. 2009]). Die erwähnten komplexen Schritte des Segmentierungsalgorithmus von Steinicke/Bruder et al. konnten in der Shader -Umsetzung der vorliegenden Arbeit in dieser Form nicht implementiert werden. Der Grund war anfangs in der Restriktion der ausführbaren Befehle innerhalb des Shaders zu suchen. Doch selbst ohne diese Einschränkung sind globale Filter in Shadern nur schwierig umzusetzen. Das sequentielle Ausführen von Befehlen für das komplette Bild ist nicht möglich. Vielmehr werden die Shader -Operationen für jedes Pixel einzeln ausgeführt. Sollen die Farbtöne der Nachbarschaftspixel des aktuellen Pixels ermittelt werden, muss deren Berechnung einzeln stattfinden. Für das nächste Pixel müssen diese Farbtöne der Nachbarschaftspixel erneut berechnet werden. Auf die bereits berechneten Werte des vorherigen Pixels kann nicht zugegriffen werden. Die Benutzung von Ergebnissen aus Vorverarbeitungsschritten ist nicht vorgesehen. Zwar könnte ein Shader mit mehreren Passes implementiert werden, jedoch erfolgt die Ausführung der Passes parallel. Das Gesamtbild wird anschließend per Blending zusammengefügt. Eine Ausführung mehrerer, aufeinander folgender, globaler Segmentierungs-Schritte und Filter wie bei Steinicke/Bruder et al. ist also nicht möglich. Aus den erwähnten Gründen musste der finale Segmentierungsalgorithmus auf wesentliche Bestandteile reduziert werden, die sich in einem Shader umsetzen lassen. Letztendlich wurde auf wahrscheinlichkeitstheoretische Ansätze und die mehrfache Anwendung von Glättungsfiltern verzichtet. Dafür lassen sich die Segmentierungsgrenzen hinsichtlich Farbton, Sättigung und Hellwert exakt steuern. Weiterhin ist es möglich, die Analyse der Nachbarschaftspixel anhand mehrerer Parameter zu justieren: Es kann sowohl der Radius der Nachbarschaftsregion als auch die Prozentzahl der positiv geprüften Nachbarschaftspixel, die notwendig sind, um das aktuelle Pixel zu akzeptieren, eingestellt werden. Darüber hinaus ist ein Offset für die umliegenden Prüfpixel wählbar, das den Bereich der Nachbarschaftsregion erhöht, ohne die Performance des Systems zu beeinflussen. Schließlich existiert ein Parameter, der eine Anpassung der Kantenschärfe der Segmentierung erlaubt: In Abhängigkeit der Anzahl der positiv geprüften Nachbarschaftspixel wird der Alpha-Wert des aktuellen Pixels reduziert. Da die Anzahl der positiv geprüften Nachbarschaftspixel abnimmt, je näher sich das aktuelle Pixel an der Grenze zwischen Vordergrund - also Hautregion - und Hintergrund befindet, erscheint die Kante der Segmentierung weichgezeichnet. Eine ausführliche Beschreibung der Implementierung findet sich in Kapitel 6.2.2. Die Segmentierungsparameter können in der finalen Version des Prototypen mittels einer grafischen Nutzeroberfläche eingestellt werden und lassen eine sehr exakte, manuelle Kalibrierung zu. Die automatische Anpassung der Parameter anhand von Trainingsregionen, wie in der Arbeit von 84 Synthese Steinicke/Bruder et al., stellt eine interessante Alternative dar (vgl. [Bruder et al. 2009]). Da Nutzer im Verlauf der Arbeit bei der Verwendung des Prototypen beaufsichtigt und unterstützt wurden, war die manuelle Kalibrierung allerdings kein Nachteil. Aus diesem Grund wurde darauf verzichtet, ein automatisches System zu implementieren. 5.3.3 Funktionserweiterung des Prototypen Die in Kapitel 4.3.5 definierten zusätzlichen Anforderungen an die Funktionalitäten des Prototypen wurden ebenfalls umgesetzt. Dies umfasst die Änderung des Standortes des Nutzers innerhalb der virtuellen Szene, die Justierung der Höhe der virtuellen Kamera und die Anpassung der Größe und Position der Videoüberlagerung und damit der realen Hände des Nutzers. Weiterhin lässt sich die Videoüberlagerung horizontal und vertikal spiegeln, sodass der Nutzer im Head-Mounted-Display beispielsweise seine linke Hand zu bewegen scheint, obwohl in der Realität die rechte Hand bewegt wird. Diese Funktion bietet unter Umständen Ansatzpunkte für psychologische Experimente. Oben erwähnte Möglichkeiten wurden zunächst durch Tastaturbefehle zugänglich gemacht. In der finalen Implementierung des Prototypen können die Änderungen mittels einer grafischen Benutzeroberfläche durchgeführt werden. Es stehen diverse Schieberegler und Buttons für die Funktionen zur Verfügung, die mit der Maus von einem Versuchsleiter bedient werden können. Weiterhin wurde als Anforderung die Entwicklung einer Effekt-Toolbox“ definiert, die Untersu” chungsmöglichkeiten für zukünftige Arbeiten ermöglichen könnte. Das Ziel war es, den visuellen Eindruck der Hände des Nutzers steuern zu können. Diese Funktion ist als unabhängig von der Segmentierung des Videostreams zu betrachten. Vielmehr sollen die nach der Segmentierung und Filterung des Videostreams weiterhin sichtbaren Pixel hinsichtlich ihrer Farbeigenschaften beeinflusst werden. Im Gegensatz zu den verwandten Arbeiten aus Kapitel 3.3 bietet die vorliegende Arbeit mit dieser Funktionalität eine Option, die Videoüberlagerung auch jenseits realitätsnaher Konzepte zu manipulieren. So wurden Möglichkeiten implementiert, den Farbton, die Sättigung, die Helligkeit sowie die Transparenz des finalen, überlagerten Videostreams anzupassen. Mithilfe dieser Einstellungen lassen sich leicht Darstellungen erzeugen, die beispielsweise die Hände des Nutzers halbtransparent anzeigen. Dies hätte im Gegensatz zur Realität den Vorteil, dass der Betrachter die Szene hinter seinen Händen weiterhin sehen kann. Auch die Farbe der Haut lässt sich verändern, ohne dass andere individuelle Merkmale des Nutzers, wie die Form der Hände und Arme oder die Behaarung, verloren gehen. Gerade die Farbänderungen der Haut bilden eine interessante Grundlage für psychologische Studien - Martini et al. konnten beispielsweise aufzeigen, dass die Schmerzgrenze durch eine Veränderung der Hautfarbe des Nutzers beeinflusst wird. Hierfür nutzten die Autoren eine immersive virtuelle Umgebung und einen virtuellen Arm, der an die Bewegungen des realen Arms des Nutzers gekoppelt war. Sie fanden heraus, dass ein rötlich gefärbter Arm, im Gegensatz zu einer normalen und einer bläulichen Haut, die Schmerzschwelle des Nutzers signifikant verringert (vgl. [Martini et al. 2013]). Die erwähnten Parameter Farbton, Sättigung, Helligkeit und Transparenz des Prototypen der vorliegenden Arbeit, 5.3 Entwicklung des Prototypen 85 sowie verschiedene Voreinstellungen lassen sich ebenfalls über die grafische Benutzeroberfläche anpassen, indem der Anwender per Maus Slider verschiebt. Im Normfall wird die Maske, die im Segmentierungsprozess entsteht und angibt, welche Bereiche zu den Händen des Nutzers gehören und welche zum Hintergrund, direkt auf den Videostream angewendet. Somit sind genau die Pixel sichtbar, die zu den Händen des Nutzers gehören. Die Maske kann allerdings theoretisch auch auf andere Videostreams angewendet werden. Somit ist ein Umriss der Hände des Nutzers zu sehen, der mit alternativem Inhalt gefüllt ist. Eine Variante ist die Spiegelung des regulären Videostreams, bei Beibehaltung der Orientierung der Maske: der Nutzer sieht also den Umriss seiner Hände, wie er es erwarten würde. Innerhalb des Umrisses ist allerdings die gespiegelte, egozentrische Sicht der Realität zu sehen, welche die Kamera aufzeichnet. Dieser Effekt kann ebenfalls über die grafische Benutzeroberfläche aktiviert werden. 5.3.4 Auswahl der virtuellen Szene Für den Prototypen wurde eine fertige 3D-Szene als Umgebung gewählt. Die von Oculus VR entwickelte Tuscany-Demo“ scheint für diesen Zweck geeignet zu sein, da sie eine recht realitäts” nahe virtuelle Welt darstellt, die durch die Repräsentation des eigenen Körpers beziehungsweise der Hände und Arme profitieren könnte (siehe Abbildung 5.3). Darüber hinaus ist sie den meisten Benutzern der Oculus Rift bereits bekannt, sodass der Fokus eher auf die Erweiterung der Szene durch die Aughanded Virtuality Inhalte fallen sollte. Schließlich spielt auch der Fakt eine Rolle, dass die Tuscany-Demo“ direkt für die Oculus Rift entworfen und von den Entwicklern ” zur freien Verwendung zur Verfügung gestellt wurde. Abb. 5.3: Screenshot der Tuscany-Demo“-Szene © Oculus VR. ” 6 Umsetzung In diesem Kapitel soll die Implementierung des Prototypen beschrieben werden. Hierfür waren mehrere Schritte notwendig. Zuerst wird auf die Integration des Videostreams der GoPro-Kamera eingegangen. Der Videostream muss anschließend segmentiert und gefiltert werden, sodass nur die Hände in der virtuellen Szene zu sehen sind und andere Bereiche im Hintergrund ausgeschlossen werden. Die softwaretechnische Realisierung dieses Schritts wird in Kapitel 6.2.1 und 6.2.2 erläutert. Die Umsetzung des Prototypen wird in zwei Varianten aufgezeigt: Durch die Nutzung der externen Programmbibliothek OpenCV und komplett in der Unity Engine. Beide Varianten besitzen Vor- und Nachteile, die in vorherigen Kapiteln besprochen wurden. Schließlich erfolgt die Erklärung des Aufbaus der virtuellen Unity-Szene. Hier findet die eigentliche Überlagerung von realem Videostream und virtueller Umgebung statt. 6.1 Videointegration Das Videosignal der GoPro-Kamera wird von der Capture Card aufgenommen und dem Rechner als Stream bereitgestellt. Das Ziel ist es, jedes Pixel der Frames des Videos analysieren und verarbeiten zu können. Im Verlauf der Arbeit konnten mehrere Möglichkeiten gefunden werden, dies zu bewerkstelligen. Die einfachste Variante ist die Verwendung der Unity Klasse WebCamTexture, die den Videostream der Capture Card ohne Anpassungen direkt unterstützt. Diese Methode hat den Vorteil, dass das Video unmittelbar in Unity zur Verfügung steht und für die Anzeige nicht konvertiert werden muss. Sollen die Frames jedoch mithilfe von externen Bibliotheken, wie beispielsweise OpenCV, analysiert werden, muss der Videostream in ein geeignetes Format umgewandelt werden. Nach der Verarbeitung durch OpenCV ist eine erneute Konvertierung notwendig, um das Video wieder als Textur in Unity darzustellen. Diese Operationen erfordern eine hohe Rechenleistung, besonders bei HD-Videos mit vielen Pixeln. Aus diesem Grund wurde nach alternativen Möglichkeiten gesucht, den Videostream direkt in OpenCV zu integrieren, sodass nur eine einzige Konvertierung stattfinden muss. 6.1.1 Umsetzung in OpenCV Die freie Programmbibliothek OpenCV enthält eine einfache Methode zur Integration von Webcam-Videos. Nach der Erstellung eines VideoCapture-Objektes kann auf diesem die Funktion read aufgerufen werden, die das aktuelle Frame des Videostreams in einem Mat-Objekt speichert. Ein Frame wird in OpenCV als Matrix von Pixeln beziehungsweise Farbwerten repräsentiert. Bildverarbeitungsoperationen lassen sich dadurch leicht anwenden und einzelne Pixel können ebenso verarbeitet werden wie die globale Menge von allen Pixeln. Eine handelsübliche USB-Webcam (Microsoft LifeCam Cinema) konnte mittels VideoCapture-Objekt problemlos in OpenCV angesprochen werden. Die Erkennung des Streams der GoPro-Kamera, welcher über 88 Umsetzung die Capture Card an den Rechner übermittelt wird, funktionierte mit diesem Verfahren allerdings nicht. Eine mögliche Erklärung für die Nicht-Erkennung könnten Coding-Probleme sein. Die GoPro-Kamera speichert ihre Videos im MP4 -Format. Die Capture Card überträgt den Videostream im Containerformat Flash Video (FLV) mit dem H.264 -Standard als Codec. Es wurde vermutet, dass OpenCV in der verwendeten Version nicht mit den erwähnten Codecs umgehen kann. Zur Lösung dieses Problems wurden unter anderem weitere Codec-Packs auf dem Arbeitsrechner installiert. Bei einer Recherche in einschlägigen Foren konnte ein weiterer Lösungsansatz entdeckt werden: Die Neu-Compilierung des Sourcecodes des OpenCV Projekts mit veränderten Einstellungen. Insbesondere die Aktivierung des Flags WITH_FFMPEG schien vielversprechend. Zur Compilierung wurden die Programme CMake und Microsoft Visual Studio 2013 genutzt. Das Resultat konnte durch die erwähnten Ansätze nicht verändert werden. Zwar funktionierte die Erstellung des VideoCapture-Objektes auch mit der Capture Card - dennoch konnten mit der read-Funktion keine Frames abgerufen werden. Die entsprechenden Pixelmatrizen waren leer und enthielten keine Farbinformationen. Aufgrund der oben erwähnten Probleme wurde die Einbindung einer weiteren externen Bibliothek in Betracht gezogen, die die Integration des Videostreams bewerkstelligen und die Farbinformationen der Pixel an OpenCV weiterleiten sollte. Da der Stream der GoPro-Kamera über die Direct-Show-Funktionalität des VLC-Media-Players dargestellt werden konnte, wurde versucht, Direct-Show mittels des Windows-SDK in das Projekt einzubinden. Der Aufwand der Einarbeitung in die komplexen Strukturen des Software Development Kits hätte allerdings in keinem Verhältnis zum Nutzen gestanden. Daher wurde als Alternative das Framework libVLC verwendet. Die Integration des SDKs des VLC-Media-Players schien vielversprechend zu sein, da dieser auf libVLC basiert und somit nahezu alle Funktionen des Players zur Verfügung stehen sollten auch die Direct-Show-Funktionalitäten. Um die Funktionsaufrufe von OpenCV und libVLC in Unity nutzen zu können, war die Erstellung einer C++ DLL notwendig. Dies wurde mithilfe der Software Microsoft Visual Studio 2013 bewerkstelligt. Der Quellcode ist im Anhang aufgeführt (Quellcode A.3). In den ProjektEigenschaften mussten die benötigten DLL- und LIB-Dateien für die Verwendung von OpenCV und libVLC hinzugefügt und verlinkt werden. Weiterhin waren #include-Anweisungen für die entsprechenden Header-Dateien zu ergänzen (Zeilen 1-4). Funktionen, die extern durch Unity genutzt werden sollen, wurden innerhalb eines extern"C"-Blocks definiert (Zeile 20). Dieses Vorgehen stellt sicher, dass die Funktionen vom Compiler als C-Funktionen betrachtet und übersetzt werden. So wird name mangeling“ umgangen, das normalerweise von einem C++” Compiler durchgeführt wird und dafür sorgt, dass der vom Compiler verwendete Symbolname neben dem Funktionsnamen zusätzliche Informationen über die Datentypen der Funktionsparameter enthält. Der C# Compiler des Unity Scripts verfügt nicht über die Möglichkeit, einen solchen Symbolnamen auszuwerten. Durch den extern"C"-Block entspricht der Symbolname dem Funktionsnamen und kann innerhalb der Unity Engine verwendet werden. Damit die Funktionen der DLL exportiert werden können, ist es notwendig, sie mit dem Schlüsselwort __declspec(dllexport) einzuleiten. So lassen sie sich mittels DllImport als externe 6.1 Videointegration 89 Funktionen innerhalb eines C#-Unity-Scripts verwenden. In der DLL wurden Möglichkeiten zum Öffnen und Schließen des Direct-Show-Videostreams implementiert: openDirectShow() und closeDirectShow(). Darüber hinaus müssen die Farbinformationen der Frames in ein Format umgewandelt werden, das OpenCV verarbeiten kann. Nach der Bildverarbeitung ist eine Weiterleitung der bearbeiteten Frames an Unity vorgesehen. Diese Schritte werden in getFrame() umgesetzt. Schließlich muss die DLL-Datei in Unity integriert werden (Quellcode A.4). Beim Import wird dem Attribut DllImport als Parameter der Name der DLL mitgeteilt: "dllVLC". Die externen Funktionen werden mit private static extern eingeleitet und sind anschließend im Unity-Script aufrufbar (Zeilen 6-9). Danach erfolgt die Initialisierung einer 2D-Textur, eines Pixel-Arrays mit Color-Objekten und eines sogenannten Pixel-Handles (Zeilen 12-16). Das Handle bietet die Möglichkeit, ein fixiertes Objekt zu erstellen, das im Speicher nicht vom Garbage-Collector verschoben wird. Dadurch kann vom Handle eine feste Speicheradresse für das verwaltete Objekt zurückgegeben werden. In der Funktion Start(), die bei der Ausführung der Unity -Szene einmalig aufgerufen wird (Zeile 18), erfolgt die Öffnung des Videostreams über die externe Funktion openDirectShow(). Weiterhin wird die 2D-Textur im RGBA-Format mit 1280x720 Pixeln angelegt (Zeile 24). Diese Textur wird im weiteren Verlauf mit den Farbinformationen des aktuellen Frames des Videostreams gefüllt und dann als mainTexture auf das entsprechende grafische Objekt innerhalb der Unity -Szene gerendert (Zeile 33). Der Pixel-Handle wird auf das Pixl-Array-Objekt gesetzt und erhält den Typ pinned() (Zeile 30). Dadurch ist die Speicheradresse fixiert und aufrufbar. Die Update()-Funktion des Unity-Scripts wird immer dann aufgerufen, wenn die Engine ein neues Frame rendert (Zeile 42). Hier erfolgt die Anforderung des aktuellen und segmentierten Video-Frames mittels der externen Funktion getFrame(), die als Parameter die Adresse des vom Handle verwalteten Objekts erhält (Zeile 45). Durch Operationen in der DLL wird somit das Pixel-Array mit aktuellen Farbinformationen gefüllt. Anschließend können die neuen Pixelfarben in der 2D-Textur gespeichert und danach gerendert werden (Zeile 49 & 50). Im Unity-Script existiert darüber hinaus eine OnDisable()-Funktion, die bei Beendigung der Unity -Szene ausgeführt wird (Zeile 36). Hier erfolgt die Schließung des Direct-Show-Videostreams mittels closeDirectShow(), sowie die Freigebung der Fixierung des Pixel-Handles, sodass das Pixel-Array wieder für den Garbage-Collector zugänglich ist. Im Folgenden wird auf die Implementierung der DLL eingegangen (Quellcode A.3). Die PixelFarbinformationen werden nicht direkt gespeichert, sondern über einen Zeiger angesprochen, der die Adresse im Speicher markiert. Neben der Erzeugung einer Datenstruktur, die die Adressen der Farbinformationen der Pixel zwischenspeichert (Zeile 28), und der Initialisierung einer Instanz von libVLC (Zeilen 31-33) werden in der Funktion openDirectShow() spezifische Objekte angelegt, die einen Media-Player und das entsprechende Medium darstellen (Zeilen 47 & 54). Das Medium ist in diesem Fall der Direct-Show-Videostream und wird über den Aufruf der Funktion libvlc_media_new_location mit dem URL-Parameter "dshow://" erzeugt. In den Zeilen 36-44 werden Anzeige-Optionen, wie etwa Framegröße und Framerate, definiert. Der Name des Video-Device muss der Capture Card entsprechen: "AVerMedia HD Capture" (Zeile 37). Die anderen Optionen sollten auf die Treiber-Einstellungen der Capture Card abgestimmt werden. Damit die Farbinformationen der einzelnen Frames des Videostreams abgerufen wer- 90 Umsetzung den können, ist es notwendig, eine Rückruffunktion, einen sogenannten Callback, einzurichten. Dies geschieht in Zeile 58 mittels der Funktion libvlc_video_set_callbacks. Die Funktion nimmt als Parameter das Media-Player Objekt, die Datenstruktur, in der die Speicheradressen der Pixel verwahrt werden sollen, und drei Hilfsfunktionen, die in den Zeilen 15-17 deklariert sind. Kritische Abschnitte sind mittels eines Mutex geschützt, sodass nebenläufige Prozesse nicht zeitgleich auf die Datenstruktur zugreifen können (Zeilen 107 & 112). Das Format des Videostreams wird in Zeile 60 mittels libvlc_video_set_format auf einen RGB-Farbraum mit drei Kanälen gesetzt. Die Konvertierung des von der Capture Card gelieferten YUY2 -Formats in RGB erfolgt intern. Schließlich wird das Media-Player-Objekt in Zeile 61 gestartet. Die zu exportierende Funktion getFrame() sorgt für die Bereitstellung der Pixel-Farbinformationen in Unity (Zeile 72). Dafür bekommt sie bei ihrem Aufruf einen Zeiger auf die Speicheradresse mitgeliefert, an der die Farbinformationen hinterlegt werden sollen. Vorher erfolgt jedoch die Ausführung von Bildverarbeitungsoperationen durch OpenCV. Dabei soll eine Segmentierung und Filterung der Videoframes stattfinden, sodass nur Pixel dargestellt werden, die Hauttönen entsprechen (siehe Kapitel 6.2.1). Damit die OpenCV Funktionen auf die Pixel angewendet werden können, ist es notwendig, die Farbinformationen in ein spezielles Format umzuwandeln. Das Mat-Objekt von OpenCV stellt eine Matrix von Werten dar: Es wird mit einer Größe von 1280x720 Pixeln und drei Kanälen erstellt, um dem RGB-Format zu entsprechen (Zeile 74). Anschließend erfolgt eine Kopie der Farbinformations-Bytes von der oben erwähnten Datenstruktur in das Mat-Objekt. Dies wird mit dem Befehl memcpy erledigt und durch einen Mutex geschützt (Zeilen 77-79). Nach der Durchführung der Segmentierung mittels OpenCV werden diverse Zeiger-Objekte erstellt, die auf die Farbinformationen der segmentierten Pixel beziehungsweise ihre Alphakanäle verweisen (Zeilen 84-87). Schließlich werden die entsprechenden Informationen an die Speicheradresse geschrieben, die der Funktion getFrame() anfangs als Parameter übergeben wurde (Zeilen 92-98). Damit können unnötige Speicheroperationen eingespart werden. Vorherige Implementierungsversuche ohne Speicheradressenübergabe verliefen wenig erfolgreich, da die geringe Performance durch den erhöhten Rechenaufwand zu nicht akzeptablen Bildwiederholungsraten führte. Eine weitere zu exportierende Funktion der DLL - closeDirectShow() - wird benötigt, um das Media-Player-Objekt zu stoppen, das Medium und die Instanz von libVLC freizugeben, sowie die Datenstruktur zu leeren (Zeilen 64-69). 6.1.2 Umsetzung mit Unity-WebCamTexture Die Unity -Klasse WebCamTexture erlaubt das Streaming von Videos direkt auf eine Textur. Bewerkstelligt werden kann dies mit einem kurzen Script. Der Konstruktor von WebCamTexture verlangt einen deviceName zur Identifizierung der Kamera. Hier muss die Bezeichnung der Capture Card angegeben werden, die den Stream der GoPro-Kamera zum Computer weiterleitet: "AVerMedia HD Capture". Mit renderer.material.mainTexture = webcamTexture; wird die WebCam-Textur auf ein grafisches Objekt gerendert. Um den Videostream abzuspielen, muss anschließend die Funktion webcamTexture.Play(); aufgerufen werden. 6.2 Segmentierung des Videostreams 91 6.2 Segmentierung des Videostreams Die Segmentierung des Videostreams in Vordergrundbereiche, die die Hände und Arme des Nutzers beinhalten, sowie in Hintergrundbereiche mit nicht relevanten Bildteilen erfolgt mittels Farbwertanalyse der Pixel des übertragenen Videos. Das Ziel besteht darin, Hauttöne herauszufiltern und alle übrigen Pixel als transparent zu markieren. Zu diesem Zweck muss das RGBEingangssignal in einen geeigneten Farbraum umgewandelt werden. Hier bietet sich der HSV Farbraum an, welcher aus den Kanälen Farbwert (Hue), Sättigung (Saturation) und Hellwert (Value) besteht. Der Vorteil dieser Aufteilung ergibt sich vor allem aus der direkten Zugänglichkeit des Farbtons, der dem Farbwert H entspricht. Hauttöne weisen einen charakteristischen rötlichen bis gelblichen Farbton auf. Zusätzlich stehen die Parameter Sättigung und Hellwert zur Verfügung, die eine weitere Einschränkung der Ergebnisse erlauben. Es ist zu beachten, dass die Hautsegmentierung in einem Video stark von den Gegebenheiten im gelieferten Bild abhängt. Einflussfaktoren sind beispielsweise die Farbe und Intensität des Umgebungslichts und die Farb-, Helligkeits- und Kontrastkalibrierung der Kamera. Um konstante Ergebnisse zu erhalten, ist es daher notwendig, die erwähnten Faktoren unveränderlich zu lassen. Sollen verschiedene Kameramodelle oder Orte mit veränderlichen Lichtverhältnissen verwendet werden, muss mit Trainingsmengen von korrekten Pixeln gearbeitet werden. Ein entsprechender Algorithmus würde die Parametergrenzen bei jeder Segmentierung anhand der Trainingsdaten neu anpassen. Die Daten könnten durch die Positionierung der Hände innerhalb einer Trainingsregion aufgenommen werden. Bei der vorliegenden Arbeit wurde auf die Implementierung eines adaptiven Algorithmus verzichtet und in der finalen Version des Prototypen stattdessen eine Möglichkeit der manuellen Kalibrierung der Segmentierungsparameter eingefügt. Je nach Umgebungsfaktoren werden im nächsten Schritt Grenzbereiche für Farbwert, Sättigung und Hellwert definiert. Die Farbwertskala lässt sich als Farbkreis visualisieren, wobei jedem Farbton ein Winkel zwischen 0-360 Grad zugeordnet ist. Hauttöne weisen rötliche bis gelbliche Farbwerte auf und liegen daher etwa im Bereich von 0-60 Grad. Die Sättigung der Haut liegt grob im mittleren Bereich der auf eins normierten Skala. Durch Schattenwurf und Spitzlichter auf der Haut sind sowohl sehr dunkle als auch sehr helle Partien zu erwarten, weshalb eine Begrenzung des Hellwerts auf einen Grenzbereich schwierig ist. Grundsätzlich sind die zu wählenden Grenzwerte von zu vielen Faktoren abhängig, um allgemeingültige Aussagen treffen zu können. Die experimentelle Annäherung an ein optimales Ergebnis scheint daher einen probaten Weg darzustellen. Im Folgenden werden die gewählten Einstellungen und Grenzbereiche für den entwickelten Prototypen vorgestellt. Die Werte beziehen sich auf die Kunstlichtsituation im Labor des Lehrstuhls für Mediengestaltung. Die Einstellungen der GoPro-Kamera wurden weitgehend unverändert belassen. Low-Light-Modus und Protune waren deaktiviert. Die Software AVer Media RECentral erlaubt verschiedene Optionen zur Veränderung von Parametern des Videostreams, welcher über die Capture Card übertragen wird. Im Fenster Videoanpassung“ wurden folgende Einstellungen ” gewählt: Helligkeit 130, Kontrast 130, Farbton -8, Sättigung 139. Die Grenzbereiche für die 92 Umsetzung eigentliche Segmentierung sind in Abbildung 6.1 dargestellt: Der Farbton muss zwischen 0-50 Grad liegen; Sättigungswerte werden in einem Bereich zwischen 0.1 und 0.8 angenommen und der Hellwert darf nicht unter 0.25 fallen. 0° 360° Farbton (H) 0° - 50° 0 1 Sättigung (S) 0.1 - 0.8 0 1 Hellwert (V) 0.25 - 1 Abb. 6.1: Haut-Segmentierung: Grenzbereiche für Farbton, Sättigung und Hellwert. Liegen die Parameter eines Pixels innerhalb der Grenzen, wird dieses akzeptiert und weiterhin im Video dargestellt. Nicht akzeptierte Pixel werden als transparent definiert. Jedes Pixel des Videos wird auf dieser Grundlage geprüft. Falls die Parameter Farbwert, Sättigung und Hellwert innerhalb der definierten Grenzen liegen, wird das Pixel akzeptiert und im Video dargestellt. Im Gegensatz dazu wird bei Pixeln, die nicht alle Bedingungen erfüllen, der Alphakanal auf null gesetzt. Das Zielvideo ist somit, bis auf Pixel mit Hauttönen, transparent. Diese Art der Segmentierung stellt eine einfache Basisvariante dar und liefert bereits interessante Ergebnisse. Eine Erweiterung des Algorithmus empfiehlt sich dennoch, da sich noch Artefakte und Störungen im Bild befinden. Um eine homogene Maske zu erhalten ist es notwendig, kleine Flächen, die nicht zu den Händen und Armen gehören, zu identifizieren und nachträglich zu entfernen. Auf der anderen Seite sollten Pixel, die sich innerhalb von Hand- oder Armflächen befinden, aber durch den Algorithmus nicht erkannt wurden, der Menge der sichtbaren Pixel hinzugefügt werden. Probleme bei der Segmentierung ergeben sich weiterhin durch Fremdobjekte, die einen hautähnlichen Farbton aufweisen. Wenn möglich sollten diese Objekte aus dem Sichtbereich des Videostreams entfernt werden, da ein nachträglicher Ausschluss mittels Algorithmus schwierig bis unmöglich ist. Der Grund dafür ist, dass die Pixel außer Farb- und Helligkeitswerten keine weiteren Informationen beinhalten und daher eine Identifizierung von gleichfarbigen Fremdobjekten lediglich über die Analyse der Kontur erfolgen kann. Im Gegensatz zum Gesicht ist die Kontur der Hand, je nach Fingerstellung und Perspektive, sehr variabel in der Form. Zwar handelt es sich um eine zusammenhängende Kontur, allerdings reichte dieses Kriterium allein für eine Segmentierung von hautähnlichen Fremdobjekten nicht aus. Ein Ansatz für einen solchen Algorithmus wäre, nur die beiden größten Konturen im Bild zu akzeptieren. Dieses Vorgehen funktioniert aber nur, falls kein Fremdobjekt größer als die Hände ist und keine Überlagerung zwischen Händen und Fremdobjekten stattfindet. Für die vorliegende Arbeit wird die oben erwähnte Variante bevorzugt und Objekte mit hautähnlichen Farbtönen aus dem Blickbereich der Kamera entfernt. 6.2 Segmentierung des Videostreams 93 6.2.1 Umsetzung in OpenCV Die Umsetzung des Segmentierungsvorgangs durch OpenCV ist in Ausschnitten in Quellcode A.5 dargestellt. Nachdem das ein Mat-Objekt erstellt wurde, welches das aktuelle, extrahierte Einzelbild des Videostreams enthält, findet eine leichte Weichzeichnung des Bilds mithilfe der Funktion GaussianBlur statt (Zeile 7). Anschließend wird der aktuelle Farbraum des Frames in den HSV -Farbraum umgewandelt, um Zugriff auf die Parameter Farbton, Sättigung und Hellwert zu erhalten (Zeile 10). Die Prüfung gegen die vorher festgelegten Segmentierungsgrenzen erfolgt durch die Funktion inRange (Zeile 14). Danach wird ein Median-Filter auf das Bild angewendet, um das Ergebnis zu glätten und mögliche Störungen zu eliminieren (Zeile 17). Dennoch kann es dazu kommen, dass einzelne Bereiche des Hintergrunds fälschlicherweise als Hautbereiche erkannt werden. Daher wurde der Einsatz folgender Methode getestet: Mittels der Hilfsfunktion findBiggestContour können die beiden größten Konturen des Bilds ermittelt werden (Zeile 38). Es wird angenommen, dass diese Konturen den Händen des Nutzers entsprechen. Die finale Maske ist daher ein schwarzes Frame, das mit den beiden größten Konturen gefüllt wird, indem die entsprechenden Pixel innerhalb der Konturen auf Weiß gesetzt werden (Zeilen 33-35). Dieses Verfahren ist ähnlich zu einem von Bach et al. vorgestellten Ansatz der Segmentierung (vgl. [Bach et al. 2012]). Jedoch ist die Annahme, dass die zwei größten Konturen den beiden Händen des Nutzers entsprechen, unter Umständen problematisch - legt der Nutzer beide Hände übereinander, so existiert theoretisch nur noch eine relevante Kontur. Abhilfe konnte hier die Einführung einer unteren Grenze für die Größe der Konturen schaffen. Es gab jedoch weiterhin Schwierigkeiten, wenn der Nutzer seine Hände außerhalb des aufgezeichneten Kamerabilds bewegte. Dieses Verfahren hätte daher einer weiteren Überarbeitung bedurft. Da die Performance des Gesamtsystems bei der Nutzung von OpenCV nicht den Anforderungen genügte und ein neuer Ansatz die Verwendung eines Shaders zur Segmentierung vorsah, wurde davon abgesehen, diese Methode weiter zu entwickeln. 6.2.2 Umsetzung als Unity-Shader Die Umsetzung der Segmentierung in einem Shader ist verschiedenen Reglementierungen unterworfen. Der für die vorliegende Arbeit zur Verfügung stehende Rechner besitzt eine Grafikkarte, welche das Shader Model 3.0 unterstützt. Laut Angaben in der Unity Dokumentation sind für dieses Shader Model innerhalb des Fragment-Shaders maximal 1024 Befehle zulässig, die sich in 512 arithmetischen Befehle und 512 Textur-Anweisungen aufteilen (vgl. [Unity-Dokumentation 2014]). Dieser Umstand macht globale Operationen auf allen Pixeln schwierig. Selbst ein einfacher Gaußscher-Weichzeichnungsfilter benötigt Informationen über Nachbarschaftspixel. Grundsätzlich stehen diese Informationen auch im Fragmentshader zur Verfügung. Da allerdings jedes Pixel einzeln aufgerufen und verarbeitet wird, müsste für globale Funktionen in jedem Schritt durch die gesamte Menge der Pixel iteriert werden. Ein weiteres Problem ist die parallele Verarbeitung von Shadern: Ergebnisse von vorherigen Anwendungen stehen durch die parallele Ausführung nicht mehr zur Verfügung. 94 Umsetzung Damit die Segmentierung stattfinden kann, muss der Shader auf einem grafischen Objekt angewendet werden, das den Videostream darstellt. Im Prototypen wird zu diesem Zweck ein Quad-Objekt verwendet, welches in Unity mit einer WebCamTexture versehen wurde und den Videostream der GoPro-Kamera abspielt. Die in Kapitel 6.2 erwähnte Basis-Variante der HautSegmentierung lässt sich relativ einfach in einem Fragment-Shader umsetzen. Im Anhang ist der entsprechende Quellcode zu finden (Quellcode A.1). Nachdem mithilfe der Texturkoordinaten die Farbe des aktuellen Pixels im RGB-Format ermittelt wurde (Zeile 42), erfolgt die Umwandlung der Farbinformationen in das HSV -Format (Zeilen 44-65). Anschließend wird überprüft, ob die anfangs festgelegten Segmentierungsgrenzen von Farbwert, Sättigung und Hellwert eingehalten werden (Zeile 69). Daraufhin erfolgt eine Anpassung des Alphakanals des aktuellen Pixels und die Weiterleitung der Farbinformationen in der Render-Pipeline. Mit einer passenden Wahl der Segmentierungsgrenzen liefert dieser rudimentäre Algorithmus bereits brauchbare Resultate. Dennoch wurden Versuche unternommen, das Ergebnis weiter zu verbessern. Erfolgversprechend scheint eine Analyse der Nachbarschaftspixel. Zu Grunde liegt die Annahme, dass es sich bei den Hautflächen um größere zusammenhängende Bereiche handelt, während unerwünschte Umgebungs-Artefakte geteilte, kleine Flächen besitzen. Falls in einem vorher definierten Bereich um das aktuelle Pixel eine hohe Anzahl von Pixeln liegen, die ebenfalls Hauttönen entsprechen, kann daher von einer erhöhten Wahrscheinlichkeit ausgegangen werden, dass die aktuelle Umgebung zu Händen beziehungsweise Armen gehört. Im Umkehrschluss sind Flächen mit wenigen akzeptierten Nachbarschaftspixeln vermutlich Artefakte, die zur Menge der verworfenen Pixel gezählt werden sollten. Die Analyse der Nachbarschaftspixel mittels Shader stellte sich als problematisch heraus. Im ersten Ansatz wurde versucht, aufbauend auf den Ergebnissen der Basis-Variante der Segmentierung, nachträglich unerwünschte Pixel zu verwerfen. Dafür wurde ein weiterer Pass im Shader implementiert. Da die Verarbeitung der Rendering-Passes parallel geschieht, ist die gewünschte sequentielle Ausführung auf diesem Weg nicht erreichbar. In der Unity Engine wird mit GrabPass ein spezieller Pass-Typ zur Verfügung gestellt, der den Inhalt des Bildschirms zur Renderzeit greift“ und als Textur an weitere Passes übergibt. Durch dieses Verfahren ist ge” wissermaßen eine sequentielle Verarbeitung möglich, da nun ein Zugriff auf die Alphawerte der bereits überprüften Pixel stattfinden kann und somit verworfene von akzeptierten Pixeln unterschieden werden können. Ein Nachteil der Methode ist der Performanceverlust. GrabPass ist grundsätzlich sehr rechenintensiv. Weiterhin müssen alle Pixel für jeden Pass einmal gerendert werden. Eine zusätzliche Schwierigkeit ergab sich bei der Überlagerung der durch die einzelnen Passes gerenderten Ausgaben auf dem Bildschirm. Hier konnte keine Übereinstimmung erzielt werden, sodass beispielsweise die Hände auf dem Bildschirm doppelt zu sehen waren. Durch Anpassung der Texturkoordinaten konnte die im zweiten Pass gerenderte Ausgabe zwar noch skaliert, jedoch nicht exakt überlagert werden. Von einer Lösung der Überlagerungsschwierigkeiten wurde abgesehen, da die Nutzung von GrabPass ein weiteres Problem aufwarf: Pixel die im Nachhinein noch von der Menge der akzeptierten Pixel abgezogen werden sollten, konnten nicht verworfen werden. Obwohl im zweiten Rendering-Pass der Alphawert eines Pixels auf 6.2 Segmentierung des Videostreams 95 null gesetzt werden kann und es somit transparent erscheint, ist immer noch das Ergebnis aus dem ersten Rendering-Pass vorhanden, wo das Pixel opak dargestellt wurde. Das nachträgliche Entfernen“ eines Pixels ist auf diese Weise also nicht möglich, da der ersten Renderausgabe ” maximal neue Pixel hinzugefügt werden könnten, indem ihr Alpha-Wert von null auf eins gesetzt wird. Aus den oben aufgeführten Gründen wurde die Umsetzung des Algorithmus in einem einzelnen Rendering-Pass vorgezogen. Hierbei muss für jedes aktuelle Pixel nicht nur dessen eigene Farbinformation gegen die Segmentierungsgrenzen geprüft werden, sondern auch alle Farbinformationen der ausgewählten Nachbarschaftspixel. Je nach Anzahl der zu prüfenden Nachbarschaftspixel erhöht dieses Vorgehen den Rechenaufwand und es werden erheblich mehr arithmetische Befehle benötigt. Die Durchführung in einem Pass sollte dennoch performanter sein als in Multi-PassVarianten. Eine sichtbare Beeinflussung der Bildwiederholungsrate konnte zumindest nicht beobachtet werden, auch wenn die Befehlsanzahl das Limit des Shaders erreicht hatte. Um möglichst viele Nachbarschaftspixel für die Analyse zur Verfügung zu haben, wurde der Quellcode weiter optimiert. So konnten unnötige Berechnungen vermieden werden. aktuelles Pixel verworfenes Prüfpixel Prüfpixel akzeptiertes Prüfpixel Abb. 6.2: Schematische Darstellung der Pixel-Prüfmatrix (links). Prüfmatrix angewendet auf ein Beispielpixelraster (rechts). Nur Prüfpixel, deren Farben Hauttönen entsprechen, werden akzeptiert. Das Prinzip der Nachbarschaftspixelanalyse konnte anfangs mittels eines Shaders nur bedingt umgesetzt werden. Selbst nach der Optimierung des Quellcodes war es nur möglich 24 umliegende Pixel zu analysieren. Um dennoch eine Aussage über größere Bereiche treffen zu können, wurde der Idee einer Prüfpixelmatrix nachgegangen (siehe Abbildung 6.2). Es erfolgt eine Ausspreizung der Prüfpixel in einem 5x5-Raster mit Lücken von jeweils drei Pixeln, sodass im Resultat eine Fläche von 17x17 Pixeln überbrückt wird. Hierbei handelt es sich sozusagen um eine Stichprobe der Nachbarschaftspixel. Obwohl diese Methode keine exakte Prüfung erlaubt und mit Fehlern durch nicht beachtete Nachbarschaftspixel zu rechnen ist, sind die Ergebnisse in der Praxis sichtbar besser als bei der Basis-Variante des Algorithmus. Im Anhang ist der Quellcode für den erweiterten Haut-Segmentierungsalgorithmus angegeben (Quellcode A.2). Um die korrekten Pixelpositionen zu erhalten, müssen Faktoren definiert wer- 96 Umsetzung den, die angeben, welche Distanz im Textur-Koordinaten-Raum überbrückt werden muss, um horizontal und vertikal voranschreitend die nächsten Pixel zu erhalten (Zeilen 41/42). Die Position der Prüfpixel wird anschließend in Relation zum aktuellen Pixel ermittelt, damit auf die entsprechenden Farbinformationen zugegriffen werden kann (Zeile 55). Nach der Zählung der Nachbarschaftsprüfpixel die Hauttöne aufweisen, wird in Zeile 76 ein Ausschlusskriterium abgefragt. Das aktuelle Pixel wird demnach akzeptiert, wenn es selbst einen Hautton aufweist und mindestens zehn der umliegenden Prüfpixel ebenfalls Hauttöne aufweisen. Alternativ können für die Akzeptierung des aktuellen Pixels auch insgesamt mindestens 18 umliegende Prüfpixel Hauttönen entsprechen. In diesem Fall muss das aktuelle Pixel selbst keine Hauttöne aufweisen, da genügend umliegende Nachbarn als Hautpixel klassifiziert worden sind. Dies soll das Schließen von Lücken in zusammenhängenden Hautpartien gewährleisten. Die erwähnten Werte für die Segmentierungsparameter wurden experimentell ermittelt. Im Folgenden werden Optimierungen des Quellcodes thematisiert. Mithilfe von zwei verschachtelten for-Schleifen wird durch die Menge der Nachbarschaftspixel iteriert. Dies ist eine kritische Stelle, da jeder Befehl innerhalb der Schleife bei jedem Schleifendurchlauf erneut ausgeführt wird. Daher muss die Anzahl an arithmetischen Befehlen möglichst gering gehalten werden. Ungünstig dabei wirkte sich folgendes Problem aus: Die Initialisierung der for-Schleifen-Variablen mit einer negativen Zahl verursachte Fehler und war somit nicht möglich. Daher mussten Korrekturvariablen eingeführt werden, um dennoch das gewünschte Resultat zu erhalten (Zeile 52). Einsparungen konnten dagegen vor allem bei der Umwandlung der RGB-Werte in den HSV Farbraum erzielt werden. So entsteht ein Farbwert H von unter 60 Grad nur dann, wenn der Rotkanal einen höheren Wert besitzt als Grün- und Blaukanal. Einfach gesagt: Ein rötlicher Farbton bedingt einen hohen Rotanteil in den Farbinformationen. Aus diesem Grund werden weitere Bedingungen nur geprüft, wenn der Rotkanal den Maximalwert der Farbkanäle darstellt (Zeile 58). Somit steht fest, dass R das Maximum und entweder G oder B das Minimum ist (Zeile 60). Die Formeln zur Berechnung von Farbwert, Sättigung und Hellwert wurden direkt in die if-Abfrage integriert. Diese überprüft, ob die Pixelfarben innerhalb der definierten Segmentierungsgrenzen liegen (Zeilen 64-68). Zusätzliche Berechnungsschritte konnten gespart werden, indem konstante Zahlen der Formeln direkt mit den Grenzbedinungswerten verrechnet wurden. Auf die Überprüfung der oberen Sättigungswertgrenze von 0.8 wurde verzichtet, da sie den geringsten Einfluss auf das Ergebnis aufwies. Durch die erwähnten Schritte konnte die Anzahl der zu überprüfenden Nachbarschaftspixel auf 24 erhöht werden, ohne das Limit der Anzahl von arithmetischen Befehlen zu überschreiten. Nach weiterer Recherche wurde eine Möglichkeit gefunden, die Restriktionen des Shaders zu umgehen beziehungsweise die Anzahl der möglichen arithmetischen Operationen deutlich zu erhöhen. Mit dem Befehl #pragma profileoption NumInstructionSlots=65534 sowie dem Befehl #pragma profileoption NumMathInstructionSlots=65534 und aktueller Grafikhardware ist es nun möglich, bis zu 65634 Operationen innerhalb des Shaders auszuführen. Dies erlaubt eine neue Herangehensweise bei der Programmierung des Segmentierungsalgorithmus. Die Idee der Segmentierungsgrenzen sowie das Verfahren der Analyse der Nachbarschaftspixel 6.3 Virtuelle Szene in Unity 97 wird grundsätzlich beibehalten. Jedoch sind die Segmentierungsparameter nun so implementiert wurden, dass sie zur Laufzeit geändert werden können. Dies umfasst unter anderem die Möglichkeiten zur Anpassung des Farbschlüssels für das Chroma-Keying-Verfahren sowie die Erweiterung beziehungsweise Verkleinerung der Grenzweite um den Mittelwert des Farbschlüssels. Darüber hinaus sind die Unter- und Obergrenzen der Sättigungs- und Hellwertgrenzen anpassbar. Die Analyse der Nachbarschaftspixel erfolgt weiterhin in zwei verschachtelten for-Schleifen. Jedoch ist die Anzahl nun nicht mehr auf 24 umliegende Pixel beschränkt. Vielmehr lässt sich die Anzahl der Prüfpixel mittels eines Radius-Parameters justieren. Die Größe der Lücke zwischen den Prüfpixeln kann ebenfalls angepasst werden. Weiterhin ist eine Änderung der Prozentzahl der Prüfpixel möglich, die bestimmt, wie viele umliegende Pixel Hauttönen entsprechen müssen damit das aktuelle Pixel akzeptiert wird. In der Praxis kann mit dieser Methode die Kante der Segmentierung vergrößert oder verkleinert werden. Um den Übergang von Vordergrund- zu Hintergrundbereichen weicher zu gestalten, wurde ein weiterer Parameter eingeführt, der den Alpha-Kanal des aktuellen Pixels beeinflusst. Je weniger Prozent der Nachbarschaftspixel um das aktuelle Pixel Hauttöne aufweisen, desto geringer wird der Alphawert des aktuellen Pixels gesetzt. Die Transparenz der Pixel wird also mit zunehmender Kantennähe größer. In der Maximaleinstellung erscheinen die Kanten der Segmentierung somit stark weichgezeichnet. 6.3 Virtuelle Szene in Unity Zur Integration der Oculus Rift liegen neben dem Oculus SDK sogenannte Prefabs vor, die als Assets in Unity importiert werden können. Der OVRCameraController erledigt alle Anpassungen, die die virtuelle Kamera benötigt, damit das Bild für die Oculus Rift in angemessener Weise gerendert werden kann. Dazu gehört die Änderung des Rotationswinkels der virtuellen Kamera in Abhängigkeit von der Ausrichtung der Virtual-Reality-Brille und damit den Kopfbewegungen des Benutzers. Weiterhin handelt es sich bei dem OVRCameraController um ein übergeordnetes Objekt, dem zwei horizontal leicht versetzte Szenenkameras untergeordnet sind. Auf diese Weise wird die stereoskopische Sicht auf die Welt erreicht. Schließlich werden die einzelnen Bilder der Kameras optisch verzerrt, um die Verzeichnung der Nahlinsen in der Oculus Rift zu korrigieren. Mit dem OVRCameraController lässt sich die 3D-Szene aus einer statischen Position betrachten, die vor dem Start des Spiele-Modus von Unity im Raum positioniert werden kann. Für die aus Ego-Shootern bekannte Möglichkeit, die Welt mittels Tastatur und Maus zu durchschreiten, wurde ein Prefab namens OVRPlayerController eingeführt. Dieses Szenenobjekt reagiert nun, neben den Sensoren der Oculus Rift, auch auf Tastendrücke und Mausbewegungen. Somit ist es beispielsweise möglich, sich durch das Drücken der Taste W in der virtuellen Welt vorwärts zu bewegen. Das Umschauen erfolgt weiterhin mit der Virtual-Reality-Brille, größere Richtungswechsel können allerdings durch Mausbewegungen meist besser gewährleistet werden. So ist die Erkundung der virtuellen Welt auch in einer sitzenden Position gut möglich. Für die Demonstration im Prototypen wurde zur Umsetzung des Konzepts anfangs mit dem OVRCameraController gearbeitet. 98 Umsetzung Die Idee bei der Entwicklung des Prototypen ist es, die virtuelle Welt mit einer realen Repräsentation der Nutzerhände zu überlagern. Daher werden grundsätzlich zwei virtuelle Kameras benötigt: Eine Szenenkamera und eine Kamera, die statisch den segmentierten Videostream abfilmt“. Anschließend müssen die einzelnen Bilder in einer angemessenen Weise überlagert ” werden. Das Vorgehen für die Anzeige in der Oculus Rift funktioniert ähnlich: Neben einem OVRCameraController für die Darstellung der Umgebungsszene wurde ein zusätzlicher Controller benötigt, der den Videostream festhält. Versuche weitere virtuelle Kameras in einen einzelnen OVRCameraController zu integrieren, konnten nicht zu einem erfolgreichen Ergebnis gebracht werden. Daher wurden zwei OVRCameraController eingesetzt. Der erste Controller wird an einer geeigneten Position innerhalb der Tuscany-Demo“-Welt positioniert. Abseits der für den ” Benutzer sichtbaren Bereiche der 3D-Szene ist das Quad-Objekt mit der Videostream-Textur platziert (siehe Abbildung 6.3). Dieses wird vom zweiten OVRCameraController aufgenommen. Dabei ist das Quad-Objekt in Unity einem speziellen Layer zugeordnet. Die restlichen Szenenobjekte sind anderen Layern zugeordnet, welche mittels der Option Culling-Mask“ vom ” Rendervorgang des zweiten OVRCameraController ausgeschlossen werden. Dadurch kann sichergestellt werden, dass ausschließlich der segmentierte Videostream dargestellt wird. Abb. 6.3: Quad-Objekt in der Unity -3D-Szene (links). Segmentierter und gefilterter Videostream, der als Textur auf das Quad-Objekt gerendert wird (rechts). Die virtuelle Kamera wird zur Aufzeichnung vor dem Quad-Objekt positioniert. Die Überlagerung der virtuellen Kameras erfolgt durch die Einstellung der Option Depth“. Der ” rechten Szenenkamera des ersten Camera-Controllers wird der Wert 0“ zugeordnet, während ” die linke Szenenkamera den Wert 1“ erhält. Die virtuellen Kameras des zweiten Controllers sind ” mit den Werten 2“ und 3“ initialisiert, wodurch die entsprechenden Bilder über den aufgenom” ” menen Inhalten der Szenenkameras des ersten Controllers gerendert werden. Die Option Lens ” Correction“ sollte nur bei dem zweiten OVRCameraController aktiviert werden, dessen Kameras als letztes gerendert werden, da ansonsten eine mehrfache Ausführung der optischen Korrekturen erfolgt. Des Weiteren war die Anpassung verschiedener Scripte für den zweiten CameraController notwendig. Da die entsprechenden virtuellen Kameras dieses Controllers nur das statische Quad-Objekt aufnehmen, muss eine Rotation der Kameras unterbunden werden. Der OVRCameraController ist allerdings an die Orientierung der Oculus Rift gebunden. Die Entfernung der Befehle OVRDevice.GetOrientation(0, ref CameraOrientation); beziehungs- 6.4 Bedienung und Einstellung der Parameter des Prototypen 99 weise OVRDevice.GetPredictedOrientation(0, ref CameraOrientation); im Quellcode des Scripts OVRCamera.cs unterbindet die Rotation der Kameras. 6.4 Bedienung und Einstellung der Parameter des Prototypen Die Bedienung des finalen Prototypen erfolgt mittels Maus und Tastatur. Eine Bewegung innerhalb der Szene funktioniert analog zu Computerspielen, die aus egozentrischer Sicht gespielt werden: Mit der Taste W“ kann der Nutzer nach vorn bewegt werden. A“ und D“ erlauben ” ” ” eine Bewegung nach links und rechts. Die Taste S“ hat eine Rückwärtsbewegung zur Folge. ” Über Button und Slider lassen sich mit der Maus verschiedene Parameter einstellen, die die Segmentierung und das Aussehen des überlagerten Video-Layers verändern. Auch die Position des Video-Layers gegenüber der virtuellen Szene lässt sich justieren. Weiterhin ist die vertikale Position der virtuellen Kamera anpassbar. Aufgeteilt wurden die Parameter in verschiedene farbige Blöcke, die in Abbildung 6.4 zu sehen sind. Einstellungen lassen sich durch die Betätigung eines Buttons mit der Beschriftung O“ wieder in den Originalzustand zurückversetzen, sodass ” der Prototyp nicht neugestartet werden muss, falls es zu unerwünschten Ergebnissen kommt. Die Bedienung ist so konzipiert, dass ein Versuchsleiter den Nutzer betreut und Parameter sowohl aufgrund eigener Einschätzungen, als auch infolge von Nutzeraussagen ändern kann. Abb. 6.4: Grafische Benutzeroberfläche des Aughanded Virtuality Prototypen. Die justierbaren Parameter sind in verschiedenen, farbigen Themenblöcken zusammengefasst. Auf der linken Seite befinden sich Buttons, die die Verwendung von Voreinstellungen (Presets) erlauben. 100 Umsetzung Im Folgenden wird die Funktion der einzelnen Parameter kurz zusammengefasst. Die Aufteilung entspricht den farbigen Themenblöcken aus Abbildung 6.4. Mit den Output Parameters“ lässt ” sich das visuelle Erscheinungsbild der Videoüberlagerung anpassen. Die Camera Parameters“ ” erlauben die Erhöhung und Verringerung der Höhe der virtuellen Kamera. Presets“ sind Vorein” stellungen, die sich auf die Output Parameters“ auswirken und der Anzeige der Hände und Arme ” des Nutzers einen bestimmten Look“ zuweisen. Über die Layer Parameters“ ist die Justierung ” ” der Position des Video-Layers in Relation zur virtuellen Szene möglich. Die Segmentation Para” meters“ beeinflussen das Ergebnis der Segmentierung und wirken sich somit unmittelbar darauf aus, welche Pixel letztendlich im Video-Layer angezeigt und welche Pixel vollständig transparent dargestellt werden. Die visuelle Qualität der Segmentierung hängt wesentlich von der Wahl geeigneter Parameter für die jeweilige Lichtsituation im Raum ab. Output Parameters (rot) - Videoüberlagerung Alpha Anpassung der Transparenz. Hue Farbtonverschiebung. Saturation Erhöhung/Verringerung der Sättigung. Brightness Erhöhung/Verringerung der Helligkeit. Mirror vertical Vertikale Spieglung. Mirror horizontal Horizontale Spieglung. Camera Parameters (violett) Camera up Erhöht den Standpunkt der virtuellen Kamera. Camera down Verringert den Standpunkt der virtuellen Kamera. Presets (Buttons links) - Videoüberlagerung Avatar Bläuliche Umfärbung der Video-Überlagerung. Hulk Grünliche Umfärbung der Video-Überlagerung. Ghost Halb-transparente, helle Video-Überlagerung, geringe Sättigung. Normal Zurücksetzung der Parameter auf Standard. Layer Parameters (grün) Distance Entfernung des Video-Layers zur virtuellen Kamera. Height Verschiebung der Höhe des Video-Layers. 6.4 Bedienung und Einstellung der Parameter des Prototypen 101 Segmentation Parameters (gelb) Key Verschiebung des Schlüssel-Farbtons für das Chroma-Keying-Verfahren. Threshold Ausweitung/Verkleinerung der Segmentierungsgrenzen um den Schlüssel. Radius Erhöhung/Verringerung des Radius in dem Nachbarschaftspixel geprüft werden. Gap Erhöhung/Verringerung des Abstands zwischen den zu prüfenden Nachbarschaftspixeln. Percent Prozentzahl der zu akzeptierenden Nachbarschaftspixels für das aktuelle Pixel. Smooth Parameter zur Einstellung des Weichzeichnungsgrads der Segmentierungskanten. S.L Untere Grenze, ab der Pixelkandidaten mit einer zu niedrigen Sättigung verworfen werden. S.U Obere Grenze, ab der Pixelkandidaten mit einer zu hohen Sättigung verworfen werden. V.L Untere Grenze, ab der Pixelkandidaten mit einem zu niedrigen Hellwert verworfen. werden V.U Obere Grenze, ab der Pixelkandidaten mit einem zu hohen Hellwert verworfen werden. 7 Evaluation Der Aughanded Virtuality Prototyp wurde auf OutputDD und auf der Langen Nacht der Wissenschaft der Technischen Universität Dresden einem breiten Publikum vorgestellt. Ziel war es, Meinungen und Feedback von unterschiedlichen Benutzergruppen einzuholen und auszuwerten. Neben Gesprächen und der reinen Präsentation des Prototypen vor Publikum sollten weiterhin Probanden für eine explorative Nutzerstudie gewonnen werden. Die Durchführung des Versuchs fand direkt vor Ort statt, sodass von gleichbleibenden Bedingungen ausgegangen werden kann. 7.1 Vorbereitung und Ziele der Nutzerstudie Durch die Vorstellung des Prototypen auf der OutputDD und der Langen Nach der Wissenschaft ergab sich die Möglichkeit, eine Nutzerstudie durchzuführen. Für die Ziele der Studie kamen mehrere Optionen in Frage, die in den folgenden Abschnitten betrachtet werden. Zur Optimierung der Initialwerte des Algorithmus könnten unterschiedliche Parametereinstellungen verglichen werden. In Frage kommen beispielsweise die Segmentierungsgrenzen sowie der Abstand der Prüfpixel in der Prüfmatrix. Außerdem kann eingestellt werden, wie viele Prüfpixel akzeptiert werden müssen, damit das aktuelle Pixel im segmentierten Videostream dargestellt wird. Die richtige Wahl der Parameter funktioniert jedoch intuitiv bereits zufriedenstellend. Bei einer Befragung von Nutzern sind demnach kaum interessante Ergebnisse zu erwarten, zumal die Wahl passender Algorithmusparameter stark von der Lichtsituation vor Ort abhängt. Interessanter erscheinen Erkenntnisse, die das Nutzungserlebnis in der virtuellen Szene evaluieren. Die User Experience betont laut Hassenzahl et al. ganz besonders die ganzheitliche ” Sicht auf subjektiv erlebte Produktqualität“ [Hassenzahl et al. 2008, S.1]. Der größte Unterschied zum Begriff Usability ist vermutlich die Unterscheidung von pragmatischer und hedonischer Qualität. Die hedonische Qualität bezieht sich auf die anregenden und erlebnisorientierten Produktmerkmale, währenddessen die pragmatische Qualität auf die instrumentellen und funktionellen Produktmerkmale abzielt. Hassenzahl et al. beschreiben die unterschiedlichen Qualitätswahrnehmungen wie folgt: Ist ein interaktives Produkt zur Manipulation der Umwelt geeignet, und wird auch ” von seinen Benutzern so wahrgenommen, besitzt es pragmatische Qualität“. Erwei” tert ein interaktives Produkt hingegen durch neue Funktionen die Möglichkeiten des Benutzers, stellt neue Herausforderungen, stimuliert durch visuelle Gestaltung und neuartige Interaktionsformen oder kommuniziert eine gewünschte Identität (z.B., indem es professionell, cool, modern, anders wirkt) besitzt es hedonische“ Qualität.“ ” [Hassenzahl et al. 2003, S. 2] 104 Evaluation Hedonische Funktionen eines Produkts sind zwar abstrakter als pragmatische Funktionen, erzeugen aber eher Bindungen und Emotionen, da Empfindungen wie Erstaunen, Überraschung, Bewunderung durch andere Personen oder Neugierde eine Rolle spielen. Daher werden auch die Bedürfnisse der Benutzer viel direkter angesprochen (vgl. [Hassenzahl et al. 2008]). Zur Evaluierung des Nutzungserlebnisses muss festgelegt werden, welche Instanzen im Zusammenhang mit dem Prototypen verglichen werden sollen. Der simpelste Ansatz wäre, die rein virtuelle Szene der erweiterten virtuellen Szene gegenüberzustellen, die durch die Überlagerung der realen Hände angereichert wurde. Weitere Möglichkeiten ergeben sich durch den Vergleich verschiedener Weisen der Repräsentation der Hände. So könnten etwa verschiedene Arten von Avatarhänden in die Szene integriert werden: Beispielsweise texturierte, dreidimensionale Modelle oder Polygonnetze. Als Ergebnis wäre eine Tendenz wünschenswert, die anzeigt, ob die reale Darstellung der Hände einer künstlichen Repräsentation überlegen ist. In Betracht gezogen wurde weiterhin die Benutzung zusätzlicher Hardware. Die Razer Hydra ermöglicht die Interaktion mit der virtuellen Umgebung, indem der Benutzer jeweils einen Controller in jede Hand nimmt (vgl. [RazerHydra 2014]). Die Positionen und die Rotation der Controller im Raum werden von einer Basisstation getrackt und anschließend in virtuelle Raumkoordinaten konvertiert. Damit die Positionen der Hände im virtuellen Raum vom Benutzer einschätzbar sind, werden dreidimensionale Hand-Modelle in der Virtualität angezeigt. Diese Modelle können mittels Kollisionsabfragen mit virtuellen Objekten interagieren. Zusätzlich kann der Benutzer verschiedene Buttons an der Razer Hydra drücken, um weitere Interaktionen auszulösen - wie beispielsweise das Zugreifen“ mit den virtuellen Händen. Im Rahmen der vorliegenden Arbeit ” wurde zum Selbstversuch ein virtueller Tisch erstellt, auf dem ein Objekt durch Berührung“ ver” schoben werden konnte. Die Idee war es, die virtuellen Polygon-Hände durch eine Repräsentation der realen Hände zu überlagern. So wäre für die Nutzerstudie ein Vergleich von Avatarhänden und realen Händen einschließlich Interaktion möglich gewesen. Die Überlagerung der virtuellen Polygon-Hände warf jedoch einige Probleme auf. Da die Controller in den Händen gehalten werden müssen, sind die Hände nicht im eigentlichen Sinn frei benutzbar. Außerdem versagt in diesem Fall die Segmentierung des überlagerten Videostreams. Da bis auf Hauttöne alle Pixel transparent dargestellt werden, sind alle Bereiche, in denen die Controller die Hände verdecken, nicht sichtbar. Eine Lösung dieses Problems hätte die Befestigung der Controller an den Unterarmen des Benutzers sein können. So hätte lediglich der Vektor der getrackten Position verlängert werden müssen, um die korrekte Position der Hände zu bestimmen. Der Vorteil dieser Methode wäre, dass der Benutzer die Hände wieder frei“ hätte. In der Praxis konnte dieses Verfahren ” jedoch nicht überzeugen, da sich die Interaktion mit der virtuellen Umgebung nicht natürlich anfühlte, eher ungenau funktionierte und diverse Funktionen der realen Hand ausklammerte. Einzelne Fingerbewegungen oder auch nur das Einknicken des Handgelenks wurden, bedingt durch die Anbringung der Controller an den Unterarmen, nicht unterstützt. Da sich auch das Mapping der realen Händen auf die virtuellen Polygon-Hände durch die Kalibrierung der Razer Hydra schwierig gestaltete und das Hauptaugenmerk der Arbeit nicht auf der Bereitstellung von Interaktionen liegen sollte, wurde darauf verzichtet, dieses Konzept weiter zu verfolgen. 7.1 Vorbereitung und Ziele der Nutzerstudie 105 Eine weitere Untersuchungsmöglichkeit wäre die Manipulation der Höhe der virtuellen Kamera in Relation zur umliegenden Szene. In diesem Zusammenhang könnte der Einfluss verschiedener Kamerastandpunkte auf das Nutzererlebnis analysiert werden. Da sich die Größe der Hände im Fall einer Erhöhung des Kamerastandpunkts nicht ändert, die Szene durch den erhöhten Standpunkt allerdings kleiner erscheint, fühlt sich der Benutzer unter Umständen selbst größer. Der Effekt ist interessant, hat allerdings wenig mit dem Kern der vorliegenden Arbeit zu tun. Dieses Thema stellt eher einen Ansatzpunkt für psychologische Arbeiten dar. Ähnlich verhält es sich mit dem entgegengesetzten Fall: Wird die Handgröße innerhalb der Szene verändert, zeigten Nutzer teilweise erschrockene bis verwirrte Reaktionen. Für einige Personen hatte es den Anschein, die Hände würden sich perspektivisch in die virtuelle Szene hinein bewegen. Offenbar sind sich die Benutzer trotz dieser Manipulation nach wie vor bewusst, dass es sich um ihre eigenen Hände handelt. Durch das Flüchten“ der Hände in die Ferne entstand allerdings bei ” einigen Probanden ein Unwohlsein. Dieses Phänomen scheint ebenfalls eher für psychologische Untersuchungen interessant zu sein. Für die vorliegende Arbeit wurde das Thema nicht weiter verfolgt. Das Gleiche gilt für das horizontale und vertikale Spiegeln des Videostreams und damit der Hände, welches ebenfalls vom Prototypen unterstützt wird. Die entwickelte Aughanded Virtuality Anwendung bietet darüber hinaus die Funktion, mittels verschiedener Parameter die Darstellungsweise der Hände zu manipulieren. Zum Beispiel kann die Silhouette der Hände in einer bestimmten Farbe dargestellt werden. Ebenso sind Farbtonungen sowie Helligkeits- und Sättigungsanpassungen der Haut möglich. Durch Justierung des AlphaKanals können die Hände transparent erscheinen. Eine Option für die Nutzerstudie wäre die Analyse und der Vergleich einzelner Repräsentationen. So könnte zum Beispiel ermittelt werden, ob die Nutzer eine Abstraktion dem realen Bild der Hände vorziehen. Obwohl eine Untersuchung in diese Richtung interessant sein könnte, wurde sich dagegen entschieden. Die fortgeschrittene Fragestellung wird in zukünftigen Arbeiten zu klären sein. Grundlegender erscheint die Frage, ob eine Überlagerung der Virtualität mit den realen Händen und Armen eines Benutzers überhaupt einen Vorteil bieten kann. Ist von einem positiveren Nutzererlebnis auszugehen, obwohl die Hände nicht als interaktives Werkzeug zur Verfügung stehen und somit nur eine visuelle Abbildung innerhalb der virtuellen Szene darstellen? Bevor dieser Aspekt nicht geklärt ist, scheint die Analyse weiterer Sachverhalte kaum zielführend. Die Frage, ob mit überlagerten Händen Größenrelationen und Distanzen in der virtuellen Umgebung besser eingeschätzt werden können, wurde bereits in verschiedenen psychologischen Arbeiten untersucht (vgl. [Linkenauger et al. 2013] und [Mohler et al. 2010]). Hier dienen allerdings Avatardarstellungen des Körpers in der Virtualität als Bezugsreferenz. Eine Aufarbeitung des Themas mit einer realen Repräsentation der Hände erscheint sinnvoll. Der damit verbundene Aufwand für eine derartige Studie hätte den Rahmen dieser Arbeit allerdings überschritten. Die Erstellung einer geeigneten Szene und die Beachtung aller Einflussfaktoren wäre nicht termingerecht möglich gewesen. Dass die Überlagerung einer virtuellen Szene mit der realen Repräsentation des eigenen Körpers den mentalen Immersions- beziehungsweise Präsenzeindruck des Nutzers verstärken kann, wurde 106 Evaluation schon in einer Reihe verwandter Arbeiten vermutet (vgl. [Steinicke et al. 2009], [Busch et al. 2009] und [Saraiji et al. 2009]). Das Thema bietet grundsätzlich einen guten Ansatzpunkt für eine Untersuchung. Eine stichhaltige, wissenschaftliche Studie erfordert jedoch Voraussetzungen, die während Publikums-Veranstaltungen wie der Langen Nacht der Wissenschaft in dieser strengen Form nicht einzuhalten sind. Auch eine entsprechend große Stichprobenmenge an Probanden ist in der beschränkten Zeit nicht zu verwirklichen. Der Fokus der Nutzerstudie soll auf die Erlangung einer Übersicht über das allgemeine Nutzungserlebnis gerichtet sein. Um dennoch die oben genannte Theorie zu adressieren, wurde der verwendete Fragebogen um einige Fragen ergänzt, die auf den Präsenzeindruck des Nutzers abzielen. Im Vorfeld wurde entschieden, die Nutzerstudie mit Hilfe eines Fragebogens durchzuführen. Entsprechendes Equipment für eine physiopsychologische Analyse - etwa die Messung der Hautleitfähigkeit - stand nicht zur Verfügung. Außerdem mussten die einzelnen Probanden innerhalb eines beschränkten Zeitrahmens evaluiert werden, um möglichst eine ausreichend große Stichprobenmenge zu erhalten. Bei einer sehr kleinen Stichprobenmenge sind keine signifikanten Ergebnisse zu erwarten. Aus genannten Gründen schien ein Fragebogen das geeignete Mittel für die Studie darzustellen. Dabei sollte der unmittelbare und subjektive Eindruck des Nutzers im Vordergrund stehen. Eine Auswertung dieses Eindrucks gestaltet sich schwierig, da keine konkreten Werte eines subjektiven Nutzerempfindens messbar sind. In diesem Zusammenhang wurden zur Orientierung andere Arbeiten herangezogen, die sich mit der Bewertung der User Experience beschäftigen. Verbreitete Fragebögen sind etwa der AttrakDiff (vgl. [AttrakDiff 2014]) und der User Experience Questionnaire (UEQ) (vgl. [UEQ 2014]). Der AttrakDiff ist ein kostenfreies Online-Tool, in dem bipolare Paare von Items auf einer 7Punkt-Likert-Skala angeordnet sind. Der Proband entscheidet sich beispielsweise, in welchem Maß er das Produkt schön“ beziehungsweise hässlich“ findet (vgl. [Hassenzahl et al. 2008]). ” ” Der UEQ ist ebenfalls kostenfrei und nutzt eine 7-Punkt-Likert-Skala mit entgegengesetzten Paaren von Items. Der Fragebogen steht allerdings als Offline-Version zur Verfügung und kann demnach in einer ansprechenden Form ausgedruckt werden (vgl. [Laugwitz et al. 2008]). Die Items sind bei beiden Fragebögen zum Teil gleich gewählt. Auch werden bei beiden Varianten klassische Usability-Kriterien ergänzt durch Items, die eher auf die gesamtheitliche Akzeptanz des Produkts und seine hedonische Qualität abzielen. Für die vorliegende Arbeit wurde sich für den Einsatz des UEQ entschieden, da die Nutzerstudie in Form von ausgedruckten Fragebögen durchgeführt werden sollte und durch die manuelle Auswertung eine hohe Flexibilität beim Umgang mit den Daten ermöglicht wird. Laugwitz et al. teilen die gewählten Items im UEQ in sechs Skalen ein. Effektivität, Durchschaubarkeit und Vorhersagbarkeit stellen die Benutzungsqualität eines Produkts dar. Stimulation und Originalität entsprechen der Designqualität und die Attraktivität gibt die allgemeine Zufriedenheit mit dem Produkt an. Für die Skalen Effektivität, Durchschaubarkeit, Stimulation, Originalität und Attraktivität konnte in mehreren Validierungsstudien eine hohe Reliabilität aufgezeigt werden (vgl. [Laugwitz et al. 2009]). Für die Nutzerstudie sind die Skalen und Items, die 107 7.1 Vorbereitung und Ziele der Nutzerstudie auf die Benutzungsqualität abzielen, nicht geeignet. Der Fragebogen wurde ursprünglich für interaktive Produkte konzipiert. Da im entwickelten Prototypen keine direkte Interaktion vorliegt, ist eine entsprechende Analyse nicht als sinnvoll einzuschätzen. Es soll vielmehr das visuelle Erlebnis der Probanden betrachtet werden. In diesem Zusammenhang erscheint die Untersuchung von hedonischen Qualitätswahrnehmungen sowie der Gesamtattraktivität zielführender zu sein. Der UEQ bietet hierfür die Skalen Attraktivität, Stimulation und Originalität, deren Items in dem zu verwendenden Fragebogen für die Nutzerstudie übernommen wurden (siehe Tabelle 7.1). Auf der Website des UEQ wird eine Version des Fragebogens angeboten, die eine vereinfachte Sprachversion der Items enthält (vgl. [UEQ 2014]). Für die in der Tabelle aufgeführten Items wurden geeignete Formulierungen aus beiden Sprachversionen ausgewählt. Tabelle 7.1: User Experience Questionnaire: Items und Skalen. Skala Attraktivität Stimulation Originalität Items erfreulich - unerfreulich erfrischend - einschläfernd kreativ - phantasielos gut - schlecht spannend - langweilig neu - alt anziehend - abstoßend interessant - uninteressant modern - veraltet angenehm - unangenehm abwechslungsreich - eintönig innovativ - konservativ attraktiv - unattraktiv sympathisch - unsympathisch Die Beurteilung der einzelnen Items erfolgt mithilfe einer 7-stufigen Likert-Skala. Es sind immer zwei Itempaare bipolar angeordnet. Hier können die Probanden, je nach subjektiver Meinung, verschiedene Grade der Übereinstimmung ankreuzen (siehe Abbildung 7.1). 1 2 3 4 5 6 7 unerfreulich erfreulich kreativ phantasielos erfrischend einschläfernd langweilig spannend uninteressant interessant neu alt gut schlecht abstoßend anziehend veraltet modern unangenehm angenehm abwechslungsreich eintönig attraktiv unattraktiv sympathisch unsympathisch konservativ innovativ Abb. 7.1: Ausschnitt des Fragebogens der Nutzerstudie der vorliegenden Arbeit. Es wurden Items des User Experience Questionnaire verwendet (vgl. [UEQ 2014]). Zur Einschätzung des Präsenzeindrucks der Nutzer mussten geeignete Fragestellungen gefunden werden. Als Orientierung diente hier die viel zitierte Arbeit von Witmer & Singer (vgl. 108 Evaluation [Witmer und Singer 1998]). Die Autoren stellen den Presence Questionnaire vor, der zur Messung des Präsenzeindrucks von Anwendern in virtuellen Umgebungen dienen soll. In verschiedenen Experimenten konnte aufgezeigt werden, dass der Fragebogen eine hohe Reliabilität aufweist. Er enthält 32 Items, die in verschiedene Faktoren aufgeteilt wurden: Kontroll-Faktoren, sensorische Faktoren, Ablenkungs-Faktoren und Realismus-Faktoren. Zusätzlich ordnen Witmer und Singer den Items diverse Subskalen zu: Zum Beispiel Einbeziehung“, Akustik und Haptik. Sie ” gehen in ihrer Arbeit von einem Virtual Reality System aus, dass alle Sinne der Nutzer einbezieht. Der Prototyp der vorliegenden Arbeit spricht allerdings ausschließlich die visuelle Wahrnehmung an. Zwar sind in der Demo-Szene auch Hintergrundgeräusche integriert, für die Nutzerstudie soll die auditive Wahrnehmung jedoch keine Rolle spielen. Da sich die Soundkulisse zu keiner Zeit verändert, wäre ein Vergleich ohnehin redundant. Haptisches Feedback wird durch das System nicht unterstützt. Daher sind Items, die auf auditive oder haptische Aspekte der virtuellen Umgebung anspielen, für die Nutzerstudie nicht verwendbar. Da im Prototypen weiterhin keine Interaktion mit der virtuellen Umgebung vorgesehen ist, müssen Kontroll-Faktoren ebenfalls ausgeschlossen werden. Aus den übrigen Items wurden geeignete Fragen zu den einzelnen Faktoren ausgewählt, übersetzt und an das gegebene Szenario angepasst (siehe Tabelle 7.2). Tabelle 7.2: Fragen zum Präsenzeindruck der Nutzer nach der Arbeit von Witmer & Singer (vgl. [Witmer und Singer 1998]). Faktor/Subskala Item (englisch) Item (deutsche Fassung) Sensorisch/ How much did the visual aspects of the Wie präsent haben Sie sich in der virtuellen Einbeziehung environment involve you? Umgebung gefühlt? How involved were you in the virtual envi- Wie stark haben Sie sich in die virtuelle Um- ronment experience? gebung hineingezogen gefühlt? -/ Einbeziehung -/ Einbeziehung Ablenkung/ - Ablenkung/ - Realismus/ Natürlich Were you involved in the experimental task to the extent that you lost track of time? In welchem Ausmaß haben Sie bei der Betrachtung der virtuellen Umgebung die Zeit vergessen? How aware were you of your display and Wie bewusst haben Sie das Display und die control devices? Video-Brille wahrgenommen? How aware were you of events occurring Wie bewusst waren Sie sich der Ereignisse, die in the real world around you? in der realen Welt um Sie herum auftraten? How much did your experiences in the Wie sehr stimmt das Erlebnis in der virtuel- virtual environment seem consistent with len Umgebung mit Ihren Erlebnissen aus der your real-world experiences? realen Welt überein? Das erste Item der Tabelle 7.2 bezieht sich in der Originalform auf den visuellen Aspekt des Nutzungserlebnisses. In der deutschen Fassung wurde die Frage allgemeiner formuliert, da der Prototyp ohnehin nur die visuelle Wahrnehmung beeinflusst. Die Auswahl der Items erfolgt so, dass eine relativ breite Variation der Faktoren und Subskalen erreicht werden konnte. Die ersten 7.2 Erkenntnisse von OutputDD 109 beiden Fragen ähneln sich dennoch recht stark. Da in diesem Fall direkt auf den Präsenzeindruck des Nutzers angespielt wird und dies der Hauptpunkt des Interesses ist, wurden beide Fragen in den Fragebogen aufgenommen. Auf weitere Items wurde verzichtet, um die Zeit, die für die Beantwortung der Nutzerstudie benötigt wird, möglichst moderat zu halten. Daher ist festzuhalten, dass die Ermittlung des Präsenzeindrucks des Nutzers in der Nutzerstudie der vorliegenden Arbeit nicht allen Kriterien im Sinne von Witmer & Singer entspricht. Der Anwendung von bestimmten Items stellt einen Versuch dar, eine erste Impression vom Präsenzempfinden der Probanden zu erhalten. Zu beachten ist, dass es sich bei der Nutzerstudie der vorliegenden Arbeit um eine explorative Studie handelt, die lediglich eine Tendenz des Nutzungserlebnisses aufzeigt und eine Grundlage für anschließende Studien darstellen kann. Der komplette Fragebogen, der für die Befragung verwendet wurde, ist in Anhang C zu finden. Neben den bereits erwähnten Items, sollten die Probanden einige Fragen zu ihrer Person beantworten. Selbstverständlich wurden die Fragebögen anonym ausgefüllt. Lediglich Informationen über das Geschlecht und eine grobe Alterseinteilung waren vorgesehen. Zusätzlich sollten die Testpersonen angeben, ob sie wissen, was Virtual Reality ist und ob sie bereits Erfahrungen mit Virtual Reality Anwendungen gesammelt haben. Somit wird eine Möglichkeit geschaffen, bei der Auswertung der Studie eventuelle Auffälligkeit in einzelnen Nutzergruppen ausfindig zu machen. 7.2 Erkenntnisse von OutputDD Im Rahmen der OutputDD fand die Präsentation des Prototypen und ein Probedurchlauf der Nutzerstudie statt. Die Erkenntnisse und Konsequenzen werden in den folgenden Abschnitten dargelegt. Die reguläre Durchführung der Nutzerstudie fand einen Tag später bei der Langen Nacht der Wissenschaft der TU Dresden statt. 7.2.1 Erkenntnisse für die Nutzerstudie Der Probedurchlauf der Nutzerstudie zeigte einige Probleme mit dem Versuchsaufbau. Der Prototyp wurde in einem Raum mit anderen Projekten der Professur für Mediengestaltung vorgestellt. Die Position des verwendeten Rechners im Mittelpunkt des Zimmers mit Blick zur offenen Tür stellte sich als ungünstig heraus. Die Oculus Rift wirkte als Publikumsmagnet, sodass der Stand nahezu zu jedem Zeitpunkt von Besuchern umlagert war. Dieser Umstand und der relativ hohe Lärmpegel stellten eine sehr große Ablenkung für den jeweiligen Probanden dar. Auch die Abschirmung weiterer äußerer Einflüsse funktionierte nicht überzeugend. Zwar war die visuelle Wahrnehmung durch das Head-Mounted-Displays von der Realität abgekoppelt, durch den Segmentierungsvorgang, der die Hände des Nutzers anhand der Hautfarbe erkennt, wurden allerdings auch die Gliedmaßen und Köpfe umstehender Menschen auf dem Display angezeigt. Dies interessierte die Testpersonen ungemein, sodass die Konzentration für die gewünschte visuelle 110 Evaluation Erkundung der virtuellen Szene deutlich nachließ. Problematisch war in diesem Zusammenhang der Aufbau des Sitzplatzes in Richtung geöffneter Tür. Selbst wenn ein Proband sich auf die virtuelle Szene einließ, wurde er von kommenden und gehenden Besuchern gestört, die sozusagen durch das Bild liefen. Als Konsequenz wurde der Versuchsaufbau für die Lange Nacht der Wissenschaft geändert. Der Tisch mit dem Display sowie dem entsprechenden Rechner für die Visualisierung wurde in Richtung Zimmerwand in einer Ecke positioniert. Dadurch konnten Besucher den Probanden nicht von allen Seiten betrachten und ablenken. Zusätzlich wird die optische Störung minimiert, weil sich keine Personen mehr im Sichtfeld der Probanden befinden. Zur weiteren Abschirmung der Testperson vor dem regen Publikumsverkehr wurden mobile Trennwände um den Sitzplatz gestellt und ein Kopfhörer angeschlossen, der akustische Ablenkungen vermindern sollte. Hinsichtlich der Formulierung des Fragebogens schienen die Probanden beim Probedurchlauf keine Schwierigkeiten zu haben. Auch der Zeitbedarf pro Fragebogen hielt sich auf einem moderaten Niveau. Zwischen zehn und fünfzehn Minuten benötigten die Personen in der Regel bis zum Abschluss der Nutzerstudie. Der Prototyp konnte die Testpersonen im Allgemeinen überzeugen. Die Größe der Hände wurde allerdings durchweg als zu immens empfunden. Eine Kalibrierung des Prototypen für die reguläre Nutzerstudie war daher zwingend notwendig. Um dies zu bewerkstelligen, wurde das System nach eigenem Empfinden so eingestellt, dass die Größe der Hände möglichst natürlich erscheint. Die Lichtsituation im Präsentationsraum entsprach in etwa der Lichtsituation am Arbeitsplatz. Eine Anpassung der Videoparameter der GoPro-Kamera war demnach nicht notwendig. Es ist außerdem zu beachten, dass die Kamera das Videobild eigenständig an das vorherrschende Umgebungslicht anpasst. Lediglich eine Aufhellung von unten wäre hilfreich gewesen, um dunkle Schatten an der Unterseite der Hände und Arme zu vermeiden. Es konnte jedoch bis zur Durchführung der Nutzerstudie keine geeignete Lichtquelle gefunden werden, die eine geeignete diffuse Lichtsituation von unten geschaffen hätte. 7.2.2 Feedback der Probanden Im Allgemeinen war die Resonanz der Nutzer und der umstehenden Besucher sehr positiv. Natürlich trägt zu diesem Ergebnis auch die neuartige Technik der Oculus Rift bei. Das Eintauchen in virtuelle Welten war für einige Probanden ein bisher unbekanntes Erlebnis und erzeugte offenbar einen nachhaltigen und faszinierenden Eindruck. In diesem Zusammenhang ist die hervorragende Qualität des Demo-Levels Toscana von © Oculus VR zu erwähnen. Benutzer, die mit der Oculus Rift schon vertraut waren, zeigten sich interessierter an der Darstellung der eigenen Hände im virtuellen Raum. Die Idee und die Umsetzung des Themas fand großen Anklang. Sehr aufschlussreich waren die Gespräche mit Nutzern und umstehenden Personen, die die Präsentation beobachteten. Da es sich bei Output um eine Messe der Fakultät Informatik handelt, waren viele Studenten dieser Fachrichtung anwesend. Dementsprechend hoch war auch 7.2 Erkenntnisse von OutputDD 111 die Zahl an technisch versierten Besuchern. Ein Großteil der Betrachter kannte die Oculus Rift bereits, einige hatten das Head-Mounted-Display schon ausprobiert. Nicht überraschend war daher, dass die meisten Fragen zur Funktionsweise und technischen Umsetzung des Prototypen, insbesondere zur Segmentierung des Videostreams der Hände gestellt wurden. Darüber hinaus interessierten sich die Benutzer vor allem für die Möglichkeit, Interaktionen mit der virtuellen Umgebung durchzuführen. Dies war gleichzeitig der am häufigsten geäußerte Wunsch der Probanden für eine Erweiterung des Systems. Neben der Manipulation der virtuellen Objekte und der Umgebung wurde auch die Idee der Navigation mittels Handgesten positiv aufgenommen. Die Interaktion mit Objekten scheint ein natürliches Bedürfnis darzustellen, das aufkommt, sobald die Nutzer ihre Hände in der virtuellen Umgebung sehen. Auf die Frage, um welche Funktionen der Prototyp ergänzt werden könnte, wurden weiterhin folgende Ideen erwähnt: ◦ Die Verwendung von zwei Kameras zur stereoskopischen Darstellung der Hände. ◦ Die Anpassung der Segmentierung an verschiedene Hautfarben und -typen. ◦ Die Anzeige von Uhren und Armbändern im segmentierten Videostream. ◦ Die Anzeige des kompletten Körpers in der virtuellen Umgebung. ◦ Einflussnahme der virtuellen Umgebung auf die Darstellung der Hände (Licht, Schatten). Obwohl nur eine Kamera zur Aufzeichnung des Videostream verwendet wurde und daher nur eine monoskopische Darstellung des überlagerten Videostreams möglich war, schien die Repräsentation der eigenen Hände und Arme für viele Benutzer überzeugend. Dennoch wurden auch Meinungen geäußert, dass eine stereoskopische Darstellung für die Umsetzung sinnvoller wäre. So würden sich auch die Positionen der Hände in der virtuellen Umgebung besser einschätzen lassen. Teilweise entsprach der Realismusgrad des überlagerten Videostreams nicht den Ansprüchen der Nutzer. Dies hatte offenbar weniger mit der Qualität des Videos zu tun als mit der Anpassung der Ansicht der überlagerten Hände an die virtuelle Umgebung. Einige Nutzer wünschten sich beispielsweise, dass Lichteffekte der virtuellen Welt, wie etwa Reflexionen, Highlights und Schatten, auch auf die Videoüberlagerung der Hände angewendet würden. Dies könnte den Eindruck, dass sich die eigenen Gliedmaßen wirklich in der Virtualität befinden, deutlich verstärken. Einige Nutzer trugen kurze Hosen und konnten daher auch ihre Beine in der Virtualität betrachten. In diesem Zusammenhang wurde nach der Darstellung des kompletten Körpers in der virtuellen Umgebung gefragt. Weiterhin bemerkten die Nutzer, dass sie in der virtuellen Szene schwebten“. Bei der Anzeige des kompletten Körpers scheint demnach die Darstellung des ” Schattens noch wichtiger für ein angenehmes Nutzungsempfinden zu sein, als bei einer reinen Repräsentation der Arme und Hände. Die Probanden suchten sofort nach Verbindungspunkten“ ” ihres Körpers mit der virtuellen Szene. Die Segmentierungsqualität des Videostreams wurde im Allgemeinen positiv beurteilt. Lediglich unsaubere“ und verpixelte Kanten fielen einigen Besuchen auf. Hier könnte unter Umständen ” 112 Evaluation eine geringe Weichzeichnung des Videostreams an den Kanten eine Verbesserung bedeuten. Diese Funktion wurde nachträglich implementiert und steht in der finalen Version des Prototypen zur Verfügung. Im Allgemeinen sollte jedoch beachtet werden, dass die Auflösung des Displays der Oculus Rift beim Development Kit recht niedrig ist und daher die gesamte Anzeige relativ verpixelt“ wirkt. Diese Tatsache wurde von vielen Nutzern als negativ empfunden. Weitere Ver” besserungsmöglichkeiten der Segmentierung im Prototypen bezogen sich eher auf die Flexibilität des Systems. In der vorgestellten Version war der Prototyp auf Hauttöne angepasst, die dem mitteleuropäischen Hauttyp entsprechen. Für Menschen mit dunklerer Hautfarbe funktioniert der Prototyp daher bisher nur eingeschränkt. Hier wünschten sich die Probanden eine Möglichkeit zur Anpassung der Segmentierungsgrenzen. Im finalen Prototypen lässt sich mit der Einstellung zahlreicher Parameter eine überzeugende Segmentierungsqualität erzielen, die unabhängig davon ist, welche Hautfarbe der Nutzer besitzt. Die vertikale und horizontale Spieglung der Hände empfanden die Benutzer eher als negativ. Die umstehenden Betrachter wurden durch diese Funktion dagegen durchaus belustigt. Neben sofortigen Fragen nach der Zweckmäßigkeit eines solchen Erlebnisses, konnte vor allem die Verwirrung der Nutzer festgestellt werden. Dennoch bemerkten viele Testpersonen schnell, was geschehen war und nahmen die Hände offenbar weiterhin als zu ihrem Körper gehörend, wahr. Das Verkleinern der Hände gegenüber der virtuellen Umgebung fühlte sich für die Benutzer offenbar an, als ob sich die Hände in Richtung des Blickes in die Szene hineinbewegen. Auch ohne stereoskopische Sicht funktionierte die Darstellung der Entfernung - scheinbar allein aufgrund der Größenrelation. Die Nutzer reagierten bei diesem Erlebnis teilweise erschrocken. Bei der Durchführung des Verkleinerungsprozesses wurden die Darstellung der Hände allerdings abge” schnitten“, da die GoPro-Kamera nur einen begrenzten Bereich der realen Umgebung aufnehmen kann und bei Verkleinerung des Bilds Informationen an den Rändern fehlen. Dies empfanden die Nutzer teilweise als unattraktiv. Hinsichtlich der verwendeten Hardware gab es keine Schwierigkeiten. Die Geräte funktionierten wie erwartet. Der Akku der GoPro-Kamera war allerdings nach reichlich einer Stunde Dauerbelastung entladen und musste daher über das USB-Kabel geladen werden. Das gleichzeitige Streamen eines Videos und Laden der Kamera ist nicht möglich. Daher mussten Pausen eingelegt werden, in denen den Besuchern andere Demonstratoren der Oculus Rift präsentiert wurden. Für die Nutzerstudie zur Langen Nacht der Wissenschaft sollte daher beachtet werden, dass Ladezeiten auftreten, in denen das Experiment nicht fortgeführt werden kann. Aus diesem Grund wurde entschieden, einen Zeitplan für die Veranstaltung zu erstellen. Abwechselnd sollte eine Stunde die Nutzerstudie durchgeführt und anschließend für eine Stunde die Kamera geladen werden. Während der Wartezeit wurden die Besucher mit der Demonstrationen einer virtuellen Achterbahnfahrt unterhalten. 7.3 Durchführung und Ergebnisse der Nutzerstudie 113 7.3 Durchführung und Ergebnisse der Nutzerstudie Im Folgenden soll die Durchführung der Nutzerstudie geschildert werden. Anschließend erfolgt die Auswertung der ermittelten Daten der Fragebögen. Zur Evaluierung muss festgestellt werden, welche Items und Fragen signifikant beantwortet wurden und daher verlässliche und aussagekräftige Ergebnisse darstellen. Im zweiten Abschnitt erfolgt die Analyse und Interpretation der Ergebnisse. 7.3.1 Durchführung der Nutzerstudie Für die Nutzerstudie konnten während der Langen Nacht der Wissenschaft insgesamt 21 Probanden gewonnen werden. Einer der Fragebogen wurde jedoch nicht korrekt ausgefüllt und musste daher aussortiert werden. Daher beträgt die Stichprobengröße für die Studie zwanzig Einheiten. Von den Testpersonen waren 75% männlich und 25% weiblich. Die Altersgruppe von 14-29 Jahren stellte bei weitem die größte Nutzergruppe dar (65%, 13 Personen). Doch auch für die übrigen Altersgruppen konnten zwei bis drei Probanden gefunden werden. Die überwiegende Mehrheit der Testpersonen gaben an, bereits zu wissen, was Virtual Reality ist (85%, 17 Personen). Auf die Frage Haben Sie bereits Erfahrungen mit Virtual Reality gemacht?“ antworteten ” 65% der Probanden mit nein“. Sieben Benutzer hatten dagegen schon Erlebnisse mit Virtual ” Reality Anwendungen. Im Rahmen der Nutzerstudie sollte das visuelle Erlebnis der virtuellen Szene ohne die Darstellung der Hände mit dem Eindruck verglichen werden, der bei der Betrachtung der virtuellen Umgebung mit einer überlagerten Repräsentation der realen Hände entsteht. Die Aufgabenstellung für die Testpersonen lautete: Sehen Sie sich um, lassen Sie die Welt auf sich wirken. Sie können ” nichts falsch machen. Bewertet werden soll der rein visuelle Aspekt des Erlebnisses.“ Den meisten Probanden wurde zuerst die Szene ohne Hände präsentiert, die anschließend bewertet wurde. Danach fand die Darbietung der Szene mit der Überlagerung der realen Hände statt und wiederum eine Bewertung per Fragebogen. Zum Vergleich wurden die Szenen einigen Testpersonen dagegen in umgekehrter Reihenfolge präsentiert, zuerst die Szene mit Händen, danach die Szene ohne Hände. Die Probanden bekamen für die visuelle Erkundung der Szene in der Regel so viel Zeit, wie sie wollten. Die Betrachtungszeit schwankte dabei zwischen einer und vier Minuten. Es ließ sich nicht vermeiden, dass einige Probanden bereits vor Beginn des Experiments merkten, auf welche Fragestellung die Studie abzielte. Andere erlebten die Integration der Hände überraschend und reagierten dementsprechend erstaunt. Der Moment schien für einige Benutzer eine regelrechte Faszination auszulösen. Jedoch mussten einige Probanden darauf hingewiesen werden, dass es nun sinnvoll wäre, die Arme nach vorn zu strecken und zu betrachten. Einige Nutzer gingen offenbar nicht davon aus, dass ihre Gliedmaßen in der virtuellen Umgebung auftauchen würden. Im Gegensatz dazu suchten Testpersonen, denen zuerst die Szene mit Händen 114 Evaluation präsentiert wurde, bei der Darbietung der zweiten Szene sofort nach ihren Händen, obwohl sie vorher darauf hingewiesen wurden, dass es nun nicht mehr möglich sei, die Hände zu sehen. Konkrete Probleme traten während der Durchführung nicht auf. Der Ablauf der Nutzerstudie nach dem erstellten Zeitplan funktionierte erwartungsgemäß. Die Probanden konnten durch die Trennwände recht gut vom Publikumsverkehr abgeschirmt werden. Die Verdeckung weckte zwar wiederum die Neugierde der umstehenden Besucher, die teilweise versuchten, einen Blick auf die Testperson zu werfen. Da die Probanden allerdings eher in Richtung Wand und Zimmerecke gerichtet waren, fiel die Ablenkung relativ gering aus. Akustische Irritationen konnten durch die verwendeten Kopfhörer erfolgreich vermindert werden. Einige Probanden versuchten das System auszureizen“ und folgten nicht in jedem Fall den Anweisungen. Dies trat vor allem auf, ” wenn die visuelle Erkundung der virtuellen Szene abgeschlossen war und die Nutzer eine neue Aufgabe suchten, die sie in der virtuellen Umgebung erfüllen können. In diesem Fall wurde der praktische Teil der Analyse unterbrochen und die Person gebeten den Fragebogen auszufüllen. Die Störfaktoren während des Nutzungserlebnisses fielen jedoch wesentlich geringer aus als im Probedurchlauf der Studie zur OutputDD. Obwohl die Größe der Darstellung der überlagerten Hände in der virtuellen Umgebung vor Beginn der Nutzerstudie kalibriert wurde und daher annähernd der realen Größe der Hände entsprachen, empfanden einige Testpersonen die Repräsentation der Hände weiterhin als zu immens. Es stellte sich heraus, dass die Darstellung vor allem zu groß wirkte, wenn die Hände sich in geringem Abstand zum Gesicht befanden. Offenbar erschien die Abbildung durch die starke WeitwinkelOptik der GoPro-Kamera in Kombination mit der Verzeichnung der Nahlinsen der Oculus Rift größer, je näher die Hände sich an der Kamera befanden. In diesem Sinn verursachte nicht die Kalibrierung der Größendarstellung den unerwünschten Effekt, sondern die verwendete Hardware. Eventuell könnte der Effekt durch eine softwareseitige Lösung vermindert werden. Interessant erscheint der Fakt, dass viele Probanden während der Szene mit überlagerter Handrepräsentation freiwillig bestimmte Gesten durchführten. So wurde etwa versucht, bestimmte Objekte zu greifen oder bekannte Gesten aus Filmen zu imitieren: etwa das Ausstrecken der Arme, wie Supermann“. Es scheint also grundsätzlich ein Bestreben der Nutzer zu geben, nicht nur mit ” der virtuellen Welt interagieren zu wollen, sondern auch übernatürliche Phänomene aus fiktiven Geschichten nachzuerleben. Offenbar wussten einige Testpersonen bereits aus Computerspielen, dass die physischen Grenzen der realen Welt nicht zwangsweise für virtuelle Umgebungen gelten müssen und daher auch Aktionen wie das Fliegen theoretisch möglich sind. Auch Personen mit einem Alter über 60 Jahren konnten befragt werden. Das Erlebnis der virtuellen Szene ohne Hände wurde interessiert wahrgenommen. Ein Proband äußerte Folgendes: Das ” ist ja alles ganz nett, aber ich wünschte, ich könnte jetzt zum Beispiel meine Hände sehen.“. Nachdem die Szene mit dem überlagerten Videostream der Hände präsentiert wurde, konnte die Darstellung den Probanden allerdings nicht überzeugen. So wurde kritisiert, dass die Hände abgeschnitten und fransig“ gewesen seien. Der Realismusgrad der Videoüberlagerung konnte ” offenbar vor allem ältere Testpersonen nicht vollkommen überzeugen. Allerdings muss beachtet 7.3 Durchführung und Ergebnisse der Nutzerstudie 115 werden, dass nur wenige ältere Personen den Prototyp testeten. Eindeutig negative Meinungen zu der Augmented Virtuality Anwendung wurden von jüngeren Probanden nicht geäußert. Offenbar ist in dieser Nutzergruppe eine grundsätzlich höhere Akzeptanz für die neuartige Technologie vorhanden. 7.3.2 Auswertung der Datensätze Ein besonderer Dank für die Unterstützung bei der Auswertung der Nutzerstudie geht an Dr. rer. nat. Romy Müller von der Professur Ingenieurpsychologie und angewandte Kognitionsforschung der Technischen Universität Dresden. Die Datensätze wurden mithilfe von Microsoft Excel und IBM SPSS Statistics (vgl. [SPSS-Statistics 2014]) ausgewertet. Zunächst wurden die Einzelwerte jedes Fragebogens in Excel übertragen und für die Verwendung in SPSS in eine entsprechende Form gebracht. Für die Analyse der Daten ist es wichtig zu wissen, welches Skalenniveau die verwendeten Items aufweisen. Grundsätzlich lässt sich die eingesetzte 7-Punkt-Likert-Skala am ehesten einer Ordinalskala zuordnen. Zwischen den Items besteht eine Rangordnung, es ist jedoch nicht eindeutig klar, welcher Abstand zwischen den einzelnen Werten liegt. Dennoch ist die Betrachtung der Items als Intervallskala für die Auswertung eines derartigen Fragebogen von Vorteil. Die Ausprägungen dieses Skalenniveaus müssen metrisch sein und sich daher als Zahlen darstellen lassen. Es wird also ein gleichmäßiger Abstand zwischen den Werten angenommen und Zwischenstufen als Komma-Zahlen angegeben. Da die Ergebnisse der Studie nur untereinander verglichen werden und nicht einer globalen Testdatenmenge genügen müssen, ist dieses Vorgehen akzeptabel. Die Annahme einer Intervallskala ist sinnvoll, weil die Auswertung der Nutzerstudie so per t-Test durchgeführt werden kann. So lässt sich eine Aussage darüber treffen, ob die einzelnen Ergebnisse signifikant und damit brauchbar sind. Der Test muss für verbundene Stichproben durchgeführt werden, da jeder Proband sowohl die Szene mit Handrepräsentation als auch die Szene ohne die Überlagerung der Hände bewertet hat. Zuerst wird die gesamte Menge von Testpersonen betrachtet. Dafür muss für jedes Item der Durchschnitt aus allen Einzelwerten gebildet werden. Je nach Verhältnis der Größe der Varianz innerhalb der Bewertungen der Probanden zu den ermittelten Durchschnittswerten kann von signifikanten Ergebnissen ausgegangen werden. Übersteigt die Varianz eine bestimmte Größe - im Vergleich zum Abstand der Durchschnitte zwischen der Bewertung beider betrachteter Test-Szenen - ist davon auszugehen, dass die Werte zufällig entstanden sind. Daten werden als signifikant betrachtet, wenn sie mit einer maximalen Wahrscheinlichkeit von fünf Prozent zufällig entstanden sind. Im Folgenden werden die Ergebnisse der einzelnen Items beschrieben. Als Szene (ohne Hände)“ wird folglich das visuelle Erlebnis der virtuellen Umgebung ohne die ” Überlagerung des Videostreams bezeichnet. Szene (mit Händen)“ soll das visuelle Nutzungser” lebnis der virtuellen Umgebung mit der überlagerten Darstellung der realen Hände wiedergeben. Die Items sind bipolar angeordnet. Wurde ein bipolares Itempaar Item 1 - Item 2“ mit einem ” geringen Wert benotet, zeigt dies an, dass die Probanden eher zu Item 1 tendierten. Im Umkehrschluss weist ein hoher Wert auf eine Tendenz in Richtung von Item 2 hin. Die Items sind 116 Evaluation so angeordnet, dass positive beziehungsweise negative Bewertungsoptionen auf einer zufälligen Seite auftauchen. Das bipolare Itempaar attraktiv - unattraktiv“ ist beispielsweise positiv be” wertet, wenn der Wert niedring ist. Wäre das Itempaar umgekehrt angeordnet ( unattraktiv ” attraktiv“) entsprächen hohe Werte einem positiven Nutzerfeedback. Das Item kreativ - phantasielos“ wurde in der Szene (mit Händen) mit einem kleineren Wert ” benotet als in der Szene (ohne Hände), t(19) = 2.35, p = .030. Daher empfanden die Probanden die Szene (mit Händen) kreativer“. ” Das Item uninteressant - interessant“ wurde in der Szene (mit Händen) mit einem größeren ” Wert benotet als in der Szene (ohne Hände), t(19) = 3.12, p = .006. Daher empfanden die Probanden die Szene (mit Händen) interessanter“. ” Das Item veraltet - modern“ wurde in der Szene (mit Händen) mit einem größeren Wert benotet ” als in der Szene (ohne Hände), t(19) = 2.43, p = .025. Daher empfanden die Probanden die Szene (mit Händen) moderner“. ” Das Item abwechslungsreich - eintönig“ wurde in der Szene (mit Händen) mit einem kleineren ” Wert benotet als in der Szene (ohne Hände), t(19) = 2.29, p = .033. Daher empfanden die Probanden die Szene (mit Händen) abwechslungsreicher“. ” Das Item konservativ - innovativ“ wurde in der Szene (mit Händen) mit einem höheren Wert ” benotet als in der Szene (ohne Hände), t(19) = 2.21, p = .040. Daher empfanden die Probanden die Szene (mit Händen) innovativer“. ” Das Item sehr präsent - nicht präsent“ zur Frage Wie präsent haben Sie sich in der virtuellen ” ” Umgebung gefühlt?“ wurde in der Szene (mit Händen) mit einem kleineren Wert benotet als in der Szene (ohne Hände), t(19) = 2.32, p = .032. Daher hatten die Probanden in der Szene (mit Händen) einen höheren Präsenzeindruck. Das Item sehr bewusst - nicht bewusst“ zur Frage Wie bewusst waren Sie sich der Ereignisse, ” ” die in der realen Welt um Sie herum auftraten?“ wurde in der Szene (ohne Hände) mit einem größeren Wert benotet als in der Szene (mit Händen), t(19) = 2.71, p = .014. Daher waren sich die Probanden in der Szene (ohne Hände) weniger der Ereignisse bewusst, die in der realen Welt um sie herum auftraten. Im Verlauf der Auswertung der Nutzerstudie wurde die Analyse verschiedener Nutzergruppen in Betracht gezogen. Da die Stichprobenmenge allerdings schon von vornherein relativ gering war, ist eine Aufteilung in Gruppen unter Umständen kritisch, da keine signifikanten Ergebnisse zu erwarten sind. Möglichkeiten der Auswertung ergeben sich beispielsweise durch den Vergleich von Geschlechtern oder Altersgruppen. Da überwiegend Männer an der Studie teilnahmen, ist die Gruppe der Frauen vermutlich zu klein für eine sinnvolle Analyse. Hinsichtlich des Alters sind die Mehrheit der Testpersonen in die Gruppe von 14-29 Jahren einzuordnen. Für die anderen Altersgruppen konnten jeweils nur 2-3 Probanden getestet werden. Somit ist auch hier ein Vergleich nicht zweckmäßig. Auf die Frage Wissen Sie, was Virtual Reality ist?“ antworteten ” 7.3 Durchführung und Ergebnisse der Nutzerstudie 117 85% der Probanden mit ja“. Hier sind demnach auch keine signifikanten Ergebnisse zu erwar” ten. Bei der Frage Haben sie Erfahrungen mit Virtual Reality ?“ sind die Antworten dagegen ” recht gleichverteilt ausgefallen: 35% der Testpersonen antwortete mit ja“, 65% mit nein“. In ” ” diesem Fall sind beide Nutzergruppen ausreichend groß und ein Vergleich könnte durchaus Sinn machen. Zuerst soll die Frage beantwortet werden, welche Itemvergleiche von der Nutzergruppe Erfah” rung mit Virtual Reality“ bei der Auswertung signifikant waren. Nachfolgend sind die entsprechenden, signifikanten Itempaare mit der Signifikanz p angegeben: uninteressant - interessant“ ” (p = .003); neu - alt“ (p= .028); abwechslungsreich - eintönig“ (p = .026); sehr präsent ” ” ” - nicht präsent“ (p = .014, Frage Wie präsent haben Sie sich in der virtuellen Umgebung ” gefühlt?“). Bei der Nutzergruppe Keine Erfahrung mit Virtual Reality“ war dagegen nur ein ” Itemvergleich signifikant: sehr bewusst - nicht bewusst“ (p = .012, Frage: Wie bewusst waren ” ” Sie sich der Ereignisse, die in der realen Welt um Sie herum auftraten?“). Daher ist als Ergebnis Folgendes festzuhalten: Für die Nutzergruppe Erfahrung mit Virtual Reality“ gab es Unterschie” de hinsichtlich Interessantheit“, Neuheit“, Abwechslungsreichtum“ und Präsenzeindruck“ ” ” ” ” zwischen der Szene (mit Händen) und der Szene (ohne Hände). Für die Nutzergruppe Keine ” Erfahrung mit Virtual Reality“ gab es lediglich Unterschiede hinsichtlich der Frage Wie bewusst ” waren Sie sich der Ereignisse, die in der realen Welt um Sie herum auftraten?“. Darüber hinaus kann untersucht werden, ob zwischen den Nutzergruppen Interaktionen vorliegen. Eine Interaktion gibt in diesem Fall an, ob die Bewertung einzelner Items des Szenenvergleichs von der Erfahrung der Probanden mit Virtual Reality abhängt. Es konnte bei der Analyse eine signifikante Interaktion ausgemacht werden. Es handelt sich um das Item sehr stark - sehr ” schwach“ zur Frage Wie stark haben Sie sich in die virtuelle Umgebung hineingezogen gefühlt?“, ” p = .044. Hier gehen die Bewertungen der Nutzergruppen in entgegengesetzte Richtungen. Die Nutzergruppe Erfahrung mit Virtual Reality“ tendierten dazu, sich stärker in die Szene (mit ” Händen) hineingezogen zu fühlen als in die Szene (ohne Hände). Die Nutzergruppe Keine Erfah” rung mit Virtual Reality“ tendierte dagegen dazu, sich weniger stark in die Szene (mit Händen) hineingezogen zu fühlen. Das Verhältnis zwischen den Tendenzen weist auf unterschiedliche Meinungen der Nutzergruppen hin. Eventuell führten Missverständnisse der Fragestellung zu den kontroversen Meinungen. Bei der sehr ähnlichen Frage: Wie präsent haben Sie sich in ” der virtuellen Umgebung gefühlt?“ konnten beispielsweise signifikante Auswertungs-Ergebnisse ermittelt werden. Im User Experience Questionnaire werden mehrere Items zu Skalen zusammengefasst (vgl. [UEQ 2014]). Es soll nun abschließend beschrieben werden, ob für die Skalen Attraktivität, Stimulation und Originalität insgesamt signifikante Ergebnisse ermittelt wurden. Die Nutzergruppe ist in diesem Fall die gesamte Stichprobenmenge von 20 Personen. Hinsichtlich der Skala Attraktivität konnten keine signifikanten Vergleiche festgestellt werden. Die Skala Stimulation umfasst die Items erfrischend“, spannend“, interessant“ und abwechslungsreich“ und die ” ” ” ” jeweiligen entgegengesetzten Ausprägungen. Für diese Skala konnte ein signifikantes Ergebnis ermittelt werden, welches besagt, dass die Szene (mit Händen) insgesamt bessere Bewertungen 118 Evaluation für die Stimulation erhielt als die Szene (ohne Hände), t(19) = 2,28, p = .034. Die Auswertung der Skala Originalität mit den Items kreativ“, neu“, modern“ und innovativ“, wies ebenfalls ” ” ” ” signifikante Ergebnisse auf. Für die Szene (mit Händen) wurde die Skala Originalität wiederum besser bewertet als für die Szene (ohne Hände), t(19) = 2,87, p = .010. Weiterhin konnte festgestellt werden, dass es bei der Nutzergruppe Erfahrung mit Virtual Reality“ Unterschiede ” für den Vergleich zwischen der Szene (mit Händen) und der Szene (ohne Hände) bezüglich der Skala Stimulation (p = .017) und der Skala Originalität (p = .020) gab. Bei der Nutzergruppe Keine Erfahrung mit Virtual Reality“ konnten keine Unterschiede ermittelt werden. ” 7.3.3 Fazit Insgesamt kann das Ergebnis der Nutzerstudie als positiv beurteilt werden. Der entwickelte Prototyp konnte in vielen Bereichen besser abschneiden als die Darstellung der Szene ohne die Überlagerung eines Videostreams der realen Hände. Werden einzelne Itempaare für die gesamte Stichprobenmenge betrachtet, kann festgehalten werden, dass die Probanden das visuelle Erlebnis der virtuellen Szene mit Überlagerung der realen Handrepräsentation als kreativer“, moderner“, ” ” abwechslungsreicher“ und innovativer“ empfanden als die reine virtuelle Szene ohne Überla” ” gerung. Darüber hinaus konnte in der Szene (mit Händen) ein gesteigerter Präsenzeindruck der Testpersonen ermittelt werden. Dies weist auf die Erhöhung der mentalen Immersion durch die Repräsentation der eigenen Hände in der virtuellen Umgebung hin. Es sollte jedoch beachtet werden, dass dieses Ergebnis sich auf die Beantwortung einer einzelnen Frage stützt und daher nur als Tendenz aufgefasst werden kann. Die Durchführung einer wissenschaftlichen Studie mit einer größeren Stichprobenmenge und einem umfangreicheren Fragebogen zur Bestätigung der vorliegenden Ergebnisse empfiehlt sich. Einen besonderen Fall stellt die Frage Wie bewusst waren Sie sich der Ereignisse, die in der realen ” Welt um Sie herum auftraten?“ dar. Diese wurde hinsichtlich des Präsenzeindrucks der Nutzer eher zugunsten der Szene (ohne Hände) beantwortet: Die Probanden waren sich der störenden Ereignisse der realen Welt um sie herum weniger bewusst, wenn sie ihre Hände nicht sahen. Zu Grunde liegt in diesem Fall natürlich die Annahme, dass weniger Störfaktoren der Außenwelt für eine Erhöhung des Präsenzeindrucks des Nutzers in der Szene sorgen. Jedoch ist unklar, ob die Testpersonen die Frage in dieser Weise verstanden haben. So könnten die dargestellten, realen Hände ebenfalls als Ereignis“ der realen Umgebung interpretiert worden sein. Demnach hätten ” die Probanden die Frage vermutlich so beantwortet, dass sie sich der Ereignisse der Umgebung bewusster waren, wenn die Hände der Szene überlagert würden. Dies wäre wohl auch der Fall, wenn die restlichen störenden Umgebungseindrücke der realen Welt in der Szene (mit Händen) weniger bewusst wahrgenommen wurden, als in der Szene (ohne Hände). Aus diesem Grund muss festgestellt werden, dass die Frage nicht eindeutig genug formuliert worden ist, um eine sinnvolle Interpretationen zuzulassen. Die Auswertung der Zusammenfassung mehrerer Items in Skalen des User Experience Questionnaire ergab, dass die Stimulation und die Originalität durch die Probanden für die Szene 7.3 Durchführung und Ergebnisse der Nutzerstudie 119 (mit Händen) besser bewertet wurde als für die Szene (ohne Hände). Es lässt sich im Sinne des UEQ also sagen, dass der Aughanded Virtuality Prototyp eine höhere Design-Qualität aufweist als die reine virtuelle Szene (vgl. [UEQ 2014]). Für die allgemeine Attraktivität sind hingegen keine signifikanten Daten ermittelt worden. Dennoch fallen die Ergebnisse insgesamt positiv aus. Offenbar stieg vor allem die hedonische Qualität der virtuellen Szene, durch die Überlagerung des Videostreams der eigenen Hände des Nutzers. 8 Zusammenfassung Abschließend wird eine inhaltliche Zusammenfassung und das Fazit der Arbeit präsentiert. Ein Ausblick rundet das Kapitel mit einigen Gedanken zur Weiterentwicklung und Nutzung der praktischen Ergebnisse der Arbeit ab. 8.1 Fazit Die vorliegende Arbeit wurde mit einer Einleitung motiviert, die gleichzeitig auf das übergeordnete Thema Virtual Reality einstimmen sollte. Im Zuge dessen erfolgte die Erläuterung der Zielstellung und Gliederung der Arbeit. Anschließend wurden ausgewählte Grundlagen und Begriffe der Computergrafik, Bildverarbeitung und des Gebiets Virtual Reality vorgestellt. Nach der Betrachtung verwandter Arbeiten zum Thema Mixed Reality und Augmented Virtuality erfolgte die inhaltliche Zusammenfassung von konkreten Implementierungen, die die Repräsentation des realen Nutzerkörpers in der virtuellen Umgebung als Videoüberlagerung des egozentrischen Sichtfeldes des Anwenders umsetzen. Im Rahmen der vorliegenden Arbeit sollte ein eigener Prototyp entwickelt werden, der den realen Nutzerkörper in die virtuelle Szene transferiert. Zu diesem Zweck wurden in der Analysephase die Ausgangssituation geschildert und die verwandten Arbeiten detailliert untersucht. Nach der Herausarbeitung von Vor- und Nachteilen bisheriger Ansätze erfolgte die Festlegung der Anforderungen an den umzusetzenden Prototypen. Eine besondere Rolle spielten dabei Performance-Aspekte sowie Voraussetzungen, die die zu verwendende Hard- und Software erfüllen musste. Nach diesem Schritt konnten in der Synthese entsprechende Geräte, Programme und Methoden zur Bewältigung der gestellten Aufgaben erwogen und schließlich gewählt werden. Mit dem Head-Mounted-Display Oculus Rift stand bereits eine Hardwarekomponente fest. Neben der Festlegung einer geeigneten Kamera erfolgte weiterhin die Entscheidung für eine passende Entwicklungsumgebung und die Erläuterung des Aufbaus des Systems. Zur Findung einer performanten und leistungsfähigen Segmentierungsmethode wurden bereits verwendete Ansätze verwandter Arbeiten hinsichtlich ihrer Tauglichkeit verglichen. Geeignete Verfahrenskomponenten für den Prototypen wurden adaptiert und durch eigene Ideen und Funktionalitäten erweitert. Aufgrund vielfältiger Erwägungen - unter anderem der Funktionsweise des gewählten Segmentierungsalgorithmus - wurde die Entscheidung getroffen, ausschließlich eine Darstellung der Hände und Arme des Nutzers der virtuellen Umgebung zu überlagern. Das Projekt erhielt den Namen Aughanded Virtuality - eine Schöpfung, die darauf anspielt, dass es sich bei dem Prototypen um eine Augmented Virtuality Anwendung handelt, die ihren Fokus auf die Repräsentation der Hände des Nutzers legt. Im Kapitel Umsetzung wurden konkrete Implementierungsversuche und -varianten beschrieben. Im Einzelnen erfolgte die Erläuterung der Integration des Videostreams, der softwaretechnischen Realisierung des Segmentierungsverfahrens und der Methode zur Überlagerung des egozentrischen Videos der Nutzerhände über die virtuelle Szene. Anschließend wurden das Bedienungskonzept und die einstellbaren Parameter 122 Zusammenfassung des Prototypen vorgestellt. Im Kapitel Evaluation“ fanden die Beschreibung der Durchführung, ” der erreichten Ergebnisse und der gewonnenen Erkenntnisse der Nutzerstudie statt. Abschließend erfolgt in diesem Kapitel die inhaltliche Zusammenfassung der vorliegenden Arbeit und ein Fazit. Mit dem Aughanded Virtuality Prototypen konnte eine Anwendung entwickelt werden, die hinsichtlich ihrer Funktionsfähigkeit die gestellten Anforderungen erfüllt und bisherige Ansätze verwandter Arbeiten übertrifft. Das grundlegende Ziel, eine reale Repräsentation der Hände und Arme des Nutzers als Videostream einer virtuellen Umgebung zu überlagern, konnte erfüllt werden. Statt eines abstrakten Wesens befindet sich der Benutzer nun selbst in der Virtualität. Darüber hinaus konnten zahlreiche Funktionalitäten in Form einer Art Toolbox“ integriert werden, die ” in bisherigen Umsetzungen nicht zur Verfügung standen. Neben der exakten Einstellung von Segmentierungsparametern kann die Videoüberlagerung hinsichtlich Farbton, Sättigung, Helligkeit und Transparenz justiert werden. Die Wahl von verschiedenen Presets ist ebenso möglich wie die Spiegelung der Anzeige sowie die Anpassung der Größe und Position des Video-Layers. Weiterhin lässt sich der Standpunkt und insbesondere die Höhe der virtuellen Kamera innerhalb der virtuellen Szene anpassen. Der finale Segmentierungsalgorithmus kann flexibel kalibriert werden und erlaubt eine genaue Aufteilung der Einzelbilder des Videostreams in Bereiche, die die Hände und Arme des Nutzers beinhalten, und in Hintergrundbereiche. Auf dieser Grundlage ist die Erstellung einer Maske möglich, die nicht relevante Bildteile von der Anzeige ausschließt. Neben der ansprechenden visuellen Qualität des gefilterten Videostreams ist vor allem die Performance des Prototypen zu erwähnen. Der Input-Lag des Systems ist gering, sodass Bewegungen des Anwenders fast unmittelbar in der Oculus Rift angezeigt werden. Die Bildwiederholungsrate des Prototypen scheint die Spezifikationen der Oculus Rift auszureizen und liefert eine flüssige Echtzeit-Darstellung. Hinzu kommt das enorme Sichtfeld des Head-Mounted-Displays, welches im Vergleich zu der verwendeten Hardware verwandter Arbeiten deutliche Vorteile bietet. Lin et al. fanden einen Zusammenhang zwischen der Vergrößerung des Sichtfelds des Nutzers in Virtual Reality Anwendungen und der Steigerung des Präsenzeindrucks des Nutzers (vgl. [Lin et al. 2002]). Die Ergebnisse der durchgeführten Nutzerstudie deuten auf ein positives Nutzererlebnis bei Verwendung des Prototypen hin. Die Aughanded Virtuality Anwendung wurde beim Vergleich mit der virtuellen Szene ohne Videoüberlagerung durchweg besser bewertet. Insbesondere die hedonische Qualität der User Experience scheint durch die Darstellung der eigenen, realen Hände zu profitieren. Es konnte darüber hinaus eine Tendenz festgestellt werden, die eine Steigerung des Präsenzeindrucks des Nutzers vermuten lässt, wenn dieser seine Hände in der virtuellen Welt betrachten kann. 8.2 Ausblick Im folgenden Kapitel werden mögliche Soft- und Hardwareverbesserungen des entwickelten Prototypen diskutiert. Es schließt sich eine Betrachtung von konzeptionellen Ideen, wie Interak- 8.2 Ausblick 123 tionsoptionen und Kamera-Manipulationen, an. Abschließend erfolgt die Erörterung konkreter Anwendungsgebiete. 8.2.1 Software-Verbesserungen des Prototypen Obwohl die Software-Komponenten des Prototypen bereits gute Ergebnisse liefern, könnten weitere Verbesserungen implementiert werden. Je nach Anwendungsfall ist die Darstellung des kompletten Körpers des Nutzers in der virtuellen Umgebung eine sinnvolle Erweiterung. Falls der Anwender, wie bei der üblichen Verwendung eines Computers, vor einem Tisch sitzt, sollte die Ansicht der Hände und Arme in der virtuellen Szene genügen. Andere Körperpartien sind in diesem Szenario ohnehin kaum sichtbar und aktiv. Insbesondere bei der Bewegung oder dem Laufen des Nutzers durch den realen Raum ist eine Repräsentation des kompletten Körpers in der Virtualität zu empfehlen. Neben einer Verortung im virtuellen Raum steigt so auch das Präsenzempfinden des Nutzers, wie Steinicke/Bruder et al. in einem Experiment herausfanden (vgl. [Steinicke et al. 2009] und [Bruder et al. 2009]). Bisher konnten die GanzkörperSegmentierungsverfahren hinsichtlich der visuellen Qualität nicht vollständig überzeugen. Lediglich Chroma-Keying-Ansätze liefern zufriedenstellende Resultate, erfordern aber in der Regel spezielle Räume, die in bestimmten Farben ausgekleidet sind. Tracking-Verfahren wie von Fiore & Interrante oder Saraiji et al. scheinen noch nicht ausgereift zu sein, weisen jedoch interessante Alternativen zur farbbasierten Segmentierung auf (vgl. [Fiore und Interrante 2012] und [Saraiji et al. 2013]). Hier wird sich in Zukunft zeigen, welche Ansätze mehr Potential besitzen oder ob eine Kombination aus mehreren Varianten die bessere Lösung ist. Solange die Sicht auf die Haut frei ist, funktioniert die Segmentierung des Videostreams in Vorder- und Hintergrund bereits zufriedenstellend. Im Falle von Fremdkörpern kommt es beim Prototypen allerdings zu Einschränkungen - etwa wenn der Nutzer eine Uhr trägt. Derartige Objekte werden nicht ordnungsgemäß dem Vordergrund zugerechnet. Für den Prototypen mussten Anwender daher Uhren und Armbände ablegen und längere Ärmel hochziehen. An dieser Stelle könnte der Segmentierungsalgorithmus noch optimiert werden. Eine farb- oder konturbasierte Fremdobjekterkennung ist in einem Shader vermutlich schwer umzusetzen. Hier könnten Tracking-Verfahren Vorteile bringen. Einige Nutzer äußerten, dass die der virtuellen Szene überlagerten Hände zu groß erschienen. Dies war offenbar vor allem der Fall, wenn die Hände sich recht nah an der GoPro-Kamera befanden. Eine Ursache ist vermutlich die tonnenförmige Verzerrung des Weitwinkelobjektivs. Eine Erhöhung des Abstands zwischen überlagertem Videolayer und virtueller Szenenkamera und damit einhergehend eine optischen Verkleinerung der Hände - erwies sich nicht als sinnvoll, da die Hände bei einem großen Abstand zur GoPro-Kamera in der virtuellen Umgebung zu klein abgebildet wurden. Eine geeignete Erweiterung wäre dagegen ein adaptiver Ansatz, der das Videolayer je nach Entfernung der Hände zur GoPro-Kamera entsprechend anpasst. 124 Zusammenfassung Bisher wurde die virtuelle Lichtsituation nicht in Verbindung mit dem überlagerten Videostream der Hände und Arme des Nutzers gebracht. Eine Angleichung von Reflexionen, Schatten und Helligkeiten des Videostreams an die virtuelle Umgebung hätte allerdings wesentliche Vorteile. So würde sich die reale Repräsentation des Körpers besser ins Gesamtbild der virtuellen Szene einpassen. Die Glaubwürdigkeit des Augmented Virtuality Prototypen könnte unter Umständen steigen, ebenso wie das Präsenzempfinden des Nutzers. Hier müssen Studien zeigen, ob die Vermutungen zutreffen. Neben einer adaptiven Helligkeitsanpassung der Videoüberlagerung, je nach virtueller Lichtsituation, ist vor allem das Einfügen von Schatten in die virtuelle Szene vielversprechend. Das Gefühl der Verortung im virtuellen Raum könnte deutlich zunehmen, wenn die reale Repräsentation des Nutzerkörpers einen Einfluss auf die virtuelle Umgebung nimmt. Ohne Schatten erscheinen virtuelle Objekte teilweise so, als würden sie schweben“. Zur Erzeugung ” von Schatten könnte eine Art Dummy“ oder Avatar in Form eines 3D-Modells verwendet wer” den, der in der virtuellen Szene transparent dargestellt wird. Somit wird verhindert, dass die Videoüberlagerung des Nutzerkörpers durch andere Darstellungen gestört wird. Dennoch würde das unsichtbare“ 3D-Modell zur Berechnung eines groben Nutzerschattens in der virtuellen Sze” ne bereitstehen. Für exakte Schattenberechnungen ist das Tracking des Nutzerkörpers vermutlich unumgänglich. Dies gilt ebenfalls für die Integration von Reflexionen. Interessant erscheint in diesem Zusammenhang der Ansatz von Saraiji et al., in welchem ein grau gefärbter Avatar mit dem Umgebungslicht der virtuellen Szene ausgeleuchtet wurde, um anschließend die gewonnenen Informationen über die Helligkeitsänderungen auf den egozentrischen, segmentierten Videostream des realen Nutzerkörpers anzuwenden (vgl. [Saraiji et al. 2013]). 8.2.2 Hardware-Erweiterungen des Prototypen Auch hinsichtlich der Hardware-Komponenten sind verschiedene Erweiterungen denkbar. Die Befestigung einer zweiten GoPro-Kamera an der Oculus Rift würde die Integration einer stereoskopischen Videoüberlagerung erlauben. Somit könnte die Entfernung der eigenen Hände noch besser eingeschätzt werden. Da die Betrachtung der virtuellen Szene in der Oculus Rift ohnehin stereoskopisch funktioniert und somit ein dreidimensionaler Eindruck vermittelt wird, ist die Implementierung einer stereoskopischen Videoüberlagerung ein logischer Schritt. Jedoch müsste hinsichtlich der Performance eine Lösung gefunden werden, die eine Einbindung einer weiteren Kamera erlaubt, ohne einen Einbruch der Bildwiederholungsrate zu verursachen. Hier könnte die Aufteilung der Aufgaben auf mehrere Rechner sinnvoll sein. Vielversprechend ist darüber hinaus der Einsatz eines zusätzlichen Tiefensensors. Diese Geräte können mithilfe von Infrarotsendern und -empfängern Tiefeninformationen aus der realen Umgebung extrahieren. Hierzu werden Infrarotstrahlen ausgesendet, die von Umgebungsobjekten reflektiert und durch den Empfänger des Tiefensensors aufgenommen werden. Nach der Auswertung der Daten ist die Erstellung eines dreidimensionalen Abbilds der Umwelt möglich. Theoretisch lässt sich auch aus den Videoaufzeichnungen zweier versetzter Kameras ein Tiefenbild erzeugen. Es werden allerdings vorwiegend Geräte mit Infrarotverfahren produziert, die in der Regel ein 8.2 Ausblick 125 robusteres Tiefenbild erzeugen. Ein Beispiel für einen Tiefensensor ist die Microsoft Kinect. Mittlerweile existiert auch ein Tiefensensor, der hinsichtlich Gewicht und Größe für die Nutzung mit mobilen Geräten entworfen wurde. Der sogenannte Structure Sensor wiegt nur 95 Gramm und ist mit Maßen von 119.2mm x 27.9mm x 29mm recht kompakt (vgl. [Occipital 2014]). Ein solcher Tiefensensor stellt eine ausgezeichnete Ergänzung für den Augmented Virtuality Prototypen dar. Mit dreidimensionalen Informationen über die Position der Hände und Arme des Nutzers lassen sich theoretisch Interaktionsmöglichkeiten mit virtuellen Objekten implementieren. Darüber hinaus wäre somit die Überlagerung von virtuellen Inhalten über dem realen Videostream möglich - so könnten Nutzer etwa hinter virtuelle Objekte greifen“. Durch die Tiefendaten sollte wei” terhin die Generierung eines 3D-Models realisierbar sein, dass zum Beispiel zur Berechnung von korrekten Schatten und Reflexionen der überlagerten, realen Körperrepräsentation verwendbar wäre. Für das Tracking des komplette Körpers des Nutzers sind allerdings komplexere Hardwareverfahren notwendig. Besonders vielversprechend sind in diesem Zusammenhang marker- und berührungsfreie Motion-Capturing-Methoden. Die Firma Organic Motion bietet bereits Lösungen für derartige Systeme zum Kauf für Unternehmen an (vgl. [Organic-Motion 2014]). Steht der Nutzerkörper als dreidimensionales Modell in der virtuellen Umgebung zur Verfügung, sind auch Multi-User-Konzepte realisierbar. Durch eine Kombination von berührungsfreiem Tracking und Überlagerung von Videotexturen könnte der Nutzer in seiner natürlichen Erscheinung in der virtuellen Welt auftreten. Ein Problem stellt in dieser Hinsicht allerdings das verwendete Head-Mounted-Display dar, welches den Blick auf das Gesicht des Nutzers verhindert. Daher ist für Multi-User-Anwendungen der Einsatz von virtuellen Avataren nach wie vor ein probates Mittel. Abb. 8.1: Fotografien aus dem Projekt: Real World Third Person Perspective VR / AR Experiment“ (vgl. ” [Lukaszenko et al. 2014]). Nutzer mit Oculus Rift und Rucksack, in dem ein Gestell integriert wurde, das das Kameramodul hält (links). Aufgezeichnete Sicht der Kameras (rechts). Bisher wurde bei den Umsetzungen realer Körperüberlagerung in virtuellen Umgebungen vorwiegend die Aufnahme der egozentrischen Sicht des Nutzers in Betracht gezogen. Grundsätzlich ist aber auch eine Änderung der Perspektive durchführbar. So könnte sich der Anwender selbst, von oben und aus der Verfolgerperspektive sehen (siehe Abbildung 8.1). Diese Funktion existiert bereits seit längerem in Computerspielen, im Zusammenhang mit Mixed Reality Anwendungen 126 Zusammenfassung und dem eigenen Körper des Nutzers eröffnen sich allerdings völlig neue Möglichkeiten. Der Nutzer befindet sich zwar weiterhin in seinem Körper und kann sich bewegen und handeln wie gewohnt, betrachtet sich dabei allerdings in Echtzeit von einem anderen Standpunkt aus. Die visuelle Wahrnehmung wird sozusagen durch ein technisches System ersetzt. Ein erster Ansatz für die Umsetzung eines Third-Person-Perspective“-Prototypen mit der Oculus Rift wurde bereits ” von Lukaszenko et al. in einem Video vorgestellt (vgl. [Lukaszenko et al. 2014]). 8.2.3 Konzeptionelle Ideen Die Integration einer Interaktionsmöglichkeit mit virtuellen Objekten ist ohne Frage die meist gewünschte Erweiterung für den Prototypen. Nahezu jeder Nutzer erkundigte sich, ob es möglich sei, virtuelle Objekte zu berühren und zu greifen. Schon aus diesem Grund ist die Implementierung dieses Features für zukünftige Weiterentwicklungen zu erwägen. Aus technischer Sicht stellt dies eine Herausforderung dar. Die Positionen der Hände könnten mit einem Tiefensensor gemessen werden, die Bereitstellung von haptischem Feedback ist allerdings bisher nur durch Hilfsmittel und Geräte möglich, die die Sicht auf die Hände einschränken. An dieser Stelle müssen neue Wege entworfen werden, die ein berührungsfreies, haptisches Feedback erlauben. Auch vollständig transparente Marker und Sensoren könnten eine Lösung darstellen. Interaktionskonzepte Neben den Möglichkeiten einer an die Realität angelehnten Interaktionsweise mit der virtuellen Umgebung stellt sich die Frage, welche Funktionen durch die sichtbaren, realen Hände in der virtuellen Welt noch übernommen werden können. Im Folgenden werden daher einige Interaktionskonzepte vorgestellt. Naheliegend scheint die Manipulation von Objekten der virtuellen Szene. Im Gegensatz zur Realität können in der Virtualität allerdings theoretisch auch Objekte gegriffen und verschoben werden, die sehr viel größer und schwerer als der Nutzer sind - zum Beispiel komplette Häuser oder Brücken. Ebenso ist das Löschen, Transformieren oder Vervielfältigen von virtuellen Objekten im Bereich des Möglichen. Denkbar wäre daher die Entwicklung eines Gesten-Repertoires zur Manipulation von Objekten in der virtuellen Umgebung (siehe Abbildung 8.2). So könnten Objekte beispielsweise per ausgestrecktem Zeigefinger markiert und anschließend gegriffen“ und mit geschlossener Faust verschoben werden. Ein Zusammenschlagen der ” Handflächen könnte Funktionen oder Animationen markierter Objekte aktivieren. Eine Wisch” Bewegung“ mit der Handfläche wäre eine mögliche Gestenvariante zum Verwerfen oder Löschen virtueller Objekte. Aus technischer Sicht müsste eine robuste Gestenerkennung für den Prototypen implementiert werden. Die Navigation in der virtuellen Welt ist im Prototypen noch auf Tastatureingaben beschränkt. Die Ansicht der realen Hände als Überlagerung der virtuellen Szene hilft dem Nutzer allerdings die Eingaben nicht völlig blind“ tätigen zu müssen wie in anderen Demonstratoren der Oculus ” Rift. Dennoch erscheint eine solche Art der Navigation eher unnatürlich und wenig intuitiv zu 8.2 Ausblick 127 Abb. 8.2: Interaktionskonzepte für Aughanded Virtuality: Manipulationsgesten. sein. Da mit dem Prototypen mittlerweile die realen Hände des Nutzers in der Virtualität zu sehen sind, ist neben der reinen visuellen Wahrnehmung eine Verwendung der Hände als Werkzeug“ ” ein logischer nächster Schritt für die Entwicklung. Ebenso wie bei der Manipulation von virtuellen Objekten könnte auch bei der Navigation durch die virtuelle Szene eine Gestenerkennung eingesetzt werden. So würden verschiedene Möglichkeiten der Fortbewegung beziehungsweise der Anpassung der virtuellen Kamera zur Verfügung stehen, die der Nutzer intuitiv mit den eigenen Händen aktivieren könnte (siehe Abbildung 8.3). Abb. 8.3: Interaktionskonzepte für Aughanded Virtuality: Navigationsgesten. Denkbar wären etwa natürliche, aus dem Leben bekannte Gesten, wie das Schwimmen“. Dane” ben könnten allerdings auch Fantasie-Gesten implementiert werden, die beispielsweise aus Filmen bekannt sind: etwa das Fliegen“ durch das Ausstrecken beider Arme, ähnlich wie Superman“. ” ” 128 Zusammenfassung Für die einfache Betrachtung der virtuellen Umwelt aus verschiedenen Winkeln und Entfernungen scheint das Greifen und Heranziehen“ der kompletten Szene eine interessante Lösung zu sein. ” Die virtuelle Kamera wäre hierbei sozusagen an die Handbewegungen des Nutzers gekoppelt. Da in der virtuellen Welt auch unmittelbare Szenen- beziehungsweise Umgebungswechsel möglich sind, ist auch eine Geste wie das Wünschen“ theoretisch umsetzbar, die den Anwender direkt ” in vordefinierte neue Welten teleportiert. Schließlich könnten durch Gesten auch Ansichten der virtuellen Szene auf Standardeinstellungen zurückversetzt oder komplett geschlossen werden etwa durch das Zuhalten der Augen, sozusagen dem Verstecken“ des Nutzers. ” Neben technischen Problemen müssen bei der Umsetzung dieser Gestensteuerungskonzepte auch ergonomische Aspekte betrachtet werden. Die Ausführung von Gesten mittels ausgestreckten Händen und Armen kann den Nutzer schnell anstrengen oder ermüden. Dieser Fakt spielt auch für die Benutzerfreundlichkeit des Augmented Virtuality Programms eine Rolle. Je nach Einsatzart sollten daher alternative Bedienungs- und Interaktionskonzepte zur Verfügung stehen, die den Nutzer entlasten. Größenrelationen Die Größe und Form von virtuellen Händen hat einen direkten Einfluss auf die wahrgenommene Größe und Form von virtuellen Objekten. Zu diesem Schluss kommen Linkenauger et al. und stellen in ihrer Arbeit vier Studien vor, die zeigen, dass die eigenen Hände des Nutzers zur Messung und Abschätzung der Größe von Objekten in einer entsprechenden Umgebung verwendet werden. Um eine Größenänderung der Nutzerhände zu simulieren, wurden Virtual Reality Anwendungen verwendet. Die Hände des Nutzers wurden getrackt und als virtuelle, animierte 3D-Modelle - sogenannte Avatarhände - dargestellt, die in Größe und Form leicht anpassbar waren. In den Experimenten zeigte sich, dass virtuelle Objekte zu groß geschätzt wurden, wenn die virtuellen Hände sehr klein in der virtuellen Szene repräsentiert wurden. Ebenso trat der entgegengesetzte Fall ein: virtuelle Objekte erschienen den Nutzern kleiner, wenn die Hände in der Szene sehr groß dargestellt wurden. Offenbar traf dies allerdings nur auf, vom Nutzer als eigene Körperteile identifizierte, Hände zu - die Größenänderung anderer Avatarhände hatte keinen Einfluss auf die Ergebnisse (vgl. [Linkenauger et al. 2013]). Mohler et al. zeigen darüber hinaus eine Verbesserung der Fähigkeit auf, Distanzen in der Nähe abzuschätzen, wenn der Nutzer in der virtuellen Umgebung einen Avatarkörper erhält (vgl. [Mohler et al. 2010]). Ries et al. fanden ebenfalls eine signifikante Steigerung der Genauigkeit der egozentrischen Distanzabschätzung bei Verwendung eines Avatarkörpers in der virtuellen Welt (vgl. [Ries et al. 2008]). Im Prototypen der vorliegenden Arbeit kann die Größe der Videoüberlagerung angepasst werden, die die realen Hände des Nutzers darstellt. Somit sind keine künstlichen, virtuellen Avatarhände mehr notwendig, um psychologische Studien durchzuführen. Unter Umständen könnten die von Linkenauger et al. erwähnten Experimente sogar von einer realen Repräsentation der Nutzerhände profitieren. Offenbar konnte der Effekt des Einflusses der Hände auf die Größenabschätzung nur dann beobachtet werden, wenn der Nutzer sich im Klaren darüber war, dass die 8.2 Ausblick 129 Avatarhände seine eigenen Hände darstellen sollten. Es liegt also nahe, dem Nutzer eine reale Darstellung der eigenen Hände zu präsentieren. Darüber hinaus bietet der Prototyp weitere Untersuchungsmöglichkeiten für psychologische Studien, die die Größenrelationen des Nutzerkörpers im Verhältnis zu einer virtuellen Szene untersuchen. So kann die Distanz des überlagerten Videolayers angepasst werden, sodass es wirkt, als ob die Hände des Nutzers sich in großer Entfernung vom restlichen Körper innerhalb der Szene befinden. Ebenfalls lässt sich die Höhe der virtuellen Kamera anpassen. Wird die Videoüberlagerung - und damit die Handdarstellung des Nutzers - in der gleichen Größe belassen aber die virtuelle Kamera weit über die Szene gesetzt, kann es wirken, als ob die Körperteile sich vergrößern, da sich die virtuelle Szene in Relation zu den Händen visuell verkleinert. Zusätzlich ergibt sich durch die Höhe ein Überblick über die komplette virtuelle Szene, die eine riesen” hafte“ und dominante Präsenz des Nutzers unterstützt. Dieser Effekt kann auch ins Gegenteil umgekehrt werden, indem ein Kamerastandpunkt nahe des Bodens gewählt wird. So entsteht für den Nutzer eine Art Froschperspektive“. ” Kamera-Manipulationen Eine weitere Möglichkeit, die in bisherigen Arbeiten kaum beachtet wurde, ist die Manipulation von Latenzen der Videoaufnahme. So könnte das, der virtuellen Szene überlagerte, Videobild der Hände dem Nutzer absichtlich verzögert angezeigt werden. Hier bieten sich weitere Ansatzpunkte für psychologische Studien. Ein Beispiel für einen alternativen Verwendungszweck liefert die Firma Umeå-Energi, die unter anderem Breitbandanschlüsse anbietet. Sie führte Anfang 2014 zu Werbezwecken einen Versuch durch, in dem Probanden verschiedene Alltagsaufgaben mit einem sogenannten Lag - also einer Verzögerung - bewerkstelligen sollten. Hierfür wurde die reale Umgebung von einer, an der Oculus Rift befestigten, Kamera aufgezeichnet und verzögert auf dem Display des Head-Mounted-Displays angezeigt. Die absichtlich erzeugte, visuelle Latenz lag zwischen einer Drittel-Sekunde und drei Sekunden. Die Testpersonen spielten beispielsweise Tischtennis oder Bowling, kochten oder aßen etwas. Es stellte sich heraus, dass die Aufgaben nur schwer zu erledigen waren und teilweise nicht erfüllt werden konnten. Ziel der Aktion war es, zu zeigen, dass Nutzer eine Latenz im alltäglichen, realen Leben nicht akzeptieren würden. Einige Ergebnisse wurden von Umeå-Energi in einem Video veröffentlicht (vgl. [Umeå-Energi 2014]). Weitere Kamera-Manipulationen umfassen den Einsatz von Zeitlupen, Zeitraffern oder die Bewegung der Kamera über die Zeit. Wolf verfasste eine Übersicht über raum-zeitliche Effekte von Kamerabildern beziehungsweise -belichtungen (vgl. [Wolf 2006]). In der Arbeit werden sowohl real durchführbare als auch hypothetische Möglichkeiten der Bewegung der Kamera in Zeit und Raum analysiert. Ob eine Erweiterung des Prototypen um derartige Funktionen einen sinnvollen Zweck erfüllt, könnte in zukünftigen Arbeiten betrachtet werden. Grundsätzlich scheint beispielsweise die Idee, die eigenen Handlungen und Bewegungen des Körpers in Zeitlupe verfolgen zu können, vielversprechend. 130 Zusammenfassung 8.2.4 Anwendungsgebiete des Prototypen Bei der in dieser Arbeit entstandenen Anwendung handelt es sich um einen Augmented Virtuality Prototypen, der die Überlagerung einer virtuellen Umgebung mit einer realen Repräsentation der Hände und Arme des Nutzers in Form eines Videostreams demonstriert. Die Umsetzung ist als Ausgangslage für zukünftige Arbeiten zu verstehen. Der vorgestellte Ansatz lässt sich in vielfältiger Art und Weise weiterentwickeln - die offensichtlichste Möglichkeit stellt ohne Frage die Implementierung einer Interaktionsmöglichkeit mit der virtuellen Welt dar. Dennoch ist der Prototyp bereits in seiner jetzigen Form nutzbar. Vor allem bietet sich die Anwendung als Werkzeug zur Durchführung von wissenschaftlichen Studien an, die die Wirkung des realen Körpers in der Virtualität erforschen. Für psychologische Experimente scheint insbesondere die Anpassung der vielfältigen Parameter der Videoüberlagerung eine nützliche Funktion darzustellen. So hätte beispielsweise die Studie von Martini et al. sehr gut im Prototypen durchgeführt werden können - die Autoren untersuchten die Veränderung der Schmerzschwelle des Nutzers bei Änderung der Hautfarbe eines virtuellen Avatar-Arms (vgl. [Martini et al. 2013]). Unter Umständen hätte das Experiment sogar vom Realismusgrad der Visualisierung im Prototypen profitieren können - das reale Videobild des Arms dürfte vom Nutzer eher als eigenes Körperteil akzeptiert werden, als das ungenaue Polygonmodell des Avatars. Ein weiteres Beispiel für eine Studie, die mithilfe des Prototypen vermutlich mit weniger Aufwand durchführbar gewesen wäre, liefern Kilteni et al.. Die Autoren untersuchten den Zusammenhang der Fähigkeit von Testpersonen, bestimmte Trommelrhythmen nachzuspielen, und der unterschiedlichen Hautfarbe der entsprechenden Avatare der Nutzer (siehe Abbildung 8.4). Es stellte sich heraus, dass Probanden eine überdurchschnittliche Trommel-Performance erreichten, wenn ihr Avatar in der virtuellen Umgebung eine dunkle Hautfarbe aufwies. Um die Bewegungen des Nutzers in die virtuellen Animationen des Avatars zu transformieren, wurde ein aufwändiges Motion-Capturing-Verfahren verwendet (vgl. [Kilteni et al. 2013]). Der Prototyp der vorliegenden Arbeit bietet eine einfache Alternative zur Nutzung von Avataren in virtuellen Umgebungen. Abb. 8.4: Drumming in Immersive Virtual Reality“: Experiment von Kilteni et al.. Es wurde die ” Trommel-Performance von Probanden untersucht, die in der virtuellen Umgebung durch mehrere Avatare verschiedener Hautfarben repräsentiert wurden (vgl. [Kilteni et al. 2013]). Die überwiegende Mehrheit von Virtual Reality Anwendungen scheint eine egozentrische Sicht des Nutzers in die virtuelle Szene umzusetzen. Der Körper des Anwenders wird dabei häufig durch Avatare mit vordefinierten Animationen dargestellt oder gar nicht erst angezeigt. Die Integration von Avataren, die die individuellen Nutzerbewegungen in der virtuellen Welt darstellen, erfordert 8.2 Ausblick 131 derzeit meist umfangreiche Tracking-Hardware und teils langwierige Vorbereitungsphasen, in denen der Nutzer mit Markern und spezieller Kleidung versehen wird. Hier setzt der Prototyp der vorliegenden Arbeit an: Er ermöglicht eine Repräsentation der realen Nutzerhände und -arme in der virtuellen Umgebung, ohne dass hierfür zusätzliche Tracking-Hardware oder aufwändige Vorbereitungsphasen notwendig wären. Neben diesen direkten Einsatzmöglichkeiten des Prototypen existieren diverse Anwendungen, die vom Prinzip der Integration realer Körperteile des Nutzers, als Videoüberlagerung der virtuellen Umgebung profitieren könnten. Schon die rein visuelle Repräsentation des eigenen Körpers in der virtuellen Realität ist aus vielfältigen Gründen sinnvoll. Da die virtuelle Welt in vielen Fällen ein Abbild der Wirklichkeit darstellt und die Sinne des Nutzers mit möglichst realitätsnahen beziehungsweise glaubwürdigen Stimuli gereizt werden sollen, erscheint die Anzeige realer Körperteile nur konsequent zu sein. Weiterhin kann durch eine reale Repräsentation des eigenen Körpers die mentale Immersion beziehungsweise das Präsenzgefühl des Nutzers steigen, wie Bruder et al. in einem Experiment herausfanden (vgl. [Bruder et al. 2009]). Dieser Effekt konnte selbst bei künstlichen, virtuellen Avatarkörpern beobachtet werden, die an die Nutzerbewegungen gekoppelt waren: Slater et al. fanden in verschiedenen Versuchen eine signifikante Steigerung des Präsenzempfindens, wenn die realen Bewegungen des Nutzers in der virtuellen Realität durch einen Avatarkörper repräsentiert wurden. Wenn eine Assoziation des eigenen Körpers mit dem virtuellen Körper stattfand, glaubten die Testpersonen eher, sich in der virtuellen Welt zu befinden (vgl. [Slater et al. 1994] und [Slater et al. 1998]). Auch Usoh et al. konnten diese Erkenntnis in einer späteren Studie belegen (vgl. [Usoh et al. 2006]). Darüber hinaus kann eine Repräsentation der eigenen Hände in der virtuellen Umgebung laut Linkenauger et al. zu einer genaueren Größenabschätzung virtueller Objekte führen (vgl. [Linkenauger et al. 2013]). Mohler et al. und Ries et al. zeigten in ihren Arbeiten eine Verbesserung der egozentrischen Distanzabschätzung bei Verwendung von Avatarkörpern in der virtuellen Welt (vgl. [Mohler et al. 2010] und [Ries et al. 2008]). Es ist zu vermuten, dass durch eine reale Repräsentation des eigenen Körpers in der virtuellen Umgebung ähnlich positive Effekte auf die egozentrische Distanzwahrnehmung und die Fähigkeit zur Abschätzung der Größe von virtuellen Objekten erreicht werden können. Hier bieten sich Ansatzpunkte für zukünftige Studien. In der Nutzerstudie der vorliegenden Arbeit wurden dagegen verschiedene Items und Fragen zur User Experience und zum Präsenzempfinden des Nutzers geprüft. Es fand ein Vergleich der Demoszene des Prototypen ohne Handüberlagerung mit einer Version statt, die eine Überlagerung der realen Nutzerhände als Videostream beinhaltete. Die zweite Variante konnte signifikant bessere Bewertungen für verschiedene Items erreichen. Der Prototyp mit Hand-Repräsentation wurde als kreativer, interessanter, moderner und innovativer empfunden. Außerdem hatten die Testpersonen einen gesteigerten Präsenzeindruck. Die beschriebenen Vorteile der Anzeige von realen Körperpartien in der virtuellen Welt dürften grundsätzlich für sehr viele egozentrische Virtual Reality Anwendungen zutreffen. Demnach könnten alle Virtual Reality Applikationen von Aughanded Virtuality profitieren, die aus Sicht des Nutzers bedient werden und eine Steigerung der mentalen Immersion beziehungsweise des 132 Zusammenfassung Präsenzeindruck des Nutzers anstreben. Weiterhin könnte der Prototyp für Gebiete interessant sein, die von einer korrekt wahrgenommenen Größenrelation von virtuellen Objekten sowie einer möglichst genauen egozentrischen Distanzabschätzung profitieren. Im Folgenden werden die von Craig et al. beschriebenen Anwendungsfelder von Virtual Reality (vgl. [Craig et al. 2009]) einzeln betrachtet und Einsatzmöglichkeiten und Vorteile des Prototypen für die jeweiligen Felder beschrieben. Virtual Prototyping Die Evaluierung von Produkten, bevor sie auf den Markt kommen, scheint auf den ersten Blick wenig von einer visuellen Repräsentation der Betrachterhände in der virtuellen Umgebung zu profitieren. Hier wäre die Implementierung einer Interaktionsmöglichkeit mit den virtuellen Produkten wünschenswert. Doch gerade bei Analyse großer Produkte kann eine Steigerung des Präsenzgefühls in der virtuellen Welt von Vorteil sein - etwa wenn der Innenraum eines Autos erkundet und geprüft werden soll. Ebenso ist die zu vermutende, bessere Abschätzung von Größenrelationen virtueller Objekte für die Produktpräsentation ein nicht zu unterschätzender Faktor. Ein Einsatz des Prototypen beziehungsweise des Prinzips Aughanded Virtuality erscheint also im Anwendungsgebiet Virtual Prototyping durchaus sinnvoll zu sein. Nicht zuletzt weisen die Ergebnisse der Nutzerstudie der vorliegenden Arbeit bei Verwendung des Prototypen auf eine gesteigerte User Experience hinsichtlich Stimulation und Originalität hin. Für eine Produktevaluationen im virtuellen Raum sind gerade diese Aspekte interessant - unter Umständen kann das Produkt sogar vom positiveren Nutzerempfinden in der Virtualität profitieren. Architectural Walkthroughs Architectural Walkthroughs visualisieren architektonische Gebäudekonzepte als immersives Virtual Reality Erlebnis. So können Kunden und Interessenten das Gebäude oder die entworfene Umgebung schon vor dem realen Baubeginn erkunden und betrachten. Laut Craig et al. ist hierfür insbesondere die realistische Gestaltung der virtuellen Umwelt ein wichtiger Aspekt (vgl. [Craig et al. 2009]). Der Aughanded Virtuality Prototyp stellt in diesem Zusammenhang eine interessante Erweiterungsmöglichkeit dar: Durch eine Repräsentation der realen Hände des Nutzers könnte der Realismusgrad der virtuellen Welt weiter verbessert werden. Darüber hinaus könnte die Steigerung des Präsenzeindrucks und der mentalen Immersion den Kunden das Ein” tauchen“ in die virtuelle Umgebung erleichtern. Gebäudekonzepte sind unter Umständen leichter zu begreifen, wenn der Nutzer sich selbst als Teil der Virtualität betrachtet. Weiterhin ist auch die vermutete, optimalere Abschätzung von egozentrischen Distanzen und virtuellen Objektgrößen als Vorteil zu sehen. In der Architektur spielen exakte Maßstäbe und Größenrelationen eine entscheidende Rolle. 8.2 Ausblick 133 Visualisierung von wissenschaftlichen Daten Auch die Datenvisualisierung in virtuellen, dreidimensionalen Umgebungen könnte von exakt abschätzbaren Größenrelationen und Distanzen profitieren. Darüber hinaus wäre für derartige Anwendungen die Umsetzung einer natürlichen Navigationsmöglichkeit mit Handgesten sehr vielversprechend. Auch die Interaktion mit virtuellen Objekten und Daten scheint in diesem Zusammenhang sinnvoll. Die mentale Immersion der Nutzer und der Realismusgrad der Visualisierung scheinen dagegen eher eine untergeordnete Rolle zu spielen. Daher ist zu überlegen, ob die Videostreamüberlagerung der Hände des Nutzers hinsichtlich des Aussehens angepasst werden könnte. Eine Option wäre beispielsweise die Justierung der Transparenz der angezeigten Pixel. Durch eine halbtransparente Darstellung der Hände des Nutzers wäre der Blick auf die Datenvisualisierungen nicht verdeckt und die Hände ständen dem Anwender dennoch als Werkzeug zur Verfügung. Der Prototyp liefert mit dem Alpha“-Wert bereits eine entsprechende ” Einstellungsmöglichkeit. Training Virtual Reality Trainings-Anwendungen umfassen beispielsweise Flug- und Fahrzeugsimulationen und Lernumgebungen für die Steuerung von Maschinen und Geräten - etwa in der Medizin. Entscheidende Gründe für die Umsetzung derartiger Applikationen sind Kostenersparnisse und Sicherheitsaspekte. Der Aughanded Virtuality Prototyp könnte Trainings-Anwendungen auf vielfältige Weise bereichern - etwa hinsichtlich des Realismusgrads oder der immersiven Wirkung der virtuellen Umgebung. Darüber hinaus könnte für einen leichten Einstieg in ein Lerngebiet die Videoüberlagerung entsprechend verändert werden: Die Bedienung von virtuellen Maschinen könnte beispielsweise übersichtlicher erfolgen, wenn die Hände des Nutzers halb-transparent dargestellt werden. Auch Misserfolge könnten entsprechend visualisiert und damit verinnerlicht werden: So wäre es theoretisch möglich, die Hautfarbe eines Anwenders grünlich zu verfärben, falls dieser in einem virtuellen Labor gefährliche Chemikalien in unsachgemäßer Weise benutzt. Entertainment Das im Entertainment-Sektor ein großes Interesse an immersiven Erlebnissen in virtuellen Welten herrscht, zeigt sich beispielsweise durch den Erfolg der Oculus Rift. Das Projekt wurde über Crowdfunding finanziert und hat derzeit fast zweieinhalb Millionen US-Dollar an Kapital gesammelt (vgl. [Kickstarter 2014]). Die überwiegende Mehrheit der Oculus Rift Demonstratoren stellt die virtuelle Umgebung aus der egozentrischen Sicht des Nutzers dar. Die Erweiterung der Anwendungen um eine Repräsentation der eigenen Hände des Nutzers scheint daher grundsätzlich sinnvoll. Von einer Erhöhung des Präsenzeindrucks des Nutzers sollten nahezu alle Demonstratoren profitieren, die eine Erkundung der virtuellen Welt aus Sicht des Anwenders umsetzen. Eine starke Anziehungskraft dürfte darüber hinaus allein durch das implementierte Konzept entstehen, 134 Zusammenfassung eigene Körperpartien in der virtuellen Umgebung betrachten zu können. Die Veröffentlichung eines Demonstrations-Videos des Aughanded-Virtuality Prototypen der vorliegenden Arbeit im Internet-Forum der Firma Oculus VR zog bereits positive bis enthusiastische Kommentare der Nutzer nach sich (vgl. [Günther 2014]). Andere Anwendungen Der Prototyp stellt ebenfalls ein interessantes Werkzeug für Virtual Reality Künstler dar. Die Erschaffung von immersiven, dreidimensionalen Welten könnte von einer Überlagerung von realen Körperpartien des Nutzers profitieren. Darüber hinaus lässt sich das Aussehen der Hände und Arme des Nutzers auf vielfältige Weise verfremden, was insbesondere für nicht-realistische Umgebungen ein nützliches Feature darstellen könnte. So lassen sich beispielsweise fantastische oder surreale Welten mit andersfarbigem Nutzerkörper realisieren. Im Prototypen können zu diesem Zweck bereits verschiedene Voreinstellungen beziehungsweise Presets“ gewählt werden. ” Anhang A Quellcode Im Folgenden sind diverse Quellcode-Ansätze aufgeführt, auf die in vorangegangenen Kapiteln verwiesen wurde. Quellcode A.1: Shader: Einfache Haut-Segmentierung 1 2 3 4 5 6 7 8 9 10 11 Shader " Tutorial / S k i n S e gm e n t a t i o n " { Properties { _MainTex (" Base ( RGB )" , 2 D ) = " white " {} } SubShader { Tags {" Queue "=" Transparent "} ZWrite Off Blend SrcAlpha O n e M i n u s S r c A l p h a Lighting Off 12 13 14 15 16 17 18 19 Pass { CGPROGRAM # pragma vertex vert # pragma fragment frag # pragma target 3.0 # include " UnityCG . cginc " 20 21 22 sampler2D _MainTex ; float2 texture_size ; 23 24 25 26 27 28 29 30 31 struct vertexInput { float4 vertex : POSITION ; float4 texcoord0 : TEXCOORD0 ; }; struct fragmentInput { float4 position : SV_POSITION ; float4 texcoord0 : TEXCOORD0 ; }; 32 33 34 35 36 37 38 fragmentInput vert ( vertexInput i ){ fragmentInput o ; o . position = mul ( UNITY_MATRIX_MVP , i . vertex ); o . texcoord0 = i . texcoord0 ; return o ; } 39 40 41 42 half4 frag ( fragmentInput i ) : COLOR { half4 color = tex2D ( _MainTex , i . texcoord0 . xy ); 43 44 45 float maxi = max ( color .r , color . g ); float mini = min ( color .r , color . g ); maxi = max ( maxi , color . b ); mini = min ( maxi , color . b ); 136 Anhang float factor = maxi - mini ; 46 47 // calculate Hue float H = 0; if ( maxi == color . r ){ H = 60 * (( color . g - color . b )/ factor ); } else if ( maxi == color . g ){ H = 60 * (2 + ( color . b - color . r )/ factor ); } else if ( maxi == color . b ){ H = 60 * (4 + ( color . r - color . g )/ factor ); } if ( H < 0) H = H + 360; 48 49 50 51 52 53 54 55 56 57 58 // calculate Saturation float S = 0; if ( maxi != 0){ S = factor / maxi ; } 59 60 61 62 63 64 float V = maxi ; // calculate Value 65 66 float alpha = 0; // check segmentation borders if ( H < 50 && S > 0.1 && S < 0.8 && V > 0.24) return half4 ( color .r , color .g , color .b , alpha ); 67 68 69 70 } ENDCG 71 72 } 73 } 74 Fallback " Transparent / Diffuse " 75 76 alpha = 1; } Quellcode A.2: Shader: Erweiterte Haut-Segmentierung 1 2 3 4 5 6 7 8 9 10 Shader " Tutorial / S k i n S e g e m e n t a t i o n 2 " { Properties { _MainTex (" Texture " , 2 D ) = " white " {} } SubShader { Tags { " RenderType " = " Tranparent " } ZWrite Off Blend SrcAlpha O n e M i n u s S r c A l p h a Lighting Off 11 12 13 14 15 16 17 18 Pass { CGPROGRAM # pragma vertex vert # pragma fragment frag # pragma target 3.0 # include " UnityCG . cginc " 19 20 sampler2D _MainTex ; 21 22 23 24 struct vertexInput { float4 vertex : POSITION ; float4 texcoord0 : TEXCOORD0 ; 137 A Quellcode }; struct fragmentInput { float4 position : SV_POSITION ; float4 texcoord0 : TEXCOORD0 ; }; fragmentInput vert ( vertexInput i ){ fragmentInput o ; o . position = mul ( UNITY_MATRIX_MVP , i . vertex ); o . texcoord0 = i . texcoord0 ; return o ; } half4 frag ( fragmentInput i ) : COLOR { int count = 0; bool self = false ; 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 // step - width for 1 pixel in texture coordinate space float w = (1.0/1280); float h = (1.0/720); 40 41 42 43 half4 mycolor ; 44 float x = i . texcoord0 . x ; float y = i . texcoord0 . y ; 45 float R ; float B ; float G ; float mini ; float S ; int e ; int f ; 46 47 for ( int i = 0 ; i < 5; i ++) { for ( int j = 0 ; j < 5; j ++) { e = i -2; f = j -2; 48 49 50 51 52 53 // get the testmatrix pixel colors (4 steps span ) mycolor = tex2D ( _MainTex , float2 (( x +( w * e *4)) , ( y +( h * f *4)))). rgba ; R = mycolor . r ; G = mycolor . g ; B = mycolor . b ; 54 55 56 57 if ( R > G && R > B ) // check if red is the maximum { mini = min (B , G ); S = ( R - mini )/ R ; 58 59 60 61 62 // check segmentation borders if ( (( G - B )/( R - mini )) < (0.833333) && S > 0.1 && ( R + mini ) > 0.25){ if ( e == 0 && f == 0) self = true ; count ++; } 63 64 65 66 67 68 } 69 } 70 } // get color of current pixel and set alpha value to zero mycolor = tex2D ( _MainTex , float2 ( x , y ) ). rgba ; mycolor . a = 0; 71 72 73 74 // check if pixel should be accepted ( change alpha value to 1 if accepted ) if (( self == true && count > 10) || count > 18){ mycolor . a = 1; } return half4 ( mycolor .r , mycolor .g , mycolor .b , mycolor . a ); } ENDCG 75 76 77 78 79 80 81 } 82 83 } 138 Fallback " Diffuse / Transparent " 84 85 Anhang } Quellcode A.3: DLL: Integretion des Videostreams mit libVLC 1 2 3 4 # include # include # include # include < vlc / vlc .h > " opencv2 / highgui / highgui . hpp " " opencv2 / imgproc / imgproc . hpp " < mutex > // include libVLC header // include openCV headers // include std :: mutex class 5 6 using namespace cv ; using namespace std ; 7 8 9 10 11 12 // struct that holds p i x e l i n f o r m a t i o n of the current frame and a mutex struct ctx { uint8_t * pixeldata ; std :: mutex imagemutex ; }; 13 14 15 16 17 // helper functions for set_callback function of libVLC static void display ( void * data , void * id ); static void unlock ( void * data , void * id , void * const * p_pixels ); static void * lock ( void * data , void ** p_pixels ); 18 19 20 21 22 23 24 25 26 27 28 // block that makes functions to have " C " linkage and prevents name mangling extern " C " { struct ctx ctx ; l i b v l c _ i n s t a n c e _ t * inst ; l i b v l c _ m e d i a _ p l a y e r _ t * mp ; l ibvlc_me dia_t * m ; // op enDirect Show function should be called extern from DLL __declspec ( dllexport ) void openDi rectShow () { // create new data structure for frame with 1280 * 720 pixels and 3 channels ctx . pixeldata = new uint8_t [1280 * 720 * 3]; 29 30 31 32 33 // build instance of libVLC char const * vlc_argv [] = { " - vvv " , " --no - audio " , " --no - xlib " ,}; int vlc_argc = sizeof ( vlc_argv ) / sizeof (* vlc_argv ); inst = libvlc_new ( vlc_argc , vlc_argv ); 34 35 36 37 38 39 40 41 42 43 44 // definition of options for direct show video stream const char * options [] = { " : dshow - vdev = AVerMedia ␣ HD ␣ Capture " , // video device name " : dshow - adev = none " , // audio device name // ": dshow - size =1280 x720 " , // number of pixels of frames " : dshow - fps =24 " , // frames per second " : dshow - chroma = YUY2 " , // color space of frames " : dshow - aspect - ratio =16\:9 " , " : live - caching =150 " , // caching of data in ms NULL }; 45 46 47 // set URL to the media that should be played - in this case direct show m = l i b v l c _ m e d i a _ n e w _ l o c a t i o n ( inst , " dshow :// " ); 48 49 50 51 // set options for video stream for ( const char ** opt = options ; * opt ; opt ++) l i b v l c _ m e d i a _ a d d _ o p t i o n (m , * opt ); 52 53 // create media player and commit media ( that is not longer needed ) A Quellcode mp = l i b v l c _ m e d i a _ p l a y e r _ n e w _ f r o m _ m e d i a ( m ); l i b v l c _ m e d i a _ r e l e a s e ( m ); 54 55 56 // set_callback function to get current single frames l i b v l c _ v i d e o _ s e t _ c a l l b a c k s ( mp , lock , unlock , display , & ctx ); // set format to of video stream to RGB color space l i b v l c _ v i d e o _ s e t _ f o r m a t ( mp , " RV24 " , 1280 , 720 , 1280 * 3); l i b v l c _ m e d i a _ p l a y e r _ p l a y ( mp ); 57 58 59 60 61 62 } 63 64 65 66 67 68 69 __declspec ( dllexport ) void c lo s eD ir ec tS h ow (){ l i b v l c _ m e d i a _ p l a y e r _ s t o p ( mp ); l i b v l c _ m e d i a _ p l a y e r _ r e l e a s e ( mp ); libvl c_releas e ( inst ); delete [] ctx . pixeldata ; } 70 71 72 73 74 // extern function to get and process current frame __declspec ( dllexport ) void getFrame ( void * colors , int width , int height ) { if (! colors ) return false ; Mat frame (720 , 1280 , CV_8UC3 ); 75 76 77 78 79 // copy bytes from pixeldata to openCV Mat with mutex lock and unlock ctx . imagemutex . lock (); memcpy ( frame . data , ctx . pixeldata , 1280 * 720 * sizeof ( uint8_t )* 3); ctx . imagemutex . unlock (); 80 81 /* [...] OpenCV image processing functions ( segmentation ) [...] */ 82 83 84 85 86 87 // create pointer to extern colors structure float * data = reinterpret_cast < float * >( colors ); // create pointer to frame pixel data and mask data unsigned char * input_mask = ( unsigned char *)( mask . data ); unsigned char * input = ( unsigned char *)( frame . data ); 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 // fill color structure with four RGBA floats to match unity standards int size = frame . cols * frame . rows * 4; int maski = 0; int pici = 0; for ( int i = 0; i < size ; i = i + 4){ data [ i + 0] = ( float ) input [ pici + 2] / 255; data [ i + 1] = ( float ) input [ pici + 1] / 255; data [ i + 2] = ( float ) input [ pici + 0] / 255; data [ i + 3] = ( float ) input_mask [ maski ] / 255; maski ++; pici = pici + 3; } } } void display ( void * data , void * id ){ ( void ) data ; assert ( id == NULL ); } void unlock ( void * data , void * id , void * const * p_pixels ){ struct ctx * ctx = ( struct ctx *) data ; ctx - > imagemutex . unlock (); assert ( id == NULL ); } void * lock ( void * data , void ** p_pixels ){ struct ctx * ctx = ( struct ctx *) data ; ctx - > imagemutex . lock (); 139 140 * p_pixels = ctx - > pixeldata ; return NULL ; 113 114 115 Anhang } Quellcode A.4: Unity Script: Integretion des Videostreams mit libVLC 1 2 using UnityEngine ; using System . Collections ; using System ; using System . Runtime . In te r op Se rv i ce s ; 3 4 5 6 7 8 9 public class dllVLC : MonoBehaviour { [ DllImport ( " dllVLC " )] private static extern void ope nDirectS how (); [ DllImport ( " dllVLC " )] private static extern void cl os eD i re ct Sh o w (); [ DllImport ( " dllVLC " )] private static extern void getFrame ( IntPtr colors , int width , int height ); 10 public int width , height ; private Texture2D videoTexture ; // array that keeps the color information of the pixels private Color [] pixels ; // handle for accessing a managed object from unmanaged memory private GCHandle pixelsHandle ; 11 12 13 14 15 16 17 void Start () { openD irectSho w (); width = 1280; height = 720; 18 19 20 21 // open direct show video stream // set video size 22 // create RGBA videoTexture videoTexture = new Texture2D ( width , height , TextureFormat . ARGB32 , false ); 23 24 25 // fill pixel array with the videoTexture pixels pixels = videoTexture . GetPixels (0); 26 27 28 // reserve the handle for the pixel array and set handle typ to pinned pixelsHandle = GCHandle . Alloc ( pixels , GCHandleType . Pinned ); 29 30 31 // set mainTexture to videoTexture renderer . material . mainTexture = videoTexture ; 32 33 } 34 35 void OnDisable () { pixelsHandle . Free (); c lo se Di re c tS ho w (); } 36 37 38 39 40 // free pinned array handle // close direct show stream 41 void Update () { // capture the current frame and fill the pixel array through handles adress getFrame ( pixelsHandle . A d d r O f P i n n e d O b j e c t () , videoTexture . width , videoTexture . height ); 42 43 44 45 46 47 // set videoTexture pixels to current frame pixels and apply them videoTexture . SetPixels ( pixels , 0); videoTexture . Apply (); 48 49 50 } 51 52 } 141 A Quellcode Quellcode A.5: OpenCV: Segmentierung der Haut 1 2 Mat frame (720 , 1280 , CV_8UC3 ); Mat blur ; Mat hsv ; Mat bw ; // Mat object for current frame pixels // Mat objects for intermediate steps flip ( frame , frame , 0); // mirror frame vertically and horizontally 3 4 5 6 7 // smoothes the image using a gaussian filter with a kernel size of 7 GaussianBlur ( frame , blur , Size (7 , 7) , 1 , 1); 8 9 10 // convert color format from OpenCVs BGR to HSV cvtColor ( blur , hsv , CV_BGR2HSV ); 11 12 13 14 // check segmentation borders and create a black / white mask image // skin pixels are white and non - skin pixels are black inRange ( hsv , Scalar (0 , 35 , 80) , Scalar (25 , 180 , 255) , bw ); 15 16 17 // smoothes the image using a median filter with a kernel size of 9 medianBlur ( bw , bw , 9); 18 19 20 21 // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // // find the two biggest contours in the frame that correspond to the hands 22 23 24 // create vectors that will be filled by the findContours function vector < vector < Point > > contours ; 25 26 27 // find all contours and tag them with indices findContours ( bw , contours , CV_RETR_LIST , C V _ C H A I N _ A P P R O X _ S I M P L E ); 28 29 30 // call help function and get indices of two biggest contours Vec2i s = f i n d B i g g e s t C o n t o u r ( contours ); 31 32 33 34 35 // draw black / white mask image with only the two biggest contours Mat bwMask = Mat :: zeros ( frame . size () , CV_8UC1 ); drawContours ( bwMask , contours , s (0) , Scalar (255) , -1); drawContours ( bwMask , contours , s (1) , Scalar (255) , -1); 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 // help function to find biggest contours Vec2i f i n d B i g g e s t C o n t o u r ( vector < vector < Point > > contours ) { int i n d e x O f B i g g e s t C o n t o u r = -1; int i n d e x O f S e c o n d B i g g e s t C o n t o u r = -1; int s i z e O f B i g g e s t C o n t o u r = 0; int s i z e O f S e c o n d B i g g e s t C o n t o u r = 0; for ( int i = 0; i < contours . size (); i ++){ if ( contours [ i ]. size () > s i z e O f B i g g e s t C o n t o u r ){ indexOfSecondBiggestContour = indexOfBiggestContour ; sizeOfSecondBiggestContour = sizeOfBiggestContour ; s i z e O f B i g g e s t C o n t o u r = contours [ i ]. size (); indexOfBiggestContour = i; } else if ( contours [ i ]. size () > s i z e O f S e c o n d B i g g e s t C o n t o u r ){ s i z e O f S e c o n d B i g g e s t C o n t o u r = contours [ i ]. size (); indexOfSecondBiggestContour = i; } } return { indexOfBiggestContour , i n d e x O f S e c o n d B i g g e s t C o n t o u r }; } Radius Erhöhung/Verringerung des Radius in dem Nachbarschaftspixel geprüft werden Gap Erhöhung/Verringerung des Abstands zwischen den zu prüfenden Nachbarschaftspixeln Key Verschiebung des SchlüsselFarbtons für das ChromaKeying-Verfahren Threshold Ausweitung/Verkleinerung der Segmentierungsgrenzen um den Schlüsselfarbton Segmentation Parameters Normal Zurücksetzung der Parameter auf Standard Ghost Halb-transparente, helle Darstellung der VideoÜberlagerung Hulk Grünliche Umfärbung der Video-Überlagerung Avatar Bläuliche Umfärbung der Video-Überlagerung S.U (Saturation Upper) Obere Grenze, ab der Pixelkandidaten mit zu hoher Sättigung verworfen werden Smooth Parameter zur Einstellung des Weichzeichnungsgrads der Segmentierungskanten Camera up Erhöht den Standpunkt der virtuellen Kamera S.L (Saturation Lower) Untere Grenze, ab der Pixelkandidaten mit einer zu niedrigen Sättigung verworfen werden Mirror horizontal Horizontale Spieglung Mirror vertical Vertikale Spieglung Percent Prozentzahl der Nachbarschaftspixel, die akzeptiert werden müssen, damit das aktuelle Pixel angezeigt wird Brightness Erhöhung/Verringerung der Helligkeit Hue Farbtonverschiebung Output Parameters Saturation Erhöhung/Verringerung der Sättigung Alpha Anpassung der Transparenz V.U (Value Upper) Obere Grenze ab, der Pixelkandidaten mit zu hohem Hellwert verworfen werden V.L (Value Lower) Untere Grenze, ab der Pixelkandidaten mit einem zu niedrigen Hellwert verworfen werden Height Verschiebung der Höhe des Video-Layers Distance Entfernung des Video-Layers zur virtuellen Kamera Layer Parameters O Zurücksetzung der Parameter auf die Ausgangswerte Camera Parameters Camera down Verringert den Standpunkt der virtuellen Kamera 142 Anhang B Bedienungsanleitung des Prototypen 143 C Fragebogen der Nutzerstudie C Fragebogen der Nutzerstudie weiblich männlich unter 14 Jahre 14-29 Jahre 30-49 Jahre über 49 Jahre Wissen Sie, was Virtual Reality ist? ja nein Haben Sie bereits Erfahrungen mit Virtual Reality gemacht? ja nein Bitte geben Sie Ihre Beurteilung ab. Um das Produkt zu bewerten, füllen Sie bitte den nachfolgenden Fragebogen aus. Er besteht aus Gegensatzpaaren von Eigenschaften, die das Produkt haben kann. Abstufungen zwischen den Gegensätzen sind durch Kreise dargestellt. Durch Ankreuzen eines dieser Kreise können Sie Ihre Zustimmung zu einem Begriff äußern. Beispiel: attraktiv unattraktiv Mit dieser Beurteilung sagen Sie aus, dass Sie das Produkt eher attraktiv als unattraktiv einschätzen. Entscheiden Sie möglichst spontan. Es ist wichtig, dass Sie nicht lange über die Begriffe nachdenken, damit Ihre unmittelbare Einschätzung zum Tragen kommt. Bitte kreuzen Sie immer eine Antwort an, auch wenn Sie bei der Einschätzung zu einem Begriffspaar unsicher sind oder finden, dass es nicht so gut zum Produkt passt. Es gibt keine „richtige“ oder „falsche“ Antwort. Ihre persönliche Meinung zählt! Bitte geben Sie nun Ihre Einschätzung des Produkts ab. Kreuzen Sie bitte nur einen Kreis pro Zeile an. 1 2 3 4 5 6 7 unerfreulich erfreulich 1 kreativ phantasielos 2 erfrischend einschläfernd 3 langweilig spannend 4 uninteressant interessant 5 neu alt 6 gut schlecht 7 abstoßend anziehend 8 veraltet modern 9 unangenehm angenehm 10 abwechslungsreich eintönig 11 attraktiv unattraktiv 12 sympathisch unsympathisch 13 konservativ innovativ 14 Wie präsent haben Sie sich in der virtuellen Umgebung gefühlt? sehr präsent nicht präsent 15 Wie bewusst waren Sie sich der Ereignisse, die in der realen Welt um Sie herum auftraten? sehr bewusst nicht bewusst 16 Wie sehr stimmt das Erlebnis in der virtuellen Umgebung mit Ihren Erlebnissen aus der realen Welt überein? keine Übereinstimmung hohe Übereinstimmung 17 In welchem Ausmaß haben Sie bei der Betrachtung der virtuellen Umgebung die Zeit vergessen? hohes Ausmaß geringes Ausmaß 18 Wie stark haben Sie sich in die virtuelle Umgebung hineingezogen gefühlt? sehr stark sehr schwach 19 Wie bewusst haben Sie das Display und die Video-Brille wahrgenommen? nicht bewusst sehr bewusst 20 D Literaturverzeichnis 145 D Literaturverzeichnis [AttrakDiff 2014] AttrakDiff: AttrakDiff“ Stand: 16.07.2014. URL: http://attrakdiff.de ” (abgerufen am 16.07.2014) [Azuma et al. 1997] Azuma, Ronald T. et al.: A survey of augmented reality. In: Presence 6 (1997), Nr. 4, S. 355–385 [Bach et al. 2012] Bach, F ; Çakmak, H ; Maaß, H: Vision-based Hand Representation and Intuitive Virtual Object Manipulation in Mixed Reality. In: Biomedical Engineering/Biomedizinische Technik (2012) [Bailenson et al. 2005] Bailenson, Jeremy N. ; Swinth, Kim ; Hoyt, Crystal ; Persky, Susan ; Dimov, Alex ; Blascovich, Jim: The independent and interactive effects of embodied-agent appearance and behavior on self-report, cognitive, and behavioral markers of copresence in immersive virtual environments. In: Presence: Teleoperators and Virtual Environments 14 (2005), Nr. 4, S. 379–393 [BBC-News 2012] BBC-News: Oculus Rift virtual reality headset gets Kickstarter cash“ ” Stand: 01.08.2012. URL: http://www.bbc.com/news/technology-19085967 (abgerufen am 26.05.2014) [Bell 2008] Bell, Mark: Toward a Definition of Virtual Worlds“. In: Journal For Virtual Worlds ” Research 1 (2008), Nr. 1 [Bender und Brill 2006] Bender, Michael ; Brill, Manfred: Computergrafik: ein anwendungsorientiertes Lehrbuch. Hanser Verlag, 2006 [Billinghurst et al. 2001] Billinghurst, Mark ; Kato, Hirokazu ; Poupyrev, Ivan: The magicbook-moving seamlessly between reality and virtuality. In: Computer Graphics and Applications, IEEE 21 (2001), Nr. 3, S. 6–8 [Boulic et al. 1997] Boulic, Ronan ; Bécheiraz, Pascal ; Emering, Luc ; Thalmann, Daniel: Integration of motion control techniques for virtual human and avatar real-time animation. In: Proceedings of the ACM symposium on Virtual reality software and technology ACM (Veranst.), 1997, S. 111–118 [Brand und Mason 2000] Brand, Jason ; Mason, John S.: A comparative assessment of three approaches to pixel-level human skin-detection. In: Pattern Recognition, 2000. Proceedings. 15th International Conference on Bd. 1 IEEE (Veranst.), 2000, S. 1056–1059 [Bruder et al. 2009] Bruder, Gerd ; Steinicke, Frank ; Rothaus, Kai ; Hinrichs, Klaus: Enhancing presence in head-mounted display environments by visual body feedback using head-mounted cameras. In: CyberWorlds, 2009. CW’09. International Conference on IEEE (Veranst.), 2009, S. 43–50 146 Literaturverzeichnis [Buckman 2007] Buckman, John: Bild in Report from iCommons Summit in Dubrovnik, ” Croatia“ Stand: 17.06.2007. URL: http://www.openbusiness.cc/2007/06/17/report-formicommons-summit-in-dubrovnik-croatia/ (abgerufen am 11.03.2014) [Busch et al. 2009] Busch, Annika ; Staggenborg, Marius ; Brix, Tobias ; Bruder, Gerd ; Steinicke, Frank ; Hinrichs, Klaus: Darstellung physikalischer Objekte in Immersiven Head-Mounted Display Umgebungen. (2009) [Craig et al. 2009] Craig, Alan B. ; Sherman, William R. ; Will, Jeffrey D.: Developing virtual reality applications: Foundations of effective design. Morgan Kaufmann, 2009 [CryEngine 2013] CryEngine: CRYENGINE - Now with Oculus Rift and Cinemizer sup” port!“ Stand: 23.08.2013. URL: http://www.crydev.net/viewtopic.php?f=355&t=114108 (abgerufen am 08.05.2014) [Davis et al. 2009] Davis, Alanah ; Murphy, John ; Owens, Dawn ; Khazanchi, Deepak ; Zigurs, Ilze: Avatars, people, and virtual worlds: Foundations for research in metaverses. In: Journal of the Association for Information Systems 10 (2009), Nr. 2, S. 1 [Fiore und Interrante 2012] Fiore, Loren P. ; Interrante, Victoria: Towards Achieving Robust Video Self-avatars under Flexible Environment Conditions. (2012) [Foley et al. 1994] Foley, James D. ; Dam, Andries van ; Feiner, Steven K. ; Hughes, John F. ; Phillips, Richard L.: Grundlagen der Computergraphik. In: AddisonWesleyUmruck zum Labor (1994) [Google 2014] Google: Virtual reality on your smartphone“ Stand: 24.09.2014. URL: htt” ps://cardboard.withgoogle.com/ (abgerufen am 24.09.2014) [GoPro 2014a] GoPro: HERO3+ Black Edition - Technische Daten.“ Stand: 27.05.2014. ” URL: http://de.gopro.com/cameras/hd-hero3-black-edition#technical-specs (abgerufen am 27.05.2014) [GoPro 2014b] GoPro: Informationen zum Blickfeld (FOV) der HERO3+ Black Editi” on.“ Stand: 27.05.2014. URL: http://de.gopro.com/support/articles/hero3-field-of-viewfov-information (abgerufen am 27.05.2014) [Günther 2014] Günther, Tobias: Aughanded Virtuality - See your own hands in VR“ Stand: ” 24.07.2014. URL: https://developer.oculusvr.com/forums/viewtopic.php?f=28&t=10846 (abgerufen am 23.09.2014) [Hassenzahl et al. 2008] Hassenzahl, Marc ; Burmester, M ; Koller, F ; Brau, H ; Diefenbach, S ; Peissner, M ; Röse, K: Der User Experience (UX) auf der Spur: Zum Einsatz von www. attrakdiff. de. In: Usability Professionals 2008 (2008), S. 78–82 Literaturverzeichnis 147 [Hassenzahl et al. 2003] Hassenzahl, Marc ; Burmester, Michael ; Koller, Franz: AttrakDiff: Ein Fragebogen zur Messung wahrgenommener hedonischer und pragmatischer Qualität. In: Mensch & Computer 2003. Springer, 2003, S. 187–196 [Hollister 2013] Hollister, Sean: Inside Oculus: a tour of virtual reality’s would-be savior“ ” Stand: 19.03.2013. URL: http://www.theverge.com/2013/3/19/4122388/can-oculus-riftsave-virtual-reality (abgerufen am 27.05.2014) [Hughes und Stapleton 2005] Hughes, Charles E. ; Stapleton, Christopher B.: The shared imagination: creative collaboration in augmented virtuality. In: Proc. HCI Intel Citeseer (Veranst.), 2005 [Iwainsky und Wilhelmi 1994] Iwainsky, Alfred ; Wilhelmi, Wolfgang: Lexikon der Computergrafik und Bildverarbeitung: mit über 1000 Eintragungen, zahlreichen Querverweisen und Illustrationen sowie einem Bildanhang. Vieweg, 1994 [Jähne 2005] Jähne, Bernd: Digitale Bildverarbeitung: Mit 155 Übungsaufgaben und CD-rom. Springer, 2005 [Kerschbaumer 2014] Kerschbaumer, Ken: Sportvision’s Work on America’s Cup to ” be Honored at SVG Europe Technical Achievement Awards“ Stand: 06.08.2014. URL: http://sportsvideo.org/main/blog/2014/08/sportvisions-work-on-americas-cup-to-behonored-at-svg-europe-technical-achievement-awards/ (abgerufen am 24.08.2014) [Kickstarter 2014] Kickstarter: Oculus Rift: Step Into the Game“ Stand: 26.05.2014. URL: ” https://www.kickstarter.com/projects/1523379957/oculus-rift-step-into-the-game (abgerufen am 26.05.2014) [Kilteni et al. 2013] Kilteni, Konstantina ; Bergstrom, Ilias ; Slater, Mel: Drumming in immersive virtual reality: the body shapes the way we play. In: Visualization and Computer Graphics, IEEE Transactions on 19 (2013), Nr. 4, S. 597–605 [Langley 2014] Langley, Hugh: The consumer-ready Oculus Rift will launch in public beta ” by summer 2015 “ Stand: 11.09.2014. URL: http://www.techradar.com/news/gaming/theconsumer-ready-oculus-rift-will-launch-in-public-beta-by-summer-2015-1265010 (abgerufen am 24.09.2014) [Laugwitz et al. 2008] Laugwitz, Bettina ; Held, Theo ; Schrepp, Martin: Construction and evaluation of a user experience questionnaire. Springer, 2008 [Laugwitz et al. 2009] Laugwitz, Bettina ; Schubert, U ; Ilmberger, W ; Tamm, N ; Held, Th ; Schrepp, M: Subjektive Benutzerzufriedenheit quantitativ erfassen: Erfahrungen mit dem User Experience Questionnaire UEQ. In: Usability Professionals (2009), S. 220–225 148 Literaturverzeichnis [Lin et al. 2002] Lin, JJ-W ; Duh, Henry Been-Lirn ; Parker, Donald E. ; Abi-Rached, Habib ; Furness, Thomas A.: Effects of field of view on presence, enjoyment, memory, and simulator sickness in a virtual environment. In: Virtual Reality, 2002. Proceedings. IEEE IEEE (Veranst.), 2002, S. 164–171 [Linkenauger et al. 2013] Linkenauger, Sally A. ; Leyrer, Markus ; Bülthoff, Heinrich H. ; Mohler, Betty J.: Welcome to wonderland: The influence of the size and shape of a virtual hand on the perceived size and shape of virtual objects. In: PloS one 8 (2013), Nr. 7, S. e68594 [Lukaszenko et al. 2014] Lukaszenko, Mateusz ; Hausmann, Krystian ; Blicharczyk, Filip ; Barlowski, Bart: Real World Third Person Perspective VR / AR Experiment“ ” Stand: 25.06.2014. URL: http://www.youtube.com/watch?v=RgBeRP4dUGo (abgerufen am 20.09.2014) [Martini et al. 2013] Martini, Matteo ; Perez-Marcos, Daniel ; Sanchez-Vives, Maria V.: What color is my arm? Changes in skin color of an embodied virtual arm modulates pain threshold. In: Frontiers in human neuroscience 7 (2013) [McManus et al. 2011] McManus, Erin A. ; Bodenheimer, Bobby ; Streuber, Stephan ; Rosa, Stephan de la ; Bülthoff, Heinrich H. ; Mohler, Betty J.: The influence of avatar (self and character) animations on distance estimation, object interaction and locomotion in immersive virtual environments. In: Proceedings of the ACM SIGGRAPH Symposium on Applied Perception in Graphics and Visualization ACM (Veranst.), 2011, S. 37–44 [Milgram und Colquhoun 1999] Milgram, Paul ; Colquhoun, Herman: A taxonomy of real and virtual world display integration. In: Mixed reality: Merging real and virtual worlds (1999), S. 5–30 [Milgram und Kishino 1994] Milgram, Paul ; Kishino, Fumio: A taxonomy of mixed reality visual displays. In: IEICE TRANSACTIONS on Information and Systems 77 (1994), Nr. 12, S. 1321–1329 [Milgram et al. 1995] Milgram, Paul ; Takemura, Haruo ; Utsumi, Akira ; Kishino, Fumio: Augmented reality: A class of displays on the reality-virtuality continuum. In: Photonics for Industrial Applications International Society for Optics and Photonics (Veranst.), 1995, S. 282–292 [Mohler et al. 2010] Mohler, Betty J. ; Creem-Regehr, Sarah H. ; Thompson, William B. ; Bülthoff, Heinrich H.: The effect of viewing a self-avatar on distance judgments in an HMD-based virtual environment. In: Presence: Teleoperators and Virtual Environments 19 (2010), Nr. 3, S. 230–242 [Mueller und Gibbs 2006] Mueller, Florian’Floyd’ ; Gibbs, Martin: A table tennis game for three players. In: Proceedings of the 18th Australia conference on Computer-Human Interaction: Design: Activities, Artefacts and Environments ACM (Veranst.), 2006, S. 321–324 Literaturverzeichnis 149 [Occipital 2014] Occipital, Inc.: Develop with Depth - Specifications“ Stand: 20.09.2014. ” URL: http://structure.io/developers (abgerufen am 20.09.2014) [Oculus-VR 2013] Oculus-VR: Do you plan to release any wrappers for the SDK?“ ” Stand: 21.08.2013. URL: https://support.oculusvr.com/hc/en-us/articles/201721103-Doyou-plan-to-release-any-wrappers-for-the-SDK- (abgerufen am 08.05.2014) [Oculus-VR 2014a] Oculus-VR: DK2: Development Kit 2“ Stand: 27.05.2014. URL: ” http://www.oculusvr.com/dk2/ (abgerufen am 27.05.2014) [Oculus-VR 2014b] Oculus-VR: What are the main steps I will need to take to integrate ” Oculus Rift with my game?“ Stand: 18.02.2014 URL: https://support.oculusvr.com/hc/enus/articles/201721123-What-are-the-main-steps-I-will-need-to-take-to-integrate-OculusRift-with-my-game- (abgerufen am 08.05.2014) [Oculus-VR 2014c] Oculus-VR: What will the Oculus SDK include?“ Stand: ” 18.02.2014. URL: https://support.oculusvr.com/hc/en-us/articles/201721143-What-willthe-Oculus-SDK-include- (abgerufen am 08.05.2014) [Organic-Motion 2014] Organic-Motion: Organic Motion Developes the World’s ” only Enterprise Markerless Motion Capture Solutions“ Stand: 23.09.2014. URL: http://www.organicmotion.com/ (abgerufen am 23.09.2014) [Paul et al. 2005] Paul, Perrine ; Fleig, Oliver ; Jannin, Pierre: Augmented virtuality based on stereoscopic reconstruction in multimodal image-guided neurosurgery: Methods and performance evaluation. In: Medical Imaging, IEEE Transactions on 24 (2005), Nr. 11, S. 1500–1511 [PCWelt 2013] PCWelt: Oculus Rift: Step Into the Game“ Stand: 18.10.2013. ” URL: http://www.pcwelt.de/produkte/Oculus Rift Developer Kit im Praxis-TestVirtuelle Realitaet zum Aufsetzen-8223701.html (abgerufen am 26.05.2014) [Pece et al. 2013] Pece, Fabrizio ; Steptoe, William ; Wanner, Fabian ; Julier, Simon ; Weyrich, Tim ; Kautz, Jan ; Steed, Anthony: Panoinserts: mobile spatial teleconferencing. In: Proceedings of the 2013 ACM annual conference on Human factors in computing systems ACM (Veranst.), 2013, S. 1319–1328 [Peek et al. 2013] Peek, E. ; Lutteroth, C. ; Wunsche, B.: More for less: Fast image warping for improving the appearance of head tracking on HMDs. In: Image and Vision Computing New Zealand (IVCNZ), 2013 28th International Conference of, Nov 2013, S. 41– 46. – ISSN 2151-2191 [Prisco 2010] Prisco, Giulio: Bild in Second Life, Viewer 2.0“ Stand: 23.02.2010. ” URL: http://giulioprisco.blogspot.co.uk/2010/02/second-life-viewer-20.html (abgerufen am 11.03.2014) 150 Literaturverzeichnis [RazerHydra 2014] RazerHydra: Razer Hydra Portal 2 Bundle“ Stand: 16.07.2014. URL: ” http://www.razerzone.com/de-de/gaming-controllers/razer-hydra-portal-2-bundle/ (abgerufen am 16.07.2014) [Regenbrecht et al. 2003] Regenbrecht, Holger ; Ott, Claudia ; Wagner, Michael ; Lum, Tim ; Kohler, Petra ; Wilke, Wilhelm ; Mueller, Erich: An augmented virtuality approach to 3D videoconferencing. In: Mixed and Augmented Reality, 2003. Proceedings. The Second IEEE and ACM International Symposium on IEEE (Veranst.), 2003, S. 290–291 [Ries et al. 2008] Ries, Brian ; Interrante, Victoria ; Kaeding, Michael ; Anderson, Lee: The effect of self-embodiment on distance perception in immersive virtual environments. In: Proceedings of the 2008 ACM symposium on Virtual reality software and technology ACM (Veranst.), 2008, S. 167–170 [Ries et al. 2009] Ries, Brian ; Interrante, Victoria ; Kaeding, Michael ; Phillips, Lane: Analyzing the effect of a virtual avatar’s geometric and motion fidelity on ego-centric spatial perception in immersive virtual environments. In: Proceedings of the 16th ACM Symposium on Virtual Reality Software and Technology ACM (Veranst.), 2009, S. 59–66 [Saraiji et al. 2009] Saraiji, MHD Y. ; Fernando, Charith L. ; Furukawa, Masahiro ; Minamizawa, Kouta ; Tachi, Susumu: Real-time Egocentric Superimposition of Operator’s Own Body on Telexistence Avatar in Virtual Environment. (2009) [Saraiji et al. 2013] Saraiji, MHD Y. ; Fernando, Charith L. ; Furukawa, Masahiro ; Minarnizawa, Kouta ; Tachi, Susumu: Real-time egocentric superimposition of operator’s own body on telexistence avatar in virtual environment. In: ICAT, 2013, S. 35–39 [Schiele 2012] Schiele, Hans-Günter: Computergrafik für Ingenieure. Springer-Viewg, 2012 [Seppänen 2013] Seppänen, Tuomas: Unwanted side effects of immersive virtual reality using head-mounted displays. (2013) [Sherman und Craig 2002] Sherman, William R. ; Craig, Alan B.: Understanding virtual reality: Interface, application, and design. Elsevier, 2002 [Simsarian und Akesson 1997] Simsarian, Kristian T. ; Akesson, Karl-Petter: Windows on the world: An example of augmented virtuality. (1997) [Slater et al. 1998] Slater, Mel ; McCarthy, John ; Maringelli, Francesco: The influence of body movement on subjective presence in virtual environments. In: Human Factors: The Journal of the Human Factors and Ergonomics Society 40 (1998), Nr. 3, S. 469–477 [Slater et al. 1994] Slater, Mel ; Usoh, Martin ; Steed, Anthony: Depth of presence in virtual environments. In: Presence 3 (1994), Nr. 2, S. 130–144 Literaturverzeichnis 151 [SPSS-Statistics 2014] SPSS-Statistics: IBM SPSS Statistics“ Stand: 21.07.2014. URL: ” http://www-01.ibm.com/software/de/analytics/spss/products/statistics/ (abgerufen am 21.07.2014) [Steinicke et al. 2009] Steinicke, Frank ; Bruder, Gerd ; Rothaus, Kai ; Hinrichs, Klaus: Poster: A virtual body for augmented virtuality by chroma-keying of egocentric videos. In: 3D User Interfaces, 2009. 3DUI 2009. IEEE Symposium on IEEE (Veranst.), 2009, S. 125–126 [Sutherland 1968] Sutherland, Ivan E.: A head-mounted three dimensional display. In: Proceedings of the December 9-11, 1968, fall joint computer conference, part I ACM (Veranst.), 1968, S. 757–764 [Torque-3D 2013] Torque-3D: Torque 3D Now Supports the Oculus Rift“ Stand: ” 11.04.2013. URL: http://www.garagegames.com/community/blogs/view/22249 (abgerufen am 08.05.2014) [UEQ 2014] UEQ: UEQ-Online“ Stand: 16.07.2014. URL: http://www.ueq-online.org/ (ab” gerufen am 16.07.2014) [Umeå-Energi 2014] Umeå-Energi: living with lag - an oculus rift experiment “ ” Stand: 27.04.2014. URL: http://www.youtube.com/watch?v= fNp37zFn9Q (abgerufen am 21.09.2014) [Unity 2014] Unity: Fast Facts“ Stand: 08.05.2014. URL: http://unity3d.com/company/ ” public-relations (abgerufen am 08.05.2014) [Unity-Dokumentation 2014] Unity-Dokumentation: Shader targets“ Stand: 04.06.2014. ” URL: http://docs.unity3d.com/Manual/SL-ShaderPrograms.html (abgerufen am 04.06.2014) [Usoh et al. 2006] Usoh, M ; Arthur, K ; Whitton, M ; Bastos, R ; Steed, A ; Brooks, F ; Slater, M: The visual cliff revisited: A virtual presence study on locomotion. In: International Workshop on Presence, 2006 [Usoh et al. 2000] Usoh, Martin ; Catena, Ernest ; Arman, Sima ; Slater, Mel: Using presence questionnaires in reality. In: Presence 9 (2000), Nr. 5, S. 497–503 [Wagner 2014] Wagner, Thomas: VR Coaster - Pioneering the Augmented Thrill Ride“ ” Stand: 24.09.2014. URL: http://www.vr-coaster.com (abgerufen am 24.09.2014) [Wang 2007] Wang, Xiangyu: Specifying augmented virtuality systems for creative architectural design. In: Information Visualization, 2007. IV’07. 11th International Conference IEEE (Veranst.), 2007, S. 584–589 [Watt 2001] Watt, Alan: 3D-Computergrafik (3. Aufl.). (2001) 152 Literaturverzeichnis [Webers 2011] Webers, Johannes: Die Technik der audiovisuellen Medien. Bd. 1. Hüthig Jehle Rehm, 2011 [Witmer und Singer 1998] Witmer, Bob G. ; Singer, Michael J.: Measuring presence in virtual environments: A presence questionnaire. In: Presence: Teleoperators and virtual environments 7 (1998), Nr. 3, S. 225–240 [Wolf 2006] Wolf, Mark J.: Space, time, frame, cinema: Exploring the possibilities of spatiotemporal effects. In: New Review of Film and Television Studies 4 (2006), Nr. 3, S. 167–181 E Abbildungsverzeichnis 1.1 Fotografien von Ivan Sutherland bei der Benutzung des ersten Head-MountedDisplays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Google Cardboard: Virtual Reality mit dem Smartphone. ...................... 2 1.3 VR Coaster: Reale Achterbahnfahrt mit der Oculus Rift. . . . . . . . . . . . . . . . . . . . . . . . 4 2.1 Darstellung des RGB-Einheitswürfels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Darstellung der sechsseitigen Pyramide des HSV -Farbraums. . . . . . . . . . . . . . . . . . . . 14 2.3 Augmented Reality: Visualisierung von Informationen beim Segelsport. . . . . . . . . . . 26 2.4 Beispiele für das Green-Screen-Verfahren. .................................... 26 2.5 Vereinfachte Darstellung des Virtuellen Kontinuums von Milgram & Kishino. 27 3.1 Milgram & Kishino: Darstellung der Dimension Extent of World Knowledge. . 31 3.2 Milgram & Kishino: Darstellung der Dimension Reproduction Fidelity. 33 3.3 Milgram & Kishino: Darstellung der Dimension Extent of Presence Metaphor. 33 3.4 Mixed Reality : MagicBook“-Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ” Augmented Virtuality: Webcam-Livestreams in der virtuellen Welt von Second Life. 35 3.5 3.6 ...... 3.8 Augmented Virtuality: Windows on the World“ - Virtuelle Welt mit Video-Texturen 35 ” Augmented Virtuality: Videokonferenz-System cAR/PE!“. . . . . . . . . . . . . . . . . . . . . 36 ” Augmented Virtuality in der bildgestützten Chirurgie.. . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.9 37 3.7 Augmented Virtuality: Table Tennis for Three“. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ” 3.10 Augmented Virtuality: PanoInserts: Mobile Spatial Teleconferencing“ . . . . . . . . . . ” 3.11 Haut-Segmentierung durch Anwendung des Algorithmus von Steinicke/Bruder et al.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 41 3.12 Arbeit von Bach et al. zur Verwendung der Hand zur Interaktionsmöglichkeit mit virtuellen Objekten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.13 Segmentierungsergebnisse der Methode von Fiore & Interrante. . . . . . . . . . . . 48 153 F Tabellenverzeichnis 3.14 Körper-Segmentierungsmethode von Saraiji et al. ......................... 50 Virtual Reality Brille Oculus Rift (links). Demo-Projekt Eden River - An Oculus ” Rift Relaxation Experience“(rechts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Vergleich der visuellen Qualität der Segmentierungsansätze der verwandten Arbeiten aus Kapitel 3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 GoPro HERO3+ Black Edition“ (links). Provisorische Befestigung der GoPro” Kamera an der Oculus Rift (rechts). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.2 Schema des Aufbaus des Prototypen der vorliegenden Arbeit. .................. 76 5.3 Screenshot der Tuscany-Demo“-Szene. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ” 85 6.1 Haut-Segmentierung: Grenzbereiche für Farbton, Sättigung und Hellwert. . . . . . . . 92 6.2 Schematische Darstellung der Pixel-Prüfmatrix (links). Prüfmatrix angewendet auf ein Beispielpixelraster (rechts). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Quad-Objekt in der Unity -3D-Szene (links). Segmentierter und gefilterter Videostream, der als Textur auf das Quad-Objekt gerendert wird (rechts). . . . . . . . . 98 6.4 Grafische Benutzeroberfläche des Aughanded Virtuality Prototypen. . . . . . . . . . . . . 99 7.1 Ausschnitt des Fragebogens der Nutzerstudie der vorliegenden Arbeit. 8.1 Fotografien aus dem Projekt: Real World Third Person Perspective VR / AR ” Experiment“. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 8.2 Interaktionskonzepte für Aughanded Virtuality: Manipulationsgesten. 8.3 Interaktionskonzepte für Aughanded Virtuality: Navigationsgesten.. . . . . . . . . . . . . . 127 8.4 Drumming in Immersive Virtual Reality“: Experiment von Kilteni et al.. . . . . 130 ” 4.1 4.2 5.1 6.3 .......... ........... 107 127 F Tabellenverzeichnis 3.1 Klassifizierung von Mixed Reality Display-Systemen . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1 Vergleich der Head-Mounted-Displays der verwandten Arbeiten aus Kapitel 3.3 . . 54 4.2 Vergleich der Kameras der verwandten Arbeiten aus Kapitel 3.3 . . . . . . . . . . . . . . . . 55 4.3 Vergleich der Segmentierungsansätze der verwandten Arbeiten aus Kapitel 3.3 . . . 57 7.1 User Experience Questionnaire: Items und Skalen.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7.2 Fragen zum Präsenzeindruck der Nutzer nach Witmer & Singer. . . . . . . . . . . . . 108