YOLOv9: un balzo in avanti nella tecnologia di rilevamento degli oggetti
YOLOv9 segna un significativo progresso nel rilevamento degli oggetti in tempo reale, introducendo tecniche rivoluzionarie come la Programmable Gradient Information (PGI) e la Generalized Efficient Layer Aggregation Network (GELAN). Questo modello ha dimostrato notevoli miglioramenti in termini di efficienza, precisione e adattabilità , stabilendo nuovi parametri di riferimento sul set di dati MS COCO. Il progetto YOLOv9, pur essendo sviluppato da un team open-source separato, si basa sulla solida base di codice fornita da Ultralytics YOLOv5e dimostra lo spirito collaborativo della comunità di ricerca sull'intelligenza artificiale.
Introduzione a YOLOv9
Nella ricerca di un rilevamento ottimale degli oggetti in tempo reale, YOLOv9 si distingue per il suo approccio innovativo nel superare i problemi di perdita di informazioni insiti nelle reti neurali profonde. Integrando l'IGP e la versatile architettura GELAN, YOLOv9 non solo migliora la capacità di apprendimento del modello, ma garantisce anche la conservazione delle informazioni cruciali durante il processo di rilevamento, ottenendo così un'accuratezza e prestazioni eccezionali.
Le innovazioni principali di YOLOv9
I progressi di YOLOv9 sono profondamente radicati nell'affrontare le sfide poste dalla perdita di informazioni nelle reti neurali profonde. Il principio del collo di bottiglia dell'informazione e l'uso innovativo delle funzioni reversibili sono al centro della sua progettazione, garantendo a YOLOv9 un'elevata efficienza e precisione.
Principio del collo di bottiglia dell'informazione
Il principio del collo di bottiglia dell'informazione rivela una sfida fondamentale nel deep learning: man mano che i dati passano attraverso gli strati successivi di una rete, aumenta il potenziale di perdita di informazioni. Questo fenomeno è matematicamente rappresentato come:
dove I
indica l'informazione reciproca e f
e g
rappresentano funzioni di trasformazione con parametri theta
e phi
, rispettivamente. YOLOv9 affronta questa sfida implementando la Programmable Gradient Information (PGI), che aiuta a preservare i dati essenziali attraverso la profondità della rete, garantendo una generazione più affidabile del gradiente e, di conseguenza, una migliore convergenza e performance del modello.
Funzioni reversibili
Il concetto di funzioni reversibili è un'altra pietra miliare del design di YOLOv9. Una funzione è considerata reversibile se può essere invertita senza alcuna perdita di informazioni, come espresso da:
con psi
e zeta
come parametri per la funzione reversibile e la sua inversa, rispettivamente. Questa proprietà è fondamentale per le architetture di deep learning, in quanto permette alla rete di conservare un flusso di informazioni completo, consentendo così aggiornamenti più accurati dei parametri del modello. YOLOv9 incorpora funzioni reversibili all'interno della sua architettura per mitigare il rischio di degradazione delle informazioni, soprattutto negli strati più profondi, garantendo la conservazione dei dati critici per le attività di rilevamento degli oggetti.
Impatto sui modelli leggeri
Affrontare la perdita di informazioni è particolarmente importante per i modelli leggeri, che spesso sono sottoparametrizzati e inclini a perdere informazioni significative durante il processo di feedforward. L'architettura di YOLOv9, grazie all'uso di IGP e funzioni reversibili, garantisce che anche con un modello semplificato, le informazioni essenziali necessarie per un rilevamento accurato degli oggetti vengano conservate e utilizzate in modo efficace.
Informazioni programmabili sul gradiente (PGI)
L'IGP è un concetto innovativo introdotto in YOLOv9 per combattere il problema del collo di bottiglia delle informazioni, garantendo la conservazione dei dati essenziali negli strati profondi della rete. Ciò consente di generare gradienti affidabili, facilitando aggiornamenti accurati del modello e migliorando le prestazioni complessive del rilevamento.
Rete di aggregazione a livelli efficiente generalizzata (GELAN)
GELAN rappresenta un progresso architetturale strategico che consente a YOLOv9 di ottenere un utilizzo dei parametri e un'efficienza di calcolo superiori. Il suo design consente un'integrazione flessibile di vari blocchi di calcolo, rendendo YOLOv9 adattabile a un'ampia gamma di applicazioni senza sacrificare la velocità o la precisione.
Prestazioni sul set di dati MS COCO
Le prestazioni di YOLOv9 sul set di dati COCO esemplificano i suoi significativi progressi nel rilevamento degli oggetti in tempo reale, stabilendo nuovi parametri di riferimento per i modelli di varie dimensioni. La Tabella 1 presenta un confronto completo tra i rilevatori di oggetti in tempo reale più avanzati, illustrando l'efficienza e l'accuratezza superiori di YOLOv9.
Tabella 1. Confronto tra i rilevatori di oggetti in tempo reale allo stato dell'arte
Quando saranno disponibili altre scale di modelli?
Nonostante tutte le metriche mostrate per le varie scale del modello nella tabella sottostante, solo le configurazioni per YOLOv9c
e YOLOv9e
sono state pubblicate. Il team di Ultralytics lavorerà rapidamente per aggiungere altre configurazioni non appena saranno disponibili, quindi assicurati di controllare regolarmente qui per gli aggiornamenti.
Prestazioni
Modello | dimensione (pixel) |
mAPval 50-95 |
mAPval 50 |
params (M) |
FLOP (B) |
---|---|---|---|---|---|
YOLOv9t | 640 | 38.3 | 53.1 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | 63.4 | 7.2 | 26.7 |
YOLOv9m | 640 | 51.4 | 68.1 | 20.1 | 76.8 |
YOLOv9c | 640 | 53.0 | 70.2 | 25.5 | 102.8 |
YOLOv9e | 640 | 55.6 | 72.8 | 58.1 | 192.5 |
Modello | dimensione (pixel) |
mAPbox 50-95 |
mAPmask 50-95 |
params (M) |
FLOP (B) |
---|---|---|---|---|---|
YOLOv9c-seg | 640 | 52.4 | 42.2 | 27.9 | 159.4 |
YOLOv9e-seg | 640 | 55.1 | 44.3 | 60.5 | 248.4 |
Le iterazioni di YOLOv9, che vanno dalla minuscola t
variante alla vasta gamma di e
dimostrano miglioramenti non solo nell'accuratezza (metriche mAP) ma anche nell'efficienza con un numero ridotto di parametri e di esigenze computazionali (FLOP). Questa tabella sottolinea la capacità di YOLOv9 di fornire un'elevata precisione mantenendo o riducendo l'overhead computazionale rispetto alle versioni precedenti e ai modelli concorrenti.
In confronto, YOLOv9 mostra notevoli guadagni:
- Modelli leggeri: YOLOv9s supera il modello YOLO MS-S per quanto riguarda l'efficienza dei parametri e il carico di calcolo, ottenendo un miglioramento dello 0,4∼0,6% in AP.
- Modelli medio-grandi: YOLOv9m e YOLOv9e mostrano notevoli progressi nel bilanciare il compromesso tra la complessità del modello e le prestazioni di rilevamento, offrendo riduzioni significative dei parametri e dei calcoli a fronte di una maggiore precisione.
Il modello YOLOv9c, in particolare, evidenzia l'efficacia delle ottimizzazioni dell'architettura. Funziona con il 42% in meno di parametri e il 21% in meno di richieste di calcolo rispetto a YOLOv7 AF, ma raggiunge un'accuratezza paragonabile, dimostrando i significativi miglioramenti di efficienza di YOLOv9. Inoltre, il modello YOLOv9e stabilisce un nuovo standard per i modelli di grandi dimensioni, con il 15% di parametri in meno e il 25% di fabbisogno computazionale in meno rispetto a YOLOv7 AF. YOLOv8xe un miglioramento incrementale dell'1,7% nell'AP.
Questi risultati evidenziano i progressi strategici di YOLOv9 nella progettazione del modello, sottolineando la sua maggiore efficienza senza compromettere la precisione essenziale per le attività di rilevamento degli oggetti in tempo reale. Il modello non solo si spinge oltre i limiti delle metriche di prestazione, ma sottolinea anche l'importanza dell'efficienza computazionale, rendendolo uno sviluppo fondamentale nel campo della computer vision.
Conclusione
YOLOv9 rappresenta uno sviluppo fondamentale nel campo del rilevamento di oggetti in tempo reale, offrendo miglioramenti significativi in termini di efficienza, precisione e adattabilità . Affrontando sfide critiche attraverso soluzioni innovative come PGI e GELAN, YOLOv9 stabilisce un nuovo precedente per la ricerca e le applicazioni future nel settore. Mentre la comunità dell'intelligenza artificiale continua a evolversi, YOLOv9 è una testimonianza del potere della collaborazione e dell'innovazione nel guidare il progresso tecnologico.
Esempi di utilizzo
Questo esempio fornisce semplici esempi di formazione e inferenza di YOLOv9. Per una documentazione completa su queste e altre modalità , consulta le pagine dei documenti Predict, Train, Val ed Export.
Esempio
PyTorch preaddestrato *.pt
modelli e configurazione *.yaml
possono essere passati ai file YOLO()
per creare un'istanza del modello in python:
from ultralytics import YOLO
# Build a YOLOv9c model from scratch
model = YOLO('yolov9c.yaml')
# Build a YOLOv9c model from pretrained weight
model = YOLO('yolov9c.pt')
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI sono disponibili comandi per eseguire direttamente i modelli:
Attività e modalità supportate
La serie YOLOv9 offre una serie di modelli, ognuno ottimizzato per il rilevamento di oggetti ad alte prestazioni. Questi modelli rispondono a diverse esigenze di calcolo e di precisione, rendendoli versatili per un'ampia gamma di applicazioni.
Modello | Nomi dei file | Compiti | Inferenza | Convalida | Formazione | Esportazione |
---|---|---|---|---|---|---|
YOLOv9 | yolov9c.pt yolov9e.pt |
Rilevamento degli oggetti | ✅ | ✅ | ✅ | ✅ |
YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt |
Segmentazione dell'istanza | ✅ | ✅ | ✅ | ✅ |
Questa tabella fornisce una panoramica dettagliata delle varianti del modello YOLOv9, evidenziando le loro capacità nelle attività di rilevamento degli oggetti e la loro compatibilità con diverse modalità operative come Inferenza, Convalida, Formazione ed Esportazione. Questo supporto completo garantisce agli utenti di sfruttare appieno le capacità dei modelli YOLOv9 in un'ampia gamma di scenari di rilevamento di oggetti.
Nota
L'addestramento dei modelli YOLOv9 richiederà più risorse e più tempo rispetto al modelloYOLOv8 di dimensioni equivalenti.
Citazioni e ringraziamenti
Desideriamo ringraziare gli autori di YOLOv9 per il loro significativo contributo nel campo del rilevamento di oggetti in tempo reale:
Il documento originale di YOLOv9 è disponibile su arXiv. Gli autori hanno reso il loro lavoro disponibile al pubblico e la base di codice è accessibile su GitHub. Apprezziamo i loro sforzi per far progredire il campo e rendere il loro lavoro accessibile a una comunità più ampia.