Ultralytics YOLO27:
Get Started

YOLOv5 vs YOLOv10#

Negli ultimi anni, il campo della visione artificiale in tempo reale è cresciuto in modo esponenziale, con diverse architetture che hanno ampliato i limiti di ciò che è possibile fare con l'hardware moderno. Nel valutare le architetture all'avanguardia, il confronto tra YOLOv5 e YOLOv10 evidenzia un significativo passo evolutivo nel rilevamento degli oggetti. Questa analisi tecnica approfondita esamina i paradigmi architetturali, i compromessi prestazionali e le modalità con cui gli sviluppatori possono usare questi strumenti negli ambienti di produzione.

Approfondimento sull’architettura#

Comprendere le differenze strutturali tra questi modelli è fondamentale per distribuirli in modo efficiente nel mondo reale.

Ultralytics YOLOv5: lo standard del settore#

Introdotto da Ultralytics, YOLOv5 è da tempo riconosciuto per il suo equilibrio senza pari tra velocità, accuratezza e accessibilità.

YOLOv5 si basa su un meccanismo di rilevamento basato su anchor, combinato con un backbone CSPDarknet profondamente ottimizzato. Questa architettura si affida ampiamente alle operazioni standard supportate da quasi tutti i motori di inferenza, il che la rende estremamente versatile. Il suo principale punto di forza è l'SDK Python di Ultralytics, che offre un'esperienza utente semplice, un'API intuitiva e una documentazione completa. Inoltre, rispetto ai modelli basati su Transformer, YOLOv5 richiede meno memoria e si addestra rapidamente su GPU di fascia consumer, senza un elevato consumo di VRAM.

YOLOv10: verso un nuovo paradigma#

Sviluppato da ricercatori della Tsinghua University, YOLOv10 mirava a risolvere specifici colli di bottiglia della latenza presenti nelle architetture precedenti.

Scopri di più su YOLOv10

La caratteristica distintiva di YOLOv10 è il design nativamente privo di NMS (soppressione dei non massimi). Grazie all'uso di assegnazioni duali coerenti durante l'addestramento, il modello elimina la necessità del post-processing NMS in fase di inferenza. Questa riduzione teorica della latenza è molto vantaggiosa per le implementazioni che sfruttano l'accelerazione NVIDIA TensorRT su hardware di fascia alta, anche se può introdurre complessità strutturali nei dispositivi edge.

Vantaggi dell'ecosistema

Sebbene YOLOv10 offra interessanti novità architetturali, i modelli Ultralytics come YOLOv5 e il più recente YOLO26 sono supportati nativamente nella piattaforma Ultralytics e offrono maggiore efficienza di addestramento, evoluzione automatica degli iperparametri e numerose opzioni di esportazione già disponibili.

Analisi delle prestazioni#

Nel confronto tra questi modelli, il giusto equilibrio tra accuratezza (mAP) e costo computazionale (latenza e numero di parametri) determina il caso d'uso più adatto. Di seguito è riportato il confronto delle prestazioni tecniche sul dataset COCO.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

YOLOv10 raggiunge chiaramente un valore mAP50-95 più alto a parità di dimensioni, grazie al suo design moderno, che punta a migliorare efficienza e accuratezza. YOLOv5 mantiene però una latenza estremamente competitiva, soprattutto nelle varianti Nano e Small, risultando molto affidabile per ambienti embedded con risorse limitate, come la linea NVIDIA Jetson o le CPU standard con OpenVINO.

Metodologie di training ed ecosistema#

Il valore di un modello è strettamente legato all'ecosistema che lo circonda. Ultralytics offre un ecosistema eccezionalmente curato, che supporta un'ampia gamma di attività. Mentre YOLOv10 si concentra esclusivamente sul rilevamento di oggetti 2D, Ultralytics supporta nativamente la segmentazione di istanze, la classificazione di immagini, la stima della posa e i riquadri di delimitazione orientati (OBB).

Inoltre, l'addestramento di un modello Ultralytics richiede molta meno memoria rispetto ai metodi basati su Transformer concorrenti, mantenendo il ciclo di sviluppo rapido ed economico.

Esecuzione del codice senza intoppi#

L'addestramento, la convalida e l'esportazione dei modelli sono riuniti in un'unica API. Puoi passare da un modello all'altro modificando semplicemente una stringa.

from ultralytics import YOLO

# Carica un modello YOLOv5 preaddestrato per i test di riferimento
model_v5 = YOLO("yolov5su.pt")  # YOLOv5u: pesi YOLOv5 anchor-free per il pacchetto ultralytics

# Carica un modello YOLOv10 per il confronto
model_v10 = YOLO("yolov10s.pt")

# Addestra il modello in modo efficiente sul dataset COCO8
results = model_v5.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device="0",  # Utilizza automaticamente l'accelerazione CUDA di PyTorch
    batch=16,
)

# Esporta in ONNX per l'inferenza su CPU in fase di implementazione
model_v5.export(format="onnx", simplify=True)

Casi d'uso e consigli#

La scelta tra YOLOv5 e YOLOv10 dipende dai requisiti specifici del tuo progetto, dai vincoli di implementazione e dalle preferenze relative all'ecosistema.

Quando scegliere YOLOv5#

YOLOv5 è un'ottima scelta per:

  • Sistemi di produzione collaudati: distribuzioni esistenti in cui sono apprezzati lo storico di stabilità di YOLOv5, la documentazione esaustiva e il vasto supporto della community.
  • Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente e i requisiti di memoria ridotti di YOLOv5 sono vantaggiosi.
  • Ampio supporto dei formati di esportazione: progetti che richiedono la distribuzione in numerosi formati, tra cui ONNX, TensorRT, CoreML e LiteRT.

Quando scegliere YOLOv10#

YOLOv10 è consigliato per:

  • Rilevamento in tempo reale senza NMS: applicazioni che traggono vantaggio dal rilevamento end-to-end senza soppressione non massima, riducendo la complessità della distribuzione.
  • Compromesso equilibrato tra velocità e precisione: progetti che richiedono un buon equilibrio tra velocità di inferenza e precisione di rilevamento con modelli di diverse dimensioni.
  • Applicazioni con latenza costante: scenari di distribuzione in cui i tempi di inferenza prevedibili sono fondamentali, ad esempio nella robotica o nei sistemi autonomi.

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 inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
  • Ambienti con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.

Il futuro: Ultralytics YOLO26#

YOLOv5 ha reso l'accesso alla tecnologia più semplice e YOLOv10 ha ampliato i confini delle architetture senza NMS, ma lo stato dell'arte continua a evolversi. Per i nuovi progetti consigliamo vivamente Ultralytics YOLO26, all'avanguardia e rilasciato a gennaio 2026.

YOLO26 unisce l'affidabilità dell'ecosistema Ultralytics a innovazioni rivoluzionarie:

  • Design end-to-end senza NMS: integrando il paradigma senza NMS direttamente nel framework Ultralytics come testa opzionale one-to-one (nms=False), YOLO26 semplifica l'implementazione e riduce la latenza.
  • Inferenza su CPU fino al 43% più veloce: eliminando la Distribution Focal Loss (DFL), YOLO26 è notevolmente più veloce sui dispositivi edge senza GPU.
  • Ottimizzatore MuSGD: ispirato alle innovazioni di Moonshot AI nell'addestramento degli LLM, l'ottimizzatore MuSGD offre stabilità senza precedenti e convergenza rapida.
  • ProgLoss + STAL: queste nuove funzioni di loss migliorano notevolmente il riconoscimento degli oggetti piccoli, fondamentale in ambiti come le immagini da droni e la robotica.

Puoi gestire, addestrare e distribuire YOLO26 direttamente tramite la piattaforma Ultralytics.

Conclusione#

La scelta tra YOLOv5 e YOLOv10 dipende spesso dai vincoli specifici del progetto. YOLOv10 offre un mAP eccellente a ricercatori e applicazioni che sfruttano appieno la potenza di calcolo delle GPU. YOLOv5, invece, rimane un modello affidabile e altamente compatibile per le implementazioni standard.

Il campo della visione artificiale è però in continua evoluzione. Per ottenere il miglior equilibrio tra prestazioni, versatilità e semplicità d'uso, gli sviluppatori dovrebbero valutare Ultralytics YOLO26. Combina la velocità dell'inferenza senza NMS con l'ecosistema Ultralytics robusto e ben documentato, per garantire che le tue soluzioni di IA per la visione siano pronte per il futuro. Per casi d'uso specifici, gli sviluppatori possono anche valutare YOLO11 per la sua robustezza generale o RT-DETR per la precisione basata su Transformer.

Commenti