Быстрый старт 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 training curves for COCO dataset

В заключение, YOLOv5 — это не только современный инструмент для обнаружения объектов, но и свидетельство силы machine learning в изменении того, как мы взаимодействуем с миром через визуальное понимание. По мере продвижения по этому руководству и применения YOLOv5 в своих проектах помни, что ты находишься в авангарде технологической революции, способной достигать удивительных результатов в computer vision. Если тебе потребуется дополнительная информация или поддержка от коллег-визионеров, приглашаем тебя в наш GitHub repository, где живет процветающее сообщество разработчиков и исследователей. Изучи дополнительные ресурсы, такие как Ultralytics Platform, для управления датасетами и обучения моделей без написания кода, или загляни на нашу страницу Solutions для поиска реальных примеров использования и вдохновения. Продолжай исследовать, продолжай внедрять инновации и наслаждайся чудесами YOLOv5. Удачного детектирования! 🌠🔍

Комментарии