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

Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Aprende a identificar problemas

5/33
Recursos

Aportes 10

Preguntas 0

Ordenar por:

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

Me parece una idea genial agregar este tipo de contenido en el curso. El código no lo es todo, somos desarrolladores y como tal debemos también aprender a crear soluciones cercanas a nuestra realidad. Esta es la semilla de la cuál nacieron empresas y emprendedores que han cambiado la historia de la humanidad.

Sin duda bien atinado incluir esta temática en el curso, espero se tome de ejemplo para los siguientes cursos.
.
Por otro lado, muy interesante el caso de estudio:

  • Problema: Todos los días me toma alrededor de 2 horas para llegar a mi casa: congestión vehicular
  • Causa: no existen métricas en tiempo real que nos permitan monitorizar y analizar la distribución de vehículos en mi ciudad, no hay analítica en tiempo real
  • Solución: generar métricas en tiempo real a la ciudadanía para que se pueda modificar vías (en el largo plazo), gestionar el flujo por las rutas (en el corto plazo)
  • Viabilidad de la solución: las ciudades mexicanas pierden 94 mil millones de pesos (4.6 mil millones de USD) por el tráfico al año.
    .
    Y me quedo con esta magnífica frase, que nos ayuda a mantener los pies en la tierra a los que somos muy entusiastas.

5. Aprende a identificar problemas

Los programadores de hoy deben tener una idea general de cómo identificar problemas y resolverlos en producción.

Identificación de problemas

  1. Encuentra problemas
  2. Entiende cuál es el resultado que buscas.
  3. Conoce usuarios.

La solución NO siempre es IA. La solución no siempre es tecnología.

"Enamórate del problema no de la solución"
Uri Levine, reador de Waze

Algo importante a destacar.

Las arquitecturas de Redes Neuronales pueden llegar a ser automatizadas, pero todo problema a resolver requiere un análisis que va más allá de solo implementar código. Justo como mencionan en la clase, el modelo de negocio y la interacción con el cliente para crear un modelo más adecuado a las necesidades y recursos es lo que hace que esta profesión no sea completamente automatizada en un futuro y requiera la capacidad analítica de un humano.

**Identificar Problemas** **Desarrolla la observación crítica** Aprende a **observar con atención** lo que ocurre a tu alrededor, tanto en los sistemas que utilizas como en las interacciones con personas. A veces, los problemas no son evidentes, pero al prestar atención a los detalles, puedes detectar inconsistencias o áreas que podrían mejorarse. **Haz preguntas de forma sistemática** Las **preguntas correctas** pueden revelar problemas que de otra forma pasarían desapercibidos. Utiliza preguntas como: ¿Qué está funcionando bien y qué no? ¿Qué se esperaba que sucediera vs. qué está ocurriendo realmente? ¿Cuáles son los objetivos y están siendo alcanzados? **Realiza análisis de causa raíz** Antes de saltar a las soluciones, dedica tiempo a identificar la **causa raíz** del problema. Una técnica útil para esto es el método de los **5 por qué** (Five Whys), en el que preguntas repetidamente "¿por qué?" para profundizar en el problema y encontrar la causa subyacente. **Recoge datos y evidencia** Utiliza **datos cuantitativos y cualitativos** para identificar problemas de manera objetiva. Analizar la información recopilada de manera sistemática te permitirá ver patrones y encontrar problemas que no son evidentes. **Escucha a otros (retroalimentación)** Habla con las personas que están involucradas en los procesos o que son afectadas por ellos. A menudo, quienes trabajan directamente en una tarea o actividad pueden identificar problemas que no son evidentes para quienes no están tan cerca del día a día. **Ejemplo**: En un equipo de desarrollo, los programadores o testers suelen notar problemas técnicos antes que los gerentes de proyecto. **Divide los problemas grandes en partes más pequeñas** Los problemas grandes pueden ser difíciles de identificar en su totalidad. Intenta **descomponer** un problema en componentes más pequeños y manejables, para poder analizar cada uno por separado. **Ejemplo**: Si el rendimiento general de una aplicación es bajo, descompón el problema en diferentes áreas (front-end, back-end, base de datos) y analiza cada una. **Realiza evaluaciones periódicas** **Revisa continuamente** los procesos, sistemas o proyectos en los que trabajas. La identificación de problemas no es un evento único, sino un proceso continuo. Las revisiones periódicas te permiten detectar problemas antes de que se agraven. **Ejemplo**: Si gestionas un equipo, realiza revisiones periódicas de los avances del proyecto y las dinámicas de trabajo para detectar posibles cuellos de botella. **Mantén una mentalidad abierta y flexible** Los problemas no siempre se presentan de la forma que esperas. Evita aferrarte a un solo punto de vista y sé flexible para analizar desde múltiples perspectivas. Considera también que lo que parece un problema, puede ser una oportunidad para mejorar o innovar. **Utiliza herramientas de resolución de problemas** Existen muchas herramientas que te pueden ayudar a **identificar y estructurar problemas** de manera más eficaz. Algunas de ellas incluyen: **Análisis FODA** (Fortalezas, Oportunidades, Debilidades, Amenazas): Identifica tanto aspectos positivos como negativos en un proceso o situación. **Diagrama de Ishikawa** (diagrama de causa y efecto o espina de pescado): Ayuda a visualizar causas potenciales de un problema y sus efectos. **Mapeo de procesos**: Visualiza todos los pasos involucrados en un proceso para identificar dónde pueden estar ocurriendo problemas o ineficiencias. **Aprende de problemas previos** Muchas veces, los problemas actuales tienen similitudes con problemas que ya has enfrentado en el pasado. Mantén un **registro de los problemas anteriores** y las soluciones que aplicaste para poder aprender de esas experiencias y evitar que los mismos errores se repitan. **Ejemplo**: Si trabajas en desarrollo de software, documenta las soluciones a errores críticos para que, si surgen problemas similares, puedas abordarlos rápidamente. **Prioriza los problemas** No todos los problemas tienen el mismo impacto. Es crucial que aprendas a **priorizar** qué problemas abordar primero, considerando el nivel de urgencia, el impacto que pueden tener en el resultado final, y los recursos disponibles. **Ejemplo**: En un proyecto, un pequeño error en el diseño visual de una aplicación puede tener menos impacto que un fallo crítico en la base de datos. **Explora alternativas y escenarios** Cuando identifiques un posible problema, imagina diversos **escenarios alternativos**. A veces, lo que parece un problema puede verse de otra manera si exploras distintas opciones de solución o perspectivas. Esto te ayuda a validar si el problema que identificas es realmente un desafío o simplemente una percepción incorrecta.
😄😄

enamórate del problema 😃

Que clase tan maravillosa! En realidad funciona para cualquier ámbito de negocios. Es una excelente clase de negocios. Como alguien afirmó si te falta dinero, “el PROBLEMA no es la falta de dinero sino la falta de ideas” y yo le agregaría “ideas para resolver problemas”.

me parecio genial tu idea de como tratar un modelo de negocio.

Yo cambiaria la frase de “enamorate del problema no de la solucion” por, “ama el proceso, no el resultado”.
Ambas son muy buenas. pero para este mundo creo que va mejor la segunda.