Exportar anotaciones de LabelMe a YOLO y a Ultralytics Platform#
LabelMe es una herramienta de anotación de imágenes sin conexión con una aplicación Python de código abierto. No hay ninguna conexión activa de LabelMe ni ninguna clave de API que configurar en Ultralytics Platform. La integración completa es un flujo de trabajo local: anota en LabelMe, convierte las anotaciones JSON de LabelMe al formato YOLO con LabelMe Toolkit y sube el ZIP resultante como un conjunto de datos de Platform.
1. Anota las imágenes en LabelMe#
Instala LabelMe mediante la aplicación de escritorio o el paquete Python de código abierto y, después, abre el directorio que contiene tus imágenes. LabelMe guarda las anotaciones de cada imagen en un archivo JSON correspondiente.
Para el flujo de trabajo de detección YOLO de esta guía, dibuja rectángulos alrededor de cada objeto y asigna un nombre de clase. La guía de inicio de LabelMe explica cómo abrir imágenes, dibujar formas y guardar anotaciones, mientras que la guía de conjuntos de datos de LabelMe explica cómo revisar y preparar un conjunto de datos anotado completo.
El directorio de origen debe contener las imágenes y los archivos JSON de LabelMe:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. Instala LabelMe Toolkit#
Instala LabelMe Toolkit siguiendo la guía de instalación del toolkit de LabelMe. El toolkit y sus exportaciones se ejecutan localmente.
export-to-yolo forma parte de LabelMe Pro Toolkit y para descargar su instalador debes iniciar sesión en LabelMe.
Este es un requisito del producto LabelMe; el ZIP resultante se puede subir con cualquier plan de Platform.
Verifica la instalación y, después, enumera todas las etiquetas encontradas en el conjunto de datos de origen:
labelmetk --version
labelmetk list-labels your_dataset/Revisa el resultado antes de exportarlo. Las etiquetas omitidas de --class-names se omiten, y el orden que proporciones se convierte
en el orden de los ID de clase de YOLO.
3. Exporta al formato YOLO#
Ejecuta export-to-yolo con el directorio de origen y una lista de
nombres de clase separados por comas:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalSustituye crack,normal por las etiquetas devueltas por list-labels. LabelMe escribe el resultado en
your_dataset.export/:
your_dataset.export/
├── classes.txt
├── images/
│ ├── image_001.jpg
│ └── image_002.jpg
└── labels/
├── image_001.txt
└── image_002.txtclasses.txt conserva los nombres de clase en el mismo orden utilizado por los archivos de etiquetas YOLO. Déjalo en la raíz de la
exportación.
LabelMe Toolkit exporta los rectángulos como BBox de YOLO. También reduce los polígonos y las máscaras a sus
BBox alineadas con los ejes, por lo que export-to-yolo no conserva la geometría de segmentación. Dibuja rectángulos cuando
prepares un conjunto de datos de detección con este flujo de trabajo.
4. Crea el archivo ZIP#
Comprime el contenido de your_dataset.export/, no el directorio que lo contiene. En macOS o Linux:
cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labelsEn Windows PowerShell:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipAbre el ZIP antes de subirlo y confirma que classes.txt, images/ y labels/ están en su raíz. Un
your_dataset.export/ adicional como directorio contenedor impide que Platform encuentre la lista de clases raíz.
5. Sube el archivo a Ultralytics Platform#
- Abre Settings > Integrations > LabelMe.
- Haz clic en Upload export.
- Sube
your_dataset.zipy termina de crear el conjunto de datos. - Espera a que finalice el procesamiento y, después, revisa las imágenes, las clases y las anotaciones.
- Edita las anotaciones, entrena un modelo y despliégalo desde el mismo espacio de trabajo.

LabelMe y la exportación a YOLO funcionan completamente sin conexión. Solo se envía a Platform el archivo ZIP que selecciones en el cuadro de diálogo de carga.
Solución de problemas#
- Las clases se llaman
class0,class1y sucesivamente: confirma queclasses.txtestá presente en la raíz del ZIP. - Faltan algunas anotaciones: ejecuta
labelmetk list-labels your_dataset/de nuevo e incluye todas las etiquetas necesarias en--class-names. - Los polígonos se han convertido en cuadros: este es el comportamiento documentado de
export-to-yolode LabelMe; convierte las formas que no son rectángulos en BBox. - El conjunto de datos no tiene imágenes: confirma que el directorio exportado
images/está incluido en el ZIP. - Platform no encuentra las clases: elimina cualquier directorio exterior del archivo para que
classes.txt,images/ylabels/sean las entradas del nivel superior.
Para consultar el flujo de trabajo local completo, consulta la
guía de entrenamiento de YOLO de LabelMe y la
referencia de export-to-yolo.
Preguntas frecuentes#
No. LabelMe y la exportación se ejecutan localmente, y solo el archivo ZIP que subes se envía a Platform. El comando
export-to-yoloforma parte de LabelMe Pro Toolkit, que es un requisito de LabelMe, pero el archivo ZIP resultante se sube en cualquier plan de Platform.No con este flujo de trabajo. LabelMe Toolkit reduce los polígonos y las máscaras a sus cuadros delimitadores alineados con los ejes, por lo que el resultado es siempre un conjunto de datos de detección. Dibuja rectángulos al preparar los datos para esta exportación.
Platform lee los nombres de las clases desde
classes.txten la raíz del archivo ZIP. Comprime el contenido de la carpeta de exportación, no la carpeta en sí, para queclasses.txt,images/ylabels/sean las entradas de nivel superior.Solo las etiquetas pasadas a
--class-names, en el orden en que las enumeras. Ejecutalabelmetk list-labelsprimero e incluye cada etiqueta que quieras conservar.