Reconocimiento de Patrones

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 39

Tema 5.

Reconocimiento de patrones
Introduccin al reconocimiento de patrones y a la
clasificacin de formas
Un modelo de general de clasificador
Caractersticas discriminantes
Tipos de clasificacin
Clasificadores basados en distancias
Clasificadores bayesianos
Clasificadores (redes) neuronales
Support Vector Machines (SVM)
Anlisis de Componentes Principales (PCA).
Algoritmos de agrupamiento (clustering)
Otros aspectos sobre reconocimiento de patrones

Bibliografa
BSICA:
R.C. Gonzlez y R.E. Woods, Digital Image Processing,
Addison Wesley, 2 Edicin, 2002. (cap. 12)
Vlez et al., Visin por Computador, Ed. Dyckinson Serv.
Publ. URJC, 2003. (cap. 5)
A. de la Escalera, Visin por computador: Fundamentos y
mtodos, Pearson- Prentice Hall, 2001. (caps. 4 y 5)
COMPLEMENTARIA:
M. Sonka et al., Image Processing, Analysis, and Machine
Vision, PWS Publishing, 1999. (cap. 7)
L.G. Shapiro y G.C. Stockman, Computer Vision, Prentice
Hall, 2001. (cap. 4)
D.A. Forsyth y J. Ponce. Computer Vision. A Modern
Approach, Pearson, 2003. (cap. 22)

Introduccin (I)
En muchos problemas prcticos de V.A. existe la necesidad
de tomar decisiones sobre el contenido de una imagen o
sobre la clasificacin de los objetos contenidos en ella.
Clasificar (o reconocer) significa asociar a clases (o
prototipos) una serie de elementos (u objetos). Esta
asociacin se realiza en base a las caractersticas o
propiedades de los objetos.
Etapa final del anlisis de imgenes (a partir de
caractersticas extradas de las regiones resultantes de la
segmentacin de una imagen se pueden reconocer los objetos
presentes en ella).

Introduccin (II)
La caractersticas de las regiones u objetos segmentados se
representan usando vectores de caractersticas normalizados.
Las caractersticas usadas para el reconocimiento deben ser
cuidadosamente seleccionadas (p. ej. eleccin de caractersticas
invariantes a transformaciones geomtricas). No hay reglas
exactas para descubrir el mejor conjunto de caractersticas.
Reconocer o clasificar no son tareas fciles: las clases pueden no
estar correctamente definidas, la informacin sobre los objetos a
clasificar puede ser incompleta.
Mtodos de clasificacin diferentes clasificaciones diferentes.
La interpretacin de de imgenes (o escenas) requiere el uso de
modelos y tcnicas de Inteligencia Artificial

Introduccin (III)
Ejemplo :
Clase Agujeros Trazos Centro

BA
XW

Patrones

Vectores de caractersticas
(patrones)

Clases

(1/3,1/2)

(1/3,1/2)

(1/2,1/2)

(1/3,1/2)

Caractersticas (clases)

Fronteras de clases

Un modelo general de clasificador (I)


f1(x,K)
x1
x2
f2(x,K)

Comparar
y decidir

C(x)

xd
fm(x,K)
Vector de
caractersticas
x=[x1,x2,..,xd]

Clculo de distancias o
probabilidades

Resultado de la
clasificacin

Un modelo general de clasificador (II)


Las funciones discriminantes fi(x,K) realizan alguna operacin
sobre el vector de caractersticas x del objeto usando un cierto
conocimiento K conseguido tras el entrenamiento, y pasan los
resultados a una etapa final que determina la clase asignada.
Existen m clases: C1, C2, , Cm-1, Cm conocidas. Se suele aadir
una clase de rechazo Cr (Cr=Cm) para los objetos que no se
pueden colocar en ninguna de las clases conocidas.
En los mtodos de clasificacin supervisados se conocen de
antemano las clases, en los no supervisados las clases y su
nmero no se conocen (se van definiendo conforme avanza la
clasificacin).
El error de clasificacin es una medida de cmo funciona el
clasificador (problemas de falsos positivos y falsos negativos).

Caractersticas discriminantes (I)


Aspectos generales
Para poder realizarse la clasificacin o reconocimiento
automtico de objetos es necesario definir una transformacin que
convierta a un objeto del universo de trabajo en un vector X cuyas
N componentes se llaman caractersticas discriminantes o rasgos.
X = (x1, x2, , xN), siendo: NN, xiR, i1..N
El valor del vector de caractersticas para un objeto concreto se
conoce como patrn.
Extraccin de
caractersticas

Objetos

Vectores de
caractersticas
(patrones)

Normalizacin de
caractersticas

Clasificacin

Patrones
normalizados

Caractersticas discriminantes (II)


Criterios de seleccin de caracterersticas
Economa: coste razonable (p. ej. sensores de captura)
Velocidad: tiempo de clculo viable (menor que un umbral)
Independencia: no correlacin entre las caractersticas (uso de
matriz de covarianzas)
Homogeneidad intraclase: poca dispersin (de los vectores de
caractersticas) dentro de una misma clase
Capacidad discriminante interclases: mucha dispersin (de los
vectores de caractersticas) entre clases distintas

Tipos de clasificadores
Clasificadores a priori y a posteriori.
Los clasificadores apriorsticos construyen el clasificador en un solo paso,
utilizando la muestra de aprendizaje para el clculo de las funciones
discriminantes. Los clasificadores a posteriori se construyen siguiendo un
procedimiento iterativo, en el cual el clasificador aprende a reconocer de una
manera progresiva los patrones de la muestra de aprendizaje.

Clasificadores deterministas y no deterministas (probabilistas).


Atendiendo a la forma en que se distribuyen los patrones de la muestra se
puede hablar de que se cumple o no una hiptesis determinista (ej. distancia)

Clasificadores supervisados y no supervisados.


Segn la informacin que se proporciona en el proceso de construccin del
clasificador se puede hablar de dos tipos de clasificadores: con maestro o
supervisados, sin maestros o no supervisados.

Clasificadores basados en distancias (I)

Cada una de las N clases Ck (k1..N) se representa mediante un


prototipo o centroide Zk , que es un vector d-dimensional:

1
Zk =
nk

xkj
j =1

siendo: xkj el j-simo vector de caractersticas (patrn) de la clase k.


La distancia eucldea dE de un nuevo patrn X a la clase Ck es:

dE ( X , Zk ) = X Zk =

nk

2
(
X

Z
)
i ki
i =1

La frmula anterior es equivalente a evaluar la expresin de la


funcin discriminante de cada clase fdk(X), siendo: k1..N, para el
patrn X y asignarlo a la clase Ck para la que fdk(X) sea mximo:

1
fd k ( X ) = X T Z k Z kT Z k
2

Clasificadores basados en distancias (II)


fd1(x)

dE(x,z1)

X?

fd2(x)

dE(x,z2)

Xi
Mnimo

.
.
.

fdN(x)

dE(x,zN)

Ejemplo: Separacin
lineal entre clases

Esquema del
clasificador
eucldeo

Clasificadores basados en distancias (III)


A partir de las funciones discriminantes de clases se pueden construir
las fronteras de decisin entre clases (hiperplanos):

fdij(X) = fdi(X) -fdj(X)


A veces no se puede conseguir una separacin lineal entre clases:

Esto se produce debido a que: 1) las caractersticas son inadecuadas


para distinguir entre clases, 2) las caractersticas tienen una alta
correlacin, 3) las fronteras de decisin no son lineales, 4) hay
subclases (dentro de las clases), o 5) el espacio de caractersticas es
muy complejo.

Clasificadores bayesianos (I)


A veces, no es posible encontrar caractersticas que permitan separar
linealmente a clases de objetos.
1

Se puede usar el conocimiento de las distribuciones de probabilidad


de los valores de las caractersticas para clasificar objetos:
2
1
P(x|1)

P(x|2)

m1

fd

m2

Clasificadores bayesianos (II)


Teorema de Bayes :
donde:

P ( i | X ) =

P ( X | i ) P ( i )
P( X )

P(i) es la probabilidad de que un patrn al azar sea de la clase i.


P(X|i) es la probabilidad de que sabiendo de que el patrn a clasificar
pertenece a la clase i sea precisamente el que tiene el vector de
caractersticas X. En otras palabras es la funcin densidad de
probabilidad de los patrones de la clase i (probabilidad a priori).
P(X) es la probabilidad de que se presente exactamente un patrn con el
vector de caractersticas X. Cumplindose que:
K

P ( X ) = P ( X | k ) P ( k )
k =1

P(i|X) es la probabilidad de que un X conocido pertenezca a la clase i


(probabilidad a posteriori).

Clasificadores bayesianos (III)


Para clasificar un patrn X en su clase correspondiente i :
Xi P(i|X) > P(j|X) ij, j = 1,2 ... N
Como P(X) es un trmino constante para calcular P(i|X), la
funcin discriminante fdi(X), correspondiente a la clase i es:
fdi(X) = P(X|i)P(i)

i = 1,2 ... N

y un patrn X se asignar a la clase i, si: fdi(X) > fdj(X) , ji.


Generalizacin del clasificador de Bayes para distribuciones
gausianas n-dimensionales:
fd i ( X ) = X

Ci1Z i

1 T 1
Z i Ci Z i
2

siendo Ci y Zi la matriz de covarianzas y la media de la clase


i, respectivamente.

Redes neuronales (I)


Por su capacidad de aprendizaje las neuronas de los organismos
biolgicos se han estudiado para su aplicacin en sistemas de
aprendizaje automtico.
Al igual que las neuronas biolgicas estn conectadas, las redes de
neuronas artificiales estn formadas por elementos sencillos de cmputo
interconectados segn diferentes modelos.
pesos

pesos

axn

sinapsis

Funcin
salida

soma
ncleo
dendritas

Neurona biolgica

Entradas
desde otras
neuronas

Funcin
activacin

Neurona artificial

Salidas
hacia otras
neuronas

Redes neuronales (II)

Las redes neuronales (NN) fueron introducidas por McCulloch y Pitts (1943).
El desarrollo de mtodos de aprendizaje (Hebb, 1949) y el modelo del
perceptrn (Rosenblatt, 1957) motivaron el inters de este modelo.
Aplicaciones a problemas de clasificacin y de regresin.
Tipos de redes: perceptrones, perceptrones multicapa (MLP), redes
autoorganizadas, otros modelos (modelos recurrentes, neuronas estocsticas,
funciones de base radial, ...).
Mtodos de aprendizaje: algoritmo de retropropagacin (backpropagation),
propagacin rpida (quick propagation), ...
Error

w1

w2

Redes neuronales (III)

Perceptrn: En su forma ms bsica, un perceptrn consiste en una neurona


que es capaz de aprender una funcin discriminante lineal fd(X), que permite
dividir a dos conjuntos de entrenamiento linealmente separables.
Su respuesta consiste una suma ponderada de sus entradas:
n

fd ( X ) = wi xi + wn+1
i =1

que representa la ecuacin de un hiperplano en el espacio patrn ndimensional.


La salida depende del signo de fd(X). A la salida se aplica una funcin de
activacin (escaln, sigmoide, etc) que indica si se activa o no la neurona.

Redes neuronales (IV)

Separacin de dos clases (regiones) con un perceptrn:

Perceptrn de dos capas y ejemplo de frontera de decisin realizable con esta red:
entradas
salida

+
+
-

hiperplano1
hiperplano2

Redes neuronales (V)


Perceptrn multicapa (redes feedforward):

Una vez una vez entrenada la red, usando un algoritmo de aprendizaje (p.ej.
quickprop) y un conjunto de patrones de entrenamiento, sta es capaz de
resolver el problema para patrones desconocidos.

Redes neuronales (VI)


Regiones de decisin reconocidas por distintos tipos de perceptrones:

Support Vector Machines (SVM) (I)


Las Support Vector Machines (SVM) son un tipo de clasificadores
de patrones basados en tcnicas estadsticas de aprendizaje
propuestas por Vapnik y sus colaboradores en 1992.
Las SVM estn a la cabeza de los mtodos de clasificacin:
por permitir construir fronteras de decisin flexibles, y
por su buena capacidad de generalizacin.
El mtodo de las SVM permite abordar de manera general la
resolucin de problemas de clasificacin y de regresin.
La idea consiste en transformar el conjunto de vectores de entrada
X ={xi | xi=(xi1, xi2,, xin)} (patrones n-dimensionales) en otro
conjunto de vectores Y de una dimensin ms alta (incluso de
dimensin infinita) en los que el problema pueda solucionarse
linealmente.

Support Vector Machines (SVM) (I)


Caractersticas:
- Clasificador entrenable con gran velocidad de entrenamiento.
- Permite construir hiperplanos ptimos de separacin en problemas
de clasificacin
- Mtodo basado en funciones de kernel la similitud entre los
datos se expresa a travs de la nocin de kernel, definido segn el
problema a resolver.
- Capacidad para trabajar con datos de dimensin muy alta.
- Aproxima la probabilidad de que un patrn de entrada pertenezca
o no a una clase, mediante funciones (relaciones) entre los datos
de entrada.
- Cuando las clases no son linealmente separables transforma los
vectores de entrada en vectores de mayor dimensin para
conseguir que las clases sean linealmente separables.

Support Vector Machines (SVM) (II)


Aplicacin al problema de clasificacin:

Separacin lineal

Separacin no lineal

Support Vector Machines (SVM) (III)


Clasificacin lineal. Las SVM generan un hiperplano
que separa el espacio en dos o ms regiones, una para
cada clase.

Clase C1

o
Clase C2

o
o

o
o

w x + b

o
Vectores soporte

Support Vector Machines (SVM) (IV)


Clasificacin no lineal. Se realiza una transformacin del espacio
de entrada a otro de dimensin ms alta, en el que los datos son
separables linealmente.
Espacio de entrada

Espacio de salida (mayor dimensin)

El producto escalar en el espacio de salida se puede escribir a travs


de un cierto ncleo o kernel K (x,y) :

K ( xi , x j ) = ( xi ) ( x j )

Support Vector Machines (SVM) (V)


Clasificacin no lineal. Las SVM se puede escribir como:

f ( x) =

y ((x) (x )) + b = y K (x, x ) + b
i

vectores
soporte

vectores
soporte

Existen multitud de funciones de kernel. Las ms


habituales son:
Lineal:

K (xi , x j ) = xi x j

Gausiano:

x x
i
j

K (xi , x j ) = exp
2 2

Polinmico: K (xi , x j ) = (xi x j + 1)d


2

Support Vector Machines (SVM) (VI)


Aplicaciones de los SVM: Se han utilizado en diversos
problemas de reconocimiento de patrones. Cabe destacar
las aplicaciones bioinformticas, el anlisis de texto y el
tratamiento de imgenes.
Entre las aplicaciones de anlisis de imgenes:

Reconocimiento de escritura manual on-line.


Reconocimiento de objetos 3-D.
Reconocimiento de caras en imgenes.
Recuperacin de informacin por contenido.

Ms informacin sobre SVM:


http://www.support-vector.net/software.html

Anlisis de componentes principales (PCA) (I)


- Permite transformar un espacio original en otro de
menor dimensin.
Espacio de
imgenes Vmxm

Subespacio
de imgenes
de cierto
objeto Vh

h vectores
p vectores
PCA ortonormales
correlacionados
no
{xi}Vn,
correlacionado
n=mxm
s (h<<n)

Base del
subespacio

Anlisis de componentes principales (PCA) (II)


* Direcciones principales:
Maximizan las variaciones entre las muestras de
entrenamiento.
En ellas se encuentran los vectores de la nueva base
(componentes principales).
u2

u1

Anlisis de componentes principales (PCA) (III)


* Vectores de la nueva base:
Representan la mayor parte de la informacin contenida en el
conjunto original.
Estn ordenados segn su varianza: los h primeros aportan un
gran porcentaje de la varianza total.
Puede haber como mximo el nmero de muestras iniciales
(generalmente menos).

Anlisis de componentes principales (PCA) (IV)


* Vectores de la nueva base:
1 p
= xi
p i=1
yi = xi , donde 1 i p
Conjunto de entrenamiento
p imgenes {xi}Vn,
n=mxm

1 p
= yi yiT = YY T
p i=1
h autovectores de asociados a los
autovalores mayores (h<<n).

Anlisis de componentes principales (PCA) (V)

Representacin:

proyeccin

x
objeto a
identificar

Subespacio
de imgenes
k = ukT ( x ) de caras Vh

Coeficientes de
la proyeccin:

T = [12 ...h' ]

para k=1,...,h
Representacin

Reconocimiento:
Usar la representacin resultado del PCA en combinacin con
alguna del las tcnicas de reconocimiento estudiadas
(classif. basados en distancias, clasif. Bayesianos, NN, )

Algoritmos de agrupamiento (clustering) (I)


Tcnicas de clasificacin no supervisada.
Estos algoritmos se usan cuando no existe conocimiento a priori
de las clases en que se pueden distribuir los objetos, cuando las
clases no son interpretables por un humano, o cuando el nmero
de clases es muy elevado para un procesado no automtico.
Algunos algoritmos de clustering:
distancias encadenadas
Min-Max
k-medias
Existen otras tcnicas como los algoritmos de clustering
jerrquico o los dendogramas que pueden resultar ineficientes
para tamaos grandes de muestra.

Algoritmos de agrupamiento (clustering) (II)


Algoritmo de distancias encadenadas
No precisa de informacin sobre el nmero de clases existente.
Se realiza en un solo paso, por lo puede ser muy rpido.
El inconveniente es que necesita fijar umbrales de clasificacin y
la solucin final depender del punto de inicio del algoritmo.
Algoritmo:
- Este algoritmo parte de los vectores de caractersticas de la muestra de
aprendizaje X1, X2, ... XP y toma uno de ellos Xi al azar.
- Seguidamente ordena los vectores segn la sucesin: Xi(0), Xi(1), ,Xi(P-1),
donde esta sucesin es tal que el siguiente vector de la cadena es el ms prximo
al anterior (siendo Xi(0) = Xi).
- A continuacin, se establecen las clases. Para ello, se analizan las distancias
eucldeas entre cada elemento y el siguiente. Si la distancia entre dos elementos
consecutivos de la sucesin es superior al umbral, en ese punto de la sucesin,
comienza una nueva clase, en otro caso, el elemento analizado pertenece a la
misma clase que el elemento anterior.

Algoritmos de agrupamiento (clustering) (III)


Algoritmo Min-Max
El algoritmo Min-Max introduce paulatinamente centroides de
clases, determinando la distancia a la que se encuentran los
patrones de los mismos.
Si en algn caso esta distancia supera un umbral se crea un nuevo
centroide (clase). El proceso se repite hasta no producir cambios.
Es un algoritmo que slo precisa la determinacin de un valor de
umbral para la autoorganizacin de las clases.
Algoritmo:
1. Tomar al azar un elemento de los P disponibles e insertarlo en la clase .
2. Calcular las distancias de 1 a los P-1 vectores no agrupados y tomar la
mxima distancia, formando una nueva clase con aqul que la maximiza.
3. Agrupar los restantes vectores que quedan en alguna de las clases existentes.
4. Si la distancia de alguno de los vectores tiene est a una distancia superior a
un valor umbral: crear una nueva clase con ese vector y se vuelve al paso 3; en
otro caso, terminar.

Algoritmos de agrupamiento (clustering) (IV)


Algoritmo de las k-medias
Permite determinar la posicin de k centroides que distribuyen de
manera equitativa un conjunto de patrones.
A diferencia de los algoritmos anteriores, es necesario conocer a
priori el nmero k de clases existentes.
Algoritmo:
1. Poner n = 1. Tomar al azar k vectores de los P existentes y se convierten en
centroides de cada una de las k clases (Z1(1) de 1, , Zk(1) de k).
2. Distribuir las P-k muestras restantes entre las k clases. Asignar cada vector a
la clase que est ms prxima (xj d(x-zj(n))<d(x-zi(n)), i=1,2,...k | ij)
3. Calcular los centroides de las clases como la media ponderada de los
vectores de cada clase.
4. Si alguno de los k centroides Zk(n) es distinto de los nuevos centroides
Zk(n+1): hacer n = n+1 e ir al paso 2; en otro caso, finalizar el algoritmo.

Otros aspectos sobre reconocimiento de patrones


Conceptos:
Precisin frente a eficiencia.
Matriz de confusin.
rbol de decisin.

Otras tcnicas de reconocimiento:


Reconocimiento estructural (o sintctico) de patrones
Tcnicas basadas en grafos

Algunas aplicaciones de reconocimiento:


biomtricas (imgenes faciales, huellas dactilares, firmas, ...)
anlisis de calidad de piezas,
imgenes areas, ......

Interpretacin de imgenes

También podría gustarte