Kinect Nils Röder, Björn Frömmer



Ähnliche Dokumente
Professionelle Seminare im Bereich MS-Office

Virtuelle Fotografie (CGI)

Kapiteltests zum Leitprogramm Binäre Suchbäume

Schritt für Schritt zur Krankenstandsstatistik

10.1 Auflösung, Drucken und Scannen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Persönliches Adressbuch

15 Optimales Kodieren

Advanced Rendering Interior Szene

SharePoint Demonstration

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Anleitung zur Excel-Anwendung Basisprämienberechnung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Lichtbrechung an Linsen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

1 topologisches Sortieren

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

Praktikum Physik. Protokoll zum Versuch: Geometrische Optik. Durchgeführt am

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Vorlesung Betriebstechnik/Netzplantechnik Operations Research

ALEMÃO. Text 1. Lernen, lernen, lernen

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Zeichen bei Zahlen entschlüsseln

Guide DynDNS und Portforwarding

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Elektronisches Frühwarnsystem bei Bränden

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Berührungslose Interaktion zur Vereinfachung der Produktion

teischl.com Software Design & Services e.u. office@teischl.com

Outlook Web App 2010 Kurzanleitung

Turtle Charts mit der ViFlow Turtle Schablone (VTS) erstellen

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Local Control Network Technische Dokumentation

Freigabemitteilung Nr. 39. Neue Funktionen adresse zurücksetzen / ändern Kennung ändern Anlegen von OCS (elektr. Postfach) Mailbenutzern

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Rasterpunkte und Rasterdichte (Knoten/km)

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV

Leichte-Sprache-Bilder

Eine Anwendung mit InstantRails 1.7

Grundfunktionen und Bedienung

Hilfe zur Urlaubsplanung und Zeiterfassung

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Kurzeinführung Excel2App. Version 1.0.0

Projektsteuerung Projekte effizient steuern. Welche Steuerungsinstrumente werden eingesetzt?

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Wie verbinde ich ein JBOD-System mit dem QStore QMX? - 1

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

3. Verpackungskünstler. Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung

GeoPilot (Android) die App

Den Durchblick haben. VOLKSBANK BAD MÜNDER eg. Online aber sicher: Unsere Produkt- und Sicherheitshotline hilft und informiert

FlowFact Alle Versionen

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

Umstieg auf Microsoft Exchange in der Fakultät 02

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Microsoft Access 2013 Navigationsformular (Musterlösung)

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

GEVITAS Farben-Reaktionstest

HOW TO Heat Mapping mit EasyMap

Anbieter auf dem Foto-Marktplatz werden

Basisanforderungen: EVA-Prinzips. Erweiterte Anforderungen: wirtschaftlichen und privaten Alltag.

Lizenzierung von StarMoney 8.0 bzw. StarMoney Business 5.0 durchführen

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Erstellen von x-y-diagrammen in OpenOffice.calc

Aufträge bearbeiten in euro-bis flow

Diagnostisches Interview zur Bruchrechnung

Online Newsletter III

Fotos in Tobii Communicator verwenden

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen hinter AVM FRITZ!Box

Adami CRM - Outlook Replikation User Dokumentation

Teil 1: IT- und Medientechnik

Kurs Photoshop. Lehrplan zum

Informatik-Sommercamp Mastermind mit dem Android SDK

Wir arbeiten mit Zufallszahlen

2D to 3D Technologie

LED Beleuchtung - Fehlerbetrachtung bei der Beleuchtungsstärkemessung

Kurzeinweisung. WinFoto Plus

Online Schulung Anmerkungen zur Durchführung

Wir machen neue Politik für Baden-Württemberg

Herstellen von Symbolen mit Corel Draw ab Version 9

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Manuelle Konfiguration einer VPN Verbindung. mit Microsoft Windows 7

Berechnung der Erhöhung der Durchschnittsprämien

Hinweis, sofern Sie Probleme beim Download der Excel-Dateien für das LIOS-Makro haben:

Bedienungshinweise für das Smartboard. Basisfunktionen

Transkript:

Kinect Nils Röder, Björn Frömmer

Agenda Einleitung Hardware Funktionsweise der Kamera Algorithmus (Pose Recognition, Tracking)

Einleitung Was ist Kinect? Eingabegerät (Human Computer Interface) Optisches Tracking Kinect Tiefen-Kamera Einfache Kameras liefern lediglich zweidimensionale Abbildungen unserer Umwelt. Diese ist jedoch dreidimensional. Neben dem Farbwert hat jedes Pixel zusätzlich einen Entfernungswert.

Einleitung Was leistet Kinect? Personen sollen erkannt und getrackt werden Interaktion mit Applikation Pose auf virtuellen Charakter übertragen... Beispiel OpenNI

Einleitung Warum Kinect? Interaktion ohne herkömmliche Konsolen-Hardware: Joystick, Controller, Wii, etc. Freie Hände Natural Interaction Intuitives Steuern von Spiele -Anwendungen

Agenda Einleitung Hardware Funktionsweise der Kamera Algorithmus (Pose Recognition, Tracking)

Hardware

3D Tiefen-Sensor Hardware Projeziert großflächiges Infrarot-Punkt-Muster in den Raum Tiefen-Bild 640 X 480 @ 30 FPS Genauigkeit bei 2m Abstand zum Sensor X,Y = 3mm Z = 1cm Arbeitsbereich ~ 0,8 3,5m Schwarzweiß CMOS empfängt reflektierte Infrarotstrahlen (Personen, Objekte, etc.)

RGB Kamera Hardware UXGA 1600 X 1200 Dient der Gesichtserkennung Aufzeichnen von Videos und Fotos (z.b. zum Erzeugen einer Textur)

Hardware Motorisiertes neigen der Kamera Nachjustieren Tilt

Hardware Multi-Array Mikrofon Sprache einem getrackten Spieler zuweisen Wichtig für Spracheingabe Beispiel OpenNI

Agenda Einleitung Hardware Funktionsweise der Kamera Algorithmus (Pose Recognition, Tracking)

Funktionsweise Betrachtete Szene Tiefen-Bild der Szene Ergebnis IR-Projektion IR-Reflektion

Funktionsweise

Allgemeine Informationen Kinect merkt sich die Form des Spielers (31 Punkte am Körper) Robust bei Verdeckung (Spieler läuft durch Kamerabild etc.) Einzelne Finger werden nicht erkannt Maximale Spieleranzahl (XBOX 360) = 2

Agenda Einleitung Hardware Funktionsweise der Kamera Algorithmus (Pose Recognition, Tracking)

Kinect Algorithmus Übersicht Algorithmus zur Steuerung der Kinect-Software (Games etc.) 3D Positionen von menschlichen Körpern mittels (einzelner!) Tiefenbilder bestimmen Keine zeitlichen Informationen keine Bewegungsinformation! Machine Learning

Vorgehensweise

Trainingsdaten, Probleme alter Systeme 2D Systeme Erstellung von Trainingsdaten schwierig Farb- und Texturunterschiede (Kleidung, Haare, Haut, ) Daher meist Reduzierung auf 2D-Silhouetten 3D Systeme (Tiefenkameras) reduzieren die Schwierigkeiten, ernstzunehmende Variationen bei Körper und Kleidungsformen bleiben bestehen

Trainingsdaten (1) Der menschliche Körper ist in der Lage eine enorme Vielzahl an Posen einzunehmen diese Posen sind schwer zu simulieren Lösung Erstellung einer grossen Motion-Capturing Datenbank ~500k frames in einigen hundert Sequenzen von fahrenden, tretenden, rennenden, Menu-navigierenden,..., Personen Nur Einzelbilder werden ausgewertet, da das System keine zeitlichen Daten ( Bewegung) zur Klassifizierung benötigt

Trainingsdaten (2) Bei Änderungen der Pose kommt es zu Überschneidungen in der Körperhaltung, so dass einzelne Frames nahezu identisch sind Diese Frames werden mittels furthest neighbor clustering eliminiert und gelöscht ~100k Posen bleiben übrig, bei denen 2 Posen niemals näher als 5cm zusammen liegen

Synthetische Daten generieren Nun werden mittels der ~100k Posen synthetische Daten generiert Ziel Realismus und Vielfalt 15 verschiedene Base-Meshes von (menschlichen) Körpern werden jeweils mit den Motion-Capturing Daten gefüttert Zufallsgenerierte Parameter: Motion-Capturing Frame Kamera-Position ( User Position!) Kamera-Rauschen Kleidung & Haare

Body Part Labeling (1) Einzelne Körperteile (31 verschiedene) werden klassifiziert und durch unterschiedliche Einfärbungen gekennzeichnet Einige Bereiche stellen direkt Gelenke dar Andere sind Lückenfüller oder können in Verbindung mit weiteren Bereichen benutzt werden um mögliche Gelenk-Positionen zu identifizieren intermediate representation transformiert dieses Problem in eines das durch bereits bestehende und effiziente Klassifizierungs-Algorithmen gelöst werden kann Die zeitliche Einbusse die dadurch entsteht ist vernachlässigbar

Body-Part Labeling (2) Die farbigen Körperbereiche werden als Texturemap gespeichert Mit dieser Texturemap werden die verschiedenen Testmodelle eingefärbt Die gesamten Daten (eingefärbte Körperteilmodelle und die zugehörigen Tiefenbilddaten) werden als komplett beschriftete Trainingsdaten dem Klassifizierer zur Verfügung gestellt

Tiefenbild Eigenschaften ( features ) Vergleichseigenschaften werden generiert durch (Paper: Randomized Trees for real-time keypoint recognition) Einzelne Pixel lassen nur ungenaue Rückschlüsse darauf zu um welchen Körperteil es sich handelt, aber in der Masse ( decision forest ) sind sie ausreichend um eine genaue Bestimmung der trainierten Körperteile zu ermöglichen

randomized decision forests (1) randomized decision trees & forests haben sich als schnelle und effektive multi-class classifier erwiesen, und können effizient auf einer GPU implementiert werden Ein Wald ist eine Ansammlung von Bäumen (Wer hätte DAS gedacht?!)

randomized decision forests (2) Jeder Knoten eines Baumes besteht aus einem feature fθ und einem Schwellwert τ Um ein Pixel x im Bild zu klassifizieren wird an der Wurzel begonnen und die Formel für fθ an den einzelnen Knoten berechnet. Je nach Schwellwert τ wird dann links oder rechts im Baum weitergegangen

randomized decision forests (3) An einem Blatt des Baumes t angekommen wird die gelernte distribution des entsprechenden body part labels gespeichert Alle distributions der betrachteten Bäume werden am Schluss gemittelt um die finale Klassifizierung zu erhalten

training Jeder Baum wird mit unterschiedlichen, zufällig erzeugten Bildern trainiert (~2000 pro Baum, um eine ungefähr gleichmässige Verteilung über alle Körperteile zu gewährleisten) Algorithmus: siehe Paper: Randomized Trees for real-time keypoint recognition, V. Lepetit, P. Lagger, and P. Fua Um Zeit zu sparen wurde eine verteilte Lösung implementiert: 3 Bäume bis zur Tiefe 20 mittels 1 Mio. Bildern zu trainieren dauert auf einem 1000-Kern- Cluster in etwa einen Tag

Auswertung Mittels der errechneten Pixelinformationen über einzelne Körperteile durch den classifier kann nun ein Rückschluss auf die 3D-Positionen der einzelnen Gelenke im Raum gegeben werden Diese Informationen sind die finalen Daten, die das System nach aussen weitergibt Diese Daten können dann von einer Anwendung genutzt werden (z.b. um Spiele zu steuern Kinect & XBOX 360)

Quellen Microsoft Kinect: http://research.microsoft.com/apps/pubs/?id=145347 Randomized Trees: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1467521&tag=1