Ultralytics YOLO27:
Get Started

YOLOv7 vs YOLOv9#

Il panorama del rilevamento di oggetti in tempo reale si è evoluto rapidamente, e ogni nuova versione amplia i limiti di ciò che è possibile fare sia sui dispositivi edge sia sui server cloud. Quando valutano le architetture per i progetti di computer vision, gli sviluppatori confrontano spesso i benchmark consolidati con le innovazioni più recenti. Questa guida completa mette a confronto due tappe fondamentali della famiglia YOLO: YOLOv7 e YOLOv9.

Analizzeremo le innovazioni architetturali, le metriche di prestazione e gli scenari di distribuzione ideali per aiutarti a scegliere il modello giusto per la tua applicazione. Esamineremo inoltre come la piattaforma Ultralytics e l'API Python semplifichino l'addestramento, la convalida e la distribuzione dei modelli supportati, come YOLOv9.

Lignaggio dei modelli e specifiche tecniche#

Comprendere le origini e le filosofie progettuali di questi modelli fornisce un contesto essenziale per valutarne le capacità. Entrambi condividono le stesse radici di ricerca, ma affrontano colli di bottiglia architetturali diversi.

YOLOv7: pioniere dei bag-of-freebies#

Pubblicato a metà del 2022, YOLOv7 si è affermato come un'architettura altamente affidabile e ottimizzata. Ha introdotto la riparametrizzazione strutturale e un approccio «trainable bag-of-freebies» per mantenere elevate velocità di inferenza senza compromettere la precisione media (mAP).

Innovazioni architetturali: YOLOv7 utilizza la rete Extended Efficient Layer Aggregation (E-ELAN), che consente al modello di apprendere caratteristiche più diversificate espandendo, rimescolando e unendo la cardinalità. Questo design garantisce un'eccellente utilizzazione della GPU e una bassa latenza di inferenza. Tuttavia, rispetto alle versioni moderne, può richiedere molta memoria durante le sessioni di addestramento complesse.

Scopri di più su YOLOv7

YOLOv9: risolvere il collo di bottiglia informativo#

Introdotto all'inizio del 2024 dallo stesso gruppo di ricerca, YOLOv9 affronta il «collo di bottiglia informativo» intrinseco alle reti neurali profonde. Quando i dati attraversano layer profondi, spesso si perdono dettagli fondamentali. YOLOv9 attenua questo problema con design dei layer fondamentalmente nuovi.

Innovazioni architetturali: YOLOv9 introduce le informazioni programmabili sul gradiente (PGI) e la rete Generalized Efficient Layer Aggregation (GELAN). PGI assicura che i gradienti affidabili vengano conservati e reinseriti per aggiornare i pesi con precisione. GELAN massimizza l'efficienza dei parametri, consentendo a YOLOv9 di raggiungere un'elevata accuratezza con molti meno FLOPs rispetto ai modelli precedenti.

Scopri di più su YOLOv9

Analisi delle prestazioni#

Nella scelta tra le architetture, gli ingegneri IA devono bilanciare accuratezza, velocità di inferenza e costo computazionale. La tabella seguente evidenzia le differenze di prestazione tra questi modelli sul dataset COCO standard.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5

Punti chiave#

  • Efficienza dei parametri: YOLOv9m eguaglia l'accuratezza di YOLOv7l (51,4% mAP) utilizzando circa il 45% di parametri in meno (20,1M contro 36,9M). Questa drastica riduzione rende YOLOv9m molto più facile da distribuire sui dispositivi IA edge con memoria limitata.
  • Distribuzioni su microdispositivi: l'introduzione della variante YOLOv9t (tiny) offre velocità eccezionali (2,3 ms su T4 TensorRT) negli ambienti in cui i vincoli del tempo reale sono inderogabili.
  • Accuratezza massima: per le applicazioni in cui la precisione è fondamentale, YOLOv9e porta l'accuratezza del rilevamento al 55,6% mAP, superando nettamente YOLOv7x.
Rendere i tuoi progetti di computer vision pronti per il futuro

Sebbene YOLOv7 e YOLOv9 siano potenti, il nuovo YOLO26 rappresenta un salto in avanti decisivo. YOLO26 introduce una progettazione nativa end-to-end senza NMS (opzionale tramite nms=False), che evita le complesse fasi di post-elaborazione e offre un'inferenza su CPU fino al 43% più veloce. Grazie al nuovo ottimizzatore MuSGD e alle funzioni di perdita migliorate ProgLoss + STAL, YOLO26 garantisce una stabilità di addestramento e un'accuratezza nel rilevamento degli oggetti piccoli senza pari.

I vantaggi di Ultralytics#

Scegliere un'architettura del modello è solo il primo passo. L'ecosistema software che circonda il modello determina la rapidità con cui puoi passare dal prototipo alla produzione. Integrare modelli supportati come YOLOv9 tramite l'API Python di Ultralytics offre notevoli vantaggi a sviluppatori e ricercatori.

Facilità d'uso ed efficienza dell'addestramento#

In passato, addestrare YOLOv7 richiedeva una preparazione complessa dei dati e script ampiamente personalizzati. Il framework Ultralytics astrae queste complessità del deep learning. Gli sviluppatori possono passare facilmente da un'architettura all'altra, sperimentare con la ottimizzazione degli iperparametri e utilizzare pipeline intelligenti di data augmentation con una quantità minima di codice.

Inoltre, Ultralytics ottimizza l'uso della memoria durante l'addestramento e l'inferenza. A differenza dei pesanti modelli Transformer (come RT-DETR), le architetture Ultralytics YOLO si addestrano molto più rapidamente e richiedono molta meno memoria CUDA, il che le rende ideali per GPU di fascia consumer.

Esempio di codice: addestramento semplificato#

Nell'ecosistema Ultralytics, addestrare modelli all'avanguardia è semplice. Ecco un esempio completamente eseguibile che mostra come addestrare e convalidare un modello YOLOv9:

from ultralytics import YOLO

# Inizializza il modello (puoi sostituire 'yolov9c.pt' con 'yolo26n.pt')
model = YOLO("yolov9c.pt")

# Addestra il modello sul dataset di esempio COCO8
train_results = model.train(
    data="coco8.yaml",
    epochs=50,
    imgsz=640,
    device="0",  # Usa la GPU 0, se disponibile
    batch=16,  # Dimensione del batch ottimizzata per ridurre l'uso della memoria
)

# Convalida le prestazioni del modello sul set di convalida
metrics = model.val()

# Esporta il modello addestrato in formato ONNX per il deployment
model.export(format="onnx")

Versatilità senza pari tra le attività#

Un ecosistema ben mantenuto consente di accedere a un'ampia varietà di attività di computer vision. YOLOv7 è stato sviluppato principalmente per il rilevamento degli oggetti (con successive fork sperimentali per altre attività), mentre i moderni modelli Ultralytics sono progettati nativamente per essere versatili. Puoi eseguire subito attività di segmentazione delle istanze, stima della posa, classificazione delle immagini e rilevamento di riquadri di delimitazione orientati (OBB).

Casi d'uso e applicazioni ideali#

La scelta tra YOLOv7 e YOLOv9 dipende spesso dai vincoli specifici del tuo settore e dalla disponibilità di hardware.

Quando usare YOLOv7#

  • Distribuzioni edge legacy: negli ambienti hardware già ampiamente ottimizzati per l'architettura E-ELAN di YOLOv7, questo modello resta una scelta affidabile per l'IoT industriale.
  • Monitoraggio del traffico: l'elevata frequenza dei fotogrammi e la comprovata stabilità di YOLOv7 lo rendono ideale per le infrastrutture delle smart city e la gestione del traffico in tempo reale.
  • Integrazione nella robotica: navigare in ambienti dinamici richiede un'elaborazione a bassa latenza; è uno scenario in cui le varianti di YOLOv7 sono state ampiamente testate.

Quando usare YOLOv9#

  • Imaging medico: l'architettura PGI di YOLOv9 è eccezionale nel preservare i dettagli più fini attraverso i livelli profondi, una caratteristica fondamentale per attività complesse di analisi di immagini mediche, come il rilevamento dei tumori.
  • Analisi del retail ad alta densità: per tracciare e contare articoli molto ravvicinati sugli scaffali dei negozi, l'integrazione delle caratteristiche di YOLOv9 offre una maggiore accuratezza e riduce i falsi negativi.
  • Immagini aeree e riprese da droni: l'efficienza dei parametri di YOLOv9m consente di elaborare immagini ad alta risoluzione sui droni, favorendo la conservazione della fauna selvatica e il monitoraggio agricolo senza esaurire la batteria.

Conclusione#

YOLOv7 e YOLOv9 si sono entrambi affermati nella storia della computer vision. YOLOv7 ha introdotto ottimizzazioni essenziali per l'elaborazione in tempo reale, mentre YOLOv9 ha affrontato i colli di bottiglia strutturali del deep learning per massimizzare l'efficienza dei parametri.

Tuttavia, per gli sviluppatori che oggi avviano nuovi progetti, sfruttare l'ecosistema Ultralytics, in particolare i modelli di nuova generazione come YOLO11 e YOLO26, offre il miglior compromesso tra velocità, accuratezza ed esperienza di sviluppo. Grazie a innovazioni come l'ottimizzatore MuSGD e alla rimozione della Distribution Focal Loss (DFL) per garantire una maggiore compatibilità hardware, Ultralytics continua a offrire gli strumenti più accessibili e potenti per i professionisti dell'IA visiva.

Commenti