1. Facoltà Di Ingegneria Informatica Tesi di Laurea
Electronic Car Book Project
Studente Anno Accademico
Antimo Musone 2011-2012
2. Agenda
Electronic Car Book Project
argomenti di discussione
Target Progetto - Esigenza - Soluzione -
Problematica
Augmented Reality - Definizione - Caratteristiche -
Applicazioni - Problematiche
Mobile - Definizione – Device - AR su Mobile -
Problematiche
Progetto ECB - Obiettivo – Soluzione – Architettura -
Problematiche
Conclusioni & Feedback
3. Il Target Del Progetto
Electronic Car Book Project
“ How-To “
Studio di fattibilità per la realizzazione di un
prototipo di un App che fornisca funzionalità di
un manuale d’ uso e manutenzione
attraverso l’elaborazione di immagini o video
riprese da un dispositivo mobile.
.
4. L’Esigenza
Electronic Car Book Project
perchè nasce.
Problematiche dei libretti di Star -Group Italia
uso e manutezione
• Troppo o poco Esaustivi Da anni lavora con Ferrari per
ottimizzare tutti i suoi processi di
• Ingombrati, non Portabili post produzione , in particolare
modo della manualistica e del
• Statici, no Dinamici training.
• Non suscitano l’interesse del
lettore
• Non forniscono Interazione
• Non forniscono Multimedialità.
5. La Nostra Soluzione
Electronic Car Book Project
cosa offrire e cosa non offrire dal punto di vista funzionale
Cosa deve fare Cosa non deve essere
• Guida Multimediale • Un semplice lettore di pdf
• Interazione con l’utente • Avere contenuti Statici
• Riconoscimento automatico di • Non essere User Friendly
elementi • Non offrire interazione
• Documentazione sempre
aggiornata
• Assistenza
6. Le Tecnologie
Electronic Car Book Project
quali sono le tecnologie e le problematiche.
Tecnologie Coinvolte Problematiche
• Mobile Device, Apple Ipad 2 • Augmented Reality applicata al
• Augmented Reality mobile
• C++ , Objective– C • Design delle funzionalità
• Image Recognition • Gestione contenuti
• Cloud Computing • Prestazioni in real time
8. Electronic Car Book Project
Augmented Reality Definizione
Augmented reality (AR) is a live, direct or indirect, view of a physical, real-
world environment whose elements are augmented by computer-
generated sensory input such as sound, video, graphics or GPS data
9. Electronic Car Book Project
un esempio di realtà aumentata
AUGMENTED REALITY -
SKETCH
10. Caratteristiche Della Augmented Reality
Electronic Car Book Project
Tracking Object Gesture Recognition
Tracciatura di oggetti in spazi Riconoscimento di determinate
bidimensionali gesture dell’uomo per interagire
con l’applicativo
Occlusion Detection Audio - Video - Text - 3D Model
Interazione con oggetti Riproduzione audio e video contenuti,
Virtuali aggiunti dalla possibilità di renderizzare oggetti testo
Realtà Aumentatsa e Modelli 3D
11. Applicazioni Di Augmented Reality
Electronic Car Book Project
Medico Militare
Può aiutare a ricevere e Per lo sviluppo di armi
a visualizzare un numero sempre più intelligenti e
maggiori informazioni innovative.
Giochi e Intrattenimento Engineering Design
Aiutare lo sviluppo di Aiutare lo sviluppo
giochi sempre più fornendo informazioni
interattivi con l’utente tangibili in tempo reale
Manutenzione
Aiutare,migliorare e
velocizzare molti lavori
ancora oggi manuali
13. La Crescita dei Mobile
Device
Electronic Car Book Project
Utenti Mobile Vs Desktop & Laptop
2000.000
1800.000
1600.000
1400.000
1200.000
1000.000
800.000
600.000
400.000
200.000
0.000
2007 2009 2011 2013 2015
Mobile Laptop - Desktop
14. The Real Change : L’evoluzione del hardware
Electronic Car Book Project
Motorola Razor Maxx – 2007 Apple Iphone 4s - 2011
• Display : 320 x 240 • Display :
pixel, 262, 000 960x640, 16 milioni
colori di colori
• Network : GSM • Network
Quad band , GPRS :GPRS, EDGE, UMT
, EDGE, UMTS S, HSDPA, Wi-
Fi, Bluetooth
• Memory: 50 MB
• Memory: 16-64 GB
• Cpu / Ram: NVIDIA
GoForce 4800 • Cpu / Ram: Dual
Core , 800 Mhz
• Camera : 2
megapixel • Camera: 8 mega
pixel
15. AR & IM Nel Mondo Mobile
Electronic Car Book Project
Solo nell’ultimo anno sono comparsi framework di AR e Image
Recognition per il mondo mobile che offrono una serie di features :
Image Recognition : Framework Free Image Rendering Tracking
Recognition Object
• BarCode , QRCode
Qualcomm yes Yes Yes yes
Tracking Object :
Moodstock yes Yes No No
• Marker , Markerless
IQ Engine yes Yes No No
Gesture Recognize :
• Motion Detection Metaio No Yes Yes Yes
Rendering Object : ARToolKit No Yes No Yes
• 3D Game Engine
PointCloud Yes Yes No Yes
16. AR MOBILE IN ACTION
Demo
Electronic Car Book Project
18. Electronic Car Book
Project
Electronic Car Book Project
Fase 1
Analisi dei Requisiti e
di Mercato
Il progetto è stato
ripartito in diversi
Fase 4 Fase 2
fasi caratterizzate
Unit Test e Disegno
da differenti Modifiche Funzionalit
per Change à, Architett
Request. ura
tipologie di attività
per centrare
l’obiettivo finale. Fase 3
Sviluppo dell’
Applicativo
Mobile
19. Fase 1 : Analisi Mercato
Electronic Car Book Project
La nostra ricerca per il mondo MOBILE è stata organizzata in due
tipologie di requisiti
Image
Recognition, AR
Processing Features
.
• Image Recognition - Processing è intensive CPU , a volte ci si affida alle
GPU
• Architettura ARM predilige frequenze di elaborazione basse con consumi
ridotti
• Nessun Framework nativo di Image Recognition o AR esistente per
sistemi Apple , Microsoft , Android
• Scarsa presenza su mercato mobile di prodotti di terzi parti sia per AR
che per Image Recognition - Processing
20. Fase 1 :
Electronic Car Book Project
Sperimentazione
La nostra ricerca ha ristretto la scelta implementativa su diverse strade
per le due tipologie di requisiti :
Image • Utilizzo di OpenCv – Free&Open
Recognition • Utilizzo di servizi remoti di terzi parti :
– Moodstocks o IQEngine
Processing
AR Features • Qualcomm Framework
• Metaio Framework
21. Fase 1 : Sperimentazione - Risultati
Electronic Car Book Project
• Utilizzo di Haar Cascade Algoritmo
• Applicabile anche al Object Detection
OpenCV
• Prevede un pesante lavoro di allenamento
• Chiamate Http a servizi remoti
di image recognition
IQ Engines • Funzionamento offline tramite
una cache
22. Fase 2 : Progettazione
Electronic Car Book Project
La nostra ricerca e sperimentazione ci ha permesso di scegliere le
migliori tecnologie adatte per i nostri requisiti
• Image Recognition - Processing - > Moodstock
• AR Features -> Qualcomm
• Storage & Media Managment Service - > Windows Azure
23. Fase 2 : Architettura
Electronic Car Book Project
Il sistema è
strutturato
con un’ architettura
client e server con
componenti come
servizi cloud e App
Mobile
24. Fase 2 : Workflow Image Recognition
Electronic Car Book Project
Il nostro processo
prevede una serie
di Web Requests
per
l’Identificazione
e lo Streaming
dei contenuti
25. Fase 2 : Workflow Media Management
Electronic Car Book Project
Il nostro
processo per la
gestione dei
contenuti
prevede una
serie di step per
il caricamento e
la codifica
26. Fase 2 : Workflow Augmented Reality
Electronic Car Book Project
Il nostro
processo
prevede una
serie
di componenti
per
l’Identificazione
e il tracciamento
degli oggetti
27. Fase 3 & 4 : Sviluppo e Unit Test
Electronic Car Book Project
Ambiente di sviluppo
• MAC, Lion OS X
• Ipad 2 , IOS 5.0
• IOS 4.3 SDK
Unit Test effettuati
su una vettura reale
• Ferrari California
La nostra agenda prevede un introduzione all’argomento della tesi, a seguire una panoramica veloce delle tecnologie studiate e utilizzate e poi una panoramica dettagliata del nostro progetto.
La tesi nasce da un concorso indetto dalla multinazione Star Group che è alla ricerca di una soluzione innovativa in ambito automobilistico per il suo principale cliente , Ferrari.Obiettivo di questoconcorso è lo studio di fattibilità per la realizzazione di unaApplicazione Mobile cheriesca a sostituire o supportarel’attualemanuale di uso e manutenzioneoffrendounanuovoprodotto con unanuova User Experience per gliacquirenti di ferrri, l’idea base è di offriredeicontenutiaccedibilitramiteunanavigazionebasatasull’elaborazione e ilriconoscimento di immaginidell’auto o del manualecartaceoriprese dal dispositivo mobile.
L’esigenza di questa innovazione nasce dalle problematiche che affligono l’attuale manualistica cartacea , sono troppo o poco esaustive, non portabili, sono statici essendo carta stampata non possono essere aggiornati, non forniscono ne interazione ne multimedialità .... Star vuole offrire una applicazione su tablet di ultima generazione come Ipad2 per poter superare tutte queste problematiche e offire una manualistica cartacea migliore.
Primo step della nostra analisi con Star è stato decidere cosa doveva e cosa non doveva essere questa applicazione mobile, quali devono essere le sue funzionalità core, dovrà essere certamente una guida multimediale i cui contenuti non sono accedibili tramite una normale navigazione fatta di menu, liste o bottoni ma tramite il riconoscimento di immagini o oggetti , immagini come ad esempio la pagina dell’attuale manuale di uso e manutenzione o oggetti come un volante , una ruota o il motore dell’auto, ad ogni identificazione verrà mostrato il contenuto multimediale corrispondente. Non dovrà essere certamente un banalissimo lettore di pdf e non avere una interfaccia poco user friendly quindi poco usabile, ma semplice e immediata.L'usabilità è definita dall'ISO (International Organisation for Standardisation), come l'efficacia, l'efficienza e la soddisfazione con le quali determinati utenti raggiungono determinati obiettivi in determinati contesti. In pratica definisce il grado di facilità e soddisfazione con cui si compie l'interazione tra l'uomo e uno strumento (console, leva del cambio, interfaccia grafica, ecc.)
Diverse le tecnologie che coinvolgiamo nel nostro studio e nella successiva realizzazione di un prototipo, in particolare useremo come device di rifermento Apple Ipad 2, concesso da Star-Group, naturalmente il nostro lavoro non è strettamento correlato alla singola piattaforma mobile, in questo caso Apple, faremo uso della Augmented Reality di cui dare un breve saggio nelle prossime slide e infine vedremo tecnologie di Cloud Computing usate per sviluppare una serie di servizi di backend per la gestione dei contenuti media. Diverse le problematiche affrontate, la prima è stata lo studio dell’applicazione di tecnologie di Augmented Reality al dispositivi , diverse le tecnologie e le applicazioni per AR sviluppate per mondo PC/desktop/laptop, merito sopratutto del fatto che queste possono contare su un hardware che offre ottime prestazione viceversa in ambito mobile solo nell’ultimo anno grazie all’introduzione di hardware con prestazioni adeguate per applicazioni di AR ( es. CPU dual core ) abbiamo avuto la timida comparsa di qualche framework sui cui poter costruire app mobile.
Vediamo ora una panoramica su AR, cerchiamo di darle una definizione chiara ma anche di vedere in termini pratici che cosa è e come si presenta ai nostri occhi.
Per realtà aumentata (in inglese augmented reality, abbreviato AR), o realtà mediata dall'elaboratore, si intende l'arricchimento della percezione sensoriale umana mediante informazioni, in genere manipolate e convogliate elettronicamente, che non sarebbero percepibili con i cinque sensi [1].Gli elementi che "aumentano" la realtà possono essere aggiunti attraverso un dispositivo mobile, come uno smartphone, con l'uso di un PC dotato di webcam o altri sensori, con dispositivi di visione (per es. occhiali a proiezione sulla retina), di ascolto (auricolari) e di manipolazione (guanti) che aggiungono informazioni multimediali alla realtà già normalmente percepita.Le informazioni "aggiuntive" possono in realtà consistere anche in una diminuzione della quantità di informazioni normalmente percepibili per via sensoriale, sempre al fine di presentare una situazione più chiara o più utile o più divertente. Anche in questo caso si parla di AR.Nella realtà virtuale (virtual reality, VR), le informazioni aggiunte o sottratte elettronicamente sono preponderanti, al punto che le persone si trovano immerse in una situazione nella quale le percezioni naturali di molti dei cinque sensi non sembrano neppure essere più presenti e sono sostituite da altre. Nella realtà aumentata (AR), invece, la persona ha la sensazione di abitare la comune realtà fisica, pur ususfruendo di informazioni aggiuntive o di manipolazioni di quella.La distinzione tra VR e AR è peraltro artificiosa: la realtà mediata, infatti, può essere considerata come un continuo, nel quale VR e AR si collocano adiacenti e non sono semplicemente due concetti opposti.
Vediamo di dare un volto a questa realtà aumentata o augmente reality tramite un piccolo video, una clip dell’ultimo Mission Impossibile in cui vi è una scena in cui viene utilizzato un dispositivo un futuro display retina dotato di un’applicazione di realtà aumentata per il riconscimento facciale.L’agente segreto si trova all’interno di una stazione treni e deve riconoscere un sospetto che si trova in una folla di persone che scendono da un treno , per un normale essere umano sarebbe impossibile riconscere un singolo volto tra centinai di persone in pochi secondi ma tramite il suo dispositivo di realtà aumentata che li offre una visione arricchita di ciò che sta vedendo effettuando per lui una ricerca in tempo reale tra decine di persone per riconoscere il suo sospetto.
Caratteristiche principali delle tecnologie di augmented reality sono :Object & gesture detection per l’identificazione di oggetti e gesture , tracking object per tenere traccia di un oggetto nello spazio una volta riconosciuto , renderizzazione di informazioni sul display come contenuti multimediali , Video, Audio e Modelli 3D.
Augmented Reality presenta svariati campi di applicazioni , medico , enternaiment , militare, progettazione e un aumento dei possibili campi applicativi si prospetta con la diffusione di tecnologie di AR per piattaforme Mobile che darebbero una marcia in più contribuendo con le loro caratteristiche come ad esempio la portabilità o interfaccie smart & user friendly .
Parliamo ora delle possibili applicazioni di questa AR su mobile.
Da questo grafico evince come ormai saremo testimoni di un passaggio storico, infatti si prospetta che nel 2015 avremo che il numero di utenti per dispositivi mobili supererà quello dei PC. Tale andamento è confermato è confermato anche dagli andamenti del mercato delle vendite come quello statutinense che ha mostrato come la vendita dei Mobile quest’anno si è avvicinata alla soglia del 50% del mercato dei dispositivi informatici.
Ma che cosa è veramente cambiato per permettere l’applicazione della realtà aumentata che è un tecnologia che esiste già da anni, la risposta è hardware, basta infatti vedere il confronto tra questi due dispositivi entrambi simboleggiavano o simboleggiano il top del mercato, vediamo come un Motorola non può reggere il confronto hardware per esempio troviamo un divario immenso per la quantità di memoria o tipologia di processore a bordo.
È solo grazie al miglioramento del prestazione hardware deidispositivichenell’ultimo anno sonoemersistrumenti e tool per sviluppare AR per ilmondo mobile, nella slide sonomostratiunaserie di framework cheabbiamostudiato e utilizzatonell’ambito del nostroprogettosia per realizzare app finale ma anche app di gioco per testarli, ognuno di lorooffre o non offreunaserie di caratteristiche di AR.
Vediamo ora in azione delle simpatiche applicazioni che abbiamo sviluppato per testare i precendeti framework di AR , per lo più sono giochi che sfruttano AR per offrire una interazione nuova con l’utente, ad esempio il Domino , questa applicazione per funzionare ha bisogno di una determinata immagine, detta marker che una volta riconosciuta si trasforma in una sorta di tavolino per il nostro gioco.Altra applicazione e il multitarget, possiamo riconoscere un oggetto da un certo numero di punti di vista, in questo caso riconoscerò una scatola di cereali e andrò ad aggiungere alla visione di una scatola una tazza per latte vuota che ruota attorno, la tazza è rappresentata da un modello 3d.Ultima applicazione che però è sviluppata da Mercedes ci permette di indentificare una determinata immagine e sovrapporla in un modello 3D di un auto.
Passiamo ora ad una visione più dettagliata del progetto.
Abbiamo convenuto nel doverlo dividerlo in 4 fase , ognuno delle quali caratterizzato da attività e milestone diverse.Fase 1 Analisi dei requisiti e indagine di mercato su tecnologie da adottare o simili applicazioni già presenti, Fase 2 Disegno delle funzionalità e Architettura TecnicaFase 3 Sviluppo dell’applicativo Mobile e la parte deiserviziremotiFase 4 Unit Test e Verifica su una autovettura reale.
La nostra ricercaaveva come obiettivoquello di scovare framework per AR e Image Recognition (open source e non) per poi poterliriadattarli al nostroprogetto. Dalla ricerca è emersoche da anniesistono framework di AR o IR (open source e non ) per architettureIntel ma per quantoriguardailmondo mobile il campo sirestringevertiginosamente per numero di soluzionisopratutto se trattiamo di dispositivi mobile con architettura ARM.Infatti solo nell’ultimo anno sono emersi diversi framework AR per architetture ARM che sono non OpenSource o a pagamento mentre per IR una probabile soluzione potrebbe essere utilizzo di OpenCv.
Abbiamo scelto due possibile strade per ognuna delle due tipologie , la scelta finale è stata poderata su una serie di test che abbiamo effettuato su ogni framework.In particolare per l’image recognition come alternativa a OpenCv abbiamo optato per l’uso di servizi remoti di terzi parti per effettuare tale lavoro.
Essendo OpenCv open source siamo riusciti a compilarlo e portalo su architettura ARM apple, i risultati non sono stati eccellenti poichè molte algoritmi andavano rivisti per l’architettura arm e le perfomance non ottimali poiche OpenCV non poteva contare sulla GPU del nostro IPAD avendo un interfaccia OpenCL non compatibile con CUDA. Risultati ottimi invece sono arrivati usando servizi remoti per l’image recognition che presentevano una latenza bassa nell’identificazione dell’immagine e offrendo abcge una cache locale per il riconoscimento se il dispositivo si trova fuori rete.
Da questa sperimentazione abbiamo effettuato delle scelte tecniche per l’applicazione mobile, usare servizi remoti per l’image recognition, qualcoom framework per AR lo stesso framework che ho usato nelle precedenti demo , mentre per quanto riguarda i contenuti multimediali da erogare a dispositivi mobile in caso di identificazione di un immagine o un oggetto usiamo una piattaforma di cloud computing come repository essendo i device dotati di storage limitato.
Vediamo ora una overview del sistema , in alto è mostrata l’architettura a componenti dell’applicazione client, in particolare abbiamo un componente per la realtà virtuale , uno per image recognition e un altro componente per la visione dei media per ogni contenuto identificato.Al centro i servizi di terzi parti come moodstocks per image recognition , azure per lo streaming dei contenuti e qualcomm per la generazione delle target resource ossia degli oggetti da riconoscere e usare nella modalità arIn basso troviamo la parte server della nostra soluzione con un web portal che ci permette pubblicare e gestire i media e un insieme di servizi e database che si occupano di dialogare direttamente con i media service di windows azure per gestire i task per media che provengono dal portale.
Vediamo un workflow applicativo dello scenario di image recognition, il nostro dispositivo punta un immagine che viene acquisita, abbiamo un frame , una matrice di pixel , a questo punto abbiamo una duplice meccanismo online e offline di riconoscimento , infatti il primo tentativo di riconoscimento è offline basandosi su una cache locale che sincronizza ad ogni accesso dell’applicazione con Moodstocks, se la cache non fornisce un risultato parte una richiesta verso i servizi ogni che rispondo con l’identificativo attraverso il quale ho una corrispondenza all’interno del mio database e quindi carico per quel identificativo una serie di contenuti e nel caso in cui ho contenuti audio/video effettuo uno streaming verso degli endpoint offerti da servzi di windows azure media .
La mia esperienza di tesi descrittta in 4 foto, la prima scattata a maranello , la seconda mentre lavoro sul testare app su una autovettura reale, la terza che rappresenta il premio di tesi che Star Group mi ha attributo e l’ultima che mi raffigura mentre preparo questa presentazione nel mio volo internazionale Milano – Sydney per partecipare ad una gara internazionale di software design come rappresentate dell’italia.