YOLOv5 vs. PP-YOLOE+: Un confronto tecnico per il rilevamento di oggetti
La scelta del modello ottimale di rilevamento degli oggetti è una decisione fondamentale che influisce sull'efficienza, l'accuratezza e la scalabilità dei progetti di computer vision. Questa guida completa mette a confronto Ultralytics YOLOv5, un modello leggendario rinomato per la sua usabilità e velocità, contro PP-YOLOE+, un modello ad alta precisione dell'ecosistema PaddlePaddle di Baidu. Analizzando le loro architetture, le metriche delle prestazioni e i flussi di lavoro di implementazione, ci proponiamo di aiutare sviluppatori e ricercatori a scegliere la soluzione migliore per le loro esigenze specifiche.
Ultralytics YOLOv5: lo standard per usabilità e velocità
YOLOv5, rilasciato da Ultralytics nel 2020, ha cambiato radicalmente il panorama dell'intelligenza artificiale della visione rendendo accessibile a tutti il rilevamento di oggetti all'avanguardia. A differenza dei suoi predecessori, è stato il primo modello YOLO implementato nativamente in PyTorchsemplificando il processo di addestramento e implementazione per la comunità globale dei data science. La sua filosofia progettuale privilegia l'equilibrio tra velocità di inferenza in tempo reale ed elevata precisione, il tutto racchiuso in un ecosistema incredibilmente facile da usare.
Autori: Glenn Jocher
Organizzazione:Ultralytics
Data: 2020-06-26
GitHubyolov5
Docsyolov5
Punti di forza
- Facilità d'uso: YOLOv5 è famoso per la sua esperienza "out-of-the-box". Grazie a un'APIPython semplificata e a comandiCLI intuitivi, gli sviluppatori possono iniziare la formazione su set di dati personalizzati in pochi minuti.
- Ecosistema ben curato: Sostenuto da Ultralytics, gode di aggiornamenti frequenti e di una comunità massiccia e attiva. Questo garantisce un supporto a lungo termine e una ricchezza di conoscenze condivise su piattaforme come GitHub Issues.
- Bilanciamento delle prestazioni: Offre un'eccezionale velocità di inferenza in tempo reale, in particolare su dispositivi edge come Raspberry Pi, senza sacrificare una precisione significativa.
- Versatilità: Oltre al rilevamento standard, YOLOv5 supporta la segmentazione delle istanze e la classificazione delle immagini, rendendolo uno strumento flessibile per diverse attività di visione.
PP-YOLOE+: elevata precisione nell'ecosistema della pagaia
PP-YOLOE+ è un'evoluzione della serie YOLO , sviluppata dai ricercatori di Baidu. Rilasciato nel 2022, è il modello di punta del toolkit PaddleDetection. Adotta un'architettura priva di ancore e strategie di addestramento avanzate per spingere i limiti della precisione su dataset di riferimento come COCO.
Autori: PaddlePaddle Autori
Organizzazione:Baidu
Data: 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocsPaddlePaddle
Architettura e Funzionalità
PP-YOLOE+ utilizza una spina dorsale CSPRepResNet e un'esclusiva testa di rilevamento senza prototipi. Essendo un rilevatore privo di ancore, riduce la complessità della regolazione degli iperparametri relativi alle caselle di ancoraggio. Eccelle in scenari in cui la massimizzazione della precisione media (mAP) è l'obiettivo principale, ottenendo spesso punteggi leggermente superiori rispetto a modelli comparabili basati su ancore, al costo di una maggiore complessità computazionale. Tuttavia, la sua dipendenza dal framework PaddlePaddle può presentare una curva di apprendimento per i team standardizzati su PyTorch o TensorFlow.
Analisi delle prestazioni: Metriche ed efficienza
Quando si confrontano YOLOv5 e PP-YOLOE+, il compromesso è solitamente tra la precisione grezza e l'efficienza operativa (velocità e facilità di implementazione).
Velocità e precisione
I modelli PP-YOLOE+ presentano in genere una mAP più elevata mAPval sul set di dati COCO , dimostrando la loro forza nella capacità di rilevamento puro. Ad esempio, il PP-YOLOE+l raggiunge un notevole 52,9 mAP. Tuttavia, questo risultato è spesso accompagnato da una latenza più elevata su hardware standard rispetto a YOLOv5.
Ultralytics YOLOv5 brilla in velocità di inferenza. YOLOv5n (Nano) è incredibilmente leggero e ha raggiunto 28,0 mAP con un tempo di inferenza rapidissimo di 1,12 ms su una GPU T4 utilizzando TensorRT. Questo fa di YOLOv5 la scelta superiore per applicazioni AI edge dove la latenza al millisecondo è fondamentale.
Efficienza computazionale
I modelli YOLOv5 sono stati progettati tenendo conto dei vincoli di memoria. In genere richiedono meno memoria CUDA durante l'addestramento e l'inferenza rispetto alle architetture complesse senza ancoraggio o ai modelli basati su trasformatori. Questa efficienza facilita l'implementazione su hardware a risorse limitate, come i moduli NVIDIA Jetson, senza dover ricorrere a sforzi di ottimizzazione.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Ecosistema formativo e usabilità
Le metriche "soft" dell'esperienza dello sviluppatore spesso determinano il successo di un progetto. Qui la differenza tra i due modelli è più marcata.
Ecosistema Ultralytics
YOLOv5 beneficia dell'ecosistema integrato Ultralytics , che ottimizza l'intera pipeline MLOps.
- PyTorch nativo: La costruzione su PyTorch garantisce la compatibilità con la maggior parte degli strumenti e delle librerie open-source.
- Integrazioni senza soluzione di continuità: Supporto integrato per Weights & Biases, Comete ClearML rendono facile il tracciamento degli esperimenti.
- Efficienza della formazione: I pesi pre-addestrati sono prontamente disponibili e scaricati automaticamente, consentendo un rapido apprendimento per trasferimento.
- Distribuzione: La modalità di esportazione supporta la conversione con un solo clic in ONNX, CoreML, TFLitee altro ancora.
Semplificare il flusso di lavoro con Ultralytics HUB
Con Ultralytics HUB è possibile addestrare, visualizzare in anteprima e distribuire i modelli YOLOv5 senza scrivere una sola riga di codice. Questa piattaforma basata sul web gestisce i dataset e gli allenamenti, rendendo l'intelligenza artificiale visionaria accessibile a team di ogni livello.
Ecosistema PaddlePaddle
PP-YOLOE+ si basa su PaddlePaddle, il framework di deep learning di Baidu. Pur essendo potente e popolare in Asia, ha un'impronta minore nella comunità di ricerca occidentale rispetto a PyTorch. L'adozione di PP-YOLOE+ spesso richiede la creazione di un ambiente separato e l'apprendimento della sintassi specifica di Paddle (paddle.io, paddle.nn). Mentre il documentazione è completo, l'ecosistema di strumenti di terze parti e il supporto della comunità sono meno estesi di quelli di YOLOv5.
Esempio di codice: Semplicità di YOLOv5
Il seguente codice Python dimostra come sia facile caricare un modello YOLOv5 pre-addestrato ed eseguire l'inferenza utilizzando PyTorch Hub.
import torch
# Load a YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image source
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results to console
results.print()
# Show the image with bounding boxes
results.show()
Casi d'uso reali
Dove eccelle YOLOv5
- Automazione industriale: La sua elevata velocità consente di rilevare i difetti in tempo reale su linee di assemblaggio in rapido movimento.
- Robotica autonoma: Il basso overhead di memoria lo rende ideale per i robot con calcolo limitato a bordo, come quelli utilizzati nella logistica.
- Applicazioni per le città intelligenti: Le prestazioni efficienti CPU consentono un'implementazione su larga scala per il monitoraggio del traffico sull'infrastruttura esistente.
Dove si inserisce PP-YOLOE
- Ricerca ad alta precisione: Progetti accademici in cui spremere l'ultimo 1% di mAP è più importante della velocità di inferenza.
- Ambienti centrati sulla pagaia: Ambienti aziendali che hanno già investito pesantemente nell'infrastruttura dell'ecosistema Baidu.
Conclusione: qual è il modello giusto per te?
Per la maggior parte degli sviluppatori e delle applicazioni commerciali, Ultralytics YOLOv5 rimane la scelta consigliata. La sua impareggiabile facilità d'uso, il solido supporto della comunità e la flessibilità di distribuzione ne fanno una soluzione a basso rischio e alto rendimento. La capacità di essere distribuito praticamente su qualsiasi piattaforma, dai telefoni cellulari ai server cloud, con un attrito minimo, gli conferisce un vantaggio decisivo negli ambienti di produzione.
PP-YOLOE+ è una valida alternativa per gli utenti che necessitano di un'architettura priva di ancore o per quelli già integrati nel flusso di lavoro di PaddlePaddle . La sua elevata precisione è lodevole, ma la frammentazione dell'ecosistema può rallentare lo sviluppo per chi è abituato ai flussi di lavoro standard PyTorch .
Esplora altri modelli
La computer vision si muove velocemente. Sebbene il confronto con questi modelli consolidati sia prezioso, vi invitiamo a esplorare i più recenti progressi della famiglia Ultralytics YOLO , che offrono prestazioni e funzionalità ancora maggiori.
- YOLO11: l'ultimo modello all'avanguardia che offre una precisione e un'efficienza superiori per il rilevamento, la segmentazione e la stima della posa.
- YOLOv8: un framework unificato molto popolare che supporta compiti di OBB e classificazione.
- RT-DETR: un rilevatore basato su trasformatore ottimizzato per prestazioni in tempo reale.
Per una visione più ampia, consultate la nostra pagina principale di confronto dei modelli per confrontare le diverse architetture con i vostri requisiti specifici.