Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Get Started

YOLOv10 vs YOLOv7#

I rapidi progressi della computer vision negli ultimi anni hanno prodotto architetture sempre più efficienti per le applicazioni in tempo reale. Il confronto tra YOLOv10 e YOLOv7 evidenzia una fase cruciale di questa evoluzione. YOLOv7 ha introdotto strategie di addestramento molto efficaci e il ridimensionamento architetturale, mentre YOLOv10 ha semplificato il deployment eliminando la consolidata dipendenza dalla soppressione dei massimi non locali (NMS).

Al momento del loro rilascio, entrambi i modelli hanno ampliato i limiti del rilevamento degli oggetti, mentre oggi l'ecosistema Ultralytics e i modelli più recenti come YOLO26 offrono flussi di lavoro di addestramento e deployment più semplici.

Profili e origini dei modelli#

Comprendere le origini di questi modelli fornisce un contesto prezioso sulle scelte di progettazione architetturale e sulla ricerca accademica che li ha guidati.

Dettagli su YOLOv10#

Scopri di più su YOLOv10

Dettagli su YOLOv7#

Scopri di più su YOLOv7

Innovazioni architetturali#

L'approccio di YOLOv7#

Rilasciato nel 2022, YOLOv7 si concentrava soprattutto sull'ottimizzazione dei percorsi del gradiente. Ha introdotto Extended Efficient Layer Aggregation Network (E-ELAN), che consentiva al modello di apprendere caratteristiche più diverse senza compromettere il percorso originale del gradiente. Gli autori hanno inoltre adottato una metodologia del "bag-of-freebies addestrabile", che usa tecniche di riparametrizzazione durante l'addestramento, eliminabili durante l'inferenza per mantenere velocità di esecuzione elevate. Nonostante queste ottimizzazioni, YOLOv7 si affidava ancora a NMS per il post-processing, causando una latenza variabile nell'analisi di scene dense.

L'approccio di YOLOv10#

YOLOv10 ha affrontato direttamente il collo di bottiglia di NMS. Introducendo assegnazioni duali coerenti durante l'addestramento, il team della Tsinghua University ha reso possibile il rilevamento end-to-end senza NMS. Questo approccio a doppia testa usa un ramo con assegnazioni uno-a-molti per fornire segnali di supervisione ricchi durante l'addestramento e un altro ramo con assegnazioni uno-a-uno per l'inferenza senza NMS. Questo cambiamento architetturale offre una latenza d'inferenza costante e ridotta, adatta all'analisi video ad alta velocità. Inoltre, YOLOv10 adotta un design olistico del modello, guidato da efficienza e precisione, eliminando la ridondanza computazionale delle generazioni precedenti.

Impatto della post-elaborazione

Eliminare il post-processing NMS accelera l'inferenza e semplifica il deployment su hardware edge per l'IA, come gli acceleratori IA e le NPU, sui quali può essere difficile compilare operazioni NMS personalizzate.

Confronto delle prestazioni#

Confrontando le metriche grezze sul dataset MS COCO, il divario generazionale diventa evidente. YOLOv10 offre un compromesso molto più favorevole tra parametri, requisiti computazionali e accuratezza.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Come mostrato sopra, YOLOv10x raggiunge un mAP superiore a YOLOv7x (54,4% contro 53,1%) usando meno della metà dei parametri (29,5M contro 71,3M). Anche i modelli leggeri YOLOv10 Nano e Small offrono velocità di deployment TensorRT elevate (1,84 ms e 2,49 ms su T4), risultando interessanti per il deployment edge.

I vantaggi dell’ecosistema Ultralytics#

Studiare gli articoli sulle architetture è utile, ma lo sviluppo moderno della computer vision si affida a framework ben mantenuti. Scegliere un modello supportato da Ultralytics è un grande vantaggio per gli sviluppatori che vogliono passare rapidamente dal prototipo alla produzione.

Sviluppo semplificato#

YOLOv10 è supportato nativamente dal pacchetto Python standard di Ultralytics, mentre i checkpoint di YOLOv7 addestrati a monte possono essere eseguiti in Ultralytics solo dopo l'esportazione in ONNX o TensorRT. Il supporto nativo garantisce facilità d'uso, sostituendo il codice boilerplate con un'API semplice e intuitiva. Durante l'addestramento, i modelli Ultralytics YOLO richiedono anche meno memoria CUDA rispetto alle pesanti architetture Transformer, consentendo batch più grandi su hardware di fascia consumer.

Versatilità#

Mentre i repository più datati si concentrano spesso esclusivamente sul rilevamento delle bounding box, il framework Ultralytics supporta un'ampia gamma di attività con modelli come YOLO26 e YOLO11. Che tu esegua il rilevamento di segmentazione di istanze, la stima della posa o il rilevamento di bounding box orientate (OBB), il flusso di lavoro rimane invariato.

Esempio di codice: flussi di lavoro di training coerenti#

Il frammento di codice seguente mostra il processo di addestramento, che gestisce automaticamente la data augmentation e la pianificazione del tasso di apprendimento:

from ultralytics import YOLO

# Carica il modello desiderato (ad es. YOLOv10 o YOLO26, consigliato)
model = YOLO("yolo26n.pt")

# Addestra il modello sul tuo dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

# Esporta in formato ONNX per una distribuzione rapida
model.export(format="onnx")

Casi d'uso e consigli#

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

Quando scegliere YOLOv10#

YOLOv10 è una scelta valida per:

  • Rilevamento in tempo reale senza NMS: applicazioni che traggono vantaggio dal rilevamento end-to-end senza soppressione non massima, riducendo la complessità della distribuzione.
  • Compromesso equilibrato tra velocità e precisione: progetti che richiedono un buon equilibrio tra velocità di inferenza e precisione di rilevamento con modelli di diverse dimensioni.
  • Applicazioni con latenza costante: scenari di distribuzione in cui i tempi di inferenza prevedibili sono fondamentali, ad esempio nella robotica o nei sistemi autonomi.

Quando scegliere YOLOv7#

YOLOv7 è consigliato per:

  • Benchmark accademici: riprodurre i risultati dello stato dell'arte del 2022 o studiare gli effetti di E-ELAN e delle tecniche del bagaglio di tecniche gratuite addestrabile.
  • Ricerca sulla riparametrizzazione: esaminare convoluzioni riparametrizzate pianificate e strategie di scalabilità composta dei modelli.
  • Pipeline personalizzate esistenti: progetti con pipeline ampiamente personalizzate e basate sull'architettura specifica di YOLOv7, difficili da ristrutturare.

Quando scegliere Ultralytics (YOLO26)#

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

  • Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
  • Ambienti solo CPU: dispositivi senza accelerazione GPU dedicata, sui quali YOLO26n è fino al 43% più veloce di YOLO11n su CPU.
  • Rilevamento di oggetti piccoli: scenari impegnativi come le immagini aeree da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti minuscoli.

Il nuovo standard: ecco YOLO26#

YOLOv10 ha rappresentato un grande passo avanti nel 2024, ma il settore evolve rapidamente. Per i nuovi sviluppi, Ultralytics consiglia il modello di ultima generazione, Ultralytics YOLO26. Rilasciato a gennaio 2026, supera YOLOv7 e YOLOv10 per l'IA visiva in tempo reale.

YOLO26 offre diversi miglioramenti pensati per gli ambienti di deployment moderni:

  • Design end-to-end senza NMS: basandosi sulle fondamenta gettate da YOLOv10, la testa uno-a-uno opzionale di YOLO26 (nms=False) salta il post-processing NMS, semplificando le pipeline di deployment e rendendo costante la velocità d'inferenza.
  • Inferenza CPU fino al 43% più veloce: YOLO26n è fino al 43% più veloce di YOLO11n su CPU, risultando adatto all'edge computing e ai dispositivi senza GPU dedicate; può inoltre ridurre i costi hardware.
  • Rimozione di DFL: eliminare Distribution Focal Loss (DFL) semplifica la logica di esportazione e migliora la compatibilità con i dispositivi edge a basso consumo.
  • Ottimizzatore MuSGD: ispirato a Kimi K2 di Moonshot AI, questo ibrido di SGD e Muon porta nella computer vision le tecniche di addestramento dei modelli linguistici di grandi dimensioni (LLM), favorendo un addestramento più stabile e una convergenza più rapida.
  • ProgLoss + STAL: una loss progressiva e una strategia di assegnazione delle etichette consapevole degli oggetti piccoli migliorano il riconoscimento degli oggetti di piccole dimensioni, un ambito storicamente impegnativo e fondamentale per droni, robotica e monitoraggio delle smart city.
  • Miglioramenti specifici per attività: YOLO26 non è solo un rilevatore. Integra una loss di segmentazione semantica che migliora la convergenza della segmentazione di istanze, la stima del log-verosimiglianza residuo (RLE) per una stima della posa più accurata e una loss angolare specializzata che risolve i problemi ai bordi delle OBB.
Gestione dei dataset e training

Per gestire i dataset, addestrare YOLO26 e distribuire i modelli nel cloud, esplora Ultralytics Platform. La sua interfaccia no-code completa il pacchetto Python.

Casi d’uso nel mondo reale#

La scelta dell'architettura giusta dipende in larga misura dai vincoli dell'hardware e dell'applicazione.

Quando usare YOLOv7#

YOLOv7 resta una scelta affidabile per mantenere pipeline legacy già integrate a fondo con le sue specifiche strutture tensoriali o per replicare benchmark accademici del 2022 e 2023. Offre buone prestazioni sulle GPU server di fascia alta.

Quando usare YOLOv10#

YOLOv10 è adatto agli scenari che richiedono una latenza costante. Poiché la sua testa senza NMS evita il post-processing che aumenta con il numero di rilevamenti, funziona bene nel conteggio di folle dense o nel rilevamento dei difetti di produzione, dove il numero di oggetti varia ma il tempo di elaborazione per fotogramma deve restare stabile.

Quando usare YOLO26#

YOLO26 è la scelta consigliata per i nuovi progetti. Dall'installazione di sistemi di allarme di sicurezza su un Raspberry Pi all'analisi video su larga scala basata sul cloud, la maggiore velocità d'inferenza su CPU e il rilevamento migliorato degli oggetti piccoli gli conferiscono un chiaro vantaggio rispetto alle generazioni precedenti.

Per gli sviluppatori interessati ad architetture alternative, Ultralytics supporta anche rilevatori basati su Transformer come RT-DETR e modelli precedenti come Ultralytics YOLO11.

Commenti