DAMO-YOLO vs YOLOv7: Valutazione dei rilevatori di oggetti in tempo reale

La rapida evoluzione della visione artificiale ha prodotto modelli di object detection altamente efficienti progettati per bilanciare precisione e costi computazionali. Due modelli degni di nota introdotti nel 2022 sono DAMO-YOLO e YOLOv7. Sebbene entrambi mirino a superare i limiti delle attività di visione in tempo reale, raggiungono i loro risultati attraverso paradigmi architettonici e metodologie di addestramento profondamente diversi.

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

Origini e metadati dei modelli

Prima di immergersi 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 la precisione 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 l'inferenza in tempo reale ancora oltre introducendo "bag-of-freebies" addestrabili senza aumentare i costi di implementazione.

Scopri di più su YOLOv7

Ecosistema supportato

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

Innovazioni architettoniche

DAMO-YOLO: NAS e distillazione

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

  • Backbone NAS: Utilizza la Neural Architecture Search (NAS) per progettare automaticamente backbone ottimali (MAE-NAS) su misura per ambienti in cui la latenza è critica.
  • Efficient RepGFPN: Una Generalized Feature Pyramid Network modificata che migliora significativamente l'efficienza della fusione delle caratteristiche su scale multiple.
  • ZeroHead & AlignedOTA: Incorpora una head di rilevamento leggera e una strategia di assegnazione delle etichette ottimizzata (AlignedOTA) per ridurre il sovraccarico computazionale.
  • Potenziamento della distillazione: Sfrutta pesantemente la distillazione della conoscenza durante l'addestramento per incrementare le prestazioni di varianti di modelli più piccoli senza aumentare il conteggio dei parametri.

YOLOv7: E-ELAN e Bag-of-Freebies

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

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

Analisi delle prestazioni

Quando si valuta la mean Average Precision (mAP), la velocità e l'efficienza, entrambi i modelli mostrano metriche impressionanti, sebbene puntino a segmenti leggermente diversi. YOLOv7 si concentra pesantemente sull'implementazione GPU ad alta precisione, mentre le strutture derivate da NAS di DAMO-YOLO mirano a un'aggressiva implementazione su CPU e dispositivi edge a bassa latenza.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOP
(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 vede nelle metriche, mentre DAMO-YOLO fornisce varianti estremamente leggere (come il modello tiny con soli 8,5 milioni di parametri), YOLOv7 raggiunge un picco di precisione complessiva più elevato, con YOLOv7x che raggiunge un impressionante 53,1 mAP 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 dispositivi edge che per l'implementazione di modelli basata su cloud.
  • Requisiti di memoria: A differenza dei modelli più pesanti basati su Transformer, i modelli YOLO di Ultralytics mantengono bassi requisiti di memoria CUDA durante l'addestramento. Ciò consente batch sizes più grandi, semplificando il processo di addestramento anche su hardware consumer.
  • Versatilità: Il framework Ultralytics si estende oltre il rilevamento di oggetti ad attività come Instance Segmentation e Pose Estimation, offrendo agli sviluppatori un toolkit completo per la visione artificiale.
Efficienza di addestramento

Il pacchetto Ultralytics ti consente di passare senza problemi dai dataset a un modello completamente addestrato in pochi minuti, sfruttando caricatori di dati 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: introduzione di YOLO26

Sebbene YOLOv7 e DAMO-YOLO abbiano rappresentato importanti scoperte nel 2022, il campo dell'IA visiva si muove rapidamente. Per i team che iniziano nuovi progetti oggi, il modello raccomandato è il rivoluzionario Ultralytics YOLO26, rilasciato a gennaio 2026.

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

  • Design nativo End-to-End senza NMS: YOLO26 è nativamente end-to-end. Eliminando il post-processing di Non-Maximum Suppression (NMS), offre una logica di implementazione più veloce e semplice: un cambio di paradigma inizialmente introdotto da YOLOv10.
  • Ottimizzatore MuSGD: Ispirato dalle innovazioni nei 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 drasticamente più rapidi.
  • Inferenza su CPU fino al 43% più veloce: Con la rimozione mirata della Distribution Focal Loss (DFL) e profondi miglioramenti strutturali, YOLO26 è pesantemente ottimizzato per il calcolo edge a basso consumo, superando le generazioni precedenti su hardware non-GPU.
  • ProgLoss + STAL: Incorpora nuove funzioni di perdita avanzate che mirano esplicitamente e migliorano il riconoscimento di piccoli oggetti, una capacità essenziale per applicazioni in immagini aeree, robotica e monitoraggio della sicurezza.
  • Miglioramenti specifici per attività: Oltre al rilevamento standard, YOLO26 presenta miglioramenti su misura per diverse attività, tra cui prototipazione multi-scala per la segmentazione, RLE per la stima della posa e perdite angolari specifiche per Oriented Bounding Boxes (OBB).

Scopri di più su YOLO26

Casi d'uso ideali

La scelta dell'architettura giusta dipende interamente dal tuo ambiente di implementazione di destinazione e dai vincoli del progetto.

Quando scegliere DAMO-YOLO:

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

Quando scegliere YOLOv7:

  • Hai pipeline GPU legacy già ottimizzate per l'inferenza basata su anchor e ad alta precisione.
  • Operi in ambienti in cui la precisione in tempo reale è fondamentale, come veicoli autonomi ad alta velocità o robotica avanzata.

Quando scegliere YOLO26 (Raccomandato):

  • 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.
  • Richiedi un'implementazione rapida e senza interruzioni (come l'esportazione in CoreML o TensorRT) senza doverti occupare dei vincoli dell'operatore NMS.
  • Vuoi utilizzare le piene capacità della Ultralytics Platform per l'addestramento nel cloud, la gestione dei dataset e l'implementazione automatizzata.

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

Commenti