Link to this sectionYOLOv9 contro YOLOX#
Il campo della visione artificiale ha assistito a una rapida evoluzione nelle architetture di rilevamento oggetti in tempo reale. Questa guida fornisce un confronto completo tra YOLOv9 e YOLOX, analizzando le loro innovazioni architetturali, le metriche delle prestazioni e le metodologie di addestramento. Che tu stia creando applicazioni intelligenti per l'IA nella produzione o esplorando la modellazione predittiva, comprendere questi modelli ti aiuterà a prendere decisioni informate per il tuo prossimo deployment.
Link to this sectionInnovazioni architettoniche#
Link to this sectionYOLOv9: Programmable Gradient Information#
YOLOv9 ha introdotto un cambio di paradigma affrontando il problema del collo di bottiglia informativo intrinseco nelle reti neurali profonde. Le sue innovazioni principali includono la Programmable Gradient Information (PGI) e la Generalized Efficient Layer Aggregation Network (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
Mantenendo dati cruciali sulle caratteristiche durante il processo feed-forward, YOLOv9 assicura che i gradienti utilizzati per aggiornare i pesi durante la backpropagation rimangano accurati. Questa architettura eccelle nell'estrazione di feature, rendendola altamente capace di rilevare piccoli oggetti in ambienti complessi, come quelli riscontrati nell'immaginario aereo e nelle scansioni mediche dettagliate.
Link to this sectionYOLOX: colmare il divario tra ricerca e industria#
Rilasciato a metà 2021, YOLOX ha spostato la serie YOLO verso un design senza ancore (anchor-free). Ha introdotto una testa disaccoppiata, che separa i compiti di classificazione e localizzazione, e ha utilizzato la strategia di assegnazione delle etichette SimOTA per migliorare la convergenza dell'addestramento.
- Autori: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organizzazione: Megvii
- Data: 18 luglio 2021
- Arxiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
Sebbene YOLOX sia stato rivoluzionario per il suo tempo, raggiungendo un'eccellente mean average precision (mAP) ed eliminando la regolazione degli iperparametri delle anchor box, la sua architettura sottostante è stata da allora superata da reti moderne che bilanciano meglio il numero di parametri e la conservazione delle feature.
Sia YOLOX che i modelli Ultralytics più recenti abbracciano design senza ancore, riducendo la complessità della regolazione degli iperparametri e migliorando la generalizzazione su diversi dataset.
Link to this sectionAnalisi delle prestazioni#
Quando si confrontano questi modelli sul benchmark MS COCO, i progressi in YOLOv9 diventano evidenti. YOLOv9 raggiunge costantemente un miglior compromesso tra precisione e FLOPs.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Mentre YOLOX offre varianti leggere come YOLOX-Nano per casi limite estremi, le varianti di YOLOv9 superano costantemente i modelli YOLOX di dimensioni simili in termini di pura accuratezza. Ad esempio, YOLOv9m raggiunge un mAP del 51,4% rispetto al 49,7% di YOLOXl, nonostante abbia meno della metà dei parametri (20,0M contro 54,2M).
Link to this sectionIl vantaggio di Ultralytics#
Scegliere un modello implica più della semplice teoria architetturale; l'ecosistema che lo circonda determina la velocità di sviluppo e il successo del deployment. Utilizzare YOLOv9 all'interno dell'ecosistema Ultralytics offre una facilità d'uso senza pari e un robusto supporto dalla community.
A differenza dei vecchi repository di ricerca originali, il framework Ultralytics fornisce un'API Python unificata che semplifica pipeline complesse. L'addestramento richiede una memoria GPU drasticamente inferiore 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 molteplici attività, tra cui rilevamento oggetti, segmentazione di istanze e stima della posa, puoi rapidamente adattare le tue soluzioni di visione artificiale senza modificare l'intera base di codice.
Link to this sectionApplicazioni nel mondo reale#
I punti di forza specifici di questi modelli li rendono adatti ad applicazioni reali distinte:
Link to this sectionAnalisi retail ad alta velocità#
Per i moderni ambienti retail che richiedono il riconoscimento dei prodotti in tempo reale, YOLOv9 eccelle. La sua capacità di conservare dettagli intricati delle feature lo rende perfettamente adatto per deployment di IA nel retail dove è necessario distinguere tra prodotti visivamente simili su uno scaffale affollato.
Link to this sectionDeployment edge legacy#
In scenari governati da rigide limitazioni hardware o NPU specializzate che faticano con blocchi di aggregazione più recenti, YOLOX-Nano può talvolta trovare una nicchia. I suoi pattern di convoluzione puri e semplificati sono talvolta preferiti per microcontrollori estremamente limitati nelle risorse.
Link to this sectionRobotica autonoma#
Per la navigazione robotica, perdere piccoli oggetti può essere catastrofico. L'architettura GELAN all'interno di YOLOv9 assicura che le caratteristiche di ostacoli piccoli e distanti non vadano perse negli strati profondi della rete, superando i modelli più vecchi in ambienti critici per la sicurezza come le applicazioni di IA nell'automotive.
Link to this sectionCasi d'uso e raccomandazioni#
La scelta tra YOLOv9 e YOLOX dipende dai requisiti specifici del tuo progetto, dai vincoli di deployment e dalle preferenze dell'ecosistema.
Link to this sectionQuando scegliere YOLOv9#
YOLOv9 è una scelta solida per:
- Ricerca sul collo di bottiglia dell'informazione: Progetti accademici che studiano le architetture Programmable Gradient Information (PGI) e Generalized Efficient Layer Aggregation Network (GELAN).
- Studi sull'ottimizzazione del flusso di gradienti: Ricerca focalizzata sulla comprensione e sulla mitigazione della perdita di informazioni negli strati profondi della rete durante l'addestramento.
- Benchmarking del rilevamento ad alta precisione: Scenari in cui le forti prestazioni del benchmark COCO di YOLOv9 sono necessarie come punto di riferimento per i confronti architettonici.
Link to this sectionQuando scegliere YOLOX#
YOLOX è consigliato per:
- Ricerca sul rilevamento senza anchor: Ricerca accademica che utilizza l'architettura pulita e senza anchor di YOLOX come base per sperimentare nuove head di rilevamento o funzioni di perdita.
- Dispositivi edge ultraleggeri: Implementazione su microcontrollori o hardware mobile legacy dove l'impronta estremamente ridotta della variante YOLOX-Nano (0.91M di parametri) è critica.
- Studi sull'assegnazione delle label SimOTA: Progetti di ricerca che studiano le strategie di assegnazione delle label basate sul trasporto ottimale e il loro impatto sulla convergenza dell'addestramento.
Link to this sectionQuando scegliere Ultralytics (YOLO26)#
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza per gli sviluppatori:
- Implementazione Edge senza NMS: Applicazioni che richiedono un'inferenza costante e a bassa latenza senza la complessità della post-elaborazione della soppressione dei non massimi.
- Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza CPU fino al 43% più veloce di YOLO26 fornisce un vantaggio decisivo.
- Rilevamento di oggetti piccoli: Scenari impegnativi come immagini di droni aerei o analisi di sensori IoT in cui ProgLoss e STAL aumentano significativamente la precisione su oggetti minuscoli.
Link to this sectionIl futuro: Arriva YOLO26#
Sebbene YOLOv9 rappresenti un traguardo impressionante, le richieste degli ambienti di produzione spingono costantemente i limiti. Il nuovo YOLO26 rilasciato rappresenta lo standard definitivo per l'IA visiva moderna.
YOLO26 rivitalizza completamente la pipeline di deployment con un design nativo End-to-End NMS-Free. Eliminando la necessità di una complessa Non-Maximum Suppression durante il post-processing, offre una latenza di inferenza significativamente inferiore.
Inoltre, YOLO26 incorpora il rivoluzionario ottimizzatore MuSGD, un ibrido di SGD e Muon che prende in prestito innovazioni dall'addestramento LLM per fornire una convergenza incredibilmente stabile e rapida. Rimuovendo la Distribution Focal Loss (DFL), YOLO26 raggiunge un'inferenza CPU fino al 43% più veloce rispetto ai suoi predecessori, rendendolo la scelta assolutamente migliore per dispositivi edge e deployment enterprise. Con notevoli miglioramenti nel riconoscimento di piccoli oggetti tramite ProgLoss e STAL, YOLO26 sostituisce efficacemente sia YOLOX che YOLOv9.
Per gli ingegneri che esplorano architetture moderne, consigliamo anche di dare un'occhiata a YOLO11 e RT-DETR come potenti alternative all'interno della suite Ultralytics. Assicurati che il tuo progetto sia a prova di futuro sfruttando le prestazioni senza pari dei modelli più recenti sulla Piattaforma Ultralytics.