Vai al contenuto

YOLOv7 vs. YOLOv9: un confronto tecnico completo

L'evoluzione della famiglia YOLO (You Only Look Once) è stata caratterizzata da continue innovazioni nell'architettura delle reti neurali, bilanciando i compromessi critici tra velocità di inferenza, accuratezza ed efficienza computazionale. Questo confronto approfondisce YOLOv7una pietra miliare del 2022 nota per il suo "bag of freebies" addestrabile, e YOLOv9. YOLOv9, un'architettura del 2024 che introduce la Programmable Gradient Information (PGI) per superare i colli di bottiglia informativi nelle reti profonde.

Analisi delle prestazioni e dell'efficienza

Il passaggio da YOLOv7 a YOLOv9 rappresenta un salto significativo nell'efficienza dei parametri. Mentre YOLOv7 è stato ottimizzato per superare i limiti del rilevamento di oggetti in tempo reale utilizzando reti di aggregazione a livelli estesi ed efficienti (E-ELAN), YOLOv9 introduce modifiche architettoniche che gli consentono di raggiungere una precisione media superioremAP) con meno parametri e operazioni in virgola mobile (FLOP).

Per gli sviluppatori che si concentrano sull'implementazione dell'intelligenza artificiale ai margini, questa efficienza è fondamentale. Come illustrato nella tabella sottostante, YOLOv9e raggiunge una mAP dominante del 55,6%, superando il più grande YOLOv7x pur mantenendo un'impronta computazionale competitiva. Al contrario, il più piccolo YOLOv9t offre una soluzione leggera per dispositivi altamente vincolati, un livello a cui YOLOv7 non si rivolge esplicitamente con la stessa granularità.

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.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

YOLOv7: Ottimizzare la borsa dei regali addestrabili

Rilasciato nel luglio 2022, YOLOv7 ha introdotto diverse riforme strutturali all'architettura di YOLO , concentrandosi sull'ottimizzazione del processo di formazione senza aumentare i costi di inferenza.

Punti salienti dell'architettura

YOLOv7 utilizza E-ELAN (Extended Efficient Layer Aggregation Network), che controlla i percorsi di gradiente più brevi e più lunghi per consentire alla rete di apprendere più caratteristiche in modo efficace. Ha inoltre reso popolare la scalatura del modello per i modelli basati sulla concatenazione, consentendo di scalare simultaneamente la profondità e la larghezza. Un'innovazione fondamentale è stata la convoluzione ri-parametrizzata, che semplifica l'architettura del modello durante l'inferenza per aumentare la velocità.

Stato dell'eredità

Sebbene YOLOv7 rimanga un modello capace, manca del supporto nativo per le ottimizzazioni più recenti presenti nell'ecosistemaUltralytics . Gli sviluppatori potrebbero trovare più difficile l'integrazione con i moderni strumenti MLOps rispetto alle nuove versioni.

Per saperne di più su YOLOv7

YOLOv9: risolvere il collo di bottiglia dell'informazione

YOLOv9, presentato all'inizio del 2024, affronta un problema fondamentale dell'apprendimento profondo: la perdita di informazioni quando i dati passano attraverso strati successivi.

Punti salienti dell'architettura

L'innovazione principale di YOLOv9 è la Programmable Gradient Information (PGI). Nelle reti profonde, le informazioni utili possono andare perse durante il processo di feedforward, portando a gradienti inaffidabili. L'IGP fornisce una struttura di supervisione ausiliaria che garantisce la conservazione delle informazioni chiave per la funzione di perdita. Inoltre, la Generalized Efficient Layer Aggregation Network (GELAN) estende le capacità di ELAN consentendo il blocco arbitrario, massimizzando l'uso dei parametri e delle risorse computazionali.

Questa architettura rende YOLOv9 eccezionalmente forte per compiti di rilevamento complessi, come il rilevamento di piccoli oggetti in ambienti ingombri o l'analisi di immagini aeree ad alta risoluzione.

Per saperne di più su YOLOv9

Perché i modelli Ultralytics YOLO11 e YOLOv8) sono la scelta preferenziale

Mentre YOLOv7 e YOLOv9 sono risultati accademici di grande rilievo, la Ultralytics YOLO Ultralytics, compresa la serie YOLOv8 e lo stato dell'arte YOLO11-è stata progettata specificamente per lo sviluppo di applicazioni pratiche e reali. Questi modelli privilegiano la facilità d'uso, l'integrazione dell'ecosistema e l'efficienza operativa, rendendoli la scelta migliore per la maggior parte dei team di progettazione.

Esperienza utente semplificata

I modelli Ultralytics sono racchiusi in un'APIPython unificata che astrae dalle complessità delle pipeline di addestramento. Per passare da un'attività di rilevamento di oggetti, segmentazione di istanze, stima di pose e OBB (oriented bounding box) a un'altra è sufficiente cambiare un singolo argomento, una versatilità che manca nelle implementazioni standard di YOLOv7 o YOLOv9 .

from ultralytics import YOLO

# Load a model (YOLO11 automatically handles architecture)
model = YOLO("yolo11n.pt")  # Load a pretrained model

# Train the model with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Perform inference on an image
results = model("path/to/image.jpg")

Ecosistema ben curato

La scelta di un modello Ultralytics garantisce l'accesso a un solido ecosistema. Questo include la perfetta integrazione con Ultralytics HUB (e la prossima Ultralytics Platform) per la formazione nel cloud e la gestione dei set di dati. Inoltre, la comunità attiva e i frequenti aggiornamenti garantiscono la compatibilità con l'hardware più recente, come ad esempio l'esportazione a TensorRT o OpenVINO per una velocità di inferenza ottimale.

Memoria ed efficienza dell'allenamento

I modelli Ultralytics sono famosi per la loro efficienza di formazione. A differenza dei modelli basati su trasformatori (come RT-DETR) che possono essere affamati di memoria e lenti a convergere, i modelliYOLO Ultralytics utilizzano caricatori di dati ottimizzati e l'incremento di Mosaic per offrire tempi di addestramento rapidi con requisiti di memoria CUDA ridotti. Ciò consente agli sviluppatori di addestrare modelli all'avanguardia su GPU di livello consumer.

Scopri di più su YOLO11

Casi d'uso ideali

La scelta del modello giusto dipende dai vincoli specifici del progetto.

Applicazioni reali per YOLOv9

  • Ricerca e benchmarking: Ideale per gli studi accademici che richiedono la massima precisione in assoluto sul set di datiCOCO .
  • Sorveglianza ad alta fedeltà: In scenari come i sistemi di allarme di sicurezza, dove un guadagno di precisione dell'1-2% giustifica una maggiore complessità di implementazione.

Applicazioni reali per YOLOv7

  • Sistemi legacy: Progetti già costruiti su Darknet o sui primi ecosistemi PyTorch che necessitano di una quantità stabile e conosciuta senza dover rifattorizzare l'intera base di codice.

Applicazioni del mondo reale per Ultralytics YOLO11

  • Città intelligenti: Utilizzo del tracciamento degli oggetti per l'analisi dei flussi di traffico, dove la velocità e la facilità di implementazione sono fondamentali.
  • Sanità:analisi di immagini mediche in cui spesso è necessario segmentare e rilevare contemporaneamente.
  • Produzione: Implementazione di sistemi di controllo qualità su dispositivi edge come NVIDIA Jetson o Raspberry Pi, beneficiando delle semplici opzioni di esportazione in TFLite e ONNX.

Conclusione

Sia YOLOv7 che YOLOv9 rappresentano pietre miliari nella storia della computer vision. YOLOv9 offre un aggiornamento convincente rispetto alla versione 7 grazie alla sua architettura IGP, che garantisce una maggiore efficienza e precisione. Tuttavia, per gli sviluppatori che cercano una soluzione versatile, facile da usare e ben supportata, Ultralytics YOLO11 rimane la scelta consigliata. Il suo equilibrio di prestazioni, la documentazione completa e le capacità multi-taskdetect, segment, classify, posa) offrono il percorso più rapido dal concetto alla produzione.

Esplora altri modelli

Per trovare la soluzione perfetta per le vostre specifiche attività di visione computerizzata, prendete in considerazione questi altri confronti:


Commenti