Skip to content

YOLOv4 : Détection rapide et précise des objets

Bienvenue sur la page de documentation Ultralytics pour YOLOv4, un détecteur d'objets en temps réel à la pointe de la technologie lancé en 2020 par Alexey Bochkovskiy sur https://github.com/AlexeyAB/darknet. YOLOv4 est conçu pour offrir un équilibre optimal entre vitesse et précision, ce qui en fait un excellent choix pour de nombreuses applications.

Schéma de l'architecture de YOLOv4 Schéma de l'architecture de YOLOv4. Présentation de la conception complexe du réseau de YOLOv4, y compris les composants de l'épine dorsale, du cou et de la tête, ainsi que leurs couches interconnectées pour une détection optimale des objets en temps réel.

Introduction

YOLOv4 signifie You Only Look Once version 4. Il s'agit d'un modèle de détection d'objets en temps réel développé pour répondre aux limites des versions précédentes de YOLO comme YOLOv3 et d'autres modèles de détection d'objets. Contrairement à d'autres détecteurs d'objets basés sur des réseaux neuronaux convolutionnels (CNN), YOLOv4 ne s'applique pas seulement aux systèmes de recommandation, mais aussi à la gestion de processus autonomes et à la réduction de l'apport humain. Son fonctionnement sur des unités de traitement graphique (GPU) conventionnelles permet une utilisation de masse à un prix abordable, et il est conçu pour fonctionner en temps réel sur un site GPU conventionnel tout en ne nécessitant qu'un seul site GPU pour l'entraînement.

L'architecture

YOLOv4 utilise plusieurs fonctions innovantes qui travaillent ensemble pour optimiser ses performances. Il s'agit notamment des connexions résiduelles pondérées (WRC), des connexions partielles croisées (CSP), de la normalisation par mini-lots croisés (CmBN), de l'auto-apprentissage inversé (SAT), de l'activation erronée, de l'augmentation des données en mosaïque, de la régularisation DropBlock et de la perte CIoU. Ces caractéristiques sont combinées pour obtenir des résultats de pointe.

Un détecteur d'objets typique est composé de plusieurs parties, notamment l'entrée, la colonne vertébrale, le cou et la tête. L'épine dorsale de YOLOv4 est pré-entraînée sur ImageNet et est utilisée pour prédire les classes et les boîtes englobantes des objets. L'épine dorsale peut provenir de plusieurs modèles, notamment VGG, ResNet, ResNeXt ou DenseNet. La partie cou du détecteur est utilisée pour collecter les cartes de caractéristiques provenant de différentes étapes et comprend généralement plusieurs chemins ascendants et plusieurs chemins descendants. La partie tête est utilisée pour effectuer les détections et classifications finales des objets.

Sac de cadeaux

YOLOv4 utilise également des méthodes connues sous le nom de "bag of freebies", qui sont des techniques qui améliorent la précision du modèle pendant l'entraînement sans augmenter le coût de l'inférence. L'augmentation des données est une technique de sac de freebies couramment utilisée dans la détection d'objets, qui augmente la variabilité des images d'entrée afin d'améliorer la robustesse du modèle. Parmi les exemples d'augmentation des données, on peut citer les distorsions photométriques (ajustement de la luminosité, du contraste, de la teinte, de la saturation et du bruit d'une image) et les distorsions géométriques (ajout d'une mise à l'échelle, d'un recadrage, d'un retournement et d'une rotation aléatoires). Ces techniques permettent au modèle de mieux s'adapter à différents types d'images.

Caractéristiques et performances

YOLOv4 est conçu pour une vitesse et une précision optimales dans la détection des objets. L'architecture de YOLOv4 comprend CSPDarknet53 comme colonne vertébrale, PANet comme cou et YOLOv3 comme tête de détection. Cette conception permet à YOLOv4 d'effectuer la détection d'objets à une vitesse impressionnante, ce qui le rend adapté aux applications en temps réel. YOLOv4 excelle également en termes de précision, obtenant des résultats de pointe dans les tests de référence de détection d'objets.

Exemples d'utilisation

Au moment de la rédaction de cet article, Ultralytics ne prend actuellement pas en charge les modèles YOLOv4. Par conséquent, tout utilisateur intéressé par l'utilisation de YOLOv4 devra se référer directement au dépôt GitHub de YOLOv4 pour obtenir des instructions d'installation et d'utilisation.

Voici un bref aperçu des étapes typiques que tu pourrais suivre pour utiliser YOLOv4 :

  1. Visite le dépôt GitHub de YOLOv4 : https://github.com/AlexeyAB/darknet.

  2. Suis les instructions fournies dans le fichier README pour l'installation. Il s'agit généralement de cloner le dépôt, d'installer les dépendances nécessaires et de configurer toutes les variables d'environnement nécessaires.

  3. Une fois l'installation terminée, tu peux entraîner et utiliser le modèle conformément aux instructions d'utilisation fournies dans le référentiel. Il s'agit généralement de préparer ton jeu de données, de configurer les paramètres du modèle, d'entraîner le modèle, puis d'utiliser le modèle entraîné pour effectuer la détection d'objets.

Note que les étapes spécifiques peuvent varier en fonction de ton cas d'utilisation particulier et de l'état actuel du dépôt YOLOv4. Par conséquent, il est fortement recommandé de se référer directement aux instructions fournies dans le dépôt GitHub de YOLOv4.

Nous regrettons les inconvénients que cela peut causer et nous nous efforcerons de mettre à jour ce document avec des exemples d'utilisation pour Ultralytics une fois que la prise en charge de YOLOv4 sera mise en œuvre.

Conclusion

YOLOv4 est un modèle de détection d'objets puissant et efficace qui trouve un équilibre entre vitesse et précision. Son utilisation de caractéristiques uniques et de techniques de sac de freebies pendant la formation lui permet d'obtenir d'excellents résultats dans les tâches de détection d'objets en temps réel. YOLOv4 peut être formé et utilisé par toute personne disposant d'un ordinateur conventionnel GPU, ce qui le rend accessible et pratique pour un large éventail d'applications.

Citations et remerciements

Nous tenons à remercier les auteurs de YOLOv4 pour leurs contributions significatives dans le domaine de la détection d'objets en temps réel :

@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

L'article original sur YOLOv4 peut être consulté sur arXiv. Les auteurs ont mis leur travail à la disposition du public, et la base de code est accessible sur GitHub. Nous apprécions leurs efforts pour faire avancer le domaine et rendre leur travail accessible à la communauté élargie.

FAQ

Qu'est-ce que YOLOv4 et pourquoi devrais-je l'utiliser pour la détection d'objets?

YOLOv4, qui signifie "You Only Look Once version 4", est un modèle de détection d'objets en temps réel à la pointe de la technologie, développé par Alexey Bochkovskiy en 2020. Il atteint un équilibre optimal entre vitesse et précision, ce qui le rend tout à fait adapté aux applications en temps réel. L'architecture de YOLOv4 intègre plusieurs fonctions innovantes telles que les connexions résiduelles pondérées (WRC), les connexions partielles croisées (CSP) et l'entraînement auto-adversarial (SAT), entre autres, afin d'obtenir des résultats de pointe. Si tu cherches un modèle très performant qui fonctionne efficacement sur les GPU conventionnels, YOLOv4 est un excellent choix.

Comment l'architecture de YOLOv4 améliore-t-elle ses performances ?

L'architecture de YOLOv4 comprend plusieurs éléments clés : la colonne vertébrale, le cou et la tête. L'épine dorsale, qui peut être constituée de modèles tels que VGG, ResNet ou CSPDarknet53, est pré-entraînée pour prédire les classes et les boîtes de délimitation. Le cou, qui utilise PANet, relie les cartes de caractéristiques provenant de différentes étapes pour une extraction complète des données. Enfin, la tête, qui utilise les configurations de YOLOv3, effectue les dernières détections d'objets. YOLOv4 utilise également des techniques de "sac de flibustiers" telles que l'augmentation des données mosaïques et la régularisation DropBlock, ce qui permet d'optimiser encore sa vitesse et sa précision.

Qu'est-ce qu'un "sac de cadeaux" dans le contexte de YOLOv4 ?

"Le sac de freebies" fait référence aux méthodes qui améliorent la précision de l'entraînement de YOLOv4 sans augmenter le coût de l'inférence. Ces techniques comprennent diverses formes d'augmentation des données comme les distorsions photométriques (ajustement de la luminosité, du contraste, etc.) et les distorsions géométriques (mise à l'échelle, recadrage, retournement, rotation). En augmentant la variabilité des images d'entrée, ces augmentations aident YOLOv4 à mieux se généraliser à différents types d'images, améliorant ainsi sa robustesse et sa précision sans compromettre ses performances en temps réel.

Pourquoi YOLOv4 est-il considéré comme adapté à la détection d'objets en temps réel sur les GPU conventionnels ?

YOLOv4 est conçu pour optimiser à la fois la vitesse et la précision, ce qui le rend idéal pour les tâches de détection d'objets en temps réel qui nécessitent des performances rapides et fiables. Il fonctionne efficacement sur les GPU conventionnels, n'en nécessitant qu'un seul pour l'entraînement et l'inférence. Cela le rend accessible et pratique pour diverses applications allant des systèmes de recommandation à la gestion de processus autonome, réduisant ainsi le besoin de configurations matérielles étendues et en faisant une solution rentable pour la détection d'objets en temps réel.

Comment puis-je commencer à utiliser YOLOv4 si Ultralytics ne le prend pas en charge actuellement ?

Pour commencer à utiliser YOLOv4, tu dois te rendre sur le dépôt GitHub officiel de YOLOv4. Suis les instructions d'installation fournies dans le fichier README, qui comprennent généralement le clonage du dépôt, l'installation des dépendances et la configuration des variables d'environnement. Une fois installé, tu peux entraîner le modèle en préparant ton jeu de données, en configurant les paramètres du modèle et en suivant les instructions d'utilisation fournies. Étant donné que Ultralytics ne prend pas actuellement en charge YOLOv4, il est recommandé de se référer directement au GitHub YOLOv4 pour obtenir les conseils les plus récents et les plus détaillés.

📅 C réé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires