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

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