Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Get Started

YOLOv8 vs DAMO-YOLO#

Il panorama della visione artificiale è in continua evoluzione, con nuove architetture che ampliano le possibilità sui dispositivi edge e nei grandi cluster cloud. Questo confronto tecnico esamina due importanti modelli di rilevamento di oggetti in tempo reale: YOLOv8 e DAMO-YOLO. Analizzando architetture, metriche di prestazione e metodologie di addestramento, gli ingegneri ML possono prendere decisioni consapevoli per le proprie pipeline di distribuzione.

Origini e contesto dei modelli#

Entrambi i modelli sono stati introdotti più o meno nello stesso periodo, ma derivano da filosofie progettuali e obiettivi di ricerca differenti.

Dettagli su YOLOv8#

Dettagli su DAMO-YOLO#

Scopri di più su DAMO-YOLO

Innovazioni architetturali#

YOLOv8: architettura versatile senza anchor#

Ultralytics YOLOv8 ha introdotto miglioramenti significativi rispetto ai predecessori ed è diventato un modello affidabile e ampiamente adottato. La sua testa di rilevamento senza anchor riduce il numero di previsioni delle box e accelera l'inferenza. L'architettura usa una testa disaccoppiata, che separa le attività di classificazione e regressione e produce previsioni delle bounding box più accurate.

Inoltre, YOLOv8 implementa la Distribution Focal Loss (DFL) insieme alla perdita CIoU, migliorando la capacità del modello di localizzare con precisione i confini degli oggetti, soprattutto quelli piccoli o occlusi. Il backbone semplificato è ottimizzato sia per l'esecuzione su GPU sia su CPU.

DAMO-YOLO adotta un approccio diverso e si basa ampiamente sulla ricerca di architetture neurali (NAS) per progettare automaticamente il proprio backbone. Il team Alibaba ha introdotto "MAE-NAS" per individuare strutture che offrano il compromesso ottimale tra latenza e accuratezza, in particolare con l'accelerazione TensorRT.

Il modello integra RepGFPN (Reparameterized Generalized Feature Pyramid Network) per fondere le caratteristiche in modo efficiente e una progettazione "ZeroHead" per ridurre al minimo il carico computazionale della testa di rilevamento. Durante l'addestramento utilizza AlignedOTA per l'assegnazione delle etichette e si affida a un complesso processo di distillazione della conoscenza, che richiede un modello insegnante più grande per supervisionare il modello studente di destinazione.

Complessità dell'addestramento

Sebbene DAMO-YOLO raggiunga buoni risultati in termini di latenza grazie a NAS e distillazione, la distillazione richiede in genere più memoria CUDA e tempo di calcolo durante l'addestramento rispetto alla pipeline di addestramento a singolo stadio di YOLOv8.

Prestazioni e metriche#

Quando distribuisci modelli di visione artificiale in produzione, è fondamentale bilanciare la precisione (mAP) e la velocità di inferenza. La tabella seguente illustra le prestazioni dei due modelli nelle diverse dimensioni.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
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

Tra i modelli più piccoli, DAMO-YOLOt e DAMO-YOLOs raggiungono una mAP superiore a YOLOv8n e YOLOv8s, ma usano più parametri; dalle dimensioni medie in su, YOLOv8 offre un'accuratezza maggiore. YOLOv8n (nano) richiede solo 3,2 milioni di parametri, contro gli 8,5 milioni di DAMO-YOLOt, risultando più adatto ai dispositivi mobili o agli ambienti con limiti di memoria stringenti. YOLOv8 offre inoltre una gamma più ampia di dimensioni, fino a YOLOv8x, il modello più accurato di questo confronto, per i carichi di lavoro basati sul cloud.

Esperienza per gli sviluppatori ed ecosistema#

Facilità d'uso ed efficienza dell'addestramento#

Uno dei fattori di differenziazione più importanti è l'esperienza utente. L'ecosistema Ultralytics è progettato per accelerare lo sviluppo. L'addestramento di un modello YOLOv8 personalizzato richiede quantità moderate di memoria e avviene tramite un'API Python unificata o un'interfaccia a riga di comando.

Riprodurre l'addestramento di DAMO-YOLO basato sulla distillazione richiede invece spesso di destreggiarsi tra file di configurazione complessi e gestire il tracciamento degli esperimenti in più fasi con modelli insegnante e studente.

L'esempio seguente addestra ed esporta YOLOv8 usando Python:

from ultralytics import YOLO

# Carica un modello YOLOv8 nano preaddestrato
model = YOLO("yolov8n.pt")

# Addestra il modello sul dataset COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")

# Esporta il modello addestrato in formato ONNX
path = model.export(format="onnx")

Versatilità nelle attività di visione#

DAMO-YOLO è progettato esclusivamente per il rilevamento di oggetti tramite bounding box. L'architettura YOLOv8, invece, supporta nativamente più attività. Sostituendo i pesi del modello, gli sviluppatori possono eseguire la segmentazione di istanze, la classificazione di immagini e la stima della posa senza modificare il codice di distribuzione sottostante, rendendo i modelli Ultralytics più pratici per le applicazioni multi-task.

Casi d’uso nel mondo reale#

Quando usare YOLOv8#

La combinazione di velocità, precisione e facilità di distribuzione di YOLOv8 lo rende ideale per:

  • Analisi per il commercio al dettaglio intelligente: usare il tracciamento degli oggetti per monitorare il comportamento dei clienti o automatizzare il controllo delle scorte.
  • Robotica agricola: sfruttare le prestazioni elevate su hardware eterogeneo per identificare colture o parassiti in tempo reale.
  • Diagnostica sanitaria: usare la segmentazione delle istanze per mappare anomalie nelle immagini mediche in modo rapido e preciso.
  • Distribuzioni edge: l'esportazione integrata in formati come OpenVINO e CoreML rende YOLOv8 adatto ai dispositivi con risorse limitate.

Quando usare DAMO-YOLO#

DAMO-YOLO può essere utile in scenari specifici, in particolare:

  • Ricerca accademica sulla NAS: per i team che studiano la riparametrizzazione o le metodologie di progettazione automatizzata delle architetture.
  • Pipeline strettamente vincolate dalla GPU: applicazioni eseguite esclusivamente su hardware NVIDIA specifico, in cui le strutture progettate con NAS sono state ottimizzate per l'esecuzione con TensorRT.

Casi d'uso e consigli#

La scelta tra YOLOv8 e DAMO-YOLO dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle preferenze relative all'ecosistema.

Quando scegliere YOLOv8#

YOLOv8 è un'ottima scelta per:

  • Deployment versatile multi-attività: progetti che richiedono un modello collaudato per il rilevamento, la segmentazione, la classificazione e la stima della posa nell'ecosistema Ultralytics.
  • Sistemi di produzione consolidati: ambienti di produzione esistenti già basati sull’architettura YOLOv8, con pipeline di distribuzione stabili e ben testate.
  • Ampio supporto della community e dell’ecosistema: applicazioni che traggono vantaggio dagli estesi tutorial di YOLOv8, dalle integrazioni di terze parti e dalle risorse della community attiva.

Quando scegliere DAMO-YOLO#

DAMO-YOLO è consigliato per:

  • Analisi video ad alto throughput: elaborazione di flussi video ad alto FPS su infrastrutture GPU NVIDIA fisse, dove il throughput con batch di dimensione 1 è la metrica principale.
  • Linee di produzione industriale: scenari con rigidi vincoli di latenza GPU su hardware dedicato, come l'ispezione della qualità in tempo reale sulle linee di assemblaggio.
  • Ricerca sulla ricerca di architetture neurali: studio degli effetti della ricerca automatizzata delle architetture (MAE-NAS) e dei backbone efficienti riparametrizzati sulle prestazioni di rilevamento.

Quando scegliere Ultralytics (YOLO26)#

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore di prestazioni ed esperienza per gli sviluppatori:

  • Distribuzione edge senza NMS: applicazioni che richiedono un’inferenza costante e a bassa latenza, senza la complessità della post-elaborazione con Non-Maximum Suppression (NMS).
  • Ambienti senza GPU: Dispositivi privi di accelerazione GPU dedicata, sui quali l’inferenza CPU di YOLO26n, fino al 43% più veloce di YOLO11n, offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari impegnativi come le immagini aeree da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti minuscoli.

Uno sguardo al futuro: i modelli Ultralytics più recenti#

YOLOv8 rimane uno strumento affidabile, ma il settore della visione artificiale evolve rapidamente, quindi è opportuno considerare anche le generazioni più recenti:

YOLO26: l'ultima generazione, Ultralytics YOLO26, introduce una progettazione nativa end-to-end senza NMS (nms=False) che elimina la latenza della post-elaborazione NMS. L'ottimizzatore MuSGD (un ibrido di SGD e Muon) stabilizza l'addestramento, mentre ProgLoss + STAL (perdita progressiva e assegnazione delle etichette consapevole degli oggetti piccoli) migliorano il rilevamento degli oggetti di piccole dimensioni. Grazie alla rimozione di DFL (Distribution Focal Loss), che semplifica l'esportazione e migliora la compatibilità con i dispositivi edge e a basso consumo, YOLO26n offre un'inferenza CPU fino al 43% più veloce di YOLO11n, risultando un'ottima scelta per l'edge computing.

YOLO11: Ultralytics YOLO11 perfeziona l'architettura di YOLOv8 ed è ancora ampiamente adottato dalla community.

Semplifica il tuo flusso di lavoro

Per portare i modelli dal prototipo alla produzione, usa Ultralytics Platform per annotare automaticamente i dataset, monitorare gli esperimenti e distribuire i modelli sul cloud o su dispositivi edge.

In conclusione, sebbene DAMO-YOLO offra spunti di ricerca utili sull'esplorazione delle architetture, i modelli Ultralytics forniscono un ecosistema più maturo, versatile e adatto agli sviluppatori. Che tu scelga di restare su YOLOv8 o di passare all'architettura YOLO26 senza NMS, Ultralytics offre un toolkit completo per l'IA visiva in tempo reale.

Commenti