Exporta anotaciones de LabelMe a YOLO y Ultralytics Platform#
LabelMe es una herramienta de anotación de imágenes que funciona sin conexión y cuenta 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 conjunto de datos a Platform.
1. Anota las imágenes en LabelMe#
Instala LabelMe con la aplicación de escritorio o el paquete Python de código abierto y, a continuación, abre el directorio que contiene las 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; 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 de Toolkit de LabelMe. Toolkit y sus exportaciones se ejecutan localmente.
export-to-yolo forma parte de LabelMe Pro Toolkit, y para descargar su instalador necesitas iniciar sesión en LabelMe. Este requisito corresponde a un producto de LabelMe; el ZIP resultante se puede subir con cualquier plan de Platform.
Verifica la instalación y, a continuación, enumera todas las etiquetas del conjunto de datos de origen:
labelmetk --version
labelmetk list-labels your_dataset/Revisa el resultado antes de exportarlo. Se omiten las etiquetas que no incluyas en --class-names, y el orden que indiques 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 que devuelve 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 que se usa en los archivos de etiquetas YOLO. Déjalo en la raíz de la exportación.
LabelMe Toolkit exporta los rectángulos como cuadros delimitadores YOLO. También reduce los polígonos y las máscaras a sus cuadros delimitadores alineados 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 la raíz. Si hay un directorio contenedor adicional your_dataset.export/, Platform no podrá encontrar la lista de clases en la raíz.
5. Sube el archivo a Ultralytics Platform#
- Abre Ajustes > Integraciones > LabelMe.
- Haz clic en Subir exportación.
- Sube
your_dataset.zipy termina de crear el conjunto de datos. - Espera a que termine el procesamiento y, a continuación, 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 se realizan 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,class1, etc.: confirma queclasses.txtesté en la raíz del ZIP. - Faltan algunas anotaciones: vuelve a ejecutar
labelmetk list-labels your_dataset/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 cuadros delimitadores. - 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 del archivo cualquier directorio contenedor para que
classes.txt,images/ylabels/sean las entradas del nivel superior.
Para consultar el flujo de trabajo local completo, revisa la guía de entrenamiento YOLO y la referencia de export-to-yolo de LabelMe.
Preguntas frecuentes#
No. LabelMe y la exportación se ejecutan localmente, y solo se envía a Platform el ZIP que subas. El comando
export-to-yoloforma parte de LabelMe Pro Toolkit, un requisito de LabelMe, pero puedes subir el ZIP resultante con 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 siempre es un conjunto de datos de detección. Dibuja rectángulos cuando prepares los datos para esta exportación.
Platform lee los nombres de clase de
classes.txten la raíz del ZIP. Comprime el contenido de la carpeta de exportación, no la carpeta en sí, para queclasses.txt,images/ylabels/sean las entradas del nivel superior.Solo las etiquetas que pases a
--class-names, en el orden en que las enumeres. Ejecuta primerolabelmetk list-labelse incluye todas las etiquetas que quieras conservar.