PROVARSI I VESTITI CON IL KINECT
KINECT FOR WINDOWS
Who I am
•
•
•
•
•
•
•
•
•
Microsoft MVP ASP.NET
Founder of SmartCore Tech
DotNetToscana Staff Member & Speaker
Speaker for various events
Trainer
SharePoint addicted from 2007
Enthusiast ASP.NET Developer
NopCommerce Contributor
MCPD Web applications, MCTS BING Applications,
MCTS Silverlight, MCTS HTML5 & CSS3
•
•
•
•
Italian blog: www.emanuelebartolesi.com
English blog: www.geekswithblogs.net/emanueleb/
Twitter: @kasuken
Email: [email protected]
KINECT FOR WINDOWS
TWITTER
#bem14
KINECT FOR WINDOWS
Agenda
•
•
•
•
•
•
Natural User Inteface
Skill innati e skill appresi
Informazione tecniche sul Kinect
Gesture e Posture
Demo 
Q&A
KINECT FOR WINDOWS
Natural User Interface
Si definisce NUI l’interfaccia di un sistema in cui gli utenti riescono ad
interagire utilizzando un approccio «naturale» cioè riescono ad utilizzare
le funzionalità del sistema senza l’uso di dispositivi artificiali (come
mouse, trackball o tastiera)
KINECT FOR WINDOWS
NUI: vantaggi
• Rapido apprendimento delle funzionalità
• L’utente è in grado di diventare «esperto»
sull’interfaccia in minor tempo senza particolare
training
• Può aiutare portatori di handicap nell’utilizzo del
sistema
KINECT FOR WINDOWS
Skill innati e skill appresi
• Affinchè le NUI siano efficaci è necessario che
utilizzino gli Skill Innati
• Uno Skill Innato è un «movimento» insito nella
natura umana e nel suo quotidiano (il gesto di
sfogliare è uno skill innato)
• Uno Skill Appreso è un «movimento» non naturale e
che necessita di un periodo di training (muovere un
mouse è uno skill appreso)
KINECT FOR WINDOWS
Come è fatto?
IR Emitter
Color Sensor
IR Depth Sensor
Tilt Motor
Microphone Array
KINECT FOR WINDOWS
Come funziona
1
4
La nostra
applicazione utilizza
le info dell’SDK
Il proiettore ad infrarossi
illumina il soggetto con
dei pattern
3
2
La camera infrarossi
misura la distanza
con un approccio «a
luce strutturata»
KINECT FOR WINDOWS
L’SDK è in grado di
convertire lo stream della
depth cam in dati utilizzabili
Angolo di visuale
Angolo di visuale:
• Orizzontale: 57,5°
• Verticale: 43,5° (da +27° a -27°)
KINECT FOR WINDOWS
Profondità
Profondità (Near Mode):
Limite fisico: 0,4m – 3,0m
Limite pratico : 0,8m – 2,5m
Profondità (Default Mode):
Limite fisico: 0,8m – 4,0m
Limite pratico : 1,2m – 3,5m
KINECT FOR WINDOWS
DEMO
KINECT FOR WINDOWS
RISOLUZIONE
• Color
• 12 FPS: 1280X960 RGB
• 15 FPS: Raw YUV 640x480
• 30 FPS: 640x480
• Depth
• 30 FPS: 80x60, 320x240, 640x480
KINECT FOR WINDOWS
DEMO
KINECT FOR WINDOWS
DEPTH DATA
• Restituisce la distanza e il player per ogni pixel
• Ex: 320x240 = 76,800 pixels
• Distanza
• Distance in mm from Kinect ex: 2,000mm (6.56 feet)
• Player
• 1-6 players
KINECT FOR WINDOWS
Suono
• Audio:
• Angolo di ascolto: 100° (da -50° a +50° rispetto all’asse centrale)
• Possibilità di restringere l’angolo di ascolto a step di 10°
• Noise reduction:
• -20dB per l’audio proveniente da davanti
• -26db per l’audio proveniente da dietro
KINECT FOR WINDOWS
Architettura
• L’SDK mette a disposizione una serie di strumenti e
una libreria di classi in grado di interagire con i
sensori del dispositivo fornendo allo sviluppatore
oggetti ed eventi.
KINECT FOR WINDOWS
Stream
• Il device restituisce 3 stream:
• Video
• Depth
• Audio
KINECT FOR WINDOWS
Default e Near Mode
Il Kinect può gestire oggetti a differenti distanze in
base alla modalità selezionata:
• Default Mode: oggetti tra 80 cm e 4 metri
• Near Mode: oggetti tra 40 cm e 3 metri
KINECT FOR WINDOWS
DEMO
KINECT FOR WINDOWS
Skeleton Tracking
Kinect fornisce un insiemi di «scheletri» dei
player rilevati:
• Al massimo due player contemporanei (più altri 4
con informazioni ridotte)
• Ogni «scheletro» può essere Tracked o
NotTracked
• Ogni scheletro prevede un array di 20 Joint
ognuno con la propria posizione (x,y,z)
• Ogni Joint può essere Tracked, NotTracked o
Inferred (NotTracked è raro)
• La classe Skeleton fornisce anche informazioni
sulle «ossa» del player
KINECT FOR WINDOWS
DEMO
KINECT FOR WINDOWS
Gesture
Tre tipologie di gesture:
• Static Gesture (posture)
• Continuous Gesture
• Dynamic Gesture
KINECT FOR WINDOWS
Posture
Nelle Static Gesture, chiamate anche Posture, l'utente mantiene
una posizione (anche solo di una parte del corpo) fino a
quando questa non viene riconosciuta.
E’ opportuno non scegliere posture che possono avere diversi
significati in diverse culture (ad esempio il «pollice in alto»)
Va benissimo in
Europa non in
Iran!!!!
KINECT FOR WINDOWS
Continuos Gesture
Le Continuos Gesture sono le gesture che permettono
di tracciare gli utenti che si spostano davanti al Kinect.
Sono le gesture più adatte per i giochi.
KINECT FOR WINDOWS
Dynamic Gesture
Le Dynamic Gesture sono quelle gesture che forniscono un
feedback all’utente a seguito di un movimento eseguito con una
determinata parte del corpo.
Sono le gesture più conosciute.
KINECT FOR WINDOWS
Alcune regole
• Alcune regole relative alle gesture:
• Dare sempre un feedback all’utente quando il sistema
riconosce una gesture;
• Prevedere gesture confortevoli;
• Disegnare gesture che, almeno per i controlli di base,
siano innate oppure di semplice comprensione;
• Cercare di implementare gesture da eseguire in maniera
rapida e precisa con movimenti quanto più possibili
naturali
KINECT FOR WINDOWS
DEMO
KINECT FOR WINDOWS
Q&A
KINECT FOR WINDOWS
SOME EXAMPLES
•
•
•
•
•
Coca Cola - http://www.youtube.com/watch?v=3MnDAWlhegw
Barbie - http://www.youtube.com/watch?v=kVDFzZ97XaY
Boing 737 - http://www.youtube.com/watch?v=hwBo_LtjSUs
AUDI - http://www.youtube.com/watch?v=3F9H0tdCnQw
BIBLE - https://www.youtube.com/watch?v=5B9vNU9c9Ac
KINECT FOR WINDOWS
Riferimenti e download
• Sorgenti: https://github.com/kasuken/BetterEmbedded2014FittingRoom.git
• Slide: http://www.slideshare.net/emanuelebartolesi/provarsi-i-vestiti-con-il-kinect
Twitter: @kasuken
Email: [email protected]
KINECT FOR WINDOWS
GRAZIE 
KINECT FOR WINDOWS
Scarica

Near Mode - Better Embedded