Guest Post: Introduzione al Kinect SDK v1.7

Stampa

Questo post è stato scritto da Massimo Bonanni, MVP Visual Basic

In questo post daremo un'occhiata alle novità e i miglioramenti introdotti nella versione 1.7 dell'SDK rilasciata il 18 Marzo 2013.

Tra le novità più importanti troviamo:

KinectInteraction Framework

KInectInteraction framework mette a disposizione dello sviluppatore una serie di componenti per gestire, appunto, l'interazione tra utente che utilizza il device e applicazione.

Nella seguente figura è rappresentata l'architettura del framework:

clip_image001

Possiamo utilizzare i tre differenti blocchi:

Il KinectInteraction Framework introduce tutta una serie di nuove funzionalità e concetti nuovi non presenti nelle versioni precedenti dell'SDK.

Una nuova funzionalità è la possibilità di tracciare delle mani dell'utente: il framework utilizza lo skeletal tracking e il depth stream per recuperare lo stato delle mani dell'utente.

Viene definito il concetto di Physical Interaction Zone (PhIZ), cioè di una mappatura tridimensionale tra lo spazio fisico davanti all'utente e lo spazio logico che lo sviluppatore può utilizzare definire le interazioni ed esiste un PhIZ per ogni mano dell'utente, per ogni utente tracciato (quindi fino a 2 in questo momento). Praticamente PhIZ è la zona attiva in cui la maggior parte delle interazioni sono attive.

Il framework è in grado di tracciare le mani di ogni utente (fino a due). Nel momento in cui davanti al Kinect sono presenti due utenti, uno di questi viene "designato" come primario (tipicamente il primo che viene rilevato dal sensore). Questo utente mantiene il controllo dell'interazione con l'applicazione fi no a che il sistema stesso non è più in grado di rilevare lo stesso. All'utente primario viene assegnata una mano principale con cui gestisce l'interazione con il sistema. L'utente è in grado di gestire l'interazione solo con tale mano anche se può cambiare la mano primaria semplicemente portandola al di fuori della PhIZ e portando dentro la PhIZ l'altra mano.

In questa versione dell'SDK, il framework fornisce, "di serie" le seguenti interazioni:

Kinect Fusion

Kinect Fusion permette di utilizzare il device come uno scanner tridimensionale per il "disegno" di modelli 3D riprendendo direttamente l'oggetto fisico.

Per poter utilizzare Kinect Fusion sulla propria macchina occorrono delle specifiche hardware ben precise. In particolare occorre un processore multi-core a 3Ghz con una scheda grafica con almeno 2Gb di memoria dedicata (il software del Fusion si basa sulla potenza della GPU per il disegno a runtime). Le schede su cui il Fusion è stato testato sono la NVidia GeForce GTX560 e la AMD Radeon 6950. Fusion dovrebbe funzionare con tutte le schede "superiori" rispetto a quelle elencate.

Dal punto di vista software, richiede DirectX11.

Kinect Fusion utilizza il depth stream e basa il proprio al goritmo (del quale non parleremo in dettaglio qui) sulle variazioni di profondità tra un fotogramma ed il successivo (ad esempio ottenute muovendo il device come un "pennello").

Interessante è la possibilità di esportare i modelli realizzati secondo alcuni degli standard di modellazione esistenti.

Maggiori informazioni sono disponibili all'indirizzo http://msdn.microsoft.com/en-us/library/dn188670.aspx

Human Interface Guidelines

Assieme all'aggiornamento dell'SDk, Microsoft ha rilasciato anche la nuova versione della Human Interface Guidelines, la guida relativa al corretto utilizzo del Kinect nella realizzazione delle interfacce NUI.

La guida è stata rivista alla luce delle gesture previste in questo nuovo SDK.

Aggiornamento da 1.6 a 1.7

L'aggiornamento dell'SDK e del developer toolkit si fa semplicemento lanciando l'installazione della nuova versione che sostituisce la vecchia senza creare problemi.

Il codice scritto per la versione 1.6 funziona ancora per la versione 1.7 con l'unico accorgimento (non sempre necessario) di dover referenziale la nuova dll.


read full article