Analisis de Imagenes
-
Upload
keiner-hernandez -
Category
Documents
-
view
15 -
download
0
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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 <∈= ),(/),( Ω
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 σσ
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)
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
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
+
-
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
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
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
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=
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
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.
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 ; |||| |||| ⇒≤≤≠∀−<−
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
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?
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
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:
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.
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
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
∑∑
∑∑
∑
−
=
−
=
−
=
−
=
−
=
−=−=
−=−=
−=−=
==
===
≅=≡
μ
μ
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]);
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),(
),(
−−−=
−−=
∑∑
∑∑
∈
∈
μ
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)
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
θ
θθθ
θθ
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’
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)
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
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
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−−
−
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)
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.
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
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
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 +=
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
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.
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 +=
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 +=
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
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
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
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
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
José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 54
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
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
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
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.
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.
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 :
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)
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
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
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
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
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:
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)
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
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
José Luis Alba - Universidad de Vigo; Jesús Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos 70
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).
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.
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.
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
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