Ultralytics YOLO27: Запишись в список ожидания.

Импорт аннотаций LabelMe в Ultralytics Platform#

LabelMe — автономный инструмент для разметки изображений с приложением Python с открытым исходным кодом. Для Ultralytics Platform не нужно настраивать подключение к LabelMe или API-ключ, и преобразовывать файлы тоже не нужно: Platform читает файлы JSON LabelMe напрямую. Размечай данные в LabelMe, упакуй папку в ZIP и загрузи её как датасет Platform.

1. Разметь изображения в LabelMe#

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

Для датасета обнаружения рисуй прямоугольники, а для датасета сегментации — полигоны. LabelMe сохраняет аннотации каждого изображения в отдельный файл JSON рядом с ним:

your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json

2. Создай ZIP-архив#

Сожми папку с изображениями и файлами JSON. В macOS или Linux:

zip -r your_dataset.zip your_dataset

В Windows PowerShell:

Compress-Archive -Path .\your_dataset -DestinationPath .\your_dataset.zip

Подойдут внешняя папка, вложенные папки, а также отдельные папки с изображениями и аннотациями, если imagePath каждого JSON-файла указывает на изображение внутри ZIP-архива. Platform читает файл изображения, а не его копию, которую LabelMe может встроить в JSON как imageData, поэтому не удаляй изображения из архива. Изображения в папках, названия которых начинаются с train, val или test, сохраняют соответствующее разбиение. Файлы JSON LabelMe читаются, только если в архиве нет файла data.yaml или файла COCO JSON, поэтому не добавляй их в ZIP-архив LabelMe.

3. Загрузи данные в Ultralytics Platform#

  1. Открой Настройки > Интеграции > LabelMe.
  2. Нажми Загрузить экспорт.
  3. Загрузи your_dataset.zip и заверши создание датасета.
  4. Дождись завершения обработки, затем проверь изображения, классы и аннотации.
  5. Отредактируй аннотации, обучи модель и разверни её в одном рабочем пространстве.

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

LabelMe работает полностью автономно. В Platform отправляется только выбранный в диалоговом окне загрузки ZIP-файл.

Как импортируются фигуры LabelMe#

Фигура LabelMeИмпортируется как
rectangleОграничивающая рамка или полигон из 4 точек в датасете сегментации
polygonПолигон
oriented_rectangleПолигон из 4 точек
circleПолигон из 32 точек
maskПолигон по внешнему контуру маски, отверстия заполнены
line, linestrip, point, pointsПропускается, так как эти фигуры не имеют площади, пригодной для обучения
  • Задача: датасет, размеченный только прямоугольниками, импортируется как датасет обнаружения объектов. Любой полигон, ориентированный прямоугольник, круг или маска превращают его в датасет сегментации, а прямоугольники в нём становятся полигонами из 4 точек, чтобы не потерять ни одной аннотации.
  • Классы: названия меток LabelMe становятся названиями классов и сортируются по алфавиту. При импорте в существующий датасет метки сопоставляются с классами по названию, остальные добавляются.
  • Сгруппированные фигуры: фигуры с одинаковой меткой и идентификатором группы считаются одним объектом. Их части объединяются в один полигон или одну рамку в датасете обнаружения объектов.
  • Пропускаются: фигуры без метки, фигуры с меткой __ignore__ и флаги уровня изображения не импортируются. Фигуры, выходящие за границы изображения, обрезаются по его краю.

Устранение неполадок#

  • Изображения импортированы без аннотаций: проверь, что файлы JSON находятся в ZIP-архиве, а imagePath каждого файла указывает на изображение в архиве. Platform также сопоставляет данные по имени файла, поэтому даже устаревший абсолютный путь сработает, если имя файла изображения не изменилось.
  • Полигоны превратились в рамки из 4 точек: в датасетах сегментации прямоугольники преобразуются в полигоны из 4 точек. Для объектов, которым нужен точный контур, рисуй полигоны.
  • Линии или точки отсутствуют: у этих фигур нет площади, поэтому они не подходят для обнаружения объектов или сегментации и пропускаются.
  • В датасете нет изображений: LabelMe может встраивать изображения в файлы JSON, но Platform читает сами файлы изображений. Добавь изображения в ZIP-архив.

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

  • Нет. LabelMe работает локально, Platform напрямую читает файлы JSON, а в Platform отправляется только загруженный тобой ZIP-архив. Подписка LabelMe Pro или экспорт Toolkit не нужны.

  • Да. Полигоны, ориентированные прямоугольники, круги и маски импортируются как полигоны сегментации, а датасет становится датасетом сегментации.

  • Названия классов берутся из меток LabelMe и сортируются по алфавиту, поэтому одним и тем же меткам всегда соответствуют одинаковые идентификаторы классов. При добавлении данных в существующий датасет метки сопоставляются с его классами по названию.

  • Да. Экспорт labelmetk export-to-yolo загружается как обычный датасет YOLO. Оставь classes.txt экспорта в ZIP-архиве (Platform читает файл, расположенный ближе всего к корню), чтобы сохранить названия классов.

Комментарии