PP-YOLOE+ vs YOLO11: alla scoperta dell'evoluzione del rilevamento di oggetti ad alte prestazioni
Nel campo in rapida evoluzione della visione artificiale, la scelta dell'architettura del modello giusto è fondamentale per bilanciare accuratezza, velocità e vincoli di implementazione. Questo confronto esplora due pietre miliari significative nella storia del rilevamento: PP-YOLOE+, un rilevatore senza ancoraggio perfezionato PaddlePaddle , e YOLO11, un'iterazione all'avanguardia di Ultralytics per garantire efficienza e versatilità superiori.
Mentre PP-YOLOE+ rappresenta una soluzione matura per applicazioni industriali all'interno di contesti specifici, YOLO11 i confini delle possibilità dei dispositivi edge grazie a perfezionamenti architetturali. Inoltre, guardiamo al futuro con YOLO26, l'ultima innovazione che offre un rilevamento nativo end-to-end NMS.
Confronto delle metriche di performance
La tabella seguente fornisce un confronto diretto degli indicatori chiave di prestazione. YOLO11 dimostra un chiaro vantaggio in termini di efficienza, offrendo un'accuratezza comparabile o superiore con un numero di parametri significativamente ridotto e velocità di inferenza più elevate.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
PP-YOLOE+: Il PaddlePaddle
PP-YOLOE+ è una versione aggiornata di PP-YOLOE, sviluppata dai ricercatori di Baidu come parte del toolkit PaddleDetection. Si concentra sul miglioramento della velocità di convergenza dell'addestramento e delle prestazioni delle attività a valle del suo predecessore.
Architettura tecnica
PP-YOLOE+ è un modello senza ancoraggio che sfrutta una struttura CSPRepResNet e una strategia di Task Alignment Learning (TAL) per l'assegnazione delle etichette. Utilizza un meccanismo di attenzione ESE (Effective Squeeze-and-Excitation) unico nel suo genere all'interno del suo collo per migliorare la rappresentazione delle caratteristiche. Una scelta architettonica fondamentale è l'uso della riparametrizzazione in stile RepVGG, che consente al modello di avere dinamiche di addestramento complesse che si riducono a strutture più semplici e veloci durante l'inferenza.
Le caratteristiche principali includono:
- Testa senza ancoraggio: semplifica il design eliminando la necessità di scatole di ancoraggio predefinite.
- Task Alignment Learning (TAL): allinea dinamicamente le attività di classificazione e regressione per migliorare la precisione.
- Pre-addestramento di Object365: la versione "Plus" (+) trae grande vantaggio dal potente pre-addestramento sul vasto set di dati Objects365, che aumenta significativamente la velocità di convergenza su set di dati più piccoli.
Metadati:
- Autori: Autori di PaddlePaddle
- Organizzazione:Baidu
- Data: 2022-04-02
- Arxiv:PP-YOLOE: An Evolved Version of YOLO
- GitHub:PaddlePaddle/PaddleDetection
Limiti dell'ecosistema
Sebbene PP-YOLOE+ offra prestazioni elevate, è strettamente legato al PaddlePaddle . Gli sviluppatori abituati a PyTorch TensorFlow trovarsi di fronte a una curva di apprendimento ripida e ad attriti durante l'integrazione in pipeline MLOps esistenti che non supportano nativamente Paddle Inference.
Ultralytics YOLO11: ridefinire l'efficienza
Pubblicato da Ultralytics alla fine del 2024, YOLO11 un significativo perfezionamento della YOLO , che privilegia l'efficienza dei parametri e la capacità di estrazione delle caratteristiche. A differenza di alcune architetture incentrate sulla ricerca, YOLO11 progettato per l'implementazione nel mondo reale, bilanciando la precisione grezza con la velocità operativa.
Innovazioni Architetturali
YOLO11 il blocco C3k2, un'evoluzione più leggera e veloce del collo di bottiglia CSP, e integra C2PSA (Cross-Stage Partial with Spatial Attention) per migliorare la focalizzazione del modello sulle regioni critiche dell'immagine. Queste modifiche danno vita a un modello che è computazionalmente più economico rispetto alle iterazioni precedenti, pur mantenendo mAP competitivi.
I vantaggi per gli sviluppatori includono:
- Minore impatto sulla memoria: YOLO11 un numero significativamente inferiore di parametri rispetto a PP-YOLOE+ a parità di precisione (ad esempio, YOLO11x ha circa il 42% di parametri in meno rispetto a PP-YOLOE+x), rendendolo ideale per dispositivi edge con RAM limitata.
- Struttura unificata: supporta in modo trasparente il rilevamento, la segmentazione, la classificazione, la stima della posa e OBB.
- PyTorch : basato sul PyTorch ampiamente adottato, garantisce la compatibilità con la stragrande maggioranza dei moderni strumenti e librerie di IA.
Metadati:
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione:Ultralytics
- Data: 2024-09-27
- GitHub:ultralytics/ultralytics
- Documentazione:Documentazione YOLO11
Analisi critica: scegliere lo strumento giusto
1. Facilità d'uso ed ecosistema
È qui che la differenza è più evidente. Ultralytics sono rinomati per la loro facilità d'uso. ultralytics Python consente l'addestramento, la convalida e l'implementazione in genere con meno di cinque righe di codice.
Al contrario, PP-YOLOE+ richiede l'installazione del PaddlePaddle e la clonazione del repository PaddleDetection. La configurazione spesso comporta la modifica di file YAML complessi e l'utilizzo di script da riga di comando anziché di un'API Python, il che può rallentare la prototipazione rapida.
2. Implementazione e versatilità
YOLO11 in versatilità. Può essere esportato senza sforzo in formati come ONNX, TensorRT, CoreML e TFLite un unico comando. Questo lo rende la scelta ideale per l'implementazione su hardware diversi, dai moduli NVIDIA ai iOS
Sebbene PP-YOLOE+ possa essere esportato, il processo spesso dà la priorità a Paddle Inference o richiede passaggi di conversione intermedi (ad esempio, Paddle2ONNX) che possono causare problemi di compatibilità. Inoltre, YOLO11 una gamma più ampia di attività, come il rilevamento Oriented Bounding Box (OBB) e la segmentazione delle istanze, mentre PP-YOLOE+ è principalmente un'architettura incentrata sul rilevamento.
3. Efficienza della formazione
Ultralytics sono ottimizzati per l'efficienza dell'addestramento, spesso richiedono meno CUDA e convergono più rapidamente grazie a iperparametri preimpostati intelligenti. L'ecosistema fornisce anche una perfetta integrazione con strumenti di monitoraggio degli esperimenti come Comet e Weights & Biases, semplificando il ciclo di vita MLOps.
Prospettive Future: La Potenza di YOLO26
Per gli sviluppatori alla ricerca della tecnologia più all'avanguardia, Ultralytics introdotto YOLO26, un passo avanti rivoluzionario che supera sia YOLO11 PP-YOLOE+.
YOLO26 presenta un design nativo end-to-end NMS, una svolta innovativa introdotta per la prima volta in YOLOv10 ora perfezionata per la produzione. Ciò elimina la necessità della post-elaborazione Non-Maximum Suppression (NMS), che spesso rappresenta un collo di bottiglia in termini di latenza nelle applicazioni in tempo reale.
I principali progressi di YOLO26 includono:
- CPU fino al 43% più veloce: eliminando la Distribution Focal Loss (DFL) e ottimizzando l'architettura della testa, YOLO26 è specificamente ottimizzato per l'edge computing e gli ambienti privi di GPU potenti.
- MuSGD Optimizer: un ibrido tra SGD Muon (ispirato al Kimi K2 di Moonshot AI), questo ottimizzatore garantisce la stabilità dell'addestramento dei modelli linguistici di grandi dimensioni (LLM) alla visione artificiale, assicurando una convergenza più rapida.
- ProgLoss + STAL: funzioni di perdita avanzate che migliorano il rilevamento di oggetti di piccole dimensioni, fondamentale per attività quali immagini aeree o controllo qualità.
- Miglioramenti specifici per attività: include la perdita di segmentazione semantica per una maggiore precisione della maschera e la perdita angolare specializzata per OBB, risolvendo le discontinuità dei confini.
Raccomandazione
Per i nuovi progetti, YOLO26 è la scelta consigliata. La sua architettura NMS semplifica notevolmente le pipeline di implementazione, eliminando la complessità della regolazione IoU per la post-elaborazione.
Esempio di implementazione
Scopri la semplicità Ultralytics . Il codice seguente mostra come caricare e addestrare un modello. È possibile passare facilmente da YOLO11 YOLO26 modificando la stringa del nome del modello.
from ultralytics import YOLO
# Load the latest YOLO26 model (or use "yolo11n.pt")
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset
# The system automatically handles data augmentation and logging
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
# NMS-free output is handled automatically for YOLO26
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for simplified deployment
path = model.export(format="onnx")
Per gli utenti interessati ad altre architetture specializzate, la documentazione copre anche modelli come RT-DETR per il rilevamento basato su trasformatori e YOLO per attività con vocabolario aperto.
Conclusione
Sebbene PP-YOLOE+ rimanga una valida opzione per chi ha investito molto nell'ecosistema Baidu, YOLO11 e il più recente YOLO26 offrono un pacchetto più interessante per la comunità degli sviluppatori in generale. Con una facilità d'uso superiore, requisiti di memoria inferiori, opzioni di esportazione estese e una comunità fiorente, Ultralytics forniscono il bilanciamento delle prestazioni necessario per applicazioni di visione artificiale moderne e scalabili.