YOLOv6.0 vs. YOLO: un confronto tecnico per il rilevamento di oggetti
La scelta della giusta architettura di computer vision è una decisione cruciale per ingegneri e ricercatori. Il panorama del rilevamento degli oggetti è competitivo, con giganti industriali che spingono costantemente i confini della velocità e della precisione. Questa pagina fornisce un confronto tecnico completo tra YOLOv6.0, un modello efficiente dal punto di vista hardware di Meituan, e YOLO, un'architettura ricca di tecnologia di Alibaba Group.
Panoramica di YOLOv6.0
YOLOv6.0 è un framework robusto e specifico per le applicazioni industriali. Rilasciato dal dipartimento Vision AI di Meituan, dà la priorità all'efficienza del mondo reale, con l'obiettivo di fornire prestazioni elevate su vincoli hardware standard che si trovano nella produzione e nell'automazione.
- Autori: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu e Xiangxiang Chu
- Organizzazione:Meituan
- Data: 2023-01-13
- Arxiv:YOLOv6 v3.0: Una ricarica in scala reale
- GitHub:YOLOv6
- Documenti:Documentazione diUltralytics YOLOv6
Architettura e Innovazioni Chiave
YOLOv6.0 perfeziona il paradigma del rivelatore a singolo stadio, concentrandosi sulla riparametrizzazione. Questa tecnica permette al modello di avere una struttura complessa durante l'addestramento per un migliore apprendimento, ma di collassare in una struttura più semplice e veloce durante l'inferenza.
- Backbone EfficientRep: Il backbone utilizza blocchi distinti per le diverse dimensioni dei modelli (EfficientRep per i modelli piccoli e CSPStackRep per quelli più grandi), ottimizzando l'utilizzo delle capacità hardware GPU .
- Collo Rep-PAN: Il collo impiega una topologia Rep-PAN, migliorando la fusione delle caratteristiche e mantenendo un'elevata velocità di inferenza.
- Autodistillazione: Una metodologia di addestramento chiave in cui il modello impara dalle sue stesse previsioni (in particolare, da un ramo insegnante all'interno della stessa rete) per migliorare l'accuratezza senza il costo computazionale di un modello insegnante separato durante la distribuzione.
Ottimizzazione industriale
YOLOv6 è stato progettato tenendo conto della quantizzazione. La sua architettura è favorevole alla quantizzazione post-training (PTQ) e all'addestramento consapevole della quantizzazione (QAT), il che lo rende un ottimo candidato per l'implementazione su dispositivi edge in cui la precisione INT8 è preferita alla velocità.
Panoramica su DAMO-YOLO
YOLO, sviluppato da Alibaba Group, introduce una serie di nuove tecnologie per ottimizzare il compromesso tra prestazioni e latenza. Si distingue per l'integrazione di un'architettura di ricerca neurale (NAS) e di tecniche avanzate di fusione delle caratteristiche.
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organizzazione:Gruppo Alibaba
- Data: 2022-11-23
- Arxiv:YOLO: una relazione sulla progettazione del rilevamento di oggetti in tempo reale
- GitHub:YOLO
- Documenti:YOLO GitHub README
Architettura e Innovazioni Chiave
YOLO si allontana dalle architetture puramente artigianali, affidandosi in parte a strategie di ricerca automatizzate per trovare strutture efficienti.
- Dorsale alimentata da NAS (MazeNet): Il backbone viene generato utilizzando MAE-NAS (Neural Architecture Search), ottenendo una struttura chiamata MazeNet altamente ottimizzata per vari budget computazionali.
- RepGFPN efficiente: Utilizza una rete di piramidi di caratteristiche generalizzate (GFPN) combinata con la riparametrizzazione. Ciò consente una ricca fusione di caratteristiche multiscala, fondamentale per rilevare oggetti di varie dimensioni.
- ZeroHead: un design semplificato della testa di rilevamento che riduce il numero di parametri e la complessità computazionale nella fase finale della rete.
- AlignedOTA: una strategia di assegnazione dinamica delle etichette che risolve il disallineamento tra compiti di classificazione e regressione durante il processo di formazione.
Fusione di funzioni avanzate
Il collo RepGFPN di YOLO è particolarmente efficace nel gestire scene complesse con oggetti sovrapposti. Consentendo connessioni di salto tra diversi livelli di scala, conserva le informazioni semantiche meglio delle strutture FPN standard.
Analisi delle prestazioni: Velocità contro precisione
Il seguente confronto utilizza i dati del set di datiCOCO val2017. Le metriche evidenziano i compromessi tra i due modelli su diverse scale.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| 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 |
Punti chiave
- Leader nella latenza:YOLOv6.0n è il modello più veloce di questo confronto, con una velocità di 1,17 ms su una GPU T4. Questo lo rende eccezionalmente adatto ai requisiti di alta velocità in scenari di inferenza in tempo reale.
- Picco di precisione:YOLOv6.0l raggiunge la massima precisione con un mAP di 52,8, dimostrando l'efficacia della sua strategia di backbone pesante e di autodistillazione, sebbene al costo di parametri e FLOP più elevati rispetto a YOLO.
- Efficienza:DAMO-YOLOs supera YOLOv6.0s in accuratezza (46,0 vs 45,0 mAP) pur avendo meno parametri (16,3M vs 18,5M). Ciò evidenzia l'efficienza della dorsale di ricerca NAS nel regime dei piccoli modelli.
- Efficienza dei parametri: In generale, i modelli YOLO presentano FLOP e conteggi di parametri inferiori per un'accuratezza paragonabile nell'intervallo medio-grande, convalidando l'efficacia del design ZeroHead.
Il vantaggio di Ultralytics
Mentre YOLOv6.0 e YOLO offrono funzionalità interessanti per nicchie specifiche, Ultralytics YOLO11 offre una soluzione più olistica per lo sviluppo dell'IA moderna. La scelta di un modello Ultralytics sblocca un ecosistema completo progettato per ottimizzare l'intero ciclo di vita dell'apprendimento automatico.
Perché scegliere Ultralytics YOLO?
- Facilità d'uso senza pari: A differenza dei repository di ricerca che spesso richiedono complesse configurazioni dell'ambiente e la compilazione di operatori C++ personalizzati, i modelli di Ultralytics possono essere installati tramite un semplice
pip install ultralytics. L'intuizione API Python permette di addestrare e distribuire modelli in poche righe di codice. - Equilibrio delle prestazioni: YOLO11 è stato progettato per offrire un equilibrio ottimale tra velocità di inferenza e accuratezza, superando spesso i concorrenti nei benchmark del mondo reale e mantenendo al contempo requisiti di memoria inferiori durante l'addestramento.
- Versatilità dei compiti: Mentre YOLOv6 e YOLO sono principalmente rilevatori di oggetti, Ultralytics YOLO supporta in modo nativo un'ampia gamma di attività, tra cui la segmentazione delle istanze, la stima della posa, la classificazione e il rilevamento di OBB (Oriented Bounding Box).
- Ecosistema ben curato: Ultralytics offre un ecosistema vivo con aggiornamenti frequenti, un'ampia documentazione e il supporto della comunità tramite Discord e GitHub. Questo assicura che il vostro progetto rimanga a prova di futuro e compatibile con le ultime librerie hardware e software.
- Flessibilità di distribuzione: Esportazione facile dei modelli addestrati in vari formati, come ad esempio ONNXTensorRT, CoreML e OpenVINO grazie alla modalità di esportazione integrata, che facilita la distribuzione su qualsiasi supporto, dai server cloud ai dispositivi Raspberry Pi.
Esempio: Esecuzione del rilevamento di oggetti con YOLO11
Con Ultralytics, iniziare a rilevare lo stato dell'arte è molto semplice:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Conclusione
Sia YOLOv6.0 che YOLO rappresentano tappe significative nell'evoluzione del rilevamento degli oggetti. YOLOv6.0 eccelle negli ambienti industriali dove la velocità grezza e il supporto della quantizzazione sono fondamentali, in particolare con la sua variante Nano. YOLO mette in mostra la potenza dell'architettura neurale di ricerca e l'innovativa fusione di funzioni, offrendo un'elevata efficienza e precisione nella gamma di modelli medio-piccoli.
Tuttavia, per gli sviluppatori che cercano una soluzione pronta per la produzione che combini prestazioni all'avanguardia con versatilità e facilità d'uso, Ultralytics YOLO11 rimane la scelta consigliata. Il suo robusto ecosistema, le sue capacità multitasking e la sua perfetta integrazione nei moderni flussi di lavoro MLOps offrono un netto vantaggio per garantire il successo del progetto.
Esplora altri modelli
Per ampliare la comprensione del panorama del rilevamento degli oggetti, considerate l'opportunità di esplorare questi modelli a confronto:
- YOLO11 vs. YOLOv6
- DAMO-YOLO contro YOLOv8
- DAMO-YOLO contro RT-DETR
- YOLOv6 vs. EfficientDet
- DAMO-YOLO contro YOLOX