Vai al contenuto

YOLOv10 vs. PP-YOLOE+: Un confronto tecnico completo

La scelta del giusto modello di rilevamento degli oggetti è un passo fondamentale nello sviluppo di applicazioni di visione artificiale efficienti. La scelta spesso implica la valutazione di compromessi tra velocità di inferenza, precisione di rilevamento e vincoli hardware. Questo confronto tecnico analizza YOLOv10, un rilevatore end-to-end in tempo reale della Tsinghua University, e PP-YOLOE+, un modello ad alta precisione dell'ecosistema PaddlePaddle di Baidu. Entrambi i modelli introducono innovazioni architettoniche significative, ma rispondono a esigenze di implementazione e ambienti di sviluppo diversi.

YOLOv10: il nuovo standard per il rilevamento end-to-end in tempo reale

YOLOv10 rappresenta un salto significativo nella serie YOLO (You Only Look Once), concentrandosi sull'eliminazione dei colli di bottiglia delle prestazioni associati alla post-elaborazione tradizionale. Sviluppato dai ricercatori della Tsinghua University, raggiunge una latenza più bassa e una maggiore efficienza eliminando la necessità della soppressione non massimaNMS).

Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
Organizzazione:Tsinghua University
Data: 2024-05-23
ArXiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics

Architettura e caratteristiche principali

YOLOv10 introduce una strategia di assegnazione duale coerente durante l'addestramento. Questo metodo consente al modello di prevedere un singolo box migliore per ogni oggetto durante l'inferenza, eliminando di fatto la necessità di una post-elaborazioneNMS . Questo designNMS" riduce significativamente la latenza di inferenza, soprattutto nelle scene con gruppi di oggetti densi.

I principali progressi architettonici includono:

  • Progettazione olistica dell'efficienza e della precisione: Il modello impiega teste di classificazione leggere e un downsampling disaccoppiato per canale spaziale per ridurre il costo computazionale(FLOP) senza sacrificare la precisione.
  • Progettazione a blocchi guidata dal ranking: Per ottimizzare il compromesso tra velocità e precisione, i diversi stadi del modello utilizzano design a blocchi diversi, riducendo la ridondanza negli strati profondi.
  • Convoluzioni a grande nocciolo: L'uso strategico delle convoluzioni large-kernel migliora il campo recettivo, consentendo al modello di comprendere meglio il contesto e di detect oggetti di piccole dimensioni.

Punti di forza e debolezze

YOLOv10 è stato progettato per garantire la massima efficienza e rappresenta una scelta formidabile per le applicazioni in tempo reale.

  • Punti di forza: L'eliminazione dell'NMS porta a velocità di inferenza più elevate e deterministiche. Offre un'efficienza superiore dei parametri, raggiungendo punteggimAP elevati con un numero inferiore di parametri rispetto ai predecessori. La sua integrazione nell'ecosistema Ultralytics ne garantisce la facilità di addestramento e di implementazione tramite una semplice APIPython .
  • Punti deboli: Essendo un rilevatore di oggetti specializzato, attualmente si concentra principalmente sul rilevamento dei riquadri di delimitazione, mentre altri modelli della suite Ultralytics supportano una gamma più ampia di compiti come la segmentazione e la stima della posa.

Casi d'uso ideali

  • Robotica autonoma: La natura a bassa latenza di YOLOv10 è fondamentale per la robotica, dove sono necessarie decisioni in una frazione di secondo per la navigazione e l'evitamento degli ostacoli.
  • Implementazione dell'intelligenza artificiale in ambito edge: Con varianti di dimensioni ridotte come YOLOv10, è perfettamente adatto a dispositivi edge come NVIDIA Jetson o Raspberry Pi.
  • Monitoraggio del traffico: La capacità del modello di gestire scene dense senza il sovraccarico dell'NMS lo rende ideale per la gestione del traffico in tempo reale.

Per saperne di più su YOLOv10

PP-YOLOE+: Ingegneria di precisione nell'ecosistema PaddlePaddle

PP-YOLOE+ è un'evoluzione della serie PP-YOLOE, sviluppata da Baidu. È stato progettato come un rilevatore scalabile e privo di ancore che privilegia l'alta precisione. È il modello di punta della serie PaddlePaddle ottimizzato specificamente per questo ambiente.

Autori: PaddlePaddle Autori
Organizzazione:Baidu
Data: 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocsPaddlePaddle

Architettura e caratteristiche principali

PP-YOLOE+ adotta un'architettura priva di ancore, che semplifica lo spazio di ricerca degli iperparametri rispetto ai predecessori basati sulle ancore.

Le caratteristiche principali includono:

  • Dorsale CSPRepResNet: Questo backbone combina i vantaggi del flusso di gradienti di CSPNet con l'efficienza di inferenza dei blocchi ResNet ri-parametrizzati.
  • Task Alignment Learning (TAL): una strategia di assegnazione delle etichette specializzata che allinea dinamicamente la qualità della classificazione delle ancore con l'accuratezza della localizzazione.
  • Testa efficiente allineata ai compiti (ET-Head): Una testa di rilevamento disaccoppiata che elabora le caratteristiche di classificazione e localizzazione in modo indipendente per evitare conflitti.

Punti di forza e debolezze

PP-YOLOE+ è un modello robusto, ma comporta delle dipendenze che possono influire sull'adozione.

  • Punti di forza: Offre un'eccellente accuratezza su benchmark come COCOin particolare nelle configurazioni più grandi (L e X). È altamente ottimizzato per l'hardware supportato dal motore di inferenza PaddlePaddle .
  • Punti deboli: Il limite principale è la sua dipendenza dall'ecosistema PaddlePaddle . Per gli sviluppatori abituati a PyTorchla migrazione a PP-YOLOE+ comporta una curva di apprendimento più ripida e un potenziale attrito nell'integrazione degli strumenti. Inoltre, il numero di parametri è significativamente più alto rispetto a YOLOv10 per un'accuratezza paragonabile, il che comporta un maggiore utilizzo di memoria.

Casi d'uso ideali

  • Ispezione industriale: L'elevata precisione lo rende adatto a rilevare difetti minimi nella produzione.
  • Analitica per il commercio al dettaglio: Efficace per il conteggio delle scorte e il riconoscimento dei prodotti negli ambienti di vendita al dettaglio intelligenti.
  • Selezione dei materiali: Utilizzato negli impianti di riciclaggio per lo smistamento automatico di diversi materiali.

Scopri di più su PP-YOLOE+

Analisi delle prestazioni: Efficienza e precisione

Quando si confrontano le metriche tecniche, YOLOv10 dimostra un chiaro vantaggio in termini di efficienza. Raggiunge un'accuratezza comparabile o superioremAP) utilizzando un numero significativamente inferiore di parametri e risorse computazionali (FLOP).

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

Punti chiave

  • Efficienza: YOLOv10l raggiunge un mAP più elevato (53,3%) rispetto a PP-YOLOE+l (52,9%), pur utilizzando quasi il 44% di parametri in meno. Ciò rende YOLOv10 significativamente più leggero da memorizzare e più veloce da caricare.
  • Velocità: il design NMS di YOLOv10 si traduce in una latenza più bassa su tutta la linea. Ad esempio, YOLOv10n è eccezionalmente veloce, con una velocità di 1,56 ms, ed è quindi ideale per l'analisi video ad alta velocità.
  • Scalabilità: Sebbene PP-YOLOE+x abbia un leggero vantaggio in termini di mAP grezzo (0,3% in più), richiede quasi il doppio dei parametri (98,42M contro 56,9M) e dei FLOP rispetto a YOLOv10x.

Efficienza della memoria

I modelli Ultralytics come YOLOv10 e YOLO11 presentano in genere requisiti di memoria inferiori sia durante l'addestramento che l'inferenza rispetto alle architetture più vecchie o ai modelli pesanti basati su trasformatori. Questa efficienza consente di ottenere batch di dimensioni maggiori e cicli di addestramento più rapidi su hardware GPU standard.

Il vantaggio di Ultralytics

Sebbene entrambi i modelli siano capaci, la scelta di un modello all'interno dell'ecosistemaUltralytics , come YOLOv10 o l'avanzatissimo YOLOv10 , è un'ottima scelta. YOLO11-offre vantaggi distinti agli sviluppatori.

  1. Facilità d'uso: l'APIPython di Ultralytics elimina il codice boilerplate complesso. È possibile addestrare, convalidare e distribuire un modello con poche righe di Python.
  2. Ecosistema ben curato: Gli utenti beneficiano di aggiornamenti frequenti, di una vivace comunità su GitHub e di integrazioni perfette con gli strumenti MLOps come Ultralytics HUB e Weights & Biases.
  3. Versatilità: Oltre al rilevamento standard degli oggetti, i framework Ultralytics supportano la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e il rilevamento degli OBB (oriented bounding box), offrendo una soluzione unificata per diverse attività di computer vision.

Esempio di codice: Esecuzione di YOLOv10 con Ultralytics

L'integrazione di YOLOv10 nel flusso di lavoro è semplice grazie alla libreria Ultralytics :

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model.predict("path/to/image.jpg")

# Display the results
results[0].show()

Conclusione

Nel confronto tra YOLOv10 e PP-YOLOE+, YOLOv10 emerge come la scelta migliore per la maggior parte delle applicazioni di computer vision generiche. La sua architetturaNMS risolve un collo di bottiglia di lunga data nella latenza di rilevamento degli oggetti e l'uso altamente efficiente dei parametri lo rende accessibile per l'implementazione su una gamma più ampia di hardware, dai dispositivi edge ai server cloud.

PP-YOLOE+ rimane un forte concorrente per gli utenti strettamente legati al framework PaddlePaddle o per coloro che danno priorità a guadagni marginali in termini di precisione rispetto all'efficienza computazionale. Tuttavia, per gli sviluppatori che cercano un equilibrio tra velocità, precisione e facilità d'uso, YOLOv10il più ampio ecosistema Ultralytics - offre un percorso più sicuro per il futuro e più facile da sviluppare.

Esplora altri modelli

Se siete interessati a esplorare altre opzioni all'interno dell'ecosistema Ultralytics , considerate di controllare questi confronti:

  • YOLO11 contro YOLOv10: Scoprite come l'ultimo modello di punta si confronta con l'efficiente YOLOv10.
  • YOLOv10 vs. RT-DETR: Confronto tra trasformatori in tempo reale e architetture YOLO basate su CNN.
  • YOLOv8 vs. PP-YOLOE+: Analizzare le prestazioni dell'ampiamente adottato YOLOv8 rispetto al modello di Baidu.

Commenti