Vai al contenuto

YOLO . YOLOv10: alla scoperta dell'evoluzione del rilevamento di oggetti in tempo reale

Il panorama del rilevamento di oggetti in tempo reale si è evoluto rapidamente, spinto dalla ricerca incessante di una minore latenza e una maggiore precisione. Due pietre miliari significative in questo percorso sono YOLO, sviluppato da Alibaba Group, e YOLOv10, creato dai ricercatori dell'Università di Tsinghua. MentreYOLO tecniche avanzate di ricerca dell'architettura neurale (NAS) in questo campo, YOLOv10 la pipeline di implementazione eliminando la soppressione non massima (NMS). Questo confronto completo esplora le loro architetture tecniche, le metriche di prestazione e il motivo per cui gli ultimi Ultralytics come YOLO26 rappresentano l'apice di questi progressi per gli ambienti di produzione.

Metriche di prestazione a confronto

La tabella seguente fornisce un confronto diretto degli indicatori chiave di prestazione. Si noti la differenza nella velocità di inferenza, in particolare nei casi in cui i progetti NMS contribuiscono a ridurre la latenza.

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
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

YOLO: Architettura e metodologia

YOLO è stato proposto nel novembre 2022 dai ricercatori del Gruppo Alibaba. Il suo obiettivo era quello di superare i limiti delle prestazioni integrando tecnologie all'avanguardia in un quadro coerente di rilevatori.

Caratteristiche architettoniche chiave

YOLO distingue per l'uso della ricerca dell'architettura neurale (NAS). A differenza dei modelli con backbone progettati manualmente,YOLO il metodo MAE-NAS (Method-Awareness Efficient NAS) per individuare le strutture di rete ottimali in base a vincoli specifici. Il risultato è un backbone altamente efficiente per l'hardware specifico a cui è destinato.

Inoltre, incorpora un efficiente RepGFPN (Reparameterized Generalized Feature Pyramid Network) per la fusione delle caratteristiche e una testa leggera nota come "ZeroHead". Una componente fondamentale della sua strategia di addestramento è AlignedOTA, un meccanismo dinamico di assegnazione delle etichette che risolve il miglioramento dell'allineamento tra le attività di classificazione e regressione. Tuttavia, il raggiungimento delle massime prestazioni conYOLO richiedeYOLO un processo di distillazione complesso, che necessita di un modello teacher pesante durante l'addestramento, il che può aumentare significativamente il carico computazionale rispetto agli approcci "bag-of-freebies" utilizzati in YOLOv8.

Complessità dell'Addestramento

Sebbene potente, il processo di addestramento diYOLO richiedere molte risorse. La fase di distillazione spesso richiede prima l'addestramento di un modello teacher più grande, il che complica il flusso di lavoro per gli sviluppatori che necessitano di iterazioni rapide su set di dati personalizzati.

YOLOv10: la svolta end-to-end

Pubblicato nel maggio 2024 dall'Università di Tsinghua, YOLOv10 ha segnato un cambiamento di paradigma affrontando uno dei colli di bottiglia più longevi nel rilevamento degli oggetti: la soppressione non massima (NMS).

Innovazioni Architetturali

La caratteristica distintiva di YOLOv10 il suo design End-to-End NMS. I rilevatori tradizionali generano bounding box ridondanti che devono essere filtrati NMS, una fase di post-elaborazione che introduce latenza e complica l'implementazione. YOLOv10 assegnazioni doppie coerenti durante l'addestramento, utilizzando sia l'abbinamento uno-a-molti (per una supervisione ricca) che uno-a-uno (per l'inferenza end-to-end). Ciò consente al modello di prevedere direttamente un unico riquadro ottimale per ogni oggetto, eliminando la necessità NMS .

Inoltre, YOLOv10 un design del modello olistico basato sull'efficienza e l'accuratezza. Ciò include teste di classificazione leggere, downsampling con canali spaziali disaccoppiati e design a blocchi guidato dal rango, che danno come risultato un modello più piccolo e più veloce rispetto ai predecessori come YOLOv9 , pur mantenendo un'accuratezza competitiva.

Scopri di più su YOLOv10

Il Vantaggio Ultralytics: Perché Scegliere YOLO26?

MentreYOLO YOLOv10 contributi accademici significativi, Ultralytics funge da ponte tra la ricerca all'avanguardia e un software di produzione pratico e affidabile. Il nuovo YOLO26 si basa sull'innovativa tecnologia NMS di YOLOv10 integrandola YOLOv10 in un framework robusto e di livello enterprise.

Prestazioni ed efficienza superiori

YOLO26 è la scelta consigliata per i nuovi progetti, poiché offre vantaggi distintivi rispetto YOLOv10 YOLO YOLOv10 pure:

  • End-to-End NMS: come YOLOv10, YOLO26 è nativamente end-to-end. Elimina NMS , semplificando le pipeline di implementazione e riducendo significativamente la variabilità della latenza.
  • Maggiore stabilità dell'addestramento: YOLO26 utilizza MuSGD Optimizer, un ibrido di SGD Muon ispirato all'addestramento dei modelli linguistici di grandi dimensioni (LLM). Questa innovazione garantisce una convergenza più rapida e una maggiore stabilità durante l'addestramento, riducendo la GPU richiesta rispetto alle architetture che fanno un uso intensivo di trasformatori.
  • Ottimizzazione edge: eliminando la Distribution Focal Loss (DFL), YOLO26 semplifica il livello di output, rendendolo fino al 43% più veloce CPU . Ciò è fondamentale per i dispositivi edge in cui GPU non sono disponibili.

YOLO26 Salti tecnologici

YOLO26 non è solo un aggiornamento di versione, ma un upgrade completo.

  • ProgLoss + STAL: funzioni di perdita migliorate che potenziano notevolmente il riconoscimento di oggetti di piccole dimensioni, fondamentale per le immagini riprese dai droni e la robotica.
  • Versatilità: a differenza diYOLO, che è principalmente un rilevatore, YOLO26 supporta la stima della posa, la segmentazione, la classificazione e OBB.

Facilità d'uso ed ecosistema

Una delle principali sfide dei repository di ricerca comeYOLO la complessità della configurazione e della manutenzione. Ultralytics questo problema con Python unificata. Che tu stia utilizzando YOLO11, YOLOv10 o YOLO26, il flusso di lavoro rimane coerente e semplice.

La Ultralytics (precedentemente denominata HUB) accelera ulteriormente lo sviluppo fornendo strumenti per la gestione dei set di dati, l'annotazione automatizzata e l'esportazione con un solo clic in formati quali TensorRT, ONNX e CoreML.

Scopri di più su YOLO26

Casi d'uso ideali

La scelta del modello giusto dipende dai vostri vincoli specifici:

  • ScegliYOLO : stai conducendo ricerche sulla ricerca dell'architettura neurale (NAS) o hai bisogno di una struttura backbone specializzata per vincoli hardware specifici in cui i backbone CSP/ELAN standard non sono sufficienti.
  • Scegli YOLOv10 : hai bisogno di un rilevatore specifico NMS per benchmarking accademico o hai un requisito legacy per l'architettura specifica proposta nel documento originale di Tsinghua.
  • Scegli Ultralytics se: hai bisogno di una soluzione all'avanguardia e pronta per la produzione. Il suo designNMS, combinato con la stabilità di addestramento MuSGD e CPU ottimizzate, lo rendono il miglior prodotto a tutto tondo. È particolarmente superiore per le applicazioni in tempo reale nella produzione, nell'analisi della vendita al dettaglio e nei sistemi autonomi, dove la facilità di implementazione e il supporto a lungo termine sono fondamentali.

Esempio di codice: Esecuzione di YOLOv10 YOLO26

Ultralytics incredibilmente facile passare da un'architettura all'altra. Poiché YOLOv10 supportato nel Ultralytics , è possibile testare entrambi i modelli con modifiche minime al codice.

Esecuzione di YOLOv10

from ultralytics import YOLO

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

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

# Show results
results[0].show()

Formazione YOLO26

Per sfruttare gli ultimi progressi di YOLO26, come l'ottimizzatore MuSGD e ProgLoss, l'addestramento su un set di dati personalizzato è molto semplice:

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train on a custom dataset using the new optimizer settings (auto-configured)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export to ONNX for simplified edge deployment
model.export(format="onnx")

Conclusione

SiaYOLO YOLOv10 fatto progredire il settore:YOLO efficiente NAS e YOLOv10 sua visione innovativa che ha portato all'eliminazione NMS. Tuttavia, per gli sviluppatori che desiderano creare applicazioni robuste e a prova di futuro nel 2026, Ultralytics offre un vantaggio decisivo. Combinando l'architettura NMS di YOLOv10 dinamiche di addestramento superiori, CPU più veloci e il supporto senza pari Ultralytics , YOLO26 si pone come la scelta migliore per i professionisti della visione artificiale.

Per chi fosse interessato a esplorare le generazioni stabili precedenti, YOLO11 rimane un'alternativa completamente supportata e altamente performante.


Commenti