YOLO Vision 2026:

Быстрый старт с YOLOv5 🚀#

Отправляйся в увлекательный мир обнаружения объектов в реальном времени с YOLOv5 от Ultralytics! Это руководство создано как подробная отправная точка для энтузиастов и профессионалов в области ИИ, стремящихся освоить YOLOv5. От первоначальной настройки до продвинутых методов обучения — здесь ты найдёшь всё необходимое. К концу руководства ты будешь знать, как уверенно внедрять YOLOv5 в свои проекты, используя современные методы глубокого обучения. Запускай двигатели и отправляйся в путь с YOLOv5!

Установка#

Подготовься к запуску: клонируй репозиторий YOLOv5 и настрой окружение. Это гарантирует установку всех необходимых зависимостей. Убедись, что у тебя готовы 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: модели автоматически загружаются из последнего релиза 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 для универсального инференса на различных источниках. Скрипт автоматически загружает модели из последнего релиза YOLOv5 и без лишних усилий сохраняет результаты. Этот скрипт идеально подходит для работы из командной строки и интеграции 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 на GPU V100 обычно занимает соответственно 1/2/4/6/8 дней (учти, что конфигурации с обучением на нескольких GPU работают быстрее). Максимизируй производительность, используя максимально возможное значение --batch-size, или воспользуйся --batch-size -1 для функции AutoBatch YOLOv5, которая автоматически подбирает оптимальный размер пакета. Указанные размеры пакетов оптимальны для GPU V100 с 16 ГБ памяти. Подробнее о файлах конфигурации моделей (*.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 — это не только современный инструмент для обнаружения объектов, но и свидетельство мощи машинного обучения, преображающего наше взаимодействие с миром благодаря визуальному восприятию. Продвигаясь по этому руководству и начиная применять YOLOv5 в своих проектах, помни, что ты находишься на переднем крае технологической революции и способен добиваться впечатляющих результатов в области компьютерного зрения. Если тебе понадобятся дополнительные сведения или поддержка единомышленников, присоединяйся к нашему репозиторию на GitHub, где кипит жизнь сообщества разработчиков и исследователей. Изучи дополнительные ресурсы, например Ultralytics Platform, для управления датасетами и обучения моделей без кода, или загляни на страницу Решения, чтобы найти примеры применения в реальном мире и вдохновение. Продолжай исследовать, продолжай внедрять инновации и наслаждайся возможностями YOLOv5. Удачного обнаружения! 🌠🔍

Комментарии