cap.vii: interpretación de las imágenes - elai.upm.es · 6 ejemplo: estadísticos de primer orden...

12
1 Reconocimiento de objetos Objetos etiquetados Extracción de las características Clasificación Etiquetamiento Imagen binaria Conectividad Cap.VII: Interpretación de las imágenes Ejemplo de etiquetamiento Resolución Matlab >>imgEnt=imread('rice.png');imshow(imgEnt);pause; >>imgBWMask=im2BW(imgEnt); >>se = strel('disk',2); >>imgBWMarcador = imerode(imgBWMask,se); >>imgReconst=imreconstruct(imgBWMarcador,imgBWMask); >>imgBWElimBorde = imclearborder(imgReconst); >>imgEtiq=bwlabel(imgBWElimBorde); >>subplot(1,2,1);imshow(imgEnt);subplot(1,2,2);imshow(label2rgb(imgEtiq)); Extracción de las características Características de los objetos Fronteras versus región Invariante a escalado, traslación y rotación Descriptores Área y peso: Perímetro: Compacidad: Centro de gravedad: () ( ) () ( ) ( ) ∑∑ ∑∑ = = = = = = N x M y i N x M y i y x f y x g i W y x g i A 1 1 1 1 , , , ( ) () i A i P 2 ( ) () ( ) () i A y x g y y i A y x g x x N x M y i i N x M y i i ∑∑ ∑∑ = = = = = = 1 1 1 1 , ˆ , ˆ

Upload: dinhnga

Post on 28-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

1

� Reconocimiento de objetos� Objetos etiquetados� Extracción de las características� Clasificación

� Etiquetamiento� Imagen binaria� Conectividad

Cap.VII: Interpretación de las imágenes

Ejemplo de etiquetamiento Resolución Matlab

>>imgEnt=imread('rice.png');imshow(imgEnt);pause;>>imgBWMask=im2BW(imgEnt);>>se = strel('disk',2);>>imgBWMarcador = imerode(imgBWMask,se);>>imgReconst=imreconstruct(imgBWMarcador,imgBWMask);>>imgBWElimBorde = imclearborder(imgReconst);>>imgEtiq=bwlabel(imgBWElimBorde);>>subplot(1,2,1);imshow(imgEnt);subplot(1,2,2);imshow(label2rgb(imgEtiq));

Extracción de las características

� Características de los objetos� Fronteras versus región� Invariante a escalado, traslación y rotación

� Descriptores� Área y peso:� Perímetro:� Compacidad:� Centro de gravedad:

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

⋅==N

x

M

y

i

N

x

M

y

i yxfyxgiWyxgiA1 11 1

,,,

( )( )iA

iP 2

( )

( )

( )

( )iA

yxgy

yiA

yxgx

x

N

x

M

y

i

i

N

x

M

y

i

i

∑∑∑∑= == =

=

=1 11 1

,

ˆ

,

ˆ

Page 2: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

2

Extracción de las características(2/2)

� Teorema de unicidad de Papoulis� Momentos:� Invariantes a traslaciones (centrales):

� A escalas (centrales normalizados):

� Elipse que inscribe al objeto:� Excentricidad, orientación

( ) ( )∑∑= =

⋅⋅=N

x

M

y

i

qp

pq yxgyxim1 1

,

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

⋅−⋅−=N

x

M

y

i

q

i

p

ipq yxgyyxximc1 1

,ˆˆ

00m

mc pqpq =µ

2

1

−=a

be

Descriptores topológicos

� Globales e invariantes a escala, rotación y traslación� Número de agujeros� Número de componentes conectados� Número de Euler

� Diferencia entre componentes y agujeros� A(0),B(-1),i(2)

Envolvente convexa

� Simplificar el objeto eliminado la concavidades� La envolvente convexa (convex hull), EC, de un

conjunto C se define como el conjunto convexo más pequeño que contiene a C.

� Matlab

Page 3: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

3

Ejemplo:

0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 1 1 1 0 0 0 00 0 1 1 1 1 1 0 0 00 0 1 1 1 1 1 0 0 00 0 0 1 1 1 0 0 0 00 0 0 0 1 1 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0

Area: 19Centroid: [5.0526 5.6316]BoundingBox: [2.5000 2.5000 5 6]MajorAxisLength: 5.5489MinorAxisLength: 4.6766Eccentricity: 0.5382Orientation: -76.7175FilledArea: 19EulerNumber: 1EquivDiameter: 4.9185ConvexArea: 20Solidity: 0.9500Extent: 0.6333Perimeter: 13.8995

[row,cols]=find(imgEnt>4);mean([row,cols])[V,D]=eig(cov([row,cols]))(D.^.5)*4

Ejemplo: detectar objetos redondos

>>RGB = imread('pillsetc.png');>>figure; imshow(RGB);

>>I = rgb2gray(RGB);>>threshold = graythresh(I);>>bw = im2bw(I,threshold);>>figure; imshow(bw)

>>bw = bwareaopen(bw,30);>>se = strel('disk',2);>>bw = imclose(bw,se);>>bw = imfill(bw,'holes');>>figure; imshow(bw)

Ejemplo: detectar objetos redondos>>[B,L] = bwboundaries(bw,'noholes');

>>figure; imshow(label2rgb(L, @jet, [.5 .5 .5]))>>hold on>>for k = 1:length(B)

boundary = B{k};plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2)

>>end

>>stats = regionprops(L,'Area','Centroid');>>threshold = 0.94;>>for k = 1:length(B)

delta_sq = diff(boundary).^2; perimeter = sum(sqrt(sum(delta_sq,2)));area = stats(k).Area;metric = 4*pi*area/perimeter^2;

metric_string = sprintf('%2.2f',metric);if metric > thresholdcentroid = stats(k).Centroid;plot(centroid(1),centroid(2),'ko');

end

text(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','y',...'FontSize',14,'FontWeight','bold');

>>end

Metrics closer to 1 indicate that the object is approximately round

0.90

0.95

0.73

0.96

0.91

0.58

Page 4: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

4

Descriptores texturales (1/5)� Textura asociada a propiedades de suavidad, regularidad,

granularidad ,…� Interacción entre la luz con la materia� Tacto y visión� Espacio de escalas (lejos y cerca)� Concepto de texel

� Primitiva de descripción del patrón textual� Invariante a posición, rotación y luminancia

Descriptores texturales(2/5)� No solo descriptivo sino también para la segmentación� El análisis textural consiste en la descripción de cómo son y cómo se

distribuyen los elementos de textura en una imagen� Los descriptores de texturas deben cuantificar ciertas propiedades

tales como suavidad, rugosidad y regularidad.� Técnicas

� Estructurales� Estadísticas� Frecuenciales

Descriptores texturales(3/5)

Aceptada Rechazada

� Estructurales� Supone que la textura está compuesta por combinaciones

espaciales de una “textura primitiva”, es decir, de un patrón que se repite.

� A partir del patrón se formarán patrones de estructuras más complejas por medio de reglas.

� Se basa en descripciones relacionales� Éxito en texturas muy regulares

Page 5: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

5

Descriptores texturales(4/5)

� Frecuenciales� Transformadas de Fourier: global� No funciona con variaciones espaciales

� Filtros de Gabor, fija la orientación y escala del patrón� Función de Gauss modulada por un armónico con

orientación determinada

� La varianza y la frecuencia del armónico definen el espacio de escala

Descriptores texturales(5/5)� Filtros de Gabor

� Bancada de filtros de Gabor en función de la escala y la orientación

Descriptores estadísticos en textura� Orden del estadístico: depende de número de píxeles de

vecindad� Primer orden: histogramas locales

� Energía, entropía, momentos� No tiene en cuenta las relaciones espaciales

� Matlab� Analyzing the Texture of an Image

Calculates the local entropy of a grayscale image. Entropy is a statistical measure of randomness.

entropyfilt

Calculates the local standard deviation of an image.stdfilt

Calculates the local range of an image.rangefilt

DescriptionFunction

Page 6: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

6

Ejemplo: estadísticos de primer ordenEntropía Contraste

Descriptores estadísticos en textura� Orden del estadístico: depende de número de píxeles de

vecindad� Primer orden: histogramas locales

� No tiene en cuenta las relaciones espaciales� Segundo orden: matriz de coocurencia

� Regla de vecindad� A (kxk), siendo k el número de grises.

� aij, representa el número de veces que un píxel con nivel de gris j, se encuentra a una distancia h, en dirección θ, de un píxel con nivel de gris

� Ejemplo: vecindad a -45º con h=1

h=píxel superior derecha

Ejemplo: I = imread('circuit.tif'); [GLCM2,SI] = graycomatrix(I,'Offset',[2 0;0 2]); stats = graycoprops(GLCM2,{'contrast','homogeneity'})

0

200

400

600

800

1000

0 50 100 150 200 250

0

0.5

1

1.5

2

2.5

3

x 104

0 0.2 0.4 0.6 0.8 1

3448 1861 3 0 0 0 0 0

1908 19450 4405 346 0 0 0 0

9 4505 10103 1692 28 0 0 0

0 583 1719 8584 1377 0 0 0

0 0 93 1534 11459 870 0 0

0 0 0 0 887 752 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

3251 2173 0 0 0 0 0 0

2039 19890 3890 646 7 0 0 0

7 3811 10426 1882 107 0 0 0

0 325 1864 8215 1748 0 0 0

0 0 88 1506 11229 863 0 0

0 0 0 0 857 776 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

stats =

Contrast: [0.3307 0.3358]Homogeneity: [0.8534 0.8531]

Page 7: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

7

Descriptores de fronteras(1/4)� Códigos encadenados

� Segmentos de longitud y orientación determinada dependiente de la conectividad a 4 ó 8.

� Primer elemento� Información de su posición� Proceso de normalización

� El código de menor valor

Descriptores de fronteras(2/4)� Geométricos

� Perímetro: código encadenado(1 y )� Representación de la curva mediante una

función unidimensional� Signatura: distancia de un punto interior del objeto

(p.ej: centroide) a cada uno de los puntos fronteras.� Invarianza a la traslación

� Depende del punto inicial, se toma la distancia mayor� La invarianza a escala se consigue normalizando la

distancia

2

Descriptores de fronteras(3/4)� Signatura problemas

� Invariante a escala: normalización distancia [0 1]� Dependiente de la posición inicial: punto de máxima distancia� Sensible al punto interior� Curvas con concavidades

� Curvatura: variación de la tangente en el contorno� Histograma de la curvatura

� Invariante a traslación, rotación y escala

fdiv

∇= ∇

Page 8: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

8

Descriptores de Fourier(4/4)� Curvas cerradas: descripción unidimensional

� Secuencia en coordenadas cartesianas convertidas a variable compleja

� K descriptores de Fourier� De grueso a detalle. Continuo = centroide

� Anti-transformada: � P<K

� Invariantes a traslaciones, rotaciones, escalado y de donde se empiece a tomar la secuencia.

( ) ( ) ( ) ( ){ }nnii yxyxyxyx ,,...,,...,,,, 2211 ( ) ii jyxiz +=

1,...,2,1,01

2

−==∑=

⋅−

KkezZn

i

iK

kj

nk

π

nieZK

zK

k

nK

kij

ki ,...,2,11 1

0

2

== ∑−

=

⋅⋅

� Disciplina relacionada con la Inteligencia Artificial� Asignar los objetos a una clase� Imágenes, señales o cualquier tipo de medida� Características + conocimiento a priori

� Enfoques� Estadístico� Métodos sintácticos� Alineamiento de plantillas� Redes neuronales

Reconocimiento de patrones

Alineamiento de plantillas� El objeto a ser reconocido es comparado con un

conjunto de plantillas, teniendo en cuenta que puede haber habido traslaciones, rotaciones o cambio de escala.

� Muy utilizado en análisis médicas� ITK( Insight Toolkit: Registration and segmentation)

Page 9: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

9

Métodos sintácticos� En este caso un objeto es visto como una

composición de subformas simples. Las subformasmás simple a ser reconocidas son llamadas primitivas y una forma compleja es representada en términos de interrelaciones entre estas primitivas. Este método tiene analogía con la sintaxis de un lenguaje.

� Hay problemas para separar en sus primitivas una forma que tiene mucho ruido.

Redes neuronales� Consiste en una red cuyos nodos son neuronas artificiales que se

conectan mediante enlaces que tienen distintas ponderaciones. Las redes neuronales tienen la habilidad de aprender complejas relaciones no lineales de entrada-salida usando procedimientos secuenciales de entrenamiento.

� Clasificación � Supervisada: MLP (Multilayer perceptron) y las redes de

funciones de base radial (RBF). � No supervisada se usa las redes de Kohonen conocidas

como Self-Organizing Maps (SOM)

Selección de las características� Particionar el espacio de las características� Propiedades de las características

� Discriminación� Fiabilidad� Independencia� Menor número de características

Page 10: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

10

Ejemplo de Fisher

4 4.5 5 5.5 6 6.5 7 7.5 82

2.5

3

3.5

4

4.5

longitud hoja

Anc

hura

hoj

a

setosaversicolorvirginica

4 4.5 5 5.5 6 6.5 7 7.5 82

2.5

3

3.5

4

4.5

longitud hoja

Anc

hur

a ho

ja

setosa

versicolorvirginica

4 4.5 5 5.5 6 6.5 7 7.5 82

2.5

3

3.5

4

4.5

x

y

versicolorsetosavirginica

Ejemplo: k-means con el colorH&E image

Image courtesy of Alan Partin, Johns Hopkins Univ ersity

ab = double(lab_he(:,:,2:3));nrows = size(ab,1);ncols = size(ab,2);ab = reshape(ab,nrows*ncols,2);

nColors = 3;% repeat the clustering 3 times to avoid local minima[cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean', ...

'Replicates',3);

image labeled by cluster index120 130 140 150 160 170 180 190 200

60

70

80

90

100

110

120

130

Clasificadores estadísticos(1/5)

� Teoría de la probabilidad para clasificar

� Variables aleatorias

� Requiere del conocimiento previo de las funciones de densidad� Paramétricas o no paramétricas� Probabilidad a priori: p(x|ωi)

Page 11: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

11

Clasificadores estadísticos(2/5)

� Teoría de Bayes� Minimizar el error de clasificación: se asigna a la

clase con mayor probabilidad a posteriori:

� Distancia a la clase i

( )( ) ( )

( )

||

i i

i

p X pp X

p X

ω ωω =

( ) ( ) ( )|i i id X p X pω ω=

Clasificadores estadísticos(3/5)

� Paramétrica� Modelizada por una densidad normal

� Función discriminante

( )( ) ( )1

1/ 22

1 1( | ) exp

22

T

i i i in

i

p X X M X Mωπ

− = − − Σ −

Σ

( ) ( ) ( )( ) ( ) ( ) ( ) ( )( )1

12

1ln | ln 2 ln ln

2 2

T

i i i i i i i i

nd X p X p X M X M pω ω π ω−

= = − + Σ − − Σ − +

Clasificadores estadísticos(4/5)

� Normal� Igualdad en la matriz de covarianza y todas las

clase equiprobables� Distancia de Mahalanobis

� Si además las características no están correladas y las varianzas son idénticas� Distancia euclídea

( ) ( ) ( )11

2

T

i i id X X M X M−

= − − Σ −

( ) ( ) ( )T

i i id X X M X M= − −

Page 12: Cap.VII: Interpretación de las imágenes - elai.upm.es · 6 Ejemplo: estadísticos de primer orden Entropía Contraste Descriptores estadísticos en textura Orden del estadístico:

12

Ejemplo: clasificación de Bayes

-8 -6 -4 -2 0 2 4 6-8

-6

-4

-2

0

2

4

6Espacio de las características

-8 -6 -4 -2 0 2 4 6-8

-6

-4

-2

0

2

4

6

x

y

pdf(obj,[x,y])

Cluster 1Cluster 2

-8 -6 -4 -2 0 2 4 6

-8

-6

-4

-2

0

2

4

6

0

0.05

0.1

x

pdf(obj,[x,y])

y

-8 -6 -4 -2 0 2 4 6-8

-6

-4

-2

0

2

4

6

x

y

pdf(obj,[x,y])

obj = gmdistribution.fit(X,2);idx = cluster(obj,X);

Clasificadores estadísticos(5/5)

� No paramétricos� Ventana de Parzen

� A partir del histograma de las características� Número de muestras del conjunto total que cae dentro de

un hipercubo del espacio de características:

( )( )

/R

R

R

p X dXk n

p XVdX

= ≅∫

( )1

/ 1 ni

diR

x xk np X

V n h hφ

=

− ≅ =

⋅ ∑

( )112

0 en caso contrario

ij

i

xxφ

<=

( )( )

2

1 22 21

1 1exp

22

ni

i

X Xp X

n hhπ=

−≅