Computer Vision: definizione, funzionamento e applicazioni

12 marzo 2024 / Di Redazione Osservatori Digital Innovation / 0 Comments

La Computer Vision rappresenta la capacità di indagine delle immagini. Si tratta di una delle soluzioni software più promettenti nell’ambito dell’Intelligenza Artificiale. Anche se in Italia molte progettualità sono ancora allo stato preliminare, sono sempre di più le imprese che rivolgono l’attenzione a questa tecnologia. Aiutati dall’Osservatorio Artificial Intelligence del Politecnico di Milano, in questo articolo vedremo:

  • cosa si intende con il termine Computer Vision?
  • come funziona la Computer Vision
  • Quali sono le principali applicazioni
  • Le tecniche di Deep Learning utilizzate

Cosa significa Computer Vision?

Per iniziare, definiamo con precisione il significato di Computer Vision:

La Computer Vision o visione artificiale è un campo di studi interdisciplinare che studia algoritmi e tecniche per permettere ai computer di riprodurre funzioni e processi dell’apparato visivo umano. Non si tratta solo di riuscire a riconoscere oggetti, persone o animali all’interno di un’immagine singola o in sequenza (video), ma soprattutto di estrarre informazioni utili per la loro elaborazione, a livelli sempre più alti di astrazione e comprensione. In altre parole, si tratta della capacità di ricostruire un contesto intorno all’immagine, dandole un vero e proprio significato.

Per poter funzionare correttamente, i sistemi di Computer Vision hanno bisogno di essere addestrati con una grande quantità di immagini. Tali immagini, opportunamente etichettate, andranno a costituire il dataset che potrà rendere l’algoritmo realmente intelligente.

Come funziona la Computer Vision?

L’attenzione verso la Computer Vision negli ultimi anni è fortemente cresciuta l’attenzione negli ultimi anni, grazie alla diffusione di immagini e video digitali e all’avvento di tecniche sempre più avanzate di Machine Learning. L’apprendimento automatico ha infatti permesso di raggiungere prestazioni paragonabili a quelle umane.

Ma, nella pratica, come funziona la Computer Vision? In cosa consistono queste tecniche di riconoscimento immagini e oggetti? Come avviene il riconoscimento immagini di una macchina? 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 effettuato. Tra i possibili task si individuano:

  • Image Classification: analisi del contenuto dell’immagine e attribuzione di un’etichetta (es. cane, gatto);
  • Object Detection: identificazione di una o più entità all’interno di un’immagine;
  • Image Segmentation: suddivisione dell’immagine in sezioni (es. per evidenziare i pixel di un referto medico in cui si riscontra un tumore);
  • Face Recognition: riconoscimento di volti di persone;
  • Action Recognition: identificazione di una o più entità e della loro relazione nel tempo e nello spazio, al fine di identificare e descrivere azioni specifiche (es. un calciatore che colpisce il pallone di testa);
  • Visual Relationship Detection: comprensione della relazione tra gli oggetti in un’immagine;
  • Emotion Recognition: rilevamento del sentimentdi un’immagine;
  • Image Editing: modifiche a un’immagine (es. oscuramento di dati sensibili).

Tra queste, attualmente le imprese rivolgono l’attenzione principalmente a soluzioni di Image Classification e Object Detection.

Lo sviluppo di soluzioni di Computer Vision, però, comporta non poche difficoltà. Per esempio, nel caso della Image Classification l’immagine potrebbe essere ambigua ed essere associabile a più opzioni. Di conseguenza, l’algoritmo deve essere in grado di attribuire l’etichetta più adeguata. O ancora, 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 (es. condizioni di luminosità non ottimale, deformazione o copertura parziale del soggetto, variazioni di scala).

Le applicazioni di Computer Vision

I sistemi di visione artificiale trovano numerose applicazioni. Si passa dal riconoscimento degli oggetti, alla biometria, fino alla smart surveillance (videocamere di sorveglianza intelligenti o in cloud per analizzare le immagini registrate e identificare infrazioni). Inoltre, la visione artificiale comprende anche il tracciamento di movimenti e l’analisi diagnostica in telemedicina.

In Italia le soluzioni di Computer Vision hanno assunto un ruolo chiave soprattutto in ambito industriale e manifatturiero, grazie alla possibilità di essere integrate direttamente sulle linee di produzione e negli ambienti di fabbrica. Ecco alcuni esempi di come le imprese stanno sfruttando questa tecnologia:

  • Manutenzione predittiva: algoritmi di Computer Vision per il monitoraggio di asset industriali – principalmente macchinari – in ottica di manutenzione predittiva, evitando fermi macchina e intervenendo su possibili guasti o malfunzionamenti);
  • Monitoraggio dei prodotti: sistemi per il controllo della qualità e l’analisi di eventuali difettosità dei prodotti, in modo da garantire il massimo livello di soddisfazione dei clienti e limitare eventuali problemi in fase di post-vendita;
  • Sicurezza nei luoghi di lavoro: sistemi per monitorare le immagini dell’impianto, dei lavoratori e delle loro azioni, in modo da individuare eventuali situazioni di rischio e/o incidenti dannosi per le persone o per l’ambiente.

Computer Vision: un esempio in ambito manifatturiero

A dimostrazione di quanto detto sulle applicazioni industriali della Computer Vision, riportiamo il caso della Gnutti Carlo S.P.A.. L’azienda manifatturiera ha sviluppato un progetto di automazione per l’identificazione delle non conformità di un componente per motori automotive. Il processo di controllo veniva svolto da personale addestrato e risultava dispendioso. Per tale ragione, dopo aver sperimentato tecniche di visione classica, l’azienda ha scelto di sfruttare l’AI e le sue potenzialità. Ha dunque adottato una soluzione di Computer Vision per identificare e classificare le anomalie presenti sulla superficie del componente meccanico.

Computer Vision e Deep Learning

I notevoli progressi che la Computer Vision sta registrando sono dovuti principalmente allo sviluppo delle tecniche di Deep Learning, il ramo più evoluto del Machine Learning.

Esistono diverse modalità con cui un’architettura di visione artificiale può estrarre informazioni dalle immagini scelte singolarmente o combinate a seconda delle esigenze dell’analisi. Queste sono l’Hand Crafted Features, la Computer Vision Features e la Data Driven Features.

L’Hand Crafted Features e si basa sul concetto che gli algoritmi possano estrarre e definire ciò che è rilevante nell’immagine (es. uno specifico colore/forma, area, grandezza). La seconda modalità, la Computer Vision Features, si fonda sulla suddivisione dell’immagine in piccole regioni per permettere un’analisi più approfondita. La vera frontiera della Computer Vision, però, sono le tecniche basate su Data Driven Features. Queste permettono il riconoscimento e la classificazione delle immagini (anche naturali) senza dover progettare la fase di estrazione dei features che viene svolta da particolari reti neurali: le reti neurali convoluzionali.

A loro volta, le reti neurali convoluzionali utilizzate per la classificazione delle immagini – che hanno contributo notevolmente allo sviluppo del Deep Learning – sono i principali esempi di Deep Neural Networks. Queste reti sono costituite da un elevato numero di layer (ossia strati di calcolo) e riescono a raggiungere dimensioni significative. E come si traduce questo in termini di comprensione delle immagini? Le reti deep sono altamente efficaci per l’analisi di immagini naturali e si prestano molto bene al transfer learning (ossia un insieme di tecniche che permette di riutilizzare reti addestrate in precedenza su grandi asset di dati, per risolvere task differenti e tipicamente più specifici).

Generative AI e Computer Vision

L'Intelligenza Artificiale Generativa nel campo della Computer Vision ha aperto nuove possibilità per la creazione e l'analisi di contenuti visivi. Sfruttando le tecniche di Generative AI, gli algoritmi di visione artificiale possono apprendere e formulare previsioni da un'ampia gamma di dati, risultando in un'analisi visiva più precisa e robusta.

La generazione di immagini sintetiche è difatti utile per ampliare i dataset di addestramento e accrescere la diversità dei dati. Si pensi ad esempio all’Object Detection o Face Recognition. In questo contesto la GenAI può creare immagini sintetiche simulando varie condizioni di luminosità, occlusioni o varie prospettive. Anche la metadatazione può subire benefici dalla Generative AI. Soluzioni di Computer Vision abbinate agli LLM (Large Language Model) possono ottimizzare il tagging delle immagini o la loro descrizione.

Infine, parlando di generazione di immagini non si può non citare il recente traguardo raggiunto da OpenAI (società proprietaria di ChatGPT) con il rilascio del suo modello Sora. Si tratta di un modello Text-to-video, basato su complesse reti neurali, in grado di realizzare filmati in alta risoluzione con immagini realistiche e dettagliate semplicemente partendo da un prompt di testo (ossia dall’istruzione data dall’utente alla piattaforma).

Vuoi conoscere tutte le opportunità dell'Intelligenza Artificiale per la tua azienda?

Scopri il Programma

  • Autore

Gli Osservatori Digital Innovation del Politecnico di Milano sono un punto di riferimento qualificato sull’Innovazione Digitale in Italia.