Kinect für Windows
29.06.2011, 11:18 Uhr
Spiele und forsche
Seit kurzem gibt es eine Vorabversion des Kinect-SDKs für Windows 7. Dabei geht es längst nicht nur um Spiele, sondern auch um die Steuerung von Büro-Anwendungen.
Microsofts Kinect ist mit 10 Millionen abgesetzten Geräten in vier Monaten das am schnellsten verkaufte elektronische Zubehör aller Zeiten. So steht es im «Guinness Buch der Rekorde». Dort steht nicht, dass Microsoft für Kinect viel Geld in die Hand nahm. Als Marketingbudget werden Summen von einer halben Milliarde US-Dollar kolportiert. Ebenso ungewöhnlich ist das, was Entwickler und Bastler in der ganzen Welt mit Kinect bislang angestellt haben. Beispiele für diese Kreativität gibt es zu Hauf auf YouTube oder zum Beispiel auf dem KinectHacks.net-Blog. Zurück zur Technik: Kinect enthält unter anderem eine RGB-Kamera, einen 3D-Tiefensensor und mehrere Mikrofone zur räumlichen Aufnahme von Umgebungsgeräuschen. Die Kamera kann – in Kombination mit dem Tiefensensor – nicht nur die Konturen von Personen erfassen, sondern zum Beispiel auch die Bewegung ihrer Arme. Das Winken oder die Auswahl von Menüpunkten durch eine Handbewegung wird damit zu einer natürlichen Geste für die Anwendungssteuerung. Wie sich das direkt für die Steuerung von Office-Anwendungen nutzen lässt, beweist eine kommerzielle Erweiterung der Firma Evoluce.
Volkssport Kinect-Hacking
Bis vor kurzem war Kinect nur im Zusammenspiel mit einer Xbox 360 einsetzbar. Wer den Sensor zum Beispiel an einen Windows-PC anschliessen wollte, war auf einen der zahlreichen «Hacks» angewiesen. Anders als in Vergangenheit mussten die Hacker – Bastler würde besser passen – jedoch keine Kryptografie-Spezialisten sein. Die Microsoft-Entwickler haben den Datenverkehr über den USB-Port absichtlich nicht verschlüsselt, so dass es lediglich der Datenverkehr zwischen Sensor und Xbox analysiert werden musste. Dass sich das Kinect-Hacking zu einer Art Volksport entwickelte, macht die Open-Kinect-Community mit ihren über 2000 Mitglieder deutlich. Wer bei Kinect nur an Spiele denkt, sollte schnell umdenken, denn mit der Kinect-Hardware lassen sich auch neuartige Anwendungen umsetzen. Realisierbar ist etwa das Blättern in Dokumentakten durch Handbewegungen. Wie sich dank Kinect Menschen mit einer Sehbehinderung in fremden Räumen zurecht finden können, haben Studenten der Universität Konstanz im Rahmen ihres Navi-Projekts demonstriert. Nächste Seite: Windows 8 mit der Hand steuern
Das Kinect SDK erlaubt das Betreiben eines Sensors an einem Windows-7-PC. Allerdings muss dabei eventuell ein kleines Hardware-Problem gelöst werden. Denn Kinect kann aufgrund seines hohen Strombedarfs nicht mit einem Standard-USB-Kabel an den PC angeschlossen werden. Stattdessen muss sein USB-Kabel über einen Adapter mit dem USB-Port des Rechners verbunden werden. Das Problem tritt aber nur bei Kinect-Geräten auf, die zusammen mit einer Xbox 360 verkauft werden. Der separat verkaufte Sensoren können über sein Netzteil direkt mit einem USB-Port verbunden werden.
Bewegungssteuerung für Windows 8
Auch wenn das SDKnur knapp ein Dutzend in C++ und C# geschriebene Samples umfasst und die API-Referenz insgesamt recht dünn ist, eröffnet das SDK interessante Möglichkeiten für die Mensch-Maschine-Interaktion. Das anschaulichste Beispiel ist der Skeletal-Viewer, der die von der Kinect-Kamera erfassten Personen und ihre Bewegungen darstellt. Interessant ist auch das Zusammenspiel mit der Spracheingabe, die durch das Speech-Sample demonstriert wird. Sollte Windows 8 eine eingebaute Unterstützung für Kinect enthalten, könnte dies in kurzer Zeit neue Möglichkeiten für die Bedienung von Standard-Software eröffnen.
Know-how für den Einstieg
Der Einstieg in die Kinect-Programmierung ist relativ einfach. Ein neues Projekt benötigt lediglich einen Verweis auf die Assembly Microsoft.Research.Kinect.dll. Das Programm muss lediglich die Klasse Runtime initialisieren und deren Initialize-Methode aufrufen. Über die Events VideoFrameReady und SkeletonFrameReady werden das von der RGB-Kamera erfasste Bild und die vom 3D-Sensor erfasste Person als "Skelet" zurückgegeben. Wie die vom Sensor gelieferten "Personendaten" weiterverarbeitet werden, ist nur der Phantasie des Entwicklers überlassen. Mit dem Kinect SDK kommen zwei Beispielprojekte ShapeGame und SkeletalViewer, die bereits sehr ausführlich sind. Ein gutes Einstiegsprojekt findet man auf CodeProject unter http://www.codeproject.com/KB/dotnet/KinectGettingStarted.aspx.