Ultralytics YOLO27:

YOLOv10 vs DAMO-YOLO#

Quando si sviluppano pipeline moderne di visione artificiale, scegliere la giusta architettura per il rilevamento degli oggetti in tempo reale è fondamentale. In questa analisi tecnica completa, esaminiamo le architetture, le metriche di prestazione e i casi d'uso ideali di YOLOv10 e DAMO-YOLO. Entrambi i modelli rappresentano importanti progressi nelle capacità di rilevamento degli oggetti, ma seguono percorsi architetturali diversi per raggiungere i propri obiettivi.

Che il tuo progetto richieda l'implementazione su hardware edge AI con risorse limitate o la massima accuratezza su GPU cloud, comprendere le sfumature di queste architetture ti aiuterà a prendere una decisione consapevole.

Alla scoperta di YOLOv10#

Introdotto dai ricercatori della Tsinghua University, YOLOv10 ha rivoluzionato la famiglia YOLO introducendo un approccio nativamente end-to-end, eliminando di fatto la necessità della soppressione non massima (NMS) durante la post-elaborazione.

Dettagli su YOLOv10:

Caratteristiche architetturali principali#

L'innovazione principale di YOLOv10 è la strategia Consistent Dual Assignments per l'addestramento senza NMS. I rilevatori di oggetti tradizionali fanno ampio affidamento sulla NMS per filtrare i riquadri delimitatori sovrapposti, introducendo una latenza imprevedibile, un collo di bottiglia significativo per applicazioni in tempo reale come i veicoli autonomi e la robotica ad alta velocità. Predicendo direttamente un singolo riquadro delimitatore ottimale per ogni oggetto, YOLOv10 raggiunge un'inferenza con latenza ultra-bassa e prevedibile.

Inoltre, il modello utilizza un Holistic Efficiency-Accuracy Driven Design. L'architettura ottimizza diversi componenti, tra cui una testa di classificazione leggera e un downsampling disaccoppiato tra spazio e canali, riducendo significativamente la ridondanza computazionale. Il risultato è un'architettura con un numero inferiore di parametri e meno FLOPs, pur mantenendo una precisione media (mAP) competitiva.

Esportazione semplificata per la produzione

Poiché YOLOv10 rimuove le operazioni NMS dal grafo di inferenza, esportare il modello in formati come ONNX o TensorRT è molto più semplice, rendendolo particolarmente adatto alle implementazioni edge.

Scopri di più su YOLOv10

Esempio di utilizzo#

YOLOv10 è profondamente integrato nell'ecosistema Ultralytics, il che lo rende incredibilmente facile da utilizzare tramite il pacchetto Python di Ultralytics.

from ultralytics import YOLO

# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")

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

# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to TensorRT format
model.export(format="engine", quantize=16)

Alla scoperta di DAMO-YOLO#

Sviluppato da Alibaba Group, DAMO-YOLO si concentra sulla scoperta di strutture di rete altamente efficienti attraverso la ricerca automatizzata dell'architettura neurale (NAS), con l'obiettivo di spingere la frontiera di Pareto tra velocità e accuratezza.

Dettagli di DAMO-YOLO:

Caratteristiche architetturali principali#

DAMO-YOLO introduce diverse tecnologie innovative ottimizzate per applicazioni industriali. La base del modello è costituita dal MAE-NAS Backbone, generato tramite una ricerca guidata dall'entropia massima. Questo processo automatizzato individua strutture di dorsale che rispettano rigorosamente budget computazionali predefiniti, trovando un perfetto equilibrio tra precisione e latenza di inferenza.

Inoltre, l'architettura utilizza un neck Efficient RepGFPN. Questa rete piramidale di caratteristiche è progettata per migliorare la fusione delle caratteristiche a diverse scale, un aspetto fondamentale per attività complesse come l'analisi di immagini aeree, in cui le dimensioni degli oggetti variano drasticamente. A complemento di ciò, DAMO-YOLO implementa un ZeroHead, una testa di rilevamento minimalista che riduce drasticamente la complessità dei livelli finali di predizione, risparmiando tempo di calcolo prezioso durante l'inferenza.

Confronto delle prestazioni#

Quando si valutano le architetture per il rilevamento degli oggetti, trovare il giusto compromesso tra velocità di inferenza, efficienza dei parametri e accuratezza del rilevamento è fondamentale. La tabella seguente confronta le prestazioni di YOLOv10 e DAMO-YOLO nelle rispettive dimensioni dei modelli.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
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

Come osservato nei benchmark, YOLOv10 offre costantemente profili di latenza eccezionali su TensorRT, in particolare nella variante nano, richiedendo un numero significativamente inferiore di parametri e FLOPs rispetto ai modelli comparabili di DAMO-YOLO. Sebbene DAMO-YOLO offra un mAP elevato nella variante tiny, l'efficienza dei parametri e la latenza di inferenza della famiglia YOLOv10 forniscono un vantaggio distintivo negli ambienti di implementazione con risorse limitate.

Casi d'uso e raccomandazioni#

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

Quando scegliere YOLOv10#

YOLOv10 è una scelta ottimale 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 accuratezza: progetti che richiedono un equilibrio efficace tra velocità di inferenza e accuratezza del rilevamento su diverse dimensioni del modello.
  • Applicazioni a latenza coerente: scenari di distribuzione in cui sono fondamentali tempi di inferenza prevedibili, come la robotica o i sistemi autonomi.

Quando scegliere DAMO-YOLO#

DAMO-YOLO è consigliato per:

  • Analisi video ad alta produttività: Elaborazione di flussi video ad alto FPS su infrastrutture GPU NVIDIA fisse, dove la produttività con batch-1 è la metrica principale.
  • Linee di produzione industriale: Scenari con rigorosi vincoli di latenza GPU su hardware dedicato, come l'ispezione della qualità in tempo reale sulle linee di assemblaggio.
  • Ricerca sulla ricerca dell'architettura neurale: Studio degli effetti della ricerca automatizzata dell'architettura (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 migliore combinazione di prestazioni ed esperienza per gli sviluppatori:

  • Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
  • Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.

Il vantaggio di Ultralytics#

Sebbene entrambi i modelli siano tecnicamente impressionanti, scegliere un'architettura per la produzione richiede di guardare oltre le metriche grezze. Sviluppare con modelli supportati nativamente dall'ecosistema Ultralytics offre vantaggi ineguagliabili sia agli sviluppatori sia ai ricercatori.

Facilità d'uso ed ecosistema ben mantenuto#

A differenza dei repository accademici indipendenti, che spesso vengono abbandonati, Ultralytics offre un ecosistema solido e mantenuto attivamente. Configurare ambienti complessi per modelli che dipendono fortemente da pipeline NAS può essere impegnativo. Al contrario, Ultralytics offre un'API Python standardizzata e intuitiva e una potente CLI, supportate da un'ampia documentazione. Questo riduce drasticamente il time-to-market per soluzioni di visione personalizzate.

Efficienza dell'addestramento e requisiti di memoria#

L'addestramento di modelli di grandi dimensioni può diventare rapidamente costoso in termini computazionali. Le architetture YOLO di Ultralytics sono note da tempo per il ridotto consumo di memoria CUDA durante l'addestramento e l'inferenza. Questa efficienza consente agli sviluppatori di addestrare modelli su hardware di livello consumer o su istanze cloud convenienti, senza incorrere in errori di memoria esaurita, comuni quando si lavora con modelli basati su Transformer come RT-DETR.

Monitoraggio degli esperimenti

Ultralytics si integra nativamente con i principali strumenti MLOps. Puoi monitorare facilmente i progressi dell'addestramento del tuo modello utilizzando le integrazioni con Weights & Biases, Comet o ClearML, senza aggiungere alcun codice boilerplate.

Versatilità tra le attività#

Una limitazione significativa di molti modelli di rilevamento specializzati è il loro ambito ristretto. Nell'ecosistema Ultralytics non sei limitato al solo rilevamento degli oggetti. Gli strumenti si estendono perfettamente a molteplici attività di visione artificiale, tra cui la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e il rilevamento di riquadri delimitatori orientati (OBB).

Uno sguardo al futuro: l'evoluzione di YOLO26#

Mentre YOLOv10 ha aperto la strada all'inferenza senza NMS e DAMO-YOLO ha dimostrato la potenza del NAS, il campo della visione artificiale evolve rapidamente. Agli sviluppatori che cercano la soluzione all'avanguardia definitiva consigliamo di dare un'occhiata a Ultralytics YOLO26.

Rilasciato come successore definitivo di YOLO11, YOLO26 si basa sulle fondamenta senza NMS gettate da YOLOv10, ma le porta molto più avanti.

I principali progressi di YOLO26 includono:

  • Inferenza su CPU fino al 43% più veloce: ottimizzata specificamente per l'edge computing e i dispositivi a basso consumo.
  • Rimozione di DFL: la Distribution Focal Loss è stata rimossa, garantendo esportazioni più semplici e una compatibilità migliorata con diversi target di implementazione.
  • Ottimizzatore MuSGD: una combinazione di SGD e Muon, che porta direttamente nella visione artificiale una stabilità avanzata dell'addestramento degli LLM e una convergenza più rapida.
  • ProgLoss + STAL: funzioni di loss notevolmente migliorate, che offrono significativi progressi nel riconoscimento degli oggetti piccoli, essenziale per casi d'uso come l'agricoltura e il telerilevamento.

Utilizzando la nuova Ultralytics Platform, gli sviluppatori possono annotare, addestrare e implementare senza difficoltà modelli di nuova generazione come YOLO26 in pochi clic, garantendo che la tua pipeline di visione artificiale sia all'avanguardia e pronta per il futuro.

Commenti