La presentazione di Massimiliano Tarquini e Carlo Pelliccia per il Codemotion del 5 marzo 2011 a Roma http://www.codemotion.it/
L'introduzione di Sistemi Operativi Aperti per il mondo Mobile rende sempre più complicato per i produttori di telefoni differenziare il proprio prodotto. Per questo è sempre più importante trovare applicazioni specifiche per supportare ed aumentare il volume di vendita di un prodotto. Presentazione di una tecnologia mobile di Face tracking and recognition per lo sviluppo di applicazioni mobile.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Tecnologie e nuove opportunità per il mobile
1. Febbraio 2011
Stephen Elop annuncia accordo strategico NOKIA-Microsoft
<e-
<nome relatore> - <e -mail> – <azienda o community>
2. Febbraio 2011
Per quanto
allunghi il collo
l’oca sara’ mai
un cigno?
<e-
<nome relatore> - <e -mail> – <azienda o community>
3. Febbraio 2011
T E
EN
M
A !
R O
U N
SIC
<e-
<nome relatore> - <e -mail> – <azienda o community>
4. Febbraio 2011
Forse la soluzione di NOKIA non sarà stata condivisa da tutti, ma di
certo il produttore finlandese avrà un problema in meno:
DISTINGUERSI!
<e-
<nome relatore> - <e -mail> – <azienda o community>
5. Febbraio 2011
Assistiamo ad un forsennato tentativo da parte dei produttori di smartphone Android di
differenziare la propria offerta.
Tanti smartphone basati sullo stesso Sistema Operativo (anche se di moda) si
somigliano tutti.
APPIATTIMENTO!
LIVELLAMENTO!
<e-
<nome relatore> - <e -mail> – <azienda o community>
7. Differenziazione di prodotto
• Differenziare il proprio prodotto da quello dei concorrenti significa renderlo diverso.
• Non e' necessario che la differenza sia reale, basta che sia rilevante e percepibile dal
consumatore.
• Differenziare e' importante perche' difende i miei prodotti da quelli della concorrenza: se
il mio prodotto e' differente allora diventa unico e, di conseguenza, non comparabile con
altri.
• Automaticamente diminuisce il numero dei miei concorrenti diretti ed aumenta la
possibilita' di tenere prezzi un po' piu' alti.
<e-
<nome relatore> - <e -mail> – <azienda o community>
8. Differenziazione di prodotto
PROBLEMA:
COME DIFFERENZIARE UN PRODOTTO?
<e-
<nome relatore> - <e -mail> – <azienda o community>
9. Differenziazione di prodotto
NOI PENSIAMO DI AVER TROVATO UNA STRADA: UNA KILLER APPLICATION
<e-
<nome relatore> - <e -mail> – <azienda o community>
10. Wired Portrait
“Wired Portrait” è una tecnologia integrata
con il sistema Android che consente di
realizzare applicazioni basate sul
riconoscimento delle caratteristiche del
volto a partire da una semplice immagine
fotografica.
<e-
<nome relatore> - <e -mail> – <azienda o community>
11. Wired Portrait
Comprende un insiemi di moduli per:
•Tracciamento in sei gradi di libertà (descrizione del
moto del capo in tre dimensioni);
•Riconoscimento delle caratteristiche facciali;
•Libreria di elaborazione digitale delle immagini;
•Librerie Matematiche Veloci;
•Supporto allo sviluppo di applicazioni 3D;
•Rappresentazione matematica di un modello del
volto umano.
<e-
<nome relatore> - <e -mail> – <azienda o community>
12. How we did it?
<e-
<nome relatore> - <e -mail> – <azienda o community>
13. Modelli Statistici di Forma
Il lavoro si e’ concentrato su una tecnica di localizzazione statistica mediante
Modelli Statistici di Forma
• Formulato con l’obiettivo di fornire una localizzazione molto accurata di un oggetto di
interesse;
• Prevede infatti di rappresentare le forme che si intende cercare, tramite dei modelli
definiti da un elenco dei punti ritenuti importanti per la caratterizzazione degli oggetti
• metodo di localizzazione basato sulla costruzione di unmodello di forma, in grado di
essere modificato e deformato, fino ad ottenere una buona corrispondenza con l’oggetto
che si sta cercando nell’immagine
<e-
<nome relatore> - <e -mail> – <azienda o community>
14. Modelli Statistici di Forma
PROBLEMA: non si richiede di individuare semplicemente un riquadro (bounding
box) che contenga il volto, bensi’ di caratterizzarne la struttura cercando la
posizione di occhi, sopracciglia, naso, bocca, contorno facciale.
<e-
<nome relatore> - <e -mail> – <azienda o community>
16. Come Funzionano?
Funzionano?
Costituiscono un metodo di localizzazione basato sulla costruzione di un modello di forma,
in grado di essere modificato e deformato, fino ad ottenere una buona corrispondenza con
l’oggetto che si sta cercando nell’immagine.
<e-
<nome relatore> - <e -mail> – <azienda o community>
17. Come Funzionano?
Funzionano?
<e-
<nome relatore> - <e -mail> – <azienda o community>
18. Come Funzionano?
Funzionano?
<e-
<nome relatore> - <e -mail> – <azienda o community>
19. Difficoltà
Difficoltà
Posa: soggetti, che possono apparire frontalmente, di profilo, a 45◦,
ecc., e può determinare l’occlusione parziale o totale di alcune
componenti, ad esempio occhi e naso.
Componenti variabili baffi, barba, occhiali, che possono essere presenti o meno, e possono avere una
variabili:
grande variabilità, in termini di forma, dimensione e colore.
<e-
<nome relatore> - <e -mail> – <azienda o community>
20. Difficoltà
Difficoltà
Espressione facciale: influisce sul modo in cui il volto appare.
Occlusioni di vario genere:possono nascondere alcune parti della faccia, dovute ad abbigliamento (sciarpe,
genere
cappelli), o ad altri accessori, come gli occhiali da sole.
Scarsa qualità dell’immagine dovuta a particolari condizioni di illuminazione, o alle caratteristiche fisiche
qualità dell’immagine:
dei dispositivi di acquisizione, che possono introdurre rumore.
<e-
<nome relatore> - <e -mail> – <azienda o community>
22. Le API su android
• Face API: facial features recognition API (oval, eyes, mouth, nose, superciliary
arches);
• Imaging: API for the digital elaboration of images;
• 3D Modelling: 3D application development API;
• Fast Matrix Operators: android optimized fast matrix math
<e-
<nome relatore> - <e -mail> – <azienda o community>
23. Face API
• Classificatore HAAR Like
• Modello statistico di forma
• Fitter
• Tracking (45gradi sx/dx)
• 6dof modelling
<e-
<nome relatore> - <e -mail> – <azienda o community>
24. Fast Matrix Operator
• Operatori sulle matrici sparse e dense
• Trasformazioni lineari
• Analisi delle componeti principali
• Trasformazioni affini
<e-
<nome relatore> - <e -mail> – <azienda o community>
25. 3D modelling
Per supportare lo sviluppo di applicazioni
3D Face API implementa il modello
parametrico del volto “CANDIDE”
Wired Portraid:
•Analizza foto o immagine
•Estrapola il volto
•Ne determina le caratteristiche
•Crea automaticamente un modell 3d
basandosi su questo modello del volto
•Consente di controllare la mimica facciale
<e-
<nome relatore> - <e -mail> – <azienda o community>
26. Candide
• Modello pensato per la codifica matematica del volto umano
• Il baàsso numeo di poligoni consente di modellare velocemente e con basso numero
di risorse computazionali
• Le espressioni sono codificate mediante Action Units che consentono di controllare
la mimica e la rotazione secondo I sei gradi di libertà
<e-
<nome relatore> - <e -mail> – <azienda o community>
30. all’
Wired Portrait all’opera
• Taglio della fronte
• Sopraciglio
• Contorno Occhi
• Ovale del volto
• Naso
• Bocca (labbra sup/inf)
<e-
<nome relatore> - <e -mail> – <azienda o community>
31. Tutto questo su Android?
<e-
<nome relatore> - <e -mail> – <azienda o community>
32. Tutto questo su Android?
• Tecnologia sviluppata in C++
• Pensata per essere utilizzata multipiattaforma (osx, linux, windows)
• Basata su OpenCV
• Compilata con Intel c++ compiler
<e-
<nome relatore> - <e -mail> – <azienda o community>
33. Tutto questo su Android?
• Creazione di un modello astratto per la gestione di immagini RGB 32 bit indipendente da AWT/SWING
• Creazione di in Classificatore HAAR/Like per l’identificazione del volto nell’immagine
• Porting delle librerie matematiche ed ottimizzazione degli algoritmi
• Porting delle librerie di imaging
• Gestione del calcolo in Floating Point: complessità, conversioni, approssimazione
• Addestramento del modello statistico con più di 4000 foto
TEST TEST TEST
<e-
<nome relatore> - <e -mail> – <azienda o community>
34. 4IT
4IT opera nell'area Information & Communication Technologies
con particolare esperienza nella
progettazione e realizzazione di soluzioni per la gestione
la catalogazione e la trasmissione di dati con particolare
attenzione ai temi dell’
Interaction design e del fattore umano.
4IT è impegnata nello sviluppo di strumenti hardware e
software che consentano una interazione con i
contenuti più efficace ed immersiva,
e che offrano simulazioni che vengano percepite
totalmente dai nostri sensi: vista, udito e tatto.
4IT opera nel settore Civile, Captive e Militare
<e-
<nome relatore> - <e -mail> – <azienda o community>
35. Laboratori di ricerca
4It ha investito il 10% medio del fatturato annuo in
ricerca e sviluppo collaborando con università e
CNIPA (Digit PA).
I principali ambiti di ricerca:
• Interazione uomo macchina
• Computer Vision
• Apparati Multitouch
<e-
<nome relatore> - <e -mail> – <azienda o community>
36. I numeri della ricerca in 4IT
• 7 tesi di cui una sperimentale ed una premiata con premio innovazione IBM –
JavaDay 2010
• 1 progetto di sperimentazione congiunto con CNIPA (Digit Pa) relativamente
all’utilizzo di tecnologia multitouch per la Pubblica Amministrazione
• Partecipazione progetto a fondi PON tema sicurezza su invito Digit PA
• Realizzazione di tecnologie di riconoscimento delle immagini basate sui modelli
statistici di forma
<e-
<nome relatore> - <e -mail> – <azienda o community>
37. Come contattarci
4IT S.r.l.
Via Udine 34, 00161 Roma
www.4it.it
m.tarquini@4it.it
career@4it.it
<e-
<nome relatore> - <e -mail> – <azienda o community>