Esploriamo come funzionano le applicazioni della visione artificiale
Immergiti con noi nelle applicazioni della computer vision. Esamineremo anche vari compiti di computer vision come il rilevamento degli oggetti e la segmentazione.

Quando abbiamo esplorato la storia dei modelli di computer vision, abbiamo visto come la computer vision si è evoluta e il percorso che ha portato agli avanzati modelli di visione che abbiamo oggi. I moderni modelli come Ultralytics YOLOv8 supportano molteplici task di computer vision e vengono utilizzati in varie ed entusiasmanti applicazioni.
In questo articolo, daremo uno sguardo alle basi della computer vision e dei modelli di visione. Tratteremo il loro funzionamento e le loro diverse applicazioni in svariati settori. Le innovazioni della computer vision sono ovunque, plasmando silenziosamente il nostro mondo. Scopriamole una per una!
Link to this sectionCos'è la computer vision?#
L'intelligenza artificiale (AI) è un termine generale che racchiude molte tecnologie volte a replicare una parte dell'intelligenza umana. Uno di questi sottocampi dell'AI è la computer vision. La computer vision si concentra sul dare alle macchine occhi in grado di vedere, osservare e comprendere ciò che le circonda.
Proprio come la visione umana, le soluzioni di computer vision mirano a distinguere oggetti, calcolare distanze e rilevare movimenti. Tuttavia, a differenza degli esseri umani, che dispongono di una vita di esperienze per aiutarli a vedere e capire, i computer si basano su enormi quantità di dati, telecamere ad alta definizione e algoritmi complessi.

Fig 1. Confronto tra Visione Umana e Computer Vision.
I sistemi di computer vision possono elaborare e analizzare dati visivi come immagini e video con velocità e precisione incredibili. La capacità di analizzare rapidamente e accuratamente vaste quantità di informazioni visive rende la computer vision un potente strumento in vari settori, che spaziano dalla produzione all'assistenza sanitaria.
Link to this sectionI modelli di visione supportano vari task di computer vision#
I modelli di computer vision sono il nucleo di qualsiasi applicazione di computer vision. Sono essenzialmente algoritmi computazionali basati su tecniche di deep learning, progettati per conferire alle macchine la capacità di interpretare e comprendere le informazioni visive. I modelli di visione abilitano cruciali task di computer vision, che vanno dalla classificazione delle immagini al rilevamento degli oggetti. Diamo uno sguardo più da vicino ad alcuni di questi task e ai loro casi d'uso in modo più dettagliato.
Link to this sectionClassificazione immagini#
La classificazione delle immagini implica la categorizzazione e l'etichettatura delle immagini in classi o categorie predefinite. Un modello di visione come YOLOv8 può essere addestrato su ampi dataset di immagini etichettate. Durante l'addestramento, il modello impara a riconoscere pattern e caratteristiche associati a ciascuna classe. Una volta addestrato, può prevedere la categoria di immagini nuove e mai viste prima analizzandone le caratteristiche e confrontandole con i pattern appresi.

Fig 2. Un esempio di classificazione delle immagini. (fonte: towardsdatascience.com)
Esistono diversi tipi di classificazione delle immagini. Ad esempio, quando lavori con immagini mediche, puoi utilizzare la classificazione binaria per dividere le immagini in due gruppi, come sano o malato. Un altro tipo è la classificazione multiclasse. Può aiutare a classificare le immagini in molti gruppi, come la classificazione di diversi animali in una fattoria come maiali, capre e mucche. Oppure, supponiamo che tu voglia classificare gli animali in gruppi e sottogruppi, come classificare gli animali in mammiferi e uccelli e poi ulteriormente in specie come leoni, tigri, aquile e passeri; la classificazione gerarchica sarebbe l'opzione migliore.
Link to this sectionObject detection#
L'object detection è il processo di identificazione e localizzazione di oggetti in immagini e fotogrammi video utilizzando la computer vision. Consiste in due task: localizzazione degli oggetti, che disegna bounding box attorno agli oggetti, e classificazione degli oggetti, che identifica la categoria di ogni oggetto. Sulla base delle annotazioni dei bounding box, un modello di visione può imparare a riconoscere pattern e caratteristiche specifici per ogni categoria di oggetto e prevedere la presenza e la posizione di tali oggetti in immagini nuove e mai viste prima.

Fig 3. Object detection con YOLOv8 utilizzata per rilevare giocatori su un campo da calcio.
L'object detection ha molti casi d'uso in diversi settori, ovunque, dallo sport alla biologia marina. Ad esempio, nella vendita al dettaglio, la tecnologia Just Walk Out di Amazon utilizza l'object detection per automatizzare il checkout identificando gli articoli presi dai clienti. Una combinazione di computer vision e dati dei sensori consente ai clienti di prendere i propri articoli e uscire senza fare la fila.
Ecco uno sguardo più da vicino a come funziona:
- Le telecamere montate sul soffitto catturano i clienti che si muovono all'interno del negozio e questo filmato viene elaborato in tempo reale dai modelli di visione.
- L'object detection viene utilizzata per rilevare l'esatto prodotto che un cliente prende e mette nel cestino per aggiornare il carrello virtuale di conseguenza.
- I sensori di peso sugli scaffali migliorano la precisione rilevando la rimozione o la sostituzione di un articolo.
- Mentre il cliente esce dal negozio, l'object detection e la tecnologia di riconoscimento facciale possono essere utilizzate per confermare che il cliente sia uscito e i suoi dati di pagamento, come una carta di credito, possono essere usati per addebitare l'importo automaticamente.
Link to this sectionSegmentazione semantica e di istanza#
La segmentazione semantica e la segmentazione di istanza sono task di computer vision che aiutano a suddividere le immagini in segmenti significativi. La segmentazione semantica classifica i pixel in base al loro significato semantico e tratta tutti gli oggetti all'interno di una categoria come un'unica entità con la stessa etichetta. È adatta per etichettare oggetti non numerabili come "il cielo" o "l'oceano" o raggruppamenti come "foglie" o "erba".
La segmentazione di istanza, d'altro canto, può distinguere diverse istanze della stessa classe assegnando un'etichetta univoca a ogni oggetto rilevato. Puoi utilizzare la segmentazione di istanza per segmentare oggetti numerabili in cui il numero e l'indipendenza degli oggetti sono importanti. Consente un'identificazione e una differenziazione più precise.

Fig 4. Un esempio di segmentazione semantica e di istanza.
Possiamo comprendere meglio il contrasto tra segmentazione semantica e di istanza con un esempio relativo alle auto a guida autonoma. La segmentazione semantica è ideale per i task che richiedono la comprensione dei contenuti di una scena e può essere utilizzata nei veicoli autonomi per classificare le caratteristiche sulla strada, come strisce pedonali e segnali stradali. Nel frattempo, la segmentazione di istanza può essere utilizzata nei veicoli autonomi per distinguere tra singoli pedoni, veicoli e ostacoli.
Link to this sectionPose estimation#
La pose estimation è un task di computer vision focalizzato sul rilevamento e sul tracciamento di punti chiave delle pose di un oggetto in immagini o video. Viene utilizzata principalmente per la pose estimation umana, con punti chiave che includono aree come spalle e ginocchia. Stimare la posa di una persona ci aiuta a comprendere e riconoscere azioni e movimenti che sono critici per varie applicazioni.

Fig 5. Un esempio di pose estimation utilizzando YOLOv8.
La pose estimation può essere utilizzata nello sport per analizzare come si muovono gli atleti. L'NBA utilizza la pose estimation per studiare i movimenti e le posizioni dei giocatori durante la partita. Tracciando punti chiave come spalle, gomiti, ginocchia e caviglie, la pose estimation fornisce approfondimenti dettagliati sui movimenti dei giocatori. Questi approfondimenti aiutano gli allenatori a sviluppare strategie migliori, ottimizzare i programmi di allenamento e apportare modifiche in tempo reale durante le partite. Inoltre, i dati possono aiutare a monitorare l'affaticamento del giocatore e il rischio di infortuni per migliorare la salute e le prestazioni generali del giocatore.
Link to this sectionObject detection con bounding box orientati#
L'Object Detection con Bounding Box Orientati (OBB) utilizza rettangoli ruotati per identificare e localizzare con precisione gli oggetti in un'immagine. A differenza dei bounding box standard che si allineano con gli assi dell'immagine, gli OBB ruotano per corrispondere all'orientamento dell'oggetto. Questo li rende particolarmente utili per gli oggetti che non sono perfettamente orizzontali o verticali. Sono ottimi per individuare e isolare con precisione oggetti ruotati per prevenire sovrapposizioni in ambienti affollati.

Fig 6. Un esempio di Rilevamento con Bounding Box Orientati su un'Immagine Aerea di Barche Utilizzando YOLOv8.
Nella sorveglianza marittima, identificare e tracciare le navi è fondamentale per la sicurezza e la gestione delle risorse. Il rilevamento OBB può essere utilizzato per una localizzazione precisa delle navi, anche quando sono densamente imballate o orientate con angolazioni diverse. Aiuta a monitorare le rotte di navigazione, gestire il traffico marittimo e ottimizzare le operazioni portuali. Può anche assistere nella risposta ai disastri identificando e valutando rapidamente i danni alle navi e alle infrastrutture dopo eventi come uragani o fuoriuscite di petrolio.
Link to this sectionObject tracking#
Finora abbiamo discusso di task di computer vision che hanno a che fare con le immagini. L'Object tracking è un task di computer vision in grado di tracciare un oggetto attraverso i fotogrammi di un video. Inizia identificando l'oggetto nel primo fotogramma utilizzando algoritmi di rilevamento e poi ne segue continuamente la posizione mentre si muove attraverso il video. L'object tracking coinvolge tecniche come object detection, estrazione di caratteristiche e previsione del movimento per mantenere accurato il tracciamento.

Fig 7. Utilizzo di YOLOv8 per tracciare pesci.
Modelli di visione come YOLOv8 possono essere utilizzati per tracciare pesci nella biologia marina. Utilizzando telecamere subacquee, i ricercatori possono monitorare i movimenti e i comportamenti dei pesci nei loro habitat naturali. Il processo inizia rilevando i singoli pesci nei primi fotogrammi e poi segue le loro posizioni per tutto il video. Tracciare i pesci aiuta gli scienziati a comprendere i modelli di migrazione, i comportamenti sociali e le interazioni con l'ambiente. Supporta anche pratiche di pesca sostenibile fornendo approfondimenti sulla distribuzione e sull'abbondanza dei pesci.
Link to this sectionUno sguardo finale alla computer vision#
La computer vision sta cambiando attivamente il modo in cui usiamo la tecnologia e interagiamo con il mondo. Utilizzando modelli di deep learning e algoritmi complessi per comprendere immagini e video, la computer vision aiuta i settori a semplificare molti processi. Task di computer vision come l'object detection e l'object tracking stanno rendendo possibile creare soluzioni che non sono mai state immaginate prima. Poiché la tecnologia di computer vision continua a migliorare, il futuro riserva molte altre applicazioni innovative!
Impariamo e cresciamo insieme! Esplora il nostro GitHub repository per vedere i nostri contributi all'IA. Scopri come stiamo ridefinendo settori come le auto a guida autonoma e l'agricoltura con l'IA. 🚀






