Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGianluigi Nigro Modificato 10 anni fa
1
Kinect and brave new applications – Kinect SDK v.1.7 UPDATE
Igor Antonacci
3
User Group .NET Emilia-Romagna
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
4
Agenda NUI – Natural User Interfaces Kinect Overview Kinect SDK Demo
5
NUI – Natural User Interfaces
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
6
Interfacce Uomo-Macchine: Storia – CLI
7
Interfacce Uomo-Macchine: Storia – GUI
8
TouchTouch
9
Object Recognition
10
Gestures
11
Voice
12
Augmented Reality
13
Touchless
14
Kinect – Overview Com’è fatta / Sensori e Componenti Architettura HW
Come funziona
15
Kinect – dall’esterno Camera VGA 640x480 (CMOS).
Infrared Camera 640x840 (CMOS). Proiettore Infrarossi Tilt Motorizzato. Batteria di 4 Microfoni RGB CAMERA MULTI-ARRAY MIC MOTORIZED TILT 3D DEPTH SENSORS
16
Kinect – Come funziona – 1
17
Kinect – Come funziona – 2
18
Kinect: SDK & Toolkit Download: 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
19
Kinect: Architettura SW
Kinect SDK – Layer tra HW e Software Flusso di dati “grezzo” e “raffinato”
20
Kinect: Skeletal Tracking
21
Kinect: Skeletal Tracking
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
22
Kinect SDK: Primi passi
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_Skeleto nFrameReady);
23
Kinect SDK: Skeletal Frame
Rappresenta il singolo frame con riconoscimento scheletrico
24
Kinect SDK: Video Frame
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);
25
Kinect SDK: Video Frame – 2
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();
26
Kinect SDK: Depth Frame – 1
“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);
27
Kinect SDK: Depth Frame – 2
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);
28
What’s new – Kinect SDK 1.7 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
29
Kinect Interaction – Architettura
Layer “on-top” della NUI Gestione di gesture “comuni” in Applicazioni / Giochi WPF Native Managed Native
30
Kinect Interaction – Toolkit
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)
31
Kinect: DEMO – Let’s play…with code!
32
DEMO Kinect SDK 1.7 – Fusion 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
33
Kinect SDK 1.7 – Matlab / OpenCV
Utilizzo / Integrazione con OpenCV – Computer Vision Gestione del flusso “depth” con Matlab
34
Kinect: Audio API 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
35
Possibili sviluppi commerciali (€€€)
Visualizzazioni scientifiche Healthcare Games
36
Risorse Online Kinect SDK Coding4Fun – Kinect Coding4Fun – Kinect for Windows SDK Quickstart How does it works – Kinect kinect-really-work.html
37
Q&A
38
CONCORSO … senza premi
SORPRESA!!! CONCORSO … senza premi
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.