Ultralytics YOLO27:
Get Started

DAMO-YOLO vs YOLOv10#

Il campo della computer vision ha assistito a una rapida evoluzione delle architetture di rilevamento di oggetti in tempo reale. Confrontando DAMO-YOLO e YOLOv10, si osservano due filosofie distinte nella progettazione dei modelli: ricerca automatizzata dell'architettura e ottimizzazione end-to-end senza NMS. Sebbene entrambi spingano oltre i limiti di accuratezza e velocità, le loro strutture di base e i casi d'uso ideali differiscono notevolmente.

DAMO-YOLO: ricerca di architetture neurali su larga scala#

Sviluppato da Alibaba Group, DAMO-YOLO è emerso come un potente rilevatore, incentrato sull'uso della scoperta automatizzata per ottenere efficienza strutturale.

Punti salienti dell'architettura#

DAMO-YOLO si affida in larga misura alla ricerca dell'architettura neurale (NAS) per bilanciare prestazioni e latenza. Il suo backbone, denominato MAE-NAS, usa una ricerca guidata dalla massima entropia con rigidi limiti computazionali per individuare la profondità e la larghezza ottimali dei layer.

Per gestire la fusione delle caratteristiche tra le diverse scale, il modello usa un RepGFPN efficiente (rete piramidale generalizzata delle caratteristiche riparametrizzata). Questo design con neck pesante è particolarmente adatto a estrarre gerarchie spaziali complesse, risultando utile in scenari come l'analisi di immagini aeree. DAMO-YOLO introduce inoltre ZeroHead, una testa di rilevamento snella che riduce notevolmente la complessità dei layer di predizione finali e si affida a un robusto processo di potenziamento tramite distillazione durante l'addestramento.

Addestramento con distillazione

DAMO-YOLO utilizza spesso un processo di distillazione della conoscenza in più fasi. Richiede l'addestramento di un modello "teacher" più grande per guidare il modello "student" più piccolo, che estrae un mAP (precisione media) più elevato, ma aumenta notevolmente il tempo necessario per il calcolo su GPU.

Scopri di più su DAMO-YOLO

YOLOv10: pioniere del rilevamento degli oggetti end-to-end#

Rilasciato un anno e mezzo dopo, YOLOv10 ha introdotto un cambio di paradigma eliminando completamente la necessità della soppressione dei massimi locali (NMS) durante l'inferenza.

Punti salienti dell'architettura#

La caratteristica distintiva di YOLOv10 è l'uso di assegnazioni duali coerenti per l'addestramento senza NMS. I rilevatori tradizionali prevedono più riquadri di delimitazione sovrapposti per un singolo oggetto, rendendo necessaria la NMS per filtrare i duplicati. Questa fase di post-elaborazione crea un collo di bottiglia, soprattutto sui dispositivi edge. YOLOv10 risolve il problema consentendo al modello di prevedere naturalmente un unico riquadro di delimitazione accurato per ogni oggetto.

Gli autori si sono inoltre concentrati su una progettazione del modello basata su un approccio olistico all'efficienza e all'accuratezza. Analizzando attentamente la ridondanza computazionale nelle architetture esistenti, hanno ottimizzato backbone e testa per ridurre il numero di FLOPs e parametri. Questo design leggero garantisce a YOLOv10 una latenza di inferenza eccezionale quando viene esportato in formati come TensorRT o OpenVINO.

Scopri di più su YOLOv10

Prestazioni e benchmark#

La tabella seguente illustra le metriche di prestazione grezze sul dataset COCO. I migliori valori complessivi di ogni colonna sono evidenziati in grassetto.

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
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

DAMO-YOLO mantiene buone prestazioni in termini di accuratezza, ma YOLOv10 offre una maggiore accuratezza a scale comparabili e pesi del modello notevolmente più ridotti. Per esempio, YOLOv10s raggiunge un mAP leggermente superiore a DAMO-YOLOs (46,3% contro 46,0%) usando meno della metà dei parametri (7,2M contro 16,3M). I minori requisiti di memoria rendono YOLOv10 una scelta eccezionalmente versatile per i sistemi embedded.

Efficienza e usabilità dell'addestramento#

Nel passaggio dalla ricerca accademica alla produzione, la facilità d'uso è fondamentale. Il processo di distillazione in più fasi e le complesse configurazioni NAS di DAMO-YOLO possono comportare una curva di apprendimento ripida per i team di ingegneria.

Al contrario, YOLOv10 trae notevoli vantaggi dalla completa integrazione nell'SDK Python Ultralytics. L'addestramento di un modello personalizzato richiede pochissimo codice boilerplate. Ultralytics gestisce automaticamente l'aumento dei dati, la regolazione degli iperparametri e il monitoraggio degli esperimenti.

from ultralytics import YOLO

# Carica un modello nano YOLOv10 preaddestrato
model = YOLO("yolov10n.pt")

# Addestra su un dataset personalizzato con validazione integrata
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Esegui l'inferenza su un'immagine senza complicazioni
prediction = model("path/to/image.jpg")
prediction[0].show()
Prototipazione rapida

L'ecosistema Ultralytics consente agli sviluppatori di passare da un prototipo a un modello ONNX esportato completo con poche righe di codice, evitando le complesse configurazioni degli ambienti richieste dai framework meno recenti.

Casi d’uso nel mondo reale#

  • Retail intelligente (DAMO-YOLO): l'accuratezza di DAMO-YOLO è adatta agli ambienti server ad alta densità che analizzano il comportamento dei clienti, dove le GPU sono abbondanti e i colli di bottiglia della NMS in tempo reale sono gestibili.
  • Veicoli autonomi (YOLOv10): l'architettura senza NMS garantisce una latenza deterministica e prevedibile, fondamentale per i sistemi di sicurezza della guida autonoma.
  • Automazione industriale (YOLOv10): il rilevamento dei difetti sulle linee di assemblaggio veloci richiede modelli che massimizzino la velocità di inferenza in tempo reale senza consumare enormi quantità di VRAM, rendendo YOLOv10 un candidato ideale per la distribuzione edge.

Casi d'uso e consigli#

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

Quando scegliere DAMO-YOLO#

DAMO-YOLO è un'ottima scelta 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 YOLOv10#

YOLOv10 è consigliato per:

  • Rilevamento in tempo reale senza NMS: applicazioni che traggono vantaggio dal rilevamento end-to-end senza soppressione non massima, riducendo la complessità della distribuzione.
  • Compromesso equilibrato tra velocità e precisione: progetti che richiedono un buon equilibrio tra velocità di inferenza e precisione di rilevamento con modelli di diverse dimensioni.
  • Applicazioni con latenza costante: scenari di distribuzione in cui i tempi di inferenza prevedibili sono fondamentali, ad esempio nella robotica o nei sistemi autonomi.

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 inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
  • Ambienti con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.

La prossima generazione: arriva Ultralytics YOLO26#

YOLOv10 ha gettato le basi per il rilevamento senza NMS, ma la tecnologia si è evoluta rapidamente. Per le applicazioni moderne, il modello Ultralytics YOLO26 offre prestazioni e usabilità senza pari, riprendendo gli aspetti migliori delle generazioni precedenti e perfezionandoli per la produzione.

YOLO26 offre una modalità end-to-end nativa (nms=False) che salta la post-elaborazione con NMS, semplificando le pipeline di distribuzione sui dispositivi edge. Inoltre, l'eliminazione della Distribution Focal Loss (DFL) ha migliorato notevolmente la compatibilità con l'hardware edge AI a basso consumo.

Per quanto riguarda l'addestramento, YOLO26 introduce l'ottimizzatore MuSGD, un ibrido ispirato alle tecniche di addestramento dei modelli linguistici di grandi dimensioni (LLM). Questo garantisce un addestramento più stabile e una convergenza più rapida. Insieme alle funzioni di loss ProgLoss + STAL, YOLO26 mostra notevoli miglioramenti nel riconoscimento di oggetti piccoli, una caratteristica fondamentale per la conservazione della fauna selvatica e le operazioni con droni.

È importante sottolineare che YOLO26 non è solo un rilevatore di oggetti. Offre miglioramenti specifici per ogni attività e supporta nativamente la segmentazione di istanze, la stima della posa mediante la stima residua della log-verosimiglianza (RLE) e funzioni di loss angolari specializzate per i riquadri di delimitazione orientati (OBB). Con un'inferenza su CPU fino al 43% più veloce rispetto ai predecessori, è la scelta definitiva per i team di ingegneria agili.

Per la gestione centralizzata, l'annotazione e l'addestramento in cloud dei modelli YOLO26, la Ultralytics Platform offre un'interfaccia intuitiva che semplifica l'intero ciclo di vita della computer vision.

Gli sviluppatori interessati a esplorare altri progressi recenti possono valutare anche Ultralytics YOLO11 o il framework RT-DETR basato su Transformer per gli scenari che richiedono soluzioni architetturali diverse.

Commenti