Link to this sectionYOLOv10 vs DAMO-YOLO#
Quando costruisci moderne pipeline di computer vision, scegliere l'architettura di rilevamento oggetti in tempo reale corretta è fondamentale. In questa analisi tecnica completa, esploriamo le architetture, le metriche di prestazione e i casi d'uso ideali per YOLOv10 e DAMO-YOLO. Entrambi i modelli rappresentano passi significativi nelle capacità di rilevamento oggetti, ma percorrono strade architetturali diverse per raggiungere i propri obiettivi.
Indipendentemente dal fatto che il tuo progetto richieda l'implementazione su hardware edge AI limitato o richieda la massima precisione su GPU cloud, comprendere le sfumature di queste architetture ti aiuterà a prendere una decisione informata.
Link to this sectionEsplorazione di YOLOv10#
Introdotto dai ricercatori della Tsinghua University, YOLOv10 ha rivoluzionato la famiglia YOLO introducendo un approccio nativamente end-to-end, eliminando efficacemente la necessità della Non-Maximum Suppression (NMS) durante la post-elaborazione.
Dettagli di YOLOv10:
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione: Tsinghua University
- Data: 23-05-2024
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Documentazione: https://docs.ultralytics.com/models/yolov10/
Link to this sectionCaratteristiche architetturali chiave#
L'innovazione principale di YOLOv10 è la sua strategia di Consistent Dual Assignments per l'addestramento senza NMS. I rilevatori di oggetti tradizionali si affidano pesantemente alla NMS per filtrare i bounding box sovrapposti, il che introduce una latenza imprevedibile: un collo di bottiglia significativo per applicazioni in tempo reale come veicoli autonomi e robotica ad alta velocità. Prevedendo direttamente un singolo bounding box ottimale per oggetto, YOLOv10 ottiene un'inferenza prevedibile e a bassissima latenza.
Inoltre, il modello impiega un design Holistic Efficiency-Accuracy Driven Design. L'architettura ottimizza vari componenti, inclusi una head di classificazione leggera e il downsampling disaccoppiato spazio-canale, che riduce significativamente la ridondanza computazionale. Ciò si traduce in un'architettura che vanta un numero inferiore di parametri e meno FLOP pur mantenendo una mean Average Precision (mAP) competitiva.
Link to this sectionEsempio di utilizzo#
YOLOv10 è profondamente integrato nell'ecosistema Ultralytics, rendendolo incredibilmente facile da usare 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)Link to this sectionEsplorazione di DAMO-YOLO#
Sviluppato da Alibaba Group, DAMO-YOLO si concentra sulla scoperta di strutture di rete altamente efficienti attraverso la Neural Architecture Search (NAS) automatizzata, con l'obiettivo di spingere la frontiera di Pareto di velocità e precisione.
Dettagli di DAMO-YOLO:
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organizzazione: Alibaba Group
- Data: 23-11-2022
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Link to this sectionCaratteristiche architetturali chiave#
DAMO-YOLO introduce diverse tecnologie innovative su misura per applicazioni industriali. Il fondamento del modello è il suo backbone MAE-NAS, generato tramite una ricerca evolutiva multi-obiettivo. Questo processo automatizzato scopre strutture di backbone che aderiscono rigorosamente a budget computazionali predefiniti, trovando un equilibrio ottimale tra precisione e latenza di inferenza.
Inoltre, l'architettura utilizza un neck Efficient RepGFPN. Questa feature pyramid network è progettata per migliorare la fusione delle caratteristiche tra diverse scale, il che è critico per compiti complessi come l'analisi delle immagini aeree dove gli oggetti variano drasticamente in dimensioni. Per completare questo aspetto, DAMO-YOLO implementa una ZeroHead, una head di rilevamento minimalista che riduce drasticamente la complessità degli strati di previsione finale, risparmiando tempo di calcolo prezioso durante l'inferenza.
Link to this sectionConfronto delle Prestazioni#
Quando si valutano le architetture di rilevamento oggetti, trovare il giusto compromesso tra velocità di inferenza, efficienza dei parametri e precisione di rilevamento è fondamentale. La tabella sottostante confronta le prestazioni di YOLOv10 e DAMO-YOLO attraverso le loro rispettive dimensioni del modello.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
Come osservato nei benchmark, YOLOv10 offre costantemente profili di latenza eccezionali su TensorRT, in particolare nella sua variante nano, richiedendo molti meno parametri e FLOP rispetto ai modelli comparabili di DAMO-YOLO. Sebbene DAMO-YOLO offra una solida mAP nella sua variante tiny, l'efficienza dei parametri e la latenza di inferenza della famiglia YOLOv10 forniscono un vantaggio distinto per ambienti di implementazione limitati.
Link to this sectionCasi d'uso e raccomandazioni#
Scegliere tra YOLOv10 e DAMO-YOLO dipende dai requisiti specifici del tuo progetto, dai vincoli di implementazione e dalle preferenze dell'ecosistema.
Link to this sectionQuando scegliere YOLOv10#
YOLOv10 è un'ottima scelta per:
- Rilevamento in tempo reale senza NMS: Applicazioni che traggono vantaggio dal rilevamento end-to-end senza Non-Maximum Suppression, riducendo la complessità di distribuzione.
- Compromessi bilanciati tra velocità e precisione: Progetti che richiedono un ottimo equilibrio tra velocità di inferenza e precisione di rilevamento su diverse scale di modello.
- Applicazioni a latenza costante: Scenari di distribuzione in cui tempi di inferenza prevedibili sono fondamentali, come nella robotica o nei sistemi autonomi.
Link to this sectionQuando scegliere DAMO-YOLO#
DAMO-YOLO è raccomandato per:
- Video Analytics ad alto throughput: Elaborazione di flussi video ad alto FPS su infrastruttura GPU NVIDIA fissa dove il throughput batch-1 è la metrica principale.
- Linee di produzione industriale: Scenari con rigorosi vincoli di latenza GPU su hardware dedicato, come l'ispezione di qualità in tempo reale sulle linee di assemblaggio.
- Ricerca sulla Neural Architecture Search: Studiare gli effetti della ricerca automatizzata dell'architettura (MAE-NAS) e delle efficienti backbone riparametrizzate sulle prestazioni di rilevamento.
Link to this sectionQuando scegliere Ultralytics (YOLO26)#
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza per gli sviluppatori:
- Implementazione Edge senza NMS: Applicazioni che richiedono un'inferenza costante e a bassa latenza senza la complessità della post-elaborazione della soppressione dei non massimi.
- Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza CPU fino al 43% più veloce di YOLO26 fornisce un vantaggio decisivo.
- Rilevamento di oggetti piccoli: Scenari impegnativi come immagini di droni aerei o analisi di sensori IoT in cui ProgLoss e STAL aumentano significativamente la precisione su oggetti minuscoli.
Link to this sectionIl vantaggio di Ultralytics#
Sebbene entrambi i modelli siano tecnicamente impressionanti, scegliere un'architettura per la produzione comporta guardare oltre le metriche grezze. Costruire con modelli supportati nativamente dall'ecosistema Ultralytics offre vantaggi senza pari sia per gli sviluppatori che per i ricercatori.
Link to this sectionFacilità d'uso ed ecosistema ben mantenuto#
A differenza dei repository accademici indipendenti che spesso vengono abbandonati, Ultralytics offre un ecosistema robusto e attivamente mantenuto. Configurare ambienti complessi per modelli che si basano pesantemente su pipeline NAS può essere scoraggiante. Al contrario, Ultralytics fornisce un'API Python standardizzata e intuitiva e un potente CLI, supportati da un'ampia documentazione. Ciò riduce radicalmente il time-to-market per soluzioni di visione personalizzate.
Link to this sectionEfficienza di addestramento e requisiti di memoria#
L'addestramento di modelli di grandi dimensioni può diventare rapidamente costoso in termini di calcolo. Le architetture YOLO di Ultralytics sono storicamente note per il loro basso ingombro di memoria CUDA durante l'addestramento e l'inferenza. Questa efficienza consente agli sviluppatori di addestrare modelli su hardware di grado consumer o istanze cloud convenienti senza riscontrare errori di memoria esaurita che sono comuni quando si lavora con modelli basati su transformer come RT-DETR.
Ultralytics si integra nativamente con i migliori strumenti MLOps. Puoi tracciare facilmente il progresso dell'addestramento del tuo modello utilizzando le integrazioni con Weights & Biases, Comet o ClearML senza alcun codice boilerplate aggiuntivo.
Link to this sectionVersatilità tra i compiti#
Una limitazione significativa di molti modelli di rilevamento specializzati è il loro focus ristretto. All'interno dell'ecosistema Ultralytics, non sei limitato al solo rilevamento oggetti. Gli strumenti si estendono perfettamente a molteplici compiti di computer vision, tra cui instance segmentation, image classification, pose estimation e oriented bounding box (OBB) detection.
Link to this sectionUno sguardo al futuro: l'evoluzione di YOLO26#
Mentre YOLOv10 ha aperto la strada all'inferenza senza NMS e DAMO-YOLO ha mostrato la potenza della NAS, il campo della computer vision si muove rapidamente. Per gli sviluppatori alla ricerca della soluzione definitiva allo stato dell'arte, consigliamo di dare un'occhiata a Ultralytics YOLO26.
Rilasciato come successore definitivo di YOLO11, YOLO26 si basa sulla solida base senza NMS stabilita da YOLOv10 ma la porta significativamente oltre.
I progressi chiave in YOLO26 includono:
- Inferenza CPU fino al 43% più veloce: specificamente ottimizzata per l'edge computing e i dispositivi a basso consumo.
- Rimozione della DFL: La Distribution Focal Loss è stata rimossa, garantendo export più semplici e una maggiore compatibilità con diversi target di implementazione.
- Ottimizzatore MuSGD: Un ibrido tra SGD e Muon, che porta la stabilità avanzata dell'addestramento LLM e una convergenza più rapida direttamente nella computer vision.
- ProgLoss + STAL: Funzioni di perdita drasticamente migliorate che offrono notevoli miglioramenti nel riconoscimento di oggetti di piccole dimensioni, il che è essenziale per casi d'uso come l'agricoltura e il telerilevamento.
Utilizzando la nuova piattaforma Ultralytics, gli sviluppatori possono annotare, addestrare e implementare senza problemi modelli di nuova generazione come YOLO26 con pochi clic, garantendo che la tua pipeline di computer vision sia all'avanguardia e a prova di futuro.