YOLOv7 . YOLOv6.0: equilibrio tra innovazione e velocità nel rilevamento degli oggetti
Nel panorama in rapida evoluzione del rilevamento di oggetti in tempo reale, la scelta dell'architettura giusta è fondamentale per ottimizzare le prestazioni e l'efficienza. Questo confronto dettagliato esplora YOLOv7 e YOLOv6.YOLOv6, due modelli fondamentali che hanno influenzato in modo significativo il settore. Analizziamo le loro innovazioni architetturali, i parametri di riferimento e l'idoneità per varie attività di visione artificiale. Inoltre, introduciamo la nuova generazione YOLO26, che si basa su queste fondamenta per offrire prestazioni e usabilità superiori.
Panoramica del modello
YOLOv7
YOLOv7 è stato progettato per superare i precedenti rilevatori all'avanguardia sia in termini di velocità che di precisione. Introduce un "bag-of-freebies" addestrabile che ottimizza l'addestramento senza aumentare i costi di inferenza.
- Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organizzazione:Institute of Information Science, Academia Sinica
- Data: 6 luglio 2022
- Arxiv:YOLOv7: Bag-of-freebies addestrabili stabiliscono un nuovo stato dell'arte per i rilevatori di oggetti in tempo reale
- GitHub:WongKinYiu/yolov7
YOLOv6-3.0
YOLOv6.YOLOv6 (noto anche come YOLOv6 .0) è fortemente incentrato sulle applicazioni industriali e ottimizzato per la produttività hardware delle GPU. Fa parte dell'aggiornamento "reloading" che ha migliorato significativamente YOLOv6 precedenti YOLOv6 .
- Autori: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu e Xiangxiang Chu
- Organizzazione:Meituan
- Data: 13 gennaio 2023
- Arxiv:YOLOv6 v3.0: A Full-Scale Reloading
- GitHub:meituan/YOLOv6
Confronto Tecnico
Entrambi i modelli mirano a prestazioni in tempo reale, ma le ottengono attraverso filosofie architetturali diverse.
Architettura
YOLOv7 utilizza una rete di aggregazione di livelli efficiente estesa (E-ELAN). Questa architettura controlla i percorsi di gradiente più brevi e più lunghi, consentendo alla rete di apprendere caratteristiche più diversificate senza distruggere il flusso di gradiente. Impiega inoltre il ridimensionamento del modello che concatena i livelli anziché limitarsi a ridimensionare la profondità o la larghezza, preservando la struttura ottimale durante il ridimensionamento.
YOLOv6.YOLOv6 adotta un modulo Bi-directional Concatenation (BiC) nel suo collo e un design puramente privo di ancoraggi. Si concentra su strutture hardware-friendly, ottimizzando i costi di accesso alla memoria per le GPU. L'aggiornamento alla versione 3.0 ha rinnovato in modo specifico le strategie di rilevamento e assegnazione delle etichette per aumentare la velocità di convergenza e la precisione finale.
Metriche di performance
La tabella seguente mette a confronto i principali parametri di prestazione sul COCO .
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Punti di forza e debolezze
Punti di forza di YOLOv7:
- Ricchezza di funzionalità: la struttura E-ELAN eccelle nel catturare dettagli minuziosi, vantaggiosi per il rilevamento di oggetti di piccole dimensioni.
- Testina ausiliaria: utilizza un'assegnazione delle etichette guidata "da grossolana a fine", fornendo una supervisione più rigorosa durante la formazione.
Punti deboli di YOLOv7:
- Complessità: l'architettura può essere complessa da modificare o semplificare per specifici hardware integrati.
- NMS : richiede una post-elaborazione standard di soppressione non massima, che aggiunge una variazione di latenza.
Punti di forza di YOLOv6.0:
- Throughput: ottimizzato specificamente per scenari ad alto throughput su Tesla T4 e GPU simili che utilizzano TensorRT.
- Quantizzazione: progettato tenendo conto dell'addestramento sensibile alla quantizzazione (QAT), rendendo più facile l'implementazione come INT8 sui dispositivi edge.
Punti deboli YOLOv6.0:
- CPU : sebbene eccellente sulla GPU, le sue scelte architetturali sono meno ottimizzate per CPU puri rispetto alle più recenti varianti "Lite" o specifiche per dispositivi mobili.
Applicazioni nel mondo reale
La scelta tra questi modelli dipende in gran parte dall'hardware di distribuzione e dal caso d'uso specifico.
Ispezione industriale con YOLOv6.0
Nelle linee di produzione ad alta velocità, la produttività è fondamentale. YOLOv6.YOLOv6 è spesso la scelta preferita per rilevare i difetti sui nastri trasportatori. La sua compatibilità con TensorRT gli TensorRT di elaborare centinaia di fotogrammi al secondo su GPU edge, garantendo che nessun prodotto difettoso sfugga al controllo.
Sorveglianza complessa con YOLOv7
Per applicazioni di sicurezza che coinvolgono scene affollate o monitoraggio a lunga distanza, YOLOv7 è altamente efficace. La sua capacità di conservare i dettagli delle caratteristiche lo rende adatto alla manutenzione urbana, come l'identificazione dei danni stradali o il monitoraggio del flusso del traffico dove gli oggetti possono essere piccoli o parzialmente occlusi.
Flessibilità di distribuzione
Sebbene entrambi i modelli siano potenti, la loro implementazione può differire in modo significativo. YOLOv6 ambienti in cui è possibile sfruttare una quantizzazione aggressiva (INT8), mentre YOLOv7 mantiene un'elevata precisione nelle modalità FP16.
Il vantaggio di Ultralytics
Sebbene YOLOv7 YOLOv6 architetture robuste, il loro utilizzo all'interno Ultralytics offre vantaggi distintivi per sviluppatori e ricercatori. IlPython Ultralytics unifica questi modelli distinti in un'unica API semplificata.
- Facilità d'uso: è possibile passare dall'addestramento di un YOLOv7 a un'architettura più recente con una sola riga di codice.
- Ecosistema ben mantenuto: Ultralytics aggiornamenti frequenti, garantendo la compatibilità con l'ultima versione di PyTorch e CUDA .
- Versatilità: oltre al rilevamento standard, l'ecosistema supporta la stima della posa e la segmentazione delle istanze su famiglie di modelli compatibili.
- Efficienza della formazione: le pipeline Ultralytics sono ottimizzate per l'efficienza della memoria, consentendo spesso dimensioni di batch più grandi su hardware consumer rispetto agli archivi di ricerca originali.
Esempio di codice
Ecco quanto è facile sperimentare questi modelli utilizzando Ultralytics:
from ultralytics import YOLO
# Load a YOLOv7 model (or swap to 'yolov6n.pt')
model = YOLO("yolov7.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Il Futuro: YOLO26
Sebbene YOLOv7 YOLOv6. YOLOv6 rimangano validi, il settore ha fatto passi da gigante. Rilasciato nel gennaio 2026, YOLO26 rappresenta il nuovo standard in termini di efficienza e prestazioni, superando i limiti dei modelli precedenti.
YOLO26 è progettato per essere la soluzione definitiva sia per le implementazioni edge che cloud, con le seguenti caratteristiche:
- Progettazione end-to-end NMS: a differenza di YOLOv7, YOLO26 è nativamente end-to-end. Elimina la necessità di NMS , garantendo una latenza di inferenza più veloce e deterministica, essenziale per la robotica in tempo reale.
- MuSGD Optimizer: ispirato alle innovazioni nella formazione LLM (come Kimi K2 di Moonshot AI), questo ottimizzatore ibrido combina SGD Muon, stabilizzando la formazione e accelerando la convergenza.
- CPU fino al 43% più veloce: eliminando la Distribution Focal Loss (DFL) e ottimizzando l'architettura, YOLO26 raggiunge velocità significativamente più elevate sulle CPU, rendendolo superiore per dispositivi edge come Raspberry Pi.
- ProgLoss + STAL: le funzioni di perdita avanzate migliorano il riconoscimento di oggetti di piccole dimensioni, un'area critica in cui i modelli precedenti spesso incontravano difficoltà.
Per gli sviluppatori che cercano il miglior equilibrio tra velocità, precisione e facilità di implementazione, è altamente consigliato il passaggio a YOLO26.
Altri modelli da esplorare
Se sei interessato a esplorare altre architetture all'interno della Ultralytics , prendi in considerazione:
- YOLO11: La precedente generazione all'avanguardia, che offre un ottimo equilibrio di funzionalità.
- YOLOv10: Il pioniere delle strategie di addestramento NMS nella YOLO .
- RT-DETR: un rilevatore basato su trasformatore che eccelle in termini di precisione ma richiede maggiori GPU
Sfruttando la Ultralytics , puoi facilmente confrontare questi modelli con i tuoi set di dati specifici per trovare quello più adatto alla tua applicazione.