Negli ultimi anni la grande crescita di utilizzo di smartphones e macchine fotografiche, ora acquistabili a prezzi più accessibili rispetto al passato, ha permesso un forte miglioramento della tecnologia anche grazie all’utilizzo di nuovi criteri d’approccio basati sul Deep Learning e sul Machine Learning.
La velocità con cui la metodologia di apprendimento effettua il rilevamento dell’immagine è migliorata drasticamente passando mediamente da 20 secondi a 2 secondi per arrivare alle versioni più recenti che possono raggiungere e perfino superare la velocità 20 di millisecondi.
Queste performance fortemente migliorative ne hanno di conseguenza favorito l’utilizzo in diversi settori che hanno colto l’occasione sviluppando nuove soluzioni.
In questi ultimi anni il maggior utilizzo di applicazioni che fanno leva sulla tecnologia di Image Recognition, unitamente all’utilizzo di servizi dati a banda larga, ne hanno spinto la crescita. Nel contempo gli analisti ritengono determinanti, per il continuo sviluppo della tecnologia negli anni a venire, due condizioni e cioè una crescente domanda per l’analisi dei big data e la funzione di Brand Recognition.
vchal /iStock via Getty Images
Infatti molti operatori di marketing guardano con interesse alla notorietà che può raggiungere il proprio brand per esempio tramite il tracking del proprio logo sulle piattaforme social. L’Image Recognition quindi può essere identificato come una delle funzioni di utilizzo dell’Intelligenza Artificiale; secondo una classifica stilata dall’Osservatorio del Politecnico di Milano nel 2022 il Computer Vision in Italia si classifica nelle prime posizioni con una quota di mercato che raggiunge il 10% del totale del mercato dell’AI.
Il processo di Image Recognition
Per comprendere la tecnologia che sta alla base dell’Image Recognition è importante capire come essa funziona. Abbiamo menzionato in precedenza come l’Image Recognition utilizzi il Machine Learning per processare immagini digitali e riconoscere modelli e figure nelle immagini. Gli algoritmi sono allenati con ampi dataset per imparare a distinguere i diversi oggetti; successivamente il modello allenato è in grado di classificare le immagini nelle diverse categorie.
Khanchit Khirisutchalual / iStock via Getty Images
Il processo di Image Recognition tipicamente si compone delle seguenti fasi:
- raccolta dei dati tramite un ampio set di immagini descritte, successivamente utilizzate per allenare l’algoritmo;
- pulizia e rimozione delle distorsioni o altri artefatti per rendere fruibile l’immagine. Il procedimento può richiedere l’ottimizzazione di alcune peculiarità dell’immagine come la lucentezza o il contrasto.
- estrazione delle caratteristiche, identificando parti isolate e rilevanti dell’immagine, che verranno adoperate per distinguere le diverse immagini da parte dell’algoritmo;
- allenamento del modello: una volta che le caratteristiche sono state estratte l’algoritmo è allenato su quelle immagini;
- test del modello e valutazione avvengono dopo che l’algoritmo è stato allenato. Questo passaggio aiuta ad identificare errori o debolezze del modello da migliorare;
- il deployment avviene quando il modello è stato testato e validato per classificare nuove immagini in nuove categorie con accuratezza.
Il processo che viene utilizzato per l’Image Recognition è il Machine Learning, solitamente composto da un algoritmo caricato su una piattaforma di calcolo che permette all’utilizzatore finale di riconoscere un’immagine o una sequenza di immagini. L’Image Recognition può essere vista come una forma tecnica del Machine Learning.
Artis777 / iStock via Getty Images
Esistono tre tipi di metodologie che possono essere allenate per l’Image Recognition vale a dire: il Supervised Learning, l’Unsupervised Learning ed il Self-Supervised Learning.
Se i dati sono stati pre-categorizzati per mezzo del Supervised Learning, gli algoritmi sono utilizzati per fare la distinzione tra diversi oggetti e le categorie all’interno di cui vengono riconosciuti gli oggetti sono già note.
Nel caso in cui i dati non siano stati categorizzati, viene utilizzato l’Unsupervised Learning per determinare similarità e differenze tra le immagini; la metodologia è utile quando le categorie sono ignote.
Infine con il Self-Supervised Learning, simile all'Unsupervised Learning, con in comune il fatto che entrambe non utilizzano dati pre-categorizzati, per contro il modello viene addestrato tramite pseudo categorizzazioni create sui dati; questo tipo di modello viene selezionato quando c’è scarsità di dati.
Oggi ci sono i giganti Tech ed alcune startup che offrono APIs che consentono di integrare un software di Image Recognition. Tra i software più conosciuti vi sono Amazon Rekognition, Clarifai, Google Cloud Vision API, Microsoft Azure Face API, Open CV, Simple CV, Scikit-image, Syte, Dataloop.
SurfUpVector / iStock via Getty Images
Software e servizi di Image Recognition presenti sul mercato
Le aziende che offrono soluzioni software per l’Image Recognition spesso sono specializzate per segmento di mercato, tra cui quello enterprise (per grossi clienti), mid-market e small-business. I fattori in base a cui si può misurare la soddisfazione del cliente sono: la funzionalità di riconoscimento di un’oggetto, facilità di utilizzo e riconoscimento d’immagine personalizzato.
I vantaggi per un business che impiega un software di Image Recognition possono essere riconosciuti in una più alta produttività ed un netto taglio dei costi oltre ai nuovi insights che possono essere dedotti.
Le funzionalità più diffuse di queste componentistiche software sono la categorizzazione di un’immagine, il riconoscimento di testo che può essere tradotto e reso in un formato leggibile, la Facial Recognition e lo sviluppo dell’attività di riconoscimento di contenuto inappropriato o poco sicuro.
Sono diverse le industrie hanno adottato la tecnologia di Image Recognition così come le applicazioni smartphone.
Con l’Image Recognition una macchina può identificare diversi oggetti, una volta che un modello ha imparato a riconoscere gli elementi contraddistintivi la macchina può essere programmata a compiere un’azione particolare, ciò fa sì che la tecnologia venga adottata da diversi settori orientati alla tecnologia tra cui: il settore automobilistico, il settore della sicurezza, la sanità, il mondo della vendita al dettaglio e del marketing.
L'Image Recognition in ambito automotive
Il settore automobilistico fruisce dell’Image Recognition per quel che concerne la guida di veicoli autonomi; telecamere, sensori e lidar (light detection and ranging) producono immagini che vengono poi analizzate da software di Image Recognition per identificare per esempio veicoli, semafori ed altri oggetti. Il lidar viene attivato per misurare la distanza tra gli oggetti sfruttando una luce laser utilizzando fotorilevatori e circuiti integrati di lettura.
Le componenti sopracitate, come telecamere, sensori e lidar, consentono all’automobile di ottenere informazioni anche 3D (ad alta risoluzione). Questo concede al veicolo la possibilità di avere una vista dettagliata di tutto ciò che lo circonda; ciò avviene attraverso un mapping che permette al veicolo di seguire la carreggiata posizionandosi correttamente rispetto ad altre vetture ed individuando possibili minacce.
Infine per mezzo delle telecamere a lungo raggio si riesce a scansionare con maggiori dettagli ciò che si era appreso tramite radar e sensori come ad esempio i colori, elementi molto importanti per la mobilità delle vetture per riconoscere per esempio le luci di posizione più chiare da quelle di frenata più scure.
Zapp2Photo / iStock via Getty Images
Altre applicazioni della Computer Vision
Per quanto riguarda il settore della vendita al dettaglio la tecnologia di Image Recognition può essere utilizzata per personalizzare l’esperienza di shopping del cliente, consigliando abiti che sposano lo stile del cliente tramite l’utilizzo di tecnologie quali lo specchio virtuale che permette di vedere come appaiono determinati capi senza effettivamente indossarli.
Altri esempi di utilizzo della tecnologia vengono dal campo medico dove i medici possono essere aiutati nel riconoscimento di diverse malattie.
Dalla vastità di utilizzi e funzioni a cui può contribuire l’Image Recognition si capisce che le applicazioni mobile che utilizzano la tecnologia sono innumerevoli. Un esempio è sicuramente l’applicazione di Google che tramite Google Lens dà la possibilità di eseguire ricerche in tempo reale tramite la fotocamera: leggere testi nelle immagini e tradurli in differenti lingue, trovare capi d’abbigliamento simili, identificare piante ed animali.
Sono numerose anche le applicazioni per la cura degli spazi verdi e giardini; infatti è possibile riconoscere ed identificare fiori ignoti in giardino, avere un pollice verde e mantenere le piante rigogliose come per esempio tramite l’applicazione Plant Parent, che consente il riconoscimento delle malattie e l’ottimizzazione della posizione delle piante anche in base al test della luce.
Attualmente il segmento leader nel mondo nelle diverse categorie di applicazioni è quello del Health & Wellness; ci sono approssimativamente 400 mila applicazioni acquisibili su iOS ed Android che possono essere riconosciute come tali, con un alto numero di nuove applicazioni che vengono rilasciate su base giornaliera. Naturalmente anche all’interno di questo settore la tecnologia di Image Recognition viene utilizzata come nel caso di SnapCalorie che identifica tramite una foto i tipi di alimenti che compongono un pasto, misurando la grandezza della porzione per stimarne il contenuto calorico.
Le frontiere in cui si assiste all’utilizzo della tecnologia di Image Recognition sono sempre più estese; non ultimo è l’utilizzo della tecnologia in mare per riconoscere gli squali ponendosi l’obiettivo di salvaguardare bagnanti e surfisti.
Questa tecnologia ha sicuramente molti aspetti positivi ma vanno anche tenute a mente quelle che possono essere le limitazioni.
Per l’utilizzatore finale ed i businesses che decidono di implementare il software è bene tenere a mente che l’impiego di questa tecnologia deve essere programmato con un buon time-to-market conoscendo le tempistiche richieste e tenendo nella dovuta considerazione tutte le insidie che possono nascere a livello di sicurezza dei dati.
Infine, al momento, il focus per l’Image Recognition è incentrato sullo sviluppo del Machine Learning in modo da migliorare la bontà dei risultati ed incrementare così la soddisfazione del cliente finale.