Ir al contenido

Estrategias de recogida de datos y anotación para visión por ordenador

Introducción

La clave del éxito en cualquier proyecto de visión por ordenador empieza por unas estrategias eficaces de recopilación y anotación de datos. La calidad de los datos influye directamente en el rendimiento del modelo, por lo que es importante conocer las mejores prácticas relacionadas con la recopilación y anotación de datos.

Todas las consideraciones relativas a los datos deben estar en consonancia con los objetivos del proyecto. Los cambios en las estrategias de anotación podrían modificar el enfoque o la eficacia del proyecto, y viceversa. Teniendo esto en cuenta, veamos cuáles son las mejores formas de abordar la recopilación y anotación de datos.

Creación de clases y recogida de datos

Recopilar imágenes y vídeos para un proyecto de visión por ordenador implica definir el número de clases, obtener datos y considerar las implicaciones éticas. Antes de empezar a recopilar datos, hay que tener las cosas claras:

Elegir las clases adecuadas para su proyecto

Una de las primeras preguntas al iniciar un proyecto de visión por ordenador es cuántas clases incluir. Es necesario determinar la pertenencia a una clase, lo que implica las diferentes categorías o etiquetas que desea que su modelo reconozca y diferencie. El número de clases debe estar determinado por los objetivos específicos de su proyecto.

Por ejemplo, si quieres controlar el tráfico, tus clases podrían ser "coche", "camión", "autobús", "moto" y "bicicleta". Por otro lado, para hacer un seguimiento de los artículos de una tienda, sus clases podrían ser "frutas", "verduras", "bebidas" y "aperitivos". Definir las clases en función de los objetivos del proyecto ayuda a que el conjunto de datos sea relevante y esté bien enfocado.

Cuando defina sus clases, otra distinción importante que debe hacer es si elige recuentos de clases gruesos o finos. Por "recuento" se entiende el número de clases distintas que le interesan. Esta decisión influye en la granularidad de los datos y la complejidad del modelo. Estas son las consideraciones para cada enfoque:

  • Categorías generales: Son categorías más amplias e inclusivas, como "vehículo" y "no vehículo". Simplifican la anotación y requieren menos recursos informáticos, pero proporcionan información menos detallada, lo que puede limitar la eficacia del modelo en escenarios complejos.
  • Categorías finas: Más categorías con distinciones más finas, como "sedán", "SUV", "camioneta" y "motocicleta". Captan información más detallada, lo que mejora la precisión y el rendimiento del modelo. Sin embargo, su anotación requiere más tiempo y trabajo, así como más recursos informáticos.

Empezar con clases más específicas puede ser muy útil, sobre todo en proyectos complejos en los que los detalles son importantes. Unas clases más específicas permiten recopilar datos más detallados, obtener una visión más profunda y establecer distinciones más claras entre categorías. Esto no sólo mejora la precisión del modelo, sino que también facilita su ajuste posterior en caso necesario, ahorrando tiempo y recursos.

Fuentes de datos

Puede utilizar conjuntos de datos públicos o recopilar sus propios datos personalizados. Los conjuntos de datos públicos como los de Kaggle y Google Dataset Search Engine ofrecen datos estandarizados y bien anotados, lo que los convierte en excelentes puntos de partida para entrenar y validar modelos.

Por otro lado, la recopilación de datos personalizada le permite adaptar el conjunto de datos a sus necesidades específicas. Puede capturar imágenes y vídeos con cámaras o drones, buscar imágenes en Internet o utilizar datos internos de su organización. Los datos personalizados le dan más control sobre su calidad y relevancia. La combinación de fuentes de datos públicas y personalizadas ayuda a crear un conjunto de datos diverso y completo.

Evitar sesgos en la recogida de datos

El sesgo se produce cuando determinados grupos o escenarios están infrarrepresentados o sobrerrepresentados en el conjunto de datos. Esto conduce a un modelo que funciona bien en algunos datos, pero mal en otros. Es crucial evitar el sesgo en la IA para que su modelo de visión por ordenador pueda funcionar bien en una variedad de escenarios.

A continuación se explica cómo evitar los prejuicios en la recogida de datos:

  • Fuentes diversas: Recoge datos de muchas fuentes para captar diferentes perspectivas y escenarios.
  • Representación equilibrada: Incluya una representación equilibrada de todos los grupos relevantes. Por ejemplo, considere diferentes edades, géneros y etnias.
  • Supervisión continua: Revise y actualice periódicamente su conjunto de datos para identificar y abordar cualquier sesgo emergente.
  • Técnicas de mitigación de sesgos: Utilice métodos como el sobremuestreo de clases infrarrepresentadas, el aumento de datos y algoritmos que tengan en cuenta la imparcialidad.

Seguir estas prácticas ayuda a crear un modelo más sólido y justo que puede generalizarse 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 hacerlos utilizables en el entrenamiento de modelos de aprendizaje automático. En visión por ordenador, esto significa etiquetar imágenes o vídeos con la información que un modelo necesita para aprender. Sin datos correctamente anotados, los modelos no pueden aprender con precisión las relaciones entre entradas y salidas.

Tipos de anotación de datos

En función de los requisitos específicos de una tarea de visión por ordenador, existen distintos tipos de anotación de datos. He aquí algunos ejemplos:

  • Cuadros delimitadores: Cajas rectangulares dibujadas alrededor de los objetos de una imagen, utilizadas principalmente para tareas de detección de objetos. Estas cajas se definen por sus coordenadas superior izquierda e inferior derecha.
  • Polígonos: Contornos detallados de los objetos, que permiten una anotación más precisa que los recuadros 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 forma parte de un objeto o del fondo. Las máscaras se utilizan en tareas de segmentación semántica para proporcionar detalles a nivel de píxel.
  • Puntos clave: Puntos específicos marcados dentro de una imagen para identificar lugares de interés. Los puntos clave se utilizan en tareas como la estimación de la pose y la detección de puntos de referencia faciales.

Tipos de anotación de datos

Formatos comunes de anotación

Tras seleccionar un tipo de anotación, es importante elegir el formato adecuado para almacenar y compartir las anotaciones.

Entre los formatos más utilizados se encuentra COCO, que admite varios tipos de anotaciones como detección de objetos, detección de puntos clave, segmentación de cosas, segmentación panóptica y subtítulos de imágenes, almacenados en JSON. Pascal VOC utiliza archivos XML y es popular para tareas de detección de objetos. YOLO, por su parte, crea un archivo .txt para cada imagen, que contiene anotaciones como clase de objeto, coordenadas, altura y anchura, lo que lo hace adecuado para la detección de objetos.

Técnicas de anotación

Una vez elegido el tipo de anotación y el formato, es hora de establecer unas normas de etiquetado claras y objetivas. Estas normas son como una hoja de ruta para la coherencia y la precisión en todo el proceso de anotación. Entre los aspectos clave de estas reglas se incluyen:

  • Claridad y detalle: Asegúrese de que sus instrucciones son claras. Utiliza ejemplos e ilustraciones para entender lo que se espera de ti.
  • Coherencia: Las anotaciones deben ser uniformes. Establece criterios estándar para anotar distintos tipos de datos, de modo que todas las anotaciones sigan las mismas reglas.
  • Reducir los prejuicios: Manténgase neutral. Entrénate para ser objetivo y minimizar los prejuicios personales para garantizar anotaciones justas.
  • Eficacia: Trabaje 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 eficaz.

Revisar y actualizar periódicamente las normas de etiquetado ayudará a que las anotaciones sean precisas, coherentes y acordes con los objetivos del proyecto.

Supongamos que ya está listo para anotar. Existen varias herramientas de código abierto que ayudan a agilizar el proceso de anotación de datos. Estas son algunas de las herramientas de anotación abiertas más útiles:

  • Estudio de etiquetas: Una herramienta flexible que admite una amplia gama de tareas de anotación e incluye funciones de gestión de proyectos y control de calidad.
  • CVAT: Una potente herramienta que admite varios formatos de anotación y flujos de trabajo personalizables, lo que la hace adecuada para proyectos complejos.
  • Etiquetarme: Una herramienta sencilla y fácil de usar que permite anotar rápidamente imágenes con polígonos, lo que la hace ideal para tareas sencillas.
  • EtiquetaImg: Herramienta gráfica de anotación de imágenes fácil de usar, especialmente adecuada para crear anotaciones de cuadro delimitador en formato YOLO .

Descripción general de LabelMe

Estas herramientas de código abierto son asequibles y ofrecen una amplia gama de funciones para satisfacer distintas necesidades de anotación.

Otros aspectos a tener en cuenta antes de anotar datos

Antes de sumergirte en la anotación de tus datos, hay algunas cosas más que debes tener en cuenta. Debes ser consciente de la exactitud, la precisión, los valores atípicos y el control de calidad para evitar etiquetar tus datos de forma contraproducente.

Exactitud y precisión

Es importante entender la diferencia entre exactitud y precisión y su relación con la anotación. La exactitud se refiere a la aproximación de los datos anotados a los valores reales. Nos ayuda a medir hasta qué punto las etiquetas reflejan situaciones del mundo real. La precisión indica la coherencia de las anotaciones. Comprueba si se asigna la misma etiqueta al mismo objeto o característica en todo el conjunto de datos. Una exactitud y una precisión elevadas dan lugar a modelos mejor entrenados, ya que reducen el ruido y mejoran la capacidad del modelo para generalizar a partir de los datos de entrenamiento.

Ejemplo de precisión

Identificación de valores atípicos

Los valores atípicos son puntos de datos que se desvían bastante de otras observaciones del conjunto de datos. Con respecto a 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. Los valores atípicos son preocupantes porque pueden distorsionar el proceso de aprendizaje del modelo, dando lugar a predicciones inexactas y a una generalización deficiente.

Puede utilizar varios métodos para detectar y corregir los valores atípicos:

  • Técnicas estadísticas: Para detectar valores atípicos en características numéricas como valores de píxeles, coordenadas de caja delimitadora o tamaños de objetos, puede utilizar métodos como gráficos de caja, histogramas o puntuaciones z.
  • Técnicas visuales: Para detectar anomalías en características categóricas como clases de objetos, colores o formas, utilice métodos visuales como el trazado de imágenes, etiquetas o mapas de calor.
  • Métodos algorítmicos: Utilizar herramientas como clustering (por ejemplo, K-means clustering, DBSCAN) y algoritmos de detección de anomalías para identificar valores atípicos basados en patrones de distribución de 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. Es una buena práctica comprobar regularmente las anotaciones para asegurarse de que son precisas y coherentes. Esto puede hacerse de varias maneras:

  • Revisión de muestras de datos anotados
  • Uso de herramientas automatizadas para detectar errores comunes
  • Hacer que otra persona vuelva a comprobar las anotaciones

Si trabaja con varias personas, es importante que haya coherencia entre los distintos anotadores. Un buen acuerdo entre anotadores significa que las directrices están claras y que todos las siguen de la misma manera. De este modo, todos están de acuerdo y las anotaciones son coherentes.

Durante la revisión, si encuentra errores, corríjalos y actualice las directrices para evitar errores futuros. Proporcione información a los anotadores y ofrézcales formación periódica para reducir los errores. Contar con un proceso sólido para gestionar los errores mantiene la precisión y fiabilidad de su conjunto de datos.

Estrategias eficientes de etiquetado de datos

Para que el proceso de etiquetado de datos sea más fluido y eficaz, considere la posibilidad de aplicar estas estrategias:

  • Directrices de anotación claras: Proporcione instrucciones detalladas con ejemplos para garantizar que todos los anotadores interpretan las tareas de forma coherente. Por ejemplo, al etiquetar aves, especifique si debe incluirse el ave entera o solo partes concretas.
  • Controles de calidad periódicos: Establezca puntos de referencia y utilice métricas específicas para revisar el trabajo, manteniendo altos estándares a través de la retroalimentación continua.
  • Utilice herramientas de anotación previa: Muchas plataformas de anotación modernas ofrecen funciones de anotación previa asistida por IA que pueden acelerar considerablemente el proceso al generar automáticamente anotaciones iniciales que los humanos pueden perfeccionar después.
  • Aplicar el aprendizaje activo: Este enfoque prioriza el etiquetado de las muestras más informativas en primer lugar, lo que puede reducir el número total de anotaciones necesarias manteniendo el rendimiento del modelo.
  • Procesamiento por lotes: Agrupe imágenes similares para su anotación con el fin de mantener la coherencia y mejorar la eficiencia.

Estas estrategias pueden ayudar a mantener anotaciones de alta calidad al tiempo que reducen el tiempo y los recursos necesarios para el proceso de etiquetado.

Comparta sus ideas con la comunidad

Compartir tus ideas y dudas con otros entusiastas de la visión por ordenador puede ayudarte a acelerar tus proyectos. Estas son algunas de las mejores formas de aprender, solucionar problemas y trabajar en red:

Dónde encontrar ayuda y apoyo

  • Problemas en GitHub: Visita el repositorio GitHub de YOLO11 y utiliza la pestaña Problemas para plantear preguntas, informar de errores y sugerir funciones. La comunidad y los mantenedores están ahí para ayudarte con cualquier problema que tengas.
  • Ultralytics Servidor Discord: Únete al servidor Discord deUltralytics para conectar con otros usuarios y desarrolladores, obtener ayuda, compartir conocimientos y aportar ideas.

Documentación oficial

  • Ultralytics YOLO11 Documentación: Consulte la documentación oficial de YOLO11 para obtener guías completas y valiosos conocimientos sobre numerosas tareas y proyectos de visión por ordenador.

Conclusión

Siguiendo las mejores prácticas de recopilación y anotación de datos, evitando los sesgos y utilizando las herramientas y técnicas adecuadas, puede mejorar significativamente el rendimiento de su modelo. Colaborar con la comunidad y utilizar los recursos disponibles le mantendrá informado y le ayudará a solucionar los problemas con eficacia. Recuerde que la calidad de los datos es la base del éxito de un proyecto, y que las estrategias adecuadas le ayudarán a crear modelos sólidos y fiables.

PREGUNTAS FRECUENTES

¿Cuál es la mejor manera de evitar sesgos en la recogida de datos para proyectos de visión por ordenador?

Evitar el sesgo en la recopilación de datos garantiza que el modelo de visión por ordenador funcione bien en distintos escenarios. Para minimizar los sesgos, considere la posibilidad de recopilar datos de diversas fuentes para capturar diferentes perspectivas y escenarios. Garantice una representación equilibrada de todos los grupos relevantes, como edades, géneros y etnias diferentes. Revise y actualice periódicamente su conjunto de datos para identificar y abordar cualquier sesgo emergente. Técnicas como el sobremuestreo de clases infrarrepresentadas, el aumento de datos y los algoritmos que tienen en cuenta la imparcialidad también pueden ayudar a mitigar los sesgos. Al emplear estas estrategias, se mantiene un conjunto de datos sólido y justo que mejora la capacidad de generalización del modelo.

¿Cómo puedo garantizar una gran coherencia y precisión en la anotación de datos?

Garantizar una gran coherencia y precisión en la anotación de datos implica establecer unas directrices de etiquetado claras y objetivas. Las instrucciones deben ser detalladas, con ejemplos e ilustraciones que aclaren las expectativas. La coherencia se consigue estableciendo criterios estándar para la anotación de distintos tipos de datos, garantizando que todas las anotaciones sigan las mismas reglas. Para reducir los prejuicios personales, hay que formar a los anotadores para que sean neutrales y objetivos. Las revisiones y actualizaciones periódicas de las normas de etiquetado ayudan a mantener la precisión y la alineación con los objetivos del proyecto. El uso de herramientas automatizadas para comprobar la coherencia y los comentarios de otros anotadores también contribuyen a mantener la calidad de las anotaciones.

¿Cuántas imágenes necesito para entrenar los modelos de Ultralytics YOLO ?

Para un aprendizaje por transferencia y una detección de objetos eficaces con los modelos Ultralytics YOLO , comience con un mínimo de unos cientos de objetos anotados por clase. Si se entrena para una sola clase, comience con al menos 100 imágenes anotadas y entrene durante aproximadamente 100 épocas. Las tareas más complejas pueden requerir miles de imágenes por clase para lograr una alta fiabilidad y rendimiento. Las anotaciones de calidad son cruciales, así que asegúrese de que sus procesos de recopilación de datos y anotación son rigurosos y están alineados con los objetivos específicos de su proyecto. Explore estrategias de formación detalladas en la guía de formaciónYOLO11 .

Varias herramientas populares de código abierto pueden agilizar el proceso de anotación de datos:

  • Estudio de etiquetas: Una herramienta flexible que admite diversas tareas de anotación, gestión de proyectos y funciones de control de calidad.
  • CVAT: Ofrece múltiples formatos de anotación y flujos de trabajo personalizables, por lo que resulta adecuado para proyectos complejos.
  • Etiquetarme: Ideal para la anotación rápida y sencilla de imágenes con polígonos.
  • EtiquetaImg: Perfecto para crear anotaciones de cuadro delimitador en formato YOLO con una interfaz sencilla.

Estas herramientas pueden ayudarle a mejorar la eficacia y precisión de sus flujos de trabajo de anotación. En la documentación de nuestras herramientas de anotación de datos encontrará una amplia lista de funciones y guías.

¿Qué tipos de anotación de datos se utilizan habitualmente en visión por ordenador?

Los distintos tipos de anotación de datos responden a diversas tareas de visión por ordenador:

  • Cuadros delimitadores: Utilizadas principalmente para la detección de objetos, son cajas rectangulares alrededor de los objetos de una imagen.
  • Polígonos: Proporcionan contornos de objetos más precisos, adecuados para tareas de segmentación de instancias.
  • Máscaras: Ofrecen detalles a nivel de píxel, utilizados en la segmentación semántica para diferenciar los objetos del fondo.
  • Puntos clave: Identifican puntos de interés específicos dentro de una imagen, útiles para tareas como la estimación de la pose y la detección de puntos de referencia faciales.

La selección del tipo de anotación adecuado depende de los requisitos de su proyecto. Obtén más información sobre cómo implementar estas anotaciones y sus formatos en nuestra guía de anotación de datos.

Creado hace 9 meses ✏️ Actualizado hace 8 días

Comentarios