+ All Categories
Home > Documents > Kinect and brave new applications – Kinect SDK v.1.7 UPDATE

Kinect and brave new applications – Kinect SDK v.1.7 UPDATE

Date post: 23-Feb-2016
Category:
Upload: marilu
View: 50 times
Download: 0 times
Share this document with a friend
Description:
Kinect and brave new applications – Kinect SDK v.1.7 UPDATE. Igor Antonacci http://blog.technothink.net/ Twitter : @bitbreaker [email protected]. User Group .NET Emilia-Romagna. - PowerPoint PPT Presentation
Popular Tags:
37
Kinect and brave new applications – Kinect SDK v.1.7 UPDATE Igor Antonacci http://blog.technothink.net/ Twitter: @bitbreaker [email protected]
Transcript
Page 1: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Kinect and brave new applications – Kinect SDK v.1.7 UPDATE

Igor Antonacci http://blog.technothink.net/

Twitter: @[email protected]

Page 2: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE
Page 3: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

La DotDotNet è un'associazione culturale con il compito di promuovere la più ampia diffusione dell'informatica, della telematica, della multimedialità e dei collaborative tools, con particolare attenzione allo sviluppo di software su piattaforma Microsoft .NET. (dall’art. 1 dello statuto DotDotNet)

Associazione no-profit◦ Opera in tutta la regione

Gruppo di professionisti, studenti e appassionati. Modulo di adesione Feedback

User Group .NET Emilia-Romagna

Page 4: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

NUI – Natural User Interfaces Kinect Overview Kinect SDK Demo

Agenda

Page 5: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

HCI – Human Computer Interaction è un argomento “HOT” in questo momento; sono nati nuovi tipi di interazioni Uomo-Macchina che interessano il grande pubblico E gli sviluppatori

Sono state vendute più chitarre virtuali che reali nel 2009

NUI – Natural User Interfaces

Page 6: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Interfacce Uomo-Macchine: Storia – CLI

Page 7: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Interfacce Uomo-Macchine: Storia – GUI

Page 8: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

TouchTouch

Page 9: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Object Recognition

Page 10: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Gestures

Page 11: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Voice

Page 13: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Touchless

Page 14: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Com’è fatta / Sensori e Componenti Architettura HW Come funziona

Kinect – Overview

Page 15: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Camera VGA 640x480 (CMOS). Infrared Camera 640x840 (CMOS). Proiettore Infrarossi Tilt Motorizzato. Batteria di 4 Microfoni

Kinect – dall’esterno

RGB CAMERA

MULTI-ARRAY MIC MOTORIZED TILT

3D DEPTH SENSORS

Page 16: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Kinect – Come funziona – 1

Page 17: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Kinect – Come funziona – 2

Page 18: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Download:http://www.microsoft.com/en-us/kinectforwindows/

L’SDK Include◦ Driver per l’utilizzo su PC (Windows 8, Windows 7, ) ◦ API per l’accesso ai sensori, documentazione

Toolkit◦ Esempi con codice sorgente (in C# , C++ … )◦ Face Tracking SDK◦ Miscellanea

Kinect: SDK & Toolkit

Page 19: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Kinect SDK – Layer tra HW e Software Flusso di dati “grezzo” e “raffinato”

Kinect: Architettura SW

Page 20: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Kinect: Skeletal Tracking

Page 21: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Massimo due “player” riconosciuti contemporaneamente

“Joints” <x, y, z> per ogni giocatore / utente Ogni “Joint” ha degli stati

◦ Tracked – Il riconoscimento è “accurato”◦ Not Tracked – Non si è giunti al riconoscimento di quel joint◦ Inferred – L’accuratezza è minima, l’elemento è coperto e non

facilmente riconoscibile interpolato

Kinect: Skeletal Tracking

Page 22: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Nuovo Progetto WPF o WinForms Referenziare la DLL: Microsoft.Kinect Scrivere codice

◦ nui = Runtime.Kinects[0];

◦ nui.Initialize(RuntimeOptions.UseSkeletalTracking);

◦ nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);

Kinect SDK: Primi passi

Page 23: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Rappresenta il singolo frame con riconoscimento scheletrico

Kinect SDK: Skeletal Frame

Page 24: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Stream Video dal sensore video a colori del Kinect E’ necessario “aprirlo” (inizializzarlo) prima di ricevere I

frame◦ nui = Runtime.Kinects[0];

◦ nui.Initialize(RuntimeOptions.UseColor);

◦ nui.VideoFrameReady += nui_VideoFrameReady;

◦ nui.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution640x480, ImageType.Color);

Kinect SDK: Video Frame

Page 25: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Ogni frame della scena è rappresentato da un oggetto di tipo PlanarImage

I pixel della scena sono rappresentati, ognuno, con 4 byte

NON utilizzabile come Source di una Image (nè in WPF, nè in WinForms)

Coding4Fun.Kinect.Wpf – ToBitmapSource() extension method◦ image1.Source = e.ImageFrame.ToBitmapSource();

Kinect SDK: Video Frame – 2

Page 26: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

“Fotogramma” di profondità Ogni coppia di byte rappresenta la distanza per il pixel

corrispondente (per ogni giocatore nella scena)◦ nui = Runtime.Kinects[0];

◦ nui.Initialize(RuntimeOptions.UseDepth);

◦ nui.DepthFrameReady += nui_DepthFrameReady

◦ nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution640x480, ImageType.Depth);

Kinect SDK: Depth Frame – 1

Page 27: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Ogni pixel della scena è rappresentato da DUE byte I due byte possono contenere due informazioni

principali◦ ID del Player (in caso di più utenti sulla scena)◦ La distanza dell’oggetto (in mm)

L’ID dell’utente/giocatore è presente se:◦ nui.Initialize(RuntimeOptions.UseDepthAndPlayerIndex);

… assente nel caso in cui ◦ nui.Initialize(RuntimeOptions.UseDepth);

Kinect SDK: Depth Frame – 2

Page 28: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Nuova versione dell’SDK rilasciata ad Aprile 2013 Introduzione di un (più) layer allo stack precedente

◦ Kinect Interaction◦ Kinect Fusion◦ Matlab / OpenCV Integration

Nuovo Kinect Toolkit◦ Controlli WPF / Nativi per l’interazione attraverso

Kinect Interaction Hand grip gesture Push to Press control

What’s new – Kinect SDK 1.7

Page 29: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Layer “on-top” della NUI Gestione di gesture “comuni” in Applicazioni / Giochi

Kinect Interaction – Architettura

Native

Managed

Nati

ve WPF

Page 30: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Kinect Toolkit – Open Source (Codeplex) Controlli “aggiuntivi” – “on top” Kinect Interaction Libraries Astraggono dalla gestione delle “gesture”

◦ Eventi “Click” come in un controllo WPF / WinForm ◦ Nessuna gestione dei movimenti e dei “sensori”

What’s NEW (principali Controlli)◦ KinectRegion – contenitore per controlli “Interaction”◦ KinectTileButton – Bottone “Kinect” – Push to press◦ KinectScrollViewer – Scrollview con gestione “Hand Grip”◦ KinectUserViewer – Piccolo “monitor” per debug del sensore di profondità◦ KinectSensorChooserUI – Gestione (multi) sensore (riduce codice di

inizializzazione)

Kinect Interaction – Toolkit

Page 31: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Kinect: DEMO – Let’s play…with code!

Page 32: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Scansione TRIDIMENSIONALE della scena Identificazione degli oggetti nella scena…3D . Utilizzo “real-time” (Realtà aumentata) SOLO con GPU

Desktop-level GPU Mobile Static scene render

DEMO

Kinect SDK 1.7 – Fusion

Page 33: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Utilizzo / Integrazione con OpenCV – Computer Vision Gestione del flusso “depth” con Matlab

Kinect SDK 1.7 – Matlab / OpenCV

Page 34: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Gestione “managed” dell’Audio Start – Capture – Stop dell’audio con

riconoscimento della direzione Kinect Audio Demo tra gli esempi dell’SDK Riconoscimento vocale se utilizzato insieme

alle Speech API

Kinect: Audio API

Page 35: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Visualizzazioni scientifiche Healthcare Games

Possibili sviluppi commerciali (€€€)

Page 36: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Kinect SDKhttp://www.microsoft.com/en-us/kinectforwindows/

Coding4Fun – Kinecthttp://channel9.msdn.com/coding4fun/kinect

Coding4Fun – Kinect for Windows SDK Quickstarthttp://channel9.msdn.com/Series/KinectSDKQuickstarts

How does it works – Kinecthttp://gilotopia.blogspot.com/2010/11/how-does-kinect-really-work.html

Risorse Online

Page 37: Kinect and brave new  applications –  Kinect SDK v.1.7 UPDATE

Q&A


Recommended