Ultralytics YOLO27:

YOLOX vs YOLOv6-3.0#

L'evoluzione della computer vision è stata ampiamente definita dai rapidi progressi della serie YOLO. La scelta dell'architettura giusta per la tua distribuzione spesso si riduce a trovare un equilibrio tra throughput grezzo, semplicità architetturale ed efficienza dell'addestramento. Due tappe importanti di questo percorso sono l'attenzione della ricerca di YOLOX all'assenza di anchor e l'elevato throughput industriale altamente ottimizzato di YOLOv6-3.0.

Questo confronto tecnico analizza le differenze architetturali, le metriche prestazionali e i casi d'uso ideali, introducendo inoltre le funzionalità di nuova generazione di Ultralytics YOLO26 per gli sviluppatori alla ricerca della soluzione definitiva per la distribuzione edge e cloud.

YOLOX: colmare il divario tra ricerca e industria#

Sviluppato dai ricercatori di Megvii, YOLOX è stato introdotto come un importante cambiamento volto a semplificare l'architettura YOLO, rendendola completamente priva di anchor.

Punti salienti dell'architettura#

YOLOX ha integrato con successo un design privo di anchor nella famiglia YOLO. Eliminando le anchor box predefinite, il modello riduce significativamente il numero di parametri di progettazione e la regolazione euristica necessaria durante l'addestramento. Questo rende YOLOX altamente adattabile a diversi dataset personalizzati senza ricalcolare manualmente le anchor.

Inoltre, YOLOX ha introdotto un'architettura con head disaccoppiata. Separando i task di classificazione e regressione in rami diversi, il modello risolve il conflitto intrinseco tra l'identificazione di che cosa sia un oggetto e di dove si trovi. In combinazione con la strategia di assegnazione delle label SimOTA, YOLOX raggiunge una convergenza più rapida e una migliore precisione media (mAP).

Scopri di più su YOLOX

Vantaggi dell'approccio senza ancoraggi

I detector privi di anchor come YOLOX spesso offrono prestazioni migliori su dataset personalizzati con rapporti d'aspetto degli oggetti insoliti, perché non si basano su prior fissi delle bounding box che potrebbero non corrispondere ai nuovi dati.

YOLOv6-3.0: il peso massimo dell'industria#

Sviluppato dal dipartimento Vision AI di Meituan, YOLOv6-3.0 è progettato senza compromessi per il massimo throughput industriale, in particolare sulle GPU NVIDIA che utilizzano acceleratori hardware come TensorRT.

  • Autori: Chuyi Li, Lulu Li, Yifei Geng, et al.
  • Organizzazione: Meituan
  • Data: 2023-01-13
  • Arxiv: 2301.05586
  • GitHub: meituan/YOLOv6

Ottimizzazione per la distribuzione#

YOLOv6-3.0 si concentra sulla massimizzazione dell'utilizzo della GPU. Introduce un modulo BiC di concatenazione bidirezionale (BiC) nel neck per migliorare la fusione delle feature mantenendo velocità di inferenza elevate. Sebbene la fase di inferenza sia completamente priva di anchor, YOLOv6-3.0 utilizza un'innovativa strategia di addestramento assistito dalle anchor (AAT) per beneficiare della stabilità basata sulle anchor durante la fase di addestramento.

Il backbone è costruito utilizzando l'architettura EfficientRep, ottimizzata per l'hardware e progettata deliberatamente per ridurre al minimo i costi di accesso alla memoria e massimizzare la densità di calcolo sugli acceleratori moderni. Questo rende YOLOv6 un candidato eccezionalmente valido per l'analisi video lato server.

Learn more about YOLOv6

Confronto delle prestazioni#

Nel confrontare questi modelli, gli sviluppatori devono valutare l'accuratezza grezza rispetto alla velocità di inferenza e al numero di parametri. La tabella seguente evidenzia le prestazioni di entrambe le famiglie di modelli a varie dimensioni.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

Sebbene YOLOv6-3.0 mostri una mAP superiore e velocità eccellenti con TensorRT per le varianti più grandi, YOLOX rimane altamente competitivo grazie alla sua semplicità e alle prestazioni solide sull'hardware legacy.

Casi d'uso e raccomandazioni#

La scelta tra YOLOX e YOLOv6 dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle preferenze relative all'ecosistema.

Quando scegliere YOLOX#

YOLOX è una scelta valida 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 YOLOv6#

YOLOv6 è consigliato per:

  • Distribuzione attenta all'hardware industriale: scenari in cui il design consapevole dell'hardware del modello e la sua efficiente riparametrizzazione offrono prestazioni ottimizzate su hardware target specifico.
  • Rilevamento rapido a singolo stadio: applicazioni che danno priorità alla velocità di inferenza pura sulla GPU per l'elaborazione video in tempo reale in ambienti controllati.
  • Integrazione nell'ecosistema Meituan: team che lavorano già nello stack tecnologico e nell'infrastruttura di distribuzione di Meituan.

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 vantaggio di Ultralytics#

Sebbene sia Megvii sia Meituan forniscano potenti repository di ricerca, la distribuzione di questi modelli in produzione spesso richiede un notevole impegno ingegneristico. L'ecosistema Ultralytics integrato elimina questi ostacoli offrendo un'API unificata e ampiamente documentata.

Sfruttando il pacchetto Ultralytics, ottieni accesso a un'esperienza utente senza pari. Questa include l'aumento automatico integrato, una gestione della memoria altamente efficiente durante l'addestramento (riducendo drasticamente i requisiti di VRAM rispetto ai modelli di transformer come RT-DETR) e pipeline di esportazione senza soluzione di continuità verso formati come ONNX e OpenVINO.

A differenza dei modelli specializzati, le architetture Ultralytics sono intrinsecamente versatili e supportano immediatamente rilevamento degli oggetti, segmentazione delle istanze, stima della posa, classificazione delle immagini e bounding box orientate (OBB).

Ecco YOLO26: la soluzione edge definitiva#

Per i team che avviano nuovi progetti di computer vision, consigliamo vivamente di passare al nuovo Ultralytics YOLO26. Basandosi sui successi di YOLO11 e YOLOv8, YOLO26 introduce innovazioni che cambiano il paradigma:

  • Design end-to-end privo di NMS: esplorato per la prima volta in YOLOv10, YOLO26 elimina nativamente la necessità della post-elaborazione di soppressione dei non massimi (NMS). Questo garantisce un'inferenza deterministica a latenza ultra-bassa, fondamentale per la robotica in tempo reale.
  • Ottimizzatore MuSGD: ispirato alle tecniche di addestramento degli LLM come Kimi K2 di Moonshot AI, YOLO26 utilizza l'ottimizzatore MuSGD (un ibrido di SGD e Muon) per ottenere dinamiche di addestramento estremamente stabili e una convergenza più rapida.
  • Inferenza su CPU fino al 43% più veloce: rimuovendo la loss focale della distribuzione (DFL) e semplificando la head della rete, YOLO26 è fortemente ottimizzato per i dispositivi edge che si affidano all'esecuzione su CPU, superando nettamente YOLOv6 negli scenari edge.
  • ProgLoss + STAL: queste formulazioni avanzate della loss offrono miglioramenti notevoli nel rilevamento degli oggetti piccoli, rendendo YOLO26 ideale per le immagini aeree e l'ispezione microscopica dei difetti.

Esempio di addestramento unificato#

Utilizzando l'API Python di Ultralytics, l'addestramento di modelli all'avanguardia richiede solo poche righe di codice. Questa stessa interfaccia pulita si applica sia quando testi un modello YOLO legacy sia quando distribuisci il framework YOLO26 all'avanguardia.

from ultralytics import YOLO

# Load the next-generation YOLO26 model (NMS-free, optimized for edge)
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 dataset
# The ecosystem handles downloading, caching, and auto-batching natively
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model and print mAP metrics
metrics = model.val()
print(f"Validation mAP50-95: {metrics.box.map}")

# Export the model for edge deployment
model.export(format="onnx")
Piattaforma Ultralytics

Per un'esperienza ancora più fluida, gestisci i tuoi dataset, monitora gli esperimenti e addestra i modelli nel cloud utilizzando la Piattaforma Ultralytics senza codice.

Consigli per i casi d'uso#

Quando scegli tra queste architetture, considera i vincoli hardware specifici e i requisiti del tuo progetto:

  • Scegli YOLOX se stai conducendo una ricerca accademica sulle strategie di assegnazione delle label o se ti serve una baseline priva di anchor pura e facile da comprendere per modifiche architetturali personalizzate.
  • Scegli YOLOv6-3.0 se stai effettuando il deployment su un rack server industriale dotato di GPU NVIDIA di fascia alta (come A100 o T4), dove puoi utilizzare batch di grandi dimensioni e ottimizzazioni TensorRT per elaborare simultaneamente centinaia di flussi video.
  • Scegli YOLO26 per la stragrande maggioranza delle applicazioni moderne. Se stai sviluppando applicazioni di Edge AI per dispositivi IoT, droni o telefoni cellulari, il design nativo privo di NMS di YOLO26, le ottimizzazioni per CPU e il supporto completo dell'ecosistema lo rendono senza dubbio la scelta migliore per colmare il divario tra addestramento e produzione.

Commenti