You are on page 1of 21

PROCESAMIENTO DIGITAL DE IMGENES (PDI) CON MATLAB

FACULTAD DE CIENCIAS BSICAS E INGENIERA VISIN ARTIFICIAL DICIEMBRE DE 2009

INTRODUCCIN

El procesamiento digital de una imagen es el conjunto de tcnicas que se aplican a las imgenes digitales con el objetivo de mejorar la calidad o facilitar la bsqueda de informacin. En esta prctica se trabaja operaciones por algoritmos de filtrado que extraen las caractersticas ms importantes de cada imagen, que permiten eliminar las seales indeseadas, que por causa del mtodo de adquisicin, o de las condiciones bajo las cuales fue captada. A dems se maneja la segmentacin de imgenes, la cual consiste en localizar los diferentes objetos que estn presentes en una imagen. En un sistema de visin artificial genrico, la fase de segmentacin se encuadra entre las fases de preprocesamiento, en la que las imgenes son sometidas a diferentes operaciones de filtrado que ayudan a mejorar la calidad de la imagen o a destacar los objetos que posteriormente queremos segmentar, y la de identificacin o reconocimiento de los objetos, que es en la fase en la que se reconocen y etiquetan los distintos objetos de la imagen. Otra parte importante en el procesamiento de imgenes es reconocer la existencia de variadas formas en los cuerpos que la componen y nos proporciona la idea de volumen, superficie, lnea, y punto, hallando as caractersticas morfolgicas propias de cada imagen. Con base a esta morfologa se puede realizar la deteccin de partes del cuerpo como lo es la deteccin de rostros en MATLAB para esto es indispensable poder identificar el rea donde se encuentra el rostro de la imagen a procesar, tambin se puede realizar una extraccin de esa rea del rostro hallando el rea mxima que lo encierra y realizando un corte a esa zona. Hoy en da la implementacin de este trabajo est respaldada por una importante rea en la biomtrica que como lo son las redes neuronales, El proceso de identificacin facial se divide en dos tareas: deteccin y reconocimiento. La primera comprende la localizacin de las caras que existen en una fotografa o en una secuencia de vdeo. La segunda tarea

compara la imagen facial con caras previamente almacenadas en una base de datos. Se suele cotejar una serie de puntos clave, como la boca, nariz y ojos. En esta prctica se implement procesamiento digital de imagen en MATLAB utiizando filtrado espacial con los siguientes filtros: (Binomial, Pasa bajos, Laplaciano, Pasa alto, Mximo, Mnimo, Promedio, Sobel y Prewitt). A dems utilizando segmentacin de imgenes por niveles de grises, recortamos la imagen en regiones con caractersticas similares. Adicionalmente se muestra las caractersticas propias de la imagen como lo son el ancho, el alto, el rea y el permetro, tambin se encarga de realizar la deteccin y extraccin de rostros dentro de una imagen.

I. PROCESAMIENTO DIGITAL DE IMGENES (PDI) USANDO FILTROS ESPACIALES Los filtros espaciales tienen como objetivo modificar la contribucin de determinados rangos de frecuencias de una imagen, directamente a la imagen y no a una transformada de la misma, es decir, el nivel de gris de un pixel se obtiene directamente en funcin del valor de sus vecinos. Para el diseo de los algoritmos utilizamos la herramienta de MATLAB; aunque no se utilizaron las funciones propias de MATLAB para el filtrado de imgenes, sino que se hizo el filtrado de forma matricial y con un Kernel o mascara de tamao (3*3). El menu dezplegado para filtros espaciales, en la comando de MATLAB es el siguente:

Imagen 1. visualizacion menu desplegado para filtros espaciales

El usuario podra ingresar la opcion que desee implementar eligiendo el numero correspondiente. Da la opcion tanbien de hacer el filtrado para imagen de color o a escala de grises, para los dos el resultado es notable a simple vista.

Imagen 2. visualizacion opciones de color de la imagen para filtros espaciales

a) Filtro binomial (1) El filtrado binomial se realiza para aplicar suavizado de ruido a las imgenes.

Binomial =[ 1

1; 2

2; 1

1];

Imagen 3. visualizacion imagen a color RGB con filtro binomial

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen 4. visualizacion imagen en escala de rises con filtro binomial

b) Filtro Laplaciano La aplicacin fundamental del filtro Laplaciano es aumentar la nitidez (destacando los detalles) de la imagen, al afinar las lneas de transicin de niveles de gris. Laplaciano = [ 0 1 0; 1 -4 1; 0 1 0];

Imagen 5. visualizacion imagen a color RGB con filtro Laplaciano

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen 6. visualizacion imagen en escala de grises con filtro Laplaciano

c) Filtro Paso-Bajo Son utilizados en la reduccin de ruido; suavizan y aplanan un poco las imgenes y como consecuencia se reduce o se pierde la nitidez, son utilizados para difuminar y reducir ruido en las imgenes es usado en etapas de preprocesamiento desde la eliminacin de pequeos detalles hasta la extraccin de objetos y rellenado de pequeos huecos en lineas y curvas. Pasa bajo =[ 1 1 1; 1 1 1; 1 1 1]./9;

Imagen 7. visualizacion imagen en escala de color RGB con Filtro Paso-Bajo

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen 8. visualizacion imagen en escala de grises con Filtro Paso-Bajo

d) Filtro Paso-Alto Estos filtros son utilizados para detectar cambios de luminosidad. Son utilizados en la deteccin de patrones como bordes o para resaltar detalles finos de una imagen. Son conocidos como Sharpening Spatial Filters. Pasa Alto = [ -1 -1 -1; -1 -8 -1; -1 -1 -1];

Imagen 9. visualizacion imagen a color RGB de grises con Filtro Paso-Alto

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen 10. visualizacion imagen en escala de grises con filtro Laplaciano

e) Filtros Prewitt Se usa para la deteccin de bordes. ste consta de 8 matrices que se aplican pixel a pixel a la imagen. Luego se suman las imgenes para obtener los bordes bien marcados. El filtro de Prewitt marca muy bien los bordes ya que sus matrices atacan estos desde ocho lados diferentes. En general cada matriz toma el nombre de un punto cardinal: Norte, Sur, Este, Oeste, Noroeste, Noreste, Suroeste, Sureste. Prewitt = [ 1 1 1; 0 0 0; -1 -1 -1];

Imagen 11. visualizacion imagen a color RGB de grises con Filtro Prewitt

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen 12. visualizacion imagen en escala de grises con Filtro Prewitt

f) Filtros Sobel Muy usado para la deteccin de bordes, este utiliza, a su vez, dos mascaras o filtros. Una para detectar los bordes verticales y otra para los horizontales. As, para obtener los bordes completos se realiza la suma de las imgenes que nos resultaron con los bordes verticales y horizontales. Sobel = [ 1 2 1; 0 0 0; -1 -2 -1];

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen 13. visualizacion imagen en escala de grises con filtro Sobel

OPERACIONES BASADAS EN VECINDADES g) Filtro mediana o promedio: Es un filtro muy interesante, ya que se clasifican los pxel con cierta intensidad para determinar el valor del pxel filtrado. La forma del filtro es la misma que los filtros normales de la convolucin. Los usos de este filtro aparte de eliminar mucho ruido de la imagen tambin resuelven discontinuidades de una imagen sin destruir la informacin general. Los pxeles que no son similares en valor a sus vecinos sern eliminados; la caracterstica de pxeles muy diferentes es una indicacin de que la imagen posee ruido.

Imagen 14. visualizacion imagen a color RGB filtro promedio

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen15 . visualizacion imagen en escala de grises con filtro promedio

h) Filtro mnimo: De forma similar al filtro anterior se clasifican los pxeles segn su valor. En este filtro se usa el menor valor del pxel como el nuevo valor filtrado.Este filtro tambin puede denominarse filtro de compresin o erosin porque la aplicacin sucesiva del mismo causar una disminucin en la intensidad de los bordes de los objetos dentro de una imagen, llegando a desgastarse.

Imagen16 . visualizacion imagen a color RGB con filtro minimo

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen17 . visualizacion imagen en escala de grises con filtro minimo

i) Filtro mximo: En este filtro se usa el mayor valor del pxel como el nuevo valor filtrado. Este filtro tambin se conoce como filtro de descompresin o expansivo, porque la aplicacin sucesiva de estos filtros causa un incremento en la intensidad de los bordes dentro de una imagen, llegando a aumentar de tamao los bordes. El efecto Filtro mximo resalta pxeles claros en una imagen.

Imagen18 . visualizacion imagen a color RGB con filtro maximo

Utilizando la opcion de escala de grises la imagen filtrada se visualiza asi:

Imagen19 . visualizacion imagen en escala de grises con filtro maximo

II. PROCESAMIENTO DIGITAL DE IMGENES (PDI) USANDO SEGMENTACION

La segmentacin de una imagen implica la deteccin, mediante procedimientos de etiquetado deterministas o estocsticos, de los contornos o regiones de la imagen, basndose en la informacin de intensidad o/y la informacin espacial. Existen diferentes mtodos de segmentacin que pueden utilizarse y cada tipo o familia normalmente se asocia a un tipo de problema a resolver. En este caso

aplicamos mtodos de segmentacin con los que se obtienen muy buenos resultados. Antes de segmentar es preciso definir qu objetos interesa determinar, tras la segmentacin es posible realizar operaciones de filtrado (a nivel de objetos), as como determinar caractersticas que permitan clasificar los objetos. La opcin de segmentacin viene dada por la opcin de recorte de la imagen mostrada en el men desplegado en la ventana de comandos de MATLAB.

Imagen20 . visualizacion menu de opciones en ventana de MATLAB

Una vez seleccionada esta opcin la imagen mostrada en pantalla es:

Imagen21 . visualizacion imagen recortada

III. EXTRACCION DE CARACTERISTICAS La funcin Caracterstica Extrae caractersticas de una figura despus de haber sido pasado por la funcin segmentacin de la imagen, para poder resaltar su contorno, y as de esta forma poder recorrer la imagen y hallar su permetro de una manera fcil y exacta, al igual que su rea y sus dimensiones. La opcin de extraccin de caractersticas de la imagen viene dada por la opcin de caractersticas mostrada en el men desplegado en la ventana de comandos de MATLAB.

Imagen22 . visualizacion menu de opciones en ventana de MATLAB

Imagen23 . visualizacion contorno de la imagen

Imagen24 . visualizacion contorno de la imagen

Imagen para hallar el permetro del contorno de la figura.

Imagen25 . visualizacion contorno de la imagen

Los resultados son mostrados en pantalla

Imagen26 . Resultados del vector de caracteristicas

IV. DETECCION DE ROSTROS

La opcin de reconocimiento de rostros en imagen viene dada por la opcin de rostro mostrada en el men desplegado en la ventana de comandos de MATLAB.

Imagen27 . visualizacion menu de opciones en ventana de MATLAB

La imagen usada para probar el cdigo tiene las siguientes caractersticas: Dimensiones: 416*300 Tipo: JPEG Tamao: 27.6 KB

Imagen28 . visualizacion imagen original antes de aplicar deteccion de rostros

Para lograr este objetivo es necesario la implementacin de la librera fdlib que posee una biblioteca de deteccin de rostros para C / C + + y Matlab. Que permite detectar las caras frontales de las imgenes.

Imagen29 . Despues de utilizar la deteccion de rostros implementada en MATLAB

V. PROCESAMIENTO DIGITAL DE IMGENES (PDI) VISUALIZACION DE LA ZONA DEL ROSTRO La deteccin de rostros tiene como objetivo identificar todas las regiones de la imagen que contengan rostros humanos sin importar su posicin, escala, orientacin, pose e iluminacin. Tambin se define la localizacin de rostros, que es una simplificacin del problema anterior, ya que identifica una sola regin que contenga un rostro en una imagen. El mtodo de deteccin de rostros basado en la deteccin de bordes se divide en 3 partes principales: Construir el modelo del fondo, realizar la substraccin del fondo y delinear el frente. El fondo es modelado en base a un modelo de color y a un modelo de bordes. Para cada canal de color (R, G o B) el modelo de color es representado por dos imgenes, la primera representa el promedio y la segunda la desviacin estndar de la componente de color de la imagen extrada de la secuencia de video con un fondo esttico. Este modelo se aplica para identificar los pixeles que han cambiado de color de una imagen a la siguiente. El modelo de bordes es construido aplicando el operador de bordes de Sobel a cada componente de color. Este operador ejecuta una medida del gradiente espacial en 2 dimensiones en una imagen, esto enfatiza las regiones de alta frecuencia espacial o regiones con grandes cambios que corresponden a los bordes). De la aplicacin de este operador se obtiene como resultado una imagen de gradiente horizontal y una imagen de gradiente vertical, de stas tambin se obtiene la imagen promedio y la desviacin estndar.

Imagen 30 . visualizacion deteccion de rostro por contorno con filtro

Imagen 31 . visualizacion deteccion de rostro por contorno con filtro

CONCLUSIONES A travs del desarrollo de esta prctica se pudo analizar y diferenciar los tipos de filtros los cuales a travs de la aplicacin de algoritmos permiten eliminar las seales indeseadas segn sus caractersticas, y el manejo que hacen sobre la imagen con el fin de mejorar su calidad ya que en muchos casos la imagen original presenta algunas impurezas producidas por una gama de factores entre las que se incluyen el ambiente, el estado del sistema de adquisicin, el estado del canal de transmisin, los cuales generan distorsin y ruido.

Si analizamos los resultados obtenidos se puede mencionar que el algoritmo de segmentacin basado en etiquetacin de pxeles propuesto resulta muy efectivo en condiciones en las cuales sabemos que los objetos a segmentar no estn juntos en la escena. El algoritmo propuesto se basa en el hecho de que los objetos a identificar en la imagen no estn juntos tal y como sucede en los dos primeros experimentos que hemos realizado. En el tercer experimento podemos observar claramente la deficiencia de nuestro algoritmo. A travs del desarrollo de esta prctica se pudo analizar y diferenciar las caractersticas bsicas manejadas para imgenes con figuras geomtricas las cuales a travs de la aplicacin permite calcular propiedades como rea, permetro, tamao y circularidad con el fin de identificar el tamao, la forma y las limitaciones que esta posee para hacerla medible en el espacio.

WEBGRAFIA

1. http://www.slideshare.net/omarspp/imagen-filtrado-espacial 2. http://ocw.um.es/ciencias/herramientas-de-teledeteccion-aplicadas-ala/material-de-clase-1/tema-6-tecnicas-de-filtrado.pdf 3. http://es.wikipedia.org/wiki/Procesamiento_digital_de_im%C3%A1genes 4. http://www.ingenieria.cl/tesis/ing_%28c%29_elec/1%282002%29/1.pdf 5. http://cabierta.uchile.cl/revista/17/articulos/paper4/index.html 6. http://www.elo.utfsm.cl/~elo328/ 7. http://www.faq-mac.com/noticias/9001/sistemas-reconocimiento-facialraul-sanchez-vitores 8. http://kyb.mpg.de/bs/people/kienzle/facedemo/facedemo.htm 9. http://www.mathworks.com/matlabcentral/fileexchange/20976-fdlibmexfast-and-simple-face-detection

You might also like