Ultralytics YOLO27 :

Démarrage rapide de YOLOv5 🚀#

Entame ton parcours dans l'univers dynamique de la détection d'objets en temps réel avec Ultralytics YOLOv5 ! Ce guide est conçu pour servir de point de départ complet aux passionnés et aux professionnels de l'IA qui souhaitent maîtriser YOLOv5. De la configuration initiale aux techniques d'entraînement avancées, tu y trouveras tout ce qu'il te faut. À 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 d'apprentissage profond de pointe. Mettons les moteurs en marche et envolons-nous vers YOLOv5 !

Installation#

Prépare le lancement en clonant le dépôt YOLOv5 et en configurant l'environnement. Cela garantit que toutes les dépendances nécessaires sont installées. Vérifie que tu disposes de Python>=3.8.0 et de PyTorch>=1.8 prêts au décollage. Ces outils fondamentaux sont indispensables pour exécuter YOLOv5 efficacement.

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

Inférence avec PyTorch Hub#

Découvre la simplicité de l'inférence avec PyTorch Hub de YOLOv5 : les modèles sont téléchargés automatiquement depuis la dernière version de YOLOv5. Cette méthode exploite la puissance de PyTorch pour charger et exécuter facilement les modèles, ce qui simplifie l'obtention de prédictions.

import torch

# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # Can be 'yolov5n' - 'yolov5x6', or 'custom'

# Inference on images
img = "https://ultralytics.com/images/zidane.jpg"  # Can be a file, Path, PIL, OpenCV, numpy, or list of images

# Run inference
results = model(img)

# Display results
results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

Inférence avec detect.py#

Exploite detect.py pour une inférence polyvalente sur diverses sources. Cet outil récupère automatiquement les modèles de la dernière version de YOLOv5 et enregistre les résultats en toute simplicité. Ce script est idéal pour une utilisation en ligne de commande et pour intégrer YOLOv5 dans des systèmes plus vastes, en prenant 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 stream

Entraînement#

Reproduis les benchmarks du jeu de données COCO pour YOLOv5 en suivant les instructions d'entraînement ci-dessous. Les modèles et jeux de données nécessaires (tels que coco128.yaml ou le coco.yaml complet) 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 1/2/4/6/8 jours respectivement (note que les configurations d'entraînement multi-GPU fonctionnent plus rapidement). Maximise les performances en utilisant la plus grande valeur --batch-size possible ou utilise --batch-size -1 pour la fonction AutoBatch de YOLOv5, qui trouve automatiquement la taille de batch optimale. Les tailles de batch suivantes sont idéales pour les GPU V100-16GB. Consulte le résumé de l'architecture pour plus de détails sur les fichiers de configuration de modèles (*.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

Pour conclure, YOLOv5 n'est pas seulement un outil de pointe pour la détection d'objets, c'est aussi un témoignage de la puissance de l'apprentissage automatique pour transformer notre manière d'interagir avec le monde grâce à la compréhension visuelle. À mesure que tu avances dans ce guide et que tu commences à appliquer YOLOv5 à tes projets, souviens-toi que tu es à l'avant-garde d'une révolution technologique, capable d'accomplir des prouesses remarquables en vision par ordinateur. Si tu as besoin d'informations supplémentaires ou du soutien d'autres passionnés de la vision, nous t'invitons à rejoindre notre dépôt GitHub, qui abrite une communauté florissante de développeurs et de chercheurs. Découvre d'autres ressources comme la plateforme Ultralytics pour gérer les ensembles de données et entraîner des modèles sans code, ou consulte notre page Solutions pour découvrir des applications concrètes et trouver l'inspiration. Continue à explorer, à innover et à 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"). Le clonage est nécessaire 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 importe plus que la vitesse, et les variantes P6 telles que yolov5s6.pt pour un entraînement à 1280 pixels. Consulte le tableau des points de contrôle pré-entraînés pour la liste complète.

  • Place les images et les étiquettes au format YOLO dans des dossiers parallèles images/ et labels/, décris-les dans un dataset.yaml et exécute python train.py --data dataset.yaml --weights yolov5s.pt. Le tutoriel Entraîner 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 de nouveaux travaux, YOLO26 dans le paquet 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