Импорт аннотаций 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.json2. Создай 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#
- Открой Настройки > Интеграции > LabelMe.
- Нажми Загрузить экспорт.
- Загрузи
your_dataset.zipи заверши создание датасета. - Дождись завершения обработки, затем проверь изображения, классы и аннотации.
- Отредактируй аннотации, обучи модель и разверни её в одном рабочем пространстве.

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 читает файл, расположенный ближе всего к корню), чтобы сохранить названия классов.