Hacking e nostalgia: Kinect 360

Alla sua uscita Kinect suscitò un grande interesse non solo per i gamers,  developers, ma anche nella comunità scientifica: in particolare nel campo della robotica, della realtà virtuale (VR), della realtà aumentata (AR),  speech recognition, body motion tracking, hand tracking e gestures.

Durante il mese di marzo mentre navigavo su Wallapop, famosa piattaforma spagnola per la vendita di oggetti usati, mi sono ritrovato a guardare in vendita un Kinect 360 per soli 15 euro e preso dalla nostalgia, di quanto interesse e aspettative aveva generato 10 anni prima, decisi di acquistarlo subito!

Tutti pazzi per il Kinect!

Microsoft non rese da subito disponibili i driver del Kinect per Windows o altri sistemi operativi, rischiando di rallentare lo sviluppo di applicazioni di terze parti, tanto che nel 2010 nacque il progetto Open Kinect.

Open Kinect

Il computer scientist Johnny Lee, che aveva partecipato allo sviluppo di Kinect (V1), ci racconta in un post del suo blog che alla fine dell’estate del 2010, stanco che Microsoft non rilasciasse drivers open source per il Kinect, si rivolse ad Adafruit Industries con l’idea di un contest per lo sviluppo di un SDK da parte della community.

Il 4 novembre 2010 dal suo blog Adafruit  lanciò la challenge con un premio in denaro di 3000 dollari, finanziato da Lee, al primo developer che caricasse su Github un driver open-source funzionante. Sei giorni dopo c’era già un vincitore: l’hacker Héctor Martín Cantero, alias marcan, aveva prodotto un driver per Linux che consentiva l’utilizzo sia della fotocamera RGB che del sensore di profondità.

Hacking the Kinect

All’interno della comunità scientifica negli anni è andato formandosi il concetto di open research,  ovvero di una ricerca improntata ai valori veicolati dai vari movimenti che si rifanno al mondo del Free Software e dell’Open Source (FLOSS). Intervistai così nel 2012 l’archeologo Luca Bezzi, membro dell’ArcTeam, che valutava l’utilizzo della prima versione (V1) del Kinect come mezzo di scansione rapida per i rilievi 3D sul campo o come sistema di documentazione 3D per gli scavi indoor usando la realtà aumentata (AR).

Uno dei topics di Arc-team è legato all’hacking hardware, con l’obiettivo di costruire nuovi devices archeologici a partire da oggetti e tools di uso comune. Ad ottobre del 2012 l’Arc-Team si diede lo scopo di dare un volto al cranio del famoso fossile noto con il nome di bambino di Taung e di ri-usare il Kinect di Microsoft.
L’idea di  ri-uso, utilizzare un manufatto per uno scopo completamente diverso dalla funzione originaria, è un fenomeno abbastanza comune in archeologia, ma anche nella cultura hacker o forse più semplicemente è solo una specie di sindrome di McGyver.

Taung Project

Il cranio del bambino di Taung era stato rinvenuto da un minatore della Northern Lime Company, nei pressi dell’abitato di Taung, in Sudafrica, e appartenente alla specie dell’Australopithecus africanus. Infine la scoperta venne descritta nella rivista Nature dal paleontologo Raymond Dart (1893-1988) nel 1925.

Il rilievo tridimensionale del reperto venne realizzato utilizzando tecniche di Structure from Motion (SFM) e Image-Based Modeling (SFM/IBM) avvalendosi di software gratuiti e open source come Blender, InVesalius. Per scansionare il reperto la soluzione migliore è che sia posto su un tavolo rotante (turn table) con dietro uno sfondo nero in modo che il software non riconosca nulla tranne il il tavolo ed il reperto. Infine con l’aiuto di Cicero Moraes, esperto di modellazione 3D applicata al contesto forense, poterne ricostruire il volto.
Con la curiosità di sapere come appariva il volto di Taung, Luca decide di utilizzare il toolkit RGBDemo per Kinect, basato sul progetto OpenKinect (libfreenect), per provare ad ottennere i primi raw-data. Purtroppo i dati raccolti non sono dei migliori perché quando il Kinect è troppo vicino, semplicemente non vede il reperto, mentre quando è troppo lontano, registra troppo pochi punti 3D, quindi la mesh finale non è sufficientemente precisa. Nonostante questi risultati, il principale vantaggio di una strategia di documentazione 3D basata su RGBDemo e Kinect è il feedback in real-time, senza dover attendere le operazioni di post-processing.

La mummia nel sarcofago

Un’ulteriore sperimentazione con RGBDemo e Kinect viene fatta al museo di antropologia di Padova con un sarcofago egizio in legno.

L’idea è di registrare una scena 3D della mummia attraverso la sua vetrina. Purtroppo le lastre di vetro trasparenti sono state registrate dal sistema infrarossi di Kinect come normali superfici opache, non essendo in grado di attraversare il vetro.
Questo aspetto è particolarmente limitante in quei progetti archeologici in cui è necessario scansionare i reperti conservati in teche, senza possibilità di spostarli.

Kinect: dispositivo mobile

Durante lo scavo professionale dell’antica chiesa di S. Giorgio di Dorsino (TN, Italia), Il Kinct è stato utilizzato per stimare il volume interno dell’ambiente sotterraneo, registrando semplicemente una scena 3D in real-time attraverso un piccolo foro nella parte nord della struttura, senza la necessità di utilizzare luci aggiuntive. Questo era stato possibile grazie ai sensori a infrarossi, che possono funzionare anche in condizioni di scarsa illuminazione.

RGBDemo, in combinazione con Kinect, poteva registrare una scena 3D in scala reale senza la necessità di informazioni esterne come i punti di controllo a terra (GCP).Tuttavia, questi piccoli vantaggi, non possono bilanciare i limiti di una tecnologia che oggi possiamo considerare obsoleta.
Questi sono stati alcuni esperimenti che mi avevano reso pazzo per il Kinect che poi mi hanno però portato ad un maggiore interesse per gli algoritmi SLAM.

Sitografia

[1] Redazione, The Open Kinect project – THE OK PRIZE – get $3,000 bounty for Kinect for Xbox 360 open source drivers, Adafruit Blog, 4/11/2010
[2] Elias Notario, Entrevista al artífice de los drivers libres para Kinect, Hipertextual, 12/11/2010
[3] Carlos Zahumenszky, Kinect es una plataforma que encaja en muchos sectores Entrevista a Alex Acero, de Microsoft Research, Xataka, 16/11/2010
[4] Redazione, Kinect hacks! – Amazing work created within a few days.., Adafruit Blog, 15/11/2010
[5] Madhav K, OpenNI Standard Launched, Kinecthacks, 9/12/2010
[6] Darren Murph, ASUS Wavi Xtion motion sensing control system demoed at CES, Engadget, 11/01/2011
[7] Terdiman Daniel, Kinect developer claims credit for hack bounty idea, cNET.com, 21/02/2011
[8] Luca Bezzi, Python Photogrammetry Toolbox (PPT) and a turntable for 3D objects, Ator, 28/07/2011
[9] Luca Bezzi, Arc-Team and Antrocom NPO start “Taung” project, Ator, 24/10/2012
[10]Luca Bezzi, Kinect 3D limits: documentation of small objects, Ator, 1/11/2012
[11] Luca Bezzi, Kinect, a sleeping research branch reacivated, Ator, 8/08/2016