Add Docs languages zh, es, ru, pt, fr, de, ja, ko (#6316)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
e3a538bbde
commit
48e70f0921
144 changed files with 17632 additions and 76 deletions
127
docs/ru/datasets/index.md
Normal file
127
docs/ru/datasets/index.md
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучение различных наборов данных компьютерного зрения, поддерживаемых Ultralytics, для задач объектного обнаружения, сегментации, оценки поз, классификации изображений и многократного отслеживания объектов.
|
||||
keywords: компьютерное зрение, наборы данных, Ultralytics, YOLO, обнаружение объектов, индивидуальная сегментация, оценка позы, классификация изображений, многократное отслеживание объектов
|
||||
---
|
||||
|
||||
# Обзор наборов данных
|
||||
|
||||
Ultralytics предоставляет поддержку различных наборов данных для выполнения задач компьютерного зрения, таких как обнаружение объектов, индивидуальная сегментация, оценка поз, классификация и многократное отслеживание объектов. Ниже приведен список основных наборов данных Ultralytics, а затем представлены описание каждой задачи компьютерного зрения и соответствующие наборы данных.
|
||||
|
||||
!!! note
|
||||
|
||||
🚧 Наша многоязычная документация в настоящее время находится в стадии разработки, и мы усердно работаем над ее улучшением. Спасибо за терпение! 🙏
|
||||
|
||||
## [Наборы данных для обнаружения](../../datasets/detect/index.md)
|
||||
|
||||
Обнаружение объектов с помощью ограничивающих рамок - это метод компьютерного зрения, который включает обнаружение и локализацию объектов на изображении путем рисования вокруг каждого объекта прямоугольной рамки.
|
||||
|
||||
- [Argoverse](../../datasets/detect/argoverse.md): Набор данных, содержащий данные о 3D отслеживании и прогнозировании движения из городских условий с подробными аннотациями.
|
||||
- [COCO](../../datasets/detect/coco.md): Масштабный набор данных, предназначенный для обнаружения объектов, сегментации и аннотирования с более чем 200 тыс. помеченных изображений.
|
||||
- [COCO8](../../datasets/detect/coco8.md): Содержит первые 4 изображения из наборов COCO train и COCO val, подходит для быстрых тестов.
|
||||
- [Global Wheat 2020](../../datasets/detect/globalwheat2020.md): Набор данных из изображений колосьев пшеницы, собранных со всего мира для задач обнаружения и локализации объектов.
|
||||
- [Objects365](../../datasets/detect/objects365.md): Качественный набор данных большого масштаба для обнаружения объектов с 365 категориями объектов и более чем 600 тыс. помеченных изображений.
|
||||
- [OpenImagesV7](../../datasets/detect/open-images-v7.md): Обширный набор данных от Google с 1,7 млн. изображений для обучения и 42 тыс. изображений для проверки.
|
||||
- [SKU-110K](../../datasets/detect/sku-110k.md): Набор данных для плотного обнаружения объектов в розничной торговле с более чем 11 тыс. изображений и 1,7 млн. ограничивающих рамок.
|
||||
- [VisDrone](../../datasets/detect/visdrone.md): Набор данных, содержащий данные для обнаружения объектов и многократного отслеживания из изображений, полученных с дронов, с более чем 10 тыс. изображений и видеопоследовательностей.
|
||||
- [VOC](../../datasets/detect/voc.md): Набор данных Pascal Visual Object Classes (VOC) для обнаружения объектов и сегментации с 20 категориями объектов и более чем 11 тыс. изображений.
|
||||
- [xView](../../datasets/detect/xview.md): Набор данных для обнаружения объектов на изображениях с воздуха с 60 категориями объектов и более чем 1 млн. аннотированных объектов.
|
||||
|
||||
## [Наборы данных для индивидуальной сегментации](../../datasets/segment/index.md)
|
||||
|
||||
Индивидуальная сегментация - это метод компьютерного зрения, включающий идентификацию и локализацию объектов на изображении на уровне пикселей.
|
||||
|
||||
- [COCO](../../datasets/segment/coco.md): Масштабный набор данных, разработанный для задач обнаружения объектов, сегментации и аннотирования с более чем 200 тыс. помеченных изображений.
|
||||
- [COCO8-seg](../../datasets/segment/coco8-seg.md): Уменьшенный набор данных для задач индивидуальной сегментации, содержащий подмножество из 8 изображений COCO с аннотациями сегментации.
|
||||
|
||||
## [Оценка поз](../../datasets/pose/index.md)
|
||||
|
||||
Оценка позы - это техника, используемая для определения позы объекта относительно камеры или системы координат мира.
|
||||
|
||||
- [COCO](../../datasets/pose/coco.md): Масштабный набор данных с аннотациями человеческой позы, разработанный для задач оценки позы.
|
||||
- [COCO8-pose](../../datasets/pose/coco8-pose.md): Уменьшенный набор данных для задач оценки позы, содержащий подмножество из 8 изображений COCO с аннотациями позы человека.
|
||||
- [Tiger-pose](../../datasets/pose/tiger-pose.md): Компактный набор данных из 263 изображений, сфокусированных на тиграх, аннотированных 12 ключевыми точками на тигре для задач оценки позы.
|
||||
|
||||
## [Классификация](../../datasets/classify/index.md)
|
||||
|
||||
Классификация изображений - это задача компьютерного зрения, которая включает категоризацию изображения в один или несколько заранее определенных классов или категорий на основе его визуального содержания.
|
||||
|
||||
- [Caltech 101](../../datasets/classify/caltech101.md): Набор данных, содержащий изображения 101 категории объектов для задач классификации изображений.
|
||||
- [Caltech 256](../../datasets/classify/caltech256.md): Расширенная версия Caltech 101 с 256 категориями объектов и более сложными изображениями.
|
||||
- [CIFAR-10](../../datasets/classify/cifar10.md): Набор данных из 60 тыс. цветных изображений размером 32x32 в 10 классах, по 6 тыс. изображений на класс.
|
||||
- [CIFAR-100](../../datasets/classify/cifar100.md): Расширенная версия CIFAR-10 со 100 категориями объектов и 600 изображениями на класс.
|
||||
- [Fashion-MNIST](../../datasets/classify/fashion-mnist.md): Набор данных из 70 тыс. изображений в оттенках серого 10 модных категорий для задач классификации изображений.
|
||||
- [ImageNet](../../datasets/classify/imagenet.md): Масштабный набор данных для обнаружения объектов и классификации изображений с более чем 14 млн. изображений и 20 тыс. категорий.
|
||||
- [ImageNet-10](../../datasets/classify/imagenet10.md): Уменьшенное подмножество ImageNet с 10 категориями для более быстрого экспериментирования и тестирования.
|
||||
- [Imagenette](../../datasets/classify/imagenette.md): Уменьшенное подмножество ImageNet, содержащее 10 легко различаемых классов для более быстрого обучения и тестирования.
|
||||
- [Imagewoof](../../datasets/classify/imagewoof.md): Более сложное подмножество ImageNet, содержащее 10 категорий пород собак для задач классификации изображений.
|
||||
- [MNIST](../../datasets/classify/mnist.md): Набор данных из 70 тыс. изображений в оттенках серого рукописных цифр для задач классификации изображений.
|
||||
|
||||
## [Ориентированные Ограничивающие Рамки (OBB)](../../datasets/obb/index.md)
|
||||
|
||||
Ориентированные ограничивающие рамки (OBB) - это метод в компьютерном зрении для обнаружения наклонных объектов на изображениях с использованием повернутых ограничивающих рамок, часто применяемый к аэрофотосъемке и спутниковым изображениям.
|
||||
|
||||
- [DOTAv2](../../datasets/obb/dota-v2.md): Популярный набор данных аэрофотосъемки OBB с 1,7 миллионами инста nces и 11,268 изображениями.
|
||||
|
||||
## [Многократное отслеживание объектов](../../datasets/track/index.md)
|
||||
|
||||
Многократное отслеживание объектов - это техника компьютерного зрения, которая включает обнаружение и отслеживание нескольких объектов во времени в видеопоследовательности.
|
||||
|
||||
- [Argoverse](../../datasets/detect/argoverse.md): Набор данных, содержащий данные о 3D отслеживании и прогнозировании движения из городских условий с подробными аннотациями для задач многократного отслеживания объектов.
|
||||
- [VisDrone](../../datasets/detect/visdrone.md): Набор данных, содержащий данные для обнаружения объектов и многократного отслеживания из изображений, полученных с дронов, с более чем 10 тыс. изображений и видеопоследовательностей.
|
||||
|
||||
## Внесение новых наборов данных
|
||||
|
||||
Внесение нового набора данных включает несколько шагов для обеспечения его соответствия существующей инфраструктуре. Ниже приведены необходимые шаги:
|
||||
|
||||
### Шаги для внесения нового набора данных
|
||||
|
||||
1. **Сбор изображений**: Соберите изображения, которые принадлежат набору данных. Их можно собрать из различных источников, таких как публичные базы данных или ваш собственный сбор.
|
||||
|
||||
2. **Аннотация изображений**: Пометьте эти изображения ограничивающими рамками, сегментами или ключевыми точками в зависимости от задачи.
|
||||
|
||||
3. **Экспорт аннотаций**: Конвертируйте эти аннотации в формат файлов YOLO *.txt, который поддерживается Ultralytics.
|
||||
|
||||
4. **Организация набора данных**: Распределите ваш набор данных в правильную структуру папок. У вас должны быть каталоги верхнего уровня `train/` и `val/`, и в каждом из них подкаталоги `images/` и `labels/`.
|
||||
|
||||
```
|
||||
dataset/
|
||||
├── train/
|
||||
│ ├── images/
|
||||
│ └── labels/
|
||||
└── val/
|
||||
├── images/
|
||||
└── labels/
|
||||
```
|
||||
|
||||
5. **Создание файла `data.yaml`**: В корневой директории вашего набора данных создайте файл `data.yaml`, который описывает набор данных, классы и другую необходимую информацию.
|
||||
|
||||
6. **Оптимизация изображений (опционально)**: Если вы хотите уменьшить размер набора данных для более эффективной обработки, вы можете оптимизировать изображения с помощью приведенного ниже кода. Это не является обязательным, но рекомендуется для уменьшения размеров набора данных и ускорения скорости загрузки.
|
||||
|
||||
7. **Архивация набора данных**: Сжать всю папку набора данных в zip-файл.
|
||||
|
||||
8. **Документация и Pull Request (PR)**: Создайте страницу документации, описывающую ваш набор данных и его соответствие существующей структуре. После этого отправьте Pull Request. Смотрите [Руководство по внесению вклада в Ultralytics](https://docs.ultralytics.com/help/contributing) для получения более подробной информации о том, как отправить PR.
|
||||
|
||||
### Пример кода для оптимизации и архивации набора данных
|
||||
|
||||
!!! example "Оптимизация и архивация набора данных"
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from pathlib import Path
|
||||
from ultralytics.data.utils import compress_one_image
|
||||
from ultralytics.utils.downloads import zip_directory
|
||||
|
||||
# Определите директорию набора данных
|
||||
path = Path('path/to/dataset')
|
||||
|
||||
# Оптимизация изображений в наборе данных (опционально)
|
||||
for f in path.rglob('*.jpg'):
|
||||
compress_one_image(f)
|
||||
|
||||
# Архивация набора данных в 'path/to/dataset.zip'
|
||||
zip_directory(path)
|
||||
```
|
||||
|
||||
Следуя этим шагам, вы сможете внести новый набор данных, который хорошо интегрируется с существующей структурой Ultralytics.
|
||||
82
docs/ru/index.md
Normal file
82
docs/ru/index.md
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучите полное руководство по Ultralytics YOLOv8, модели обнаружения объектов и сегментации изображений с высокой скоростью и точностью. Учебники по установке, предсказаниям, тренировке и многое другое.
|
||||
keywords: Ultralytics, YOLOv8, обнаружение объектов, сегментация изображений, машинное обучение, глубокое обучение, компьютерное зрение, установка YOLOv8, предсказание YOLOv8, тренировка YOLOv8, история YOLO, лицензии YOLO
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<p>
|
||||
<a href="https://yolovision.ultralytics.com" target="_blank">
|
||||
<img width="1024" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a>
|
||||
</p>
|
||||
<a href="https://github.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png" width="3%" alt="GitHub Ultralytics"></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||||
<a href="https://www.linkedin.com/company/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png" width="3%" alt="LinkedIn Ultralytics"></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||||
<a href="https://twitter.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png" width="3%" alt="Twitter Ultralytics"></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||||
<a href="https://youtube.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-youtube.png" width="3%" alt="YouTube Ultralytics"></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||||
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="3%" alt="TikTok Ultralytics"></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||||
<a href="https://www.instagram.com/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-instagram.png" width="3%" alt="Instagram Ultralytics"></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||||
<a href="https://ultralytics.com/discord"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="3%" alt="Discord Ultralytics"></a>
|
||||
<br>
|
||||
<br>
|
||||
<a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg" alt="CI Ultralytics"></a>
|
||||
<a href="https://codecov.io/github/ultralytics/ultralytics"><img src="https://codecov.io/github/ultralytics/ultralytics/branch/main/graph/badge.svg?token=HHW7IIVFVY" alt="Покрытие кода Ultralytics"></a>
|
||||
<a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Цитирование YOLOv8"></a>
|
||||
<a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Загрузки Docker"></a>
|
||||
<br>
|
||||
<a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Запустить на Gradient"/></a>
|
||||
<a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Открыть в Colab"></a>
|
||||
<a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Открыть в Kaggle"></a>
|
||||
</div>
|
||||
|
||||
Представляем [Ultralytics](https://ultralytics.com) [YOLOv8](https://github.com/ultralytics/ultralytics) — последнюю версию знаменитой модели для обнаружения объектов в реальном времени и сегментации изображений. YOLOv8 основан на передовом прогрессе в области глубокого обучения и компьютерного зрения и предлагает непревзойденную производительность в отношении скорости и точности. Его оптимизированная конструкция делает его подходящим для различных приложений и легко адаптируемым к различным аппаратным платформам, от устройств на краю сети до облачных API.
|
||||
|
||||
Исследуйте документацию YOLOv8 — обширный ресурс, разработанный, чтобы помочь вам понять и использовать его функции и возможности. Независимо от того, являетесь ли вы опытным практиком машинного обучения или новичком в этой области, этот центр ресурсов нацелен на максимальное раскрытие потенциала YOLOv8 в ваших проектах.
|
||||
|
||||
!!! note
|
||||
|
||||
🚧 Наша многоязычная документация в настоящее время находится в стадии разработки, и мы усердно работаем над ее улучшением. Спасибо за ваше терпение! 🙏
|
||||
|
||||
## С чего начать
|
||||
|
||||
- **Установите** `ultralytics` с помощью pip и приступайте к работе за несколько минут [:material-clock-fast: Начать работу](quickstart.md){ .md-button }
|
||||
- **Предскажите** новые изображения и видео с помощью YOLOv8 [:octicons-image-16: Предсказания для изображений](modes/predict.md){ .md-button }
|
||||
- **Тренируйте** новую модель YOLOv8 на своих собственных наборах данных [:fontawesome-solid-brain: Тренировать модель](modes/train.md){ .md-button }
|
||||
- **Исследуйте** задачи YOLOv8, такие как сегментация, классификация, оценка позы и отслеживание [:material-magnify-expand: Исследовать задачи](tasks/index.md){ .md-button }
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/LNwODJXcvt4?si=7n1UvGRLSd9p5wKs"
|
||||
title="Проигрыватель YouTube" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотрите:</strong> Как тренировать модель YOLOv8 на своем пользовательском наборе данных в <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb" target="_blank">Google Colab</a>.
|
||||
</p>
|
||||
|
||||
## YOLO: Краткая история
|
||||
|
||||
[YOLO](https://arxiv.org/abs/1506.02640) (You Only Look Once — «Смотришь только один раз»), популярная модель для обнаружения объектов и сегментации изображений, была разработана Джозефом Редмоном и Али Фархади из Вашингтонского университета. Запущенная в 2015 году, YOLO быстро обрела популярность благодаря своей высокой скорости и точности.
|
||||
|
||||
- [YOLOv2](https://arxiv.org/abs/1612.08242), выпущенная в 2016 году, улучшила оригинальную модель, включив в себя пакетную нормализацию, якорные окна и кластеры размеров.
|
||||
- [YOLOv3](https://pjreddie.com/media/files/papers/YOLOv3.pdf), запущенная в 2018 году, дополнительно улучшила производительность модели, используя более эффективную основную сеть, множество якорей и пирамидальное пространственное пулинг.
|
||||
- [YOLOv4](https://arxiv.org/abs/2004.10934) была выпущена в 2020 году, представив такие инновации, как увеличение данных Mosaic, новую свободную от якорьной голову детектирования и новую функцию потерь.
|
||||
- [YOLOv5](https://github.com/ultralytics/yolov5) дальше улучшила производительность модели и добавила новые функции, такие как оптимизация гиперпараметров, интегрированнное отслеживание экспериментов и автоматический экспорт в популярные форматы.
|
||||
- [YOLOv6](https://github.com/meituan/YOLOv6) была опубликована в открытом доступе компанией [Meituan](https://about.meituan.com/) в 2022 году и используется во многих автономных роботах доставки компании.
|
||||
- [YOLOv7](https://github.com/WongKinYiu/yolov7) добавила дополнительные задачи, такие как оценка позы по набору данных ключевых точек COCO.
|
||||
- [YOLOv8](https://github.com/ultralytics/ultralytics) — последняя версия YOLO от Ultralytics. Будучи передовой, современной моделью, YOLOv8 основана на успехе предыдущих версий, внедряя новые функции и усовершенствования для повышения производительности, гибкости и эффективности. YOLOv8 поддерживает полный спектр задач в области компьютерного зрения, включая [обнаружение](tasks/detect.md), [сегментацию](tasks/segment.md), [оценку позы](tasks/pose.md), [отслеживание](modes/track.md) и [классификацию](tasks/classify.md). Это многосторонность позволяет пользователям использовать возможности YOLOv8 в самых разнообразных приложениях и сферах деятельности.
|
||||
|
||||
## Лицензии YOLO: Как лицензируется YOLO от Ultralytics?
|
||||
|
||||
Ultralytics предлагает два варианта лицензирования для удовлетворения разнообразных сценариев использования:
|
||||
|
||||
- **Лицензия AGPL-3.0**: Эта одобренная [OSI](https://opensource.org/licenses/) лицензия с открытым исходным кодом идеально подходит для студентов и энтузиастов, способствуя открытому сотрудничеству и обмену знаниями. Подробную информацию смотрите в файле [LICENSE](https://github.com/ultralytics/ultralytics/blob/main/LICENSE).
|
||||
- **Корпоративная лицензия**: Разработанная для коммерческого использования, эта лицензия позволяет беспрепятственно интегрировать программное обеспечение и AI-модели Ultralytics в товары и услуги коммерческого назначения, обходя требования открытого исходного кода AGPL-3.0. Если ваш сценарий включает внедрение наших решений в коммерческое предложение, обратитесь через [Лицензирование Ultralytics](https://ultralytics.com/license).
|
||||
|
||||
Наша стратегия лицензирования разработана, чтобы обеспечить возврат усовершенствований наших проектов с открытым исходным кодом обществу. Мы твердо привержены принципам открытого исходного кода ❤️ и наша миссия заключается в гарантировании того, что наши вклады могут быть использованы и расширены таким образом, который будет полезен для всех.
|
||||
94
docs/ru/models/index.md
Normal file
94
docs/ru/models/index.md
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучите разнообразные модели семейства YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS и RT-DETR, поддерживаемые Ultralytics. Начните с примеров использования в командной строке и Python.
|
||||
keywords: Ultralytics, документация, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, модели, архитектуры, Python, CLI
|
||||
---
|
||||
|
||||
# Модели, поддерживаемые Ultralytics
|
||||
|
||||
Добро пожаловать в документацию по моделям Ultralytics! Мы поддерживаем широкий спектр моделей, каждая из которых адаптирована для конкретных задач, таких как [обнаружение объектов](../tasks/detect.md), [сегментация на уровне экземпляров](../tasks/segment.md), [классификация изображений](../tasks/classify.md), [оценка позы](../tasks/pose.md) и [множественное отслеживание объектов](../modes/track.md). Если вы заинтересованы в добавлении архитектуры вашей модели в Ultralytics, ознакомьтесь с нашим [Руководством для участников](../../help/contributing.md).
|
||||
|
||||
!!! note
|
||||
|
||||
🚧 Наша многоязычная документация в настоящее время находится в стадии разработки, и мы усердно работаем над ее улучшением. Спасибо за ваше терпение! 🙏
|
||||
|
||||
## Основные модели
|
||||
|
||||
Вот некоторые ключевые модели, поддерживаемые нами:
|
||||
|
||||
1. **[YOLOv3](../../models/yolov3.md)**: Третье поколение семейства моделей YOLO, созданное Джозефом Редмоном, известное своей эффективной способностью обнаружения объектов в реальном времени.
|
||||
2. **[YOLOv4](../../models/yolov4.md)**: Обновление YOLOv3, оптимизированное для darknet, выпущенное Алексеем Бочковским в 2020 году.
|
||||
3. **[YOLOv5](../../models/yolov5.md)**: Улучшенная версия архитектуры YOLO от Ultralytics, предлагающая лучшие компромиссы производительности и скорости по сравнению с предыдущими версиями.
|
||||
4. **[YOLOv6](../../models/yolov6.md)**: Выпущена компанией [Meituan](https://about.meituan.com/) в 2022 году и используется во многих роботах автономной доставки компании.
|
||||
5. **[YOLOv7](../../models/yolov7.md)**: Обновленные модели YOLO, выпущенные в 2022 году авторами YOLOv4.
|
||||
6. **[YOLOv8](../../models/yolov8.md)**: Последняя версия семейства YOLO с расширенными возможностями, такими как сегментация на уровне экземпляров, оценка позы/ключевых точек и классификация.
|
||||
7. **[Segment Anything Model (SAM)](../../models/sam.md)**: Модель Segment Anything от Meta (SAM).
|
||||
8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: MobileSAM для мобильных приложений от Университета Кён Хи.
|
||||
9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: FastSAM от Группы анализа изображений и видео, Института автоматики, Китайская академия наук.
|
||||
10. **[YOLO-NAS](../../models/yolo-nas.md)**: Модели YOLO с поиском архитектуры нейронных сетей (NAS).
|
||||
11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: Модели Realtime Detection Transformer (RT-DETR) от Baidu на основе PaddlePaddle.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/MWq1UxqTClU?si=nHAW-lYDzrz68jR0"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотрите:</strong> Запуск моделей YOLO от Ultralytics всего в несколько строк кода.
|
||||
</p>
|
||||
|
||||
## Начало работы: Примеры использования
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
Предварительно обученные модели PyTorch `*.pt` а также файлы конфигурации `*.yaml` могут быть переданы в классы `YOLO()`, `SAM()`, `NAS()` и `RTDETR()` для создания экземпляра модели в Python:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка модели YOLOv8n, предварительно обученной на COCO
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Отображение информации о модели (необязательно)
|
||||
model.info()
|
||||
|
||||
# Обучение модели на примерном наборе данных COCO8 в течение 100 эпох
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# Запуск использования модели YOLOv8n на изображении 'bus.jpg'
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
Команды CLI доступны для непосредственного запуска моделей:
|
||||
|
||||
```bash
|
||||
# Загрузка и обучение модели YOLOv8n, предварительно обученной на COCO, на примерном наборе данных COCO8 в течение 100 эпох
|
||||
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# Загрузка и запуск использования модели YOLOv8n, предварительно обученной на COCO, на изображении 'bus.jpg'
|
||||
yolo predict model=yolov8n.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## Вклад в новые модели
|
||||
|
||||
Заинтересованы в добавлении вашей модели в Ultralytics? Замечательно! Мы всегда открыты для расширения нашего портфолио моделей.
|
||||
|
||||
1. **Создать форк репозитория**: Начните с создания форка [репозитория Ultralytics на GitHub](https://github.com/ultralytics/ultralytics).
|
||||
|
||||
2. **Клонировать ваш форк**: Клонируйте ваш форк на локальный компьютер и создайте новую ветку для работы.
|
||||
|
||||
3. **Реализовать вашу модель**: Добавьте вашу модель, следуя стандартам кодирования и руководящим принципам, приведенным в нашем [Руководстве для участников](../../help/contributing.md).
|
||||
|
||||
4. **Тщательно протестировать**: Убедитесь, что ваша модель тестируется тщательно как самостоятельно, так и как часть нашего конвейера.
|
||||
|
||||
5. **Создать запрос на добавление**: После того, как будете удовлетворены вашей моделью, создайте запрос на добавление в основной репозиторий для рассмотрения.
|
||||
|
||||
6. **Код-ревью и слияние**: После рецензирования, если ваша модель соответствует нашим критериям, она будет добавлена в основной репозиторий.
|
||||
|
||||
Для более подробных шагов, смотрите наше [Руководство для участников](../../help/contributing.md).
|
||||
94
docs/ru/modes/benchmark.md
Normal file
94
docs/ru/modes/benchmark.md
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
---
|
||||
comments: true
|
||||
description: Узнайте, как профилировать скорость и точность YOLOv8 в различных форматах экспорта; получите информацию о метриках mAP50-95, accuracy_top5 и др.
|
||||
keywords: Ultralytics, YOLOv8, бенчмаркинг, профилирование скорости, профилирование точности, mAP50-95, accuracy_top5, ONNX, OpenVINO, TensorRT, форматы экспорта YOLO
|
||||
---
|
||||
|
||||
# Бенчмаркинг моделей с Ultralytics YOLO
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема и интеграции Ultralytics YOLO">
|
||||
|
||||
## Введение
|
||||
|
||||
После того, как ваша модель обучена и валидирована, следующим логическим шагом является оценка ее производительности в различных реальных сценариях. Режим бенчмаркинга в Ultralytics YOLOv8 служит этой цели, предоставляя надежный инструментарий для оценки скорости и точности вашей модели в ряде форматов экспорта.
|
||||
|
||||
## Почему бенчмаркинг критичен?
|
||||
|
||||
- **Обоснованные решения:** Получение представления о компромиссе между скоростью и точностью.
|
||||
- **Распределение ресурсов:** Понимание производительности различных форматов экспорта на разном оборудовании.
|
||||
- **Оптимизация:** Выяснение, какой формат экспорта предлагает лучшую производительность для вашего конкретного случая.
|
||||
- **Эффективность затрат:** Сделайте использование аппаратных ресурсов более эффективным на основе результатов бенчмаркинга.
|
||||
|
||||
### Ключевые метрики в режиме бенчмаркинга
|
||||
|
||||
- **mAP50-95:** Для детектирования объектов, сегментации и оценки поз.
|
||||
- **accuracy_top5:** Для классификации изображений.
|
||||
- **Время инференса:** Время, затрачиваемое на каждое изображение в миллисекундах.
|
||||
|
||||
### Поддерживаемые форматы экспорта
|
||||
|
||||
- **ONNX:** Для оптимальной производительности ЦП
|
||||
- **TensorRT:** Для максимальной эффективности GPU
|
||||
- **OpenVINO:** Для оптимизации под аппаратное обеспечение Intel
|
||||
- **CoreML, TensorFlow SavedModel и другие:** Для разнообразных потребностей развертывания.
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
* Экспортируйте в ONNX или OpenVINO для ускорения процессора до 3 раз.
|
||||
* Экспортируйте в TensorRT для ускорения GPU до 5 раз.
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Запустите бенчмарк YOLOv8n на всех поддерживаемых форматах экспорта, включая ONNX, TensorRT и т. д. Смотрите раздел Аргументы ниже для полного списка параметров экспорта.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics.utils.benchmarks import benchmark
|
||||
|
||||
# Бенчмарк на GPU
|
||||
benchmark(model='yolov8n.pt', data='coco8.yaml', imgsz=640, half=False, device=0)
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0
|
||||
```
|
||||
|
||||
## Аргументы
|
||||
|
||||
Аргументы, такие как `model`, `data`, `imgsz`, `half`, `device` и `verbose`, предоставляют пользователям гибкость для тонкой настройки бенчмарков под их конкретные потребности и сравнения производительности различных форматов экспорта с легкостью.
|
||||
|
||||
| Ключ | Значение | Описание |
|
||||
|-----------|----------|----------------------------------------------------------------------------------|
|
||||
| `model` | `None` | путь к файлу модели, например yolov8n.pt, yolov8n.yaml |
|
||||
| `data` | `None` | путь к YAML, ссылающемуся на набор данных для бенчмаркинга (под меткой `val`) |
|
||||
| `imgsz` | `640` | размер изображения как скаляр или список (h, w), например (640, 480) |
|
||||
| `half` | `False` | квантование FP16 |
|
||||
| `int8` | `False` | квантование INT8 |
|
||||
| `device` | `None` | устройство для запуска, например cuda device=0 или device=0,1,2,3 или device=cpu |
|
||||
| `verbose` | `False` | не продолжать при ошибке (bool), или пороговое значение для `val` (float) |
|
||||
|
||||
## Форматы экспорта
|
||||
|
||||
Бенчмарки попытаются автоматически запустить для всех возможных форматов экспорта ниже.
|
||||
|
||||
| Формат | Аргумент `format` | Модель | Метаданные | Аргументы |
|
||||
|--------------------------------------------------------------------|-------------------|---------------------------|------------|-----------------------------------------------------|
|
||||
| [PyTorch](https://pytorch.org/) | - | `yolov8n.pt` | ✅ | - |
|
||||
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
|
||||
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
|
||||
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half` |
|
||||
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
|
||||
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
|
||||
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras` |
|
||||
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
|
||||
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
|
||||
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
|
||||
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
|
||||
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
|
||||
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |
|
||||
|
||||
Смотрите полную информацию о `export` на странице [Экспорт](https://docs.ultralytics.com/modes/export/).
|
||||
108
docs/ru/modes/export.md
Normal file
108
docs/ru/modes/export.md
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
---
|
||||
comments: true
|
||||
description: Пошаговое руководство по экспорту ваших моделей YOLOv8 в различные форматы, такие как ONNX, TensorRT, CoreML и другие, для развертывания. Изучите сейчас!.
|
||||
keywords: YOLO, YOLOv8, Ultralytics, Экспорт модели, ONNX, TensorRT, CoreML, TensorFlow SavedModel, OpenVINO, PyTorch, экспорт модели
|
||||
---
|
||||
|
||||
# Экспорт модели с Ultralytics YOLO
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема и интеграции Ultralytics YOLO">
|
||||
|
||||
## Введение
|
||||
|
||||
Основная цель тренировки модели — её развертывание для реальных приложений. Режим экспорта в Ultralytics YOLOv8 предлагает множество вариантов для экспорта обученной модели в различные форматы, обеспечивая возможность развертывания на разных платформах и устройствах. Это исчерпывающее руководство направлено на то, чтобы провести вас через тонкости экспорта моделей, демонстрируя, как достичь максимальной совместимости и производительности.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/WbomGeoOT_k?si=aGmuyooWftA0ue9X"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотрите:</strong> Как экспортировать обученную пользовательскую модель Ultralytics YOLOv8 и запустить живое воспроизведение на веб-камере.
|
||||
</p>
|
||||
|
||||
## Почему стоит выбрать режим экспорта YOLOv8?
|
||||
|
||||
- **Универсальность:** Экспорт в несколько форматов, включая ONNX, TensorRT, CoreML и другие.
|
||||
- **Производительность:** Увеличение скорости на GPU до 5 раз с TensorRT и ускорение на CPU до 3 раз с ONNX или OpenVINO.
|
||||
- **Совместимость:** Сделайте вашу модель универсально развертываемой в различных аппаратных и программных средах.
|
||||
- **Простота использования:** Простой интерфейс командной строки и Python API для быстрого и простого экспорта моделей.
|
||||
|
||||
### Ключевые особенности режима экспорта
|
||||
|
||||
Вот некоторые из ключевых функций:
|
||||
|
||||
- **Экспорт одним кликом:** Простые команды для экспорта в разные форматы.
|
||||
- **Пакетный экспорт:** Экспорт моделей, способных к пакетной обработке.
|
||||
- **Оптимизированное предсказание:** Экспортированные модели оптимизированы для более быстрого предсказания.
|
||||
- **Учебные видео:** Глубокие руководства и обучающие видео для гладкого опыта экспорта.
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
* Экспортируйте в ONNX или OpenVINO для ускорения CPU до 3 раз.
|
||||
* Экспортируйте в TensorRT для увеличения скорости на GPU до 5 раз.
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Экспорт модели YOLOv8n в другой формат, например ONNX или TensorRT. Смотрите раздел Аргументы ниже для полного списка аргументов экспорта.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n.pt') # загрузка официальной модели
|
||||
model = YOLO('path/to/best.pt') # загрузка обученной пользовательской модели
|
||||
|
||||
# Экспорт модели
|
||||
model.export(format='onnx')
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo export model=yolov8n.pt format=onnx # экспорт официальной модели
|
||||
yolo export model=path/to/best.pt format=onnx # экспорт обученной пользовательской модели
|
||||
```
|
||||
|
||||
## Аргументы
|
||||
|
||||
Настройки экспорта моделей YOLO относятся к различным конфигурациям и опциям, используемым для сохранения или экспорта модели для использования в других средах или платформах. Эти настройки могут влиять на производительность модели, размер и совместимость с разными системами. Некоторые общие настройки экспорта YOLO включают формат экспортируемого файла модели (например, ONNX, TensorFlow SavedModel), устройство, на котором будет запущена модель (например, CPU, GPU), а также наличие дополнительных функций, таких как маски или несколько меток на коробку. Другие факторы, которые могут повлиять на процесс экспорта, включают конкретное задание, для которого используется модель, и требования или ограничения целевой среды или платформы. Важно тщательно рассмотреть и настроить эти параметры, чтобы убедиться, что экспортированная модель оптимизирована для предполагаемого использования и может быть эффективно использована в целевой среде.
|
||||
|
||||
| Ключ | Значение | Описание |
|
||||
|-------------|-----------------|---------------------------------------------------------------------------|
|
||||
| `format` | `'torchscript'` | формат для экспорта |
|
||||
| `imgsz` | `640` | размер изображения в виде скаляра или списка (h, w), например, (640, 480) |
|
||||
| `keras` | `False` | использовать Keras для экспорта TF SavedModel |
|
||||
| `optimize` | `False` | TorchScript: оптимизация для мобильных устройств |
|
||||
| `half` | `False` | квантование FP16 |
|
||||
| `int8` | `False` | квантование INT8 |
|
||||
| `dynamic` | `False` | ONNX/TensorRT: динамические оси |
|
||||
| `simplify` | `False` | ONNX/TensorRT: упрощение модели |
|
||||
| `opset` | `None` | ONNX: версия набора операций (необязательный, по умолчанию последний) |
|
||||
| `workspace` | `4` | TensorRT: размер рабочей области (ГБ) |
|
||||
| `nms` | `False` | CoreML: добавление NMS |
|
||||
|
||||
## Форматы экспорта
|
||||
|
||||
Доступные форматы экспорта YOLOv8 указаны в таблице ниже. Вы можете экспортировать в любой формат, используя аргумент `format`, например, `format='onnx'` или `format='engine'`.
|
||||
|
||||
| Формат | Аргумент `format` | Модель | Метаданные | Аргументы |
|
||||
|--------------------------------------------------------------------|-------------------|---------------------------|------------|-----------------------------------------------------|
|
||||
| [PyTorch](https://pytorch.org/) | - | `yolov8n.pt` | ✅ | - |
|
||||
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
|
||||
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
|
||||
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half` |
|
||||
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
|
||||
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
|
||||
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras` |
|
||||
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
|
||||
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
|
||||
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
|
||||
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
|
||||
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
|
||||
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |
|
||||
73
docs/ru/modes/index.md
Normal file
73
docs/ru/modes/index.md
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
---
|
||||
comments: true
|
||||
description: От обучения до отслеживания - используйте все возможности YOLOv8 от Ultralytics. Получите информацию и примеры для каждого поддерживаемого режима, включая проверку, экспорт и бенчмаркинг.
|
||||
keywords: Ultralytics, YOLOv8, Машинное обучение, Обнаружение объектов, Обучение, Проверка, Предсказание, Экспорт, Отслеживание, Бенчмаркинг
|
||||
---
|
||||
|
||||
# Режимы Ultralytics YOLOv8
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема Ultralytics YOLO и интеграции">
|
||||
|
||||
## Введение
|
||||
|
||||
Ultralytics YOLOv8 - это не просто еще одна модель обнаружения объектов; это многофункциональная платформа, предназначенная для охвата всего жизненного цикла моделей машинного обучения - от ввода данных и обучения модели до валидации, развертывания и отслеживания в реальном мире. Каждый режим служит определенной цели и разработан, чтобы предложить вам гибкость и эффективность, необходимую для различных задач и сценариев использования.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/j8uQc0qB91s?si=dhnGKgqvs7nPgeaM"
|
||||
title="Плеер YouTube видео" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотрите:</strong> Руководство по режимам Ultralytics: Обучение, Проверка, Предсказание, Экспорт и Бенчмаркинг.
|
||||
</p>
|
||||
|
||||
### Обзор режимов
|
||||
|
||||
Понимание различных **режимов**, которые поддерживает Ultralytics YOLOv8, критически важно для эффективного использования ваших моделей:
|
||||
|
||||
- **Режим обучения (Train mode)**: Настройте вашу модель на пользовательские или предзагруженные наборы данных.
|
||||
- **Режим проверки (Val mode)**: Контрольная точка после обучения для валидации производительности модели.
|
||||
- **Режим предсказания (Predict mode)**: Раскройте предсказательную мощь вашей модели на данных из реального мира.
|
||||
- **Режим экспорта (Export mode)**: Подготовьте вашу модель к развертыванию в различных форматах.
|
||||
- **Режим отслеживания (Track mode)**: Расширьте вашу модель обнаружения объектов до приложений отслеживания в реальном времени.
|
||||
- **Режим бенчмаркинга (Benchmark mode)**: Проанализируйте скорость и точность вашей модели в разнообразных средах развертывания.
|
||||
|
||||
Это исчерпывающее руководство направлено на то, чтобы дать вам обзор и практические сведения о каждом режиме, помогая вам использовать полный потенциал YOLOv8.
|
||||
|
||||
## [Обучение (Train)](train.md)
|
||||
|
||||
Режим обучения используется для обучения модели YOLOv8 на пользовательском наборе данных. В этом режиме модель обучается с использованием указанного набора данных и гиперпараметров. Процесс обучения включает в себя оптимизацию параметров модели, чтобы она могла точно предсказывать классы и местоположения объектов на изображении.
|
||||
|
||||
[Примеры обучения](train.md){ .md-button .md-button--primary}
|
||||
|
||||
## [Проверка (Val)](val.md)
|
||||
|
||||
Режим проверки используется для валидации модели YOLOv8 после ее обучения. В этом режиме модель оценивается на наборе данных для валидации, чтобы измерить ее точность и способность к обобщению. Этот режим может быть использован для настройки гиперпараметров модели с целью улучшения ее производительности.
|
||||
|
||||
[Примеры проверки](val.md){ .md-button .md-button--primary}
|
||||
|
||||
## [Предсказание (Predict)](predict.md)
|
||||
|
||||
Режим предсказания используется для выполнения предсказаний с использованием обученной модели YOLOv8 на новых изображениях или видео. В этом режиме модель загружается из файла контрольной точки, и пользователь может предоставить изображения или видео для выполнения вывода. Модель предсказывает классы и местоположения объектов во входных изображениях или видео.
|
||||
|
||||
[Примеры предсказания](predict.md){ .md-button .md-button--primary}
|
||||
|
||||
## [Экспорт (Export)](export.md)
|
||||
|
||||
Режим экспорта используется для экспортирования модели YOLOv8 в формат, который может быть использован для развертывания. В этом режиме модель преобразуется в формат, который может быть использован другими программными приложениями или аппаратными устройствами. Этот режим полезен при развертывании модели в производственной среде.
|
||||
|
||||
[Примеры экспорта](export.md){ .md-button .md-button--primary}
|
||||
|
||||
## [Отслеживание (Track)](track.md)
|
||||
|
||||
Режим отслеживания используется для отслеживания объектов в реальном времени с использованием модели YOLOv8. В этом режиме модель загружается из файла контрольной точки, и пользователь может предоставить прямую видеотрансляцию для выполнения отслеживания объектов в реальном времени. Этот режим полезен для приложений, таких как системы видеонаблюдения или беспилотные автомобили.
|
||||
|
||||
[Примеры отслеживания](track.md){ .md-button .md-button--primary}
|
||||
|
||||
## [Бенчмаркинг (Benchmark)](benchmark.md)
|
||||
|
||||
Режим бенчмаркинга используется для профилирования скорости и точности различных форматов экспорта для YOLOv8. Бенчмарки предоставляют информацию о размере экспортируемого формата, его метриках `mAP50-95` (для обнаружения объектов, сегментации и позы) или метриках `accuracy_top5` (для классификации), а также время вывода в миллисекундах на изображение для различных форматов экспорта, таких как ONNX, OpenVINO, TensorRT и других. Эта информация может помочь пользователям выбрать оптимальный формат экспорта для их конкретного сценария использования на основе их требований к скорости и точности.
|
||||
|
||||
[Примеры бенчмаркинга](benchmark.md){ .md-button .md-button--primary}
|
||||
226
docs/ru/modes/predict.md
Normal file
226
docs/ru/modes/predict.md
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
---
|
||||
comments: true
|
||||
description: Узнайте, как использовать режим предсказаний YOLOv8 для различных задач. Изучите различные источники вывода, такие как изображения, видео и форматы данных.
|
||||
keywords: Ultralytics, YOLOv8, режим предсказаний, источники вывода, задачи предсказания, режим потоковой передачи, обработка изображений, обработка видео, машинное обучение, искусственный интеллект
|
||||
---
|
||||
|
||||
# Прогнозирование моделью Ultralytics YOLO
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема и интеграции Ultralytics YOLO">
|
||||
|
||||
## Введение
|
||||
|
||||
В мире машинного обучения и компьютерного зрения процесс извлечения информации из визуальных данных называется 'выводом' или 'предсказанием'. Ultralytics YOLOv8 предлагает мощную функцию, известную как **режим предсказаний**, который предназначен для высокопроизводительного реального времени вывода на широкий спектр источников данных.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/QtsI0TnwDZs?si=ljesw75cMO2Eas14"
|
||||
title="Проигрыватель видео YouTube" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотреть:</strong> Как извлечь результаты из модели Ultralytics YOLOv8 для пользовательских проектов.
|
||||
</p>
|
||||
|
||||
## Прикладные области
|
||||
|
||||
| Производство | Спорт | Безопасность |
|
||||
|:-------------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------:|
|
||||
|  |  |  |
|
||||
| Обнаружение автозапчастей | Обнаружение футболистов | Обнаружение падения людей |
|
||||
|
||||
## Почему стоит использовать Ultralytics YOLO для вывода?
|
||||
|
||||
Вот почему вам следует рассмотреть режим предсказаний YOLOv8 для ваших различных потребностей в выводе:
|
||||
|
||||
- **Универсальность:** Возможность делать выводы по изображениям, видео и даже потоковым трансляциям.
|
||||
- **Производительность:** Разработан для обработки данных в реальном времени без потери точности.
|
||||
- **Простота использования:** Интуитивно понятные интерфейсы Python и CLI для быстрого развертывания и тестирования.
|
||||
- **Высокая настраиваемость:** Различные настройки и параметры для настройки поведения модели вывода в соответствии с вашими конкретными требованиями.
|
||||
|
||||
### Ключевые особенности режима предсказаний
|
||||
|
||||
Режим предсказаний YOLOv8 разработан, чтобы быть надежным и универсальным, он включает в себя:
|
||||
|
||||
- **Совместимость с несколькими источниками данных:** независимо от того, представлены ли ваши данные в виде отдельных изображений, коллекции изображений, видеофайлов или потокового видео, режим предсказаний покрывает все это.
|
||||
- **Режим потоковой передачи:** Используйте функцию потоковой передачи для создания генератора объектов `Results`, экономящего память. Активируйте это, установив `stream=True` в методе вызова предиктора.
|
||||
- **Пакетная обработка:** Возможность обрабатывать несколько изображений или видеокадров за один пакет, что дополнительно ускоряет время вывода.
|
||||
- **Дружественная интеграция:** Легко интегрируется с существующими данными и другими программными компонентами благодаря гибкому API.
|
||||
|
||||
Модели Ultralytics YOLO возвращают либо список объектов `Results`, либо генератор объектов `Results` в Python, экономящий память, когда `stream=True` передается в модель во время вывода:
|
||||
|
||||
!!! example "Предсказание"
|
||||
|
||||
=== "Вернуть список с `stream=False`"
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка модели
|
||||
model = YOLO('yolov8n.pt') # предварительно обученная модель YOLOv8n
|
||||
|
||||
# Пакетный вывод на список изображений
|
||||
results = model(['im1.jpg', 'im2.jpg']) # вернуть список объектов Results
|
||||
|
||||
# Обработка списка результатов
|
||||
for result in results:
|
||||
boxes = result.boxes # Объект Boxes для вывода bbox
|
||||
masks = result.masks # Объект Masks для вывода масок сегментации
|
||||
keypoints = result.keypoints # Объект Keypoints для вывода поз
|
||||
probs = result.probs # Объект Probs для вывода вероятностей классификации
|
||||
```
|
||||
|
||||
=== "Вернуть генератор с `stream=True`"
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка модели
|
||||
model = YOLO('yolov8n.pt') # предварительно обученная модель YOLOv8n
|
||||
|
||||
# Пакетный вывод на список изображений
|
||||
results = model(['im1.jpg', 'im2.jpg'], stream=True) # вернуть генератор объектов Results
|
||||
|
||||
# Обработка генератора результатов
|
||||
for result in results:
|
||||
boxes = result.boxes # Объект Boxes для вывода bbox
|
||||
masks = result.masks # Объект Masks для вывода масок сегментации
|
||||
keypoints = result.keypoints # Объект Keypoints для вывода поз
|
||||
probs = result.probs # Объект Probs для вывода вероятностей классификации
|
||||
```
|
||||
|
||||
## Источники вывода
|
||||
|
||||
YOLOv8 может обрабатывать различные типы входных источников для вывода, как показано в таблице ниже. Источники включают статические изображения, видеопотоки и различные форматы данных. В таблице также указано, можно ли использовать каждый источник в режиме потоковой передачи с аргументом `stream=True` ✅. Режим потоковой передачи полезен для обработки видео или живых трансляций, так как создает генератор результатов вместо загрузки всех кадров в память.
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
Используйте `stream=True` для обработки длинных видеороликов или больших наборов данных для эффективного управления памятью. Когда `stream=False`, результаты для всех кадров или точек данных хранятся в памяти, что может быстро накопиться и вызвать ошибки переполнения памяти для больших входов. В отличие от этого, `stream=True` использует генератор, который хранит в памяти результаты только текущего кадра или точки данных, значительно сокращая потребление памяти и предотвращая проблемы с переполнением памяти.
|
||||
|
||||
| Источник | Аргумент | Тип | Заметки |
|
||||
|-----------------|--------------------------------------------|------------------|---------------------------------------------------------------------------------------------------------------|
|
||||
| изображение | `'image.jpg'` | `str` или `Path` | Одиночный файл изображения. |
|
||||
| URL | `'https://ultralytics.com/images/bus.jpg'` | `str` | URL на изображение. |
|
||||
| скриншот | `'screen'` | `str` | Снять скриншот. |
|
||||
| PIL | `Image.open('im.jpg')` | `PIL.Image` | Формат HWC с RGB каналами. |
|
||||
| OpenCV | `cv2.imread('im.jpg')` | `np.ndarray` | Формат HWC с BGR каналами `uint8 (0-255)`. |
|
||||
| numpy | `np.zeros((640,1280,3))` | `np.ndarray` | Формат HWC с BGR каналами `uint8 (0-255)`. |
|
||||
| torch | `torch.zeros(16,3,320,640)` | `torch.Tensor` | Формат BCHW с RGB каналами `float32 (0.0-1.0)`. |
|
||||
| CSV | `'sources.csv'` | `str` или `Path` | CSV-файл, содержащий пути к изображениям, видео или каталогам. |
|
||||
| видео ✅ | `'video.mp4'` | `str` или `Path` | Видеофайл в форматах, вроде MP4, AVI и т.д. |
|
||||
| каталог ✅ | `'path/'` | `str` или `Path` | Путь к каталогу, содержащему изображения или видео. |
|
||||
| глоб ✅ | `'path/*.jpg'` | `str` | Шаблон глоба для сопоставления нескольких файлов. Используйте символ `*` как подстановочный. |
|
||||
| YouTube ✅ | `'https://youtu.be/LNwODJXcvt4'` | `str` | URL на видео YouTube. |
|
||||
| поток ✅ | `'rtsp://example.com/media.mp4'` | `str` | URL для потоковых протоколов, таких как RTSP, RTMP, TCP, или IP-адрес. |
|
||||
| много-потоков ✅ | `'list.streams'` | `str` или `Path` | Текстовый файл `*.streams` с одним URL потока на строку, например, 8 потоков запустятся с пакетом размером 8. |
|
||||
|
||||
Ниже приведены примеры кода для использования каждого типа источника:
|
||||
|
||||
!!! example "Источники предсказаний"
|
||||
|
||||
=== "изображение"
|
||||
Выполнить вывод на файл изображения.
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv8n
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Определите путь к файлу изображения
|
||||
source = 'path/to/image.jpg'
|
||||
|
||||
# Выполнить вывод на источник
|
||||
results = model(source) # список объектов Results
|
||||
```
|
||||
|
||||
=== "скриншот"
|
||||
Выполнить вывод на текущее содержимое экрана в виде скриншота.
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv8n
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Определение текущего скриншота как источника
|
||||
source = 'screen'
|
||||
|
||||
# Выполнить вывод на источник
|
||||
results = model(source) # список объектов Results
|
||||
```
|
||||
|
||||
=== "URL"
|
||||
Выполнить вывод на изображение или видео, размещенные удаленно по URL.
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv8n
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Определение URL удаленного изображения или видео
|
||||
source = 'https://ultralytics.com/images/bus.jpg'
|
||||
|
||||
# Выполнить вывод на источник
|
||||
results = model(source) # список объектов Results
|
||||
```
|
||||
|
||||
=== "PIL"
|
||||
Выполнение вывода на изображение, открытое с помощью Python Imaging Library (PIL).
|
||||
```python
|
||||
from PIL import Image
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv8n
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Открытие изображения с помощью PIL
|
||||
source = Image.open('path/to/image.jpg')
|
||||
|
||||
# Выполнение вывода на источник
|
||||
results = model(source) # список объектов Results
|
||||
```
|
||||
|
||||
=== "OpenCV"
|
||||
Выполнение вывода на изображение, прочитанное с помощью OpenCV.
|
||||
```python
|
||||
import cv2
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv8n
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Чтение изображения с помощью OpenCV
|
||||
source = cv2.imread('path/to/image.jpg')
|
||||
|
||||
# Выполнение вывода на источник
|
||||
results = model(source) # список объектов Results
|
||||
```
|
||||
|
||||
=== "numpy"
|
||||
Выполнение вывода на изображение, представленное в виде массива numpy.
|
||||
```python
|
||||
import numpy as np
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv8n
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Создание случайного массива numpy с формой HWC (640, 640, 3) со значениями в диапазоне [0, 255] и типом uint8
|
||||
source = np.random.randint(low=0, high=255, size=(640, 640, 3), dtype='uint8')
|
||||
|
||||
# Выполнение вывода на источник
|
||||
results = model(source) # список объектов Results
|
||||
```
|
||||
|
||||
=== "torch"
|
||||
Выполнение вывода на изображение, представленное в виде тензора PyTorch.
|
||||
```python
|
||||
import torch
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv8n
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Создание случайного тензора torch с формой BCHW (1, 3, 640, 640) со значениями в диапазоне [0, 1] и типом float32
|
||||
source = torch.rand(1, 3, 640, 640, dtype=torch.float32)
|
||||
|
||||
# Выполнение вывода на источник
|
||||
results = model(source) # список объектов Results
|
||||
200
docs/ru/modes/track.md
Normal file
200
docs/ru/modes/track.md
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
---
|
||||
comments: true
|
||||
description: Узнайте, как использовать Ultralytics YOLO для отслеживания объектов в видеопотоках. Руководства по использованию различных трекеров и настройке конфигурации трекера.
|
||||
keywords: Ultralytics, YOLO, отслеживание объектов, видеопотоки, BoT-SORT, ByteTrack, руководство на Python, руководство CLI
|
||||
---
|
||||
|
||||
# Множественное отслеживание объектов с помощью Ultralytics YOLO
|
||||
|
||||
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418637-1d6250fd-1515-4c10-a844-a32818ae6d46.png" alt="Примеры множественного отслеживания объектов">
|
||||
|
||||
Отслеживание объектов в сфере видеоаналитики является ключевой задачей, которая определяет не только местоположение и класс объектов в кадре, но также поддерживает уникальный ID для каждого обнаруженного объекта по мере развития видео. Приложения безграничны — от наблюдения и безопасности до аналитики реального времени в спорте.
|
||||
|
||||
## Почему стоит выбрать Ultralytics YOLO для отслеживания объектов?
|
||||
|
||||
Вывод с трекеров Ultralytics согласуется со стандартным обнаружением объектов, но имеет добавленные ID объектов. Это упрощает отслеживание объектов в видеопотоках и выполнение последующей аналитики. Вот почему вы должны рассмотреть использование Ultralytics YOLO для ваших потребностей в отслеживании объектов:
|
||||
|
||||
- **Эффективность:** Обработка видеопотоков в режиме реального времени без потери точности.
|
||||
- **Гибкость:** Поддержка множества алгоритмов отслеживания и конфигураций.
|
||||
- **Простота использования:** Простой Python API и CLI-опции для быстрой интеграции и развертывания.
|
||||
- **Настраиваемость:** Легкость использования с пользовательскими обученными моделями YOLO, позволяющая интеграцию в специфические для домена приложения.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/hHyHmOtmEgs?si=VNZtXmm45Nb9s-N-"
|
||||
title="YouTube видео плеер" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотрите:</strong> Обнаружение объектов и отслеживание с Ultralytics YOLOv8.
|
||||
</p>
|
||||
|
||||
## Прикладные применения
|
||||
|
||||
| Транспорт | Ритейл | Аквакультура |
|
||||
|:---------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------:|
|
||||
|  |  |  |
|
||||
| Отслеживание транспортных средств | Отслеживание людей | Отслеживание рыб |
|
||||
|
||||
## Ключевые особенности
|
||||
|
||||
Ultralytics YOLO расширяет свои возможности обнаружения объектов для обеспечения надежного и универсального отслеживания объектов:
|
||||
|
||||
- **Отслеживание в реальном времени:** Безпрерывное отслеживание объектов в видео с высокой частотой кадров.
|
||||
- **Поддержка множества трекеров:** Выбор из разнообразия установленных алгоритмов отслеживания.
|
||||
- **Настраиваемые конфигурации трекеров:** Настройка алгоритма отслеживания для конкретных требований путем регулировки различных параметров.
|
||||
|
||||
## Доступные трекеры
|
||||
|
||||
Ultralytics YOLO поддерживает следующие алгоритмы отслеживания. Их можно включить, передав соответствующий YAML файл конфигурации, например `tracker=tracker_type.yaml`:
|
||||
|
||||
* [BoT-SORT](https://github.com/NirAharon/BoT-SORT) - Используйте `botsort.yaml`, чтобы активировать этот трекер.
|
||||
* [ByteTrack](https://github.com/ifzhang/ByteTrack) - Используйте `bytetrack.yaml`, чтобы активировать этот трекер.
|
||||
|
||||
Трекер по умолчанию - BoT-SORT.
|
||||
|
||||
## Отслеживание
|
||||
|
||||
Для запуска трекера на видеопотоках используйте обученные модели Detect, Segment или Pose, такие как YOLOv8n, YOLOv8n-seg и YOLOv8n-pose.
|
||||
|
||||
!!! пример ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите официальную или пользовательскую модель
|
||||
model = YOLO('yolov8n.pt') # Загрузить официальную модель Detect
|
||||
model = YOLO('yolov8n-seg.pt') # Загрузить официальную модель Segment
|
||||
model = YOLO('yolov8n-pose.pt') # Загрузить официальную модель Pose
|
||||
model = YOLO('path/to/best.pt') # Загрузить пользовательскую обученную модель
|
||||
|
||||
# Выполнить отслеживание с помощью модели
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True) # Отслеживание с трекером по умолчанию
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml") # Отслеживание с трекером ByteTrack
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Выполнить отслеживание с различными моделями используя командный интерфейс
|
||||
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" # Официальная модель Detect
|
||||
yolo track model=yolov8n-seg.pt source="https://youtu.be/LNwODJXcvt4" # Официальная модель Segment
|
||||
yolo track model=yolov8n-pose.pt source="https://youtu.be/LNwODJXcvt4" # Официальная модель Pose
|
||||
yolo track model=path/to/best.pt source="https://youtu.be/LNwODJXcvt4" # Пользовательская обученная модель
|
||||
|
||||
# Отслеживание с использованием трекера ByteTrack
|
||||
yolo track model=path/to/best.pt tracker="bytetrack.yaml"
|
||||
```
|
||||
|
||||
Как видно из вышеуказанного использования, отслеживание доступно для всех моделей Detect, Segment и Pose, работающих с видео или потоковыми источниками.
|
||||
|
||||
## Конфигурация
|
||||
|
||||
### Аргументы для отслеживания
|
||||
|
||||
Конфигурация отслеживания имеет общие свойства с режимом Predict, такие как `conf`, `iou` и `show`. Для дальнейшей настройки обратитесь к странице модели [Predict](https://docs.ultralytics.com/modes/predict/).
|
||||
|
||||
!!! пример ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Настройте параметры отслеживания и запустите трекер
|
||||
model = YOLO('yolov8n.pt')
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Настройте параметры отслеживания и запустите трекер, используя командный интерфейс
|
||||
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.3, iou=0.5 show
|
||||
```
|
||||
|
||||
### Выбор трекера
|
||||
|
||||
Ultralytics также позволяет использовать измененный файл конфигурации трекера. Для этого просто сделайте копию файла конфигурации трекера (например, `custom_tracker.yaml`) из [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) и измените любые настройки (кроме `tracker_type`) в соответствии с вашими потребностями.
|
||||
|
||||
!!! пример ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель и запустите трекер с пользовательским файлом конфигурации
|
||||
model = YOLO('yolov8n.pt')
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", tracker='custom_tracker.yaml')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Загрузите модель и запустите трекер с пользовательским файлом конфигурации, используя командный интерфейс
|
||||
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" tracker='custom_tracker.yaml'
|
||||
```
|
||||
|
||||
Для полного списка аргументов отслеживания обратитесь к странице [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers).
|
||||
|
||||
## Примеры на Python
|
||||
|
||||
### Цикл сохранения следов
|
||||
|
||||
Вот пример скрипта Python, использующий OpenCV (`cv2`) и YOLOv8 для выполнения отслеживания объектов на кадрах видео. В этом сценарии предполагается, что вы уже установили необходимые пакеты (`opencv-python` и `ultralytics`). Аргумент `persist=True` указывает трекеру, что текущее изображение или кадр является следующим в последовательности и ожидает, что следы с предыдущего изображения будут присутствовать в текущем изображении.
|
||||
|
||||
!!! пример "Цикл с потоковым отслеживанием for-loop"
|
||||
|
||||
```python
|
||||
import cv2
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель YOLOv8
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Откройте видеофайл
|
||||
video_path = "path/to/video.mp4"
|
||||
cap = cv2.VideoCapture(video_path)
|
||||
|
||||
# Цикл по кадрам видео
|
||||
while cap.isOpened():
|
||||
# Чтение кадра из видео
|
||||
success, frame = cap.read()
|
||||
|
||||
if success:
|
||||
# Выполните отслеживание YOLOv8 для кадра, сохраняя следы между кадрами
|
||||
results = model.track(frame, persist=True)
|
||||
|
||||
# Визуализируйте результаты на кадре
|
||||
annotated_frame = results[0].plot()
|
||||
|
||||
# Покажите аннотированный кадр
|
||||
cv2.imshow("Отслеживание YOLOv8", annotated_frame)
|
||||
|
||||
# Прервать цикл, если нажата клавиша 'q'
|
||||
if cv2.waitKey(1) & 0xFF == ord("q"):
|
||||
break
|
||||
else:
|
||||
# Прервать цикл, если достигнут конец видео
|
||||
break
|
||||
|
||||
# Освободите объект захвата видео и закройте окно отображения
|
||||
cap.release()
|
||||
cv2.destroyAllWindows()
|
||||
```
|
||||
|
||||
Обратите внимание на изменение с `model(frame)` на `model.track(frame)`, которое позволяет включить отслеживание объектов вместо простого обнаружения. Этот измененный скрипт будет выполнять трекер на каждом кадре видео, визуализировать результаты и отображать их в окне. Цикл можно завершить нажатием 'q'.
|
||||
|
||||
## Содействие в новых трекерах
|
||||
|
||||
Вы являетесь профессионалом в множественном отслеживании объектов и успешно реализовали или адаптировали алгоритм отслеживания с Ultralytics YOLO? Мы приглашаем вас внести свой вклад в наш раздел Trackers на [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers)! Ваши реальные приложения и решения могут быть бесценными для пользователей, работающих над задачами отслеживания.
|
||||
|
||||
Внося свой вклад в этот раздел, вы помогаете расширить спектр доступных решений для отслеживания в рамках фреймворка Ultralytics YOLO, добавляя еще один уровень функциональности и полезности для сообщества.
|
||||
|
||||
Чтобы начать свой вклад, пожалуйста, ознакомьтесь с нашим [Руководством для участников](https://docs.ultralytics.com/help/contributing) для получения полной инструкции по отправке Pull Request (PR) 🛠️. Мы в предвкушении увидеть, что вы принесете на стол!
|
||||
|
||||
Вместе давайте улучшим возможности отслеживания экосистемы Ultralytics YOLO 🙏!
|
||||
206
docs/ru/modes/train.md
Normal file
206
docs/ru/modes/train.md
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
---
|
||||
comments: true
|
||||
description: Пошаговое руководство по обучению моделей YOLOv8 с использованием Ultralytics YOLO, включая примеры обучения на одном и нескольких GPU
|
||||
keywords: Ultralytics, YOLOv8, YOLO, обнаружение объектов, режим обучения, настраиваемый набор данных, обучение на GPU, много-GPU, гиперпараметры, примеры CLI, примеры Python
|
||||
---
|
||||
|
||||
# Обучение моделей с помощью Ultralytics YOLO
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема и интеграции Ultralytics YOLO">
|
||||
|
||||
## Введение
|
||||
|
||||
Обучение глубокой обучающей модели включает в себя подачу данных и настройку её параметров, так чтобы она могла делать точные прогнозы. Режим обучения в Ultralytics YOLOv8 предназначен для эффективного и результативного обучения моделей обнаружения объектов с полным использованием возможностей современной аппаратуры. Это руководство нацелено на описание всех деталей, необходимых для начала обучения ваших моделей с использованием богатого набора функций YOLOv8.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/LNwODJXcvt4?si=7n1UvGRLSd9p5wKs"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотреть:</strong> Как обучить модель YOLOv8 на вашем настраиваемом наборе данных в Google Colab.
|
||||
</p>
|
||||
|
||||
## Почему стоит выбрать Ultralytics YOLO для обучения?
|
||||
|
||||
Вот несколько убедительных причин использовать режим Train YOLOv8:
|
||||
|
||||
- **Эффективность:** Используйте максимум возможностей вашего оборудования, будь то настройка с одним GPU или распределение нагрузки на несколько GPU.
|
||||
- **Универсальность:** Обучайте на настраиваемых наборах данных, помимо уже доступных, таких как COCO, VOC и ImageNet.
|
||||
- **Дружелюбный интерфейс:** Простой, но мощный интерфейс командной строки (CLI) и Python для прямолинейного опыта обучения.
|
||||
- **Гибкость гиперпараметров:** Широкий спектр настраиваемых гиперпараметров для тонкой настройки производительности модели.
|
||||
|
||||
### Ключевые особенности режима Train
|
||||
|
||||
Вот некоторые заметные особенности режима Train YOLOv8:
|
||||
|
||||
- **Автоматическая загрузка набора данных:** Стандартные наборы данных, такие как COCO, VOC и ImageNet, загружаются автоматически при первом использовании.
|
||||
- **Поддержка многих GPU:** Масштабируйте усилия по обучению без проблем на нескольких GPU, чтобы ускорить процесс.
|
||||
- **Настройка гиперпараметров:** Возможность изменения гиперпараметров через файлы конфигурации YAML или аргументы CLI.
|
||||
- **Визуализация и мониторинг:** Отслеживание метрик обучения в реальном времени и визуализация процесса обучения для лучшего понимания.
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
* Наборы данных YOLOv8, такие как COCO, VOC, ImageNet и многие другие, автоматически загружаются при первом использовании, например, `yolo train data=coco.yaml`
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Обучение YOLOv8n на наборе данных COCO128 в течение 100 эпох с размером изображения 640. Устройство для обучения может быть указано с помощью аргумента `device`. Если аргумент не передан, будет использоваться GPU `device=0`, если доступен, в противном случае будет использоваться `device=cpu`. Смотрите раздел Аргументы ниже для полного списка аргументов обучения.
|
||||
|
||||
!!! example "Пример обучения на одном GPU и CPU"
|
||||
|
||||
Устройство определяется автоматически. Если доступен GPU, то он будет использован, иначе обучение начнется на CPU.
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n.yaml') # создать новую модель из YAML
|
||||
model = YOLO('yolov8n.pt') # загрузить предобученную модель (рекомендуется для обучения)
|
||||
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # создать из YAML и перенести веса
|
||||
|
||||
# Обучить модель
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Создать новую модель из YAML и начать обучение с нуля
|
||||
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
|
||||
|
||||
# Начать обучение с предобученной модели *.pt
|
||||
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
|
||||
|
||||
# Создать новую модель из YAML, перенести предобученные веса и начать обучение
|
||||
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
|
||||
```
|
||||
|
||||
### Обучение на нескольких GPU
|
||||
|
||||
Обучение на нескольких GPU позволяет более эффективно использовать доступные аппаратные ресурсы, распределяя нагрузку по обучению на несколько GPU. Эта функция доступна как через Python API, так и через командный интерфейс. Чтобы включить обучение на нескольких GPU, укажите идентификаторы устройств GPU, которые вы хотите использовать.
|
||||
|
||||
!!! example "Пример обучения на нескольких GPU"
|
||||
|
||||
Чтобы обучить с использованием 2 GPU, устройств CUDA 0 и 1 используйте следующие команды. Расширьте до дополнительных GPU по мере необходимости.
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n.pt') # загрузить предобученную модель (рекомендуется для обучения)
|
||||
|
||||
# Обучить модель с использованием 2 GPU
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device=[0, 1])
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Начать обучение с предобученной модели *.pt используя GPU 0 и 1
|
||||
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=0,1
|
||||
```
|
||||
|
||||
### Обучение на Apple M1 и M2 с использованием MPS
|
||||
|
||||
С интеграцией поддержки чипов Apple M1 и M2 в модели Ultralytics YOLO теперь можно обучать ваши модели на устройствах, использующих мощную платформу Metal Performance Shaders (MPS). MPS предлагает производительный способ выполнения вычислений и задач обработки изображений на пользовательских кремниевых чипах Apple.
|
||||
|
||||
Чтобы запустить обучение на чипах Apple M1 и M2, вы должны указать 'mps' в качестве вашего устройства при запуске процесса обучения. Ниже приведены примеры использования Python и командной строки:
|
||||
|
||||
!!! example "Пример обучения с MPS"
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n.pt') # загрузить предобученную модель (рекомендуется для обучения)
|
||||
|
||||
# Обучить модель с использованием MPS
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device='mps')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Начать обучение с предобученной модели *.pt используя MPS
|
||||
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=mps
|
||||
```
|
||||
|
||||
Используя вычислительные возможности чипов M1/M2, это позволяет более эффективно обрабатывать задачи обучения. Для более подробного руководства и расширенных параметров конфигурации, пожалуйста, обратитесь к [документации PyTorch MPS](https://pytorch.org/docs/stable/notes/mps.html).
|
||||
|
||||
## Логирование
|
||||
|
||||
В процессе обучения модели YOLOv8 вы можете найти ценным отслеживание производительности модели со временем. Здесь на помощь приходит логирование. YOLO от Ultralytics поддерживает три типа логгеров - Comet, ClearML и TensorBoard.
|
||||
|
||||
Чтобы использовать логгер, выберите его из выпадающего меню в приведенном выше примере кода и запустите его. Выбранный логгер будет установлен и инициализирован.
|
||||
|
||||
### Comet
|
||||
|
||||
[Comet](https://www.comet.ml/site/) - это платформа, которая позволяет ученым и разработчикам отслеживать, сравнивать, объяснять и оптимизировать эксперименты и модели. Она предоставляет такие функции, как метрики в реальном времени, сравнение кода и отслеживание гиперпараметров.
|
||||
|
||||
Чтобы использовать Comet:
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
# pip install comet_ml
|
||||
import comet_ml
|
||||
|
||||
comet_ml.init()
|
||||
```
|
||||
|
||||
Не забудьте войти в свою учетную запись Comet на их сайте и получить свой API-ключ. Вам нужно будет добавить его в переменные среды или в свой скрипт, чтобы вести журнал своих экспериментов.
|
||||
|
||||
### ClearML
|
||||
|
||||
[ClearML](https://www.clear.ml/) - это открытая платформа, которая автоматизирует отслеживание экспериментов и помогает в эффективном обмене ресурсами. Она предназначена для помощи командам в управлении, выполнении и воспроизведении их работы в области ML более эффективно.
|
||||
|
||||
Чтобы использовать ClearML:
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
# pip install clearml
|
||||
import clearml
|
||||
|
||||
clearml.browser_login()
|
||||
```
|
||||
|
||||
После запуска этого скрипта вам нужно будет войти в вашу учетную запись ClearML в браузере и аутентифицировать вашу сессию.
|
||||
|
||||
### TensorBoard
|
||||
|
||||
[TensorBoard](https://www.tensorflow.org/tensorboard) - это инструмент визуализации для TensorFlow. Он позволяет вам визуализировать граф TensorFlow, выводить количественные метрики о выполнении вашего графа и показывать дополнительные данные, такие как изображения, проходящие через него.
|
||||
|
||||
Чтобы использовать TensorBoard в [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb):
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
load_ext tensorboard
|
||||
tensorboard --logdir ultralytics/runs # заменить на директорию 'runs'
|
||||
```
|
||||
|
||||
Чтобы использовать TensorBoard локально, запустите приведенную ниже команду и просмотрите результаты по адресу http://localhost:6006/.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
tensorboard --logdir ultralytics/runs # заменить на директорию 'runs'
|
||||
```
|
||||
|
||||
Это загрузит TensorBoard и направит его к каталогу, где сохраняются ваши журналы обучения.
|
||||
|
||||
После настройки вашего логгера вы можете продолжать обучение модели. Все метрики обучения будут автоматически записаны на выбранной вами платформе, и вы сможете получить доступ к этим журналам, чтобы отслеживать производительность вашей модели со временем, сравнивать различные модели и определять области для улучшения.
|
||||
86
docs/ru/modes/val.md
Normal file
86
docs/ru/modes/val.md
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
---
|
||||
comments: true
|
||||
description: Руководство по проверке моделей YOLOv8. Узнайте, как оценить производительность ваших моделей YOLO, используя параметры проверки и метрики с примерами на Python и CLI.
|
||||
keywords: Ultralytics, YOLO Документация, YOLOv8, проверка, оценка модели, гиперпараметры, точность, метрики, Python, CLI
|
||||
---
|
||||
|
||||
# Валидация моделей с Ultralytics YOLO
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLO экосистема и интеграции">
|
||||
|
||||
## Введение
|
||||
|
||||
Валидация является критически важным этапом в процессе машинного обучения, позволяющим оценить качество ваших обученных моделей. Режим Val в Ultralytics YOLOv8 обеспечивает набор инструментов и метрик для оценки производительности ваших моделей по обнаружению объектов. Это руководство служит полным ресурсом для понимания того, как эффективно использовать режим Val, чтобы обеспечить точность и надежность ваших моделей.
|
||||
|
||||
## Зачем проверять с Ultralytics YOLO?
|
||||
|
||||
Вот почему использование режима Val YOLOv8 выгодно:
|
||||
|
||||
- **Точность:** Получите точные метрики, такие как mAP50, mAP75 и mAP50-95, для всесторонней оценки вашей модели.
|
||||
- **Удобство:** Используйте встроенные функции, которые запоминают настройки обучения, упрощая процесс валидации.
|
||||
- **Гибкость:** Проверяйте вашу модель с использованием тех же или разных наборов данных и размеров изображений.
|
||||
- **Настройка гиперпараметров:** Используйте метрики проверки для дополнительной настройки вашей модели для лучшей производительности.
|
||||
|
||||
### Основные функции режима Val
|
||||
|
||||
Вот некоторые заметные функции, предлагаемые режимом Val YOLOv8:
|
||||
|
||||
- **Автоматизированные настройки:** Модели запоминают свои конфигурации обучения для простой валидации.
|
||||
- **Поддержка множества метрик:** Оцените вашу модель, основываясь на ряде метрик точности.
|
||||
- **CLI и Python API:** Выберите интерфейс командной строки или Python API в зависимости от вашего предпочтения для проверки.
|
||||
- **Совместимость данных:** Бесперебойно работает с наборами данных, используемыми во время фазы обучения, а также с пользовательскими наборами данных.
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
* Модели YOLOv8 автоматически запоминают свои настройки обучения, так что вы можете легко проверить модель с тем же размером изображения и на оригинальном наборе данных, просто используя `yolo val model=yolov8n.pt` или `model('yolov8n.pt').val()`
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Проверьте точность обученной модели YOLOv8n на наборе данных COCO128. Аргументы передавать не требуется, так как `модель` сохраняет `данные` и аргументы в качестве атрибутов модели. См. раздел Аргументы ниже для полного списка аргументов экспорта.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка модели
|
||||
model = YOLO('yolov8n.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить пользовательскую модель
|
||||
|
||||
# Проверка модели
|
||||
metrics = model.val() # аргументы не нужны, набор данных и настройки запомнены
|
||||
metrics.box.map # map50-95
|
||||
metrics.box.map50 # map50
|
||||
metrics.box.map75 # map75
|
||||
metrics.box.maps # список содержит map50-95 каждой категории
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo detect val model=yolov8n.pt # проверить официальную модель
|
||||
yolo detect val model=path/to/best.pt # проверить пользовательскую модель
|
||||
```
|
||||
|
||||
## Аргументы
|
||||
|
||||
Настройки проверки для моделей YOLO относятся к различным гиперпараметрам и конфигурациям, используемым для оценки производительности модели на наборе данных для проверки. Эти настройки могут влиять на производительность, скорость и точность модели. Некоторые общие параметры проверки YOLO включают размер пакета, частоту проведения проверки во время обучения и метрики, используемые для оценки производительности модели. Другие факторы, которые могут влиять на процесс проверки, включают размер и состав набора данных для проверки и конкретную задачу, для которой используется модель. Важно тщательно настроить и провести эксперименты с этими параметрами, чтобы убедиться, что модель хорошо работает на наборе данных для проверки и для обнаружения и предотвращения переобучения.
|
||||
|
||||
| Ключ | Значение | Описание |
|
||||
|---------------|----------|-----------------------------------------------------------------------------------------|
|
||||
| `data` | `None` | путь к файлу данных, например, coco128.yaml |
|
||||
| `imgsz` | `640` | размер входных изображений как целое число |
|
||||
| `batch` | `16` | количество изображений в пакете (-1 для AutoBatch) |
|
||||
| `save_json` | `False` | сохранить результаты в файл JSON |
|
||||
| `save_hybrid` | `False` | сохранить гибридную версию меток (метки + дополнительные предсказания) |
|
||||
| `conf` | `0.001` | порог уверенности объекта для обнаружения |
|
||||
| `iou` | `0.6` | порог пересечения по объединению (IoU) для NMS (нечеткое сравнение) |
|
||||
| `max_det` | `300` | максимальное количество обнаружений на изображение |
|
||||
| `half` | `True` | использовать полупрецизионность (FP16) |
|
||||
| `device` | `None` | устройство для выполнения, например, cuda device=0/1/2/3 или device=cpu |
|
||||
| `dnn` | `False` | использовать OpenCV DNN для ONNX инференции |
|
||||
| `plots` | `False` | показывать графики во время обучения |
|
||||
| `rect` | `False` | прямоугольная валидация с коллекцией каждого пакета для минимальной паддинга |
|
||||
| `split` | `val` | раздел набора данных для использования в валидации, например, 'val', 'test' или 'train' |
|
||||
|
|
||||
187
docs/ru/quickstart.md
Normal file
187
docs/ru/quickstart.md
Normal file
|
|
@ -0,0 +1,187 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучение различных методов установки Ultralytics с использованием pip, conda, git и Docker. Освоение работы с Ultralytics через интерфейс командной строки или в рамках ваших проектов на Python.
|
||||
keywords: установка Ultralytics, установка pip Ultralytics, установка Docker Ultralytics, интерфейс командной строки Ultralytics, Python интерфейс Ultralytics
|
||||
---
|
||||
|
||||
## Установка Ultralytics
|
||||
|
||||
Ultralytics предлагает различные методы установки, включая pip, conda и Docker. Установите YOLOv8 через пакет `ultralytics` pip для последнего стабильного выпуска или путем клонирования [репозитория Ultralytics на GitHub](https://github.com/ultralytics/ultralytics) для получения самой актуальной версии. Docker можно использовать для выполнения пакета в изолированном контейнере, избегая локальной установки.
|
||||
|
||||
!!! example "Установка"
|
||||
|
||||
=== "Установка через Pip (рекомендуется)"
|
||||
Установите пакет `ultralytics` с помощью pip или обновите существующую установку, запустив `pip install -U ultralytics`. Посетите индекс пакетов Python (PyPI) для получения дополнительной информации о пакете `ultralytics`: [https://pypi.org/project/ultralytics/](https://pypi.org/project/ultralytics/).
|
||||
|
||||
[](https://badge.fury.io/py/ultralytics) [](https://pepy.tech/project/ultralytics)
|
||||
|
||||
```bash
|
||||
# Установка пакета ultralytics из PyPI
|
||||
pip install ultralytics
|
||||
```
|
||||
|
||||
Вы также можете установить пакет `ultralytics` напрямую из [репозитория на GitHub](https://github.com/ultralytics/ultralytics). Это может быть полезно, если вы хотите получить последнюю версию для разработки. Убедитесь, что в вашей системе установлен инструмент командной строки Git. Команда `@main` устанавливает ветку `main`, которую можно изменить на другую, к примеру, `@my-branch`, или удалить полностью, чтобы по умолчанию использовалась ветка `main`.
|
||||
|
||||
```bash
|
||||
# Установка пакета ultralytics из GitHub
|
||||
pip install git+https://github.com/ultralytics/ultralytics.git@main
|
||||
```
|
||||
|
||||
=== "Установка через Conda"
|
||||
Conda - это альтернативный менеджер пакетов для pip, который также может быть использован для установки. Посетите Anaconda для получения дополнительной информации: [https://anaconda.org/conda-forge/ultralytics](https://anaconda.org/conda-forge/ultralytics). Репозиторий для обновления conda пакета Ultralytics находится здесь: [https://github.com/conda-forge/ultralytics-feedstock/](https://github.com/conda-forge/ultralytics-feedstock/).
|
||||
|
||||
[](https://anaconda.org/conda-forge/ultralytics) [](https://anaconda.org/conda-forge/ultralytics) [](https://anaconda.org/conda-forge/ultralytics) [](https://anaconda.org/conda-forge/ultralytics)
|
||||
|
||||
```bash
|
||||
# Установка пакета ultralytics с помощью conda
|
||||
conda install -c conda-forge ultralytics
|
||||
```
|
||||
|
||||
!!! note
|
||||
|
||||
Если вы устанавливаете пакет в среде CUDA, лучшей практикой будет установка `ultralytics`, `pytorch` и `pytorch-cuda` одной командой, чтобы менеджер пакетов conda мог разрешить любые конфликты или установить `pytorch-cuda` последним, чтобы при необходимости он мог заменить пакет `pytorch`, предназначенный для ЦП.
|
||||
|
||||
```bash
|
||||
# Установка всех пакетов вместе с помощью conda
|
||||
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
|
||||
```
|
||||
|
||||
### Образ Conda для Docker
|
||||
|
||||
Образы Conda Ultralytics также доступны на [DockerHub](https://hub.docker.com/r/ultralytics/ultralytics). Эти образы основаны на [Miniconda3](https://docs.conda.io/projects/miniconda/en/latest/) и являются простым способом начать использовать `ultralytics` в среде Conda.
|
||||
|
||||
```bash
|
||||
# Установка имени образа в переменную
|
||||
t=ultralytics/ultralytics:latest-conda
|
||||
|
||||
# Скачивание последнего образа ultralytics с Docker Hub
|
||||
sudo docker pull $t
|
||||
|
||||
# Запуск образа ultralytics в контейнере с поддержкой GPU
|
||||
sudo docker run -it --ipc=host --gpus all $t # все GPU
|
||||
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # выбор GPU
|
||||
```
|
||||
|
||||
=== "Клонирование Git"
|
||||
Клонируйте репозиторий `ultralytics`, если вы заинтересованы в участии в разработке или хотите экспериментировать с последним исходным кодом. После клонирования перейдите в каталог и установите пакет в режиме редактирования `-e` с помощью pip.
|
||||
|
||||
```bash
|
||||
# Клонирование репозитория ultralytics
|
||||
git clone https://github.com/ultralytics/ultralytics
|
||||
|
||||
# Переход в клонированный каталог
|
||||
cd ultralytics
|
||||
|
||||
# Установка пакета в режиме редактирования для разработки
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
Смотрите файл [requirements.txt](https://github.com/ultralytics/ultralytics/blob/main/requirements.txt) `ultralytics` для списка зависимостей. Обратите внимание, что все приведенные выше примеры устанавливают все необходимые зависимости.
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
Требования PyTorch зависят от операционной системы и требований CUDA, поэтому рекомендуется сначала установить PyTorch, следуя инструкциям на [https://pytorch.org/get-started/locally](https://pytorch.org/get-started/locally).
|
||||
|
||||
<a href="https://pytorch.org/get-started/locally/">
|
||||
<img width="800" alt="Инструкции по установке PyTorch" src="https://user-images.githubusercontent.com/26833433/228650108-ab0ec98a-b328-4f40-a40d-95355e8a84e3.png">
|
||||
</a>
|
||||
|
||||
## Использование Ultralytics с CLI
|
||||
|
||||
Интерфейс командной строки (CLI) Ultralytics позволяет выполнять простые команды одной строкой без необходимости настройки Python среды. CLI не требует настройки или кода на Python. Все задачи можно легко выполнить из терминала с помощью команды `yolo`. Прочтите [Руководство по CLI](../usage/cli.md), чтобы узнать больше о использовании YOLOv8 из командной строки.
|
||||
|
||||
!!! example
|
||||
|
||||
=== "Cинтаксис"
|
||||
|
||||
Команды Ultralytics `yolo` используют следующий синтаксис:
|
||||
```bash
|
||||
yolo ЗАДАЧА РЕЖИМ АРГУМЕНТЫ
|
||||
|
||||
Где ЗАДАЧА (необязательно) одна из [detect, segment, classify]
|
||||
РЕЖИМ (обязательно) один из [train, val, predict, export, track]
|
||||
АРГУМЕНТЫ (необязательно) любое количество пар 'arg=value', которые переопределяют настройки по умолчанию.
|
||||
```
|
||||
Смотрите все АРГУМЕНТЫ в полном [Руководстве по конфигурации](../usage/cfg.md) или с помощью `yolo cfg`
|
||||
|
||||
=== "Train"
|
||||
|
||||
Обучение модели для детекции на 10 эпохах с начальной скоростью обучения 0.01
|
||||
```bash
|
||||
yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01
|
||||
```
|
||||
|
||||
=== "Predict"
|
||||
|
||||
Прогнозирование видео с YouTube с использованием предварительно обученной модели сегментации при размере изображения 320:
|
||||
```bash
|
||||
yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
|
||||
```
|
||||
|
||||
=== "Val"
|
||||
|
||||
Валидация предварительно обученной модели детекции с размером партии 1 и размером изображения 640:
|
||||
```bash
|
||||
yolo val model=yolov8n.pt data=coco128.yaml batch=1 imgsz=640
|
||||
```
|
||||
|
||||
=== "Export"
|
||||
|
||||
Экспорт модели классификации YOLOv8n в формат ONNX с размером изображения 224 на 128 (TASK не требуется)
|
||||
```bash
|
||||
yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128
|
||||
```
|
||||
|
||||
=== "Special"
|
||||
|
||||
Выполнение специальных команд для просмотра версии, настроек, запуска проверок и другого:
|
||||
```bash
|
||||
yolo help
|
||||
yolo checks
|
||||
yolo version
|
||||
yolo settings
|
||||
yolo copy-cfg
|
||||
yolo cfg
|
||||
```
|
||||
|
||||
!!! warning "Предупреждение"
|
||||
|
||||
Аргументы должны передаваться в виде пар `arg=val`, разделенных знаком равенства `=`, и разделены пробелами ` ` между парами. Не используйте префиксы аргументов `--` или запятые `,` между аргументами.
|
||||
|
||||
- `yolo predict model=yolov8n.pt imgsz=640 conf=0.25` ✅
|
||||
- `yolo predict model yolov8n.pt imgsz 640 conf 0.25` ❌
|
||||
- `yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25` ❌
|
||||
|
||||
[Руководство по CLI](../usage/cli.md){ .md-button .md-button--primary}
|
||||
|
||||
## Использование Ultralytics с Python
|
||||
|
||||
Python интерфейс YOLOv8 позволяет легко интегрировать его в ваши Python проекты, упрощая загрузку, выполнение и обработку результатов работы модели. Интерфейс Python разработан с акцентом на простоту и удобство использования, позволяя пользователям быстро внедрять функции обнаружения объектов, сегментации и классификации в их проектах. Это делает интерфейс Python YOLOv8 незаменимым инструментом для тех, кто хочет включить эти функции в свои Python проекты.
|
||||
|
||||
Например, пользователи могут загрузить модель, обучить ее, оценить ее производительность на валидационном наборе, и даже экспортировать ее в формат ONNX всего за несколько строк кода. Подробнее о том, как использовать YOLOv8 в ваших Python проектах, читайте в [Руководстве по Python](../usage/python.md).
|
||||
|
||||
!!! example
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Создание новой YOLO модели с нуля
|
||||
model = YOLO('yolov8n.yaml')
|
||||
|
||||
# Загрузка предварительно обученной YOLO модели (рекомендуется для обучения)
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Обучение модели с использованием набора данных 'coco128.yaml' на 3 эпохи
|
||||
results = model.train(data='coco128.yaml', epochs=3)
|
||||
|
||||
# Оценка производительности модели на валидационном наборе
|
||||
results = model.val()
|
||||
|
||||
# Выполнение обнаружения объектов на изображении с помощью модели
|
||||
results = model('https://ultralytics.com/images/bus.jpg')
|
||||
|
||||
# Экспорт модели в формат ONNX
|
||||
success = model.export(format='onnx')
|
||||
```
|
||||
|
||||
[Руководство по Python](../usage/python.md){.md-button .md-button--primary}
|
||||
172
docs/ru/tasks/classify.md
Normal file
172
docs/ru/tasks/classify.md
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
---
|
||||
comments: true
|
||||
description: Узнайте о моделях классификации изображений YOLOv8 Classify. Получите подробную информацию о списке предварительно обученных моделей и как провести Обучение, Валидацию, Предсказание и Экспорт моделей.
|
||||
keywords: Ultralytics, YOLOv8, классификация изображений, предварительно обученные модели, YOLOv8n-cls, обучение, валидация, предсказание, экспорт модели
|
||||
---
|
||||
|
||||
# Классификация изображений
|
||||
|
||||
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418606-adf35c62-2e11-405d-84c6-b84e7d013804.png" alt="Примеры классификации изображений">
|
||||
|
||||
Классификация изображений - это самая простая из трех задач и заключается в классификации всего изображения по одному из предварительно определенных классов.
|
||||
|
||||
Выход классификатора изображений - это один классовый ярлык и уровень доверия. Классификация изображений полезна, когда вам нужно знать только к какому классу относится изображение, и не нужно знать, где находятся объекты данного класса или какова их точная форма.
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
Модели YOLOv8 Classify используют суффикс `-cls`, например `yolov8n-cls.pt`, и предварительно обучены на [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
|
||||
|
||||
## [Модели](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8)
|
||||
|
||||
Здесь показаны предварительно обученные модели классификации YOLOv8. Модели для обнаружения, сегментации и позы обучаются на наборе данных [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml), в то время как модели классификации обучаются на наборе данных [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
|
||||
|
||||
[Модели](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models) автоматически загружаются из последнего релиза Ultralytics [release](https://github.com/ultralytics/assets/releases) при первом использовании.
|
||||
|
||||
| Модель | Размер<br><sup>(пиксели) | Точность<br><sup>top1 | Точность<br><sup>top5 | Скорость<br><sup>CPU ONNX<br>(мс) | Скорость<br><sup>A100 TensorRT<br>(мс) | Параметры<br><sup>(М) | FLOPs<br><sup>(Б) на 640 |
|
||||
|----------------------------------------------------------------------------------------------|--------------------------|-----------------------|-----------------------|-----------------------------------|----------------------------------------|-----------------------|--------------------------|
|
||||
| [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 |
|
||||
| [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 |
|
||||
| [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 |
|
||||
| [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 |
|
||||
| [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 |
|
||||
|
||||
- Значения **точность** указывают на точность модели на валидационном наборе данных [ImageNet](https://www.image-net.org/).
|
||||
<br>Повторить результаты можно с помощью `yolo val classify data=path/to/ImageNet device=0`.
|
||||
- **Скорость** усреднена по изображениям для валидации ImageNet, используя инстанс [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/).
|
||||
<br>Повторить результаты можно с помощью `yolo val classify data=path/to/ImageNet batch=1 device=0|cpu`.
|
||||
|
||||
## Обучение
|
||||
|
||||
Обучите модель YOLOv8n-cls на наборе данных MNIST160 на протяжении 100 эпох с размером изображения 64. Полный список доступных аргументов приведен на странице [Конфигурация](../../usage/cfg.md).
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n-cls.yaml') # создайте новую модель из YAML
|
||||
model = YOLO('yolov8n-cls.pt') # загрузите предварительно обученную модель (рекомендуется для обучения)
|
||||
model = YOLO('yolov8n-cls.yaml').load('yolov8n-cls.pt') # создайте из YAML и перенесите веса
|
||||
|
||||
# Обучите модель
|
||||
результаты = model.train(data='mnist160', epochs=100, imgsz=64)
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Создайте новую модель из YAML и начните обучение с нуля
|
||||
yolo classify train data=mnist160 model=yolov8n-cls.yaml epochs=100 imgsz=64
|
||||
|
||||
# Начните обучение с предварительно обученной *.pt модели
|
||||
yolo classify train data=mnist160 model=yolov8n-cls.pt epochs=100 imgsz=64
|
||||
|
||||
# Создайте новую модель из YAML, перенесите предварительно обученные веса и начните обучение
|
||||
yolo classify train data=mnist160 model=yolov8n-cls.yaml pretrained=yolov8n-cls.pt epochs=100 imgsz=64
|
||||
```
|
||||
|
||||
### Формат набора данных
|
||||
|
||||
Формат набора данных для классификации YOLO можно подробно изучить в [Руководстве по наборам данных](../../datasets/classify/index.md).
|
||||
|
||||
## Валидация
|
||||
|
||||
Проверьте точность обученной модели YOLOv8n-cls на наборе данных MNIST160. Не нужно передавать какие-либо аргументы, так как `model` сохраняет свои `data` и аргументы в качестве атрибутов модели.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n-cls.pt') # загрузите официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузите собственную модель
|
||||
|
||||
# Проведите валидацию модели
|
||||
метрики = model.val() # аргументы не нужны, набор данных и настройки запомнены
|
||||
метрики.top1 # точность top1
|
||||
метрики.top5 # точность top5
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo classify val model=yolov8n-cls.pt # валидация официальной модели
|
||||
yolo classify val model=path/to/best.pt # валидация собственной модели
|
||||
```
|
||||
|
||||
## Предсказание
|
||||
|
||||
Используйте обученную модель YOLOv8n-cls для выполнения предсказаний на изображениях.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n-cls.pt') # загрузите официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузите собственную модель
|
||||
|
||||
# Сделайте предсказание с помощью модели
|
||||
результаты = model('https://ultralytics.com/images/bus.jpg') # сделайте предсказание на изображении
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo classify predict model=yolov8n-cls.pt source='https://ultralytics.com/images/bus.jpg' # предсказание с официальной моделью
|
||||
yolo classify predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # предсказание с собственной моделью
|
||||
```
|
||||
|
||||
Подробная информация о режиме `predict` приведена на странице [Предсказание](https://docs.ultralytics.com/modes/predict/).
|
||||
|
||||
## Экспорт
|
||||
|
||||
Экспортируйте модель YOLOv8n-cls в другой формат, например, ONNX, CoreML и т. д.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n-cls.pt') # загрузите официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузите собственную обученную модель
|
||||
|
||||
# Экспортируйте модель
|
||||
model.export(format='onnx')
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo export model=yolov8n-cls.pt format=onnx # экспорт официальной модели
|
||||
yolo export model=path/to/best.pt format=onnx # экспорт собственной обученной модели
|
||||
```
|
||||
|
||||
Доступные форматы экспорта YOLOv8-cls представлены в таблице ниже. Вы можете выполнять предсказания или валидацию прямо на экспортированных моделях, например, `yolo predict model=yolov8n-cls.onnx`. Примеры использования показаны для вашей модели после завершения экспорта.
|
||||
|
||||
| Формат | Аргумент `format` | Модель | Метаданные | Аргументы |
|
||||
|--------------------------------------------------------------------|-------------------|-------------------------------|------------|-----------------------------------------------------|
|
||||
| [PyTorch](https://pytorch.org/) | - | `yolov8n-cls.pt` | ✅ | - |
|
||||
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n-cls.torchscript` | ✅ | `imgsz`, `optimize` |
|
||||
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n-cls.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
|
||||
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n-cls_openvino_model/` | ✅ | `imgsz`, `half` |
|
||||
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n-cls.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
|
||||
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n-cls.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
|
||||
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n-cls_saved_model/` | ✅ | `imgsz`, `keras` |
|
||||
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n-cls.pb` | ❌ | `imgsz` |
|
||||
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n-cls.tflite` | ✅ | `imgsz`, `half`, `int8` |
|
||||
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n-cls_edgetpu.tflite` | ✅ | `imgsz` |
|
||||
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n-cls_web_model/` | ✅ | `imgsz` |
|
||||
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n-cls_paddle_model/` | ✅ | `imgsz` |
|
||||
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n-cls_ncnn_model/` | ✅ | `imgsz`, `half` |
|
||||
|
||||
Подробная информация об экспорте приведена на странице [Экспорт](https://docs.ultralytics.com/modes/export/).
|
||||
184
docs/ru/tasks/detect.md
Normal file
184
docs/ru/tasks/detect.md
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
---
|
||||
comments: true
|
||||
description: Официальная документация YOLOv8 от Ultralytics. Узнайте, как проводить обучение, проверку, предсказание и экспорт моделей в различных форматах. Включая подробные статистические данные о производительности.
|
||||
keywords: YOLOv8, Ultralytics, обнаружение объектов, предобученные модели, обучение, валидация, предсказание, экспорт моделей, COCO, ImageNet, PyTorch, ONNX, CoreML
|
||||
---
|
||||
|
||||
# Обнаружение объектов
|
||||
|
||||
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418624-5785cb93-74c9-4541-9179-d5c6782d491a.png" alt="Примеры обнаружения объектов">
|
||||
|
||||
Обнаружение объектов – это задача, которая включает идентификацию местоположения и класса объектов на изображении или видео.
|
||||
|
||||
Результат работы детектора объектов – это набор ограничивающих рамок, которые заключают в себе объекты на изображении, вместе с метками классов и уровнями достоверности для каждой рамки. Обнаружение объектов является хорошим выбором, когда необходимо определить объекты интереса в сцене, но не нужно точно знать, где находится объект или его точную форму.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/5ku7npMrW40?si=6HQO1dDXunV8gekh"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотрите:</strong> Обнаружение объектов с предобученной моделью Ultralytics YOLOv8.
|
||||
</p>
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
YOLOv8 Detect модели являются стандартными моделями YOLOv8, то есть `yolov8n.pt`, и предобучены на [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml).
|
||||
|
||||
## [Модели](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8)
|
||||
|
||||
Здесь показаны предобученные модели YOLOv8 Detect. Модели Detect, Segment и Pose предобучены на датасете [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml), в то время как модели Classify предобучены на датасете [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
|
||||
|
||||
[Модели](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models) автоматически загружаются с последнего релиза Ultralytics [release](https://github.com/ultralytics/assets/releases) при первом использовании.
|
||||
|
||||
| Модель | размер<br><sup>(пиксели) | mAP<sup>val<br>50-95 | Скорость<br><sup>CPU ONNX<br>(мс) | Скорость<br><sup>A100 TensorRT<br>(мс) | параметры<br><sup>(М) | FLOPs<br><sup>(Б) |
|
||||
|--------------------------------------------------------------------------------------|--------------------------|----------------------|-----------------------------------|----------------------------------------|-----------------------|-------------------|
|
||||
| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
|
||||
| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
|
||||
| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
|
||||
| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
|
||||
| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
|
||||
|
||||
- **mAP<sup>val</sup>** значения для одиночной модели одиночного масштаба на датасете [COCO val2017](http://cocodataset.org).
|
||||
<br>Для воспроизведения используйте `yolo val detect data=coco.yaml device=0`
|
||||
- **Скорость** усреднена по изображениям COCO val на экземпляре [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/).
|
||||
<br>Для воспроизведения используйте `yolo val detect data=coco128.yaml batch=1 device=0|cpu`
|
||||
|
||||
## Обучение
|
||||
|
||||
Обучите модель YOLOv8n на датасете COCO128 в течение 100 эпох с размером изображения 640. Полный список доступных аргументов см. на странице [Конфигурация](../../usage/cfg.md).
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n.yaml') # создать новую модель из YAML
|
||||
model = YOLO('yolov8n.pt') # загрузить предобученную модель (рекомендуется для обучения)
|
||||
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # создать из YAML и перенести веса
|
||||
|
||||
# Обучите модель
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Создать новую модель из YAML и начать обучение с нуля
|
||||
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
|
||||
|
||||
# Начать обучение с предобученной модели *.pt
|
||||
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
|
||||
|
||||
# Создать новую модель из YAML, перенести в нее предобученные веса и начать обучение
|
||||
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
|
||||
```
|
||||
|
||||
### Формат датасета
|
||||
|
||||
Формат датасета для обнаружения YOLO можно найти более подробно в [Руководстве по датасетам](../../datasets/detect/index.md). Чтобы конвертировать ваш существующий датасет из других форматов (например, COCO и т.д.) в формат YOLO, пожалуйста, используйте инструмент [JSON2YOLO](https://github.com/ultralytics/JSON2YOLO) от Ultralytics.
|
||||
|
||||
## Валидация
|
||||
|
||||
Проверьте точность обученной модели YOLOv8n на датасете COCO128. Необходимо передать аргументы, поскольку `model` сохраняет свои `data` и аргументы обучения как атрибуты модели.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить собственную модель
|
||||
|
||||
# Проверьте модель
|
||||
metrics = model.val() # аргументы не нужны, набор данных и настройки запоминаются
|
||||
metrics.box.map # map50-95
|
||||
metrics.box.map50 # map50
|
||||
metrics.box.map75 # map75
|
||||
metrics.box.maps # список содержит map50-95 для каждой категории
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo detect val model=yolov8n.pt # val официальная модель
|
||||
yolo detect val model=path/to/best.pt # val собственная модель
|
||||
```
|
||||
|
||||
## Предсказание
|
||||
|
||||
Используйте обученную модель YOLOv8n для выполнения предсказаний на изображениях.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить собственную модель
|
||||
|
||||
# Сделайте предсказание с помощью модели
|
||||
results = model('https://ultralytics.com/images/bus.jpg') # сделать предсказание на изображении
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg' # предсказание с официальной моделью
|
||||
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # предсказание с собственной моделью
|
||||
```
|
||||
|
||||
Полные детали режима `predict` смотрите на странице [Предсказание](https://docs.ultralytics.com/modes/predict/).
|
||||
|
||||
## Экспорт
|
||||
|
||||
Экспортируйте модель YOLOv8n в другой формат, такой как ONNX, CoreML и др.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите модель
|
||||
model = YOLO('yolov8n.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить собственную модель после обучения
|
||||
|
||||
# Экспортируйте модель
|
||||
model.export(format='onnx')
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo export model=yolov8n.pt format=onnx # экспорт официальной модели
|
||||
yolo export model=path/to/best.pt format=onnx # экспорт собственной модели после обучения
|
||||
```
|
||||
|
||||
Доступные форматы экспорта YOLOv8 приведены в таблице ниже. Вы можете выполнять предсказания или проверку непосредственно на экспортированных моделях, например `yolo predict model=yolov8n.onnx`. Примеры использования для вашей модели показаны после завершения экспорта.
|
||||
|
||||
| Формат | Аргумент `format` | Модель | Метаданные | Аргументы |
|
||||
|--------------------------------------------------------------------|-------------------|---------------------------|------------|-----------------------------------------------------|
|
||||
| [PyTorch](https://pytorch.org/) | - | `yolov8n.pt` | ✅ | - |
|
||||
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
|
||||
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
|
||||
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half` |
|
||||
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
|
||||
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
|
||||
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras` |
|
||||
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
|
||||
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
|
||||
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
|
||||
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
|
||||
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
|
||||
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |
|
||||
|
||||
Полные детали режима `export` смотрите на странице [Экспорт](https://docs.ultralytics.com/modes/export/).
|
||||
55
docs/ru/tasks/index.md
Normal file
55
docs/ru/tasks/index.md
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
---
|
||||
comments: true
|
||||
description: Узнайте о ключевых задачах компьютерного зрения, которые может выполнять YOLOv8, включая обнаружение, сегментацию, классификацию и оценку позы. Поймите, как они могут быть использованы в ваших AI проектах.
|
||||
keywords: Ultralytics, YOLOv8, Обнаружение, Сегментация, Классификация, Оценка Позы, AI Фреймворк, Задачи Компьютерного Зрения
|
||||
---
|
||||
|
||||
# Задачи Ultralytics YOLOv8
|
||||
|
||||
<br>
|
||||
<img width="1024" src="https://raw.githubusercontent.com/ultralytics/assets/main/im/banner-tasks.png" alt="Поддерживаемые задачи Ultralytics YOLO">
|
||||
|
||||
YOLOv8 — это AI фреймворк, поддерживающий множество задач компьютерного зрения **задачи**. Фреймворк может быть использован для выполнения [обнаружения](detect.md), [сегментации](segment.md), [классификации](classify.md) и оценки [позы](pose.md). Каждая из этих задач имеет различные цели и области применения.
|
||||
|
||||
!!! note
|
||||
|
||||
🚧 Наша многоязычная документация в настоящее время находится в стадии разработки, и мы усердно работаем над ее улучшением. Спасибо за ваше терпение! 🙏
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/NAs-cfq9BDw"
|
||||
title="YouTube видеоплеер" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотрите:</strong> Изучите задачи Ultralytics YOLO: Обнаружение объектов, Сегментация, Отслеживание и Оценка позы.
|
||||
</p>
|
||||
|
||||
## [Обнаружение](detect.md)
|
||||
|
||||
Обнаружение — это основная задача, поддерживаемая YOLOv8. Она заключается в обнаружении объектов на изображении или кадре видео и рисовании вокруг них ограничивающих рамок. Обнаруженные объекты классифицируются на разные категории на основе их характеристик. YOLOv8 может обнаруживать несколько объектов на одном изображении или видеокадре с высокой точностью и скоростью.
|
||||
|
||||
[Примеры Обнаружения](detect.md){ .md-button .md-button--primary}
|
||||
|
||||
## [Сегментация](segment.md)
|
||||
|
||||
Сегментация — это задача, которая включает разбиение изображения на разные регионы на основе содержимого изображения. Каждому региону присваивается метка на основе его содержимого. Эта задача полезна в таких приложениях, как сегментация изображений и медицинская визуализация. YOLOv8 использует вариацию архитектуры U-Net для выполнения сегментации.
|
||||
|
||||
[Примеры Сегментации](segment.md){ .md-button .md-button--primary}
|
||||
|
||||
## [Классификация](classify.md)
|
||||
|
||||
Классификация — это задача, включающая классификацию изображения на разные категории. YOLOv8 может быть использован для классификации изображений на основе их содержимого. Для выполнения классификации используется вариация архитектуры EfficientNet.
|
||||
|
||||
[Примеры Классификации](classify.md){ .md-button .md-button--primary}
|
||||
|
||||
## [Поза](pose.md)
|
||||
|
||||
Обнаружение точек позы или ключевых точек — это задача, которая включает обнаружение конкретных точек на изображении или видеокадре. Эти точки называются ключевыми и используются для отслеживания движения или оценки позы. YOLOv8 может обнаруживать ключевые точки на изображении или видеокадре с высокой точностью и скоростью.
|
||||
|
||||
[Примеры Поз](pose.md){ .md-button .md-button--primary}
|
||||
|
||||
## Заключение
|
||||
|
||||
YOLOv8 поддерживает множество задач, включая обнаружение, сегментацию, классификацию и обнаружение ключевых точек. Каждая из этих задач имеет разные цели и области применения. Понимая различия между этими задачами, вы можете выбрать подходящую задачу для вашего приложения компьютерного зрения.
|
||||
176
docs/ru/tasks/pose.md
Normal file
176
docs/ru/tasks/pose.md
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
---
|
||||
comments: true
|
||||
description: Узнайте, как использовать Ultralytics YOLOv8 для задач оценки позы. Найдите предварительно обученные модели, узнайте, как обучать, проверять, предсказывать и экспортировать свои собственные.
|
||||
---
|
||||
|
||||
# Оценка позы
|
||||
|
||||

|
||||
|
||||
Оценка позы — это задача, заключающаяся в определении местоположения определённых точек на изображении, обычно называемых контрольными точками. Контрольные точки могут представлять различные части объекта, такие как суставы, ориентиры или другие характерные особенности. Расположение контрольных точек обычно представлено в виде набора 2D `[x, y]` или 3D `[x, y, visible]` координат.
|
||||
|
||||
Результат работы модели оценки позы — это набор точек, представляющих контрольные точки на объекте в изображении, обычно вместе с оценками уверенности для каждой точки. Оценка позы является хорошим выбором, когда вам нужно идентифицировать конкретные части объекта в сцене и их расположение относительно друг друга.
|
||||
|
||||
[Смотрите: Оценка позы с Ultralytics YOLOv8.](https://www.youtube.com/embed/Y28xXQmju64?si=pCY4ZwejZFu6Z4kZ)
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
Модели _pose_ YOLOv8 используют суффикс `-pose`, т.е. `yolov8n-pose.pt`. Эти модели обучены на наборе данных [COCO keypoints](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml) и подходят для различных задач оценки позы.
|
||||
|
||||
## [Модели](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8)
|
||||
|
||||
Здесь представлены предварительно обученные модели YOLOv8 Pose. Модели Detect, Segment и Pose предварительно обучены на наборе данных [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml), а модели Classify — на наборе данных [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
|
||||
|
||||
[Модели](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models) скачиваются автоматически из последнего [релиза](https://github.com/ultralytics/assets/releases) Ultralytics при первом использовании.
|
||||
|
||||
| Модель | размер<br><sup>(пиксели) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | Скорость<br><sup>CPU ONNX<br>(мс) | Скорость<br><sup>A100 TensorRT<br>(мс) | параметры<br><sup>(М) | FLOPs<br><sup>(Б) |
|
||||
|------------------------------------------------------------------------------------------------------|--------------------------|-----------------------|--------------------|-----------------------------------|----------------------------------------|-----------------------|-------------------|
|
||||
| [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
|
||||
| [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
|
||||
| [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
|
||||
| [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
|
||||
| [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
|
||||
| [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
|
||||
|
||||
- **mAP<sup>val</sup>** значения для одной модели одиночного масштаба на наборе данных [COCO Keypoints val2017](http://cocodataset.org).
|
||||
<br>Воспроизводится с помощью: `yolo val pose data=coco-pose.yaml device=0`
|
||||
- **Скорость** усреднена по изображениям COCO val на [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) инстансе.
|
||||
<br>Воспроизводится с помощью: `yolo val pose data=coco8-pose.yaml batch=1 device=0|cpu`
|
||||
|
||||
## Обучение
|
||||
|
||||
Обучите модель YOLOv8-pose на наборе данных COCO128-pose.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n-pose.yaml') # создать новую модель из YAML
|
||||
model = YOLO('yolov8n-pose.pt') # загрузить предварительно обученную модель (рекомендуется для обучения)
|
||||
model = YOLO('yolov8n-pose.yaml').load('yolov8n-pose.pt') # создать из YAML и перенести веса
|
||||
|
||||
# Обучить модель
|
||||
results = model.train(data='coco8-pose.yaml', epochs=100, imgsz=640)
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Создать новую модель из YAML и начать обучение с нуля
|
||||
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.yaml epochs=100 imgsz=640
|
||||
|
||||
# Начать обучение с предварительно обученной модели *.pt
|
||||
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.pt epochs=100 imgsz=640
|
||||
|
||||
# Создать новую модель из YAML, перенести предварительно обученные веса и начать обучение
|
||||
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.yaml pretrained=yolov8n-pose.pt epochs=100 imgsz=640
|
||||
```
|
||||
|
||||
### Формат набора данных
|
||||
|
||||
Формат набора данных YOLO pose можно найти в подробностях в [Руководстве по наборам данных](../../datasets/pose/index.md). Для преобразования существующего набора данных из других форматов (например, COCO и т.д.) в формат YOLO, пожалуйста, используйте инструмент [JSON2YOLO](https://github.com/ultralytics/JSON2YOLO) от Ultralytics.
|
||||
|
||||
## Проверка
|
||||
|
||||
Проверьте точность обученной модели YOLOv8n-pose на наборе данных COCO128-pose. Аргументы не нужны, так как `model`
|
||||
запоминает свои `data` и аргументы как атрибуты модели.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n-pose.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить свою модель
|
||||
|
||||
# Проверить модель
|
||||
metrics = model.val() # аргументы не нужны, набор данных и настройки запомнены
|
||||
metrics.box.map # map50-95
|
||||
metrics.box.map50 # map50
|
||||
metrics.box.map75 # map75
|
||||
metrics.box.maps # список содержит map50-95 для каждой категории
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo pose val model=yolov8n-pose.pt # проверить официальную модель
|
||||
yolo pose val model=path/to/best.pt # проверить свою модель
|
||||
```
|
||||
|
||||
## Предсказание
|
||||
|
||||
Используйте обученную модель YOLOv8n-pose для выполнения предсказаний на изображениях.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n-pose.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить свою модель
|
||||
|
||||
# Сделать предсказание моделью
|
||||
results = model('https://ultralytics.com/images/bus.jpg') # предсказать по изображению
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo pose predict model=yolov8n-pose.pt source='https://ultralytics.com/images/bus.jpg' # предсказать официальной моделью
|
||||
yolo pose predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # предсказать своей моделью
|
||||
```
|
||||
|
||||
Полные детали работы в режиме `predict` смотрите на странице [Predict](https://docs.ultralytics.com/modes/predict/).
|
||||
|
||||
## Экспорт
|
||||
|
||||
Экспортируйте модель YOLOv8n Pose в другой формат, такой как ONNX, CoreML и т.д.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n-pose.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить свою обученную модель
|
||||
|
||||
# Экспортировать модель
|
||||
model.export(format='onnx')
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo export model=yolov8n-pose.pt format=onnx # экспортировать официальную модель
|
||||
yolo export model=path/to/best.pt format=onnx # экспортировать свою обученную модель
|
||||
```
|
||||
|
||||
Доступные форматы экспорта модели YOLOv8-pose приведены в таблице ниже. Вы можете делать предсказания или проверки непосредственно с экспортированных моделей, например, `yolo predict model=yolov8n-pose.onnx`. Примеры использования показаны для вашей модели после завершения экспорта.
|
||||
|
||||
| Формат | Аргумент `format` | Модель | Метаданные | Аргументы |
|
||||
|--------------------------------------------------------------------|-------------------|--------------------------------|------------|-----------------------------------------------------|
|
||||
| [PyTorch](https://pytorch.org/) | - | `yolov8n-pose.pt` | ✅ | - |
|
||||
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n-pose.torchscript` | ✅ | `imgsz`, `optimize` |
|
||||
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n-pose.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
|
||||
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n-pose_openvino_model/` | ✅ | `imgsz`, `half` |
|
||||
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n-pose.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
|
||||
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n-pose.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
|
||||
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n-pose_saved_model/` | ✅ | `imgsz`, `keras` |
|
||||
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n-pose.pb` | ❌ | `imgsz` |
|
||||
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n-pose.tflite` | ✅ | `imgsz`, `half`, `int8` |
|
||||
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n-pose_edgetpu.tflite` | ✅ | `imgsz` |
|
||||
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n-pose_web_model/` | ✅ | `imgsz` |
|
||||
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n-pose_paddle_model/` | ✅ | `imgsz` |
|
||||
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n-pose_ncnn_model/` | ✅ | `imgsz`, `half` |
|
||||
|
||||
Полные детали экспорта смотрите на странице [Export](https://docs.ultralytics.com/modes/export/).
|
||||
189
docs/ru/tasks/segment.md
Normal file
189
docs/ru/tasks/segment.md
Normal file
|
|
@ -0,0 +1,189 @@
|
|||
---
|
||||
comments: true
|
||||
description: Научитесь использовать модели сегментации объектов с помощью Ultralytics YOLO. Инструкции по обучению, валидации, предсказанию изображений и экспорту моделей.
|
||||
keywords: yolov8, сегментация объектов, Ultralytics, набор данных COCO, сегментация изображений, обнаружение объектов, обучение моделей, валидация моделей, предсказания изображений, экспорт моделей
|
||||
---
|
||||
|
||||
# Сегментация экземпляров
|
||||
|
||||
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418644-7df320b8-098d-47f1-85c5-26604d761286.png" alt="Примеры сегментации экземпляров">
|
||||
|
||||
Сегментация экземпляров идёт на шаг дальше по сравнению с обнаружением объектов и включает идентификацию отдельных объектов на изображении и их сегментацию от остальной части изображения.
|
||||
|
||||
Результатом модели сегментации экземпляров является набор масок или контуров, очерчивающих каждый объект на изображении, вместе с классовыми метками и коэффициентами уверенности для каждого объекта. Сегментация экземпляров полезна, когда вам нужно знать не только, где находятся объекты на изображении, но и их точную форму.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/o4Zd-IeMlSY?si=37nusCzDTd74Obsp"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>Смотрите:</strong> Запуск сегментации с предварительно обученной моделью Ultralytics YOLOv8 на Python.
|
||||
</p>
|
||||
|
||||
!!! tip "Совет"
|
||||
|
||||
Модели YOLOv8 Segment используют суффикс `-seg`, например `yolov8n-seg.pt` и предварительно обучены на [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml).
|
||||
|
||||
## [Модели](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8)
|
||||
|
||||
Здесь показаны предварительно обученные модели Segment YOLOv8. Модели Detect, Segment и Pose предварительно обучены на наборе данных [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml), в то время как модели Classify предварительно обучены на наборе данных [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
|
||||
|
||||
[Модели](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models) автоматически загружаются из последнего [релиза](https://github.com/ultralytics/assets/releases) Ultralytics при первом использовании.
|
||||
|
||||
| Модель | размер<br><sup>(пиксели) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | Скорость<br><sup>CPU ONNX<br>(мс) | Скорость<br><sup>A100 TensorRT<br>(мс) | параметры<br><sup>(М) | FLOPs<br><sup>(B) |
|
||||
|----------------------------------------------------------------------------------------------|--------------------------|----------------------|-----------------------|-----------------------------------|----------------------------------------|-----------------------|-------------------|
|
||||
| [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
|
||||
| [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
|
||||
| [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
|
||||
| [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
|
||||
| [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
|
||||
|
||||
- Значения **mAP<sup>val</sup>** для одиночной модели одиночного масштаба на наборе данных [COCO val2017](http://cocodataset.org).
|
||||
<br>Воспроизведите с помощью `yolo val segment data=coco.yaml device=0`
|
||||
- **Скорость** усреднена для изображений COCO val на [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/)
|
||||
инстансе.
|
||||
<br>Воспроизведите с помощью `yolo val segment data=coco128-seg.yaml batch=1 device=0|cpu`
|
||||
|
||||
## Обучение
|
||||
|
||||
Обучите модель YOLOv8n-seg на наборе данных COCO128-seg в течение 100 эпох при размере изображения 640. Полный список доступных аргументов см. на странице [Конфигурация](../../usage/cfg.md).
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n-seg.yaml') # создать новую модель из YAML
|
||||
model = YOLO('yolov8n-seg.pt') # загрузить предварительно обученную модель (рекомендуется для обучения)
|
||||
model = YOLO('yolov8n-seg.yaml').load('yolov8n.pt') # создать из YAML и перенести веса
|
||||
|
||||
# Обучить модель
|
||||
results = model.train(data='coco128-seg.yaml', epochs=100, imgsz=640)
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Создать новую модель из YAML и начать обучение с нуля
|
||||
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.yaml epochs=100 imgsz=640
|
||||
|
||||
# Начать обучение с предварительно обученной модели *.pt
|
||||
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.pt epochs=100 imgsz=640
|
||||
|
||||
# Создать новую модель из YAML, перенести предварительно обученные веса и начать обучение
|
||||
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.yaml pretrained=yolov8n-seg.pt epochs=100 imgsz=640
|
||||
```
|
||||
|
||||
### Формат набора данных
|
||||
|
||||
Формат набора данных для сегментации YOLO можно найти детально в [Руководстве по наборам данных](../../datasets/segment/index.md). Чтобы конвертировать свой существующий набор данных из других форматов (например, COCO и т.д.) в формат YOLO, пожалуйста, используйте инструмент [JSON2YOLO](https://github.com/ultralytics/JSON2YOLO) от Ultralytics.
|
||||
|
||||
## Валидация
|
||||
|
||||
Проверьте точность обученной модели YOLOv8n-seg на наборе данных COCO128-seg. Аргументы передавать не нужно, так как `model` сохраняет `data` и аргументы обучения в качестве атрибутов модели.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n-seg.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить пользовательскую модель
|
||||
|
||||
# Провалидировать модель
|
||||
metrics = model.val() # аргументы не нужны, набор данных и настройки запомнены
|
||||
metrics.box.map # map50-95(B)
|
||||
metrics.box.map50 # map50(B)
|
||||
metrics.box.map75 # map75(B)
|
||||
metrics.box.maps # список содержит map50-95(B) каждой категории
|
||||
metrics.seg.map # map50-95(M)
|
||||
metrics.seg.map50 # map50(M)
|
||||
metrics.seg.map75 # map75(M)
|
||||
metrics.seg.maps # список содержит map50-95(M) каждой категории
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo segment val model=yolov8n-seg.pt # валидация официальной модели
|
||||
yolo segment val model=path/to/best.pt # валидация пользовательской модели
|
||||
```
|
||||
|
||||
## Предсказание
|
||||
|
||||
Используйте обученную модель YOLOv8n-seg для выполнения предсказаний на изображениях.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n-seg.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить пользовательскую модель
|
||||
|
||||
# Сделать предсказание с помощью модели
|
||||
results = model('https://ultralytics.com/images/bus.jpg') # предсказать по изображению
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo segment predict model=yolov8n-seg.pt source='https://ultralytics.com/images/bus.jpg' # предсказать с официальной моделью
|
||||
yolo segment predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # предсказать с пользовательской моделью
|
||||
```
|
||||
|
||||
Полная информация о режиме `predict` на странице [Predict](https://docs.ultralytics.com/modes/predict/).
|
||||
|
||||
## Экспорт
|
||||
|
||||
Экспортируйте модель YOLOv8n-seg в другой формат, например ONNX, CoreML и т.д.
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузить модель
|
||||
model = YOLO('yolov8n-seg.pt') # загрузить официальную модель
|
||||
model = YOLO('path/to/best.pt') # загрузить пользовательскую обученную модель
|
||||
|
||||
# Экспортировать модель
|
||||
model.export(format='onnx')
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo export model=yolov8n-seg.pt format=onnx # экспортировать официальную модель
|
||||
yolo export model=path/to/best.pt format=onnx # экспортировать пользовательскую обученную модель
|
||||
```
|
||||
|
||||
Доступные форматы экспорта YOLOv8-seg приведены в таблице ниже. После завершения экспорта для вашей модели показаны примеры использования, включая прямое предсказание или валидацию на экспортированных моделях, например `yolo predict model=yolov8n-seg.onnx`.
|
||||
|
||||
| Формат | Аргумент `format` | Модель | Метаданные | Аргументы |
|
||||
|--------------------------------------------------------------------|-------------------|-------------------------------|------------|-----------------------------------------------------|
|
||||
| [PyTorch](https://pytorch.org/) | - | `yolov8n-seg.pt` | ✅ | - |
|
||||
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n-seg.torchscript` | ✅ | `imgsz`, `optimize` |
|
||||
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n-seg.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
|
||||
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n-seg_openvino_model/` | ✅ | `imgsz`, `half` |
|
||||
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n-seg.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
|
||||
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n-seg.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
|
||||
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n-seg_saved_model/` | ✅ | `imgsz`, `keras` |
|
||||
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n-seg.pb` | ❌ | `imgsz` |
|
||||
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n-seg.tflite` | ✅ | `imgsz`, `half`, `int8` |
|
||||
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n-seg_edgetpu.tflite` | ✅ | `imgsz` |
|
||||
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n-seg_web_model/` | ✅ | `imgsz` |
|
||||
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n-seg_paddle_model/` | ✅ | `imgsz` |
|
||||
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n-seg_ncnn_model/` | ✅ | `imgsz`, `half` |
|
||||
|
||||
Подробности о режиме `export` смотрите на странице [Export](https://docs.ultralytics.com/modes/export/).
|
||||
Loading…
Add table
Add a link
Reference in a new issue