PP-YOLOE+ vs. YOLOv10: Confronto tra moderni rilevatori di oggetti
Il panorama del rilevamento di oggetti in tempo reale si è evoluto rapidamente, spinto dalla necessità di modelli che bilancino un'elevata precisione con una bassa latenza. Due contributi significativi in questo campo sono PP-YOLOE+, sviluppato da Baidu come parte della suite PaddleDetection, e YOLOv10, una versione accademica dell'Università di Tsinghua che ha introdotto l'addestramento NMS.
Questa guida fornisce un confronto tecnico dettagliato di queste architetture, esaminandone le metriche di prestazione, le metodologie di addestramento e l'idoneità per varie applicazioni di visione artificiale. Sebbene entrambi i modelli offrano capacità impressionanti, evidenziamo anche come Ultralytics e i modelli più recenti come YOLO26 forniscano un percorso più unificato ed efficiente per l'implementazione.
Panoramica del modello e specifiche tecniche
Comprendere la provenienza e la filosofia di progettazione di ciascun modello aiuta a selezionare lo strumento giusto per le vostre specifiche esigenze ingegneristiche.
PP-YOLOE+
PP-YOLOE+ è una versione aggiornata di PP-YOLOE, incentrata sul perfezionamento del meccanismo senza ancoraggio e sull'efficienza della formazione. È profondamente integrata nel PaddlePaddle .
- Autori:PaddlePaddle
- Organizzazione:Baidu
- Data: aprile 2022
- Riferimento:arXiv:2203.16250
- Architettura chiave: utilizza una struttura CSPRepResNet con una strategia di assegnazione delle etichette Task Alignment Learning (TAL). Si basa su un design standard senza ancoraggi.
YOLOv10
YOLOv10 ha segnato un cambiamento significativo nella YOLO introducendo un design end-to-end che elimina la necessità della soppressione non massima (NMS) durante l'inferenza.
- Autori: Ao Wang, Hui Chen, et al.
- Organizzazione:Tsinghua University
- Data: maggio 2024
- Riferimento:arXiv:2405.14458
- Architettura chiave: presenta doppie assegnazioni coerenti per la formazione NMS e un modello di progettazione olistico basato sull'efficienza e l'accuratezza.
Benchmark delle prestazioni
La tabella seguente mette a confronto i modelli sul COCO . Le metriche chiave includono la precisione media (mAP) e la velocità di inferenza su diverse configurazioni hardware. Da notare i significativi miglioramenti in termini di efficienza YOLOv10 , in particolare nel numero di parametri.
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Analisi delle prestazioni
YOLOv10 un'efficienza superiore, raggiungendo spesso una precisione simile o superiore con un numero significativamente inferiore di parametri. Ad esempio, YOLOv10x raggiunge quasi lo stesso mAP PP-YOLOE+x ma con circa il 42% di parametri in meno, rendendolo molto più adatto per l'implementazione edge con limitazioni di memoria.
Architettura: approfondimento
PP-YOLOE+ Design
PP-YOLOE+ è basato sulle solide fondamenta di PP-YOLOv2. Utilizza una struttura scalabile chiamata CSPRepResNet, che combina connessioni residue con reti parziali cross-stage per migliorare il flusso del gradiente. La testa è priva di ancoraggi, semplificando lo spazio di ricerca degli iperparametri rispetto ai predecessori basati su ancoraggi come YOLOv4.
Tuttavia, PP-YOLOE+ si basa su complesse fasi di post-elaborazione. Sebbene accurato, il ricorso NMS introdurre colli di bottiglia di latenza in scene affollate in cui molti riquadri di delimitazione si sovrappongono.
YOLOv10 : elaborazione end-to-end
YOLOv10 un cambiamento di paradigma eliminando NMS . Ciò è possibile grazie a doppie assegnazioni coerenti:
- Assegnazione uno-a-molti: utilizzata durante l'addestramento per fornire segnali di supervisione ricchi.
- Assegnazione uno a uno: utilizzata per l'inferenza al fine di garantire previsioni univoche per ciascun oggetto.
Questo allineamento consente di implementare il modello senza il sovraccarico computazionale derivante dall'ordinamento e dal filtraggio delle caselle, un vantaggio significativo per le applicazioni in tempo reale.
Ecosistema e facilità d'uso
L'ecosistema che circonda un modello è spesso importante quanto l'architettura stessa. È qui che la differenza tra i modelli PaddlePaddle e quelli Ultralytics diventa più evidente.
Il vantaggio di Ultralytics
Sia YOLOv10 il più recente YOLO26 sono supportati dalPython Ultralytics , garantendo agli sviluppatori un'esperienza senza interruzioni.
- API unificata: passa da un modello all'altro (ad esempio da YOLOv8 YOLOv10 YOLO26) modificando un unico argomento stringa.
- Integrazione della piattaforma: gli utenti possono sfruttare la Ultralytics per gestire set di dati, visualizzare i cicli di formazione e distribuire modelli su endpoint web ed edge con pochi clic.
- Ampio supporto all'esportazione: mentre PP-YOLOE+ è ottimizzato per l'inferenza Paddle, Ultralytics esportano in modo nativo su ONNX, TensorRT, CoreMLe OpenVINO, coprendo una gamma più ampia di hardware di implementazione.
from ultralytics import YOLO
# Load a pretrained YOLOv10 model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX for broad compatibility
path = model.export(format="onnx")
Workflow di PP-YOLOE+
PP-YOLOE+ richiede generalmente l'installazione di PaddlePaddle la clonazione del repository PaddleDetection. Questo ecosistema è potente ma può essere meno accessibile per gli utenti abituati ai PyTorch standard PyTorch . Il processo di esportazione spesso dà la priorità al motore Paddle Inference, che può richiedere ulteriori passaggi di conversione per l'implementazione generica.
Il Futuro: YOLO26
Mentre YOLOv10 il concetto NMS, il recente rilascio di YOLO26 affina e amplia queste innovazioni.
YOLO26 è nativamente end-to-end NMS, garantendo la massima velocità di inferenza possibile senza ritardi di post-elaborazione. È dotato dell'ottimizzatore MuSGD, un ibrido di SGD Muon (ispirato all'addestramento LLM), che garantisce una convergenza stabile. Inoltre, con la rimozione della Distribution Focal Loss (DFL), YOLO26 è significativamente più facile da esportare ed eseguire su dispositivi edge a bassa potenza.
Per gli sviluppatori che cercano il massimo in termini di velocità e precisione, in particolare per il rilevamento di oggetti di piccole dimensioni tramite ProgLoss e STAL, YOLO26 è il percorso di aggiornamento consigliato.
Casi d'uso reali
Quando scegliere PP-YOLOE+
- Implementazione su Baidu Cloud: se la tua infrastruttura è già basata su Baidu Cloud o utilizza Paddle Serving, PP-YOLOE+ offre un'ottimizzazione nativa.
- Hardware specifico: alcuni chip AI destinati al mercato asiatico offrono supporto specializzato per i modelli PaddlePaddle .
Quando scegliere Ultralytics YOLOv10 YOLO26)
- Edge Computing: con CPU fino al 43% più veloce in YOLO26, questi modelli sono ideali per Raspberry Pi, Jetson Nano o implementazioni mobili.
- Compiti complessi: oltre al rilevamento, la Ultralytics supporta la stima della posa, la segmentazione delle istanze e il rilevamento di oggetti orientati (OBB), consentendo di affrontare diversi problemi con un unico strumento.
- Prototipazione rapida: la facilità di formazione e convalida consente ai team di iterare rapidamente, un fattore cruciale negli ambienti di sviluppo agile.
Efficienza della Memoria
YOLO Ultralytics sono rinomati per il loro basso impatto sulla memoria. A differenza delle architetture basate su trasformatori che consumano grandi quantità di CUDA , YOLO efficienti come YOLO26 consentono di utilizzare batch di dimensioni maggiori su GPU di fascia consumer, democratizzando l'accesso alla formazione AI di fascia alta.
Conclusione
Sia PP-YOLOE+ che YOLOv10 modelli efficaci. PP-YOLOE+ è una scelta eccellente per PaddlePaddle , mentre YOLOv10 i limiti dell'efficienza grazie al suo design NMS. Tuttavia, per un'esperienza di sviluppo ottimizzata, un supporto hardware più ampio e funzionalità all'avanguardia come l'ottimizzatore MuSGD e ProgLoss, Ultralytics si distingue come la scelta migliore per i moderni ingegneri di visione artificiale.
Per esplorare altre opzioni, prendi in considerazione YOLOv8 o il sistema basato su trasformatori RT-DETR per scenari che richiedono un'elevata precisione.