YOLOv5 — это самая популярная в мире система искусственного интеллекта для работы с изображениями, представляющая собой результаты исследований Ultralytics в области методов искусственного интеллекта для обработки изображений. В ходе этих исследований были учтены уроки и лучшие практики, накопленные за тысячи часов исследований и разработок.
Мы надеемся, что представленные здесь ресурсы помогут вам получить максимальную отдачу от YOLOv5. Пожалуйста, ознакомьтесь с документацией YOLOv5 на сайте docs.ultralytics.com/yolov5/, создайте заявку на GitHub для получения поддержки или присоединитесь к нашему сообществу на Discord для обсуждения вопросов и дискуссий!
Чтобы запросить корпоративную лицензию, заполните форму на странице Ultralytics Licensing (https://www.ultralytics.com/license).
Примечание: в запросе присутствуют ссылки и изображения, которые не были переведены. Ультралайtics YOLO11 🚀 NEW
Мы рады представить запуск Ultralytics YOLO11, последнего достижения в наших передовых моделях видения! Доступный сейчас на GitHub, YOLO11 основывается на нашем наследии скорости, точности и простоты использования. Независимо от того, занимаетесь ли вы обнаружением объектов, сегментацией изображений или классификацией изображений, YOLO11 обеспечивает производительность и универсальность, необходимые для успеха в разнообразных приложениях.
Начните сегодня и раскройте весь потенциал YOLO11! Посетите Ultralytics Docs для получения исчерпывающих руководств и ресурсов:
pip install ultralytics
Документация
См. YOLOv5 Docs для полной документации по обучению, тестированию и развёртыванию. Ниже приведены примеры быстрого старта.
Установка
Клонируйте репозиторий и установите requirements.txt в среде Python>=3.8.0, включая PyTorch>=1.8.
git clone https://github.com/ultralytics/yolov5 # clone
cd yolov5
pip install -r requirements.txt # install
Вывод
YOLOv5 вывод PyTorch Hub. Модели загружаются автоматически из последнего выпуска YOLOv5.
import torch
# Model
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # or yolov5n - yolov5x6, custom
# Images
img = "https://ultralytics.com/images/zidane.jpg" # или файл, Path, PIL, OpenCV, numpy, list
# Inference
results = model(img)
# Results
results.print() # или .show(), .save(), .crop(), .pandas(), и т. д.
Вывод с помощью detect.py
Detect.py выполняет вывод на различных источниках, автоматически загружая модели из последнего выпуска YOLOv5 и сохраняя результаты в runs/detect.
python detect.py --weights yolov5s.pt --source 0 # webcam
img.jpg # image
vid.mp4 # video
screen # скриншот **Путь**
*каталог*
list.txt *список изображений*
list.streams *список потоков*
'path/*.jpg' *глобальный шаблон*
'https://youtu.be/LNwODJXcvt4' *YouTube*
'rtsp://example.com/media.mp4' *RTSP, RTMP, HTTP поток*
Приведённые ниже команды воспроизводят результаты YOLOv5 COCO. Модели и наборы данных автоматически загружаются из последнего выпуска YOLOv5. Время обучения для YOLOv5n/s/m/l/x составляет 1/2/4/6/8 дней на GPU V100 (Многопроцессорное обучение быстрее). Используйте максимально возможный размер пакета или передайте --batch-size -1
для YOLOv5 AutoBatch. Размеры пакетов показаны для V100-16 ГБ.
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml --batch-size 128
yolov5s 64
yolov5m 40
yolov5l 24
yolov5x 16
Наши ключевые интеграции с ведущими платформами искусственного интеллекта расширяют функциональность предложений Ultralytics, улучшая такие задачи, как маркировка наборов данных, обучение, визуализация и управление моделями. Узнайте, как Ultralytics в сотрудничестве с W&B, Comet, Roboflow и... OpenVINO может оптимизировать ваш рабочий процесс ИИ.
Ultralytics HUB 🚀 | W&B | Comet ⭐ NEW | Neural Magic |
---|---|---|---|
Оптимизируйте рабочие процессы YOLO: легко маркируйте, обучайте и развертывайте с помощью Ultralytics HUB. Попробуйте прямо сейчас! | Отслеживайте эксперименты, гиперпараметры и результаты с помощью Weights & Biases | Бесплатный навсегда, Comet позволяет сохранять модели YOLOv5, возобновлять обучение и интерактивно визуализировать и отлаживать прогнозы | Запустите вывод YOLO11 до 6 раз быстрее с помощью Neural Magic DeepSparse |
Получите бесшовный опыт работы с ИИ с помощью Ultralytics HUB ⭐, комплексного решения для визуализации данных, обучения и развертывания моделей YOLOv5 и YOLOv8 🚀 без какого-либо кодирования. Превратите изображения в практические идеи и воплотите свои идеи ИИ в жизнь с легкостью, используя нашу передовую платформу и удобное приложение Ultralytics App. Начните свое путешествие бесплатно прямо сейчас!
YOLOv5 был разработан, чтобы быть очень простым в освоении и использовании. Мы делаем упор на реальные результаты.
**Предидущие версии чекпоинтов**
Модель | Размер (пиксели) |
mAPval 50-95 |
mAPval 50 |
Скорость CPU b1 (мс) |
Скорость V100 b1 (мс) |
Скорость V100 b32 (мс) |
Параметры (М) |
FLOPs @640 (B) |
---|---|---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 45.7 | 45 | 6.3 | 0.6 | 1.9 | 4.5 |
YOLOv5s | 640 | 37.4 | 56.8 | 98 | 6.4 | 0.9 | 7.2 | 16.5 |
YOLOv5m | 640 | 45.4 | 64.1 | 224 | 8.2 | 1.7 | 21.2 | 49.0 |
YOLOv5l | 640 | 49.0 | 67.3 | 430 | 10.1 | 2.7 | 46.5 | 109.1 |
YOLOv5x | 640 | 50.7 | 68.9 | 766 | 12.1 | 4.8 | 86.7 | 205.7 |
Примечание: в тексте запроса присутствуют таблицы, но их перевод не представлен в запросе. | 11.1 | 6.8 | 35.7 | 50.0 |
| YOLOv5l6 | 1280 | 53.7 | 71.3 | 1784 | 15.8 | 10.5 | 76.8 | 111.4 |
| YOLOv5x6
+ TTA | 1280
1536 | 55.0
55.8 | 72.7
72.7 | 3136
- | 26.2
- | 19.4
- | 140.7
- | 209.8
- |
python val.py --data coco.yaml --img 640 --conf 0,001 --iou 0,65
.python val.py --data coco.yaml --img 640 --task speed --batch 1
.python val.py --data coco.yaml --img 1536 --iou 0.7 --augment
.Наши новые модели сегментации YOLOv5 релиз v7.0 являются самыми быстрыми и точными в мире, превосходя все текущие SOTA-бенчмарки. Мы сделали их очень простыми для обучения, проверки и развёртывания. Подробные сведения см. в наших Release Notes и посетите наш ноутбук YOLOv5 Segmentation Colab для быстрого начала работы.
Мы обучили модели сегментации YOLOv5 на COCO в течение 300 эпох при размере изображения 640 пикселей, используя графические процессоры A100. Мы экспортировали все модели в ONNX FP32 для тестов скорости процессора и в TensorRT FP16 для тестов скорости графического процессора. Все тесты скорости мы проводили на ноутбуках Google Colab Pro для удобства воспроизведения.
Модель | размер (пикселей) |
mAPbox 50-95 |
mAPmask 50-95 |
Время обучения 300 эпох A100 (часы) |
Скорость ONNX CPU (мс) |
Скорость TRT A100 (мс) |
параметры (М) |
FLOPs @640 (B) |
---|---|---|---|---|---|---|---|---|
YOLOv5n-seg | 640 | 27.6 | 23.4 | 80:17 | 62.7 | 1.2 | 2.0 | 7.1 |
YOLOv5s-seg | 640 | 37.6 | 31.7 | 88:16 | 173.3 | 1.4 | 7.6 | 26.4 |
YOLOv5m-seg | 640 | 45.0 | 37.1 | 108:36 | 427.0 | 2.2 | 22.0 | 70.8 |
YOLOv5l-seg | 640 | 49.0 | 39.9 | 66:43 (2x) | 857.4 | 2.9 | 47.9 | 147.7 |
YOLOv5x-seg | 640 | 50.7 | 41.4 | 62:56 (3x) | 1579.2 | 4.5 | 88.8 | 265.7 |
Точность значений относится к одномодельной одномасштабной оценке на наборе данных COCO. Воспроизвести можно командой python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
.
Скорость усреднена по 100 изображениям для вывода с использованием экземпляра A100 High-RAM в Colab Pro. Значения указывают только на скорость вывода (NMS добавляет около 1 мс на изображение). Воспроизвести можно с помощью команды python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
.
Экспорт в ONNX при FP32 и TensorRT при FP16 выполняется с помощью export.py
. Воспроизвести можно с помощью команды python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
.
Обучение сегментации YOLOv5 поддерживает автоматическую загрузку набора данных сегментации COCO128-seg с аргументом --data coco128-seg.yaml
и ручную загрузку набора данных COCO-segments с помощью команд bash data/scripts/get_coco.sh --train --val --segments
, а затем python train.py --data coco.yaml
.
# Одно GPU
python segment/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640
# Много GPU DDP
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640 --device 0,1,2,3
Оцените маску mAP YOLOv5s-seg на наборе данных COCO:
bash data/scripts/get_coco.sh --val --segments # скачать сегменты COCO val split (780 МБ, 5000 изображений)
python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # валидировать
Используйте предварительно обученный YOLOv5m-seg.pt для прогнозирования bus.jpg:
python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpg
model = torch.hub.load(
"ultralytics/yolov5", "custom", "yolov5m-seg.pt"
) # загрузить из PyTorch Hub (ВНИМАНИЕ: вывод пока не поддерживается)
![]() |
![]() |
---|
Экспортируйте модель YOLOv5s-seg в ONNX и TensorRT:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0
``` YOLOv5 [релиз v6.2](https://github.com/ultralytics/yolov5/releases) поддерживает обучение, валидацию и развёртывание модели классификации! Подробные сведения см. в наших [Release Notes](https://github.com/ultralytic/yolov5/releases/v6.2) и посетите наш [YOLOv5 Classification Colab Notebook](https://github.com/ultralytics/yolov5/blob/master/classify/tutorial.ipynb) для ознакомления с краткими руководствами.
<details>
<summary>Проверка классификации</summary>
Мы обучили модели YOLOv5-cls классификации на ImageNet в течение 90 эпох, используя экземпляр 4xA100, и мы также обучили модели ResNet и EfficientNet с теми же настройками обучения по умолчанию для сравнения. Мы экспортировали все модели в ONNX FP32 для тестов скорости CPU и в TensorRT FP16 для тестов скорости GPU. Все тесты скорости были проведены на Google [Colab Pro](https://colab.research.google.com/signup) для удобства воспроизведения.
| Модель | размер<br><sup>(пиксели) | acc<br><sup>top1 | acc<br><sup>top5 | Обучение<br><sup>90 эпох<br>4xA100 (часы) | Скорость<br><sup>ONNX CPU<br>(мс) | Скорость<br><sup>TensorRT V100<br>(мс) | params<br><sup>(М) | FLOPs<br><sup>@224 (B) |
| -------------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | -------------------------------------------- | ------------------------------ | ----------------------------------- | ------------------ | ---------------------- |
| [YOLOv5n-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n-cls.pt) | 224 | 64.6 | 85.4 | 7:59 | **3.3** | **0.5** | **2.5** | **0.5** |
| [YOLOv5s-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s-cls.pt) | 224 | 71.5 | 90.2 | 8:09 | 6.6 | 0.6 | 5.4 | 1.4 |
| [YOLOv5m-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m-cls.pt) | 224 | 75.9 | 92.9 | 10:06 | 15.5 | 0.9 | 12.9 | 3.9 |
| [YOLOv5l-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l-cls.pt) | 224 | 78.0 | 94.0 | 11:56 | 26.9 | 1.4 | 26.5 | 8.5 |
| [YOLOv5x-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x-cls.pt) | 224 | **79.0** | **94.4** | 15:04 | 54.3 | 1.8 | 48.1 | 15.9 |
| | | | | | | | | |
| [ResNet18](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet18.pt) | 224 | 70.3 | 89.5 | **6:47** | 11.2 | 0.5 | 11.7 | 3.7 |
| [ResNet34](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet34.pt) | 224 | 73.9 | 91.8 | 8:33 | 20.6 | 0.9 | 21.8 | 7.4 |
| [ResNet50](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet50.pt) | 224 | 76.8 | 93.4 | 11:10 | 23.4 | 1.0 | 25.6 | 8.5 |
| [ResNet101](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet101.pt) | 224 | 78.5 | 94.3 | 17:10 | 42.1 | 1.9 | 44.5 | 15.9 |
| | | | | | | | | |
| [EfficientNet_b0](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b0.pt) | 224 | 75.1 | 92.4 | 13:03 | 12.5 | 1.3 | 5.3 | 1.0 |
| [EfficientNet_b1](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b1.pt) | 224 | 76.4 | 93.2 | 17:04 | 14.9 | 1.6 | 7.8 | 1.5 |
| [EfficientNet_b2](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b2.pt) | 224 | 76.6 | 93.4 | 17:10 | 15.9 | 1.6 | 9.1 | 1.7 |
| [EfficientNet_b3](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b3.pt) | 224 | 77.7 | 94.0 | 19:19 | 18.9 | 1.9 | 12.2 | 2.4 | ### Val
Проверить точность YOLOv5m-cls на наборе данных ImageNet-1k:
```bash
bash data/scripts/get_imagenet.sh --val # скачать разделенный набор данных ImageNet val (6,3 ГБ, 50000 изображений)
python classify/val.py --weights yolov5m-cls.pt --data ../datasets/imagenet --img 224 # проверить
Использовать предварительно обученный YOLOv5s-cls.pt для прогнозирования bus.jpg:
python classify/predict.py --weights yolov5s-cls.pt --source data/images/bus.jpg
model = torch.hub.load("ultralytics/yolov5", "custom", "yolov5s-cls.pt") # загрузить из PyTorch Hub
Экспортировать группу обученных моделей YOLOv5s-cls, ResNet и EfficientNet в ONNX и TensorRT:
python export.py --weights yolov5s-cls.pt resnet50.pt efficientnet_b0.pt --include onnx engine --img 224
Начните работу за считанные секунды с нашими проверенными средами. Нажмите на каждый значок ниже для получения подробной информации.
Мы ценим ваш вклад! Мы хотим сделать участие в YOLOv5 максимально простым и прозрачным. Пожалуйста, ознакомьтесь с нашим Руководством по участию, чтобы начать работу, и заполните Опрос YOLOv5, чтобы отправить нам отзыв о своем опыте. Спасибо всем нашим участникам!
Ultralytics предлагает два варианта лицензирования для различных случаев использования:
Для сообщений об ошибках YOLOv5 и запросов на новые функции посетите GitHub Issues и присоединяйтесь к нашему сообществу в Discord для обсуждения вопросов!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )