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 avancées rapides en matière de précision et d'efficacité. Deux étapes importantes de ce parcours sont Ultralytics YOLOv5, un modèle qui a établi la norme de l'industrie en matière de convivialité et de déploiement, et YOLOv9, une architecture axée sur la recherche repoussant les limites de la théorie de l'apprentissage profond.
Cette comparaison technique analyse leurs architectures, leurs mesures de performance et leurs cas d'utilisation idéaux afin d'aider les développeurs et les chercheurs à sélectionner le bon outil pour leurs projets de vision par ordinateur.
Ultralytics YOLOv5 : La norme de l’industrie 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 privilégie l'excellence de l'ingénierie, la facilité d'utilisation et les performances dans le monde réel. Il équilibre la vitesse et la précision tout en offrant une expérience utilisateur transparente grâce à un écosystème robuste.
Détails techniques :
- Auteurs : Glenn Jocher
- Organisation :Ultralytics
- Date : 2020-06-26
- GitHub :https://github.com/ultralytics/yolov5
- Documentation :https://docs.ultralytics.com/models/YOLOv5/
Architecture et conception
YOLOv5 utilise un backbone CSPDarknet combiné à un neck PANet pour une extraction et une agrégation efficaces des caractéristiques. Sa tête de détection basée sur des ancres est hautement optimisée pour la vitesse, ce qui la rend adaptée à un large éventail de matériels. Contrairement aux modèles purement académiques, YOLOv5 a été conçu dans un souci de déploiement, offrant un support natif pour iOS, Android et les appareils edge.
Principaux atouts
- Écosystème bien maintenu : YOLOv5 bénéficie d’années de développement actif, ce qui se traduit par une documentation exhaustive, le soutien de la communauté et des intégrations avec des outils comme Ultralytics HUB.
- Efficacité de l'entraînement : Il est réputé pour ses temps d'entraînement rapides et ses besoins en mémoire réduits par rapport aux architectures basées sur des transformateurs, ce qui le rend accessible sur les GPU grand public standard.
- Polyvalence : Au-delà de la détection, YOLOv5 prend en charge nativement la segmentation d’instance et la classification d’images, permettant aux développeurs de s’attaquer à plusieurs tâches de vision avec un seul framework.
- Prêt pour le déploiement : Grâce aux capacités d’exportation intégrées vers ONNX, TensorRT, CoreML et TFLite, le passage de la recherche à la production est simplifié.
YOLOv9 : Innovation architecturale pour une précision maximale
Lancé en 2024, YOLOv9 se concentre sur la résolution des problèmes de perte d'informations dans les réseaux profonds. Il introduit de nouveaux concepts pour améliorer la façon dont les données se propagent à travers le modèle, obtenant des résultats de pointe sur des benchmarks comme COCO.
Détails techniques :
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation :Institute of Information Science, Academia Sinica, Taïwan
- Date : 2024-02-21
- Arxiv :https://arxiv.org/abs/2402.13616
- GitHub :https://github.com/WongKinYiu/yolov9
- Documentation :https://docs.ultralytics.com/models/YOLOv9/
Architecture et innovations
YOLOv9 introduit deux avancées architecturales principales :
- Informations de gradient programmables (PGI) : Une technique conçue pour atténuer le problème du goulot d'étranglement de l'information, garantissant que toutes les informations d'entrée sont disponibles pour le calcul de la fonction de perte.
- Generalized Efficient Layer Aggregation Network (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 prédécesseurs.
Principaux atouts
- Haute précision : YOLOv9 établit des benchmarks impressionnants pour la précision de la detect d’objets, en particulier dans ses configurations plus grandes (YOLOv9-E).
- Efficacité des paramètres : L’architecture GELAN garantit que le modèle utilise efficacement les paramètres, offrant un fort ratio précision/poids.
- Avancée théorique : Elle s’attaque aux problèmes fondamentaux de l’apprentissage profond concernant la préservation de l’information dans les couches profondes.
Comparaison des performances
Lors de la comparaison de ces deux modèles, le compromis se situe généralement entre la vitesse et la précision absolue. YOLOv9 atteint des scores mAPval plus élevés sur l'ensemble de données COCO, ce qui démontre l'efficacité de PGI et GELAN. Cependant, Ultralytics YOLOv5 reste un concurrent redoutable en termes de vitesse d'inférence, en particulier sur les CPU et les appareils edge, où son architecture optimisée brille.
Équilibre des performances
Bien que YOLOv9 domine les tableaux de précision, YOLOv5 offre souvent un équilibre plus pratique pour les applications en temps réel, offrant des vitesses d'inférence (ms) significativement plus rapides sur du matériel standard tout en conservant des capacités de détection robustes.
| 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 |
Entraînement et ressources
Pour les développeurs, l'efficacité de l'entraînement est souvent aussi critique que la vitesse d'inférence. Ultralytics YOLOv5 est connu pour sa simplicité "train and go". Il nécessite généralement moins de mémoire pendant l'entraînement par rapport aux architectures plus récentes et plus complexes, en particulier les modèles basés sur des transformateurs (comme RT-DETR). Cette barrière à l'entrée plus basse permet aux utilisateurs d'entraîner des modèles personnalisés sur des configurations matérielles modestes.
YOLOv9, bien qu’efficace en termes de paramètres, peut nécessiter plus de ressources pour l’entraînement en raison de la complexité des branches auxiliaires utilisées pour PGI, qui sont supprimées pendant l’inférence, mais ajoutent une surcharge pendant l’entraînement.
Exemple de code : Interface unifiée
L'un des principaux avantages de l'écosystème Ultralytics est l'API Python unifiée. Vous pouvez basculer entre YOLOv5 et YOLOv9 avec une seule ligne de code, ce qui facilite incroyablement leur évaluation comparative 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 Edge : Idéal pour Raspberry Pi, les applications mobiles et les 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 la segmentation ou la classification en plus de la détection, YOLOv5 fournit une solution unifiée.
- Contraintes de ressources : Les projets avec une mémoire GPU limitée pour la formation bénéficieront de l’efficacité de YOLOv5.
Quand choisir YOLOv9
- Précision maximale : Essentielle pour les applications telles que l'imagerie médicale ou l'inspection industrielle de haute précision où le fait de manquer une détection est coûteux.
- Recherche académique : Excellent pour les chercheurs explorant les dernières nouveautés en matière de flux d'informations de gradient et de conception d'architecture de réseau.
- Matériel puissant : Mieux utilisé lorsque des ressources de calcul suffisantes sont disponibles pour l'entraînement et l'inférence afin d'exploiter pleinement son 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, offrant une combinaison imbattable de vitesse, de fiabilité et de support de l'écosystème. C'est un cheval de bataille éprouvé pour le déploiement dans le monde réel. YOLOv9, d'autre part, offre un aperçu de l'avenir de l'efficacité architecturale, fournissant une précision de premier ordre pour ceux qui en ont besoin.
Pour ceux qui recherchent le nec plus ultra en matière de performances et de polyvalence, nous vous recommandons également d'explorer YOLO11, qui s'appuie sur les points forts de YOLOv5 et YOLOv8 pour fournir des résultats de pointe dans toutes les mesures.
Explorer d'autres modèles
Si vous souhaitez explorer davantage, 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 modèle puissant sans ancres 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 les applications de haute précision.