Быстрый старт YOLOv5 🚀
Отправляйся в увлекательное путешествие в динамичный мир object detection в реальном времени с Ultralytics YOLOv5! Это руководство создано как исчерпывающая отправная точка для энтузиастов и профессионалов в области AI, стремящихся освоить YOLOv5. Мы подготовили для тебя всё: от первоначальной настройки до продвинутых методов обучения. К концу этого руководства у тебя появятся знания, чтобы уверенно внедрять YOLOv5 в свои проекты, используя современные методы deep learning. Давай запустим двигатели и взлетим вместе с YOLOv5!
Установка
Подготовься к запуску, склонировав YOLOv5 repository и настроив окружение. Это гарантирует, что все необходимые requirements установлены. Убедись, что у тебя готовы Python>=3.8.0 и PyTorch>=1.8 для взлета. Эти базовые инструменты критически важны для эффективной работы YOLOv5.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesИнференс с PyTorch Hub
Оцени простоту инференса YOLOv5 через PyTorch Hub, где models бесшовно загружаются из последнего release YOLOv5. Этот метод использует мощь PyTorch для легкой загрузки и выполнения моделей, что позволяет получать предсказания без лишних усилий.
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.Инференс с detect.py
Используй detect.py для гибкого inference на различных источниках. Он автоматически получает models из последнего release YOLOv5 и легко сохраняет результаты. Этот скрипт идеально подходит для работы через командную строку и интеграции YOLOv5 в крупные системы, поддерживая такие входные данные, как изображения, видео, директории, веб-камеры и даже live streams.
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Обучение
Воспроизведи бенчмарки COCO dataset для YOLOv5, следуя training instructions ниже. Необходимые models и datasets (такие как coco128.yaml или полный coco.yaml) подгружаются напрямую из последнего release YOLOv5. Обучение YOLOv5n/s/m/l/x на GPU V100 обычно занимает 1/2/4/6/8 дней соответственно (обрати внимание, что настройки Multi-GPU training работают быстрее). Максимизируй производительность, используя максимально возможный --batch-size, или используй --batch-size -1 для функции AutoBatch в YOLOv5, которая автоматически находит оптимальный batch size. Следующие размеры батча идеальны для GPU V100-16GB. Обратись к нашему configuration guide за подробностями о файлах конфигурации моделей (*.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 — это не только современный инструмент для обнаружения объектов, но и свидетельство силы machine learning в изменении того, как мы взаимодействуем с миром через визуальное понимание. По мере продвижения по этому руководству и применения YOLOv5 в своих проектах помни, что ты находишься в авангарде технологической революции, способной достигать удивительных результатов в computer vision. Если тебе потребуется дополнительная информация или поддержка от коллег-визионеров, приглашаем тебя в наш GitHub repository, где живет процветающее сообщество разработчиков и исследователей. Изучи дополнительные ресурсы, такие как Ultralytics Platform, для управления датасетами и обучения моделей без написания кода, или загляни на нашу страницу Solutions для поиска реальных примеров использования и вдохновения. Продолжай исследовать, продолжай внедрять инновации и наслаждайся чудесами YOLOv5. Удачного детектирования! 🌠🔍