YOLO YOLOv5: une analyse approfondie de la détection d'objets en temps réel
L'évolution de la vision par ordinateur a été marquée par une innovation continue dans la détection d'objets en temps réel. Aujourd'hui, les développeurs et les chercheurs sont confrontés à une multitude de choix architecturaux lors de la conception de pipelines de vision. Cette comparaison technique complète explore les nuances entre YOLO et Ultralytics YOLOv5, en mettant en évidence leurs architectures respectives, leurs méthodologies de formation, leurs mesures de performance et leurs scénarios de déploiement idéaux.
Introduction àYOLO
Publié par le groupe Alibaba,YOLO plusieurs techniques novatrices visant à repousser les limites de la vitesse et de la précision de détection.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation :Alibaba Group
- Date : 23 novembre 2022
- Arxiv :2211.15444v2
- GitHub :tinyvision/DAMO-YOLO
- Documents :README.md
Innovations architecturales
YOLO sur une architecture neuronale (NAS). Les auteurs ont utilisé MAE-NAS pour concevoir automatiquement des structures qui équilibrent la latence et la précision. Le modèle introduit un RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace qui améliore la fusion des caractéristiques à différentes échelles. De plus,YOLO une conception « ZeroHead », qui supprime les têtes de prédiction multi-branches complexes au profit d'une structure plus simple et plus efficace qui s'appuie fortement sur la rep-paramétrisation pendant l'inférence.
Pour améliorer la formation, le modèle utilise AlignedOTA pour l'attribution des étiquettes et un processus d'amélioration par distillation intensive, dans lequel un modèle « enseignant » plus grand guide le modèle « élève » plus petit afin d'obtenir une plus grande précision.
Introduction à Ultralytics YOLOv5
Ultralytics YOLOv5 l'une des architectures de vision les plus largement adoptées au monde, réputée pour sa stabilité, sa facilité d'utilisation et son écosystème de déploiement étendu.
- Auteurs : Glenn Jocher
- Organisation :Ultralytics
- Date : 26 juin 2020
- GitHub :ultralytics/yolov5
- Docs :Documentation YOLOv5
La norme relative à l'écosystème
YOLOv5 la norme industrielle en matière de convivialité. Construit nativement dans PyTorch, il utilise une dorsale CSPNet hautement optimisée et un cou PANet pour une agrégation robuste des fonctionnalités. Bien qu'il ait précédé la tendance sans ancrage observée dans les modèles ultérieurs, son approche hautement raffinée basée sur l'ancrage, associée à l'apprentissage automatique de l'ancrage, garantit d'excellentes performances dès sa sortie de l'emballage.
La véritable force de YOLOv5 dans son écosystème bien entretenu. Il s'intègre parfaitement à des outils de suivi tels que Comet et Weights & Biases, et prend en charge l'exportation en un clic vers des formats tels que ONNX, TensorRTet CoreML.
Premiers pas avec YOLOv5
YOLOv5 incroyablement facile à entraîner sur des ensembles de données personnalisés. L'API simplifiée réduit les frictions entre le prototype et la production, ce qui en fait un outil très apprécié des équipes d'ingénieurs agiles.
Comparaison des performances et des indicateurs
Lorsque l'on compare ces modèles, il est essentiel d'examiner l'équilibre entre la précision moyenne (mAP), la vitesse d'inférence et le nombre de paramètres.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Analyse des compromis
YOLO mAP impressionnants pour la taille de ses paramètres, bénéficiant largement de sa phase d'entraînement par distillation. Cependant, cela se fait au détriment de l'efficacité de l'entraînement. Le processus de distillation en plusieurs étapes nécessite d'abord l'entraînement d'un modèle enseignant lourd, ce qui augmente considérablement le temps GPU et la VRAM nécessaires.
À l'inverse, YOLOv5 offre d'excellentes exigences en matière de mémoire.YOLO Ultralytics sont connus pour leur faible utilisation de mémoire pendant l'entraînement et l'inférence par rapport aux pipelines de distillation complexes ou aux modèles basés sur des transformateurs tels que RT-DETR. Cela permet YOLOv5 être entraîné efficacement sur du matériel grand public ou des environnements cloud accessibles tels que Google .
Applications concrètes et polyvalence
Le choix de l'architecture appropriée dépend souvent de l'environnement de déploiement.
Où DAMO-YOLO excelle
YOLO strictement un modèle de détection d'objets. Il constitue un excellent choix pour la recherche universitaire, en particulier pour les équipes qui étudient la recherche d'architecture neuronale ou celles qui visent à reproduire les techniques de paramétrage détaillées dans l'article. Si un projet dispose de ressources informatiques importantes pour exécuter la phase d'entraînement par distillation et se concentre uniquement sur l'optimisation de la précision des cadres de sélection 2D,YOLO un candidat sérieux.
L'avantage Ultralytics
Pour la production en conditions réelles, la facilité d'utilisation et la polyvalence des Ultralytics en font le choix privilégié. Si YOLOv5 un incontournable pour la détection et la classification d'images, Ultralytics , plus large, permet aux développeurs de passer sans effort d'une tâche à l'autre.
Par exemple, les nouvelles versions de la Ultralytics prennent en charge de manière native la segmentation d'instances, l'estimation de pose et la détection OBB (Oriented Bounding Box). Cette capacité multitâche permet aux équipes d'utiliser une Python unique et unifiée pour des pipelines complexes, tels que la combinaison de la reconnaissance automatique des plaques d'immatriculation et de la segmentation des véhicules.
Cas d'utilisation et recommandations
Le choix entreYOLO YOLOv5 des exigences spécifiques de votre projet, des contraintes de déploiement et de vos préférences en matière d'écosystème.
Quand choisir DAMO-YOLO
YOLO un choix judicieux pour :
- Analyse vidéo à haut débit : traitement de flux vidéo à fréquence d'images élevée surGPU NVIDIA fixe où le débit du lot 1 est la principale métrique.
- Lignes de fabrication industrielle : scénarios avec des contraintes strictes GPU sur du matériel dédié, tels que le contrôle qualité en temps réel sur les chaînes de montage.
- Recherche sur la recherche d'architecture neuronale : étude des effets de la recherche automatisée d'architecture (MAE-NAS) et des structures de base reparamétrées efficaces sur les performances de détection.
Quand choisir YOLOv5
YOLOv5 recommandé pour :
- Systèmes de production éprouvés : déploiements existants où track longue track YOLOv5 en matière de stabilité, sa documentation exhaustive et le soutien massif de la communauté sont appréciés.
- Formation avec ressources limitées : environnements avec GPU limitées où le pipeline de formation efficace et les faibles exigences en mémoire YOLOv5 sont avantageux.
- Prise en charge étendue des formats d'exportation : projets nécessitant un déploiement dans de nombreux formats, notamment ONNX, TensorRT, CoreMLet TFLite.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
- EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
L'avenir : passage à YOLO26
Si YOLOv5 légendaire etYOLO des perspectives académiques intéressantes, les technologies de pointe ont évolué. Lancé en janvier 2026, Ultralytics représente une avancée considérable pour la communauté de la vision.
YOLO26 résout les problèmes traditionnels liés au déploiement en périphérie et à l'instabilité de la formation :
- Conception NMS de bout en bout : YOLO26 élimine nativement le post-traitement de suppression non maximale. Cette avancée révolutionnaire simplifie la logique de déploiement et réduit considérablement la variabilité de la latence, ce qui la rend idéale pour la robotique à grande vitesse et les systèmes autonomes.
- Optimiseur MuSGD : inspiré par les innovations en matière d'entraînement LLM (comme Kimi K2 de Moonshot AI), YOLO26 utilise l'optimiseur MuSGD (un hybride de SGD Muon). Cela garantit des entraînements très stables et une convergence remarquablement plus rapide.
- CPU jusqu'à 43 % plus rapide : en supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 atteint des vitesses nettement supérieures sur les CPU et les appareils périphériques par rapport à ses prédécesseurs tels que YOLO11 et YOLOv8.
- ProgLoss + STAL : ces fonctions de perte avancées apportent des améliorations notables dans la reconnaissance des petits objets, ce qui est essentiel pour analyser les images aériennes prises par des drones et les flux de données provenant des capteurs IoT.
Exemple de code : La simplicité en action
Ultralytics vous permet de former et de déployer des modèles en quelques lignes de code seulement. Que vous utilisiez YOLOv5 que vous passiez à la version recommandée YOLO26, l'interface reste cohérente et intuitive.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 small model
model = YOLO("yolo26s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Export the model for edge deployment
model.export(format="onnx")
Conclusion
YOLO YOLOv5 tous deux contribué de manière significative au paysage de la vision par ordinateur.YOLO la puissance de la recherche d'architecture neuronale et de la distillation, ce qui en fait une étude intéressante pour les chercheurs. Cependant, YOLOv5 reste un outil pratique très performant grâce à son équilibre en termes de performances, ses faibles besoins en mémoire et sa facilité d'utilisation inégalée.
Pour les développeurs qui lancent aujourd'hui de nouveaux projets, il est recommandé d'utiliser la Ultralytics et d'adopter YOLO26. Ce modèle combine l'écosystème convivial très apprécié de YOLOv5 des avancées architecturales révolutionnaires, garantissant une précision de premier ordre et une inférence ultra-rapide pour les applications d'IA dans le cloud et en périphérie. Les développeurs peuvent également explorer d'autres modèles efficaces tels que YOLOv6 ou YOLOX, en fonction des contraintes matérielles spécifiques existantes.