Ultralytics YOLO27:

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 offre un confronto completo tra 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, comprendere questi modelli ti aiuterà a prendere decisioni consapevoli per il tuo prossimo deployment.

Innovazioni architetturali#

YOLOv9: informazioni programmabili sul gradiente#

YOLOv9 ha introdotto un cambio di paradigma affrontando il problema del collo di bottiglia informativo intrinseco alle reti neurali profonde. Le sue innovazioni principali includono le Informazioni programmabili sui gradienti (PGI) e la Rete generalizzata per l'aggregazione efficiente 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 delle feature fondamentali durante il processo feed-forward, YOLOv9 garantisce che i gradienti utilizzati per aggiornare i pesi durante la backpropagation rimangano accurati. Questa architettura eccelle nell'estrazione delle feature, risultando particolarmente efficace nel rilevare oggetti di piccole dimensioni in ambienti complessi, come quelli presenti nelle immagini aeree e nelle scansioni mediche dettagliate.

Scopri di più su YOLOv9

YOLOX: colmare il divario tra ricerca e industria#

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

Sebbene YOLOX fosse all'avanguardia per l'epoca, raggiungendo un'eccellente precisione media (mAP) ed eliminando la necessità di ottimizzare gli iperparametri degli anchor box, la sua architettura sottostante è stata superata dalle reti moderne, che bilanciano meglio il numero di parametri e la conservazione delle feature.

Scopri di più su YOLOX

Evoluzione senza anchor

Sia YOLOX sia i modelli Ultralytics più recenti adottano design privi di anchor, riducendo la complessità dell'ottimizzazione 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 raggiunge 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.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
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 d'uso edge più estremi, le varianti di YOLOv9 superano costantemente i modelli YOLOX di dimensioni simili in termini di accuratezza. Ad esempio, YOLOv9m raggiunge un mAP del 51,4% rispetto al 49,7% di YOLOXl, pur avendo meno della metà dei parametri (20,0M contro 54,2M).

Il vantaggio di Ultralytics#

La scelta di un modello implica più della sola teoria architetturale: l'ecosistema che lo circonda determina la velocità di sviluppo e il successo del deployment. Utilizzare YOLOv9 nell'ecosistema Ultralytics offre una facilità d'uso senza pari e un solido supporto della community.

A differenza dei repository di ricerca originali più datati, il framework Ultralytics fornisce un'API Python unificata che semplifica le pipeline complesse. L'addestramento richiede molta meno memoria GPU rispetto a molte alternative, offrendo un'incredibile efficienza di addestramento.

from ultralytics import YOLO

# Initialize the YOLOv9c model
model = YOLO("yolov9c.pt")

# Train the model on your custom dataset seamlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model's performance
metrics = model.val()

# Export the optimized model to TensorRT format
model.export(format="engine")

Grazie al supporto integrato per numerose attività, tra cui il rilevamento degli oggetti, la segmentazione delle istanze e la stima della posa, puoi modificare rapidamente le tue soluzioni di computer vision senza cambiare l'intera codebase.

Esportazione senza complicazioni

Devi eseguire il deployment sull'edge? Ultralytics semplifica l'esportazione dei tuoi modelli addestrati in formati altamente 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 distinte applicazioni del mondo reale:

Analisi retail ad alta velocità#

Per gli ambienti retail moderni che richiedono il riconoscimento dei prodotti in tempo reale, YOLOv9 eccelle. La sua capacità di conservare dettagli complessi delle feature lo rende perfettamente adatto ai deployment di AI nel retail, dove è necessario distinguere tra prodotti visivamente simili su uno scaffale affollato.

Deployment edge legacy#

Negli scenari soggetti a rigide limitazioni hardware o dotati di NPU specializzate che incontrano difficoltà con i blocchi di aggregazione più recenti, YOLOX-Nano può talvolta trovare una nicchia. I suoi pattern convoluzionali essenziali e semplificati sono talvolta preferiti per i microcontrollori con risorse estremamente limitate.

Robotica autonoma#

Per la navigazione robotica, non rilevare oggetti di piccole dimensioni può avere conseguenze catastrofiche. L'architettura GELAN integrata in YOLOv9 garantisce che le feature degli ostacoli piccoli e lontani non vadano perse nei livelli profondi della rete, superando i modelli più datati in ambienti critici per la sicurezza, come le applicazioni di AI nel settore automobilistico.

Casi d'uso e raccomandazioni#

La scelta tra YOLOv9 e YOLOX dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle tue preferenze in termini di ecosistema.

Quando scegliere YOLOv9#

YOLOv9 è una scelta valida per:

  • Ricerca sui colli di bottiglia informativi: progetti accademici che studiano le architetture basate sulle Informazioni programmabili sul gradiente (PGI) e sulla Rete generalizzata per l'aggregazione efficiente dei livelli (GELAN).
  • Studi sull'ottimizzazione del flusso del gradiente: ricerche incentrate sulla comprensione e sulla mitigazione della perdita di informazioni nei livelli delle reti profonde durante l'addestramento.
  • Benchmarking del rilevamento ad alta accuratezza: scenari in cui le solide prestazioni di YOLOv9 sul benchmark COCO sono necessarie come punto di riferimento per confronti architetturali.

Quando scegliere YOLOX#

YOLOX è consigliato per:

  • Ricerca sul rilevamento senza anchor: ricerca accademica che utilizza l'architettura pulita e senza anchor di YOLOX come baseline per sperimentare nuove teste di rilevamento o funzioni di perdita.
  • Dispositivi edge ultraleggeri: distribuzione su microcontrollori o hardware mobile legacy, dove l'ingombro estremamente ridotto della variante YOLOX-Nano (0.91M di parametri) è fondamentale.
  • Studi sull'assegnazione delle label SimOTA: progetti di ricerca che analizzano le strategie di assegnazione delle label 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 migliore combinazione di prestazioni ed esperienza per gli sviluppatori:

  • Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
  • Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.

Il futuro: arriva YOLO26#

Sebbene YOLOv9 rappresenti un traguardo impressionante, le esigenze degli ambienti di produzione spingono costantemente oltre i limiti. Il nuovo YOLO26 rappresenta lo standard definitivo per la moderna AI applicata alla computer vision.

YOLO26 rivoluziona completamente la pipeline di deployment con un design nativo end-to-end privo di NMS. Eliminando la necessità di eseguire la soppressione non massima complessa durante il post-processing, offre una latenza di inferenza significativamente inferiore.

Inoltre, YOLO26 integra l'innovativo ottimizzatore MuSGD, un ibrido di SGD e Muon che riprende le innovazioni dell'addestramento degli LLM per offrire una convergenza incredibilmente stabile e rapida. Eliminando la Perdita focale della distribuzione (DFL), YOLO26 raggiunge un'inferenza su CPU fino al 43% più veloce rispetto ai predecessori, diventando la scelta migliore in assoluto per i dispositivi edge e i deployment aziendali. Grazie ai notevoli miglioramenti nel riconoscimento degli oggetti di piccole dimensioni ottenuti tramite ProgLoss e STAL, YOLO26 supera efficacemente sia YOLOX sia YOLOv9.

Per gli ingegneri che esplorano le architetture moderne, consigliamo anche di dare un'occhiata a YOLO11 e RT-DETR come potenti alternative all'interno della suite Ultralytics. Rendi il tuo progetto a prova di futuro sfruttando le prestazioni senza pari dei modelli più recenti sulla Ultralytics Platform.

Commenti