YOLOv7 vs YOLOv10: L'evoluzione del rilevamento oggetti in tempo reale

Il campo della computer vision ha assistito a progressi notevoli negli ultimi anni, con la famiglia di modelli YOLO (You Only Look Once) che guida la carica nel rilevamento oggetti in tempo reale. Scegliere l'architettura giusta per i tuoi progetti di computer vision richiede una profonda comprensione delle opzioni disponibili. In questo confronto tecnico completo, esploreremo le principali differenze tra due architetture fondamentali: YOLOv7 e YOLOv10.

Introduzione ai modelli

Entrambi questi modelli rappresentano tappe fondamentali nella storia dell'intelligenza artificiale, eppure adottano approcci radicalmente diversi per risolvere le sfide del rilevamento oggetti.

YOLOv7: Il pioniere dei bag-of-freebies

Rilasciato il 6 luglio 2022 dai ricercatori Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao dell'Institute of Information Science, Academia Sinica, YOLOv7 ha introdotto un cambio di paradigma nel modo in cui le reti neurali vengono ottimizzate. La ricerca originale, dettagliata nel loro articolo accademico e ospitata sul loro repository GitHub ufficiale, si è concentrata pesantemente sulla ri-parametrizzazione architettonica e su un "bag-of-freebies" addestrabile.

YOLOv7 sfrutta una rete di aggregazione di strati efficiente ed estesa (E-ELAN) per guidare la rete nell'apprendimento di caratteristiche diversificate senza distruggere il percorso del gradiente originale. Ciò lo rende una scelta solida per i benchmark di ricerca accademica e i sistemi che si basano pesantemente su GPU standard di fascia alta.

Scopri di più su YOLOv7

YOLOv10: Rilevamento end-to-end in tempo reale

Sviluppato da Ao Wang e dal suo team presso la Tsinghua University, YOLOv10 è stato rilasciato il 23 maggio 2024. Come dettagliato nella sua pubblicazione arxiv e nel repository GitHub di Tsinghua, questo modello elimina un collo di bottiglia di lunga data nel rilevamento oggetti: la Non-Maximum Suppression (NMS).

YOLOv10 ha introdotto assegnazioni doppie coerenti per l'addestramento senza NMS, alterando fondamentalmente la pipeline di post-elaborazione. Implementando una strategia di progettazione del modello olistica basata sull'efficienza e sull'accuratezza, YOLOv10 riduce la ridondanza computazionale. Ciò si traduce in un'architettura appositamente creata per i dispositivi edge che richiedono una latenza estremamente bassa.

Scopri di più su YOLOv10

Architettura senza NMS

La rimozione della Non-Maximum Suppression (NMS) in YOLOv10 consente di esportare l'intero modello come un unico grafo computazionale. Ciò semplifica notevolmente la distribuzione utilizzando runtime come TensorRT o OpenVINO.

Confronto tra prestazioni e metriche

Quando analizzi le prestazioni del modello, è fondamentale valutare i compromessi tra precisione, velocità e peso computazionale. La seguente tabella mostra come le diverse dimensioni di questi modelli si confrontano tra loro.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOP
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Analisi dei compromessi

Le metriche di cui sopra rivelano un netto divario generazionale. Mentre YOLOv7x offre un mAPval molto forte del 53,1%, richiede 71,3M di parametri e 189,9B di FLOPs. Al contrario, YOLOv10l supera tale accuratezza (53,3% mAP) pur richiedendo meno della metà dei parametri (29,5M) e un numero significativamente inferiore di FLOPs (120,3B). Inoltre, l'altamente ottimizzato YOLOv10n fornisce una sorprendente velocità di inferenza di 1,56ms, rendendolo ideale per l'analisi video in tempo reale e le applicazioni mobili.

Casi d'uso reali

Le differenze architettoniche tra questi modelli ne determinano i casi d'uso ottimali.

Quando utilizzare YOLOv7

Grazie alla sua ricca rappresentazione delle caratteristiche, YOLOv7 eccelle in ambienti altamente complessi. Casi d'uso come il monitoraggio del flusso di traffico in aree urbane dense, l'analisi di immagini satellitari o l'identificazione di difetti nell'automazione della produzione pesante beneficiano della sua robusta ri-parametrizzazione strutturale. È anche fortemente favorito in ambienti legacy già profondamente integrati con specifiche pipeline PyTorch 1.12.

Quando utilizzare YOLOv10

Il design leggero e senza NMS di YOLOv10 brilla in ambienti vincolati. È altamente raccomandato per dispositivi di edge computing come NVIDIA Jetson Nano o Raspberry Pi. Le sue prestazioni a bassa latenza lo rendono perfetto per applicazioni in rapido movimento come l'analisi sportiva, la navigazione autonoma di droni e lo smistamento robotico ad alta velocità sui nastri trasportatori.

Il vantaggio dell'ecosistema Ultralytics

Sebbene entrambi i modelli abbiano forti radici accademiche, il loro vero potenziale viene sbloccato quando vengono utilizzati all'interno della piattaforma Ultralytics unificata. Sviluppare modelli di computer vision da zero è notoriamente difficile, ma l'ecosistema Ultralytics offre un'esperienza senza pari per gli ingegneri di machine learning.

  • Facilità d'uso: L'API Python di Ultralytics fornisce un'interfaccia unificata. Puoi addestrare, convalidare ed esportare modelli con poche righe di codice, evitando i complessi incubi di dipendenze associati ai tipici repository accademici.
  • Ecosistema ben gestito: Ultralytics garantisce che il codice sottostante sia attivamente sviluppato. Gli utenti beneficiano di integrazioni fluide con strumenti ML popolari come Weights & Biases per il logging, o Hugging Face per demo web veloci.
  • Requisiti di memoria: I rilevatori di oggetti basati su Transformer consumano spesso enormi quantità di memoria CUDA durante l'addestramento. Al contrario, i modelli YOLO di Ultralytics richiedono molta meno memoria, consentendo batch size molto più grandi su hardware di fascia consumer.
  • Versatilità: La pipeline di Ultralytics non è limitata alle bounding box standard. Supporta perfettamente la stima della posa, la segmentazione delle istanze e le bounding box orientate su tutte le famiglie di modelli supportate come YOLO11 e YOLOv8.

Esempio di addestramento semplificato

Eseguire una pipeline di addestramento con Ultralytics è straordinariamente semplice. Indipendentemente dal fatto che tu stia sfruttando la robustezza storica di YOLOv7 o la velocità senza NMS di YOLOv10, la sintassi rimane coerente:

from ultralytics import YOLO

# Load the preferred model (e.g., YOLOv10 Nano)
model = YOLO("yolov10n.pt")

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

# Run an inference prediction on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export to an edge-friendly format like ONNX
model.export(format="onnx")

Casi d'uso e raccomandazioni

Scegliere tra YOLOv7 e YOLOv10 dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle preferenze dell'ecosistema.

Quando scegliere YOLOv7

YOLOv7 è una scelta solida per:

  • Benchmarking accademico: riprodurre risultati allo stato dell'arte dell'era 2022 o studiare gli effetti delle tecniche E-ELAN e trainable bag-of-freebies.
  • Ricerca sulla riparametrizzazione: indagare le convoluzioni riparametrizzate pianificate e le strategie di scalabilità dei modelli composti.
  • Pipeline personalizzate esistenti: progetti con pipeline fortemente personalizzate costruite attorno all'architettura specifica di YOLOv7 che non possono essere facilmente rifattorizzate.

Quando scegliere YOLOv10

YOLOv10 è consigliato per:

  • Rilevamento in tempo reale senza NMS: Applicazioni che traggono vantaggio dal rilevamento end-to-end senza Non-Maximum Suppression, riducendo la complessità di deployment.
  • Compromessi equilibrati tra velocità e accuratezza: Progetti che richiedono un solido equilibrio tra velocità di inferenza e accuratezza di rilevamento su varie scale del modello.
  • Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.

Quando scegliere Ultralytics (YOLO26)

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza di sviluppo:

  • Deployment Edge senza NMS: Applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Non-Maximum Suppression.
  • Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
  • Rilevamento di piccoli oggetti: Scenari complessi come immagini di droni aerei o analisi tramite sensori IoT dove ProgLoss e STAL migliorano significativamente l'accuratezza su oggetti minuscoli.

Il futuro: Introduzione di YOLO26

Sebbene YOLOv7 e YOLOv10 siano traguardi impressionanti, la frontiera dell'IA avanza sempre. Rilasciato nel gennaio 2026, Ultralytics YOLO26 è il nuovo standard indiscusso per efficienza e precisione in tutti gli scenari di distribuzione edge e cloud.

Se stai iniziando un nuovo progetto di computer vision oggi, YOLO26 è l'architettura consigliata. Si basa sull'eredità dei suoi predecessori incorporando diverse innovazioni rivoluzionarie:

  • Design end-to-end senza NMS: Prendendo ispirazione da YOLOv10, YOLO26 elimina nativamente la post-elaborazione NMS, garantendo un'inferenza a latenza ultra-bassa per la robotica deterministica in tempo reale.
  • Inferenza CPU fino al 43% più veloce: Rimuovendo strategicamente il modulo Distribution Focal Loss (DFL), YOLO26 accelera drasticamente l'esecuzione su hardware di edge computing non-GPU, rendendolo una centrale elettrica per i dispositivi IoT.
  • Ottimizzatore MuSGD: Ispirato alle recenti innovazioni nell'addestramento dei modelli linguistici di grandi dimensioni, YOLO26 incorpora un ibrido di SGD e Muon, stabilizzando i percorsi di addestramento e garantendo una convergenza più rapida.
  • ProgLoss + STAL: Queste funzioni di perdita avanzate producono miglioramenti notevoli nel riconoscimento di oggetti di piccole dimensioni, superando una debolezza storica nelle vecchie generazioni di YOLO.
  • Versatilità senza pari: YOLO26 presenta ottimizzazioni native e specifiche per attività come la Residual Log-Likelihood Estimation (RLE) per il tracciamento della posa e perdite angolari specializzate per il rilevamento OBB preciso nelle immagini aeree.

Per gli ingegneri che cercano l'equilibrio definitivo tra velocità, accuratezza e semplicità di distribuzione, il passaggio dai modelli legacy a YOLO26 offre un vantaggio competitivo immediato e misurabile.

Commenti