L' Interaction design e la Computer vision

Page 1

L’Interaction Design e la Computer Vision Dispensa del corso di Scenografia Multimediale- Accademia di Belle Arti di Macerata

per i trienni di Light Design, Scenografia e Teoria e tecnica della comunicazione visiva multimediale Docente: Erika Fornari


Le Interfacce. Dalla CLI alla NUI

Lev Manovich definisce Interfaccia Culturale ciò che si frappone tra l’uomo e la rappresentazione digitale/computer come mezzo di interazione. La GUI, Graphic User Interface è l’interfaccia grafica di qualunque programma, applicazione e sistema operativo attraverso cui interagiamo col computer e consiste in elementi grafici interattivi inseriti in una struttura che ne renda riconoscibile la funzionalità. Le GUI, infatti, rispondono a standard convenzionali che le accomunano: barra di navigazione, menù degli strumenti, canvas di visualizzazione ecc. L’Interfaccia grafica ha da sempre la tendenza a riprodurre la realtà attraverso l’uso di simboli riconoscibili che richiamano oggetti e abitudini condivise e questo in funzione di una usabilità sempre più allargata del computer come bene di consumo di massa; a questo proposito si pensi alle varie gallerie multimediali in cui si visualizzano file musicali sotto forma di dischi 33 giri o ai cataloghi e libri digitali che si sfogliano unitamente alla rappresentazione grafica e sonora della pagina che si gira. Si può dire che l’evoluzione dell’Interfaccia culturale abbia compiuto un balzo in avanti decisamente veloce rispetto alla non vecchissima, poiché in uso fino agli anni ’80, visualizzazione a riga di comando CLI, in cui l’utente era in primis un conoscitore studioso di programmazione, e quindi appartenente ad una nicchia di utenti, ed aveva una interazione prettamente testuale con il computer che si esauriva nell’impartire input di istruzioni attraverso una tastiera per riceverne risposte testuali in output. L’evoluzione dell’Interfaccia, dunque, spinge nettamente all’eliminazione di barriere “culturali” per mezzo di una semplificazione che vada sempre più incontro al famoso concetto di intuitive UI nato con la commercializzazione su larga scala dei primi Apple. Se la grafica con i suoi rimandi simbolici ha permesso un più facile apprendimento dell’uso del computer ha comunque dovuto fare 1


riferimento all’ hardware indispensabile all’interazione ossia a tutti quei dispositivi di controllo che corrispondono alla TUI (tangible user interface) come il mouse, la tastiera, il joystick che presuppongono una conoscenza da parte degli utilizzatori. La fase evolutiva in atto, sempre sulla scorta di una usabilità allargata, è un’interfaccia che tenda ad eliminare definitivamente ogni sistema di controllo hardware per lasciare spazio ad un’interazione il più possibile naturale e diretta, oltre che intuitiva, che sfrutti, alla stregua di un puntatore, la voce, il tatto e il gesto. La NUI, Natural User Interface è un nuovo modo di intendere l’interazione e le sue modalità sono in continua sperimentazione e implementazione

La Computer Vision COMPUTER VISION è una disciplina che studia i sistemi di visione artificiale e utilizza componenti ottiche e di calcolo che permettono di acquisire, registrare ed elaborare immagini sia nello spettro della luce visibile che al di fuori di essa: infrarosso, ultravioletto, raggi X, al fine del riconoscimento di determinate caratteristiche dell'immagine da asservire a varie finalità di controllo, classificazione, selezione, ecc. Le tecniche ottiche, sfruttate in interaction design, possono rispondere a quelle esigenze di interfacciamento naturale tra l’uomo e la macchina rientrando nel campo sì dell’interazione per mezzo di sensori poiché sfrutta l’impressione del sensore di una periferica di acquisizione ma, nello specifico, di quei sensori che non necessitano di un contatto fisico con l’uomo e che quindi si possono allontanare dalla definizione classica di controller. Scelte di ipermediazione Un esempio che possa aiutarci a comprendere la differenza tra mediazioni basate su interfacce naturali e controller tangibili (Tangible UI) o indossabili (Weareble UI) lo troviamo nell’esperienza de I Racconti del Mandala, una piéce teatrale in cui viene utilizzato un sistema di sensori montati su un interfaccia indossabile o esoscheletro per l’interazione dell’attore con i contenuti multimediali. Lo potete vedere qui https://www.youtube.com/watch?v=KAl4GYUK4lA

2


I movimenti dell’attrice diventano puntatori capaci di modificare in tempo reale i contenuti video grazie all’interpretazione di sensori di movimento o, meglio, di un array di sensori montati sull’esoscheletro, che inviano, via radio, i dati al software. L’approccio appena descritto assorbe, ovviamente, una disciplina come l’elettronica che in tale contesto si traduce, tra gli altri, in un linguaggio importante tanto da arrivare a sorregge l’intera scrittura scenica poiché asse portante del progetto interattivo che coinvolge e determina gli avvenimenti. Analizzando lo spettacolo nella sua interezza, infatti, il lavoro congiunto di gesto e voce scaturisce negli effetti sonori e nelle proiezioni che vanno a calarsi sulla scena come ambienti di ogni step narrativo. L’azione dell’attore, quindi, diventa sorgente della scenografia, così come in tutte quelle espressioni dell’arte scenica interattiva, e per farlo si serve della mediazione di un sistema di controllo che diventi protagonista ovvero corpo unico con la performer. L’ipermediazione sta nella scelta di una interfaccia che calchi quella mediazione e la renda palese nella sua essenza di nodo fondamentale capace di instaurare il legame tra azione e ambiente nella percezione dello spettatore. Scelte di immediatezza La NUI, al contrario, invocando la naturalezza della mediazione e tentando di delegare il controllo di essa alle potenzialità del realismo di gesto e voce in sé, annulla di fatto lo strumento fino a declassarlo, nei casi in cui la visione artificiale possa perfettamente sostituirglisi, a orpello, ad artificio prettamente decorativo, laddove privo di significato poetico. Un esempio di scenografia multimediale basata sull’interazione naturale è Apparition di Klaus Obermaier & Ars Electronica Futurelab che potete trovare a questo link https://www.youtube.com/watch?v=-wVq41Bi2yE ma vi consiglio di vedere i vari contributi sulle esperienze di Obermaier 3


Con questo esempio di teatro danza interattivo entriamo nel mondo della NUI che sfrutta le tecniche ottiche che stiamo per affrontare più in dettaglio. Ciò che balza agli occhi nella mediazione è, infatti, la completa assenza di controller in scena e di conseguenza una più stretta connessione tra corpo e contenuto che va a riflettersi nella percezione di chi guarda come una relazione fluida, diretta, per l’appunto: immediata.

Le tecniche ottiche Come anticipato nella breve introduzione alla computer vision, essa sfrutta tecniche di visione artificiale per ottenere dati dalla realtà al fine di asservirli a funzioni di controllo. La visione artificiale non è altro che la capacità di un sensore ottico di venire impressionato dalle frequenze luminose; quindi parliamo dei sensori delle comuni fotocamere e telecamere digitali, webcam ecc. Le immagini ottenute possono essere sottoposte ad algoritmi che ne individuino e classifichino le caratteristiche come, per fare alcuni esempi, le parti più luminose o meno luminose, o un range di valori rgb.

Il Frame Differencing per la Motion Detection Per fare un esempio, entriamo virtualmente in photoshop dove la funzione di frame differencing, nelle modalità di blending, non fa altro che evidenziare la differenza tra due immagini sovrapposte. Sovrapponendo due immagini identiche (ma sarebbe meglio dire due immagini della stessa scena), esso produrrà un’ immagine nera e solo nel momento in cui si verificasse una variazione otterremmo un disturbo. Tale disturbo è un dato che può essere utilizzato per determinare le coordinate della scena in cui vi è stato un movimento. 4


La Blob Detection

Il Blob è l’area di una immagine in cui i pixel condividono delle proprietà o variano di costanti all’interno di un range prestabilito rispetto alle costanti che le circondano. In Computer Vision questa possibilità è usata per il riconoscimento di oggetti e la loro tracciatura di movimento. La blob detection è una tecnica di elaborazione delle immagini che include tutti quegli algoritmi che ci permettono di trarre delle informazioni contenute nei pixel, di circoscriverle in aree definite e quindi tracciarle all’interno della scena.

Esempio di individuazione delle aree meno luminose di una immagine

Il Blob Tracking La fase di tracciatura avviene quando, una volta individuate le aree all’interno dell’immagine, si procede all’operazione di differenziazione tra essa e l’immagine successiva, o tecnicamente, parlando di video, sarebbe più veritiero considerarla una interpolazione di movimento ottenuta dal calcolo della differenza tra la posizione del blob in un frame rispetto a quella nel frame precedente. Questi i passaggi: Primo frame in ingresso rilevamento delle aree che ci interessano  calcolo delle coordinate dei blob all’interno del frame/scena Secondo frame in ingresso rilevamento delle aree che ci interessanocalcolo delle coordinate dei blobaggiornamento delle coordinate output di puntamento sulle curve ottenute (o interpolazione)

5


Esempio di blob tracking per il multitouch, le parti più chiare dell’immagine, ossia i polpastrelli, sono le aree/blob che vengono tracciate.

Esempio di tracciatura dei valori rgb dell’immagine o Color tracking. Logica : trova e differenzia le aree secondo determinati valori rgb e, quando c’è il movimento di questi elementi, traccia la relativa curva con lo stesso valore rgb del blob e disegnala con una linea di tot pixel

6


Le caratteristiche dell’immagine, che non abbiano a che fare con il colore ma solo con la luminanza possono essere ottimizzate già in fase di acquisizione per agevolare i passaggi successivi di elaborazione e output. Una tecnica che aiuta ad ottimizzare l’acquisizione è quella che lavora su frequenze diverse dalla luce visibile all’occhio umano, in primis la frequenza infrarossa. A tal fine sarà necessaria l’introduzione di un illuminatore infrarosso che aiuterà ad illuminare la scena affinché essa sia visibile ad un sensore in grado di leggere lo stesso spettro e ciò è possibile grazie alla rimozione dei filtri infrarossi posti davanti al sensore e all’aggiunta, in loro luogo, di filtri che operino all’occlusione delle frequenze visibili. In altre parole, utilizzando illuminatori infrarossi, la camera utilizzata dovrà, necessariamente, sia avere la caratteristica di poter essere impressionata da tale frequenza luminosa, sia utilizzare dei filtri che non lascino passare tutte le altre frequenze. L’ ottimizzazione con infrarossi permette di ottenere immagini da elaborare in cui le parti luminose (o meno luminose) siano il più possibile univoche senza il pericolo che la luce di scena, le ombre, le proiezioni o il buio inficino tale risultato poiché il rilevamento, la tracciatura e il puntamento avvengono all’interno di uno spettro diverso.

Nell’esempio sopra una immagine così come vista dalla camera IR di una scena illuminata con luce IR e in cui i ballerini indossano materiali in grado di rifletterla col fine di ottimizzare maggiormente l’immagine.

Il Puntamento Lo abbiamo nominato più volte e finalmente lo possiamo definire in questo tentativo di ricostruzione passo passo dell’interazione uomo-rappresentazione. Una maniera molto semplice per capire cosa sia è pensare al cursore che si muove sullo schermo del computer sottoforma di freccetta seguendo fedelmente i movimenti del nostro mouse o delle nostre dita sul touchpad. Su uno schermo sensibile al tocco, lo smartphone, ad esempio, questa rappresentazione grafica scompare: l’azione diretta delle nostre dita sui 7


contenuti la sostituisce. Ciò che ci interessa, tornando al tracking, è fare in maniera che i blob diventino puntatori e agiscano su un contenuto. I Tracker Il Tracker è un software che ci permette di interpretare i blob come puntatori. Questi programmi nascono principalmente per la creazione di superfici multitocco che utilizzano le tecniche ottiche, il più interessante è ReacTVision che utilizza un setup per l’illuminazione della superficie di tipo RDI (Rear diffuse illumination) ossia una retroilluminazione IR omogenea

RDI-i blob visti dalla camera IR

Questa tecnica per il multi-touch ci spiega bene come sia, in realtà, la visione artificiale a fare tutto il lavoro e non la superficie di tocco in sé perciò se ne evince come si possa facilmente passare dal considerarlo un setup prettamente multi-touch a un più generale sistema multi-pointing “aereo”.

8


Ed ecco un tracker ottimizzato per la tracciatura di blob che ci sposta nell’ambito del bodytracking. Quello nella precedente figura è TSPS acronimo di Toolkit for Sensing People in Spaces. Per chi volesse sperimentare può visitare il sito http://www.tsps.cc/ Siete invitati a guardare il contributo di Glow della compagnia australiana Chunky Move in cui il direttore artistico Gideon Obarzanek illustra il setup interattivo basato su rilevamento IR

Glow- Chunky Move – website: http://chunkymove.com.au

I contenuti interattivi: Il Creative Coding I metodi per la creazione delle rappresentazioni grafiche interattive si riferiscono a strumenti strettamente legati alla programmazione e in particolare a quegli ambienti di sviluppo dedicati all’espressione creativa. Se da una parte abbiamo software basati su algoritmi precostituiti che ci permettono di ottenere file finalizzati come audio, video e immagine dall’altra troviamo strumenti che permettono di costruire algoritmi personalizzati e quindi vere e proprie applicazioni: contenuti con cui possiamo interagire. Tali strumenti rientrano tra i cosiddetti Computing Based. Sono quegli strumenti basati sull’IDE, integrated development environment, e quindi sulla pura programmazione che permette la scrittura progressiva delle istruzioni al fine di creare algoritmi attraverso la definizione di variabili, strutture di dati, funzioni e strutture di controllo. Ci riferiamo 9


qui a linguaggi di programmazione così detta High Level che si differenziano dai linguaggi Low Level per essere più accessibili grazie ad una semantica funzionale alla creazione di applicazioni senza doversi riferire all’architettura stessa del computer. Alcuni linguaggi di programmazione High Level sono: Java, C++, Phyton, Visual Basic. Essi, quando legati ad ambienti di sviluppo dedicati al Creative Coding diventano un mezzo di computing orientato all’espressione creativa e non prettamente funzionale e di gestione. Gli ambienti descritti di seguito utilizzano i linguaggi di programmazione, sfruttando il loro aspetto creativo, come mezzo artistico in svariati campi: visual art, sound design, data visualization, interaction design: Processing/Java, OpenFramework/ C++, OpenCV/C++ , Flex e Flash Develop/ActionScript 3 e altri

https://www.youtube.com/watch?v=eBV14-3LT-g

Strumenti simili sono i Data Flow, ossia ambienti di sviluppo che al contrario di quelli sopra descritti non utilizzano la scrittura (CLI) ma la programmazione visuale come Max/ Msp/ Jitter, PureData, VVVV, TouchDesigner. Le funzioni di cui si compongono le applicazioni, in questo caso, vengono visualizzate attraverso delle black box che comunicano tra loro per mezzo di nodi in input e output e di cui conosciamo le elaborazioni che sono in grado di eseguire senza dover conoscere la loro composizione interna.

Esempio di applicazione con Max Msp

10


Kinect Il nome di Alex Kipman, software engineer di Microsoft, è destinato a rimanere scolpito nella storia delle interfacce naturali. Un dispositivo nato da uno studio integrato sulla Computer Vision che vede in Kipman il direttore dell’intero progetto ( inizialmente chiamato Project Natal) e che mette insieme la 3DV (azienda specializzata nel riconoscimento di movimento con la visione artificiale successivamente acquisita da Microsoft) e PrimeSense (3d sensing company acquisita da Apple nel 2013). Kinect nasce come periferica per Xbox360 ed entra sul mercato americano nel 2010 con l’intenzione di elevare il gaming ad esperienza completamente naturale attraverso il riconoscimento degli utenti in relazione all’ambiente di gioco.

Kinect si compone, come visibile in figura, di: un proiettore infrarossi (IR Light source) una telecamera sensibile alla frequenza IR (IR Sensor) una telecamera RGB 4 microfoni (3 sul lato destro e 1 sul sinistro) Un accelerometro di misurazione Un servo motore per l’orientamento della telecamera

Le funzioni di Kinect RGBImage: restituisce l’immagine RGB ripresa come da una qualsiasi webcam DephtImage: camera di profondità, è la lettura dello spazio sull’asse z della scena ed è reso dal lavoro congiunto del proiettore infrarossi e della camera IR. Il Proiettore provvede ad emettere i raggi infrarossi in grado di mappare l’ambiente andando a scontrarsi con gli oggetti presenti e la camera ne restituisce il risultato in immagine. 11


Qui di seguito un esempio di visualizzazione poin cloud 3d con rotazione x della visuale della camera IR: L’utente viene, in realtà, ripreso frontalmente ma Kinect è in grado di ricostruire la scena proprio come se gli stesse ruotando intorno.

Skeleton Detection/ Tracking Kinect è in grado di riconoscere la figura umana e di tradurla come un insieme di joints per cui può distinguere le varie parti del corpo. La figura sotto mostra la mappatura dello scheletro con i 20 snodi che kinect riconosce. 12


Di seguito, un esempio di Skeleton Tracking

Speech Recognition La differenza tra un microfono ed un array di microfoni sta nel fatto che il primo rappresenti un unico punto su cui converge il suono all’interno di un ambiente mentre Il blocco dei 4 microfoni lo possa far convergere 13


in maniera direzionata. I quattro segnali combinati in un unico segnale in ingresso possono definire la provenienza univoca di un suono determinato e di conseguenza isolarlo dai suoni provenienti da altre direzioni minimizzandoli. La speech recognition è la funzione di kinect che permette agli utenti di far eseguire al software dei comandi vocali. Kinect SDK può essere configurato con gli add-ins delle lingue supportate.

Tilt Motor Il servo motore può essere programmato per seguire i movimenti dell’utente sull’asse verticale.

Accelerometer L’accelerometro è responsabile di incamerare dati circa la posizione di kinect nell’ambiente strutturati sulle coordinate dello spazio proiettivo. Un esempio dell’utilità di tale strumento può essere la scansione 3d di un oggetto nell’ambiente per ottenerne il modello. Scansione 3d Esempio di scansione con kinect in movimento in questo video .

Vediamo come vengono sfruttate tutte queste componenti congiuntamente alle funzioni di kinect e al supporto di queste ultime da parte di alcune librerie ambienti informatici. Dalla sua uscita infatti si è aperta la corsa al così detto reverse engineer col fine di controllare la periferica da pc. L’ambiente e i driver che supportano tutti i sensori di Kinect è ovviamente quello offerto da Microsoft con Kinect for Windows SDK per i linguaggi C++, Visual Basic e C#. I Driver vennero scritti da PrimeSense e vennero rilasciati come software libero sotto il nome di OpenNI (Open Natural Interface) intorno a cui si costituì una comunità di sviluppatori che implementò un ambiente per l’interoperabilità di kinect e per il suo controllo, in particolare il motion tracking (NITE è il nome del componente in questione).

14


Le API di OpenNi + NITE supportano le funzioni seguenti: riconoscimento e comando vocale, body traking, hand gestures . Il Tilt Motor non è supportato e inoltre c’è da considerare che le API (Application programming Interface), in base agli ambienti di destinazione, possono non supportare tutte le funzioni (soprattutto il vocale) e/o avere poca se non assente precisione sulla hand recognition.

Video da vedere Forms di Memo Akten https://www.youtube.com/watch?v=Xe-C_rv3_p0 vi consiglio di visitare il sito di Memo Akten http://www.memo.tv/ . Anche se usciamo dal seminato perché si tratta di videomapping immersivo con camera tracking, guardate anche i lavori che ha fatto per Sony PS http://www.greatfilmsfillrooms.com/en/ (in basso trovate i tre video + making of) Teatro: Le Sacre du Printemps – Klaus Obermaier & Ars Electronica Futurelab https://www.youtube.com/watch?v=DhPtrpSIHXU Video: L’Anima Vola- Elisa- https://www.youtube.com/watch?v=MqhxIQD16EA Installazione: http://claudiapaz.com/wp/portfolio/interactive-aquarium-2013/ Scenografia urbana : Smart Traffic Light Lisbona https://www.youtube.com/watch?v=SB_0vRnkeOk Making of https://www.youtube.com/watch?v=O4ZrOn8y-XE Affinity- Claudia Paz : http://claudiapaz.com/wp/portfolio/affinity-2014/ (esempio di scenografia urbana/light design architetturale interattivo che usa sia il body tracking per una interazione aerea con i passanti che un sistema multitouch che si chiama Sensacell https://www.youtube.com/watch?v=XP2ipZju7c8 )

15


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.