YOLOv5 . YOLOv8: l'evoluzione del rilevamento Ultralytics
Il campo della visione artificiale ha registrato rapidi progressi, trainati in modo significativo dalla continua innovazione all'interno della famiglia di rilevatori di oggetti YOLO You Only Look Once). Due delle versioni più influenti di questa linea sono YOLOv5 e YOLOv8, entrambe sviluppate da Ultralytics. Mentre YOLOv5 lo standard del settore in termini di facilità d'uso e flessibilità al momento del suo rilascio nel 2020, YOLOv8 rilasciato nel 2023) ha introdotto innovazioni architetturali che hanno ridefinito le prestazioni all'avanguardia.
Questa guida fornisce un confronto tecnico approfondito per aiutare sviluppatori, ricercatori e ingegneri a scegliere il modello più adatto alle loro specifiche esigenze applicative, mettendo in evidenza anche i più recenti progressi nel campo, come YOLO26.
Ultralytics YOLOv5: Lo standard industriale
Rilasciato nel giugno 2020, YOLOv5 ha segnato un momento cruciale nella democratizzazione dell'IA. A differenza dei suoi predecessori, scritti principalmente in C (Darknet), YOLOv5 il primo nativo PyTorch , rendendolo eccezionalmente accessibile alla comunità Python .
Caratteristiche principali e architettura
YOLOv5 apprezzato per il suo equilibrio tra velocità, precisione e design intuitivo. La sua architettura ha introdotto diversi miglioramenti chiave rispetto a YOLOv4:
- CSPDarknet Backbone: utilizza connessioni parziali cross-stage per migliorare il flusso gradiente e ridurre i parametri.
- Anchor box con apprendimento automatico: apprende automaticamente le dimensioni ottimali delle anchor box per il set di dati personalizzato prima dell'inizio dell'addestramento.
- Aumento dei dati mosaico: una tecnica di addestramento che combina quattro immagini in una sola, migliorando la capacità del modello di detect oggetti detect e migliorando la generalizzazione del contesto.
Specifiche tecniche:
- Autori: Glenn Jocher
- Organizzazione:Ultralytics
- Data: 2020-06-26
- GitHub:ultralytics/yolov5
Ultralytics YOLOv8: definizione dello stato dell'arte
Lanciato nel gennaio 2023, YOLOv8 ha rappresentato un significativo passo avanti nella tecnologia di visione artificiale. Si è allontanato dal rilevamento basato su anchor utilizzato in YOLOv5 un design senza anchor, semplificando il processo di apprendimento e migliorando la generalizzazione tra diverse forme di oggetti.
Innovazioni Architetturali
YOLOv8 una serie di tecniche moderne che hanno migliorato sia la velocità che la precisione:
- Rilevamento senza ancoraggio: elimina la necessità di configurare manualmente i riquadri di ancoraggio, prevedendo direttamente i centri degli oggetti. Ciò riduce il numero di previsioni dei riquadri e accelera la soppressione non massima (NMS).
- Modulo C2f: sostituisce il modulo C3 di YOLOv5, offrendo un flusso di gradienti più ricco e regolando il numero di canali per una migliore estrazione delle caratteristiche.
- Testa disaccoppiata: separa le attività di oggettività, classificazione e regressione in diversi rami, consentendo a ciascuno di convergere in modo più efficace.
- Versatilità delle attività: progettato da zero per supportare non solo il rilevamento, ma anche la segmentazione delle istanze, la stima della posa, la classificazione e l'OBB (Oriented Bounding Box).
Specifiche tecniche:
- Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
- Organizzazione:Ultralytics
- Data: 2023-01-10
- GitHub:ultralytics/ultralytics
Confronto delle prestazioni
Confrontando questi due potenti modelli, è chiaro che YOLOv8 supera YOLOv8 YOLOv5 sia YOLOv5 precisione (mAP) che YOLOv5 latenza su hardware comparabile. Tuttavia, YOLOv5 un modello altamente performante ed estremamente efficiente per i sistemi legacy.
La tabella sottostante evidenzia le prestazioni sul COCO . I valori in grassetto indicano le migliori prestazioni in ciascuna categoria.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Analisi
YOLOv8n Nano) raggiunge un mAP significativamente più alto mAP 37,3) rispetto a YOLOv5n (28,0) con solo un aumento marginale del numero di parametri. Questo guadagno in termini di efficienza rende YOLOv8 scelta migliore per le moderne applicazioni edge, dove ogni percentuale di accuratezza conta.
Formazione ed ecosistema
Entrambi i modelli traggono enormi vantaggi Ultralytics , che privilegia la facilità d'uso.
Flusso di lavoro di formazione semplificato
Il passaggio da YOLOv5 YOLOv8 ha YOLOv8 introdotto una CLI unificata CLI Python che supporta tutte le attività. Mentre YOLOv5 su script specifici (ad esempio, train.py, detect.py), YOLOv8 modelli successivi come YOLO26 utilizzare una struttura modulare dei pacchetti.
YOLOv5 :
python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt
YOLOv8 :
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
I vantaggi Ultralytics
Entrambi i modelli si integrano perfettamente con la Ultralytics . Ciò consente agli utenti di visualizzare i cicli di addestramento, gestire i set di dati ed esportare i modelli con un solo clic in formati come ONNX, TensorRTe CoreML dover scrivere complessi script di conversione.
Casi d'Uso e Raccomandazioni
La scelta tra questi due modelli dipende dai vostri vincoli specifici, anche se in genere per i nuovi progetti si consigliano i modelli più recenti.
Scenari ideali per YOLOv5
- Sistemi legacy: progetti già profondamente integrati con il YOLOv5 , dove i costi di migrazione sono elevati.
- Supporto hardware specifico: alcuni acceleratori AI edge meno recenti potrebbero avere kernel altamente ottimizzati e specificamente ottimizzati per le strutture di livello specifiche YOLOv5.
- Semplicità: per scopi puramente didattici, la struttura esplicita basata su script del YOLOv5 può essere più facile da analizzare riga per riga per i principianti.
Scenari ideali per YOLOv8
- Requisiti di elevata precisione: applicazioni quali imaging medico o controllo qualità, in cui è fondamentale rilevare caratteristiche sottili.
- Apprendimento multitasking: progetti che richiedono segmentazione o stima della posa oltre al rilevamento.
- A prova di futuro: gli sviluppatori che avviano nuovi progetti dovrebbero optare per YOLOv8 o versioni più recenti) per garantire il supporto a lungo termine e la compatibilità con gli strumenti di implementazione più recenti.
Il futuro: Ultralytics
Sebbene YOLOv5 YOLOv8 eccellenti, il settore ha continuato a evolversi. Agli sviluppatori che cercano il massimo delle prestazioni nel 2026, consigliamo vivamente Ultralytics .
Perché scegliere YOLO26? YOLO26 si basa sull'eredità delle versioni v5 e v8, ma introduce cambiamenti rivoluzionari in termini di velocità ed efficienza:
- End-to-End NMS: eliminando la necessità della Non-Maximum Suppression (NMS), YOLO26 semplifica la logica di implementazione e riduce la latenza di inferenza, un concetto introdotto per la prima volta in YOLOv10.
- MuSGD Optimizer: un ottimizzatore ibrido che garantisce la stabilità dell'addestramento LLM ai modelli di visione, assicurando una convergenza più rapida.
- Ottimizzato per Edge: grazie alla rimozione del DFL e CPU specifiche CPU , YOLO26 funziona fino al 43% più velocemente sulle CPU rispetto alle generazioni precedenti.
- Rilevamento ottimale di oggetti di piccole dimensioni: le nuove funzioni ProgLoss e STAL migliorano significativamente le prestazioni su bersagli di piccole dimensioni, fondamentali per le immagini dei droni e le applicazioni IoT.
Conclusione
Sia YOLOv5 YOLOv8 risultati monumentali nella storia della visione artificiale. YOLOv5 rimane uno strumento affidabile e a basso consumo di memoria per molte applicazioni esistenti, apprezzato per la sua stabilità e il minor impatto sulle risorse durante l'addestramento. YOLOv8, tuttavia, offre una versatilità superiore, una maggiore precisione e un design architettonico più moderno in linea con le attuali tendenze di ricerca.
Per chi è alla ricerca dell'avanguardia, guardando al futuro YOLO26 o YOLO11 offrirà vantaggi ancora maggiori in termini di velocità e precisione. In definitiva, il solido Ultralytics garantisce che, qualunque modello scegliate, avrete a disposizione gli strumenti, la documentazione e il supporto della community necessari per avere successo.
Esempio di Codice: Esecuzione dell'Inferenza
Scopri la semplicità Ultralytics . Questo codice funziona in modo intercambiabile con i modelli YOLOv8, YOLO11 e YOLO26.
from ultralytics import YOLO
# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")
# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")
# Process results list
for result in results:
boxes = result.boxes # Boxes object for bbox outputs
masks = result.masks # Masks object for segmentation masks
keypoints = result.keypoints # Keypoints object for pose outputs
probs = result.probs # Probs object for classification outputs
result.show() # display to screen
result.save(filename="result.jpg") # save to disk
Per ulteriori dettagli sull'integrazione di questi modelli nel tuo flusso di lavoro, consulta la nostra Guida rapida.