Segmentación. Qué vemos? La información visual llega a la retina de manera local y...

Post on 11-Apr-2015

105 views 2 download

Transcript of Segmentación. Qué vemos? La información visual llega a la retina de manera local y...

Segmentación

Qué vemos?

• La información visual llega a la retina de manera local y “discreta”: conos y bastones sensibles a fotones reflejados por los objetos.

• Un buen “modelo” son las imágenes digitales: f(x) R definido en un dominio

• Modelo más general: datos multidimensionales.

Pero “vemos”estructura...

• Los “datos”del ingeniero (o del sistema biológico) son muy distintos de las imágenes en sentido artístico, semántico o perceptual.

• Vemos estructura!

Ejemplos de imágenes

• Huellas

• madera

• arte

• lena

• etc.

Pregunta

• Cómo pasar de los datos sin estructura a la imagen perceptual estructurada?

• Los sicólogos de la escuela de la Gestalt intentaron responder a esta pregunta en los años 20-30 del siglo pasado.– Kanisza.ppt

Marr

• Los psicofísicos de los 60 intentaron responder a esta pregunta: Midieron cuanto era percibido en los primeros milisegundos luego de llegar la imagen a la retina.

• En los años 60-70 los ingenieros intentaron el camino de la “visión artificial”: contexto de los sensores exteroceptivos.

• Marr.ppt

El problema de la segmentación

• Dada una imagen digital encontrar una partición en regiones homogéneas y sus fronteras.

• Se supone que las regiones homogéneas son objetos perceptualmente significativos y los bordes sus límites.

Sería una máquina geométrica?

• Los gestaltistas y psicofísicos coinciden en que:– El proceso de segmentación funciona en las

primeras etapas de la visión.– El proceso es independiente de modelos a priori

o de procesos de aprendizaje.– Aparentemente sería una máquina

geométrica.

Dos aproximaciones...

• Discontinuidad de características:– líneas, bordes.

• Regularidad de características:– regiones.

• Son dos aspectos del mismo problema

Parámetros

• Buscamos que el algoritmo tenga “pocos” parámetros y que sean “intuitivos”.

• Dos parámetros “aceptables”:– Qué es borde y qué es ruido? -> un umbral– Escala: qué detalles significativos?

Análisis multiescala

• Dada una imagen definida en un dominio .

• Generar una secuencia de imágenes simplificadas cada vez más grosera conforme aumenta .

• Los detalles y bordes permanece si su “escala” es mayor que

)(xu

)(0 xu

Propiedades que debe cumplir

• Fidelidad: cuando

• Causalidad: solo depende de si

• Invariancia euclidiana: Si A es una isometría:

• Causalidad fuerte (para detección de bordes): si

)()( 0 xuxu 0

)( 01 us

)( 0us

AusAus )()( 00

1

1 KK 1

Aproximación lineal

• Hildreth, Marr, Witkin, Koenderink...• Marr hablaba del primal sketch (esbozo

primario en bruto).• Convolucionar la imagen con “detectores

locales de borde”, detectar, filtrar y agrupar las respuestas.– Cambio de signo del laplaciano.– Extremas del gradiente.

Detección de bordes.

• Un borde definido como el límite entre dos regiones con propiedades diferentes.

• A veces se puede modelar como una discontinuidad en el nivel de gris (en este caso la propiedad de cada región está representada por el nivel de gris).

• La derivada local da cuenta de estas variaciones.

Imagen

Perfil

1ra. derivada

2da. derivada

Tomado de Gonzales y Wintz. Digital Image Processing.

bordes...

• La primera derivada indica la presencia de un borde.

• El signo de la 2da.derivada indica si un pixel pertenece a la parte “oscura” o “clara” del borde.

• ¿Donde está el borde?

Gradiente

• Operador asociado a la 1ra. derivada.

• El gradiente de una imagen está formado por un campo de vectores asociados a cada pixel. El módulo de cada vector da cuenta de la variación de intensidad y la dirección da cuenta de la dirección principal de esa variación.

Aproximar el operador

• Aproximación discreta: Sobel, Prewitt, etc.

• FIR: Canny

• IIR: Deriche

Suavizado previo

• Las derivadas amplifican el ruido.

• La idea es filtrar previamente con un pasabajos: se suaviza en una dirección y se deriva en la dirección perpendicular.

Máscaras.

• Se utilizan máscaras que recorren la imagen ponderando a los vecinos. El valor del pixel en la imagen de salida es la suma de los productos de los coeficientes de la máscara por el valor del pixel homólogo en la imagen de entrada.

w1

w4

w7

w2

w5

w8

w3

w6

w9

x

x1

x4

x7

x2

x5

x8

x3

x6

x9

P(i,j) =

i

j

máscara vecinaje 8

Expresado vectorialmente.

• Para una ventanas de orden m, se trabaja con vectores de dimensión n=2m+1.

• Para cada pixel de la imagen de entrada se obtiene un valor en la salida según:

n

i iixw0

Detección de puntos aislados.

• En zona homogénea = 0.• Centrado en un punto aislado > 0.• Definición de un umbral.

-1

-1

-1

-1

8

-1

-1

-1

-1

Prewitt

Máscaras para calcular Gx y Gy:

-1

0

1

-1

0

1

-1

0

1

-1

-1

-1

0

0

0

1

1

1

Prewitt

• Filtro pasabajos promediador: Pasamos una máscara en cada fila 1/3(1 1 1)

• Derivada por columnas1/2 (-1 0 1)

)33

(

)33

(

74196321

32198721

xxxxxxG

xxxxxxG

y

x

Sobel

Máscaras para calcular Gx y Gy:

-1

0

1

-2

0

2

-1

0

1

-1

-2

-1

0

0

0

1

2

1

Sobel

• Filtro pasabajos más suave: Pasamos una máscara en cada fila 1/4(1 2 1)

• Derivada por columnas1/2 (-1 0 1)

)4

24

2(

)4

24

2(

74196321

32198721

xxxxxxG

xxxxxxG

y

x

Gradiente

x

y

yxyx

y

x

GG

GGGGyxf

G

G

y

fx

f

yxfG

1-

22

tan= y)(x, :gradiente delDireccion

,G :gradiente del Magnitud

,

Operadores que implementan el gradiente

Operadores que implementan el gradiente

Operadores que implementan el gradiente

Operadores que implementan el gradiente

Qué hacer con el gradiente?

• Tengo en cada punto una aproximación de la dirección y el módulo del gradiente.

• Qué es ruido y qué información?– Relación con el soporte de la estimación del

gradiente.

• Bordes cerrados? Bordes contínuos?

La posición de los

bordes está definida

por el pasaje por cero

de la segunda derivada.

Laplaciano

• Operador asociado a la 2da. derivada.

2

2

2

22 ,

y

f

x

fyxf

Laplaciano

• Los bordes están en el cruce por cero del resultado de aplicar el operador.

• Curvas cerradas.

• No hay parámetro de cuan fuerte es el borde!

• Muy sensible al ruido.

• No da dirección.

Laplaciano

• La máscara más común:

0

1

0

1

-4

1

0

1

0

)(4),( 864252 zzzzzyxI

Laplaciano

-1 -1 -1-1 +8 -1-1 -1 -1

0 -1 0 -1 4 -1 0 -1 0

Laplaciano de la gaussiana

• Suavizar con una gausiana

• Pero:

• Se usa máscara basade en:

2

22

2),( yx

eyxg

22

24

222

2

),(

yx

eyxg

gIgI22

)(

Bordes en otras dimensiones...

• En 3D: discontinuidades en todas direcciones: superficies en vez de bordes.

• 2D+t: discontinuidades entre 2 imágenes sucesivas en el eje del tiempo por ejemplo.

• Etc...

Detectores de bordes: Canny.

• Modelo de borde: un escalón más ruido:

• Los bordes serían los máximos del resultado de la convolución del borde ruidoso con una función antisimétrica f(x).

i x Au x n x 1

dxxxfxIx 00

Criterios de Canny.

• Buena detección: Baja probabilidad de no detectar un punto de borde y baja probabilidad de marcar como borde un punto que no lo es. Maximizar la relación señal a ruido.

Buena detección.

• Llamemos f(x) a la respuesta impulsional del filtro y llamemos G(x) al borde centrado en x = 0. La respuesta del filtro al borde en su centro es:

• Para la clase de borde escalón:

• donde:

H G x f x dxGW

W

u xx

x

1

0 0

1 0

, ;

, ;

G x Au x 1

Buena detección.

• Lo que resulta en:

• La relación señal a ruido puede ser expresada como la relación entre la respuesta del filtro al borde y su respuesta al ruido:

H Af x dxGW

0

SNR

Af x dx

f x dx

AW

W

W

W

0 2 0

Buena localización.

• Buena localización: Los puntos marcados por el operador deben estar ubicados lo más cerca posible del centro del borde. El recíproco de la distancia media cuadrática del borde marcado respecto al centro del verdadero borde.

L

A f

f x dx

A

W

W

0 2 0

0

Respuesta única.

• Respuesta única a un borde. El detector debe dar una sola respuesta a un borde único.

• Limitar el número de picos en la ventana [-W,W]: la distancia media entre máximas adyacentes es el doble de los cruces por cero en la salida del operador.

Respuesta única.

• Utiliza una expresión del valor medio de la distancia entre cruces por cero de la respuesta de una función al ruido gaussiano para llegar a:

X KW

f x dx

f x dx

2

2

2

Canny

• Maximisar el producto bajo la exigencia de que el número de máximas locales sea fijo.

f

f x dx

f x dx

W

W

W

0

2

ff

f x dxW

W

0

2

Canny

• Obtuvo una forma teórica del filtro óptimo

• Con valores de performance:

• Observando la forma de ese filtro notó su similitud con la forma de la primera derivada de una gaussiana:

k 058. 112.

f xx

ex

22

22 k 051. 092.

2)cossin()cossin()(

4321

ñxaxaexaxaexh

xx

Suavizado?

• Se suaviza previamente con una gaussiana.

: desviación standard

• Se puede convolucionar con la derivada de la gaussiana:

22)( x

exG

GIGI

GIGI22 )(

)(

Deriche

• Canny trabajó con filtros a respuesta impulsional finita. Deriche continuó el análisis para filtros a respuesta impulsional infinita y obtuvo un filtro de la forma:

• Los índices de performance son:

f x cxe x

22

0 44 2 k .

Deriche

• Este operador es mejor que el de Canny y presenta un sólo parámetro que controla el ancho del filtro. Su ajuste permite jugar con la localización o la SNR. El máximo de f(x) esta en . Al aumentar aumenta la localización y baja la SNR.

x 1

Deriche. Implementación.

• 5 multiplicaciones y 5 adiciones por punto independientemente de la talla del filtro fijado por el parámetro.

y n x n b y n b y n n N

y n x n b y n b y n n N

y n a y n y n n N

a ce b e b e ce

e

1 1 2 1

1 1 2 1

1

21

1 2

1 2

1 22

2

, ,

, ,

, ,

Deriche. Implementación 2D.

• Se trata de un filtro IIR separable con un número fijo de operaciones por punto independientemente de la talla del filtro.

• Se filtran las imágenes por los filtros Ox y Oy para obtener los gradientes Gx y Gy.

• Se calcula el módulo y la dirección del gradiente.

• Segmentación por 2 umbrales con histéresis.

Deriche. Implementación 2D.

y m n x m n b y m n b y m n n NC m NL

y m n x m n b y m n b y m n n NC m NL

Gy m n a y m n y m n n NC m NL

r m n a y m n a y m n b r m n b r m n

n NC m NL

r m n a

, , , ,

, , , ,

, , ,

, , , , ,

,

1 1 2 1 1

1 1 2 1 1

1 1

1 1 2

1 1

1 2

1 2

0 1 1 2

,

,

,

,

2 3 1 21 2 1 2

1 1

1 1

y m n a y m n b r m n b r m n

n NC m NL

Gx m n r m n r m n n NC m NL

, , , ,

, , ,

,

,

Deriche. Implementación 2D.

G m n Gx m n Gy m n Gx m n Gy m n

m n anGy m n

Gx m n

e

e sinc

kc

k

a ce sin a a c sin

a a a c b e b e

G

, , , , ,

, arctg,

,

cos

cos

cos

2 2

2

1 2 2 2 2 2

0 1 1

2 1 3 2 2 222

c =1-2e

= c = -c e

- c b b

-

2 2-

2 1 1

NMS e histéresis

• Canny propuso criterios para diseño de un filtro óptimo (y para comparar detectores de borde!)

• Propuso también un “método de selección de los pixels del borde”

Supresión de no máximos

• Guardar puntos que sean máxinios locales en la dirección del gradiente.

1ji,I 1ji,I

1j,iI 1

1j,iI 1

1j,iI 1

1j,iI 1

j,iI 1

j,iI 1

Histéresis

• Elegir una escala y obtener Gx y Gy.

• Obtener la magnitud del gradiente

• Suprimir los puntos no máximos en la dirección del gradiente (normal al borde)

• Guardar ptunos con

• Agregar puntos conexos y con

h

L

Modelo lineal

• Hildreth, Marr, Witkin, Koenderink...

• Convolucionar la imagen con “detectores locales de borde”, detectar, filtrar y agrupar las respuestas.– Cambio de signo del laplaciano.– Extremas del gradiente.

Ecuación del calor

• Koenderink propuso la ecuación del calor como una forma de análisis multiescala:

• La solución es convolución con gaussianas de sigma variable.

),()0,,(

),,(),,(

0 yxIyxI

tyxItyxI t

0),,( IGtyxI tt

tyx

t et

G 4

22

4

1

Difusión Isotrópica

t, y, x G* y, x I t, y, x I0

• I0(x,y): imagen original con ruido

• G(x,y,t): Kernel gaussiano de varianza t

• I(x,y): imagen filtrada.

Interpretación:

Al variar t, la imagen de salida es la observación de la imagen original a una resolución dada.

Difusión Isotrópica

Espacio de Escalas

• Procesar la imagen con un banco de filtros con t creciente.

• Al aumentar t : suavizo más, difundo detalles, imagen a escala más gruesa.

• Köenderink y Witkin

Espacio de Escalas

Detector de borde aplicado sobre imagen con distintos grados de difusión isotrópica

Ecuación del calor

Interpretación: I(x,y,t) es una familia paramétrica que se puede obtener como la solución de aplicar la ecuación del calor a la imagen.

t, y, x G* y, x I t, y, x I0

) y, x( I ) O, y, x(I

I I t, y, x I t, y, x I

0

yy xx2

t

Ecuación del calor

• Permite resolver el problema de suavizado gaussiano con herramientas conocidas para la resolución de ecuaciones en derivadas parciales.

Y los criterios?

• En general los modelos lineales cumplen los criterios 1, 2 y 3 del análisis multiescala pero fallan en el 4to criterio: la causalidad fuerte.

• Basta mirar que a diferentes escalas los bordes “se mueven”.

• Esto es cierto incluso para el filtro “optimo” en el sentido de Canny.

Difusión anisotrópica

• Nuevo enfoque para la eliminación de ruido y por tanto para la detección de fronteras: Encontrar “ecuaciones del calor” con coeficiente de conducción variable.

Difusión anisotrópica

• Objetivo: – mejorar la imagen sin destruir bordes– suavizar dentro de las regiones limitadas por los

bordes pero no a través de ellos.

• Ecuación de difusión anisotrópica:

• c(x,y,t) = cte, difusión isotrópica

t y x I t y x c t y x It, , ) , , ( , ,

Difusión anisotrópica

• Objetivo: Comportamiento distinto si estoy en una región uniforme o en un borde:

c= 1 dentro de la región

c=0 en los bordes

t, y, x I )t, y, x(c t, y, x It

Estimación de bordes

• Problema: No conozco la posición de los bordes a cada escala. Necesito estimar.

• Necesito un descriptor de la presencia de un borde.

• Elección razonable: modulo del gradiente

t, y, x I g )t, y, x(c

Elección del coeficiente

t, y, x I g )t, y, x(c

0 s s

1 )s( g 0 )s( g

Detectores de bordes

• Detector de Leclerc:

• Privilegia bordes con alto contraste frente a los de pequeño

• Detector Lorentziano

• Privilegia grandes regiones sobre las pequeñas

2 k

2 I

e I g

2

2

k

I1

1I g

Detectores de bordes

Y los parámetros?

• La función g es una especie de umbral que antes estaba en el parámetro de qué tan fuerte es el módulo del gradiente...

• La escala está dada por el tiempo que dejo evolucionar la difusión.

Ecuación de Perona -Malik

• Si queremos suavizar ruido de una imagen necesitamos estimar la condición de parada de la ecuación. Elegir el t de forma que sea suficiente para eliminar ruido pero que no deteriore bordes.

• Existen criterios que permiten estimar la condición de parada.

I ) I ( gt

I

Discretización para la ecuación de difusión anisotrópica

t

ij N ij N j, i j, 1 i ij N

t

ij O O E E S S N Ntij

1 tij

I D g c I I I D

I D c I D c I D c I D c I I

Nitzberg y Shiota

• Propusieron una difusión con gausianas adaptativas con y dirección perpendicular a la dirección del gradiente en el punto.

I 1

Morel propuso

• Un término de difusión normal al gradiente.

• Un término que modula la velocidad de difusión en función de la fuerza del borde.

4

0

2

1)(

)0(

)()(

x

t

ecxG

II

II

divIIGfI

Búsqueda de regularidad

• Otro camino es buscar la regularidad de cierta característica.

• Nivel de gris

• Medidas de otro tipo sobre un soporte dado.

Umbrales

• Se trata de un método para detectar regiones, es decir continuidad.

• Se busca un valor de umbral T que permita dividir los elementos de imagen en 2 grupos:

Tyxf

Tyxfyxg

),( si 0

),( si 1),(

Detección automática de T

• El histograma permite estudiar algunas características de la imagen.

• Histograma multi-modal:

T

Iluminación no uniforme

• Puede producir efectos indeseables en una segmentación por umbrales dado el carácter global de la misma.

• Soluciones:– ir a un operador más local– estimar la iluminación no uniforme y

compensarla.

Cálculo de T óptimo

• Supongamos una imagen con 2 zonas de brillo. Se trata de estimar la función de densidad de probabilidad p(z) que es la mezcla de 2 densidades de probabilidad. Una para los pixeles claros y otra para los oscuros.

Umbral óptimo

niveles. dos los de priori a adesProbabilid:,

media. la a respecto standard Desviación :,

brillo de nivel de medios Valores :,

1

22)(

)()()(

21

21

21

21

2

)(

2

22

)(

1

1

2211

22

22

21

21

PP

PP

eP

eP

zp

zpPzpPzpzz

Umbral óptimo

• Si suponemos distribución gaussiana e iguales varianzas se puede obtener una expresión del umbral óptimo de la forma:

1

2

1

221 ln

2 pp

T

Segmentación de regiones

• Dividir la escena en n subregiones conexas tal que:

jiRRP

niRP

RR

RR

ji

i

ji

i

n

i

para FALSO)(

,...,2,1 para VERDADERO)(

j.i j,y i todopara 1

Regiones

• Las últimas 2 condiciones indican que la región cumple una propiedad y que los pixels de 2 regiones son distintas en el sentido de esa propiedad, que define la segmentación.

Regiones

• Estructura piramidal (quizas los pixels)• Un cirterio de aproximación• Unir regiones adyacentes si la aproximación es

similar• Dividir regiones con error de aproximación

grande.• Subir y bajar en la pirámide buscando bajar la

norma de la aproximación.– Ojo: relación de la altura en la pirámde con la escala.

0uui

Grafo de Adyacencia (RAG)

• Cada región un nodo, con sus propiedades.

• Los arcos representan las relaciones entre regiones con una distancia asociada.

1. Se define el RAG.2. Unir las regiones (nodos) más cercanas si la

distancia es menor a un umbral.3. Recalcular el RAG4. Volver a 2 hasta que no se puedan unir.

ejemplos

• En segmenta.pdf

Un modelo general de segmentación

• Morel y Solimini en “Variational Methods in Image Segmentation” proponen que todos los algoritmos de segmentación corresponden a un mismo modelo general: minimizar una “energía de segmentación”, esencialmente el funcional de Mumford y Shah

Energía de segmentación

– En el dominio sin los bordes:• Regularidad: aproximación por “trozos”.• Similitud: con la imagen original

– En los bordes:• Bordes regulares: El conjunto de discontinuidad de

“longitud” mínima.

• Minimizar la energía.

)()(),(\ \

22KlongdxgudxuKuE

K K

Introducir información a priori?

• A veces se conoce “algo”.

• Cuidado con “ver lo que se quiere ver”...

• Buscamos objetos de forma conocida.

• Sabemos que hay ciertas clases.

• Buscamos bordes con ciertas características.

Información global/local

• En ocasiones la información debe ser detectada utilizando un operador global: toda la imagen aporta a la detección.

• La Transformada Hough es un ejemplo de operador global.

Transformada Hough.

• Obtener el campo de gradientes de la imagen.

• Crear un espacio de acumulación en función de los parámetros de la función que se busca.

• Los máximos en el espacio de acumulación señalan la existencia de los objetos buscados.

Transformada Hough. Líneas.

• Una línea es definida como:

• La transformada Hough de esa línea es un punto en el plano .

• Discretizamos el espacio y para cada punto de la imagen calculamos su representación en el plano .

• Los máximos locales en son líneas.

s x ysin cos

s,

s,

s,

Transformada Hough. Líneas.

s i i,

s

s

y

x

Transformada Hough

• Círculos– 3 parámetros: 2 para el centro + radio

• Elipses

– 5 parámetros: centro, orientación, ejes mayor y menor.

• Ballard: Transformada de Hough generalizada.

20

20

2 )()( yyxxr

2

20

2

20 )()(

1yx ryy

rxx

Transformada de Hough

• Se trata de una forma de “Pattern Matching”• Se transforma un una búsqueda global en una

local en el espacio de parámetros.• Problemas: discretización en el espacio de

los parámetros.• Discretizar usando información de dirección

en el borde?

Ejemplos Transf. de Hough

• Pardo

Maximo a Posteriori

• En pardo hay ejemplos

Evolución de frentes

• Segmentar con cierta información a priori:– Curvas cerradas, de espesor 1, contínuas, “más

o menos regulares”

• Hacer evolucionar un frente de modo que minimice la funcional de Mumford-Shah u otra “energía de segmentación”:

)()(),(\ \

22KlongdxgudxuKuE

K K

Evolución de frentes

• Consideremos un frente (curva en 2D, superficie en 3D, hipersuperficie), que separa 2 regiones y que se mueve según una velocidad dada:

• La idea es seguir el frente cuando evoluciona en el tiempo e introducir en F “lo que buscamos”

Ftt

)(

Evolución de frentes

• En el caso de una curva plana. Podemos descomponer F en sus dos componentes:

• La componente tangencial no cambia la geometría de la curva. Nos interesa la componente normal. Siempre podemos parametrizar la curva para que la componente tangencial sea nula.

0)0,(

),(

CsC

NFTFtsC NTt

Evolución de frentes

• Trabajamos entonces con una velocidad:

• Donde:– L:propiedades locales del frente (Ej: k)– G:propiedades globales del frente (Ej: forma)– I: propiedades independientes del frente. Por

ejemplo asociadas a la imagen!

N I G L F t s t

) , , ( ) , (

Ejemplo

• La evolución de una curva según la curvatura local en la dirección normal la regulariza, va aun círculo, a un punto y desaparece.

NktsCt

),(

GAC

• Ejemplos en 2D

• Ejemplos en 3D

MAC