Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Get Started

YOLOv9 vs YOLOX#

Il campo della computer vision ha assistito a una rapida evoluzione delle architetture per il rilevamento degli oggetti in tempo reale. Questa guida confronta YOLOv9 e YOLOX, analizzandone le innovazioni architetturali, le metriche di prestazione e le metodologie di addestramento. Che tu stia sviluppando applicazioni intelligenti per l'AI nella produzione o esplorando la modellazione predittiva, conoscere questi modelli ti aiuterà a prendere decisioni consapevoli per la tua prossima distribuzione.

Innovazioni architetturali#

YOLOv9: informazioni di gradiente programmabili#

YOLOv9 affronta il problema del collo di bottiglia informativo tipico delle reti neurali profonde. Le sue innovazioni principali includono Informazioni programmabili sul gradiente (PGI) e la Rete efficiente generalizzata di aggregazione dei livelli (GELAN).

  • Autori: Chien-Yao Wang e Hong-Yuan Mark Liao
  • Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
  • Data: 21 febbraio 2024
  • arXiv: 2402.13616
  • GitHub: WongKinYiu/yolov9

Conservando i dati essenziali sulle caratteristiche durante la propagazione in avanti, YOLOv9 contribuisce a mantenere accurate le informazioni sui gradienti usate per aggiornare i pesi durante la retropropagazione. Questa architettura eccelle nell'estrazione delle caratteristiche, risultando efficace nel rilevamento di oggetti piccoli in ambienti complessi, come quelli presenti nelle immagini aeree e nelle scansioni mediche dettagliate.

Scopri di più su YOLOv9

YOLOX: un ponte tra ricerca e industria#

Rilasciato a metà del 2021, YOLOX ha orientato la serie YOLO verso un design senza anchor. Ha introdotto una testa disaccoppiata, che separa le attività di classificazione e localizzazione, e ha utilizzato la strategia di assegnazione delle etichette SimOTA per migliorare la convergenza dell'addestramento.

YOLOX ha avuto un ruolo importante a suo tempo, raggiungendo un'eccellente precisione media media (mAP) ed eliminando la messa a punto degli iperparametri degli ancoraggi, ma la sua architettura è stata nel frattempo superata da reti moderne che bilanciano meglio il numero di parametri e la conservazione delle caratteristiche.

Scopri di più su YOLOX

Evoluzione senza anchor

Sia YOLOX sia i modelli Ultralytics più recenti adottano design senza anchor, riducendo la complessità della regolazione degli iperparametri e migliorando la capacità di generalizzazione su dataset diversi.

Analisi delle prestazioni#

Confrontando questi modelli sul benchmark MS COCO, i progressi di YOLOv9 diventano evidenti. YOLOv9 offre costantemente un compromesso migliore tra accuratezza e FLOPs.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Sebbene YOLOX offra varianti leggere come YOLOX-Nano per i casi edge più estremi, le varianti YOLOv9 superano sistematicamente i modelli YOLOX di dimensioni analoghe in termini di accuratezza pura. Per esempio, YOLOv9m raggiunge un mAP del 51,4% rispetto al 49,7% di YOLOXl, pur avendo meno della metà dei parametri (20,1 M contro 54,2 M).

I vantaggi di Ultralytics#

La scelta di un modello non dipende solo dalla teoria architetturale: l'ecosistema che lo circonda determina la velocità di sviluppo e il successo della distribuzione. Usare YOLOv9 nell'ecosistema Ultralytics offre facilità d'uso e un solido supporto della community.

A differenza dei vecchi repository di ricerca originali, il framework Ultralytics offre una API Python unificata che semplifica le pipeline complesse. L'addestramento richiede in genere meno memoria GPU rispetto a molte alternative, migliorando l'efficienza di addestramento.

from ultralytics import YOLO

# Inizializza il modello YOLOv9c
model = YOLO("yolov9c.pt")

# Addestra il modello sul tuo dataset personalizzato
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Valida le prestazioni del modello
metrics = model.val()

# Esporta il modello ottimizzato nel formato TensorRT
model.export(format="engine")

Grazie al supporto integrato per più attività, tra cui il rilevamento degli oggetti, la segmentazione di istanze e la stima della posa, puoi passare da un'attività di computer vision all'altra senza modificare l'intera base di codice.

Esportazione semplice

Devi distribuire i modelli su dispositivi edge? Ultralytics semplifica l'esportazione dei modelli addestrati in formati ottimizzati come ONNX, TensorRT e OpenVINO con un solo comando.

Applicazioni nel mondo reale#

I punti di forza specifici di questi modelli li rendono adatti a diverse applicazioni del mondo reale:

Analisi retail ad alta velocità#

Per i moderni ambienti di vendita al dettaglio che richiedono il riconoscimento dei prodotti in tempo reale, YOLOv9 è eccellente. La sua capacità di conservare dettagli complessi delle caratteristiche lo rende particolarmente adatto alle distribuzioni di AI nel commercio al dettaglio, dove è necessario distinguere prodotti visivamente simili su uno scaffale affollato.

Distribuzioni edge su sistemi legacy#

In scenari con rigidi limiti hardware o NPU specializzate che faticano a gestire i più recenti blocchi di aggregazione, YOLOX-Nano può talvolta trovare una nicchia. I suoi semplici schemi convoluzionali sono a volte preferibili per i microcontrollori con risorse estremamente limitate.

Robotica autonoma#

Nella navigazione robotica, non rilevare oggetti piccoli può avere conseguenze catastrofiche. L'architettura GELAN di YOLOv9 aiuta a evitare che le caratteristiche degli ostacoli piccoli e distanti vadano perse nei livelli profondi della rete, un aspetto importante negli ambienti critici per la sicurezza, come le applicazioni di AI nel settore automobilistico.

Casi d'uso e consigli#

La scelta tra YOLOv9 e YOLOX dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle tue preferenze in fatto di ecosistemi.

Quando scegliere YOLOv9#

YOLOv9 è una scelta valida per:

  • Ricerca sui colli di bottiglia informativi: progetti accademici che studiano le informazioni di gradiente programmabili (PGI) e le architetture di rete di aggregazione efficiente generalizzata dei livelli (GELAN).
  • Studi sull'ottimizzazione del flusso del gradiente: ricerche incentrate sulla comprensione e sulla riduzione della perdita di informazioni nei livelli delle reti profonde durante l'addestramento.
  • Benchmark di rilevamento ad alta precisione: scenari in cui le prestazioni di YOLOv9 nei benchmark COCO servono come riferimento per confrontare le architetture.

Quando scegliere YOLOX#

YOLOX è consigliato per:

  • Ricerca sul rilevamento senza anchor: Ricerca accademica che usa l'architettura pulita e senza anchor di YOLOX come riferimento per sperimentare nuove head di rilevamento o funzioni di perdita.
  • Dispositivi edge ultraleggeri: Implementazione su microcontrollori o hardware mobile legacy, dove le dimensioni estremamente ridotte della variante YOLOX-Nano (0,91 M di parametri) sono fondamentali.
  • Studi sull'assegnazione delle etichette SimOTA: Progetti di ricerca che analizzano le strategie di assegnazione delle etichette basate sul trasporto ottimale e il loro impatto sulla convergenza dell'addestramento.

Quando scegliere Ultralytics (YOLO26)#

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore di prestazioni ed esperienza per gli sviluppatori:

  • Distribuzione edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza, senza la complessità della post-elaborazione con soppressione dei non massimi (NMS).
  • Ambienti senza GPU: Dispositivi privi di accelerazione GPU dedicata, sui quali l’inferenza CPU di YOLO26n, fino al 43% più veloce di YOLO11n, offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari impegnativi come le immagini aeree da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti minuscoli.

Il futuro: arriva YOLO26#

YOLOv9 è un traguardo importante, ma i requisiti di produzione continuano a evolversi. YOLO26, rilasciato a gennaio 2026, è l'attuale modello Ultralytics consigliato.

YOLO26 semplifica la pipeline di distribuzione con un design end-to-end senza NMS opzionale. Eliminando la post-elaborazione NMS con nms=False, riduce la latenza di inferenza.

YOLO26 integra inoltre l'ottimizzatore MuSGD, un approccio ibrido di SGD e Muon che riprende le innovazioni dell'addestramento degli LLM per offrire una convergenza stabile e rapida. Grazie alla rimozione della DFL e all'inferenza senza NMS, YOLO26n raggiunge un'inferenza su CPU fino al 43% più veloce di YOLO11n, rendendo YOLO26 un'ottima scelta per dispositivi edge e distribuzioni aziendali. Il rilevamento migliorato degli oggetti piccoli grazie a ProgLoss e STAL (Progressive Loss e assegnazione delle etichette consapevole degli oggetti piccoli) rende YOLO26 superiore a YOLOX e YOLOv9 per i nuovi progetti.

Per gli ingegneri che esplorano architetture moderne, YOLO11 e RT-DETR sono valide alternative nell'ecosistema Ultralytics, mentre la piattaforma Ultralytics ti consente di addestrare e distribuire i modelli più recenti in un unico posto.

Commenti