YOLOv5 Démarrage rapide 🚀
Embarquez pour un voyage dans le domaine 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 qui souhaitent maîtriser YOLOv5. De la configuration initiale aux techniques de formation avancées, nous avons tout prévu. À la fin de ce guide, vous aurez les connaissances nécessaires pour mettre en œuvre YOLOv5 dans vos projets en toute confiance, en utilisant des méthodes d'apprentissage profond de pointe. Mettons le feu aux poudres et prenons de l'altitude avec YOLOv5!
Installer
Préparez le lancement en clonant le référentielYOLOv5 et en établissant l'environnement. Cela permet de s'assurer que toutes les exigences nécessaires sont installées. Vérifiez que vous avez Python.8.0 et PyTorch.8 sont prêts à décoller. Ces outils de base sont essentiels pour faire fonctionner YOLOv5 de manière efficace.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies
Inférence avec PyTorch Hub
Découvrez la simplicité de l'inférence de YOLOv5 PyTorch Hub, où les modèles sont téléchargés de manière transparente à partir de la dernièreversion de YOLOv5 . Cette méthode exploite la puissance de PyTorch pour faciliter le chargement et l'exécution des modèles, ce qui permet d'obtenir facilement des 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() # Other options: .show(), .save(), .crop(), .pandas(), etc. Explore these in the Predict mode documentation.
Inférence avec detect.py
Harnais detect.py
pour une utilisation polyvalente déduction sur différentes sources. Il récupère automatiquement les modèles de la dernière YOLOv5 libération et enregistre facilement les résultats. Ce script est idéal pour une utilisation en ligne de commande et pour l'intégration de YOLOv5 dans des systèmes plus importants. 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 stream
Formation
Reproduire le YOLOv5 Ensemble de données COCO en suivant les critères de référence de l instructions de formation ci-dessous. Les éléments nécessaires à la mise en place d'un système d'information sur les droits de l'homme modèles et ensembles de données (comme coco128.yaml
ou l'ensemble des coco.yaml
) sont tirés directement de la dernière version de YOLOv5 libération. Formation à YOLOv5n/s/m/l/x sur un V100 GPU devraient prendre respectivement 1/2/4/6/8 jours (il est à noter que Formation GPU fonctionnent plus rapidement). Maximiser les performances en utilisant les --batch-size
ou utiliser --batch-size -1
pour les YOLOv5 AutoBatch qui permet de trouver automatiquement la solution optimale. taille du lot. Les tailles de lots suivantes sont idéales pour les GPU V100-16GB. Reportez-vous à notre guide de configuration pour plus de détails sur les fichiers de configuration des 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
En conclusion, YOLOv5 n'est pas seulement un outil de pointe pour la détection d'objets, mais aussi un témoignage de la puissance de l'apprentissage automatique dans la transformation de la façon dont nous interagissons avec le monde grâce à la compréhension visuelle. Alors que vous progressez dans ce guide et que vous commencez à appliquer YOLOv5 à vos projets, n'oubliez pas que vous êtes à l'avant-garde d'une révolution technologique, capable de réaliser des exploits remarquables dans le domaine de la vision par ordinateur. Si vous avez besoin d'informations supplémentaires ou du soutien d'autres visionnaires, nous vous invitons à consulter notre dépôt GitHub, qui abrite une communauté florissante de développeurs et de chercheurs. Explorez d'autres ressources comme Ultralytics HUB pour la gestion des ensembles de données et l'entraînement des modèles sans code, ou consultez notre page Solutions pour des applications réelles et de l'inspiration. Continuez à explorer, continuez à innover et profitez des merveilles de YOLOv5. Bonne détection ! 🌠🔍