En este archivo se describen las actividades por sesión para los contenidos de visión que se llevaran a cabo durante la semana.
Guías de estilo para python. (PEP 8)
Guías de estilo para github (Templates de los Commits en el proyecto). Explicación de entrevista.
estándares para logs en repositorios:
- La visión computacional y el procesamiento de imágenes.
- Las imágenes son matrices de números
- Mostrar ejemplos de detectores.
- Lo que se espera al final de la semana: Proyecto Vision/sobel.py (requiere: pip install opencv-python)
- Mostrar redes Convolutivas
y en una imagen real de 3 dimensiones:
Conv animation by Andrej Karpathy
Hagamos una convolución a mano para entender mejor como funciona. Ejemplo de convolución
Una convolución simplificada, poco eficiente, pero más entendible a continuación veremos el código paso a paso, descarlo y agrega comentarios. Convolution Simple.py
Basándote en el ejemplo mostrado en clase, implementa tu propia versión de una convolución. Tu función debe recibir 2 matrices: la imagen a modificar y el filtro, y debe devolver la matriz resultante de la operación. Cuando tu programa esté funcionando, súbelo a tu repositorio de git (commit y push) y pega el link de tu repo en canvas en la actividad de implementación de convolución individual. Recuerda que tu código y commits deben de cumplir con todos lo estándares.
La primera parte de un innovación radica en conocer qué es lo que se hace actualmente. Lo primero que debes hacer es investigar y encontrar que diferentes filtros usados para concoluciones y sus efectos en las imágenes. Buscar un par y comparalos con tu equipo e identifiquen cuál es el estándar que mejor complementa su proyecto. Incluye en el readme del proyecto los estándartes que buscaron, las fuentes de donde los sacaron y la esplicación de cual fue el que escogieron para implementar cada uno y porqué. Aquí puedes comenzar tu búsqueda: Kernel for Convolutions
En equipo generen un repositorio para su proyecto, recuerden que cada quien tendrá que hacer su propia rama y después integrarlo con su repositorio prinicpal. Siguiendo las buenas prácticas de github y python preparen el esqueleto de lo que será su proyecto y hagan la repartición del trabajo que le tocará a cada uno. Se espera que cada miembro del equipo generé sus porpios commits desde su cuenta personal y que integren el proyecto (merge branch) en un solo repositorio usando Git. Si no se tienen commits individuales y el merge, no tendrán evindencia suficiente para acreditar la semana. El objetivo es que no pierdan tiempo en el setup del proyecto en las siguientes sesiones.
Explicación de código muestra para leer y generar imágenes, instalación de opencv con PIP (60 min)
- Mostrar cómo instalar Opencv en python (pip install opencv-python)
- Mostrar cómo se reciben los archivos corriendo el programa (python sobel.py --image imagen.jpg)
- Mostrar cómo se reciben los archivos dentro del cósigo (args = vars(ap.parse_args())
- Mostrar como se transforman las imágenes en números (image = cv2.imread(args["image"])
Imagen de deeep learning using Caffe by Claud Greer
Archivo excel ejemplo padding
Basándote en el ejemplo mostrado en clase, implementa tu propia versión de una convolución. Tu función debe recibir la matriz y el tamaño que debe tener la matriz a rellenar, y debe devolver la matriz llena de ceros en la orilla. Cuando tu programa esté funcionando, súbelo a tu repositorio de git y entrega pega el link de tu repo en canvas en la actividad de implementación de convolución individual. Recuerda que tu código y commits deben de cumplir con todos lo estándares.
Evidencia de proyecto Evidencia de competencias en lumen