Link to this sectionЭкспорт аннотаций LabelMe в YOLO и Ultralytics Platform#
LabelMe — это офлайн-инструмент для разметки изображений с приложением Python с открытым исходным кодом. В Ultralytics Platform нет активного подключения к LabelMe или ключа API для настройки. Вся интеграция представляет собой локальный рабочий процесс: создай аннотации в LabelMe, преобразуй JSON-аннотации LabelMe в формат YOLO с помощью LabelMe Toolkit и загрузи полученный ZIP-архив в качестве датасета на платформу.
Link to this section1. Разметь изображения в LabelMe#
Установи LabelMe с помощью десктопного приложения или пакета Python с открытым исходным кодом, а затем откройте каталог с твоими изображениями. LabelMe сохраняет аннотации каждого изображения в соответствующем JSON-файле.
Для рабочего процесса обнаружения YOLO в этом руководстве нарисуй прямоугольники вокруг каждого объекта и назначь имя класса. Руководство для начинающих по LabelMe охватывает открытие изображений, рисование фигур и сохранение аннотаций, в то время как руководство по датасетам LabelMe охватывает проверку и подготовку полного размеченного датасета.
Твой исходный каталог должен содержать изображения и JSON-файлы LabelMe:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.jsonLink to this section2. Установи LabelMe Toolkit#
Установи LabelMe Toolkit, следуя руководству по установке тулкита LabelMe. Тулкит и его экспорт выполняются локально.
export-to-yolo является частью LabelMe Pro Toolkit, и для загрузки его установщика требуется вход в учетную запись LabelMe. Это требование продукта LabelMe; полученный ZIP-архив можно загрузить на любом тарифном плане Platform.
Проверь установку, а затем выведи список всех меток, найденных в исходном датасете:
labelmetk --version
labelmetk list-labels your_dataset/Просмотри вывод перед экспортом. Метки, опущенные из --class-names, пропускаются, а указанный тобой порядок становится порядком ID классов YOLO.
Link to this section3. Экспорт в формат 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 не сохраняет геометрию сегментации. Рисуй прямоугольники при подготовке датасета для обнаружения с помощью этого рабочего процесса.
Link to this section4. Создай 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 найти список классов корневого уровня.
Link to this section5. Загрузи в Ultralytics Platform#
- Открой Settings > Integrations > LabelMe.
- Нажми Upload export.
- Загрузи
your_dataset.zipи заверши создание датасета. - Дождись завершения обработки, а затем просмотри изображения, классы и аннотации.
- Отредактируй аннотации, обучи модель и разверни её из того же рабочего пространства.
LabelMe и экспорт YOLO остаются полностью офлайн. На Platform отправляется только тот ZIP-файл, который ты выберешь в диалоговом окне загрузки.
Link to this sectionУстранение неполадок#
- Классы названы
class0,class1и так далее: убедись, чтоclasses.txtприсутствует в корне ZIP-архива. - Некоторые аннотации отсутствуют: запусти
labelmetk list-labels your_dataset/еще раз и включи каждую необходимую метку в--class-names. - Полигоны превратились в рамки: это документированное поведение
export-to-yoloот LabelMe; оно преобразует фигуры, не являющиеся прямоугольниками, в ограничивающие рамки. - В датасете нет изображений: убедись, что экспортированный каталог
images/включен в ZIP-архив. - Platform не может найти классы: удали любые внешние каталоги из архива, чтобы
classes.txt,images/иlabels/были элементами верхнего уровня.
Для полного локального рабочего процесса см. руководство по обучению YOLO и справочник export-to-yolo от LabelMe.