Ultralytics YOLO27:

YOLOv7 vs YOLOv10#

Negli ultimi anni il campo della computer vision ha assistito a progressi straordinari, con la famiglia di modelli YOLO (You Only Look Once) in prima linea nel rilevamento degli oggetti in tempo reale. Scegliere l'architettura giusta per i tuoi progetti di computer vision richiede una conoscenza approfondita delle opzioni disponibili. In questo confronto tecnico completo, analizzeremo le differenze principali tra due architetture fondamentali: YOLOv7 e YOLOv10.

Introduzione ai modelli#

Entrambi questi modelli rappresentano importanti traguardi nella storia dell'intelligenza artificiale, ma adottano approcci fondamentalmente diversi per risolvere le sfide del rilevamento degli 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 vengono ottimizzate le reti neurali. La ricerca originale, descritta nel loro articolo accademico e pubblicata nel loro repository GitHub ufficiale, si è concentrata fortemente sulla riparametrizzazione dell'architettura e su un «bag-of-freebies» addestrabile.

YOLOv7 sfrutta una rete estesa di aggregazione di livelli efficiente (E-ELAN) per guidare la rete nell'apprendimento di caratteristiche diversificate senza distruggere il percorso del gradiente originale. Questo lo rende una scelta solida per i benchmark di ricerca accademica e per i sistemi che dipendono fortemente 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 illustrato nella sua pubblicazione su arxiv e nel repository GitHub di Tsinghua, questo modello elimina un collo di bottiglia di lunga data nel rilevamento degli oggetti: la soppressione dei massimi non massimi (NMS).

YOLOv10 ha introdotto assegnazioni duali coerenti per l'addestramento senza NMS, modificando radicalmente la pipeline di post-elaborazione. Grazie a una strategia olistica di progettazione del modello, basata sul compromesso tra efficienza e accuratezza, YOLOv10 riduce la ridondanza computazionale. Ne risulta un'architettura concepita appositamente per i dispositivi edge che richiedono una latenza estremamente ridotta.

Scopri di più su YOLOv10

Architettura senza NMS

La rimozione della soppressione dei massimi non massimi (NMS) in YOLOv10 consente di esportare l'intero modello come un unico grafo computazionale. Questo semplifica notevolmente la distribuzione mediante runtime come TensorRT o OpenVINO.

Confronto di prestazioni e metriche#

Quando analizzi le prestazioni dei modelli, è fondamentale valutare i compromessi tra precisione, velocità e peso computazionale. La tabella seguente mostra il confronto tra le diverse dimensioni di questi modelli.

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 riportate sopra rivelano un netto divario generazionale. Sebbene YOLOv7x raggiunga un mAPval molto elevato, pari al 53,1%, richiede 71,3 milioni di parametri e 189,9 miliardi di FLOP. Al contrario, YOLOv10l supera tale accuratezza (53,3% mAP) richiedendo meno della metà dei parametri (29,5 milioni) e un numero significativamente inferiore di FLOP (120,3 miliardi). Inoltre, lo YOLOv10n altamente ottimizzato offre una straordinaria velocità di inferenza di 1,56 ms, risultando ideale per l'analisi video in tempo reale e le applicazioni mobili.

Casi d'uso nel mondo reale#

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

Quando utilizzare YOLOv7#

Grazie alla sua ricca rappresentazione delle caratteristiche, YOLOv7 eccelle negli ambienti altamente complessi. Casi d'uso come il monitoraggio del flusso del traffico in aree urbane densamente popolate, l'analisi di immagini satellitari o l'identificazione di difetti nell'automazione industriale traggono vantaggio dalla sua solida riparametrizzazione strutturale. È inoltre particolarmente apprezzato negli ambienti legacy già profondamente integrati con pipeline specifiche basate su PyTorch 1.12.

Quando utilizzare YOLOv10#

Il design leggero e senza NMS di YOLOv10 dà il meglio di sé negli ambienti con risorse limitate. È altamente consigliato per i dispositivi edge computing, come NVIDIA Jetson Nano o Raspberry Pi. Le sue prestazioni a bassa latenza lo rendono perfetto per applicazioni rapide come l'analisi sportiva, la navigazione autonoma dei droni e lo smistamento robotizzato ad alta velocità sui nastri trasportatori.

Il vantaggio dell'ecosistema Ultralytics#

Sebbene entrambi i modelli abbiano solide radici accademiche, il loro vero potenziale si esprime quando vengono utilizzati all'interno della Ultralytics Platform unificata. Sviluppare modelli di computer vision da zero è notoriamente difficile, ma l'ecosistema Ultralytics offre un'esperienza senza pari agli ingegneri del machine learning.

  • Facilità d'uso: l'API Python di Ultralytics offre un'interfaccia unificata. Puoi addestrare, convalidare ed esportare i modelli con poche righe di codice, evitando i complessi problemi di dipendenze tipici dei repository accademici.
  • Ecosistema ben gestito: Ultralytics garantisce che il codice sottostante sia sviluppato attivamente. Gli utenti beneficiano di integrazioni fluide con strumenti ML diffusi come Weights & Biases per il logging o Hugging Face per demo web rapide.
  • 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 dimensioni dei batch molto maggiori su hardware destinato al mercato consumer.
  • Versatilità: la pipeline Ultralytics non è limitata ai bounding box standard. Supporta senza problemi la stima della posa, la segmentazione delle istanze e i bounding box orientati nelle 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 sfrutti 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 tuo progetto, dai vincoli di distribuzione e dalle tue preferenze in termini di ecosistema.

Quando scegliere YOLOv7#

YOLOv7 è una scelta valida per:

  • Benchmark accademici: riprodurre i risultati dello stato dell'arte del 2022 o studiare gli effetti di E-ELAN e delle tecniche dell'insieme addestrabile di vantaggi gratuiti.
  • Ricerca sulla riparametrizzazione: analizzare convoluzioni riparametrizzate pianificate e strategie di scalabilità composta dei modelli.
  • 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 soppressione non massima, riducendo la complessità della distribuzione.
  • Compromesso equilibrato tra velocità e accuratezza: progetti che richiedono un equilibrio efficace tra velocità di inferenza e accuratezza del rilevamento su diverse dimensioni del modello.
  • Applicazioni a latenza coerente: scenari di distribuzione in cui sono fondamentali tempi di inferenza prevedibili, 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 senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
  • Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.

Il futuro: presenta YOLO26#

Sebbene YOLOv7 e YOLOv10 siano traguardi impressionanti, la frontiera dell'IA è in continua evoluzione. Rilasciato a gennaio 2026, Ultralytics YOLO26 è il nuovo standard indiscusso in termini di efficienza e accuratezza per tutti gli scenari di distribuzione edge e cloud.

Se oggi stai iniziando un nuovo progetto di computer vision, YOLO26 è l'architettura consigliata. 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-ridotta per la robotica deterministica in tempo reale.
  • Inferenza su CPU fino al 43% più veloce: rimuovendo strategicamente il modulo Distribution Focal Loss (DFL), YOLO26 accelera drasticamente l'esecuzione sull'hardware edge computing privo di GPU, diventando una soluzione estremamente potente per i dispositivi IoT.
  • Ottimizzatore MuSGD: ispirato alle recenti innovazioni nell'addestramento dei modelli linguistici di grandi dimensioni, YOLO26 integra una combinazione di SGD e Muon, stabilizzando i percorsi di addestramento e garantendo una convergenza più rapida.
  • ProgLoss + STAL: queste funzioni di perdita avanzate migliorano significativamente il riconoscimento degli oggetti di piccole dimensioni, superando una debolezza storica delle generazioni YOLO precedenti.
  • Versatilità senza pari: YOLO26 offre ottimizzazioni native specifiche per attività, come la stima della log-verosimiglianza residua (RLE) per il tracciamento della posa e funzioni di perdita angolari specializzate per il rilevamento preciso degli OBB nelle immagini aeree.

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

Contributori

Commenti