Academia.eduAcademia.edu

Realce y Detección de Bordes

—El realce de contraste y la detección de bordes son tratados en este documento. El realce de contraste se hace mediante la ecualización del histograma, la normalización del his-tograma y el realce adaptativo de contraste basado en la vecindad de un pixel, para posteriormente hacer una comparación de los métodos. La detección de bordes se hace mediante el detector de bordes de Canny y el algoritmo de cierre de contornos para posteriormente analizar la mejora de está ultima.

1 Realce y Detección de Bordes Daniel Hernández, Student, INAOE, Hans Morales, Student, INAOE, Abstract—El realce de contraste y la detección de bordes son tratados en este documento. El realce de contraste se hace mediante la ecualización del histograma, la normalización del histograma y el realce adaptativo de contraste basado en la vecindad de un pixel, para posteriormente hacer una comparación de los métodos. La detección de bordes se hace mediante el detector de bordes de Canny y el algoritmo de cierre de contornos para posteriormente analizar la mejora de esta última. Index Terms—Contraste, Histograma, Bordes, Canny II. C ONCEPTOS B ÁSICOS Los operadores TM y DG estiman la intensidad local del gradiente con la ayuda de máscaras de convolución adecuadas. En el caso del gradiente diferencial , se requieren únicamente dos máscaras , mientras que en la comparación de plantillas se pueden usar alrededor de 12 máscaras de convolución diferentes capaces de estimar componentes del gradiente en direcciones diferentes (Prewitt, 1970; Kirsch, 1971, Robinson, 1977; Abdou y Pratt, 1979) [2]. I. I NTRODUCCI ÓN U NA familia extensa de señales bidimensionales es aquella que comprende las imágenes digitales. Pueden transportar una gran cantidad de información para ser procesada ya sea por un humano o por una máquina. La descripción de la imagen en términos de bordes y texturas es un tema bastante común, pero desafortunadamente la definición de borde es frecuentemente malinterpretada como un contorno o una lı́nea. Existen dos maneras distintas de ver la detección de bordes; la primera desde el punto de vista del procesamiento de señales y la segunda desde el punto de vista de la inteligencia artificial. Desde el punto de vista del procesamiento de señales, la noción de un borde implica una variación en los niveles de intensidad de la imagen. Se puede representar puntualmente mediante un vector cuyos componentes son funciones que varı́an continuamente. Si se toma una decisión para conservar variaciones “importantes”, el resultado puede llamarse contorno y puede corresponder al borde de un objeto real en la imagen. El contenido de la región rodeado de estos contornos puede llamarse textura. A. El Operador de Canny Desde su publicación en 1986, el operador de Canny se ha vuelto en uno de los operadores de detección de bordes más utilizados. La aproximación de Canny está basada en tres objetivos básicos [3]: 1) Baja tasa de error. Todos los bordes deben de ser encontrados y no debe de haber respuestas falsas 2) Los puntos de borde deben de estar bien localizados. Los bordes encontrados deben de ser muy cercanos a los verdaderos bordes. 3) Respuesta de borde de un solo punto. El detector debe de regresar únicamente un punto para cada punto de borde verdadero. Como resultado de estas consideraciones, el método involucra un número de etapas de procesamiento [2]: 1) Filtrado espacial pasa-bajas en frecuencia. 2) Uso de máscaras diferenciales de primer orden. 3) Supresión no máxima involucrando interpolación subpixel de intensidades de pixeles. 4) Umbralización de Histéresis. En el segundo punto de vista, se define primero la propiedad regional o de textura. Después, todos los puntos de la imagen que poseen la misma propiedad son etiquetados idénticamente, formando entonces regiones. Las lı́neas de borde de las regiones, que permiten la segmentación de la imagen pueden ser llamados falsos contornos, o simplemente contornos si no existe referencia a objetos reales y pueden corresponder a los bordes [1]. El trazado del número de veces (frecuencia de aparición) en que se repite cada uno de los niveles de grises de una imagen se denomina histograma. En el eje x se coloca cada uno de los niveles de grises l, (0 ≤ r(L − 1)) de la imagen, mientras que en el eje y se coloca la frecuencia de aparición h(l) de cada uno de estos niveles. La deteccción de bordes ha pasado a través de una evolución abarcando poco más de 30 años. Dos métodos principales de deteccción de bordes han sido aparentes en este perı́odo, el primero de estos es la comparación de plantillas o template matching (TM) y el segundo el gradiente diferencial o diferential gradient (DG). En cualquier caso, el objetivo es encontrar en dónde la intensidad de magnitud del gradiente es lo suficientemente grande para ser tomada en cuenta como un indicador confiable del borde de un objeto [2]. Muchas veces la información que brinda el histograma puede resultar muy valiosa para determinar e interpretar de forma objetiva las caracterı́sticas de una imagen sin necesidad de observarla en forma directa. Si los niveles de grises se encuentran distribuidos prácticamente a lo largo de todo el rango dinámico [0, L − 1], se puede decir que la imagen tiene un buen contraste. Si por el contrario, el histograma de la imagen no se encuentra distribuido en todo el rango dinámico, salvo por un rango estrecho, se dice que la imagen B. Procesamiento del Histograma 2 posee un bajo contraste. 2c), ampliando el rango dinámico de los niveles de gris en la imagen. Una de las técnicas más conocidas para el mejoramiento del contraste es el “ajuste del histograma”. Tiene como objetivo obtener el histograma de una imagen con una forma especı́fica [4]. 1) Ecualización del histograma: Es una forma especı́fica de transformación que tiende a lograr una aproximación muy cercana a una distribución uniforme de los valores de la escala de los niveles de grises; es decir, la ecualización del histograma pretende darle la misma probabilidad de ocurrencia a todos los niveles de grises [4]. 2) Normalización del histograma: Es una transformación que permite mover el rango dinámico de niveles de gris de una imagen a un rango amplio o estrecho según sea el caso, conservando la probabilidad de ocurrencia. Imagen Original Histograma de la Imagen Original (Bajo Contraste) 7000 6000 5000 4000 3000 2000 1000 0 0 0.1 0.2 Normalizacion o Ajuste del Histograma 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.7 0.8 0.9 1 Histograma de la Imagen Normalizada 7000 6000 5000 4000 3000 2000 1000 0 0 0.1 0.2 0.3 0.4 0.5 0.6 Figura 2. a) Imagen en bajo contraste b) Histograma de la imagen en bajo contraste c) Imagen normalizada d) Histograma de la imagen normalizada III. P RUEBAS Y R ESULTADOS A. Realce adaptativo de contraste El realce adaptativo de contraste consiste en hacer una mejora basada en la información de la vecindad. Una forma especı́fica se puede obtener utilizando la siguiente fórmula: g(x, y) = k1 M [f (x, y) − m(x, y)] + k2 m(x, y) σ(x, y) (1) donde m(x, y) y σ(x, y) son la media y la desviación estándar calculados sobre un entorno de vecindad centrado en (x, y), M es la media global de la imagen f (x, y) y k1 y k2 son dos constantes que toman valores en el intervalo [0,1]. Leemos una imagen pequeña (500 x 500 pixeles) con bajo contraste (Fig. 1a) y posteriormente obtenemos su histograma para corroborar que el rango dinámico de la misma es angosto (Fig. 1b). Aplicamos el comando histeq en MATLAB® para procesar la imagen original (Fig. 1c) y finalmente obtenemos su histograma para corroborar que el rango dinámico de la imagen se ha extendido en todo el intervalo (Fig. 1d). Visiblemente, la ecualización extiende el rango de los niveles de gris y hace resaltar detalles imperceptibles de la Fig. 1a Podemos observar un realce en el contraste que se puede corroborar mediante los histogramas correspondientes (Fig. 2b y 2d) y al igual que en la ecualización del histograma, el contraste ha mejorado, obteniendo imágenes muy parecidas, pero con ligeras diferencias en los histogramas correspondientes. Finalmente hacemos un realce adaptativo de contraste aplicando la Eq. 1 a la imagen de la Fig. 2a, obteniendo diversos resultados con valores distintos de k1 , k2 y el tamaño de ventana a utilizar: Imagen Original 6000 5000 4000 3000 2000 1000 0 0 Realce Adaptivo con v=3, k Imagen Original Histograma de la Imagen Original (Bajo Contraste) Histograma de la Imagen Original (Bajo Contraste) 7000 1 =0.2 y k 2 =1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Histograma de la Imagen con Realce Adaptivo con v=3, k 0.8 1 0.9 =0.2 y k 1 2 =1 5000 7000 4500 4000 6000 3500 5000 3000 4000 2500 2000 3000 1500 2000 1000 500 1000 0 0 0 0 0.1 0.2 Ecualizacion del Histograma 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1 Histograma de la Imagen Ecualizada Figura 3. a) Imagen en bajo contraste b) Histograma de la imagen en bajo contraste c) Imagen aplicando realce adaptativo de contraste con v = 3, k1 = 0.2, k2 = 1 d) Histograma de la imagen con realce adaptativo 7000 6000 5000 4000 3000 2000 1000 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Figura 1. a) Imagen en bajo contraste b) Histograma de la imagen en bajo contraste c) Imagen ecualizada d) Histograma de la imagen ecualizada Posteriormente, y utilizando la imagen de referencia en la Fig. 1a, aplicamos una normalizacion del histograma (Fig. Con k1 = 0.2, en la Fig. 3c podemos observar una mejora en ciertos detalles de la imagen, pero al mismo tiempo observamos que se generan falsos contornos. El histograma obtenido del realce adaptativo (Fig. 3d) nos arroja una distribución del histograma tipo gausiana, con un rango dinámico mayor que el de la imagen original. 3 Imagen Original Histograma de la Imagen Original (Bajo Contraste) Imagen Original Histograma de la Imagen Original (Bajo Contraste) 7000 7000 6000 6000 5000 5000 4000 4000 3000 3000 2000 2000 1000 1000 0 0 0 Realce Adaptivo con v=3, k =0.7 y k 1 =1 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Histograma de la Imagen con Realce Adaptivo con v=3, k 0.9 1 =0.7 y k 1 0 =1 2 Realce Adaptivo con v=13, k =0.5 y k 1 =1 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Histograma de la Imagen con Realce Adaptivo con v=13, k 0.8 0.9 =0.5 y k 1 1 =1 2 3000 3500 2500 3000 372 828 832 73 328837878278 73 328728878873323882287826372 8 38283 33837878278493233 32 7 3 78278828333 783323783 4  8 78338 78Figura 786.2a)78Imagen 828en37bajo 22b)38Histograma 7 de37la4imagen !8 Figura 4. a) Imagen en bajo contraste b) Histograma de la imagen en bajo 7conv2=83, 38 83c)23Imagen 78"aplicando 32#contraste 3realce 2 $adaptativo  4 3%8decontraste 337con3v en= bajo contraste c) Imagen aplicando realce adaptativo de contraste contraste 13, k = 0.7, k = 1 d) Histograma de la imagen con realce adaptativo de la imagen con realce adaptativo 82878278k8=80.5, 8k33=13d)7Histograma 4 que 4&'37378Cabe 28destacar 8883 23la3elección 728 7de8los valores 873863dek1 y k2 afectan el rango de salida de los niveles de gris de la imagen, 8782788388828(3822374 2500 2000 2000 1500 1500 1000 1000 500 500 0 0 0 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 0 1 Con k1 = 0.7, en la Fig. 4c podemos observar una realce más significativo en los contornos de los objetos, pero al mismo tiempo observamos que se generan mucho más falsos contornos que en la Fig. 3c. El histograma obtenido del realce adaptativo (Fig. 4d) nos arroja una distribución del histograma tipo gausiana, con un rango dinámico mucho mayor que el de la Fig. 3c. El valor de k2 mueve el centro de la distribución tipo gausiana obtenida en el histograma de la imagen procesada con el algoritmo adaptativo (Fig. 5). Imagen Original 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 por lo que dependiendo de la imagen a tratar, algunos pixeles pueden salir fuera del rango de niveles de gris preestablecidos y saturarse en negro o blanco. 74&! 3232883 3832782733773288388228782888838287788"78383373283283837882287878 287288B.8Cierre 6888888 83328 78 2378841( 278493233 88323 88de78contornos 27847827288382833338337877883 323783 En ocasiones, la detección de bordes de Canny puede pre-  7 8  3 3 8 7 8      7 8   2 7 8  8  2 8     3 7   2    tanto es 84&)8288 3sentar 382contornos 283238abiertos. 8878Por 2288 3388 2necesario (833323878implementar 23"232#322$3843   8822878un 24cierre *3#de contornos 872+837288posterior 827832237a8la3238detección 7382333de832bordes 74 de 8278 823Canny. 8Para 37ello 8 se8aplica 2 78un88Kernel 838codificado 3 78(Fig. 3 7) y un código que se2 compara 823 33 8el8resultado 8 "8223nos7884proporciona 2  3 7   3   2 4 9 3 2 3 " 8  7 8 8   3     3 3determinar ,878828la288dirección 328 8888de32cierre 3con3728 78 28333el82código 28(33del8patron &' (36338para 377  278se8determina 3888ladirección 28(3de822374 787886de23contorno. 788 3En28base 34 a 8esto, búsqueda y examinando el valor del gradiente se determina -888832 8224está . 38678o2si3algún 28pixel 37323como 7 nuevo si el3borde 7Los 4&!patrones 3de 232búsqueda 883semarca 3 8   3   278en 237la888 8 '3 66'3 6/822878pixel de2borde. 4 cerrado se observan  2 8  7 2 8    8       8  6  8 8  8 8    8    8327 Fig. 8. 88323 88782784 84&)8288 33822832388 8828382 882287824*3# 872+37882 323323 8278 8238378 8278888 823 33 888 "82237882 373249323" 283338228(338 (3633,8 8 787886 23788 32834 $3% -8888$3%238224. 386782328 Figura 7. Kernel de cierre de bordes '3 66'3 6/82287824 Histograma de la Imagen Original (Bajo Contraste) 7000 6000 5000 4000 3000 2000 1000 0 0 Realce Adaptivo con v=3, k 0.1 1 =0.2 y k 2 =0.5 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Histograma de la Imagen con Realce Adaptivo con v=3, k 5000 4000 3000 2000 1000 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.8 1 0.7 0.9 =0.2 y k 0.8 0.9 1 2 =0.5 1 Figura 5. a) Imagen en bajo contraste b) Histograma de la imagen en bajo contraste c) Imagen aplicando realce adaptativo de contraste con v = 3, k1 = 0.2, k2 = 0.5 d) Histograma de la imagen con realce adaptativo 12345367898282 3 3228 El último parámetro a modificar es el tamaño de ventana. Analizando la imagen e histograma obtenidos con v = 13, k1 = 0.5, k2 = 1 (Fig. 6c y Fig. 6d respectivamente), observamos un mayor rango dinámico en el nivel de grises a la salida, pero también observamos una disminución en los falsos contornos generados con una ventana pequeña, por lo que podemos decir que actúa como filtro para eliminar el pseudo-ruido generado por el método. $3% Figura 8. Códigos de puntos de borde Aplicamos la detección de bordes de Canny en MATLAB® mediante el comando edge, especificando en las opciones la $% 4 detección de bordes de Canny. El resultado es una imagen binarizada que se muestra en la Fig. 9b. Imagen Original Deteccion de Bordes de Canny Figura 9. a) Imagen original b) Detección de bordes de Canny Se Aplica el Kernel, y el resultado es una figura con los bordes más gruesos (Fig. 10a), los cuales poseen los códigos de los pixeles que son bordes extremos. Una vez hecho esto, se buscan dichos códigos y se busca el gradiente en los tres puntos de búsqueda para cada código. Una vez hecho esto, se determina el gradiente más alto de estos puntos y se marca como nuevo pixel de borde. El proceso se repite hasta que no haya cambios. El resultado se observa en la Fig. 10b. Convolucion de imagen con el kernel Cierre de Contornos Figura 10. a) Convolución con el Kernel b) Cierre de contornos Dada la naturaleza de algunos bordes se puede apreciar que se pueden llegar a hacer bordes dobles con respecto a Canny original o hacer cierre de bordes falsos. IV. C ONCLUSIONES La ecualización y normalización del histograma mostraron mejores resultados visuales con respecto al realce adaptativo de contraste. Sin embargo, el realce adaptativo mostró una distribución del histograma más uniforme y de tipo gausiano. Podemos decir que los valores de k1 y k2 mueven la desviación estándar y la media global del histograma de la imagen respectivamente. Una ventana más grande nos da una imagen con un menor número de falsos contornos, mientras que una ventana mas pequeña los acrecenta. En cuanto a la detección de bordes de Canny y cierre de contornos, observamos una mejora en la definición de contornos para aquellos que no alcanza a cerrar el algoritmo de Canny, sin embargo está limitado a ciertos ángulos dados por los patrones de búsqueda y el Kernel de convolución, por lo que en ocasiones el resultado no es completamente satisfactorio, sobre todo en secciones con discontinuidades grandes. R EFERENCES [1] M. Kunt. Edge detection : A tuttorial review. In Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP ’82., volume 7, pages 1172–1175, May 1982. [2] E.R. Davies. Computer and Machine Vision CVM. Academic Press, fourth edition. [3] Rafael C. Gonzalez. Digital Image Processing. Pearson Prentice Hall, third edition. [4] R. Rodriguez. Procesamiento y Analisis Digital de Imagenes. Alfaomega, first edition.