Ultralytics YOLO27:

YOLO11 vs YOLOv5#

Selezionare la giusta architettura di rete neurale è una decisione cruciale per qualsiasi iniziativa di visione artificiale. Con l'evoluzione del panorama dell'intelligenza artificiale, evolvono anche gli strumenti disponibili per sviluppatori e ricercatori. Questa guida completa fornisce un confronto tecnico approfondito tra due modelli di riferimento dell'ecosistema Ultralytics: il celebre YOLOv5 e l'avanzato YOLO11.

Che tu stia implementando modelli leggeri per applicazioni di IA edge o elaborando flussi video ad alta risoluzione su GPU cloud, comprendere le sfumature architetturali, le metriche di prestazione e i casi d'uso ideali di questi modelli ti consentirà di fare una scelta basata sui dati, adatta ai vincoli specifici della tua implementazione.

Genealogia dei modelli e dettagli tecnici#

Entrambi i modelli riflettono l'impegno di Ultralytics nella collaborazione open source, nelle prestazioni solide e nella facilità d'uso senza pari, caratteristiche che li rendono molto apprezzati dalla comunità globale del machine learning.

Dettagli su YOLO11#

Dettagli su YOLOv5#

Differenze architetturali#

L'evoluzione da YOLOv5 a YOLO11 introduce diversi profondi cambiamenti architetturali progettati per ottimizzare la precisione e l'efficienza in termini di parametri.

YOLOv5 è stato un pioniere nell'ecosistema PyTorch, introducendo un backbone CSPNet (rete a parzializzazione tra fasi) altamente ottimizzato e un neck PANet (rete di aggregazione dei percorsi). Si basava sul rilevamento con ancoraggi, che richiedeva anchor box predefinite per prevedere i confini degli oggetti. Sebbene fosse molto efficace, ottimizzare questi ancoraggi per dataset di visione artificiale personalizzati poteva essere macchinoso.

Al contrario, YOLO11 passa a un paradigma di rilevamento più moderno e privo di ancoraggi. Ciò elimina la necessità di ottimizzare manualmente le anchor box, semplificando il processo di addestramento e migliorando la generalizzazione tra dataset diversi, come il dataset COCO. Inoltre, YOLO11 presenta una head disaccoppiata, ovvero le attività di classificazione e regressione delle bounding box vengono elaborate in rami separati. Questa separazione migliora significativamente la velocità di convergenza e la precisione media (mAP), in particolare negli scenari complessi di rilevamento degli oggetti.

Metriche delle prestazioni e benchmark#

La tabella seguente confronta le metriche chiave tra modelli di dimensioni diverse. I modelli Ultralytics sono rinomati per i loro requisiti di memoria contenuti: durante l'addestramento consumano in genere meno memoria CUDA rispetto alle pesanti alternative basate su Transformer, riducendo drasticamente la barriera hardware all'ingresso.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Come si può osservare, YOLO11 raggiunge un equilibrio prestazionale molto favorevole, fornendo costantemente punteggi mAP più elevati con un numero di parametri paragonabile a quello delle controparti YOLOv5.

Metodologie di addestramento e usabilità#

Un principio fondamentale della filosofia Ultralytics è l'eccezionale facilità d'uso, supportata da un ecosistema ben mantenuto e da un ampio supporto della community.

Storicamente, YOLOv5 si basava su solidi script dell'interfaccia a riga di comando (CLI) (train.py, detect.py) per l'esecuzione. Sebbene potenti, l'integrazione diretta di questi script in applicazioni Python personalizzate richiedeva spesso soluzioni alternative.

YOLO11 ha rivoluzionato questo approccio introducendo il pacchetto Python semplificato ultralytics. Questa API unificata gestisce nativamente ogni aspetto, dall'addestramento all'esportazione dei modelli in formati come ONNX, OpenVINO e TensorRT.

Implementazione semplificata con la piattaforma Ultralytics

Per un'esperienza completamente no-code, gli sviluppatori possono utilizzare la piattaforma Ultralytics per annotare i dati, addestrare i modelli nel cloud e implementarli sui dispositivi edge senza difficoltà.

Confronto del codice#

Oggi addestrare un modello Ultralytics è incredibilmente efficiente. Ecco come puoi addestrare YOLO11 utilizzando la sua API Python nativa:

from ultralytics import YOLO

# Load a pretrained YOLO11 small model
model = YOLO("yolo11s.pt")

# Train the model on custom data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)

# Export the model to ONNX for deployment
model.export(format="onnx")

Per i sistemi legacy che utilizzano YOLOv5, l'addestramento tramite CLI è simile al seguente:

# Clone the repository and run the training script
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt

Casi d'uso ideali e applicazioni nel mondo reale#

Entrambi i modelli presentano punti di forza distinti, adatti a diversi ambienti operativi.

Quando utilizzare YOLOv5#

Nonostante appartenga a una generazione precedente, YOLOv5 rimane un modello molto potente. È altamente consigliato per:

  • Integrazione con sistemi legacy: ambienti profondamente integrati con le strutture dei tensori o le pipeline di implementazione specifiche di YOLOv5, che non possono essere facilmente rifattorizzati.
  • Baseline accademiche: ricercatori che necessitano di baseline consolidate e di lunga data per studi accademici riproducibili nell'analisi di immagini mediche.

Quando utilizzare YOLO11#

YOLO11 rappresenta la scelta ideale per le pipeline di produzione moderne grazie alla sua incredibile versatilità:

Uno sguardo al futuro: l'architettura YOLO26#

Sebbene YOLO11 rappresenti uno standard eccezionale, il settore della visione artificiale continua ad avanzare rapidamente. Gli sviluppatori che puntano al massimo livello di efficienza dovrebbero considerare anche il più recente Ultralytics YOLO26 (rilasciato a gennaio 2026).

YOLO26 rappresenta un enorme passo avanti, progettato esplicitamente sia per l'ottimizzazione edge sia per la scalabilità aziendale. Tra le innovazioni principali figurano:

  • Progettazione end-to-end senza NMS: YOLO26 è nativamente end-to-end ed elimina la post-elaborazione della soppressione non massima (NMS), per un'implementazione più rapida e semplice.
  • Rimozione della DFL: la Distribution Focal Loss è stata rimossa per semplificare l'esportazione dei modelli e migliorare la compatibilità con i dispositivi a basso consumo.
  • Ottimizzatore MuSGD: un'innovativa combinazione ibrida di SGD e Muon, che porta la stabilità dell'addestramento degli LLM nella visione artificiale per una convergenza più rapida.
  • Inferenza su CPU fino al 43% più veloce: fortemente ottimizzata per le implementazioni IoT e i dispositivi privi di GPU dedicata.
  • ProgLoss + STAL: funzioni di perdita notevolmente migliorate, che producono progressi significativi nel riconoscimento degli oggetti piccoli, fondamentale per le immagini acquisite da droni aerei.

La scelta tra YOLO11 e YOLOv5 dipende in definitiva dalla fase del ciclo di vita del tuo progetto. L'eredità di YOLOv5 è innegabile: offre stabilità estrema e il sostegno di una community enorme. Tuttavia, per qualsiasi nuovo progetto, YOLO11 è altamente consigliato rispetto alle generazioni precedenti. Combina una precisione all'avanguardia, un'API Python eccezionalmente elegante e un minore consumo di memoria durante l'addestramento, consolidando la posizione di Ultralytics all'avanguardia dell'innovazione nell'IA. Per chi vuole spingersi ancora oltre, esplorare YOLO26 all'avanguardia sulla piattaforma Ultralytics offrirà risultati senza pari.

Commenti