YOLO Vision 2026:

YOLOv7 contro YOLOv5#

Quando realizzi moderne pipeline di computer vision, la scelta della giusta architettura di object detection è fondamentale per bilanciare accuratezza, velocità di inferenza e utilizzo delle risorse. Questo confronto approfondito esamina due modelli di grande influenza nel settore della computer vision: YOLOv7 e Ultralytics YOLOv5.

Analizzando le loro differenze architettoniche, le metriche di performance e gli scenari di implementazione ideali, puntiamo ad aiutare sviluppatori e ricercatori a scegliere il modello migliore per le loro specifiche esigenze.

Contesto e origini dei modelli#

Comprendere le origini di questi modelli fornisce un contesto per le loro filosofie di design e i casi d'uso previsti.

YOLOv5#

Rilasciato da Glenn Jocher e dal team di Ultralytics il 26 giugno 2020, YOLOv5 ha rivoluzionato il settore fornendo un'implementazione nativa in PyTorch che privilegiava la usabilità senza sacrificare le prestazioni. È diventato rapidamente uno standard industriale grazie al suo ecosistema incredibilmente snello e a dinamiche di training affidabili. Puoi esplorare il codice sorgente sul repository GitHub di YOLOv5 o accedere al modello direttamente tramite la Piattaforma Ultralytics.

Scopri di più su YOLOv5

YOLOv7#

Presentato da Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao dell'Institute of Information Science, Academia Sinica, Taiwan il 6 luglio 2022. YOLOv7 si è concentrato molto su innovazioni architetturali come le Extended Efficient Layer Aggregation Networks (E-ELAN) e un "bag-of-freebies" addestrabile per spingere lo stato dell'arte dell'accuratezza. I dettagli sono reperibili nel loro articolo ufficiale su Arxiv e nel repository GitHub di YOLOv7. Per un'integrazione fluida, consulta la documentazione di Ultralytics YOLOv7.

Scopri di più su YOLOv7

Sperimentazione fluida

Entrambi questi modelli sono completamente integrati nel pacchetto Python di Ultralytics, permettendoti di passare dall'uno all'altro cambiando semplicemente la stringa del modello nel tuo codice!

Innovazioni architettoniche#

Design di Ultralytics YOLOv5#

YOLOv5 utilizza un backbone CSPDarknet53 modificato abbinato a un collo Path Aggregation Network (PANet). Questo design è altamente ottimizzato per una rapida estrazione delle feature e per l'efficienza della memoria. A differenza delle architetture più vecchie o dei pesanti modelli transformer, YOLOv5 richiede una memoria CUDA significativamente inferiore durante l'addestramento, consentendo batch size maggiori su GPU standard di fascia consumer. Inoltre, il framework Ultralytics supporta nativamente un'ampia varietà di attività oltre ai tradizionali bounding box, tra cui la segmentazione delle immagini e la classificazione delle immagini.

Design di YOLOv7#

YOLOv7 ha introdotto diverse riparametrizzazioni strutturali e l'architettura E-ELAN, che consente alla rete di apprendere feature più diverse senza distruggere il percorso del gradiente originale. Implementa inoltre una testa ausiliaria per la supervisione intermedia durante il training. Sebbene questi progressi producano un'alta mean Average Precision (mAP), spesso introducono strutture di tensori complesse che possono rendere l'esportazione verso formati edge come ONNX o TensorRT leggermente più complessa rispetto alle esportazioni snelle native dei modelli Ultralytics.

Analisi delle prestazioni#

Nel confrontare questi modelli, gli sviluppatori devono bilanciare mAPval, velocità di inferenza e complessità computazionale (FLOPs). La tabella sottostante mostra le prestazioni di entrambe le architetture valutate sul dataset COCO.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Punti chiave#

  • Soffitto di precisione: YOLOv7x raggiunge la massima precisione complessiva a un impressionante 53.1 mAPval, rendendolo altamente competitivo per gli scenari in cui massimizzare le prestazioni di rilevamento è l'obiettivo principale.
  • Velocità ed Efficienza: Ultralytics YOLOv5n è un concentrato di efficienza, che offre una latenza di inferenza fulminea (1,12 ms su T4 TensorRT) con un footprint di memoria ridottissimo di appena 2,6M parametri. Questo lo rende una scelta impareggiabile per distribuzioni edge fortemente vincolate.
  • Bilanciamento delle prestazioni: La serie YOLOv5 fornisce un gradiente eccezionale di modelli. YOLOv5l offre un fantastico punto di equilibrio, seguendo YOLOv7l di un piccolo margine di precisione ma offrendo una pipeline di implementazione altamente matura.

Il vantaggio dell'ecosistema Ultralytics#

L'architettura di un modello è solo metà dell'equazione; l'ecosistema che lo circonda ne determina la fattibilità nel mondo reale. È qui che i modelli Ultralytics brillano davvero.

Facilità d'Uso: Ultralytics fornisce un'API Python unificata e altamente intuitiva. Puoi addestrare, convalidare e distribuire modelli con un codice boilerplate minimo, supportato da un'ampia documentazione ufficiale. Ecosistema Ben Mantenuto: Lo sviluppo attivo garantisce aggiornamenti costanti, correzioni di bug e un'integrazione fluida con moderni strumenti di tracciamento come Weights & Biases. Efficienza dell'Addestramento: Sfruttando data loader ottimizzati e caching intelligente, YOLOv5 riduce drasticamente i tempi di training. Inoltre, i pesi pre-addestrati pronti all'uso accelerano il transfer learning in vari domini.

Esempio di codice: addestramento semplificato#

Con il pacchetto Ultralytics, avviare un addestramento è praticamente identico indipendentemente dall'architettura scelta.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")

Casi d'uso ideali#

Quando scegliere YOLOv7#

  • Benchmarking accademico: Perfetto per i ricercatori che hanno bisogno di confrontare tecniche nuove rispetto a una baseline documentata del 2022.
  • Elaborazione cloud su GPU di fascia alta: Quando si esegue l'implementazione su hardware server potente dove ottenere il massimo mAP assoluto su scene dense supera la semplicità di esportazione.

Quando scegliere YOLOv5#

  • Distribuzioni in Produzione: Ideale per applicazioni commerciali che richiedono elevata stabilità, semplici opzioni di distribuzione del modello e un'ampia compatibilità multi-piattaforma.
  • Dispositivi edge: Le varianti più piccole (YOLOv5n e YOLOv5s) funzionano eccezionalmente bene su telefoni cellulari e sistemi embedded.
  • Requisiti Multi-Task: Se il tuo progetto deve evolvere dalla semplice rilevazione alla stima della posa o alla segmentazione utilizzando un framework unificato.
Esplorazione di altre architetture

Cerchi iterazioni più recenti? Prendi in considerazione l'esplorazione di Ultralytics YOLOv8 o Ultralytics YOLO11 per ulteriori progressi nel rilevamento anchor-free e nelle capacità di apprendimento multi-task.

La Prossima Generazione: Ultralytics YOLO26#

Sebbene YOLOv5 e YOLOv7 occupino posti vitali nella storia della visione AI, il panorama è in costante evoluzione. Rilasciato nel gennaio 2026, Ultralytics YOLO26 rappresenta l'assoluta avanguardia della tecnologia di rilevamento oggetti, superando le generazioni precedenti su tutte le metriche.

Scopri di più su YOLO26

YOLO26 introduce diverse funzionalità che cambiano il paradigma:

  • Design end-to-end senza NMS: Basandosi su concetti pionieristici nelle iterazioni precedenti, YOLO26 è nativamente end-to-end. Questo elimina completamente il post-processing Non-Maximum Suppression (NMS), riducendo i colli di bottiglia della latenza e semplificando drasticamente la logica di implementazione.
  • Ottimizzatore MuSGD: Ispirato a Kimi K2 di Moonshot AI, questo ottimizzatore rivoluzionario unisce la stabilità dello SGD standard con lo slancio accelerato di Muon, portando innovazioni avanzate nell'addestramento di LLM direttamente nella computer vision.
  • Velocità CPU migliorata: Rimuovendo strategicamente la Distribution Focal Loss (DFL), YOLO26 raggiunge fino al 43% di inferenza CPU più veloce, rendendolo il campione indiscusso per l'implementazione su dispositivi edge e IoT a basso consumo.
  • ProgLoss + STAL: Queste funzioni di perdita avanzate offrono enormi miglioramenti nel riconoscimento di piccoli oggetti, il che è fondamentale per le immagini aeree e la robotica di precisione.
  • Miglioramenti Specifici per Attività: Include la perdita di segmentazione semantica per la generazione di maschere, la stima della log-verosimiglianza residua (RLE) per il tracciamento della posa e una perdita angolare specializzata per risolvere problemi complessi ai bordi degli Oriented Bounding Box (OBB).

Conclusione#

Sia YOLOv5 che YOLOv7 offrono soluzioni robuste per il rilevamento di oggetti in tempo reale. YOLOv7 rimane una scelta forte per la precisione grezza su hardware ad alta potenza di calcolo, mentre YOLOv5 si distingue come lo strumento definitivo e amichevole per gli sviluppatori, offrendo un equilibrio eccezionale di velocità, efficienza e un ecosistema di classe mondiale.

Tuttavia, per gli sviluppatori che desiderano rendere le proprie pipeline a prova di futuro e ottenere la combinazione definitiva di velocità, semplicità e accuratezza allo stato dell'arte, consigliamo vivamente di passare a Ultralytics YOLO26. Esso racchiude la leggendaria facilità d'uso della piattaforma Ultralytics offrendo al contempo innovazioni architetturali rivoluzionarie.

Collaboratori

Commenti