Yolo Vision Shenzhen
Shenzhen
Únete ahora

Gestión inteligente de conjuntos de datos en visión artificial con Ultralytics

Descubre cómo puedes utilizar Ultralytics para gestionar mejor tus conjuntos de datos en tus proyectos de visión artificial. Realiza un seguimiento, compara y mejora tus conjuntos de datos con facilidad.

Amplíe sus proyectos de visión artificial con Ultralytics.

Comience ahora

La IA aplicada a la visión, o visión artificial, ha avanzado mucho desde sus inicios, pasando de ser una investigación experimental a convertirse en una tecnología clave que impulsa aplicaciones en el mundo real. Hoy en día, los entusiastas de la IA pueden crear potentes modelos para tareas como la detección de objetos y la segmentación de instancias utilizando herramientas y marcos de trabajo accesibles.

Sin embargo, a medida que estas aplicaciones pasan de la fase experimental a la de producción, la gestión de los conjuntos de datos sigue siendo un reto fundamental que, a menudo, se pasa por alto. A medida que los conjuntos de datos de visión artificial aumentan en tamaño y complejidad, los equipos suelen tener dificultades para mantener la coherencia en las anotaciones, track entre versiones y garantizar la calidad general de los datos.

Incluso los modelos más avanzados pueden ofrecer un rendimiento inferior al esperado en entornos reales si los datos con los que se han entrenado son incompletos, desequilibrados o están mal gestionados. Esta brecha cada vez mayor entre el rendimiento en fase de desarrollo y la fiabilidad en el mundo real es la razón por la que se necesita un enfoque más estructurado para la gestión de conjuntos de datos.

Otra limitación habitual es que la recopilación de datos, la anotación y el entrenamiento suelen gestionarse mediante herramientas distintas. Un flujo de trabajo fragmentado dificulta la gestión eficiente de los conjuntos de datos, aumenta el riesgo de inconsistencias y ralentiza el proceso de iteración.

Para resolver los cuellos de botella de la IA aplicada a la visión, como la gestión de conjuntos de datos y los flujos de trabajo fragmentados, hemos lanzado recientemente Ultralytics . Se trata de un espacio de trabajo integral que reúne la gestión de conjuntos de datos, la anotación, el entrenamiento, la implementación y la supervisión en un único flujo de trabajo unificado. 

Al conectar cada etapa del ciclo de vida de la visión artificial, resulta más fácil track los cambios track , comparar el rendimiento entre versiones y perfeccionar continuamente los datos para obtener mejores resultados.

Fig. 1. Ejemplo de visualización de las imágenes de un conjunto de datos en Ultralytics (Fuente)

En este artículo, veremos cómo Ultralytics te ayuda a track, comparar y mejorar tus conjuntos de datos para crear modelos de visión artificial más fiables. ¡Empecemos! 

La importancia de la gestión de conjuntos de datos en la visión artificial

El rendimiento de un modelo de visión artificial está estrechamente relacionado con los datos con los que se entrena. La precisión del modelo, es decir, la frecuencia con la que las predicciones son correctas, no depende solo del algoritmo, sino también de hasta qué punto el conjunto de datos refleja las condiciones del mundo real. 

En pocas palabras, un modelo aprende patrones directamente de los datos, por lo que cualquier laguna, sesgo o inconsistencia en el conjunto de datos puede influir en la forma en que realiza sus predicciones. Dicho de otro modo, unos datos de mala calidad, unas anotaciones incorrectas o una cobertura limitada de las variaciones del mundo real en las imágenes —como las diferentes condiciones de iluminación, los ángulos de los objetos, los fondos o los niveles de oclusión— pueden reducir significativamente la precisión, incluso si la arquitectura del modelo en sí es sólida.

Esto también se aplica al ajuste fino de un modelo, en el que un modelo preentrenado se entrena adicionalmente con datos nuevos o actualizados para adaptarlo mejor a un caso de uso o entorno específico. Dado que la precisión del modelo depende en gran medida de los datos, resulta fundamental gestionar dichos datos de forma adecuada. 

La gestión de conjuntos de datos consiste en organizar, etiquetar y actualizar continuamente los datos para que sigan siendo precisos y relevantes. Esto facilita la mejora del rendimiento a lo largo del tiempo, especialmente al volver a entrenar o ajustar los modelos con nuevos datos.

Cómo influye la calidad de los conjuntos de datos en la fiabilidad en la vida real

Los casos de uso de la visión artificial, como los sistemas de vigilancia de seguridad, son un buen ejemplo de por qué es fundamental una gestión adecuada de los datos. Estos sistemas deben funcionar de forma fiable en una amplia variedad de condiciones reales, incluyendo diferentes entornos de iluminación, ángulos de cámara, niveles de aglomeración y obstrucciones parciales.

Si los datos de entrenamiento no abarcan estas variaciones o carecen de diversidad en cuanto a la forma en que los objetos se presentan en diferentes escenas y condiciones, es posible que el modelo tenga dificultades para detect con precisión. Por ejemplo, un modelo entrenado principalmente con escenas bien iluminadas y despejadas puede funcionar mal en entornos con poca luz o en lugares concurridos. En los sistemas de seguridad, esto puede dar lugar a que se pasen por alto incidentes o se generen falsas alertas.

Para evitarlo, es importante mantener conjuntos de datos que no solo estén limpios y etiquetados con precisión, sino que también estén bien equilibrados y se actualicen continuamente. Esto implica identificar las lagunas en los datos, añadir nuevos ejemplos a medida que cambian las condiciones y asegurarse de que las diferentes clases y entornos estén representados de manera equilibrada. 

Con un conjunto de datos más completo y estructurado, los modelos están mejor preparados para hacer frente a la variabilidad del mundo real y generar predicciones más fiables.

Aspectos clave de la gestión de conjuntos de datos

Entonces, ¿en qué consiste realmente la gestión de conjuntos de datos? Implica organizar, etiquetar y mantener los datos para que puedan utilizarse de forma eficaz a lo largo de todo el proceso de desarrollo del modelo.

La organización de los datos, por ejemplo, consiste en estructurar el conjunto de datos y dividirlo en conjuntos de entrenamiento, validación y prueba. El conjunto de entrenamiento se utiliza para entrenar el modelo, el conjunto de validación sirve para supervisar el rendimiento y orientar los ajustes durante el desarrollo, y el conjunto de prueba se utiliza para evaluar el rendimiento del modelo final con datos completamente desconocidos.

Por otra parte, el etiquetado consiste en anotar imágenes con datos como etiquetas de clase, cuadros delimitadores o máscaras de segmentación. Dado que el modelo aprende a partir de estas anotaciones, la precisión y la coherencia son fundamentales para que pueda aprender patrones significativos y realizar predicciones fiables.

Además, el mantenimiento del conjunto de datos implica revisar y actualizar los datos a lo largo del tiempo. Esto puede incluir corregir errores en las anotaciones, eliminar datos de baja calidad o duplicados, y añadir nuevos ejemplos para cubrir los casos que faltan o las condiciones cambiantes. 

En términos más generales, la gestión de conjuntos de datos es un proceso continuo. A medida que se evalúan los modelos y se recopilan nuevos datos, es necesario actualizar los conjuntos de datos para que reflejen las condiciones del mundo real y los casos extremos. El seguimiento de estas actualizaciones y la comparación de las diferentes versiones ayudan a los equipos a comprender qué factores mejoran el rendimiento y en qué aspectos es necesario introducir cambios adicionales.

Gestión de conjuntos de datos con Ultralytics

Ultralytics ofrece un flujo de trabajo estructurado para gestionar conjuntos de datos en un único entorno, que abarca desde la preparación de los datos hasta su exportación. Está diseñada para dar soporte tanto a desarrolladores individuales como a equipos, lo que facilita la gestión coherente de los conjuntos de datos, tanto si se trabaja de forma independiente como si se colabora en distintos proyectos.

Cada etapa está diseñada para simplificar la forma en que se organizan, procesan y utilizan los conjuntos de datos a lo largo del ciclo de vida del desarrollo del modelo. Al reunir estos pasos en un solo lugar, la plataforma reduce la fragmentación y facilita el mantenimiento de la coherencia en todos los flujos de trabajo.

A continuación, repasaremos los pasos clave del proceso y cómo la plataforma facilita cada uno de ellos.

Subir conjuntos de datos a Ultralytics

Empezar a trabajar con conjuntos de datos en la plataforma es muy flexible, ya que hay múltiples formas de importar o reutilizar datos. Puedes subir tus propios datos o empezar más rápido utilizando los conjuntos de datos públicos disponibles a través de la plataforma. También puedes clonar conjuntos de datos existentes compartidos por la comunidad y desarrollar tu propio proyecto a partir de ellos.

Las funciones comunitarias de la plataforma facilitan la exploración y la reutilización de trabajos ya existentes. Al tener acceso a conjuntos de datos creados por otros usuarios, que incluyen millones de imágenes y anotaciones, puedes ponerte en marcha rápidamente sin tener que recopilar y etiquetar todo tú mismo. Al clonar un conjunto de datos, se crea una copia en tu espacio de trabajo, lo que te permite modificarlo y ampliarlo sin alterar el original.

En cuanto a las subidas, la plataforma admite imágenes individuales, vídeos y archivos de conjuntos de datos, como archivos ZIP, TAR o GZ. También es compatible con formatos de conjuntos de datos muy utilizados, como YOLO COCO, lo que facilita la importación de conjuntos de datos y anotaciones existentes sin necesidad de conversiones adicionales. Además, puedes subir un conjunto de datos utilizando un archivo NDJSON exportado desde la plataforma, lo que permite recrear o reutilizar conjuntos de datos en distintos proyectos sin ningún problema.

Una vez cargados los datos, la plataforma los procesa a través de un flujo de trabajo estructurado. Esto incluye la validación de los formatos y tamaños de los archivos, el redimensionamiento de las imágenes cuando sea necesario, el análisis de las anotaciones y la generación de estadísticas del conjunto de datos.

Por ejemplo, los vídeos se convierten en fotogramas para poder utilizarlos en el entrenamiento, mientras que las imágenes se optimizan y se preparan para facilitar su visualización y análisis. Tras el procesamiento, los conjuntos de datos quedan listos para su uso en la anotación, el análisis y el entrenamiento de modelos dentro de la plataforma.

Anotación de datos en Ultralytics

Una vez cargados, los conjuntos de datos pueden revisarse y anotarse directamente en la plataforma. La plataforma incluye herramientas integradas de anotación de imágenes para diversas tareas de visión artificial, como la detección de objetos, la segmentación de instancias, la estimación de poses, la detección de cuadros delimitadores orientados (OBB) y la clasificación de imágenes.

Fig. 2. Uso de Ultralytics para el etiquetado de datos (Fuente)

Las anotaciones se pueden crear manualmente con estas herramientas o agilizar mediante funciones asistidas por IA, como la anotación inteligente SAM. Con SAM, puedes generar máscaras, cuadros delimitadores o cuadros orientados interactuando con la imagen, lo que ayuda a acelerar el proceso de etiquetado sin perder precisión.

Análisis de la calidad de los conjuntos de datos mediante Ultralytics

Además de preparar y anotar los datos, comprender la calidad del conjunto de datos es fundamental para crear modelos de visión artificial fiables. Sin una visión clara de factores como la distribución de clases, la calidad de las anotaciones, la división del conjunto de datos y la forma en que se representan los datos en diferentes condiciones, puede resultar difícil detectar los problemas que afectan al rendimiento del modelo.

Ultralytics incluye funciones integradas que ayudan a analizar los conjuntos de datos de forma más eficaz. Esta información está disponible directamente en la interfaz del conjunto de datos, en pestañas como «Imágenes», «Clases» y «Gráficos».

En la pestaña «Gráficos», puedes consultar estadísticas a nivel de conjunto de datos, como la distribución de la división (entrenamiento, validación y prueba), la frecuencia de clases y los mapas de calor de anotaciones, que muestran dónde aparecen los objetos dentro de las imágenes. 

La pestaña «Clases» ofrece un desglose del número de anotaciones por clase, lo que facilita la detección de desequilibrios entre clases. Por su parte, la pestaña «Imágenes» muestra detalles a nivel de imagen, como las dimensiones, el número de anotaciones y la distribución de las etiquetas en cada imagen.

Esta información facilita la identificación de problemas como el desequilibrio entre clases, la falta de escenarios o la distribución desigual de los datos. Por ejemplo, es posible que observes que ciertas clases tienen muy pocos ejemplos o que la mayoría de las anotaciones se concentran en zonas específicas de una imagen.

Más allá del análisis de datos, la plataforma permite la curación y el enriquecimiento de los conjuntos de datos, lo que significa perfeccionarlos corrigiendo o eliminando datos problemáticos y creando variaciones de los datos existentes para mejorar el rendimiento de los modelos. Estas mejoras pueden realizarse directamente en la plataforma actualizando las anotaciones, añadiendo nuevos datos o reorganizando la división de los conjuntos de datos en función de los resultados del análisis.

Exportación de conjuntos de datos desde Ultralytics

Una vez que el conjunto de datos está preparado y validado, se puede exportar para utilizarlo en diferentes entornos. Esto te ofrece la flexibilidad de utilizar tus datos de visión artificial donde prefieras, ya sea para entrenar modelos de forma local, en la nube o en otras herramientas y flujos de trabajo.

Ultralytics es compatible con múltiples formatos de exportación, entre ellos YOLO, COCO y NDJSON, lo que facilita la integración de conjuntos de datos en diferentes flujos de trabajo y herramientas de entrenamiento.

Fig. 3. Exportación de un conjunto de datos desde Ultralytics (Fuente)

Al exportar un conjunto de datos se crea una instantánea fija de los datos en un momento concreto, incluyendo sus imágenes, anotaciones y estructura. Esto resulta útil porque los conjuntos de datos suelen cambiar a medida que se añaden nuevos datos, se actualizan las anotaciones o se ajustan las divisiones. Al exportar una instantánea, puedes conservar la versión exacta del conjunto de datos utilizada para una sesión de entrenamiento concreta.

Esto facilita la reproducción de los resultados más adelante, ya que permite volver a entrenar un modelo con la misma configuración de datos y comparar el rendimiento entre diferentes versiones del conjunto de datos. Por ejemplo, permite evaluar si añadir nuevas imágenes o corregir las anotaciones mejora realmente la precisión del modelo, en lugar de tener que adivinar qué ha cambiado.

Las exportaciones se gestionan de forma asíncrona y, una vez listas, los conjuntos de datos se pueden descargar y utilizar en entornos de entrenamiento locales, en la nube o sin conexión.

Mejora de la calidad de los conjuntos de datos mediante iteraciones en Ultralytics

En los flujos de trabajo de aprendizaje automático y aprendizaje profundo, la gestión de conjuntos de datos continúa incluso después de la implementación, ya que los datos del mundo real suelen diferir de los utilizados durante el entrenamiento. 

A medida que los modelos se enfrentan a nuevos datos, las lagunas en el conjunto de datos —como la ausencia de condiciones tales como entornos con poca luz, diferentes ángulos de cámara, oclusiones o escenas con mucha gente—, así como los errores de anotación, se hacen más evidentes, lo que hace necesario refinar los datos con el paso del tiempo.

Hay varias formas de mejorar un conjunto de datos. Se pueden añadir nuevas imágenes o vídeos para cubrir condiciones que faltan, como entornos con poca luz, diferentes ángulos de cámara, obstrucciones o escenas con mucha gente, lo que ayuda a reducir los puntos ciegos en los datos. 

Al mismo tiempo, garantizar que las anotaciones sean precisas y coherentes —por ejemplo, que los objetos estén correctamente etiquetados y que los rectángulos delimitadores o las máscaras sean precisos— ayuda al modelo a aprender patrones más fiables.

Esto suele seguir un ciclo sencillo: entrenar el modelo, evaluar los resultados, identificar los errores, mejorar el conjunto de datos y volver a entrenar el modelo. Cada paso ayuda a poner de manifiesto problemas como anotaciones incorrectas, datos que faltan o casos infrarrepresentados.

Imaginemos que estás trabajando en un sistema de monitorización de estanterías en tiempo real que se utiliza para detect en las tiendas. Es posible que las primeras versiones del conjunto de datos no incluyan determinados tipos de productos, condiciones de iluminación o disposiciones de estanterías muy abarrotadas. Durante la evaluación, es posible que observes que el modelo tiene dificultades para detect en estas situaciones.

Para mejorar el rendimiento, puedes recopilar nuevas imágenes que cubran estos casos que faltan y actualizar las anotaciones cuando sea necesario. Con el tiempo, repetir este proceso ayuda a que el modelo sea más preciso y fiable en condiciones reales.

Ultralytics facilita este flujo de trabajo al vincular las actualizaciones de los conjuntos de datos con el entrenamiento y la evaluación. Gracias a las funciones integradas de seguimiento de experimentos y a las métricas de rendimiento, resulta más fácil supervisar el progreso y mejorar continuamente los conjuntos de datos a lo largo del tiempo.

Seguimiento de los cambios en los conjuntos de datos mediante Ultralytics

Ya hemos comentado brevemente cómo evolucionan los conjuntos de datos con el tiempo como parte del proceso de desarrollo de modelos. A medida que se añaden nuevos datos, se perfeccionan las anotaciones y se actualizan las clases, llevar track estos cambios resulta fundamental para mantener la calidad de los datos y garantizar un rendimiento constante del modelo.

Estas son algunas de las funciones clave Ultralytics que permiten el seguimiento de conjuntos de datos y el control de versiones:

  • Control de versiones de conjuntos de datos: Puedes crear versiones fijas de conjuntos de datos como instantáneas NDJSON. Cada versión recoge datos clave, como el número de imágenes, el número de clases, el número de anotaciones y el tamaño del conjunto de datos en un momento concreto. Estas versiones se almacenan y se pueden descargar posteriormente, lo que facilita la reproducción de experimentos y la comparación de resultados entre diferentes estados del conjunto de datos.
  • Pestaña «Versiones»: Todas las versiones del conjunto de datos se organizan en la pestaña «Versiones», donde puedes consultar el historial de versiones, añadir descripciones a los cambios y track del conjunto de datos a lo largo del tiempo.
  • Vinculación con modelos: La pestaña «Modelos» muestra todos los modelos entrenados con un conjunto de datos, incluyendo métricas como mAP los detalles del entrenamiento. Las versiones del conjunto de datos están vinculadas a las ejecuciones de entrenamiento, lo que te ayuda a comprender cómo los cambios en los datos afectan al rendimiento del modelo.
  • Pestaña «Errores»: La pestaña «Errores» destaca los archivos que han dado error durante el procesamiento, junto con los detalles del error y sugerencias. Esto te permite identificar y solucionar problemas como archivos dañados o formatos no compatibles antes del entrenamiento.
  • Interfaz del conjunto de datos (pestañas «Imágenes» y «Clases»): Estas vistas te permiten explorar imágenes, revisar anotaciones, gestionar etiquetas de clases y analizar la distribución de clases. Funciones como el filtrado, la ordenación y la identificación de imágenes sin anotar facilitan el seguimiento de la calidad del conjunto de datos a lo largo del tiempo.
  • Estadísticas y gráficos: Las visualizaciones de datos integradas, como la distribución por segmentos, la frecuencia de clases y los mapas de calor de anotaciones, ayudan a track en la distribución de los datos y a identificar desequilibrios a medida que evoluciona el conjunto de datos.
Fig. 4. Una visión general del análisis de la distribución de clases de un conjunto de datos en Ultralytics (Fuente)

Integración de conjuntos de datos con el entrenamiento y la implementación en la Ultralytics

Ultralytics integra las distintas fases del desarrollo de modelos de IA en un único flujo de trabajo. Esto agiliza el proceso que va desde los datos brutos hasta las aplicaciones de IA de visión listas para su implementación.

Una vez que los conjuntos de datos están preparados y etiquetados, pueden utilizarse para entrenar modelos de visión artificial, como Ultralytics , directamente desde la plataforma. Durante el entrenamiento, puedes supervisar las métricas de rendimiento, track y evaluar el progreso del aprendizaje del modelo mediante los paneles de control integrados.

Fig. 5. Vista general de las métricas de entrenamiento de modelos en Ultralytics (Fuente)

Una vez entrenados, los modelos pueden probarse con nuevas imágenes directamente en el navegador para evaluar las predicciones e identificar aspectos que deben mejorarse antes de su implementación. Cuando el modelo funciona correctamente, puede implementarse en producción. 

La plataforma permite exportar modelos a múltiples formatos o implementarlos a través de servicios de inferencia y puntos de conexión específicos, lo que permite ejecutarlos en distintos entornos.

Una vez implementadas, las herramientas de supervisión integradas permiten track del rendimiento track a lo largo del tiempo, incluyendo métricas relacionadas con el uso y el comportamiento del modelo. Esto facilita el mantenimiento y la mejora de los sistemas de IA de visión en aplicaciones del mundo real.

Buenas prácticas para la gestión de conjuntos de datos con Ultralytics

A continuación, te indicamos algunos factores clave que debes tener en cuenta al gestionar tus conjuntos de datos mediante la Ultralytics :

  • Utiliza filtros para detectar lagunas: identifica los datos sin etiquetar o infrarrepresentados mediante herramientas de filtrado, lo que facilita la finalización de las anotaciones y mejora la cobertura.
  • Corrige los errores desde el principio: utiliza la pestaña «Errores» para el control de calidad y detecta las subidas fallidas, los archivos dañados o los formatos no compatibles antes del entrenamiento.
  • Actualiza los conjuntos de datos de forma continua: añade nuevos datos, corrige las anotaciones e incluye los casos extremos a medida que surjan. Esto ayuda a mejorar la cobertura y garantiza que los modelos funcionen de forma fiable en situaciones reales.
  • Gestiona con cuidado la división del conjunto de datos: asegúrate de que haya un buen equilibrio entre los conjuntos de entrenamiento, validación y prueba. Puedes reorganizar las divisiones manualmente o utilizar la redistribución automática cuando sea necesario.

Para obtener más información sobre Ultralytics , consulta la Ultralytics oficial Ultralytics .

Conclusiones clave

A medida que los proyectos de visión artificial van creciendo, la gestión eficaz de los conjuntos de datos cobra tanta importancia como el desarrollo de los modelos. Un enfoque estructurado de la gestión de los conjuntos de datos contribuye a mejorar la calidad de los datos, agilizar los flujos de trabajo y garantizar un mejor rendimiento de los modelos a lo largo del tiempo.

Ultralytics simplifica este proceso al integrar la gestión de conjuntos de datos, el entrenamiento y la implementación en un único flujo de trabajo. Al adoptar un enfoque estructurado para la gestión de conjuntos de datos, los equipos pueden reducir la complejidad, mejorar la eficiencia y crear sistemas de visión artificial más escalables y fiables.

Únete a nuestra comunidad en expansión y explora nuestro repositorio de GitHub para acceder a recursos sobre IA. Si quieres desarrollar soluciones de IA visual hoy mismo, consulta nuestras opciones de licencia. Descubre cómo la IA está transformando la agricultura y cómo la IA visual está dando forma al futuro de la asistencia sanitaria visitando nuestras páginas de soluciones.

¡Construyamos juntos el futuro de la IA!

Comience su viaje con el futuro del aprendizaje automático