Está en la página 1de 42

Deteccin de Bordes

MSC. EBERT SAN ROMAN


ndice
2

1. Introduccin
2. Mtodos basados en derivadas primeras
Gradiente
3. Mtodos basados en derivadas segundas
Laplaciano
4. Detector de Canny
5. Realzado de bordes
Laplaciano
Unsharp
Introduccin
3
1. Introduccin
4

Los Bordes son cambios locales significativos


en la intensidad de una imagen
Causas de los cambios de intensidad
6

Eventos geomtricos
Discontinuidades en una
superficie
Discontinuidades por
Discontinuidad
profundidad superficie
Discontinuidades de color Discontinuidad
y textura profundidad
Discontinuidad
Eventos no geomtricos color
Cambios de iluminacin Sombra
Reflexiones especulares

Sombras

Fuente: CS485/685 Computer Vision, by Dr. George Bebis


Objetivo
7
Descripcin de un borde
8

Direccin
Perpendicular al cambio
en intensidad
Fuerza
relacionada con el
contraste local a lo largo
de la normal
Localizacin
Deteccin de bordes: etapas
9

Suavizado
Reducir el ruido en la medida de lo posible sin destruir los
bordes
Realzado
Derivar para realzar los bordes (sharpening)

Umbralizacin (intensidad del borde)


Qu pxeles deben aceptarse como bordes

Localizacin
Deteccin de bordes a partir de derivadas
10

La derivada de una funcin


continua describe sus
cambios
Una imagen es una funcin
2D
Derivadas parciales
Con frecuencia los pxeles
de un borde se obtienen: 1st derivative

(1) Detectando mximos o


mnimos de la primera derivada.
2nd derivative
(2) Detectando cruces por cero
de la segunda derivada

Source: CS485/685 Computer Vision, by Dr. George Bebis


07/11/2017
Deteccin de bordes mediante
gradiente
11
Deteccin de bordes mediante la derivada
primera: gradiente
12

El gradiente es un vector e indica la direccin de


mxima variacin
2. Mtodo basado en la primera derivada
13

La pendiente de una funcin continua f(x,y) en la


direccin q, dada por el vector unitario r = [cos(q) sen(q)],
puede calcularse como:
cosq f f
f T r f x f y cosq sen q
senq x y
Dicha pendiente es mxima en la direccin del vector
gradiente:

fy
r
f

f x fy
T
q * atan
fx
f fx f y
2 2

r

max f r
T
fx fy
2 2

07/11/2017
Aproximaciones discretas de la derivada en 1D
14

Los detectores de bordes basados en derivadas


primeras aproximan el clculo del mdulo del
gradiente mediante operadores discretos.

[-1 1] (no centrado en x)

[-1, 0, 1] (centrado en x)

07/11/2017
Aproximaciones discretas de la derivada en 2D
15

1
1
hx = [1 -1] hx = [1 0 -1] hy = hy = 0
-1 -1

07/11/2017
Estimacin del Gradiente mediante los
operadores de Prewitt y Sobel
16

-1 -1 -1 -1 0 1

fx = 0 0 0 fy = -1 0 1
1 1 1 -1 0 1

-1 -2 -1 -1 0 1

fx = 0 0 0 fy = -2 0 2
1 2 1 -1 0 1

Deteccin de bordes mediante gradiente:
Clculo del mdulo del gradiente: 2 mscaras h1 y h2 aproximan
las derivadas de la imagen en dos direcciones ortogonales.
Pueden utilizarse mscaras de Roberts, Prewitt, Sobel
El umbral, U, se elige de modo que solamente el 5-10% de los
pxeles lo superen. Para ello:
Se calcula el histograma acumulado del mdulo del gradiente, P(uU)
Se elige U tal que P( uU)=0.90-0.95.

fx(x,y
)
1 , g(x, y) > U
z(x, y) =
hx(x,y) g(x,y) 0 , g(x, y) U
f x2 + f y2
hy (x,y) U
I(x,
y)
fy(x,y)

17
Derivadas y ruido
18

El ruido afecta notablemente al clculo de derivadas


La respuesta en frecuencia amplifica las altas frecuencias

Los pxeles ruidosos son muy distintos de sus vecinos

Qu podemos hacer?
Los pxeles vecinos se parecen

Los pxeles a lo largo de un borde se parecen

Los pxeles de ruido son independientes entre s

Suavicemos la imagen de modo que los pxeles se parezcan un


poco ms a sus vecinos

Source: Mubarak Shah, UCF, Fall 2012


Filtrado Gaussiano Previo
19
Seal Original Seal Filtrada

f ( x)

df ( x )
dx

FDM/JMLM/JSC-DTSC_UC3M
Filtrado con derivada de Gaussiana
20

Gauss d/dt

d/dt(Gauss)
Deteccin de bordes mediante
laplaciano
21
Deteccin de bordes mediante la derivada segunda:
Laplaciano
22

Los bordes en una imagen continua son


puntos de inflexin. Matemticamente,
esto implica que el operador laplaciano
es nulo: 2
f f
2
f = 2 + 2 =0
2

x y

Los detectores basados en el Laplaciano


Aproximan el Laplaciano mediante
operadores discretos
Detectan cruces por cero.
Deteccin de bordes mediante la derivada segunda:
Laplaciano
23
El Gradiente funciona bien cuando los bordes son abruptos y el
ruido es bajo.
El Laplaciano proporciona mejor localizacin, especialmente
cuando los bordes no son muy abruptos
Los bordes en una imagen continua son puntos de inflexin.
Matemticamente, esto implica que el operador laplaciano es nulo:

2
f 2
f
f = 2 + 2 =0
2

x y
Los detectores basados en el Laplaciano
Aproximan el Laplaciano mediante operadores discretos
Detectan cruces por cero.
Aproximacin discreta del Laplaciano:
Aproximando las derivadas primeras por diferencias
f
f ( x + 12 , y) - f ( x - 12 , y)
x
resulta
2 f
f x 1, y 2 f x, y f x 1, y
x 2

Procediendo de modo anlogo con las derivadas respecto de y, y


sumando, podemos aproximar
2 f f ( x +1, y) + f ( x, y +1) + f ( x -1, y) + f ( x, y -1) - 4 f ( x, y)
que es equivalente a pasar f(x,y) por la mscara
0 1 0

1 -4 1
0 1 0

24
Deteccin de cruces por cero
Para cada pixel (x,y), se analizan los
pxeles en una vecindad 3x3:
Si el signo de al menos dos vecinos opuestos
es diferente, hay un cruce por cero.
2
1 1 2 1 1 2
1 -1 1 -1 -1 1
-1 1 0 -1 1 0 Detector de
Sin cruce por 0 Cruce por 0 cruces por cero
Para reducir la sensibilidad al ruido, se
contabilizan solamente los vecinos de signo
opuesto y diferencia superior a un umbral
prefijado.

Sin umbral (umbral = 0) Umbral = 80


25
Detector de Marr-Hildreth
Para atenuar la influencia del ruido, aplica un filtro Gaussiano a la imagen y
a continuacin el Laplaciano para detectar bordes.
Detector de
h(x,y) 2 z(x,y)
cruces por 0
f(x,y)
x2 y2
h( x, y) exp 2
2
Sabiendo que (para x, y continuos),

h
2
x 2 y 2 2 2 x2 y 2
exp g x, y
2
4
2
la secuencia filtro-gradiente es equivalente a aplicar un filtro que sea el
laplaciano del filtro gaussiano: es el operador laplaciano generalizado,
tambin denominado filtro LoG
Detector de
g(x,y) cruces por 0
z(x,y
)
f(x,y) Matlab: H = fspecial('gaussian',hsize,sigma)
H = fspecial(laplacian',alpha)
Filtro LoG H = fspecial(log',hsize,sigma)
26 J=imfilter(I,H)
Ejemplo:
Filtro LoG, con = 2.
Detector de cruces por cero con umbral = 2.

Detector de
cruces por 0

g(x,y)

27
Sin prefiltrado paso-bajo
28

11/7/2017
Con prefiltrado paso-bajo
29

11/7/2017
Gradiente vs. Laplaciano
32

El Gradiente funciona bien cuando los bordes son


abruptos y el ruido es bajo.
El Laplaciano proporciona mejor localizacin,
especialmente cuando los bordes no son muy
abruptos
Detector de canny
33
Canny
34

La imagen se filtra con un filtro Gaussiano


Se calculan, pixel a pixel, gradientes locales. Se seleccionan
como bordes iniciales aqullos de mayor mdulo.
Interpretamos los bordes iniciales como cordilleras, y nos
quedamos exclusivamente con la lnea que define el punto
ms alto (non-maximal suppression).
Posteriormente se aplican dos umbrales T1 y T2 (con T1<T2).
Aquellos pxeles con un mdulo mayor que T2 sern bordes fuertes
(bordes definitivos);
Aqullos entre T1 y T2 sern bordes dbiles.
Se incorporan aquellos bordes dbiles que estn conectados a
bordes fuertes
Detector de bordes de Canny - Ejemplo

Imagen
original

Source: CS485/685 Computer Vision, by Dr. George Bebis


35 07/11/2017
Detector de bordes de Canny - Ejemplo
Mdulo del gradiente

Source: CS485/685 Computer Vision, by Dr. George Bebis


36 11/7/2017
Detector de bordes de Canny - Ejemplo
Mdulo del gradiente umbralizado

Source: CS485/685 Computer Vision, by Dr. George Bebis


37 11/7/2017
Detector de bordes de Canny - Ejemplo
Adelgazamiento (non-maxima
suppression)

Source: CS485/685 Computer Vision, by Dr. George Bebis


38 11/7/2017
Non-maxima suppression
Verifica si el mdulo del gradiente en el pixel
(i,j) es un mximo local en la direccin del
gradiente

Source: CS485/685 Computer Vision, by Dr. George Bebis


39 07/11/2017
Realzado de bordes
40
Realzado de bordes: Laplaciano
41
Realzado de bordes: Laplaciano
42
Realzado de bordes: Unsharp
43

Filtro paso-
I bajo
I

I -I
Realzado de bordes: Unsharp
44
Extensiones
45

Filtro de Canny (Canny, 1986) (Gonzlez, 2008)

Filtros de gradiente de color (DiZenzo, 1986), (Martin,


2004), (Gonzlez, 2008)
Generaliza el gradiente para su aplicacin a imgenes en color

Algoritmos de enlazado de Bordes (Gonzlez, 2008)

Procesan el mapa de bordes para eliminar bordes espurios,


ruido, discontinuidades, etc.

También podría gustarte