Computer Vision: i vantaggi della visione artificiale dall’automotive all’health

È fortemente cresciuta l’attenzione verso la Computer Vision grazie all’avvento di tecniche sempre più avanzate di deep learning. Scopriamo insieme in cosa consiste

Foto di Donatella Maisto

Donatella Maisto

Esperta in digital trasformation e tecnologie emergenti

Dopo 20 anni nel legal e hr, si occupa di informazione, ricerca e sviluppo. Esperta in digital transformation, tecnologie emergenti e standard internazionali per la sostenibilità, segue l’Innovation Hub della Camera di Commercio italiana per la Svizzera. MIT Alumni.

È fortemente cresciuta l’attenzione verso la Computer Vision grazie all’avvento di tecniche sempre più avanzate di deep learning. La computer vision è usata in numerosi settori che vanno dall’energia ai servizi pubblici, dall’industria manifatturiera a quella automobilistica: secondo i dati forniti da Forbes, nel 2026 il suo mercato varrà 15.5 miliardi e la sua combinazione con nuovi algoritmi di deep learning incrementerà fino al 90% il tasso di individuazione dei difetti nei sistemi di controllo qualità automatici.

Ma in cosa consiste? Quali sono i campi di applicazione nella quotidianità e nel settore industriale, che la vede implementare in diversi settori e fasi, dall’analisi automatizzata della qualità fino alla gestione del magazzino? Scopriamolo insieme.

Che cos’è la Computer Vision o Visione Artificiale

La computer vision o visione artificiale è una branca dellAI. Studia e programma algoritmi e tecniche, che consentono ai computer di replicare processi e funzioni dell’apparato visivo umano.

Con la computer vision la macchina può riconoscere oggetti, animali o persone all’interno di un’immagine digitale o di una sequenza video, ma può anche:

  • capire i contenuti presenti in un’immagine
  • estrapolare informazioni
  • interpretare i dati ricavati ed elaborarli
  • ricostruire un contesto
  • attribuire un significato
  • intraprendere azioni
  • effettuare segnalazioni.

Deep learning

La Computer Vision si avvale del deep learning. Se il Machine Learning può essere definito come il metodo che allena l’AI, il Deep Learning è quello che permette di emulare la mente dell’uomo, attraverso reti neurali artificiali progettate per lo scopo e una capacità computazionale molto potente.

Rete neurale convoluzionale

Nel caso della Computer Vision parliamo di rete neurale convoluzionale (CNN), che aiuta a guardare scomponendo le immagini in pixel a cui vengono dati dei tag o delle etichette e fa delle previsioni sulla base di ciò che “vede”.

Una CNN distingue prima i contorni nitidi e le forme semplici, poi aggiunge delle informazioni, mentre esegue le iterazioni delle sue previsioni.

Gli algoritmi di Computer Vision possono effettuare indagini più o meno approfondite su un’immagine, a seconda delle tecniche utilizzate, della tipologia di immagine e del tipo di task.

Analisi dell’immagine

Le imprese, tra i vari task, stanno rivolgendo maggiormente l’attenzione su soluzioni di Image Classification, ovvero l’analisi del contenuto dell’immagine e l’attribuzione di una etichetta (corrispondenza immagine-nome) e Object Detection, ovvero l’identificazione di una o più entità all’interno di una immagine. Ma abbiamo anche:

  • Image Editing: che consiste nella capacità di apportare modifiche a un’immagine come l’oscuramento di dati sensibili.
  • Image Segmentation: la suddivisione dell’immagine in sezioni. Questo task, per esempio, trova applicazione nell’health perché consente di evidenziare i pixel di una RM o TC in cui si evidenzia una massa tumorale;
  • Visual Relationship Detection: che consiste nel comprendere la relazione tra gli oggetti di una immagine;
  • Face Recognition: destinata a riconoscere i volti delle persone;
  • Action Recognition: identifica una o piu’ entità, le mette in relazione spazio-temporale e identifica e descrive azioni specifiche;
  • Emotion Recognition: per rilevare il sentiment di una immagine.

Per ottenere le informazioni dalle immagini i sistemi di computer vision possono essere basati su tre tipologie di analisi da utilizzare singolarmente o in combinazione:

  • Hand Crafted Features: l’algoritmo estrae quello che ritiene più rilevante all’interno di un’immagine o sequenza video, come ad esempio la grandezza di un’entità, il colore, la forma e l’area che occupa.
  • Computer Vision Features: l’algoritmo suddivide le immagini in parti più piccole per confrontarle con il dataset in modo da ottenere un’analisi più approfondita.
  • Data Driven Features: questa analisi più  avanzata, da considerare la vera frontiera della Computer Vision, consente all’algoritmo di riconoscere e classificare le immagini senza la fase di estrazioni dei feature, che viene effettuata dalle reti neurali convoluzionali.

Le reti neurali Convoluzionali (CNN)

Il funzionamento alla base delle reti neurali consiste nel suddividere l’immagine in cluster di piccoli pixel, chiamati filtri.

I gruppi di pixel ricavati vengono analizzati, elaborati e confrontati con altri pixel per trovare lo schema specifico che la rete neurale sta cercando in vari livelli.

Nel primo livello una CNN cerca di rilevare i modelli analizzando i bordi, gli spigoli e le curve presenti in un’immagine.

Man mano che la rete neurale esegue più convoluzioni può riuscire ad identificare entità specifiche come persone, oggetti e animali all’interno dell’immagine.

Per rendere precisa e accurata la previsione della CNN ogni iterazione del processo di analisi viene ripetuta, utilizzando una funzione di errore, che analizza il risultato fino a che il sistema di computer visione non sia certo di aver compreso appieno il contenuto dell’immagine.

Un po’ di storia

I primi esperimenti di Computer Vision ebbero luogo negli anni ’50, utilizzando alcune delle prime reti neurali per rilevare i bordi di un oggetto e per ordinare in categorie oggetti dalle forme elementari, come cerchi e quadrati.

Negli anni ’70, il primo uso commerciale di computer vision interpretò un testo manoscritto o dattiloscritto, utilizzando il riconoscimento ottico dei caratteri. Questo progresso rese possibile l’interpretazione di un testo scritto per i non vedenti.

La progressiva diffusione di Internet ha reso disponibili per l’analisi, grandi quantità di immagini online e ha favorito la messa a punto di programmi di riconoscimento facciale. Il crescente volume di dati ha permesso lo sviluppo di macchine, in grado d’identificare specifici individui in supporti foto e video.

Oggi, la convergenza di una serie di fattori sta rinnovando l’interesse verso la computer vision e nuovi algoritmi possono sfruttarne le funzionalità. Inoltre, gli attuali sistemi sono più precisi nel rilevare e reagire con rapidità agli input visivi.

In meno di un decennio, i livelli di accuratezza nell’identificazione e classificazione degli oggetti sono passati dal 50 al 99%.

Le applicazioni della Computer Vision

I sistemi di visione artificiali trovano applicazioni in moltissimi settori: dall’industria al retail, dalla salute all’automotive, dal riconoscimento degli oggetti alla biometria, dalla smart surveillance al tracciamento di movimenti, dalla manutenzione predittiva al controllo dei processi.

Tenendo conto che le principali attività di Computer Vision definite sono:

  • Classificazione delle immagini, ovvero vede un’immagine e può classificarla stabilendo con precisione che una data immagine appartiene a una certa classe.
  • Rilevamento di oggetti. È possibile usare la classificazione delle immagini per identificare una certa classe di immagini e poi rilevare e tabulare la loro apparizione in un’immagine o in un video.
  • Object tracking segue o traccia un oggetto una volta che è stato rilevato. Questa attività viene spesso eseguita con delle immagini catturate in sequenza o con dei feed video in tempo reale. I veicoli autonomi, ad esempio, hanno bisogno non solo di classificare e rilevare oggetti come pedoni, altre auto e infrastrutture stradali, ma anche di seguirne il percorso in movimento per evitare collisioni e rispettare il codice della strada
  • Content-based image retrieval, ovvero il recupero delle immagini basato sul contenuto. L’utilizzo della Computer Vision per ricercare e recuperare immagini da grandi archivi di dati, basandosi sul contenuto delle immagini piuttosto che sui tag dei metadati ad esse associati. Questa attività può includere un’annotazione automatica dell’immagine che sostituisce quella manuale. Questi compiti possono essere utilizzati per i sistemi di gestione delle risorse digitali e possono aumentare la precisione della ricerca e del ritrovamento.

I settori in cui viene applicata la Computer Vision

I settori, che vedono una significativa implementazione della Computer Vision, e le soluzioni più rilevanti sono:

Health

AI, machine learning e computer vision hanno portato dei grandissimi progressi tecnologici in campo medico e scientifico, supportando la ricerca e favorendo analisi e diagnosi avanzate e precise. L’image recognition vuol dire riduzione del tempo per le diagnosi garantendo accuratezza e precisione, soprattutto in campo oncologico.

L’AI e la computer vision hanno trasformato il metodo di valutazione dei tumori. I medici utilizzano la tecnologia di computer vision e i modelli di deep learning, anche, per accelerare e approfondire l’analisi della risposta ai trattamenti chemioterapici. Ciò consente loro di identificare più velocemente i pazienti candidati all’intervento chirurgico, con una precisione salvavita.

Automotive

La computer vision è impiegata nel ridurre gli incidenti stradali.
Secondo l’OMS gli incidenti stradali diventeranno nel 2030 la settima causa di morte e si stima che circa il 20% degli incidenti stradali siano dovuti a stanchezza o distrazioni alla guida.

Uno dei progetti più ambiziosi in ambito di sicurezza stradale è quello di Waymo, l’auto a guida autonoma di Google, equipaggiata con sensori e software, che individuano pedoni, ciclisti, veicoli, cantieri stradali e altri oggetti con una visuale a 360° e un raggio d’azione che raggiunge i 300 metri di distanza.

I veicoli di Tesla sono dotati di 8 videocamere che permettono una visuale a 360° nel raggio di 250 metri, una rete di sensori ad ultrasuoni per identificare la consistenza degli oggetti e un radar che analizza le condizioni meteo.

Contraffazione

La Visione artificiale è un valido strumento per combattere la contraffazione in abbinamento ad altre tecnologie IoTÈ possibile rilevare un marchio o un logo per confrontarlo con l’originale e verificare così l’autenticità del prodotto in tempo reale.

Smart Retail

L’applicazione della visione artificiale nell’ambito del retail, dando luogo al termine Smart Retail.

Grazie al sistema di computer vision di Amazon go, per esempio, basato su un complesso numero di telecamere e software all’avanguardia, il cliente può̀ entrare nel negozio, prelevare i prodotti che gli interessano e uscire senza fare la fila, né svuotare il carrello.

È possibile, poi, identificare le persone presenti all’interno di un luogo rilevando il sesso, l’età̀, l’etnia, il colore degli occhi e perfino le emozioni che stanno provando, mentre si passeggia per gli store, consentendo di creare promozioni personalizzate.

È possibile creare percorsi personalizzati e specifici all’interno dello store, così da creare un percorso e un’esperienza di acquisto unica, basata sugli interessi del cliente.

Grazie all’analisi dei Big Data rilevati con i sistemi di computer vision e deep learning è possibile posizionare i prodotti nel punto migliore dello store, per essere acquistati, consentendo non solo di vendere meglio, ma di limitare lo spreco.

Controllo qualità

Il controllo qualità è la fase produttiva in cui si verifica che un prodotto, una componente, una confezione o qualsiasi altro oggetto sia stato realizzato esattamente come si intendeva farlo, rispondendo ai requisiti richiesti.

La tecnologia più affidabile e veloce per controllare la qualità di un prodotto è senza dubbio la Visione artificiale. Si tratta di un sistema basato sull’utilizzo di piccole, ma potenti camere di visione, che catturano migliaia di immagini ad altissima definizione del prodotto da controllare.

Il software, che governa questi dispositivi, elabora fotogrammi, li confronta con le immagini di riferimento, che mostrano la versione “perfetta” del prodotto e verifica la rispondenza di qualsiasi parametro ai valori attesi. Se il prodotto rispetta tali parametri prosegue la sua corsa, altrimenti il suo cammino si interrompe in quel momento. Il controllo di qualità attraverso i sistemi di visione artificiale può avvenire secondo diverse modalità e può riguardare diverse fasi produttive. Solitamente, si utilizzano microcamere ad altissima risoluzione direttamente a bordo delle linee di produzione o di confezionamento. L’intero processo, dall’acquisizione delle immagini alla restituzione del risultato in termini di qualità, si consuma in un tempo brevissimo, in cui il sistema di visione dice, con un segnale luminoso o sonoro, se il pezzo può proseguire il suo percorso, cioè se è di qualità oppure no.

Un’altra modalità con cui la Computer vision effettua l’ispezione operativa e il controllo dei parametri di qualità è rappresentata dalla robotica collaborativa antropomorfa.

Le potenzialità della machine vision sono pressoché infinite e danno spazio ad un numero enorme di applicazioni diverse, non solo finalizzate al controllo qualità. Restando, però, in quest’ambito le applicazioni più tipiche dei sistemi di visione sono quelle che riguardano il controllo del confezionamento di un prodotto, verificando che un pezzo sia stato prodotto nelle giuste dimensioni e nella giusta forma, oppure a fare delle misurazioni sia bidimensionali che tridimensionali.

Vi sono poi applicazioni maggiormente orientate al controllo del confezionamento e del packaging, sia attraverso una verifica delle confezioni che del loro contenuto.

Le camere di visione artificiale più avanzate, inoltre, sono anche in grado di leggere qualsiasi tipo di codice a barre nel momento in cui fotografano l’oggetto. Addirittura oggi esistono scanner industriali fissi, quindi lettori barcode da montare a bordo linea, in grado di “trasformarsi”, grazie al potente software che li anima, in vere e proprie camere di visione con avanzate funzioni di Computer Vision, andando a racchiudere le funzionalità di due dispositivi in uno solo.

L’implementazione della visione artificiale nell’industria vuol dire anche:

  • Manutenzione predittiva, per il monitoraggio di asset industriali in ottica di manutenzione predittiva.
  • Sicurezza nei luoghi di lavoro, per monitorare le immagini dell’impianto, dei lavoratori e delle loro azioni, in modo da individuare eventuali situazioni di rischio e/o evitare incidenti dannosi per le persone o per l’ambiente.

I più popolari tool 2023

Ad oggi esistono molti tool e progetti che consentono il riconoscimento del contenuto di un’immagine basati sulla tecnologia di visione artificiale. I progetti più in vista sono:

OpenCV – Real-Time Computer Vision Library

OpenCV è una libreria software open source per l’apprendimento automatico e la visione artificiale. Creato con l’obiettivo di fornire un’infrastruttura comune per le applicazioni di computer vision, OpenCV consente l’accesso a oltre 2.500 algoritmi classici e all’avanguardia. Questi algoritmi sono utili per diversi compiti, tra cui il rilevamento e il riconoscimento del volto, la rimozione degli occhi rossi, l’identificazione degli oggetti, l’estrazione di modelli 3D di oggetti, il monitoraggio di oggetti in movimento e la cucitura di più fotogrammi in un’immagine ad alta risoluzione.

OpenCV ha interfacce multiple come C++, Python, Java e MATLAB, e supporta la maggior parte dei sistemi operativi, inclusi Windows, Android, Linux e Mac. E’ ampiamente utilizzata da aziende tra cui Google, Facebook, IBM, Toyota, Sony, Honda e Microsoft.

Pro: Strumento standard per l’elaborazione delle immagini. L’utilizzo è gratuito, ed è open-source Offre accesso a più di 2.500 algoritmi Consente di modificare il codice per servire scopi specifici Contro: Non è così facile da usare come altri strumenti

Viso Suite – No-Code Computer Vision Platform

E’ una piattaforma end-to-end di computer vision, che consente alle aziende di creare, distribuire e monitorare applicazioni di computer vision reali. La piattaforma no-code si basa su uno stack software best-in-class per la computer vision, che include CVAT, OpenCV, OpenVINO, tensorflow o PyTorch. Viso Suite comprende oltre 15 prodotti in un’unica soluzione, tra cui annotazione delle immagini, formazione sui modelli, gestione dei modelli, sviluppo di applicazioni no-code, gestione dei dispositivi, comunicazione IoT e dashboard personalizzati. Le aziende e le organizzazioni governative di tutto il mondo utilizzano Viso Suite per creare e gestire il loro portafoglio di applicazioni di Computer Vision per l’automazione industriale, ispezione visiva, monitoraggio remoto e altro. L’architettura model-driven fornisce un’infrastruttura robusta e sicura. L’architettura modulare consente di utilizzare qualsiasi telecamera (CCTV, IP, USB, ecc.), qualsiasi hardware di calcolo (CPU, GPU, VPU, TPU, ecc.), o framework ML. L’elevata affidabilità semplifica l’aggiunta di codice personalizzato o l’integrazione con Tableau, PowerBI, SAP o database esterni (AWS S3, MongoDB, ecc.).

Pro: Piattaforma end-to-end per creare e distribuire tutte le applicazioni di Computer Vision con un’unica soluzione. Multipiattaforma per costruire e distribuire ovunque, usando qualsiasi telecamera o modello di IA. Gestione completa dei dispositivi edge, distribuzione sicura a una vasta flotta di dispositivi. Adatto a squadre professionali, esperti di visione e sviluppatori di nuova formazione. Livello aziendale, sicurezza zero-trust, gestione degli accessi e privacy completa dei dati. Contro: La piattaforma aziendale non ha un piano gratuito.

TensorFlow – Software Library for Machine Learning

E’ una delle piattaforme di apprendimento automatico open-source end -to-end più popolari con un set completo di strumenti, risorse e librerie. Tensorflow è particolarmente utile per la costruzione e l’implementazione di applicazioni legate alla computer vision alimentate dal machine learning. Tensorflow è uno degli strumenti di computer vision più semplici e consente agli utenti di sviluppare modelli di apprendimento automatico relativi alla visione artificiale per attività come il riconoscimento facciale, la classificazione delle immagini, il rilevamento di oggetti e altro ancora. Tensorflow, come OpenCV, supporta anche vari linguaggi come Python, C, C++, Java o JavaScript.

Pro: È una piattaforma open-source. E’ compatibile con più lingue. Fornisce aggiornamenti costanti. Caratteristiche potenti e buone prestazioni Contro: Si tratta di un toolkit estremamente affamato di risorse

MATLAB – Piattaforma di programmazione per ingegneri e scienziati

E’ una piattaforma di programmazione utile per una vasta gamma di applicazioni come l’apprendimento automatico, l’apprendimento approfondito e l’elaborazione di immagini, video e segnali. Viene fornito con un toolbox di visione computerizzata che ha più funzioni, app e algoritmi per aiutare a progettare soluzioni per attività legate alla visione artificiale.

Pro: È facile da usare e imparare; ci sono molte risorse gratuite; linguaggio di programmazione facile; codifica molto veloce; eccellente per la prototipazione; comodo processo di debug automatico. Considerato il miglior strumento per i ricercatori. Tutte le funzioni sono molto ben documentate

Contro: Lo strumento non è gratuito. È piuttosto lento per molti compiti. Non è facile da integrare con strumenti di terze parti

CAFFE – Fast Open Framework for Deep Learning CAFFE

O Architettura Convoluzionale per Fast Feature Embedding è un framework di deep learning e Computer Vision sviluppato presso l’Università della California, Berkeley. Questo framework è scritto nel linguaggio di programmazione C++ e supporta molteplici architetture di deep learning relative alla classificazione e segmentazione delle immagini. È particolarmente utile per la ricerca e l’implementazione industriale grazie alla sua eccellente velocità e capacità di elaborazione delle immagini.

Pro: È open-source. Veloce e facile da usare. Supporta più lingue. Contro: La documentazione potrebbe essere migliorata. Fornisce solo un supporto parziale per la formazione multi-GPU

DeepFace – Free Deep Learning Library for Face Recognition

E’ attualmente la più popolare libreria open source per il riconoscimento facciale con deep learning. La libreria offre un modo semplice per eseguire la visione computerizzata basata sul riconoscimento facciale con Python.

Pro: È gratuito e open-source, anche per uso commerciale. Facile da installare. Supporta i popolari modelli e rilevatori. Ottimizzato per eseguire inferenza in tempo reale sul dispositivo (Edge AI)  Contro: Nessuna API Cloud è disponibile

YOLO – Real-Time Object Detection You Only Look Once o YOLOv7

E’ tra i più veloci vision tool da utilizzare nel 2023. Sviluppato da Joseph Redmon e Ali Farhadi nel 2016, è stato appositamente realizzato per il rilevamento di oggetti in tempo reale. Più veloce di tutti gli altri strumenti di rilevamento oggetti, YOLO deve la sua velocità all’applicazione di una rete neurale all’immagine completa, che poi divide l’immagine in griglie. Il software, quindi, prevede simultaneamente le probabilità di ogni griglia. Dopo l’immensamente popolare YOLOv3 e YOLOv4, YOLO ha raggiunto le migliori prestazioni con YOLOv7, rilasciato nel 2022.

Pro: È eccezionalmente veloce. Lo strumento è altamente accurato, con errori minimi di sfondo L’algoritmo ha capacità di apprendimento di prim’ordine

Contro: Non è così efficace nel rilevare piccoli oggetti. Vi è un supporto limitato della comunità

Computer Vision, le criticità

Lo sviluppo di soluzioni di Computer Vision comporta delle difficoltà. Nel caso della Image Classification, per esempio, l’immagine potrebbe essere ambigua ed essere associabile a più opzioni, quindi, l’algoritmo deve essere in grado di attribuire l’etichetta più adeguata. Nel caso della Image Segmentation occorre non solo individuare le entità all’interno dell’immagine, ma anche delimitarle e analizzarle singolarmente.

Più in generale, tra le principali criticità nell’implementazione di progetti di Computer Vision si individuano:

  • creare un dataset sufficientemente ampio per l’addestramento dell’algoritmo;
  • insegnare all’algoritmo a comprendere l’immagine anche in presenza di trasformazioni, come condizioni di luminosità non ottimale, deformazione o copertura parziale del soggetto, variazioni di scala.

La Computer Vision sta affrontando sfide complesse anche se il sistema non è ancora perfetto e, come la vista umana, commette degli errori.