Una storia dei modelli di visione
Esplora la storia, i risultati, le sfide e le direzioni future dei modelli di visione.

Cos'è la computer vision#
Immagina di entrare in un negozio in cui una telecamera identifica il tuo viso, analizza il tuo umore e suggerisce prodotti su misura per le tue preferenze, il tutto in tempo reale. Questa non è fantascienza, ma una realtà resa possibile dai moderni vision models. Secondo un report di Fortune Business Insight, le dimensioni del mercato globale della computer vision sono state valutate a 20,31 miliardi di USD nel 2023 e si prevede che cresceranno da 25,41 miliardi di USD nel 2024 a 175,72 miliardi di USD entro il 2032, riflettendo la rapida evoluzione e la crescente adozione di questa tecnologia in vari settori.
Il campo della computer vision consente ai computer di rilevare, identificare e analizzare oggetti all'interno delle immagini. Similmente ad altri campi legati all'IA, la computer vision ha vissuto una rapida evoluzione negli ultimi decenni, ottenendo notevoli progressi.
La storia della computer vision è vasta. Nei suoi primi anni, i modelli di computer vision erano in grado di rilevare semplici forme e bordi, spesso limitati a compiti di base come il riconoscimento di pattern geometrici o la differenziazione tra aree chiare e scure. Tuttavia, i modelli di oggi possono eseguire compiti complessi come il real-time object detection, il riconoscimento facciale e persino l'interpretazione delle emozioni dalle espressioni facciali con eccezionale precisione ed efficienza. Questa drammatica progressione evidenzia gli incredibili passi avanti compiuti nella potenza di calcolo, nella sofisticatezza degli algoritmi e nella disponibilità di enormi quantità di dati per l'addestramento.
In questo articolo, esploreremo le pietre miliari dell'evoluzione della computer vision. Viaggeremo attraverso i suoi inizi, approfondiremo l'impatto trasformativo delle Convolutional Neural Networks (CNNs) ed esamineremo i significativi progressi che ne sono seguiti.
I primi passi della computer vision#
Come per altri campi dell'intelligenza artificiale, lo sviluppo iniziale della computer vision è iniziato con la ricerca fondamentale e il lavoro teorico. Una pietra miliare significativa è stata il lavoro pionieristico di Lawrence G. Roberts sul riconoscimento di oggetti 3D, documentato nella sua tesi "Machine Perception of Three-Dimensional Solids" nei primi anni '60. I suoi contributi hanno gettato le basi per i futuri progressi nel campo.
I primi algoritmi - rilevamento dei bordi#
La ricerca iniziale sulla computer vision si è concentrata su tecniche di elaborazione delle immagini, come il rilevamento dei bordi e l'estrazione di caratteristiche. Algoritmi come l'operatore di Sobel, sviluppato alla fine degli anni '60, sono stati tra i primi a rilevare i bordi calcolando il gradiente dell'intensità dell'immagine.

Fig 1. Un'immagine che mostra il rilevamento dei bordi, in cui il lato sinistro mostra l'oggetto originale e il lato destro mostra la versione con i bordi rilevati.
Tecniche come i rilevatori di bordi di Sobel e Canny hanno giocato un ruolo cruciale nell'identificazione dei confini all'interno delle immagini, che sono essenziali per riconoscere gli oggetti e comprendere le scene.
Machine learning e computer vision#
Riconoscimento dei pattern#
Negli anni '70, il riconoscimento dei pattern è emerso come un'area chiave della computer vision. I ricercatori hanno sviluppato metodi per riconoscere forme, texture e oggetti nelle immagini, il che ha aperto la strada a compiti di visione più complessi.

Fig 2. Riconoscimento dei pattern.
Uno dei primi metodi per il riconoscimento dei pattern prevedeva il template matching, dove un'immagine viene confrontata con una serie di template per trovare la corrispondenza migliore. Questo approccio era limitato dalla sua sensibilità alle variazioni di scala, rotazione e rumore.

Fig 3. Un template sul lato sinistro trovato all'interno dell'immagine a destra.
I primi sistemi di computer vision erano vincolati dalla limitata potenza computazionale dell'epoca. I computer negli anni '60 e '70 erano ingombranti, costosi e avevano capacità di elaborazione limitate.
Cambiare le regole del gioco con il Deep Learning#
Deep Learning e Convolutional Neural Networks#
Il deep learning e le Convolutional Neural Networks (CNNs) hanno segnato un momento cruciale nel campo della computer vision. Questi progressi hanno trasformato drasticamente il modo in cui i computer interpretano e analizzano i dati visivi, consentendo una vasta gamma di applicazioni precedentemente ritenute impossibili.
Come funzionano le CNN?#

Fig 4. Architettura di una Convolutional Neural Network (CNN).
- Convolutional Layers: le CNN utilizzano i convolutional layers, che sono un tipo di modello di deep learning progettato per elaborare dati strutturati simili a griglie, come immagini o sequenze, apprendendo automaticamente pattern gerarchici, per scansionare un'immagine utilizzando filtri o kernel. Questi filtri rilevano varie caratteristiche come bordi, texture e colori scorrendo l'immagine e calcolando i prodotti scalari. Ciascun filtro attiva pattern specifici nell'immagine, consentendo al modello di apprendere caratteristiche gerarchiche.
- Activation Functions: dopo la convoluzione, le funzioni di attivazione come ReLU (Rectified Linear Unit), che è una popolare funzione di attivazione nel deep learning che restituisce direttamente l'input se positivo e zero altrimenti, aiutano le reti neurali ad apprendere relazioni non lineari nei dati in modo efficiente. Questo aiuta la rete ad apprendere pattern e rappresentazioni complessi.
- Pooling Layers: i pooling layers forniscono un'operazione di downsampling che riduce la dimensionalità della mappa delle feature, aiutando a estrarre le caratteristiche più rilevanti riducendo al contempo il costo computazionale e l'overfitting.
- Livelli completamente connessi: I livelli finali di una CNN sono livelli completamente connessi che interpretano le caratteristiche estratte dai livelli convoluzionali e di pooling per fare previsioni. Questi livelli sono simili a quelli delle reti neurali tradizionali.
Evoluzione dei modelli di visione CNN#
Il percorso dei vision models è stato vasto e include alcuni dei più importanti:
-
LeNet (1989): LeNet è stata una delle prime architetture CNN, utilizzata principalmente per il riconoscimento delle cifre negli assegni scritti a mano. Il suo successo ha gettato le basi per CNN più complesse, dimostrando il potenziale del deep learning nell'elaborazione delle immagini.
-
AlexNet (2012): AlexNet ha superato significativamente i modelli esistenti nella competizione ImageNet, mostrando la potenza del deep learning. Questo modello ha utilizzato attivazioni ReLU, dropout e data augmentation, fissando nuovi standard nella classificazione delle immagini e suscitando un diffuso interesse per le CNN.
-
VGGNet (2014): Utilizzando filtri convoluzionali più piccoli (3x3), VGGNet ha ottenuto risultati impressionanti nei compiti di classificazione delle immagini, rafforzando l'importanza della profondità della rete nel raggiungere una maggiore precisione.
-
ResNet (2015): ResNet ha affrontato il problema del degrado nelle reti profonde introducendo l'apprendimento residuo. Questa innovazione ha permesso l'addestramento di reti molto più profonde, portando a prestazioni allo stato dell'arte in vari compiti di computer vision.
-
YOLO (You Only Look Once): YOLO ha rivoluzionato l'object detection formulandola come un singolo problema di regressione, prevedendo direttamente bounding boxes e probabilità di classe da immagini complete in un'unica valutazione. Questo approccio ha reso possibile il rilevamento di oggetti in tempo reale con velocità e precisione senza precedenti, rendendolo adatto ad applicazioni che richiedono un'elaborazione istantanea, come la guida autonoma e la sorveglianza.
Applicazioni della computer vision#
Sanità#
Gli usi della computer vision sono molteplici. Ad esempio, vision models come Ultralytics YOLOv8 sono utilizzati nel medical imaging per rilevare malattie come il cancro e la retinopatia diabetica. Analizzano radiografie, risonanze magnetiche e TAC con alta precisione, identificando precocemente le anomalie. Questa capacità di rilevamento precoce consente interventi tempestivi e migliori risultati per i pazienti.

Fig 5. Rilevamento di tumori cerebrali tramite Ultralytics YOLOv8.
Tutela dell'ambiente#
I modelli di computer vision aiutano a monitorare e proteggere le specie in via di estinzione analizzando immagini e video provenienti dagli habitat naturali. Identificano e tracciano il comportamento degli animali, fornendo dati sulla popolazione e sui loro spostamenti. Questa tecnologia orienta le strategie di conservazione e le decisioni politiche per proteggere specie come tigri ed elefanti.
Con l'ausilio della vision AI è possibile monitorare altre minacce ambientali, come gli incendi boschivi e la deforestazione, garantendo tempi di risposta rapidi da parte delle autorità locali.

Fig 6. Un'immagine satellitare di un incendio boschivo.
Sfide e direzioni future#
Nonostante abbiano già raggiunto traguardi significativi, a causa della loro estrema complessità e della natura impegnativa del loro sviluppo, i modelli di visione affrontano numerose sfide che richiedono ricerca continua e futuri progressi.
Interpretabilità e spiegabilità#
I modelli di visione, specialmente quelli di deep learning, sono spesso visti come "black box" con una trasparenza limitata. Ciò è dovuto al fatto che tali modelli sono incredibilmente complessi. La mancanza di interpretabilità ostacola la fiducia e la responsabilità, specialmente in applicazioni critiche come la sanità, ad esempio.
Requisiti computazionali#
L'addestramento e il deployment di modelli di IA allo stato dell'arte richiedono risorse computazionali significative. Questo è particolarmente vero per i modelli di visione, che spesso richiedono l'elaborazione di grandi quantità di dati di immagini e video. Immagini e video ad alta definizione, essendo tra gli input di addestramento più intensivi in termini di dati, aumentano il carico computazionale. Ad esempio, una singola immagine HD può occupare diversi megabyte di spazio di archiviazione, rendendo il processo di addestramento intensivo in termini di risorse e dispendioso in termini di tempo.
Ciò rende necessari hardware potenti e algoritmi di computer vision ottimizzati per gestire gli ampi dati e i calcoli complessi coinvolti nello sviluppo di modelli di visione efficaci. La ricerca su architetture più efficienti, sulla compressione dei modelli e su acceleratori hardware come GPU e TPU sono aree chiave che faranno progredire il futuro dei modelli di visione.
Questi miglioramenti mirano a ridurre le richieste di calcolo e ad aumentare l'efficienza di elaborazione. Inoltre, l'utilizzo di modelli pre-addestrati avanzati come Ultralytics YOLOv8 può ridurre significativamente la necessità di un addestramento estensivo, ottimizzando il processo di sviluppo e migliorando l'efficienza.
Un panorama in continua evoluzione#
Oggi le applicazioni dei vision models sono diffuse, spaziando dal settore sanitario, come il rilevamento dei tumori, a usi quotidiani come il monitoraggio del traffico. Questi modelli avanzati hanno portato innovazione in innumerevoli settori offrendo maggiore precisione, efficienza e capacità precedentemente inimmaginabili.
Mentre la tecnologia continua ad avanzare, il potenziale dei modelli di visione di innovare e migliorare vari aspetti della vita e dell'industria rimane sconfinato. Questa continua evoluzione sottolinea l'importanza della ricerca e dello sviluppo costanti nel campo della computer vision.
Curiosità sul futuro della vision AI? Per maggiori informazioni sugli ultimi progressi, esplora la Ultralytics Docs e dai un'occhiata ai loro progetti su Ultralytics GitHub e YOLOv8 GitHub. Inoltre, per approfondimenti sulle applicazioni dell'IA in vari settori, le pagine delle soluzioni dedicate a Auto a guida autonoma e Manifattura offrono informazioni particolarmente utili.






