20

Dec

Kinect Haking – Le librerie di sviluppo

Ciao,

per chi non lo sapesse ,ho dovuto sviluppare in una settimana una piccola demo per mostrare le potenzialità di Kinect partendo da zero.

Nell’utlimo post raccontavo come eravamo riusciti a costruire il cavo(legete anche i post precedenti), ma ora è giunto il momento di vedere come sfruttare il Kinect sul pc.

Al momento ci sono tre progetti interessanti che si stanno sviluppando parallelamente: LCNUI, OpenNI e OpenKinect.

LCNUI è la prima libreira che è stata resa disponibile su windows e permette il controllo del motore, dei microfoni e naturalmente ricevere le immagini riprese dalle telecamere. Il cantaggio di questa libreria è che è molto semplice da usare, si usa c#, ma non contiene sessun API per il riconoscimento di immaigni e quindi è necessario utilizzare un framework specifico come OpenCV di intell o Aforgenet. Sono due ottime librerie e chi le ha provate come Andrea, dice è molto semplice riconoscere il movimento.

La seconda soluzione, OpenNI, l’utima resa pubblica in ordine di tempo, oltre a permettere di muovere il Kinect e catturare le immagini, offre una libreira molto avanzata chiamata NITE per il riconoscmento delle mani e del corpo della persona. Questa libreria è stata resa disponibile in beta gratuita da Primesense, cioè la società che ha sviluppato Kinect e dalla nostra nalisi è risultata la più avanzata e ricca. Inoltre, nonostante sia uscita per ultima questo progetto è molto vivo e sono già presenti molti progetti da sfruttare come base di partenza.

La terza soluzione, OpenKinect, è la prima in assoluto a essere stata sviluppata inizialmente su Linux, su cui funziona molto bene, e successivamente portata su windows tramite i driver Zephod. Purtroppo il porting su Windows è a mio avviso ancora molto incompleto e nonostante il esempi disponibili sul sito funzionino, abbiamo avuto molte difficoltà a complilare le librerie e i progetti.

Di tutti e tre i porgetti la nodicmentazione non è ancora molto ampia e la soluzione migliore è fare riferiemento ai forum dei progeti( in ordine):

Dopo un po’ di prove e valutando il tempo a disposizione, abbiamo scelto di adottare OpenNI perchè forniva già l’implementazione del riconoscimento delle mani, anche se con più tempo a disposizione anche LCNUI potrebbero essere una buona soluzione. Al momento sconsiglierei OpenKinect per realizzare applicazioni Windows perchè non molto affidabile e con numerosi bus.

Bene questa è la panoramica delle soluzioni al momento disponibile e le mie considerazioni, ma ognuno è libero di scegliere quello che preferisce. sSno ben felice di sentire anche i pareri di chi ha utilizzato le altre soluzioni.

Ciao,

aspetto i vostri commenti.

Matteo

by Matteo Valoriani on 12/20/2010