Ultralytics YOLO27:

Comprender los pasos clave de un proyecto de visión por ordenador#

Crear un proyecto de visión por ordenador implica seguir una secuencia clara de etapas: definir tus objetivos, recopilar y anotar datos, entrenar y evaluar un modelo, y desplegarlo y mantenerlo en producción. Esta guía recorre cada paso en orden y explica por qué es importante, para que puedas planificar y ejecutar tu propio proyecto con confianza.

La visión por ordenador es una rama de la inteligencia artificial (AI) que ayuda a los ordenadores a ver y comprender el mundo como lo hacen los seres humanos. Procesa y analiza imágenes o vídeos para extraer información, reconocer patrones y tomar decisiones basadas en esos datos.



Watch: How to Do Computer Vision Projects | A Step-by-Step Guide

Las técnicas de visión por ordenador, como la detección de objetos, la clasificación de imágenes y la segmentación de instancias, pueden aplicarse en diversos sectores, desde la conducción autónoma hasta la imagen médica, para obtener información valiosa.

Descripción general de un proyecto de visión por ordenador#

Antes de analizar los detalles de cada paso de un proyecto de visión por ordenador, veamos el proceso general. Si hoy empezaras un proyecto de visión por ordenador, seguirías estos pasos:

Computer Vision Project Steps Overview

Ahora que sabemos qué esperar, veamos directamente los pasos para poner tu proyecto en marcha.

Paso 1: Definir los objetivos de tu proyecto#

El primer paso de cualquier proyecto de visión por ordenador es definir claramente el problema que intentas resolver. Conocer el objetivo final te ayuda a empezar a crear una solución. Esto es especialmente importante en la visión por ordenador, porque el objetivo de tu proyecto determinará directamente en qué tarea de visión por ordenador debes centrarte.

Estos son algunos ejemplos de objetivos de proyectos y de las tareas de visión por ordenador que pueden utilizarse para alcanzarlos:

  • Objetivo: Desarrollar un sistema capaz de supervisar y gestionar el flujo de distintos tipos de vehículos en autopistas, mejorando la gestión y la seguridad del tráfico.

    • Tarea de visión por ordenador: La detección de objetos es ideal para supervisar el tráfico porque localiza e identifica varios vehículos de forma eficiente. Requiere menos recursos computacionales que la segmentación de imágenes, que proporciona un nivel de detalle innecesario para esta tarea, lo que permite realizar análisis más rápidos y en tiempo real.
  • Objetivo: Desarrollar una herramienta que ayude a los radiólogos proporcionando contornos precisos, a nivel de píxel, de los tumores en exploraciones de imagen médica.

    • Tarea de visión por ordenador: La segmentación de imágenes es adecuada para la imagen médica porque proporciona límites precisos y detallados de los tumores, fundamentales para evaluar su tamaño y forma y planificar el tratamiento.
  • Objetivo: Crear un sistema digital que categorice diversos documentos (por ejemplo, facturas, recibos y documentos legales) para mejorar la eficiencia de la organización y la recuperación de documentos.

    • Tarea de visión por ordenador: La clasificación de imágenes es ideal en este caso, ya que procesa un documento cada vez sin necesidad de tener en cuenta su posición en la imagen. Este enfoque simplifica y acelera el proceso de clasificación.

Seleccionar el modelo y el enfoque de entrenamiento adecuados#

Tras comprender el objetivo del proyecto y las tareas de visión por ordenador adecuadas, una parte esencial de la definición del objetivo consiste en seleccionar el modelo y el enfoque de entrenamiento adecuados.

Según el objetivo, puedes optar por seleccionar primero el modelo o hacerlo después de comprobar qué datos puedes recopilar en el Paso 2. Por ejemplo, supón que tu proyecto depende en gran medida de la disponibilidad de determinados tipos de datos. En ese caso, puede ser más práctico recopilar y analizar primero los datos antes de seleccionar un modelo. Por otro lado, si comprendes claramente los requisitos del modelo, puedes elegir primero el modelo y recopilar después datos que se ajusten a esas especificaciones.

Elegir entre entrenar desde cero o utilizar el aprendizaje por transferencia afecta a la forma de preparar tus datos. El entrenamiento desde cero requiere un conjunto de datos diverso para construir la comprensión del modelo desde el principio. El aprendizaje por transferencia, en cambio, te permite utilizar un modelo preentrenado y adaptarlo con un conjunto de datos más pequeño y específico. Además, elegir un modelo concreto para entrenarlo determinará cómo debes preparar tus datos, por ejemplo, cambiando el tamaño de las imágenes o añadiendo anotaciones según los requisitos específicos del modelo.

Training From Scratch Vs. Using Transfer Learning

Ten en cuenta el despliegue al elegir un modelo

Ten en cuenta el objetivo de despliegue de un modelo para garantizar la compatibilidad y el rendimiento. Por ejemplo, los modelos ligeros son ideales para la computación perimetral gracias a su eficiencia en dispositivos con recursos limitados.

Para obtener más información, consulta nuestra guía sobre cómo definir los objetivos de tu proyecto y seleccionar el modelo adecuado.

Antes de pasar al trabajo práctico de un proyecto de visión por ordenador, es importante comprender claramente estos detalles. Comprueba que has tenido en cuenta lo siguiente antes de pasar al Paso 2:

  • Define claramente el problema que intentas resolver.
  • Determina el objetivo final de tu proyecto.
  • Identifica la tarea específica de visión por ordenador necesaria (por ejemplo, detección de objetos, clasificación de imágenes o segmentación de imágenes).
  • Decide si vas a entrenar un modelo desde cero o utilizar aprendizaje por transferencia.
  • Selecciona el modelo adecuado para tu tarea y tus necesidades de despliegue.

Paso 2: Recopilación y anotación de datos#

La calidad de tus modelos de visión por ordenador depende de la calidad de tu conjunto de datos. Puedes recopilar imágenes de Internet, hacer tus propias fotografías o utilizar conjuntos de datos ya existentes. Estos son algunos recursos excelentes para descargar conjuntos de datos de alta calidad: Google Dataset Search Engine, UC Irvine Machine Learning Repository y Kaggle Datasets.

Algunas bibliotecas, como Ultralytics, ofrecen compatibilidad integrada con diversos conjuntos de datos, lo que facilita empezar a trabajar con datos de alta calidad. Estas bibliotecas suelen incluir utilidades para utilizar sin problemas conjuntos de datos populares, lo que puede ahorrarte mucho tiempo y esfuerzo en las etapas iniciales del proyecto.

Sin embargo, si optas por recopilar imágenes o hacer tus propias fotografías, tendrás que anotar tus datos. La anotación de datos es el proceso de etiquetar tus datos para transmitir conocimientos a tu modelo. El tipo de anotación de datos con el que trabajarás depende de tu técnica específica de visión por ordenador. Estos son algunos ejemplos:

  • Clasificación de imágenes: Etiquetarás la imagen completa como una única clase.
  • Detección de objetos: Dibujarás cuadros delimitadores alrededor de cada objeto de la imagen y etiquetarás cada cuadro.
  • Segmentación de imágenes: Etiquetarás cada píxel de la imagen según el objeto al que pertenezca, creando límites detallados de los objetos.

Bounding box, polygon, and keypoint annotations

La recopilación y anotación de datos puede requerir mucho trabajo manual y tiempo. Una herramienta de anotación específica lo agiliza: Ultralytics Platform proporciona un editor de anotaciones integrado con anotación inteligente basada en SAM para datos de detección, segmentación y OBB, y guarda las etiquetas directamente en formato YOLO.

Paso 3: Aumento de datos y división del conjunto de datos#

Después de recopilar y anotar los datos de tus imágenes, es importante dividir primero el conjunto de datos en conjuntos de entrenamiento, validación y prueba antes de realizar el aumento de datos. Dividir el conjunto de datos antes del aumento es crucial para probar y validar el modelo con datos originales sin modificar. Esto ayuda a evaluar con precisión hasta qué punto el modelo generaliza a datos nuevos que no ha visto.

Así puedes dividir tus datos:

  • Conjunto de entrenamiento: Es la parte más grande de tus datos, normalmente entre el 70 y el 80 % del total, y se utiliza para entrenar el modelo.
  • Conjunto de validación: Suele representar entre el 10 y el 15 % de tus datos; se utiliza para ajustar los hiperparámetros y validar el modelo durante el entrenamiento, lo que ayuda a evitar el sobreajuste.
  • Conjunto de prueba: El 10-15 % restante de tus datos se reserva como conjunto de prueba. Se utiliza para evaluar el rendimiento del modelo con datos que no ha visto una vez finalizado el entrenamiento.

Después de dividir tus datos, puedes realizar un aumento de datos aplicando transformaciones como rotar, cambiar la escala y voltear imágenes para aumentar artificialmente el tamaño del conjunto de datos. El aumento de datos hace que tu modelo sea más robusto frente a las variaciones y mejora su rendimiento con imágenes que no ha visto.

Data augmentation examples

Bibliotecas como OpenCV, Albumentations y TensorFlow ofrecen funciones flexibles de aumento que puedes utilizar. Además, algunas bibliotecas, como Ultralytics, disponen de ajustes de aumento integrados directamente en su función de entrenamiento del modelo, lo que simplifica el proceso.

Para comprender mejor tus datos, puedes utilizar herramientas como Matplotlib o Seaborn para visualizar las imágenes y analizar su distribución y características. Visualizar tus datos ayuda a identificar patrones, anomalías y la eficacia de tus técnicas de aumento. La pestaña Charts de Ultralytics Platform puede mostrar muchos de estos datos sin escribir código, generando automáticamente la distribución de las divisiones, el recuento de clases, histogramas de dimensiones de las imágenes y mapas de calor de la posición de las anotaciones para cada conjunto de datos subido.

Al comprender, dividir y aumentar correctamente tus datos, puedes desarrollar un modelo bien entrenado, validado y probado que funcione correctamente en aplicaciones del mundo real.

Paso 4: Entrenamiento del modelo#

Una vez que tu conjunto de datos esté listo para el entrenamiento, puedes centrarte en configurar el entorno necesario, gestionar tus conjuntos de datos y entrenar tu modelo.

Primero, tendrás que asegurarte de que tu entorno está configurado correctamente. Normalmente, esto incluye lo siguiente:

  • Instalar bibliotecas y marcos de trabajo esenciales como TensorFlow, PyTorch o Ultralytics.
  • Si utilizas una GPU, instalar bibliotecas como CUDA y cuDNN ayudará a habilitar la aceleración de la GPU y a agilizar el proceso de entrenamiento.

Después, puedes cargar los conjuntos de datos de entrenamiento y validación en tu entorno. Normaliza y preprocesa los datos cambiando el tamaño, convirtiendo el formato o aplicando aumento. Una vez seleccionado el modelo, configura las capas y especifica los hiperparámetros. Compila el modelo estableciendo la función de pérdida, el optimizador y las métricas de rendimiento.

Bibliotecas como Ultralytics simplifican el proceso de entrenamiento. Puedes iniciar el entrenamiento introduciendo datos en el modelo con un mínimo de código. Estas bibliotecas gestionan automáticamente los ajustes de pesos, la retropropagación y la validación. También ofrecen herramientas para supervisar el progreso y ajustar fácilmente los hiperparámetros. Después del entrenamiento, guarda el modelo y sus pesos con unos pocos comandos.

Es importante tener en cuenta que una gestión adecuada del conjunto de datos es fundamental para un entrenamiento eficiente. Utiliza el control de versiones para los conjuntos de datos, de modo que puedas realizar un seguimiento de los cambios y garantizar la reproducibilidad. Herramientas como DVC (Control de versiones de datos) pueden ayudarte a gestionar conjuntos de datos grandes.

Paso 5: Evaluación y ajuste fino del modelo#

Es importante evaluar el rendimiento de tu modelo utilizando diversas métricas y perfeccionarlo para mejorar la precisión. La evaluación ayuda a identificar los aspectos en los que el modelo destaca y aquellos en los que puede necesitar mejoras. El ajuste fino garantiza que el modelo esté optimizado para obtener el mejor rendimiento posible.

  • Métricas de rendimiento: Utiliza métricas como la precisión, la precisión positiva, la exhaustividad y la puntuación F1 para evaluar el rendimiento de tu modelo. Estas métricas proporcionan información sobre la calidad de las predicciones del modelo.
  • Ajuste de hiperparámetros: Ajusta los hiperparámetros para optimizar el rendimiento del modelo. Técnicas como la búsqueda en cuadrícula o la búsqueda aleatoria pueden ayudar a encontrar los mejores valores de los hiperparámetros.
  • Ajuste fino: Realiza pequeños cambios en la arquitectura del modelo o en el proceso de entrenamiento para mejorar el rendimiento. Esto puede implicar modificar las tasas de aprendizaje, los tamaños de lote u otros parámetros del modelo.

Para comprender mejor las técnicas de evaluación y ajuste fino de modelos, consulta nuestra guía de información sobre la evaluación de modelos.

Paso 6: Prueba del modelo#

Las pruebas del modelo confirman que funciona correctamente con datos completamente nuevos y verifican que está listo para el despliegue. La diferencia entre probar y evaluar un modelo es que las pruebas se centran en verificar el rendimiento del modelo final, en lugar de mejorarlo de forma iterativa.

Es importante probar y depurar exhaustivamente cualquier problema habitual que pueda surgir. Prueba tu modelo con un conjunto de datos de prueba independiente que no se haya utilizado durante el entrenamiento ni la validación. Este conjunto de datos debe representar situaciones del mundo real para garantizar que el rendimiento del modelo sea coherente y fiable.

Aborda también problemas habituales como el sobreajuste, el subajuste y la fuga de datos. Utiliza técnicas como la validación cruzada y la detección de anomalías para identificar y solucionar estos problemas. Para conocer estrategias de prueba exhaustivas, consulta nuestra guía de pruebas de modelos.

Paso 7: Despliegue del modelo#

Una vez que hayas probado a fondo tu modelo, es hora de desplegarlo. El despliegue de modelos consiste en poner el modelo a disposición para su uso en un entorno de producción. Estos son los pasos para desplegar un modelo de visión por ordenador:

  • Configuración del entorno: Configura la infraestructura necesaria para la opción de despliegue que hayas elegido, ya sea basada en la nube (AWS, Google Cloud, Azure) o en el perímetro (dispositivos locales, IoT).
  • Exportación del modelo: Exporta tu modelo al formato adecuado (por ejemplo, ONNX, TensorRT o CoreML para YOLO26) para garantizar la compatibilidad con tu plataforma de despliegue.
  • Despliegue del modelo: Despliega el modelo configurando API o endpoints e integrándolo con tu aplicación.
  • Garantía de escalabilidad: Implementa equilibradores de carga, grupos de escalado automático y herramientas de supervisión para gestionar los recursos y atender el aumento de datos y solicitudes de los usuarios.

Para obtener instrucciones más detalladas sobre estrategias de despliegue y prácticas recomendadas, consulta nuestra guía de prácticas de despliegue de modelos. Ultralytics Platform también proporciona endpoints de despliegue gestionados con escalado automático en 42 regiones de todo el mundo, y se encarga automáticamente de configurar la infraestructura.

Paso 8: Supervisión, mantenimiento y documentación#

Una vez desplegado el modelo, es importante supervisar continuamente su rendimiento, mantenerlo para resolver cualquier problema y documentar todo el proceso para futuras consultas y mejoras.

Las herramientas de supervisión pueden ayudarte a realizar un seguimiento de los indicadores clave de rendimiento (KPIs) y detectar anomalías o descensos en la precisión. Al supervisar el modelo, puedes estar al tanto de la deriva del modelo, que se produce cuando su rendimiento disminuye con el tiempo debido a cambios en los datos de entrada. Vuelve a entrenar periódicamente el modelo con datos actualizados para mantener su precisión y relevancia.

Model monitoring and maintenance lifecycle

Además de la supervisión y el mantenimiento, la documentación también es fundamental. Documenta exhaustivamente todo el proceso, incluida la arquitectura del modelo, los procedimientos de entrenamiento, los hiperparámetros, los pasos de preprocesamiento de datos y cualquier cambio realizado durante el despliegue y el mantenimiento. Una buena documentación garantiza la reproducibilidad y facilita futuras actualizaciones o la resolución de problemas. Al supervisar, mantener y documentar eficazmente tu modelo, puedes garantizar que siga siendo preciso, fiable y fácil de gestionar durante todo su ciclo de vida.

Participación en la comunidad#

Conectar con una comunidad de aficionados a la visión por ordenador puede ayudarte a abordar con confianza cualquier problema que encuentres mientras trabajas en tu proyecto de visión por ordenador. Estas son algunas formas de aprender, solucionar problemas y establecer contactos de forma eficaz.

Recursos de la comunidad#

  • GitHub Issues: Consulta el repositorio de YOLO26 en GitHub y utiliza la pestaña Issues para hacer preguntas, informar de errores y sugerir nuevas funciones. La comunidad activa y los mantenedores están ahí para ayudarte con problemas específicos.
  • Servidor de Discord de Ultralytics: Únete al servidor de Discord de Ultralytics para interactuar con otros usuarios y desarrolladores, recibir asistencia y compartir conocimientos.

Documentación oficial#

  • Documentación de Ultralytics YOLO26: Consulta la documentación oficial de YOLO26 para encontrar guías detalladas con consejos útiles sobre distintas tareas y proyectos de visión por ordenador.

Utilizar estos recursos te ayudará a superar los retos y mantenerte al día de las últimas tendencias y prácticas recomendadas de la comunidad de visión por ordenador.

Siguientes pasos#

Ahora tienes una hoja de ruta para cada etapa de un proyecto de visión por ordenador, desde la definición de objetivos hasta la supervisión de un modelo desplegado. Ponla en práctica entrenando tu primer modelo YOLO o profundiza en cualquier etapa mediante las guías enlazadas anteriormente. Para ejecutar todo el flujo sin escribir código, explora Ultralytics Platform.

Preguntas frecuentes#

  • Elegir la tarea de visión por ordenador adecuada depende del objetivo final de tu proyecto. Por ejemplo, si quieres supervisar el tráfico, la detección de objetos es adecuada, ya que puede localizar e identificar varios tipos de vehículos en tiempo real. Para la imagen médica, la segmentación de imágenes es ideal para proporcionar límites detallados de los tumores, lo que ayuda en el diagnóstico y la planificación del tratamiento. Obtén más información sobre tareas específicas como la detección de objetos, la segmentación de instancias, la segmentación semántica y la clasificación de imágenes.

  • La anotación de datos es fundamental para enseñar a tu modelo a reconocer patrones. El tipo de anotación varía según la tarea:

    • Clasificación de imágenes: La imagen completa se etiqueta como una única clase.
    • Detección de objetos: Se dibujan cuadros delimitadores alrededor de los objetos.
    • Segmentación de imágenes: Cada píxel se etiqueta según el objeto al que pertenece.

    El editor de anotaciones integrado en Ultralytics Platform puede ayudarte en este proceso. Para obtener más información, consulta nuestra guía de recopilación y anotación de datos.

  • Dividir tu conjunto de datos antes del aumento de datos ayuda a validar el rendimiento del modelo con datos originales sin alterar. Sigue estos pasos:

    • Conjunto de entrenamiento: 70-80 % de tus datos.
    • Conjunto de validación: 10-15 % para el ajuste de hiperparámetros.
    • Conjunto de prueba: el 10-15 % restante para la evaluación final.

    Después de dividir los datos, aplica técnicas de aumento de datos, como rotación, escalado y volteo, para aumentar la diversidad del conjunto de datos. Bibliotecas como Albumentations y OpenCV pueden ayudarte. Ultralytics también ofrece ajustes de aumento integrados para mayor comodidad.

  • Exporta tu modelo entrenado con el método export, seleccionando un formato que se ajuste a tu destino de implementación. Ultralytics admite varios formatos, incluidos ONNX, TensorRT y CoreML. Para exportar tu modelo YOLO26, sigue estos pasos:

    • Usa el método export con el parámetro de formato deseado.
    • Asegúrate de que el modelo exportado se ajuste a las especificaciones de tu entorno de implementación (por ejemplo, dispositivos periféricos o la nube).

    Para obtener más información, consulta la guía de exportación de modelos.

  • La supervisión y el mantenimiento continuos son esenciales para el éxito del modelo a largo plazo. Implementa herramientas para realizar un seguimiento de los indicadores clave de rendimiento (KPIs) y detectar anomalías. Vuelve a entrenar el modelo periódicamente con datos actualizados para contrarrestar la deriva del modelo. Documenta todo el proceso, incluida la arquitectura del modelo, los hiperparámetros y los cambios, para garantizar la reproducibilidad y facilitar futuras actualizaciones. Obtén más información en nuestra guía de supervisión y mantenimiento.

Comentarios