array(39) { ["REDIRECT_SCRIPT_URL"]=> string(68) "/~mediasyn/mswiki/LehreUndForschung/DokumentationInstallationGruppe2" ["REDIRECT_SCRIPT_URI"]=> string(99) "http://webuser.hs-furtwangen.de/~mediasyn/mswiki/LehreUndForschung/DokumentationInstallationGruppe2" ["REDIRECT_STATUS"]=> string(3) "200" ["SCRIPT_URL"]=> string(68) "/~mediasyn/mswiki/LehreUndForschung/DokumentationInstallationGruppe2" ["SCRIPT_URI"]=> string(99) "http://webuser.hs-furtwangen.de/~mediasyn/mswiki/LehreUndForschung/DokumentationInstallationGruppe2" ["HTTP_HOST"]=> string(24) "webuser.hs-furtwangen.de" ["HTTP_X_CC_ID"]=> string(8) "ccc02-01" ["HTTP_USER_AGENT"]=> string(48) "CCBot/1.0 (+http://www.commoncrawl.org/bot.html)" ["HTTP_ACCEPT"]=> string(83) "text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" ["HTTP_ACCEPT_LANGUAGE"]=> string(14) "en-us,en;q=0.5" ["HTTP_ACCEPT_ENCODING"]=> string(4) "gzip" ["HTTP_ACCEPT_CHARSET"]=> string(30) "ISO-8859-1,utf-8;q=0.7,*;q=0.7" ["HTTP_CACHE_CONTROL"]=> string(8) "no-cache" ["HTTP_PRAGMA"]=> string(8) "no-cache" ["HTTP_X_FORWARDED_FOR"]=> string(14) "38.107.179.220" ["HTTP_X_FORWARDED_HOST"]=> string(15) "verbundlabor.de" ["HTTP_X_FORWARDED_SERVER"]=> string(9) "margyreen" ["HTTP_CONNECTION"]=> string(10) "Keep-Alive" ["PATH"]=> string(45) "/sbin:/usr/sbin:/usr/local/sbin:/usr/bin:/bin" ["SERVER_SIGNATURE"]=> string(89) "
Apache/2.2.10 (Linux/SUSE) Server at webuser.hs-furtwangen.de Port 80
" ["SERVER_SOFTWARE"]=> string(26) "Apache/2.2.10 (Linux/SUSE)" ["SERVER_NAME"]=> string(24) "webuser.hs-furtwangen.de" ["SERVER_ADDR"]=> string(11) "141.28.2.13" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(13) "81.169.145.28" ["DOCUMENT_ROOT"]=> string(15) "/srv/www/htdocs" ["SERVER_ADMIN"]=> string(18) "c@hs-furtwangen.de" ["SCRIPT_FILENAME"]=> string(42) "/user/user0/mediasyn/WWW/mswiki/pmwiki.php" ["REMOTE_PORT"]=> string(5) "26818" ["REDIRECT_QUERY_STRING"]=> string(52) "n=LehreUndForschung/DokumentationInstallationGruppe2" ["REDIRECT_URL"]=> string(68) "/~mediasyn/mswiki/LehreUndForschung/DokumentationInstallationGruppe2" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(52) "n=LehreUndForschung/DokumentationInstallationGruppe2" ["REQUEST_URI"]=> string(68) "/~mediasyn/mswiki/LehreUndForschung/DokumentationInstallationGruppe2" ["SCRIPT_NAME"]=> string(28) "/~mediasyn/mswiki/pmwiki.php" ["PHP_SELF"]=> string(28) "/~mediasyn/mswiki/pmwiki.php" ["REQUEST_TIME"]=> int(1337698585) }
Media Synthesis Lab | LehreUndForschung / DokumentationInstallationGruppe2

LEHRE & FORSCHUNG


DIE LABORE


Sandbox (Hilfestellung)

Search
DE | EN |

<<

Dokumentation der Installation



Inhalt



1. Einführung

Die hier präsentierte Installation „Schattenspiel“ fand im Rahmen der Wahlpflichtveranstaltung „Interaktive Medieninstallation“ statt. Im Mittelpunkt der Veranstaltung stand die Entwicklung einer Medieninstallation, die mithilfe moderner Interaktionsmöglichkeiten dem Besucher eine "interaktive Erfahrung" ermöglicht. Die Arbeit umfasste dabei sowohl die technische Realisierung, als auch die atmosphärische Gestaltung der Installation.

2. Themenstellung

Die offizielle Themenstellung im Wintersemester 2008/09 lautete: „Die Interaktion der Interakteure“. „Der Interakteur interagiert nicht nur direkt mit dem technischen System, sondern er agiert und interagiert in einem sozialen Kontext z.B. mit umstehenden Personen im Raum oder auch entfernten Beobachtern. Dies ist ihm mehr oder weniger bewusst.“

3. Konzeption

3.1 Vorüberlegungen

In Rahmen der Ideenfindung stellte sich das Projektteam, im Hinblick auf die Installation, folgende Anforderungen:

Die Installation soll:

  • Sofort motivieren
  • Spaß machen
  • Kein komplexes Spielsystem beinhalten (das erst erlernt werden müsste)
  • Das Thema treffen

Die Ausgangsidee bestand darin, den Interakteur mit seiner eigenen Silhouette spielen zu lassen. Dies sollte allerdings in Interaktion mit einem Beobachter geschehen. Um noch eine weitere Interaktionsebene zu erschaffen, sollte dieser Beobachter selbst ebenfalls zum Objekt der Beobachtung werden. Angestrebt wurde also eine Installation mit mindestens drei Interaktionsebenen.

Interaktionsebenen

  1. Haupt-Interakteur
  2. Beobachter des Interakteurs
  3. Beobachter des Beobachters

Die verschiedenen Interaktionsebenen sollten für die Akteure nicht sofort als solche wahrnehmbar sein. Sie sollten sich vielmehr intuitiv in ein Spielgeschehen eingliedern.

3.2 Beschreibung der Installation

Der Interakteur (1. Interaktionsebene)
Der „Hauptdarsteller“ der Installation steht vor einem Screen, auf dem er ein Abbild seiner eigenen Silhouette sieht. Rechts und links von der eigenen Silhouette sind Fortschrittsbalken platziert. Sobald der User sich bewegt, fangen diese Fortschrittsbalken an sich aufzuladen. Sobald die Bewegung ausbleibt, sinken sie wieder. Die Installation ist begleitet von schneller Elektromusik. So bald der User es schafft, durch eigene Bewegung (z.B. Tanzen), den Fortschrittsbalken komplett aufzuladen, erreicht er das nächste Level. Pro Level werden die grafischen Effekte auf der Silhouette des Users imposanter. Es entstehen farbige Delay-Effekte, die die ausgeführten Bewegungen visuell stark amplifizieren. Hat der User das letzte Level erreicht, fängt der Spielverlauf wieder von vorne an.

Der Beobachter (2. Interaktionsebene)
Der Beobachter steht abseits des Interakteurs an einem Pult. Hier hat er die Möglichkeit, durch Steuerung einer Wiimote die Silhouette des Interakteurs zu verändern und zu verzerren. Auf den Spielverlauf des Interakteurs hat dies zwar keinen direkten Einfluss, dennoch kann der Beobachter sich entscheiden, mit dem Interakteur zu spielen oder ihn zu ärgern.

Der Beobachter des Beobachters (3. Interaktionsebene)
Am Pult des Beobachters ist eine Kamera angebracht, die sein Gesicht filmt. Dies ist ihm allerdings nicht bewusst. Dieses Livebild wird an einen räumlich entfernten Monitor gesendet, welcher sein eigenes Publikum besitzt. Gleichzeitig werden die Bewegungen, die er mit der Wiimote ausführt, als Verzerrung auf das Bild seines Gesichts angewendet.

3.3 Raumgestaltung

Um das Raumerlebnis für den Besucher intensiver zu machen und um seine Aufmerksamkeit ganz auf die Installation zu richten, wurde der Raum, mit Hilfe von Stellwänden aufgeteilt. Dabei wurde unter Berücksichtigung des Weges und der Blickachsen des Besuchers versucht, die verschiedenen Ebenen der Installation voneinander abzugrenzen. Weiterhin wurde versucht, Dinge im Raum die Ablenkung verursachen könnten, möglichst aus dem Blickfeld zu schaffen. Der Eingangsbereich wurde in einen Gang verwandelt, der auf die Leinwand zeigte. Der Anblick der Leinwand sollte dem Besucher als erstes in den Blick fallen und ihn motivieren, den Raum zu betreten.

Interakteur
Der Interakteur steht direkt vor der Leinwand (2) und hat seinen Blick nach vorne gerichtet. Dabei wird sein Handlungsbereich durch einen kegelförmigen Scheinwerfer optisch begrenzt.

Interaktiver Beobachter (Überblickende Position)
Der Beobachter steht links hinter dem Interakteur und ist für diesen kaum wahrnehmbar (3). Die Position verleiht im einen Überblick über das gesamte Spielgeschehen. Weiterhin steht er hinter einem Podest, dass ihn körperlich von der "Spielfläche" trennt. Sein Handlungsbereich ist ebenfalls durch einen kegelförmigen Scheinwerfer optisch begrenzt.

Zuschauer im Raum
Der Zuschauer im Raum steht im rechten Eingangsbereich und hat somit sowohl den Interakteur, die Leinwand, als auch den Beobachter gut im Blick. Ein gesonderter Platz ist für den Zuschauer jedoch nicht definiert, da davon ausgegangen wird, dass dieser sich frei im Raum bewegt und seine Blickachsen ständig ändert. Im Eingangsbereich der Installation am Tag der Medien befand sich der Monitor (1), der den interaktiven Beobachter zeigte. Dies war eine Notlösung, die nicht geplant war. Der Monitor war konzeptionell für den Außenbereich des Raumes vorgesehen.

4 Technische Konzeption

4.1 Aufbau der Installation

Der Aufbau der Installation erfolgte im Media-Synthesis Labor Im I-Bau der Hochschule.Zum Einsatz kamen dabei folgende Geräte:

  1. Tracking Kamera (HDTV-Cam)
  2. Infrarotleiste
  3. Wiimote
  4. Computer für die Screen-Steuerung
  5. Laptop zur Steuerung des Außenbildschirms
  6. Außenbildschirm

Für die Softwareentwicklung entschied sich das Projektteam für den ausschließlichen Einsatz von Max (Ver. 5.0). Zur Steuerung mit der Wiimote kam das Programm GlovePie (Ver. 0.29) zum Einsatz.

4.2 Programmablauf

Das finale Programm setzt sich aus mehreren Subpatches zusammen, welche zuerst einzeln entwickelt und später zu einem kompletten Programmablauf zusammen geschlossen wurden (Siehe Grafik).

4.3 Video Input / Tracking

Beim Tracking des Spielers mussten folgende Aufgaben erfüllt werden:

  • Die Person sollte optisch aus dem Hintergrund im Video heraus geschnitten werden
  • Eine schwarze Silhouette sollte aus dem Bild des Spielers entstehen

Zur optischen Trennung des Spielers aus dem Hintergrund kamen grundsätzlich zwei Methoden in Frage:

  1. Chroma-Sub-Sampling (green-screening)
  2. Differenzbild-Abgleich (Anhand eines Standbildes).

Da die Arbeit über ein Differenzbild-Abgleich wesentlich flexibler erschien als die Green-Screen-Methode, entschied sich das Projektteam für die zweite Lösung. Dies hatte den Vorteil, räumlich unabhängig zu bleiben, da die Differenzbild-Methode bei (fast) jedem konstant belichteten Hintergrund anwendbar ist. Bei der Differenzbild-Methode wird mit Hilfe einer Standbild-Funktion (Screenshot) ein Bild des Hintergrundes aufgenommen. Dieses Bild wird dann kontinuierlich vom laufenden Kamera-Bild subtrahiert. Als Resultat erhält man nur die, vom Standbild abweichenden Bildinformationen (Alle Pixel > 0). Für die einheitliche Färbung der Silhouette werden nun alle Helligkeitswerte mittels Treshold-Funktion auf den Binärwert 1 gesetzt. (Alle Pixel > 25 = #FFFFFF).

Probleme
Leider variierte die Qualität der heraus geschnittenen Silhouette, je nach verwendeter Webcam, enorm. Hauptgrund dafür war die automatische Blendensteuerung der Webcams, die sich nicht bei allen Modellen ausschalten ließ. Bei der Endpräsentation kam eine HDTV-Kamera zum Einsatz, bei der die automatische Blendensteuerung deaktiviert werden konnte.

4.4 Bewegunsanalyse

Bei der Bewegungsanalyse mussten folgende Anforderungen erfüllt werden:

  • Bewegung des Spielers sollte, anhand des laufenden Videos, in Zahlen messbar gemacht werden
  • Analyse sollte nicht zu träge sein sondern „zackig“ reagieren

Die Bewegungsanalyse findet über die Messung der Unterschiede im Bildinhalt der aufeinander folgenden Bilder im Videostrom statt. Hierzu werden, ähnlich wie bei der Differenzbild-Analyse, zwei aufeinander folgende Bilder voneinander subtrahiert (erstes Bild minus zweites Bild). Gibt es keine Unterschiede zwischen den zwei Bildern ist der Wert aller Bildpunkte 0 (= keine Bewegung). Bei Bewegung wird nun die Anzahl der Bildpunkte, welche ungleich Null sind, gemessen und als Zahl ausgewertet. Da dabei jedes Vollbild des Videostroms ausgemessen wurde, ergab sich eine sehr schnelle Reaktionszeit für die Bewegungsmessung. Das Projektteam verwendete für die Differenzbildgenerierung und für die Messung der aktiven Pixel, Patches aus der CV-Bibliothek für Max.

  • cv.jit.framesub
  • cv.jit.mass

Diese erwiesen sich in Kombination deutlich leistungsfähiger als das selbst gebaute Patch. Zur Visualisierung wurden die Zahlenwerte aus der Bewegungsmessung auf einem Fortschrittsbalken dargestellt.

Probleme
Aufgrund des fast unsichtbaren Bildflimmerns im Videobild der Kamera ergaben sich konstant hohe Werte bei der Bewegungsmessung. Je nach Kamera variierte die Stärke des Bildflimmerns. Dazu mussten, je nach verwendeter Kamera, die resultierenden Zahlen aus der Bewegungsmessung durch einen Teiler "geglättet" werden.

4.5 Delay-Effekte

Bei dem Delay-Effekt wird ein zeitverzögertes Videobild "hinter" der Echtzeit-Silhouette projiziert. Das Videobild wird dabei in einem 1-Sekunden Puffer (50 Vollbilder) zwischengespeichert und durch Manipulation der RGB-Kanäle eingefärbt. Das Zusammenfügen des zeitverzögerten Videos mit dem Echtzeit-Video erfolgt mittels Addition der Bildmatrizen.

4.6 Verzerrungseffekt

Zur Entwicklung der Verzerrungseffekte waren folgende Anforderungen gegeben:

  • Effekt 1 sollte eine verzerrte Rotation des Bildes möglich machen (Spiral-Effekt)
  • Effekt 2 sollte eine verzerrte, kreisförmige Vergrößerung und Verkleinerung des mittleren Bildbereiches möglich machen (Dick-Dünn Effekt)
  • Alle Effekte sollten dynamisch steuerbar sein
  • Effekte sollten flüssig, ohne „stottern“ laufen

Spiral-Effekt
Der Spiral-Effekt verzerrt das Videobild spiralförmig vom Mittelpunkt des Bildes aus. Zunächst wird das Videobild vom Mittelpunkt aus, Bildpunkt für Bildpunkt, iteriert. Dabei werden die kartesischen Koordinaten jedes einzelnen Bildpunktes in polare Koordinaten umgewandelt. Die polaren Koordinaten werden nun mit einer Variablen multipliziert. Je höher der Wert der Variablen desto stärker die kreisförmige Deplazierung des einzelnen Bildpunktes. Am Ende werden die polaren Koordinaten wieder in kartesische Koordinaten umgewandelt. Der zweite Effekt (Dick Dünn Effekt) wurde nicht vom Projektteam selbst entwickelt, sondern vollständig der „Shader-Ahoi“ – Bibliothek entnommen. Hierbei musste lediglich die Steuerung des Effekts durch eine Variable implementiert werden. Dies gelang problemlos.

Probleme / Hürden
Der mittels der Wiimote gesteuerte „Spiral-Effekt“ stellte die schwierigste und damit auch zeitaufwändigste Aufgabe während der Entwicklung dar. Das Hauptproblem bestand in der Verarbeitungsgeschwindigkeit des Effektes. Der erste Ansatz bestand darin, mittels jit.repos die spiralförmige Verzerrung zu erreichen. Allerdings benötigte die dynamische Erstellung der Verzerrungsmatrize erhebliche Rechenleistung und lieferte im live-Betrieb nur „stotternde“ Resultate. Eine Prozessoroptimierung des Effektes wäre zwar durch Verwendung optimierter Befehlsätze innerhalb von jit.repos möglich gewesen, hätte allerdings den Zeitrahmen gesprengt. Die einzige Lösung bestand in der Auslagerung der Rechenleistung für den Effekt auf die besser optimierte GPU. Hierzu wurde das Videobild als Textur auf eine Open-GL-Fläche gelegt. Die Effekte wurden dann, mittels Grafik-Shader auf die Textur angewendet.

4.7 Wii Steuerung

Die Wii-Steuerung hatte die Aufgabe die verschiedenen Shader Effekte zu steuern. Dabei wurden folgende Gesten benutzt:

  • Drehung der Wiimote um 180 Grad in beide Richtungen
  • Pointer nach Rechts und Links (mittels infrarot Leiste)

Zur Gewinnung der Bewegungsdaten aus der Wiimote kam das Programm GlovePie zum Einsatz. Dies erlaubte die Bewegungsdaten aus der Wiimote via OSC (Open Sound Control) und UDP an MAX zu senden. In Max wurden die Bewegunsdaten der Wiimote dann auf die Shader der Videotextur angewendet.

4.8 Verzerrung des Beobachters

Die Verzerrung am zweiten Monitor geschah über einen privaten Laptop, der per Netzwerkkabel am Hauptrechner angeschlossen war. Zum Einsatz kam ein abgespecktes Max-Patch (Siehe Grafik). Der Laptop empfing die Wiimote-Steuerungsdaten via UDP-Broadcast vom Hauptrechner, der via Bluetooth mit der Wiimote verbunden war.

5 Vorführung am Tag der Medien

Trotz einiger Pannen am Vortag lief die Installation am Tag der Medien technisch fehlerfrei und stabil. Unsere anfängliche Sorge, Besucher würden die Installation nicht richtig annehmen und nicht richtig mitspielen, konnte sich zum Glück nicht bestätigen. Viele Besucher fingen beim ersten Anblick der Leinwand sofort spontan an, zur Musik zu tanzen und versuchten, aktiv den Fortschrittsbalken zu beeinflussen. Die Level-Effekte schienen ebenfalls ausreichend motivierend zu wirken, so dass die meisten Besucher das Spiel bis zum Ende durchspielten. Oft auch mehrmals hintereinander. Auch schienen sich einige Besucher für die Wiimote zu interessieren und fingen an, diese wild herum zu schwingen. Dabei fiel den wenigsten die Kamera auf, welche auf ihr Gesicht gerichtet war. Der Monitor im Eingangsbereich, welcher das verzerrte Gesicht des Beobachters zeigte, wurde von vielen Besuchern leider erst beim Verlassen des Raumes wahrgenommen. Dennoch erregte das oft komisch-verzerrte Gesicht der unwissenden Kommilitonen einige Lacher und auch neugierige Gesichter.

Probleme
Wiimote
Leider verstanden viele Besucher den vorgesehenen Umgang mit der Wiimote nicht. Zwar war die Funktionsweise durch große Bilder auf der Leinwand beschrieben, dennoch neigten viele Besucher dazu, die Wiimote in großen, teilweise auch hektischen Bewegungen durch die Luft wirbeln zu lassen. Dies resultierte in hektischen und zu starken Verzerrungen der Spieler-Silhouette. Die vorgesehene Handhabung bestand in eher ruhigen und bedachten Bewegungen.

Außenmonitor
Leider genoss der Außenmonitor nur wenig Aufmerksamkeit während der Gesamtvorführung. Dies lag vermutlich ausschließlich an der Position im Eingangsbereich der Installation. Besucher die herein kamen, waren durch das Spektakel im Inneren des Raumes zu stark abgelenkt und gingen oft an dem Monitor vorbei.

6. Fazit

Obwohl die Ideenfindung in der ersten Vorbereitungsphase mit vielen Rückschlägen verbunden war, gelang es dem Projektteam dennoch, sich in das gegebene Thema einzudenken und ursprüngliche Ideen weiter zu entwickeln. Die eigenen Anforderungen, eine unterhaltsame und für den Besucher motivierende Installation zu erschaffen, welche gleichzeitig die verschiedenen Interaktionsebenen zwischen Interakteur und Beobachter abdeckt, wurde nach unserem Befinden erfolgreich erfüllt. Die Live-Aufführung am Tag der Medien bestätigte diesen Eindruck. Weiterhin wurde im Umgang mit den typischen technischen Mitteln interaktiver Installationen (Video, Wiimote, Kamera-Tracking, usw.) viel gelernt.





TERMINE EDIT



Sommer 2012

12.03.11| Immersive Medien


Winter 10/11

14./15.12| Face On Workshop
22.10.10 | Exkursion zum ZKM


Winter 09/10

30.10.09 | Exkursion zum ZKM


Sommer 09

11.06.09 | Workshop mbody
09.06.09 | Tim Otto Roth
05.05.09 | Impromusical
09.04.09 | Chris Ziegler


Winter 08/09

06.12.08 | Seismic Body Memory


Sommer 08

10.07.08 | fogpatch in Rotterdam

Page last modified on 16.06.2009 | Impressum