Démarrage rapide avec YOLOv5 🚀#
Lance-toi dans l’univers dynamique de la détection d’objets en temps réel avec Ultralytics YOLOv5 ! Ce guide constitue un point de départ complet pour les passionnés d’IA et les professionnels qui souhaitent maîtriser YOLOv5. De la configuration initiale aux techniques d’entraînement avancées, nous t’accompagnons à chaque étape. À la fin de ce guide, tu auras les connaissances nécessaires pour intégrer YOLOv5 à tes projets en toute confiance à l’aide de méthodes de deep learning de pointe. Démarrons et lançons-nous dans YOLOv5 !
Installation#
Prépare le lancement en clonant le dépôt YOLOv5 et en configurant l’environnement. Cela garantit l’installation de toutes les dépendances nécessaires. Vérifie que tu disposes de Python>=3.8.0 et de PyTorch>=1.8 avant le décollage. Ces outils de base sont indispensables pour exécuter YOLOv5 efficacement.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesInférence avec PyTorch Hub#
Découvre la simplicité de l’inférence YOLOv5 avec PyTorch Hub, où les modèles sont téléchargés facilement depuis la version la plus récente de YOLOv5. Cette méthode exploite la puissance de PyTorch pour charger et exécuter facilement les modèles, afin d’obtenir des prédictions en toute simplicité.
import torch
# Chargement du modèle
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Peut être « yolov5n » - « yolov5x6 » ou « custom »
# Inférence sur des images
img = "https://ultralytics.com/images/zidane.jpg" # Peut être un fichier, un objet Path, PIL, OpenCV, numpy ou une liste d’images
# Exécuter l’inférence
results = model(img)
# Afficher les résultats
results.print() # ou .show(), .save(), .crop(), .pandas(), etc.Inférence avec detect.py#
Utilise detect.py pour effectuer des inférences polyvalentes sur différentes sources. Il récupère automatiquement les modèles de la dernière version de YOLOv5 et enregistre facilement les résultats. Ce script est idéal pour une utilisation en ligne de commande et pour intégrer YOLOv5 à des systèmes plus vastes. Il prend en charge des entrées telles que des images, des vidéos, des répertoires, des webcams et même des flux en direct.
python detect.py --weights yolov5s.pt --source 0 # webcam
python detect.py --weights yolov5s.pt --source image.jpg # image
python detect.py --weights yolov5s.pt --source video.mp4 # video
python detect.py --weights yolov5s.pt --source screen # screenshot
python detect.py --weights yolov5s.pt --source path/ # directory
python detect.py --weights yolov5s.pt --source list.txt # list of images
python detect.py --weights yolov5s.pt --source list.streams # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg' # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP streamEntraînement#
Reproduis les performances de référence du jeu de données COCO de YOLOv5 en suivant les instructions d'entraînement ci-dessous. Les modèles et jeux de données nécessaires (comme coco128.yaml ou le jeu complet coco.yaml) sont récupérés directement depuis la dernière version de YOLOv5. L'entraînement de YOLOv5n/s/m/l/x sur un GPU V100 prend généralement respectivement 1/2/4/6/8 jours (note que les configurations d'entraînement multi-GPU sont plus rapides). Optimise les performances en utilisant la valeur --batch-size la plus élevée possible ou utilise --batch-size -1 pour la fonctionnalité AutoBatch de YOLOv5, qui détermine automatiquement la taille de lot optimale. Les tailles de lot suivantes sont idéales pour les GPU V100 de 16 Go. Consulte le résumé de l'architecture pour en savoir plus sur les fichiers de configuration du modèle (*.yaml).
# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128
# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64
# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40
# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24
# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
En conclusion, YOLOv5 n'est pas seulement un outil de pointe pour la détection d'objets, mais aussi une preuve de la puissance de l'apprentissage automatique pour transformer notre façon d'interagir avec le monde grâce à la compréhension visuelle. À mesure que tu progresses dans ce guide et que tu commences à appliquer YOLOv5 à tes projets, n'oublie pas que tu es à l'avant-garde d'une révolution technologique qui permet d'accomplir des prouesses remarquables en vision par ordinateur. Si tu souhaites obtenir plus d'informations ou de l'aide auprès d'autres passionnés, rejoins notre dépôt GitHub, qui héberge une communauté dynamique de développeurs et de chercheurs. Découvre d'autres ressources, comme Ultralytics Platform, pour gérer des jeux de données et entraîner des modèles sans code, ou consulte notre page Solutions pour trouver des applications concrètes et de l'inspiration. Continue d'explorer, d'innover et de profiter des merveilles de YOLOv5. Bonne détection ! 🌠🔍
FAQ#
Pas pour l'inférence. PyTorch Hub télécharge le code et les poids à la demande avec
torch.hub.load("ultralytics/yolov5", "yolov5s"). Tu dois cloner le dépôt pour exécuter les scriptstrain.py,val.py,detect.pyetexport.py.yolov5s.ptoffre le meilleur équilibre entre vitesse et précision pour la plupart des projets. Utiliseyolov5n.ptpour les appareils de périphérie,yolov5m.ptàyolov5x.ptlorsque la précision compte plus que la vitesse, et les variantes P6 commeyolov5s6.ptpour l'entraînement à 1280 pixels. Consulte le tableau des points de contrôle préentraînés pour voir la liste complète.Place les images et les annotations au format YOLO dans des dossiers
images/etlabels/parallèles, décris-les dans un fichierdataset.yaml, puis exécutepython train.py --data dataset.yaml --weights yolov5s.pt. Le tutoriel Entraîner sur des données personnalisées détaille chaque étape.YOLOv5 est stable et reste entièrement pris en charge dans le dépôt autonome, mais ce n'est plus le modèle le plus récent. Pour les nouveaux projets, YOLO26, disponible dans le paquet
ultralytics, est plus rapide et plus précis, et s'exporte de bout en bout sans NMS en utilisant le même flux de travailpip install ultralyticsque celui décrit dans le guide de démarrage rapide.