Etiquetado de Imágenes con Label Studio y Exportación a Yolo
Clase 15 de 16 • Curso de Visión Artificial con Python
Resumen
La detección de objetos en imágenes mediante inteligencia artificial es una tecnología fascinante que está transformando múltiples industrias. Detrás de estos sistemas hay un proceso fundamental: el etiquetado de datos. Este proceso, aunque laborioso, es esencial para entrenar modelos que puedan identificar objetos específicos en imágenes. Vamos a explorar cómo realizar este etiquetado manual utilizando herramientas profesionales y preparar nuestros datos para entrenar modelos de detección de objetos.
¿Cómo funciona el etiquetado manual de imágenes para modelos de IA?
El etiquetado manual es el proceso mediante el cual identificamos y marcamos objetos específicos en imágenes para que los modelos de inteligencia artificial aprendan a reconocerlos. Para realizar este proceso, utilizaremos Label Studio, una herramienta especializada que anteriormente se conocía como Labelimage.
Para comenzar, necesitamos instalar Label Studio mediante el siguiente comando:
pip install label-studio
Una vez instalado, podemos iniciar la aplicación con el comando:
label-studio
Este comando lanza un servidor local en el puerto 8080 (localhost:8080) que nos permite acceder a la interfaz de Label Studio. Una ventaja importante es que podemos levantar este proceso en una máquina virtual, permitiendo que todo nuestro equipo acceda a la misma URL para colaborar en el etiquetado.
¿Cómo crear un proyecto de etiquetado en Label Studio?
Para iniciar nuestro trabajo de etiquetado, debemos crear un nuevo proyecto:
- Hacer clic en "Crear" para iniciar un nuevo proyecto
- Definir un nombre para el proyecto (en nuestro ejemplo: "Platzi Demo")
- Añadir una descripción detallada (por ejemplo: "Detección de cascos y chalecos")
Después de configurar la información básica del proyecto, procedemos a importar nuestras imágenes. Label Studio soporta múltiples formatos de archivo, lo que lo hace muy versátil. Podemos arrastrar nuestras imágenes directamente o cargarlas mediante el botón correspondiente.
¿Cómo configurar las etiquetas para detección de objetos?
Una vez cargadas las imágenes, debemos configurar el tipo de etiquetado que realizaremos:
- En la sección "Labeling Setup", seleccionamos la opción para detección de objetos con bounding box (rectángulos)
- Elegimos la configuración manual
- Definimos nuestras etiquetas personalizadas:
- Eliminamos las etiquetas predeterminadas
- Añadimos "cascos" (con color verde intenso)
- Añadimos "chalecos" (con color rojo)
- Guardamos la configuración
¿Cómo realizar el proceso de etiquetado de imágenes?
El proceso de etiquetado consiste en marcar cada objeto relevante en nuestras imágenes:
- Seleccionamos una imagen sin etiquetar
- Elegimos la etiqueta correspondiente (por ejemplo, "cascos")
- Dibujamos un rectángulo alrededor del objeto en la imagen
- Si hay más objetos, repetimos el proceso con sus respectivas etiquetas
- Hacemos clic en "Submit" para guardar el etiquetado
Es importante destacar que la precisión del rectángulo que engloba el objeto influye directamente en la calidad del modelo resultante. Cuanto más preciso sea el etiquetado, mejor será el rendimiento del modelo de IA.
Este proceso debe repetirse para cada imagen del dataset. En entornos profesionales, cuando se trabaja con miles de imágenes, suele haber equipos dedicados exclusivamente al etiquetado o se contrata a empresas especializadas para realizar esta tarea.
¿Cómo exportar los datos etiquetados para entrenar modelos YOLO?
Una vez completado el etiquetado de todas las imágenes, podemos exportar los resultados:
- Vamos a la página principal del proyecto
- Hacemos clic en "Exportar"
- Seleccionamos el formato YOLO
- Elegimos si queremos exportar solo las etiquetas o también las imágenes
Label Studio nos permite exportar en formato compatible con YOLO v8, que también funciona correctamente con YOLO v11 y otras versiones.
¿Cómo preparar el dataset para entrenar un modelo de detección?
Después de exportar y descomprimir nuestro dataset etiquetado, obtenemos:
- Carpeta de imágenes
- Carpeta de etiquetas (labels)
- Archivo de clases (cascos, chalecos)
- Notas sobre YOLO
Para entrenar un modelo de detección, necesitamos dividir nuestro dataset en tres subconjuntos:
- Entrenamiento (train): 70% de las imágenes
- Prueba (test): 20% de las imágenes
- Validación (val): 10% de las imágenes
Podemos utilizar un script para realizar esta división automáticamente:
# Script para dividir el dataset en entrenamiento, test y validación
# Parámetros: directorio que contiene imágenes y etiquetas
# División: 70% entrenamiento, 20% test, 10% validación
Finalmente, necesitamos crear un archivo de configuración YAML que especifique las rutas de nuestros datos y las clases a detectar:
train: ruta/a/train/images
val: ruta/a/valid/images
test: ruta/a/test/images
nc: 2 # número de clases
names: ['cascos', 'chalecos'] # nombres de las clases
Con estos pasos, nuestro dataset queda completamente preparado para entrenar un modelo de detección de objetos utilizando YOLO u otras arquitecturas similares.
El etiquetado manual de imágenes es un proceso fundamental para crear modelos de IA personalizados que detecten objetos específicos. Aunque requiere tiempo y dedicación, los resultados pueden transformar la manera en que automatizamos tareas de reconocimiento visual. ¿Te animas a crear tu propio dataset etiquetado? Comparte tus experiencias y resultados en los comentarios.