Ultralytics YOLO27 : Rejoins la liste d’attente.
Commencer

Démarrage rapide avec YOLOv5 🚀

Ce guide est un point de départ pour la détection d’objets en temps réel avec Ultralytics YOLOv5. Il couvre l’installation, l’inférence avec PyTorch Hub et detect.py, ainsi que l’entraînement, afin que tu puisses appliquer ce modèle d’apprentissage profond à tes propres projets.

Installation#

Clone le dépôt YOLOv5 et installe ses dépendances dans un environnement avec Python>=3.8.0 et PyTorch>=1.8.

git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies

Inférence avec PyTorch Hub#

Lance l’inférence YOLOv5 via PyTorch Hub, qui télécharge automatiquement les modèles depuis la dernière version de YOLOv5. Cette méthode utilise PyTorch pour charger et exécuter le modèle, ce qui facilite l’obtention de prédictions.

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 sur un large éventail de sources. Le script récupère automatiquement les modèles depuis la dernière version de YOLOv5 et enregistre les résultats dans runs/detect. Ce script est idéal pour une utilisation en ligne de commande et l’intégration de YOLOv5 dans des systèmes plus vastes. Il prend en charge les images, les vidéos, les répertoires, les webcams et même les 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 stream

Entraî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
YOLOv5 training curves for COCO dataset

Lorsque tu appliques YOLOv5 à tes projets de vision par ordinateur, le dépôt GitHub est l’endroit où poser tes questions et partager tes résultats avec d’autres développeurs et chercheurs. Tu peux également utiliser Ultralytics Platform pour gérer tes jeux de données et entraîner tes modèles sans code, ou consulter la page Solutions pour découvrir des applications concrètes.

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 scripts train.py, val.py, detect.py et export.py.

  • yolov5s.pt offre le meilleur équilibre entre vitesse et précision pour la plupart des projets. Utilise yolov5n.pt pour les appareils de périphérie, yolov5m.pt à yolov5x.pt lorsque la précision compte plus que la vitesse, et les variantes P6 comme yolov5s6.pt pour 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/ et labels/ parallèles, décris-les dans un fichier dataset.yaml, puis exécute python 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, dans le package ultralytics, est plus rapide, plus précis et s’exporte de bout en bout sans NMS, en utilisant le même flux de travail pip install ultralytics décrit dans le Guide de démarrage rapide.

Commentaires

Pose une question, partage tes résultats ou aide quelqu’un d’autre.