Saltar al contenido

Gu铆a pr谩ctica para definir tu proyecto de visi贸n artificial

Introducci贸n

El primer paso en cualquier proyecto de visi贸n por ordenador es definir lo que quieres conseguir. Es crucial tener una hoja de ruta clara desde el principio, que incluya todo, desde la recogida de datos hasta el despliegue de tu modelo.

If you need a quick refresher on the basics of a computer vision project, take a moment to read our guide on the key steps in a computer vision project. It'll give you a solid overview of the whole process. Once you're caught up, come back here to dive into how exactly you can define and refine the goals for your project.

Now, let's get to the heart of defining a clear problem statement for your project and exploring the key decisions you'll need to make along the way.

Definir un planteamiento claro del problema

Setting clear goals and objectives for your project is the first big step toward finding the most effective solutions. Let's understand how you can clearly define your project's problem statement:

  • Identifica el problema central: Se帽ala el reto espec铆fico que tu proyecto de visi贸n artificial pretende resolver.
  • Determina el Alcance: Define los l铆mites de tu problema.
  • Ten en cuenta a los usuarios finales y a las partes interesadas: Identifica a qui茅n afectar谩 la soluci贸n.
  • Analiza los requisitos y limitaciones del proyecto: Eval煤a los recursos disponibles (tiempo, presupuesto, personal) e identifica cualquier limitaci贸n t茅cnica o normativa.

Ejemplo de planteamiento de un problema empresarial

Let's walk through an example.

Considera un proyecto de visi贸n por ordenador en el que quieras estimar la velocidad de los veh铆culos en una autopista. El problema principal es que los m茅todos actuales de control de la velocidad son ineficaces y propensos a errores debido a los anticuados sistemas de radar y a los procesos manuales. El proyecto pretende desarrollar un sistema de visi贸n por ordenador en tiempo real que pueda sustituir a los antiguos sistemas de estimaci贸n de la velocidad.

Estimaci贸n de la velocidad mediante YOLOv8

Los usuarios primarios son las autoridades de gesti贸n del tr谩fico y las fuerzas del orden, mientras que los secundarios son los planificadores de autopistas y el p煤blico que se beneficia de unas carreteras m谩s seguras. Los requisitos clave implican evaluar el presupuesto, el tiempo y el personal, as铆 como abordar necesidades t茅cnicas como las c谩maras de alta resoluci贸n y el procesamiento de datos en tiempo real. Adem谩s, hay que tener en cuenta las restricciones normativas sobre privacidad y seguridad de los datos.

Establecer objetivos mensurables

Establecer objetivos mensurables es clave para el 茅xito de un proyecto de visi贸n artificial. Estos objetivos deben ser claros, alcanzables y con un plazo determinado.

Por ejemplo, si est谩s desarrollando un sistema para estimar la velocidad de los veh铆culos en una autopista. Podr铆as considerar los siguientes objetivos medibles:

  • Alcanzar al menos un 95% de precisi贸n en la detecci贸n de la velocidad en un plazo de seis meses, utilizando un conjunto de datos de 10.000 im谩genes de veh铆culos.
  • El sistema debe ser capaz de procesar secuencias de v铆deo en tiempo real a 30 fotogramas por segundo con un retardo m铆nimo.

Al establecer objetivos espec铆ficos y cuantificables, puedes hacer un seguimiento eficaz de los progresos, identificar las 谩reas de mejora y asegurarte de que el proyecto mantiene el rumbo.

La conexi贸n entre el planteamiento del problema y las tareas de visi贸n artificial

El enunciado de tu problema te ayuda a conceptualizar qu茅 tarea de visi贸n artificial puede resolverlo.

Por ejemplo, si tu problema es controlar la velocidad de los veh铆culos en una autopista, la tarea de visi贸n por ordenador relevante es el seguimiento de objetos. El seguimiento de objetos es adecuado porque permite al sistema seguir continuamente a cada veh铆culo en la secuencia de v铆deo, lo que es crucial para calcular con precisi贸n su velocidad.

Ejemplo de seguimiento de objetos

Other tasks, like object detection, are not suitable as they don't provide continuous location or movement information. Once you've identified the appropriate computer vision task, it guides several critical aspects of your project, like model selection, dataset preparation, and model training approaches.

驴Qu茅 es lo primero? 驴La selecci贸n del modelo, la preparaci贸n del conjunto de datos o el enfoque de entrenamiento del modelo?

El orden de selecci贸n del modelo, la preparaci贸n del conjunto de datos y el enfoque del entrenamiento dependen de las caracter铆sticas espec铆ficas de tu proyecto. He aqu铆 algunos consejos para ayudarte a decidir:

  • Comprensi贸n clara del problema: Si tu problema y tus objetivos est谩n bien definidos, empieza por la selecci贸n del modelo. A continuaci贸n, prepara tu conjunto de datos y decide el enfoque de entrenamiento en funci贸n de los requisitos del modelo.

    • Ejemplo: Empieza por seleccionar un modelo para un sistema de vigilancia del tr谩fico que estime la velocidad de los veh铆culos. Elige un modelo de seguimiento de objetos, recopila y anota v铆deos de carreteras, y luego entrena el modelo con t茅cnicas de procesamiento de v铆deo en tiempo real.
  • Datos 煤nicos o limitados: Si tu proyecto se ve limitado por datos 煤nicos o limitados, empieza por preparar el conjunto de datos. Por ejemplo, si tienes un conjunto de datos poco com煤n de im谩genes m茅dicas, primero anota y prepara los datos. A continuaci贸n, selecciona un modelo que funcione bien con esos datos, seguido de la elecci贸n de un enfoque de entrenamiento adecuado.

    • Ejemplo: Prepara primero los datos para un sistema de reconocimiento facial con un conjunto de datos peque帽o. An贸talos y, a continuaci贸n, selecciona un modelo que funcione bien con datos limitados, como un modelo preentrenado para el aprendizaje por transferencia. Por 煤ltimo, decide un enfoque de entrenamiento, incluido el aumento de datos, para ampliar el conjunto de datos.
  • Necesidad de Experimentaci贸n: En los proyectos en los que la experimentaci贸n es crucial, empieza por el enfoque de entrenamiento. Esto es habitual en los proyectos de investigaci贸n, en los que puedes probar inicialmente distintas t茅cnicas de entrenamiento. Refina tu selecci贸n de modelos tras identificar un m茅todo prometedor y prepara el conjunto de datos bas谩ndote en tus conclusiones.

    • Ejemplo: En un proyecto que explora nuevos m茅todos para detectar defectos de fabricaci贸n, empieza experimentando con un peque帽o subconjunto de datos. Una vez que encuentres una t茅cnica prometedora, selecciona un modelo adaptado a esos hallazgos y prepara un conjunto de datos completo.

Puntos comunes de debate en la Comunidad

A continuaci贸n, veamos algunos puntos de debate habituales en la comunidad sobre las tareas de visi贸n artificial y la planificaci贸n de proyectos.

驴Cu谩les son las diferentes tareas de visi贸n artificial?

Las tareas de visi贸n por ordenador m谩s populares incluyen la clasificaci贸n de im谩genes, la detecci贸n de objetos y la segmentaci贸n de im谩genes.

Visi贸n general de las tareas de visi贸n por ordenador

Para una explicaci贸n detallada de las distintas tareas, echa un vistazo a la p谩gina Ultralytics Docs sobre YOLOv8 Tareas.

驴Puede un modelo preentrenado recordar las clases que conoc铆a antes del entrenamiento personalizado?

No, los modelos preentrenados no "recuerdan" clases en el sentido tradicional. Aprenden patrones de conjuntos de datos masivos, y durante el entrenamiento personalizado (ajuste fino), estos patrones se ajustan a tu tarea espec铆fica. La capacidad del modelo es limitada, y centrarse en nueva informaci贸n puede sobrescribir algunos aprendizajes anteriores.

Visi贸n general del aprendizaje por transferencia

If you want to use the classes the model was pre-trained on, a practical approach is to use two models: one retains the original performance, and the other is fine-tuned for your specific task. This way, you can combine the outputs of both models. There are other options like freezing layers, using the pre-trained model as a feature extractor, and task-specific branching, but these are more complex solutions and require more expertise.

驴C贸mo afectan las opciones de despliegue a mi proyecto de visi贸n artificial?

Las opciones de despliegue del modelo tienen un impacto cr铆tico en el rendimiento de tu proyecto de visi贸n por ordenador. Por ejemplo, el entorno de despliegue debe soportar la carga computacional de tu modelo. He aqu铆 algunos ejemplos pr谩cticos:

  • Dispositivos perif茅ricos: El despliegue en dispositivos perif茅ricos, como smartphones o dispositivos IoT, requiere modelos ligeros debido a sus limitados recursos inform谩ticos. Algunos ejemplos de tecnolog铆as son TensorFlow Lite y ONNX Runtime, que est谩n optimizadas para este tipo de entornos.
  • Cloud Servers: Cloud deployments can handle more complex models with larger computational demands. Cloud platforms like AWS, Google Cloud, and Azure offer robust hardware options that can scale based on the project's needs.
  • Servidores locales: Para escenarios que requieran una gran privacidad y seguridad de los datos, puede ser necesaria la implantaci贸n in situ. Esto implica una importante inversi贸n inicial en hardware, pero permite un control total sobre los datos y la infraestructura.
  • Soluciones h铆bridas: Algunos proyectos pueden beneficiarse de un enfoque h铆brido, en el que parte del procesamiento se realiza en el borde, mientras que los an谩lisis m谩s complejos se descargan en la nube. Esto puede equilibrar las necesidades de rendimiento con consideraciones de coste y latencia.

Cada opci贸n de despliegue ofrece ventajas y retos diferentes, y la elecci贸n depende de los requisitos espec铆ficos del proyecto, como el rendimiento, el coste y la seguridad.

Preguntas frecuentes

He aqu铆 algunas preguntas que puedes encontrarte al definir tu proyecto de visi贸n por ordenador:

  • Q1: 驴C贸mo establezco objetivos eficaces y mensurables para mi proyecto de visi贸n artificial?
    • A1: Para establecer objetivos eficaces y mensurables, sigue los criterios SMART: Espec铆ficos, Mensurables, Alcanzables, Relevantes y Limitados en el tiempo. Define c贸mo es el 茅xito, c贸mo se medir谩, aseg煤rate de que los objetivos son alcanzables con los recursos disponibles, alin茅alos con los objetivos m谩s amplios del proyecto y fija un plazo.

Visi贸n general de los criterios SMART

  • P2: 驴Puede cambiar el alcance de un proyecto de visi贸n artificial una vez definido el planteamiento del problema?

    • A2: S铆, el alcance de un proyecto de visi贸n artificial puede cambiar a medida que se dispone de nueva informaci贸n o que evolucionan los requisitos del proyecto. Es importante revisar y ajustar peri贸dicamente el planteamiento del problema y los objetivos para reflejar cualquier nuevo conocimiento o cambio en la direcci贸n del proyecto.
  • P3: 驴Cu谩les son algunos de los retos habituales a la hora de definir el problema de un proyecto de visi贸n artificial?

    • A3: Entre los retos m谩s comunes se incluyen la exposici贸n vaga o demasiado amplia del problema, los objetivos poco realistas, la falta de alineaci贸n de las partes interesadas, la comprensi贸n insuficiente de las limitaciones t茅cnicas y la subestimaci贸n de las necesidades de datos. Abordar estos retos requiere una investigaci贸n inicial exhaustiva, una comunicaci贸n clara con las partes interesadas y un perfeccionamiento iterativo del planteamiento del problema y los objetivos.

Conectar con la Comunidad

Conectar con otros entusiastas de la visi贸n por ordenador puede ser incre铆blemente 煤til para tus proyectos, ya que te proporcionar谩 apoyo, soluciones y nuevas ideas. Aqu铆 tienes algunas formas estupendas de aprender, solucionar problemas y establecer contactos:

Canales de apoyo comunitario

  • Temas de GitHub: Dir铆gete al repositorio GitHub de YOLOv8 . Puedes utilizar la pesta帽a Cuestiones para plantear preguntas, informar de errores y sugerir funciones. La comunidad y los mantenedores pueden ayudarte con los problemas espec铆ficos que encuentres.
  • Ultralytics Discord Server: Become part of the Ultralytics Discord server. Connect with fellow users and developers, seek support, exchange knowledge, and discuss ideas.

Gu铆as y documentaci贸n completas

  • Ultralytics YOLOv8 Documentaci贸n: Explora la documentaci贸n oficial de YOLOv8 para obtener gu铆as detalladas y valiosos consejos sobre diversas tareas y proyectos de visi贸n computerizada.

Conclusi贸n

Defining a clear problem and setting measurable goals is key to a successful computer vision project. We've highlighted the importance of being clear and focused from the start. Having specific goals helps avoid oversight. Also, staying connected with others in the community through platforms like GitHub or Discord is important for learning and staying current. In short, good planning and engaging with the community is a huge part of successful computer vision projects.



Created 2024-05-29, Updated 2024-06-10
Authors: glenn-jocher (4), abirami-vina (1)

Comentarios