It is my pleasure to announce that the code for my Gesturepspace project is now published under an Apache 2.0 Open Source License. Although it will be very hard for anyone to build it (because of thousands of dependencies), it can serve as a place to learn about touchless interaction.
In the same step, I publish my theoretic background paper of the bachelor thesis here. It contains all the tricky details on how and why everything works as it does. And gives you additional background on how to place this work in the area of art and interactive media.
The Gesturespace is the final thesis of my Interaction Design Studies at the Zurich University of the Arts (ZHDK). It is is a platform and an interactive installation for the research on touchless gestural control of interactive devices and applications. It is not a concept study, but a real prototype that allows you to try everything out as it gives you direct visual feedback. Touchless Control means:
Your body is the controller. You don’t need any special devices or markers or anything else. Just you – and your hands.
This is made possible by using a 3D depth camera. It is like a video camera, but for each pixel, you get also a distance measurement in centimeters. You might have read in the news that Microsoft has a project with a similar technology (Project Natal) to build a new game controller for the XBox. However, the product will not be available publicly available until 2010. So far, a concept video has been released (see website).
The video on this page is real! The touchless gestural interactions are combined with simple applications in a projection to the floor. See for yourself:
To summarize, the product shown in the video consists of the following parts (achievements of the thesis):
An innovative software core to control a 3D depth camera. This core seperates body and hand movements in a stable way (it even works if you have a bottle of beer in your hand!). This software core also includes a reliable tracking mechanism with various layers.
The definition and interpretation of simple hand and body gestures to control the application.
An application with content that is controlled. The application also gives back instant visual feedback.
The development process in the various stages is documented in this blog. As a side effect of the technical concept, the product is not limited to floor displays, but can be used for any kind of visual or sonic interaction.
Please do not hesitate to contact me (kai.jauslin@zhdk.ch) if you have any comments, questions, ideas and – of course – if the gesturespace is just what you need for your next exposition…
Gestern wurde von Microsoft eine Konzeptstudie veröffentlicht, welche dieselbe Basistechnologie (3D-Kamerasensor) einsetzt wie für die Arbeit an meinem Gesturespace. Man darf hier dann gespannt sein, auf die realen Entwicklungen die dann (im Falle von Microsoft) erst noch folgen werden…
Die Möglichkeiten ausprobieren kann man jetzt und heute schon in der Jahresausstellung der ZHDK am Projekt Gesturespace. In dem Sinne sieht man auch das Konzeptvideo wieder mit neuen Augen.
Die Ausstellung der Installation des Gesturespace dauert noch bis am Do, 4. Juni. Vor Ort einsehbar ist ausserdem eine gedruckte Version der Prozessdokumentation, analog zu diesem Blog, sowie die zur Arbeit gehörige Theoriearbeit.
Installation im 3. Stock der ZHDK
Modell des Toni-Areals (EM2N Architekten)
Schloss Hartenstein - Historische Rekonstruktion (Ruedi Lüthi)
Modell der Notredame (Google 3D Repository - Kévin Girard)
Die Abschlussarbeit nähert sich bereits wieder ihrem Ende zu. Vernissage ist übermorgen Donnerstag, 17 Uhr an der ZHDK. Der Gesturespace kann ab dann im 3. Stock besichtigt werden (Zürcher Hochschule der Künste, Ausstellungsstrasse 60). Grund genug, hier auch die aktuellen Entwicklungen mit ein paar Bildern zu dokumentieren.
Das Gestenalphabet
Der GESTURESPACE wartet auf den Besucher…
Das Hauptmenü über die Schulter geguckt
Das Hauptmenü von der Seite
Das Hauptmenü
Simples Tracking
Bild Browser von aussen
Bild-Browser, über die Schulter geguckt
3D-Viewer für architektonische Modelle
Das Gestenalphabet
Entwurf eines erweiterten Bildraumes (der Image-Tower)
Die Arbeiten der letzten Tage konzentrierten sich auf die Überarbeitung der Theoriearbeit, die Überarbeitung der Gestenformen und die Umsetzung des Ausstellungskonzeptes. Dabei konnte ich folgende Ziele erreichen:
Der Foto–Browser funktioniert neu mit sog. “Sweep-Gesten”, also einfachen Handbewegungen von links nach rechts und umgekehrt. Diese werden auch sofort erkannt (im Gegensatz zu vorigem Beitrag).
Die Theoriearbeit klassifiziert nun die Gesten in einem einfachen Modell (siehe Bild). Die Arbeit ist direkt bezogen auf den Prototyp – dieser wiederspiegelt die verschiedenen Gestentypen in unterschiedlichen Experimenten (Bälle, Foto–Browser, 3D–Modell)
Die Bühne und das Gerüst stehen nun fertig im Gang vor dem SQ 306. Anbei ein Bild während der Montage durch die Museumsschreinerei. Ebenso hat Jonas Kaufmann aus dem 4. Semester ID noch die Halterungsbleche für iMac und Kameragehäuse, sowie das Gehäuse selbst, finalisiert. Nochmals vielen Dank!
Übersicht über die verschiedenen Formen von anwendbaren Gesten
Die Bildbrowser–Applikation steht in einer allerersten Version. Sie soll die Verwendung der Flip-Gesten demonstrieren. Erste Erkenntnisse aus dem Experiment:
Die Geste ist nicht unbedingt intuitiv. An dieser Stelle erwarteten nicht mit dem System vertraute Benutzer eine einfachere Geste.
Auf der positiven Seite: kennt man die Geste, funktioniert sie erstaunlich gut.
Zur Applikation: der Bildraum richtet sich noch nicht nach der Position des Benutzers aus und müsste weiter vorne erscheinen.
Gehäuse
Jonas Kaufmann aus dem 4. Semester Interaction Design hat mir ein tolles Gehäuse für die Kamera gebaut. Dieses besteht aus den Materialien Plexiglas und Metall und wird direkt auf ein Blech des Turmes geschraubt. Dadurch ist die Kamera diebstahlgesichert und geschützt. Super Sache – an dieser Stelle ebenfalls nochmals vielen Dank!
Neues schickes Heim für die 3D-Kamera
Gesten
Heute noch die Doppel-Bounce Geste implementiert. Ähnlich einem doppelten Mausklick entspricht diese der zwei- oder mehrfachen Ausführung einer links/rechts oder rechts/links Bewegung innerhalb eines definierten Zeitintervalls. Das Video hierzu (ebenso wie das Video zu den zweihändigen Shift-Gesten) ist noch ausstehend.
Entwurf Image-Browser
Der Image Browser dient der Illustration der Bounce-Flip Gesten, also einhändig hin- und zurück (links/rechts, hoch/runter). Diese haben einen direkten Bezug zu kreisförmigen Gesten, wie die Arbeit von gestern gezeigt hat. Der Bildbrowser wird als 12-eckiger Rundraum gestaltet, an dessen Wände die Bilder angebracht sind. Die Bilddaten stammen übrigens aus der Creative-Commons Freigabe von Luftbildern der Schweiz aus dem Bildarchiv der ETH–Bibliothek Zürich – suchbar via Google Image Search (eine kleine Werbung in eigener Sache an dieser Stelle kann ja nichts schaden – die Bilder sind von hoher Qualität und können in der niedrigen Auflösung (640×480) für Lehre und Forschung frei verwendet werden – CC BY-NC-ND). Insgesamt sind ca. 40′000 Bilder auf diese Weise verfügbar (vgl. auch Bildarchiv Online).
Raum-Modell in Blender
Die virtuelle Kamera des Betrachters ist dann etwas erhöht vor dem Bild angebracht und schaut “von oben” auf das Bild herunter. Das könnte dann so aussehen:
Um die Gesten interaktiv auch ohne visuelles Feedback (das Gerüst muss erst wieder bestückt werden) testen zu können, habe ich meinem Programm eine MIDI–Schnittstelle verpasst. Bei der Erkennung bestimmter Gesten werden MIDI-Befehle an das System geschickt. Dieses leitet es über eine MIDI-Loopback Schnittstelle weiter an MuLab. In diesem Sequenzerprogramm habe ich den Multisampler aktiviert und die virtuellen Tasten mit verschiedenen Sounds belegt.
Erkenntnis: das akustische Feedback der erkannten Gesten übertrifft bei weitem irgendeine visuelle Liste. Insbesondere was gleichzeitig erkannte Gesten (überlagernde Gesten) anbelangt.
Gesten, linear unabhängig?
Damit wäre ich bei einem weiteren Thema angekommen. Heute habe ich zwei neue Arten von Gesten implementiert und evaluiert:
Flip-Gesten (neue Terminologie: Bounce-Gesten): diese werden mit einem Arm ausgeführt und führen von einem Startpunkt in eine Richtung links/rechts/hoch/runter und – mindestens ein definierte Pronzentsatz der Strecke wieder zurück.
Shift-Gesten: diese werden mit zwei Händen ausgeführt, welche sich mit ähnlicher Geschwindigkeit in die gleiche Richtung bewegen.
Film 1 (Ton!) zeigt drei verschiedene Flip-Gesten: oben nach unten, links nach rechts und rechts nach links. Gut hörbar ist, dass rechts/links und links/rechts sich nicht klar unterscheiden. Übrigens schaue ich nicht böse drein, sondern das Testen von Gesten ist sehr anstrengend und erfordert eine hohe Konzentration. Schliesslich muss ich herausfinden bzw. heraushören, wieso eine Geste funktioniert oder eben nicht.
Film 3 (unten) zeigt eine Doppelbelegung: die horizontale Bewegung führt gleichzeitig eine Bounce-Geste in Z-Richtung (zur Kamera hin) durch. Dies passiert weil der Spielraum in Z-Richting sehr klein ist und sich der Arm radial vom Körper aus bewegt.
Film 4 (unten) zeigt eine mögliche “nützliche” Doppelbelegung resp. den Zusammenhang zu kreisförmigen Bewegungen. Eine grosse kreisförmige Bewegung führt zwei Gesten gleichzeitig aus.