Controllo verde
Link copiato negli appunti

Storia dei modelli di visione

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

Cos'è la visione artificiale

Immagina di entrare in un negozio dove una telecamera identifica il tuo volto, analizza il tuo stato d'animo e ti suggerisce prodotti su misura per le tue preferenze, il tutto in tempo reale. Questa non è fantascienza, ma una realtà resa possibile dai moderni modelli di visione. Secondo un rapporto di Fortune Business Insight, le dimensioni del mercato globale della computer vision sono state valutate in 20,31 miliardi di dollari nel 2023 e si prevede una crescita da 25,41 miliardi di dollari nel 2024 a 175,72 miliardi di dollari entro il 2032, a testimonianza dei rapidi progressi e della crescente adozione di questa tecnologia in vari settori.

Il campo della computer vision consente ai computer di rilevare, identificare e analizzare gli oggetti all'interno delle immagini. Come altri campi legati all'intelligenza artificiale, la computer vision ha conosciuto una rapida evoluzione negli ultimi decenni, raggiungendo notevoli progressi. 

La storia della computer vision è lunga. Nei primi anni, i modelli di computer vision erano in grado di rilevare forme e bordi semplici, spesso limitati a compiti di base come il riconoscimento di modelli geometrici o la differenziazione tra aree chiare e scure. Oggi, invece, i modelli sono in grado di eseguire compiti complessi come il rilevamento di oggetti in tempo reale, il riconoscimento facciale e persino l'interpretazione delle emozioni dalle espressioni facciali con un'accuratezza e un'efficienza eccezionali. Questa straordinaria progressione evidenzia gli incredibili passi avanti compiuti nella potenza di calcolo, nella sofisticazione degli algoritmi e nella disponibilità di grandi quantità di dati per l'addestramento.

In questo articolo esploreremo le tappe fondamentali dell'evoluzione della computer vision. Passeremo in rassegna i suoi inizi, approfondiremo l'impatto trasformativo delle reti neurali convoluzionali (CNN) ed esamineremo i progressi significativi che sono seguiti.

Gli inizi della computer vision

Come in altri campi dell'intelligenza artificiale, i primi sviluppi della computer vision sono iniziati con ricerche fondamentali e lavori teorici. Una pietra miliare significativa è stata il lavoro pionieristico di Lawrence G. Roberts sul riconoscimento degli oggetti 3D, documentato nella sua tesi"Machine Perception of Three-Dimensional Solids" all'inizio degli anni '60. Il suo contributo ha gettato le basi per i futuri progressi del settore. I suoi contributi hanno gettato le basi per i futuri progressi nel campo.

I primi algoritmi - Rilevamento dei bordi

Le prime ricerche sulla computer vision si sono concentrate sulle tecniche di elaborazione delle immagini, come il rilevamento dei bordi e l'estrazione delle 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.

Figura 1. Un'immagine che dimostra il rilevamento dei bordi, in cui il lato sinistro mostra l'oggetto originale e il lato destro la versione rilevata dei bordi.

Tecniche come i rilevatori di bordi di Sobel e Canny hanno svolto un ruolo cruciale nell'identificazione dei confini all'interno delle immagini, essenziali per il riconoscimento degli oggetti e la comprensione delle scene.

Apprendimento automatico e visione artificiale

Riconoscimento dei modelli

Negli anni '70, il riconoscimento dei pattern è emerso come un'area chiave della computer vision. I ricercatori hanno sviluppato metodi per il riconoscimento di forme, texture e oggetti nelle immagini, che hanno aperto la strada a compiti di visione più complessi.

Figura 2. Riconoscimento dei modelli.

Uno dei primi metodi per il riconoscimento dei modelli prevedeva la corrispondenza dei modelli, in cui un'immagine viene confrontata con un insieme di modelli per trovare la migliore corrispondenza. Questo approccio era limitato dalla sua sensibilità alle variazioni di scala, rotazione e rumore.

Figura 3. Un modello sul lato sinistro trovato all'interno dell'immagine di destra.

I primi sistemi di computer vision erano limitati dalla limitata potenza di calcolo dell'epoca. I computer degli anni '60 e '70 erano ingombranti, costosi e con capacità di elaborazione limitate.

Cambiare il gioco con il Deep Learning

Apprendimento profondo e reti neurali a convoluzione

L'apprendimento profondo e le reti neurali convoluzionali (CNN) hanno segnato un momento cruciale nel campo della computer vision. Questi progressi hanno trasformato radicalmente il modo in cui i computer interpretano e analizzano i dati visivi, rendendo possibile un'ampia gamma di applicazioni che prima erano ritenute impossibili.

Come funzionano le CNN?

Figura 4. Architettura di una rete neurale convoluzionale (CNN).

  1. Livelli convoluzionali: Le CNN utilizzano i livelli convoluzionali, che sono un tipo di modello di apprendimento profondo progettato per l'elaborazione di dati strutturati di tipo reticolare, come immagini o sequenze, attraverso l'apprendimento automatico di modelli gerarchici. per analizzare un'immagine utilizzando filtri o kernel. Questi filtri rilevano varie caratteristiche come bordi, texture e colori scorrendo sull'immagine e calcolando i prodotti dei punti. Ogni filtro attiva modelli specifici nell'immagine, consentendo al modello di apprendere caratteristiche gerarchiche.
  2. Funzioni di attivazione: Dopo la convoluzione, le funzioni di attivazione come la ReLU (Rectified Linear Unit), una funzione di attivazione molto diffusa nell'apprendimento profondo, che produce direttamente l'input se positivo e zero altrimenti, aiutando le reti neurali ad apprendere in modo efficiente le relazioni non lineari nei dati. Questo aiuta la rete ad apprendere modelli e rappresentazioni complesse.
  3. Livelli di pooling: I livelli di pooling forniscono un'operazione di downsampling che riduce la dimensionalità della mappa delle caratteristiche, aiutando a estrarre le caratteristiche più rilevanti e riducendo i costi computazionali e l'overfitting.
  4. Livelli completamente connessi: Gli strati finali di una CNN sono strati completamente connessi che interpretano le caratteristiche estratte dagli strati convoluzionali e di pooling per fare previsioni. Questi strati sono simili a quelli delle reti neurali tradizionali.

‍Evoluzionedei modelli di visione CNN

Il viaggio dei modelli di visione è stato lungo, con 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 dell'apprendimento profondo nell'elaborazione delle immagini.
  • AlexNet (2012): AlexNet ha superato in modo significativo i modelli esistenti nella competizione ImageNet, mostrando la potenza del deep learning. Questo modello ha utilizzato le attivazioni ReLU, il dropout e l'aumento dei dati, stabilendo nuovi parametri di riferimento nella classificazione delle immagini e suscitando un interesse diffuso 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 per ottenere una maggiore precisione.
  • ResNet (2015): ResNet ha affrontato il problema della degradazione nelle reti profonde introducendo l'apprendimento residuale. Questa innovazione ha permesso di addestrare reti molto più profonde, ottenendo prestazioni all'avanguardia in diversi compiti di computer vision.
  • YOLO (You Only Look Once): YOLO ha rivoluzionato il rilevamento degli oggetti inquadrandolo come un unico problema di regressione, prevedendo direttamente le bounding box e le probabilità di classe da immagini complete in un'unica valutazione. Questo approccio ha permesso di rilevare gli oggetti in tempo reale con una velocità e una precisione senza precedenti, rendendolo adatto ad applicazioni che richiedono un'elaborazione istantanea, come la guida autonoma e la sorveglianza.

‍Applicazioni di visione computerizzata

Assistenza sanitaria

‍Gliusi della computer vision sono numerosi. Ad esempio, modelli di visione come Ultralytics YOLOv8 sono utilizzati nell'imaging medico per rilevare malattie come il cancro e la retinopatia diabetica. Analizzano i raggi X, le risonanze magnetiche e le TAC con grande precisione, identificando precocemente le anomalie. Questa capacità di diagnosi precoce consente di intervenire tempestivamente e di migliorare i risultati dei pazienti.

Figura 5. Rilevamento del tumore al cervello utilizzando Ultralytics YOLOv8.

Conservazione dell'ambiente

I modelli di visione computerizzata aiutano a monitorare e proteggere le specie in via di estinzione analizzando le immagini e i video degli habitat della fauna selvatica. Identificano e seguono il comportamento degli animali, fornendo dati sulla loro popolazione e sui loro movimenti. Questa tecnologia informa le strategie di conservazione e le decisioni politiche per proteggere specie come tigri ed elefanti.

Con l'aiuto dell'intelligenza artificiale, è possibile monitorare altre minacce ambientali come gli incendi e la deforestazione, garantendo tempi di risposta rapidi da parte delle autorità locali.

Figura 6. Immagine satellitare di un incendio selvaggio.

Sfide e direzioni future

Anche se hanno già ottenuto risultati significativi, a causa della loro estrema complessità e della natura impegnativa del loro sviluppo, i modelli di visione devono affrontare numerose sfide che richiedono una ricerca continua e progressi futuri.

Interpretabilità e spiegabilità

I modelli di visione, soprattutto quelli di deep learning, sono spesso visti come "scatole nere" con una trasparenza limitata. Ciò è dovuto al fatto che questi modelli sono incredibilmente complessi. La mancanza di interpretabilità ostacola la fiducia e la responsabilità, soprattutto in applicazioni critiche come quelle sanitarie.

Requisiti di calcolo

L'addestramento e l'implementazione di modelli di intelligenza artificiale all'avanguardia richiedono notevoli risorse computazionali. Questo è particolarmente vero per i modelli di visione, che spesso richiedono l'elaborazione di grandi quantità di dati di immagini e video. Le immagini e i video ad alta definizione, essendo tra gli input di formazione che richiedono più dati, aumentano il carico computazionale. Ad esempio, una singola immagine HD può occupare diversi megabyte di memoria, rendendo il processo di addestramento dispendioso in termini di risorse e tempo. Ciò richiede un hardware potente e algoritmi di computer vision ottimizzati per gestire i numerosi dati e i complessi calcoli necessari per sviluppare modelli di visione efficaci. La ricerca su architetture più efficienti, la compressione dei modelli e gli acceleratori hardware come le GPU e le 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 avanzati pre-addestrati, come ad esempio YOLOv8 può ridurre significativamente la necessità di un addestramento approfondito, snellendo il processo di sviluppo e migliorando l'efficienza.

Un paesaggio in continua evoluzione

Al giorno d'oggi, le applicazioni dei modelli di visione sono molto diffuse e spaziano dalla sanità, come il rilevamento dei tumori, agli usi quotidiani come il monitoraggio del traffico. Questi modelli avanzati hanno portato innovazione in innumerevoli settori, fornendo una maggiore precisione, efficienza e capacità che prima erano inimmaginabili. Con l'avanzare della tecnologia, il potenziale dei modelli di visione per innovare e migliorare vari aspetti della vita e dell'industria rimane illimitato. Questa continua evoluzione sottolinea l'importanza di una continua ricerca e sviluppo nel campo della computer vision.

Sei curioso di conoscere il futuro dell'IA visiva? Per maggiori informazioni sugli ultimi progressi, esplora i documenti di Ultralytics e dai un'occhiata ai progetti su Ultralytics GitHub e YOLOv8 GitHub. Inoltre, per conoscere le applicazioni dell'IA in vari settori, le pagine dedicate alle soluzioni per le auto a guida autonoma e per il settore manifatturiero offrono informazioni particolarmente utili.

Logo di FacebookLogo di TwitterLogo di LinkedInSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico