Comprender la visión computarizada

1

¿Por qué aprender computer vision?

2

¿Qué es la visión computarizada?

3

Tipos de visión computarizada

4

Introducción a object detection: clasificación + localización

5

Aprende a identificar problemas

Dimensionamiento de proyecto de visión computarizada

6

Cómo definir los tiempos de tu proyecto

7

Cómo costear tu proyecto

8

Cómo identificar los roles necesarios en el proyecto

9

Producto mínimo viable en computer vision

Obtención y procesamiento de los datos

10

Obtención de datos para tu proyecto

11

Limpieza de la base de datos

12

Distribución de datos en entrenamiento y testeo

13

Etiquetado de los datos de test

14

Etiquetado de los datos de train

15

Transforma tu base de datos a TFRecord

16

Transformar CSV a TFRecord

Entrena, testea y optimiza tus modelos

17

Librerías a importar durante fase de entrenamiento

18

Fase de entrenamiento del modelo

19

Balanceo de imágenes y data augmentation

20

Entrena, evalua y optimiza con TensorBoard

21

Validación de modelo en un entorno de ejecución

22

Re-entrenamiento del modelo para obtener mejores resultados

23

Seguimiento de centroides con OpenCV

24

Configuración de los centroides con OpenCV

25

Algoritmo de dirección y conteo con OpenCV

26

Crea un ciclo de entrenamiento de tu modelo: MLOps

Producto con visión computarizada en producción

27

Prepara tu entorno en Google Cloud Platform

28

Carga y preprocesamiento de modelos

29

Postprocesamiento de modelos

30

Despliega y consume tu modelo en producción

31

Bonus: aprende a apagar las máquinas de GCP para evitar sobrecostos

Siguientes pasos en inteligencia artificial

32

Siguientes pasos en inteligencia artificial

33

Comparte tu proyecto de detección de vehículos en carretera y certifícate

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Producto mínimo viable en computer vision

9/33
Recursos

Aportes 4

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

9. Producto mínimo viable en Computer Vision

El concepto de producto Mínimo Viable sirve para evitar perder tiempo y dinero, definiendo las características mínimas para un proyecto.

  • Try small.
  • Fail fast.
  • Fail cheap
  • Fail forward.
  • Don’t aim for perfection.

Es mejor tener versiones pequeñas entregables que realizar producciones de productos con más características porque:

  • Una solución rápida es mejor que ninguna solución en un intervalo corto de tiempo.
  • Permite una mejor comunicación con el cliente, después de cada versión ya se tienen pruebas y opiniones.
Un Producto Mínimo Viable (MVP) en un proyecto de visión computarizada es una versión simplificada y funcional del sistema que incluye solo las características esenciales para satisfacer las necesidades iniciales de los usuarios. El MVP permite lanzar el proyecto rápidamente, validar la tecnología y obtener retroalimentación temprana, con el objetivo de evolucionar el producto basado en resultados reales. \### Pasos para desarrollar un MVP en visión computarizada 1\. \*\*Definir el problema y el objetivo del proyecto\*\* \- Establece con claridad qué problema resolverá tu MVP y qué resultados esperas obtener. Por ejemplo, si el proyecto es para detectar objetos en imágenes de seguridad, el MVP puede enfocarse en detectar solo ciertos tipos de objetos (como personas o vehículos) sin incluir una gran variedad de clases de objetos. 2\. \*\*Seleccionar las funcionalidades básicas\*\* \- Un MVP en visión computarizada suele incluir únicamente las funcionalidades necesarias para que el sistema cumpla su propósito. Por ejemplo: \- \*\*Clasificación de imágenes\*\*: Clasificar imágenes en un conjunto limitado de categorías. \- \*\*Detección de objetos\*\*: Identificar la presencia y ubicación de objetos específicos en una imagen o video. \- \*\*Reconocimiento de texto (OCR)\*\*: Extraer texto de imágenes si el proyecto lo requiere. \- \*\*Segmentación de imágenes\*\*: Identificar y separar regiones de interés en una imagen, si es un aspecto clave. \- Excluye funciones avanzadas (como detección multi-objeto compleja o segmentación detallada) para mantener el MVP simple y funcional. 3\. \*\*Elegir el modelo y la tecnología de visión computarizada\*\* \- Selecciona un modelo preentrenado de redes neuronales (como ResNet, YOLO, o MobileNet) que se adapte bien a las necesidades del proyecto. Utilizar un modelo preentrenado es común en los MVP, ya que reduce los tiempos y costos de entrenamiento. \- Decide si tu MVP funcionará en dispositivos locales, en la nube o en dispositivos móviles. Esto depende de dónde necesiten acceso los usuarios y de los recursos de cómputo disponibles. 4\. \*\*Definir el conjunto de datos inicial\*\* \- Selecciona un conjunto de datos representativo y de tamaño manejable para entrenar y probar el MVP. Si no tienes datos propios, puedes empezar con conjuntos de datos públicos relevantes (como COCO o ImageNet). \- Para proyectos de detección de objetos, marca los objetos necesarios en un conjunto de imágenes reducido para obtener anotaciones de entrenamiento. Esto permite que el sistema pueda ser entrenado y probado sin requerir un gran volumen de datos. 5\. \*\*Entrenar y ajustar el modelo\*\* \- Entrena el modelo en el conjunto de datos elegido y ajusta los hiperparámetros para optimizar su desempeño. Mantén el modelo simple para el MVP; no es necesario lograr una precisión perfecta en esta etapa. \- Realiza pruebas para asegurar que el modelo cumpla con los requisitos básicos y que sus predicciones sean razonables. Toma nota de los errores comunes para considerar ajustes en futuras versiones. 6\. \*\*Implementar una interfaz básica\*\* \- El MVP debe incluir una interfaz simple para que los usuarios puedan interactuar con el sistema. Esto podría ser una interfaz gráfica (GUI), una API o una aplicación móvil básica, dependiendo del caso de uso. \- Asegúrate de que la interfaz permita al usuario cargar imágenes o videos y visualizar los resultados (como la clasificación o la detección de objetos). Un diseño simple y funcional es suficiente en esta etapa. 7\. \*\*Evaluar el rendimiento y recolectar retroalimentación\*\* \- Una vez que el MVP está funcionando, realiza pruebas en condiciones reales y recopila retroalimentación de los usuarios para identificar puntos de mejora. \- Evalúa tanto el rendimiento del modelo (precisión, velocidad de inferencia, robustez) como la experiencia de usuario en la interfaz. 8\. \*\*Establecer métricas de éxito\*\* \- Define métricas que te ayuden a evaluar si el MVP cumple con los requisitos mínimos, como la precisión del modelo, la tasa de detección correcta, el tiempo de procesamiento, o la facilidad de uso. \- Usa estas métricas para guiar las mejoras del sistema y determinar si el MVP es lo suficientemente bueno como para avanzar a una fase de desarrollo más avanzada. \### Ejemplos de MVP en visión computarizada 1\. \*\*MVP de detección de objetos para vigilancia de seguridad\*\* \- El MVP puede enfocarse en detectar solo personas en imágenes de cámaras de seguridad y alertar cuando una persona ingresa a un área restringida. 2\. \*\*MVP para reconocimiento de productos en retail\*\* \- Un MVP para una aplicación de retail podría detectar solo las categorías de productos más vendidas (como bebidas y snacks), permitiendo probar la funcionalidad en el entorno del cliente. 3\. \*\*MVP de OCR para digitalización de documentos\*\* \- En un proyecto de digitalización de documentos, el MVP puede enfocarse en extraer solo texto en inglés o en realizar reconocimiento en un conjunto limitado de plantillas de documentos. 4\. \*\*MVP de clasificación de imágenes para diagnóstico médico\*\* \- Un MVP en el área médica podría clasificar imágenes en categorías básicas (por ejemplo, imágenes que requieren revisión médica versus imágenes normales), facilitando un primer filtro sin una precisión diagnóstica avanzada. \### Ventajas de desarrollar un MVP en visión computarizada \- \*\*Reducción de tiempo y costo\*\*: Al enfocarse en características esenciales, el desarrollo es más rápido y con menos recursos. \- \*\*Validación temprana del concepto\*\*: Permite comprobar si el proyecto es viable antes de hacer una inversión más grande. \- \*\*Retroalimentación para mejoras\*\*: Probar el MVP con usuarios reales ayuda a entender las mejoras necesarias y evitar características que no agregan valor. \- \*\*Iteración sobre el producto\*\*: Un MVP permite actualizar el producto en fases, incorporando cambios de acuerdo con los comentarios de los usuarios y mejoras tecnológicas. El MVP en visión computarizada es un primer paso esencial para desarrollar un producto completo, permitiendo probar la funcionalidad y optimizar el sistema para que responda a las necesidades reales de los usuarios.
Un **MVP de detección de vehículos** debería enfocarse en las funciones esenciales como la detección básica de objetos en videos, el uso de modelos preentrenados y la visualización de resultados simples. Al ir avanzando se puedes añadir funcionalidades más avanzadas, pero el MVP te permitirá validar rápidamente la idea y obtener retroalimentación crítica sin una inversión excesiva en tiempo y recursos.
A mi también me gusta esa filosofía, primero trato hacer de que el código funcione y luego voy implementando los detalles para que sea más amigable con el usuario.