Sie sind auf Seite 1von 35

4

Tcnicas de preprocesado

Las tcnicas de procesado pretenden mejorar o realzar las propiedades de la


imagen para facilitar las siguientes operaciones de la Visin Artificial, tales como las
etapas de segmentacin, extraccin de las caractersticas y finalmente la interpretacin
automtica de las imgenes. Recuerde que el fin ltimo de la Visin Artificial es la
interpretacin automtica de la imagen o una mejora de la calidad de la imagen.
Las tcnicas de preprocesado se basan bien en tcnicas derivadas del
procesamiento digital de seales, vistas en el captulo anterior, o bien en un conjunto de
procedimientos heursticos que han dado resultados satisfactorios. En este tema ser
objeto de estudio el segundo proceder. Las tcnicas heursticas son una combinacin de
procedimientos basados en el procesamiento digital de seales y en otros tipos de
manipulaciones matemticas. Su estudio se iniciar con una primera clasificacin. Estos
algoritmos se pueden catalogar en funcin de las pretensiones de sus transformaciones
en alguna de las siguientes facetas:


Realce o aumento del contraste (enhancement).

Suavizado o eliminacin del ruido (denoising)

Deteccin de bordes (edge detection)

El desarrollo de estas tcnicas se realizar en la informacin de luminancia de


las imgenes, esto es, slo se analizarn sobre imgenes en niveles de grises. Muchas de

Dpto. Electrnica, Automtica e Informtica Industrial

115

Carlos Platero

Apuntes de Visin Artificial

ellas pueden ser luego trasladadas a imgenes en color. Sin embargo, no se puede
generalizar. Las tcnicas de preprocesado sobre imgenes en color requieren un
tratamiento diferenciado.

4.1 Realce o manipulacin del contraste


Las tcnicas de realce pretenden aumentar el contraste de las imgenes. No en el
sentido estricto de aumentar la calidad radiomtrica, sino de mejorar algunas de sus
caractersticas visuales para las siguientes etapas del anlisis automtico de las
imgenes. Las causas de aplicar estos algoritmos se deben bien a una falta de
iluminacin uniforme en la escena o bien al deseo de aumentar el contraste entre los
objetos presentes en la imagen.
En el captulo de formacin de las imgenes se estudi las dificultades de la
implementacin del sistema de iluminacin. Normalmente, la escena capturada por el
sistema de visin se encuentra con unas fuentes de iluminacin no colimadas y variables
con el tiempo y con objetos que producen reflejos y sombras no deseadas. De otro lado,
las ganancias de las cmaras no son lineales. El doble de intensidad radiada en un pxel,
no se traduce en el doble de cuantificacin en el nivel de gris de ese pxel. Todas estas
imperfecciones deben ser corregidas tanto en la formacin de las imgenes como con el
uso de tcnicas preprocesado de realce. Ambas deben ser utilizadas.
Estas tcnicas de realce tambin se aplican cuando se pretende utilizar tcnicas
de segmentacin. El objetivo de este procesado es facilitar las tareas de particin de la
imagen. Con este fin se aumenta el contraste entre los objetos de la imagen.
Muchas de las aplicaciones de realzado se fundamentan en operaciones punto a
punto, es decir, no tienen en cuenta el entorno de vecindad del pxel. Para su estudio se
requiere introducir los conceptos de histograma, brillo y contraste. Los fundamentos de
estas tcnicas estn en la adecuacin del rango dinmico de la imagen y en la
ecualizacin del histograma. Para acabar, tambin se explorarn algunos procedimientos
basados en el uso de filtros paso banda.
4.1.1 Histograma, brillo y contraste
El histograma es una funcin discreta que contabiliza el nmero de ocurrencias
de cada nivel de gris presenta en una imagen. Se representa en un diagrama donde en el
eje de abscisa est el nivel de gris y en el de ordenadas la frecuencia de cada nivel de
gris en la imagen. Si al histograma se le divide por el nmero de pxeles de la imagen se
obtendr la funcin de probabilidad muestreal de cada nivel de gris en la imagen:
h(i ) = nmero de ocurrencia del nivel de gris i en la imagen
p(i ) =

116

h(i )
M N

(4. 1)

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

Siendo M y N el nmero de filas y columnas de la imagen, h(i) es la funcin


histograma y p(i) su probabilidad. Un histograma no dice nada sobre la disposicin
espacial de las distintas intensidades. Dos imgenes diferentes pueden tener igual
histograma. Sin embargo, el histograma habla sobre el tipo de adquisicin que ha sido
realizado.
El histograma proporciona informacin estadstica de la imagen. Esta
informacin es bastante til para conocer cmo se ha producido el proceso de formacin
de la imagen. As, se define el brillo de la imagen como el valor medio de la imagen que
coincide con el valor medio del histograma:

Brillo = =

1
M N

I 1

f ( x, y ) = i p(i )

x =1 y =1

(4. 2)

i=0

Donde f(x,y) retorna el nivel de gris del pxel situado en las coordenadas (x,y), I
es el nmero de grises que se ha empleado en el proceso de cuantificacin de la imagen.
Una imagen que presente un valor de brillo mayor que otro sobre la misma escena,
indica que el nivel de radiacin medio que ha llegado a la cmara es mayor en una
imagen que en otra, bien por que se disminuy el nmero F de diafragma o por que se
vari el tiempo de integracin. Este efecto se observa en el histograma como un
desplazamiento neto hacia la derecha del eje de abscisa. A medida de que la imagen
parezca ms clara, el histograma se mueve hacia valores ms altos de los niveles de
grises. La variacin del brillo se efecta con la operacin aritmtica de suma o resta a
cada pxel de una cantidad determinada.
Imagen de entrada

Imagen de entrada + 50

1000

1000

500

500

0
0

100

200

100

200

Figura 4. 1. Imagen con dos valores distintos de brillo a) 76 b) 126

La varianza del histograma tambin es asociada al contraste de la imagen:

Dpto. Electrnica, Automtica e Informtica Industrial

117

Carlos Platero

Apuntes de Visin Artificial

Contraste = 2 =
1
M N

1
M N

( f (x, y ) )

x =1 y =1

I 1

I 1

i =0

i =0

2
2
(i ) h(i ) = (i ) p(i )

(4. 3)

El contraste indica la dispersin de los niveles de grises en la imagen. Aunque se


puede encontrar otras definiciones matemticas del contraste, todas son medidas de
dispersin. En todo caso, una imagen con poco contraste indica que hay poca
variabilidad de los niveles de grises en la imagen. Su efecto se muestra en un
histograma muy concentrado, con un rango dinmico pequeo. El rango dinmico es la
variacin de niveles de grises en la imagen. Otro estadstico interesante es la funcin
energa:
I 1

Energa = p (i )

i =0

(4. 4)

sta indica el grado de dispersin de grises en la imagen. Si hubiese un nico


nivel de gris la energa sera mxima y de valor uno. A medida de que aumente el
nmero de niveles de grises existentes en la imagen disminuir la energa. La funcin
inversa a la energa es la entropa:
I 1

Entropa = p (i ) log( p (i ))
i=0

(4. 5)

A mayor entropa ms desorden en la imagen, esto es, ms niveles de grises


participan en la imagen. La entropa ser mxima cuando todos los niveles de grises
sean equiprobables.
Se dice que una imagen est saturada cuando su histograma presenta valores
muy altos en sus extremos del rango dinmico; el histograma tiene una forma en U.
Las imgenes con bajo contraste o saturada tienen prdidas de informacin en sus
adquisiciones. La solucin est en una nueva formacin de la escena con valores
diferentes de los parmetros de la captura. Las tcnicas de preprocesado digital no
aumentan el nivel de informacin, aunque acondicionan la imagen para las siguientes
etapas de interpretacin de las imgenes.
Para aumentar el contraste se emplean las funciones de transferencias del
histograma. stas son transformaciones matemticas que asocian a un nivel de gris de
entrada otro nivel en la salida:

i ' = T (i )

(4. 6)

T es la funcin matemtica de transformacin e i es el nuevo nivel de gris


asociado. La transformacin ms generalizada consiste en adecuar el rango dinmico de
la imagen de entrada a todo el espectro de valores de cuantificacin:

118

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

( i amin )
iout 0
= in
( I 1) 0 amax amin

iout =

I 1
( iin amin )
amax amin

(4. 7)

Siendo I el rango mximo de cuantificacin y amin y amax el rango dinmico de la


imagen de entrada.

Ejemplo 4.1
Adecuar el rango dinmico de una imagen de resonancia magntica,
cuyos valores varan entre el nivel de gris de 0 a 88. Ntese el carcter
saturado de la adquisicin.
iout =

Histograma original

255
iin
88

Transformacin
250

1600

Histograma modificado
1600
1400
200

1400

1200
1200
1000
150

1000

800
800
600

100

600

400
400
50

200

200

50

100

150

200

250

50

100

150

200

250

100 200

Figura 4. 2 Imagen de resonancia magntica y con aumento del contraste a)


2=33 b) 2=96

Dpto. Electrnica, Automtica e Informtica Industrial

119

Carlos Platero

Apuntes de Visin Artificial

Resolucin Matlab
>>imagen=imread(mri.tif`);
>>imhist(imagen);
>>max(max(imagen))
>>imagen_sal=imadjust(imagen);
>>imhist(imagen_sal);
>>imshow([imagen,imagen_sal]);
>>std2(imagen),std2(imagen_sal)
Evidentemente, las transformaciones no necesariamente deben ser lineales. Por
ejemplo, las siguientes operaciones consiguen el negativo de la imagen de entrada y
variaciones diferentes del contraste:
T1 (i ) = I i T2 (i ) =

i2
I

T3 (i ) = I i T4 (i ) = i

(4. 8)

La ltima transformacin se la llama la correccin de gamma. Su propsito es


adecuar la luminancia a la sensibilidad de los monitores de vdeo de rayos catdicos, los
cuales presentan no linealidad entre la intensidad y el voltaje de excitacin de la
pantalla. Si < 1 , la imagen de salida ser ms clara y con > 1 se volver ms oscura.
Este tipo de transformacin se realiza con valores normalizados de intensidad en el
intervalo [0,1]. Por ejemplo, suponga que gamma fuese 2 y no estuviera el rango de
intensidad normalizado, por ejemplo en el intervalo de [0 255]. Se observa que el rango
de salida sera mayor a 256 niveles de grises.
No obstante, como se ha comentado, estas transformaciones no introducen
mayor informacin en las imgenes, pues estos resultados son slo expansiones de los
rangos dinmicos. En cambio, estas operaciones facilitan las siguientes etapas de
extraccin de informacin de mayor relevancia.
La implementacin de estas transformaciones se realiza a travs de una tabla que
se la denomina LUT (Look Up Table). Para aumentar la eficiencia de la conversin, en
la tabla se entra por el valor de entrada de nivel de gris y sta retorna el nivel de salida.
Comnmente a la LUT se la denomina paleta o mapa de color.

4.1.2 Ecualizacin del histograma


En cualquier funcin de densidad probabilstica que es transformada a uniforme
se maximiza la explotacin de la informacin. Este fenmeno que rige a los procesos
continuos tambin se puede aplicar sobre informacin discreta. La conversin de
cualquier forma de histograma a uno uniforme, si bien es cierto que no aumentar la
informacin, como ya se ha comentado anteriormente, si mejorar la imagen para las
siguientes etapas. Recuerde que el valor mximo de la entropa se dar cuando el
histograma sea uniforme.

120

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

El fundamento se basa en realizar una conversin en el histograma de forma que


la probabilidad de cualquier nivel de gris en la imagen sea idntica. Desde el punto de
vista del histograma, esta transformacin producir que el nmero de ocurrencias de un
M N
nivel de gris sea el mismo valor siempre, h(i ) =
.
I
Para obtener esta tcnica de preprocesado se partir de la funcin de distribucin
de la imagen. sta se define, para variables aleatorias discretas, como el sumatorio de
probabilidades desde el inicio de la variable hasta un valor prefijado. Por tanto, el
sumatorio de la funcin en todo el espectro de la variable aleatoria independiente es la
unidad:
r

F (r ) = p (i )
i=0
I 1

F (I 1) = p (i ) = 1

(4. 9)

i =0

En este caso, la probabilidad de la variable aleatoria corresponder con la


probabilidad de que aparezca el nivel gris i en la imagen. La funcin de distribucin de
una imagen estar determinada por el histograma acumulado relativizado por el tamao
de la imagen.
Sea F(r) la funcin de distribucin de una imagen cualquiera. Un histograma
uniforme se caracterizar por tener:
r'

F (r ') = p (i ) = (r + 1)
i =0

1
I

(4. 10)

Siendo F(r) la funcin de distribucin uniforme. La conversin del histograma


se establece igualando las funciones de distribucin que posee la imagen con la funcin
de distribucin deseada. Con esta relacin se establece la funcin de transferencia del
histograma, de r a r:

F (r ') = F (r )

(r + 1) 1 = F (r )
I

r = F (r ) I 1

(4. 11)

El carcter discreto de la variable supondr una aproximacin a una densidad


uniforme.

Dpto. Electrnica, Automtica e Informtica Industrial

121

Carlos Platero

Apuntes de Visin Artificial

Imagen de entrada

Imagen ecualizada

Histograma de entrada

Histograma ecualizado
1000

800
600

500

400
200
0

0
0

100

200

100

200

Figura 4. 3 Ejemplo de ecualizacin del histograma

Resolucin Matlabs
>>imagen=imread(tire.tif`);
>>imhist(imagen);
>>imagen_sal=histeq (imagen);
>>imhist(imagen_sal);

Ejemplo 4.2
Se tiene esta subimagen:
5
8
4
2
1
1
0
4
4
1

5
4
6
0
5
0
5
5
1
4

1
3
5
2
1
5
5
4
0
3

3
1
4
5
1
6
5
3
5
0

1
3
2
6
2
3
1
3
3
5

0
0
2
2
1
2
0
6
2
5

2
4
0
3
2
2
1
8
1
6

4
6
0
3
4
5
1
2
0
1

2
1
3
8
5
4
4
2
6
1

6
3
8
2
7
1
5
1
5
4

Calcular:

122

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

1. Histograma
2. Brillo, contraste, energa y entropa
3. Ecualizacin del histograma.
Nivel de gris

Ocurrencias

11

19

15

12

13

17

Probabilidad

0.11

0.19

0.15

0.12

0.13

0.17

0.08

0.01

0.04

Brillo = 3, contraste = 4, energa = 0.139, entropa = 2.94


Nivel de gris
de entrada

Nivel de gris
de salida

(-0.01)

(1.7)

(3)

(4.13)

(5.3)

(6.83)

(7.55)

(7.64)

(8)

12

67

78

78

11

19

15

12

13

17

13

13

13

Histograma
ecualizado

4.1.3

Realzado basado en el dominio frecuencial

Las componentes de alta frecuencia estn relacionadas con los bordes de los
objetos y con los pequeos detalles de la imagen. El aumento del contraste puede estar
basado en una combinacin lineal entre la imagen original y el resultado de un filtro
paso alto. La imagen salida ser:
Imagen Salida = A*(Imagen) - (Paso bajo de la Imagen)
= (A-1) *(Imagen) +(Imagen) -(Paso bajo de la Imagen)
= (A-1) *(Imagen) + (Paso alto de la Imagen)

A es un escalar; cuando es la unidad se tendr el resultado del filtro paso alto, en


cambio para A mayor a la unidad se estar realizando un nfasis sobre las componentes
de alta frecuencia, produciendo el proceso de realzado y para A menor a la unidad
aparece como el negativo de la imagen. A este algoritmo se le denomina unsharp
masking. Desde el punto de vista de la implementacin se suele utilizar la imagen
menos el resultado de sta con una mscara laplaciana; en un entorno de 3x3 queda
definido como:

Dpto. Electrnica, Automtica e Informtica Industrial

123

Carlos Platero

Apuntes de Visin Artificial

0 0 0 1 1 1

0 1 0 1 4 1
0 0 0 0 1 0

(4. 12)

Figura 4. 4 Filtrado de realzado unsharp

Resolucin Matlab
>>imagen=imread(cameraman.tif`);
>>H=fspecial(unsharp,0)
>>imagen_sal=imfilter (imagen, H);
>>imshow([imagen,imagen_sal]);

4.2 Tcnicas de suavizado


Las tcnica de suavizado de las imgenes intentan eliminar el nivel de ruido
presente en la imagen. En el proceso de formacin de la imagen se ha generado ruido
que se ha sumado a la seal. Este ruido se explica como una variable aleatoria que sigue
una funcin de densidad determinada. El origen del ruido es mltiple y existen tres tipos
bsicos: gaussiano, impulsional y multiplicatico.
El ruido ms comn se origina en el proceso de captacin al convertir los
fotones en carga elctrica, debido al carcter no determinista de esta transformacin.
Este tipo de ruido se explica mediante el modelo de funcin de densidad normal o
gaussiana. El segundo tipo de perturbacin se consigue como consecuencia de la
saturacin de carga que recibe un pxel ya sea por exceso o por defecto. A este tipo de
ruido se le denomina de sal y pimienta. La saturacin se produce debido a la
sensibilidad de las cmaras al infrarrojo y al encontrar sobre el escenario objetos que
estn calientes. Este segundo tipo de comportamiento se modela con una funcin de
densidad de tipo impulsional. Por ltimo, hay ruido generado por la falta de iluminacin
uniforme sobre la escena capturada. Este error es como si la imagen estuviera formada
por la multiplicacin de dos imgenes, por un lado la imagen que refleja la intensidad de

124

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

iluminacin sobre los objetos y de otro la funcin de refraccin de los cuerpos vistos en
la escena. A esta categora de ruido se le relacionado con los filtros homomrficos.
Imagen original

Imagen con ruido gaussiano

Imagen con ruido sal y pimienta

Imagen con ruido multiplicativo

Figura 4. 5 Fuentes de error a) original b) gaussiano c)impulsional d)multiplicativo

4.2.1 Mejora en la adquisicin


La adquisicin de las imgenes es un proceso no determinista. La seal de vdeo
est definida por la interaccin de distintas causas aleatorias. Se puede suponer que la
imagen resultante, g(x,y), puede ser explicada como la suma entre la imagen ideal, f(x,y)
y el de ruido blanco, r(x,y) 1:

g ( x, y ) = f ( x, y ) + r ( x, y )

(4. 13)

La ponderacin de varias capturas sobre la escena producir una disminucin del


ruido. Obviamente se necesitar que durante el intervalo de tiempo de la adquisicin de
las imgenes, los objetos permanezcan quietos y la iluminacin sea constante.

Se define ruido blanco a una variable aleatoria con funcin de densidad normal, de media cero
y varianza determina, N(0,2).

Dpto. Electrnica, Automtica e Informtica Industrial

125

Carlos Platero

Apuntes de Visin Artificial

Figura 4. 6. Dos imgenes adquiridas consecutivamente y la resta de ambas

A medida de que se tomen ms imgenes disminuir la influencia del ruido. De


hecho al aplicar el operador esperanza sobre la imagen real conducir hacia la imagen
ideal:
1 n
g i ( x, y ) = f ( x, y )

n n
i =1

E ( g ( x, y )) = lim

(4. 14)

El ruido queda cancelado con la ponderacin de las imgenes. Este efecto se


explica matemticamente debido a que la suma de la variable aleatoria genera otra
funcin de densidad probabilstica de carcter normal, con media nula y varianza
decreciente con el nmero de muestras:


N 0,

(4. 15)

El mayor inconveniente de esta tcnica, en la prctica, consiste en mantener


constante la iluminacin durante la exposicin, tener el tiempo suficiente para adquirir
las imgenes y que no aparezcan objetos en movimiento durante las capturas.

4.2.2 Filtros paso bajo


El espectro del ruido corresponde a componentes de alta frecuencia, por tanto, la
aplicacin de un filtro paso bajo significar la reduccin del ruido sobre la imagen. El
precio a pagar ser una prdida en la calidad de los detalles finos y en la degradacin de
los bordes de la imagen. La aplicacin del filtro paso bajo supone la cancelacin parcial
del ruido pero tambin perdida de la propia informacin de la imagen.
Para la aplicacin de los filtros se aplicar la relacin fundamental de los
sistemas discretos. No es necesario actuar sobre el espectro de la propia imagen para
filtrarla frecuencialmente. Slo se requiere aplicar una mscara de convolucin cuya
respuesta frecuencial corresponda a la cancelacin del espectro deseado.
A razn de lo comentado en el anterior apartado, el primer filtro paso bajo sera
tomar un promediado del entorno de vecindad:

126

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

f ( x, y ) =

1
M N

M /2

N /2

f ( x + i, y + j )

i = M / 2 j = N / 2

(4. 16)

Por ejemplo, para una ventana de vecindad 3x3, la mscara de convolucin


sera:

1 1 1

1
1 1 1
9

1 1 1

(4. 17)

Sin embargo, estos tipos de mscaras, las provenientes del promediado de


vecindad, presentan lbulos en su respuesta frecuencia, adems de no tener la propiedad
de ser de filtro de fase lineal, distorsionado gravemente la fase del espectro.
Las mscaras construidas mediante la funcin de densidad binomial discreta
generan filtros paso bajo de fase lineal y no presentan lbulos en el mdulo. Sus
coeficientes son obtenidos mediante el tringulo de Pascal:

n
f
mscara 2
0
1
1
0
1 1/2
11
1/4
2 1/4
121
1/2
3 1/8
1 3 3 1 3/4
4 1/16 1 4 6 4 1 1
n es el grado del filtro, f es el factor de escala y 2 es la varianza efectiva de la
mscara respecto al filtro de Gauss. Los filtros binomiales bidimensionales se
construyen mediante la convolucin discreta de un filtro binomial unidimensional con l
mismo y su traspuesta:

h2nD = hxn * h yn

(4. 18)

Por ejemplo, el filtro 2D ms pequeo, 3x3, se formar mediante la convolucin


de dos filtros 1D:

2
2D

1
1 2 1

1
1 1
= h * h = (1 2 1) * 2 = 2 4 2
4
4 16

1
1 2 1
2
x

2
y

(4. 19)

Esta propiedad de composicin es posteriormente aplicada para el procesamiento


de las imgenes, ahorrando tiempo en su ejecucin: primero se pasa la mscara 1D por
filas y luego por columnas. La algoritmia pasa del orden de operaciones de O(n2) a
O(2n), siendo n el nmero de pxeles a filtrar . Desde el punto de vista espacial, ntese
que la mscara presenta un promediado en la cual pondera la influencia de cada vecino

Dpto. Electrnica, Automtica e Informtica Industrial

127

Carlos Platero

Apuntes de Visin Artificial

en funcin de su distancia respecto del pxel de pivotacin. La figura adjunta muestra la


respuesta en frecuencia de los filtros basados en la ponderacin y los filtros
bidimensionales.

4.2.3 Filtros gaussianos


Los filtros gaussianos son mscaras de convolucin que emplean la
discretizacin de las funciones de densidad normal de media cero y varianza dada,
N(0,2):

h ( x, y ) = e

(x

+ y2

2 2

)
(4. 20)

Las respuestas en frecuencia de estas mscaras son filtros pasos cuyos anchos de
banda dependen de sus varianzas. No presentan rizados o lbulos secundarios en el
mdulo y son de fase lineal. Al igual que los filtros binomiales, las mscaras de Gauss
bidimensionales se construyen a partir de las unidimensionales. Su ventaja, respecto a
los filtros binomiales, est en su parametrizacin dependiendo de la varianza. A medida
de que la varianza sea ms elevada significar que tiene en cuenta a vecinos ms
alejados, por el contrario, si la varianza es ms pequea indicar que slo ponderar con
los ms prximos. La varianza funciona como grado de ponderacin en la vecindad.
sta es la interpretacin en el dominio espacial. Desde el punto de vista frecuencial, la
varianza determina el ancho de banda del filtro paso bajo que supone la mscara de
Gauss. El lbulo principal del mdulo de la respuesta frecuencia viene determinado por
la varianza. A mayor varianza menor ancho de banda.
128

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

En el proceso de discretizacin de la mscara Gaussiana aparece el problema del


nmero de coeficientes finitos a emular a la funcin continua. Para evitar la formacin
de lbulos secundarios en la respuesta frecuencial de la mscara, se toma como regla
que el tamao del operador, w, debe ser al menos de:
(4. 21)

w 3c
Siendo c el tamao del lbulo central y dependiente de la varianza:

c = 2 2 2

(4. 22)

Esta regla indica que el 98% de los posibles casos de la variacin de la variable
aleatoria normal estn comprendidos. Si la varianza es unitaria, la mscara debera de
ser al menos 9 x 9. Ntese que se busca una mscara bidimensional que tenga simetra
par. Tambin hay que considerar que esta mscara tiene simetra radial, por lo que slo
es necesario de calcular un cuadrante de la mscara.

Ejemplo 4.3
Determinar la mscara de Gauss
para una varianza de 0.25 y 1.
El tamao de la mscara para 0.25
ser:

c = 2

2
= 2w3
4

Los coeficientes de la mscara tendr


simetra radial y slo se buscar para el radio
igual a 1 y 2 :
0.0183 0.1353 0.0183

1
1
0.1353
0.1353
1.6154

0.0183 0.1353 0.0183

Figura 4. 7. Modulo de la respuesta en frecuencia de


un filtro de Gauss a) 2=0.25, b) 2= 1

Para el caso de varianza unitaria la mscara ser de 9x9:


0.0000 0.0000 0.0000
0.0000 0.0000 0.0002
0.0000 0.0002 0.0029
0.0000 0.0011 0.0131
0.0001 0.0018 0.0215
0.0000 0.0011 0.0131
0.0000 0.0002 0.0029
0.0000 0.0000 0.0002
0.0000 0.0000 0.0000

0.0000 0.0001 0.0000 0.0000 0.0000 0.0000


0.0011 0.0018 0.0011 0.0002 0.0000 0.0000
0.0131 0.0215 0.0131 0.0029 0.0002 0.0000
0.0586 0.0965 0.0586 0.0131 0.0011 0.0000
0.0965 0.1592 0.0965 0.0215 0.0018 0.0001
0.0586 0.0965 0.0586 0.0131 0.0011 0.0000
0.0131 0.0215 0.0131 0.0029 0.0002 0.0000
0.0011 0.0018 0.0011 0.0002 0.0000 0.0000
0.0000 0.0001 0.0000 0.0000 0.0000 0.0000

Dpto. Electrnica, Automtica e Informtica Industrial

129

Carlos Platero

Apuntes de Visin Artificial

Imagen de entrada

Filtro promediado

Filtro binomial

Filtro gaussiano

Figura 4. 8 Tipos de suavizado a) imagen original b)promediado c) binomial d) gaussiano con


2 = 0.25

Resolucin Matlab
>>h1=fspecial('average')
>>h2=conv2([1 2 1],[1 2 1]')/16
>>h3=fspecial('gaussian')
>>imagen= imnoise(imread('cameraman.tif'));imshow(imagen);
>>imagen1=imfilter(imagen,h1);imshow(imagen1);
>>imagen2=imfilter(imagen,h2);imshow(imagen2);
>>imagen3=imfilter(imagen,h3);imshow(imagen3);
Al igual que los filtros binomiales, los gaussianos bidimensionales tambin se
construyen mediante la convolucin discreta de un filtro gaussiano unidimensional con
l mismo y su traspuesta. Esta propiedad es utilizada para disminuir el coste
computacional.

4.2.4 Filtros basados en la mediana


Con el procesamiento lineal, empleando tcnicas de filtrado paso bajo, se ha
observado que al eliminar el ruido se han desdibujado los bordes y cancelado los
pequeos detalles. Este efecto secundario suele ser reducido empleando el filtrado
basado en la mediana del entorno de vecindad. Esta tcnica de procesamiento es no
lineal, con lo cual no se aplica mediante mscara de convolucin. Su actuacin se basa
en elegir el valor de la mediana en el entorno de vecindad. Se define la mediana como el
valor intermedio de la ordenacin de los pxeles vecinos en funcin de su intensidad. Si
los vecinos son 2M+1 pxeles, la mediana estar por encima de los M primeros valores
130

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

y por debajo de los M ltimos. Por ejemplo, en un entorno de 3x3, la mediana ser el
nivel del colocado en quinta posicin:

89 87 14

92 75 56
99 78 90

{89 87 14 92 75 56 99 78 90} {14 56 75 78 87 89 90 92 99}


En este ejemplo, la mediana ser el nivel 87. En consecuencia, si el ruido tiene
un valor atpico en el entorno quedar colocado en los extremos de la ordenacin. Vase
cmo el nivel 14 queda desplazado. La mediana se presenta como una buena tcnica
para el suavizado en general y en particular para la cancelacin de ruido impulsional. El
mayor inconveniente es su alto coste computacional. Cuando la aplicacin de Visin
tiene restricciones de tiempo suele ser prohibitivo el uso de la mediana, optando por el
filtrado lineal.
Otro efecto adverso de la mediana es el desplazamiento de los bordes de la
imagen. Si se desea precisin subpixel en la imagen, no es aconsejable esta tcnica. Para
evitar este inconveniente, se emplean entorno de vecindad N4(p). Si la vecindad est
definida en las diagonales, preservar los bordes oblicuos. En caso de estar definida la
vecindad en fila y columna, se mantendr los bordes horizontales y verticales.
Comparacin entre filtrado gaussiano y mediana con el ruido impulsional

Figura 4. 9 a) imagen con ruido de sal y pimienta, b) filtrado gaussiano c) mediana

Resolucin Matlab
>>h=fspecial('gaussian')
>>imagen= imnoise(imread('circuit.tif'),'salt & pepper');imshow(imagen);
>>imagen1=imfilter(imagen,h);imshow(imagen1);
>>imagen2=medfilt2(imagen);imshow(imagen2);
4.2.5 Filtros homomrficos
El caso de iluminacin no uniforme en la escena capturada es un ejemplo de
ruido multiplicativo. La formacin de la imagen depende bsicamente de la iluminacin
sobre los objetos y del tipo de superficie de stos. La intensidad en la imagen puede ser
Dpto. Electrnica, Automtica e Informtica Industrial

131

Carlos Platero

Apuntes de Visin Artificial

modelada por la multiplicacin entre la causa derivada de la iluminacin y la causa


proveniente del tipo de superficie:

f ( x, y ) = i ( x, y ) o ( x, y )

(4. 23)

f(x,y) ser la intensidad del pxel, i(x,y) ser el efecto de la iluminacin y o(x,y)
corresponder a la funcin de reflactancia de la escena. Si se convolucionase la imagen
con cualquier filtro, atacara indistintamente a ambas componentes de iluminacin y
reflactancia. La forma de proceder es aplicar un sistema homomrfico capaz de separar
los efectos y procesar por separado. Los sistemas homomrficos son operaciones de
aplicar una funcin, procesar y aplicar su inversa. Por ejemplo, la funcin logartmica y
su inversa la exponencial.

Para el caso que ocupa, la forma de separar los efectos es mediante la funcin
logartmica. Al aplicarla es posible obtener la respuesta frecuencial por separado de las
componentes de iluminacin y refractancia:

ln( f ( x, y )) = ln (i ( x, y )) + ln (o( x, y )) F (ln ( f ( x, y ))) = F (ln (i( x, y ))) + F (ln (o( x, y )))
(4. 24)
El espectro del efecto de iluminacin estar dominado por la baja frecuencia, ya
que los cambios de iluminacin en la escena son paulatinos, por el propio carcter
continuo de la luz. Sin embargo, los bordes de las superficies, los contactos entre los
objetos y sus intersecciones, tendrn un perfil claramente de mayor frecuencia. Por
tanto, la aplicacin de un filtro paso alto, atenuar la falta de iluminacin uniforme y
realzar los bordes entre los objetos. Esta algoritmia acaba empleando la funcin
inversa, despus de haber filtrado las dos componentes. En la figura se muestra el
diagrama a bloques del algoritmo.

4.3 Deteccin de bordes


Estudios sobre el procesamiento visual
humano indica que para la percepcin de las
escenas, el cortex visual utiliza informacin del
color de los objetos, de sus texturas, de las sombras,
pero sobre todo de los contornos o bordes de los
objetos. Parece ser que existen neuronas, del
sistema visual primario, especializadas en las
discontinuidades de la intensidad lumnica o bordes.
Segn la teora dominante, el cortex visual trabaja
Figura 4. 10. Contornos subjetivos de
Kanizsa
132

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

en una jerarqua de caractersticas visuales, donde agrupa los elementos primarios de los
contornos en objetos geomtricos ms complejos hasta la interpretacin de las figuras.
Este subsistema biolgico es capaz de completar bordes parcialmente ocluidos o
explcitamente eliminados. En los contornos subjetivos de Kanizsa, figura 4.10, ntese
como al visualizarlos quedan completos, aunque los objetos geomtricos estn
inacabados.
Bordes de una escena de bodegn

Otro
experimento
psicofisiolgico es la capacidad de
interpretar la imagen con slo
apreciar los bordes de la escena. En la
figura adjunta se presenta la imagen
con slo los bordes. Es fcil de
interpretar que es una escena de
bodegn.
Estos aspectos son aplicados
y emulados en la Visin Artificial. Figura 4. 11. Imagen de contornos
La deteccin automtica de bordes es
una tarea esencial en muchas aplicaciones de interpretacin de las imgenes. Suele ser
una etapa muy empleada para las tareas de segmentacin o para la bsqueda de objetos
geomtricos ms complejos como lneas, elipses, esquinas, etc.
Se entiende como borde aquella regin donde aparece una fuerte variacin del
nivel de intensidad en los pxeles adyacentes. Su causa principal es originada por la
interseccin de varios objetos, con diferentes niveles de reflactancia, que al ser
proyectados sobre la cmara generan discontinuidades de intensidad en los pxeles
correspondidos. Sin embargo, estas discontinuidades tambin aparecen de forma no
deseada por la presencia del ruido, por el efecto de sombras sobre los propios objetos o
por una iluminacin no uniforme dentro la escena.
El fundamento para la deteccin de los bordes est en la aplicacin del operador
derivada en un entorno de vecindad. Si se construye una imagen sinttica con franjas de
alto contraste y se adquiere una fila de la imagen, se observar una fuerte variacin de la
intensidad en el entorno de los
bordes de las franjas. Al aplicar el
Lnea 16
operador derivada, se observa que
sta toma un valor de mximo o
mnimo justamente cuando en la
transicin se pasa de cncavo a
convexo o viceversa, esto es, en el
punto de inflexin del borde. Si en
vez de emplear la primera derivada
se realiza con la segunda, el punto
de inflexin de la primera deriva
coincidir con un paso por cero
(zero-crossing).
Ambos
razonamiento son empleados para
la deteccin de los bordes. Cuando
Figura 4. 12. Bordes ideales
Dpto. Electrnica, Automtica e Informtica Industrial

133

Carlos Platero

Apuntes de Visin Artificial

se aplica el operador gradiente en la imagen se localizar valores que tengan un gran


valor, normalmente, en el mdulo del gradiente. Por el contrario, al emplear la
laplaciana se trata de detectar pxeles en la imagen que sean pasos por cero.
El problema reside en los bordes de las escenas reales, donde el modelo
propuesto no est tan claramente definido y no se ajustan a la simplificacin indicada.
Las discrepancias entre el modelo de los bordes y lo almacenado en el computador, tras
un proceso de formacin de la
imagen, est en:
imagen capturada

Las imgenes digitales


son de carcter discreto
y no continuo.

Perfil de la lnea 15
150
100

La presencia de ruido
en la imagen, la cual
produce
variaciones
locales de intensidad,
produce falsos bordes al
aplicar los operadores
derivadas. Por esta
razn, la deteccin de
bordes est ligada a
etapas de eliminacin
del ruido.

50

10

15

20

25

30

35

30

35

30

35

Primera derivada de la lnea 15


50
0
-50

10

15

20

25

Segunda derivada de la lnea 15


50
0
-50

10

15

20

25

Figura 4. 13. Bordes reales

Los orgenes diversos


de los bordes, tales como oclusiones, superficies de diferentes orientaciones,
cambios de texturas o de iluminacin, reflejos, sombras, etc, hace que sea
difcil la determinacin de los bordes.

4.3.1 Tcnicas basadas en el operador gradiente


El operador gradiente aplicado sobre un pxel (x,y) de la imagen, retorna un
vector que indica la direccin de mxima variabilidad de la intensidad luminosa y su
nivel de variacin:
2
2

f ( x, y ) = f ( x, y ) + f ( x, y )

f ( x, y )
x y

f ( x, y )
f ( x, y ) = f (xx, y )

f ( x, y ) = arctan
y

f ( x, y )

134

(4. 25)

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

Sobre una imagen sinttica se ha aplicado el operador gradiente y se visualiza el


vector resultante en cada pxel. Ntese cmo cada vector indica la direccin de mxima
variabilidad en su entorno y su magnitud est relacionada con la intensidad de la
variacin. Al aplicar el operador divergencia sobre este campo vectorial retornar un
campo escalar, de manera que los valores positivos indica la presencia de una fuente y
los valores negativos un sumidero. Justamente la transicin de una fuente a sumidero
ser la presencia del borde.
Operador gradiente en cada pxel
20
18

Imagen sinttica

16
14
12
10
8
6
4
2
5

10

15

20

Figura 4. 14. Efecto del operador derivada

Un pxel se considerar que pertenece a un contorno si el mdulo del gradiente


supera un cierto umbral T:
1
g ( x, y ) =
0

f ( x, y ) > T
f ( x, y ) < T

(4. 26)

En la prctica, generalmente se establece como umbral, T, cuando el mdulo del


gradiente est por encima del 70% al 80% del valor mximo detectado en la imagen.
Para el clculo del mdulo del gradiente se suele emplear la aproximacin de la suma de
sus derivadas parciales, mejorando el coste computacional:

f ( x, y )

f ( x, y ) f ( x, y )
+
x
y

(4. 27)

La discretizacin del operador gradiente se basa en las diferencias de los niveles


de grises en el entorno de vecindad. En el escenario numrico de aproximacin de las

Dpto. Electrnica, Automtica e Informtica Industrial

135

Carlos Platero

Apuntes de Visin Artificial

derivadas por las diferencias, stas suelen emplear el truncamiento del desarrollo de
Taylor obteniendo las diferencias progresivas y regresivas:

f + ( x, y ) f ( x + x, y ) f ( x, y )

x
x

f + ( x, y ) f ( x, y + y ) f ( x, y )

y
y

f ( x, y ) f ( x, y ) f ( x x, y )

x
x

f ( x, y ) f ( x, y ) f ( x, y + y )

y
y
(4. 28)

Un promediado de ambas se consigue las diferencias centradas:


f ( x, y ) f ( x + x, y ) f ( x x, y )

x
2x

f (x, y ) f ( x, y + y ) f ( x, y y )

(4. 29)
y
2y

Existen diferentes mscaras de convolucin que implementan estas


diferenciaciones. En un entorno de 2x2 se usa el operador de Roberts y en una mscara
de 3x3 se aproximan por el operador de Prewitt, Sobel y el de Fre-Chen. Considerando
el caso de un entorno de vecindad 3x3, las derivadas parciales seran:

f 1, 1

f 0 ,1
f
1, 1

f 1, 0
f 0 ,0
f 1, 0

f 1,1
x

f 0 ,1
f
f 1,1
y

(f

1, 1

+ f 1, 0 + f 1,1 ) ( f 1, 1 + f 1, 0 + f 1,1 )
x

0,0

(f

1,1

+ f 0 ,1 + f 1,1 ) ( f 1, 1 + f 0 , 1 + f 1, 1 )

0,0

(4. 30)

Los incrementos de las variables independientes, x e y, no se consideran ya


que son valores constantes correspondientes a la discretizacin espacial y en la
deteccin de borde slo importa el valor de mdulo relativizado. De esta expresin se
desprende las mscaras de Prewitt:
1 1 1 1 0 1

0 0 0 1 0 1
1 1 1 1 0 1

x
y

(4. 31)

El operador derivada resulta ser muy sensible con el ruido, ya que su respuesta
frecuencial tiende a ser un filtro paso alto. Para reducir el realce de ste se propone una
mscara que sea la convolucin entre el operador derivada con un filtro binomial,
obtenindose las mscaras de Sobel:

136

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

1 2 1 1 0 1

1 0 0 0 2 0 2

S = DT * B = {1 0 1} * 2 1 2 1 1 0 1
1

x
y

(4. 32)

Mientras que Prewitt detecta mejor los bordes verticales, Sobel mejora su
localizacin en los bordes diagonales. El operador isotrpico o de Frei-Chen intenta
llegar a un compromiso entre ambos:
1 2

0
0

2
1

2
1

0
0
0

2
1

(4. 33)

Experimentalmente se ha encontrado que todos los operadores tienen resultados


similares, y que la respuesta se va deteriorando de acuerdo con la cantidad de ruido
presente en la imagen. Debido al menor coste computacional se suele elegir el operador
de Sobel.
Mscaras de Prewitt y Sobel 3x3 en la direccin X

Resolucin Matlab
>>imagen= imread('cameraman.tif');imshow(imagen);
>>imagen1=imfilter(imagen,fspecial(prewitt));imshow(imagen1);
>>imagen2= imfilter (imagen, fspecial(sobel);imshow(imagen2);
4.3.2 Operadores basados en la laplaciana
Para la deteccin de bordes, empleando la laplaciana, sern aquellos pxeles que
sean paso por cero. El operador laplaciana se define en el dominio continuo como:

Dpto. Electrnica, Automtica e Informtica Industrial

137

Carlos Platero

Apuntes de Visin Artificial

2 f ( x, y ) =

2 f ( x, y ) 2 f ( x , y )
+
x 2
y 2

(4. 34)

Obsrvese que a diferencia del gradiente, la laplaciana no retorna una


informacin vectorial sino un escalar. La laplaciana al aplicarla sobre una zona
homognea de intensidad, sta ser nula en toda la regin. Por el contrario al aplicar
este operador sobre un borde, aparecern en sus alrededores valores positivos y
negativos. Este comportamiento indicar la regla de actuacin para la deteccin de los
bordes. Se le aplicar a la imagen el operador laplaciana y en pxeles con entornos de
valores positivos y negativos indicar la presencia de un borde. Por la propiedades de la
segunda derivada, este operador es ms exacto en la precisin del borde que el uso del
gradiente (vase las figuras 4.12 y 4.13 de los bordes ideales y reales).
La discretizacin del operador laplaciana para un entorno de 3x3 estar
constituida por la suma de las derivadas parciales de segundo orden:
2 f ( x, y ) f ( x + 1, y ) 2 f ( x, y ) + f ( x 1, y )

0 1 0
x 2
x 2

1 4 1
2
f ( x, y ) f ( x, y + 1) 2 f ( x, y ) + f ( x, y 1)

0 1 0

y 2
y 2

(4. 35)

Esta laplaciana se conoce como vecindad a 4. Obsrvese que no se ha cambiado


el signo y no se ha normalizado, ya que slo interesa conocer pxeles que transitan en un
entorno de positivos a negativos o viceversa. Tambin se emplea la mscara a vecindad
a 8:

1 1 1

1 8 1
1 1 1

(4. 36)

Al aplicarla, cualquiera de sus implementaciones, sobre una imagen real no


habr valores cero en los bordes sino que se aproximan a valores pequeos positivos o
negativos, por el carcter discreto tanto de la seal como del operador. Eso s, estos
pxeles etiquetados de bordes, tendrn en su entorno valores positivos y negativos. Los
bordes, con este operador, estarn formados por el ancho de un pxel a diferencia del
mtodo del gradiente. Adems, el operador laplaciana es isotrpico a diferencia de las
distintas mscaras que se implementan con el operador gradiente. Obsrvese, las
diferencias entre la aplicacin sobre una misma imagen del operador gradiente y del
operador laplaciana. Los bordes detectados son ms finos con el operador laplaciana y
son de carcter isotrpico.

138

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

Imagen de entrada y sus procesamiento con Sobel y con laplaciana de Gauss

Figura 4. 15 Diferencias entre el operador gradiente y el operador laplaciana

Resolucin Matlab
>>imagen= imread('cameraman.tif');imshow(imagen);
>>imagen1=imfilter(imagen,fspecial(sobel));imshow(imagen1);
>>imagen2= imfilter (imagen, fspecial(log);imshow(imagen2);
El mayor inconveniente del operador laplaciana es su sensibilidad al ruido. Para
disminuir los falsos bordes, se hace interaccionar con un filtro paso bajo, dando paso al
operador laplaciana de Gauss (LoG).

4.3.2.1 Laplaciana de Gauss


Marr al final de la dcada de los 70 sintetiz las diferentes teoras de visin
biolgica de los mamferos. Segn esta teora existen diferentes fases en el proceso de la
percepcin y en la primera etapa se basa en la deteccin de los bordes. Se observ que
este proceso estaba constituido por dos caractersticas:
1. Medida del gradiente de luminancia en diferentes escalas. Las diferentes
causas de discontinuidades en la imagen son variadas, tal como se ha
comentado al principio de este apartado (iluminacin, texturas,
sombras,...). Todos estos cambios se producen a distintas escalas
espaciales, propias de las causas que las originan.
2. La localizacin de los bordes debe de hacerse con precisin. El ruido de
la imagen desvirta la posicin exacta, conllevando a un suavizado
previo de la imagen. En el dominio frecuencia supone la delimitacin del
ancho de banda del detector de bordes. La actuacin del operador debe
estar delimitado en las frecuencias.
Estas condiciones de diferentes escalas en el dominio espacial y de ancho de
banda delimitado en el dominio frecuencial, son contradictorias entre s. Marr y
Hildreth (1980) proponen una solucin de compromiso con el operador laplaciana de
Gauss. ste es un filtro paso banda, mezcla del filtro paso bajo que supone el suavizado
con un filtro de Gauss y su posterior procesamiento con el operador laplaciana. Desde el
punto de vista formal, el operador queda definido como:

Dpto. Electrnica, Automtica e Informtica Industrial

139

Carlos Platero

Apuntes de Visin Artificial

2 ( f ( x, y ) * h ( x, y )) = f ( x, y ) * 2 (h ( x, y )) = f ( x, y ) * LoG ( x, y )

(4. 37)

De la expresin se deduce la posibilidad de convolucionar la imagen de entrada


con una sola mscara, originada sta del proceso de discretizacin del operador LoG. En
el dominio continuo este operador est definido como:

h ( x ) = e

x2
2 2

x2

dh
x 2
= 2 e 2
dx

x2

d 2 h x 2 2 2 2
=
e
dx 2
4

(4. 38)

La represtacin espacial del operador muestra una forma de sombrero


mejicano. Notndose de la ecuacin que tiene simetra radial, por tanto, slo ser
necesario calcular un nico cuadrante de los coeficientes. El resto son simtricos. Desde
el punto de vista frecuencia, responde a un filtro paso banda bidimensional, cuyo ancho
de banda depende de la varianza, 2.

Figura 4. 16 a) mscara LoG 15x15 con varianza 2, b) Mdulo de la respuesta en frecuencia

El mayor inconveniente de este operador es su alto coste computacional. Una


alternativa para la reduccin de tiempos es una aproximacin basada en la diferencia de
la imagen suavizada por dos varianzas distintas, DoG, muy relacionado con el aspecto
de diferentes escalas espaciales:
f ( x, y ) * DoG ( x, y ) ( f ( x, y ) * h 1 ( x, y )) ( f ( x, y ) * h 2 ( x, y ))

140

(4. 39)

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

Segn Marr y Hildreth, este proceder DoG se asemeja al operador LoG, cuando
las varianzas se encuentran en una relacin de:

22

12

= (1.6 )

(4. 40)

En el proceso de discretizacin de la mscara de convolucin del operador


laplaciana de Gauss, ya sea mediante LoG o DoG, para evitar la aparicin de lbulos en
la respuesta frecuencia de la mscara, el tamao de sta viene condicionado por la
varianza:
w 3c

c = 2 2 2

(4. 41)

La misma regla que ya se aplic para el suavizado mediante mscaras


gaussianas. No hay que olvidar que la varianza es la que delimita el ancho de banda del
operador LoG.

4.3.3 Operador de Canny


Este algoritmo es ampliamente usado en la localizacin de contornos. Se
caracteriza por evitar la ruptura de los bordes de los objetos. Su fundamento se basa en
un proceso de optimizacin, teniendo en cuenta los siguientes objetivos a maximizar:
1. Aumentar la relacin seal-ruido de la imagen.
2. Disminuir todo lo posible la distancia entre el borde detectado y el borde
real.
3. No identificar un borde por un nico pxel, sino por un conjunto de
pxeles que tengan una cierta conectividad.
Segn Canny, el operador ptimo est en la derivada de Gauss:
( f ( x, y ) * h ( x, y )) = f ( x, y ) * (h ( x, y )) = f ( x, y ) * DroG ( x, y )

(4. 42)

Donde el operador DroG es una combinacin de suavizado y gradiente,


haciendo de este operador menos vulnerable al ruido. Aqu tambin la varianza
controlar el grado de suavizado deseado. El operador DroG quedar definido por:

Dpto. Electrnica, Automtica e Informtica Industrial

141

Carlos Platero

Apuntes de Visin Artificial

h ( x, y )

DroG ( x, y ) = h (xx, y )

(4. 43)

Pudiendo ser implementado en una sola mscara.


Los pasos que sigue el algoritmo de Canny son tres:
1. Calcular el mdulo y el argumento del gradiente de una imagen
suavizada aplicando el operador derivada de Gauss.
2. En la direccin del gradiente, eliminar puntos que no sean mximos
locales del mdulo (equivalente a encontrar el paso por cero en el
operador LoG). Se eliminan los pxeles que no sean mximos locales,
mejorndose la localizacin y evitando falsas detecciones.
3. Para la deteccin de los bordes se emplean dos umbrales de histresis, T1
y T2, siendo este ltimo el mayor. Con T2 habra pocos pxeles de bordes
y con T1 habra muchos pxeles de bordes. T2 es empleado para localizar
las semillas de los bordes. A partir de los pxeles que superen el umbral
T2, se seguir construyendo el borde mediante la adicin de pxeles que
sean mayor a T1 y que sean perpendiculares a la normal del borde.
En la figura adjunta, se ha pasado una imagen por cuatro operadores de bordes.
Ntese cmo el operador de Canny presenta unos contornos cerrado respecto al resto.

142

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

Deteccin de bordes de Prewitt, Sobel, LoG y Canny

Figura 4. 17 Deteccin de bordes a) Prewitt, b) Sobel, c)LoG y d) Canny

Resolucin Matlab
>>imagen= imread('cameraman.tif');
>>im1=edge(imagen, prewitt); im1=edge(imagen, sobel);
>>im1=edge(imagen, log); im1=edge(imagen, canny);
>> imshow([im3,im1;im2,im4])

4.4 Cuestiones
1.

Determinar las posibles transformaciones para obtener la imagen


negativa y para realizar correccin de gamma.

2.

Tipos de ruido en una imagen digital.

Dpto. Electrnica, Automtica e Informtica Industrial

143

Carlos Platero

Apuntes de Visin Artificial

3.

Construir un filtro binomial de 5x5

4.

Conseguir la mscara de convolucin para realizar un nfasis de alta


frecuencia, empleando un filtro binomial 3x3. La constante es A=1.5.

5.

Realizar un filtro de Gauss con varianza unitaria.

6.

Discrepancias entre los operadores basados en la primera derivada y


en la segunda derivada.

7.

Obtener la mscara de LoG para una varianza igual a 0.25.

8.

Determinar las mscaras del operador derivada de Gauss para una


varianza igual a 0.25.

4.5 Problemas
Ejercicio 1
Dada la imagen de la figura, calcular la transformacin mediante LUT para
aumentar su contraste.

1200

1000

800

600

400

200

50

100

150

200

250

La imagen est saturada, por tanto, en una primera aproximacin se podra una
LUT de forma:
iout =

255
( iin I min )
255 I min

Como dentro de la regin es bastante uniforme sera 1.

Ejercicio 2
Dada la siguiente imagen de entrada junto con la LUT, determinar la
imagen de salida.

144

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

0
0.5

0.5
0.5

Captulo 4: Tcnicas de preprocesado

1
0.2
0.3
0.4
0.9

1
0.2
0.3
0.4
0.9

0.8

0.8
0.8

0.8
0.8

0.8
0.2
0.3
0.4
0.9

La relacin no lineal entre la imagen de entrada y salida quedar definida por:


1
1 1
0.3 1

0.3 0.5 0.5 0.5 1


0.8 0.6 0.6 0.6 1

0.8 0.7 0.7 0.7 1


0.8 1
1
1 1

i + 0.3 0 iin 0.7


iout = in
iin 0.7
1

Ejercicio 3
Para la siguiente figura, con 8 niveles de grises de cuantificacin,
obtener:
a)Histograma
b)Brillo y contraste
c) Ecualizacin del histograma
1

1
1

2
2

2
1

1
0

nivel(i)
h(i)
p(i)

0
6
0.06

1
33
0.33

1 2 0 2 2 1 3 1 1

1 3 3 3 3 2 2 1 0
1 2 2 5 3 2 2 1 1

2 3 6 6 6 2 2 1 1

2 6 7 7 6 6 1 1 1
2 6 6 7 6 6 0 3 2

2 2 6 5 5 3 2 1 1
1 2 3 5 5 3 2 1 0

1 1 3 3 3 3 2 2 1
1 1 1 1 2 1 1 1 0
2
26
0.26

3
16
0.16

4
0
0

5
5
0.05

6
11
0.11

7
3
0.03

brillo = = i p (i ) = 2.45
i =0
7

contraste = 2 = (i ) p (i ) = 3.52
2

i =0

Dpto. Electrnica, Automtica e Informtica Industrial

145

Carlos Platero

Apuntes de Visin Artificial

Nivel de gris
de entrada

Nivel de gris
de salida

(-0.52)

(2.12)

(4.2)

(5.48)

(5.48)

(5.88)

(6.66)

(7)

56

56

33

26

16

16

14

14

Histograma
ecualizado

Ejercicio 4
Dada la siguiente imagen, calcular para el pxel marcado, la media y
mediana en un entorno de 3x3:
6

6
7

6 7

2 6 6 5
7 4 5 7

7 7 5 6
5

La media es 5.22 y la mediana corresponde a 6.

Ejercicio 5
Dada la siguiente imagen, calcular para el pxel marcado el mdulo y la
direccin del gradiente, empleando los operadores de Sobel:
1

1
1

10 10

1 10 10 10
1 10 10 10

1 10 10 10

10

Al aplicar el operador de Sobel sobre el pxel anotado, las derivadas parciales


quedan definidas por:
f ( x, y )
=0
x

f ( x, y )
= 36
y

Por tanto, el mdulo y direccin del gradiente ser:


f ( x, y ) = 36 arg(f ( x, y )) =

146

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

Ejercicio 6
Calcular las mscaras de las derivadas de Gauss 2D para una = 0.5 ,
sabiendo que el tamao corresponde a 3x3. Aplquese sobre el pxel
seleccionado para determinar el mdulo del gradiente y su orientacin. Indique
cmo lo implementara para aumentar su eficiencia computacional.
1

1
1

10 10

1 10 10 10
1 10 10 10

1 10 10 10

10

La mscara de suavizado de Gauss quedar definida por:


(x )
2

h ( x ) = e

2 2

1
{0.135 1 0.135}
1.27

Mientras que su derivada estar definida por:


x2

dh
x 2
= 2 e 2 {0.54 0 0.54}
dx

Las derivadas suavizadas se calculan con la derivada parcial en la direccin


elegida y en la otra componente con la suavizada:
0.057 0.425 0.057
0.057 0 0.057

= 0
0
0
= 0.425 0 -0.425
x

0.057 0 0.057
0.057 -0.425 0.057

Al aplicar las mscaras sobre el pxel sealado valdr:


f ( x, y )
x

=0

f ( x , y )
y

= 4.85

f ( x, y ) = 4.85 arg ( f ( x, y ) ) =

La implementacin eficiente se realizar pasando por filas y columnas el


operador 1D de la mscara de suavizado y de su derivada.

Ejercicio 7
Calcular la mscara de la laplaciana de Gauss para una = 0.5,
sabiendo que el tamao es de 5x5. Aplquese sobre el pxel seleccionado.

Dpto. Electrnica, Automtica e Informtica Industrial

147

Carlos Platero

Apuntes de Visin Artificial

1
1

1
1

10 10

10 10 10
10 10 10

10 10 10
10 10 10

10

1
1
1
1

La laplaciana de Gauss es formada a partir de la mscara de Gauss:

h = e

x2 + y 2
2 2

( x 2 + y 2 2 2 )

Utilizando la mscara de Gauss de 5x5 para = 0.5:

h x = {0.0003 0.135 1 0.135 0.003} h = h x * h ' x

0
0.0003
0
0
0

0.0182 0.135 0.0182


0
0
= 0.0003 0.135
1
0.135 0.0003

0.0182 0.135 0.0182


0
0
0
0
0.0003
0
0

La mscara normalizada, dividiendo por la suma de los coeficientes:

h n

0
0.0003
0
0
0

0.0113 0.0836 0.0113


0
0
= 0.0002 0.0836 0.6193 0.0836 0.0002

0.0113 0.0836 0.0113


0
0
0
0
0.0002
0
0

Aadiendo el trmino

(x

+ y 2 2 2 )

se obtendr la mscara de la laplaciana

de Gauss:
0
0.0116
0
0
0

0.2709 0.6689 0.2709


0
0
h = 0.0116 0.6689 -4.9548 0.6689 0.0116

0.2709 0.6689 0.2709


0
0
0
0
0.0116
0
0

Al convolucionar esta mscara con el pxel marcado da un valor de -22.4.

148

Dpto. Electrnica, Automtica e Informtica Industrial

Apuntes de Visin Artificial

Captulo 4: Tcnicas de preprocesado

Derecho de Autor 2009 Carlos Platero Dueas.


Permiso para copiar, distribuir y/o modificar este documento bajo los trminos
de la Licencia de Documentacin Libre GNU, Versin 1.1 o cualquier otra
versin posterior publicada por la Free Software Foundation; sin secciones
invariantes, sin texto de la Cubierta Frontal, as como el texto de la Cubierta
Posterior. Una copia de la licencia es incluida en la seccin titulada "Licencia de
Documentacin Libre GNU".

La Licencia de documentacin libre GNU (GNU Free Documentation License)


es una licencia con copyleft para contenidos abiertos. Todos los contenidos de estos
apuntes estn cubiertos por esta licencia. La version 1.1 se encuentra en
http://www.gnu.org/copyleft/fdl.html. La traduccin (no oficial) al castellano de la
versin 1.1 se encuentra en http://www.es.gnu.org/Licencias/fdles.html

Dpto. Electrnica, Automtica e Informtica Industrial

149

Das könnte Ihnen auch gefallen