Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv8 contro YOLOv7#

Il campo della computer vision è in costante evoluzione, con nuove architetture che spingono i limiti di ciò che è possibile nella rilevazione di oggetti in tempo reale. In questo approfondimento, confrontiamo due modelli estremamente influenti: Ultralytics YOLOv8 e YOLOv7. Entrambi i modelli hanno avuto un impatto significativo sulla comunità degli sviluppatori e sulla ricerca accademica, offrendo approcci unici per risolvere compiti visivi complessi.

Comprendere le differenze strutturali e metodologiche tra questi due modelli è fondamentale per gli ingegneri di machine learning che cercano di ottimizzare le proprie pipeline di distribuzione. Mentre YOLOv7 ha introdotto un potente approccio "bag-of-freebies" su misura per il throughput grezzo, Ultralytics YOLOv8 si è concentrato sulla creazione di un ecosistema olistico e facile da usare che bilancia un'elevata precisione con un basso consumo di memoria e versatilità multi-task.

Link to this sectionUltralytics YOLOv8: Lo standard dell'ecosistema versatile#

Rilasciato da Ultralytics all'inizio del 2023, YOLOv8 rappresenta un importante cambiamento architettonico rispetto ai suoi predecessori. È stato progettato da zero per essere molto più di un semplice rilevatore di oggetti in tempo reale; è un framework unificato in grado di gestire una vasta gamma di compiti di visione fin dal primo utilizzo.

Link to this sectionInnovazioni architettoniche#

YOLOv8 ha introdotto un'innovativa head di rilevamento anchor-free. Questo semplifica fondamentalmente il processo di addestramento eliminando la necessità di configurare manualmente gli anchor box in base alla distribuzione specifica del tuo dataset personalizzato. Questa scelta di design rende il modello estremamente robusto e più facile da generalizzare in diversi ambienti.

Inoltre, l'architettura presenta il modulo C2f (Cross-Stage Partial bottleneck con due convoluzioni), un aggiornamento strutturale che migliora il flusso del gradiente e consente alla rete neurale di apprendere rappresentazioni di caratteristiche più ricche senza aumentare drasticamente il costo computazionale. Ciò rende il modello altamente efficiente durante l'esecuzione dell'inferenza tramite framework di deep learning standard come PyTorch.

Scopri di più su YOLOv8

Efficienza della memoria

I modelli Ultralytics YOLO sono progettati per la massima efficienza di addestramento. In genere richiedono molta meno memoria CUDA durante l'addestramento rispetto alle architetture basate su Transformer o CNN più pesanti. Ciò ti consente di addestrare con batch size più grandi su hardware di livello consumer, accelerando il tuo ciclo di sviluppo.

Link to this sectionYOLOv7: L'approccio "Bag-of-Freebies"#

YOLOv7 è stato introdotto a metà 2022 ed è diventato rapidamente un punto di riferimento popolare negli ambienti accademici. Si è concentrato pesantemente sulla ri-parametrizzazione architettonica e sull'ottimizzazione del percorso del gradiente per spingere i limiti del rilevamento di oggetti in tempo reale su GPU di fascia alta.

  • Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
  • Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
  • Data: 2022-07-06
  • Arxiv: 2207.02696
  • GitHub: WongKinYiu/yolov7

Link to this sectionInnovazioni architettoniche#

YOLOv7 utilizza una Extended Efficient Layer Aggregation Network (E-ELAN), che consente al modello di apprendere continuamente caratteristiche più diversificate. Si affida pesantemente a un paradigma basato su anchor e introduce un "bag-of-freebies" addestrabile: un insieme di metodi di ottimizzazione che migliorano la precisione senza aumentare il costo di inferenza.

Sebbene YOLOv7 ottenga prestazioni eccellenti su benchmark accademici standard come il MS COCO dataset, la sua architettura è fortemente ottimizzata per acceleratori di livello server. Esportare e distribuire questi modelli su dispositivi edge può a volte richiedere una configurazione più manuale rispetto a framework più moderni e snelli.

Scopri di più su YOLOv7

Link to this sectionConfronto dettagliato delle prestazioni#

Quando valuti questi modelli, il compromesso tra velocità, precisione e dimensioni del modello è la considerazione principale. La tabella seguente evidenzia le metriche per entrambi i modelli.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Come si può vedere dai dati, YOLOv8x ottiene la precisione assoluta più elevata (53.9 mAP), mentre la variante nano (YOLOv8n) offre velocità di inferenza eccezionali e un ingombro incredibilmente leggero. Questa varietà rende YOLOv8 molto più adattabile ad ambienti hardware vincolati.

Link to this sectionIl vantaggio di Ultralytics: facilità d'uso ed ecosistema#

Mentre YOLOv7 fornisce solide metriche di rilevamento grezze, Ultralytics YOLOv8 lo supera significativamente in termini di esperienza dello sviluppatore, integrazione dell'ecosistema e capacità multi-tasking.

Link to this sectionVersatilità senza pari#

YOLOv7 è principalmente un modello di rilevamento, con rami sperimentali per altri compiti. Al contrario, YOLOv8 supporta nativamente Object Detection, Instance Segmentation, Image Classification, Pose Estimation e Oriented Bounding Boxes (OBB). Questo approccio unificato significa che un team può imparare un'unica API e distribuirla su requisiti di progetto completamente diversi.

Link to this sectionDistribuzione e integrazioni semplificate#

Esportare un modello per la produzione può spesso rappresentare un collo di bottiglia. Il pacchetto Ultralytics consente agli sviluppatori di esportare in formati come ONNX, TensorRT e CoreML con una sola riga di codice Python. Questo evita i problemi di supporto degli operatori che si riscontrano talvolta durante l'esportazione di grafi complessi basati su anchor.

Inoltre, YOLOv8 si integra perfettamente con gli strumenti MLOps. Che tu stia tracciando esperimenti con Weights & Biases o testando distribuzioni su Hugging Face Spaces, l'ecosistema Ultralytics gestisce il lavoro pesante.

Link to this sectionEsempio di codice: addestramento ed esportazione di YOLOv8#

Il seguente codice dimostra la semplicità dell'API Python di Ultralytics. Puoi passare dall'inizializzazione di un modello all'addestramento e all'esportazione per la distribuzione edge in meno di dieci righe di codice.

from ultralytics import YOLO

# Load a pretrained YOLOv8 nano model for fast inference
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
# The API handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

# Export the trained model to ONNX format for deployment
model.export(format="onnx")
Flessibilità di distribuzione

L'utilizzo della funzione model.export() fornisce un ponte immediato verso motori di inferenza ad alte prestazioni, consentendoti di integrare facilmente YOLOv8 in applicazioni mobili, sistemi embedded o server cloud ad alto throughput.

Link to this sectionCasi d'uso nel mondo reale#

Le differenze architettoniche tra i due modelli dettano i loro scenari di distribuzione ideali.

Quando scegliere YOLOv8:

  • Edge AI e dispositivi IoT: La disponibilità di modelli Nano e Small ultra-veloci rende YOLOv8 perfetto per hardware con calcolo limitato, come smart camera o droni.
  • Progetti multi-task: Se la tua pipeline richiede di tracciare le articolazioni umane (Pose Estimation) mappando contemporaneamente gli ostacoli (Segmentation), YOLOv8 gestisce tutto questo nativamente.
  • Dalla prototipazione rapida alla produzione: L'ampia documentazione Ultralytics e l'API Python priva di attriti consentono ai team di portare i prodotti sul mercato più velocemente.

Quando considerare YOLOv7:

  • Benchmarking accademico: I ricercatori che studiano gli effetti delle tecniche di ri-parametrizzazione utilizzano spesso YOLOv7 come baseline standard, come riflesso dalla sua popolarità su Papers With Code.
  • Pipeline server legacy: Se una pipeline esistente ad alta intensità di calcolo è già strettamente ottimizzata attorno agli output anchor specifici di YOLOv7, mantenerla potrebbe essere pratico a breve termine.

Link to this sectionGuardando al futuro: la prossima generazione#

Sebbene YOLOv8 rimanga una potenza versatile, il panorama dell'IA si muove rapidamente. Per i team che iniziano nuovi progetti, consigliamo vivamente di esplorare i più recenti progressi nella gamma Ultralytics.

La generazione più recente, YOLO26, rappresenta l'apice dell'attuale IA visiva. È dotata di un design End-to-End NMS-Free, che elimina il post-processing Non-Maximum Suppression per una distribuzione più semplice e veloce. Con la rimozione della Distribution Focal Loss (DFL) e l'introduzione dell'ottimizzatore MuSGD ispirato agli LLM, YOLO26 offre un addestramento più stabile e un'inferenza CPU fino al 43% più veloce. Le sue funzioni di loss avanzate ProgLoss + STAL migliorano drasticamente il riconoscimento di oggetti piccoli, rendendolo la scelta definitiva per il modern edge computing e la fotografia aerea.

Per gli utenti che passano da sistemi più vecchi, anche l'altamente capace YOLO11 e il classico YOLOv5 rimangono pienamente supportati all'interno dell'ecosistema unificato Ultralytics, assicurando che, indipendentemente dai vincoli hardware, ci sia un modello snello e ad alte prestazioni pronto per la distribuzione.

Commenti