Update https://docs.ultralytics.com/models (#6513)
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
0c4e97443b
commit
16a13a1ce0
178 changed files with 14224 additions and 561 deletions
193
docs/ru/models/fast-sam.md
Normal file
193
docs/ru/models/fast-sam.md
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
---
|
||||
comments: true
|
||||
description: Исследуйте FastSAM, базирующуюся на CNN сегментацию объектов в реальном времени на изображениях. Улучшенное взаимодействие с пользователем, высокая вычислительная эффективность и применимость к различным задачам компьютерного зрения.
|
||||
keywords: FastSAM, машинное обучение, решение на базе CNN, сегментация объектов, решение в реальном времени, Ultralytics, задачи компьютерного зрения, обработка изображений, применение в промышленности, пользовательское взаимодействие
|
||||
---
|
||||
|
||||
# Модель Fast Segment Anything (FastSAM)
|
||||
|
||||
Модель Fast Segment Anything (FastSAM) - это новаторское решение на базе CNN, предназначенное для решения задачи сегментации объектов в реальном времени. Эта задача разработана для сегментации любого объекта на изображении на основе различных возможных запросов пользователя. FastSAM значительно снижает вычислительные требования, при этом сохраняя конкурентоспособность работы, что делает ее практически подходящей для различных задач компьютерного зрения.
|
||||
|
||||

|
||||
|
||||
## Обзор
|
||||
|
||||
FastSAM разработана для преодоления ограничений [модели Segment Anything (SAM)](sam.md), тяжелой модели Transformer, требующей значительных вычислительных ресурсов. FastSAM разделяет задачу сегментации объектов на два последовательных этапа: сегментация всех экземпляров и выбор, основанный на запросах пользователя. На первом этапе используется [YOLOv8-seg](../tasks/segment.md) для создания сегментационных масок всех экземпляров на изображении. На втором этапе модель выводит область интереса, соответствующую запросу.
|
||||
|
||||
## Основные особенности
|
||||
|
||||
1. **Решение в реальном времени:** Благодаря эффективности вычислений на базе CNN, FastSAM обеспечивает решение задачи сегментации объектов в реальном времени, что делает ее ценной для применения в промышленных приложениях, требующих быстрых результатов.
|
||||
|
||||
2. **Эффективность и производительность:** FastSAM обеспечивает значительное снижение вычислительных и ресурсных требований, не ухудшая качество работы. Она достигает сопоставимой производительности с моделью SAM, но требует значительно меньше вычислительных ресурсов, что позволяет использовать ее в реальном времени.
|
||||
|
||||
3. **Сегментация на основе запросов пользователя:** FastSAM может выполнять сегментацию любого объекта на изображении, основываясь на различных возможных запросах пользователя, что обеспечивает гибкость и приспособляемость к различным сценариям.
|
||||
|
||||
4. **Основана на YOLOv8-seg:** FastSAM основана на модели [YOLOv8-seg](../tasks/segment.md), которая является детектором объектов с ветвью сегментации экземпляров. Это позволяет ей эффективно создавать сегментационные маски всех экземпляров на изображении.
|
||||
|
||||
5. **Высокие результаты на показателях:** При выполнении задачи предложения объектов на наборе данных MS COCO FastSAM достигает высоких показателей производительности при значительно большей скорости работы, чем [SAM](sam.md) на одном графическом процессоре NVIDIA RTX 3090, что свидетельствует о ее эффективности и способности.
|
||||
|
||||
6. **Практическое применение:** Предложенный подход предоставляет новое практическое решение для большого количества задач компьютерного зрения с очень высокой скоростью, в десятки или сотни раз превышающей скорость существующих методов.
|
||||
|
||||
7. **Возможность сжатия модели:** FastSAM демонстрирует возможность существенно снизить вычислительные затраты, введя искусственное преимущество в структуру модели, открывая новые возможности для создания крупномасштабных архитектур моделей для общих задач компьютерного зрения.
|
||||
|
||||
## Доступные модели, поддерживаемые задачи и режимы работы
|
||||
|
||||
В следующей таблице представлены доступные модели с их конкретными заранее обученными весами, поддерживаемые задачи и совместимость с различными режимами работы, такими как [Вывод](../modes/predict.md), [Валидация](../modes/val.md), [Обучение](../modes/train.md) и [Экспорт](../modes/export.md), обозначенные значками ✅ для поддерживаемых режимов и значками ❌ для неподдерживаемых режимов.
|
||||
|
||||
| Тип модели | Заранее обученные веса | Поддерживаемые задачи | Вывод | Валидация | Обучение | Экспорт |
|
||||
|------------|------------------------|------------------------------------------------|-------|-----------|----------|---------|
|
||||
| FastSAM-s | `FastSAM-s.pt` | [Сегментация экземпляров](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
| FastSAM-x | `FastSAM-x.pt` | [Сегментация экземпляров](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Модели FastSAM легко интегрировать в ваши приложения на Python. Ultralytics предоставляет удобный пользовательский интерфейс API и команды CLI для упрощения разработки.
|
||||
|
||||
### Использование для предсказаний
|
||||
|
||||
Для выполнения обнаружения объектов на изображении используйте метод `predict`, как показано ниже:
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import FastSAM
|
||||
from ultralytics.models.fastsam import FastSAMPrompt
|
||||
|
||||
# Определение исхода вывода
|
||||
source = 'путь/к/фото_автобуса.jpg'
|
||||
|
||||
# Создание модели FastSAM
|
||||
model = FastSAM('FastSAM-s.pt') # или FastSAM-x.pt
|
||||
|
||||
# Выполнение вывода на изображение
|
||||
результаты = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9)
|
||||
|
||||
# Создание объекта Prompt Process
|
||||
prompt_process = FastSAMPrompt(source, результаты, device='cpu')
|
||||
|
||||
# Вывод всего
|
||||
ann = prompt_process.everything_prompt()
|
||||
|
||||
# Прямоугольная область по умолчанию [0,0,0,0] -> [x1,y1,x2,y2]
|
||||
ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300])
|
||||
|
||||
# Текстовый запрос
|
||||
ann = prompt_process.text_prompt(text='фотография собаки')
|
||||
|
||||
# Запрос точки
|
||||
# Точки по умолчанию [[0,0]] [[x1,y1],[x2,y2]]
|
||||
# метка точки по умолчанию [0] [1,0] 0:фон, 1:передний план
|
||||
ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1])
|
||||
prompt_process.plot(annotations=ann, output='./')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
# Загрузка модели FastSAM и сегментация всего объекта на нем
|
||||
yolo segment predict model=FastSAM-s.pt source=путь/к/фото_автобуса.jpg imgsz=640
|
||||
```
|
||||
|
||||
В этом фрагменте кода демонстрируется простота загрузки предобученной модели и выполнения предсказаний на изображении.
|
||||
|
||||
### Использование для валидации
|
||||
|
||||
Валидацию модели на наборе данных можно выполнить следующим образом:
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import FastSAM
|
||||
|
||||
# Создание модели FastSAM
|
||||
model = FastSAM('FastSAM-s.pt') # или FastSAM-x.pt
|
||||
|
||||
# Валидация модели
|
||||
результаты = model.val(data='coco8-seg.yaml')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
# Загрузка модели FastSAM и ее валидация на примере набора данных COCO8 при размере изображения 640
|
||||
yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640
|
||||
```
|
||||
|
||||
Пожалуйста, обратите внимание, что FastSAM поддерживает только обнаружение и сегментацию единственного класса объектов. Это означает, что модель будет распознавать и сегментировать все объекты как один и тот же класс. Поэтому при подготовке набора данных вам нужно преобразовать все идентификаторы категорий объектов в 0.
|
||||
|
||||
## Официальное использование FastSAM
|
||||
|
||||
FastSAM также доступна непосредственно из репозитория [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM). Вот краткий обзор типичных шагов для использования FastSAM:
|
||||
|
||||
### Установка
|
||||
|
||||
1. Клонируйте репозиторий FastSAM:
|
||||
```shell
|
||||
git clone https://github.com/CASIA-IVA-Lab/FastSAM.git
|
||||
```
|
||||
|
||||
2. Создайте и активируйте виртуальное окружение Conda с Python 3.9:
|
||||
```shell
|
||||
conda create -n FastSAM python=3.9
|
||||
conda activate FastSAM
|
||||
```
|
||||
|
||||
3. Перейдите в каталог склонированного репозитория и установите требуемые пакеты:
|
||||
```shell
|
||||
cd FastSAM
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
4. Установите модель CLIP:
|
||||
```shell
|
||||
pip install git+https://github.com/openai/CLIP.git
|
||||
```
|
||||
|
||||
### Пример использования
|
||||
|
||||
1. Скачайте [файл контрольной точки модели](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing).
|
||||
|
||||
2. Используйте модель FastSAM для выполнения вывода. Примеры команд:
|
||||
|
||||
- Сегментация всего объекта на изображении:
|
||||
```shell
|
||||
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg
|
||||
```
|
||||
|
||||
- Сегментация определенных объектов с использованием текстового запроса:
|
||||
```shell
|
||||
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "желтая собака"
|
||||
```
|
||||
|
||||
- Сегментация объектов в пределах ограничивающей рамки (укажите координаты рамки в формате xywh):
|
||||
```shell
|
||||
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]"
|
||||
```
|
||||
|
||||
- Сегментация объектов, находящихся близко к определенным точкам:
|
||||
```shell
|
||||
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]"
|
||||
```
|
||||
|
||||
Кроме того, вы можете опробовать FastSAM с помощью [демонстрационного ноутбука Colab](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) или на [веб-демо HuggingFace](https://huggingface.co/spaces/An-619/FastSAM) для визуального опыта.
|
||||
|
||||
## Цитирование и благодарности
|
||||
|
||||
Мы хотели бы выразить благодарность авторам FastSAM за их значительный вклад в области сегментации объектов в реальном времени:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{zhao2023fast,
|
||||
title={Fast Segment Anything},
|
||||
author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang},
|
||||
year={2023},
|
||||
eprint={2306.12156},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
Оригинальная статья FastSAM доступна на [arXiv](https://arxiv.org/abs/2306.12156). Авторы сделали свою работу общедоступной, и код можно получить на [GitHub](https://github.com/CASIA-IVA-Lab/FastSAM). Мы ценим их усилия по развитию отрасли и доступу к их работе для широкого круга пользователей.
|
||||
|
|
@ -1,32 +1,32 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучите разнообразные модели семейства YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS и RT-DETR, поддерживаемые Ultralytics. Начните с примеров использования в командной строке и Python.
|
||||
description: Исследуйте разнообразный спектр поддерживаемых Ultralytics моделей семейства YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS и RT-DETR. Начните работу с примерами использования как для CLI, так и для Python.
|
||||
keywords: Ultralytics, документация, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, модели, архитектуры, Python, CLI
|
||||
---
|
||||
|
||||
# Модели, поддерживаемые Ultralytics
|
||||
# Поддерживаемые модели Ultralytics
|
||||
|
||||
Добро пожаловать в документацию по моделям Ultralytics! Мы поддерживаем широкий спектр моделей, каждая из которых адаптирована для конкретных задач, таких как [обнаружение объектов](../tasks/detect.md), [сегментация на уровне экземпляров](../tasks/segment.md), [классификация изображений](../tasks/classify.md), [оценка позы](../tasks/pose.md) и [множественное отслеживание объектов](../modes/track.md). Если вы заинтересованы в добавлении архитектуры вашей модели в Ultralytics, ознакомьтесь с нашим [Руководством для участников](../../help/contributing.md).
|
||||
Добро пожаловать в документацию по моделям Ultralytics! Мы поддерживаем широкий спектр моделей, каждая из которых адаптирована для конкретных задач, таких как [обнаружение объектов](../tasks/detect.md), [сегментация на уровне инстанций](../tasks/segment.md), [классификация изображений](../tasks/classify.md), [оценка позы](../tasks/pose.md) и [слежение за несколькими объектами](../modes/track.md). Если вы заинтересованы в добавлении архитектуры своей модели в Ultralytics, ознакомьтесь с нашим [Руководством для участников](../../help/contributing.md).
|
||||
|
||||
!!! Note "Заметка"
|
||||
!!! 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.
|
||||
1. **[YOLOv3](yolov3.md)**: Третье поколение семейства моделей YOLO, авторства Джозефа Редмона, известное своей эффективностью в реальном времени для обнаружения объектов.
|
||||
2. **[YOLOv4](yolov4.md)**: Нативное для darknet обновление YOLOv3, выпущенное Алексеем Бочковским в 2020 году.
|
||||
3. **[YOLOv5](yolov5.md)**: Улучшенная версия архитектуры YOLO от Ultralytics, предлагающая лучшие компромиссы производительности и скорости по сравнению с предыдущими версиями.
|
||||
4. **[YOLOv6](yolov6.md)**: Выпущенная в 2022 году компанией [Meituan](https://about.meituan.com/) и используемая во многих роботах автономной доставки компании.
|
||||
5. **[YOLOv7](yolov7.md)**: Обновленные модели YOLO, выпущенные в 2022 году авторами YOLOv4.
|
||||
6. **[YOLOv8](yolov8.md) НОВИНКА 🚀**: Последняя версия семейства YOLO, обладающая расширенными возможностями, такими как сегментация на уровне инстанций, оценка позы/ключевых точек и классификация.
|
||||
7. **[Segment Anything Model (SAM)](sam.md)**: Модель сегментации всего и вся (SAM) от Meta.
|
||||
8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: MobileSAM для мобильных приложений от университета Kyung Hee.
|
||||
9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: FastSAM от Группы анализа изображений и видео, Института автоматики, Китайской академии наук.
|
||||
10. **[YOLO-NAS](yolo-nas.md)**: Модели нейронной архитектуры поиска YOLO (NAS).
|
||||
11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: Модели трансформеров реального времени для обнаружения объектов (RT-DETR) от Baidu PaddlePaddle.
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
|
|
@ -41,25 +41,29 @@ keywords: Ultralytics, документация, YOLO, SAM, MobileSAM, FastSAM,
|
|||
|
||||
## Начало работы: Примеры использования
|
||||
|
||||
Этот пример предоставляет простые примеры обучения и вывода для YOLO. Полная документация по этим и другим [режимам](../modes/index.md) представлена на страницах документации [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md).
|
||||
|
||||
Обратите внимание, что ниже приведен пример для моделей [Detect](../tasks/detect.md) YOLOv8 для обнаружения объектов. Для дополнительных поддерживаемых задач смотрите документацию по [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) и [Pose](../tasks/pose.md).
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
|
||||
Предварительно обученные модели PyTorch `*.pt` а также файлы конфигурации `*.yaml` могут быть переданы в классы `YOLO()`, `SAM()`, `NAS()` и `RTDETR()` для создания экземпляра модели в Python:
|
||||
Предобученные модели PyTorch `*.pt`, а также конфигурационные файлы `*.yaml` могут быть переданы в классы `YOLO()`, `SAM()`, `NAS()` и `RTDETR()`, чтобы создать экземпляр модели на Python:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка модели YOLOv8n, предварительно обученной на COCO
|
||||
# Загрузить предварительно обученную модель YOLOv8n для COCO
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Отображение информации о модели (необязательно)
|
||||
# Отобразить информацию о модели (необязательно)
|
||||
model.info()
|
||||
|
||||
# Обучение модели на примерном наборе данных COCO8 в течение 100 эпох
|
||||
# Обучить модель на примерном наборе данных COCO8 в течение 100 эпох
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# Запуск использования модели YOLOv8n на изображении 'bus.jpg'
|
||||
# Запустить вывод с помощью модели YOLOv8n на изображении 'bus.jpg'
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
|
|
@ -68,27 +72,27 @@ keywords: Ultralytics, документация, YOLO, SAM, MobileSAM, FastSAM,
|
|||
Команды CLI доступны для непосредственного запуска моделей:
|
||||
|
||||
```bash
|
||||
# Загрузка и обучение модели YOLOv8n, предварительно обученной на COCO, на примерном наборе данных COCO8 в течение 100 эпох
|
||||
# Загрузить предварительно обученную модель YOLOv8n для COCO и обучить её на примерном наборе данных COCO8 в течение 100 эпох
|
||||
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# Загрузка и запуск использования модели YOLOv8n, предварительно обученной на COCO, на изображении 'bus.jpg'
|
||||
# Загрузить предварительно обученную модель YOLOv8n для COCO и запустить вывод на изображении 'bus.jpg'
|
||||
yolo predict model=yolov8n.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## Вклад в новые модели
|
||||
|
||||
Заинтересованы в добавлении вашей модели в Ultralytics? Замечательно! Мы всегда открыты для расширения нашего портфолио моделей.
|
||||
Заинтересованы в том, чтобы внести свою модель в Ultralytics? Отлично! Мы всегда открыты для расширения нашего портфолио моделей.
|
||||
|
||||
1. **Создать форк репозитория**: Начните с создания форка [репозитория Ultralytics на GitHub](https://github.com/ultralytics/ultralytics).
|
||||
1. **Сделайте Fork Репозитория**: Начните с создания форка [репозитория Ultralytics на GitHub](https://github.com/ultralytics/ultralytics).
|
||||
|
||||
2. **Клонировать ваш форк**: Клонируйте ваш форк на локальный компьютер и создайте новую ветку для работы.
|
||||
2. **Склонируйте свой Fork**: Склонируйте ваш форк на локальную машину и создайте новую ветку для работы.
|
||||
|
||||
3. **Реализовать вашу модель**: Добавьте вашу модель, следуя стандартам кодирования и руководящим принципам, приведенным в нашем [Руководстве для участников](../../help/contributing.md).
|
||||
3. **Реализуйте свою Модель**: Добавьте вашу модель, следуя стандартам программирования и руководящим принципам, указанным в нашем [Руководстве для участников](../../help/contributing.md).
|
||||
|
||||
4. **Тщательно протестировать**: Убедитесь, что ваша модель тестируется тщательно как самостоятельно, так и как часть нашего конвейера.
|
||||
4. **Тщательно протестируйте**: Убедитесь, что вы тщательно протестировали свою модель, как изолированно, так и как часть пайплайна.
|
||||
|
||||
5. **Создать запрос на добавление**: После того, как будете удовлетворены вашей моделью, создайте запрос на добавление в основной репозиторий для рассмотрения.
|
||||
5. **Создайте Pull Request**: Как только вы будете удовлетворены своей моделью, создайте pull request в основной репозиторий для рассмотрения.
|
||||
|
||||
6. **Код-ревью и слияние**: После рецензирования, если ваша модель соответствует нашим критериям, она будет добавлена в основной репозиторий.
|
||||
6. **Код-ревью и Слияние**: После рассмотрения, если ваша модель соответствует нашим критериям, она будет объединена с основным репозиторием.
|
||||
|
||||
Для более подробных шагов, смотрите наше [Руководство для участников](../../help/contributing.md).
|
||||
Для подробных инструкций см. наше [Руководство для участников](../../help/contributing.md).
|
||||
|
|
|
|||
116
docs/ru/models/mobile-sam.md
Normal file
116
docs/ru/models/mobile-sam.md
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
---
|
||||
comments: true
|
||||
description: Узнайте больше о MobileSAM, его реализации, сравнении с оригинальным SAM и о том, как его загрузить и протестировать в фреймворке Ultralytics. Улучшите свои мобильные приложения уже сегодня.
|
||||
keywords: MobileSAM, Ultralytics, SAM, мобильные приложения, Arxiv, GPU, API, кодировщик изображений, декодер масок, загрузка модели, метод тестирования
|
||||
---
|
||||
|
||||

|
||||
|
||||
# Mobile Segment Anything (MobileSAM)
|
||||
|
||||
Теперь доступна статья MobileSAM в [архиве arXiv](https://arxiv.org/pdf/2306.14289.pdf).
|
||||
|
||||
Демонстрацию работы MobileSAM на CPU можно найти по этой [ссылке](https://huggingface.co/spaces/dhkim2810/MobileSAM). Время выполнения на Mac i5 CPU составляет примерно 3 секунды. В демонстрационной версии Hugging Face интерфейс и менее производительные процессоры CPU могут вызывать замедление работы, но она продолжает работать эффективно.
|
||||
|
||||
MobileSAM реализован в различных проектах, включая [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [AnyLabeling](https://github.com/vietanhdev/anylabeling) и [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D).
|
||||
|
||||
MobileSAM обучается на одном графическом процессоре (GPU) со 100 тысячами данных (1% от оригинальных изображений) за менее чем день. Код для обучения будет доступен в будущем.
|
||||
|
||||
## Доступные модели, поддерживаемые задачи и режимы работы
|
||||
|
||||
В таблице представлены доступные модели с соответствующими предварительно обученными весами, поддерживаемыми задачами и их совместимостью с различными режимами работы, такими как [вывод](../modes/predict.md), [валидация](../modes/val.md), [тренировка](../modes/train.md) и [экспорт](../modes/export.md), указанными с помощью эмодзи ✅ для поддерживаемых режимов и эмодзи ❌ для неподдерживаемых.
|
||||
|
||||
| Тип модели | Предварительно обученные веса | Поддерживаемые задачи | Вывод | Валидация | Тренировка | Экспорт |
|
||||
|------------|-------------------------------|------------------------------------------------|-------|-----------|------------|---------|
|
||||
| MobileSAM | `mobile_sam.pt` | [Сегментация экземпляров](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
|
||||
## Переход от SAM к MobileSAM
|
||||
|
||||
Поскольку MobileSAM сохраняет ту же самую последовательность операций, что и оригинальный SAM, в него интегрированы все интерфейсы для предобработки, постобработки и прочие интерфейсы. В результате, пользователи, уже использующие оригинальный SAM, могут легко перейти на MobileSAM.
|
||||
|
||||
MobileSAM работает сравнимо с оригинальным SAM и имеет ту же самую последовательность операций, за исключением изменения кодировщика изображений. В частности, мы заменяем оригинальный "тяжёлый" кодировщик изображений ViT-H (632M) на более компактный Tiny-ViT (5M). На одном графическом процессоре MobileSAM работает примерно за 12 мс на изображение: 8 мс на кодировщик изображений и 4 мс на декодер масок.
|
||||
|
||||
В таблице представлено сравнение кодировщиков изображений на базе ViT:
|
||||
|
||||
| Кодировщик изображений | Оригинальный SAM | MobileSAM |
|
||||
|------------------------|------------------|-----------|
|
||||
| Параметры | 611M | 5M |
|
||||
| Скорость | 452 мс | 8 мс |
|
||||
|
||||
Как оригинальный SAM, так и MobileSAM используют один и тот же декодер масок, управляемый подсказками:
|
||||
|
||||
| Декодер масок | Оригинальный SAM | MobileSAM |
|
||||
|---------------|------------------|-----------|
|
||||
| Параметры | 3.876M | 3.876M |
|
||||
| Скорость | 4 мс | 4 мс |
|
||||
|
||||
Ниже приведено сравнение всей последовательности операций:
|
||||
|
||||
| Полная последовательность операций (Enc+Dec) | Оригинальный SAM | MobileSAM |
|
||||
|----------------------------------------------|------------------|-----------|
|
||||
| Параметры | 615M | 9.66M |
|
||||
| Скорость | 456 мс | 12 мс |
|
||||
|
||||
Производительность MobileSAM и оригинального SAM демонстрируется с использованием подсказок в форме точки и прямоугольника.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
MobileSAM обеспечивает примерно в 5 раз меньший размер и в 7 раз большую скорость работы по сравнению с текущим FastSAM. Более подробная информация доступна на [странице проекта MobileSAM](https://github.com/ChaoningZhang/MobileSAM).
|
||||
|
||||
## Тестирование MobileSAM в Ultralytics
|
||||
|
||||
Как и оригинальный SAM, мы предлагаем простой метод тестирования в Ultralytics, включая режимы тестирования с использованием подсказок в форме точки и прямоугольника.
|
||||
|
||||
### Загрузка модели
|
||||
|
||||
Вы можете загрузить модель [здесь](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt).
|
||||
|
||||
### Подсказка в форме точки
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import SAM
|
||||
|
||||
# Загрузка модели
|
||||
model = SAM('mobile_sam.pt')
|
||||
|
||||
# Предсказание сегмента на основе подсказки в форме точки
|
||||
model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1])
|
||||
```
|
||||
|
||||
### Подсказка в форме прямоугольника
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import SAM
|
||||
|
||||
# Загрузка модели
|
||||
model = SAM('mobile_sam.pt')
|
||||
|
||||
# Предсказание сегмента на основе подсказки в форме прямоугольника
|
||||
model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709])
|
||||
```
|
||||
|
||||
Мы реализовали `MobileSAM` и `SAM` с использованием одного и того же API. Для получения дополнительной информации о использовании, пожалуйста, см. [страницу SAM](sam.md).
|
||||
|
||||
## Цитирование и благодарности
|
||||
|
||||
Если вы считаете MobileSAM полезным в своей научно-исследовательской или разработочной работе, пожалуйста, рассмотрите возможность цитирования нашей статьи:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@article{mobile_sam,
|
||||
title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications},
|
||||
author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon},
|
||||
journal={arXiv preprint arXiv:2306.14289},
|
||||
year={2023}
|
||||
}
|
||||
93
docs/ru/models/rtdetr.md
Normal file
93
docs/ru/models/rtdetr.md
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
---
|
||||
comments: true
|
||||
description: Узнайте о возможностях и преимуществах RT-DETR от Baidu - эффективного и гибкого детектора объектов в реальном времени, основанного на Vision Transformers. Включает предобученные модели.
|
||||
keywords: RT-DETR, Baidu, Vision Transformers, object detection, real-time performance, CUDA, TensorRT, IoU-aware query selection, Ultralytics, Python API, PaddlePaddle
|
||||
---
|
||||
|
||||
# RT-DETR от Baidu: детектор объектов в реальном времени на основе Vision Transformers
|
||||
|
||||
## Обзор
|
||||
|
||||
Real-Time Detection Transformer (RT-DETR), разработанный компанией Baidu, является передовым энд-ту-энд детектором объектов, который обеспечивает высокую точность при работе в реальном времени. Он использует преимущества Vision Transformers (ViT) для эффективной обработки мультимасштабных признаков путем разделения взаимодействия внутри масштаба и слияния между масштабами. RT-DETR легко адаптируется для поддержки гибкой настройки скорости вывода с использованием разных слоев декодера без необходимости повторного обучения. Модель показывает высокую производительность на ускоренных вычислительных платформах, таких как CUDA с TensorRT, превосходя многие другие детекторы объектов в реальном времени.
|
||||
|
||||

|
||||
**Обзор RT-DETR от Baidu.** Схема архитектуры модели RT-DETR показывает последние три стадии основной сети {S3, S4, S5} в качестве входных данных для энкодера. Эффективный гибридный энкодер преобразует мультимасштабные признаки в последовательность признаков изображения с помощью интерактивного интраскального взаимодействия признаков (AIFI) и модуля слияния признаков между кросс-масштабами (CCFM). Для начальной инициализации объектных запросов декодера используется выбор запросов с учетом оценки пересечения объединения (IoU-aware query selection). Наконец, декодер с вспомогательными головами предсказания итеративно оптимизирует объектные запросы для генерации рамок и вероятностей ([источник](https://arxiv.org/pdf/2304.08069.pdf)).
|
||||
|
||||
### Основные особенности
|
||||
|
||||
- **Эффективный гибридный энкодер:** RT-DETR от Baidu использует эффективный гибридный энкодер, который обрабатывает мультимасштабные признаки путем разделения взаимодействия внутри масштаба и слияния между масштабами. Это уникальное решение на основе Vision Transformers снижает вычислительные затраты и позволяет осуществлять детекцию объектов в реальном времени.
|
||||
- **Выбор запроса с учетом оценки пересечения объединения (IoU-aware):** RT-DETR от Baidu улучшает инициализацию запросов объектов путем использования осознанного запроса с учетом оценки пересечения объединения (IoU-aware query selection). Это позволяет модели фокусироваться на наиболее значимых объектах на сцене и повышает точность детектирования.
|
||||
- **Гибкая скорость вывода:** RT-DETR от Baidu поддерживает гибкую настройку скорости вывода с использованием различных слоев декодера без необходимости повторного обучения. Гибкость данного подхода упрощает его применение в различных сценариях детекции объектов в реальном времени.
|
||||
|
||||
## Предобученные модели
|
||||
|
||||
Python API Ultralytics предоставляет предобученные модели RT-DETR от PaddlePaddle с различными масштабами:
|
||||
|
||||
- RT-DETR-L: 53.0% AP на COCO val2017, 114 FPS на GPU T4
|
||||
- RT-DETR-X: 54.8% AP на COCO val2017, 74 FPS на GPU T4
|
||||
|
||||
## Примеры использования
|
||||
|
||||
В этом примере представлены простые примеры обучения и вывода модели RT-DETR. Для полной документации по этим и другим [режимам](../modes/index.md) смотрите страницы документации [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md).
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import RTDETR
|
||||
|
||||
# Загрузка предобученной модели RT-DETR-l на COCO
|
||||
model = RTDETR('rtdetr-l.pt')
|
||||
|
||||
# Отображение информации о модели (по желанию)
|
||||
model.info()
|
||||
|
||||
# Обучение модели на примере набора данных COCO8 в течение 100 эпох
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# Осуществление вывода модели RT-DETR-l на изображении 'bus.jpg'
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Загрузка предобученной модели RT-DETR-l на COCO и ее обучение на примере набора данных COCO8 в течение 100 эпох
|
||||
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# Загрузка предобученной модели RT-DETR-l на COCO и вывод ее на изображении 'bus.jpg'
|
||||
yolo predict model=rtdetr-l.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## Поддерживаемые задачи и режимы
|
||||
|
||||
В таблице представлены типы моделей, конкретные предобученные веса, задачи, поддерживаемые каждой моделью, а также различные режимы ([Train](../modes/train.md) , [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md)), поддерживаемые каждой моделью, что обозначено символом ✅.
|
||||
|
||||
| Тип модели | Предобученные веса | Поддерживаемые задачи | Вывод | Валидация | Обучение | Экспорт |
|
||||
|---------------------|--------------------|--------------------------------------------|-------|-----------|----------|---------|
|
||||
| RT-DETR Large | `rtdetr-l.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| RT-DETR Extra-Large | `rtdetr-x.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
## Цитирование и благодарности
|
||||
|
||||
Если вы используете Baidu RT-DETR в своих исследованиях или разработке, пожалуйста, процитируйте [оригинальную статью](https://arxiv.org/abs/2304.08069):
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{lv2023detrs,
|
||||
title={DETRs Beat YOLOs on Real-time Object Detection},
|
||||
author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu},
|
||||
year={2023},
|
||||
eprint={2304.08069},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
Мы хотели бы выразить свою благодарность компании Baidu и команде [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection) за создание и поддержку этого ценного ресурса для сообщества компьютерного зрения. Мы очень ценим их вклад в области разработки детекторов объектов в реальном времени на основе Vision Transformers, RT-DETR.
|
||||
|
||||
*Keywords: RT-DETR, Transformer, ViT, Vision Transformers, Baidu RT-DETR, PaddlePaddle, Paddle Paddle RT-DETR, real-time object detection, Vision Transformers-based object detection, pre-trained PaddlePaddle RT-DETR models, Baidu's RT-DETR usage, Ultralytics Python API*
|
||||
226
docs/ru/models/sam.md
Normal file
226
docs/ru/models/sam.md
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучите передовую модель сегментации изображений "Segment Anything Model" (SAM) от компании Ultralytics, которая позволяет выполнять сегментацию изображений в режиме реального времени. Узнайте о возможности дать подсказки модели для выполнения сегментации, о ее возможностях нулевой настройки и о том, как ее использовать.
|
||||
keywords: Ultralytics, сегментация изображений, "Segment Anything Model", SAM, набор данных SA-1B, работа в режиме реального времени, нулевая настройка, обнаружение объектов, анализ изображений, машинное обучение
|
||||
---
|
||||
|
||||
# Segment Anything Model (SAM)
|
||||
|
||||
Добро пожаловать в мир передовой модели сегментации изображений "Segment Anything Model" (SAM). Эта революционная модель установила новые стандарты в области сегментации изображений, предоставляя возможность ввода подсказок для выполнения сегментации в реальном времени.
|
||||
|
||||
## Введение в Segment Anything Model (SAM)
|
||||
|
||||
Segment Anything Model (SAM) - это передовая модель сегментации изображений, позволяющая осуществлять сегментацию с возможностью задавать подсказки, что обеспечивает уникальную гибкость в задачах анализа изображений. SAM является ключевым элементом инициативы "Segment Anything", которая вводит новую модель, задачу и набор данных для сегментации изображений.
|
||||
|
||||
Благодаря своему передовому дизайну, SAM может адаптироваться к новым распределениям изображений и задачам без предварительных знаний, что называется возможностью нулевой настройки. Обученная на обширном наборе данных [SA-1B](https://ai.facebook.com/datasets/segment-anything/), который содержит более 1 миллиарда масок, распределенных на 11 миллионов тщательно отобранных изображений, модель SAM проявила впечатляющую производительность в задачах нулевой настройки, превосходя предыдущие полностью надзираемые результаты во многих случаях.
|
||||
|
||||

|
||||
Изображения с наложенными масками из нашего нового набора данных SA-1B. SA-1B содержит 11 млн. разнообразных лицензированных изображений высокого разрешения, сгенерированных полностью автоматически SAM, и 1,1 млрд. высококачественных масок сегментации. Эти маски были аннотированы полностью автоматически SAM, и, как показали человеческие оценки и множество экспериментов, они являются высококачественными и разнообразными. Изображения сгруппированы по количеству масок на изображение для наглядности (в среднем на изображение приходится около 100 масок).
|
||||
|
||||
## Основные особенности модели Segment Anything (SAM)
|
||||
|
||||
- **Задача предоставления подсказок для сегментации:** SAM была разработана с учетом задачи предоставления подсказок для сегментации, что позволяет ей генерировать корректные маски сегментации на основе любых подсказок, таких как пространственные или текстовые подсказки, идентифицирующие объект.
|
||||
- **Расширенная архитектура:** Модель Segment Anything использует мощный кодировщик изображений, кодировщик подсказок и легкий декодер масок. Эта уникальная архитектура обеспечивает гибкое использование подсказок, вычисление масок в реальном времени и учет неопределенности в задачах сегментации.
|
||||
- **Набор данных SA-1B:** Набор данных SA-1B, предложенный проектом Segment Anything, содержит более 1 миллиарда масок на 11 миллионах изображений. Как самый большой набор данных для сегментации на сегодняшний день, он обеспечивает модели SAM разнообразный и масштабный источник данных для обучения.
|
||||
- **Производительность при нулевой настройке:** Модель SAM проявляет выдающуюся производительность при выполнении задач сегментации в режиме нулевой настройки, что делает ее готовым к использованию инструментом для различных приложений с минимальной необходимостью настраивать подсказки.
|
||||
|
||||
Для более подробного рассмотрения модели Segment Anything и набора данных SA-1B, пожалуйста, посетите [веб-сайт Segment Anything](https://segment-anything.com) и ознакомьтесь с исследовательской статьей [Segment Anything](https://arxiv.org/abs/2304.02643).
|
||||
|
||||
## Доступные модели, поддерживаемые задачи и режимы работы
|
||||
|
||||
В таблице представлены доступные модели с их специфическими заранее обученными весами, поддерживаемыми задачами и их совместимость с различными режимами работы, такими как [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md) и [Export](../modes/export.md), обозначенная символами ✅ для поддерживаемых режимов и символами ❌ для неподдерживаемых режимов.
|
||||
|
||||
| Тип модели | Заранее обученные веса | Поддерживаемые задачи | Inference | Validation | Training | Export |
|
||||
|------------------------------------|------------------------|---------------------------------------------|-----------|------------|----------|--------|
|
||||
| Базовая версия SAM (SAM base) | `sam_b.pt` | [Сегментация объектов](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
| Расширенная версия SAM (SAM large) | `sam_l.pt` | [Сегментация объектов](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
|
||||
## Как использовать модель SAM: гибкость и мощность в сегментации изображений
|
||||
|
||||
Модель Segment Anything может использоваться для множества задач, выходящих за рамки ее тренировочных данных. Это включает обнаружение границ, генерацию предложений объектов, сегментацию экземпляров и предварительное преобразование текста в маску. С использованием подсказок, SAM может быстро адаптироваться к новым задачам и распределениям данных в режиме нулевой настройки, делая его гибким и мощным инструментом для всех ваших потребностей в сегментации изображений.
|
||||
|
||||
### Пример прогнозирования с использованием SAM
|
||||
|
||||
!!! Example "Сегментация с указанием подсказки"
|
||||
|
||||
Выполнение сегментации изображения с указанными подсказками.
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import SAM
|
||||
|
||||
# Загрузка модели
|
||||
model = SAM('sam_b.pt')
|
||||
|
||||
# Вывод информации о модели (по желанию)
|
||||
model.info()
|
||||
|
||||
# Выполнение вывода с указанием границы объекта (bboxes prompt)
|
||||
model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709])
|
||||
|
||||
# Выполнение вывода с указанием точки (points prompt)
|
||||
model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1])
|
||||
```
|
||||
|
||||
!!! Example "Сегментация всего изображения"
|
||||
|
||||
Сегментация всего изображения.
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import SAM
|
||||
|
||||
# Загрузка модели
|
||||
model = SAM('sam_b.pt')
|
||||
|
||||
# Вывод информации о модели (по желанию)
|
||||
model.info()
|
||||
|
||||
# Выполнение вывода
|
||||
model('путь/к/изображению.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# Выполнение вывода с помощью модели SAM
|
||||
yolo predict model=sam_b.pt source=путь/к/изображению.jpg
|
||||
```
|
||||
|
||||
- Логика здесь состоит в том, чтобы выполнить сегментацию всего изображения, если вы не передаете никаких подсказок (bboxes/points/masks).
|
||||
|
||||
!!! Example "Пример SAMPredictor"
|
||||
|
||||
В этом примере вы можете установить изображение один раз и выполнить множество прогнозирований с использованием подсказок, не запуская кодировщик изображения несколько раз.
|
||||
|
||||
=== "Прогнозирование с подсказками"
|
||||
|
||||
```python
|
||||
from ultralytics.models.sam import Predictor as SAMPredictor
|
||||
|
||||
# Создание SAMPredictor
|
||||
overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt")
|
||||
predictor = SAMPredictor(overrides=overrides)
|
||||
|
||||
# Установка изображения
|
||||
predictor.set_image("ultralytics/assets/zidane.jpg") # установить с помощью файла изображения
|
||||
predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # установить с помощью np.ndarray
|
||||
results = predictor(bboxes=[439, 437, 524, 709])
|
||||
results = predictor(points=[900, 370], labels=[1])
|
||||
|
||||
# Сброс изображения
|
||||
predictor.reset_image()
|
||||
```
|
||||
|
||||
Сегментация всего изображения с дополнительными аргументами.
|
||||
|
||||
=== "Сегментация всего изображения"
|
||||
|
||||
```python
|
||||
from ultralytics.models.sam import Predictor as SAMPredictor
|
||||
|
||||
# Создание SAMPredictor
|
||||
overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt")
|
||||
predictor = SAMPredictor(overrides=overrides)
|
||||
|
||||
# Сегментация с дополнительными аргументами
|
||||
results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64)
|
||||
```
|
||||
|
||||
- Больше дополнительных аргументов для `Сегментации всего изображения` см. [Ссылка на`Predictor/generate`](../../reference/models/sam/predict.md).
|
||||
|
||||
## Сравнение SAM и YOLOv8
|
||||
|
||||
Здесь мы сравниваем самую маленькую модель SAM, SAM-b, с самой маленькой моделью сегментации Ultralytics, [YOLOv8n-seg](../tasks/segment.md):
|
||||
|
||||
| Модель | Размер | Параметры | Скорость (CPU) |
|
||||
|------------------------------------------------|--------------------------------|----------------------------------|-------------------------------------------|
|
||||
| SAM-b | 358 МБ | 94.7 млн. | 51096 мс/изображение |
|
||||
| [MobileSAM](mobile-sam.md) | 40.7 МБ | 10.1 млн. | 46122 мс/изображение |
|
||||
| [FastSAM-s](fast-sam.md) с основой YOLOv8 | 23.7 МБ | 11.8 млн. | 115 мс/изображение |
|
||||
| Ultralytics [YOLOv8n-seg](../tasks/segment.md) | **6.7 МБ** (в 53.4 раз меньше) | **3.4 млн.** (в 27.9 раз меньше) | **59 мс/изображение** (в 866 раз быстрее) |
|
||||
|
||||
Это сравнение показывает разницу в порядке величины между моделями по их размерам и скорости. В то время как SAM предлагает уникальные возможности автоматической сегментации, он не является прямым конкурентом моделям сегментации YOLOv8, которые являются более маленькими, быстрее и эффективнее.
|
||||
|
||||
Тесты проводились на ноутбуке Apple M2 с 16 ГБ оперативной памяти 2023 года. Чтобы воспроизвести этот тест:
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import FastSAM, SAM, YOLO
|
||||
|
||||
# Анализ SAM-b
|
||||
model = SAM('sam_b.pt')
|
||||
model.info()
|
||||
model('ultralytics/assets')
|
||||
|
||||
# Анализ MobileSAM
|
||||
model = SAM('mobile_sam.pt')
|
||||
model.info()
|
||||
model('ultralytics/assets')
|
||||
|
||||
# Анализ FastSAM-s
|
||||
model = FastSAM('FastSAM-s.pt')
|
||||
model.info()
|
||||
model('ultralytics/assets')
|
||||
|
||||
# Анализ YOLOv8n-seg
|
||||
model = YOLO('yolov8n-seg.pt')
|
||||
model.info()
|
||||
model('ultralytics/assets')
|
||||
```
|
||||
|
||||
## Авто-аннотация: быстрый путь к наборам данных для сегментации
|
||||
|
||||
Авто-аннотация - это ключевая функция SAM, позволяющая пользователям генерировать [наборы данных для сегментации](https://docs.ultralytics.com/datasets/segment) с использованием предварительно обученной модели обнаружения. Эта функция позволяет быстро и точно аннотировать большое количество изображений, обходя необходимость трудоемкой ручной разметки.
|
||||
|
||||
### Создание набора данных для сегментации с использованием модели обнаружения
|
||||
|
||||
Для авто-аннотации набора данных с использованием фреймворка Ultralytics используйте функцию `auto_annotate`, как показано ниже:
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics.data.annotator import auto_annotate
|
||||
|
||||
auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model='sam_b.pt')
|
||||
```
|
||||
|
||||
| Аргумент | Тип | Описание | Значение по умолчанию |
|
||||
|------------|------------------------|--------------------------------------------------------------------------------------------------------------|-----------------------|
|
||||
| data | str | Путь к папке с изображениями, которые должны быть аннотированы. | |
|
||||
| det_model | str, опционально | Предварительно обученная модель обнаружения YOLO. По умолчанию 'yolov8x.pt'. | 'yolov8x.pt' |
|
||||
| sam_model | str, опционально | Предварительно обученная модель сегментации SAM. По умолчанию 'sam_b.pt'. | 'sam_b.pt' |
|
||||
| device | str, опционально | Устройство для запуска моделей. По умолчанию пустая строка (ЦП или ГП, если доступно). | |
|
||||
| output_dir | str, None, опционально | Каталог для сохранения результатов аннотации. По умолчанию - папка "labels" в том же каталоге, что и "data". | None |
|
||||
|
||||
Функция `auto_annotate` принимает путь к вашим изображениям со всеми опциональными аргументами для указания предварительно обученных моделей обнаружения и сегментации SAM, устройства для запуска моделей и каталога вывода для сохранения аннотированных результатов.
|
||||
|
||||
Авто-аннотация с помощью предварительно обученных моделей может существенно сократить время и усилия, затрачиваемые на создание высококачественных наборов данных для сегментации. Эта функция особенно полезна для исследователей и разработчиков, работающих с большими сборниками изображений, поскольку она позволяет им сконцентрироваться на разработке и оценке моделей, а не на ручной разметке.
|
||||
|
||||
## Цитирование и благодарности
|
||||
|
||||
Если вам пригодилась модель SAM в вашей исследовательской или разработческой работе, пожалуйста, рассмотрите возможность цитирования нашей статьи:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{kirillov2023segment,
|
||||
title={Segment Anything},
|
||||
author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick},
|
||||
year={2023},
|
||||
eprint={2304.02643},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
Мы хотели бы выразить свою благодарность компании Meta AI за создание и поддержку этого ценного ресурса для сообщества визуального анализа.
|
||||
|
||||
*keywords: Segment Anything, Segment Anything Model, SAM, Meta SAM, сегментация изображений, возможность давать подсказки для выполнения сегментации, производительность с нулевой настройкой, набор данных SA-1B, передовая архитектура, авто-аннотация, Ultralytics, предварительно обученные модели, базовая версия SAM, расширенная версия SAM, сегментация экземпляров, визуальный анализ, искусственный интеллект, машинное обучение, аннотация данных, маски сегментации, модель обнаружения, модель обнаружения YOLOv8, библиографическая ссылка, Meta AI.*
|
||||
121
docs/ru/models/yolo-nas.md
Normal file
121
docs/ru/models/yolo-nas.md
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучите подробную документацию YOLO-NAS, превосходной модели обнаружения объектов. Узнайте о ее функциях, предварительно обученных моделях, использовании с помощью Ultralytics Python API и многом другом.
|
||||
keywords: YOLO-NAS, Deci AI, обнаружение объектов, глубокое обучение, поиск нейроархитектур, Ultralytics Python API, модель YOLO, предварительно обученные модели, квантизация, оптимизация, COCO, Objects365, Roboflow 100
|
||||
---
|
||||
|
||||
# YOLO-NAS
|
||||
|
||||
## Обзор
|
||||
|
||||
Разработанный компанией Deci AI, YOLO-NAS является революционной фундаментальной моделью обнаружения объектов. Она является продуктом продвинутой технологии поиска нейроархитектур и специально разработана для преодоления ограничений предыдущих моделей YOLO. Благодаря существенному улучшению поддержки квантования и компромисса между точностью и задержкой, YOLO-NAS представляет собой значительный прорыв в области обнаружения объектов.
|
||||
|
||||

|
||||
**Обзор YOLO-NAS.** YOLO-NAS использует блоки, поддерживающие квантование, и селективное квантование для достижения оптимальной производительности. Модель, когда переводится в квантованную версию INT8, имеет минимальное падение точности, что является значительным улучшением по сравнению с другими моделями. Эти достижения приводят к превосходной архитектуре с беспрецедентными возможностями обнаружения объектов и выдающей производительностью.
|
||||
|
||||
### Основные функции
|
||||
|
||||
- **Базовый блок поддерживающий квантование:** YOLO-NAS предлагает новый базовый блок, который хорошо работает с квантованием, что позволяет преодолеть одно из значительных ограничений предыдущих моделей YOLO.
|
||||
- **Совершенствование тренировки и квантования:** YOLO-NAS использует продвинутые схемы тренировки и пост-тренировочное квантование для улучшения производительности.
|
||||
- **Оптимизация AutoNAC и предварительная обучение:** YOLO-NAS использует оптимизацию AutoNAC и предварительное обучение на известных наборах данных, таких как COCO, Objects365 и Roboflow 100. Это предварительное обучение делает модель идеально подходящей для решений по обнаружению объектов в производственных средах.
|
||||
|
||||
## Предварительно обученные модели
|
||||
|
||||
Ощутите мощь обнаружения объектов нового поколения с предварительно обученными моделями YOLO-NAS, предоставленными компанией Ultralytics. Эти модели разработаны для обеспечения высокой производительности как в плане скорости, так и точности. Выберите из различных вариантов, настроенных под ваши конкретные потребности:
|
||||
|
||||
| Модель | mAP | Задержка (ms) |
|
||||
|------------------|-------|---------------|
|
||||
| YOLO-NAS S | 47.5 | 3.21 |
|
||||
| YOLO-NAS M | 51.55 | 5.85 |
|
||||
| YOLO-NAS L | 52.22 | 7.87 |
|
||||
| YOLO-NAS S INT-8 | 47.03 | 2.36 |
|
||||
| YOLO-NAS M INT-8 | 51.0 | 3.78 |
|
||||
| YOLO-NAS L INT-8 | 52.1 | 4.78 |
|
||||
|
||||
Каждый вариант модели разработан для достижения баланса между средней точностью обнаружения (mAP) и задержкой, помогая вам оптимизировать задачи по обнаружению объектов с точки зрения производительности и скорости.
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Компания Ultralytics сделала интеграцию моделей YOLO-NAS в ваши приложения на Python максимально простой с помощью нашего пакета `ultralytics`. Пакет предоставляет удобный API на Python, чтобы упростить весь процесс.
|
||||
|
||||
Ниже приведены примеры использования моделей YOLO-NAS с пакетом `ultralytics` для вывода результатов и их проверки:
|
||||
|
||||
### Примеры вывода результатов и проверки
|
||||
|
||||
В этом примере мы проверяем модель YOLO-NAS-s на наборе данных COCO8.
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
В этом примере представлен простой код вывода результатов и проверки для YOLO-NAS. Для обработки результатов вывода см. режим [Predict](../modes/predict.md). Для использования YOLO-NAS с другими режимами см. [Val](../modes/val.md) и [Export](../modes/export.md). Пакет `ultralytics` для YOLO-NAS не поддерживает обучение.
|
||||
|
||||
=== "Python"
|
||||
|
||||
Файлы предварительно обученных моделей PyTorch `*.pt` могут быть переданы в класс `NAS()` для создания экземпляра модели на Python:
|
||||
|
||||
```python
|
||||
from ultralytics import NAS
|
||||
|
||||
# Загрузка предварительно обученной модели YOLO-NAS-s на наборе данных COCO
|
||||
model = NAS('yolo_nas_s.pt')
|
||||
|
||||
# Вывод информации о модели (опционально)
|
||||
model.info()
|
||||
|
||||
# Проверка модели на примере набора данных COCO8
|
||||
results = model.val(data='coco8.yaml')
|
||||
|
||||
# Вывод результатов работы модели YOLO-NAS-s на изображении 'bus.jpg'
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
Для прямого запуска моделей доступны следующие команды:
|
||||
|
||||
```bash
|
||||
# Загрузка предварительно обученной модели YOLO-NAS-s на наборе данных COCO и проверка ее производительности на примере набора данных COCO8
|
||||
yolo val model=yolo_nas_s.pt data=coco8.yaml
|
||||
|
||||
# Загрузка предварительно обученной модели YOLO-NAS-s на наборе данных COCO и запуск вывода результатов на изображении 'bus.jpg'
|
||||
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## Поддерживаемые задачи и режимы
|
||||
|
||||
Мы предлагаем три варианта моделей YOLO-NAS: Small (s), Medium (m) и Large (l). Каждый вариант разработан для различных вычислительных и производственных потребностей:
|
||||
|
||||
- **YOLO-NAS-s**: Оптимизирована для сред с ограниченными вычислительными ресурсами, где эффективность является ключевым фактором.
|
||||
- **YOLO-NAS-m**: Предлагает сбалансированный подход, подходит для общих задач обнаружения объектов с более высокой точностью.
|
||||
- **YOLO-NAS-l**: Адаптирована для сценариев, требующих максимальной точности, где вычислительные ресурсы менее ограничены.
|
||||
|
||||
Ниже приведен подробный обзор каждой модели, включая ссылки на их предварительно обученные веса, задачи, которые они поддерживают, и их совместимость с различными режимами работы.
|
||||
|
||||
| Тип модели | Предварительно обученные веса | Поддерживаемые задачи | Вывод результатов | Проверка | Обучение | Экспорт |
|
||||
|------------|-----------------------------------------------------------------------------------------------|--------------------------------------------|-------------------|----------|----------|---------|
|
||||
| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ |
|
||||
| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ |
|
||||
| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ |
|
||||
|
||||
## Цитирование и благодарности
|
||||
|
||||
Если вы используете YOLO-NAS в своей научно-исследовательской или разработочной работе, пожалуйста, ссылайтесь на SuperGradients:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{supergradients,
|
||||
doi = {10.5281/ZENODO.7789328},
|
||||
url = {https://zenodo.org/record/7789328},
|
||||
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}},
|
||||
title = {Super-Gradients},
|
||||
publisher = {GitHub},
|
||||
journal = {GitHub repository},
|
||||
year = {2021},
|
||||
}
|
||||
```
|
||||
|
||||
Мы выражаем благодарность команде [SuperGradients](https://github.com/Deci-AI/super-gradients/) компании Deci AI за их усилия в создании и поддержке этого ценного ресурса для компьютерного зрения. Мы считаем, что YOLO-NAS со своей инновационной архитектурой и улучшенными возможностями обнаружения объектов станет важным инструментом как для разработчиков, так и для исследователей.
|
||||
|
||||
*keywords: YOLO-NAS, Deci AI, обнаружение объектов, глубокое обучение, поиск нейроархитектур, Ultralytics Python API, модель YOLO, SuperGradients, предварительно обученные модели, базовый блок, дружественный квантованию, продвинутые схемы тренировки, пост-тренировочное квантование, оптимизация AutoNAC, COCO, Objects365, Roboflow 100*
|
||||
98
docs/ru/models/yolov3.md
Normal file
98
docs/ru/models/yolov3.md
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
---
|
||||
comments: true
|
||||
description: Получите обзор моделей YOLOv3, YOLOv3-Ultralytics и YOLOv3u. Узнайте о их основных функциях, использовании и поддерживаемых задачах для обнаружения объектов.
|
||||
keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, Обнаружение объектов, Вывод, Обучение, Ultralytics
|
||||
---
|
||||
|
||||
# YOLOv3, YOLOv3-Ultralytics и YOLOv3u
|
||||
|
||||
## Обзор
|
||||
|
||||
Этот документ представляет обзор трех тесно связанных моделей обнаружения объектов: [YOLOv3](https://pjreddie.com/darknet/yolo/), [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) и [YOLOv3u](https://github.com/ultralytics/ultralytics).
|
||||
|
||||
1. **YOLOv3:** Это третья версия алгоритма обнаружения объектов You Only Look Once (YOLO). Изначально разработанная Джозефом Редмоном (Joseph Redmon), YOLOv3 улучшила своих предшественников, внедрив такие функции, как многошкальные предсказания и три различных размера ядер детекции.
|
||||
|
||||
2. **YOLOv3-Ultralytics:** Это имплементация модели YOLOv3 от Ultralytics. Она воспроизводит оригинальную архитектуру YOLOv3 и предлагает дополнительные возможности, такие как поддержка большего числа предварительно обученных моделей и более простые варианты настройки.
|
||||
|
||||
3. **YOLOv3u:** Это обновленная версия YOLOv3-Ultralytics, которая включает в себя разделение головы на свободные от привязки якоря и объектности, используемое в моделях YOLOv8. YOLOv3u имеет такую же архитектуру основного модуля и модуля "шеи", как YOLOv3, но с обновленной головой детекции из YOLOv8.
|
||||
|
||||

|
||||
|
||||
## Основные характеристики
|
||||
|
||||
- **YOLOv3:** Внедрение трех масштабов детекции позволило использовать три разных размера ядер детекции: 13x13, 26x26 и 52x52. Это значительно улучшило точность обнаружения объектов различных размеров. Кроме того, YOLOv3 добавила такие функции, как множественные предсказания для каждого ограничивающего прямоугольника и более высококачественную сеть экстрактора признаков.
|
||||
|
||||
- **YOLOv3-Ultralytics:** Имплементация YOLOv3 от Ultralytics обеспечивает такую же производительность, как у оригинальной модели, но дополнительно поддерживает больше предварительно обученных моделей, дополнительные методы обучения и более простые варианты настройки. Это делает ее более гибкой и удобной для практического применения.
|
||||
|
||||
- **YOLOv3u:** В этой обновленной модели использовано разделение головы на свободные от привязки якоря и объектности из YOLOv8. Путем устранения необходимости в предопределенных координатах привязки и оценках объектности эта архитектура головы детекции способна улучшить способность модели обнаруживать объекты различных размеров и форм. Это делает YOLOv3u более устойчивой и точной для задач обнаружения объектов.
|
||||
|
||||
## Поддерживаемые задачи и режимы
|
||||
|
||||
Серия YOLOv3, включая YOLOv3, YOLOv3-Ultralytics и YOLOv3u, специально разработана для задач обнаружения объектов. Эти модели заслужили признание своей эффективности в различных сценариях реального мира, обеспечивая баланс между точностью и скоростью. Каждый вариант предлагает уникальные функции и оптимизации, что делает их подходящими для широкого спектра приложений.
|
||||
|
||||
Все три модели поддерживают полный набор режимов, обеспечивая гибкость на разных этапах развертывания и разработки моделей. Эти режимы включают [Вывод](../modes/predict.md), [Проверку](../modes/val.md), [Обучение](../modes/train.md) и [Экспорт](../modes/export.md), что позволяет пользователям полноценно использовать эти модели для эффективного обнаружения объектов.
|
||||
|
||||
| Тип модели | Поддерживаемые задачи | Вывод | Проверка | Обучение | Экспорт |
|
||||
|--------------------|--------------------------------------------|-------|----------|----------|---------|
|
||||
| YOLOv3 | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv3-Ultralytics | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv3u | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
Эта таблица предоставляет краткий обзор возможностей каждого варианта модели YOLOv3, подчеркивая их гибкость и пригодность для выполнения различных задач и операционных режимов в потоке обнаружения объектов.
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Этот пример предоставляет простые примеры обучения и вывода с использованием YOLOv3. Полную документацию об этих и других [режимах](../modes/index.md) см. на страницах документации по [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md).
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
|
||||
В Python можно передавать предварительно обученные модели `*.pt` PyTorch и конфигурационные файлы `*.yaml` в класс `YOLO()`, чтобы создать экземпляр модели:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv3n на наборе данных COCO
|
||||
model = YOLO('yolov3n.pt')
|
||||
|
||||
# Отображение информации о модели (необязательно)
|
||||
model.info()
|
||||
|
||||
# Обучение модели на примере набора данных COCO8 в течение 100 эпох
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# Выполнение вывода модели YOLOv3n на изображении 'bus.jpg'
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
Имеются команды интерфейса командной строки для прямого запуска моделей:
|
||||
|
||||
```bash
|
||||
# Загрузить предварительно обученную модель YOLOv3n на наборе данных COCO и обучить ее на примере набора данных COCO8 в течение 100 эпох
|
||||
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# Загрузить предварительно обученную модель YOLOv3n на наборе данных COCO и выполнить вывод на изображении 'bus.jpg'
|
||||
yolo predict model=yolov3n.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## Цитаты и благодарности
|
||||
|
||||
Если вы используете YOLOv3 в своем исследовании, пожалуйста, цитируйте оригинальные статьи о YOLO и репозиторий Ultralytics YOLOv3:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@article{redmon2018yolov3,
|
||||
title={YOLOv3: An Incremental Improvement},
|
||||
author={Redmon, Joseph and Farhadi, Ali},
|
||||
journal={arXiv preprint arXiv:1804.02767},
|
||||
year={2018}
|
||||
}
|
||||
```
|
||||
|
||||
Благодарим Джозефа Редмона и Али Фархади за разработку оригинальной модели YOLOv3.
|
||||
71
docs/ru/models/yolov4.md
Normal file
71
docs/ru/models/yolov4.md
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучите наш подробный руководство по YOLOv4 - передовому обнаружителю объектов в режиме реального времени. Понимание его архитектурных особенностей, инновационных функций и примеров применения.
|
||||
keywords: ultralytics, YOLOv4, обнаружение объектов, нейронные сети, обнаружение в реальном времени, детектор объектов, машинное обучение
|
||||
---
|
||||
|
||||
# YOLOv4: Быстрое и точное обнаружение объектов
|
||||
|
||||
Добро пожаловать на страницу документации Ultralytics по YOLOv4 - передовому обнаружителю объектов в режиме реального времени, созданному в 2020 году Алексеем Бочковским на [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). YOLOv4 разработан для обеспечения оптимального баланса между скоростью и точностью, что делает его отличным выбором для многих приложений.
|
||||
|
||||

|
||||
**Диаграмма архитектуры YOLOv4**. Показана сложная сетевая архитектура YOLOv4, включая компоненты основной части, шеи и головы, а также их взаимосвязанные слои для оптимального обнаружения объектов в режиме реального времени.
|
||||
|
||||
## Введение
|
||||
|
||||
YOLOv4 означает You Only Look Once, версия 4. Эта модель обнаружения объектов в реальном времени была разработана для преодоления ограничений предыдущих версий YOLO, таких как [YOLOv3](yolov3.md) и других моделей обнаружения объектов. В отличие от других детекторов объектов на основе сверточных нейронных сетей (CNN), YOLOv4 применим как для систем рекомендаций, так и для автономного управления процессами и уменьшения человеческого ввода. Благодаря работе на обычных графических процессорах (GPU), YOLOv4 может использоваться массово по доступной цене и разработан для работы в реальном времени на обычном GPU, требуя для обучения лишь одного такого GPU.
|
||||
|
||||
## Архитектура
|
||||
|
||||
YOLOv4 использует несколько инновационных функций, которые работают вместе для оптимизации его производительности. Среди них встроенные связи с резильтатами (WRC), частичные соединения между этапами (CSP), нормализация на мини-пакетах (CmBN), самоадаптивное обучение (SAT), активация Mish, аугментация данных Mosaic, регуляризация DropBlock и функция потерь CIoU. Эти функции объединены для достижения передовых результатов.
|
||||
|
||||
Типичный детектор объектов состоит из нескольких частей, включая входные данные, основную часть, шейку и голову. Основа YOLOv4 предварительно обучена на наборе данных ImageNet и используется для предсказания классов и ограничивающих рамок объектов. Основа может быть представлена несколькими моделями, включая VGG, ResNet, ResNeXt или DenseNet. Часть шейки детектора используется для сбора карт признаков с разных этапов и обычно включает несколько путей снизу вверх и несколько путей сверху вниз. Головная часть используется для окончательного обнаружения и классификации объектов.
|
||||
|
||||
## Bag of Freebies
|
||||
|
||||
YOLOv4 также использует методы, известные как «bag of freebies», которые улучшают точность модели во время обучения без увеличения стоимости вывода. Аугментация данных - это общая техника "bag of freebies", используемая в обнаружении объектов, которая увеличивает изменчивость входных изображений для повышения устойчивости модели. Некоторые примеры аугментации данных включают фотометрические и геометрические искажения. Эти техники помогают модели лучше обобщаться для различных типов изображений.
|
||||
|
||||
## Особенности и производительность
|
||||
|
||||
YOLOv4 разработан для оптимальной скорости и точности обнаружения объектов. Архитектура YOLOv4 включает в себя CSPDarknet53 в качестве основы, PANet в качестве шейки и YOLOv3 в качестве головы. Это позволяет YOLOv4 выполнять обнаружение объектов с впечатляющей скоростью, что делает его подходящим для приложений в реальном времени. YOLOv4 также отличается точностью и достигает передовых результатов в тестовых бенчмарках для обнаружения объектов.
|
||||
|
||||
## Примеры использования
|
||||
|
||||
На момент написания данного документа Ultralytics пока не поддерживает модели YOLOv4. Поэтому все пользователи, заинтересованные в использовании YOLOv4, должны обращаться напрямую к репозиторию YOLOv4 на GitHub для инструкций по установке и использованию.
|
||||
|
||||
Вот краткий обзор типичных шагов, которые вы можете предпринять для использования YOLOv4:
|
||||
|
||||
1. Посетите репозиторий YOLOv4 на GitHub: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet).
|
||||
|
||||
2. Следуйте инструкциям, предоставленным в файле README для установки. Это обычно включает клонирование репозитория, установку необходимых зависимостей и настройку необходимых переменных среды.
|
||||
|
||||
3. После завершения установки вы можете обучать и использовать модель в соответствии с инструкциями использования, предоставленными в репозитории. Обычно это включает подготовку ваших данных, настройку параметров модели, обучение модели и затем использование обученной модели для выполнения обнаружения объектов.
|
||||
|
||||
Обратите внимание, что конкретные шаги могут отличаться в зависимости от вашего конкретного случая использования и текущего состояния репозитория YOLOv4. Поэтому настоятельно рекомендуется обращаться непосредственно к инструкциям, предоставленным в репозитории YOLOv4 на GitHub.
|
||||
|
||||
Приносим извинения за возможные неудобства, и мы постараемся обновить этот документ с примерами использования для Ultralytics, как только поддержка YOLOv4 будет реализована.
|
||||
|
||||
## Заключение
|
||||
|
||||
YOLOv4 - это мощная и эффективная модель обнаружения объектов, которая находит баланс между скоростью и точностью. Благодаря уникальным функциям и методам "bag of freebies" во время обучения, она превосходно справляется с задачами обнаружения объектов в реальном времени. YOLOv4 может быть обучена и использована всеми, у кого есть обычный GPU, что делает ее доступной и пригодной для широкого круга применений.
|
||||
|
||||
## Цитирование и благодарности
|
||||
|
||||
Мы хотели бы выразить благодарность авторам YOLOv4 за их значительный вклад в область обнаружения объектов в режиме реального времени:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{bochkovskiy2020yolov4,
|
||||
title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
|
||||
author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
|
||||
year={2020},
|
||||
eprint={2004.10934},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
Оригинальная статья YOLOv4 доступна на [arXiv](https://arxiv.org/pdf/2004.10934.pdf). Авторы сделали свою работу общедоступной, и код доступен на [GitHub](https://github.com/AlexeyAB/darknet). Мы ценим их усилия в развитии области и доступности их работы для широкого сообщества.
|
||||
113
docs/ru/models/yolov5.md
Normal file
113
docs/ru/models/yolov5.md
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
---
|
||||
comments: true
|
||||
description: Познакомьтесь с YOLOv5u, улучшенной версией модели YOLOv5 с улучшенным компромиссом между точностью и скоростью и множеством готовых моделей для различных задач обнаружения объектов.
|
||||
keywords: YOLOv5u, обнаружение объектов, готовые модели, Ultralytics, Вывод, Проверка, YOLOv5, YOLOv8, без якорей, без учета объектности, реальное время работы, машинное обучение
|
||||
---
|
||||
|
||||
# YOLOv5
|
||||
|
||||
## Обзор
|
||||
|
||||
YOLOv5u представляет собой прогресс в методологиях обнаружения объектов. Исходя из основной архитектуры модели [YOLOv5](https://github.com/ultralytics/yolov5), разработанной компанией Ultralytics, YOLOv5u интегрирует разделение головы без якорей и объектности, функциональность, ранее представленную в моделях [YOLOv8](yolov8.md). Эта адаптация улучшает архитектуру модели, что приводит к улучшенному компромиссу между точностью и скоростью в задачах обнаружения объектов. Учитывая эмпирические результаты и полученные характеристики, YOLOv5u предлагает эффективную альтернативу для тех, кто ищет надежные решения как в научных исследованиях, так и в практических приложениях.
|
||||
|
||||

|
||||
|
||||
## Основные возможности
|
||||
|
||||
- **Разделение головы без якорей**: Традиционные модели обнаружения объектов полагаются на заранее определенные привязочные рамки для предсказания расположения объектов. Однако YOLOv5u модернизирует этот подход. Принимая безякорную голову, она обеспечивает более гибкий и адаптивный механизм обнаружения, что в итоге повышает производительность в различных сценариях.
|
||||
|
||||
- **Оптимизированный компромисс между точностью и скоростью**: Скорость и точность часто движутся в противоположных направлениях. Но YOLOv5u вызывает этот компромисс. Она предлагает настроенный баланс, обеспечивая обнаружение в режиме реального времени без ущерба для точности. Эта функция особенно ценна для приложений, которым требуются быстрые ответы, таких как автономные транспортные средства, робототехника и аналитика видеозаписей в режиме реального времени.
|
||||
|
||||
- **Разнообразие готовых моделей**: Понимая, что различные задачи требуют разного инструментария, YOLOv5u предлагает множество готовых моделей. Независимо от того, придерживаетесь ли вы вывода, проверки или обучения, вас ожидает модель, разработанная специально под вашу уникальную задачу. Это разнообразие гарантирует, что вы не используете универсальное решение, а модель, специально настроенную для вашего уникального вызова.
|
||||
|
||||
## Поддерживаемые задачи и режимы
|
||||
|
||||
Модели YOLOv5u с различными предварительно обученными весами превосходят в задачах [Обнаружение объектов](../tasks/detect.md). Они поддерживают широкий спектр режимов работы, что делает их подходящими для разных приложений, от разработки до развертывания.
|
||||
|
||||
| Тип модели | Предварительно обученные веса | Задача | Вывод | Проверка | Обучение | Экспорт |
|
||||
|------------|-----------------------------------------------------------------------------------------------------------------------------|--------------------------------------------|-------|----------|----------|---------|
|
||||
| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
В этой таблице предоставлена подробная информация о вариантах моделей YOLOv5u, основных задачах обнаружения объектов и поддержке различных операционных режимов, таких как [Вывод](../modes/predict.md), [Проверка](../modes/val.md), [Обучение](../modes/train.md) и [Экспорт](../modes/export.md). Эта всесторонняя поддержка позволяет пользователям полностью использовать возможности моделей YOLOv5u в широком спектре задач обнаружения объектов.
|
||||
|
||||
## Показатели производительности
|
||||
|
||||
!!! Производительность
|
||||
|
||||
=== "Обнаружение"
|
||||
|
||||
См. [Документацию по обнаружению](https://docs.ultralytics.com/tasks/detect/) для примеров использования этих моделей, обученных на [COCO](https://docs.ultralytics.com/datasets/detect/coco/), которая включает 80 предварительно обученных классов.
|
||||
|
||||
| Модель | YAML | размер<br><sup>(пиксели) | mAP<sup>val<br>50-95 | Скорость<br><sup>CPU ONNX<br>(мс) | Скорость<br><sup>A100 TensorRT<br>(мс) | параметры<br><sup>(М) | FLOPs<br><sup>(Б) |
|
||||
|-------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-------------------------|----------------------|--------------------------------|-------------------------------------|----------------------|-------------------|
|
||||
| [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
|
||||
| [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
|
||||
| [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
|
||||
| [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
|
||||
| [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
|
||||
| | | | | | | | |
|
||||
| [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 |
|
||||
| [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
|
||||
| [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
|
||||
| [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
|
||||
| [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
|
||||
|
||||
## Примеры использования
|
||||
|
||||
В этом примере приведены простые примеры обучения и вывода моделей YOLOv5. Для получения полной документации по этим и другим [режимам работы](../modes/index.md) см. страницы документации по [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md).
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
|
||||
Предварительно обученные модели PyTorch `*.pt` и файлы конфигурации `*.yaml` можно передать классу `YOLO()` для создания экземпляра модели на Python:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Загрузите предварительно обученную модель YOLOv5n на COCO
|
||||
model = YOLO('yolov5n.pt')
|
||||
|
||||
# Отобразить информацию о модели (опционально)
|
||||
model.info()
|
||||
|
||||
# Обучение модели на примере набора данных на основе COCO8 в течение 100 эпох
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# Выполнение вывода с моделью YOLOv5n на изображении 'bus.jpg'
|
||||
results = model('путь/к/файлу/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
Доступны команды CLI для непосредственного выполнения моделей:
|
||||
|
||||
```bash
|
||||
# Загрузка предварительно обученной модели YOLOv5n на COCO и обучение на примере набора данных на основе COCO8 в течение 100 эпох
|
||||
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# Загрузка предварительно обученной модели YOLOv5n на COCO и выполнение вывода на изображении 'bus.jpg'
|
||||
yolo predict model=yolov5n.pt source=путь/к/файлу/bus.jpg
|
||||
```
|
||||
|
||||
## Цитирование и благодарности
|
||||
|
||||
Если вы используете YOLOv5 или YOLOv5u в своих исследованиях, пожалуйста, ссылайтесь на репозиторий Ultralytics YOLOv5 следующим образом:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
```bibtex
|
||||
@software{yolov5,
|
||||
title = {Ultralytics YOLOv5},
|
||||
author = {Glenn Jocher},
|
||||
year = {2020},
|
||||
version = {7.0},
|
||||
license = {AGPL-3.0},
|
||||
url = {https://github.com/ultralytics/yolov5},
|
||||
doi = {10.5281/zenodo.3908559},
|
||||
orcid = {0000-0001-5950-6979}
|
||||
}
|
||||
```
|
||||
|
||||
Пожалуйста, обратите внимание, что модели YOLOv5 предоставляются под [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) и [Enterprise](https://ultralytics.com/license) лицензиями.
|
||||
107
docs/ru/models/yolov6.md
Normal file
107
docs/ru/models/yolov6.md
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучите Meituan YOLOv6 - современную модель обнаружения объектов, отличающуюся балансом между скоростью и точностью. Подробнее о функциях, предварительно обученных моделях и использовании Python.
|
||||
keywords: Meituan YOLOv6, обнаружение объектов, Ultralytics, документация YOLOv6, двустороннее объединение, тренировка с использованием якорей, предварительно обученные модели, приложения в реальном времени
|
||||
---
|
||||
|
||||
# Meituan YOLOv6
|
||||
|
||||
## Обзор
|
||||
|
||||
[Meituan](https://about.meituan.com/) YOLOv6 - это передовая модель обнаружения объектов, которая отлично сочетает в себе скорость и точность, что делает ее популярным выбором для приложений в реальном времени. Эта модель включает несколько значимых улучшений в своей архитектуре и схеме обучения, включая внедрение модуля двустороннего объединения (BiC), стратегию тренировки с использованием якорей (AAT) и улучшенный дизайн базовой и верхней частей для достижения передовой точности на наборе данных COCO.
|
||||
|
||||

|
||||

|
||||
**Обзор YOLOv6.** Диаграмма архитектуры модели, показывающая переработанные компоненты сети и стратегии тренировки, которые приводят к значительному улучшению производительности. (a) Верхняя часть YOLOv6 (показаны N и S). Обратите внимание, что для M/L блок RepBlocks заменен на CSPStackRep. (b) Структура модуля BiC. (c) Блок SimCSPSPPF block. ([исходник](https://arxiv.org/pdf/2301.05586.pdf)).
|
||||
|
||||
### Основные функции
|
||||
|
||||
- **Модуль двустороннего объединения (BiC):** YOLOv6 включает модуль BiC в верхнюю часть детектора, улучшая сигналы локализации и обеспечивая прирост производительности при минимальном снижении скорости.
|
||||
- **Стратегия тренировки с использованием якорей (AAT):** Эта модель предлагает AAT, чтобы воспользоваться преимуществами как якорных, так и бесконтурных парадигм без ущерба для эффективности вывода.
|
||||
- **Улучшенный дизайн базовой и верхней частей:** Путем расширения YOLOv6 за счет добавления еще одной стадии в базовую и верхнюю часть модели достигается передовая производительность на наборе данных COCO при высоком разрешении входных изображений.
|
||||
- **Стратегия самостоятельной стабилизации:** Внедряется новая стратегия самостоятельной стабилизации для повышения производительности меньших моделей YOLOv6, улучшая вспомогательное регрессионное ветвление во время тренировки и удаляя его во время вывода, чтобы избежать заметного снижения скорости.
|
||||
|
||||
## Метрики производительности
|
||||
|
||||
YOLOv6 предоставляет несколько предварительно обученных моделей различных масштабов:
|
||||
|
||||
- YOLOv6-N: 37.5% AP на наборе данных COCO val2017 при 1187 кадрах в секунду (FPS) с использованием графического процессора NVIDIA Tesla T4.
|
||||
- YOLOv6-S: 45.0% AP при 484 FPS.
|
||||
- YOLOv6-M: 50.0% AP при 226 FPS.
|
||||
- YOLOv6-L: 52.8% AP при 116 FPS.
|
||||
- YOLOv6-L6: Передовая точность в реальном времени.
|
||||
|
||||
YOLOv6 также предоставляет квантованные модели для разных точностей и модели, оптимизированные для мобильных платформ.
|
||||
|
||||
## Примеры использования
|
||||
|
||||
В этом примере приведены простые примеры тренировки и вывода с использованием YOLOv6. Полная документация по этим и другим [режимам](../modes/index.md) доступна на страницах документации [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md).
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
|
||||
Модели PyTorch, предварительно обученные с помощью файлов `*.pt`, а также файлы конфигурации `*.yaml` могут быть переданы в класс `YOLO()` для создания экземпляра модели на Python:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Построение модели YOLOv6n с нуля
|
||||
model = YOLO('yolov6n.yaml')
|
||||
|
||||
# Отображение информации о модели (по желанию)
|
||||
model.info()
|
||||
|
||||
# Тренировка модели на примере набора данных COCO8 в течение 100 эпох
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# Вывод результатов с использованием модели YOLOv6n на изображении 'bus.jpg'
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
Доступны команды интерфейса командной строки для непосредственного запуска моделей:
|
||||
|
||||
```bash
|
||||
# Построение модели YOLOv6n с нуля и тренировка на примере набора данных COCO8 в течение 100 эпох
|
||||
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# Построение модели YOLOv6n с нуля и вывод результатов на изображении 'bus.jpg'
|
||||
yolo predict model=yolov6n.yaml source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## Поддерживаемые задачи и режимы
|
||||
|
||||
Серия моделей YOLOv6 предлагает широкий выбор моделей с оптимизацией для [обнаружения объектов](../tasks/detect.md) высокой производительности. Они удовлетворяют различным вычислительным потребностям и требованиям точности, что делает их универсальными для широкого спектра приложений.
|
||||
|
||||
| Тип модели | Предварительно обученные веса | Поддерживаемые задачи | Вывод результатов | Валидация | Тренировка | Экспорт |
|
||||
|------------|-------------------------------|--------------------------------------------|-------------------|-----------|------------|---------|
|
||||
| YOLOv6-N | `yolov6-n.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv6-S | `yolov6-s.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv6-M | `yolov6-m.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv6-L | `yolov6-l.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv6-L6 | `yolov6-l6.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
Эта таблица предоставляет подробный обзор вариантов моделей YOLOv6, подчеркивая их возможности в задачах обнаружения объектов и совместимость с различными операционными режимами, такими как [Вывод результатов](../modes/predict.md), [Валидация](../modes/val.md), [Тренировка](../modes/train.md) и [Экспорт](../modes/export.md). Это обширная поддержка позволяет пользователям полностью использовать возможности моделей YOLOv6 в широком спектре сценариев обнаружения объектов.
|
||||
|
||||
## Цитирования и благодарности
|
||||
|
||||
Мы хотели бы выразить благодарность авторам исследования за их значительный вклад в области обнаружения объектов в реальном времени:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{li2023yolov6,
|
||||
title={YOLOv6 v3.0: A Full-Scale Reloading},
|
||||
author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
|
||||
year={2023},
|
||||
eprint={2301.05586},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
Исходную статью об YOLOv6 можно найти на [arXiv](https://arxiv.org/abs/2301.05586). Авторы сделали свою работу общедоступной, и код доступен на [GitHub](https://github.com/meituan/YOLOv6). Мы ценим их усилия в развитии этой области и доступности их работы для широкого сообщества.
|
||||
65
docs/ru/models/yolov7.md
Normal file
65
docs/ru/models/yolov7.md
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
---
|
||||
comments: true
|
||||
description: Исследуйте YOLOv7, реальный детектор объектов в реальном времени. Познакомьтесь с его высокой скоростью, впечатляющей точностью и уникальным фокусом на тренируемой оптимизации с использованием "мешка бесплатных улучшений".
|
||||
keywords: YOLOv7, детектор объектов в реальном времени, новейший, Ultralytics, набор данных MS COCO, репараметризация модели, динамическое присвоение меток, расширенное масштабирование, компаунд-масштабирование
|
||||
---
|
||||
|
||||
# YOLOv7: Тренируемый "мешок бесплатных улучшений"
|
||||
|
||||
YOLOv7 - это новейший детектор объектов в реальном времени, который превосходит все известные детекторы объектов по скорости и точности в диапазоне от 5 к/с до 160 к/с. У него самая высокая точность (56,8% AP) среди всех известных детекторов объектов в режиме реального времени со скоростью 30 к/с и выше на GPU V100. Кроме того, YOLOv7 превосходит другие детекторы объектов, такие как YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 и многие другие, в скорости и точности. Модель обучается с нуля на наборе данных MS COCO без использования других наборов данных или предварительно обученных весов. Исходный код для YOLOv7 доступен на GitHub.
|
||||
|
||||

|
||||
**Сравнение новейших детекторов объектов.** Из результатов в Таблице 2 мы знаем, что предложенный метод обеспечивает лучшее соотношение скорость-точность в целом. Если сравнивать YOLOv7-tiny-SiLU с YOLOv5-N (r6.1), наш метод быстрее на 127 к/с и точнее на 10,7% по AP. Кроме того, YOLOv7 имеет точность AP 51,4% при скорости кадров 161 к/с, в то время как PPYOLOE-L с такой же точностью имеет только скорость кадров 78 к/с. Что касается использования параметров, YOLOv7 сокращает их на 41% по сравнению с PPYOLOE-L. Если сравнить YOLOv7-X с 114 к/с скоростью вывода с YOLOv5-L (r6.1) с 99 к/с скоростью вывода, YOLOv7-X может повысить AP на 3,9%. Если сравнить YOLOv7-X с YOLOv5-X (r6.1) с похожими масштабами, скорость вывода YOLOv7-X на 31 к/с выше. Кроме того, по количеству параметров и вычислений YOLOv7-X сокращает параметры на 22% и вычисления на 8% по сравнению с YOLOv5-X (r6.1), но повышает AP на 2,2% ([Источник](https://arxiv.org/pdf/2207.02696.pdf)).
|
||||
|
||||
## Обзор
|
||||
|
||||
Детектирование объектов в реальном времени - это важный компонент многих систем компьютерного зрения, включая многотаргетное отслеживание, автономное вождение, робототехнику и анализ медицинских изображений. В последние годы разработка детекторов объектов в реальном времени сосредоточена на проектировании эффективных архитектур и повышении скорости вывода на различных ЦП, ГПУ и нейропроцессорах (NPUs). YOLOv7 поддерживает как мобильные графические процессоры (GPU), так и устройства GPU, от периферии до облачных вычислений.
|
||||
|
||||
В отличие от традиционных детекторов объектов в реальном времени, которые сосредоточены на оптимизации архитектуры, YOLOv7 вводит концепцию оптимизации процесса обучения. Это включает модули и методы оптимизации, разработанные для повышения точности детектирования объектов без увеличения стоимости вывода, известного как "тренируемый мешок бесплатных улучшений".
|
||||
|
||||
## Основные функции
|
||||
|
||||
YOLOv7 предлагает несколько ключевых функций:
|
||||
|
||||
1. **Репараметризация модели**: YOLOv7 предлагает запланированную переапарамеризацию модели, которая является стратегией, применимой к слоям в разных сетях с концепцией пути градиентного распространения.
|
||||
|
||||
2. **Динамическое присвоение меток**: Обучение модели с несколькими выходными слоями представляет новую проблему: "Как назначить динамические цели для выходов разных ветвей?" Для решения этой проблемы YOLOv7 предлагает новый метод присвоения меток, называемый грубо-тонким присвоением меток с управлением ведущей ветви.
|
||||
|
||||
3. **Расширенное и компаунд-масштабирование**: YOLOv7 предлагает методы "расширения" и "компаунд-масштабирования" для детектора объектов в реальном времени, которые эффективно используют параметры и вычисления.
|
||||
|
||||
4. **Эффективность**: Метод, предложенный YOLOv7, может эффективно сокращать примерно на 40% количество параметров и на 50% вычислений известного детектора объектов в реальном времени, обеспечивая более быструю скорость вывода и более высокую точность детектирования.
|
||||
|
||||
## Примеры использования
|
||||
|
||||
На момент написания данного документа Ultralytics в настоящее время не поддерживает модели YOLOv7. Поэтому все пользователи, заинтересованные в использовании YOLOv7, должны обратиться непосредственно к репозиторию YOLOv7 на GitHub для инструкций по установке и использованию.
|
||||
|
||||
Вот краткий обзор типичных шагов, которые могут потребоваться для использования YOLOv7:
|
||||
|
||||
1. Посетите репозиторий YOLOv7 на GitHub: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7).
|
||||
|
||||
2. Следуйте инструкциям, предоставленным в файле README по установке. Обычно это включает клонирование репозитория, установку необходимых зависимостей и настройку необходимых переменных среды.
|
||||
|
||||
3. После завершения установки вы можете обучать и использовать модель в соответствии с инструкциями по использованию, предоставленными в репозитории. Обычно это включает подготовку набора данных, настройку параметров модели, обучение модели, а затем использование обученной модели для выполнения детектирования объектов.
|
||||
|
||||
Обратите внимание, что конкретные шаги могут варьироваться в зависимости от вашего конкретного случая использования и текущего состояния репозитория YOLOv7. Поэтому настоятельно рекомендуется обратиться непосредственно к инструкциям, предоставленным в репозитории YOLOv7 на GitHub.
|
||||
|
||||
Мы сожалеем обо всех неудобствах, которые это может вызвать, и будем стараться обновлять этот документ с примерами использования для Ultralytics, как только будет реализована поддержка YOLOv7.
|
||||
|
||||
## Цитирования и благодарности
|
||||
|
||||
Мы хотели бы выразить признательность авторам YOLOv7 за их значительный вклад в области детектирования объектов в реальном времени:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@article{wang2022yolov7,
|
||||
title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},
|
||||
author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},
|
||||
journal={arXiv preprint arXiv:2207.02696},
|
||||
year={2022}
|
||||
}
|
||||
```
|
||||
|
||||
Исходную статью YOLOv7 можно найти на [arXiv](https://arxiv.org/pdf/2207.02696.pdf). Авторы опубликовали свою работу публично, и код доступен на [GitHub](https://github.com/WongKinYiu/yolov7). Мы ценим их усилия в совершенствовании этой области и доступности своей работы для широкой общественности.
|
||||
162
docs/ru/models/yolov8.md
Normal file
162
docs/ru/models/yolov8.md
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
---
|
||||
comments: true
|
||||
description: Изучите захватывающие возможности YOLOv8, последней версии нашего детектора объектов в реальном времени! Узнайте, как передовая архитектура, предварительно обученные модели и оптимальное сочетание точности и скорости делают YOLOv8 идеальным выбором для ваших задач по обнаружению объектов.
|
||||
keywords: YOLOv8, Ultralytics, детектор объектов в реальном времени, предварительно обученные модели, документация, обнаружение объектов, серия YOLO, передовая архитектура, точность, скорость
|
||||
---
|
||||
|
||||
# YOLOv8
|
||||
|
||||
## Обзор
|
||||
|
||||
YOLOv8 - это последняя версия в серии детекторов объектов в реальном времени YOLO, обеспечивающая передовую производительность в терминах точности и скорости. Основываясь на достижениях предыдущих версий YOLO, YOLOv8 вводит новые возможности и оптимизации, делая его идеальным выбором для различных задач по обнаружению объектов в широком спектре приложений.
|
||||
|
||||

|
||||
|
||||
## Основные возможности
|
||||
|
||||
- **Передовые архитектуры основы и шеи:** YOLOv8 использует передовые архитектуры основы и шеи, что приводит к улучшенному извлечению признаков и производительности обнаружения объектов.
|
||||
- **Ключевая голова Ultralytics без якорей:** YOLOv8 применяет ключевую голову Ultralytics без якорей, что способствует более точному обнаружению и более эффективному процессу обнаружения по сравнению с якорными подходами.
|
||||
- **Оптимальное сочетание точности и скорости:** С основным акцентом на поддержании оптимального баланса между точностью и скоростью, YOLOv8 подходит для задач обнаружения объектов в режиме реального времени в различных областях применения.
|
||||
- **Разнообразие предварительно обученных моделей:** YOLOv8 предлагает ряд предварительно обученных моделей для различных задач и требований к производительности, что упрощает выбор подходящей модели для конкретного случая использования.
|
||||
|
||||
## Поддерживаемые задачи и режимы работы
|
||||
|
||||
Серия YOLOv8 предлагает разнообразные модели, каждая из которых специализирована для конкретных задач в компьютерном зрении. Эти модели разработаны для удовлетворения различных требований, от обнаружения объектов до более сложных задач, таких как сегментация экземпляров, определение позы/ключевых точек и классификация.
|
||||
|
||||
Каждая вариация серии YOLOv8 оптимизирована для своей соответствующей задачи, обеспечивая высокую производительность и точность. Кроме того, эти модели совместимы со множеством режимов работы, включая [Вывод](../modes/predict.md), [Проверку](../modes/val.md), [Обучение](../modes/train.md) и [Экспорт](../modes/export.md), что облегчает их использование на различных этапах развертывания и разработки.
|
||||
|
||||
| Модель | Названия файлов | Задача | Вывод | Проверка | Обучение | Экспорт |
|
||||
|-------------|----------------------------------------------------------------------------------------------------------------|------------------------------------------------|-------|----------|----------|---------|
|
||||
| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [Обнаружение](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [Сегментация экземпляров](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [Поза/ключевые точки](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [Классификация](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
Данная таблица предоставляет обзор вариантов моделей YOLOv8, подчеркивая их применимость к конкретным задачам и их совместимость с различными режимами работы, такими как Вывод, Проверка, Обучение и Экспорт. Это демонстрирует гибкость и надежность серии YOLOv8, что делает их подходящими для широкого спектра приложений в компьютерном зрении.
|
||||
|
||||
## Показатели производительности
|
||||
|
||||
!!! Производительность
|
||||
|
||||
=== "Обнаружение (COCO)"
|
||||
|
||||
См. [Документацию по обнаружению](https://docs.ultralytics.com/tasks/detect/) для примеров использования этих моделей, обученных на [COCO](https://docs.ultralytics.com/datasets/detect/coco/), включающих 80 предварительно обученных классов.
|
||||
|
||||
| Модель | размер<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 |
|
||||
|
||||
=== "Обнаружение (Open Images V7)"
|
||||
|
||||
См. [Документацию по обнаружению](https://docs.ultralytics.com/tasks/detect/) для примеров использования этих моделей, обученных на [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/), включающих 600 предварительно обученных классов.
|
||||
|
||||
| Модель | размер<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-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
|
||||
| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
|
||||
| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
|
||||
| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
|
||||
| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
|
||||
|
||||
=== "Сегментация (COCO)"
|
||||
|
||||
См. [Документацию по сегментации](https://docs.ultralytics.com/tasks/segment/) для примеров использования этих моделей, обученных на [COCO](https://docs.ultralytics.com/datasets/segment/coco/), включающих 80 предварительно обученных классов.
|
||||
|
||||
| Модель | размер<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>(M) | FLOPs<br><sup>(Б) |
|
||||
| -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
||||
| [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 |
|
||||
|
||||
=== "Классификация (ImageNet)"
|
||||
|
||||
См. [Документацию по классификации](https://docs.ultralytics.com/tasks/classify/) для примеров использования этих моделей, обученных на [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/), включающих 1000 предварительно обученных классов.
|
||||
|
||||
| Модель | размер<br><sup>(пиксели) | acc<br><sup>top1 | acc<br><sup>top5 | Скорость<br><sup>CPU ONNX<br>(мс) | Скорость<br><sup>A100 TensorRT<br>(мс) | параметры<br><sup>(M) | 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 |
|
||||
|
||||
=== "Поза (COCO)"
|
||||
|
||||
См. [Документацию по оценке позы](https://docs.ultralytics.com/tasks/segment/) для примеров использования этих моделей, обученных на [COCO](https://docs.ultralytics.com/datasets/pose/coco/), включающих 1 предварительно обученный класс - 'person'.
|
||||
|
||||
| Модель | размер<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>(M) | 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 |
|
||||
|
||||
## Примеры использования
|
||||
|
||||
В этом примере представлены простые примеры обучения и вывода с использованием YOLOv8. Для полной документации об этих и других [режимах](../modes/index.md) см. страницы документации по [Предсказанию](../modes/predict.md), [Обучению](../modes/train.md), [Проверке](../modes/val.md) и [Экспорту](../modes/export.md).
|
||||
|
||||
Обратите внимание, что приведенный ниже пример относится к моделям YOLOv8 для [Детекции](../tasks/detect.md) объектов. Для дополнительных поддерживаемых задач см. документацию по [Сегментации](../tasks/segment.md), [Классификации](../tasks/classify.md) и [Позе](../tasks/pose.md).
|
||||
|
||||
!!! Example "Пример"
|
||||
|
||||
=== "Python"
|
||||
|
||||
Предварительно обученные модели PyTorch `*.pt`, а также файлы конфигурации `*.yaml` могут быть переданы классу `YOLO()` для создания экземпляра модели на 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('путь/к/изображению/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
|
||||
```
|
||||
|
||||
## Цитирование и благодарности
|
||||
|
||||
Если вы используете модель YOLOv8 или любое другое программное обеспечение из этого репозитория в своей работе, пожалуйста, процитируйте его в следующем формате:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@software{yolov8_ultralytics,
|
||||
author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
|
||||
title = {Ultralytics YOLOv8},
|
||||
version = {8.0.0},
|
||||
year = {2023},
|
||||
url = {https://github.com/ultralytics/ultralytics},
|
||||
orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
|
||||
license = {AGPL-3.0}
|
||||
}
|
||||
```
|
||||
|
||||
Обратите внимание, что идентификатор цифрового объекта (DOI) находится на стадии получения и будет добавлен в цитирование, как только он станет доступным. Модели YOLOv8 предоставляются под лицензией [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) и лицензией [Enterprise](https://ultralytics.com/license).
|
||||
Loading…
Add table
Add a link
Reference in a new issue