1 / 37

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 : @bitbreaker Igor.antonacci@dotdotnet.org. User Group .NET Emilia-Romagna.

marilu
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kinect and brave new applications – Kinect SDK v.1.7 UPDATE Igor Antonacci http://blog.technothink.net/Twitter: @bitbreaker Igor.antonacci@dotdotnet.org

  2. 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

  3. Agenda • NUI – Natural User Interfaces • Kinect Overview • Kinect SDK • Demo

  4. NUI – Natural User Interfaces • HCI – Human Computer Interaction è un argomento “HOT” in questomomento; sononatinuovi tipi di interazioniUomo-Macchinacheinteressanoilgrandepubblico E glisviluppatori • Sono state vendutepiùchitarrevirtualicherealinel 2009

  5. InterfacceUomo-Macchine: Storia – CLI

  6. InterfacceUomo-Macchine: Storia – GUI

  7. TouchTouch

  8. Object Recognition

  9. Gestures

  10. Voice

  11. Augmented Reality

  12. Touchless

  13. Kinect – Overview • Com’èfatta / Sensori e Componenti • Architettura HW • Come funziona

  14. Kinect – dall’esterno 3D DEPTH SENSORS RGB CAMERA • Camera VGA 640x480 (CMOS). • Infrared Camera 640x840 (CMOS). • ProiettoreInfrarossi • TiltMotorizzato. • Batteria di 4 Microfoni MOTORIZED TILT MULTI-ARRAY MIC

  15. Kinect – Come funziona – 1

  16. Kinect – Come funziona – 2

  17. Kinect: SDK & Toolkit • Download:http://www.microsoft.com/en-us/kinectforwindows/ • L’SDK Include • Driver per l’utilizzosu PC (Windows 8, Windows 7, ) • API per l’accessoaisensori, documentazione • Toolkit • Esempi con codicesorgente (in C# , C++ … ) • Face Tracking SDK • Miscellanea

  18. Kinect: Architettura SW • Kinect SDK – Layer tra HW e Software • Flusso di dati “grezzo” e “raffinato”

  19. Kinect: Skeletal Tracking

  20. Kinect: Skeletal Tracking • Massimo due “player” riconosciuticontemporaneamente • “Joints” <x, y, z> per ognigiocatore / utente • Ogni “Joint” ha deglistati • Tracked – Il riconoscimento è “accurato” • Not Tracked – Non si è giunti al riconoscimento di quel joint • Inferred – L’accuratezza è minima, l’elemento è coperto e non facilmentericonoscibile interpolato

  21. Kinect SDK: Primipassi • NuovoProgetto WPF o WinForms • Referenziare la DLL: Microsoft.Kinect • Scriverecodice • nui = Runtime.Kinects[0]; • nui.Initialize(RuntimeOptions.UseSkeletalTracking); • nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);

  22. Kinect SDK: Skeletal Frame • Rappresentailsingolo frame con riconoscimentoscheletrico

  23. 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);

  24. Kinect SDK: Video Frame – 2 • Ogni frame dellascena è rappresentato da un oggetto di tipoPlanarImage • I pixel dellascenasonorappresentati, ognuno, con 4 byte • NONutilizzabile come Source di una Image (nè in WPF, nè in WinForms) • Coding4Fun.Kinect.Wpf – ToBitmapSource() extension method • image1.Source = e.ImageFrame.ToBitmapSource();

  25. Kinect SDK: Depth Frame – 1 • “Fotogramma” di profondità • Ognicoppia di byte rappresenta la distanza per il pixel corrispondente (per ognigiocatorenellascena) • nui = Runtime.Kinects[0]; • nui.Initialize(RuntimeOptions.UseDepth); • nui.DepthFrameReady += nui_DepthFrameReady • nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution640x480, ImageType.Depth);

  26. Kinect SDK: Depth Frame – 2 • Ogni pixel dellascena è rappresentato da DUE byte • I due byte possonocontenere due informazioniprincipali • ID del Player (in caso di piùutentisullascena) • La distanzadell’oggetto (in mm) • L’ID dell’utente/giocatore è presente se: • nui.Initialize(RuntimeOptions.UseDepthAndPlayerIndex); • … assentenelcaso in cui • nui.Initialize(RuntimeOptions.UseDepth);

  27. What’s new – Kinect SDK 1.7 • Nuovaversionedell’SDKrilasciata 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’interazioneattraversoKinect Interaction • Hand grip gesture • Push to Press control

  28. Kinect Interaction – Architettura • Layer “on-top” della NUI • Gestione di gesture “comuni” in Applicazioni / Giochi WPF Native Managed Native

  29. Kinect Interaction – Toolkit • Kinect Toolkit – Open Source (Codeplex) • Controlli “aggiuntivi” – “on top” Kinect Interaction Libraries • Astraggonodallagestionedelle “gesture” • Eventi “Click” come in un controllo WPF / WinForm • Nessunagestionedeimovimenti e dei “sensori” • What’s NEW (principaliControlli) • 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 (riducecodice di inizializzazione)

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

  31. Kinect SDK 1.7 – Fusion • Scansione TRIDIMENSIONALE dellascena • Identificazionedeglioggettinellascena…3D . • Utilizzo “real-time” (Realtàaumentata) SOLO con GPU Desktop-level • GPU Mobile  Static scene render DEMO

  32. Kinect SDK 1.7 – Matlab / OpenCV • Utilizzo / Integrazione con OpenCV – Computer Vision • Gestione del flusso “depth” con Matlab

  33. Kinect: Audio API • Gestione “managed” dell’Audio • Start – Capture – Stop dell’audio con riconoscimentodelladirezione • Kinect Audio Demo tragliesempidell’SDK • Riconoscimentovocale se utilizzatoinsiemealle Speech API

  34. Possibilisviluppicommerciali (€€€) • Visualizzazioniscientifiche • Healthcare • Games

  35. Risorse Online • 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

  36. Q&A

More Related