Link to this sectionYOLOv4 : détection d'objets haute vitesse et précise#
Bienvenue sur la page de documentation d'Ultralytics pour YOLOv4, un détecteur d'objets en temps réel de pointe lancé en 2020 par Alexey Bochkovskiy sur https://github.com/AlexeyAB/darknet. YOLOv4 est conçu pour offrir l'équilibre optimal entre vitesse et précision, ce qui en fait un excellent choix pour de nombreuses applications.
Schéma de l'architecture YOLOv4. Il présente la conception complexe du réseau YOLOv4, incluant le backbone, le neck et les composants du head, ainsi que leurs couches interconnectées pour une détection d'objets en temps réel optimale.
Link to this sectionIntroduction#
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 de neurones convolutifs (CNN), YOLOv4 n'est pas seulement applicable aux systèmes de recommandation, mais aussi à la gestion de processus autonomes et à la réduction de l'intervention humaine. Son fonctionnement sur des unités de traitement graphique (GPU) conventionnelles permet une utilisation massive à un prix abordable, et il est conçu pour fonctionner en temps réel sur un GPU conventionnel tout en ne nécessitant qu'un seul de ces GPU pour l'entraînement.
Link to this sectionArchitecture#
YOLOv4 utilise plusieurs fonctionnalités innovantes qui travaillent ensemble pour optimiser ses performances. Celles-ci incluent les Weighted-Residual-Connections (WRC), les Cross-Stage-Partial-connections (CSP), la Cross mini-Batch Normalization (CmBN), le Self-adversarial-training (SAT), l'activation Mish, l'augmentation de données Mosaic, la régularisation DropBlock et la perte CIoU. Ces fonctionnalités sont combinées pour obtenir des résultats de pointe.
Un détecteur d'objets typique se compose de plusieurs parties, notamment l'entrée, le backbone, le neck et le head. Le backbone de YOLOv4 est pré-entraîné sur ImageNet et est utilisé pour prédire les classes et les bounding boxes des objets. Le backbone peut provenir de plusieurs modèles, dont VGG, ResNet, ResNeXt ou DenseNet. La partie neck du détecteur sert à collecter des feature maps à partir de différents niveaux et inclut généralement plusieurs chemins ascendants et descendants. La partie head est celle utilisée pour effectuer les détections et classifications d'objets finales.
Link to this sectionBag of Freebies#
YOLOv4 utilise également des méthodes appelées « bag of freebies », qui sont des techniques améliorant la précision du modèle pendant l'entraînement sans augmenter le coût de l'inférence. L'augmentation de données est une technique courante de « bag of freebies » utilisée dans la détection d'objets, qui augmente la variabilité des images d'entrée pour améliorer la robustesse du modèle. Quelques exemples d'augmentation de données incluent 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 de mise à l'échelle, recadrage, retournement et rotation aléatoires). Ces techniques aident le modèle à mieux généraliser vers différents types d'images.
Link to this sectionFonctionnalités et performances#
YOLOv4 est conçu pour une vitesse et une précision optimales dans la détection d'objets. L'architecture de YOLOv4 comprend CSPDarknet53 comme backbone, PANet comme neck et YOLOv3 comme detection head. 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 précision, atteignant des résultats de pointe sur des benchmarks de détection d'objets comme COCO.
Comparé à d'autres modèles de la famille YOLO, tels que YOLOv5 et YOLOv7, YOLOv4 maintient une position forte dans l'équilibre entre vitesse et précision. Bien que des modèles plus récents puissent offrir certains avantages, les innovations architecturales de YOLOv4 continuent de le rendre pertinent pour de nombreuses applications nécessitant des performances en temps réel.
Link to this sectionExemples d'utilisation#
YOLOv4 est un modèle basé sur Darknet et n'est pas pris en charge nativement par le package Python Ultralytics : il n'y a pas de poids pré-entraînés yolov4.pt publiés sur ultralytics/assets et aucun fichier YAML ultralytics/cfg/models/v4/. Cette page est conservée comme référence architecturale. Les utilisateurs souhaitant exécuter YOLOv4 doivent se référer directement au dépôt GitHub de YOLOv4 pour les instructions d'installation et d'utilisation.
Voici un bref aperçu des étapes typiques que tu pourrais suivre pour utiliser YOLOv4 :
-
Visite le dépôt GitHub de YOLOv4 : https://github.com/AlexeyAB/darknet.
-
Suis les instructions fournies dans le fichier README pour l'installation. Cela implique généralement de cloner le dépôt, d'installer les dépendances nécessaires et de configurer toutes les variables d'environnement requises.
-
Une fois l'installation terminée, tu peux entraîner et utiliser le modèle selon les instructions d'utilisation fournies dans le dépôt. Cela implique généralement de préparer ton dataset, 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.
Veuillez noter 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.
Pour l'entraînement et l'inférence au sein du framework Ultralytics, consulte YOLO11 ou YOLO26.
Link to this sectionConclusion#
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 fonctionnalités uniques et de techniques de « bag of freebies » pendant l'entraînement lui permet d'exceller dans les tâches de détection d'objets en temps réel. YOLOv4 peut être entraîné et utilisé par toute personne disposant d'un GPU conventionnel, ce qui le rend accessible et pratique pour un large éventail d'applications, notamment les systèmes de surveillance, les véhicules autonomes et l'automatisation industrielle.
Pour ceux qui cherchent à implémenter la détection d'objets dans leurs projets, YOLOv4 reste un concurrent sérieux, surtout lorsque la performance en temps réel est une priorité. Bien qu'Ultralytics se concentre actuellement sur le support des versions plus récentes de YOLO comme YOLO11 et YOLO26, les innovations architecturales introduites dans YOLOv4 ont influencé le développement de ces modèles ultérieurs.
Link to this sectionCitations et remerciements#
Nous souhaitons 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 trouvé sur arXiv. Les auteurs ont rendu leur travail publiquement disponible, 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é au sens large.
Link to this sectionFAQ#
Link to this sectionQu'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 de pointe développé par Alexey Bochkovskiy en 2020. Il atteint un équilibre optimal entre vitesse et précision, ce qui le rend très adapté aux applications en temps réel. L'architecture de YOLOv4 intègre plusieurs fonctionnalités innovantes comme les Weighted-Residual-Connections (WRC), les Cross-Stage-Partial-connections (CSP) et le Self-adversarial-training (SAT), entre autres, pour obtenir des résultats de pointe. Si tu cherches un modèle haute performance qui fonctionne efficacement sur des GPU conventionnels, YOLOv4 est un excellent choix.
Link to this sectionComment l'architecture de YOLOv4 améliore-t-elle ses performances ?#
L'architecture de YOLOv4 comprend plusieurs composants clés : le backbone, le neck et le head. Le backbone, qui peut être des modèles comme VGG, ResNet ou CSPDarknet53, est pré-entraîné pour prédire les classes et les bounding boxes. Le neck, utilisant PANet, connecte les feature maps de différentes étapes pour une extraction complète des données. Enfin, le head, qui utilise des configurations de YOLOv3, effectue les détections d'objets finales. YOLOv4 emploie également des techniques de « bag of freebies » comme l'augmentation de données Mosaic et la régularisation DropBlock, optimisant encore davantage sa vitesse et sa précision.
Link to this sectionQue sont les « bag of freebies » dans le contexte de YOLOv4 ?#
« Bag of freebies » fait référence à des méthodes qui améliorent la précision d'entraînement de YOLOv4 sans augmenter le coût de l'inférence. Ces techniques incluent diverses formes d'augmentation de 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 généraliser vers différents types d'images, améliorant ainsi sa robustesse et sa précision sans compromettre ses performances en temps réel.
Link to this sectionPourquoi YOLOv4 est-il considéré comme adapté à la détection d'objets en temps réel sur des 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 nécessitant des performances rapides et fiables. Il fonctionne efficacement sur des 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 autonomes, réduisant ainsi le besoin d'installations matérielles lourdes et en faisant une solution rentable pour la détection d'objets en temps réel.
Link to this sectionComment puis-je commencer avec YOLOv4 si Ultralytics ne le prend pas actuellement en charge ?#
Pour commencer avec YOLOv4, tu dois visiter le dépôt GitHub officiel de YOLOv4. Suis les instructions d'installation fournies dans le fichier README, qui incluent 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 dataset, en configurant les paramètres du modèle et en suivant les instructions d'utilisation fournies. Comme Ultralytics ne prend pas actuellement en charge YOLOv4, il est recommandé de se référer directement au GitHub de YOLOv4 pour obtenir les conseils les plus récents et détaillés.