Ir al contenido

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

Introducción

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



Observa: Cómo hacer Visión por ordenador Proyectos | Guía paso a paso

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 a diversos sectores, desde la conducción autónoma a la obtención de imágenes médicas, para obtener información valiosa.

Trabajar en tus propios proyectos de visión por computador es una gran manera de entender y aprender más sobre la visión por computador. Sin embargo, un proyecto de visión por computador puede constar de muchos pasos, y puede parecer confuso al principio. Al final de esta guía, estarás familiarizado con los pasos involucrados en un proyecto de visión por computador. Vamos a recorrer todo, desde el principio hasta el final de un proyecto, explicando por qué cada parte es importante. Empecemos y hagamos que tu proyecto de visión por computador sea un éxito.

Visión general de un proyecto de visión por ordenador

Antes de discutir los detalles de cada paso de un proyecto de visión artificial, veamos el proceso general. Si empezaras hoy un proyecto de visión por computador, seguirías los siguientes pasos:

  • Su primera prioridad sería entender los requisitos de su proyecto.
  • A continuación, recopilarías y etiquetarías con precisión las imágenes que te ayudarán a entrenar tu modelo.
  • A continuación, se limpian los datos y se aplican técnicas de aumento para prepararlos para el entrenamiento del modelo.
  • Una vez entrenado el modelo, hay que probarlo y evaluarlo a fondo para asegurarse de que funcione de forma coherente en distintas condiciones.
  • Por último, implantarías tu modelo en el mundo real y lo actualizarías en función de los nuevos conocimientos y comentarios.

Visión por computador Pasos del proyecto

Ahora que ya sabemos lo que nos espera, pasemos directamente a los pasos necesarios para que su proyecto avance.

Paso 1: Definir los objetivos del proyecto

El primer paso en cualquier proyecto de visión por ordenador es definir claramente el problema que se intenta resolver. Conocer el objetivo final ayuda a empezar a construir una solución. Esto es especialmente cierto cuando se trata de visión por computador, porque el objetivo de tu proyecto afectará directamente a la tarea de visión por computador en la que tengas que centrarte.

A continuación se presentan algunos ejemplos de objetivos de proyectos y las tareas de visión artificial que pueden utilizarse para alcanzar dichos objetivos:

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

    • Tarea de visión por ordenador: La detección de objetos es ideal para la vigilancia del tráfico porque localiza e identifica eficazmente varios vehículos. Es menos exigente desde el punto de vista computacional que la segmentación de imágenes, que proporciona detalles innecesarios para esta tarea, lo que garantiza un análisis más rápido y en tiempo real.
  • Objetivo: Desarrollar una herramienta que asista a los radiólogos proporcionando contornos precisos a nivel de píxel de los tumores en las exploraciones de imágenes médicas.

    • Tarea de visión por ordenador: La segmentación de imágenes es adecuada para las imágenes médicas porque proporciona límites precisos y detallados de los tumores que son cruciales para evaluar el tamaño, la forma y la planificación del tratamiento.
  • Objetivo: Crear un sistema digital que categorice diversos documentos (por ejemplo, facturas, recibos, papeleo legal) para mejorar la eficiencia organizativa 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 maneja un documento a la vez, sin necesidad de considerar la posición del documento en la imagen. Este enfoque simplifica y acelera el proceso de clasificación.

Paso 1.5: Seleccionar el modelo y el método de formación 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 del proyecto es seleccionar el modelo y el enfoque de formación adecuados.

Dependiendo del objetivo, puede optar por seleccionar el modelo primero o después de ver qué datos es capaz de recopilar en el Paso 2. Por ejemplo, supongamos que su proyecto depende en gran medida de la disponibilidad de determinados tipos de datos. En ese caso, puede resultar más práctico recopilar y analizar primero los datos antes de seleccionar un modelo. Por otro lado, si tiene una idea clara de los requisitos del modelo, puede elegir primero el modelo y después recopilar los datos que se ajusten a esas especificaciones.

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

Formación desde cero frente al aprendizaje por transferencia

Nota: Al elegir un modelo, tenga en cuenta su despliegue para garantizar la compatibilidad y el rendimiento. Por ejemplo, los modelos ligeros son ideales para edge computing debido a su eficiencia en dispositivos con recursos limitados. Para obtener más información sobre los puntos clave relacionados con la definición de su proyecto, lea nuestra guía sobre la definición de los objetivos de su proyecto y la selección del modelo adecuado.

Antes de ponerse manos a la obra con un proyecto de visión por ordenador, es importante tener claros estos detalles. Comprueba que has tenido en cuenta lo siguiente antes de pasar al Paso 2:

  • Define claramente el problema que intentas resolver.
  • Determine el objetivo final de su proyecto.
  • Identificar la tarea específica de visión por ordenador necesaria (por ejemplo, detección de objetos, clasificación de imágenes, segmentación de imágenes).
  • Decida si entrena un modelo desde cero o utiliza el aprendizaje por transferencia.
  • Seleccione el modelo adecuado para su tarea y sus necesidades de despliegue.

Paso 2: Recogida y anotación de datos

La calidad de sus modelos de visión por ordenador depende de la calidad de su conjunto de datos. Puede recopilar imágenes de Internet, tomar sus propias fotografías o utilizar conjuntos de datos preexistentes. Aquí tienes algunos recursos 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 soporte integrado para varios conjuntos de datos, lo que facilita empezar a trabajar con datos de alta calidad. Estas bibliotecas suelen incluir utilidades para utilizar sin problemas los conjuntos de datos más populares, lo que puede ahorrarte mucho tiempo y esfuerzo en las fases iniciales de tu proyecto.

Sin embargo, si opta por recopilar imágenes o tomar sus propias fotografías, tendrá que anotar sus datos. La anotación de datos es el proceso de etiquetar sus datos para impartir conocimiento a su modelo. El tipo de anotación de datos con el que trabajará dependerá de su técnica específica de visión por ordenador. He aquí algunos ejemplos:

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

Diferentes tipos de anotación de imágenes

La recogida y anotación de datos puede ser un esfuerzo manual que requiere mucho tiempo. Las herramientas de anotación pueden facilitar este proceso. He aquí algunas herramientas abiertas de anotación útiles: LabeI Studio, CVAT y Labelme.

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

Después de recopilar y anotar los datos de las 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 de la ampliación es crucial para probar y validar el modelo en los datos originales inalterados. Ayuda a evaluar con precisión la generalización del modelo a datos nuevos y desconocidos.

A continuación te explicamos cómo dividir tus datos:

  • Conjunto de entrenamiento: Es la mayor parte de sus datos, normalmente el 70-80% del total, utilizada para entrenar su modelo.
  • Conjunto de validación: Por lo general, alrededor del 10-15% de sus datos; este conjunto se utiliza para ajustar los hiperparámetros y validar el modelo durante el entrenamiento, ayudando a prevenir el sobreajuste.
  • Conjunto de prueba: El 10-15% restante de los datos se reserva como conjunto de prueba. Se utiliza para evaluar el rendimiento del modelo en datos no vistos una vez finalizado el entrenamiento.

Después de dividir los datos, puede aumentarlos aplicando transformaciones como rotar, escalar y voltear las imágenes para aumentar artificialmente el tamaño del conjunto de datos. El aumento de datos hace que el modelo sea más robusto a las variaciones y mejora su rendimiento en imágenes no vistas.

Ejemplos de aumento de datos

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

Para comprender mejor sus datos, puede 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. También puede utilizar Ultralytics Explorer, una herramienta para explorar conjuntos de datos de visión por ordenador con búsqueda semántica, consultas SQL y búsqueda de similitud vectorial.

La herramienta Ultralytics Explorer

Si se comprenden, dividen y aumentan adecuadamente los datos, se puede desarrollar un modelo bien entrenado, validado y probado que funcione bien en aplicaciones del mundo real.

Paso 4: Entrenamiento del modelo

Una vez que su conjunto de datos está listo para el entrenamiento, puede centrarse en configurar el entorno necesario, gestionar sus conjuntos de datos y entrenar su modelo.

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

  • Instalación de bibliotecas y frameworks esenciales como TensorFlow, PyTorcho Ultralytics.
  • Si utiliza GPU, la instalación de bibliotecas como CUDA y cuDNN le ayudará a activar la aceleración de GPU y acelerar el proceso de entrenamiento.

A continuación, puede cargar sus conjuntos de datos de entrenamiento y validación en su entorno. Normalice y preprocese los datos mediante redimensionamiento, conversión de formato o aumento. Una vez seleccionado el modelo, configure las capas y especifique los hiperparámetros. Compile 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. Puede empezar el entrenamiento introduciendo datos en el modelo con un código mínimo. 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, guarde el modelo y sus pesos con unos pocos comandos.

Es importante tener en cuenta que una gestión adecuada de los conjuntos de datos es vital para una formación eficaz. Utilice el control de versiones de los conjuntos de datos para realizar un seguimiento de los cambios y garantizar la reproducibilidad. Herramientas como DVC (Data Version Control) pueden ayudar a gestionar grandes conjuntos de datos.

Paso 5: Evaluación y ajuste del modelo

Es importante evaluar el rendimiento del modelo utilizando diversas métricas y perfeccionarlo para mejorar su precisión. La evaluación ayuda a identificar las áreas en las que el modelo destaca y en las que puede necesitar mejoras. El ajuste fino garantiza que el modelo esté optimizado para obtener el mejor rendimiento posible.

  • Métricas de rendimiento: Utilice métricas como la exactitud, la precisión, la recuperación y la puntuación F1 para evaluar el rendimiento de su modelo. Estas métricas proporcionan información sobre la calidad de las predicciones del modelo.
  • Ajuste de hiperparámetros: Ajuste 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 hiperparámetros.
  • Ajuste fino: Realizar pequeños ajustes en la arquitectura del modelo o en el proceso de entrenamiento para mejorar el rendimiento. Esto puede implicar ajustar las tasas de aprendizaje, el tamaño de los lotes u otros parámetros del modelo.

Para conocer mejor las técnicas de evaluación y ajuste de modelos, consulte nuestra guía de evaluación de modelos.

Paso 6: Comprobación del modelo

En este paso, puede asegurarse de que su modelo funciona bien con datos completamente desconocidos, lo que confirma que está listo para su despliegue. La diferencia entre la prueba de modelos y la evaluación de modelos es que esta última se centra en verificar el rendimiento del modelo final en lugar de mejorarlo iterativamente.

Es importante probar a fondo y depurar cualquier problema común que pueda surgir. Pruebe su modelo en un conjunto de datos de prueba independiente que no se haya utilizado durante el entrenamiento o la validación. Este conjunto de datos debe representar situaciones reales para garantizar que el rendimiento del modelo es coherente y fiable.

Además, aborde problemas comunes como el sobreajuste, el infraajuste y la fuga de datos. Utilice técnicas como la validación cruzada y la detección de anomalías para identificar y solucionar estos problemas. Para conocer las estrategias de prueba más completas, consulta nuestra guía de prueba de modelos.

Paso 7: Despliegue del modelo

Una vez que el modelo se ha probado a fondo, es hora de desplegarlo. El despliegue de un modelo consiste en hacer que esté disponible 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: Configure la infraestructura necesaria para la opción de despliegue elegida, ya esté basada en la nube (AWS, Google Cloud, Azure) o en el borde (dispositivos locales, IoT).
  • Exportación del modelo: Exporte su modelo al formato adecuado (por ejemplo, ONNX, TensorRT, CoreML para YOLO11) para garantizar la compatibilidad con su plataforma de despliegue.
  • Despliegue del modelo: Despliega el modelo configurando APIs o endpoints e integrándolo con tu aplicación.
  • Garantizar la escalabilidad: Implemente equilibradores de carga, grupos de autoescalado y herramientas de supervisión para gestionar los recursos y atender el aumento de las solicitudes de datos y usuarios.

Si desea información más detallada sobre las estrategias de despliegue y las mejores prácticas, consulte nuestra guía de prácticas de despliegue de modelos.

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

Una vez implantado el modelo, es importante supervisar continuamente su rendimiento, mantenerlo para solucionar cualquier problema y documentar todo el proceso para futuras referencias y mejoras.

Las herramientas de supervisión pueden ayudarle a seguir los indicadores clave de rendimiento (KPI) y detectar anomalías o caídas de precisión. Al supervisar el modelo, puede ser consciente de la desviación del modelo, cuando el rendimiento del modelo disminuye con el tiempo debido a cambios en los datos de entrada. Vuelva a entrenar periódicamente el modelo con datos actualizados para mantener la precisión y la pertinencia.

Supervisión de modelos

Además de la supervisión y el mantenimiento, la documentación también es clave. Documente exhaustivamente todo el proceso, incluida la arquitectura del modelo, los procedimientos de formación, los hiperparámetros, los pasos de preprocesamiento de datos y cualquier cambio realizado durante la implantación y el mantenimiento. Una buena documentación garantiza la reproducibilidad y facilita las actualizaciones o la resolución de problemas en el futuro. Al supervisar, mantener y documentar eficazmente su modelo, puede asegurarse de que sigue siendo preciso, fiable y fácil de gestionar a lo largo de su ciclo de vida.

Compromiso con la Comunidad

Conectarse con una comunidad de entusiastas de la visión por computador puede ayudarle a abordar con confianza cualquier problema al que se enfrente mientras trabaja en su proyecto de visión por computador. Estas son algunas formas de aprender, solucionar problemas y trabajar en red de forma eficaz.

Recursos comunitarios

  • Problemas en GitHub: Echa un vistazo al repositorio GitHub deYOLO11 y utiliza la pestaña Cuestiones para hacer preguntas, informar de errores y sugerir nuevas funciones. La comunidad activa y los mantenedores están ahí para ayudar con problemas específicos.
  • Ultralytics Servidor Discord: Únete al servidor Discord deUltralytics para interactuar con otros usuarios y desarrolladores, obtener ayuda y compartir opiniones.

Documentación oficial

  • Ultralytics YOLO11 Documentación: Explore la documentación oficial de YOLO11 para obtener guías detalladas con consejos útiles sobre diferentes tareas y proyectos de visión por computador.

El uso de estos recursos le ayudará a superar los retos y a mantenerse al día de las últimas tendencias y las mejores prácticas en la comunidad de la visión por ordenador.

Ponga en marcha hoy mismo su proyecto de visión por ordenador

Emprender un proyecto de visión artificial puede ser emocionante y gratificante. Siguiendo los pasos de esta guía, podrá construir una base sólida para el éxito. Cada paso es crucial para desarrollar una solución que cumpla sus objetivos y funcione bien en escenarios del mundo real. A medida que adquiera experiencia, descubrirá técnicas y herramientas avanzadas para mejorar sus proyectos. Sea curioso, siga aprendiendo y explore nuevos métodos e innovaciones.

PREGUNTAS FRECUENTES

¿Cómo elijo la tarea de visión artificial adecuada para mi proyecto?

La elección de la tarea de visión por ordenador adecuada depende del objetivo final de su proyecto. Por ejemplo, si desea 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. En el caso de las imágenes médicas, 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. Obtenga más información sobre tareas específicas como la detección de objetos, la clasificación de imágenes y la segmentación de instancias.

¿Por qué es crucial la anotación de datos en los proyectos de visión artificial?

La anotación de datos es vital para enseñar a su modelo a reconocer patrones. El tipo de anotación varía en función de la tarea:

  • Clasificación de imágenes: Toda la imagen etiquetada como una sola clase.
  • Detección de objetos: Cuadros delimitadores dibujados alrededor de los objetos.
  • Segmentación de imágenes: Cada píxel etiquetado según el objeto al que pertenece.

Herramientas como Label Studio, CVAT y Labelme pueden ayudar en este proceso. Para más información, consulte nuestra guía de recogida de datos y anotación.

¿Qué pasos debo seguir para aumentar y dividir eficazmente mi conjunto de datos?

Dividir el conjunto de datos antes del aumento ayuda a validar el rendimiento del modelo en los datos originales no modificados. Siga estos pasos:

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

Tras la división, aplique 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 ayudar. Ultralytics también ofrece ajustes de aumento integrados para mayor comodidad.

¿Cómo puedo exportar mi modelo de visión por ordenador entrenado para su despliegue?

La exportación de su modelo garantiza la compatibilidad con diferentes plataformas de despliegue. Ultralytics proporciona múltiples formatos, incluyendo ONNX, TensorRTy CoreML. Para exportar su modelo YOLO11 , siga esta guía:

  • Utiliza el export con el parámetro de formato deseado.
  • Asegúrese de que el modelo exportado se ajusta a las especificaciones de su entorno de implantación (por ejemplo, dispositivos periféricos, nube).

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

¿Cuáles son las mejores prácticas para supervisar y mantener un modelo de visión por ordenador desplegado?

La supervisión y el mantenimiento continuos son esenciales para el éxito a largo plazo de un modelo. Implemente herramientas para el seguimiento de los Indicadores Clave de Rendimiento (KPI) y la detección de anomalías. Reentrene periódicamente el modelo con datos actualizados para contrarrestar la deriva del modelo. Documente todo el proceso, incluida la arquitectura del modelo, los hiperparámetros y los cambios, para garantizar la reproducibilidad y la facilidad de futuras actualizaciones. Más información en nuestra guía de supervisión y mantenimiento.

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

Comentarios