Ultralytics YOLO27:

YOLOv9 vs YOLOv7#

L'evoluzione del rilevamento degli oggetti in tempo reale è stata guidata dalla ricerca continua di un equilibrio tra efficienza computazionale ed elevata accuratezza. Due architetture fondamentali in questo percorso sono YOLOv9 e YOLOv7, entrambe sviluppate da ricercatori dell'Institute of Information Science dell'Academia Sinica di Taiwan. Mentre YOLOv7 ha introdotto i rivoluzionari bag-of-freebies addestrabili, il più recente YOLOv9 affronta direttamente i colli di bottiglia informativi del deep learning.

Questo confronto tecnico completo analizza le differenze architetturali, le metriche di prestazione e gli scenari di distribuzione ideali per entrambi i modelli, aiutando ingegneri ML e ricercatori a scegliere lo strumento giusto per le loro pipeline di computer vision.

Confronto di prestazioni e metriche#

Quando confronti questi modelli, le prestazioni grezze e l'efficienza sono fattori fondamentali. La tabella seguente descrive la precisione media media (mAP) e i requisiti computazionali per i benchmark standard sul dataset COCO.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
Equilibrio delle prestazioni

Nota come YOLOv9c raggiunga all'incirca la stessa accuratezza (53.0 mAP) di YOLOv7x (53.1 mAP), utilizzando però molti meno parametri (25.3M contro 71.3M) e FLOPs. Questo dimostra i miglioramenti nell'equilibrio delle prestazioni delle architetture moderne.

YOLOv9: risolvere il collo di bottiglia informativo#

Presentato all'inizio del 2024, YOLOv9 ha cambiato radicalmente il modo in cui le reti neurali profonde conservano i dati attraverso i propri layer.

Innovazioni architetturali#

YOLOv9 introduce la Rete generalizzata di aggregazione efficiente dei layer (GELAN) e le Informazioni programmabili sul gradiente (PGI). GELAN combina i punti di forza di CSPNet ed ELAN per ottimizzare l'efficienza dei parametri e il costo computazionale, garantendo un'elevata precisione con un numero inferiore di parametri. PGI è un framework di supervisione ausiliaria progettato per prevenire la perdita di dati nelle reti profonde, generando gradienti affidabili per aggiornare i pesi durante il processo di addestramento.

Punti di forza e limitazioni#

Il principale punto di forza di YOLOv9 è la capacità di estrarre caratteristiche sottili senza un overhead computazionale elevato, rendendolo estremamente efficace per attività che richiedono un'elevata fedeltà delle caratteristiche, come l'analisi di immagini mediche. Tuttavia, la complessa struttura PGI durante l'addestramento può rendere più difficili le modifiche architetturali personalizzate per i principianti rispetto ai framework più uniformi.

Scopri di più su YOLOv9

YOLOv7: il pioniere dei bag-of-freebies#

Rilasciato nel 2022, YOLOv7 ha stabilito un nuovo punto di riferimento per ciò che era possibile ottenere sull'hardware consumer, introducendo innovazioni strutturali che hanno aumentato significativamente la velocità di inferenza in tempo reale.

Innovazioni architetturali#

Il contributo fondamentale di YOLOv7 è la Rete estesa di aggregazione efficiente dei layer (E-ELAN). Questa architettura consente al modello di apprendere continuamente caratteristiche più diversificate. Inoltre, YOLOv7 utilizza i "bag-of-freebies addestrabili", ovvero tecniche come le convoluzioni riparametrizzate pianificate e l'assegnazione dinamica delle label. Questi metodi migliorano l'accuratezza del modello durante l'addestramento senza aggiungere costi di inferenza durante la distribuzione.

Punti di forza e limitazioni#

YOLOv7 è altamente ottimizzato per l'elaborazione edge in tempo reale e rimane un elemento fondamentale nei sistemi legacy e nei vecchi ambienti CUDA. La sua principale limitazione oggi è la maggiore dimensione del modello in termini di parametri rispetto ai modelli più recenti. Come mostrato nella tabella delle prestazioni, per raggiungere un'accuratezza di alto livello è necessario il pesante modello YOLOv7x, che richiede molta più memoria GPU rispetto alle moderne architetture equivalenti.

Scopri di più su YOLOv7

Il vantaggio di Ultralytics: distribuzione semplificata#

Sebbene i repository di ricerca originali di YOLOv9 e YOLOv7 forniscano eccellenti basi accademiche, distribuire questi modelli in ambienti di produzione può essere complesso. Integrarli tramite il pacchetto ultralytics offre una facilità d'uso senza pari.

Utilizzando la piattaforma Ultralytics integrata, gli sviluppatori usufruiscono di un ecosistema ben gestito, con un'API Python intuitiva, il supporto attivo della community e un solido monitoraggio degli esperimenti.

Prepararsi al futuro con YOLO26#

Se stai iniziando un nuovo progetto di computer vision, ti consigliamo vivamente di valutare il nuovo YOLO26 invece di YOLOv9 e YOLOv7. Rilasciato come nuovo standard all'avanguardia, YOLO26 introduce innovazioni rivoluzionarie:

  • Design end-to-end senza NMS: elimina la soppressione dei massimi non massimi (NMS) nel post-processing, riducendo drasticamente la complessità e la latenza della distribuzione.
  • Inferenza su CPU fino al 43% più veloce: ottimizzata per gli ambienti di edge computing, garantendo il funzionamento fluido della tua applicazione anche senza GPU dedicate.
  • Ottimizzatore MuSGD: un ottimizzatore ibrido ispirato all'addestramento degli LLM, che garantisce una convergenza altamente stabile e riduce i tempi di addestramento.
  • Rimozione di DFL: semplifica l'esportazione del modello rimuovendo la Distribution Focal Loss, migliorando la compatibilità con i dispositivi mobili a basso consumo.
  • ProgLoss + STAL: migliora drasticamente le prestazioni nel rilevamento di oggetti piccoli, rendendolo la scelta principale per le immagini aeree e la videosorveglianza.

Altre alternative popolari nell'ecosistema includono Ultralytics YOLOv8 e YOLO11, entrambe estremamente versatili per attività come la segmentazione di istanze e la stima della posa.

Esempio di implementazione#

Addestrare ed esportare una qualsiasi di queste architetture è estremamente semplice con l'API unificata. Il codice seguente dimostra l'efficienza dell'addestramento semplificata tipica degli strumenti Ultralytics.

from ultralytics import YOLO

# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt")  # Swap with "yolo26n.pt" for faster edge performance

# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

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

Quando addestri su hardware consumer, l'efficienza della memoria è fondamentale. Le implementazioni Ultralytics di YOLOv9 e YOLO26 sono fortemente ottimizzate per ridurre i picchi di VRAM, a differenza dei modelli basati su Transformer (come RT-DETR), che spesso soffrono di un considerevole aumento del consumo di memoria durante l'addestramento.

Applicazioni nel mondo reale e casi d'uso ideali#

La scelta tra queste architetture dipende spesso dai vincoli specifici del tuo ambiente di produzione.

Quando usare YOLOv9: YOLOv9 eccelle negli ambienti in cui è necessario preservare i dettagli più minuti. La sua solida estrazione delle caratteristiche lo rende ideale per l'analisi retail, ad esempio per contare prodotti densamente disposti sugli scaffali, o per applicazioni agricole in cui è fondamentale identificare le malattie delle colture nelle fasi iniziali su foglie piccole.

Quando usare YOLOv7: YOLOv7 rimane un candidato valido per le pipeline di distribuzione legacy. Se lo stai integrando in sistemi hardware meno recenti, come alcune generazioni di Google Coral Edge TPU, la semplice architettura CNN di YOLOv7 potrebbe essere più facile da compilare rispetto ai più complessi rami dei gradienti dei modelli più recenti.

Quando usare YOLO26 (consigliato): Per qualsiasi distribuzione moderna, dai droni autonomi alla gestione del traffico nelle smart city, YOLO26 è la scelta migliore. La sua architettura senza NMS garantisce tempi di inferenza deterministici, essenziali per la robotica critica per la sicurezza, mentre la sua elevata precisione supera sia YOLOv9 sia YOLOv7 sotto ogni aspetto.

Commenti