You are on page 1of 75

Mtodos de anlisis de imgenes

Extraccin de caractersticas
Autores: Jos Luis Alba - Universidad de Vigo Jess Cid - Universidad Carlos III de Madrid Inmaculada Mora - Universidad Rey Juan Carlos Ultima revisin: marzo de 2006

ndice
Anlisis de Imgenes Segmentacin de Imgenes
Segmentacin Segmentacin Segmentacin Segmentacin basada basada basada basada en en en en caractersticas transiciones modelos homogeneidad

Etiquetado Bibliografa
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Anlisis de imgenes
Operaciones puntuales y de vecindad:
f(.)

Anlisis de imagen:
f(.) g(.) h(.) {caractersticas}

reconocimiento descripcin interpretacin comprensin

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Sistema de anlisis de imgenes


Esquema general de un sistema para el anlisis de imgenes

Segmentacin

Extraccin de caractersticas
BASE DE CONOCIMIENTO

Extraccin de caractersticas

Imagen

Adquisicion, Realce restauracin

Reconocimiento, Clasificacin interpretacin


4

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Segmentacin:

Divisin de la imagen en regiones con caractersticas similares. Cada una de las regiones de inters (que comparten ciertas propiedades) se denomina objeto. Resultado de la segmentacin: separacin de objetos. Para diferenciar los objetos, stos tendrn asignadas unas etiquetas.
Segmentacin Etiquetado

Etiquetado:

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Aplicaciones:
Visin artificial Teledeteccin Compresin Inspeccin industrial Anlisis de imgenes mdicas Gestin de informacin multimedia
http://caddlab.rad.unc.edu/publications/Tutorials/Summer02/segmentation.ppt
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Segmentacin de imgenes
Las tcnicas de segmentacin son muy dependientes del propsito de la aplicacin y del tipo de imgenes a analizar.
Antes de segmentar es preciso definir qu objetos interesa determinar Tras la segmentacin es posible realizar operaciones de filtrado (a nivel de objetos), as como determinar caractersticas que permitan clasificar los objetos. Una buena segmentacin es difcil de evaluar.
Fundamentalmente, lo que se busca es que diferentes objetos tengan valores claramente diferentes de la(s) caracterstica(s) discriminante(s).

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Tipos de segmentacin:
Segmentacin basada en caractersticas
Segmentacin por niveles de gris Segmentacin de imgenes en color Segmentacin por texturas Deteccin de bordes

Segmentacin basada en transiciones Segmentacin basada en modelos Segmentacin basada en homogeneidad


Fusin de regiones Zonas planas Propagacin de Marcadores Transformada de Hough

Segmentacin basada en Morfolgica Matemtica


Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Segmentacin basada en caractersticas


Se asigna cada pxel a una regin en funcin de caractersticas locales de la imagen en el pxel y (posiblemente) en su vecindad.
Extraccin de caractersticas

Segmentacin

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Segmentacin basada en caractersticas

Segmentacin por niveles de gris


Utiliza como caracterstica solamente la luminancia de cada pxel. El nivel de gris determina alguna propiedad fsica en una imagen especfica de una aplicacin (Rayos X, RMN, bandas en satlite, etc)
Tcnicas de operaciones puntuales (ej: doble umbralizacin) Tcnicas de clasificacin basada en amplitud imagen binaria Matlab: J=roicolor(I,low, high); J es una imagen binaria K=roifilt2(h,I,J); se filtra I por h en los puntos J==1 til si distintos objetos se corresponden con niveles de gris diferentes.

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

10

En el caso ideal en que el objeto posea un rango estrecho de niveles de gris frente a un fondo uniforme, podemos establecer un nivel de gris intermedio (umbral) para separar objeto y fondo.
Extraccin de luminancia Segmentacin por umbral

Para separar por umbral, es til recurrir al histograma.

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

11

Segmentacin por Histograma:


Picos: a menudo indican la presencia de zonas homogneas Valles: establecen los umbrales de separacin

u = 130

Problemas:
Objetos con un amplio rango de niveles de gris Segmentacin Fondo no uniforme, por umbral, u Imagen con ruido

u = 70

u = 170

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

12

Al aplicar un umbral, u, se genera una particin de la imagen mediante


1, I ( x, y ) u L( x , y ) = 0, I ( x, y ) > u

Esto equivale a definir el conjunto (en este ejemplo, de nivel inferior): Lu = {( x, y ) / I ( x, y ) < u} Este conjunto produce una divisin del espacio. La cantidad de componentes conexas de Lu determinan el nmero de regiones.

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

13

Umbralizacin
Mtodo automtico para separar objeto del fondo: Otsu Clculo del histograma de gris Clculo iterativo de media y varianza Hiptesis de umbral U divide el histograma en dos partes y se calcula media y varianza para cada parte iterativamente cambiando U.
w1 (t + 1) = m1 (t + 1) =

U 1 x =0

pu ( x);

w2 (t + 1) =
x pu ( x); ( x m1 (t + 1)) 2 pu ( x)

L 1 x =U

pu ( x);

1 w1 (t + 1)

U 1 x =0

m2 (t + 1) =

1 w2 (t + 1)

L 1 x =U

x pu ( x); ( x m2 (t + 1)) 2 pu ( x)

12 (t + 1) =

1 w1 (t + 1)

U 1 x =0

2 2 (t + 1) =

1 w2 (t + 1)

L 1 x =U

Medimos la varianza conjunta:


2 = w1 (t + 1) 12 (t + 1) + w2 (t + 1) 2 2 (t + 1) D = 2 2 Mide la " calidad" del umbral U D=0 ej : para dos niveles de gris 2 D = si U no est entre ambos si U est entre ambos

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

14

Matlab: level = graythresh(I); %utiliza el mtodo de Otsu BW=im2bw(I,level)

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

15

La determinacin del umbral ptimo para una imagen dada es un factor crtico de la segmentacin. Conociendo las distribuciones de luminancia propias de cada objeto en la imagen, el umbral ptimo puede estimarse mediante consideraciones estadsticas. Sin embargo, puede haber limitaciones: si las distribuciones estn solapadas, ningn umbral aplicado directamente sobre la luminancia de la imagen puede obtener una segmentacin libre de errores
Segmentacin por umbral

u = 170

u = 150

u = 140
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

16

Puede mejorarse la segmentacin realizando un preprocesado previo de la imagen.

Filtro de media

Segmentac. por umbral

+ Diferencia

Filtro de mediana

Segmentac. por umbral

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

17

Segmentacin basada en caractersticas

Segmentacin de imgenes en color


Es posible segmentar una imagen en color utilizando umbrales.
Para ello, se presentan dos alternativas:
R G B Segmentacion por umbral Segmentacion por umbral Segmentacion por umbral Combinacin
Imagen segmentada

R G B
18

Combinacin

Segmentacion por umbral

Imagen segmentada

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Combinacin de segmentaciones:

Histogramas 2 y 3D

La combinacin de los resultados de la segmentacin de cada componente por separado suele ser subptima, porque limita severamente la particin del espacio de color P. ej: la combinacin de las segmentaciones de las componente R y G impone una particin en rectngulos (vase figura). En distribuciones como las de la figura, las distribuciones de los objetos no parecen separables mediante fronteras paralelas a los ejes. En algunas imgenes se pueden combinar linealmente las componentes de color y crear una nica caracterstica a partir de la cual segmentar Cmo obtener la combinacin lineal ptima? A partir de la descomposicin en componentes principales.

uG

uR

Combinaciones lineales

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

19

Segmentacin basada en caractersticas


Combinaciones lineales:

Anlisis por componentes principales


Transforman las componentes R, G y B en una sola componente de la forma C = wR R + wG G + wB B Aplicada a todos los puntos de la imagen f(x,y) de componentes fR(x,y), fG(x,y) y fB(x,y), resulta c(x,y) = wR fR(x,y) + wG fG(x,y) + wB fB(x,y) En forma vectorial: c(x,y) = wT f (x,y) siendo w = (wR, wG, wB)T Si w es un vector unitario (||w||=1), c es la proyeccin ortogonal de f sobre la recta en direccin w.
wB wR

wB

wR
20

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Clculo de la componente principal:


f= 1 MN

(1) Se calcula NlaMmedia de toda la imagen

f (x, y )
x =1 y =1 N M

(2) Se calcula la matriz de varianzas de color


1 S= MN

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


x =1 y =1

(3) Se calculan los autovalores y autovectores de dicha matriz


Indican la proporcin de la informacin original que contiene esa nueva caracterstica

Los autovalores de la matriz de covarianza indican la varianza en la direccin de los correspondientes autovectores. El autovector dominante (es decir, el de mayor autovalor) indica la orientacin preferente de la distribucin global.
Debe tomarse w igual al autovector dominante, de modo que

c = w T f ( x, y )

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

21

Ejemplo: Mano sobre tela


Autovectores y autovalores: 1 = 0.0938 v1 = (0.78, 0.58, 0.23) 2 = 0.0032 v2 = (-0.43, 0.22, 0.88) 3 = 0.0003 v3 = (0.46, -0.78, 0.42) Combinacin lineal ptima: C = 0.78 R + 0.58 G + 0.23 B

Histograma de la componente principal

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

22

Segmentacin basada en caractersticas

Segmentacin por agrupamiento


Agrupamiento (clustering)
til cuando no se conocen las caractersticas de las regiones que buscamos o, incluso, si no se sabe cuntas categoras hay. Fundamento:

Cada regin del espacio de caractersticas se define mediante un patrn o centroide. Cada vector de caractersticas se asigna a la regin del centroide ms prximo.

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

23

algoritmo de agrupamiento o clustering


El agrupamiento puede realizarse mediante el algoritmo k-medias. El algoritmo K-medias consiste en encontrar K prototipos a partir de los vectores de un conjunto dado (aqu se aplicara a cada clase por separado) Algoritmo K-medias (K-means):
Tomar K datos aleatoriamente dentro del margen dinmico del conjunto de diseo (pueden ser del propio conjunto o no) Asignar cada dato del conjunto a uno de los K representantes anteriores mediante la regla de mnima distancia:

|| v vi || < || v v j || j i; 1 i, j K v " se asigna al representante" vi


Calcular las medias de todos los datos asignados a cada representante y definirlas como nuevos representantes:

1 v N i "vv " i Volver a asignar todos los datos a sus nuevos representantes y repetir hasta que no haya cambios de asignacin (convergencia segura). vi =

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

24

simulacin del algoritmo K-means

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

25

Si no se conoce el nmero de grupos, se procede iterativamente: Divisin de regiones


1. 2. 3.

4.

Se define una particin inicial, con 2 centroides. Se aplica un algoritmo de agrupamiento (p.ej.: k-medias) Se define un criterio de homogeneidad para determinar dnde separar regiones vecinas. Si no se satisface un criterio de parada, se dividen regiones vecinas menos homogneas y vuelve a 2.
(al crear un nuevo grupo, se elige como centroide la muestra ms distante del centroide del grupo original)

Algunos algoritmos combinan procesos de fusin y divisin de regiones Cundo se detiene el algoritmo?
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

26

Ejemplo: Divisin sucesiva de regiones

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

27

Criterio de parada:
Mnimo de
(varianza media de cada regin) x (n de regiones)
Nmero de iteraciones

Segmentacion final:

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

28

Segmentacin basada en caractersticas


Textura:
Modelo o estructura de la imagen Queda caracterizada por relaciones entre pxeles, no por pxeles aislados.

Segmentacin basada en texturas

Anlisis de texturas
Se utilizan filtros, operadores locales. Su salida es la caracterstica utilizada para segmentar. Se pueden encontrar varios tipos de textura: con distintos intervalos de brillo, diferentes frecuencias espaciales y diferentes orientaciones.
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

29

La utilizacin de varios filtros permite formar patrones de caractersticas. Dificultad para localizar de forma precisa una frontera de texturas: fluctuaciones aleatorias. Dependiendo de la textura que se pretende segmentar, el filtro deber ser sensible a orientaciones, varianzas locales, periodicidades, ...

Filtro de varianza

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

30

Histograma localizado:
Pueden obtenerse parmetros de textura a partir del histograma calculado con los pxeles en una regin localizada de la imagen (por ejemplo, en la vecindad de un pxel).
(recordando : pu ( x) P[u = x] Momentos : mi = E[u ] =
i

n pixels con valor de gris x ) n pixels totales pu ( x ) i = 1,2,...


L 1 x =0

L 1 i x x =0

Momentos absolutos : mi = E[| u |i ] =

| x |i p u ( x )

Momentos centrales : i = E[{u E[u ]} ] =

L 1 x =0

( x m1 ) i pu ( x)

Momentos centrales absolutos : i = E[| u E[u ] |i ] = Entropa : H = E[ log 2 ( pu ( x))] =

L 1 x =0

| x m1 |i pu ( x)

L 1 x =0

pu ( x) log 2 ( pu ( x))

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

31

Los momentos ms utilizados son:


dispersin : 1 para extraer bordes finos media : m1 para extraer bajas frecuencia s varianza : 2 para extraer bordes gruesos valor cuadrtico medio o energa media : m 2 baja frecuencia skewness : 3 / 13 para extraer asimetra de los datos respecto a la media kurtosis : 4 / 1 4 3 para extraer la influencia de outliers en los datos

Caractersticas relacionadas con el histograma de forma no lineal:


Mediana robusto extrae un valor parecido a la media pero ms
Matlab: J=medfilt2(I,[m n]); Matlab: J=medfilt2(I,[m n]);

Moda extrae el valor de gris ms probable en el entorno localizado


Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

32

Normalmente las regiones sobre las que se calculan las caractersticas se definen mediante una ventana mvil:
mi ( x, y ) = 1 N 1 N

( k ,l )E N

[u ( x k , y l )]i

i ( x, y ) =

( k ,l )E N

[u ( x k , y l ) m1 ( x, y )]i

Matlab: J = blkproc(I,[m n],[mborder nborder],fun,...); % divide I en bloques. fun: funcin que procesa cada bloque [m n] y devuelve otro o un escalar. J=nlfilter(I,[m n],fun,...); % procesa cada bloque deslizante devuelve un escalar. J=colfilt(I,[m n],blocktype, fun,...); % Procesa ms rpido y distingue entre bloques separados o deslizantes.
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

33

Extraccin de caractersticas a partir de transformadas


Aplicacin de una mscara en el dominio transformado (normalmente en el dominio frecuencial):
f(x,y) Transformada Directa F(u,v) G(u,v) Transformada inversa g(u,v)

Mscara H(u,v) En caso de utilizar la TF las mscaras ms habituales son:


Anillo circular deteccin de bordes Ranura angular deteccin de orientacin (

+/2)

Tambin pueden utilizarse como parmetros los coeficientes de transformadas aplicada a subimgenes
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

34

Segmentacin basada en transiciones


Los mtodos de segmentacin basada en transiciones aplican sobre la imagen, o sobre un plano de caractersticas, un detector de bordes. Las regiones se definen a partir de las fronteras delimitadas por los bordes detectados. Deteccin de bordes Tcnica general: medir el gradiente de la imagen f en una direccin determinada a lo largo de una recta r : f f x f y = + = f x cos + f y sen r x r y r
f f = 0 = f x sen * + f y cos * r r mx f * = a tan y direccin del borde f x f 2 2 = f x + f y magnitud del vector gradiente r mx
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

35

A partir de la anterior definicin surgen dos tipos de detectores de bordes:


Operadores de gradiente 2 direcciones ortogonales Operadores de comps barrido de direcciones posibles para el mximo

Implementacin en imgenes digitales


h mscara pxp; I imagen original < I, h > m,n

mscaras

h(i, j) I (i + m, j + n) = I (m, n) * h(m,n)


i j

Matlab: J = filter2(h,I); % realiza la correlacin de I con h Se relaciona con conv2 mediante una rotacin de 180 del filtro h

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

36

Operadores de gradiente:
se representa mediante dos mscaras h1 y h2 que miden el gradiente de la imagen I(x,y) en dos direcciones ortogonales.
I(x,y) h1(-x,-y) h2 (-x,-y) f1(x,y) f2(x,y)

f =

fx2 + f y2 fy fx

z(x,y)
umbral

* = arctan

q(x,y)
1, (m, n) I g z (m, n) = 0 , (m, n) I g I g {(m, n); f (m, n) > umbral}

Umbral: histograma acumulado de f(x,y) quedarse con el 5-10% Aproximaciones rpidas: f(x,y) = |f1(x,y)| + | f2(x,y)| mscaras de Roberts, Prewitt, Sobel

Matlab: J = bwedge(I,mtodo); % deteccin de bordes en I con mtodo mtodo=sobel,prewitt,roberts,canny


Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

37

Operadores de comps:
se mide el gradiente en nmero prefijado de direcciones:
k=/2+k /4 I(x,y) z(x,y)

hk(-x,-y)

fk(x,y)

max k {| . |}

umbral

(x,y)

1 1 1 1 1 0 0 0 0 N 1 0 1 NO 1 1 1 0 1 1 Mscara mayor resolucin en

1 0 1 1 0 1 O 1 0 1

0 1 1 1 0 1 SO 1 1 0

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

38

Operadores de Laplace:
Cuando los bordes no son muy abruptos los operadores de gradiente no funcionan demasiado bien mejor derivadas de segundo orden. El ms utilizado es el operador laplaciano: 2 f 2 f 2 f = 2 + 2 x y que puede aproximarse mediante mscaras del tipo
0 1 0 1 4 1 0 1 0

Tiene algunos inconvenientes: es sensible al ruido, produce doble borde y no detecta direcciones:
para atenuar la influencia del ruido se puede pasar un filtro gaussiano a la imagen y a continuacin hacer el laplaciano para detectar bordes. Esta secuencia de operaciones es equivalente a aplicar un filtro que sea el laplaciano del filtro gaussiano: es el operador laplaciano generalizado, tambin denominado filtro LOG
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

39

Operadores de Laplace y cruces por cero (cont):


r2 x2 + y2 r2 2 2 exp h( x, y ) = exp h = 4 2 2 2 2 m2 + n2 2 m2 + n2 2 exp en discreta : h(m, n) C 4 2 2 C asegura la normalizacin de la mscara; controla el ancho de la gaussiana (desenfoque)

Matlab: H = fspecial('gaussian',hsize,sigma) H = fspecial(laplacian',alpha) H = fspecial(log',hsize,sigma) J=filter2(I,H)

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

40

Segmentacin basada en modelos


Las tcnicas de segmentacin basada en modelos presuponen conocidas algunas caractersticas de los objetos o regiones en la imagen: rectas, objetos circulares, etc. La transformada de Hough es una de las ms utilizadas.

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

41

Segmentacin basada en modelos

Proyecciones

Permiten localizar objetos Las proyecciones que ms interesan son:


Horizontales: sumando los niveles de los pxeles de cada lnea horizontal
M 1 x =0

H (y) =

f ( x, y )
V ( x ) = f ( x, y )
y =0 N 1

Verticales: sumando los niveles de los pxeles de cada lnea vertical

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

42

Segmentacin basada en modelos


Transformacin de dominio para encontrar curvas paramtricas en una imagen (binaria o de grises).

Transformada de Hough (TH)


El nuevo espacio transformado se denomina espacio de Hough. Para ajustar distintos tipos de formas se usan distintos espacios de Hough. Transformar un problema de deteccin de patrones en un problema de deteccin de mximos en el espacio de Hough. Est poco afectada por ruido o huecos en las curvas. Identificando las curvas que interesan en el espacio de Hough, es posible aislar regiones en la imagen original (filtrado).
P.e., el seguimiento de una bola de bolos se hara encontrando con la TH el elemento ms circular de la imagen

Objetivo de la TH:

Ventaja principal de la TH:

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

43

TH para segmentos rectos


Tcnica para detectar segmentos rectos en imgenes de grises. Usa la descripcin paramtrica de formas geomtricas: representacin de una recta en coordenadas polares = x cos + y sen Una recta a distancia j del origen y con orientacin i se representa como: La transformada de Hough de esta recta es un punto del plano (, ).

(i , j) j
i

La TH lineal es una transformacin de recta a punto


Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

44

TH de un punto
Cada punto (xk ,yl ) se corresponde con una curva en el plano (j , i ). As, calculando las curvas para muchos puntos, los puntos de cruce definen rectas que los unen. Todas las curvas correspondientes a las componentes colineales intersecan en el mismo punto (,), donde y especifican los parmetros de la lnea. Espacio Imagen Espacio Hough
y A B C x
Angulos (grados) radios C A B

y D

B C

radios B

D A

x
Angulos (grados)

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

45

Identificacin de segmentos paralelos y perpendiculares Una recta en el espacio cartesiano (x,y) se representa por un punto (,) en el dominio de Hough.

Lneas paralelas y perpendiculares

Transformadas de Hough de (a)


46

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Implementacin:

En el caso discreto, el dominio de Hough es un array bidimensional que representa valores discretos de y . Antes de aplicar la TH es necesario seleccionar una resolucin del dominio de Hough. Matriz acumuladora: Cuantificacin del plano de parmetros en celdillas acumuladoras TH de una Imagen binaria: cada celdilla indica el nmero de pxeles que componen el segmento recto Si la imagen no es binaria, la cuenta de pxeles debe ponderarse por el nivel de intensidad.

= x cos + y sin

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

47

Algoritmo de la TH (Imagen binaria)


Inicializacin de la matriz acumuladora a ceros Para cada pxel de la imagen con nivel distinto de cero
Para cada valor de se determina el valor de

= x cos + y sin

Se incrementa la posicin (, ) de la matriz en 1

Al finalizar, cada celdilla indica el nmero de pxeles que forman una recta con esos parmetros ( , )

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

48

Ejemplo:
Transformada de Hough de puntos alineados. El brillo en la transformada es proporcional al nmero de puntos que contribuyen.

Transformada de Hough

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

49

Ejemplo
Deteccin de bordes

Transformada de Hough

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

50

Ejemplo de segmentacin mediante TH (Imagen binaria)


A partir de la transformada, es posible seleccionar los puntos de la recta de inters. Para ello
Se seleccionan los parmetros (, ) de inters Para cada pxel de la imagen original, y para el valor de a filtrar, se calcula el correspondiente y se mantiene el pxel si coincide con el valor de .

Ejemplo: Deteccin de una carretera en una imagen area


Dada una imagen, se pretende encontrar un sub-conjunto de pxeles de la misma que se encuentran sobre una lnea recta con una determinada caracterstica (orientacin, nmero de pxeles, ...).

Aumento del contraste

Filtrado paso alto

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

51

Producto punto a punto (FPA, contrastada)

Transformada de Hough

Filtrado a partir del mximo de la TH

Localizacin de la carretera en la Imagen

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

52

Otras Transformaciones de dominio


Ejemplo: encontrar, mediante la transformada de Hough para curvas, el crculo central de un campo de ftbol para, posteriormente, introducirle una imagen publicitaria.

Technion - Israel Institute of Technology Computer Science Department Intelligent Systems Laboratory

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

53

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

54

Mtodo General

1. Determinar la ecuacin correspondiente al rasgo que queremos buscar, as como los parmetros en funcin de los que se define. 2. A partir de la imagen original destacamos los elementos de la misma que van a dar forma al rasgo buscado 3. Discretizacin del espacio de bsqueda (para que las contribuciones de cada pxel se puedan acumular en celdillas). 4. Clculo de la Transformada de Hough
P.e: puntos de la frontera bordes

5. Filtrado

Imgenes binarias: todos los pxeles contribuyen por igual Imgenes de grises: los pxeles con mayor nivel presentan mayor contribucin determinar los valores de los parmetros cuya caracterstica se desea filtrar en el espacio original
55

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Ventajas
Cada pxel de la imagen se procesa de modo independiente, lo que facilita su implementacin en paralelo. La transformada general de Hough es til para la deteccin de formas complejas Es capaz de reconocer patrones ligeramente deformados, ocultos o discontinuos Robusta frente al ruido Permite buscar simultneamente todas las ocurrencias de un patrn

Inconvenientes
Tiempo y memoria No ofrece respuesta absoluta, sino un ndice de probabilidad de que cada una de las formas posibles sea la buscada
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

56

lca
Algunas aplicaciones
Procesamiento de imgenes areas: la TH se aplica en identificacin y localizacin de estructuras en imgenes areas (pe: carreteras, edificios, vehculos, etc). Biometra: identificacin del iris y huellas dactilares Deteccin de rasgos faciales, gestos Seguimiento de objetos Procesos de fabricacin: deteccin de defectos, etc
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

57

Ejemplo: Identificacin de huellas dactilares


Se usa una variante de la TH que nos permite encontrar ocurrencias de formas irregulares Como parmetros, se usa el ngulo de rotacin y la traslacin del patrn buscado sobre la imagen Para determinar una huella, se buscan ocurrencias de tres tipos de patrones caractersticos de cada huella
A: Extremo B: Bifurcacin C: Bucle

Sobre cada huella se guarda en la base de datos informacin sobre una ocurrencia de cada uno de estos rasgos y las distancias que hay entre ellas.

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

58

Para comparar una huella con alguna de las almacenadas en la base de datos, aplicamos la TH a cada uno de los tres patrones, seleccionando en cada caso el punto de la imagen que mejor se ajusta a cada uno de ellos Se considera identificacin positiva si se alcanza un nivel de semejanza determinado entre ambas imgenes en funcin del parecido entre los patrones encontrados con los de la base de datos y las distancias existentes entre ellos.

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

59

Segmentacin basada en homogeneidad


Zonas Planas
Operadores conexos para conjuntos
Un operador es conexo si solo preserva o elimina componentes conexas, pero no las divide. Interactan con la imagen por medio de zonas planas, preservando contornos

Particin del espacio


Una familia de conjuntos es una particin del espacio si son dos a dos disjuntos y su unin da el espacio. Una particin del espacio, P se dice ms fina que otra Q (y se escribe como P < Q) si dos puntos que pertenecen a una misma regin Pi P , tambin estn en una misma regin Qj :
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

60

Operadores Conexos

Un operador actuando sobre conjuntos es conexo si y solo si, para cada familia de conjuntos A, A <(A) Los operadores conexos son interesantes porque simplifican la imagen sin introducir nuevos contornos. Ejemplo:
El operador que elimina todas las componentes conexas con rea menor a un umbral dado es un operador conexo. Cuando una regin (componente conexa) es eliminada todos sus elementos son asignados a la regin vecina ms cercana".

Imagen original (433 x 405 pxeles)

Supresin de regiones con menos de 100 pxeles 61

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Supresin de regiones con menos de 300 pxeles

Supresin de regiones con menos de 800 pxeles


62

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Segmentacin basada en homogeneidad

Crecimiento de regiones

Son mtodos de abajo-arriba:


Parte de unos puntos o semillas Incluye en la misma regin pxeles vecinos con caractersticas (nivel de gris, textura, color) similares Contina hasta que todos los pxeles se han asignado a uno de los puntos de partida

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

63

Principio de operacin
Asociacin de pxeles, a partir de un pxel inicial o raz, con los pxeles vecinos que tengan las mismas propiedades, por ejemplo, niveles de gris, color, etc. Por ejemplo, a partir de la siguiente subimagen, 0 0 5 6 7
1 0 2 0 1 [1] 0 1 5 6 7 5 8 [7 ] 6 6 7 7 6 5

representada por una matriz, es necesario efectuar una particin en dos regiones, A y B, segn la propiedad: |p-q|<T, es decir, un umbral con respecto a los niveles.

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

64

Si se toma un umbral T=3:


A A A A A A B A B A B A B A B B B B B B B B B B B

En este caso, no importa como se escogen las semillas en cada regin.

Sin embargo, la seleccin del valor del umbral T es ms importante. Si T=8, se obtiene una sola regin:
A A A A A A A A A A A A A A A A A A A A A A A A A
65

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Ejemplo sinttico:

Semilla

Durante crecimiento

Resultado final

(Propiedad de color idntico)


Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

66

Segmentacin por watershed


Watershed es un mtodo de
crecimiento de regiones Interpreta las regiones como zonas de influencia de los mnimos locales de intensidad. Procedimiento:

Original

Gradiente

Mnimos regionales

Inundacin de una cuenca a partir de la adyacente Construccin de una presa en los lugares donde el agua procedente de dos mnimos contiguos se fusionan Matlab: J=watershed(I)
67

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Problemas del watershed


El ruido y la textura introducen sobresegmentacin.

Solucin:
Marcar las zonas que deseamos que sean mnimos regionales Watershed con marcadores.

Original+ruido Original Mnimos regionales


68

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Watershed con marcadores


Partimos de una imagen gradiente, donde se han seleccionado los marcadores. Cada marcador identifica un objeto.
Et1 Et2 Et3

El algoritmo propaga las etiquetas hasta que stas alcanzan una lnea de cresta.

Inconvenientes
No es trivial encontrar buenos puntos de partida Difcil de automatizar
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

69

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

70

Etiquetado
Terminologa:
Fondo
corresponde a las regiones de la imagen que no interesan. Se les suele asignar la etiqueta 0, y las representaremos con un nivel cero en la capa de segmentacin.

Primer plano
determina los pxeles de la imagen que corresponden a objetos de inters.

Etiqueta
nmero que identifica a cada pxel, indicando a qu objeto pertenece.

Vecindad
determina si dos pxeles son o no vecinos (adyacentes).
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

71

Segmentacin de Imgenes

Objetos

Vecindad: Dos tipos


Vecindad a 4:
Slo se consideran puntos conectados en direcciones perpendiculares (izquierda, derecha, arriba, abajo).

Vecindad a 8:
Tambin se toman en cuenta los puntos adyacentes en diagonal

Conectividad:
Dos pxeles con la misma etiqueta, c, estn conectados si existe un camino de uno al otro a travs de pxeles vecinos con la misma etiqueta.

Objeto
Conjunto de puntos que se conectan entre s: existe una trayectoria conectada (continua) entre cualesquiera dos puntos pertenecientes al objeto.
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

72

Objetos y vecindades:

Paradojas de vecindad:
Vecindad a 8: Vecindad a 4:

La nocin de objeto est ligada a la vecindad utilizada. La imagen contiene un objeto, o 4, segn consideremos vecindad a 8 o a 4, respectivamente.

Un anillo no encierra una regin: exterior e interior permanecen conectados !! 4 objetos desconectados crean un agujero aislado del exterior.

La paradoja puede resolverse considerando vecindades a 8 para objetos y a 4 para el fondo, o viceversa.
Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

73

Etiquetado de imgenes binarias:


Suponiendo dos niveles
Nivel 1 (primer plano) Nivel 0 (fondo)

el etiquetado consiste en identificar grupos conexos de pxeles de primer plano, asignndole a cada uno de ellos una etiqueta diferente.

Segmentacion (vecindad a 8)

Matlab: L=bwlabel(I,N); N= 4 8

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

74

Bibliografa
Digital Image Processing, Rafael C. Gonzlez, Ed.
Prentice Hall, 2nd edition.

Fundamentals of Digital Image Processing, Anil K.


Jain, Ed. Prentice Hall, 1989.

The image processing handbook, John C. Russ, 2nd

ed, CRC Press , cop. 1995 http://www.cs.technion.ac.il/Labs/Isl/Project/Projects _done/VisionClasses/Vision_1999/Hough/ http://www.dai.ed.ac.uk/HIPR2/hough.htm

Jos Luis Alba - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

75