Link to this sectionБыстрый старт YOLOv5 🚀#
Начни свой путь в динамичный мир обнаружения объектов в реальном времени с Ultralytics YOLOv5! Это руководство создано как комплексная отправная точка для энтузиастов и профессионалов в области ИИ, стремящихся освоить YOLOv5. Мы охватили всё: от начальной настройки до продвинутых методов обучения. К концу этого руководства ты получишь знания, необходимые для уверенного внедрения YOLOv5 в свои проекты с использованием передовых методов глубинного обучения. Давай заведем двигатели и взлетим вместе с YOLOv5!
Link to this sectionУстановка#
Подготовься к запуску, клонировав репозиторий 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 dependenciesLink to this sectionИнференс с помощью 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.Link to this sectionИнференс с помощью 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 streamLink to this sectionTraining#
Воспроизведи бенчмарки набора данных COCO для YOLOv5, следуя инструкциям по обучению ниже. Необходимые модели и наборы данных (например, 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-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 — это не только передовой инструмент для обнаружения объектов, но и доказательство мощи машинного обучения в преобразовании нашего взаимодействия с миром через визуальное восприятие. Проходя это руководство и начиная применять YOLOv5 в своих проектах, помни, что ты находишься в авангарде технологической революции, способной достигать выдающихся результатов в компьютерном зрении. Если тебе понадобятся дополнительные идеи или поддержка со стороны единомышленников, приглашаем тебя в наш репозиторий на GitHub, где обитает процветающее сообщество разработчиков и исследователей. Изучи дополнительные ресурсы, такие как Ultralytics Platform, для управления данными и обучения моделей без написания кода, или загляни на нашу страницу решений для ознакомления с реальными кейсами и вдохновения. Продолжай исследовать, продолжай внедрять инновации и наслаждайся чудесами YOLOv5. Удачного обнаружения! 🌠🔍