Обучаем с YOLOv8 на пользовательских данных? YOLOv8 инструкция по работе

YOLOv8🔥был выпущен компанией Ultralytics вчера (10 января 2023 г.).

YOLOv8 это новые достижения в области компьютерного зрения, которые привели к огромному прорыву в том, как мы воспринимаем, анализируем и понимаем окружающий мир. YOLOv8 позволит открыть беспрецедентные возможности в различных областях.

@data_analysis_ml – анализ данных.

Значительные улучшения были сделаны с точки зрения скорости, точности и архитектуры. Его архитектура сделана с нуля, и из YOLOv5 не использовались никакие основные модули. YOLOv8 быстрее по скорости и точнее, чем его предыдущая версия (YOLOv7), и достигает нового максимума с точки зрения средней точности (MAP) с результатом 53,7.

Обучаем с YOLOv8 на пользовательских данных? YOLOv8 инструкция по работе

В этой статье мы сосредоточимся на шагах, необходимых для обучения YOLOv8 на пользовательских данных. Вы можете выполнить указанные ниже шаги, чтобы обучить YOLOv8 на своих собственных данных. Все упомянутые шаги были протестированы должным образом и отлично работают в операционных системах Windows и Linux.

Нас ждет:

– Установка модулей
– Обнаружение предварительно обученных объектов
– Обучим YOLOv8 на пользовательских данных
– Вывод с пользовательскими весами

Установка YOLOv8

YOLOv8 выпустил пакет под названием «ultralytics», который вы можете установить с помощью указанной ниже команды.

pip install ultralytics==8.0.0

или

# последняя версия
pip install ultralytics  

Приведенная выше команда установит все пакеты, необходимые для использования YOLOv8 для обнаружения и обучения на ваших собственных данных.

Примечание. Убедитесь, что в вашей системе установлен Python 3.7.0 или новее.

Обнаружение предварительно обученных объектов

Что вы почувствуете, если вам нужно будет запустить одну команду, которая может эффективно обнаруживать объекты и предоставлять вам результаты с высокой точностью и высокой скоростью.

Вы можете запустить указанную ниже команду в терминале/(командной строке), чтобы выполнить обнаружение с предварительно обученными весами на выбранном видео/изображении с помощью YOLOv8.

#для картинок
yolo task=detect mode=predict model=yolov8n.pt source="test.png"


#для видео
yolo task=detect mode=predict model=yolov8n.pt source="test.mp4"

Вы получите результаты в текущем каталоге внутри папки «runs/detect/exp», если все сработает правильно.

Обучаем с YOLOv8 на пользовательских данных? YOLOv8 инструкция по работе

Обучите YOLOv8 на своих данных

Шаги по обучению модели обнаружения объектов YOLOv8 на пользовательских данных можно резюмировать следующим образом:

– Собрать данные информацию
– Разметить данные
– Разделить данные (train, test и val)
– Создание конфигурационных файлов
– Начало обучения
Шаг 1: Сбор данных

Создайте набор данных для индивидуального обучения YOLOv8. если у вас нет данных, вы можете использовать набор данных из базы данных openimages или 👇

⭐ Создайте свои данные, прочитав статью «Извлечение кадров из видео»

YOLOv8 берет данные в текстовом (.txt) файле и имеет следующий формат:

<object-class-id> <x> <y> <width> <height>

Шаг 2: Разметка данных

Вы можете использовать инструмент labelImg или платформу roboflow для маркировки данных в зависимости от ваших потребностей. Если вы хотите понять рабочий процесс labelImg, тогда почитайте статью https://medium.com/nerd-for-tech/labeling-data-for-object-detection-yolo-5a4fa4f05844

Обучаем с YOLOv8 на пользовательских данных? YOLOv8 инструкция по работе

Шаг 3: Разделение данные (обучение, тестирование и оценка)

Если вы хотите обучить модель компьютерного зрения на пользовательских данных, важно разделить ваши данные на обучающий набор и тестовый набор. Обучающий набор используется для обучения модели тому, как делать прогнозы, а тестовый набор используется для оценки точности модели. Процент разделения (80–20%) является общепринятым, но точное соотношение может зависеть от размера вашего набора данных и конкретной задачи, над которой вы работаете. Например, если у вас небольшой набор данных, вы можете захотеть использовать более высокий процент для обучения, а если у вас большой набор данных, вы можете позволить себе использовать меньший процент для обучения.

👉 Для разделения данных вы можете взглянуть на разделенные папки, которые случайным образом разделят ваши данные на обучение, тест и проверку.

Структура папки:

├── yolov8
 ## └── train
 ####└── images (folder including all training images)
 ####└── labels (folder including all training labels)
 ## └── test
 ####└── images (folder including all testing images)
 ####└── labels (folder including all testing labels)
 ## └── valid
 ####└── images (folder including all testing images)
 ####└── labels (folder including all testing labels)

Шаг 4: Создание файлов конфигурации

Создание пользовательского файла конфигурации может быть полезным способом организации и хранения всех важных параметров модели .

Создайте файл с именем «custom. yaml» внутри текущего каталога, в котором вы открыли терминал/(командную строку). Вставьте приведенный ниже код в этот файл. установите правильный путь к папке набора данных, измените классы и их имена, затем сохраните его.

path:  (dataset directory path)
train: (Complete path to dataset train folder)
test: (Complete path to dataset test folder) 
valid: (Complete path to dataset valid folder)

#Classes
nc: 5# replace according to your number of classes

#classes names
#replace all class names list with your classes names
names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane']

Примечание. Обязательно укажите правильный путь к каталогам обучения и тестирования, потому что процесс обучения будет полностью зависеть от этого файла.

Шаг 5: Начало обучение

После того, как вы выполнили шаги предварительной обработки, такие как сбор данных, маркировка данных, разделение данных и создание пользовательского файла конфигурации, вы можете начать обучение YOLOv8 на пользовательских данных, используя указанную ниже команду в терминале / (командная строка).

yolo task=detect mode=train model=yolov8n.pt data=custom.yaml epochs=3 imgsz=640

task = detect (другие параметры – segment, classify)

mode = train (другие параметры – predict, val)

model = yolov8n.pt (другие параметры – yolov8s/yolov8l/yolov8x)

epochs = 3 (любое число эпох)

imgsz = 640 (размер)

Обучаем с YOLOv8 на пользовательских данных? YOLOv8 инструкция по работе

👉Дождитесь завершения обучения, а затем сделайте вывод с вновь созданными весами. Пользовательские веса будут сохранены в пути к папке, указанном ниже.

[runs/train/exp/weights/best.pt]

Вывод с пользовательскими весами

После обучения модели вы можете использовать ее для прогнозирования новых данных. Используйте указанную ниже команду для обнаружения с вашими новыми весами.

yolo task=detect mode=predict model="runs/train/exp/weights/best.pt" source="test.png"

или

yolo task=detect mode=predict model="runs/train/exp/weights/best.pt" source="test.mp4" 

результаты с пользовательскими весами показаны ниже.

Обучаем с YOLOv8 на пользовательских данных? YOLOv8 инструкция по работе

Это все, что касается начала работы с YOLOv8 .Теперь вы можете потестить модель на своих собственных данных.

+1
0
+1
4
+1
0
+1
0
+1
1

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *