Démarrage rapide de YOLOv5 🚀
Lancez-vous 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 d'entraînement avancées, nous avons tout ce qu'il vous faut. À la fin de ce guide, vous aurez les connaissances nécessaires pour implémenter YOLOv5 dans vos projets en toute confiance en utilisant des méthodes de deep learning de pointe. Allumons les moteurs et envolons-nous dans YOLOv5 !
Installer
Préparez le lancement en clonant le dépôt YOLOv5 et en établissant l'environnement. Cela garantit que toutes les exigences nécessaires sont installées. Vérifiez que vous avez 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écouvrez la simplicité de l’inférence PyTorch Hub de YOLOv5, où les modèles sont téléchargés de manière transparente à partir de la dernière version de YOLOv5. Cette méthode exploite la puissance de PyTorch pour faciliter le chargement et l’exécution des 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() # 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 inférence sur diverses sources. Il récupère automatiquement modèles du dernier YOLOv5 version et enregistre les résultats avec facilité. Ce script est idéal pour une utilisation en ligne de commande et pour l'intégration de YOLOv5 dans des systèmes plus vastes, prenant en charge des entrées telles que des images, des vidéos, des répertoires, des webcams et même 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
Reproduire YOLOv5 Ensemble de données COCO benchmarks en suivant les instructions de formation ci-dessous. Le nécessaire modèles et jeux de données (comme coco128.yaml
ou l'intégralité du coco.yaml
) sont directement extraits du dernier YOLOv5 version. Entraînement de YOLOv5n/s/m/l/x sur un V100 GPU devrait généralement prendre respectivement 1/2/4/6/8 jours (notez que Entraînement multi-GPU les configurations fonctionnent plus rapidement). Optimisez les performances en utilisant la valeur la plus élevée possible --batch-size
ou utiliser --batch-size -1
pour le YOLOv5 AutoBatch fonctionnalité, qui trouve automatiquement le taille de lot. Les tailles de lots suivantes sont idéales pour les GPU V100-16GB. Consultez notre guide de configuration pour plus de détails 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 un témoignage de la puissance de l'apprentissage automatique pour transformer notre façon d'interagir avec le monde grâce à la compréhension visuelle. Au fur et à mesure que vous avancez 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 prouesses remarquables en vision par ordinateur. Si vous avez besoin d'informations supplémentaires ou de l'aide d'autres visionnaires, vous êtes invité à consulter notre dépôt GitHub, qui abrite une communauté florissante de développeurs et de chercheurs. Explorez d'autres ressources telles que Ultralytics HUB pour la gestion des jeux de données et l'entraînement des modèles sans code, ou consultez notre page Solutions pour des applications concrètes et de l'inspiration. Continuez à explorer, continuez à innover et profitez des merveilles de YOLOv5. Bonne détection ! 🌠🔍