Экспорт аннотаций LabelMe в YOLO и Ultralytics Platform#
LabelMe — это автономный инструмент для разметки изображений с приложением Python с открытым исходным кодом. В Ultralytics Platform не нужно настраивать подключение к LabelMe в реальном времени или API-ключ. Вся интеграция выполняется локально: разметь данные в LabelMe, преобразуй аннотации LabelMe в формате JSON в формат YOLO с помощью LabelMe Toolkit и загрузи полученный ZIP-архив как датасет Platform.
1. Разметь изображения в LabelMe#
Установи LabelMe с помощью настольного приложения или пакета Python с открытым исходным кодом, затем открой каталог с изображениями. LabelMe сохраняет аннотации каждого изображения в соответствующем JSON-файле.
Для описанного в этом руководстве процесса обнаружения объектов в YOLO обведи каждый объект прямоугольником и назначь ему имя класса. В начальном руководстве по LabelMe описано, как открывать изображения, рисовать фигуры и сохранять аннотации, а в руководстве по датасетам LabelMe — как проверять и подготавливать полностью размеченный датасет.
В исходном каталоге должны находиться изображения и JSON-файлы LabelMe:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. Установи LabelMe Toolkit#
Установи LabelMe Toolkit, следуя руководству по установке Toolkit от LabelMe. Toolkit и его экспорт работают локально.
export-to-yolo входит в LabelMe Pro Toolkit, и для загрузки установщика нужно войти в LabelMe. Это требование продукта LabelMe; полученный ZIP-архив можно загрузить на любом тарифном плане Platform.
Проверь установку, затем выведи список всех меток в исходном датасете:
labelmetk --version
labelmetk list-labels your_dataset/Проверь вывод перед экспортом. Метки, не указанные в --class-names, будут пропущены, а заданный тобой порядок определит порядок ID классов YOLO.
3. Экспорт в формат YOLO#
Запусти export-to-yolo, указав исходный каталог и список имён классов через запятую:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalЗамени crack,normal метками, полученными с помощью list-labels. LabelMe сохранит результат в your_dataset.export/:
your_dataset.export/
├── classes.txt
├── images/
│ ├── image_001.jpg
│ └── image_002.jpg
└── labels/
├── image_001.txt
└── image_002.txtclasses.txt сохраняет имена классов в том же порядке, что и в файлах меток YOLO. Оставь этот файл в корне экспорта.
LabelMe Toolkit экспортирует прямоугольники как ограничивающие рамки YOLO. Он также преобразует полигоны и маски в ограничивающие рамки, выровненные по осям, поэтому export-to-yolo не сохраняет геометрию сегментации. При подготовке датасета для обнаружения объектов в рамках этого процесса используй прямоугольники.
4. Создай ZIP-архив#
Сожми содержимое your_dataset.export/, а не сам каталог. В macOS или Linux:
cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labelsВ Windows PowerShell:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipПеред загрузкой открой ZIP-архив и убедись, что classes.txt, images/ и labels/ находятся в его корне. Дополнительная вложенная папка your_dataset.export/ не позволит Platform найти список классов в корне.
5. Загрузи датасет в Ultralytics Platform#
- Открой Настройки > Интеграции > LabelMe.
- Нажми Загрузить экспорт.
- Загрузи
your_dataset.zipи заверши создание датасета. - Дождись завершения обработки, затем проверь изображения, классы и аннотации.
- Отредактируй аннотации, обучи модель и разверни её в той же рабочей области.

LabelMe и экспорт в YOLO выполняются полностью офлайн. В Platform отправляется только выбранный в диалоговом окне загрузки ZIP-файл.
Устранение неполадок#
- Классы называются
class0,class1и так далее: убедись, чтоclasses.txtнаходится в корне ZIP-архива. - Не хватает некоторых аннотаций: запусти
labelmetk list-labels your_dataset/ещё раз и включи все нужные метки в--class-names. - Полигоны превратились в рамки: это описанное поведение
export-to-yoloв LabelMe; инструмент преобразует фигуры, отличные от прямоугольников, в ограничивающие рамки. - В датасете нет изображений: убедись, что экспортированный каталог
images/включён в ZIP-архив. - Platform не может найти классы: убери из архива внешнюю папку, чтобы
classes.txt,images/иlabels/находились на верхнем уровне.
Полное описание локального процесса см. в руководстве LabelMe по обучению YOLO и справочнике по export-to-yolo.
Часто задаваемые вопросы#
Нет. LabelMe и экспорт выполняются локально, а в Platform отправляется только загруженный ZIP-архив. Команда
export-to-yoloвходит в LabelMe Pro Toolkit, который требуется для работы с LabelMe, но полученный ZIP-архив можно загрузить на любом тарифном плане Platform.Нет, в рамках этого процесса нельзя. LabelMe Toolkit преобразует полигоны и маски в ограничивающие рамки, выровненные по осям, поэтому в результате всегда получается датасет для обнаружения объектов. При подготовке данных для этого экспорта используй прямоугольники.
Platform считывает имена классов из
classes.txtв корне ZIP-архива. Сжимай содержимое папки экспорта, а не саму папку, чтобыclasses.txt,images/иlabels/находились на верхнем уровне.Только метки, переданные в
--class-names, в указанном тобой порядке. Сначала запустиlabelmetk list-labelsи включи все метки, которые нужно сохранить.