# Создание новой модели YOLOv8

## Создание и подготовка датасета в Roboflow

1. **Загрузка изображений**: Сначала загрузите ваш архив с подготовленными фотографиями на платформу Roboflow.
2. **Создание нового проекта**: Перейдите на Roboflow и создайте новый проект, выбрав тип 'Object Detection'.
3. **Добавление изображений в проект**: Загрузите ваши изображения в созданный проект.

<figure><img src="/files/KdaE4EA0vE5pZ9Nfl4Vw" alt=""><figcaption></figcaption></figure>

**Аннотация изображений**: Определите классы и обозначьте объекты на изображениях, используя инструменты аннотации (например, Polygon). Сохраните аннотации.

<figure><img src="/files/GPDBX8Sxa42IgZyXP5vZ" alt=""><figcaption></figcaption></figure>

**Настройка параметров датасета**: Не изменяя предложенные параметры, перейдите к следующему шагу.

<figure><img src="/files/N5VDqlsFTtXoYVNWB9Ov" alt=""><figcaption></figcaption></figure>

**Генерация датасета**: Выберите необходимые фильтры и параметры для генерации датасета. Экспортируйте его в формате YOLOv8.

<figure><img src="/files/tTXNiazX2vAre3VT3d8f" alt=""><figcaption></figcaption></figure>

## Обучение модели YOLOv8 с помощью Ultralytics Hub

**Загрузка датасета**: После генерации датасета в Roboflow, загрузите полученный файл в формате .zip на платформу [Ultralytics Hub](https://hub.ultralytics.com/home).

<figure><img src="/files/S5hqG9xUt3t7KaWOzmoS" alt=""><figcaption></figcaption></figure>

**Настройка проекта**: Создайте новый проект в Ultralytics Hub, присвоив ему имя и выбрав тип модели YOLOv8.

<figure><img src="/files/qMlBJn0fWDYpC3cdowZQ" alt=""><figcaption></figcaption></figure>

**Запуск обучения**: Используйте возможности Ultralytics Hub для запуска тренировки вашей модели на основе загруженного датасета. Выберите необходимые параметры и начните процесс обучения.

<figure><img src="/files/6uE6tldzLxr3WtmMQN1x" alt=""><figcaption></figcaption></figure>

## Экспорт и использование обученной модели

<figure><img src="/files/ymuPIrh2iA4jYLUzSI53" alt=""><figcaption></figcaption></figure>

**Скачивание модели**: По завершении тренировки скачайте обученную модель.

**Установка необходимых библиотек**: Установите библиотеку `ultralytics` с помощью команды `pip install ultralytics` для работы с моделью на вашем ПК.

**Интеграция и использование модели**: Используйте обученную модель для распознавания объектов в новых изображениях или видео.&#x20;

```
from ultralytics import YOLO

# Загрузить модель
model = YOLO('yolov8n.pt')  # предобученная модель YOLOv8n, указать название вашей модели

# Выполнить пакетное распознавание для списка изображений
results = model(['im1.jpg', 'im2.jpg'])  # возвращает список объектов Results

# Обработка списка результатов
for result in results:
    boxes = result.boxes  # объект Boxes для вывода ограничивающих рамок
    masks = result.masks  # объект Masks для вывода масок сегментации
    keypoints = result.keypoints  # объект Keypoints для вывода ключевых точек
    probs = result.probs  # объект Probs для вывода результатов классификации
    obb = result.obb  # объект Oriented boxes для вывода ориентированных рамок
    result.show()  # показать на экране
    result.save(filename='result.jpg')  # сохранить на диск изображение с результатом обработки

```

Больше примеров кода и более подробную информацию можно найти в [документации Ultralytics](https://docs.ultralytics.com/quickstart/#install-ultralytics).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dh-organization.gitbook.io/droneshub-rover-kontakt/iskusstvennyi-intellekt/neironnaya-set-i-mashinnoe-zrenie./sozdanie-novoi-modeli-yolov8.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
