Reto TC1001
Integrantes
Juan Pablo Ortiz Ortega
a01366969@tec.mx
Miguel Ángel Santamaria Vilchis
a01366795@tec.mx
Josué Jemuel Flores Nestor
a01367182@tec.mx
Jorge Alberto Flores Ponce
a01769059@tec.mx
Tabla de Contenidos
Introduccion
Las personas tienden a tener una perspectiva lineal de la historia, sin embargo el crecimiento exponencial de la tecnología ha sido evidente en las décadas pasadas. En un abrir y cerrar de ojos hemos ido de computadores reservados para los militares a niños con dispositivos relativamente poderosos en sus bolsillos.
Uno de los campos mayor crecimiento en la ingeniería de software es la Inteligencia Artificial con técnicas como el Image Processing. Las técnicas usadas han ido madurando y se han vuelto lo suficientemente capaces para desempeñar actividades que van desde la autentificación de rostros hasta la detección de tumores malignos en pacientes, aún nos queda mucho por recorrer pero es impresionante el avance logrado.
Imagen 1. Uso de la IA e Image Processing para la detección de rostros.
Motivaciones del curso
Dentro de este curso de Semana Tec TC1001: Herramientas computacionales: el arte de la programación se busca acercar a los estudiantes a este tipo de tecnologías de Image Processing y por medio de unos cuantos ejercicios hacer uso de las bibliotecas ya presentes en lenguajes de script como Python, a continuación demostraremos el uso de ciertos filtros o kernels dentro de una misma imagen y cual es el resultado.
Definiciones
Kernel
Un kernel de imagenes es una pequeña matrix usada para aplicar efectos a cierto mapa de bits. Este tipo de efectos o filtros que logramos por medio de aplicaciones como Photoshop, Gimp e incluso Instagram tienen por debajo un kernel que acentúa ciertas características o le brinda ciertos atributos a la imagen de entrada.
Imagen 2. Uso de un kernel de blur.
Convolution
La convolución es una operación matemática simple que es fundamental para muchas operaciones del Image Processing. La convolución proporciona una forma de ‘multiplicar’ dos matrices de números, generalmente de diferentes tamaños, pero de la misma dimensión, para producir una tercera matriz de números de la misma dimensión.
Imagen 3. Representación de una convolución de matrices al aplicar un kernel.
Kernels
Mexican Hat
El sombrero mexicano, o filtro Gaussiano-Laplace invertido, es un filtro. Suaviza los datos y elimina estructuras constantes o que varían lentamente (por ejemplo, el fondo). Es útil para la detección de picos o multiescala.
Este núcleo se deriva de una función gaussiana normalizada, calculando la segunda derivada.
Gaussian Blur
El desenfoque gaussiano es un tipo de desenfoque que utiliza la función gaussiana para calcular la transformación que se le aplica a cada pixel de la imagen
,
Sharpen
Los filtros de sharpen se utilizan para realzar los bordes de los objetos y ajustar el contraste y las características de sombra. En combinación con el umbral, se pueden utilizar como detectores de bordes.
Laplace Discrete Operator
El operador discreto de Laplace se usa a menudo en el procesamiento de imágenes, por ejemplo en aplicaciones de estimación de movimiento y detección de bordes. El laplaciano discreto se define como la suma de las expresiones de coordenadas del operador de Laplace de segundas derivadas y se calcula como la suma de las diferencias sobre los vecinos más cercanos del píxel central.
Resultados