Introduzione ai motion controllers ed al sensore Kinect



Documenti analoghi
20 Giugno 2013 Gianni Rosa

Sistemi video per il monitoraggio

Studio e sviluppo di uno Scanner 3D con Kinect

Attualmente esistono sul mercato videoendoscopi sempre più sofisticati con una buona risoluzione di immagine ed estremamente portatili.

Sistema di ripresa con fotocamera digitale fissa Calibrazione

3DE Modeling Professional

Kartè VISION Il Digital signage cambia volto

LIM OPEN SOURCE. Roberto Beligni.

Hardware delle reti LAN

istraffic Sistema di monitoraggio Traffico

Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14. Cantarella Danilo. OpenCV Android

Dynamic 07 -Software per la lettura ottica e data capture. G.Q.S. Srl Global Quality Service Via Bernini, 5/7 Corsico (MILANO)

IRSplit. Istruzioni d uso 07/10-01 PC

Martina Agazzi. Corso di Tecniche plastiche contemporanee. Prof. Carlo Lanzi

L avvento di una Nuova Rivoluzione Digitale (?)

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

edocubox Soluzione completa per tutti i documenti A UTHENTICATION DEVICE xperta s.r.l.

Telecamera PC CMOS VGA

SISTEMA DI MAPPATURA DELLA PRESSIONE

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Classificazione e Segmentazione di Gesture per la Human Computer Interaction

Il Sistema Operativo (1)

Illuminatori AEGIS di Bosch Soluzioni di illuminazione per la massima sicurezza

WHITE PAPER. View DR. Immagini di videosorveglianza più chiare e definite con un range dinamico più ampio

SqueezeX. Macchina per il controllo dimensionale e dei difetti superficiali

PhoeniX. Macchina per il controllo dimensionale e dei difetti superficiali

BODY SCANFIT : il primo body scanner 3D portatile per digitalizzare in 4 secondi il mondo reale

InfoKubes Esperienze di Navigazione Interattive InfoKubes Microsoft Azure

La Visione Artificiale. La vis ione delle macchine La vis ione umana Acquis izione di immag ine

IsoStereo 3D: il sistema generale ed automatizzato per ricostruzione tridimensionale

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Lo strumento di presentazione più innovativo per creare riunioni collaborative!!

Installazione e caratteristiche generali 1

MISURARE CON INTELLIGENZA BARRIERA OPTOELETTRONICA DI MISURAZIONE LGM

Facile acquisire. Facile completare. Flusso di lavoro HDV completo. Flessibilità di formati. Produzione di DVD senza problemi

IMMAGINE BITMAP E VETTORIALI

BigX. Macchina per il controllo dimensionale e dei difetti superficiali

Lezione 16: La luce strutturata

Calcolo Focale. Ing. Vincenzo Falanga

GUIDA ALL INSTALLAZIONE DELOS SYSTEMS

SISTEMA 3D-MBS (Three Dimensional Multi Band System)

Corso di Informatica

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

C (1) SNC toolbox mobile. Guida applicativa Software Versione Sony Corporation

SISTEMA DI TELEVIGILANZA MEDIANTE TELECAMERE SISTEMA SAFECAM

Luci/Ombre. YAFARAY motore di rendering Open Source. Federico Frittelli aka fredfrittella. SUTURA-studio di progettazione.

La Videosorveglianza Criteri per il dimensionamento dello storage

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

BARRIERE FOTOELETTRICHE PER MISURA AUTOMAZIONE CONTROLLO

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

Distanziometro Laser ad alta velocità IDP-RFD100K CARATTERISTICHE: DESCRIZIONE:

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Dispositivi di rete. Ripetitori. Hub

gestione e modifica di immagini fotografiche digitali

Architettura hardware

Documento tecnico. Lightfinder Prestazioni eccezionali in condizioni di scarsa illuminazione

Durante la realizzazione di questo WP verranno anche effettuate delle sperimentazioni per verificare la bontà delle ipotesi in fase di studio.

Correzione di immagini da camera Vexcel UltraCam utilizzando Geomatica OrthoEngine

Divisione Education Technology. keep the knowledge flowing. Zainetto. verde. Education Provider

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

Sviluppo di una app per Android al fine di gestire una serie di rilievi fotografici nell ambito della sicurezza dei fiumi

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Elaborazione di segnali generati dal sensore Kinect

Sistemi informativi secondo prospettive combinate

Scanner Dental Wings. Serie 3 Serie 7 Serie i

Grafica 3D Interattiva

OmniAccessSuite. Plug-Ins. Ver. 1.3

Procedura Gestione Pratiche Sicurezza Cantiere

INTEGRAZIONE ED ESPANSIONE DEL SISTEMA DI VIDEOSORVEGLIANZA DEL COMUNE DI CASTELLAMMARE DI STABIA TITOLO ELABORATO: MODULO VIDEOSORVEGLIANZA MOBILE

APPARATO PER LA GENERAZIONE DI UN QUADRO SINESTETICO (BREVETTO ENEA N 565)

Un importante risparmio di tempo, che l'operatore può dedicare a ciò che è veramente importante il paziente!

Specifiche tecniche e funzionali del Sistema Orchestra

OCS Open Control System

Laboratorio di Informatica

InitZero s.r.l. Via P. Calamandrei, Arezzo

VR e Kinect. Prof. Raffaella Folgieri

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

3DE Modeling Color. E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori.

Presentation Draw. Guida dell utilizzatore

Antivirus. Lezione 07. A cosa serve un antivirus

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Modelli architetturali di infrastruttura. Diego Feruglio Direzione Progettazione Infrastrutture CSI-Piemonte

Didit Interactive Solution

Il software gratuito GMS-Lite consente il collegamento a max. 10 DVR per un totale di 36 telecamere visualizzate.

PkBox Client Smart API

Setup e installazione

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

STORM OPEN SOLUTIONS E2KPos. Guida all'installazione

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente

Che cos'è OC-Counter? Perchè OC-Counter? OC-Counter aumenta le opportunità di vendita e migliora le strategie di marketing.

Software per Helpdesk

Dino-Lite TrichoScope

Wild - Uso e Consumo

PR novembre 2009 Software, controllo basato su PC Pagina 1 di 5

EW1051 Lettore di schede USB

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Receptionist 2.0. La soluzione semplice ed affidabile per il contact center

Transcript:

Introduzione ai motion controllers ed al sensore Kinect Ignazio Pillai pillai@diee.unica.it 18 Dicembre 2014

Indice Natural User Interface Kinect Specifiche Funzionamento Microsoft Kinect SDK v2 Sensori alternativi Specifiche Funzionamento Microsoft Kinect SDK SDK Alternativi Kinect 2 Motion Controllers Prime Sense Leap Motion Real Sense (Intel) Casi d uso di successo 2

Natural User Interface Nel 2002 il film Minority Report presentava un futuro in cui l'interazione con i computer era principalmente basata sui gesti 3

Natural User Interface Le interfacce di controllo in cui gli utenti riescono ad interagire in modo naturale (gesti,comandi vocali) sono definite Natural User Interface (NUI). Vantaggi: rendere l'utilizzo dei dispositivi facile e intuitivo per chiunque. Esempi: Touchscreen Speak Recognition Motion/Gesture controllers 4

Motion controllers Nel 2006 Nintendo introduce per la sua console il Wii Remote avviando di fatto una rivoluzione nel mondo dei controller per le console. Dotato di giroscopi ed accelerometri interni, il Wiimote è in grado di calcolare la sua posizione grazie ad un sensore ottico utilizzato in abbinamento alla Sensor Bar. 5

Motion controllers Durante l' E3 (Electronic Entertainment Expo) del 2009 Sony presenta il Playstation Moove, un motion controller del tutto analogo al Wiimote. Come il Wiimote anche il Moove utilizza una serie di giroscopi e accelerometri per rilevare il tipo di movimento effettuato. Mentre la posizione del sensore nella stanza viene determinata tramite una telecamera ed alla sfera luminosa posta all'estremità del controller. 6

Motion controllers Presentato all'e3 del 2009 come Project Natal, nel 2010 Microsoft introduce un motion controller per la Xbox 360 completamente diverso dai concorrenti, il Kinect. Al contrario degli altri dispositivi, la periferica permette all'utente di interagire con la console senza impugnare alcun controller, ma solo attraverso i movimenti dell'intero corpo ed al riconoscimento della voce. 7

Introduzione al Kinect Il Kinect porta a livello consumer tecnologie e hardware altamente innovativi, consentendogli un successo non paragonabile a quello dei concorrenti: due milioni e cinquecentomila unità vendute nei primi venticinque giorni di commercializzazione, 24 milioni unità vendute al febbraio 2013 in tutto il mondo. 8

Principali funzionalità Ricostruzione 3D della scena (stima della mappa di profondità) Individuazioni della posizione degli utenti e separazione dal background Stima della posizione degli elementi del corpo (skeleton) Riconoscimento del parlato Kinect è in grado di eseguire queste operazioni in real-time (30 fps) anche in scarse condizioni di luminosità. Video: http://www.youtube.com/watch?feature=player_detailpage&v=ytbvjlgdluy#t=6 9

Principali funzionalità Le caratteristiche del Kinect hanno attirato l'intesse di numerosi sviluppatori e ricercatori con l'obbiettivo di creare applicazioni non prettamente ludiche 10

Kinect 11

Specifiche tecniche Telecamera RGB: sino a 640x480 @ 30fps, 1280x960 @ 12fps Sensore di profondità: sino 320x240 @ 30fps (640x480 interpolato) (Emettitore + sensore infrarosso) Array di 4 microfoni (16 KHz) Motore per regolazione inclinazione 12

Specifiche tecniche Kinect è rilasciato in due versioni: per Xbox 360 e per Windows (Feb 2012) La differenza fra le due è principalmente a livello di firmware La versione per Windows ha qualche funzionalità in più: Near mode: può operare a distanze inferiori Regolazioni aggiuntive telecamera RGB: esposizione, luminosità Scheletro in modalità seduto Le API per Windows possono essere usate con entrambe, ma esistono dei limiti di licenza per l'uso della Kinect per Xbox da parte degli utenti finali. 13

Specifiche tecniche Sensore di profondità: Condizioni ambientali: Modalità normale Limiti fisici: 0.4 3 metri Distanza ideale: 0.8 3.5 metri Precisione: Limiti fisici: 0.8 4 metri Distanza ideale: 1.2 3.5 metri Near mode (solo Kinect per windows) sensibile a luce solare diretta uso interno circa 1.5 mm a 50 cm circa 5 cm a 5 m Campo visivo: 57 orizzontale e 43 verticale Inclinazione regolabile: +/- 27 14

Specifiche tecniche Array di microfoni: Angolo cattura audio: +/- 50 Risoluzione microfoni direzionali: 10 Individuare la direzione della sorgente più intensa Selezionare la direzione della sorgente da considerare Soglia rimozione disturbi: 20 db 15

Specifiche tecniche Tracking contemporaneo fino a 6 individui di cui 2 con scheletro 1 2 3 4 5 6 Scheletro completo: 20 snodi (joints) Scheletro modalità seduto: 10 snodi (joints) (solo Kinect per Windows) 16

System requirements CPU Dual-core, 2.66-GHz or faster processor 2 GB of RAM Graphics card that supports DirectX 9.0c Windows 7 o superiore USB 2.0 + Alim 17

Funzionamento del Kinect 18

Mappa di profondità La caratteristica di maggir importanza della Kinect è quella di poter calcolare in real-time, con un hardware relativamente economico, la mappa di profondità della scena. La mappa di profondità è una rappresentazione della scena in cui ad ogni pixel è associata la distanza dalla telecamera. 19

Tecnologia PrimeSense Il calcolo della mappa di profondità è eseguito dal Kinect sfruttando le tecnologie ottenute in licenza dalla israeliana PrimeSense Il cuore del sistema di acquisizione è dato dal CHIP PrimeSense il quale sovraintende a tutte le operazioni di acquisizione 20

Tecnologia PrimeSense I dettagli della tecnologia sviluppata da PrimeSense non sono noti. Sulla base delle informazioni disponibili e dei brevetti depositati e diversi esperti ritengono che la mappa di profondità sia stimata combinato il metodo della Structured light (luce strutturata) con il depth from focus e la visione stereo. 21

Mappa di profondità: Structured light Il metodo della luce strutturata (Structured light) consiste in: Proiettare un pattern noto sulla scena Stimare la distanza sulla base delle deformazioni del pattern Zhang et al, 3DPVT (2002) 22

Mappa di profondità: Structured light Il pattern del kinect è costituito da un insieme di cerchi Video: http://www.youtube.com/watch?feature=player_detailpage&v=tpa1jp1atco#t=8 23

Mappa di profondità: depth from focus Il metodo del depth from focus sfrutta il principio per cui il grado di sfocatura dipende dalla distanza. Il Kinect usa delle lenti speciali con valori di lunghezze focali differenti in X e Y I cerchi proiettati diventano quindi delle ellissi la cui orientazione dipende dalla profondità 24

Mappa di profondità: visione stereo La visione stereoscopica consente di stimare la profondità osservando la scena da due punti differenti. La differenza nella posizione di punti corrispondenti (disparità) nelle due immagini è legata alla distanza. La distanza può essere calcolata con calcoli trigonometrici. Disparity IR Emitter (A) IR Sensor (B) Il Kinect analizza la differenza di posizione fra i punti proiettati e quelli catturati. 25

Mappa di profondità Effetto ombra 26

Limiti tecnologici La presenza di elementi in grado di attenuare o disturbare il pattern proiettato dall'emettitore IR possono interferire sul funzionamento del Kinect. La luce solare diretta è un'importante fonte di disturbo che rende il dispositivo poco adatto all'uso esterno (diurno). Video: https://www.youtube.com/watch?feature=player_detailpage&v=xonbuudkwrw#t=30 27

Limiti tecnologici L'utilizzo contemporanea di più Kinect può creare interferenze nelle aree in comune. I dispositivi devono essere collocati in modo tale da limitare tali interferenze. Video: http://www.youtube.com/watch?feature=player_detailpage&v=eq6cgzvigd0#t=6 28

SDK per Kinect 29

SDK per Kinect Novembre 2010: la comunità del progetto Open-Kinect rilascia FreeKinect, il primo driver linux per il Kinect Dicembre 2010: PrimeSense rilascia la propria SDK open source denominata OpenNI basata sul middleware NITE Giugno 2011: Microsoft rilascia la versione beta del suo SDK Febrario 2012: Microsoft rilascia la prima versione stabile di Kinect SDK insieme al Kinec per Windows. 30

Kinect for Windows SDK Le librerie ufficiali MS consentono di avere accesso completo alle funzionalità offerte dalla piattaforma Kinect come: Cattura e controllo dei data-stream provenienti dall'hardware (RGB, Mappa di profondità, Audio) Mapping delle coordinate fra gli stream (RGB, DepthMap, Skeleton) Localizzazione e tracking degli utenti Stima degli scheletro (20 joints) Riconoscimento del parlato Tracking del volto Gestione di sensori multipli 31

Kinect for Windows SDK - Architettura Applications Win Speach API NUI API Audio DMO Kinect Driver Color Depth Audio Hardware 32

Kinect for Windows SDK - Architettura Hardware: Sensori RGB, Depth, Audio Kinect drivers : NUI API: Un insieme di API che forniscono l'accesso alle diverse funzionalità disponibili: stream audio e video, skelton traking, segmentazione, face tracking,... Kinect Audio DMO Fornisconogli stream della video camera e del sensore di profondità. Forniscono la possibilità di utilizzare più device contemporaneamente. Permettono l accesso all array di microfoni con le API Audio standard di Windows. Estende le funzionalità dell array di microfoni supportato in Windows 7 per fornire le funzionalità di mappatura sonora dell area (Beamforming) e localizzazione della sorgente sonora. Windows 7 standard APIs Le API audio, speech e media presenti in Windows 7 e Microsoft Speech. 33

Kinect for Windows SDK La classe KinectSensor rappresenta un dispositivo Kinect. Per ciascun dispositivo è possibile abilitare gli stream video, depth e skeleton per catturare i corrispondenti frame. 34

Mapping delle coordinate e Segmentazione Tra le funzionalità fondamentali dell'sdk abbiamao le funzioni per il mapping delle coordinate dei punti degli stream Color, Depth e Skeleton. Riferimenti: http://msdn.microsoft.com/en-us/library/microsoft.kinect.coordinatemapper.aspx La segmentazione degli individui presenti in una scena può essere eseguita solo abilitando lo Skeleton stream. 36

Tracking scheletro La caratteristica fondamentale del Kinect è quella di stimare la posizione degli elementi del corpo umano nello spazio. Tale operazione è eseguita in real-time a partire dai dati della mappa di profondità [x,y,z] 37

Tracking scheletro Il software sviluppato dalla Microsoft è in grado di individuare ed eseguire il tracking di 20 joints (snodi) del corpo umano 38

Stima dello scheletro L'individuazione dello scheletro è eseguita tramite la stima degli elementi del corpo (body parts) con tecniche di computer vision e machine learning a partire dalla depth map dell'utente. Riferimenti: Shotton, et al. Real-Time Human Pose Recognition in Parts from Single Depth Images. CVPR 2011. 39

Stima dello scheletro Gli algoritmi di machine learning (decision forest) sono addestrati usando 100,000 depth map con scheletri noti Per ciascun immagine reale sono state aggiunte ulteriori immagini artificiali L'addestramento ha richiesto 1 giorno su un cluster da 1000 core (24,000 orecpu) 40

Face Tracking Il modulo di FaceTracking dipende dagli stream color e depth e consente di ottenere: Grafo 2D (Active Shape Model) Posa 3D Animation Units (Aus) AU0: Neutral Face AU3: Neutral Face AU5: Outer Brow Raiser Riferimenti: http://msdn.microsoft.com/en-us/library/jj130970.aspx#id4edlae Video: http://www.youtube.com/watch?v=je-gftsaxb8 41

Speech Recognition Il modulo di Speech Recognition incorpora i modelli acustici per diverse lingue. Il modulo consente di riconoscere singole parole all'interno di un insieme definito dall'utente (Grammar). var directions = new Choices(); directions.add(new SemanticResultValue("forward", "FORWARD")); directions.add(new SemanticResultValue("forwards", "FORWARD")); directions.add(new SemanticResultValue("straight", "FORWARD")); directions.add(new SemanticResultValue("backward", "BACKWARD")); directions.add(new SemanticResultValue("backwards", "BACKWARD")); directions.add(new SemanticResultValue("back", "BACKWARD")); directions.add(new SemanticResultValue("turn left", "LEFT")); directions.add(new SemanticResultValue("turn right", "RIGHT")); var gb = new GrammarBuilder { Culture = ri.culture }; gb.append(directions); var g = new Grammar(gb); Riferimenti: http://msdn.microsoft.com/en-us/library/jj131034.aspx http://msdn.microsoft.com/en-us/magazine/jj884371.aspx 42

Kinect Fusion Permette di effettuare scansioni di oggetti e la creazione di modelli 3D usando un sensore Kinect. Gli sviluppatori possono disegnare una scena 3D a partire dalla camera Kinect e, contemporaneamente, interagire con un dettagliato modello 3D della scena Requisiti Hardware: CPU: 3GHz multi-core Directx 11 graphics card with 2GB on-board memory Riferimenti: http://msdn.microsoft.com/en-us/library/dn188670.aspx 43

Kinect Fusion Conversione depth map in distanze e point cloud orientati Stima posa della camera (posizione ed orientazione) tramite algoritmi di allineamento Fusione (integrazione) dei dati di profondità dei diversi frame Ricostruzione e rendering degli oggetti 3D 44

Kinect Studio Registra e riproduce i flussi provenienti dal Kinect (color/depth/audio) Richiede un Kinect collegato anche per la riproduzione Si interpone tra il Kinect e l'applicazione utente selezionata Riproduzione/ripetizione di interi video o porzione di essi 45

SDK alternative per Kinect 46

OpenNI Progetto promosso primariamente da PrimeSense per lo sviluppo di un framework per la creazione di NUI interoperabili Archittettura OpenNI 2 Applications Middleware components OpenNI Device OpenNI: fornisce un livello di astrazione fra dispositivi fisici e middleware ed applicazioni Middelware: forniscono funzionalità di elaborazione avanzate dei dati provenienti dai sensori OpenNI è distribuito insieme al middleware NITE (sviluppato anche esso da PrimeSense) per il riconoscimento delle mani e del corpo della persona. 47

OpenNI - NITE NITE components: Full body point analysis middleware: Hand point analysis middleware: individua la sagoma di una mano assegnando un punto alla posizione del palmo. Gesture detection middleware: Stima dello scheletro identifica gesti predefiniti (Push, Wave, Circle) associandoli ad eventi. Scene Analyzer middleware: Individua gli individui nella scena, trova le coordinate del piano, separa gli oggetti in primo piano da quelli sullo sfondo. 48

Kinect SDK vs OpenNI Licenza Microsoft Free OpenNI Open source Linguggi Supportati C++, C#, VB C++ Sistemi operativi supportatiti Win 7-8 Linux, Windows, Mac Supporto sensori alternativi No Si (hardware PrimeSense) Gestione e controllo stream Si Si Tracking scheletro 20 joints 15 joints (richiede calibrazione) Segmentazione Si Si (insieme a stima scheletro) Riconoscimento parlato Si No Gesture recognition No Si Eventi frame available Ingresso/Uscita individuo Installazione Semplice Complessa Supporto/Aggiornamenti Si Progetto chiuso 49

OpenNI Aprile 2013: Apple acquisisce PrimeSense e chiude il progetto OpenNI Settembre 2013: Occipital lancia su KickStarter il progetto Structure basato sulla tecnologia PrimeSense Structure continua a rendere disponibile OpenNI sui propri repository. The rumors of my death have been greatly exaggerated... When we launched the Structure Sensor, we made a promise to support OpenNI. In order to keep doing that, we ve created this OpenNI resource page (and a GitHub repo) to provide a one-stop resource for the community to get OpenNI 2 binaries and documentation. We ll be hosting this page for the indefinite future, and we ll keep it updated as OpenNI continues to evolve. This page was last updated on May 5th, 2014. 50

Structure SDK Structure: progetto per lo sviluppo di un sistema di acquisizione 3D per iphone, basato sull'ultimo sensore della PrimeSense Structure SDK creato da un fork di OpenNI-2 SDK sisponibile per iphone/ipad Futuro rilascio per Windows, Linux, MAC, Android 51

Kinect 2 52

Kinect 2 Nel Novembre 2013 Microsoft rilascia la nuova versione del Kinect associata alla nuova console Xbox One. Microsoft abbandona la tecnologia PrimeSense per utilizzare un sistema proprietario sviluppato a partire dalla tecnologia di 3DV Systems e Canesta acquistate tra il 2009 e il 2010. 53

Kinect 2 Il nuovo dispositivo presenta miglioramenti da tutti i punti di vista Video DepthMap: https://www.youtube.com/watch?v=jaolua57bws#t=26 54

Specifiche tecniche Telecamera RGB: sino a 1920x1080 @30fps Sensore di profondità: sino a 512 x 424 @30fps (Emettitore + sensore infrarosso) Telecamera IR: 512 x 424 @30fps Array di 4 microfoni (48 KHz) Connessione USB 3.0 Microphone array Telecamera RGB Sensore IR Emettitore IR 55

Specifiche tecniche Sensore di profondità: Condizioni ambientali: Range di utilizzo: Sensibile alla luce solare diretta uso interno (sensibilità inferiore a Kienct-1) Limiti fisici: 0.5 4.5 metri Distanza ideale: 0.8 3.5 metri Possibilità di avere stima della profondità sino a 8 metri senza tracking del corpo Campo visivo: 70 orizzontale 60 verticale Inclinazione non regolabile 56

Specifiche tecniche Array microfoni: Angolo cattura audio: +/- 50 Risoluzione microfoni direzionali: 5 in un range di 180 Individuare la direzione della sorgente più intensa Selezionare la direzione della sorgente da considerare Soglia rimozione disturbi: 20 db 57

Specifiche tecniche Tracking contemporaneo di 6 individui con scheletro completo 1 2 3 4 5 6 Scheletro completo: 25 snodi (joints) Scheletro modalità seduto: 10 snodi (joints) 58

System requirements 64-bit (x64) processor Physical dual-core 3.1 GHz 4 GB of RAM Graphics card that supports DirectX 11 Windows 8 or 8.1, or Windows Embedded 8 USB 3.0 + Alim 59

Kinect-1 vs Kinect-2 Kinect-1 Kinect-2 60

Kinect-1 vs Kinect-2 Feature Kinect 1 Kinect 2 Telecamera RGB 640x480 @ 30fps 1920x1080 @ 30fps Telecamera profondità 320x240 @ 30fps 512x424 (reali) @ 30fps Range profondità 1.2-4.5 metri 0.5-4.5 metri 0.4-3 metri (near mode) Campo visivo H: 57 V: 43 H: 70 V: 60 Inclinazione regolabile Si No Tracking contemporaneo 6 individui 6 individui Scheltri contemporanei 2 6 Scheletro 20 joints 25 joints Tracking della mano - 1 dito + palmo (5 stati) Risoluzione microfono 10 5 Sistemi operativo Win 7,8 Win 8 Interfaccia USB 2.0 + Alim USB 3.0 + Alim 61

Funzionamento del Kinect 2 62

Mappa di profondità: Time Of Flight La Kinect 2 impiega un sensore Time Of Flight per la stima della profondità. In questo tipo di sensori la distanza viene calcolata misurando il tempo che occorre ad un impulso luminoso per raggiungere una superficie e tornare indietro (tempo di volo) 63

Mappa di profondità: Time Of Flight Un metodo alternativo consiste nel inviare un segnale continuo modulato (continuous wave modulation) e valutare lo sfasamento del segnale ricevuto. Vantaggi: ampia varietà di emettitori disponibili, possibilità di inviare segnali multipli 64

Mappa di profondità: Time Of Flight Al contrario del dispositivo precedete, nel Kinect-2 ogni pixel della mappa di profondità corrisponde ad una misura reale. Secondo alcune analisi Kienct 2 va eseguire due acquisizioni per pixel: una a bassa precisione, ma più robusta alle ambiguità causate dalle riflessioni, ed una più precisa che sfrutta la prima misura per eliminare le ambiguità. Il dispositivo ha inoltre un sistema per ridurre i disturbi causati dalla luce ambientale. 65

Limiti tecnologici A causa dell'uso comune di tecnologie IR, la Kinect-2 soffre degli stessi limiti del suo predecessore. Possibili fonti di disturbo sono: Luce solare diretta Uso di più Kinect (o emettitori IR) Elementi in grado di attenuare il segnale IR 66

Limiti tecnologici Esempio di disturbo dovuto a luce solare diretta con Kinect-2 67

Microsoft Kinect SDK v2 68

Kinect 2 SDK Video: https://www.youtube.com/watch?feature=player_detailpage&v=hi5kmnfgds4#t=23 69

Kinect 2 SDK Principali innovazioni rispetto a Kinect-1: Stima scheletro più accurata: Stima orientazione elementi del corpo Stima forza muscolare Tracking della mano Analisi pulsazioni cardiache Tracking volto più accurato Gesture recognition (GestureBuilder) Funzionalità di registrazione/riproduzione dei data-stream integrabili nelle applicazioni Semplificazione delle funzioni Riferimenti: http://msdn.microsoft.com/en-us/library/dn782041.aspx 70

Scheletro Stima scheletro sino a 6 individui Scheletro completo: 25 snodi (joints) Orientazione elementi del corpo Stima forza muscolare Riferimenti: http://msdn.microsoft.com/en-us/library/dn799273.aspx 71

Tracking della mano Tracking di 1 dito + palmo (4 joints) Stima stato della mano 0. 1. 2. 3. 4. Unknown Not Traked Open Closed Lasso Open Closed Lasso 72

Analisi pulsazioni cardiache Secondo alcune analisi il sistema va sfruttare le variazioni del colore delle pelle causati dal flusso sanguigno. Sulla base di tali deboli variazioni Il software della Kinect va ad stimare la velocità del flusso sanguigno. Il sistema va quindi a stimare il numero di battiti cardiaci necessari per ottenere tale velocità. 73

Tracking volto Stima posizione e posa: Stima espressione Eye Closed, Mouth Open / Moved, Looking Away,... Appearance: Neutral, Happy,... Stato elementi del volto (Activity): Bounding Box, Rotation, Punti 2D (Eye, Nose, Mouth Corner) Wearing Glasses HD-Face: 3D model, Hair and Skin color... Riferimenti: http://msdn.microsoft.com/en-us/library/dn782034.aspx 74

Gesture Builder Gesture Builder è un tool per la creazione di moduli di riconoscimento delle gesture a partire da delle sequenze rappresentative Convert clips using KSConvert Rinse and repeat Record raw IR clips with KinectStudio Preview gestures with VGBView Detect gestures in your application Riferimenti: http://aka.ms/k4wv2vgb Tag gestures using VGB Build and analyze gestures using VGB 75

Kinect Studio v2 Principali miglioramenti: Riproduzione senza necessità del sensore Connessione contemporanea di più applicazioni (vedi Readers) 76

Architettura Applications API Native.Net API Kinect Runtime Kinect Driver C++, C#, VB, Windows Store Apps WinRT API Riceve gli stream grezzi e gli elabora sfruttando anche la GPU (requisito DirectX 11) Device 77

Archittetura L'archittetura dell'sdk prevede delle sorgenti e dei reader: Ogni stream prodotto dal Kinect costituisce una Sorgente alla quale possiamo agganciare dei reader I Reader interagiscono con l'applicazione per recuperare i Frame Posso avere più reader per sorgente Multiple applications Reader Source Reader Reader 78

KinectSensor e Source KinectSensor è la classe che rappresenta il device Posso istanziare un oggetto valido anche in assenza del device. Gli stream invieranno dati al collegamento del sensore Espone una sorgente per ciascuna funzionalità fornita 79

Reader Il Reader è un'entità fornita dalla sorgente che mi consente di acquisire i dati da essa generati (es. BodyFrameReader) Modalità acquisizione Frame: Polling Eventi Più Reader per sorgente Può essere messo in pausa Per questioni di efficienza il Reader fornisce una reference al Frame 80

Frame Permette l'accesso ai dati della funzioanlità (es. BodyFrame) Può essere generato dalla reference fornita dal Reader Il membro RelativeTime consente di correlare temporalmente più frame Va gestito e rilasciato rapidamente: Elaborazioni rapide Lavoro sul buffer Elaborazioni complesse Lavoro su una copia dei dati 81

Sensori alternativi 82

Sensori PrimeSense Sulla base del reference desing della PrimeSense utilizzato per Kinect-1 sono stati prodotti diversi sensori alternativi Asus Xition (No RGB) Asus Xition Live Prime Sense Carmine Rispetto al Kinect: driver ed API alternativi non Microsoft: OpenNI,OpenNI-2, Structure-SDK nessun array di microfoni, alimentazione da USB, più compatti. 83

PrimeSense - Capri Evoluzione della tecnologia usata per Kinect 10 volte più piccolo Sensore 3D più piccolo al mondo Integrabile in smathphone, tablet, TV,... Consumi ridotti Novembre 2013 Apple acquista PrimeSense 84

PrimeSense - Capri PrimeSense Capri è attualmente utilizzato da Google nel progetto Tango per l'integrazione in smarthphone e tablet di funzionalità di visione avanzata. 85

Structure sensor Anche il Structure sensor è stato realizzato a partire dall'hardware PrimeSense Structure oltre a continuare a distribuire le OpenNI fornisce delle proprie librearie: Structure SDK (fork di OpenNI-2) 86

Leap Motion Il Leap motion è un motion controller progettato per identificare la posizione delle dita (o oggetti simili come una penna) con una precisione di 0,01 mm. Internamente il dispositivo utilizza 2 telecamere e 3 LED infrarossi riuscendo a coprire un'area di un metro di raggio Video http://www.youtube.com/watch?v=_d6kuiuteia 87

Intel RealSense Intel introduce al CES 2014 il motion controler RealSense: Telecamera RGB: Sensore profondità: 1920 1080 @30fps 640x480 @ 60fps 320x240 @ 120fps Telecamera infrarossi: 640x480 @ 200fps Sensore IR Emettitore IR Telecamera RGB Webinar: http://www.youtube.com/watch?v=vf553pnpczy 88

Intel RealSense Dimensioni ridotte: Hardware: Intel Atom e Core Sistemi Operativi: integrabile in ultrabook ed altri dispositivi Windows, Android Disponibilità: 2015 Webinar: http://www.youtube.com/watch?v=vf553pnpczy 89

Intel RealSense Funzionalità: Stima della profondità Tracking e riconoscimento del volto, Tracking di mano e dita (22 joints), Gesture recognition Riferimenti: https://software.intel.com/en-us/articles/realsense-overview 90

Sensori alternativi MANTIS VISION http://www.mv4d.com MATERPORT http://matterport.com/ Camera/sensor technology: TOF Partners/projects: Infineon/3-D image sensor chips, Bluetechnix 3-D camera systems SoftKinetic http://www.softkinetic.com/ Camera/sensor technology: Structured light/primesense sensors Partners/projects: Google/Project Tango developer PMD http://www.pmdtec.com/index.php Camera/sensor technology: Structured light Partners/projects: Flextronics Lab IX Camera/sensor technology: TOF/gesture middleware Partners/projects: NVIDIA, Makerbot, Meta, Intel/RealSense, Sony, Texas Instruments and a tier one automotive supplier Tyzx Technology http://www.tyzx.com/ Camera/sensor technology: Stereoscopic Partners/projects: Takata (automotive), Intel 91

Casi applicativi 92

Casi applicativi Le immense potenzialità offerte dal Kinect e dai sensori analoghi hanno consentito lo sviluppo di applicazioni nei campi più disparati: Medicina e riabilitazione Superfici interattive http://www.youtube.com/watch?v=spocoka9sqa (Re-ID) Controllo robot http://www.youtube.com/watch?v=ayjrxsw2v6m (Specchio negozio abbigliamento) http://www.youtube.com/watch?v=kbhgrcmpayi (Vetrina Banca di Mosca) http://www.youtube.com/watch?v=gh3eeftwos8 (Proiezione interattiva) Sicurezza https://www.youtube.com/watch?v=f5ep3oqicvu#t=40 (controllo touchless) https://www.youtube.com/watch?v=id7ozabfavi#t=78 (controllo touchless) https://www.youtube.com/watch?v=rwy-_mzxw8o#t=52 (riabilitazione) http://www.youtube.com/watch?v=pqnc72fgetc (braccio robotico Nasa) Effetto olografico http://www.youtube.com/watch?v=9xmsgmjozig&feature=related 93

Grazie per l'attenzione 94