DETECCIN DE CONTORNOSDETECCIN DE CONTORNOS
Contornos de objetos
Marcados por varios usuarios
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/bench/html/images.html
Contornos de objetos a partir de bordes
Gradiente del brillo (deteccin de contornos)
Missing edge continuity, many spurious edges
Contornos de objetos a partir de bordes
Imagen
Deteccin automtica de contornos
Marcaje humano de los contornos
Contornos en Imgenes Medicas
Detection of cancerous regions.
[Foran, Comaniciu, Meer, Goodell, 00]
Contornos en Imgenes de Ultrasonido
Los contornos son difciles de detectar en presencia de ruido.
CONTORNOSCONTORNOS
z
h
x0x
h
x
y
Borde 1-D
Borde 2-D
Preprocesamiento de la imagen de contornos
Detection of cancerous regions.
[Foran, Comaniciu, Meer, Goodell, 00]
Bordes en las imgenes
Los bordes contienen la informacin mas til en la imagen. Ejemplos:
Los bordes se podrian usar para medir los tamaos de objetos en una
imagen;
Para aislar objetos particulares del fondo.
Para reconocer y clasificar objetos. Para reconocer y clasificar objetos.
Un borde podra describirse como una lnea de pixeles en donde ocurre un diferencia de intensidad observable
5050 5353 150150 160160
5151 5353 150150 170170
5252 5353 151151 190190
5151 5353 152152 155155
Deteccin de Bordes
Convertir una imagen 2D en un conjunto de curvas Extrae los atributos mas importantes de la escena.
Resulta mas compacto que los pixeles
Tipos de bordes
Bordes en escalnBordes en escaln
Bordes en techo Bordes en lneas
;
Bordes reales
Noisy and Discrete!
Queremos operadores de deteccion de bordes que cumplan::
Magnitud del borde
Orientacin del borde
Alta taza de deteccin, buena localizacin
SIMPLE REFORZAMIENTO DSIMPLE REFORZAMIENTO DE BORDESE BORDES
+
-
CEntrada
Salida
Entrada
Suavizada
Niv
el d
e g
ris
Niv
el d
e g
ris
-
1-CFiltro suavizador
Salida
Niv
el d
e g
ris
Niv
el d
e g
ris
Reforzamiento Reforzamiento de contornosde contornos
Ejemplo de reforzamiento de bordesEjemplo de reforzamiento de bordes
Basado en el desplazamiento y diferencia de imgenes.Basado en el desplazamiento y diferencia de imgenes.
Imagen original Imagen procesada
00 --11 00
00 11 00
00 00 00
Mscara utilizada
E
REFORZAMIENTO DE BORDESREFORZAMIENTO DE BORDES
Imagen original Imagen con bordes
reforzados
DETECCION DE CONTORNOSDETECCION DE CONTORNOSDETECCION DE CONTORNOSDETECCION DE CONTORNOS
Reforzamiento de bordes
Detector de umbral
x(i,j) G(i,j) y(i,j)
de bordes umbral
Imagen de entrada
Imagen con bordes reforzados
Imagen con los contornos
Deteccin de Contornos
Dos regiones
separadas por
un borde
vertical.
Un borde mostrado en un perfil de
niveles de gris, tambin se muestra la
primera y segunda derivada del perfil
vertical.
DETECCION DE CONTORNOSDETECCION DE CONTORNOS
BASADO EN EL GRADIENTEBASADO EN EL GRADIENTE
DETECCION DE CONTORNOSDETECCION DE CONTORNOS
BASADO EN EL GRADIENTEBASADO EN EL GRADIENTE
(a)x x
f(x) f(x)
x0
(b)
(c)
x
x
x
x
f'(x)
f'(x)
f''(x) f''(x)
x0
x0
0
x0
Gradiente en imgenes
Ecuacin del gradiente :
Representa la direccin del cambio mas rpido en intensidad.
Direccin del gradiente:Direccin del gradiente:
La intensidad del borde esta dado por la magnitud del gradiente. La intensidad del borde esta dado por la magnitud del gradiente.
Mtodo del gradiente es el mtodo de diferenciacin mas comn en procesamiento de
imgenes.
Para una funcion f (x, y),el Vector del gradiente en el punto (x, y) es:
The magnitude of the vector is
f
xf
f
y
=
1/ 22 2
( )y y
mag f
= +
Ejemplo:Direccin del borde vs direccin del gradiente
( )mag fx x
= +
Diferenciacin de imgenes
We can define the difference in three separate ways:Las diferencias hacia adelante:
Diferencia hacia atrs:
Diferencia central :
( ) ( 1) ( )f x f x f x = + ( ) ( ) ( 1)f x f x f x = ( ) ( 1) ( 1)f x f x f x = + Diferencia central :
( , ) ( 1, ) ( , )
( ,
( , ) ( 1,
) ( , )
) ( 1, )
( 1, )
= +
= +
= x
x
x
f x y f x y f x y
f x y f x y
f x y f x y f x
x y
y
f
An image is a function of two variables, we generalize these Definicin para incluir tanto los valores de x como de y :
( , ) ( , 1) ( , )
( ,
( , ) ( , 1
) ( , )
) ( , 1)
( , 1)
= +
= +
=
y
y
y
f x y f x y f x y
f x y f x y
f x y f x y f x y
f x y
Simples operadores discretos de bordes
Como se puede derivar una imagen discreta ?
Aproximaciones por diferencias finitas::
1, +jiI 1,1 ++ jiI
I I
( ) ( )( )jijijiji IIII
x
I,,11,1,1
2
1+
++++
( ) ( )( )I 1
jiI , jiI ,1+( ) ( )( )jijijiji IIIIy
I,1,,11,1
2
1+
++++
1 1
1 121
x
I 1 1
1 121
y
I
Convolution masks :
Un filtro derivador
Para determinar los contornos verticales para un punto (x,y)
( 1, 1)f x y ( , 1)f x y ( 1, 1)f x y+
( 1, )f x y ( , )f x y ( 1, )f x y+
( 1, 1)f x y + ( , 1)f x y + ( 1, 1)f x y+ +
Para conseguir el filtro se toman diferencias de los nivelesde gris en sentido horizontal
0 0 0
1 0 1
0 0 0
Bordes verticales en una imagen
Deteccin de contornosDeteccin de contornos
Deteccin de contornos basados en gradientes
Igualmente se pueden conseguir mscaras para implantar el gradiente direccional segn diferentes direcciones
Ejemplo:
NN
S
EO
NE
SESO
NO
;
GRADIENTEGRADIENTE
Mapa de contornos
f(x , y) = f(x , y)
x xi + f(x , y)
y yi
xi Es un vector unitario en la direccin de x
yi Es un vector unitario en la direccin de y
f(x,y)[.] | . |
f(x,y)> Umbral en (x0, y0) ?
Adelgazar contorno
Si
(x0,y0) no es un punto del borde
No
f(x,y)
OTROS DETECTORES DE CONTORNOSOTROS DETECTORES DE CONTORNOS
OPERADOR DE ROBERTS:
y(i, j) = f (i, j) - f (i +1, j +1) + f (i, j +1) - f (i + 1, j)
OPERADOR DE SOBEL:
y(i, j) =2
X +2
Yy(i, j) =2
X +2
YCon: X = (A2 + 2A3 + A 4) - (A0 + 2A7 + A 6)
Y = (A0 + 2A1 + A 2) - (A6 + 2A5 + A 4)
A0 A1 A2
A7 f(i, j) A3
A6 A5 A4
Comparando operadores de bordes
--11 00 11 11 22 11
Gradient:
Roberts (2 x 2):
Sobel (3 x 3):
00 11
--11 00
11 00
00 --11
Buena localizacinSensible al ruidoPobre deteccin
--11 00 11
--22 00 22
--11 00 11
11 22 11
00 00 00
--11 --22 11
Sobel (3 x 3):
Sobel (5 x 5):--11 --22 00 22 11
--22 --33 00 33 22
--33 --55 00 55 33
--22 --33 00 33 22
--11 --22 00 22 11
11 22 33 22 11
22 33 55 33 22
00 00 00 00 00
--22 --33 --55 --33 --22
--11 --22 --33 --22 --11
Pobre localizacin Menos sensible al ruidoBuena deteccin
Reforzamiento de contornos (Ejemplos)Reforzamiento de contornos (Ejemplos)
Imagen
original Realce de contornos
obtenido mediante el
gradiente
Realce de contornos
obtenido mediante
el operador de
Roberts
Realce obtenido
mediante el operador
de Sobel
Contorno resultante al
procesar mediante un umbral
la imagen obtenida con Sobel
Deteccin de contornos
Deteccin de contorno mediante derivada de 2do orden: Laplaciano
Laplaciano:
Cruces por cero
),(),(2
2
2
22 yx
y
gyx
x
gg
+
=
Cruces por cero
Binarizacin con umbral cercano a 0
Laplaciano en imgenes es equivalente a convolucincon mscaras:
=
=
=
121
242
121
111
181
111
010
141
010
321 LLL
REFORZAMIENTO DE CONTORNOSBASADO EN EL LAPLACIANO
REFORZAMIENTO DE CONTORNOSBASADO EN EL LAPLACIANO
Deteccin de contornosDeteccin de contornos
Deteccin de contornos basados en Deteccin de contornos basados en LaplacianoLaplaciano
Ejemplo de deteccin de contornos basado en el uso del operador Laplaciano
Imagen original Mapa de contornos obtenidos en
base a la deteccin de cruce por
cero
Mapa de contornos obtenidos
al procesar el obtenido
mediante el Laplaciano usando
un umbral prximo a cero.
Ejemplo de imagen con realce de
bordes usando un filtro laplaciano
Original
Original superpuesto al
contorno
Original
Contorno
Efecto del Ruido
Si dibujamos un perfil de una imagen con ruido Obtenemos la seal que se muestra a continuacin
Donde esta el borde?
Solucin: Suavizar primero
Donde esta el borde? Hay que buscar el pico de
Derivada de una Convolucin
Ahorra una operacin.
Laplaciano del Gausiano (LoG)
( ) fhx
fhx
=
2
2
2
2
Laplacian of Gaussian
Operador Laplaciano del Gausiano
Donde esta el borde? Se buscan los cruces por cero
Operadores 2D Gausianos para deteccin de bordes
Laplaciano del GausianoGausiano Derivada del of Gausiano (DoG)Mexican Hat (Sombrero)
eses el el operadoroperador LaplacianoLaplaciano::
Deteccin de contorno Multiresolucin: Transformada de Marr-Hildreth (Filtro)
Operador Marr-Hildreth= Laplaciano de la Gausiana Equivalente al Laplaciano de una imagen suavizada con filtro gausiano
Deteccin de contornos
+
+=
2
22
2
2
222 1
yx
eyx
g
=
00100
01210
121621
01210
00100
2 g
= parmetro de escala espacial. El algoritmo requiere utilizar varios
valores de este parmetro
mayor, mas borroso menos detalles en el contorno
Operador de deteccin de bordes: Canny
Suavizar la imagen I con un gausiano 2D:
Conseguir las direcciones normales al borde para cada pixel.
( )( )IG
IG
=n
IG
Calcular las magnitudes del borde y la direccin del gradiente
Aplicar una tcnica de supresin de no mximo: Si un pixel no es un
mximo y si no esta a lo largo de la
direccin de un borde se hace cero.
Aplicar histresis
( )IG
The Canny Edge Detector
original image (Lena)
El detector de Canny
magnitud del gradiente
El detector de Canny
Luego de la supresin de no-mximos