Vai al contenuto

DAMO-YOLO contro YOLOv9: Un confronto tecnico

La scelta del modello di object detection più adatto è una decisione fondamentale che bilancia la necessità di accuratezza, velocità ed efficienza computazionale. Questa pagina offre un confronto tecnico dettagliato tra due modelli potenti: DAMO-YOLO di Alibaba Group e YOLOv9. Esploreremo le loro innovazioni architetturali, le metriche di performance e i casi d'uso ideali per aiutarti a selezionare il modello migliore per i tuoi progetti di computer vision. Sebbene entrambi i modelli introducano progressi significativi, YOLOv9, in particolare all'interno dell'ecosistema Ultralytics, offre una combinazione convincente di prestazioni all'avanguardia e funzionalità intuitive per gli sviluppatori.

DAMO-YOLO: Un metodo veloce e preciso di Alibaba

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

DAMO-YOLO è un modello di object detection sviluppato da Alibaba che si concentra sul raggiungimento di un equilibrio superiore tra velocità e precisione. Introduce diverse nuove tecniche per migliorare le prestazioni su una vasta gamma di hardware, dai dispositivi edge alle GPU cloud. L'architettura è il risultato di una metodologia "once-for-all", in cui viene addestrata una supernet e quindi vengono derivate sottoreti specializzate utilizzando la Neural Architecture Search (NAS) per adattarsi a diversi vincoli computazionali.

Architettura e caratteristiche principali

L'architettura di DAMO-YOLO incorpora diverse innovazioni chiave:

  • Backbone Generati tramite NAS: Invece di un backbone progettato manualmente, DAMO-YOLO utilizza backbone scoperti tramite NAS, ottimizzati per l'efficienza di estrazione delle feature.
  • Efficient RepGFPN Neck: Impiega un nuovo neck di rete piramidale di feature, RepGFPN, progettato per una fusione efficiente delle feature ed è compatibile con le tecniche di riparametrizzazione per aumentare la velocità durante l'inferenza.
  • ZeroHead: Un head di rilevamento semplificato e leggero che riduce il sovraccarico computazionale mantenendo alte prestazioni.
  • Assegnazione etichette AlignedOTA: Una strategia di assegnazione etichette migliorata che affronta i problemi di disallineamento tra i task di classificazione e regressione, portando a previsioni più accurate.
  • Miglioramento tramite Distillazione: La distillazione della conoscenza viene utilizzata per trasferire la conoscenza da un modello teacher più grande a un modello student più piccolo, migliorando ulteriormente l'accuratezza dei modelli compatti.

Punti di forza

  • Elevata velocità GPU: DAMO-YOLO è altamente ottimizzato per un'inferenza veloce sulle GPU, rendendolo adatto per l'elaborazione video in tempo reale e altre applicazioni sensibili alla latenza.
  • Modelli Scalabili: Offre una famiglia di modelli (Tiny, Small, Medium, Large) che forniscono un chiaro compromesso tra velocità e precisione, consentendo agli sviluppatori di scegliere la soluzione migliore per il loro hardware.
  • Tecniche innovative: L'uso di NAS, un neck efficiente e un assegnatore di etichette avanzato dimostra un approccio moderno alla progettazione di detector.

Punti deboli

  • Specificità del task: DAMO-YOLO è progettato principalmente per il rilevamento di oggetti e manca della versatilità integrata per altri task come la segmentazione di istanze o la stima della posa che si trovano in framework completi come Ultralytics.
  • Ecosistema e usabilità: Pur essendo potente, il suo ecosistema è meno maturo di quello di Ultralytics. Gli utenti potrebbero riscontrare che richiede più impegno per l'addestramento, la distribuzione e l'integrazione nelle pipeline di produzione.
  • Supporto della community: La community e le risorse disponibili potrebbero essere più piccole rispetto a modelli più ampiamente adottati come quelli della serie YOLO.

Scopri di più su DAMO-YOLO

YOLOv9: Avanzamento di accuratezza ed efficienza

Autori: Chien-Yao Wang, Hong-Yuan Mark Liao
Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
Data: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
Documentazione: https://docs.ultralytics.com/models/yolov9/

YOLOv9 rappresenta un significativo balzo in avanti nell'object detection in tempo reale, introducendo concetti innovativi per affrontare la perdita di informazioni nelle reti neurali profonde. Le sue innovazioni principali, Programmable Gradient Information (PGI) e Generalized Efficient Layer Aggregation Network (GELAN), gli consentono di ottenere una precisione superiore e un'efficienza dei parametri. Quando integrato nel framework Ultralytics, YOLOv9 combina queste prestazioni all'avanguardia con un'esperienza utente senza precedenti.

Architettura e caratteristiche principali

La forza di YOLOv9 risiede nei suoi nuovi componenti architetturali:

  • Informazioni sul Gradiente Programmabile (PGI): Questo meccanismo aiuta a mitigare il problema del collo di bottiglia delle informazioni generando gradienti affidabili attraverso un ramo reversibile ausiliario, assicurando che i livelli più profondi ricevano informazioni di input complete per aggiornamenti accurati.
  • Generalized Efficient Layer Aggregation Network (GELAN): Un'architettura di rete avanzata che si basa sui principi di CSPNet e ELAN. GELAN è progettata per un utilizzo ottimale dei parametri e un'efficienza computazionale, rendendola potente e veloce.

Punti di forza

  • Accuratezza all'avanguardia: YOLOv9 stabilisce un nuovo standard di accuratezza sul dataset COCO, superando molti modelli precedenti a costi computazionali simili o inferiori.
  • Efficienza superiore: Come mostrato nella tabella delle prestazioni, i modelli YOLOv9 spesso raggiungono una maggiore accuratezza con meno parametri e FLOP rispetto ai concorrenti, rendendoli ideali per la distribuzione su una vasta gamma di hardware, dai dispositivi edge ai server potenti.
  • Ecosistema ben mantenuto: Integrato nell'ecosistema Ultralytics, YOLOv9 beneficia di facilità d'uso tramite una API Python e una CLI semplificate, un'ampia documentazione e un supporto attivo della comunità.
  • Efficienza di addestramento: L'implementazione Ultralytics garantisce processi di addestramento efficienti con pesi pre-addestrati facilmente disponibili, requisiti di memoria inferiori e integrazione perfetta con strumenti come Ultralytics HUB per l'addestramento no-code e MLOps.
  • Versatilità: Sebbene l'articolo originale si concentri sul rilevamento, l'architettura GELAN è altamente adattabile. L'ecosistema Ultralytics estende le sue capacità ad altre attività di visione artificiale, allineandosi al supporto multi-task presente in modelli come YOLOv8.

Punti deboli

  • Modello più recente: Essendo un'architettura più recente, il numero di tutorial forniti dalla community e le integrazioni di terze parti sono ancora in crescita, sebbene la sua inclusione nella libreria Ultralytics ne abbia accelerato significativamente l'adozione.
  • Requisiti di risorse: Le varianti YOLOv9 più grandi, come YOLOv9-E, richiedono notevoli risorse computazionali per l'addestramento, sebbene forniscano una precisione di livello superiore per le loro dimensioni.

Scopri di più su YOLOv9

Analisi delle prestazioni: Precisione e velocità

Quando si confrontano DAMO-YOLO e YOLOv9, è chiaro che entrambe le famiglie di modelli spingono i confini dell'object detection in tempo reale. Tuttavia, uno sguardo più da vicino alle metriche rivela la superiore efficienza di YOLOv9.

Modello dimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT
(ms)
parametri
(M)
FLOPs
(B)
DAMO-YOLOt 640 42.0 - 2.32 8.5 18.1
DAMO-YOLOs 640 46.0 - 3.45 16.3 37.8
DAMO-YOLOm 640 49.2 - 5.09 28.2 61.8
DAMO-YOLOl 640 50.8 - 7.18 42.1 97.3
YOLOv9t 640 38.3 - 2.3 2.0 7.7
YOLOv9s 640 46.8 - 3.54 7.1 26.4
YOLOv9m 640 51.4 - 6.43 20.0 76.3
YOLOv9c 640 53.0 - 7.16 25.3 102.1
YOLOv9e 640 55.6 - 16.77 57.3 189.0

Dalla tabella possiamo trarre diverse conclusioni:

  • Precisione: I modelli YOLOv9 raggiungono costantemente punteggi mAP più alti. Ad esempio, YOLOv9m supera DAMO-YOLOl con un mAP di 51.4 contro 50.8 mAP. Il modello più grande, YOLOv9-E, raggiunge un impressionante 55.6 mAP, stabilendo un nuovo benchmark.
  • Efficienza: YOLOv9 dimostra una notevole efficienza parametrica e computazionale. YOLOv9m offre una precisione migliore rispetto a DAMO-YOLOl utilizzando meno della metà dei parametri (20.0M vs. 42.1M) e meno FLOP (76.3B vs. 97.3B). Questo rende YOLOv9 una scelta più efficiente per ottenere prestazioni elevate.
  • Velocità di inferenza: Su una GPU T4, le velocità di inferenza sono competitive. Ad esempio, DAMO-YOLOs (3,45 ms) e YOLOv9s (3,54 ms) sono molto vicini in termini di velocità, ma YOLOv9s raggiunge una mAP più alta (46,8 vs. 46,0).

Conclusione: Quale modello dovresti scegliere?

Sia DAMO-YOLO che YOLOv9 sono eccellenti object detector con punti di forza unici. DAMO-YOLO offre una soluzione veloce e scalabile con tecniche innovative come NAS e un efficiente neck RepGFPN, rendendolo una scelta solida per le applicazioni che richiedono un'inferenza GPU ad alta velocità.

Tuttavia, per la maggior parte degli sviluppatori e dei ricercatori, YOLOv9 è la scelta consigliata, soprattutto se utilizzato all'interno dell'ecosistema Ultralytics. Non solo offre una precisione all'avanguardia e un'efficienza superiore, ma fornisce anche vantaggi significativi in termini di usabilità e supporto. Il framework Ultralytics astrae la complessità, offrendo un flusso di lavoro semplificato dall'addestramento all'implementazione. La combinazione di PGI e GELAN in YOLOv9 fornisce un'architettura più avanzata ed efficiente, mentre il robusto ecosistema Ultralytics garantisce di avere gli strumenti, la documentazione e il supporto della comunità necessari per avere successo.

Esplora altri modelli

Se sei interessato a come DAMO-YOLO e YOLOv9 si confrontano con altri modelli leader, assicurati di consultare questi altri confronti nella documentazione di Ultralytics:



📅 Creato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti