Exploración del etiquetado de datos para proyectos de visión por ordenador

Abirami Vina

4 min leer

2 de septiembre de 2024

Lea nuestra exhaustiva inmersión en el etiquetado de datos con respecto a los proyectos de visión por ordenador y aprenda 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 modelos de IA mostrándoles ejemplos etiquetados puede ayudarles a aprender de patrones y mejorar en sus tareas. Es muy parecido a cómo los humanos aprenden de la experiencia. ¿Cómo se crean estos ejemplos etiquetados?

La anotación de datos consiste en etiquetarlos para ayudar a los algoritmos de aprendizaje automático a comprenderlos. 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 la gestión de datos, desde su recopilación y agregación hasta su limpieza y etiquetado. 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 permite a los modelos de IA realizar tareas como el reconocimiento facial y la detección de objetos con mayor precisión y fiabilidad en situaciones reales.

Por qué es necesaria la anotación de datos

La anotación de datos es la base del rendimiento de un modelo de visión por ordenador. Los datos etiquetados son la verdad sobre el terreno que el modelo utiliza para aprender y hacer predicciones. Los datos reales son fundamentales 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. 

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

Un etiquetado preciso ayuda a estos modelos a entender 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 puede utilizar conjuntos de datos preexistentes para su proyecto. Hay varios repositorios fantásticos de código abierto donde se puede 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.
__wf_reserved_inherit
Fig. 2. Ejemplos de datos del conjunto de datos COCO.

A la hora de elegir un conjunto de datos, es importante tener en cuenta factores como su adecuación al 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 a tus necesidades. Puedes recopilar imágenes utilizando herramientas como cámaras web, drones o smartphones, en función 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 la captura de imágenes en diferentes condiciones de iluminación, desde varios ángulos y a través de múltiples entornos.

Si sólo puede recopilar un número reducido de imágenes o vídeos, el aumento de datos es una técnica útil. Consiste en ampliar el conjunto de datos aplicando transformaciones como rotaciones, giros o ajustes de color a las imágenes existentes. Aumenta el tamaño del conjunto de datos y hace que el modelo sea más sólido y capaz de gestionar mejor las variaciones de los datos. Utilizando una combinación de conjuntos de datos de código abierto, conjuntos de datos personalizados y datos aumentados, puede mejorar significativamente el rendimiento de sus 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 familiarizarse con los distintos tipos de anotaciones. Te ayudará a elegir la más adecuada para tu proyecto. A continuación, echaremos un vistazo a algunos de los principales tipos de anotaciones. 

Cuadros delimitadores

Los recuadros delimitadores 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.

__wf_reserved_inherit
Fig. 3. Ejemplo de cuadros delimitadores.

Máscaras de segmentación

A veces, es necesario detectar un objeto con mayor precisión que mediante un simple cuadro delimitador dibujado a su alrededor. Puede que le interese conocer los límites de los objetos de una imagen. En ese caso, las máscaras de segmentación le permiten delinear 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.

__wf_reserved_inherit
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 los recuadros delimitadores, lo que los hace únicos es que 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 tridimensional. Los cuboides 3D se utilizan a menudo en los coches autónomos para medir la distancia entre los objetos y el vehículo.

__wf_reserved_inherit
Fig. 5. 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 en 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.

__wf_reserved_inherit
Fig. 6. Ejemplo de puntos clave.

Cómo anotar datos con labelImg

Ahora que ya hemos hablado de los distintos tipos de anotaciones, vamos a ver cómo se pueden anotar imágenes utilizando una herramienta muy 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 formato YOLO (You Only Look Once). Es una gran opción para los principiantes que trabajan en pequeños proyectos Ultralytics YOLOv8.

La configuración de LabelImg es sencilla. Primero, asegúrese de que tiene Python 3 instalado en su ordenador. Después, puede instalar LabelImg con un rápido comando.

Una vez instalada, puedes iniciar la herramienta con el comando

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

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

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

  • Configure sus clases: Comience por definir la lista de clases (categorías) que desea anotar en un archivo llamado "predefined_classes.txt". Este archivo permite al software saber qué objetos vas a etiquetar en tus imágenes.
  • Cambie al formato YOLO: Por defecto, LabelImg utiliza el formato PASCAL VOC, pero si está trabajando con YOLO, tendrá que cambiar de formato. Basta con hacer clic en el botón "PascalVOC" de la barra de herramientas para cambiar a YOLO.
  • Empieza a anotar: Utilice las opciones "Abrir" u "OpenDIR" para cargar sus imágenes. A continuación, dibuje cuadros delimitadores alrededor de los objetos que desee anotar y asígneles la etiqueta de clase correcta. Después de etiquetar cada imagen, guarde su trabajo. LabelImg creará un fichero de texto con el mismo nombre que su imagen, conteniendo las anotaciones YOLO.
  • Guardar y revisar: Las anotaciones se guardan en un archivo .txt en formato YOLO. El software también guarda un archivo "classes.txt" que enumera todos los nombres de sus 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 recuadros delimitadores. Un anotador puede etiquetar el pájaro entero, mientras que otro puede etiquetar sólo la cabeza o las alas. Este tipo de incoherencia puede confundir al modelo durante el entrenamiento. Si proporciona definiciones claras, como "etiquetar todo el pájaro, incluidas las alas y la cola", junto con ejemplos e instrucciones para los casos difíciles, puede asegurarse de que los datos se etiquetan de forma precisa y coherente.

Los controles de calidad periódicos también son importantes para mantener un alto nivel. Establecer puntos de referencia y utilizar métricas específicas para revisar el trabajo permite 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 simple que puede tener un impacto significativo en su modelo de visión por ordenador. Tanto si utiliza herramientas como LabelImg para anotar imágenes como si entrena 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 su 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. 🚀

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Empezar gratis
Enlace copiado en el portapapeles