Ultralytics YOLOv8 . YOLOv10: l'evoluzione del rilevamento in tempo reale
Il campo della visione artificiale evolve a un ritmo vertiginoso, con nuove architetture che ridefiniscono costantemente lo stato dell'arte. Due pietre miliari significative in questa cronologia sono Ultralytics YOLOv8 e YOLOv10. Sebbene entrambi i modelli derivino dalla leggendaria linea YOLO You Only Look Once), rappresentano filosofie di progettazione e integrazioni ecosistemiche diverse.
Questa guida fornisce un confronto tecnico dettagliato per aiutare ricercatori e sviluppatori a scegliere lo strumento più adatto alle loro esigenze specifiche, valutando fattori quali la maturità dell'ecosistema, la versatilità delle attività e l'innovazione architettonica.
Sintesi: quale modello scegliere?
Prima di addentrarci nell'architettura, ecco una distinzione di alto livello:
- Ultralytics YOLOv8 è il robusto "coltellino svizzero" della visione artificiale. È la scelta preferita per l'implementazione aziendale grazie al suo vasto ecosistema, al supporto di più attività (rilevamento, segmentazione, posa, OBB, classificazione) e alla perfetta integrazione con la Ultralytics .
- YOLOv10 è un modello di rilevamento specializzato che ha introdotto nel mondo l'addestramento NMS. È eccellente per la ricerca e per scenari specifici di solo rilevamento in cui l'obiettivo principale è eliminare la post-elaborazione.
Lo standard più recente: YOLO26
Sebbene il confronto tra YOLOv8 YOLOv10 utile, gli utenti che cercano le prestazioni migliori in assoluto dovrebbero prendere in considerazione YOLO26. Rilasciato nel gennaio 2026, YOLO26 unisce il design NMS introdotto da YOLOv10 il solido ecosistema e la versatilità multitasking di Ultralytics. Offre CPU fino al 43% più veloce e un rilevamento dei piccoli oggetti migliorato.
Ultralytics YOLOv8: Lo Standard dell'Ecosistema
Rilasciato all'inizio del 2023, YOLOv8 è diventato YOLOv8 lo standard industriale per la visione artificiale pratica. Il suo punto di forza principale non risiede solo nelle metriche grezze, ma anche nella sua usabilità e versatilità.
Caratteristiche principali
- Apprendimento multi-task: a differenza di molti modelli specializzati, YOLOv8 supporta YOLOv8 il rilevamento di oggetti, la segmentazione di istanze, la stima della posa, i bounding box orientati (OBB) e la classificazione delle immagini.
- Rilevamento senza ancoraggio: utilizza una testa divisa senza ancoraggio, che riduce il numero di previsioni box e accelera la soppressione non massima (NMS).
- Ultralytics : completamente integrato con strumenti per l'annotazione dei dati, l'addestramento dei modelli e l'implementazione.
Dettagli del Modello
- Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
- Organizzazione:Ultralytics
- Data: 2023-01-10
- Documentazione:Documentazione YOLOv8
YOLOv10: il pioniere NMS
Sviluppato dai ricercatori dell'Università di Tsinghua, YOLOv10 molto sull'efficienza architettonica e sull'eliminazione dei colli di bottiglia nella post-elaborazione.
Innovazioni Chiave
- Formazione end-to-end: YOLOv10 assegnazioni doppie coerenti per eliminare la necessità della soppressione non massima (NMS) durante l'inferenza. Ciò riduce la variabilità della latenza in scene affollate.
- Progettazione olistica dell'efficienza: l'architettura è dotata di teste di classificazione leggere e downsampling con disaccoppiamento spaziale-canale per ridurre il costo computazionale (FLOP).
- Focus: È progettato principalmente per attività di rilevamento di oggetti.
Dettagli del Modello
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione: Tsinghua University
- Data: 2024-05-23
- Arxiv:2405.14458
- Documentazione:Documentazione YOLOv10
Confronto Tecnico: Metriche e Prestazioni
La tabella seguente mette a confronto le prestazioni di entrambi i modelli sul COCO .
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Analisi dei Dati
- Precisione contro efficienza: YOLOv10 raggiunge YOLOv10 un mAPval più elevato con meno parametri e FLOP rispetto a YOLOv8. Questa efficienza è dovuta ai suoi blocchi architetturali ottimizzati.
- Velocità di inferenza: mentre YOLOv10 NMS, YOLOv8 (in particolare la variante Nano) rimangono incredibilmente competitivi in termini di throughput grezzo su hardware standard.
- Memoria di addestramento: Ultralytics YOLOv8 altamente ottimizzato per l'efficienza di addestramento, richiedendo spesso meno GPU rispetto alle implementazioni accademiche, consentendo batch di dimensioni maggiori su hardware consumer.
Architettura e filosofia di progettazione
La differenza fondamentale risiede nel modo in cui questi modelli gestiscono le previsioni finali.
Architettura YOLOv8
YOLOv8 un Task-Aligned Assigner. Prevede separatamente i riquadri di delimitazione e i punteggi di classe, ma li allinea durante l'addestramento. Fondamentalmente, si affida alla NMS per filtrare i riquadri duplicati. Ciò rende il modello robusto e versatile, consentendone un facile adattamento per la segmentazione e la stima della posa.
Architettura YOLOv10
YOLOv10 le assegnazioni doppie delle etichette. Durante l'addestramento, utilizza un head one-to-many (come YOLOv8) per segnali di supervisione ricchi e un head one-to-one per l'inferenza finale. Questa struttura consente al modello di imparare a selezionare il singolo riquadro migliore per un oggetto, rendendo NMS .
Implicazioni dell'implementazione
La rimozione NMS notevolmente la pipeline di distribuzione. Quando si esportano modelli in formati come TensorRT o OpenVINO, gli ingegneri non devono più implementare complessi NMS , riducendo così i costi di progettazione.
Facilità d'uso ed ecosistema
È qui che la distinzione diventa fondamentale per gli sviluppatori.
Ultralytics YOLOv8 è supportato da una vasta e attiva comunità open source. Tra i suoi vantaggi figurano:
- Aggiornamenti frequenti: patch regolari, nuove funzionalità e correzioni di compatibilità.
- Ultralytics : formazione cloud senza soluzione di continuità e gestione dei set di dati.
- Documentazione: guide complete su tutto, dalla regolazione degli iperparametri alla distribuzione su dispositivi edge.
YOLOv10, sebbene disponibile tramite il Ultralytics , è principalmente un contributo accademico. Potrebbe non ricevere la stessa frequenza di manutenzione o espansioni delle funzionalità (come il tracciamento o il supporto OBB) dei Ultralytics principali.
Confronto tra codici
Entrambi i modelli possono essere eseguiti utilizzando Ultralytics unificata, dimostrando la facilità d'uso offerta dall'ecosistema.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model (Official Ultralytics)
model_v8 = YOLO("yolov8n.pt")
# Load a pretrained YOLOv10 model (Community supported)
model_v10 = YOLO("yolov10n.pt")
# Train YOLOv8 on a custom dataset
model_v8.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference with YOLOv10 on an image
results = model_v10("https://ultralytics.com/images/bus.jpg")
Applicazioni nel mondo reale
Quando usare YOLOv8
- Robotica complessa: se il tuo robot deve navigare (rilevamento) e manipolare oggetti (posizione/segmentazione), le funzionalità multitasking YOLOv8 sono essenziali.
- Prodotti commerciali: per i prodotti che richiedono una manutenzione a lungo termine, la stabilità Ultralytics garantisce che l'implementazione del modello rimanga valida per anni.
- Immagini satellitari: i modelli OBB specializzati in YOLOv8 ideali per rilevare oggetti ruotati come navi o veicoli nelle vedute aeree.
Quando utilizzare YOLOv10
- Negoziazione ad alta frequenza di dati visivi: in scenari in cui ogni microsecondo di variazione della latenza è importante, l'eliminazione della NMS garantisce un tempo di inferenza deterministico.
- Dispositivi integrati con CPU limitata: per i dispositivi in cui NMS sulla CPU un collo di bottiglia, il design end-to-end YOLOv10 alleggerisce il carico sul processore.
Conclusione
Entrambe le architetture sono ottime scelte. YOLOv8 rimane il campione versatile per la maggior parte degli sviluppatori, offrendo un percorso sicuro, robusto e ricco di funzionalità per la produzione. YOLOv10 offre un affascinante sguardo sul futuro del rilevamento NMS.
Tuttavia, il settore ha già fatto passi avanti. Per gli sviluppatori che oggi intraprendono nuovi progetti, YOLO26 è la scelta consigliata. Adotta i vantaggi NMS di YOLOv10 li perfeziona con l'ottimizzatore MuSGD e funzioni di perdita potenziate (ProgLoss), offrendo il meglio di entrambi i mondi: l'architettura all'avanguardia della ricerca accademica supportata dall'assistenza di livello industriale di Ultralytics.
Letture aggiuntive
- Documentazione YOLO26
- Spiegazione delle metriche YOLO
- Guida all'Object Detection
- Guida rapida a Ultralytics Platform