Vai al contenuto

YOLOv6.0 vs. YOLO11: un'immersione profonda nella selezione dei modelli

La scelta dell'architettura ottimale per la computer vision è una decisione cruciale per gli sviluppatori e i ricercatori che vogliono bilanciare precisione, velocità ed efficienza delle risorse. Questa analisi fornisce un confronto tecnico completo tra YOLOv6.0 e Ultralytics YOLO11esaminando le loro innovazioni architettoniche, le metriche delle prestazioni e l'idoneità alla distribuzione nel mondo reale. Mentre YOLOv6.0 ha fatto passi da gigante nelle applicazioni industriali al momento del suo rilascio, YOLO11 rappresenta l'ultima evoluzione dell'IA di visione all'avanguardia (SOTA), offrendo una maggiore versatilità e un robusto ecosistema.

YOLOv6.0

Autori: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu e Xiangxiang Chu
Organizzazione: Meituan
Data: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: YOLOv6
Docs: https:ultralytics

YOLOv6.0 è stato progettato da Meituan con un'attenzione specifica alle applicazioni industriali. Rilasciato all'inizio del 2023, è stato progettato per ottimizzare il compromesso tra velocità di inferenza e accuratezza di rilevamento, con l'obiettivo specifico di scenari in tempo reale su hardware standard.

Architettura e caratteristiche principali

L'architettura di YOLOv6.0 introduce una filosofia di progettazione "hardware-aware". Utilizza un'efficiente struttura backbone e neck per massimizzare il throughput sulle GPU. Le principali innovazioni includono l'uso di tecniche di autodistillazione durante l'addestramento, che aiutano i modelli più piccoli ad apprendere da quelli più grandi per aumentare l'accuratezza senza aumentare i costi di inferenza. Inoltre, il framework enfatizza la quantizzazione dei modelli, fornendo un supporto specifico per l'implementazione dei modelli su hardware con risorse computazionali limitate.

Punti di forza

  • Ottimizzazione industriale: È stata studiata su misura per le attività di rilevamento di oggetti industriali in cui sono definiti vincoli hardware specifici.
  • Supporto per la quantizzazione: Offre flussi di lavoro consolidati per la quantizzazione post-training, utili per le pipeline di implementazione dei bordi specifiche.
  • Varianti mobili: Include le configurazioni YOLOv6Lite ottimizzate per le CPU mobili.

Punti deboli

  • Versatilità limitata: Si limita principalmente al rilevamento degli oggetti, mancando di un supporto nativo per compiti complessi come la segmentazione delle istanze, la stima della posa o le bounding box orientate (OBB).
  • Efficienza delle risorse: Come illustrato nella sezione sulle prestazioni, i modelli YOLOv6 spesso richiedono un numero maggiore di FLOP e di parametri per raggiungere livelli di precisione paragonabili a quelli delle architetture più recenti.
  • Portata dell'ecosistema: Pur essendo open-source, l'ecosistema è meno esteso rispetto alla piattaforma Ultralytics , offrendo potenzialmente meno integrazioni per MLOps, gestione dei dati e implementazione senza soluzione di continuità.

Per saperne di più su YOLOv6

Ultralytics YOLO11

Autori: Glenn Jocher e Jing Qiu
Organizzazione: Ultralytics
Data: 2024-09-27
GitHub: ultralytics
Documenti: https:yolo11

Ultralytics YOLO11 è l'ultima iterazione della rinomata serie YOLO , che ridefinisce le aspettative in termini di prestazioni e facilità d'uso. Rilasciato alla fine del 2024, si basa su un'eredità di innovazioni per offrire un modello non solo più veloce e preciso, ma anche straordinariamente versatile in un ampio spettro di attività di computer vision.

Architettura e caratteristiche principali

YOLO11 presenta un'architettura raffinata, priva di ancore, che migliora significativamente le capacità di estrazione delle caratteristiche, riducendo al contempo l'overhead computazionale. Il design privilegia l'efficienza dei parametri, consentendo al modello di raggiungere un livello più elevato di mAP con un minor numero di parametri rispetto ai suoi predecessori e concorrenti. Questa efficienza si traduce in un minore utilizzo della memoria sia durante l'addestramento che l'inferenza, un vantaggio fondamentale rispetto ai modelli basati su trasformatori che spesso richiedono una notevole quantità di memoria GPU .

Versatilità in azione

A differenza di molti modelli specializzati, YOLO11 supporta in modo nativo il rilevamento degli oggetti, la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e il rilevamento dell 'Oriented Bounding Box (OBB) all'interno di un'unica struttura unificata.

Punti di forza

  • Equilibrio di prestazioni ineguagliabile: Offre un'accuratezza allo stato dell'arte con dimensioni del modello e FLOP significativamente ridotti, rendendola ideale sia per l'IA edge su dispositivi come NVIDIA Jetson che per le implementazioni scalabili in cloud.
  • Ecosistema completo: Grazie all'ecosistema Ultralytics , gli utenti beneficiano di aggiornamenti frequenti, di un'ampia documentazione e di una perfetta integrazione con strumenti come Ultralytics HUB per la formazione e l'implementazione.
  • Facilità d'uso: l'APIPython e la CLI semplificate consentono agli sviluppatori di passare dall'installazione all'inferenza in pochi minuti, democratizzando l'accesso all'IA avanzata.
  • Efficienza dell'addestramento: Le routine di addestramento ottimizzate e i pesi pre-addestrati disponibili garantiscono una convergenza più rapida e costi computazionali ridotti.

Punti deboli

  • Adozione della nuova architettura: Essendo una release all'avanguardia, i tutorial di terze parti e le risorse della comunità sono in rapida crescita, ma possono essere meno abbondanti di quelli per i modelli legacy come YOLOv5.

Scopri di più su YOLO11

Confronto delle prestazioni

La seguente analisi di benchmark mette in evidenza i guadagni di efficienza di YOLO11 rispetto a YOLOv6.0. Valutati sul set di datiCOCO , i dati dimostrano che i modelli Ultralytics raggiungono costantemente un'accuratezza superiore con un'impronta computazionale più leggera.

Ad esempio, il modello YOLO11m supera il modello YOLOv6.0m in termini di precisione (51,5 contro 50,0 mAP) pur utilizzando circa il 42% in meno di parametri e il 20% in meno di FLOP. Questa efficienza è fondamentale per ridurre la latenza e il consumo energetico nelle applicazioni reali.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.7
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9

Metodologie di training ed ecosistema

L'esperienza di addestramento differisce in modo significativo tra i due framework. YOLOv6 si affida a script di deep learning standard ed enfatizza l'autodistillazione per raggiungere le sue metriche di prestazioni massime, il che può aggiungere complessità alla pipeline di addestramento.

Al contrario, Ultralytics YOLO11 è progettato per la produttività degli sviluppatori. Si integra perfettamente con un moderno stack MLOps, supportando il logging automatico con Weights & Biases, Comete TensorBoard. Il processo di addestramento è altamente efficiente dal punto di vista della memoria e spesso consente l'utilizzo di lotti più grandi sullo stesso hardware rispetto ad altri rilevatori.

Esempio di facilità d'uso

YOLO11 consente di addestrare un modello personalizzato con poche righe di codice Python , mostrando la semplicità dell'API di Ultralytics :

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

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

Casi d'uso ideali

Quando si sceglie tra questi modelli, bisogna considerare i requisiti specifici del progetto:

YOLOv6.0 è un candidato valido per:

  • Sistemi industriali legacy: Ambienti in cui le specifiche ottimizzazioni hardware di YOLOv6 si adattano all'infrastruttura esistente.
  • Rilevamento statico di oggetti: Progetti in cui il requisito è il rilevamento di un riquadro di delimitazione senza la necessità di un'espansione futura alla segmentazione o alla stima della posa.

Ultralytics YOLO11 è la scelta consigliata per:

  • Applicazioni multi-task: Scenari che richiedono il rilevamento, la stima della posa e la segmentazione simultanea, come nella robotica o nell'analisi avanzata degli sport.
  • Distribuzione Edge: Applicazioni eseguite su dispositivi con risorse limitate come il Raspberry Pi, dove il basso numero di parametri e l'elevata precisione di YOLO11 forniscono le migliori prestazioni per watt.
  • Sviluppo rapido: Team che hanno bisogno di iterare rapidamente, sfruttando l'ampia documentazione e il supporto attivo della comunità per risolvere i problemi più velocemente.
  • Soluzioni commerciali: Applicazioni di livello aziendale che beneficiano della stabilità e delle opzioni di licenza offerte da Ultralytics.

Conclusione

Mentre YOLOv6.0 rimane un modello rispettabile per nicchie industriali specifiche, Ultralytics YOLO11 stabilisce un nuovo standard per la computer vision. Il suo equilibrio superiore tra precisione ed efficienza, unito alla capacità di gestire diverse attività di visione, lo rende la soluzione più versatile e a prova di futuro. I requisiti di memoria ridotti e l'ecosistema robusto e ben curato che circonda YOLO11 assicurano che gli sviluppatori possano costruire, distribuire e scalare le loro soluzioni di intelligenza artificiale con fiducia.

Per chi fosse interessato ad approfondire, la documentazione di Ultralytics offre confronti con altri modelli come YOLOv8, YOLOv10e RT-DETR.


Commenti