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