Démarrage rapide avec YOLOv5 🚀

Lance-toi dans le monde 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 d'IA et aux professionnels souhaitant maîtriser YOLOv5. De l'installation initiale aux techniques d'entraînement avancées, nous avons tout prévu. À la fin de ce guide, tu auras les connaissances nécessaires pour intégrer YOLOv5 dans tes projets en toute confiance, en utilisant des méthodes de deep learning de pointe. Faisons chauffer les moteurs et envolons-nous avec YOLOv5 !

Installation

Prépare le lancement en clonant le dépôt YOLOv5 et en configurant l'environnement. Cela garantit que toutes les exigences nécessaires sont installées. Vérifie que tu as Python>=3.8.0 et PyTorch>=1.8 prêts pour le décollage. Ces outils fondamentaux sont essentiels 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 YOLOv5 PyTorch Hub, où les modèles sont téléchargés de manière transparente depuis la dernière version de YOLOv5. Cette méthode exploite la puissance de PyTorch pour un chargement et une exécution faciles du modèle, rendant l'obtention de prédictions très directe.

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()  # Other options: .show(), .save(), .crop(), .pandas(), etc. Explore these in the Predict mode documentation.

Inférence avec detect.py

Utilise detect.py pour une inférence polyvalente sur diverses sources. Il récupère automatiquement les modèles depuis 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, prenant en charge des entrées comme 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 avec YOLOv5 en suivant les instructions d'entraînement ci-dessous. Les modèles et les jeux de données nécessaires (comme 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). Optimise les performances en utilisant le --batch-size le plus élevé possible ou utilise --batch-size -1 pour la fonctionnalité AutoBatch de YOLOv5, qui trouve automatiquement la taille de lot optimale. Les tailles de lot suivantes sont idéales pour les GPU V100-16GB. Reporte-toi à notre guide de configuration pour plus de détails sur les fichiers de configuration de 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

Pour conclure, YOLOv5 n'est pas seulement un outil de pointe pour la détection d'objets, mais aussi un témoignage de la puissance du machine learning dans la transformation de notre interaction avec le monde grâce à la compréhension visuelle. Alors que tu progresses 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 visionnaires, tu es invité sur notre dépôt GitHub, qui abrite une communauté florissante de développeurs et de chercheurs. Explore d'autres ressources comme la plateforme Ultralytics pour la gestion des jeux de données et l'entraînement de modèles sans code, ou consulte notre page Solutions pour des applications concrètes et de l'inspiration. Continue d'explorer, continue d'innover et profite des merveilles de YOLOv5. Bonne détection ! 🌠🔍

Commentaires