• Non ci sono risultati.

4.5.1 Descrizione progetto

Questa parte del mio lavoro, prosegue il lavoro che ho condotto durante la mia formazione di Laurea Magistrale presso l’Università degli Studi di Milano Bicocca nella quale sviluppai un applicativo che utilizzando tecnologie basate su Natural User Interface si poneva come obiettivo quello di rendere le persone abili allo sfoglio di ricette in maniera digitale, interattiva e touchless.

Una volta iniziato il percorso di dottorato, si è voluto quindi studiare un po’ in maniera approfondita e dettagliata come era lo stato dell’arte riguardo l’abilitazione di questo tipo di interfaccia su dispositivi mobile di comune utilizzo e a portata di mano come smartphone e tablet. Il fine di questa sezione dell’elaborato era quello di realizzare un survey delle tecnologie e modalità abilitanti di questo tipo di interazioni e funzionalità.

L’intero studio descritto in questa sezione è stato condotto in maniera individuale, proseguendo gli studi realizzati nel progetto di Laurea Magistrale con ricerche e demo di diverse soluzioni tecnologiche.

4.5.2 Analisi CUTE

Social Context Content Involved Display

Home X Learning and training X visual X

Work X Psycho- and physiotherapy aural

Public Virtual journeys and tour haptic

Education Interactive simulation olfactory

Health Gaming taste

vestibular

Environment Fruition

Only real (totalmente fisico) X One alone X Tracking

Combined ma overlay One + audience body parts X

Combinato ed interagente Multi objects

Only virtual (totalmente digitale) Multi + audience

Audience only Outcomes

People relation Learning effectiveness

none X People disabilities Learning engagement

subordinate cognitive Learning attitude

equal physical Task performance X

Reduced disease symptoms Intention to use

Context

L’analisi di questo progetto ha evidenziato come il contesto d’uso possa essere riconducibile ad ambienti sia work che home, in quanto sistemi del genere possono aiutare lo sviluppo di attività in entrambi i domini.

Lo sviluppo di questa sezione non è caratterizzato da vincoli di alcun tipo in quanto riguarda l’implementazione di soluzioni che possano abilitare utilizzi diversi. Nello specifico del caso d’uso analizzato, ci troviamo in un contesto domestico con utilizzi legati al dover seguire procedure specifiche in spazi ridotti come quelli di una cucina o vincolati dalla scelta tecnologica da usare tra quelle proposte.

Users

La classificazione degli utenti non fa emergere nessun vincolo particolare in termini di età, genere ma preclude l’uso a persone che possano essere affette da problemi di mobilità agli arti superiori in quanto per l’esecuzione delle attività si richiede l’utilizzo di mani e dita per impartire comandi al sistema.

L’obiettivo che l’utente intende perseguire è il completamento di task specifici in cui queste soluzioni vengono implementate, mentre le attività sono in stretta relazione con lo scopo da raggiungere e può essere fatto attraverso manipolazione naturale dei contenuti.

Technology

Le tecnologie utilizzate in questa parte del lavoro sono molteplici trattandosi di un survey, dove si intende fare un confronto tra le diverse modalità in grado di abilitare l’uso di Natural User Interface su dispositivi mobile.

Per poter effettuare questo confronto si è ricorso a diverse modalità ed utilizzi: sensori basati su tecnologie infrarosse come quelli utilizzato dal dispositivo Leap Motion; dispositivi da integrare esternamente al dispositivo mobile dove è presente l’interfaccia; infine delle soluzioni basate su algoritmi di computer visione per un uso embedded.

Expertise

Il corretto sviluppo del progetto richiedeva competenze diverse legate alla tipologia di implementazione da sviluppare e quindi molto trasversali tra loro.

Da un lato c’è il fatto di gestire progetti modulari in Node.js, la comunicazione socket e lo sviluppo web per la parte di visualizzazione di interfacce e informazioni, cosi come invece sviluppare algoritmi di computer visione da utilizzare in modalità embedded sui dispositivi

mobile.

Il livello delle competenze, delle conoscenze e delle esperienze in mio possesso hanno permesso di condurre il lavoro in maniera solitaria e indipendente da altre risorse.

4.5.3 Sviluppi e risultati

L’applicazione che è stata progettata e sviluppata voleva inserirsi come utile strumento per la consultazione e lo sfoglio di ricette culinarie, con l’obiettivo di risolvere problematiche legate all’esecuzione di azioni necessarie durante questo tipo di operazioni.

Nelle fasi di preparazione infatti la persona si trova nella situazione di dover utilizzare le proprie mani per consultare libri o strumenti digitali (es. tablet) contenenti le indicazioni e al contempo usarle per impugnare utensili, materiali e prodotti di diversa natura e sostanza. Da queste considerazioni erano emerse quelle che sono le problematiche maggiori legate alle dinamiche che si verificano all’interno di questo scenario e che vogliono essere risolte:

● pulizia, avendo contatto diretto con materie di diversa consistenza è molto possibile che le mani con cui si lavora possano essere bagnate o sporche con la conseguenza di poter macchiare i libri o i dispositivi digitali che si sta consultando;

● ergonomia, l’operazione di sfoglio e quindi l’avanzamento nelle fasi necessarie richiede continuamente alla persona di interrompere operazioni in cui sono impegnate.

L’obiettivo che quindi ci si poneva era quello di risolvere queste problematiche, sviluppando un’applicazione che fosse caratterizzata da un’interazione di tipo touchless e incentrata sull’utente, in modo da rendere più agevole l’esecuzione dei suoi atti.

In seguito allo sviluppo, focalizzato su questo tipo di utilizzo si è pensato di approfondire lo stato dell’arte che interessava l’abilitazione di interazioni touchless attraverso interfacce utenti naturali fruibili da dispositivi mobile comunemente in uso come smartphone e tablet. Il lavoro si è concentrato su soluzioni basate sul controllo impartito con l’uso della mani perché si voleva esplorare la fattibilità di sistemi in grado di controllare e manipolare i contenuti utilizzando gesture semplici e di base, senza l’uso di particolari vincoli. La motivazione di voler dare una risposta più completa e libera circa lo stato dell’arte in questione, hanno determinato l’identificazione di tre approcci differenti più lo sviluppo di un approccio ulteriore e utili ad abilitare questo tipo di interazioni a livello generale.

I tre approcci identificati si riferiscono all’utilizzo di algoritmi di computer vision, l’uso di depth sensor camera o dispositivi wearable in grado di comunicare con il dispositivo.

L’approccio legato alla computer vision deriva da molti esperimenti passati che hanno consentito la creazione di interazioni con i computer attraverso un ampio uso di algoritmi basati sui principi dell'elaborazione di immagini. In passato, la computer vision era

nuovo modo di creare applicazioni anche per il marketing e l'intrattenimento (Gavrila, 1999; Rautaray & Agrawal, 2015).

In effetti, l'uso di framework appartenenti alla computer vision rende possibile la creazione di applicazioni che usando la forma e i colori degli oggetti consente diversi tipi di interazioni con computer.

Grazie all'attuale potenza di calcolo disponibile sul mercato implementare approcci di computer vision che abilitino NUI non richiede requisiti specifici, me necessita solo di una fotocamera in grado di catturare immagini infrarossi o RGB e una periferica in grado di elaborare i frame provenienti dall'input.

Il motivo che ha portato ad analizzare tale approccio riguarda la possibilità di poter trarre vantaggio dalla presenza della fotocamera comunemente presente sui dispositivi mobile. In questo modo è sempre possibile implementare algoritmi di computer vision utili a consentire l'interazione touchless su questo tipo di piattaforme (Lv et al., 2013).

Il secondo approccio considera soluzioni che consentono l'uso di interazioni touchless basate su una tecnologia che è il cuore di dispositivi come Microsoft Kinect o il LeapMotion. Questi dispositivi infatti utilizzano una combinazione di sensori a infrarossi e di profondità che consentono il tracciamento dei movimenti di individui, mani, dita e oggetti in tre dimensioni. Per utilizzare le loro caratteristiche, è necessario che ogni dispositivo sia collegato tramite USB ad un computer che soddisfi requisiti hardware specifici, e questo è semplice sui PC ma non replicabile direttamente con gli attuali smartphone e tablet.

Per questo motivo, è facile intuire che questi dispositivi non sono utilizzabili direttamente per questo scopo.

Durante la ricerca focalizzata sull’identificazione di un'alternativa disponibile sul mercato e valida per abilitare touchless interaction su dispositivi mobile è emerso come la tecnologia Intel RealSense sembrava poter costituire l'unica alternativa esistente per il futuro.

Tale tecnologia consiste in una piattaforma che consente tra le altre cose l'implementazione dell'interazione basata sui gesture attraverso una fotocamera 3D integrata nei dispositivi. A differenza di Leap Motion o Kinect, con la tecnologia Intel RealSense il dispositivo che elabora e processa i dati è lo stesso che li acquisisce, non richiedendo un'implementazione particolare per gestire eventi e comunicazioni.

Tuttavia, al momento della ricerca (2016) questa tecnologia non era ancora così diffusa da considerarla come un'opportunità standard o reale per l’idea alla base dell’utilizzo.

prima di essere integrata e comunemente utilizzata su dispositivi mobile come testimoniato da sperimentazioni dirette di Intel20.

Un terzo possibile approccio considerato per consentire interazioni touchless si basa sull’utilizzo di dispositivi indossabili, includendo soluzioni basati su device come i data- gloves. Sebbene questo approccio abbia molti vantaggi, il fatto di indossare qualcosa pone un vincolo importante che può ostacolare la corretta esecuzione del compito nella vita quotidiana e inoltre è una soluzione che potrebbe essere costosa da implementare. Per questi motivi e per le considerazioni fatti nell’introduzione delle soluzioni, questo

approccio non è stato considerato una buona alternativa per una semplice interazione con i dispositivi mobili.

Da queste considerazioni sono seguite quindi sperimentazioni legate all’approfondimento di possibilità e limiti offerti dall’approccio della computer vision, che restava l’approccio più facilmente implementabile per questi scopi.

Lavorare secondo questo approccio ha significato l’implementazione di un algoritmo che potesse essere utilizzato in applicazioni native e replicato senza problemi sui principali sistemi operativi, cioè iOS e Android.

A tale scopo, dopo alcune ricerche per l’identificazione di framework idonei allo sviluppo, OPENCV è stato considerato come la soluzione ideale per via del fatto che era disponibile una versione di SDK per entrambe le piattaforme e anche per il fatto che è possibile reperire online molte documentazioni a cui si aggiunge un forum con una grande comunità di

sviluppatori. Questo significava una maggiore facilità nel trovare le migliori pratiche, feedback e suggerimenti qualora venisse fuori un problema da risolvere.

La soluzione sviluppata è risultata essere un algoritmo attivabile dall’interfaccia (Fig. 110) che usando la tecnica del “Skin Color Detection” operava nel seguente modo:

1. frame input dalla fotocamera (f); 2. estrazione di valori RGB di fnpixels; 3. confronto tra i valori di fnand fn-1;

4. determinazione della quantità di pixel modificata;

5. analisi dei pixel modificati per capire se possono innescare un gesto; 6. determinazione della direzione del gesto (su, giù, sinistra, destra); 7. trasferimento delle informazioni alla logica principale.

20 Intel® RealSense™ Depth Cameras for Mobile Phones -

https://www.intel.com/content/www/us/en/support/articles/000026983/emerging-technologies/intel- realsense-technology.html, ultimo accesso dicembre 2019

Il risultato che si è ottenuto da questo tipo di approccio è il riconoscimento del gesto di scorrimento in quattro direzioni base ( su, giù, sinistra, destra) e che può essere utilizzato in applicazioni dove viene richiesto di operare senza il contatto diretto della mani sul

dispositivo.

Lo sviluppo dell’algoritmo precedentemente descritto, sebbene abbia alcuni benefici legati alla sua rapida implementazione e possa essere considerato un punto di partenza per questo tipo di utilizzi, può presentare anche limiti in termini di prestazioni e qualità. Gli algoritmi che elaborano i frame infatti si basano direttamente sulla qualità del video catturato dalla

telecamera del dispositivo, costituendo una variabile importante per la precisione del rilevamento di ogni gesto.

In particolare, le prestazioni dell'algoritmo sono legate al fatto che le operazioni logiche possono consumare molte risorse per analizzare il flusso se non sono ben implementate, con la possibilità di causare un arresto anomalo dell'applicazione sul dispositivo.

Il problema di qualità è emerso perché il rilevamento della modifica del pixel può essere influenzato da fattori esterni come la luce e il colore dell'ambiente.

Questi limiti ci hanno portato a cercare e identificare una possibile alternativa che potesse consentire l'interazione senza contatto e senza essere influenzata da fattori simili.

La volontà quindi di approfondire le reali alternative per un utilizzo semplice, poco invasivo a low-cost ci ha portato all’identificazione di un approccio che combinasse l’uso di sensori esterni e l’utilizzo di una tecnologia come l’IoT.

Questo ultimo approccio ha visto lo sviluppo di un dispositivo (Fig. 111) basato sulla

combinazione di hardware e software che consente il rilevamento di eventi gestuali e la loro trasmissione a smartphone e tablet utilizzando il paradigma dell’Internet of Things.

Fig. 110 Algoritmo gesture detection

Il dispositivo era composto dai seguenti componenti HW e SW: ● Raspberry Pi 2 Model B, mini-computer;

● Hover,21 sensore per il riconoscimento gesture;

● RGB led, per dare feedback riguardo agli eventi;

● USB Wireless N 802.11N Nano Dongle (Wi-Fi Adapter), per la comunicazione; ● Box stampato in 3D, per il contenimento;

● Node.js, server per la gestione del device, dei dati e degli eventi; ● Socket.io, per la comunicazione dati ed eventi;

● Modulo node.js per Hover, realizzato per leggere le gesture

● hostapd e dnsmasq, moduli linux per la creazione di network wireless

Tale dispositivo, data la situazione in cui viene inserito per essere usato e per via della sua natura esterna al dispositivo di lettura e fruizione dei contenuti interessati, è stato progettato in maniera da rispondere a queste specifiche:

● comunicazione wireless, utile per comunicare eventi al tablet o pc; ● poco ingombrante, per essere meno invasivo possibile;

● robusto, che possa reggere urti accidentali ed essere stabile e compatto; ● plug & play, senza bisogno di interventi professionali per il suo utilizzo; Tutte le argomentazioni sopra descritte hanno permesso la creazione un device intermediario tra l'utente e l'applicazione finale, consentendo l'interazione touchless e costituendo una valida alternativa alle soluzioni integrate che utilizzano la camera del dispositivo e all’interno di un box standalone (Fig. 112).

Fig. 112 Progettazione case

Questo sviluppo offre la possibilità di avere interazioni touchless in situazioni in cui gli utenti devono utilizzare le loro mani per azioni che ostacolano l'interazione diretta con smartphone e tablet. La natura autonoma di questo tipo di dispositivo lo rende collocabile all'interno di ambienti diversi, agendo come una sorta di controllo remoto per situazioni in cui l'utente e il contenuto non sono vicini.

Lo sviluppo di questo ultimo approccio ha portato quindi alla creazione di un survey pubblicato in cui vengono descritte le possibilità di abilitare interazioni touchless secondo due principi base di costo ed ergonomia (Marcutti & Vercelli, 2016).

Il primo principio è legato all'idea che l'interazione touchless non debba imporre alcun costo aggiuntivo all'utente dell'applicazione, ad eccezione del dispositivo stesso.

Il secondo è legato all'idea che le interazioni touchless dovrebbero essere integrate e incorporate nei dispositivi al fine di facilitare il suo utilizzo ed evitare la presenza di apparecchiature esterne che impongono agli utenti un vincolo in termini di spazio e trasportabilità.

Principi che sembrano essere supportati anche dalle azioni che i grandi produttori che operano sul mercato mondiale sembrano seguire.

Non è stato difficile negli ultimi anni infatti notare acquisizioni da parte di grandi aziende di compagnie minori ma specializzate in questo tipo di tecnologie. Apple, ad esempio, ha nel 2013 acquisito PrimeSense22 , una società israeliana di rilevamento 3D famosa per lo

sviluppo della tecnologia di base alla base di Microsoft Kinect, mentre Samsung ha iniziato ad abilitare interazioni touchless su alcuni dispositivi con l'uso di RGB e GestureSensor - APDS -996023.

Tuttavia, queste considerazioni restano strettamente collegati ai miglioramenti in termini di prestazioni hardware e di miniaturizzazione dei componenti, abilitando l’uso di interazioni touchless attraverso diversi tipi di connessioni e facilmente integrabili in applicazioni o ecosistemi facendo crescere il numero di dispositivi mobili con queste funzionalità integrate direttamente nei dispositivi.