Vai al contenuto

YOLOv5 YOLOv10: un confronto tecnico tra rilevatori di oggetti in tempo reale

L'evoluzione dell'architettura You Only Look Once (YOLO) ha rappresentato una tappa fondamentale nella storia della visione artificiale. Due pietre miliari distintive in questa cronologia sono YOLOv5, lo standard industriale per affidabilità e facilità d'uso, e YOLOv10, una svolta accademica incentrata sull'eliminazione dei colli di bottiglia nella post-elaborazione. Questa guida fornisce un confronto tecnico dettagliato per aiutare gli sviluppatori a scegliere lo strumento giusto per le loro applicazioni, esplorando al contempo come l'ultimo YOLO26 unifichi i punti di forza di entrambi.

Origini e specifiche del modello

Prima di approfondire le metriche di prestazione, è fondamentale comprendere il contesto di ciascun modello.

YOLOv5
Autore: Glenn Jocher
Organizzazione: Ultralytics
Data: 26/06/2020
GitHub: yolov5
Documentazione: YOLOv5

YOLOv10
Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
Organizzazione: Università Tsinghua
Data: 23/05/2024
Arxiv: arXiv:2405.14458
GitHub: THU-MIG/yolov10
Documentazione: YOLOv10

Scopri di più su YOLOv5

Analisi delle prestazioni

La tabella seguente mette a confronto i modelli sul COCO , un benchmark standard per il rilevamento di oggetti.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
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

YOLOv10 raggiunge YOLOv10 una precisione media (mAP) più elevata con un numero inferiore di parametri, evidenziando i vantaggi in termini di efficienza derivanti dalla sua architettura più recente. Tuttavia, YOLOv5 competitivo in termini di velocità GPU , in particolare su hardware legacy, grazie alle sue CUDA altamente ottimizzate.

Scopri di più su YOLOv10

Architettura e Design

YOLOv5: lo standard affidabile

YOLOv5 basato su un backbone CSPNet modificato e un neck PANet. Utilizza teste di rilevamento standard basate su anchor, che richiedono la soppressione non massima (NMS) durante la post-elaborazione per filtrare i bounding box duplicati.

  • Punti di forza: codice estremamente maturo, ampiamente supportato da strumenti di terze parti e implementazione stabile su dispositivi edge come Raspberry Pi.
  • Punti deboli: si basa su NMS, che può introdurre variabilità di latenza a seconda del numero di oggetti presenti nella scena.

YOLOv10: il pioniere NMS

YOLOv10 un cambiamento paradigmatico utilizzando assegnazioni doppie coerenti per l'addestramento NMS. Ciò consente al modello di prevedere esattamente un riquadro per oggetto, eliminando la necessità di fasi NMS .

  • Punti di forza: minore latenza di inferenza in scene ad alta densità grazie alla NMS ; l'efficiente progettazione dei blocchi guidata dal rango riduce la ridondanza computazionale.
  • Punti deboli: l'architettura più recente potrebbe richiedere impostazioni di esportazione specifiche per alcuni compilatori; supporto della comunità meno consolidato rispetto alla versione 5.

NMS

La soppressione non massima (NMS) è una fase di post-elaborazione che filtra i riquadri di delimitazione sovrapposti. Sebbene efficace, è sequenziale e richiede un elevato carico di calcolo sulle CPU. La sua rimozione, come avviene in YOLOv10 YOLO26, è fondamentale per le applicazioni in tempo reale su hardware edge.

Ecosistema e facilità d'uso

Uno dei fattori più critici per gli sviluppatori è l'ecosistema che circonda un modello. È qui che diventa chiara la distinzione tra un archivio di ricerca e una piattaforma di produzione.

Il vantaggio di Ultralytics

Entrambi i modelli possono essere eseguiti tramite il ultralytics Python , che garantisce loro l'accesso a una suite completa di strumenti.

Esempio di codice

Passare da un modello all'altro è semplice come cambiare la stringa del nome del modello.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model
model_v5 = YOLO("yolov5s.pt")
model_v5.train(data="coco8.yaml", epochs=100)

# Load a pre-trained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
model_v10.predict("path/to/image.jpg")

Casi d'uso ideali

Quando scegliere YOLOv5

  • Sistemi legacy: se disponi di una pipeline esistente basata sui formati YOLOv5 .
  • Massima compatibilità: per l'implementazione su sistemi integrati meno recenti che potrebbero non supportare ancora gli operatori più recenti.
  • Risorse della community: quando hai bisogno di accedere a migliaia di tutorial e integrazioni di terze parti creati negli ultimi cinque anni.

Quando scegliere YOLOv10

  • Rilevamento ad alta densità: scenari come il conteggio della folla o l'analisi del traffico in cui NMS l'elaborazione.
  • Rigidi vincoli di latenza: robotica in tempo reale o guida autonoma, dove ogni millisecondo di latenza di inferenza è fondamentale.
  • Ricerca: sperimentazione delle ultime innovazioni nelle strategie di assegnazione e nella potatura architettonica.

Il consiglio definitivo: YOLO26

Mentre YOLOv5 stabilità e YOLOv10 inferenze NMS, il nuovo Ultralytics combina questi vantaggi in un unico framework superiore.

Perché passare a YOLO26? YOLO26 è nativamente end-to-end, adotta il designNMS introdotto da YOLOv10 lo migliora con la solida pipeline Ultralytics .

  1. MuSGD Optimizer: ispirato all'addestramento LLM (in particolare Kimi K2 di Moonshot AI), questo ottimizzatore garantisce una convergenza stabile e un addestramento più rapido.
  2. Prestazioni: ottimizzato per l'edge computing, offre CPU fino al 43% più veloce rispetto alle generazioni precedenti.
  3. Precisione: include ProgLoss e STAL (Semantic-Token Alignment Loss), migliorando significativamente il rilevamento di oggetti di piccole dimensioni, che spesso rappresenta un punto debole nei modelli precedenti.
  4. Versatilità completa: a differenza di YOLOv10 si concentra sul rilevamento, YOLO26 offre modelli all'avanguardia per la segmentazione, la posa, la classificazione e l'OBB.

Per qualsiasi nuovo progetto che inizierà nel 2026, YOLO26 è la scelta consigliata, poiché offre il percorso più semplice dall'annotazione dei set di dati all'esportazione dei modelli.

Scopri di più su YOLO26

Conclusione

Sia YOLOv5 YOLOv10 momenti cruciali nella visione artificiale. YOLOv5 ha democratizzato l'intelligenza artificiale rendendola accessibile e affidabile, mentre YOLOv10 ha ampliato i confini tecnici dell'elaborazione end-to-end. Tuttavia, il settore è in rapida evoluzione. Con il rilascio di YOLO26, gli sviluppatori non devono più scegliere tra l'affidabilità Ultralytics e la velocità delle architetture NMS: YOLO26 offre entrambe le cose.

Per altre alternative moderne, potresti anche prendere in considerazione l'idea di esplorare YOLO11 per attività di visione generiche o Real-Time DETR (RT-DETR) per il rilevamento basato su trasformatori.


Commenti