Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv7 contro YOLOv5#

Quando sviluppi pipeline moderne di computer vision, selezionare la giusta architettura di rilevamento oggetti è fondamentale per bilanciare precisione, velocità di inferenza e utilizzo delle risorse. Questo confronto completo esamina due modelli di grande influenza nello spazio 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.

Link to this sectionContesto 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.

Link to this sectionYOLOv5#

Rilasciato da Glenn Jocher e dal team di Ultralytics il 26 giugno 2020, YOLOv5 ha rivoluzionato il settore fornendo un'implementazione nativa di PyTorch che ha dato priorità all'usabilità senza sacrificare le prestazioni. È diventato rapidamente uno standard del settore grazie al suo ecosistema incredibilmente ottimizzato e alle dinamiche di addestramento 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

Link to this sectionYOLOv7#

Introdotto 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 pesantemente su innovazioni architettoniche come le Extended Efficient Layer Aggregation Networks (E-ELAN) e una "bag-of-freebies" addestrabile per spingere lo stato dell'arte nella precisione. I dettagli si trovano nel loro articolo Arxiv ufficiale 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!

Link to this sectionInnovazioni architettoniche#

Link to this sectionDesign di Ultralytics YOLOv5#

YOLOv5 utilizza una backbone CSPDarknet53 modificata abbinata a un neck Path Aggregation Network (PANet). Questo design è altamente ottimizzato per una rapida estrazione di caratteristiche e per l'efficienza della memoria. A differenza delle architetture più datate o dei modelli Transformer pesanti, YOLOv5 richiede significativamente meno memoria CUDA durante l'addestramento, consentendo batch size più grandi su GPU consumer standard. Inoltre, il framework Ultralytics supporta intrinsecamente un'ampia varietà di attività oltre ai classici bounding box, tra cui segmentazione di immagini e classificazione di immagini.

Link to this sectionDesign di YOLOv7#

YOLOv7 ha introdotto diverse ri-parametrizzazioni strutturali e l'architettura E-ELAN, che consente alla rete di apprendere caratteristiche più diversificate senza distruggere il percorso del gradiente originale. Implementa anche una testa ausiliaria per la supervisione intermedia durante l'addestramento. Sebbene questi progressi portino a un'elevata mean Average Precision (mAP), spesso introducono strutture tensoriali complesse che possono rendere l'esportazione verso formati edge come ONNX o TensorRT leggermente più impegnativa rispetto alle esportazioni semplificate native dei modelli Ultralytics.

Link to this sectionAnalisi delle prestazioni#

Quando confronti questi modelli, devi 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

Link to this sectionPunti 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 è una meraviglia di efficienza, offrendo una latenza di inferenza fulminea (1.12 ms su T4 TensorRT) con un ingombro di memoria minuscolo di soli 2.6M di parametri. Questo lo rende una scelta senza pari per implementazioni edge altamente 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.

Link to this sectionIl 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, validare e implementare modelli con un boilerplate minimo, supportato da un'estesa documentazione ufficiale. Ecosistema ben mantenuto: Lo sviluppo attivo garantisce aggiornamenti costanti, correzioni di bug e un'integrazione fluida con strumenti di tracking moderni come Weights & Biases. Efficienza di addestramento: Utilizzando data loader ottimizzati e caching intelligente, YOLOv5 riduce drasticamente i tempi di addestramento. Inoltre, i pesi pre-addestrati pronti all'uso accelerano il transfer learning in vari domini.

Link to this sectionEsempio 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")

Link to this sectionCasi d'uso ideali#

Link to this sectionQuando 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.

Link to this sectionQuando scegliere YOLOv5#

  • Implementazioni in produzione: Ideale per applicazioni commerciali che richiedono elevata stabilità, opzioni dirette di implementazione del modello e un'ampia compatibilità multipiattaforma.
  • 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 evolversi dal semplice rilevamento 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.

Link to this sectionLa 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à: Dotato di perdita di segmentazione semantica per la generazione di maschere, Residual Log-Likelihood Estimation (RLE) per il tracking della posa e perdita angolare specializzata per risolvere problemi complessi di confine Oriented Bounding Box (OBB).

Link to this sectionConclusione#

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 loro pipeline a prova di futuro e ottenere la combinazione definitiva di velocità, semplicità e precisione allo stato dell'arte, consigliamo vivamente la migrazione a Ultralytics YOLO26. Incapsula la leggendaria facilità d'uso della piattaforma Ultralytics offrendo al contempo innovazioni architettoniche rivoluzionarie.

Collaboratori

Commenti