Вы находитесь на странице: 1из 11

Logica difusa para efecto de dibujo a partir de imgenes digitales

Victor Hugo Soliz Kuncar, vexorian@gmail.com Carrera de Informtica, Universidad Mayor de San Andrs, Facultad de ciencias naturales, La Paz Bolivia

Resumen
Los filtros grficos para crear imgenes con la apariencia de dibujos, pinturas o bocetos a mano son a menudo incluidos en programas de edicin grfica para ayudar a los artistas a crear efectos a partir de fotos. Tambin tienen un auge en la web como opcin entretenida en los sitios para compartir fotos. El presente trabajo propone un mtodo de generacin de imgenes que simulan el dibujo a mano a partir de imgenes combinando el concepto de deteccin de bordes y lgica difusa. Palabras clave: deteccin de bordes, lgica difusa, procesamiento de imgenes

1. Introduccin
Las aplicaciones de grficos generalmente incluyen una coleccin de efectos y filtros que se pueden usar en una imagen. Desde cambiar el brillo y contraste de una fotografa hasta hacerla parecer una pintura al leo pasando por el cambio de los tonos de color para que parezca una foto en sepia antigua. Los usos para estos filtros varan, desde personas que quieren entretenerse modificando sus fotos a profesionales en diseo que los utilizan como efectos especiales para sus productos. En este artculo exploraremos la creacin de un efecto de dibujo a trazos a partir de fotografas digitales. Este problema es un efecto interesante que necesita que se puedan diferenciar los contornos de los objetos en la imagen automticamente. Lo que nos lleva al problema de la deteccin de bordes.

como una matriz de pxeles con un nmero de columnas y de final .Cada pxel .ser un nmero de 0 a 255 representando la cantidad de iluminacin, siendo 0 el ms oscuro (negro) y 255 el ms claro (blanco). Entonces podemos definir a un borde como un conjunto de puntos que separan dos reas que tienen valores de iluminacin suficientemente diferentes. La deteccin de bordes es un problema que ha estado presente desde los tiempos tempranos del procesamiento de imgenes. A continuacin veremos 2 mtodos muy populares para lograr este objetivo.

3. Operador de Sobel
El operador de Sobel asume que los puntos discretos de una imagen son en realidad muestras de una funcin contina de 2 dimensiones. La funcin es aproximada a partir de los puntos y se define al gradiente de esta funcin como un indicador de qu tan abruptamente o suavemente cambia la intensidad de la imagen en cada punto. En los puntos en los que no exista gran cambio, el gradiente ser 0. El resultado se alejar del 0 a medida que los cambios sean ms bruscos. La aproximacin de la funcin se hace a partir de los 9 puntos que forman el cuadrado de 3x3 alrededor de cada pixel. Para cada celda (i,j):

2. Deteccin de bordes
La deteccin de bordes en imgenes digitales consiste en determinar si un punto dado de la imagen es el contorno de algn objeto o figura. Es un problema no trivial desde el momento en que se define. Qu representa un borde en el momento de estudiar una imagen?. En nuestro caso nos enfocaremos en la deteccin de bordes en imgenes en blanco y negro. Consideraremos a una imagen digital

G x i , j =Ai1, j12 Ai , j1 Ai1, j1Ai1, j1 2 Ai , j1Ai 1, j1 G y i , j=Ai1, j12 Ai1, j Ai1, j1Ai1, j1 2 Ai1, j Ai1, j1 f i , j= G x i , j 2 G y i , j 2

- Trazado de los bordes.. Se buscan curvas continuas que agrupen puntos marcados como posibles bordes en el anterior paso.

5. Lgica difusa
La lgica difusa es una forma de lgica multivalorada en la que el grado de verdad de las proposiciones es un nmero real entre 0 y 1. Relacionados a la lgica difusa, los conjuntos difusos tienen una funcin de pertenencia que relaciona a posibles elementos con un grado de pertenencia. Para realizar deteccin de imgenes definimos los siguientes conjuntos: Negro: El pixel es negro/oscuro Gris :El pixel es gris/tono intermedio Blanco: El pixel es blanco/claro

Valores altos de gradiente indican que el punto es un borde. Este mtodo normal es implementado por 2 matrices de tamao 3x3 que se convolucionan a la imagen original para encontrar Gx y Gy de cada celda. 1 G x = 2 1 1 G y= 0 1
2 x

[ [

0 1 0 2 A 0 1 2 1 0 0 A 2 1

G= G G

2 y

El mtodo de Sobel es popular. Aunque los resultados no son en general los mejores, ste mtodo es fcil de implementar y rpido.

4. Detector de bordes de Canny


El detector de bordes de Canny es muy importante. Desarrollado en 1986, sigue siendo uno de los mtodos ms fiables en el caso general. Consiste de varias fases: Filtro Gaussiano (Reduccin de ruido). Se aplica un filtro de seal a la imagen para reducir el efecto del ruido. Bsicamente haciendo ms borrosa a la imagen.

Funciones de pertenencia.
Fuente: Elaboracin propia, basada en imagen generada por MATLAB.

- Gradiente de intensidad. Se utiliza un mtodo (Como por ejemplo, Sobel) para 5.1 Inferencia difusa encontrar el gradiente de intensidad de la Definimos a la vecindad de un pixel en la imgen. Adems del gradiente, se considera la posicin (x,y) como el conjunto de los pxeles direccin atan(Gy, Gy), que se redondea a ngulos horizontales, verticales o diagonales en que son adyacentes o comparten equinas con l: el cuadrante. - Supresin de mximos falsos. Se confirma si los puntos en los que los gradientes son altos son mximos locales, utilizando la direccin obtenida anteriormente para confirmar si, comparando con los puntos en esa direccin, el gradiente es ms grande. (x-1,y+1) (x,y+1) (x-1,y) (x,y) (x-1,y-1) (x,y+1) (x+1,y+1) (x+1,y) (x+1,y+1)

Las funciones determinan en qu medida se puede considerar un pixel como negro, por ejemplo. Si el valor del pixel es 0, el grado de pertenencia al conjunto negro es 1, el grado de pertenencia al conjunto gris es 0 y el grado de pertenencia al conjunto blanco es 0. En cambio, si el valor del pixel es 100, el grado de pertenencia al conjunto negro es 0.61, Al conjunto blanco es 0.39 y al conjunto gris 0.78.

Para poder decidir si (x,y) es un borde utilizando

m7 * m9

m4 * m6 reglas lgicas utilizamos la idea previa de que m1 * m3 un borde es un punto que separa a dos reas que tienen tonos de color diferentes entre s. Se traduce en la siguiente regla: Definimos 9 variables de entrada para cada pixel: Antecedente: Si (m7 es Blanco) y (m4 es Blanco) y (m1 es Blanco) y (m9 es Negro) y (m6 es Negro) y (m3 es Negro). m7 =(x-1,y+1) m8 = (x,y+1) m9 = Consecuente: Entonces la celda del centro es (x+1,y+1) borde. m4 = (x-1,y) m5 = (x,y) m6 = (x+1,y) Tambin necesitamos reconocer las situaciones m1 = (x-1,y-1) m2 = (x,y+1) m3 = en las que podemos estar seguros que no existe (x+1,y+1) un borde, esto sucede cuando todos los colores de la vecindad son iguales. Se utilizaron 26 reglas de inferencia: m7 m8 m9 * * * m1 m2 m3 m7 m8 m9 * * * m1 m2 m3 m7 m4 m1 * m9 * m6 * m3 m7 m4 m1 * m9 * m6 * m3 m7 m8 m9 m4 m5 m6 m1 m2 m3 m7 m8 m9 m4 m5 m6 m1 m2 m3 m7 m8 m9 m4 m5 m6 m1 m2 m3

m7 m8 m4

m7 m8 m4

* m8 m9 m4 * m6 * m1 m2

* m8 m9 m4 * m6 * m1 m2

* m6

* m6

* m2 m3

* m2 m3

Para evaluar la conjuncin de dos expresiones difusas de los antecedentes utilizamos la funcin mnimo. El valor de verdad mnimo de todas las funciones de pertenencia del antecedente se convierte en su grado de verdad. Para cada resultado (Es borde / no es borde), se acumulan los valores de verdad de los antecedentes utilizando la funcin mximo. Para realizar la inferencia utilizaremos el mtodo de Mamdani. Para aquello necesitamos definir dos conjuntos para la variable de salida:

m7 m8 m9 * * * m1 m2 m3

m7 m8 m9 * * * m1 m2 m3

m7 m4 m1

* m9 * m6 * m3

m7 m4 m1

* m9 * m6 * m3

m7 m8 m4

m7 m8 m4

* m8 m9 m4 * m6 * m1 m2

* m8 m9 m4 * m6 * m1 m2

* m6

* m6

* m2 m3

* m2 m3

m7 m8 m9 * * * m1 m2 m3

m7 m8 m9 * * * m1 m2 m3

m7 m4 m1

* m9 * m6 * m3

m7 m4 m1

* m9 * m6 * m3

Funciones de pertenencia de la salida


m7 m8 m4 * m7 m8 m4 * * m8 m9 m4 * m6 * m1 m2 * m8 m9 m4 * m6 * m1 m2

Fuente: Elaboracin propia

* m6

* m6

* m2 m3

* m2 m3

Reglas de inferencia
Fuente: Elaboracin propia.

La implicacin de Mamdani est basada en la funcin mnimo. Se aplica el mnimo entre el antecedente y la funcin del consecuente.

Cada uno de los esquemas anteriores representa un caso en el que se puede concluir que la celda del centro es un borde. Por ejemplo, el siguiente esquema:

Fuente: Elaboracin propia

El resultado es una funcin que se puede equivalentes a 255. decodificar de varias formas. Utilizamos el mtodo de los centroides. Bsicamente busca el 5.3 Herramienta de programacin centro de gravedad de la curva total. El punto de ste centro, un valor entre 0 a 495. determina La herramienta de programacin utilizada fue MATLAB. MATLAB posee un motor de que tanto es un borde. Un valor cercano a 0 inferencia difusa que permite definir los tiene certeza de ser un borde. Los valores conjuntos , reglas y formas de inferencia. mayores iguales a 495 se consideraran

6. Casos de prueba y resultados


Una coleccin de fotografas en la que sern aplicados el mtodo presentado, y tambin los gradientes hallados por Sobel y el mtodo de Canny.

6.1
a) Original b) Canny

Fuente: imagepageprocessingplace.com c) Sobel d) Mtodo propuesto

6.2
a) Original b) Canny

Fuente: Wikimedia commons c) Sobel d) Mtodo propuesto

6.3
a) Original b) Canny

Fuente: imagepageprocessingplace.com c) Sobel d) Mtodo propuesto

6.4
a) Original b) Canny

Fuente: Wikimedia commons c) Sobel d) Mtodo propuesto

6.5
a) Original b) Canny

Fuente: imagepageprocessingplace.com c) Sobel d) Mtodo propuesto

6.6
a) Original b) Canny

Fuente: Wikimedia commons c) Sobel d) Mtodo propuesto

6.7
a) Original b) Canny

Fuente: imagepageprocessingplace.com c) Sobel d) Mtodo propuesto

7. Discusin
Los resultados del mtodo propuesto suelen ser parecidos a los del mtodo de Sobel al usarlo en esta aplicaciones. Se pueden apreciar casos en que algunos bordes son encontrados por Sobel y no por el nuevo mtodo y vice versa. El mtodo propuesto tiene la ventaja de que por su caracterstica difusa, puede crear contornos suaves ms frecuentemente, los que aumenta el efecto de dibujo de boceto. Por otro lado, esta sensibilidad viene a cambio de artefactos Aproximaciones al gris en la escala de colores pueden causar que el mtodo dibuje lineas o incluso manchas en lugares equivocados.

8. Conclusin
La lgica difusa ofrece una nueva perspectiva para solucionar problemas que an no tienen una solucin definitiva utilizando matemtica y lgica clsica. Con reglas de inferencia difusas basadas en el sentido comn se puede realizar un algoritmo que es capaz de detectar bordes y tiene una aplicacin apropiada en crear un efecto de dibujo a mano a partir de imgenes digitales.

9. Agradecimiento
A Guillermo Choque Ausipiazu Phd. por sus correcciones al mtodo propuesto y revisin de ste artculo.

En realidad, el mtodo es an una versin exploratoria y hace falta intentar con variaciones en la definicin de conjuntos y de 10. Referencias reglas. Las manchas que pueden aparecer a veces son causadas por el hecho de que los tonos ms grises tienen un valor de pertenencia Abdallah A. Alshennawy, and Ayman A. relevante tanto al conjunto blanco como al Aly;. Edge Detection in Digital Images negro. El conjunto noborde en la salida y su Using Fuzzy Logic Technique situacin lejos del color blanco funciona para compensar este efecto. http://www.waset.org/journals/waset/v51/ v51-30.pdf El mtodo de Canny est en cambio especializado en encontrar curvas slidas. Los Ultimo acceso: 16 de Junio de 2012 resultados son ms precisos que los de Sobel y H. R. Tizhoosh, Fuzzy Edge Detection el mtodo propuesto, pero la falta de http://pami.uwaterloo.ca/tizhoosh/edge.htm diferenciacin entre bordes fuertes y dbiles no le permite ser una solucin completa para la Ultimo acceso: 16 de Junio de 2012 aplicacin buscada. Es posible que las curvas resultantes se puedan utilizar como una fase intermedia.

Вам также может понравиться