Vai al contenuto

YOLOv7 vs YOLOv10: L'Evoluzione del Rilevamento di Oggetti in Tempo Reale

Il campo della visione artificiale ha assistito a notevoli progressi negli ultimi anni, con la famiglia di modelli YOLO (You Only Look Once) all'avanguardia nel rilevamento di oggetti in tempo reale. La scelta dell'architettura giusta per i tuoi progetti di visione artificiale richiede una profonda comprensione delle opzioni disponibili. In questo confronto tecnico completo, esploreremo le differenze chiave tra due architetture di riferimento: YOLOv7 e YOLOv10.

Introduzione ai Modelli

Entrambi questi modelli rappresentano pietre miliari significative nella storia dell'intelligenza artificiale, eppure adottano approcci fondamentalmente diversi per risolvere le sfide del rilevamento di oggetti.

YOLOv7: Il pioniere dei Bag-of-Freebies

Rilasciato il 6 luglio 2022 da 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 architetturale e su un "bag-of-freebies" addestrabili.

YOLOv7 sfrutta una rete di aggregazione di strati efficiente estesa (E-ELAN) per guidare la rete nell'apprendimento di caratteristiche diverse senza distruggere il percorso del gradiente originale. Ciò lo rende una scelta robusta per i benchmark di ricerca accademica e i sistemi fortemente dipendenti da 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 nella rilevazione di oggetti: Non-Maximum Suppression (NMS).

YOLOv10 ha introdotto assegnazioni duali coerenti per l'addestramento senza NMS, modificando radicalmente la pipeline di post-elaborazione. Adottando una strategia di progettazione del modello olistica orientata all'efficienza e alla precisione, YOLOv10 riduce la ridondanza computazionale. Ciò si traduce in un'architettura progettata specificamente per dispositivi edge che richiedono una latenza estremamente bassa.

Scopri di più su YOLOv10

Architettura NMS

La rimozione della Non-Maximum Suppression (NMS) in YOLOv10 consente di esportare l'intero modello come un singolo grafo computazionale. Questo semplifica enormemente il deployment utilizzando runtime come TensorRT o OpenVINO.

Confronto delle prestazioni e delle metriche

Nell'analisi delle prestazioni del modello, è fondamentale valutare i compromessi tra precisione, velocità e peso computazionale. La tabella seguente 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)
FLOPs
(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 sopra rivelano un netto divario generazionale. Mentre YOLOv7x offre un mAPval molto elevato del 53,1%, richiede 71,3M parametri e 189,9B FLOPs. Al contrario, YOLOv10l supera tale accuratezza (53,3% mAP) richiedendo meno della metà dei parametri (29,5M) e significativamente meno FLOPs (120,3B). Inoltre, il YOLOv10n altamente ottimizzato offre una velocità di inferenza sorprendente di 1,56ms, rendendolo ideale per l'analisi video in tempo reale e le applicazioni mobili.

Casi d'uso reali

Le differenze architetturali tra questi modelli determinano i loro casi d'uso ottimali.

Quando utilizzare YOLOv7

Grazie alla sua ricca rappresentazione delle feature, 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 manifatturiera pesante beneficiano della sua robusta riparametrizzazione strutturale. È anche fortemente favorito in ambienti legacy già profondamente integrati con specifiche pipeline PyTorch 1.12.

Quando utilizzare YOLOv10

Il design leggero e NMS-free di YOLOv10 eccelle in ambienti con risorse limitate. È 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à su nastri trasportatori.

Il vantaggio dell'ecosistema Ultralytics

Sebbene entrambi i modelli abbiano forti radici accademiche, il loro vero potenziale viene sbloccato quando utilizzati all'interno della Piattaforma Ultralytics unificata. Sviluppare modelli di visione artificiale da zero è notoriamente difficile, ma l'ecosistema Ultralytics offre un'esperienza impareggiabile per gli ingegneri del machine learning.

  • Facilità d'Uso: L'API python di Ultralytics fornisce un'interfaccia unificata. È possibile addestrare, validare ed esportare modelli con poche righe di codice, evitando gli incubi di dipendenza complessi associati ai tipici repository accademici.
  • Ecosistema Ben Mantenuto: 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 spesso consumano quantità massicce di memoria CUDA durante l'addestramento. Al contrario, i modelli Ultralytics YOLO richiedono molta meno memoria, consentendo batch size molto più grandi su hardware di fascia consumer.
  • Versatilità: La pipeline Ultralytics non è limitata alle bounding box standard. Supporta senza soluzione di continuità la stima della posa, la segmentazione di istanza e le oriented bounding box attraverso famiglie di modelli supportate come YOLO11 e YOLOv8.

Esempio di addestramento ottimizzato

L'esecuzione di una pipeline di addestramento con Ultralytics è notevolmente semplice. Indipendentemente dal fatto che si 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

La scelta tra YOLOv7 e YOLOv10 dipende dai requisiti specifici del progetto, dai vincoli di implementazione e dalle preferenze dell'ecosistema.

Quando scegliere YOLOv7

YOLOv7 è una scelta valida per:

  • Academic Benchmarking: Per riprodurre risultati all'avanguardia dell'era 2022 o studiare gli effetti di E-ELAN e delle tecniche trainable bag-of-freebies.
  • Ricerca sulla riparametrizzazione: Indagine su convoluzioni riparametrizzate pianificate e strategie di scaling di modelli composti.
  • Pipeline personalizzate esistenti: Progetti con pipeline altamente personalizzate costruite attorno all'architettura specifica di YOLOv7 che non possono essere facilmente rifattorizzate.

Quando scegliere YOLOv10

YOLOv10 è raccomandato per:

  • Rilevamento in Tempo Reale NMS-Free: Applicazioni che beneficiano del rilevamento end-to-end senza Non-Maximum Suppression, riducendo la complessità del deployment.
  • Equilibrio tra velocità e precisione: progetti che richiedono un forte equilibrio tra velocità di inferenza e precisione di rilevamento su varie scale di modelli.
  • Applicazioni a Latenza Consistente: Scenari di deployment in cui tempi di inferenza prevedibili sono critici, come la robotica o i sistemi autonomi.

Quando scegliere Ultralytics (YOLO26)

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

  • Deployment Edge NMS-Free: Applicazioni che richiedono inferenza consistente e a bassa latenza senza la complessità della post-elaborazione Non-Maximum Suppression.
  • Ambienti solo CPU: Dispositivi senza accelerazione GPU dedicata, dove l'inferenza CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
  • Rilevamento di Oggetti Piccoli: Scenari impegnativi come immagini aeree da drone o analisi di sensori IoT dove ProgLoss e STAL aumentano significativamente la precisione su oggetti minuscoli.

Il Futuro: Presentazione di YOLO26

Sebbene YOLOv7 e YOLOv10 siano pietre miliari impressionanti, la frontiera dell'AI è sempre in avanzamento. Rilasciato a gennaio 2026, Ultralytics YOLO26 è il nuovo standard indiscusso per efficienza e accuratezza in tutti gli scenari di implementazione edge e cloud.

Se stai avviando un nuovo progetto di visione artificiale oggi, YOLO26 è l'architettura raccomandata. Si basa sull'eredità dei suoi predecessori incorporando diverse innovazioni rivoluzionarie:

  • Design End-to-End senza NMS: Traendo ispirazione da YOLOv10, YOLO26 elimina nativamente la post-elaborazione NMS, garantendo un'inferenza a latenza ultra-bassa per la robotica deterministica in tempo reale.
  • Fino al 43% più veloce nell'inferenza su CPU: Rimuovendo strategicamente il modulo Distribution Focal Loss (DFL), YOLO26 accelera drasticamente l'esecuzione su hardware di edge computing senza GPU, rendendolo una potenza per i dispositivi IoT.
  • Ottimizzatore MuSGD: Ispirato alle recenti innovazioni nell'addestramento dei large language model, 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 notevoli miglioramenti nel riconoscimento di oggetti di piccole dimensioni, superando una debolezza storica nelle generazioni precedenti di YOLO.
  • Versatilità Ineguagliabile: YOLO26 presenta ottimizzazioni native e specifiche per le attività, come la stima della log-verosimiglianza residua (RLE) per il tracciamento della posa e perdite angolari specializzate per un rilevamento OBB preciso nelle immagini aeree.

Per gli ingegneri che cercano il massimo equilibrio tra velocità, precisione e semplicità di deployment, il passaggio dai modelli legacy a YOLO26 offre un vantaggio competitivo immediato e misurabile.


Commenti