Link to this sectionDAMO-YOLO vs YOLOv7#
La rapida evoluzione della computer vision ha prodotto modelli di object detection altamente efficienti, progettati per bilanciare precisione e costi computazionali. Due modelli degni di nota introdotti nel 2022 sono DAMO-YOLO e YOLOv7. Sebbene entrambi mirino a superare i limiti delle attività di visione in tempo reale, raggiungono i loro risultati attraverso paradigmi architetturali e metodologie di addestramento profondamente diversi.
Questo confronto tecnico completo esplora gli approcci distinti di entrambi i modelli, esaminandone le architetture, il potenziale di implementazione e le metriche di performance per aiutare gli ingegneri di machine learning a scegliere lo strumento giusto per le loro specifiche computer vision applications.
Link to this sectionOrigini e metadati dei modelli#
Prima di immergersi nell'analisi tecnica approfondita, è essenziale contestualizzare le origini di questi due modelli di computer vision.
Link to this sectionDAMO-YOLO#
Sviluppato dai ricercatori di Alibaba Group, DAMO-YOLO è stato introdotto per ottimizzare sia la velocità che l'accuratezza attraverso la ricerca automatizzata dell'architettura e la distillazione.
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organizzazione: Alibaba Group
- Data: 23 novembre 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Link to this sectionYOLOv7#
Rilasciato come stato dell'arte a metà 2022, YOLOv7 ha spinto ulteriormente la real-time inference introducendo "bag-of-freebies" addestrabili senza aumentare i costi di implementazione.
- Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
- Data: 6 luglio 2022
- Arxiv: 2207.02696
- Documentazione: Documentazione YOLOv7
YOLOv7 è supportato ufficialmente all'interno dell'ecosistema Ultralytics, consentendo addestramento, validazione ed esportazione senza problemi con una API unificata.
Link to this sectionInnovazioni architettoniche#
Link to this sectionDAMO-YOLO: NAS e distillazione#
DAMO-YOLO incorpora diverse tecniche all'avanguardia orientate alla massima efficienza:
- Backbone NAS: Utilizza la Neural Architecture Search (NAS) per progettare automaticamente backbone ottimali (MAE-NAS) su misura per ambienti in cui la latenza è critica.
- Efficient RepGFPN: Una Generalized Feature Pyramid Network modificata che migliora significativamente l'efficienza della fusione delle feature su scale multiple.
- ZeroHead & AlignedOTA: Incorpora una head di rilevamento leggera e una strategia di assegnazione delle etichette ottimizzata (AlignedOTA) per ridurre l'overhead computazionale.
- Potenziamento tramite distillazione: Sfrutta pesantemente la knowledge distillation durante l'addestramento per aumentare le prestazioni di varianti di modello più piccole senza aumentarne il conteggio dei parametri.
Link to this sectionYOLOv7: E-ELAN e Bag-of-Freebies#
YOLOv7 ha adottato un approccio di ingegneria strutturale più marcato, concentrandosi sull'ottimizzazione del percorso del gradiente e su strategie di addestramento robuste.
- Architettura E-ELAN: L'Extended Efficient Layer Aggregation Network consente al modello di apprendere feature più diversificate controllando i percorsi del gradiente più brevi e più lunghi, garantendo una convergenza dell'apprendimento efficace.
- Scalabilità del modello: Introduce un metodo di scaling composto su misura per modelli basati sulla concatenazione, scalando profondità e larghezza simultaneamente per un allineamento strutturale.
- Bag-of-Freebies addestrabile: Impiega tecniche come le convoluzioni riparametrizzate (RepConv) senza connessioni di identità e strategie dinamiche di assegnazione delle etichette, che aumentano l'accuratezza durante l'addestramento senza influire sulla velocità di inferenza.
Link to this sectionAnalisi delle prestazioni#
Quando si valuta la mean Average Precision (mAP), la velocità e l'efficienza, entrambi i modelli mostrano metriche impressionanti, sebbene puntino a segmenti leggermente diversi. YOLOv7 si concentra pesantemente sull'implementazione su GPU ad alta precisione, mentre le strutture derivate da NAS di DAMO-YOLO mirano a un'implementazione aggressiva a bassa latenza su CPU ed edge.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | params (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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Come si vede dalle metriche, mentre DAMO-YOLO fornisce varianti estremamente leggere (come il modello tiny con soli 8.5M di parametri), YOLOv7 raggiunge un picco di precisione complessiva più elevato, con YOLOv7x che raggiunge un impressionante 53.1 mAP sul dataset COCO.
Link to this sectionIl vantaggio dell'ecosistema Ultralytics#
Sebbene l'architettura teorica sia importante, la praticità di un modello è dettata dal suo ecosistema. I modelli supportati da Ultralytics, come YOLOv7, beneficiano di un ecosistema ben mantenuto e di una facilità d'uso senza pari.
- Bilanciamento delle prestazioni: I modelli Ultralytics raggiungono costantemente un compromesso ottimale tra velocità di inferenza e precisione di rilevamento, rendendoli ideali sia per dispositivi edge che per model deployment basato su cloud.
- Requisiti di memoria: A differenza dei modelli più pesanti basati su Transformer, i modelli YOLO di Ultralytics mantengono bassi requisiti di memoria CUDA durante l'addestramento. Ciò consente batch sizes più grandi, semplificando il processo di addestramento anche su hardware consumer.
- Versatilità: Il framework Ultralytics si estende oltre l'object detection ad attività come Instance Segmentation e Pose Estimation, fornendo agli sviluppatori un toolkit completo per la computer vision.
Il pacchetto Ultralytics ti consente di passare senza problemi dai dataset a un modello completamente addestrato in pochi minuti, sfruttando data loader altamente ottimizzati e pesi pre-addestrati.
Link to this sectionEsempio di codice: Addestramento di YOLOv7 con Ultralytics#
Integrare YOLOv7 nella tua pipeline di computer vision è incredibilmente semplice utilizzando la Python API di Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and validate results
metrics = model.val()
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)Link to this sectionIl nuovo standard: introduzione di YOLO26#
Mentre YOLOv7 e DAMO-YOLO hanno rappresentato scoperte significative nel 2022, il campo della vision AI si muove rapidamente. Per i team che avviano nuovi progetti oggi, il modello consigliato è l'all'avanguardia Ultralytics YOLO26, rilasciato a gennaio 2026.
YOLO26 porta un salto generazionale nelle prestazioni e nell'usabilità, incorporando innovazioni all'avanguardia:
- Design NMS-Free end-to-end: YOLO26 è nativamente end-to-end. Eliminando la post-elaborazione Non-Maximum Suppression (NMS), offre una logica di implementazione più veloce e semplice: un cambio di paradigma inizialmente sperimentato da YOLOv10.
- Ottimizzatore MuSGD: Ispirato dalle innovazioni nei grandi modelli linguistici come il Kimi K2 di Moonshot AI, YOLO26 utilizza un ibrido di SGD e Muon. Questo ottimizzatore garantisce dinamiche di addestramento altamente stabili e tassi di convergenza drasticamente più rapidi.
- Fino al 43% di inferenza CPU più veloce: Con la rimozione mirata della Distribution Focal Loss (DFL) e profondi miglioramenti strutturali, YOLO26 è pesantemente ottimizzato per l'edge computing a basso consumo, superando le generazioni precedenti su hardware non GPU.
- ProgLoss + STAL: Incorpora nuove funzioni di loss avanzate che mirano esplicitamente a migliorare il riconoscimento di oggetti piccoli, una capacità essenziale per le applicazioni in immagini aeree, robotica e security monitoring.
- Miglioramenti specifici per attività: Oltre al rilevamento standard, YOLO26 presenta miglioramenti su misura per diverse attività, tra cui la prototipazione multiscala per la segmentazione, RLE per la pose estimation e loss angolari specifiche per Oriented Bounding Boxes (OBB).
Link to this sectionCasi d'uso ideali#
Scegliere l'architettura giusta dipende interamente dal tuo ambiente di implementazione target e dai vincoli del progetto.
Quando scegliere DAMO-YOLO:
- Stai lavorando in ambienti edge fortemente vincolati e limitati nelle risorse, dove il conteggio grezzo dei parametri deve essere mantenuto estremamente basso (es. microcontrollori).
- Stai utilizzando pipeline di machine learning automatizzate integrate specificamente con i servizi cloud proprietari di Alibaba.
Quando scegliere YOLOv7:
- Hai pipeline GPU legacy già ottimizzate per l'inferenza basata su anchor ad alta precisione.
- Operi in ambienti in cui l'accuratezza in tempo reale è fondamentale, come autonomous vehicles ad alta velocità o robotics avanzata.
Quando scegliere YOLO26 (Consigliato):
- Stai costruendo una nuova applicazione di computer vision da zero e hai bisogno del massimo stato dell'arte sia in precisione che in velocità di inferenza su CPU/edge.
- Richiedi un'implementazione rapida e senza problemi (come l'esportazione in CoreML o TensorRT) senza doverti occupare dei vincoli dell'operatore NMS.
- Vuoi utilizzare tutte le funzionalità della Ultralytics Platform per l'addestramento nel cloud, la gestione dei dataset e l'implementazione automatizzata.
Sfruttando il robusto ecosistema dei modelli Ultralytics, gli sviluppatori possono ridurre drasticamente i tempi di ingegneria garantendo al contempo prestazioni predittive di alto livello per le loro applicazioni nel mondo reale.