Vai al contenuto

YOLOv9 YOLO10: un'analisi tecnica approfondita sull'evoluzione del rilevamento degli oggetti

Il panorama del rilevamento di oggetti in tempo reale ha subito una rapida evoluzione e nel 2024 sono state rilasciate due architetture significative: YOLOv9 e YOLOv10. Sebbene entrambi i modelli mirino a superare i limiti di accuratezza ed efficienza, lo fanno attraverso filosofie architetturali fondamentalmente diverse. YOLOv9 sulla massimizzazione della conservazione delle informazioni in profondità nella rete, mentre YOLOv10 la pipeline di implementazione eliminando la necessità della soppressione non massima (NMS).

Questa guida fornisce un confronto tecnico completo per aiutare ricercatori e ingegneri a scegliere lo strumento più adatto alle loro specifiche applicazioni di visione artificiale.

YOLOv9: Informazioni di gradiente programmabili

Rilasciato nel febbraio 2024 da Chien-Yao Wang e Hong-Yuan Mark Liao (il team dietro YOLOv4 e YOLOv7), YOLOv9 il problema del "colli di bottiglia informativi" insito nelle reti neurali profonde. Man mano che i dati passano attraverso livelli successivi, i dati di input spesso vanno persi, compromettendo la capacità del modello di apprendere caratteristiche specifiche.

Per ovviare a questo problema, YOLOv9 il PGI (Programmable Gradient Information) e l'architettura GELAN (Generalized Efficient Layer Aggregation Network). Il PGI fornisce un ramo di supervisione ausiliario che garantisce che il ramo principale conservi le informazioni critiche durante l'addestramento, mentre il GELAN ottimizza l'utilizzo dei parametri per una migliore pianificazione del percorso del gradiente.

Scopri di più su YOLOv9

YOLOv10: Rilevamento end-to-end in tempo reale

Rilasciato poco dopo, nel maggio 2024, dai ricercatori dell'Università di Tsinghua, YOLOv10 un cambiamento significativo nel YOLO . Storicamente, YOLO si basavano sulla NMS per filtrare i riquadri di delimitazione sovrapposti. YOLOv10 una strategia di assegnazione doppia coerente durante l'addestramento, utilizzando l'assegnazione uno-a-molti per una supervisione ricca e l'assegnazione uno-a-uno per l'inferenza, consentendo al modello di diventare nativamente NMS.

Questa modifica architettonica riduce la latenza di inferenza e semplifica le pipeline di implementazione, rendendola particolarmente interessante per l'edge computing, dove CPU sono preziosi.

Scopri di più su YOLOv10

Confronto delle prestazioni

Quando si confrontano queste due architetture, si valutano i compromessi tra la capacità di rilevamento grezza (mAP) e l'efficienza di inferenza (latenza e FLOP).

Analisi delle metriche

La tabella seguente evidenzia le metriche di prestazione sul COCO . Mentre YOLOv9e dimostra una precisione superiore per compiti complessi, YOLOv10 offrono generalmente una latenza inferiore grazie alla rimozione NMS .

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
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

Punti chiave

  1. Latenza vs. Precisione: YOLOv10n raggiunge un mAP più elevato mAP 39,5%) rispetto a YOLOv9t (38,3%) pur funzionando in modo significativamente più veloce su GPU (1,56 ms contro 2,3 ms). Ciò rende l'architettura v10 altamente efficiente per l'implementazione su piccola scala.
  2. Precisione di alto livello: per scenari di ricerca in cui ogni punto percentuale di accuratezza è importante, YOLOv9e rimane un punto di forza con mAP del 55,6%, utilizzando le sue informazioni di gradiente programmabili per estrarre caratteristiche sottili che altri modelli potrebbero trascurare.
  3. Efficienza: YOLOv10 in termini di efficienza FLOP. YOLOv10 richiede solo 21,6 G FLOP rispetto ai 26,4 G di YOLOv9, il che si traduce in un minor consumo energetico sui dispositivi alimentati a batteria.

Considerazioni sull'hardware

Se si sta effettuando l'implementazione su CPU (come i processori Intel ) o su hardware edge specializzato (Raspberry Pi, Jetson), il design NMS YOLOv10 di solito garantisce una pipeline più fluida, poiché elimina i tempi di elaborazione non deterministici delle fasi di post-elaborazione.

Formazione ed ecosistema

Uno dei principali vantaggi dell'utilizzo Ultralytics è l'ecosistema unificato. Sia che scegliate YOLOv9 YOLOv10, i flussi di lavoro di formazione, convalida ed esportazione rimangono identici. Questa coerenza riduce drasticamente la curva di apprendimento per gli sviluppatori.

Il vantaggio di Ultralytics

  • Facilità d'uso: Una semplice Python consente di scambiare le architetture modificando una singola stringa (ad esempio, da yolov9c.pt a yolov10m.pt).
  • Ecosistema ben mantenuto: Ultralytics aggiornamenti frequenti, garantendo la compatibilità con l'ultima versione di PyTorch e CUDA .
  • Requisiti di memoria: a differenza di molti modelli basati su trasformatori che soffrono di un sovraccarico di memoria, Ultralytics sono ottimizzate per l'efficienzaGPU . Ciò consente di ottenere batch di dimensioni maggiori su hardware di livello consumer.

Esempio di Addestramento

L'addestramento di entrambi i modelli su un set di dati personalizzato è semplice. Il framework gestisce automaticamente l'aumento dei dati, la memorizzazione nella cache e la registrazione delle metriche.

from ultralytics import YOLO

# Load a model (Swap "yolov10n.pt" for "yolov9c.pt" to switch architectures)
model = YOLO("yolov10n.pt")

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

# Validate the model's performance
model.val()

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

Casi d'uso ideali

Quando scegliere YOLOv9

YOLOv9 la scelta preferita per scenari che richiedono un'elevata fedeltà delle caratteristiche. La sua architettura GELAN è resistente alla perdita di informazioni, rendendola ideale per:

  • Imaging medico: individuazione di piccoli tumori o anomalie in cui la mancanza di una caratteristica è fondamentale. Consulta la nostra guida sull'IA nel settore sanitario.
  • Rilevamento di piccoli oggetti: scenari che coinvolgono immagini aeree o sorveglianza a distanza in cui gli oggetti occupano pochissimi pixel.
  • Linee guida della ricerca: quando si effettua il benchmarking rispetto alle architetture all'avanguardia dell'inizio del 2024.

Quando scegliere YOLOv10

YOLOv10 progettato per garantire velocità e semplicità di implementazione. L'eliminazione di NMS lo NMS un forte concorrente per:

  • Edge Computing: Funziona su dispositivi come il Raspberry Pi o i telefoni cellulari, dove CPU dovuto alla post-elaborazione causa colli di bottiglia.
  • Robotica in tempo reale: applicazioni che richiedono cicli di feedback costanti e a bassa latenza, come la navigazione autonoma.
  • Pipeline complesse: sistemi in cui l'output del rilevatore viene immesso in algoritmi di tracciamento; l'output NMS semplifica la logica per le attività a valle.

Prospettive Future: La Potenza di YOLO26

Sebbene YOLOv9 YOLOv10 modelli eccellenti, il campo dell'IA è in rapida evoluzione. Per i nuovi progetti che inizieranno nel 2026, consigliamo vivamente di valutare YOLO26.

Rilasciato nel gennaio 2026, YOLO26 si basa sull'innovazione NMS di YOLOv10 introduce significative migliorie architetturali:

  1. End-to-End NMS: come la versione 10, YOLO26 è nativamente end-to-end, ma con ulteriori ottimizzazioni alla testa di rilevamento per una precisione ancora maggiore.
  2. MuSGD Optimizer: un ibrido tra SGD Muon (ispirato all'addestramento LLM), questo ottimizzatore porta la stabilità dell'addestramento dei modelli linguistici di grandi dimensioni alla visione artificiale, garantendo una convergenza più rapida.
  3. Rimozione DFL: rimuovendo la perdita focale di distribuzione, YOLO26 semplifica il grafico di esportazione, rendendo significativamente più facile l'implementazione su dispositivi con limitazioni NPU.
  4. ProgLoss + STAL: nuove funzioni di perdita specificamente ottimizzate per migliorare il riconoscimento di oggetti di piccole dimensioni, risolvendo una debolezza comune nei rilevatori in tempo reale.
  5. Prestazioni: ottimizzato specificamente per l'edge computing, YOLO26 offre CPU fino al 43% più veloce rispetto alle generazioni precedenti.

Scopri di più su YOLO26

Inoltre, YOLO26 non è solo un rilevatore, ma include miglioramenti specifici per la stima della posa (utilizzando RLE), la segmentazione delle istanze e le attività Oriented Bounding Box (OBB), rendendolo lo strumento più versatile Ultralytics .

Conclusione

Sia YOLOv9 YOLOv10 un importante passo avanti nel campo della visione artificiale. YOLOv9 che è possibile rendere più efficienti le reti profonde senza perdere informazioni, mentre YOLOv10 che NMS superare la dipendenza pluridecennale NMS .

Per gli sviluppatori di oggi, la scelta dipende in gran parte dai vincoli di implementazione. Se avete bisogno della massima precisione su dati complessi, YOLOv9e è un ottimo candidato. Se la latenza e la semplicità di implementazione sono fondamentali, YOLOv10 eccellente. Tuttavia, per il miglior equilibrio tra velocità, precisione e funzionalità a prova di futuro, YOLO26 rappresenta attualmente la raccomandazione all'avanguardia per gli utenti Ultralytics .


Commenti