Vai al contenuto

DAMO-YOLO vs YOLOv7: Valutazione di Rilevatori di Oggetti in Tempo Reale

La rapida evoluzione della visione artificiale ha prodotto modelli di rilevamento di oggetti altamente efficienti, progettati per bilanciare precisione e costo computazionale. Due modelli notevoli introdotti nel 2022 sono DAMO-YOLO e YOLOv7. Sebbene entrambi mirino a spingere i confini delle attività di visione in tempo reale, raggiungono i loro risultati attraverso paradigmi architettonici e metodologie di addestramento molto diversi.

Questo confronto tecnico approfondito esplora gli approcci distinti di entrambi i modelli, esaminando le loro architetture, il potenziale di deployment e le metriche di performance per aiutare gli ingegneri di machine learning a scegliere lo strumento giusto per le loro specifiche applicazioni di visione artificiale.

Origini del Modello e Metadati

Prima di addentrarci nell'analisi tecnica approfondita, è essenziale contestualizzare le origini di questi due modelli di visione artificiale.

DAMO-YOLO

Sviluppato dai ricercatori di Alibaba Group, DAMO-YOLO è stato introdotto per ottimizzare sia la velocità che l'accuratezza attraverso la ricerca automatizzata dell'architettura e la distillazione.

Scopri di più su DAMO-YOLO

YOLOv7

Rilasciato come stato dell'arte a metà 2022, YOLOv7 ha spinto ulteriormente l'inferenza in tempo reale introducendo "bag-of-freebies" addestrabili senza aumentare i costi di deployment.

Scopri di più su YOLOv7

Ecosistema supportato

YOLOv7 è ufficialmente supportato all'interno dell'ecosistema Ultralytics, consentendo addestramento, validazione ed esportazione senza interruzioni con un'API unificata.

Innovazioni Architetturali

YOLO: NAS e distillazione

DAMO-YOLO incorpora diverse tecniche all'avanguardia orientate alla massima efficienza:

  • Backbone NAS: Utilizza la Ricerca di Architettura Neurale (NAS) per progettare automaticamente backbone ottimali (MAE-NAS) su misura per ambienti critici in termini di latenza.
  • RepGFPN Efficiente: Una Generalized Feature Pyramid Network modificata che migliora significativamente l'efficienza della fusione delle feature su più scale.
  • ZeroHead & AlignedOTA: Incorpora un head di rilevamento leggero e una strategia ottimizzata di assegnazione delle etichette (AlignedOTA) per ridurre l'overhead computazionale.
  • Miglioramento della Distillazione: Sfrutta ampiamente la distillazione della conoscenza durante l'addestramento per potenziare le prestazioni delle varianti di modello più piccole senza aumentarne il numero di parametri.

YOLOv7: E-ELAN e Bag-of-Freebies

YOLOv7 ha adottato un approccio più orientato all'ingegneria strutturale, concentrandosi sull'ottimizzazione del percorso del gradiente e su robuste strategie di addestramento.

  • Architettura E-ELAN: L'Extended Efficient Layer Aggregation Network consente al modello di apprendere caratteristiche più diverse controllando i percorsi di gradiente più brevi e più lunghi, garantendo un'efficace convergenza dell'apprendimento.
  • Scaling del Modello: Introduce un metodo di scaling composto su misura per i modelli basati su concatenazione, scalando profondità e larghezza simultaneamente per l'allineamento strutturale.
  • Bag-of-Freebies Addestrabili: Impiega tecniche come le convoluzioni riparametrizzate (RepConv) senza connessioni di identità e strategie dinamiche di assegnazione delle etichette, che aumentano l'accuratezza durante l'addestramento senza influire sulla velocità di inferenza.

Analisi delle prestazioni

Nella valutazione di mean Average Precision (mAP), velocità ed efficienza, entrambi i modelli mostrano metriche impressionanti, sebbene si rivolgano a segmenti leggermente diversi. YOLOv7 si concentra fortemente sul deployment su GPU ad alta accuratezza, mentre le strutture di DAMO-YOLO derivate da NAS mirano a un deployment aggressivo su CPU e edge a bassa latenza.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Come si evince dalle metriche, mentre DAMO-YOLO offre varianti estremamente leggere (come il modello tiny con soli 8,5M parametri), YOLOv7 raggiunge un picco di accuratezza complessiva più elevato, con YOLOv7x che raggiunge un impressionante mAP di 53,1 sul dataset COCO.

Il vantaggio dell'ecosistema Ultralytics

Sebbene l'architettura teorica sia importante, la praticità di un modello è dettata dal suo ecosistema. I modelli supportati da Ultralytics, come YOLOv7, beneficiano di un ecosistema ben mantenuto e di una facilità d'uso senza pari.

  • Equilibrio delle Prestazioni: I modelli Ultralytics raggiungono costantemente un compromesso ottimale tra velocità di inferenza e precisione di rilevamento, rendendoli ideali sia per i dispositivi edge che per il deployment di modelli basato su cloud.
  • Requisiti di Memoria: A differenza dei modelli più pesanti basati su Transformer, i modelli Ultralytics YOLO mantengono bassi requisiti di memoria CUDA durante l'addestramento. Ciò consente batch size più grandi, ottimizzando il processo di addestramento anche su hardware di fascia consumer.
  • Versatilità: Il framework Ultralytics si estende oltre l'object detection a task come la Segmentazione di Istanza e la Stima della Posa, offrendo agli sviluppatori un toolkit completo per la visione artificiale.

Efficienza dell'addestramento

Il pacchetto Ultralytics ti permette di passare senza soluzione di continuità dai dataset a un modello completamente addestrato in pochi minuti, sfruttando data loader altamente ottimizzati e pesi pre-addestrati.

Esempio di codice: Addestramento di YOLOv7 con Ultralytics

Integrare YOLOv7 nella tua pipeline di visione artificiale è incredibilmente semplice utilizzando l'API python di Ultralytics.

from ultralytics import YOLO

# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")

# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run inference and validate results
metrics = model.val()
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)

Il Nuovo Standard: Presentazione di YOLO26

Sebbene YOLOv7 e DAMO-YOLO abbiano rappresentato scoperte significative nel 2022, il campo dell'AI visiva si evolve rapidamente. Per i team che avviano nuovi progetti oggi, il modello raccomandato è l'avanzato Ultralytics YOLO26, rilasciato a gennaio 2026.

YOLO26 apporta un salto generazionale in termini di prestazioni e usabilità, incorporando innovazioni all'avanguardia:

  • Design End-to-End senza NMS: YOLO26 è nativamente end-to-end. Eliminando la post-elaborazione di Non-Maximum Suppression (NMS), offre una logica di deployment più rapida e semplice, un cambio di paradigma inizialmente introdotto da YOLOv10.
  • Ottimizzatore MuSGD: Ispirato alle innovazioni dei modelli linguistici di grandi dimensioni come Kimi K2 di Moonshot AI, YOLO26 utilizza un ibrido di SGD e Muon. Questo ottimizzatore garantisce dinamiche di addestramento altamente stabili e tassi di convergenza notevolmente più rapidi.
  • Fino al 43% più veloce nell'inferenza su CPU: Con la rimozione mirata della Distribution Focal Loss (DFL) e profondi miglioramenti strutturali, YOLO26 è altamente ottimizzato per l'edge computing a bassa potenza, superando le generazioni precedenti su hardware senza GPU.
  • ProgLoss + STAL: Integra nuove funzioni di perdita avanzate che mirano esplicitamente a migliorare il riconoscimento di oggetti di piccole dimensioni, una capacità essenziale per applicazioni nell'imaging aereo, nella robotica e nel monitoraggio della sicurezza.
  • Miglioramenti Specifici per Task: Oltre al detect standard, YOLO26 presenta miglioramenti su misura per diversi task, inclusa la prototipazione multi-scala per la segmentation, RLE per la stima della posa e perdite angolari specifiche per le Bounding Box Orientate (OBB).

Scopri di più su YOLO26

Casi d'uso ideali

La scelta dell'architettura giusta dipende interamente dall'ambiente di deployment target e dai vincoli del progetto.

Quando scegliereYOLO:

  • Stai lavorando in ambienti edge fortemente vincolati e con risorse limitate, dove il conteggio grezzo dei parametri deve essere mantenuto estremamente basso (ad esempio, microcontrollori).
  • Stai utilizzando pipeline di machine learning automatizzate specificamente integrate con i servizi cloud proprietari di Alibaba.

Quando scegliere YOLOv7:

  • Si dispone di pipeline GPU legacy già ottimizzate per l'inferenza basata su anchor e ad alta precisione.
  • Operi in ambienti dove l'accuratezza in tempo reale è fondamentale, come nei veicoli autonomi ad alta velocità o nella robotica avanzata.

Quando scegliere YOLO26 (Consigliato):

  • Stai costruendo una nuova applicazione di visione artificiale da zero e hai bisogno dello stato dell'arte assoluto sia in termini di precisione che di velocità di inferenza su CPU/edge.
  • Si richiede una distribuzione rapida e senza interruzioni (come l'esportazione in CoreML o TensorRT) senza dover gestire i vincoli dell'operatore NMS.
  • Si desidera utilizzare tutte le funzionalità della Ultralytics Platform per l'addestramento in cloud, la gestione dei dataset e la distribuzione automatizzata.

Sfruttando il robusto ecosistema dei modelli Ultralytics, gli sviluppatori possono ridurre drasticamente i tempi di ingegnerizzazione, garantendo al contempo prestazioni predittive di alto livello per le loro applicazioni nel mondo reale.


Commenti