YOLO Vision 2026:

Экспорт аннотаций 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.json

2. Установи LabelMe Toolkit#

Установи LabelMe Toolkit, следуя руководству по установке toolkit от LabelMe. Toolkit и экспортируемые им файлы обрабатываются локально.

Для экспорта требуется LabelMe Pro

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.txt

classes.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#

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

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

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 и экспорт выполняются локально, и на Платформу отправляется только загружаемый ZIP-архив. Команда export-to-yolo является частью LabelMe Pro Toolkit, что требуется для LabelMe, но получившийся ZIP-архив можно загрузить на любом тарифном плане Платформы.

  • Нет в этом рабочем процессе. LabelMe Toolkit преобразует полигоны и маски в их выровненные по осям ограничивающие прямоугольники, поэтому результатом всегда является датасет для детектирования. Рисуй прямоугольники при подготовке данных для этого экспорта.

  • Платформа считывает имена классов из classes.txt в корне ZIP-архива. С архивируй содержимое папки экспорта, а не саму папку, чтобы classes.txt, images/ и labels/ были записями верхнего уровня.

  • Только метки, переданные в --class-names, в том порядке, в котором ты их перечислишь. Запусти labelmetk list-labels в первую очередь и включи каждую метку, которую хочешь сохранить.

Участники

Комментарии