Ultralytics YOLO27:

YOLOv10 vs YOLOv5#

Scegliere la giusta architettura di rete neurale è fondamentale per implementare in produzione pipeline di visione artificiale efficaci. Questa pagina fornisce un'analisi tecnica approfondita che confronta YOLOv10 e YOLOv5, due modelli altamente influenti nell'evoluzione del rilevamento degli oggetti in tempo reale. Sebbene entrambi i modelli abbiano avuto un impatto significativo sulla comunità dell'IA, rappresentano epoche e filosofie diverse nella progettazione delle architetture di deep learning.

Questa guida valuta queste architetture in base alla precisione media media (mAP), alla latenza di inferenza, all'efficienza dei parametri e al supporto dell'ecosistema, aiutandoti a scegliere il modello migliore per le tue esigenze di implementazione.

Panoramica dei modelli#

YOLOv10: rilevamento di oggetti end-to-end in tempo reale#

Sviluppato da ricercatori della Tsinghua University, YOLOv10 ha introdotto un approccio innovativo al rilevamento degli oggetti eliminando la necessità di post-elaborazione.

La svolta decisiva di YOLOv10 è il suo design end-to-end senza NMS. Storicamente, i modelli YOLO si affidavano alla soppressione dei non-massimi (NMS) per filtrare i riquadri di delimitazione ridondanti. YOLOv10 utilizza assegnazioni duali coerenti per l'addestramento senza NMS, riducendo drasticamente la variabilità della latenza di inferenza e semplificando la logica di implementazione. Inoltre, l'architettura presenta un design olistico guidato dall'efficienza e dalla precisione, che ottimizza a fondo vari componenti per ridurre la ridondanza computazionale.

Scopri di più su YOLOv10

YOLOv5: lo standard del settore per la facilità d'uso#

Rilasciato poco dopo l'inizio del repository Ultralytics PyTorch, YOLOv5 ha ridefinito le aspettative degli sviluppatori nei confronti di un framework open source di IA per la visione. Rimane una delle architetture più implementate al mondo.

YOLOv5 è apprezzato per la sua facilità d'uso e per il suo ecosistema ottimamente mantenuto. Scritto interamente in PyTorch, offriva un'esperienza fluida da "zero a esperto", con supporto immediato per l'addestramento, la convalida e l'esportazione in formati come ONNX e TensorRT. A differenza di YOLOv10, che si concentra principalmente sul puro rilevamento degli oggetti, YOLOv5 dimostra un'eccezionale versatilità, supportando la segmentazione delle istanze e la classificazione delle immagini all'interno della stessa API Python unificata.

Confronto di prestazioni e metriche#

Visualizzare la relazione tra velocità e precisione è essenziale per identificare i modelli che offrono la migliore accuratezza a fronte di un determinato vincolo di velocità. Comprendere queste metriche delle prestazioni è fondamentale per selezionare un modello in linea con i tuoi specifici vincoli hardware.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Analisi tecnica#

  1. Precisione (mAP): YOLOv10 dimostra un chiaro vantaggio generazionale in termini di precisione. Ad esempio, il modello YOLOv10-X raggiunge una mAPval del 54,4%, superando YOLOv5x (mAP del 50,7%). Questo salto è dovuto in gran parte alla strategia di addestramento senza NMS e ai perfezionamenti architetturali introdotti nel 2024.
  2. Latenza di inferenza: Sebbene i modelli YOLOv5 siano eccezionalmente veloci nei benchmark TensorRT T4 grezzi (ad esempio, YOLOv5n a 1,12 ms), YOLOv10 elimina completamente il passaggio di post-elaborazione NMS. Nelle implementazioni pratiche end-to-end, il design senza NMS di YOLOv10 offre una latenza più coerente e deterministica, fondamentale per applicazioni in tempo reale come i veicoli autonomi e la robotica.
  3. Efficienza dei parametri: I modelli YOLOv10 mantengono un equilibrio delle prestazioni altamente competitivo. YOLOv10-S raggiunge il 46,7% di mAP con soli 7,2 milioni di parametri, mentre YOLOv5s raggiunge il 37,4% di mAP con 9,1 milioni di parametri.
Suggerimento per l'implementazione

Quando esegui l'implementazione su dispositivi di IA edge come NVIDIA Jetson, i modelli privi di logica NMS (come YOLOv10 e YOLO26) spesso vengono compilati più facilmente in TensorRT, evitando operazioni di fallback sulla CPU.

Casi d'uso e raccomandazioni#

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

Quando scegliere YOLOv10#

YOLOv10 è una scelta ottimale 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 accuratezza: progetti che richiedono un equilibrio efficace tra velocità di inferenza e accuratezza del rilevamento su diverse dimensioni del modello.
  • Applicazioni a latenza coerente: scenari di distribuzione in cui sono fondamentali tempi di inferenza prevedibili, come la robotica o i sistemi autonomi.

Quando scegliere YOLOv5#

YOLOv5 è consigliato per:

  • Sistemi di produzione collaudati: implementazioni esistenti in cui sono apprezzati il lungo storico di stabilità di YOLOv5, la documentazione estesa e l'enorme supporto della community.
  • Addestramento con risorse limitate: ambienti con risorse GPU limitate, in cui la pipeline di addestramento efficiente di YOLOv5 e i requisiti di memoria inferiori sono vantaggiosi.
  • Ampio supporto dei formati di esportazione: progetti che richiedono l'implementazione in numerosi formati, tra cui ONNX, TensorRT, CoreML e TFLite.

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 YOLOv10 offra eccellenti capacità di rilevamento, affidarsi a repository accademici può talvolta complicare le pipeline di produzione. Utilizzando il pacchetto Python ufficiale di Ultralytics, ottieni accesso a un ecosistema unificato che supporta sia YOLOv5 sia YOLOv10, oltre a funzionalità avanzate.

  • Efficienza dell'addestramento: le architetture YOLO di Ultralytics sono ottimizzate a fondo per ridurre i requisiti di memoria durante l'addestramento. A differenza dei pesanti modelli Transformer (come RT-DETR), che richiedono un'enorme quantità di memoria CUDA, puoi addestrare comodamente YOLOv5 e YOLOv10 su GPU consumer standard.
  • Integrazione nell'ecosistema: l'integrazione con la Ultralytics Platform consente agli sviluppatori di gestire visivamente i dataset, monitorare gli esperimenti utilizzando Weights & Biases e ottimizzare automaticamente gli iperparametri.

Esempio di codice: addestramento fluido#

Utilizzando la libreria Ultralytics, passare da un'architettura all'altra è semplice quanto modificare la stringa del modello. La pipeline di addestramento gestisce automaticamente l'aumento dei dati, il ridimensionamento e la configurazione dell'ottimizzatore.

from ultralytics import YOLO

# To use YOLOv5:
# model = YOLO("yolov5s.pt")

# To use YOLOv10:
model = YOLO("yolov10s.pt")

# Train the model on a custom dataset
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    batch=16,
    device=0,  # Use GPU 0
)

# Export the trained model to ONNX format
path = model.export(format="onnx")

La prossima generazione: Ultralytics YOLO26#

Se oggi stai iniziando un nuovo progetto di machine learning, ti consigliamo vivamente di valutare l'ultimo Ultralytics YOLO26. Rilasciato a gennaio 2026, rappresenta lo stato dell'arte assoluto combinando le migliori innovazioni degli ultimi cinque anni.

YOLO26 integra nativamente il design end-to-end senza NMS introdotto da YOLOv10, garantendo un'implementazione rapida e deterministica. Inoltre, YOLO26 introduce diverse svolte fondamentali:

  • Inferenza su CPU fino al 43% più veloce: rimuovendo il modulo Distribution Focal Loss (DFL), YOLO26 raggiunge enormi accelerazioni sulle CPU standard, diventando la scelta ideale per l'implementazione su dispositivi mobili e i sensori IoT a basso consumo.
  • Ottimizzatore MuSGD: ispirato alle tecniche di addestramento dei Large Language Model (LLM), come Kimi K2 di Moonshot AI, YOLO26 utilizza una combinazione ibrida di SGD e Muon. Questo garantisce sessioni di addestramento estremamente stabili e una convergenza molto più rapida rispetto agli ottimizzatori AdamW utilizzati in YOLOv10.
  • ProgLoss + STAL: queste funzioni di perdita avanzate producono miglioramenti significativi nel riconoscimento degli oggetti piccoli, fondamentale per le immagini acquisite da droni e le applicazioni di sicurezza aerea.
  • Padronanza specifica per attività: mentre YOLOv10 è esclusivamente un rilevatore di riquadri di delimitazione, YOLO26 offre miglioramenti architetturali dedicati per tutte le attività, tra cui la Residual Log-Likelihood Estimation (RLE) per la posa e funzioni di perdita angolare specializzate per i riquadri di delimitazione orientati (OBB).
Approfondisci

Se stai esplorando il panorama più ampio del rilevamento degli oggetti, potresti essere interessato anche a confrontare queste architetture con altri framework. Dai un'occhiata alle nostre analisi approfondite di YOLO11 vs EfficientDet o RT-DETR vs YOLOv8 per benchmark più completi.

Che tu faccia affidamento sulla solida eredità di YOLOv5, sull'innovazione senza NMS di YOLOv10 o sulle prestazioni all'avanguardia senza pari di YOLO26, l'ecosistema Ultralytics fornisce gli strumenti necessari per portare rapidamente ed efficientemente alla realtà le tue applicazioni di IA per la visione.

Contributori

Commenti