Создание Dataset на Roboflow
Roboflow — это платформа для подготовки данных компьютерного зрения, которая позволяет собирать, размечать, предобрабатывать и экспортировать датасеты для обучения нейронных сетей. Для платформы Eurus-Edu мы будем создавать датасет для обнаружения различных объектов
Регистрация и создание организации
После регистрации на Roboflow необходимо создать организацию (Workspace)
Организация в Roboflow позволяет:
- Совместно работать над датасетами с командой
- Централизованно управлять проектами и моделями
- Контролировать доступ и роли участников
- Использовать общие ресурсы и квоты
- Вести общую историю изменений и версий
Рекомендуемый способ создания организации - через веб-интерфейс ресурса:
- Войдите в ваш аккаунт Roboflow
- В левом верхнем углу нажмите на текущее название workspace (по умолчанию ваше имя)
- Выберите "Create New Workspace"
Заполните форму:
Workspace Name: Eurus-EduWorkspace URL: eurus-edu (будет: roboflow.com/eurus-edu)Plan: Выберите FreeНажмите "Create Workspace"
Организация создана, теперь нужно добавить в неё участников:
- В боковом меню выберите "Members"
- Нажмите "Invite Members"
- Введите email участников
- Нажмите "Send Invites"
В Roboflow участникам можно задавать роли:
| Роль | Права |
|---|---|
| Admin | Полный доступ ко всем проектам и настройкам |
| Developer | Создание/редактирование проектов, обучение моделей, экспорт |
| Annotator | Загрузка изображений, разметка данных, создание версий |
| Viewer | Просмотр проектов, датасетов, моделей. Без права редактирования |
Cоздание проекта
После создания организации создаём новый проект во вкладке Projects. Заполняем параметры:
Project Name: eurus-edu (или ваше название)Project Type: Выберите Object Detection (обнаружение объекта)Annotation Group: название объектов, которые будем размечатьtool: traditional

Создание классов для разметки
В левой панели выбираем "Classes"
Класс в платформе Roboflow - это тип объектов, который система компьютерного зрения может распознавать и понимать.
В имени класса лучше задавать название определяемого объекта, цвет можно выбрать любой
Для проекта задаём три класса:
target- для обозначения всех мишенейred_target- красная мишеньblue_target- синяя мишень

Загрузка видео для разметки
Видео для извлечения кадров с объектом записываем при помощи кода на Python. Определяемый объект рекомендуется снимать с разных ракурсов и при разном освещении
Код для записи видео:
Загружаем видео в блок Unassigned во вкладке Annotation
Рекомендуемая частота кадров - по 1 кадру каждые 0.2 секунды

Сбор кадров
На этом этапе удаляем неудачные кадры (сильно размытые или те, на которых объект не попал в кадр) и только после этого начинаем разметку dataset вручную (Label Myself)

Разметка dataset
На каждом кадре выделяем объект рамкой заранее подготовленного класса
target - обязательный класс для обозначения всех мишеней
red_target - только красные мишени
blue_target - только синие мишени

После разметки кадра обозначены 2 объекта target и по одному объекту blue_target и red_target

На этом кадре не видно какого цвета вторая мишень, поэтому обозначаем её одним классом target
После разметки всех кадров нажимаем на галочку и добавляем кадры в общий датасет. Метод сохранения выбираем Split images Between Train/Valid/Test

После разметки всех кадров необходимо создать версию датасета для дальнейшего обучения нейросети. Для этого переходим во вкладку "Dataset" - "+ New Dataset Version"

В отрывшемся окне задаём имя версии, на этапе "Processing" нажимаем continue.

На этапе "Augmentation" генерируем дополнительные версии каждого изображения из нашего набора. Для этого нажимаем "+ Add Augmentation Step" и в открывшемся окне выбираем подходящие дополнения. Рекомендуемые дополнения - "Rotation" c вращением 15 градусов и "Brightness" с изменением освещения камеры на 15%

После нажатия "Create" на 5 этапе будет создана версия датасета, которую нужно скачать, нажав на "Downland dataset"
