di  -  martedì 30 Novembre 2010

Questa settimana vorrei parlarvi di uno strano caso che vede come protagonisti Microsoft e una comunità di sviluppatori open source. Grazie all’estesa campagna di marketing messa in atto dal colosso di Redmond immagino che molti dei lettori di AD avranno sentito parlare di Kinect.

In parole povere si tratta di un device di input particolare che promette di liberare l’utente (in questo caso il videogiocatore trattandosi di un accessorio per xbox 360) da qualsiasi tipo di dispositivo da manipolare (joypad, mouse, tastiere o telecomandi di sorta). Per interagire con kinect basta semplicemente il proprio corpo (e una stanza abbastanza grande e ben illuminata Corretto sotto segnalazione dei lettori Herger e neural noise).

Per quanto riguarda la parte visiva kinect non è nient’altro che una telecamera con un sensore di profondità a infrarossi. La tecnologia che c’è dietro a livello hardware non fa certamente gridare al miracolo ma va dato atto alla Microsoft di essere stata la prima a spingere con forza questo genere di soluzioni in ambito consumer.

Ogni volta che un gadget tecnologico di questo tipo arriva sul mercato il cervello di piccoli e grandi geek (o cantinari come preferisce chiamarli qualcuno) inizia a pensare a modi alternativi di utilizzare la periferica (e nel 90% dei sogni c’è sempre una spada laser). Purtroppo il numero di geek che hanno il privilegio di poter mettere le mani su un kit di sviluppo ufficiale per xbox 360 è estremamente ristretto.

A pochi giorni dall’uscita ufficiale del dispositivo, per incentivare l’accesso creativo a tale tecnologia, il sito Adafruit Industries ha indetto un concorso. Al primo che fosse riuscito a produrre un driver per kinect sotto licenza open source sarebbero andati 2000$.

La risposta di Microsoft all’iniziativa è arrivata attraverso una replica ad un articolo di Cnet che riportava l’iniziativa di Adafruit.

Le prime dichiarazioni sono sembrate estremamente forti:

Microsoft does not condone the modification of its products. With Kinect, Microsoft built in numerous hardware and software safeguards designed to reduce the chances of product tampering. Microsoft will continue to make advances in these types of safeguards and work closely with law enforcement and product safety groups to keep Kinect tamper-resistant.

Per tutta risposta Adafruit ha subito alzato la posta in tavolo aumentando la ricompensa a 3000$. Il 10 novembre dopo soli 6 giorni il primo driver per linux è stato prodotto da Hector Martin che si è portato a casa i 3000$ di bounty.

Nel giro di pochi giorni è stato aperto il progetto Open Kinect che in pochissimo tempo ha prodotto driver funzionanti per tutti i sistemi operativi. Con i driver a disposizione di tutti sono iniziati a uscire interessantissimi esperimenti. Per non annoiarvi con descrizioni vi lascio alcuni video trovati su youtube.

http://www.youtube.com/watch?v=7QrnwoO1-8A


Naturalmente i vari concept basati sul driver libero hanno iniziato a vagare per il web e Microsoft non ha potuto fare a meno di fare una sorta di dietrofront riguardo alle prime dichiarazioni arrivando addirittura a dichiarare di essere in qualche modo ispirati dai nuovi utilizzi esplorati.

Questo secondo me dovrebbe far ragionare su come le comunità che sviluppano codice aperto non vadano viste solo come “avversarie” e che l’apertura di un progetto possa dare un ritorno d’immagine non indifferente anche ad un progetto che trova nel mondo del software proprietario (xbox 360 e videogames) la sua principale collocazione.

12 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    KoD
     scrive: 

    Senza contare il numero di idee innovative che in MS arrivano aggratisse.

  • # 2
    sim
     scrive: 

    veramente è la stessa tecnologia usata dalla scansione 3d usata per scopi cinematografici.

    per determinare i punti non si tratta di un semplice SENSORE.

    Infatti vengono sparati dal diodo LASER infrarosso migliaia di punti luminosi che si riflettono sul corpo sul muro e/o sugli oggetti. Questi vengono letti da una delle due camere che è monocromatica, poi la seconda camera RGB completa le informazioni a maggior risuoluzione riprendendo l’effettiva immagine.

    Le applicazioni sono pressochè infinite anche perchè la precisione è millimetrica, tanto che si possono effettuare SCANSIONI 3D di altà qualità (ovviamente si parla di misurazioni geometriche).

    Attualmente si tratta di una delle migliori e più “recenti” tecnologie di rilevamento non-radar. Niente a che vedere con i giocattoli come i sensori del wii (solito accelerometro che trasmentte i dati alla sensor bar come fa il vostro telecomando alla tv) o il move.. che beh… è la stessa cosa del controller della wii, solo più preciso perchè ha il giroscopio e la palla di gelato E’ COME UNO SOLO dei punti che vengono rilevati, contro le migliaia del Kinect.

  • # 3
    homero
     scrive: 

    concordo in pieno, kinect è una evoluzione dei sistemi di controllo generici…i driver open source sono un buon punto di partenza…purtroppo non basta per avviare un prodotto di produzione…ma acquistare kinect per usarlo al posto del mouse o del multitouch credo che sia una ipotesi tutt’altro che remota…

  • # 4
    Ventresca
     scrive: 

    kinect è un’ottima idea utilizzata (per ora) nell’unico modo sbagliato. Se M$ invece di bruciarla come periferica di gioco casual la cominciasse ad utilizzare in modo sensato anche in ambito pc desktop il successo sarebbe garantito..

  • # 5
    j
     scrive: 

    Attualmente si tratta di una delle migliori e più “recenti” tecnologie di rilevamento non-radar

    esattamente, in effetti si tratta di una tecnologia con cui si sconfina nella computer perception/vision – e molto più complessa di quanto l’ essere impacchettata in una periferica consumer di plastica nera glossy non faccia trasparire…
    per poter usare come fonte di input la rappresentazione tridimensionale (che di suo non è altro che un modello 3d grezzo e inanimato) prodotta dalla scansione ottica ( e magari acustica, visto che il kinect è fornito di 4 microfoni da ricalibrare in caso di variazioni nella conformazione ambientale – nella disposizione dei mobili, ecc – il che fa pensare vengano considerati anche gli echi) è necessario prima di tutto segmentarla – isolando vertici (o mesh) costituenti il giocatore stesso da quelli costituenti l’ ambiente che lo circonda nella realtà – per poi calcolare gli angoli di joint mappati
    segmentazione che (anche “solo” su immagini bidimensionali) è materia tanto vasta e complessa da probabilmente non bastare una rubrica di AD per approfondirla, e che costituisce la parte forse più importante del kinect in quanto sistema di input, ma che in giro è immancabilmente sottintesa come generico “preprocessing”…
    ora, è interessante notare che da una parte in non pochi hanno lamentato problemi di lag tra il movimento del giocatore e l’ azione su schermo, e dall’ altra MS avrebbe apparentemente spostato parte delle operazioni di “preprocessing” dal “sensore” al sw – molto probabilmente sia per non elevarne ulteriormente il prezzo e la complessità (che è già alta http://www.geek.com/articles/games/kinect-teardown-reveals-15-chips-cooling-fan-and-motor-as-weak-point-2010115/ ) ma non sono da escludere limiti della tecnologia di prima generazione impiegata
    e che dall’ altra MS avrebbe giusto recentemente acquisito proprio una concorrente (Canesta) di quella produttrice del chip impiegato attualmente (PrimeSense) …
    ora, sul sito della prima si menzionano soluzioni sia sw based che completamente hw ( http://canesta.com/products-and-technology/products/canestavision-chips), il che farebbe pensare a interessanti prospettive
    una, pressochè scontata, che un eventuale “Kinect 2” sarà basato
    su soluzioni Canesta e non PrimeSense, sarà probabilmente più compatto, meno delicato, consumerà meno e potrebbe eliminare il problema del lag attraverso elaborazione interamente on chip
    ma anche, meno ovvia, che si tratterebbe di una nuova periferica con magari un nuovo formato e protocollo per i dati generati, nel quale la “comunità” potrebbe non riuscire a mettere le mani con la stessa facilità …

  • # 6
    Jacopo Cocchi
     scrive: 

    gli sviluppi non legati strettamente a MS ed alla 360 sono fondamentali per far capire le potenzialità del dispositivo e che vanno decisamente oltre il casual gaming.

    Oltretutto, per la potenza computazionale richiesta, forse non basterà nemmeno la prossima generazione di console a soddisfare i requisiti (FullHD, 60 fps, filtri vari, Kinect stesso), quindi porting per altre piattaforme, pc in primis, non sono che le benvenute.

    Due soli appunti Emanuele:
    per quanto riguarda il kit di sviluppo ricordati XNA che non è affatto inaccessibile, anzi…tra l’altro comincia a prendere piede anche in qualche Università (deo gratias).

    Il secondo riguarda l’ultimo paragrafo:

    ” le comunità che sviluppano codice aperto non vadano viste solo come “avversarie” e che l’apertura di un progetto possa dare un ritorno d’immagine non indifferente anche ad un progetto che trova nel mondo del software proprietario (xbox 360 e videogames) la sua principale collocazione.”

    in realtà, secondo me, il pensiero andrebbe riformulato perché così sembra che l’ostruzionismo venga da una parte sola mentre è esattamente biunivoco (conoscendo il mondo universitario sai benissimo a cosa mi riferisca e all’ostracismo nei confronti dei prodotti commerciali).
    Se tutti fossero un po’ più pragmatici e meno idealisti, l’ITC funzionerebbe meglio in Italia.

  • # 7
    Emanuele Rampichini (Autore del post)
     scrive: 

    @Jacopo Cocchi
    XNA oltre ad essere accessibilissimo come hai fatto notare, è tecnicamente un ottimo framework che non esiterei a consigliare. Il suo unico problema (dal mio punto di vista) è il non essere multi piattaforma (nel senso stretto del termine visto che rimanendo nel giardino MS gira su console PC e mondo mobile).

    In realtà, secondo me, il pensiero andrebbe riformulato perché così sembra che l’ostruzionismo venga da una parte sola mentre è esattamente biunivoco (conoscendo il mondo universitario sai benissimo a cosa mi riferisca e all’ostracismo nei confronti dei prodotti commerciali).

    Non volevo assolutamente sottointendere questo. Anzi la frase voleva essere uno spunto per far capire come due realtà apparentemente distanti come software proprietario e software libero possano vivere tranquillamente affiancate. Volevo evidenziare come kinect, con il suo driver open e la sua adozione nell’ecosistema proprietario di xbox 360, possa essere visto come un lampante esempio di questa visione.
    Il punto di vista dell’articolo è centrato sulla comunità open ma non va ovviamente generalizzato a qualsiasi caso. In questo senso ti ringrazio di avermi dato l’opportunità di precisare.

    Se tutti fossero un po’ più pragmatici e meno idealisti, l’ITC funzionerebbe meglio in Italia.

    E su questo direi che non si può non essere d’accordo.

  • # 8
    A
     scrive: 

    vi invito tutti a riflettere
    su quanto scritto in questo articolo,
    su The Vigilant Citizen: link QUI…

    è solo un altro punto di vista, ed un invito a riflettere…

  • # 9
    A
     scrive: 

    http://vigilantcitizen.com/?p=5644

    se il link di prima non si apre…

  • # 10
    Herger
     scrive: 

    Ciao.
    Il relatore dell’articolo è poco informato: il Kinect ha una telecamera infrarossi, si può tranquillamente giocare anche al buio.
    Saluti

    Herger

  • # 11
    Emanuele Rampichini (Autore del post)
     scrive: 

    @Herger
    Partendo dal presupposto che non è quello il punto dell’articolo, prima di scrivere mi sono informato sulle caratteristiche tecniche del dispositivo.

    Immagino tu ti riferisca alla parte in cui ho scritto che serve una stanza ben illuminata. Per farti capire che quelle parole non sono messe a caso ti metto il link di una pagina del manuale del kinect:

    http://assets.vg247.com/current//2010/10/kinectm06.jpg

    Se lo scrive la MS sul manuale di istruzioni non credo sia un parametro completamente ininfluente.

    La “magia del kinect” attualmente è quasi tutta negli algoritmi lato client (come per esempio la ricostruzione di un modello virtuale dello scheletro del giocatore) che credo siano vicini allo stato dell’arte.

    Se mi dici che al buio funziona bene come in uno spazio illuminato (per esperienza personale) non ho problemi ad integrare l’articolo.
    Ciao e grazie di aver commentato! ;-)

  • # 12
    neural noise
     scrive: 

    si, la periferica funziona nel medesimo modo, sia con la stanza illuminata e sia nel buio più completo.
    come è normale aspettarsi da un sensore che non lavora nello spettro del visibile.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.