PP-YOLOE+ vs. YOLOv9: un confronto tecnico
La scelta dell'architettura ottimale per i progetti di computer vision richiede di navigare in un panorama di modelli in rapida evoluzione. Questa pagina fornisce un confronto tecnico dettagliato tra PP-YOLOE+ e YOLOv9 di Baidu. YOLOv9due sofisticati rilevatori di oggetti a singolo stadio. Analizziamo le loro innovazioni architettoniche, le metriche delle prestazioni e l'integrazione dell'ecosistema per aiutarvi a prendere una decisione informata. Sebbene entrambi i modelli dimostrino elevate capacità, rappresentano filosofie di progettazione e dipendenze dal framework distinte.
PP-YOLOE+: Elevata precisione all'interno dell'ecosistema PaddlePaddle
PP-YOLOE+ è una versione evoluta di PP-YOLOE, sviluppata da Baidu come parte della suite PaddleDetection. È stato progettato per fornire un compromesso equilibrato tra precisione e velocità di inferenza, ottimizzato in modo specifico per il sistema PaddlePaddle. PaddlePaddle per il framework di deep learning.
Autori: PaddlePaddle Autori
Organizzazione:Baidu
Data: 2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
Docs:PaddleDetection PP-YOLOE+ README
Architettura e caratteristiche principali
PP-YOLOE+ funziona come un rilevatore senza ancore e a stadio singolo. Si basa sulla struttura portante di CSPRepResNet e utilizza una strategia di Task Alignment Learning (TAL) per migliorare l'allineamento tra i compiti di classificazione e localizzazione. Una caratteristica fondamentale è l'Efficient Task-aligned Head (ET-Head), che riduce l'overhead computazionale mantenendo la precisione. Il modello utilizza una funzione di perdita varifocale per gestire lo sbilanciamento delle classi durante l'addestramento.
Punti di forza e debolezze
Il punto di forza principale di PP-YOLOE+ è l'ottimizzazione per lo stack hardware e software di Baidu. Offre modelli scalabili (s, m, l, x) che offrono buone prestazioni nei benchmark standard di rilevamento degli oggetti.
Tuttavia, la sua forte dipendenza dall'ecosistema PaddlePaddle rappresenta un ostacolo significativo per la più ampia comunità dell'IA, che preferisce in larga misura PyTorch. La migrazione dei flussi di lavoro PyTorch esistenti a PaddlePaddle può richiedere molte risorse. Inoltre, rispetto alle architetture più recenti, PP-YOLOE+ richiede un maggior numero di parametri per ottenere un'accuratezza simile, con un impatto sull'archiviazione e sulla memoria dei dispositivi limitati.
YOLOv9: informazioni programmabili sul gradiente per migliorare l'apprendimento
Ultralytics YOLOv9 introduce un cambiamento di paradigma nel rilevamento degli oggetti in tempo reale, risolvendo il problema del "collo di bottiglia dell'informazione" insito nelle reti neurali profonde.
Autori: Chien-Yao Wang e Hong-Yuan Mark Liao
Organizzazione:Institute of Information Science, Academia Sinica, Taiwan
Data: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentazioneultralytics
Architettura e caratteristiche principali
YOLOv9 integra due concetti innovativi: Programmable Gradient Information (PGI) e Generalized Efficient Layer Aggregation Network (GELAN).
- IGP: Quando le reti diventano più profonde, le informazioni sui dati di input spesso si perdono durante il processo di feedforward. L'IGP fornisce un ramo di supervisione ausiliario che assicura una generazione affidabile del gradiente, consentendo al modello di "ricordare" le caratteristiche cruciali per le attività di rilevamento e tracciamento degli oggetti senza aggiungere costi di inferenza.
- GELAN: questo design architettonico ottimizza l'efficienza dei parametri, consentendo al modello di raggiungere una maggiore precisione con meno risorse computazionali (FLOP) rispetto alle dorsali convenzionali che utilizzano la convoluzione in profondità.
Lo sapevate?
La tecnica PGI di YOLOv9 risolve il problema del collo di bottiglia dell'informazione, che in precedenza richiedeva metodi di supervisione profondi e ingombranti. Il risultato è che i modelli sono più leggeri e più precisi, migliorando in modo significativo l 'equilibrio delle prestazioni.
Punti di forza e debolezze
YOLOv9 eccelle nell'efficienza dell'addestramento e nell'utilizzo dei parametri. Raggiunge risultati all'avanguardia sul set di datiCOCO , superando le precedenti iterazioni in termini di accuratezza e mantenendo la velocità in tempo reale. La sua integrazione nell'ecosistema Ultralytics significa che beneficia di un ecosistema ben curato, che include una semplice distribuzione tramite modalità di esportazione in formati come ONNX e TensorRT.
Una potenziale considerazione è che le varianti più grandiYOLOv9) richiedono risorse significative GPU per l'addestramento. Tuttavia, l'ingombro della memoria di inferenza rimane competitivo, evitando i costi elevati associati ai modelli basati su trasformatori.
Analisi comparativa delle prestazioni
In un confronto diretto, YOLOv9 dimostra un'efficienza superiore. Ad esempio, il modello YOLOv9 raggiunge un mAP più elevato (53,0%) rispetto al PP-YOLOE+l (52,9%) pur utilizzando circa la metà dei parametri (25,3M contro 52,2M). Questa drastica riduzione delle dimensioni del modello senza compromettere l'accuratezza evidenzia l'efficacia dell'architettura GELAN.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
La tabella illustra che per obiettivi di precisione simili, YOLOv9 richiede costantemente meno risorse computazionali. Il modello YOLOv9 si spinge oltre, raggiungendo il 55,6% mAP, un chiaro vantaggio rispetto alla variante più grande PP-YOLOE+.
Il vantaggio di Ultralytics
Sebbene PP-YOLOE+ sia un rilevatore capace, la scelta di YOLOv9 attraverso il framework Ultralytics offre vantaggi evidenti in termini di facilità d'uso e versatilità.
Esperienza utente semplificata
Ultralytics privilegia un'esperienza facile per gli sviluppatori. A differenza dei complessi file di configurazione spesso richiesti da PaddleDetection, i modelli di Ultralytics possono essere caricati, addestrati e distribuiti con poche righe di codice Python . Questo riduce notevolmente la barriera d'ingresso per ingegneri e ricercatori.
Versatilità ed ecosistema
Ultralytics supporta un'ampia gamma di compiti che vanno oltre il semplice rilevamento, tra cui la segmentazione dell'istanza, la stima della posa e il rilevamento dell 'oriented bounding box (OBB). Questa versatilità consente agli sviluppatori di affrontare diverse sfide utilizzando un'unica API unificata. Inoltre, la comunità attiva e gli aggiornamenti frequenti garantiscono agli utenti l'accesso alle ultime ottimizzazioni e integrazioni con strumenti come TensorBoard e MLflow.
Esempio di codice: Utilizzo di YOLOv9
L'esempio seguente dimostra la facilità con cui è possibile eseguire l'inferenza con YOLOv9 utilizzando l'APIPython di Ultralytics . Questa semplicità contrasta con la configurazione più prolissa spesso richiesta da PP-YOLOE+.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display results
results[0].show()
Casi d'uso ideali
- PP-YOLOE+: è la soluzione più adatta per i team già profondamente integrati nell'ecosistema PaddlePaddle o per applicazioni industriali specifiche in regioni in cui il supporto hardware di PaddlePaddle è dominante.
- YOLOv9: ideale per le applicazioni che richiedono il massimo rapporto accuratezza/efficienza, come i veicoli autonomi, l'analisi video in tempo reale e l'edge deployment, dove i requisiti di memoria e di storage sono vincolanti.
Conclusione e raccomandazioni
Per la maggior parte degli sviluppatori e delle organizzazioni, YOLOv9 rappresenta la scelta migliore grazie alla sua architettura moderna (GELAN/PGI), all'efficienza superiore dei parametri e al solido supporto dell'ecosistema Ultralytics . Offre una soluzione a prova di futuro, con pesi pre-addestrati prontamente disponibili e funzionalità di esportazione senza soluzione di continuità.
Se siete alla ricerca di una versatilità e di una velocità ancora maggiori, vi consigliamo di esplorare anche il modello YOLO11, l'ultima iterazione della serie YOLO . YOLO11 perfeziona ulteriormente l'equilibrio tra prestazioni e latenza, offrendo funzionalità all'avanguardia per attività di rilevamento, segmentazione e classificazione in un pacchetto compatto.
Per chi è interessato a un cavallo di battaglia collaudato, YOLOv8 rimane un'opzione altamente affidabile, con ampie risorse della comunità e integrazioni di terze parti.