Vai al contenuto

YOLOv7 contro DAMO-YOLO: Un confronto tecnico dettagliato

La selezione dell'architettura di object detection ottimale è una decisione fondamentale nello sviluppo della computer vision, che bilancia le esigenze concorrenti di latenza di inferenza, accuratezza e allocazione delle risorse computazionali. Questa analisi tecnica mette a confronto YOLOv7 e DAMO-YOLO, due modelli influenti rilasciati alla fine del 2022 che hanno spinto i confini del detection in tempo reale. Esaminiamo le loro innovazioni architetturali uniche, le performance di benchmark e l'idoneità per vari scenari di implementazione per aiutarti a orientarti nel processo di selezione.

YOLOv7: Ottimizzazione dell'addestramento per la precisione in tempo reale

YOLOv7 ha segnato un'evoluzione significativa nella famiglia YOLO, dando priorità all'efficienza architetturale e a strategie di training avanzate per migliorare le prestazioni senza aumentare i costi di inferenza. Sviluppato dagli autori originali di Scaled-YOLOv4, ha introdotto metodi per consentire alla rete di apprendere in modo più efficace durante la fase di training.

Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
Organizzazione:Institute of Information Science, Academia Sinica, Taiwan
Data: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Documentazione:https://docs.ultralytics.com/models/yolov7/

Innovazioni Architetturali

Il cuore di YOLOv7 presenta l'Extended Efficient Layer Aggregation Network (E-ELAN). Questa architettura consente al modello di apprendere caratteristiche diverse controllando i percorsi del gradiente più corti e più lunghi, migliorando la convergenza senza interrompere il flusso del gradiente esistente. Inoltre, YOLOv7 impiega "trainable bag-of-freebies", un insieme di tecniche di ottimizzazione applicate durante l'elaborazione dei dati di addestramento che non influiscono sulla struttura del modello durante la distribuzione. Questi includono la riparametrizzazione del modello e le testate ausiliarie per la supervisione profonda, garantendo che il backbone acquisisca caratteristiche robuste.

Bag-of-Freebies

Il termine "bag-of-freebies" si riferisce a metodi che aumentano la complessità dell'addestramento per migliorare l'accuratezza, ma non comportano alcun costo durante l'inferenza in tempo reale. Questa filosofia garantisce che il modello esportato finale rimanga leggero.

Punti di forza e debolezze

YOLOv7 è celebrato per il suo eccellente equilibrio sul benchmark MS COCO, offrendo un'elevata mean Average Precision (mAP) per le sue dimensioni. La sua forza principale risiede nei task ad alta risoluzione in cui la precisione è fondamentale. Tuttavia, la complessità dell'architettura può rendere difficile la modifica per la ricerca personalizzata. Inoltre, sebbene l'inferenza sia efficiente, il processo di addestramento richiede molte risorse, richiedendo una notevole memoria GPU rispetto alle architetture più recenti.

Scopri di più su YOLOv7

DAMO-YOLO: Ricerca di architetture neurali per l'Edge

DAMO-YOLO, proveniente dal team di ricerca di Alibaba, adotta un approccio diverso sfruttando la ricerca di architetture neurali (NAS) per scoprire automaticamente strutture di rete efficienti, adatte per ambienti a bassa latenza.

Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
Organizzazione:Alibaba Group
Data: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHub:https://github.com/tinyvision/DAMO-YOLO

Innovazioni Architetturali

DAMO-YOLO introduce MAE-NAS, un metodo per generare un backbone chiamato GiraffeNet, che massimizza il throughput in base a specifici vincoli di latenza. A complemento di questo c'è lo ZeroHead, un head di detect leggero che disaccoppia i task di classificazione e regressione rimuovendo al contempo parametri pesanti, riducendo significativamente le dimensioni del modello. L'architettura utilizza anche un neck efficiente noto come RepGFPN (Generalized Feature Pyramid Network) per la fusione di feature multi-scala e allinea i punteggi di classificazione con l'accuratezza della localizzazione utilizzando AlignedOTA per l'assegnazione delle etichette.

Punti di forza e debolezze

DAMO-YOLO eccelle negli scenari di edge AI. Le sue varianti più piccole (Tiny/Small) offrono velocità impressionanti, rendendole adatte per dispositivi mobili e applicazioni IoT. L'uso di NAS assicura che l'architettura sia matematicamente ottimizzata per l'efficienza. Al contrario, i modelli DAMO-YOLO più grandi a volte sono inferiori ai modelli YOLOv7 di livello più alto in termini di pura accuratezza. Inoltre, essendo un progetto incentrato sulla ricerca, manca del vasto ecosistema e del supporto di strumenti presenti in framework più ampi.

Scopri di più su DAMO-YOLO

Confronto delle metriche di performance

La tabella seguente evidenzia i compromessi di performance. YOLOv7 generalmente raggiunge una maggiore accuratezza (mAP) a costo di una maggiore complessità computazionale (FLOPs), mentre DAMO-YOLO privilegia la velocità e l'efficienza dei parametri, in particolare nelle sue configurazioni più piccole.

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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Applicazioni nel mondo reale

La scelta tra questi modelli spesso dipende dall'hardware di implementazione e dalle specifiche attività di computer vision richieste.

  • Sicurezza e analisi di fascia alta (YOLOv7): Per applicazioni eseguite su server potenti dove ogni punto percentuale di accuratezza è importante, come sistemi di allarme di sicurezza o gestione del traffico dettagliata, YOLOv7 è un ottimo candidato. La sua capacità di risolvere dettagli fini lo rende adatto per il detect di piccoli oggetti in flussi video ad alta risoluzione.
  • Dispositivi Edge & Robotica (DAMO-YOLO): In scenari con rigidi limiti di latenza, come la robotica autonoma o le app mobile, l'architettura leggera di DAMO-YOLO eccelle. Il basso numero di parametri riduce la pressione sulla larghezza di banda della memoria, il che è fondamentale per i dispositivi alimentati a batteria che eseguono object detection.

Il vantaggio di Ultralytics: perché modernizzare?

Sebbene YOLOv7 e DAMO-YOLO siano modelli validi, il panorama dell'IA avanza rapidamente. Gli sviluppatori e i ricercatori alla ricerca di una soluzione efficiente, a prova di futuro e facile da usare dovrebbero considerare l'ecosistema Ultralytics, in particolare YOLO11. L'aggiornamento ai moderni modelli Ultralytics offre diversi vantaggi distinti:

1. Facilità d'uso semplificata

I modelli Ultralytics danno priorità all'esperienza dello sviluppatore. A differenza dei repository di ricerca che spesso richiedono configurazioni complesse dell'ambiente e l'esecuzione manuale di script, Ultralytics fornisce un'API Python unificata e una CLI. Puoi eseguire il training, la convalida e la distribuzione dei modelli in poche righe di codice.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference
results = model("path/to/image.jpg")

2. Versatilità Completa

YOLOv7 e DAMO-YOLO sono progettati principalmente per il rilevamento di bounding box. Al contrario, YOLO11 supporta nativamente un'ampia gamma di task all'interno dello stesso framework, tra cui la segmentazione di istanze, la stima della posa, il rilevamento di oggetti orientati (OBB) e la classificazione delle immagini. Ciò consente di affrontare problemi complessi, come l'analisi della postura umana nello sport, senza cambiare librerie.

3. Prestazioni ed Efficienza Superiori

YOLO11 si basa su anni di ricerca e sviluppo per offrire un'accuratezza all'avanguardia con un overhead computazionale notevolmente ridotto. Impiega un head di detection senza ancore e operazioni di backend ottimizzate, con conseguente minore utilizzo di memoria durante il training e l'inferenza rispetto alle versioni YOLO precedenti o ai modelli basati su transformer come RT-DETR. Questa efficienza si traduce in costi di cloud computing inferiori ed elaborazione più rapida sull'hardware edge.

4. Ecosistema e supporto solidi

Adottare un modello Ultralytics ti connette a un ecosistema ben mantenuto e fiorente. Con aggiornamenti frequenti, documentazione completa e canali della community attivi, non sarai mai lasciato a eseguire il debug di codice non supportato. Inoltre, le integrazioni perfette con strumenti come Ultralytics HUB facilitano la distribuzione del modello e la gestione del set di dati.

Scopri di più su YOLO11

Conclusione

Sia YOLOv7 che DAMO-YOLO hanno contribuito in modo significativo al campo dell'object detection nel 2022. YOLOv7 ha dimostrato come le tecniche di ottimizzazione addestrabili potessero aumentare l'accuratezza, mentre DAMO-YOLO ha mostrato la potenza della ricerca sull'architettura neurale per la creazione di modelli efficienti e pronti per l'edge.

Tuttavia, per gli ambienti di produzione odierni, YOLO11 rappresenta l'apice della tecnologia AI di visione. Combinando la velocità di YOLO, la precisione di YOLOv7 e l'usabilità senza pari del framework Ultralytics , YOLO11 offre una soluzione versatile che accelera i cicli di sviluppo e migliora le prestazioni delle applicazioni. Che si tratti di costruire infrastrutture per le smart city o di ottimizzare il controllo di qualità della produzione, i modelli Ultralytics offrono l'affidabilità e l'efficienza necessarie per il successo.

Esplora altri modelli

Se sei interessato ad esplorare altre opzioni nel panorama della computer vision, considera questi modelli:

  • Ultralytics YOLOv8: Il predecessore di YOLO11, noto per la sua robustezza e l'ampia adozione nel settore.
  • YOLOv10: Un detector in tempo reale incentrato sull'addestramento NMS-free per una latenza ridotta.
  • YOLOv9: Introduce la Programmable Gradient Information (PGI) per ridurre la perdita di informazioni nelle reti profonde.
  • RT-DETR: Un detector basato su transformer che offre un'elevata accuratezza, ma in genere richiede più memoria GPU.
  • YOLOv6: Un altro modello incentrato sull'efficienza e ottimizzato per le applicazioni industriali.

Commenti