YOLOv5 vs. YOLOv9: une comparaison technique complète
L'évolution de la détection d'objets en temps réel a été marquée par des progrès rapides en termes de précision et d'efficacité. Deux étapes importantes de cette évolution sont Ultralytics YOLOv5un modèle qui a établi la norme de l'industrie en matière de facilité d'utilisation et de déploiement, et le modèle YOLOv9une architecture axée sur la recherche qui repousse les limites de la théorie de l'apprentissage en profondeur.
Cette comparaison technique analyse leurs architectures, leurs performances et leurs cas d'utilisation idéaux afin d'aider les développeurs et les chercheurs à choisir l'outil adéquat pour leurs projets de vision par ordinateur.
Ultralytics YOLOv5: la norme industrielle en matière de polyvalence
Depuis sa sortie, YOLOv5 est devenu l'un des modèles d'IA de vision les plus populaires au monde. Développé par Ultralytics, il donne la priorité à l'excellence technique, à la facilité d'utilisation et aux performances dans le monde réel. Il concilie vitesse et précision tout en offrant une expérience utilisateur transparente grâce à un écosystème solide.
Détails techniques :
- Auteurs : Glenn Jocher
- Organisation :Ultralytics
- Date : 2020-06-26
- GitHub :https://github.com/ultralytics/yolov5
- Docs :https://docs.ultralytics.com/models/yolov5/
Architecture et conception
YOLOv5 utilise un backbone CSPDarknet combiné à un cou PANet pour une extraction et une agrégation efficaces des caractéristiques. Sa tête de détection basée sur des ancres est fortement optimisée pour la vitesse, ce qui lui permet de s'adapter à un large éventail de matériel. Contrairement aux modèles purement académiques, YOLOv5 a été conçu dans une optique de déploiement, offrant un support natif pour iOS, Androidet les appareils périphériques.
Principaux points forts
- Un écosystème bien entretenu : YOLOv5 bénéficie d'années de développement actif, ce qui se traduit par une documentation complète, un soutien de la communauté et des intégrations avec des outils comme Ultralytics HUB.
- Efficacité de la formation : Elle est réputée pour ses temps d'apprentissage rapides et ses besoins en mémoire réduits par rapport aux architectures basées sur les transformateurs, ce qui la rend accessible sur les GPU grand public standard.
- Polyvalence : Au-delà de la détection, YOLOv5 supporte nativement la segmentation d'instances et la classification d'images, ce qui permet aux développeurs de s'attaquer à de multiples tâches de vision avec un seul framework.
- Prêt pour le déploiement : Avec des capacités d'exportation intégrées vers ONNX, TensorRTCoreML et TFLite, le passage de la recherche à la production est simplifié.
YOLOv9: Innovation architecturale pour une précision maximale
Sortie en 2024, YOLOv9 se concentre sur la résolution des problèmes de perte d'information dans les réseaux profonds. Il introduit de nouveaux concepts pour améliorer la façon dont les données se propagent dans le modèle, obtenant des résultats de pointe sur des benchmarks tels que COCO.
Détails techniques :
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2024-02-21
- Arxiv :https://arxiv.org/abs/2402.13616
- GitHub :https://github.com/WongKinYiu/yolov9
- Docs :https://docs.ultralytics.com/models/yolov9/
Architecture et innovations
YOLOv9 présente deux avancées architecturales majeures :
- Information programmable sur le gradient (PGI) : Une technique conçue pour atténuer le problème du goulot d'étranglement de l'information, en veillant à ce que des informations d'entrée complètes soient disponibles pour le calcul de la fonction de perte.
- Réseau d'agrégation de couches efficace généralisé (GELAN) : Une architecture de réseau légère qui optimise l'efficacité des paramètres, permettant au modèle d'atteindre une plus grande précision avec moins de paramètres que certains de ses prédécesseurs.
Principaux points forts
- Précision élevée : YOLOv9 établit des références impressionnantes en matière de précision de détection des objets, en particulier dans ses configurations les plus largesYOLOv9.
- Efficacité des paramètres : L'architecture GELAN garantit que le modèle utilise les paramètres de manière efficace, ce qui permet d'obtenir un bon rapport précision/poids.
- Avancée théorique : Il aborde des questions fondamentales de l'apprentissage en profondeur concernant la préservation de l'information dans les couches profondes.
Comparaison des performances
Lorsque l'on compare ces deux modèles, le compromis se situe généralement entre la vitesse et la précision absolue. YOLOv9 obtient des scores mAPval plus élevés sur l'ensemble de données COCO , ce qui démontre l'efficacité de PGI et de GELAN. Cependant, Ultralytics YOLOv5 reste un concurrent redoutable en termes de vitesse d'inférence, en particulier sur les CPU et les appareils périphériques, où son architecture optimisée brille.
Équilibre des performances
Alors que YOLOv9 est en tête du classement de la précision, YOLOv5 offre souvent un équilibre plus pratique pour les applications en temps réel, en proposant des vitesses d'inférence nettement plus rapides (ms) sur du matériel standard, tout en conservant de solides capacités de détection.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Formation et ressources
Pour les développeurs, l'efficacité de la formation est souvent aussi importante que la vitesse d'inférence. Ultralytics YOLOv5 est connu pour sa simplicité d'utilisation. Il nécessite généralement moins de mémoire pendant l'apprentissage que les architectures plus complexes et plus récentes, en particulier les modèles basés sur des transformateurs (tels que RT-DETR). Cette faible barrière à l'entrée permet aux utilisateurs de former des modèles personnalisés sur des configurations matérielles modestes.
YOLOv9, bien qu'efficace en termes de paramètres, peut être plus gourmand en ressources lors de la formation en raison de la complexité des branches auxiliaires utilisées pour l'IGP, qui sont supprimées lors de l'inférence mais ajoutent des frais généraux lors de la formation.
Exemple de code : Interface unifiée
L'un des principaux avantages de l'écosystème Ultralytics est l'APIPython unifiée. Vous pouvez passer de YOLOv5 à YOLOv9 en une seule ligne de code, ce qui rend incroyablement facile l'évaluation comparative des deux sur votre ensemble de données spécifique.
from ultralytics import YOLO
# Load an Ultralytics YOLOv5 model (pre-trained on COCO)
model_v5 = YOLO("yolov5su.pt")
# Train the model on your custom data
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a YOLOv9 model for comparison
model_v9 = YOLO("yolov9c.pt")
# Train YOLOv9 using the exact same API
results_v9 = model_v9.train(data="coco8.yaml", epochs=100, imgsz=640)
Cas d'utilisation idéaux
Le choix entre ces modèles dépend des priorités de votre projet :
Quand choisir Ultralytics YOLOv5
- Déploiement en périphérie : Idéalement adapté aux Raspberry Pi, aux applications mobiles et aux systèmes embarqués où chaque milliseconde de latence compte.
- Prototypage rapide : La facilité d'utilisation, les nombreux tutoriels et le soutien de la communauté permettent des cycles de développement incroyablement rapides.
- Exigences multi-tâches : Si votre projet nécessite une segmentation ou une classification en plus de la détection, YOLOv5 fournit une solution unifiée.
- Contraintes de ressources : Les projets disposant d'une mémoire GPU limitée pour l'entraînement bénéficieront de l'efficacité de YOLOv5.
Quand choisir YOLOv9
- Précision maximale : Critique pour des applications telles que l'imagerie médicale ou l'inspection industrielle de haute précision, où manquer une détection est coûteux.
- Recherche universitaire : Excellent pour les chercheurs qui explorent les dernières nouveautés en matière de flux d'informations en gradient et de conception d'architecture de réseau.
- Matériel puissant : il est préférable de l'utiliser lorsque des ressources informatiques suffisantes sont disponibles pour la formation et l'inférence afin d'en exploiter tout le potentiel.
Conclusion
Les deux modèles représentent l'excellence dans le domaine de la vision par ordinateur. Ultralytics YOLOv5 reste le choix pragmatique pour la plupart des développeurs, car il offre une combinaison imbattable de vitesse, de fiabilité et de soutien de l'écosystème. Il s'agit d'un outil de travail éprouvé pour les déploiements dans le monde réel. YOLOv9quant à lui, offre un aperçu de l'avenir de l'efficacité architecturale, en fournissant une précision de premier ordre à ceux qui en ont besoin.
Pour ceux qui recherchent le nec plus ultra en matière de performance et de polyvalence, nous vous recommandons également d'explorer YOLO11qui s'appuie sur les points forts de YOLOv5 et YOLOv8 pour offrir des résultats de pointe dans tous les domaines.
Explorer d'autres modèles
Si vous souhaitez en savoir plus, consultez ces modèles connexes dans l'écosystème Ultralytics :
- YOLO11: Le dernier modèle SOTA offrant des performances et une polyvalence supérieures.
- YOLOv8: un puissant modèle sans ancrage qui prend en charge la détection, la segmentation, la pose et l'OBB.
- RT-DETR: un détecteur en temps réel basé sur un transformateur pour des applications de haute précision.