Molti ricorderanno un sorprendente spot pubblicitario di una nota compagnia telefonica mobile in cui un chirurgo invitato con la moglie ad un matrimonio, dopo aver ricevuto una telefonata si sposta all’esterno della chiesa, indossa un visore ed aiuta la propria equipe ad operare un paziente, per poi tornare a festeggiare gli sposi. Ce lo ricorderà meglio la Figura 1:
Figura 1. Screenshot dello spot pubblicitario in cui un chirurgo opera da remoto.
Curiosamente, l’attore in questione è davvero un chirurgo, precisamente un cardiochirurgo, il Dott. Musumeci dell’Ospedale San Camillo di Roma. Gli strumenti che utilizza invece non sono veri strumenti, ma disegni artificiali delle macchine che raffigurano quelli realmente presenti in sala operatoria.
Ai suoi occhi appaiono sia il paziente che il personale in azione, che l’ambiente con gli strumenti reali, ma oltre a tutto questo dispone di strumenti e oggetti virtuali aggiunti alla scena, agendo sui quali trasferisce le azioni e i movimenti a quelli fisicamente presenti nel luogo dell’intervento chirurgico. Fantascienza ? Non più, oggi è possibile fare tutto questo, sebbene ovviamente lo spot pubblicitario ne enfatizzi ed estremizzi semplicità e qualità ottenibili.
Siamo comunque di fronte ad una delle più utili ed importanti applicazioni della così detta ‘Realtà Aumentata’, che nel seguito potrò indicare brevemente con ‘AR’ come si usa fare in ambito scientifico (AR da Augmented Reality).
La realtà aumentata è pertanto una tecnologia che arricchisce l’ambiente reale super imponendo al mondo fisico informazioni digitali, come ad esempio immagini, suoni od altre tipologie di dati.
Ed occorre fare subito chiarezza precisando che fra Realtà Aumentata (AR) e Realtà Virtuale (VR) c’è una bella differenza e i due nomi non sono affatto interscambiabili: al contrario di quanto appena descritto per l’AR, la VR immerge l’utente in un mondo puramente digitale, senza alcun riferimento o immagine della scena reale. Ciò che crea confusione è che entrambe le tecnologie permettono (ed anzi prevedono) l’interazione diretta dell’utente con la scena: aggiungere cose, spostare oggetti, premere tasti, etc. Ma la VR mostra, come dice il nome stesso, un mondo puramente Virtuale, mentre l’AR aggiunge ad una scena reale elementi virtuali digitali, con i quali si può interagire come se fossero quelli veri. La Figura 2 mette a confronto AR e VR:
Figura 2. In alto uno scavo è riportato su uno smartphone con un’immagine AR con aggiunta della struttura che nascerà in quel luogo.
In basso un’immagine VR di un Auditorium, appunto, puramente virtuale.
A differenza della VR in cui si creano ambienti del tutto immaginari, l’AR necessita di strumenti hardware in grado di “catturare” le informazioni visive e acustiche dell’ambiente reale con il quale si vuole interagire. Videocamere e microfoni sono gli strumenti più ovvi, a volte accompagnati da altri più particolari e sofisticati quali accelerometri (dispositivi in grado di rilevare la rapidità dei movimenti in 3D), sensori di prossimità (per accorgersi tempestivamente dell’ingresso di un nuovo oggetto sulla scena), rilevatori acustici (per individuare specifiche frequenze legate a particolari elementi o situazioni, ad esempio l’avvenuta accensione di un trapano) e molti altri ancora. Ma in un gran numero di casi la videocamera e il microfono di un semplice smartphone sono sufficienti: dipende dall’applicazione. Ad esempio la Figura 2A precedente mostra la scena di uno scavo che non può contenere, né lo necessita, particolari apparecchiature. Sulle immagini in diretta dello scavo è tuttavia possibile sovrapporre oggetti virtuali come quelli mostrati, ruotandoli opportunamente e adattandoli a seconda di come lo smartphone viene mosso per inquadrare l’ambiente. In altre parole si ottiene un gran risultato con poco hardware.
Ci sono altri casi in cui invece se la scena è prestabilita e nota, l’aggiunta di dispositivi utili per incrementare le informazioni ambientali risulta molto vantaggiosa. L’esempio più calzante è proprio quello dello spot pubblicitario di inizio articolo, ovvero una sala operatoria. Questo è il luogo fisso e noto in cui i chirurghi operano, su un tavolo operatorio sempre posizionato nel medesimo luogo, con ben precise sorgenti luminose e, soprattutto, dove l’ausilio di quante più informazioni ambientali possibili è di importanza basilare, visto l’uso che di una sala operatoria si deve fare. Ecco allora che viste multiple, ad esempio sul paziente e sugli strumenti di misura, sono fondamentali per chi da remoto opera in AR. In questi casi l’hardware utilizzato è più corposo e più sofisticato, per fornire al software di elaborazione ambientale il maggior numero di informazioni utili per l’utente finale.
Una costante piuttosto ovvia di questa tecnologia è la presenza di un display sul quale viene visualizzata la scena. Oltre ai ben noti computer e smartphone, sono stati ideati e prodotti occhiali dedicati allo scopo detti “AR glasses”, visibili in Figura 3:
Figura 3. AR glasses di Magic Leap che integrano 3 coppie di stereo videocamere anteriormente e due mono videocamere lateralmente per garantire un’ottima visione della scena.
Sebbene gli occhiali AR sembrino possedere normali lenti, in realtà al loro posto si trovano due display che possono essere di due tipi: (i) coprenti, per cui l’utente non vede nulla di ciò che gli è di fronte in modo diretto, bensì osserva la scena ripresa dalle videocamere e ritrasmessa sui due piccoli display oculari; (ii) trasparenti, per cui l’utente osserva la scena direttamente ma al contempo vede sovrapposte tutte le informazioni che il software AR decide di inviare ai display. Queste informazioni possono essere sia oggetti virtuali, come le strutture di figura 2A, sia semplici indicazioni o testi come nel caso di utilizzo degli occhiali per navigazione guidata stradale:
Figura 4. AR glasses utilizzati per la navigazione, in cui alla scena reale sono sovrapposte informazioni utili per spostarsi e per conoscere in dettaglio l’ambiente che si va ad incontrare.
In entrambi i casi l’utente deve poter interagire con la scena. Per questo sono predisposti anche dei sistemi di input, diversi a seconda del sistema e dell’applicazione, come mouse (se si utilizza un computer), pulsanti (ad esempio ai lati degli occhiali), joystick (per interazioni più sofisticate quali l’utilizzo di uno strumento remoto). Grazie a questi sistemi, l’utente può interagire con gli oggetti virtuali, spostarli, accenderli o spegnerli se si tratta di dispositivi elettrici od elettronici e perfino modellarne l’aspetto.
Sebbene in linea teorica tutto questo fosse pensabile molti anni fa, solo oggi la potenza di calcolo dei moderni processori ha permesso di renderlo realizzabile in pratica. Si pensi che un singolo “frame” immagine è composto, ad esempio, da una matrice di pixel che per piccola che sia non è inferiore a 720x720 e si pensi che un flusso video base ha almeno 25 frame al secondo. Questo significa che il processore in 1 secondo deve operare su 25 matrici di 7202=518400 dati eseguendo operazioni molto complesse: è chiaro che senza adeguate prestazioni computazionali sarebbe impossibile.
Le operazioni da compiere su ogni matrice di pixel sono:
- riconoscimento spaziale, con rilevazione di punti cospicui, pattern e particolari punti significativi;
- rilevazione di piani, ovvero superfici orizzontali, verticali od oblique;
- riconoscimento contestuale degli oggetti sulla scena, dove il termine ‘contestuale’ qui non significa “mentre fa il resto” bensì “nel contesto di quanto già riconosciuto e rilevato”.
La parte più difficile, che ha a che fare con algoritmi di AI e Reti Neurali è l’ultima dell’elenco. La Figura 5 seguente mostra un frame catturato in laboratorio in cui il nostro software, opportunamente addestrato, riconosce persone e oggetti (in primo piano “alle tastiere”, come si usa dire nei concerti, il mio amico e socio Riccardo Galletti, sviluppatore software, e in secondo piano il sottoscritto):
Figura 5. Riconoscimento tramite AI di features in una scena. L’immagine è uno dei 25 frame acquisiti dalla telecamera ogni secondo. Il software analizza la scena e individua una serie di ‘features’ quali oggetti di varia natura e persone.
La tecnologia che mappa in continuo l’ambiente e rileva la posizione relativa del dispositivo AR utilizzato si chiama SLAM, che sta per Simultaneous Localization And Mapping.
- ‘Localization’ poiché determina la posizione e l’orientazione del visore nella scena reale. Ad esempio indossando occhiali AR noi siamo liberi di rivolgere lo sguardo ovunque intorno a noi. Se pensiamo di farlo in cucina, in un determinato istante noi possiamo osservare il lavandino e subito dopo i fornelli, dall’altra parte. Affinché tutto il processo funzioni, il software deve localizzare dove è diretto il dispositivo AR rispetto all’ambiente reale.
- ‘Mapping’ in quanto il software deve costruire una mappa 3D della zona di interesse e identificare particolari punti cospicui, detti ‘features’, rispetto ai quali si possono posizionare gli oggetti virtuali sulla scena. Trovandoci ancora in cucina, in questa fase viene identificato il banco orizzontale e magari appoggiato correttamente sopra di esso un elettrodomestico virtuale.
Alla tecnologia SLAM si accompagna, nei dispositivi oggi più evoluti, un sistema di rilevazione della profondità ovvero si dispone di una misura di quanto determinate parti della scena distano dall’osservatore. Questa informazione permette al software di attuare un più preciso posizionamento degli oggetti virtuali e una più fluida movimentazione degli stessi, ma consente anche di scoprire occlusioni altrimenti non evidenti (cioè situazioni in cui un oggetto si trova dietro un altro e da questo è parzialmente coperto nella vista attuale della scena).
Oggi il metodo più sofisticato per misurare distanze è il LIDAR, che sta per Laser Imaging, Detection, And Ranging, che sfrutta il così detto “tempo di volo” della luce. È lo stesso odiato sistema che abita negli autovelox ma oggi anche negli Smartphone più evoluti, in quest’ultimo caso proprio per applicazioni AR. In pratica un laser invia un impulso di luce e misura quanto tempo impiega ad essere riflesso dal corpo bersaglio e a tornare al punto di partenza. La misura di questo tempo fornisce facilmente quella della distanza dell’oggetto (vedi Nota a fine testo).
Infine, ciliegina sulla torta, semplici sensori di luminosità quali fotodiodi (gli stessi che nel televisore ricevono la luce emessa dal telecomando) aggiungono al già corposo insieme di dati un’informazione sulla luminosità della scena e sulla presenza di ombre. Questo permette a software evoluti di dare luminosità e ombreggiatura agli oggetti virtuali conforme a quella dell’ambiente a cui vengono sovrapposti, ottenendo in definitiva un’integrazione fra parti vere e virtuali davvero realistica.
Concludiamo dicendo che le applicazioni serie dell’AR, al di là dei video giochi, sono quelle che permettono di progettare o di interagire. Progettare perché si può prevedere in modo molto realistico come un nuovo oggetto apparirebbe se posizionato nell’ambiente visualizzato. Lo si può osservare da varie angolazioni ed avere un feedback preciso sulle eventuali incongruenze non previste con un disegno 2D al computer. Interagire perché l’AR non si ferma al posizionamento dei corpi virtuali sulla scena, ma grazie ai dispositivi di input le azioni dell’utente vengono trasferite sui corrispondenti corpi reali, come ad esempio strumenti da lavoro o robot.
Personalmente partecipai allo studio di fattibilità di un progetto molto futuristico e mai andato in porto per mancanza di fondi con l’Università di Bologna, facoltà di Medicina e di Ingegneria, per realizzare un sistema di AR grazie al quale le immagini diagnostiche di un paziente sarebbero state sovrapposte a quelle della parte del corpo da operare chirurgicamente, proprio in fase operatoria. I confini dei tessuti da asportare, la profondità degli organi e delle parti di interesse sarebbero state precise e di enorme aiuto al chirurgo.
Nelle fasi preparatorie del progetto emerse la difficoltà principale di un’applicazione del genere: i tessuti quando sottoposti a diagnosi, ad esempio ad una Risonanza Magnetica Nucleare, sono disposti in modo naturale, mentre durante l’operazione chirurgica dopo il taglio con il bisturi si allargano e si tendono, con forti deformazioni. Sarebbe quindi necessario dotare il sistema di un algoritmo capace di deformare i dati diagnostici nell’identico modo dei tessuti reali. Ciò implica l’uso di sensori e l’ingresso sulla scena di pesanti computazioni e di una Matematica di alto livello, comunque nulla che spaventi gli scienziati, ma che non trovò i finanziamenti necessari.
Marco Sartore
Nota (vedi testo): è simpatico notare che la tecnologia LIDAR funziona fin tanto che opera su oggetti “terreni”, laser emittente compreso, in quiete o che si muovono a “bassa” velocità. Se si tentasse di applicare questa tecnica per individuare la distanza di oggetti che si muovono a velocità vicine a quella della luce, o se il laser emittente si muovesse a tali velocità, si dovrebbero invece fare i conti con le conseguenze della Teoria della Relatività legate alla dilatazione del tempo.