Ultralytics YOLO27:

Интеграция с CVAT#

Прямой импорт из CVAT появится в Ultralytics Platform: экспорт изображений из CVAT для обнаружения объектов или сегментации можно будет загружать как есть, не выбирая формат.

А пока можно воспользоваться простым способом, который уже работает: CVAT экспортирует данные в формате Ultralytics YOLO, который читает Platform.

Импорт из CVAT уже сегодня#

  1. Экспортируй данные из CVAT. Открой задачу и выбери Действия > Экспортировать датасет задачи (в задании выбери Меню > Экспортировать датасет задания).
  2. Выбери формат. Выбери вариант Ultralytics YOLO, соответствующий твоей задаче: CVAT предлагает отдельно Ultralytics YOLO Detection 1.0, Ultralytics YOLO Detection Track 1.0, Ultralytics YOLO Segmentation 1.0, Ultralytics YOLO Oriented Bounding Boxes 1.0, Ultralytics YOLO Pose 1.0 и Ultralytics YOLO Classification 1.0.
  3. Включи параметр Save images, задай имя для .zip и нажми OK. В CVAT Online сохранение изображений — платная функция. Если она недоступна, в архив попадут только метки, поэтому перед загрузкой добавь изображения в папку images/, повторяющую структуру labels/.
  4. Скачай архив. Экспорт выполняется в фоновом режиме — после завершения скачай его на странице Requests в CVAT.
  5. Загрузи данные в Platform. Создай новый датасет из ZIP-архива.
  6. Обучи модель. Отредактируй аннотации, обучи модель и разверни её, не покидая рабочего пространства.

Импорт датасета CVAT в Ultralytics Platform

Экспорт с помощью CLI#

CLI CVAT позволяет экспортировать тот же архив из терминала:

pip install cvat-cli
cvat-cli project export-dataset --format "Ultralytics YOLO Detection 1.0" --with-images yes 104 dataset.zip

Замени 104 идентификатором своего проекта, а строку формата — вариантом, подходящим для твоей задачи. --with-images yes — аналог переключателя Save images в CLI. Если его не включить, в архив попадут только метки, поэтому перед загрузкой добавь папку images/, повторяющую структуру labels/.

Экспорт CVAT в формате Ultralytics YOLO имеет ожидаемую Platform структуру, поэтому преобразовывать данные не нужно:

archive.zip/
├── data.yaml          # class names Platform reads
├── images/train/
└── labels/train/

Что входит в каждый вариант экспорта#

Каждый формат Ultralytics YOLO записывает только те фигуры CVAT, которые поддерживает задача, поэтому выбери вариант в соответствии с типом разметки:

  • Обнаружение объектов сохраняет прямоугольники, но пропускает повёрнутые — для них выбери экспорт Oriented Bounding Boxes
  • Трекинг объектов сохраняет прямоугольники и идентификатор трека. Platform импортирует прямоугольники, но игнорирует идентификатор трека
  • Сегментация сохраняет полигоны и маски, преобразуя маски в полигоны, но отбрасывает прямоугольники
  • Поза сохраняет только скелеты; отдельные точки не экспортируются
  • Классификация сохраняет метки, а изображения без метки попадают в класс no_label

Ни один из этих вариантов не записывает ломаные линии.

Выбор формата экспорта#

CVAT предлагает множество форматов экспорта. Здесь важны следующие:

Формат CVATПоддержкаПримечания
Ultralytics YOLOЛучший вариантСодержит data.yaml, поэтому названия меток сохраняются без изменений
COCO 1.0ДаТакже читается; если экспорт содержит полигоны и рамки, он импортируется как сегментация, а объекты только с рамками отбрасываются
COCO Keypoints 1.0ДаИмпортируется как датасет позы; количество ключевых точек берётся из самой распространённой фигуры
YOLO 1.1Частичная поддержкаРамки импортируются, но файл obj.names не читается: классы поступают как class0, class1, …
CVAT for imagesНетАннотации XML пока не читаются; то же относится к CVAT for video

Для чтения каждой аннотации COCO в ней должно быть поле bbox, а области скопления объектов ("iscrowd": 1) пропускаются. CVAT сохраняет маски в COCO как области скопления объектов, поэтому экспортируй маски с помощью Ultralytics YOLO Segmentation. Названия категорий становятся названиями классов, а идентификаторы категорий унифицируются во всех файлах JSON архива, поэтому при экспорте отдельных разбиений идентификаторы классов остаются согласованными. Если объект хранится в виде нескольких полигонов, они объединяются в один.

Импорт CVAT XML и Pascal VOC без аннотаций

Platform пока не читает метки CVAT for images, CVAT for video или Pascal VOC XML. Ошибка при импорте этих форматов происходит незаметно: изображения импортируются, а аннотации — нет. Кроме того, при экспорте пяти или более изображений появляются классы с названиями папок изображений. Вместо этого выбери Ultralytics YOLO или COCO.

Что добавит интеграция#

Интеграция избавит от необходимости выбирать правильный формат экспорта. После её запуска ты сможешь экспортировать любой формат CVAT для обнаружения объектов на изображениях или сегментации, загружать его, а Platform сама сопоставит аннотации с подходящей задачей YOLO.

  • Не нужно выбирать формат — экспорты CVAT для обнаружения объектов на изображениях и сегментации преобразуются в датасет YOLO с сохранением названий меток
  • Единое рабочее пространство — разметка, обучение и развёртывание больше не будут требовать разных инструментов и скрипта преобразования
  • Продолжай разметку — импортированные датасеты открываются в редакторе аннотаций Platform, включая интеллектуальную разметку на базе SAM
  • Сразу приступай к обучению — датасеты готовы к обучению в облаке, как только завершится их обработка
Уже доступно

Интеграции с Labelbox и Roboflow уже работают, а Platform напрямую импортирует YOLO, COCO, JSON LabelMe, а также датасеты Ultralytics и Labelbox в формате NDJSON.

Часто задаваемые вопросы#

  • Выбери пункт Ultralytics YOLO, соответствующий твоей задаче, и включи Save images. В экспорт входят data.yaml, поэтому названия классов сохраняются. Также можно импортировать COCO 1.0 и COCO Keypoints 1.0, а YOLO 1.1 теряет названия классов; CVAT XML и Pascal VOC импортируются без аннотаций.

  • Переключатель Save images был выключен либо экспорт через CLI запускался без --with-images yes. В архиве остаются только метки. Выполни экспорт повторно, включив изображения, или, если у тебя тариф CVAT Online без Save images, добавь в ZIP папку images/ с такой же структурой, как у labels/.

  • Да. Используй Ultralytics YOLO Segmentation 1.0 или Ultralytics YOLO Pose 1.0 либо варианты COCO. Для масок нужен экспорт Ultralytics YOLO Segmentation, который преобразует их в полигоны, а для позы — скелеты CVAT. Экспорт COCO, в котором смешаны полигоны и рамки, импортируется как набор данных для сегментации, а аннотации только с рамками отбрасываются.

  • Ты сможешь загружать как есть любой экспорт CVAT для обнаружения объектов или сегментации изображений, а Platform самостоятельно сопоставит его с подходящей задачей YOLO. Наборы данных, которые ты импортируешь сейчас с помощью экспорта Ultralytics YOLO, продолжат работать без изменений.

Комментарии