Vai al contenuto

YOLOv10 . YOLOv9: progressi nel rilevamento di oggetti in tempo reale

Il 2024 ha segnato un periodo di rapida innovazione nel panorama del rilevamento degli oggetti, con il rilascio di due architetture significative: YOLOv10 e YOLOv9. Sebbene entrambi i modelli mirino a superare i limiti di velocità e precisione, lo fanno attraverso filosofie architetturali fondamentalmente diverse.

YOLOv10 sull'eliminazione della latenza di inferenza causata dalla post-elaborazione attraverso un design NMS, mentre YOLOv9 la conservazione delle informazioni nelle reti profonde utilizzando le informazioni di gradiente programmabili (PGI).

Confronto delle prestazioni

La tabella seguente fornisce una panoramica dettagliata del confronto tra questi modelli in base a parametri di riferimento standard. I dati evidenziano i compromessi tra efficienza dei parametri, velocità di inferenza e accuratezza di rilevamento (mAP).

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
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

YOLOv10: Il Pioniere End-to-End

YOLOv10, sviluppato dai ricercatori dell'Università di Tsinghua, rappresenta un cambiamento verso l'elaborazione end-to-end. Rilasciato il 23 maggio 2024 da Ao Wang, Hui Chen e colleghi, affronta il collo di bottiglia della soppressione non massima (NMS).

Scopri di più su YOLOv10

Caratteristiche architettoniche chiave

  • FormazioneNMS: grazie all'impiego di doppie assegnazioni coerenti, YOLOv10 la necessità di NMS l'inferenza. Ciò riduce la latenza e semplifica le pipeline di implementazione, in particolare per le applicazioni di edge computing.
  • Progettazione olistica dell'efficienza: l'architettura ottimizza vari componenti per ridurre il sovraccarico computazionale (FLOP) mantenendo al contempo elevate prestazioni.
  • Latenza migliorata: come mostrato nella tabella, YOLOv10 offrono generalmente tempi di inferenza inferiori rispetto ai loro YOLOv9 a parità di livelli di accuratezza.

Per i dettagli tecnici, è possibile consultare il documentoYOLOv10 .

YOLOv9: Padroneggiare il flusso di informazioni

YOLOv9, pubblicato il 21 febbraio 2024 da Chien-Yao Wang e Hong-Yuan Mark Liao dell'Accademia Sinica, si concentra sulla questione teorica della perdita di informazioni nelle reti neurali profonde.

Scopri di più su YOLOv9

Caratteristiche architettoniche chiave

  • Architettura GELAN: la rete generalizzata di aggregazione efficiente dei livelli combina i punti di forza di CSPNet ed ELAN per massimizzare l'utilizzo dei parametri.
  • Informazioni sul gradiente programmabile (PGI): questo meccanismo di supervisione ausiliario garantisce che gli strati profondi conservino le informazioni critiche per un rilevamento accurato, rendendo il modello altamente efficace per attività che richiedono un'elevata precisione.
  • Elevata precisione: il modello YOLOv9e raggiunge un impressionantemAPval del 55,6%, superando molti modelli contemporanei in termini di precisione di rilevamento pura.

Per approfondire l'argomento, leggi l'articoloYOLOv9 .

Addestramento e facilità d'uso

Entrambi i modelli sono completamente integrati Ultralytics , offrendo agli sviluppatori un'esperienza unificata e senza soluzione di continuità. Sia che utilizziate YOLOv10 YOLOv9, Python Ultralytics elimina la complessità delle pipeline di addestramento, dell'aumento dei dati e della registrazione.

Esempio di codice

L'addestramento di un modello su un set di dati personalizzato o su un benchmark standard come COCO8 semplice. Il framework gestisce automaticamente le differenze nell'architettura.

from ultralytics import YOLO

# Load a model (Choose YOLOv10 or YOLOv9)
model = YOLO("yolov10n.pt")  # or "yolov9c.pt"

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

# Validate the model
model.val()

Efficienza della Memoria

YOLO Ultralytics sono progettati per un utilizzo ottimale GPU . Rispetto alle architetture basate su trasformatori o ai modelli di rilevamento precedenti, consentono di utilizzare batch di dimensioni maggiori su hardware di livello consumer, rendendo l'intelligenza artificiale all'avanguardia accessibile a un pubblico più ampio.

Casi d'uso ideali

La scelta tra YOLOv10 YOLOv9 dipende YOLOv9 dai vincoli specifici dell'ambiente di implementazione.

Quando scegliere YOLOv10

  • Limiti di bassa latenza: se la tua applicazione funziona su dispositivi mobili o sistemi integrati dove ogni millisecondo è importante, il design NMS di YOLOv10 un vantaggio significativo.
  • Implementazione semplice: l'eliminazione delle fasi di post-elaborazione semplifica l'esportazione in formati come ONNX o TensorRT, riducendo il rischio di incompatibilità dell'operatore.
  • Video in tempo reale: ideale per la gestione del traffico o linee di produzione ad alta velocità dove la produttività è fondamentale.

Quando scegliere YOLOv9

  • Massima precisione: per applicazioni di ricerca o scenari in cui la precisione è fondamentale (ad esempio, analisi di immagini mediche), l'architettura potenziata PGI di YOLOv9e offre risultati superiori.
  • Rilevamento di oggetti di piccole dimensioni: la ricca conservazione delle caratteristiche di GELAN rende YOLOv9 robusto per il rilevamento di oggetti piccoli o occlusi nelle immagini aeree.
  • Scene complesse: in ambienti con elevato ingombro visivo, le informazioni sul gradiente programmabile aiutano il modello a distinguere le caratteristiche rilevanti in modo più efficace.

Il futuro è qui: YOLO26

Sebbene YOLOv9 YOLOv10 strumenti potenti, il campo della visione artificiale è in rapida evoluzione. Ultralytics ha Ultralytics rilasciato YOLO26, un modello che sintetizza le migliori caratteristiche delle generazioni precedenti introducendo al contempo ottimizzazioni rivoluzionarie.

Scopri di più su YOLO26

YOLO26 è la scelta consigliata per i nuovi progetti, poiché offre un equilibrio superiore tra velocità, precisione e versatilità.

Perché passare a YOLO26?

  • End-to-End NMS: come YOLOv10, YOLO26 è nativamente end-to-end. Elimina NMS , garantendo un'inferenza più rapida e pipeline di implementazione semplificate.
  • Ottimizzatore MuSGD: ispirato alle innovazioni nella formazione dei modelli linguistici di grandi dimensioni (LLM) (in particolare Kimi K2 di Moonshot AI), YOLO26 utilizza un ibrido di SGD ottimizzatore Muon. Ciò si traduce in una formazione significativamente più stabile e una convergenza più rapida.
  • Rimozione DFL: rimuovendo la perdita focale di distribuzione, YOLO26 semplifica l'architettura del modello, rendendolo più facile da esportare e compatibile con una gamma più ampia di dispositivi edge/a basso consumo energetico.
  • Aumento delle prestazioni: le ottimizzazioni mirate specificamente CPU garantiscono velocità fino al 43% superiori rispetto alle generazioni precedenti, rendendolo un vero e proprio concentrato di potenza per l'AI edge.
  • Versatilità dei compiti: A differenza delle versioni v9 e v10 incentrate sul rilevamento, YOLO26 include miglioramenti specifici per tutte le attività:
    • Segmentazione: nuova perdita di segmentazione semantica e proto multiscala.
    • Pose: stima della log-verosimiglianza residua (RLE) per punti chiave ad alta precisione.
    • OBB: perdita di angolo specializzata per gestire i problemi di confine nelle attività Oriented Bounding Box.

Flusso di lavoro semplificato con Ultralytics

Gli sviluppatori possono sfruttare la Ultralytics (precedentemente HUB) per gestire l'intero ciclo di vita dei loro modelli YOLO26. Dall'annotazione dei set di dati all'addestramento sul cloud e alla distribuzione su dispositivi edge, la piattaforma fornisce un'interfaccia unificata che accelera il time-to-market.

Conclusione

Entrambi YOLOv10 e YOLOv9 rappresentano pietre miliari significative nella storia del rilevamento degli oggetti. YOLOv10 che le architetture NMS possono raggiungere prestazioni all'avanguardia, mentre YOLOv9 l'importanza del flusso di informazioni sul gradiente nelle reti profonde.

Tuttavia, per gli sviluppatori alla ricerca della soluzione più robusta, versatile e a prova di futuro, YOLO26 si distingue come la scelta migliore. Combinando un design NMS con il rivoluzionario ottimizzatore MuSGD e un ampio supporto delle attività, YOLO26 offre il miglior equilibrio di prestazioni per le moderne applicazioni di visione artificiale.

  • YOLO11 - Il robusto predecessore di YOLO26, noto per la sua stabilità.
  • YOLOv8 - Un classico versatile ampiamente utilizzato nell'industria.
  • RT-DETR - Un rilevatore in tempo reale basato su trasformatore.

Commenti