Ultralytics YOLO27: Запишись в список ожидания.
Начать

Краткое руководство по YOLOv5 🚀

Это руководство поможет начать работу с обнаружением объектов в реальном времени с помощью Ultralytics YOLOv5. В нём рассматриваются установка, инференс с помощью PyTorch Hub и detect.py, а также обучение, чтобы ты мог применять эту модель глубокого обучения в собственных проектах.

Установка#

Клонируй репозиторий YOLOv5 и установи его зависимости в среде с Python>=3.8.0 и PyTorch>=1.8.

git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies

Инференс с PyTorch Hub#

Запусти инференс YOLOv5 через PyTorch Hub: он автоматически скачивает модели из последнего релиза YOLOv5. Этот способ использует PyTorch для загрузки и выполнения модели, поэтому получить предсказания просто.

import torch

# Загрузка модели
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # Может быть 'yolov5n' - 'yolov5x6' или 'custom'

# Инференс на изображениях
img = "https://ultralytics.com/images/zidane.jpg"  # Может быть файл, Path, PIL, OpenCV, numpy или список изображений

# Выполнить инференс
results = model(img)

# Отобразить результаты
results.print()  # или .show(), .save(), .crop(), .pandas() и т. д.

Инференс с detect.py#

Используй detect.py для инференса на множестве источников. Скрипт автоматически загружает модели из последнего релиза YOLOv5 и сохраняет результаты в runs/detect. Скрипт подходит для работы из командной строки и интеграции YOLOv5 в более крупные системы. Он поддерживает изображения, видео, каталоги, веб-камеры и даже прямые трансляции.

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

Обучение#

Повтори результаты бенчмарков YOLOv5 на наборе данных COCO, следуя приведенным ниже инструкциям по обучению. Необходимые модели и наборы данных (например, coco128.yaml или полный coco.yaml) загружаются напрямую из последнего релиза YOLOv5. Обучение YOLOv5n/s/m/l/x на V100 GPU обычно занимает соответственно 1/2/4/6/8 дней (учти, что конфигурации с обучением на нескольких GPU работают быстрее). Добейся максимальной производительности, используя максимально возможный --batch-size, или задействуй --batch-size -1 для функции YOLOv5 AutoBatch, которая автоматически подбирает оптимальный размер пакета. Для GPU V100-16GB подходят следующие размеры пакетов. Подробности о файлах конфигурации моделей (*.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 в проектах компьютерного зрения, обращайся в репозиторий GitHub, чтобы задавать вопросы и делиться результатами с другими разработчиками и исследователями. Также ты можешь использовать платформу Ultralytics для управления наборами данных и обучения моделей без кода или изучить страницу Решения с примерами реальных приложений.

Часто задаваемые вопросы#

  • Для инференса — нет. PyTorch Hub загружает код и веса по запросу с помощью torch.hub.load("ultralytics/yolov5", "yolov5s"). Чтобы запускать скрипты train.py, val.py, detect.py и export.py, репозиторий нужно клонировать.

  • yolov5s.pt обеспечивает оптимальный баланс скорости и точности для большинства проектов. Используй yolov5n.pt для периферийных устройств, yolov5m.pt–yolov5x.pt, если точность важнее скорости, а варианты P6, например yolov5s6.pt, — для обучения на изображениях размером 1280 пикселей. Полный список см. в таблице предварительно обученных контрольных точек.

  • Помести изображения и метки в формате YOLO в параллельные каталоги images/ и labels/, опиши их в файле dataset.yaml и запусти python train.py --data dataset.yaml --weights yolov5s.pt. В руководстве Обучение на пользовательских данных разобран каждый этап.

  • YOLOv5 — стабильная модель, поддержка которой в отдельном репозитории продолжается в полном объёме, но она больше не является новейшей. Для новых проектов выбирай YOLO26 из пакета ultralytics: эта модель быстрее, точнее и экспортируется сквозным образом без NMS, используя тот же рабочий процесс pip install ultralytics, который описан в кратком руководстве.

Участники

Комментарии

Задай вопрос, поделись результатами или помоги кому-нибудь.