Estrategias de recopilación y anotación de datos para visión artificial#
La recopilación y la anotación de datos son los dos pasos fundamentales de todo proyecto de visión artificial: recopilas imágenes o vídeos representativos y, después, los etiquetas para que un modelo pueda aprender de ellos. La calidad de estos datos determina directamente el rendimiento del modelo; por eso, definir las clases, obtener datos sin sesgos y mantener una anotación coherente son aspectos importantes antes de empezar cualquier entrenamiento.
Ver: Cómo crear estrategias eficaces de recopilación y anotación de datos para visión artificial 🚀
Esta guía explica cómo configurar las clases y recopilar datos, en qué consiste la anotación de datos, así como los tipos y formatos de anotación disponibles, y estrategias de etiquetado eficientes, con cada decisión alineada con los objetivos de tu proyecto.
Configuración de clases y recopilación de datos#
La recopilación de imágenes y vídeos para un proyecto de visión artificial se reduce a tres decisiones: cuántas clases definir, de dónde obtener los datos y cómo evitar sesgos en el conjunto de datos.
Cómo elegir las clases adecuadas para tu proyecto#
Una de las primeras preguntas al iniciar un proyecto de visión artificial es cuántas clases incluir. Tienes que determinar las clases, es decir, las distintas categorías o etiquetas que quieres que tu modelo reconozca y diferencie. El número de clases debe responder a los objetivos concretos de tu proyecto.
Por ejemplo, si quieres controlar el tráfico, tus clases podrían incluir «coche», «camión», «autobús», «motocicleta» y «bicicleta». En cambio, para hacer un seguimiento de los productos de una tienda, tus clases podrían ser «frutas», «verduras», «bebidas» y «aperitivos». Definir las clases según los objetivos de tu proyecto ayuda a que tu conjunto de datos sea pertinente y específico.
Al definir las clases, también es importante decidir si vas a usar pocas clases generales o muchas clases específicas. El número de clases se refiere a cuántas clases distintas te interesan. Esta decisión influye en el nivel de detalle de tus datos y en la complejidad del modelo. Estos son los aspectos que debes tener en cuenta en cada opción:
- Pocas clases generales: son categorías más amplias e inclusivas, como «vehículo» y «no vehículo». Simplifican la anotación y requieren menos recursos computacionales, pero proporcionan menos información detallada, lo que puede limitar la eficacia del modelo en situaciones complejas.
- Muchas clases específicas: incluyen más categorías con distinciones más precisas, como «berlina», «SUV», «camioneta» y «motocicleta». Capturan información más detallada, lo que mejora la precisión y el rendimiento del modelo. Sin embargo, requieren más tiempo y trabajo para anotarlas, además de más recursos computacionales.
Empezar con clases más específicas puede ser muy útil, sobre todo en proyectos complejos donde los detalles son importantes. Las clases más específicas te permiten recopilar datos más detallados, obtener información más profunda y establecer distinciones más claras entre categorías. No solo mejoran la precisión del modelo, sino que también facilitan su ajuste posterior si es necesario, con el consiguiente ahorro de tiempo y recursos.
Fuentes de datos#
Puedes utilizar conjuntos de datos públicos o recopilar tus propios datos. Los conjuntos de datos públicos, como los disponibles en Kaggle y Google Dataset Search Engine, ofrecen datos estandarizados y bien anotados, por lo que son un buen punto de partida para entrenar y validar modelos.
Por otro lado, recopilar datos personalizados te permite adaptar el conjunto de datos a tus necesidades concretas. Puedes capturar imágenes y vídeos con cámaras o drones, extraer imágenes de la web o utilizar datos internos que ya tenga tu organización. Los datos personalizados te dan más control sobre su calidad y pertinencia. Combinar fuentes de datos públicas y personalizadas ayuda a crear un conjunto de datos diverso y completo.
Cómo evitar sesgos en la recopilación de datos#
Se produce un sesgo cuando algunos grupos o situaciones están infrarrepresentados o sobrerrepresentados en tu conjunto de datos. Esto hace que el modelo funcione bien con algunos datos, pero mal con otros. Es fundamental evitar los sesgos en la IA para que tu modelo de visión artificial funcione bien en distintas situaciones.
Así puedes evitar sesgos al recopilar datos:
- Fuentes diversas: recopila datos de muchas fuentes para abarcar distintas perspectivas y situaciones.
- Representación equilibrada: incluye una representación equilibrada de todos los grupos pertinentes. Por ejemplo, ten en cuenta distintas edades, géneros y etnias.
- Supervisión continua: revisa y actualiza periódicamente tu conjunto de datos para identificar y corregir los sesgos que puedan surgir.
- Técnicas de mitigación de sesgos: utiliza métodos como el sobremuestreo de clases infrarrepresentadas, el aumento de datos y los algoritmos que tienen en cuenta la equidad.
Seguir estas prácticas ayuda a crear un modelo más robusto y justo, capaz de generalizar bien en aplicaciones del mundo real.
¿Qué es la anotación de datos?#
La anotación de datos es el proceso de etiquetar datos para que puedan utilizarse en el entrenamiento de modelos de aprendizaje automático. En visión artificial, esto significa etiquetar imágenes o vídeos con la información que el modelo necesita para aprender. Sin datos debidamente anotados, los modelos no pueden aprender con precisión las relaciones entre las entradas y las salidas.
Tipos de anotación de datos#
Según los requisitos concretos de una tarea de visión artificial, existen distintos tipos de anotación de datos. Estos son algunos ejemplos:
- Cuadros delimitadores: rectángulos dibujados alrededor de los objetos de una imagen, utilizados principalmente en tareas de detección de objetos. Estos cuadros se definen mediante las coordenadas de las esquinas superior izquierda e inferior derecha.
- Polígonos: contornos detallados de objetos que permiten una anotación más precisa que los cuadros delimitadores. Los polígonos se utilizan en tareas como la segmentación de instancias, donde la forma del objeto es importante.
- Máscaras: máscaras binarias en las que cada píxel pertenece a un objeto o al fondo. Se utilizan en tareas de segmentación semántica para proporcionar detalles a nivel de píxel.
- Puntos clave: puntos concretos marcados en una imagen para identificar ubicaciones de interés. Se utilizan en tareas como la estimación de pose y la detección de puntos de referencia faciales.
- Cuadros delimitadores orientados: rectángulos con un ángulo de rotación, utilizados en tareas de OBB cuando los objetos aparecen con cualquier orientación, como en las imágenes aéreas.
Formatos de anotación habituales#
Después de elegir un tipo de anotación, es importante seleccionar el formato adecuado para almacenar y compartir las anotaciones. Los formatos más habituales son:
| Formato | Estructura de archivos | Usos habituales |
|---|---|---|
| COCO | Un único archivo JSON | Detección de objetos, segmentación de instancias, detección de puntos clave, segmentación de elementos de fondo y segmentación panóptica, descripción de imágenes |
| Pascal VOC | Un archivo XML por imagen | Detección de objetos |
| YOLO | Un archivo .txt por imagen | Detección de objetos, segmentación, pose y cuadros orientados |
El formato YOLO almacena una fila por objeto, con índices de clase que empiezan en 0. Para la detección de objetos, la fila sigue el formato class x_center y_center width height con coordenadas normalizadas de 0 a 1. En una fila de segmentación, el cuadro se sustituye por los puntos normalizados del polígono del objeto; en una fila de pose, se conserva el cuadro y se añaden detrás las coordenadas de los puntos clave, con un indicador de visibilidad para cada punto clave cuando el conjunto de datos declara kpt_shape: [n, 3]. Una fila de OBB almacena class x1 y1 x2 y2 x3 y3 x4 y4 mediante coordenadas de vértices normalizadas.
Si tu herramienta de anotación exporta archivos COCO JSON, puedes convertirlos a etiquetas YOLO .txt o entrenar directamente con el archivo JSON mediante una clase de conjunto de datos personalizada.
Definición de directrices de anotación#
Una vez elegidos el tipo y el formato de anotación, el siguiente paso es establecer reglas de etiquetado claras y objetivas. Estas reglas sirven de guía para mantener la coherencia y la precisión durante todo el proceso de anotación. Entre los aspectos clave de estas reglas se incluyen:
- Claridad y detalle: asegúrate de que las instrucciones sean claras. Utiliza ejemplos e ilustraciones para mostrar qué se espera.
- Coherencia: mantén la uniformidad de las anotaciones. Establece criterios estándar para anotar distintos tipos de datos, de modo que todas las anotaciones sigan las mismas reglas.
- Reducción de sesgos: mantén la neutralidad. Aprende a ser objetivo y minimiza los sesgos personales para garantizar anotaciones justas.
- Eficiencia: trabaja de forma más inteligente, no más dura. Utiliza herramientas y flujos de trabajo que automaticen las tareas repetitivas para que el proceso de anotación sea más rápido y eficiente.
Revisar y actualizar periódicamente las reglas de etiquetado te ayudará a mantener las anotaciones precisas, coherentes y alineadas con los objetivos de tu proyecto.
Herramientas de anotación#
Una buena herramienta de anotación te permite etiquetar todos los tipos que requiere tu tarea, aplicar directrices coherentes y exportar etiquetas en un formato listo para el entrenamiento. Ultralytics Platform incluye un editor de anotaciones para detección, segmentación de instancias, segmentación semántica, clasificación, pose y OBB, junto con anotación inteligente basada en SAM, que convierte un solo clic en una máscara para tareas de detección, segmentación de instancias, segmentación semántica y OBB. Como las anotaciones se guardan con la estructura que necesita cada tarea — filas YOLO .txt para las tareas espaciales y carpetas de clases para la clasificación —, tu conjunto de datos etiquetado pasa directamente al entrenamiento, sin necesidad de convertirlo.
Calidad de las anotaciones: precisión, exactitud y valores atípicos#
Antes de anotar a gran escala, conviene entender la exactitud, la precisión, los valores atípicos y el control de calidad para no etiquetar los datos de forma contraproducente.
Cómo entender la exactitud y la precisión#
Es importante entender la diferencia entre exactitud y precisión y cómo se relacionan con la anotación. La exactitud indica cuánto se aproximan los datos anotados a los valores reales. Permite medir hasta qué punto las etiquetas reflejan situaciones del mundo real. La precisión indica la coherencia de las anotaciones. Comprueba si asignas la misma etiqueta al mismo objeto o característica en todo el conjunto de datos. Una exactitud y una precisión elevadas permiten entrenar mejores modelos, ya que reducen el ruido y mejoran la capacidad del modelo para generalizar a partir de los datos de entrenamiento.
Identificación de valores atípicos#
Los valores atípicos son puntos de datos que se desvían considerablemente de otras observaciones del conjunto de datos. En las anotaciones, un valor atípico puede ser una imagen etiquetada incorrectamente o una anotación que no encaja con el resto del conjunto de datos. Estos valores son preocupantes porque pueden distorsionar el proceso de aprendizaje del modelo, lo que provoca predicciones inexactas y una mala generalización.
Puedes utilizar distintos métodos para detectar y corregir valores atípicos:
- Técnicas estadísticas: para detectar valores atípicos en características numéricas como los valores de píxel, las coordenadas de los cuadros delimitadores o el tamaño de los objetos, puedes utilizar métodos como los diagramas de caja, los histogramas o las puntuaciones z.
- Técnicas visuales: para detectar anomalías en características categóricas como las clases de objetos, los colores o las formas, utiliza métodos visuales como representar imágenes, etiquetas o mapas de calor.
- Métodos algorítmicos: utiliza herramientas como la agrupación en clústeres (por ejemplo, K-means, DBSCAN) y algoritmos de detección de anomalías para identificar valores atípicos según los patrones de distribución de los datos.
Control de calidad de los datos anotados#
Al igual que en otros proyectos técnicos, el control de calidad es imprescindible para los datos anotados. Conviene revisar las anotaciones con regularidad para asegurarte de que sean precisas y coherentes. Puedes hacerlo de varias formas:
- Revisar muestras de datos anotados
- Utilizar herramientas automatizadas para detectar errores habituales
- Pedir a otra persona que vuelva a comprobar las anotaciones
Si trabajas con varias personas, es importante que haya coherencia entre quienes realizan las anotaciones. Un buen nivel de concordancia entre anotadores significa que las directrices son claras y que todo el mundo las sigue de la misma manera. Así, todos mantienen el mismo criterio y las anotaciones son coherentes.
Si durante la revisión encuentras errores, corrígelos y actualiza las directrices para evitar que se repitan. Proporciona comentarios a quienes anotan los datos y ofrece formación periódica para ayudar a reducir los errores. Contar con un proceso sólido para gestionar errores mantiene tu conjunto de datos preciso y fiable.
Estrategias eficientes de etiquetado de datos#
Para que el proceso de etiquetado de datos sea más ágil y eficaz, plantéate aplicar estas estrategias:
- Directrices de anotación claras: Proporciona instrucciones detalladas con ejemplos para asegurarte de que todos los anotadores interpretan las tareas de forma coherente. Por ejemplo, al etiquetar aves, especifica si hay que incluir el ave entera o solo determinadas partes.
- Controles de calidad periódicos: Establece criterios de referencia y utiliza métricas específicas para revisar el trabajo; mantén unos estándares elevados mediante comentarios continuos.
- Utiliza herramientas de preanotación: Muchas plataformas de anotación modernas ofrecen funciones de preanotación asistidas por IA que pueden acelerar considerablemente el proceso al generar automáticamente anotaciones iniciales que después pueden perfeccionar las personas.
- Implementa el aprendizaje activo: Este enfoque da prioridad a etiquetar primero las muestras más informativas, lo que puede reducir el número total de anotaciones necesarias y mantener el rendimiento del modelo.
- Procesamiento por lotes: Agrupa imágenes similares para anotarlas y mantener la coherencia y mejorar la eficiencia.
Estas estrategias pueden ayudar a mantener anotaciones de alta calidad y reducir el tiempo y los recursos necesarios para el proceso de etiquetado.
Conclusión#
Recopilar datos diversos y sin sesgos y anotarlos de forma coherente con las herramientas adecuadas es la base de un modelo de visión artificial fiable. Una vez recopilado y etiquetado tu conjunto de datos, continúa con la guía sobre las etapas de un proyecto de visión artificial para pasar al entrenamiento y la evaluación. Si te surgen dudas, pregunta a la comunidad en el repositorio de Ultralytics en GitHub o en el servidor de Ultralytics en Discord.
Preguntas frecuentes#
Para minimizar los sesgos, recopila datos de fuentes diversas, asegúrate de que los grupos pertinentes (como diferentes edades, géneros y etnias) estén representados de forma equilibrada, revisa y actualiza periódicamente tu conjunto de datos para detectar sesgos emergentes y aplica técnicas de mitigación, como el sobremuestreo de clases infrarrepresentadas, el aumento de datos y los algoritmos que tienen en cuenta la equidad. Evitar los sesgos de este modo permite que tu modelo de visión artificial funcione bien en distintas situaciones del mundo real y mejora su capacidad de generalización.
Establece directrices de etiquetado claras y objetivas, con instrucciones detalladas, ejemplos e ilustraciones, y aplícalas de manera uniforme a todos los tipos de datos para que cada anotación siga las mismas reglas. Forma a los anotadores para que mantengan la neutralidad y reduzcan los sesgos personales, revisa y actualiza las directrices con regularidad y utiliza comprobaciones automáticas de coherencia y comentarios entre anotadores para mantener la precisión y ajustarla a los objetivos del proyecto.
Unos cientos de objetos anotados por clase bastan para empezar a experimentar con el aprendizaje por transferencia, pero, para obtener un rendimiento fiable en el mundo real, Ultralytics recomienda al menos 1.500 imágenes y 10.000 instancias etiquetadas por clase. Combina un conjunto de datos suficientemente grande con un calendario de entrenamiento razonable —alrededor de 300 épocas es un punto de partida habitual, que puedes reducir si el modelo empieza a sobreajustarse pronto— y asegúrate de que tus anotaciones sean rigurosas y se ajusten a los objetivos específicos del proyecto. Descubre estrategias de entrenamiento detalladas en la guía de entrenamiento de YOLO26.
Sí. Ultralytics Platform incluye un editor de anotaciones integrado que admite cuadros delimitadores, polígonos, puntos clave, cuadros orientados y etiquetas de clasificación en un único espacio de trabajo. La anotación inteligente con tecnología SAM agiliza el etiquetado para tareas de detección, segmentación de instancias, segmentación semántica y OBB al generar máscaras con un solo clic; los conjuntos de datos de pose pueden utilizar modelos de pose YOLO para la anotación inteligente, mientras que la clasificación se anota manualmente. Las anotaciones se guardan en el formato que requiere cada tarea: filas
.txtde YOLO para las tareas espaciales y carpetas de clases para la clasificación; después, están listas para el entrenamiento.Elige el tipo de anotación que corresponda a la tarea que quieras entrenar. Los cuadros delimitadores son los más rápidos de dibujar y bastan para la detección de objetos. Los polígonos y las máscaras requieren bastante más tiempo por objeto, pero son necesarios para la segmentación de instancias cuando importa la forma exacta de un objeto. Los puntos clave son adecuados para la estimación de pose y la detección de puntos de referencia, mientras que los cuadros orientados sirven para tareas de OBB, como el análisis de imágenes aéreas, donde un rectángulo alineado con los ejes abarcaría demasiado fondo. Anotar con el nivel de detalle más preciso que realmente necesites permite que el esfuerzo de etiquetado sea proporcional al resultado.