Link to this sectionEstrategias de recolección y anotación de datos para visión artificial#
Link to this sectionIntroducción#
La clave del éxito en cualquier proyecto de visión artificial comienza con estrategias eficaces de recolección y anotación de datos. La calidad de los datos afecta directamente al rendimiento del modelo, por lo que es importante entender las mejores prácticas relacionadas con la recolección y la anotación de datos.
Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀
Cada consideración sobre los datos debe estar estrechamente alineada con los objetivos de tu proyecto. Los cambios en tus estrategias de anotación podrían modificar el enfoque o la eficacia del proyecto y viceversa. Con esto en mente, analicemos más de cerca las mejores formas de abordar la recolección y anotación de datos.
Link to this sectionConfiguración de clases y recolección de datos#
La recolección de imágenes y vídeo para un proyecto de visión artificial implica definir el número de clases, buscar los datos y considerar las implicaciones éticas. Antes de empezar a recopilar tus datos, debes tener claros estos puntos:
Link to this sectionElección de las clases adecuadas para tu proyecto#
Una de las primeras preguntas al iniciar un proyecto de visión artificial es cuántas clases incluir. Debes determinar la pertenencia a la clase, lo cual implica definir las diferentes categorías o etiquetas que quieres que tu modelo reconozca y diferencie. El número de clases debe determinarse según los objetivos específicos de tu proyecto.
Por ejemplo, si quieres monitorizar el tráfico, tus clases podrían incluir "coche", "camión", "autobús", "motocicleta" y "bicicleta". Por otro lado, para el seguimiento de artículos en una tienda, tus clases podrían ser "frutas", "verduras", "bebidas" y "aperitivos". Definir las clases basándote en los objetivos de tu proyecto ayuda a mantener tu conjunto de datos relevante y enfocado.
Cuando definas tus clases, otra distinción importante es decidir si elegir un recuento de clases grueso o fino. El 'recuento' se refiere al número de clases distintas que te interesan. Esta decisión influye en la granularidad de tus datos y en la complejidad de tu modelo. Aquí tienes las consideraciones para cada enfoque:
- Recuento de clases grueso: 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 información menos detallada, lo que podría limitar la eficacia del modelo en escenarios complejos.
- Recuento de clases fino: Más categorías con distinciones más precisas, como "sedán", "SUV", "camioneta" y "motocicleta". Capturan información más detallada, mejorando la precisión y el rendimiento del modelo. Sin embargo, requieren más tiempo y trabajo para anotarlas y consumen más recursos computacionales.
Empezar con clases más específicas puede ser muy útil, especialmente en proyectos complejos donde los detalles son importantes. Las clases más específicas te permiten recopilar datos más detallados, obtener conocimientos más profundos y establecer distinciones más claras entre categorías. No solo mejora la precisión del modelo, sino que también facilita su ajuste posterior si es necesario, ahorrando tiempo y recursos.
Link to this sectionFuentes de datos#
Puedes usar conjuntos de datos públicos o reunir tus propios datos personalizados. Los conjuntos de datos públicos como los de Kaggle y Google Dataset Search Engine ofrecen datos bien anotados y estandarizados, lo que los convierte en puntos de partida excelentes para entrenar y validar modelos.
La recolección de datos personalizados, por otro lado, te permite adaptar tu conjunto de datos a tus necesidades específicas. Puedes capturar imágenes y vídeos con cámaras o drones, extraer imágenes de la web o utilizar datos internos existentes de tu organización. Los datos personalizados te dan más control sobre su calidad y relevancia. Combinar fuentes de datos públicas y personalizadas ayuda a crear un conjunto de datos diverso y completo.
Link to this sectionCómo evitar el sesgo en la recolección de datos#
El sesgo ocurre cuando ciertos grupos o escenarios están subrepresentados o sobrerrepresentados en tu conjunto de datos. Esto lleva a un modelo que funciona bien con algunos datos pero mal con otros. Es crucial evitar el sesgo en la IA para que tu modelo de visión artificial pueda funcionar bien en una variedad de escenarios.
Aquí te explicamos cómo puedes evitar el sesgo al recopilar datos:
- Fuentes diversas: Recopila datos de muchas fuentes para capturar diferentes perspectivas y escenarios.
- Representación equilibrada: Incluye una representación equilibrada de todos los grupos relevantes. Por ejemplo, considera diferentes edades, géneros y etnias.
- Monitorización continua: Revisa y actualiza regularmente tu conjunto de datos para identificar y abordar cualquier sesgo emergente.
- Técnicas de mitigación de sesgos: Utiliza métodos como el sobremuestreo de clases subrepresentadas, aumentación de datos y algoritmos conscientes de la equidad.
Seguir estas prácticas ayuda a crear un modelo más robusto y justo que puede generalizar bien en aplicaciones del mundo real.
Link to this section¿Qué es la anotación de datos?#
La anotación de datos es el proceso de etiquetar datos para hacerlos utilizables para 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 un modelo necesita para aprender. Sin datos correctamente anotados, los modelos no pueden aprender con precisión las relaciones entre entradas y salidas.
Link to this sectionTipos de anotación de datos#
Dependiendo de los requisitos específicos de una tarea de visión artificial, existen diferentes tipos de anotación de datos. Aquí tienes algunos ejemplos:
- Bounding Boxes (Cuadros delimitadores): Cajas rectangulares dibujadas alrededor de los objetos en 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, lo que permite una anotación más precisa que las cajas delimitadoras. 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 donde cada píxel es 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.
- Keypoints (Puntos clave): Puntos específicos marcados dentro de una imagen para identificar ubicaciones de interés. Los puntos clave se utilizan en tareas como la estimación de pose y la detección de puntos de referencia faciales.
Link to this sectionFormatos de anotación comunes#
Después de seleccionar un tipo de anotación, es importante elegir el formato adecuado para almacenar y compartir las anotaciones.
Los formatos de uso común incluyen COCO, que admite varios tipos de anotación como detección de objetos, detección de puntos clave, segmentación de elementos, segmentación panóptica y subtitulado de imágenes, almacenados en JSON. Pascal VOC utiliza archivos XML y es popular para tareas de detección de objetos. YOLO, por otro lado, crea un archivo .txt para cada imagen, que contiene anotaciones como la clase del objeto, coordenadas, altura y anchura, lo que lo hace adecuado para la detección de objetos.
Link to this sectionTécnicas de anotación#
Ahora, suponiendo que has elegido un tipo de anotación y un formato, es hora de establecer reglas de etiquetado claras y objetivas. Estas reglas son como una hoja de ruta para la consistencia y la precisión a lo largo del proceso de anotación. Los aspectos clave de estas reglas incluyen:
- Claridad y detalle: Asegúrate de que tus instrucciones sean claras. Utiliza ejemplos e ilustraciones para mostrar qué se espera.
- Consistencia: Mantén tus anotaciones uniformes. Establece criterios estándar para anotar diferentes tipos de datos, de modo que todas las anotaciones sigan las mismas reglas.
- Reducción del sesgo: Mantente neutral. Entrénate para ser objetivo y minimizar 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, haciendo que el proceso de anotación sea más rápido y eficiente.
Revisar y actualizar regularmente tus reglas de etiquetado ayudará a mantener tus anotaciones precisas, consistentes y alineadas con los objetivos de tu proyecto.
Link to this sectionHerramientas de anotación populares#
Supongamos que ya estás listo para anotar. Existen varias herramientas de código abierto disponibles para ayudar a agilizar el proceso de anotación de datos. Aquí tienes algunas herramientas de anotación útiles:
- Label Studio: Una herramienta flexible que admite una amplia gama de tareas de anotación e incluye funciones para gestionar proyectos y control de calidad.
- CVAT: Una herramienta potente que admite varios formatos de anotación y flujos de trabajo personalizables, lo que la hace adecuada para proyectos complejos.
- Labelme: Una herramienta sencilla y fácil de usar que permite la anotación rápida de imágenes con polígonos, ideal para tareas directas.
- LabelImg: Una herramienta gráfica de anotación de imágenes fácil de usar, especialmente buena para crear anotaciones de cajas delimitadoras en formato YOLO.
Estas herramientas de código abierto son económicas y ofrecen una gama de funciones para satisfacer diferentes necesidades de anotación. Ultralytics Platform también proporciona un editor de anotaciones integrado que admite anotaciones de detección, segmentación de instancias, pose, OBB y clasificación con anotación inteligente basada en SAM para tareas espaciales.
Link to this sectionAlgunas cosas más a considerar 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 una manera contraproducente.
Link to this sectionEntender la exactitud y la precisión#
Es importante entender la diferencia entre exactitud y precisión y cómo se relaciona con la anotación. La exactitud se refiere a qué tan cerca están los datos anotados de los valores reales. Nos ayuda a medir qué tan fielmente reflejan las etiquetas los escenarios del mundo real. La precisión indica la consistencia de las anotaciones. Comprueba si estás dando la misma etiqueta al mismo objeto o característica en todo el conjunto de datos. Una alta exactitud y precisión conducen a modelos mejor entrenados al reducir el ruido y mejorar la capacidad del modelo para generalizar a partir de los datos de entrenamiento.
Link to this sectionIdentificación de valores atípicos#
Los valores atípicos son puntos de datos que se desvían bastante de otras observaciones en el conjunto de datos. Con respecto a las anotaciones, un valor atípico podría 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, lo que lleva a predicciones inexactas y una generalización deficiente.
Puedes utilizar varios métodos para detectar y corregir 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, puedes utilizar métodos como diagramas 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, utiliza métodos visuales como trazar imágenes, etiquetas o mapas de calor.
- Métodos algorítmicos: Utiliza herramientas como la agrupación (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.
Link to this sectionControl 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 sean precisas y consistentes. Esto se puede hacer de varias maneras:
- Revisar muestras de datos anotados
- Utilizar herramientas automatizadas para detectar errores comunes
- Hacer que otra persona verifique las anotaciones
Si trabajas con varias personas, la consistencia entre diferentes anotadores es importante. Un buen acuerdo entre anotadores significa que las directrices son claras y todos las siguen de la misma manera. Mantiene a todos alineados y las anotaciones consistentes.
Durante la revisión, si encuentras errores, corrígelos y actualiza las directrices para evitar errores futuros. Proporciona comentarios a los anotadores y ofrece formación regular para ayudar a reducir los errores. Tener un proceso sólido para manejar los errores mantiene tu conjunto de datos preciso y fiable.
Link to this sectionEstrategias eficaces de etiquetado de datos#
Para hacer que el proceso de etiquetado de datos sea más fluido y efectivo, considera implementar estas estrategias:
- Directrices de anotación claras: Proporciona instrucciones detalladas con ejemplos para garantizar que todos los anotadores interpreten las tareas de forma consistente. Por ejemplo, al etiquetar pájaros, especifica si incluir el pájaro completo o solo partes específicas.
- Controles de calidad regulares: Establece puntos de referencia y utiliza métricas específicas para revisar el trabajo, manteniendo altos estándares mediante comentarios continuos.
- Usa herramientas de pre-anotación: Muchas plataformas modernas de anotación ofrecen funciones de pre-anotación asistidas por IA que pueden acelerar significativamente el proceso generando automáticamente anotaciones iniciales que los humanos pueden luego refinar.
- Implementa aprendizaje activo: Este enfoque prioriza el etiquetado primero de las muestras más informativas, lo que puede reducir el número total de anotaciones necesarias mientras se mantiene el rendimiento del modelo.
- Procesamiento por lotes: Agrupa imágenes similares para la anotación para mantener la consistencia y mejorar la eficiencia.
Estas estrategias pueden ayudar a mantener anotaciones de alta calidad mientras se reduce el tiempo y los recursos necesarios para el proceso de etiquetado.
Link to this sectionComparte tus ideas con la comunidad#
Intercambiar tus ideas y consultas con otros entusiastas de la visión artificial puede ayudar a acelerar tus proyectos. Aquí tienes algunas formas geniales de aprender, solucionar problemas y conectar:
Link to this sectionDónde encontrar ayuda y soporte#
- GitHub Issues: Visita el repositorio de GitHub de YOLO26 y utiliza la pestaña Issues para plantear preguntas, informar de errores y sugerir funciones. La comunidad y los mantenedores están ahí para ayudar con cualquier problema que encuentres.
- Servidor de Discord de Ultralytics: Únete al servidor de Discord de Ultralytics para conectar con otros usuarios y desarrolladores, obtener soporte, compartir conocimientos e intercambiar ideas.
Link to this sectionDocumentación oficial#
- Documentación de Ultralytics YOLO26: Consulta la documentación oficial de YOLO26 para obtener guías exhaustivas y conocimientos valiosos sobre numerosas tareas y proyectos de visión artificial.
Link to this sectionConclusión#
Siguiendo las mejores prácticas para recopilar y anotar datos, evitar sesgos y utilizar las herramientas y técnicas adecuadas, puedes mejorar significativamente el rendimiento de tu modelo. Interactuar con la comunidad y utilizar los recursos disponibles te mantendrá informado y te ayudará a solucionar problemas de forma eficaz. Recuerda, los datos de calidad son la base de un proyecto exitoso, y las estrategias adecuadas te ayudarán a construir modelos robustos y fiables.
Link to this sectionFAQ#
Link to this section¿Cuál es la mejor forma de evitar el sesgo en la recolección de datos para proyectos de visión artificial?#
Evitar el sesgo en la recolección de datos garantiza que tu modelo de visión artificial funcione bien en varios escenarios. Para minimizar el sesgo, considera recopilar datos de diversas fuentes para capturar diferentes perspectivas y escenarios. Asegura una representación equilibrada entre todos los grupos relevantes, como diferentes edades, géneros y etnias. Revisa y actualiza regularmente tu conjunto de datos para identificar y abordar cualquier sesgo emergente. Técnicas como el sobremuestreo de clases subrepresentadas, la aumentación de datos y los algoritmos conscientes de la equidad también pueden ayudar a mitigar el sesgo. Al emplear estas estrategias, mantienes un conjunto de datos robusto y justo que mejora la capacidad de generalización de tu modelo.
Link to this section¿Cómo puedo asegurar una alta consistencia y precisión en la anotación de datos?#
Asegurar una alta consistencia y precisión en la anotación de datos implica establecer directrices de etiquetado claras y objetivas. Tus instrucciones deben ser detalladas, con ejemplos e ilustraciones para aclarar las expectativas. La consistencia se logra estableciendo criterios estándar para anotar varios tipos de datos, asegurando que todas las anotaciones sigan las mismas reglas. Para reducir los sesgos personales, entrena a los anotadores para que permanezcan neutrales y objetivos. Las revisiones y actualizaciones regulares de las reglas 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 consistencia y recibir comentarios de otros anotadores también contribuye a mantener anotaciones de alta calidad.
Link to this section¿Cuántas imágenes necesito para entrenar modelos YOLO de Ultralytics?#
Para un aprendizaje por transferencia eficaz y la detección de objetos con modelos YOLO de Ultralytics, comienza con un mínimo de unos pocos cientos de objetos anotados por clase. Si entrenas para una sola clase, empieza con al menos 100 imágenes anotadas y entrena durante aproximadamente 100 épocas. Las tareas más complejas podrían requerir miles de imágenes por clase para lograr una alta fiabilidad y rendimiento. Las anotaciones de calidad son cruciales, así que asegúrate de que tus procesos de recolección y anotación de datos sean rigurosos y estén alineados con los objetivos específicos de tu proyecto. Explora estrategias de entrenamiento detalladas en la guía de entrenamiento de YOLO26.
Link to this section¿Cuáles son algunas herramientas populares para la anotación de datos?#
Varias herramientas populares de código abierto pueden agilizar el proceso de anotación de datos:
- Label Studio: 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, lo que la hace adecuada para proyectos complejos.
- Labelme: Ideal para la anotación rápida y directa de imágenes con polígonos.
- LabelImg: Perfecta para crear anotaciones de cajas delimitadoras en formato YOLO con una interfaz sencilla.
Estas herramientas pueden ayudar a mejorar la eficiencia y precisión de tus flujos de trabajo de anotación. Para obtener listas detalladas de funciones y guías, consulta nuestra documentación sobre herramientas de anotación de datos.
Link to this section¿Qué tipos de anotación de datos se utilizan comúnmente en visión artificial?#
Diferentes tipos de anotación de datos se adaptan a diversas tareas de visión artificial:
- Bounding Boxes (Cuadros delimitadores): Utilizados principalmente para la detección de objetos, son cajas rectangulares alrededor de objetos en 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 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 pose y la detección de puntos de referencia faciales.
Elegir el tipo de anotación adecuado depende de los requisitos de tu proyecto. Aprende más sobre cómo implementar estas anotaciones y sus formatos en nuestra guía de anotación de datos.