Cheque verde
Enlace copiado en el portapapeles

Explorando el Etiquetado de Datos para Proyectos de Visión por Ordenador

Lee nuestra exhaustiva inmersión profunda en el etiquetado de datos con respecto a los proyectos de visión por ordenador y aprende cómo etiquetar datos visuales y por qué es tan importante.

La inteligencia artificial (IA) se centra en dotar a las máquinas de capacidades similares a las humanas, y una de las formas más populares de hacerlo es mediante el aprendizaje supervisado. En otras palabras, enseñar a los modelos de IA mostrándoles ejemplos etiquetados puede ayudarles a aprender de los patrones y a mejorar en las tareas. Es muy parecido a cómo los humanos aprenden de la experiencia. Entonces, ¿cómo se crean estos ejemplos etiquetados?

La anotación de datos consiste en etiquetar los datos para ayudar a los algoritmos de aprendizaje automático a entenderlos. En visión por ordenador, esto significa marcar imágenes o vídeos para reconocer y categorizar con precisión objetos, acciones o escenas. El etiquetado de datos es vital porque el éxito de un modelo de IA depende en gran medida de la calidad de los datos etiquetados con los que se entrena.

Los estudios demuestran que más del 80% del tiempo de los proyectos de IA se dedica a gestionar los datos, desde recopilarlos y agregarlos hasta limpiarlos y etiquetarlos. Esto demuestra lo importante que es la anotación de datos en el desarrollo de modelos de IA. El uso de datos anotados de alta calidad hace posible que los modelos de IA realicen tareas como el reconocimiento facial y la detección de objetos con mayor precisión y fiabilidad en situaciones del mundo real.

Por qué es necesaria la anotación de datos

La anotación de datos constituye la base del rendimiento de un modelo de visión por ordenador. Los datos etiquetados son la verdad básica que el modelo utiliza para aprender y hacer predicciones. Los datos de la verdad sobre el terreno son clave porque representan el mundo real que el modelo intenta comprender. Sin esta base fiable, el modelo de IA sería como un barco navegando sin brújula. 

Fig. 1. Verdad sobre el terreno frente a predicción.

Un etiquetado preciso ayuda a estos modelos a comprender lo que están viendo y conduce a una mejor toma de decisiones. Si los datos están mal etiquetados o son incoherentes, el modelo tendrá dificultades para hacer predicciones y tomar decisiones correctas, igual que un estudiante que aprende de libros de texto incorrectos. Gracias a los datos anotados, un modelo puede aprender tareas como la clasificación de imágenes, la segmentación de instancias y la estimación de la pose de objetos en imágenes y vídeos. 

Los mejores recursos para conjuntos de datos

Antes de crear un nuevo conjunto de datos y etiquetar meticulosamente imágenes y vídeos, es una buena idea ver si puedes utilizar conjuntos de datos preexistentes para tu proyecto. Hay varios fantásticos repositorios de código abierto donde puedes acceder gratuitamente a conjuntos de datos de alta calidad. Algunos de los más populares son:

  • ImageNet: Se utiliza habitualmente para entrenar modelos de clasificación de imágenes.
  • COCO: Este conjunto de datos está diseñado para la detección de objetos, la segmentación y el subtitulado de imágenes
  • PASCAL VOC: Admite tareas de detección y segmentación de objetos.
Fig. 2. Ejemplos de datos del conjunto de datos COCO.

Al elegir un conjunto de datos, es importante tener en cuenta factores como su adecuación a tu proyecto, su tamaño, su diversidad y la calidad de las etiquetas. Además, asegúrate de revisar las condiciones de licencia del conjunto de datos para evitar cualquier repercusión legal, y comprueba si los datos tienen un formato que se adapte a tu flujo de trabajo y herramientas.

Crear un conjunto de datos personalizado es una gran opción si los conjuntos de datos existentes no se ajustan del todo a tus necesidades. Puedes recopilar imágenes utilizando herramientas como cámaras web, drones o teléfonos inteligentes, dependiendo de lo que requiera tu proyecto. Lo ideal es que tu conjunto de datos personalizado sea diverso, equilibrado y realmente representativo del problema que intentas resolver. Esto podría significar capturar imágenes en diferentes condiciones de iluminación, desde varios ángulos y en múltiples entornos.

Si sólo puedes recopilar un número menor de imágenes o vídeos, el aumento de datos es una técnica útil. Consiste en ampliar tu conjunto de datos aplicando transformaciones como rotación, volteo o ajustes de color a las imágenes existentes. Aumenta el tamaño de tu conjunto de datos y hace que tu modelo sea más robusto y capaz de manejar mejor las variaciones de los datos. Utilizando una mezcla de conjuntos de datos de código abierto, conjuntos de datos personalizados y datos aumentados, puedes mejorar significativamente el rendimiento de tus modelos de visión por ordenador.

Tipos de técnicas de anotación de imágenes

Antes de empezar a anotar imágenes, es importante que conozcas los distintos tipos de anotaciones. Te ayudará a elegir la más adecuada para tu proyecto. A continuación, veremos algunos de los principales tipos de anotaciones. 

Cajas delimitadoras

Las cajas delimitadoras son el tipo de anotación más común en visión por ordenador. Son cajas rectangulares que se utilizan para marcar la ubicación de un objeto en una imagen. Estas cajas se definen por las coordenadas de sus esquinas, y ayudan a los modelos de IA a identificar y localizar objetos. Las cajas delimitadoras se utilizan principalmente para la detección de objetos.

Fig. 3. Ejemplo de cajas delimitadoras.

Máscaras de segmentación

A veces, es necesario detectar un objeto con más precisión que mediante un simple cuadro delimitador dibujado a su alrededor. Puede interesarte el contorno de los objetos de una imagen. En ese caso, las máscaras de segmentación te permiten perfilar objetos complejos. Las máscaras de segmentación son una representación más detallada a nivel de píxel. 

Estas máscaras pueden utilizarse para la segmentación semántica y la segmentación por instancias. La segmentación semántica consiste en etiquetar cada píxel de una imagen según el objeto o la zona que representa, como un peatón, un coche, una carretera o una acera. La segmentación por instancias, sin embargo, va un paso más allá al identificar y separar cada objeto individualmente, como distinguir entre cada coche de una imagen, aunque todos sean del mismo tipo.

Fig. 4. Ejemplo de segmentación semántica (izquierda) y máscaras de segmentación de instancias (derecha).

Cuboides 3D

Los cuboides 3D son similares a las cajas delimitadoras, lo que los hace únicos es que los cuboides 3D añaden información de profundidad y proporcionan una representación tridimensional de un objeto. Esta información adicional permite a los sistemas comprender la forma, el volumen y la posición de los objetos en un espacio 3D. Los cuboides 3D se utilizan a menudo en los coches autoconducidos para medir la distancia de los objetos al vehículo.

Fig. 5. Un ejemplo de cuboides tridimensionales.

Puntos clave y puntos de referencia

Otro tipo interesante de anotación son los puntos clave, en los que se marcan en los objetos puntos específicos como ojos, narices o articulaciones. Landmarks lleva esto un paso más allá, conectando estos puntos para capturar la estructura y el movimiento de formas más complejas, como caras o posturas corporales. Este tipo de anotaciones se utilizan para aplicaciones como el reconocimiento facial, la captura del movimiento y la realidad aumentada. También mejoran la precisión de los modelos de IA en tareas como el reconocimiento de gestos o el análisis del rendimiento deportivo.

Fig. 6. Ejemplo de puntos clave.

Cómo anotar datos con LabelImg

Ahora que hemos hablado de los distintos tipos de anotaciones, vamos a entender cómo puedes anotar imágenes utilizando una herramienta popular, LabelImg. LabelImg es una herramienta de código abierto que simplifica la anotación de imágenes, y puede utilizarse para crear conjuntos de datos en el formato YOLO (You Only Look Once). Es una gran elección para principiantes que trabajen en pequeños proyectos deUltralytics YOLOv8 .

Configurar LabelImg es sencillo. Primero, asegúrate de que tienes Python 3 instalado en tu ordenador. Después, puedes instalar LabelImg con un comando rápido. 


pip3 install labelImg

Una vez instalada, puedes iniciar la herramienta utilizando el comando


labelImg

LabelImg funciona en múltiples plataformas, incluyendo Windows, macOS y Linux. Si encuentras algún problema durante la instalación, el repositorio oficial de LabelImg puede proporcionarte instrucciones más detalladas.

Fig 7. Uso de LabelImg para la anotación de imágenes.

Una vez que inicies la herramienta, sigue estos sencillos pasos para empezar a etiquetar tus imágenes:

  • Configura tus clases: Empieza por definir la lista de clases (categorías) que quieres anotar en un archivo llamado "clases_predefinidas.txt". Este archivo permite al software saber qué objetos vas a etiquetar en tus imágenes.
  • Cambia al formato YOLO : Por defecto, LabelImg utiliza el formato PASCAL VOC, pero si estás trabajando con YOLO, tendrás que cambiar de formato. Sólo tienes que hacer clic en el botón "PascalVOC" de la barra de herramientas para cambiar a YOLO.
  • Empieza a anotar: Utiliza las opciones "Abrir" o "AbrirDIR" para cargar tus imágenes. A continuación, dibuja cuadros delimitadores alrededor de los objetos que quieras anotar y asígnales la etiqueta de clase correcta. Después de etiquetar cada imagen, guarda tu trabajo. LabelImg creará un archivo de texto con el mismo nombre que tu imagen, que contendrá las anotaciones YOLO .
  • Guardar y revisar: Las anotaciones se guardan en un archivo .txt en el formato YOLO . El programa también guarda un archivo "clases.txt" que enumera todos los nombres de tus clases.

Estrategias Eficaces de Etiquetado de Datos

Para que el proceso de etiquetado de datos sea más fluido, hay que tener en cuenta algunas estrategias clave. Por ejemplo, unas directrices de anotación claras son cruciales. Sin ellas, distintos anotadores podrían interpretar una tarea de forma diferente. 

Supongamos que la tarea consiste en anotar pájaros en imágenes con cuadros delimitadores. Un anotador puede etiquetar todo el pájaro, mientras que otro puede etiquetar sólo la cabeza o las alas. Este tipo de incoherencia puede confundir al modelo durante el entrenamiento. Proporcionando definiciones claras, como "etiqueta todo el pájaro, incluidas las alas y la cola", junto con ejemplos e instrucciones para los casos difíciles, puedes asegurarte de que los datos se etiquetan con precisión y coherencia.

Las comprobaciones periódicas de la calidad también son importantes para mantener un alto nivel. Estableciendo puntos de referencia y utilizando métricas específicas para revisar el trabajo, puedes mantener la precisión de los datos y perfeccionar el proceso mediante una retroalimentación continua. 

Etiquetado de datos en pocas palabras

La anotación de datos es un concepto sencillo que puede tener un impacto significativo en tu modelo de visión por ordenador. Tanto si utilizas herramientas como LabelImg para anotar imágenes como si entrenas modelos en conjuntos de datos de código abierto, es fundamental comprender el etiquetado de datos. Las estrategias de etiquetado de datos pueden ayudar a agilizar todo el proceso y hacerlo más eficiente. Dedicar tiempo a perfeccionar tu enfoque de anotación puede conducir a resultados de IA mejores y más fiables.

¡Sigue explorando y ampliando tus conocimientos! ¡Mantente conectado con nuestra comunidad para seguir aprendiendo sobre IA! Echa un vistazo a nuestro repositorio de GitHub para descubrir cómo estamos utilizando la IA para crear soluciones innovadoras en sectores como la fabricación y la sanidad. 🚀

Logotipo de FacebookLogotipo de TwitterLogotipo de LinkedInSímbolo de enlace de copia

Leer más en esta categoría

¡Construyamos juntos el futuro
de la IA!

Comienza tu viaje con el futuro del aprendizaje automático