Skip to end of metadata
Go to start of metadata

Titel

Kinect-Bodyscanner: Ausstellungsobjekt für das Technorama mit Microsoft Kinect

Studenten

Felix Egli, Michael Schnyder

Ausgangslage

Das Swiss Science Center Technorama in Winterthur führt regelmässig Sonderausstellungen durch. Für die aktuelle Sonderausstellung „Der vermessen(d)e Mensch“ war das Technorama auf der Suche nach einem ergänzenden Ausstellungsstück und sehr motiviert dieses Ausstellungsstück entwickeln zu lassen. Im Rahmen dieser Bachelorarbeit sollte dieses Ausstellungsstück definiert und mit Hilfe geeigneter Technologien entwickelt werden, mit dem Ziel dieses in den Ausstellungsbetrieb zu integrieren. Aus diesem Grund musste in diesem Projekt besonderes Augenmerk auf die Erfüllung von nicht-funktionalen Qualitätskriterien wie Verständlichkeit und Stabilität gelegt werden.

Vorgehen/Technologien

Die Microsoft Kinect-Technologie, welche ursprünglich für die Gebärdensteuerung der XBox entwickelt wurde, ermöglicht zum ersten Mal die kostengünstige Verarbeitung von Tiefenbildern. Diese Tiefeninformationen können über das inoffizielle OpenNI-Framework aus dem Kinect-Sensor ausgelesen werden. Auf Basis dieser Möglichkeiten wurden unterschiedliche technische Prototypen erstellt, welche jeweils auf Umsetzbarkeit und Resultatgenauigkeit geprüft wurden. Aufbauend auf dieser Umsetzungsevaluation konnte, zusammen mit dem Technorama, der Umfang eines ersten Prototyps definiert werden. Ein wichtiger Bestandteil der Arbeit war der Test des erstellten Prototyps im Technorama. Hierbei wurde speziell auf die Verständlichkeit und Stabilität der Applikation geachtet. Zusätzlich zum Kinect-Sensor wird auch eine Waage für die Personenmessung beigezogen. Diese Hardware wird über das herstellerspezifische GoIO-Framework angesprochen. Das OpenNI- wie auch das GoIO-Framework, wurde durch einen zusätzlichen Hardware Abstraktionslayer komplett gekapselt, um die Austauschbarkeit jeder dieser Komponenten zu gewährleisten. Als Entwicklungssprache kam .NET mit C# zum Einsatz. Die grafische Umsetzung wurde mit WPF realisiert. Für die Überwachung der Lösung wurden PerformanceMeter eingesetzt. Diese stellen die Performance-Daten über die in Windows integrierte Schnittstelle auch anderen Applikationen zur Verfügung.

Ergebnis

Es wurde ein funktionsfähiger und benutzerfreundlicher Prototyp erstellt, welcher die gesetzten Anforderungen an den Prototypen erfüllt. Durch den Benutzertest im Technorama und Langzeit- und Performancetests konnte dies verifiziert werden. Es sind nur noch wenige, bereits dokumentierte Anpassungen nötig bis das Ausstellungsobjekt in die Ausstellung integriert werden kann. Die Ausstellung läuft bis Ende 2012.

Lessions Learned

  • Realer Kunde: Ein realer Kunde benötigt viel mehr Zeit um Abklärungen zu machen. Denn diese Abklärungen müssen meist durch ganzen internen Prozesse des Kunden laufen, welches zusätzlich Zeit benötigen.
  • Concurrency: Durch die Verwendung von mehreren Threads für ForcePlate und Kinect, steigt die Gefahr, sich in einem Deadlock oder komplexen Ablaufproblemen zu verstricken. Durch Endurance-Tests kann dies geprüft werden.
  • Themengebiet: Das Themengebiet über das Ausmessen des Menschen ist ein sehr interessantes und komplexes Gebiet und wir durften im Rahmen unserer Arbeit viel Wissen in dem Bereich erarbeiten.
  • OpenNI: Verwendung von OpenNI-Framework mit den Userdetectors und Verarbeitung von PointCloud's.
  • Dispose implementieren: Bei einer "Realtime"-Umgebung, die über eine längere Zeit laufen soll, ist es wichtig, dass alle Objekte sauber via Dispose aufgeräumt werden. Damit kann auch der Garbage-Collector seine Arbeit wie gewünscht verrichten.
  • Object vs. Struct: Initialisierung von Objekten braucht sehr viel Zeit. Bei einem Array mit 300'000 Einträgen pro 33ms fällt dies sehr ins Gewicht. Es sollten besser Structs verwendet werden! Das ist ein X-faches schneller.
  • Testing: Wie stellten fest, dass Testing für verschiedene Qualitätsanforderungen (z.B. Usability, System und Performance) ein sehr wertvolles Instrument ist.
  • Planung: Die Planung war in diesem Projekt extrem schwierig. Da neue Technologie sehr viele Risiken bergen. Diese lassen sich, weil eben die Technologie sehr neu ist, schwer in konkrete Zeiten einteilen.
  • Prototypen: Für ein Forschungsprojekt, wie es zu Beginn der Arbeit der Fall war, unabdingbar. Ohne solche ist es unmöglichen Risiken einzuschätzen und zu kontrollieren.

Youtube-Video

http://www.youtube.com/watch?v=Q1ngxAkiaRg

  • No labels