YOLOv7 PP-YOLOE+: confronto architettonico nel rilevamento di oggetti in tempo reale
Il panorama della visione artificiale è caratterizzato da una costante innovazione e il 2022 è stato un anno cruciale che ha visto il lancio di due architetture di grande influenza: YOLOv7 e PP-YOLOE+. Mentre YOLOv7 la tradizione della YOLO concentrandosi sull'ottimizzazione "bag-of-freebies", PP-YOLOE+ ha rappresentato la spinta di Baidu verso il rilevamento ad alte prestazioni e senza ancoraggi all'interno PaddlePaddle .
Per ricercatori e ingegneri, la scelta tra questi modelli dipende spesso dai requisiti specifici del framework (PyTorch . PaddlePaddle) e dall'hardware di implementazione. Questa guida offre un approfondito confronto tecnico delle loro architetture, metriche di prestazione e usabilità, introducendo anche alternative moderne come YOLO26, che unifica le migliori caratteristiche dei suoi predecessori in un framework end-to-end NMS.
Metriche di prestazione a confronto
La tabella seguente mette a confronto le prestazioni di YOLOv7 PP-YOLOE+ su vari modelli di diverse dimensioni. Mentre YOLOv7 solide capacità di rilevamento, PP-YOLOE+ offre un compromesso altamente competitivo tra numero di parametri e velocità di inferenza.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
YOLOv7: La potenza del "Bag-of-Freebies"
Rilasciato a metà del 2022, YOLOv7 i confini del rilevamento degli oggetti concentrandosi sull'efficienza architettonica e sulle strategie di ottimizzazione dell'addestramento che non aumentano i costi di inferenza.
- Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
- Data: 2022-07-06
- Link:Articolo su ArXiv | Repository GitHub
Caratteristiche architettoniche chiave
YOLOv7 E-ELAN (Extended Efficient Layer Aggregation Network), una nuova architettura progettata per controllare i percorsi di gradiente più brevi e più lunghi, consentendo alla rete di apprendere caratteristiche più diversificate. Ha inoltre fatto ampio uso di un "bag-of-freebies addestrabile", che include la riparametrizzazione del modello e l'assegnazione dinamica delle etichette.
Tuttavia, YOLOv7 un rilevatore basato su anchor. Sebbene questa metodologia sia collaudata, spesso richiede un'attenta messa a punto degli anchor box per i set di dati personalizzati, il che può complicare il processo di addestramento rispetto alle più recenti implementazioni senza anchor presenti in YOLOv8 o YOLO26.
PP-YOLOE+: Lo Sfidante senza Anchor
PP-YOLOE+ è un'evoluzione di PP-YOLOE, sviluppato da Baidu come parte della suite PaddleDetection. È stato progettato per ovviare ai limiti dei metodi basati su anchor, massimizzando al contempo la velocità di inferenza su hardware diversi.
- Autori: Autori di PaddlePaddle
- Organizzazione:Baidu
- Data: 2022-04-02
- Link:Articolo su ArXiv | Repository GitHub
Caratteristiche architettoniche chiave
PP-YOLOE+ utilizza un senza ancora paradigma, riducendo significativamente il numero di iperparametri. Il suo nucleo si basa sul RepResBlock (ispirato da RepVGG) e un Apprendimento basato sull'allineamento dei compiti (TAL) strategia che allinea dinamicamente le attività di classificazione e localizzazione. Ciò garantisce un'elevata precisione, in particolare a livello di x (extra-large) scala dove raggiunge un impressionante 54,7% mAP.
Considerazioni sull'ecosistema
Sebbene PP-YOLOE+ offra prestazioni eccellenti, è strettamente legato al PaddlePaddle . Gli sviluppatori abituati a PyTorch trovarsi di fronte a una curva di apprendimento ripida e ad attriti quando cercano di integrare questi modelli nelle pipeline MLOps esistenti PyTorch o quando utilizzano strumenti di distribuzione standard come TorchScript.
Confronto: Architettura e Usabilità
Anchor-Based vs. Anchor-Free
La differenza più evidente risiede nel loro approccio ai bounding box. YOLOv7 utilizza riquadri di ancoraggio predefiniti, che fungono da modelli di riferimento per il rilevamento degli oggetti. Questo funziona bene per set di dati standard come COCO , ma può avere difficoltà con oggetti di forma irregolare presenti in set di dati come DOTA-v2, a meno che non vengano restituiti manualmente.
PP-YOLOE+ non utilizza anchor, ma prevede direttamente il centro degli oggetti e la loro distanza dai confini. Ciò semplifica in generale il processo di addestramento. Ultralytics moderni Ultralytics , come YOLO11 e YOLO26, hanno anche adottato architetture completamente prive di ancoraggi e persino NMS per massimizzare la flessibilità e la velocità.
Memoria ed Efficienza
Ultralytics sono rinomati per la loro efficienza di addestramento. Mentre YOLOv7 una notevole quantità GPU per i suoi modelli più grandi a causa dei complessi percorsi di concatenazione in E-ELAN, PP-YOLOE+ ottimizza questo aspetto tramite la riparametrizzazione. Tuttavia, le iterazioni più recenti come YOLO26 superano entrambe rimuovendo componenti pesanti come la Distribution Focal Loss (DFL), con conseguente riduzione significativa dei requisiti di memoria sia durante l'addestramento che durante l'inferenza.
Il futuro: perché trasferirsi a YOLO26?
Sebbene YOLOv7 PP-YOLOE+ fossero all'avanguardia nel 2022, il settore ha registrato rapidi progressi. YOLO26, rilasciato da Ultralytics gennaio 2026, rappresenta il culmine di questi progressi, affrontando i punti critici specifici dei modelli precedenti.
Design End-to-End NMS-Free
Uno dei maggiori colli di bottiglia sia in YOLOv7 in PP-YOLOE+ è la soppressione non massima (NMS), una fase di post-elaborazione necessaria per filtrare i rilevamenti duplicati. YOLO26 è nativamente end-to-end NMS. Ciò elimina la variabilità della latenza causata dalla NMS scene affollate, rendendolo ideale per applicazioni in tempo reale come veicoli autonomi e monitoraggio del traffico.
Ottimizzato per l'Edge Computing
YOLO26 presenta la rimozione della Distribution Focal Loss (DFL). Questa semplificazione architettonica ottimizza il processo di esportazione in formati come CoreML e TFLite, garantendo una migliore compatibilità con i dispositivi a basso consumo energetico. In combinazione con le ottimizzazioni per CPU , YOLO26 offre CPU fino al 43% più elevate rispetto alle generazioni precedenti, un vantaggio fondamentale per le implementazioni IoT.
Formazione avanzata Stabilità
Ispirato dalle innovazioni nella formazione dei modelli linguistici di grandi dimensioni (LLM), YOLO26 incorpora l'ottimizzatore MuSGD, un ibrido tra SGD Muon (ispirato al Kimi K2 di Moonshot AI). Ciò si traduce in una convergenza più rapida e in cicli di formazione più stabili, riducendo il "tentativo ed errore" spesso associato alla formazione dei modelli di deep learning. Inoltre, l'inclusione di ProgLoss e STAL (Soft-Task Alignment Learning) migliora significativamente le prestazioni nel rilevamento di oggetti di piccole dimensioni, un'area in cui i modelli precedenti spesso incontravano difficoltà.
Facilità d'uso con Ultralytics
Una delle caratteristiche distintive Ultralytics è la facilità d'uso. Che utilizziate YOLOv8, YOLOv9o l'innovativo YOLO26, l'API rimane coerente e semplice.
A differenza della configurazione PaddlePaddle per PP-YOLOE+, che può richiedere CUDA specifica e l'installazione di librerie separate, Ultralytics funzionano immediatamente con uno standard pip install ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO model (YOLO26n for maximum speed)
model = YOLO("yolo26n.pt")
# Train the model on a custom dataset with a single command
# The system handles data augmentation, logging, and plots automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model.predict("path/to/image.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
Conclusione
Entrambi YOLOv7 e PP-YOLOE+ sono architetture capaci. YOLOv7 una scelta valida per chi ha investito molto YOLO classica YOLO e in PyTorch, offrendo un'elevata precisione. PP-YOLOE+ è un ottimo concorrente per gli utenti all'interno dell'ecosistema Baidu, offrendo una forte efficienza dei parametri.
Tuttavia, per gli sviluppatori alla ricerca di un ecosistema ben mantenuto, una versatilità senza pari (che spazia dal rilevamento, alla segmentazione, alla stima della posa e all'OBB) e le ultime innovazioni in termini di prestazioni, Ultralytics è la scelta migliore. Il suo design end-to-end, l'ingombro di memoria ridotto e i miglioramenti specifici per le attività (come RLE per le perdite di posa e segmentazione semantica) lo rendono la soluzione più a prova di futuro per le sfide dell'IA nel mondo reale.
Per iniziare il tuo percorso con l'intelligenza artificiale visiva più avanzata, esplora la Ultralytics per una formazione e un'implementazione senza soluzione di continuità.
Esplora altri modelli
Ti interessa vedere come si posizionano gli altri modelli? Dai un'occhiata ai nostri confronti tra YOLOv6 YOLOv7 e RT-DETR YOLOv8 per trovare quello più adatto alle esigenze del tuo progetto.