YOLOv10 .YOLO: Evoluzione delle architetture di rilevamento oggetti in tempo reale
Nel panorama in rapida evoluzione della visione artificiale, la ricerca dell'equilibrio ottimale tra latenza e precisione stimola una costante innovazione. Due pietre miliari significative in questo percorso sono YOLOv10, noto per il suo rivoluzionario addestramento NMS, e YOLO, che ha sfruttato la ricerca dell'architettura neurale (NAS) per superare i limiti di efficienza. Questo confronto esplora le loro differenze architetturali, le metriche di prestazione e l'idoneità per le moderne applicazioni di IA.
Analisi delle metriche di performance
La tabella seguente presenta un confronto dettagliato degli indicatori chiave di prestazione. YOLOv10 dimostra un'efficienza superiore nell'utilizzo dei parametri e nella velocità di inferenza sulle GPU moderne, in particolare nelle varianti di modelli più grandi.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (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 |
YOLOv10: Il Pioniere End-to-End
Pubblicato nel maggio 2024 dai ricercatori dell'Università di Tsinghua, YOLOv10 ha introdotto un cambiamento di paradigma eliminando la necessità della soppressione non massima (NMS). Questa architettura risolve la varianza di latenza spesso causata dalle fasi di post-elaborazione nei rilevatori tradizionali.
Caratteristiche architettoniche chiave
- FormazioneNMS: utilizza assegnazioni doppie coerenti per la formazione NMS, consentendo al modello di prevedere direttamente un unico riquadro di delimitazione per ogni oggetto. Ciò è fondamentale per le applicazioni che richiedono una latenza prevedibile, come i veicoli autonomi o la robotica industriale.
- Progettazione olistica efficiente e accurata: gli autori, Ao Wang et al., hanno ottimizzato vari componenti, tra cui la struttura portante e la testa, per ridurre la ridondanza computazionale.
- Testa di classificazione leggera: riduce il sovraccarico del ramo di classificazione, che spesso rappresenta un collo di bottiglia nei rilevatori senza ancoraggio.
È possibile eseguire YOLOv10 tramitePython Ultralytics , sfruttando i vantaggi dell'interfaccia standardizzata.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
results[0].show()
YOLO: Ricerca dell'architettura neurale su larga scala
YOLO, sviluppato dal Gruppo Alibaba e rilasciato nel novembre 2022, si concentra sulla scoperta automatizzata di architetture efficienti. Utilizzando la ricerca di architetture neurali (NAS), il team ha cercato di trovare la profondità e l'ampiezza ottimali per le strutture di rilevamento con budget computazionali rigorosi.
Caratteristiche architettoniche chiave
- MAE-NAS Backbone: utilizza una ricerca evolutiva multi-obiettivo per trovare backbone che bilancino l'accuratezza del rilevamento e la velocità di inferenza.
- RepGFPN efficiente: un design heavy-neck che migliora la fusione delle caratteristiche, fondamentale per rilevare oggetti su varie scale, come nell'analisi delle immagini aeree.
- ZeroHead: Una testa di detection semplificata che riduce la complessità dei layer di previsione finali.
SebbeneYOLO prestazioni elevate, la sua dipendenza da complessi processi NAS può rendere difficile per gli sviluppatori medi riqualificare o modificare l'architettura per set di dati personalizzati rispetto alla configurazione intuitiva dei Ultralytics .
Il Vantaggio Ultralytics: Entra in YOLO26
Sebbene YOLOv10 YOLO un significativo passo avanti, il settore ha continuato a progredire. Ultralytics si basa sull'eredità NMS di YOLOv10 integrandola YOLOv10 in un ecosistema più robusto e pronto per la produzione.
Perché scegliere Ultralytics?
Ultralytics un ecosistema ben curato che garantisce che i vostri modelli non solo funzionino oggi, ma continuino a funzionare anche con l'evoluzione delle librerie hardware e software. A differenza di molti archivi accademici, Ultralytics aggiornamenti costanti, una documentazione completa e una perfetta integrazione con strumenti di implementazione come TensorRT e OpenVINO.
Innovazioni di YOLO26
Per gli sviluppatori che cercano il massimo in termini di velocità e precisione, YOLO26 introduce diversi miglioramenti fondamentali rispetto ai modelli precedenti:
- End-to-End NMS: come YOLOv10, YOLO26 è nativamente end-to-end. Tuttavia, lo perfeziona ulteriormente rimuovendo la Distribution Focal Loss (DFL), che semplifica il grafico del modello per una migliore compatibilità con i dispositivi edge e i chip a bassa potenza.
- Ottimizzatore MuSGD: ispirato alle innovazioni nella formazione LLM (in particolare Kimi K2 di Moonshot AI), YOLO26 utilizza l'ottimizzatore MuSGD. Questo ibrido di SGD Muon offre una stabilità senza precedenti alla formazione, consentendo una convergenza più rapida e una riduzione GPU .
- CPU : YOLO26 è specificamente ottimizzato per l'edge computing, offrendo un'inferenza fino al 43% più veloce sulle CPU. Questo lo rende la scelta ideale per le applicazioni IoT in cui le GPU non sono disponibili.
- Funzioni di perdita potenziate: l'introduzione di ProgLoss e STAL (Self-Taught Anchor Learning) migliora significativamente le prestazioni su oggetti di piccole dimensioni e sfondi complessi.
Casi d'Uso Comparativi
La scelta del modello giusto dipende in larga misura dai vincoli specifici di implementazione e dai requisiti del flusso di lavoro.
Quando usare DAMO-YOLO
YOLO un ottimo candidato per scenari di ricerca che coinvolgono la ricerca di architetture neurali (NAS). Se il tuo progetto richiede lo studio di come le strategie di ricerca automatizzate influenzano l'estrazione delle caratteristiche, o se sei profondamente integrato nell'ecosistema Alibaba, questo modello fornisce informazioni preziose. Il suo modulo RepGFPN è anche un ottimo riferimento per gli studi sulla fusione delle caratteristiche.
Quando utilizzare YOLOv10
YOLOv10 eccellente per applicazioni in cui è fondamentale una bassa varianza della latenza. Il suo design NMS garantisce che il tempo di inferenza rimanga stabile indipendentemente dal numero di oggetti rilevati, il che è fondamentale per i sistemi di sicurezza in tempo reale.
- Sorveglianza in tempo reale: frame rate costanti anche in scene affollate.
- Robotica: tempistiche prevedibili per i circuiti di controllo.
Perché YOLO26 è la scelta migliore
Per la maggior parte degli sviluppatori e delle applicazioni commerciali, Ultralytics offre il pacchetto più interessante. Combina i vantaggi NMS di YOLOv10 un'efficienza di addestramento superiore e un ampio supporto hardware.
- Facilità d'uso: addestra, convalida e distribuisci con una singola Python .
- Versatilità: a differenza diYOLO, YOLO26 supporta una suite completa di attività, tra cui segmentazione delle istanze, stima della posa, classificazione e bounding box orientati (OBB).
- Efficienza della memoria: YOLO26 richiede una quantità significativamente inferiore CUDA durante l'addestramento rispetto ai modelli ibridi transformer, consentendo l'addestramento su GPU di livello consumer.
- Integrazione della piattaforma: esportazione senza interruzioni su ONNX, CoreML e TFLite la Ultralytics , semplificando il percorso dal prototipo alla produzione.
Esempio di codice: flusso di lavoro YOLO26
Con Ultralytics, passare alla tecnologia più recente è semplicissimo. Il seguente frammento di codice mostra come caricare il modello all'avanguardia YOLO26, eseguire l'inferenza ed esportarlo per l'implementazione.
from ultralytics import YOLO
# Load the YOLO26s model (Small version)
model = YOLO("yolo26s.pt")
# Train on COCO8 dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for simplified deployment
model.export(format="onnx", opset=13)
Conclusione
Sia YOLOv10 YOLO apportato innovazioni preziose nel campo della visione artificiale. YOLOv10 ha dimostrato la fattibilità del rilevamento NMS, mentre YOLO ha messo in evidenza la potenza del NAS. Tuttavia, Ultralytics sintetizza questi progressi in uno strumento completo, intuitivo e ad alte prestazioni. Con la sua velocità superiore, la versatilità delle attività e il supporto di un ecosistema robusto, YOLO26 si pone come la soluzione consigliata per gli sviluppatori che realizzano applicazioni AI di nuova generazione.
Per ulteriori approfondimenti, consultare la YOLO11 o il documento RT-DETR basato su trasformatori. RT-DETR per approcci architetturali alternativi.