Vai al contenuto

PP-YOLOE+ vs. YOLOv7: un approfondimento tecnico sulle architetture di rilevamento degli oggetti

La scelta del modello ottimale di rilevamento degli oggetti comporta un bilanciamento tra precisione, velocità di inferenza e complessità di implementazione. Due contendenti significativi in questo panorama sono PP-YOLOE+ e YOLOv7entrambi rilasciati nel 2022 con l'obiettivo di migliorare le prestazioni dello stato dell'arte. Questa analisi completa esplora le loro architetture uniche, i benchmark e l'idoneità per le applicazioni reali, aiutando gli sviluppatori a prendere decisioni basate sui dati.

Confronto tra le metriche delle prestazioni

La tabella seguente presenta un confronto diretto delle principali metriche di prestazione, tra cui la precisione media (mAP) e la velocità di inferenza sull'hardware supportato. Questi dati aiutano a visualizzare i compromessi tra l'approccio senza ancore di PP-YOLOE+ e l'architettura ottimizzata di YOLOv7.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

PP-YOLOE+: Rilevamento raffinato senza ancoraggio

PP-YOLOE+ è un'evoluzione della serie YOLO , sviluppata dai ricercatori di Baidu. Si basa sui punti di forza del suo predecessore, PP-YOLOE, introducendo miglioramenti al processo di addestramento e all'architettura per migliorare ulteriormente la velocità di convergenza e le prestazioni delle attività a valle. Essendo un rilevatore privo di ancore, elimina la necessità di scatole di ancoraggio predefinite, semplificando la progettazione e riducendo la regolazione degli iperparametri.

Scopri di più su PP-YOLOE+

Punti salienti dell'architettura

L'architettura di PP-YOLOE+ è caratterizzata da una dorsale CSPResNet dotata di campi recettivi variabili per catturare efficacemente le caratteristiche su più scale. Un'innovazione fondamentale è l'Efficient Task-aligned Head (ET-head), che disaccoppia i compiti di classificazione e regressione, garantendone l'allineamento attraverso una specifica funzione di perdita.

PP-YOLOE+ utilizza il Task Alignment Learning (TAL), una strategia di assegnazione delle etichette che seleziona dinamicamente i campioni positivi in base all'allineamento della qualità di classificazione e localizzazione. Ciò garantisce che il modello si concentri su previsioni di alta qualità durante l'addestramento. Inoltre, il modello impiega una strategia di addestramento distribuita ed evita l'uso di operatori non standard, facilitando l'implementazione su diverse piattaforme hardware supportate dall'ecosistema PaddlePaddle .

Caratteristica principale: Design senza ancoraggi

Eliminando le caselle di ancoraggio, PP-YOLOE+ riduce la complessità associata alle fasi di raggruppamento e corrispondenza delle ancore. Questo spesso porta a una migliore generalizzazione su insiemi di dati diversi in cui gli oggetti possono avere rapporti di aspetto estremi.

YOLOv7: ottimizzato per la velocità in tempo reale

YOLOv7 al suo rilascio ha stabilito un nuovo punto di riferimento per il rilevamento degli oggetti in tempo reale, puntando molto sull'efficienza architettonica e sui metodi "bag-of-freebies", tecniche che aumentano l'accuratezza senza aumentare il costo dell'inferenza. È stato progettato per superare i precedenti modelli all'avanguardia, come YOLOR e YOLOv5 , sia in termini di velocità che di precisione.

Per saperne di più su YOLOv7

Innovazioni architettoniche

YOLOv7 ha introdotto la Extended Efficient Layer Aggregation Network (E-ELAN). Questo design della dorsale consente alla rete di apprendere più caratteristiche diverse controllando i percorsi di gradiente più brevi e più lunghi, migliorando la capacità di apprendimento senza distruggere il percorso di gradiente originale.

Un altro contributo significativo è l'uso della riparametrizzazione del modello. Durante l'addestramento, il modello utilizza una struttura a più rami che viene fusa in una struttura più semplice a singolo ramo per l'inferenza. Questo permette a YOLOv7 di beneficiare di ricche rappresentazioni di caratteristiche durante l'apprendimento, mantenendo al contempo un'elevata velocità di implementazione. Il modello impiega anche teste ausiliarie per l'addestramento delle reti profonde, utilizzando una strategia di assegnazione delle etichette guidata da una traccia "coarse-to-fine".

Analisi comparativa: Punti di forza e di debolezza

Quando si decide tra questi due potenti modelli, è essenziale considerare i requisiti specifici del progetto di computer vision.

Precisione e velocità

PP-YOLOE+ offre una gamma granulare di modelli. Il PP-YOLOE+s è altamente efficiente per i dispositivi edge, mentre PP-YOLOE+x raggiunge un mAP di alto livello, anche se con una frequenza di fotogrammi inferiore. YOLOv7 eccelle nello "sweet spot" del rilevamento in tempo reale, offrendo spesso FPS più elevati su hardware GPU per un determinato livello di precisione rispetto a molti concorrenti. Per applicazioni ad alta produttività come monitoraggio del trafficoL'ottimizzazione dell'inferenza di YOLOv7 è vantaggiosa.

Ecosistema e usabilità

Una delle principali distinzioni risiede nei loro ecosistemi. PP-YOLOE+ è profondamente radicato nel framework PaddlePaddle . Pur essendo potente, può presentare una curva di apprendimento più ripida per i team abituati principalmente a PyTorch. YOLOv7 è nativo di PyTorch, il che lo rende generalmente più accessibile a una comunità di ricerca più ampia.

Tuttavia, entrambi i modelli possono essere complessi da addestrare e mettere a punto rispetto agli standard moderni. YOLOv7 comporta complessi calcoli di ancoraggio e sensibilità degli iperparametri, mentre PP-YOLOE+ richiede la navigazione nelle configurazioni di rilevamento delle pale.

Il vantaggio di Ultralytics : Perché fare l'upgrade?

Sebbene PP-YOLOE+ e YOLOv7 siano modelli eccellenti, il campo dell'IA si muove rapidamente. I modelli Ultralytics , come YOLOv8 e lo stato dell'arte YOLO11rappresentano la nuova generazione dell'IA visiva e risolvono molte delle sfide di usabilità ed efficienza riscontrate nelle architetture precedenti.

Esperienza utente ed ecosistema superiori

Ultralytics dà la priorità alla facilità d'uso. A differenza dei complessi file di configurazione spesso richiesti da altri framework, i modelli di Ultralytics possono essere addestrati, validati e distribuiti con poche righe di codice Python o semplici comandi CLI .

  • API unificata: Passare da un'attività all'altra come il rilevamento degli oggetti, la segmentazione delle istanze, la classificazione, la stima della posa e l'OBB senza soluzione di continuità.
  • Ecosistema ben curato: Beneficia di aggiornamenti frequenti, di una comunità fiorente e di un'ampia documentazione che aiuta a risolvere rapidamente i problemi.
  • Integrazione: Supporto nativo per il tracciamento degli esperimenti (MLflow, Comet), la gestione dei set di dati e l'esportazione semplificata dei modelli in formati come ONNX, TensorRT e CoreML.

Prestazioni ed efficienza

I modelli Ultralytics sono progettati per ottenere un equilibrio ottimale delle prestazioni. Spesso raggiungono un'accuratezza superiore a quella di YOLOv7 con un minor overhead computazionale. Inoltre, sono progettati per essere efficienti dal punto di vista della memoria, richiedendo meno CUDA di memoria CUDA durante l'addestramento rispetto a molte alternative basate su trasformatori o alle vecchie versioni di YOLO . Questa efficienza nell'addestramento consente iterazioni più rapide e costi di cloud computing inferiori.

Esempio di codice: Semplicità in azione

Scoprite quanto sia semplice addestrare un modello Ultralytics moderno rispetto ai flussi di lavoro tradizionali:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model (recommended for best performance)
model = YOLO("yolo11n.pt")

# Train the model on a dataset (e.g., COCO8)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

# Export to ONNX format for deployment
model.export(format="onnx")

Progetti a prova di futuro

L'adozione del framework Ultralytics vi garantisce di non utilizzare solo un modello, ma una piattaforma che si evolve. Con il supporto delle ultime versioni di Python e agli acceleratori hardware più recenti, si riduce il debito tecnico e si garantisce la manutenibilità a lungo termine delle proprie soluzioni di intelligenza artificiale.

Conclusione

PP-YOLOE+ rimane una scelta forte per chi ha investito nell'ecosistema PaddlePaddle , offrendo una robusta architettura senza ancoraggi. YOLOv7 continua a essere un'opzione formidabile per i progetti che richiedono un throughput GPU grezzo. Tuttavia, per gli sviluppatori che cercano una soluzione versatile, facile da usare e ad alte prestazioni che copra l'intero spettro delle attività di computer vision, Ultralytics YOLO11 è la soluzione consigliata.

Esplora altri modelli

Ampliate la vostra comprensione del panorama del rilevamento degli oggetti con questi confronti:


Commenti