La Computer Vision, o Visione Artificiale, rappresenta l’affascinante capacità di analisi e interpretazione delle immagini da parte dei sistemi intelligenti. Questa tecnologia emerge come una delle soluzioni software più promettenti nel panorama dell’Intelligenza Artificiale, capace di rivoluzionare numerosi settori. Nonostante in Italia molte implementazioni siano ancora in fase embrionale, cresce costantemente il numero di aziende che rivolgono uno sguardo interessato verso questo ambito innovativo. Attraverso la Ricerca dell’Osservatorio Artificial Intelligence della POLIMI School of Management, esploreremo in questo articolo i fondamenti della Computer Vision, il suo funzionamento e i principali campi applicativi che stanno trasformando il modo in cui le macchine “vedono” e comprendono il mondo visivo che ci circonda.
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.
La storia della Computer Vision
La Visione Artificiale ha radici che affondano nei primi anni ’60, quando i pionieri dell’informatica iniziarono a esplorare la possibilità di dotare le macchine della capacità di “vedere”. Il primo tentativo significativo risale al 1966, quando il ricercatore del MIT Seymour Papert avviò il “Summer Vision Project”, con l’ambizioso obiettivo di creare un sistema capace di riconoscere oggetti nelle immagini. Quello che sembrava un traguardo raggiungibile in pochi mesi si rivelò invece una sfida decennale.
Gli anni ’70 e ’80 videro progressi incrementali nella Computer Vision, con lo sviluppo di algoritmi per il rilevamento di bordi e forme, ma le limitazioni hardware e la complessità matematica rallentarono l’avanzamento. È solo negli anni ’90, con l’introduzione di approcci statistici e l’aumento della potenza di calcolo, che la Visione Artificiale iniziò a mostrare risultati promettenti in applicazioni reali.
La vera rivoluzione, tuttavia, è avvenuta nel 2012 con la vittoria schiacciante di AlexNet, una rete neurale convoluzionale (CNN), nella competizione ImageNet. Questo momento segnò l’inizio dell’era moderna della Computer Vision, dominata dal Deep Learning. Da allora, i progressi sono stati esponenziali, portando a sistemi capaci di superare le performance umane in compiti specifici di riconoscimento visivo, aprendo la strada alle molteplici applicazioni che oggi trasformano industrie, medicina, sicurezza e la nostra vita quotidiana.
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 Visione Artificiale 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.
I rischi legati alla Computer Vision
Lo sviluppo di soluzioni di Computer Vision, nonostante i notevoli progressi, comporta ancora sfide significative e rischi che meritano un’attenta considerazione. Questi non sono semplici ostacoli tecnici, ma questioni fondamentali che possono determinare l’affidabilità e l’eticità di questi sistemi.
Innanzitutto, l’ambiguità intrinseca delle immagini rappresenta una sfida centrale. Nel caso della Image Classification, un’immagine potrebbe contenere elementi che la rendono associabile a molteplici categorie. L’algoritmo deve quindi essere in grado di attribuire l’etichetta più adeguata in base al contesto e all’obiettivo specifico dell’applicazione. Similmente, nell’Image Segmentation non basta individuare le entità all’interno dell’immagine, ma occorre delimitarle con precisione e analizzarle singolarmente, una complessità che aumenta esponenzialmente in scene affollate o con oggetti parzialmente sovrapposti.
I sistemi di Computer Vision possono anche ereditare e amplificare pregiudizi presenti nei dati di addestramento. Ad esempio, algoritmi addestrati principalmente su immagini di persone con determinate caratteristiche etniche potrebbero avere prestazioni significativamente inferiori quando applicati a gruppi sottorappresentati, portando a discriminazioni algoritmiche con impatti reali su individui e comunità.
La privacy rappresenta un’altra area di preoccupazione crescente. Le tecnologie di riconoscimento facciale, in particolare, sollevano interrogativi sulla sorveglianza di massa e sul potenziale uso improprio da parte di governi o aziende private. L’identificazione automatica di individui in spazi pubblici, senza esplicito consenso, sfida i principi fondamentali della privacy in molte società democratiche.
Più in generale, tra le principali criticità nell’implementazione di progetti di Visione Artificiale si individuano:
- la necessità di creare un dataset sufficientemente ampio e rappresentativo per l’addestramento dell’algoritmo, evitando distorsioni sistematiche;
- la robustezza, ovvero 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);
- la vulnerabilità ad attacchi avversari, dove minime perturbazioni delle immagini, impercettibili all’occhio umano, possono indurre classificazioni completamente errate;
- la trasparenza e interpretabilità dei modelli, particolarmente critiche in applicazioni ad alto rischio come la diagnostica medica o i sistemi di sicurezza autonomi.
Affrontare questi rischi richiede un approccio multidisciplinare che combini innovazione tecnica, considerazioni etiche e quadri normativi adeguati, per garantire che la Computer Vision porti benefici alla società senza compromettere valori fondamentali.
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 ela 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).
Contenuti suggeriti dell’Osservatorio Artificial Intelligence