Ultralytics YOLO27:
Get Started

DAMO-YOLO vs YOLOv7#

La rapida evoluzione della visione artificiale ha prodotto modelli di rilevamento degli oggetti molto efficienti, progettati per bilanciare precisione e costo computazionale. 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, ottengono i risultati con paradigmi architetturali e metodologie di addestramento molto diversi.

Questo confronto tecnico completo esamina gli approcci distinti dei due modelli, analizzandone architetture, potenziale di implementazione e metriche prestazionali, 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 approfondire l'analisi tecnica, è essenziale inquadrare le origini di questi due modelli di visione artificiale.

DAMO-YOLO#

Sviluppato da ricercatori di Alibaba Group, DAMO-YOLO è stato introdotto per ottimizzare sia la velocità sia la precisione tramite la ricerca automatizzata dell'architettura e la distillazione.

Scopri di più su DAMO-YOLO

YOLOv7#

Presentato come modello all'avanguardia a metà del 2022, YOLOv7 ha ulteriormente migliorato l'inferenza in tempo reale introducendo tecniche "bag-of-freebies" addestrabili senza aumentare i costi di implementazione.

Scopri di più su YOLOv7

Supporto Ultralytics

Ultralytics non pubblica pesi o file YAML di YOLOv7, quindi YOLOv7 non può essere addestrato in modo nativo con il pacchetto Ultralytics. I modelli YOLOv7 addestrati nel repository upstream possono essere esportati in ONNX o TensorRT ed eseguiti per l'inferenza con Ultralytics.

Innovazioni architetturali#

DAMO-YOLO: NAS e distillazione#

DAMO-YOLO integra diverse tecniche all'avanguardia mirate alla massima efficienza:

  • Backbone NAS: usa la ricerca dell'architettura neurale (NAS) per progettare automaticamente backbone ottimali (MAE-NAS), adattati agli ambienti in cui la latenza è fondamentale.
  • RepGFPN efficiente: una rete piramidale generalizzata delle caratteristiche modificata, che migliora notevolmente l'efficienza della fusione delle caratteristiche su più scale.
  • ZeroHead e AlignedOTA: integra una testa di rilevamento leggera e una strategia ottimizzata di assegnazione delle etichette (AlignedOTA) per ridurre il carico computazionale.
  • Miglioramento tramite distillazione: sfrutta ampiamente la distillazione della conoscenza durante l'addestramento per potenziare le prestazioni delle varianti più piccole del modello 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 dei percorsi dei gradienti e su strategie di addestramento robuste.

  • Architettura E-ELAN: la rete estesa ed efficiente di aggregazione degli strati consente al modello di apprendere caratteristiche più diversificate controllando i percorsi dei gradienti più brevi e più lunghi, garantendo una convergenza efficace dell'apprendimento.
  • Ridimensionamento del modello: introduce un metodo di ridimensionamento composto, adattato ai modelli basati sulla concatenazione, che ridimensiona simultaneamente profondità e larghezza per mantenere l'allineamento strutturale.
  • Bag-of-freebies addestrabili: utilizza tecniche come le convoluzioni riparametrizzate (RepConv) senza connessioni di identità e strategie dinamiche di assegnazione delle etichette, che aumentano la precisione durante l'addestramento senza influire sulla velocità di inferenza.

Analisi delle prestazioni#

Nel valutare la precisione media (mAP), la velocità e l'efficienza, entrambi i modelli mostrano metriche impressionanti, anche se si rivolgono a segmenti leggermente diversi. YOLOv7 si concentra soprattutto sulle implementazioni su GPU ad alta precisione, mentre le strutture di DAMO-YOLO derivate da NAS puntano a implementazioni aggressive a bassa latenza su CPU e dispositivi edge.

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 mostrano le metriche, DAMO-YOLO offre varianti estremamente leggere, come il modello tiny con appena 8,5 milioni di parametri, mentre YOLOv7 raggiunge un picco di precisione complessiva superiore: YOLOv7x ottiene l'impressionante risultato di 53,1 mAP sul dataset COCO.

I vantaggi dell’ecosistema Ultralytics#

Sebbene l'architettura teorica sia importante, la praticità di un modello dipende dal suo ecosistema. I modelli Ultralytics nativi come YOLO26 beneficiano di un ecosistema mantenuto con cura e di una semplicità d'uso senza pari.

  • Equilibrio delle prestazioni: i modelli Ultralytics trovano con costanza un compromesso ottimale tra velocità di inferenza e precisione del rilevamento, risultando ideali sia per i dispositivi edge sia per l'implementazione dei modelli nel cloud.
  • Requisiti di memoria: a differenza dei modelli più pesanti basati su Transformer, i modelli Ultralytics YOLO richiedono poca memoria CUDA durante l'addestramento. Questo consente di usare dimensioni di batch maggiori e semplifica il processo di addestramento anche su hardware di fascia consumer.
  • Versatilità: il framework Ultralytics va oltre il rilevamento degli oggetti e supporta attività come la segmentazione di istanze e la stima della posa, offrendo agli sviluppatori un toolkit completo per la visione artificiale.
Efficienza di addestramento

Il pacchetto Ultralytics consente di passare senza interruzioni dai dataset a un modello completamente addestrato in pochi minuti, sfruttando caricamento dei dati altamente ottimizzato e pesi preaddestrati.

Esempio di codice: eseguire YOLOv7 con Ultralytics#

Dopo aver convertito un'esportazione ONNX upstream di YOLOv7 come descritto negli esempi di utilizzo di YOLOv7, puoi eseguirla con l'API Python di Ultralytics.

from ultralytics import YOLO

# Carica un modello ONNX di YOLOv7 convertito per Ultralytics
model = YOLO("yolov7-ultralytics.onnx", task="detect")

# Esegui l'inferenza
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)

Il nuovo standard: ecco YOLO26#

YOLOv7 e DAMO-YOLO hanno rappresentato importanti progressi nel 2022, ma il settore dell'IA per la visione evolve rapidamente. Per i team che avviano nuovi progetti oggi, il modello consigliato è l'avanzato Ultralytics YOLO26, rilasciato a gennaio 2026.

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

  • Design end-to-end senza NMS: YOLO26 offre una testa end-to-end nativa (nms=False). Eliminando la post-elaborazione della soppressione dei massimi non locali (NMS), consente una logica di implementazione più semplice e veloce: un cambio di paradigma introdotto inizialmente 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 molto stabili e tassi di convergenza notevolmente più rapidi.
  • Inferenza su CPU fino al 43% più veloce: grazie alla rimozione mirata della Distribution Focal Loss (DFL) e a importanti miglioramenti strutturali, YOLO26 è fortemente ottimizzato per l'edge computing a basso consumo e supera le generazioni precedenti sull'hardware senza GPU.
  • ProgLoss + STAL: integra nuove funzioni di perdita avanzate, mirate esplicitamente a migliorare il riconoscimento degli oggetti piccoli, una capacità essenziale per applicazioni di immagini aeree, robotica e monitoraggio della sicurezza.
  • Miglioramenti specifici per attività: oltre al rilevamento standard, YOLO26 introduce miglioramenti mirati per diverse attività, tra cui la prototipazione multi-scala per la segmentazione, RLE per la stima della posa e funzioni di perdita angolare specifiche per i riquadri delimitatori orientati (OBB).

Casi d'uso ideali#

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

Quando scegliere DAMO-YOLO:

  • Lavori in ambienti edge fortemente vincolati e con risorse limitate, in cui il numero grezzo di parametri deve essere estremamente basso (ad esempio, sui microcontrollori).
  • Utilizzi pipeline di machine learning automatizzato integrate appositamente 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 i veicoli autonomi ad alta velocità o la robotica avanzata.

Quando scegliere YOLO26 (consigliato):

  • Stai sviluppando da zero una nuova applicazione di visione artificiale e hai bisogno di soluzioni all'avanguardia sia in termini di precisione sia di velocità di inferenza su CPU e dispositivi edge.
  • Hai bisogno di una distribuzione rapida e senza interruzioni, ad esempio esportando in CoreML o TensorRT, senza dover gestire i vincoli degli operatori NMS.
  • Vuoi sfruttare appieno le funzionalità della Ultralytics Platform per l'addestramento nel cloud, la gestione dei dataset e la distribuzione automatizzata.

Sfruttando il solido ecosistema di modelli Ultralytics, gli sviluppatori possono ridurre drasticamente i tempi di progettazione e ottenere prestazioni predittive di alto livello nelle applicazioni del mondo reale.

Commenti