YOLOv7 vs DAMO-YOLO#
Le paysage de la détection d’objets en temps réel évolue constamment, les chercheurs et les ingénieurs s’efforçant de trouver l’équilibre optimal entre vitesse et précision. Dans cette comparaison technique, nous examinerons en profondeur deux architectures remarquables de 2022 : YOLOv7 et DAMO-YOLO. Les deux modèles ont introduit des concepts novateurs dans la communauté de la vision par ordinateur, en répondant à différents défis liés à l’entraînement des modèles, à la conception architecturale et au déploiement.
Origines des modèles et détails techniques#
Avant d’examiner leurs architectures, il est essentiel de comprendre les origines de ces deux modèles. Tous deux ont été développés par des groupes de recherche de premier plan et ont introduit des méthodologies avancées pour repousser les limites de la détection d’objets en temps réel.
Détails de YOLOv7#
Développé dans la continuité de la famille YOLO, YOLOv7 a introduit le concept de « bag-of-freebies » entraînables afin d’améliorer considérablement la précision sans augmenter le coût de l’inférence.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 2022-07-06
- Arxiv : https://arxiv.org/abs/2207.02696
- GitHub : https://github.com/WongKinYiu/yolov7
- Documentation : https://docs.ultralytics.com/models/yolov7
Détails de DAMO-YOLO#
Créé par des chercheurs d’Alibaba Group, DAMO-YOLO s’est fortement concentré sur la recherche d’architecture neuronale (NAS) et la distillation avancée des connaissances afin de créer des modèles très efficaces pour divers matériels.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : Alibaba Group
- Date : 2022-11-23
- Arxiv : https://arxiv.org/abs/2211.15444v2
- GitHub : https://github.com/tinyvision/DAMO-YOLO
Innovations architecturales#
YOLOv7 : analyse des chemins de gradient et reparamétrage#
YOLOv7 s’appuie fortement sur les réseaux d’agrégation de couches efficaces étendus (E-ELAN). Les auteurs ont conçu E-ELAN en analysant les chemins de gradient du réseau, afin de garantir que celui-ci puisse continuer à apprendre sans dégrader le chemin de gradient d’origine. De plus, YOLOv7 exploite efficacement le reparamétrage du modèle pendant l’inférence, en fusionnant les couches de manière transparente pour réduire les FLOPs et accélérer les temps d’exécution. Cela le rend particulièrement performant pour l’inférence en temps réel sur les GPU modernes.
DAMO-YOLO : recherche d’architecture neuronale et RepGFPN#
DAMO-YOLO se distingue en exploitant largement la recherche d’architecture neuronale (NAS) sous contrainte de latence. Il utilise un framework appelé MAE-NAS pour découvrir des backbones optimaux adaptés à du matériel spécifique, comme les appareils mobiles ou certains accélérateurs edge. Pour son neck, il introduit un RepGFPN (réseau pyramidal de caractéristiques généralisé paramétré par reparamétrage) efficace et utilise une conception ZeroHead afin de minimiser la charge de calcul des têtes de prédiction.
Alors que YOLOv7 repose sur de solides optimisations architecturales intrinsèques, DAMO-YOLO dépend fortement d’un processus complexe de distillation des connaissances en plusieurs étapes. Il nécessite l’entraînement d’un grand modèle enseignant pour distiller ses connaissances dans un modèle étudiant plus petit, ce qui peut être coûteux en calcul pendant la phase d’entraînement.
Comparaison des performances et des métriques#
Lors de la comparaison de ces modèles, il est essentiel d’examiner la précision moyenne (mAP), la vitesse d’inférence et la complexité du modèle.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Le tableau ci-dessus montre que YOLOv7 s’adapte bien aux domaines exigeant une grande précision (YOLOv7x), tandis que DAMO-YOLO fournit des modèles tiny fortement optimisés pour les environnements aux ressources limitées.
Efficacité de l'entraînement et besoins en mémoire#
Une distinction majeure entre les deux architectures réside dans leurs méthodes d’entraînement. La dépendance de DAMO-YOLO à la distillation signifie que l’entraînement d’un nouveau modèle à partir de zéro ou son fine-tuning sur un jeu de données de vision par ordinateur personnalisé exige souvent beaucoup plus de VRAM et de temps de calcul GPU.
À l’inverse, les modèles intégrés à l’écosystème Ultralytics, comme YOLOv7 et les versions ultérieures, sont fortement optimisés pour les besoins en mémoire. Ils permettent aux développeurs d’utiliser des tailles de batch plus importantes sur du matériel grand public sans rencontrer d’erreurs de mémoire insuffisante, ce qui simplifie le suivi des expériences et le processus d’itération.
L'avantage Ultralytics#
Bien que YOLOv7 et DAMO-YOLO offrent tous deux des fonctionnalités convaincantes, le déploiement de modèles au sein de l’écosystème Ultralytics fournit une expérience développeur inégalée.
- Facilité d’utilisation : Le package Python d’Ultralytics offre une API unifiée et simple. Tu peux rapidement passer d’une architecture de modèle à une autre, lancer des boucles d’entraînement ou exécuter une inférence avec quelques lignes de code.
- Écosystème bien maintenu : Ultralytics fournit des mises à jour fréquentes, garantissant une compatibilité native avec les dernières versions de PyTorch et les pilotes CUDA. Il simplifie également l’exportation des modèles vers des formats tels que ONNX, TensorRT et OpenVINO.
- Polyvalence : Contrairement à DAMO-YOLO, qui est strictement un détecteur d’objets, l’écosystème Ultralytics prend nativement en charge diverses tâches. Les modèles de la famille Ultralytics peuvent effectuer la détection standard par boîtes englobantes, l’estimation de pose, la segmentation d’instances et les boîtes englobantes orientées (OBB).
Exemple de code : démarrer rapidement#
Voici comment charger, entraîner et exécuter facilement une inférence avec les modèles Ultralytics :
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model (or newer models like yolo26n.pt)
model = YOLO("yolov7.pt")
# Train the model on the COCO8 dataset with automated hyperparameter handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX format for deployment
model.export(format="onnx")Avec Ultralytics, l’exportation de tes poids entraînés vers divers formats accélérés matériellement (comme TensorRT ou CoreML) s’effectue via un seul argument dans la commande d’exportation, ce qui permet d’économiser des heures de configuration complexe de scripts.
La prochaine génération : YOLO26#
Bien que YOLOv7 reste une architecture héritée performante, le domaine a progressé rapidement. Pour les nouveaux déploiements, Ultralytics YOLO26 (sorti en janvier 2026) constitue le standard recommandé et surpasse les générations précédentes dans presque toutes les métriques.
- Conception de bout en bout sans NMS : Inaugurée dans YOLOv10, YOLO26 élimine nativement le post-traitement de suppression des non-maxima (NMS). Cela garantit une inférence déterministe à latence ultra-faible, essentielle pour la robotique et les technologies de conduite autonome.
- Optimiseur MuSGD : Inspiré de techniques avancées d’entraînement des LLM (comme Kimi K2 de Moonshot AI), cet optimiseur hybride combine SGD et Muon pour offrir un entraînement très stable et une convergence plus rapide sur divers jeux de données.
- Jusqu’à 43 % d’inférence plus rapide sur CPU : En supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 améliore considérablement les performances sur les plateformes d’informatique edge et les CPU.
- ProgLoss + STAL : Ces fonctions de perte avancées améliorent considérablement la détection des petits objets, ce qui rend YOLO26 particulièrement adapté aux images aériennes et à la vidéosurveillance détaillée.
Cas d’utilisation idéaux#
Quand choisir DAMO-YOLO#
- Recherche académique sur la NAS : Si ton organisation investit fortement dans l’étude des méthodologies de recherche d’architecture neuronale.
- Latence extrêmement contrainte sur du matériel spécifique : Si tu disposes des ressources nécessaires pour exécuter des recherches NAS exhaustives afin de trouver un backbone adapté à une puce d’accélérateur d’IA personnalisée.
Quand choisir YOLOv7#
- Pipelines GPU existants : Pour les équipes qui maintiennent des pipelines de production hérités, fortement optimisés autour de l’architecture E-ELAN spécifique de YOLOv7 sur du matériel NVIDIA haut de gamme.
Pourquoi migrer vers les modèles Ultralytics modernes (YOLO11 / YOLO26)#
Pour la grande majorité des applications d’entreprise — de l’analyse du commerce de détail et de la fabrication intelligente aux soins de santé — les modèles Ultralytics modernes sont inégalés. L’intégration avec l’Ultralytics Platform fournit un pipeline ML complet, offrant une grande facilité d’utilisation, une documentation supérieure, un solide soutien de la communauté et une polyvalence multitâche. Que tu suives les stocks sur un Raspberry Pi ou que tu exécutes des analyses complexes dans le cloud, des modèles comme YOLO26 offrent l’équilibre idéal entre performances pour l’avenir de la vision par ordinateur.