analisis de imagenes

75
Métodos de análisis de imágenes Extracción de características Autores: José Luis Alba - Universidad de Vigo Jesús Cid - Universidad Carlos III de Madrid Inmaculada Mora - Universidad Rey Juan Carlos Ultima revisión: marzo de 2006

Upload: carlos-carranza

Post on 19-Jan-2016

14 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Analisis de Imagenes

Métodos de análisis de imágenes

Extracción de características

Autores:José Luis Alba - Universidad de Vigo

Jesús Cid - Universidad Carlos III de MadridInmaculada Mora - Universidad Rey Juan Carlos

Ultima revisión: marzo de 2006

Page 2: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 2

Índice

Análisis de ImágenesSegmentación de Imágenes

Segmentación basada en característicasSegmentación basada en transicionesSegmentación basada en modelosSegmentación basada en homogeneidad

EtiquetadoBibliografía

Page 3: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 3

Análisis de imágenesAnálisis de imágenes

Operaciones puntuales y de vecindad:

f(.)

• Análisis de imagen:

f(.)g(.)h(.)

{características}descripción

interpretación

comprensión

reconocimiento

Page 4: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 4

Extracción de características

Adquisicion,Realce

restauración

Segmentación

Extracción decaracterísticas

Reconocimiento,Clasificacióninterpretación

BASE DE CONOCIMIENTO

Imagen

Esquema general de un sistema para el análisis de imágenes

Sistema de análisis de imágenes

Page 5: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 5

Segmentación: División de la imagen en regiones con características similares.Cada una de las regiones de interés (que comparten ciertas propiedades) se denomina objeto.Resultado de la segmentación: separación de objetos.

Etiquetado:Para diferenciar los objetos, éstos tendrán asignadas unas etiquetas.

Segmentación Etiquetado

Page 6: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 6

Aplicaciones:Visión artificialTeledetecciónCompresiónInspección industrialAnálisis de imágenes médicasGestión de información multimedia

http://caddlab.rad.unc.edu/publications/Tutorials/Summer-02/segmentation.ppt

Page 7: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 7

Las técnicas de segmentación son muy dependientes del propósito de la aplicación y del tipo de imágenes a analizar.

Antes de segmentar es preciso definir qué objetos interesa determinarTras la segmentación es posible realizar operaciones de filtrado (a nivel de objetos), así como determinar características que permitan clasificar los objetos.Una buena segmentación es difícil de evaluar.

Fundamentalmente, lo que se busca es que diferentes objetos tengan valores claramente diferentes de la(s) característica(s) discriminante(s).

Segmentación de imágenesSegmentación de imágenes

Page 8: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 8

Tipos de segmentación:

Segmentación basada en característicasSegmentación por niveles de grisSegmentación de imágenes en colorSegmentación por texturas

Segmentación basada en transicionesDetección de bordes

Segmentación basada en modelosTransformada de Hough

Segmentación basada en homogeneidadFusión de regionesZonas planasPropagación de Marcadores

Segmentación basada en Morfológica Matemática

Page 9: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 9

Segmentación basada en características

Se asigna cada píxel a una región en función de características locales de la imagen en el píxel y (posiblemente) en su vecindad.

SegmentaciónExtracción de características

Page 10: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 10

Utiliza como característica solamente la luminancia de cada píxel.Útil si distintos objetos se corresponden con niveles de gris diferentes.

El nivel de gris determina alguna propiedad física en una imagenespecífica de una aplicación (Rayos X, RMN, bandas en satélite, etc)

Técnicas de operaciones puntuales (ej: doble umbralización)Técnicas de clasificación basada en amplitud imagen binaria

Segmentación basada en característicasSegmentación por niveles de gris

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

Page 11: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 11

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.

Para separar por umbral, es útil recurrir al histograma.

Extracción de luminancia

Segmentaciónpor umbral

Page 12: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 12

Segmentación por Histograma: Picos: a menudo indican la presencia de zonas homogéneasValles: establecen los umbrales de separación

Problemas: Objetos con un amplio rango de niveles de grisFondo no uniforme, …Imagen con ruido

u = 130

Segmentación por umbral, u

u = 70

u = 170

Page 13: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 13

Al aplicar un umbral, u, se genera una partición de la imagen mediante

Esto equivale a definir el conjunto (en este ejemplo, de nivel inferior):

Este conjunto produce una división del espacio. La cantidad de componentes conexas de Lu determinan el número de regiones.

⎭⎬⎫

⎩⎨⎧

>≤

=uyxIuyxI

yxL),(,0),(,1

),(

{ }uyxIyxLu <∈= ),(/),( Ω

Page 14: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 14

UmbralizaciónMétodo automático para separar objeto del fondo: Otsu

Cálculo del histograma de grisCálculo iterativo de media y varianzaHipótesis de umbral U divide el histograma en dos partes y se calcula media y varianza para cada parte iterativamentecambiando U.

Medimos la varianza conjunta:

)())1(()1(

1)1(

);()1(

1)1(

);()1(

1

02

11

21

1

01

1

1

01

xptmxtw

t

xpxtw

tm

xptw

uU

x

uU

x

uU

x

∑∑

=

=

=

+−+

=+

+=+

=+

σ )())1(()1(

1)1(

);()1(

1)1(

);()1(

1 22

2

22

1

22

12

xptmxtw

t

xpxtw

tm

xptw

uL

Ux

uL

Ux

uL

Ux

∑∑

=

=

=

+−+

=+

+=+

=+

σ

⎩⎨⎧

==

→Ψ−=

ambos entre está siambos entre está no si0

gris de niveles dos para :ej

umbral del calidad"" la Mide

2

22

UDUD

UD

σ

σ

+++++=Ψ )1()1()1()1( 222

211

2 ttwttw σσ

Page 15: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 15

Matlab: level = graythresh(I); %utiliza el método de Otsu

BW=im2bw(I,level)

Page 16: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 16

u = 150

Segmentación por umbral

u = 140

La determinación del umbral óptimo para una imagen dada es un factor crítico de la segmentación.Conociendo las distribuciones de luminancia propias de cada objeto en la imagen, el umbral óptimo puede estimarse mediante consideraciones estadísticas.Sin embargo, puede haber limitaciones: si las distribuciones están solapadas, ningún umbral aplicado directamente sobre la luminancia de la imagen puede obtener una segmentación libre de errores

u = 170

Page 17: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 17

Puede mejorarse la segmentación realizando un preprocesado previo de la imagen.

Segmentac. por umbral

Filtro de media

Filtro de mediana

Segmentac. por umbral

Diferencia

+

-

Page 18: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 18

Segmentación basada en característicasSegmentación de imágenes en color

Es posible segmentar una imagen en color utilizando umbrales.

Para ello, se presentan dos alternativas:

R

G

B

Segmentacionpor umbral

Segmentacionpor umbral

Segmentacionpor umbral

Combinación Imagensegmentada

R

G

B

Segmentacionpor umbralCombinación Imagen

segmentada

Page 19: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 19

Combinación de segmentaciones:La combinación de los resultados de la segmentación de cada componente por separado suele ser subóptima, porque limita severamente la partición del espacio de colorP. ej: la combinación de las segmentaciones de las componente R y G impone una partición en rectángulos (véase figura).

Histogramas 2 y 3DEn distribuciones como las de la figura, las distribuciones de los objetos no parecen separables mediante fronteras paralelas a los ejes.

Combinaciones linealesEn algunas imágenes se pueden combinar linealmente las componentes de color y crear una única característica a partir de la cual segmentar¿Cómo obtener la combinación lineal óptima? A partir de la descomposición en componentes principales.

R

G

uR

uG

Page 20: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 20

wR

wB

Segmentación basada en característicasAnálisis por componentes principales

Combinaciones lineales:Transforman las componentes R, G y Ben 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), ces la proyección ortogonal de f sobre la recta en dirección w. wR

wB

Page 21: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 21

Cálculo de la componente principal:(1) Se calcula la media de toda la imagen

(2) Se calcula la matriz de varianzas de color

(3) Se calculan los autovalores y autovectores de dicha matrizLos autovalores de la matriz de covarianza indican la varianza en la dirección de los correspondientes autovectores.

Indican la proporción de la información original que contiene esanueva característica

El autovector dominante (es decir, el de mayor autovalor) indica la orientación preferente de la distribución global.

Debe tomarse w igual al autovector dominante, de modo que

( )∑∑= =

=N

x

M

y

yxMN 1 1

,1 ff

( )( ) ( )( )∑∑= =

−−=N

x

M

y

TyxyxMN 1 1

,,1 ffffS

( )yxc T ,fw=

Page 22: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 22

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)

Combinación lineal óptima:C = 0.78 R + 0.58 G + 0.23 B

Histograma de la componente principal

Page 23: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 23

Segmentación basada en característicasSegmentación por agrupamiento

Agrupamiento (clustering)Útil cuando no se conocen las características de las regiones que buscamos o, incluso, si no se sabe cuántas categorías hay.Fundamento:

Cada región del espacio de características se define mediante un patrón o centroide.Cada vector de características se asigna a la región del centroide más próximo.

Page 24: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 24

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 aplicaría a cada clase por separado)Algoritmo K-medias (K-means):

Tomar K datos aleatoriamente dentro del margen dinámico del conjunto de diseño (pueden ser del propio conjunto o no)Asignar cada dato del conjunto a uno de los K representantes anteriores mediante la regla de mínima distancia:

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

Volver a asignar todos los datos a sus nuevos representantes y repetir hasta que no haya cambios de asignación (convergencia segura).

∑∈

=""

1

ivvii v

Nv

iji vvKjiijvvvv nte"representa al asigna se" ,1 ; |||| |||| ⇒≤≤≠∀−<−

Page 25: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 25

simulación del algoritmo K-means

Page 26: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 26

Si no se conoce el número de grupos, se procede iterativamente:División de regiones

1. Se define una partición inicial, con 2 centroides.2. Se aplica un algoritmo de agrupamiento (p.ej.: k-medias)3. Se define un criterio de homogeneidad para determinar dónde

separar regiones vecinas.4. Si no se satisface un criterio de parada, se dividen regiones

vecinas menos homogéneas y vuelve a 2.(al crear un nuevo grupo, se elige como centroide la muestra más distante del centroide del grupo original)

Algunos algoritmos combinan procesos de fusión y división de regiones¿Cuándo se detiene el algoritmo?

Page 27: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 27

Ejemplo: División sucesiva de regiones

Page 28: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 28

Número de iteraciones

Criterio de parada:Mínimo de

(varianza media de cada región) x (nº de regiones)

Segmentacion final:

Page 29: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 29

Segmentación basada en característicasSegmentación basada en texturas

Textura:Modelo o estructura de la imagenQueda caracterizada por relaciones entre píxeles, no por píxeles aislados.

Análisis de texturasSe utilizan filtros, operadores locales. Su salida es la característica utilizada para segmentar.Se pueden encontrar varios tipos de textura: con distintos intervalos de brillo, diferentes frecuencias espaciales y diferentes orientaciones.

Page 30: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 30

La utilización de varios filtros permite formar patrones de características.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

Page 31: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 31

Histograma localizado:

Pueden obtenerse parámetros de textura a partir del histograma calculado con los píxeles en una región localizada de la imagen (por ejemplo, en la vecindad de un píxel).

))((log)()])((log[ :Entropía

)(||]|][[|ˆ :absolutos centrales Momentos

)()(]]}[[{ :centrales Momentos

)(||]|[|ˆ :absolutos Momentos

1,2,...i)(][ :Momentos

) totalespixelsnº

gris decon valor pixelsnº]P[u)( :o(recordand

21

02

1

0 1

1

0 1

1

0

1

0

xpxpxpEH

xpmxuEuE

xpmxuEuE

xpxuEm

xpxuEm

xxxp

uL

x uu

uL

xii

i

uL

xii

i

uL

xii

i

uL

xii

i

u

∑∑

∑∑

=

=

=

=

=

−=−=

−=−=

−=−=

==

===

≅=≡

μ

μ

Page 32: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 32

Los momentos más utilizados son:

Características relacionadas con el histograma de forma no lineal:

Mediana extrae un valor parecido a la media pero más robusto

Moda extrae el valor de gris más probable en el entorno localizado

datos losen outliers de influencia laextraer para3ˆ/:kurtosis

media la a respecto datos los de asimetríaextraer paraˆ/ :skewness

frecuencia baja :media energía o medio cuadráticovalor gruesos bordesextraer para :varianza

sfrecuencia bajasextraer para :mediafinos bordesextraer paraˆ :dispersión

414

313

2

2

1

1

→−

→→

→→

μμ

μμ

μ

μ

m

m

Matlab: J=medfilt2(I,[m n]); Matlab: J=medfilt2(I,[m n]);

Page 33: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 33

Matlab: J = blkproc(I,[m n],[mborder nborder],fun,...); % divide ‘I’ en bloques.

‘fun’: función 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 más rápido y distingue entre bloques separados o deslizantes.

Normalmente las regiones sobre las que se calculan las características se definen mediante una ‘ventana móvil’:

i

Elki

i

Elki

yxmlykxuN

yx

lykxuN

yxm

N

N

)],(),([1),(

]),([1),(

1),(

),(

−−−=

−−=

∑∑

∑∑

μ

Page 34: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 34

Extracción de características a partir de transformadas

Aplicación de una ‘máscara’ en el dominio transformado (normalmente en el dominio frecuencial):

En caso de utilizar la TF las máscaras más habituales son:Anillo circular detección de bordesRanura angular detección de orientación (θ θ+π/2)

También pueden utilizarse como parámetros los coeficientes de transformadas aplicada a subimágenes

TransformadaDirectaf(x,y)

Transformadainversa

F(u,v) G(u,v)

Máscara H(u,v)

g(u,v)

Page 35: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 35

Segmentación basada en transiciones

Los métodos de segmentación basada en transiciones aplican sobre la imagen, o sobre un plano de características, un detector de bordes. Las regiones se definen a partir de las fronteras delimitadas por los bordes detectados.Detección de bordes

Técnica general: medir el gradiente de la imagen ‘f ’ en una dirección determinada ‘θ ’ a lo largo de una recta ‘r ’:

gradiente vector del magnitud

borde deldirección tan

cos0

cos

22

*

**

→+=⎟⎠⎞

⎜⎝⎛

∂∂

→⎟⎟⎠

⎞⎜⎜⎝

⎛=⇒

+−==∂∂

∂∂

⇒⎟⎠⎞

⎜⎝⎛

∂∂

+=∂∂

∂∂

+∂∂

∂∂

=∂∂

yxmáx

x

y

yxmáx

yx

ffrf

ff

a

fsenfrf

rf

senffry

yf

rx

xf

rf

θ

θθθ

θθ

Page 36: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 36

A partir de la anterior definición surgen dos tipos de detectores de bordes:

Operadores de gradiente 2 direcciones ortogonalesOperadores de compás barrido de direcciones posibles para el máximo

Implementación en imágenes digitales máscaras

),(*),(),(),(hI,

originalimagen ;x máscara

nm, nmhnmInjmiIjih

Ipph

i j

−−=++≡><

→→

∑∑

Matlab: J = filter2(h,I); % realiza la correlación de ‘I’ con ‘h’

Se relaciona con conv2 mediante una rotación de 180º del filtro ‘h’

Page 37: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 37

Operadores de gradiente:se representa mediante dos máscaras h1 y h2 que miden el gradiente de la imagen I(x,y) en dos direcciones ortogonales.

Umbral: histograma acumulado de f(x,y) quedarse con el 5-10%Aproximaciones rápidas: f(x,y) = |f1(x,y)| + | f2(x,y)|

máscaras de Roberts, Prewitt, Sobel

f1(x,y)z(x,y)

f2(x,y)⎟⎟⎠

⎞⎜⎜⎝

⎛=

+=

x

y

yx

ff

fff

arctan*

22

θ

umbral

{ }umbralnmfnmI

InmInm

nmz

g

g

g

>≡⎩⎨⎧

∉∈

=

),();,(

),(,0),(,1

),(

q(x,y)

Matlab: J = bwedge(I,‘método’); % detección de bordes en I con ‘método’

‘método’=‘sobel’,’prewitt’,’roberts’,’canny’

h1(-x,-y)I(x,y)

h2 (-x,-y)

Page 38: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 38

Operadores de compás:se mide el gradiente en número prefijado de direcciones:

θk=π/2+k π /4

hk(-x,-y)

I(x,y)fk(x,y)

z(x,y)

{ }|.|maxk umbral

θ(x,y)

θen resoluciónmayor Máscara

011101110

101101101

110101

011

111000111

↑⇒

⎥⎥⎥

⎢⎢⎢

⎡−−−

←⎥⎥⎥

⎢⎢⎢

−−−

⎥⎥⎥

⎢⎢⎢

−−−↑

⎥⎥⎥

⎢⎢⎢

−−−SOONON

Page 39: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 39

Operadores de Laplace:Cuando los bordes no son muy abruptos los operadores de gradiente no funcionan demasiado bien mejor derivadas de segundo orden.El más utilizado es el operador laplaciano:

que puede aproximarse mediante máscaras del tipo

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 continuación hacer el laplaciano para detectar bordes. Esta secuencia de operaciones es equivalente a aplicar un filtro que sea el laplacianodel filtro gaussiano: es el operador laplaciano generalizado, también denominado filtro LOG

2

2

2

22

yf

xff

∂∂

+∂∂

=∇

010141

010

⎥⎥⎥

⎢⎢⎢

−−−

Page 40: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 40

Operadores de Laplace y cruces por cero (cont):

e)(desenfoqu gaussiana la de ancho el controla máscara; la deión normalizac la asegura

2exp),( :discretaen

2exp

2exp),(

2

22

4

2222

2

2

4

222

2

22

σ

σσσ

σσσ

σ

C

nmnmCnmh

rrhyxyxh

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧ +

−⎟⎟⎠

⎞⎜⎜⎝

⎛ −+≡∇

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

−⎟⎟⎠

⎞⎜⎜⎝

⎛ −=∇⇒

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧ +

−=

Matlab: H = fspecial('gaussian',hsize,sigma)

H = fspecial(‘laplacian',alpha)

H = fspecial(‘log',hsize,sigma)

J=filter2(I,H)

Page 41: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 41

Segmentación basada en modelos

Las técnicas de segmentación basada en modelos presuponen conocidas algunas características de los objetos o regiones en la imagen: rectas, objetos circulares, etc.La transformada de Hough es una de las más utilizadas.

Page 42: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 42

Segmentación basada en modelosProyecciones

Permiten localizar objetosLas proyecciones que más interesan son:

Horizontales: sumando los niveles de los píxeles de cada línea horizontal

Verticales: sumando los niveles de los píxeles de cada línea vertical

( ) ( )∑−

=

=1

0

,M

x

yxfyH

( ) ( )∑−

=

=1

0

,N

y

yxfxV

Page 43: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 43

Segmentación basada en modelosTransformada de Hough (TH)Transformación de dominio para encontrar curvas paramétricas en una imagen (binaria o de grises).

El nuevo espacio transformado se denomina espacio de Hough. Para ajustar distintos tipos de formas se usan distintos espacios de Hough.

Objetivo de la TH: Transformar un problema de detección de patrones en un problema de detección de máximos en el espacio de Hough.

Ventaja principal de la TH: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 haría encontrando con la TH el elemento más circular de la imagen

Page 44: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 44

Técnica para detectar segmentos rectos en imágenes de grises.Usa la descripción paramétrica de formas geométricas: representación de una recta en coordenadas polares

Una recta a distancia ρj del origen y con orientación θi se representa como: La transformada de Hough de esta recta es un punto del plano (ρ, θ ).

θi

ρj

x

y

θ

ρ

(θi , ρj)

La TH lineal es una transformación de recta a punto

TH para segmentos rectos

θθρ sen cos yx +=

Page 45: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 45

A

B

C

Angulos (grados)

radios

AB

C

D

Angulos (grados)

radios

A

BC

D

x

y

A

B

C

x

y

Espacio Imagen Espacio Hough

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 parámetros de la línea.

TH de un punto

Page 46: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 46

Líneas paralelas y perpendiculares Transformadas de Hough de (a)

Identificación de segmentos paralelos y perpendicularesUna recta en el espacio cartesiano (x,y) se representa por un punto (θ,ρ) en el dominio de Hough.

Page 47: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 47

Implementación: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 resolución del dominio de Hough.

Matriz acumuladora:Cuantificación del plano de parámetros en celdillas acumuladorasTH de una Imagen binaria: cada celdilla indica el número de píxeles que componen el segmento rectoSi la imagen no es binaria, la cuenta de píxeles debe ponderarse por el nivel de intensidad.

θθρ sincos yx +=

Page 48: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 48

Algoritmo de la TH (Imagen binaria)Inicialización de la matriz acumuladora a cerosPara cada píxel de la imagen con nivel distinto de cero

Para cada valor de θ se determina el valor de ρ

Se incrementa la posición (θ, ρ) de la matriz en 1

Al finalizar, cada celdilla indica el número de píxeles que forman una recta con esos parámetros (θ, ρ)

θθρ sincos yx +=

Page 49: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 49

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

Transformadade Hough

Page 50: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 50

Ejemplo

Detecciónde bordes

Transformadade Hough

Page 51: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 51

Ejemplo de segmentación mediante TH (Imagen binaria)A partir de la transformada, es posible seleccionar los puntos de la recta de interés. Para ello

Se seleccionan los parámetros (θ, ρ) de interésPara cada píxel de la imagen original, y para el valor de θ a filtrar, se calcula el ρ correspondiente y se mantiene el píxel si coincide con el valor de ρρ.

Ejemplo: Detección de una carretera en una imagen aéreaDada una imagen, se pretende encontrar un sub-conjunto de píxeles de la misma que se encuentran sobre una línea recta con una determinada característica (orientación, número de píxeles, ...).

Aumento del contraste

Filtrado paso alto

Page 52: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 52

Producto punto a punto (FPA, contrastada)

Transformada de Hough

Filtrado a partir del máximo de la TH

Localización de la carretera en la Imagen

Page 53: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 53

Otras Transformaciones de dominioEjemplo: encontrar, mediante la transformada de Houghpara curvas, el círculo central de un campo de fútbol para, posteriormente, introducirle una imagen publicitaria.

Technion - Israel Institute ofTechnology Computer ScienceDepartment Intelligent SystemsLaboratory

Page 54: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 54

Page 55: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 55

Método General1. Determinar la ecuación correspondiente al rasgo que

queremos buscar, así como los parámetros en función 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

P.e: puntos de la frontera bordes3. Discretización del espacio de búsqueda (para que las

contribuciones de cada píxel se puedan acumular en celdillas).

4. Cálculo de la Transformada de HoughImágenes binarias: todos los píxeles contribuyen por igualImágenes de grises: los píxeles con mayor nivel presentan mayor contribución

5. Filtradodeterminar los valores de los parámetros cuya característica se desea filtrar en el espacio original

Page 56: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 56

VentajasCada píxel de la imagen se procesa de modo independiente, lo que facilita su implementación en paralelo.La transformada “general” de Hough es útil para la detección de formas complejasEs capaz de reconocer patrones ligeramente deformados, ocultos o discontinuosRobusta frente al ruidoPermite buscar simultáneamente todas las ocurrencias de un patrón

InconvenientesTiempo y memoriaNo ofrece respuesta absoluta, sino un índice de probabilidad de que cada una de las formas posibles sea la buscada

Page 57: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 57

lca

Algunas aplicacionesProcesamiento de imágenes aéreas: la TH se aplica en identificación y localización de estructuras en imágenes aéreas (pe: carreteras, edificios, vehículos, etc).Biometría: identificación del iris y huellas dactilaresDetección de rasgos faciales, gestosSeguimiento de objetosProcesos de fabricación: detección de defectos, etc

Page 58: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 58

Ejemplo: Identificación de huellas dactilares

Se usa una variante de la TH que nos permite encontrar ocurrencias de formas irregularesComo parámetros, se usa el ángulo de rotación y la traslación del patrón buscado sobre la imagenPara determinar una huella, se buscan ocurrencias de tres tipos de patrones característicos de cada huella

A: ExtremoB: BifurcaciónC: Bucle

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

Page 59: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 59

• 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 identificación positiva si se alcanza un nivel de semejanza determinado entre ambas imágenes en función del parecido entre los patrones encontrados con los de la base de datos y las distancias existentes entre ellos.

Page 60: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 60

Segmentación basada en homogeneidad

Zonas Planas Operadores conexos para conjuntos

Un operador es conexo si solo preserva o elimina componentes conexas, pero no las divide.Interactúan con la imagen por medio de zonas planas, preservando contornos

Partición del espacioUna familia de conjuntos es una partición del espacio si son dos a dos disjuntos y su unión da el espacio.Una partición del espacio, P se dice más fina que otra Q(y se escribe como P < Q) si dos puntos que pertenecen a una misma región Pi ∈ P , también están en una misma región Qj :

Page 61: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 61

Operadores ConexosUn 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 región (componente conexa) es eliminada todos sus elementos son asignados a la región vecina “más cercana". Supresión de regiones con menos de

100 píxeles

Imagen original (433 x 405 píxeles)

Page 62: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 62

Supresión de regiones con menos de 800 píxeles

Supresión de regiones con menos de 300 píxeles

Page 63: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 63

Segmentación basada en homogeneidadCrecimiento de regiones

Son métodos de abajo-arriba:Parte de unos puntos o semillasIncluye en la misma región píxeles vecinos con características (nivel de gris, textura, color) similaresContinúa hasta que todos los píxeles se han asignado a uno de los puntos de partida

Page 64: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 64

Principio de operación Asociación de píxeles, a partir de un píxel inicial o raíz, con los píxeles vecinos que tengan las mismas propiedades, por ejemplo, niveles de gris, color, etc.Por ejemplo, a partir de la siguiente subimagen,

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

[ ] [ ]

5651066702776107851176500

Page 65: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 65

Si se toma un umbral T=3:

En este caso, no importa como se escogen las semillas en cada región.

Sin embargo, la selección del valor del umbral T es más importante. Si T=8, se obtiene una sola región:

BBBAABBBAABBBAABBBAABBBAA

AAAAAAAAAAAAAAAAAAAAAAAAA

Page 66: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 66

Semilla Durante crecimiento Resultado final

(Propiedad de color idéntico)

Ejemplo sintético:

Page 67: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 67

Segmentación por watershed

Watershed es un método de crecimiento de regionesInterpreta las regiones comozonas de influencia de losmínimos locales de intensidad.Procedimiento:

“Inundación” de una cuenca a partir de la adyacente“Construcción de una presa” en los lugares donde el agua procedente de dos mínimos contiguos se fusionan

Original Gradiente

Mínimos regionales

Matlab: J=watershed(I)

Page 68: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 68

Problemas del watershedEl ruido y la textura introducen sobresegmentación.

Solución: Marcar las zonas que deseamos que sean mínimos regionalesWatershed con marcadores.

Mínimos regionales

Original+ruido

Original

Page 69: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 69

Watershed con marcadoresPartimos de una imagen gradiente, donde se han seleccionado los marcadores. Cada marcador identifica un objeto.

El algoritmo propaga las etiquetas hasta que éstas alcanzan una línea de cresta.

InconvenientesNo es trivial encontrar buenos puntos de partidaDifícil de automatizar

Et1 Et2 Et3

Page 70: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 70

Page 71: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 71

EtiquetadoEtiquetadoTerminología:

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 segmentación.

Primer plano determina los píxeles de la imagen que corresponden a objetos de interés.

Etiqueta número que identifica a cada píxel, indicando a qué objeto pertenece.

Vecindad determina si dos píxeles son o no vecinos (adyacentes).

Page 72: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 72

Segmentación de ImágenesObjetos

Vecindad: Dos tiposVecindad a 4:

Sólo se consideran puntos conectados en direcciones perpendiculares (izquierda, derecha, arriba, abajo).

Vecindad a 8: También se toman en cuenta los puntos adyacentes en diagonal

Conectividad:Dos píxeles con la misma etiqueta, c, están conectados si existe un camino de uno al otro a través de píxeles vecinos con la misma etiqueta.

ObjetoConjunto de puntos que se conectan entre sí: existe una trayectoria conectada (continua) entre cualesquiera dos puntos pertenecientes al objeto.

Page 73: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 73

Objetos y vecindades:La noción de objeto está ligada a la vecindad utilizada.La imagen contiene un objeto, o 4, según consideremos vecindad a 8 o a 4, respectivamente.

Paradojas de vecindad:Vecindad a 8:

Un anillo no encierra una región: ¡¡ exterior e interior permanecen conectados !!

Vecindad a 4: 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.

Page 74: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 74

Etiquetado de imágenes binarias:Suponiendo dos niveles

Nivel 1 (primer plano)Nivel 0 (fondo)

el etiquetado consiste en identificar grupos conexos de píxeles de primer plano, asignándole a cada uno de ellos una etiqueta diferente. Segmentacion (vecindad a 8)

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

Page 75: Analisis de Imagenes

José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 75

Bibliografía

Digital Image Processing, Rafael C. González, 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. 1995http://www.cs.technion.ac.il/Labs/Isl/Project/Projects_done/VisionClasses/Vision_1999/Hough/http://www.dai.ed.ac.uk/HIPR2/hough.htm