Ultralytics YOLO27:
Get Started

YOLOv6-3.0 vs YOLOv7#

L'evoluzione della visione artificiale in tempo reale è stata caratterizzata da rapidi progressi nell'efficienza architetturale e nelle metodologie di training. Due modelli di spicco che hanno avuto un impatto significativo sul settore sono YOLOv6-3.0 e YOLOv7. Entrambi i framework hanno introdotto tecniche innovative per bilanciare velocità di inferenza e accuratezza del rilevamento, rivolgendosi a scenari di distribuzione che spaziano dalle GPU server di fascia alta ai dispositivi edge.

Questo confronto tecnico completo analizza le loro architetture, le metriche di prestazione e i casi d'uso ideali, evidenziando anche come la moderna piattaforma Ultralytics e l'ultimo modello YOLO26 sviluppino questi concetti fondamentali per offrire esperienze di sviluppo senza pari.

YOLOv6-3.0: ottimizzazione della produttività industriale#

Sviluppato dal dipartimento Vision AI di Meituan, YOLOv6-3.0 è stato progettato esplicitamente per applicazioni industriali ad alta produttività. Punta soprattutto a massimizzare le prestazioni sugli acceleratori hardware, rendendolo un'ottima opzione negli ambienti in cui è possibile elaborare batch su GPU dedicate.

  • Autori: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu e Xiangxiang Chu
  • Organizzazione: Meituan
  • Data: 2023-01-13
  • Arxiv: 2301.05586
  • GitHub: meituan/YOLOv6

Innovazioni architetturali#

YOLOv6-3.0 si basa su un backbone EfficientRep, un'architettura ottimizzata per l'hardware e progettata per ottimizzare i costi di accesso alla memoria sulle GPU. Per migliorare la fusione delle feature a scale diverse, il modello introduce nel neck un modulo di concatenazione bidirezionale (BiC). Questo consente alla rete di cogliere gerarchie spaziali complesse con maggiore efficacia rispetto alle versioni precedenti.

Inoltre, YOLOv6-3.0 adotta una strategia di training assistito da anchor (AAT). Questo approccio combina i ricchi segnali di gradiente del training basato su anchor con i vantaggi della distribuzione semplificata dell'inferenza senza anchor, aiutando il modello a convergere in modo più stabile senza sacrificare la velocità di post-elaborazione.

Scopri di più su YOLOv6

Considerazioni sull'hardware

YOLOv6-3.0 eccelle sulle GPU di livello server, come la NVIDIA T4, ma la forte dipendenza da specifiche tecniche di riparametrizzazione strutturale può talvolta causare una latenza non ottimale sui dispositivi edge vincolati alla CPU, rispetto alle architetture più recenti.

YOLOv7: pioniere dei bag-of-freebies#

Rilasciato dai ricercatori della Academia Sinica, YOLOv7 adotta un approccio diverso, concentrandosi sull'analisi del percorso del gradiente e sulle ottimizzazioni in fase di training che non aumentano il costo di inferenza: un concetto che gli autori definiscono "borsa di vantaggi addestrabile".

  • Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
  • Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
  • Data: 2022-07-06
  • Arxiv: 2207.02696
  • GitHub: WongKinYiu/yolov7

Innovazioni architetturali#

Il cuore di YOLOv7 è la sua rete estesa di aggregazione efficiente dei livelli (E-ELAN). E-ELAN ottimizza il percorso del gradiente consentendo a diversi livelli di apprendere feature più varie senza alterare la topologia originale della rete. Ne risulta un modello altamente espressivo, capace di raggiungere una precisione media media (mAP) ai massimi livelli.

YOLOv7 sfrutta ampiamente anche la riparametrizzazione del modello, unendo i livelli convoluzionali alla normalizzazione del batch durante l'inferenza. Questo riduce il numero di parametri e velocizza il passaggio in avanti quando il modello viene distribuito con framework come NVIDIA TensorRT o ONNX.

Scopri di più su YOLOv7

Confronto delle prestazioni#

Valutando questi modelli sul dataset MS COCO, osserviamo un compromesso netto tra le varianti ultraleggere di YOLOv6 e le architetture YOLOv7 con molti parametri, orientate all'accuratezza.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

I dati mostrano che YOLOv6-3.0n offre una velocità di inferenza eccezionale, risultando adatto all'analisi video ad alta frequenza. YOLOv7x, invece, raggiunge la mAP più elevata e si distingue nei task in cui l'accuratezza del rilevamento conta più della frequenza dei fotogrammi.

Casi d'uso e consigli#

La scelta tra YOLOv6 e YOLOv7 dipende dai requisiti specifici del progetto, dai vincoli di distribuzione e dalle preferenze relative all'ecosistema.

Quando scegliere YOLOv6#

YOLOv6 è una scelta valida per:

  • Distribuzione ottimizzata per l’hardware industriale: scenari in cui la progettazione consapevole dell’hardware e la riparametrizzazione efficiente del modello offrono prestazioni ottimizzate sull’hardware di destinazione specifico.
  • Rilevamento rapido a singolo stadio: applicazioni che privilegiano la velocità pura di inferenza su GPU per l’elaborazione video in tempo reale in ambienti controllati.
  • Integrazione nell’ecosistema Meituan: team che lavorano già nello stack tecnologico e nell’infrastruttura di distribuzione di Meituan.

Quando scegliere YOLOv7#

YOLOv7 è consigliato per:

  • Benchmark accademici: riprodurre i risultati dello stato dell'arte del 2022 o studiare gli effetti di E-ELAN e delle tecniche del bagaglio di tecniche gratuite addestrabile.
  • Ricerca sulla riparametrizzazione: esaminare convoluzioni riparametrizzate pianificate e strategie di scalabilità composta dei modelli.
  • Pipeline personalizzate esistenti: progetti con pipeline ampiamente personalizzate e basate sull'architettura specifica di YOLOv7, difficili da ristrutturare.

Quando scegliere Ultralytics (YOLO26)#

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore di prestazioni ed esperienza per gli sviluppatori:

  • Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
  • Ambienti con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.

I vantaggi di Ultralytics: verso il futuro#

YOLOv6-3.0 e YOLOv7 rappresentano traguardi importanti, ma integrare repository distinti nelle pipeline di produzione comporta spesso difficoltà nella distribuzione dei modelli e nella regolazione degli iperparametri. L'ecosistema Ultralytics risolve questi problemi offrendo un'interfaccia unificata e snella.

Perché scegliere Ultralytics?#

  • Facilità d'uso: l'API Python di Ultralytics consente agli sviluppatori di caricare, addestrare ed esportare modelli con poche righe di codice. Per passare da un modello meno recente all'architettura più recente basta modificare una sola stringa.
  • Ecosistema curato e aggiornato: Ultralytics offre aggiornamenti frequenti, supporto attivo della community e una documentazione completa.
  • Versatilità: a differenza dei modelli precedenti, incentrati principalmente sui box di delimitazione, i modelli Ultralytics supportano nativamente l'apprendimento multitasking, inclusi segmentazione di istanze, stima della posa e box di delimitazione orientati (OBB).
  • Fabbisogno di memoria: durante il training, i modelli Ultralytics YOLO consumano meno memoria rispetto alle architetture basate su Transformer come RT-DETR, consentendo ai ricercatori di addestrarli efficacemente su hardware consumer.

Passaggio a YOLO26#

Per gli sviluppatori che cercano prestazioni al massimo livello, YOLO26 (rilasciato a gennaio 2026) ridefinisce alla radice il paradigma del rilevamento degli oggetti. Introduce un design end-to-end senza NMS opzionale (nms=False), che elimina la complessa logica di post-elaborazione e riduce notevolmente le variazioni di latenza sui dispositivi edge.

Le innovazioni principali di YOLO26 includono:

  • Ottimizzatore MuSGD: un sofisticato ibrido di SGD e Muon che assicura dinamiche di training estremamente stabili e una convergenza più rapida.
  • Rimozione di DFL: eliminando la Distribution Focal Loss, YOLO26 semplifica la compatibilità con l'esportazione e migliora le prestazioni sui dispositivi a basso consumo.
  • ProgLoss + STAL: funzioni di loss avanzate che migliorano notevolmente il riconoscimento degli oggetti piccoli.
  • Velocità senza pari: offre un'inferenza su CPU fino al 43% più veloce rispetto alle generazioni precedenti, risultando perfetto per sistemi integrati come Raspberry Pi o per le distribuzioni con Apple CoreML.

Altri modelli molto efficaci dell'ecosistema includono YOLO11 e YOLOv8, entrambi con un eccellente equilibrio prestazionale per le integrazioni con hardware meno recente.

Rendi la tua pipeline pronta per il futuro

Sviluppando le tue applicazioni di visione artificiale sulla piattaforma Ultralytics, avrai accesso immediato ai futuri modelli all'avanguardia, senza dover riscrivere i loader dei dataset o gli script di distribuzione.

Esempio di codice: addestramento semplificato#

Il seguente frammento mostra quanto sia semplice addestrare un modello YOLO26 all'avanguardia usando l'API Ultralytics. Lo stesso flusso di lavoro si applica senza problemi a YOLO11 o YOLOv8, eliminando il codice boilerplate normalmente richiesto dai repository meno recenti.

from ultralytics import YOLO

# Carica il modello nano YOLO26 all'avanguardia per un training rapido
model = YOLO("yolo26n.pt")

# Addestra il modello sul dataset COCO8
# L'API gestisce il download del dataset, l'aumento dei dati e la configurazione degli iperparametri
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device="cuda:0",  # Utilizza automaticamente l'accelerazione GPU di PyTorch
)

# Esegui un'inferenza end-to-end senza NMS su un'immagine di test
predictions = model.predict("https://ultralytics.com/images/bus.jpg", nms=False)

# Esporta in ONNX per la distribuzione multipiattaforma
model.export(format="onnx")

Conclusione#

YOLOv6-3.0 e YOLOv7 hanno affrontato con successo aspetti diversi della sfida del rilevamento in tempo reale. YOLOv6-3.0 è una soluzione potente per ambienti industriali specializzati con GPU, mentre YOLOv7 offre un'elevata accuratezza grazie a una rigorosa ottimizzazione del percorso del gradiente.

Per le applicazioni moderne che richiedono versatilità senza pari, una distribuzione senza attriti e prestazioni all'avanguardia, Ultralytics YOLO26 è la scelta definitiva. La sua architettura senza NMS, l'avanzato ottimizzatore MuSGD e la profonda integrazione con la piattaforma Ultralytics consentono agli sviluppatori di distribuire soluzioni di IA visiva potenti e scalabili più rapidamente che mai.

Commenti