YOLO . PP-YOLOE+: un approfondimento tecnico sul rilevamento di oggetti industriali
Nel competitivo campo del rilevamento di oggetti in tempo reale, due modelli si sono affermati come pietre miliari significative per le applicazioni industriali: YOLO, sviluppato da Alibaba Group, e PP-YOLOE+, il rilevatore di punta PaddlePaddle di Baidu. Entrambe le architetture danno priorità all'equilibrio tra velocità di inferenza e accuratezza di rilevamento, ma raggiungono questi obiettivi attraverso filosofie ingegneristiche molto diverse.
Questa guida completa analizza le loro innovazioni architetturali, confronta le loro metriche di prestazione e presenta Ultralytics , un modello di nuova generazione che ridefinisce gli standard di facilità d'uso e implementazione edge.
Panoramica su DAMO-YOLO
YOLO Distillation-Augmented MOdel) è stato introdotto per superare i limiti delle prestazioni sfruttando la progettazione automatizzata dell'architettura e tecniche di formazione avanzate.
Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
Organizzazione:Alibaba Group
Data: 23 novembre 2022
Arxiv:YOLO
GitHub:YOLO
Innovazioni Architetturali
YOLO dal tradizionale design manuale incorporando la ricerca dell'architettura neurale (NAS). I suoi componenti principali includono:
- Backbone MAE-NAS: la struttura backbone viene individuata automaticamente utilizzando il metodo dei bordi ausiliari (MAE-NAS) per massimizzare il throughput in presenza di specifici vincoli di latenza.
- RepGFPN: un design heavyneck basato sulla Generalized Feature Pyramid Network (GFPN). Utilizza dimensioni dei canali variabili su diversi livelli di scala per ottimizzare la fusione delle caratteristiche senza il pesante costo computazionale delle tipiche BiFPN.
- ZeroHead: una testa di rilevamento leggera che riduce al minimo la complessità dei livelli di previsione finali, consentendo di risparmiare millisecondi fondamentali durante l'inferenza.
- AlignedOTA: una strategia migliorata di assegnazione delle etichette che risolve i problemi di disallineamento tra le attività di classificazione e regressione durante l'addestramento.
Punti di forza e debolezze
Il principale punto di forza diYOLO il suo design orientato alla latenza. Utilizzando il NAS, ottiene la massima precisione da un budget computazionale specifico. Tuttavia, questa complessità può essere un'arma a doppio taglio: l'architettura basata sul NAS può essere difficile da modificare o mettere a punto per set di dati personalizzati rispetto alle architetture progettate manualmente. Inoltre, la sua dipendenza dalla distillazione (in cui un grande modello insegnante guida lo studente) aggiunge complessità alla pipeline di addestramento.
Panoramica PP-YOLOE+
PP-YOLOE+ è la versione evoluta di PP-YOLOE, che costituisce la pietra miliare della suite PaddleDetection. Si concentra principalmente sulla versatilità di implementazione su cloud e edge.
Autori: PaddlePaddle
Organizzazione:Baidu
Data: 2 aprile 2022
Arxiv:PP-YOLOE Documento
GitHub:PaddlePaddle
Innovazioni Architetturali
PP-YOLOE+ si basa sul paradigma senza ancoraggi, ponendo l'accento sul perfezionamento e sulla stabilità dell'allenamento:
- CSPRepResStage: la struttura principale utilizza una struttura CSP (Cross Stage Partial) scalabile con blocchi residui riparametrizzabili, consentendo l'estrazione di caratteristiche complesse durante l'addestramento e operazioni semplificate durante l'inferenza.
- Task Alignment Learning (TAL): uno schema dinamico di assegnazione delle etichette che allinea esplicitamente i punti di ancoraggio con gli oggetti di riferimento in base sia al punteggio di classificazione che IoU Intersection over Union).
- Squeeze-and-Excitation (ESE) efficace: un meccanismo di attenzione integrato nella struttura portante per migliorare la rappresentazione delle caratteristiche ricalibrando le risposte delle caratteristiche per canale.
Punti di forza e debolezze
PP-YOLOE+ eccelle nell'integrazione dell'ecosistema. Essendo parte del PaddlePaddle , offre un forte supporto per diversi obiettivi di implementazione, tra cui GPU lato server e dispositivi mobili. Tuttavia, le sue prestazioni sui PyTorch standard possono essere ostacolate dalla necessità di convertire i modelli o adattarsi alla sintassi specifica PaddlePaddle , il che può creare attrito per gli sviluppatori abituati allo standard PyTorch .
Confronto delle prestazioni
La tabella seguente evidenzia le differenze di prestazioni tra i due modelli sul COCO .
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
Analisi
- Modelli piccoli (Nano/Tiny):YOLO offreYOLO una maggiore precisione (mAP) per le varianti tiny, dimostrando l'efficacia della sua struttura ottimizzata NAS in ambienti con risorse limitate. Tuttavia, PP-YOLOE+t ha un numero di parametri significativamente inferiore (4,85 milioni contro 8,5 milioni), il che potrebbe essere preferibile per dispositivi con risorse di archiviazione estremamente limitate.
- Modelli medio-grandi: con l'aumentare delle dimensioni del modello, PP-YOLOE+ tende a scalare meglio in termini di accuratezza, superandoYOLO categorie medio-grandi (ad esempio, 52,9 mAP 50,8 mAP i modelli grandi).
- Velocità di inferenza:YOLO una latenza superiore su TensorRT per la maggior parte delle dimensioni, confermando la validità della sua ricerca architettonica "latency-first". Al contrario, PP-YOLOE+s mostra una velocità sorprendentemente efficiente (2,62 ms), rendendolo un forte concorrente per specifiche applicazioni in tempo reale.
Il Vantaggio Ultralytics: YOLO26
MentreYOLO PP-YOLOE+ offrono caratteristiche interessanti per nicchie specifiche, Ultralytics rappresenta il prossimo passo evolutivo nella visione artificiale, superando i limiti di entrambi i predecessori attraverso cambiamenti radicali nell'architettura e miglioramenti nell'usabilità.
Perché YOLO26 è la scelta migliore
- Progettazione end-to-end NMS: a differenza YOLO PP-YOLOE+ e YOLO tradizionali che richiedono la soppressione non massima (NMS) per filtrare i riquadri sovrapposti, YOLO26 è nativamente end-to-end. Ciò elimina un importante collo di bottiglia nell'implementazione, riducendo la varianza della latenza e semplificando il processo di esportazione in formati come ONNX e CoreML.
- CPU senza pari: ottimizzato specificamente per l'edge computing, YOLO26 offre CPU fino al 43% più veloce rispetto alle generazioni precedenti. Ciò è fondamentale per le applicazioni in esecuzione su Raspberry Pi, telefoni cellulari o istanze cloud standard in cui le GPU non sono disponibili.
- Stabilità dell'addestramento avanzato: YOLO26 incorpora MuSGD Optimizer, un ibrido di SGD Muon (ispirato all'addestramento LLM), che garantisce una convergenza più rapida e un addestramento più stabile, anche con set di dati personalizzati complessi.
- Architettura semplificata: l'eliminazione della perdita focale di distribuzione (DFL) semplifica la struttura del modello, migliorando la compatibilità con dispositivi edge a bassa potenza e acceleratori che hanno difficoltà con funzioni di perdita complesse.
- Ecosistema olistico: con la Ultralytics , gli utenti hanno accesso a una pipeline senza soluzione di continuità per la gestione dei dati, la formazione sul cloud e l'implementazione con un solo clic.
Versatilità oltre ogni immaginazione
A differenza diYOLO si concentra principalmente sul rilevamento, YOLO26 supporta nativamente una gamma completa di attività, tra cui segmentazione delle istanze, stima della posa, OBB (Oriented Bounding Box) e classificazione.
Facilità d'uso
Una delle caratteristiche distintive dei Ultralytics è l'esperienza dello sviluppatore. MentreYOLO PP-YOLOE+ possono richiedere file di configurazione complessi o conoscenze specifiche del framework, YOLO26 può essere implementato con poche righe di codice.
from ultralytics import YOLO
# Load the latest YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
Casi d'uso reali
- Smart Retail: utilizza la velocità di YOLO26 per monitorare in tempo reale le scorte sugli scaffali senza costosi GPU .
- Agricoltura: sfruttate le funzioni ProgLoss + STAL per migliorare il riconoscimento di oggetti di piccole dimensioni, essenziale per rilevare parassiti o contare i raccolti nelle immagini riprese dai droni.
- Produzione: implementare modelli NMS per il controllo qualità ad alta velocità sulle linee di assemblaggio dove la latenza costante è imprescindibile.
Conclusione
La scelta del modello giusto dipende dai vostri vincoli specifici. YOLO è una scelta eccellente per la ricerca sulle architetture NAS e gli scenari che danno priorità a specifici obiettivi TensorRT . PP-YOLOE+ è un'opzione robusta per chi è profondamente integrato nell'ecosistema Baidu e richiede un'elevata precisione su hardware di livello server.
Tuttavia, per la stragrande maggioranza degli sviluppatori e delle aziende alla ricerca di una soluzione a prova di futuro, facile da usare e altamente versatile, Ultralytics si distingue. Il suo design end-to-end, CPU superiori CPU e il supporto di una vivace comunità open source lo rendono la scelta definitiva per le moderne applicazioni di visione artificiale.
Per gli utenti interessati ad altre opzioni all'avanguardia, esplorate YOLO11 o il sistema basato su trasformatori RT-DETR nella Ultralytics .