Contenuti del Corso
Fondamenti di Computer Vision
Fondamenti di Computer Vision
Panoramica del Modello YOLO
L'algoritmo YOLO (You Only Look Once) è un modello di rilevamento oggetti rapido ed efficiente. A differenza degli approcci tradizionali come R-CNN che utilizzano più passaggi, YOLO elabora l'intera immagine in un'unica passata, rendendolo ideale per applicazioni in tempo reale.
Come YOLO si differenzia dagli approcci R-CNN
I metodi tradizionali di rilevamento oggetti, come R-CNN e le sue varianti, si basano su una pipeline a due stadi: prima generano proposte di regione, poi classificano ciascuna regione proposta. Sebbene efficace, questo approccio è computazionalmente oneroso e rallenta l'inferenza, rendendolo meno adatto alle applicazioni in tempo reale.
YOLO (You Only Look Once) adotta un approccio radicalmente diverso. Divide l'immagine di input in una griglia e predice box di delimitazione e probabilità di classe per ciascuna cella in un'unica passata. Questo design inquadra il rilevamento oggetti come un unico problema di regressione, consentendo a YOLO di raggiungere prestazioni in tempo reale.
A differenza dei metodi basati su R-CNN che si concentrano solo su regioni locali, YOLO elabora l'intera immagine contemporaneamente, permettendo di catturare informazioni contestuali globali. Questo porta a migliori prestazioni nel rilevamento di oggetti multipli o sovrapposti, mantenendo elevata velocità e accuratezza.
Architettura YOLO e predizioni basate su griglia
YOLO suddivide un'immagine di input in una griglia S × S, dove ciascuna cella della griglia è responsabile della rilevazione degli oggetti il cui centro ricade al suo interno. Ogni cella predice le coordinate del box di delimitazione (x, y, larghezza, altezza), un punteggio di confidenza dell'oggetto e le probabilità di classe. Poiché YOLO elabora l'intera immagine in un'unica passata, risulta altamente efficiente rispetto ai modelli di rilevamento oggetti precedenti.
Funzione di perdita e punteggi di confidenza delle classi
YOLO ottimizza la precisione del rilevamento utilizzando una funzione di perdita personalizzata, che include:
Perdita di localizzazione: misura l'accuratezza del riquadro di delimitazione;
Perdita di confidenza: garantisce che le previsioni indichino correttamente la presenza di oggetti;
Perdita di classificazione: valuta quanto la classe prevista corrisponde a quella reale.
Per migliorare i risultati, YOLO applica anchor box e non-max suppression (NMS) per rimuovere rilevamenti ridondanti.
Vantaggi di YOLO: Compromesso tra velocità e accuratezza
Il principale vantaggio di YOLO è la velocità. Poiché il rilevamento avviene in un unico passaggio, YOLO è molto più veloce dei metodi basati su R-CNN, rendendolo adatto ad applicazioni in tempo reale come la guida autonoma e la sorveglianza. Tuttavia, le prime versioni di YOLO avevano difficoltà nel rilevamento di oggetti di piccole dimensioni, aspetto migliorato nelle versioni successive.
YOLO: Breve storia
YOLO, sviluppato da Joseph Redmon e Ali Farhadi nel 2015, ha rivoluzionato il rilevamento degli oggetti con il suo processo a passaggio singolo.
YOLOv2 (2016): aggiunta della batch normalization, anchor box e cluster di dimensioni;
YOLOv3 (2018): introdotto un backbone più efficiente, anchor multipli e spatial pyramid pooling;
YOLOv4 (2020): aggiunta della data augmentation Mosaic, una testa di rilevamento anchor-free e una nuova funzione di perdita;
YOLOv5: miglioramento delle prestazioni con ottimizzazione degli iperparametri, tracciamento degli esperimenti e funzionalità di esportazione automatica;
YOLOv6 (2022): open source da Meituan e utilizzato in robot per la consegna autonoma;
YOLOv7: capacità ampliate per includere la stima della posa;
YOLOv8 (2023): miglioramento di velocità, flessibilità ed efficienza per compiti di visione artificiale;
YOLOv9: introdotti Programmable Gradient Information (PGI) e Generalized Efficient Layer Aggregation Network (GELAN);
YOLOv10: sviluppato dall'Università Tsinghua, elimina la Non-Maximum Suppression (NMS) con una testa di rilevamento end-to-end;
YOLOv11: l'ultimo modello che offre prestazioni all'avanguardia in rilevamento, segmentazione e classificazione degli oggetti.
Grazie per i tuoi commenti!