Skip to the content.

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

  1. Introducción
  2. Intención
  3. Motivaciones del Curso
  4. Definiciones
  5. Uso de Kernels
  6. Resultados

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.

Hi

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-kereenel

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-kernel

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.

equation

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

equation, blur-matr

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.

fj

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.

laplace laplace2

Resultados

res res