Tema 5' Reconocimiento de patrones - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Tema 5' Reconocimiento de patrones

Description:

Tema 5. Reconocimiento de patrones. Introducci n al reconocimiento de patrones y ... No hay reglas exactas para descubrir el mejor conjunto de caracter sticas. ... – PowerPoint PPT presentation

Number of Views:639
Avg rating:3.0/5.0
Slides: 40
Provided by: AnSan
Category:

less

Transcript and Presenter's Notes

Title: Tema 5' Reconocimiento de patrones


1
Tema 5. Reconocimiento de patrones
  • Introducción al reconocimiento de patrones y a la
    clasificación de formas
  • Un modelo de general de clasificador
  • Características discriminantes
  • Tipos de clasificación
  • Clasificadores basados en distancias
  • Clasificadores bayesianos
  • Clasificadores (redes) neuronales
  • Support Vector Machines (SVM)
  • Análisis de Componentes Principales (PCA).
  • Algoritmos de agrupamiento (clustering)
  • Otros aspectos sobre reconocimiento de patrones

2
Bibliografía
  • BÁSICA
  • R.C. González y R.E. Woods, Digital Image
    Processing, Addison Wesley, 3ª Edición, 2008.
    (cap. 12)
  • Vélez et al., Visión por Computador, Ed.
    Dyckinson Serv. Publ. URJC, 2003. (cap. 5)
  • A. de la Escalera, Visión por computador
    Fundamentos y métodos, 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)

3
Introducción
  • En muchos problemas prácticos de V.A. existe la
    necesidad de tomar decisiones sobre el contenido
    de una imagen o sobre la clasificación de los
    objetos contenidos en ella.
  • Clasificar (o reconocer) significa asociar a
    clases (o prototipos) una serie de elementos (u
    objetos). Esta asociación se realiza en base a
    las características o propiedades de los objetos.
  • Etapa final del análisis de imágenes (a partir de
    características extraídas de las regiones
    resultantes de la segmentación de una imagen se
    pueden reconocer los objetos presentes en ella).

4
Introducción
  • La características de las regiones u objetos
    segmentados se representan usando vectores de
    características normalizados.
  • Las características usadas para el reconocimiento
    deben ser cuidadosamente seleccionadas (p. ej.
    elección de características invariantes a
    transformaciones geométricas). No hay reglas
    exactas para descubrir el mejor conjunto de
    características.
  • Reconocer o clasificar no son tareas fáciles las
    clases pueden no estar correctamente definidas,
    la información sobre los objetos a clasificar
    puede ser incompleta.
  • Métodos de clasificación diferentes ?
    clasificaciones diferentes.
  • La interpretación de de imágenes (o escenas)
    requiere el uso de modelos y técnicas de
    Inteligencia Artificial

5
Introducción
  • Ejemplo

B A X W
Patrones
Clases
Características (clases)
Vectores de características (patrones)
Fronteras de clases
6
Un modelo general de clasificador
f1(x,K)
f2(x,K)
x x1 x2 . xd
Comparar y decidir
C(x)
fm(x,K)
Vector de características xx1,x2,..,xdT
Cálculo de distancias o probabilidades
Resultado de la clasificación
7
Un modelo general de clasificador
  • Las funciones discriminantes fi(x,K) realizan
    alguna operación sobre el vector de
    características 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 añadir una clase de rechazo Cr (CrCm)
    para los objetos que no se pueden colocar en
    ninguna de las clases conocidas.
  • En los métodos de clasificación supervisados se
    conocen de antemano las clases, en los no
    supervisados las clases y su número no se conocen
    (se van definiendo conforme avanza la
    clasificación).
  • El error de clasificación es una medida de cómo
    funciona el clasificador (problemas de falsos
    positivos y falsos negativos).

8
Características discriminantes Aspectos
generales
  • Para poder realizarse la clasificación o
    reconocimiento automático de objetos es necesario
    definir una transformación que convierta a un
    objeto del universo de trabajo en un vector X
    cuyas N componentes se llaman características
    discriminantes o rasgos.
  • X (x1, x2, , xN), siendo N?N, xi?R,
    ?i?1..N
  • El valor del vector de características para un
    objeto concreto se conoce como patrón.

Extracción de características
Normalización de características
Clasificación
9
Características discriminantes Criterios de
selección de características
  • Economía coste razonable (p. ej. sensores de
    captura)
  • Velocidad tiempo de cálculo viable (menor que un
    umbral)
  • Independencia no correlación entre las
    características (uso de matriz de covarianzas)
  • Homogeneidad intraclase poca dispersión (de los
    vectores de características) dentro de una misma
    clase
  • Capacidad discriminante interclases mucha
    dispersión (de los vectores de características)
    entre clases distintas

10
Tipos de clasificadores
  • Clasificadores a priori y a posteriori.
  • Los clasificadores apriorísticos construyen el
    clasificador en un solo paso, utilizando la
    muestra de aprendizaje para el cálculo 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 hipótesis determinista (ej.
    distancia)
  • Clasificadores supervisados y no supervisados.
  • Según la información que se proporciona en el
    proceso de construcción del clasificador se puede
    hablar de dos tipos de clasificadores con
    maestro o supervisados, sin maestros o no
    supervisados.

11
Clasificadores basados en distancias
  • Cada una de las N clases Ck (k?1..N) se
    representa mediante un prototipo o centroide Zk ,
    que es un vector d-dimensional
  • siendo xkj el j-ésimo vector de características
    (patrón) de la clase k.
  • La distancia euclídea dE de un nuevo patrón X a
    la clase Ck es
  • La fórmula anterior es equivalente a evaluar la
    expresión de la función discriminante de cada
    clase fdk(X), siendo k?1..N, para el patrón X y
    asignarlo a la clase Ck para la que fdk(X) sea
    máximo

12
Clasificadores basados en distancias
Esquema del clasificador euclídeo
Ejemplo Separación lineal entre clases
13
Clasificadores basados en distancias
  • A partir de las funciones discriminantes de
    clases se pueden construir las fronteras de
    decisión entre clases (hiperplanos)
  • fdij(X) fdi(X) -fdj(X)
  • A veces no se puede conseguir una separación
    lineal entre clases
  • Esto se produce debido a que 1) las
    características son inadecuadas para distinguir
    entre clases, 2) las características tienen una
    alta correlación, 3) las fronteras de decisión no
    son lineales, 4) hay subclases (dentro de las
    clases), o 5) el espacio de características es
    muy complejo.

14
Clasificadores bayesianos
  • A veces, no es posible encontrar características
    que permitan separar linealmente a clases de
    objetos.
  • Se puede usar el conocimiento de las
    distribuciones de probabilidad de los valores de
    las características para clasificar objetos

P(x?1)
P(x?2)
15
Clasificadores bayesianos
  • Teorema de Bayes
  • donde
  • P(?i) es la probabilidad de que un patrón al azar
    sea de la clase ?i.
  • P(X?i) es la probabilidad de que sabiendo de que
    el patrón a clasificar pertenece a la clase ?i
    sea precisamente el que tiene el vector de
    características X. En otras palabras es la
    función densidad de probabilidad de los patrones
    de la clase ?i (probabilidad a priori).
  • P(X) es la probabilidad de que se presente
    exactamente un patrón con el vector de
    características X. Cumpliéndose que
  • P(?iX) es la probabilidad de que un X conocido
    pertenezca a la clase ?i (probabilidad a
    posteriori).

16
Clasificadores bayesianos
  • Para clasificar un patrón X en su clase
    correspondiente ?i
  • X??i ? P(?iX) gt P(?jX) ? i?j, j 1,2 ... N
  • Como P(X) es un término constante para calcular
    P(?iX), la función discriminante fdi(X),
    correspondiente a la clase ?i es
  • fdi(X) P(X?i)?P(?i) ? i 1,2 ... N
  • y un patrón X se asignará a la clase ?i, si
    fdi(X) gt fdj(X) , ?j?i.
  • Generalización del clasificador de Bayes para
    distribuciones gausianas n-dimensionales
  • siendo Ci y Zi la matriz de covarianzas y la
    media de la clase ?i, respectivamente.

17
Redes neuronales
  • Por su capacidad de aprendizaje las neuronas de
    los organismos biológicos se han estudiado para
    su aplicación en sistemas de aprendizaje
    automático.
  • Al igual que las neuronas biológicas están
    conectadas, las redes de neuronas artificiales
    están formadas por elementos sencillos de cómputo
    interconectados según diferentes modelos.

pesos
pesos
?
Función salida
Función activación
Entradas desde otras neuronas
Salidas hacia otras neuronas
Neurona biológica
Neurona artificial
18
Redes neuronales
  • Las redes neuronales (NN) fueron introducidas por
    McCulloch y Pitts (1943). El desarrollo de
    métodos de aprendizaje (Hebb, 1949) y el modelo
    del perceptrón (Rosenblatt, 1957) motivaron el
    interés de este modelo.
  • Aplicaciones a problemas de clasificación y de
    regresión.
  • Tipos de redes perceptrones, perceptrones
    multicapa (MLP), redes autoorganizadas, otros
    modelos (modelos recurrentes, neuronas
    estocásticas, funciones de base radial, ...).
  • Métodos de aprendizaje algoritmo de
    retropropagación (backpropagation), propagación
    rápida (quick propagation), ...

19
Redes neuronales
  • Perceptrón En su forma más básica, un perceptrón
    consiste en una neurona que es capaz de aprender
    una función discriminante lineal fd(X), que
    permite dividir a dos conjuntos de entrenamiento
    linealmente separables.
  • Su respuesta consiste una suma ponderada de sus
    entradas
  • que representa la ecuación de un hiperplano en
    el espacio patrón n-dimensional.
  • La salida depende del signo de fd(X). A la salida
    se aplica una función de activación (escalón,
    sigmoide, etc) que indica si se activa o no la
    neurona.

20
Redes neuronales
  • Separación de dos clases (regiones) con un
    perceptrón
  • Perceptrón de dos capas y ejemplo de frontera de
    decisión realizable con esta red

-
entradas

salida
hiperplano1
hiperplano2

-
21
Redes neuronales
  • Perceptrón 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.
22
Redes neuronales
  • Regiones de decisión reconocidas por distintos
    tipos de perceptrones

23
Support Vector Machines (SVM)
  • Las Support Vector Machines (SVM) son un tipo de
    clasificadores de patrones basados en técnicas
    estadísticas de aprendizaje propuestas por Vapnik
    y sus colaboradores en 1992.
  • Las SVM están a la cabeza de los métodos de
    clasificación
  • por permitir construir fronteras de decisión
    flexibles, y
  • por su buena capacidad de generalización.
  • El método de las SVM permite abordar de manera
    general la resolución de problemas de
    clasificación y de regresión.
  • 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 dimensión más alta (incluso
    de dimensión infinita) en los que el problema
    pueda solucionarse linealmente.

24
Support Vector Machines (SVM)
  • Características
  • Clasificador entrenable con gran velocidad de
    entrenamiento.
  • Permite construir hiperplanos óptimos de
    separación en problemas de clasificación
  • Método basado en funciones de kernel ? la
    similitud entre los datos se expresa a través de
    la noción de kernel, definido según el problema a
    resolver.
  • Capacidad para trabajar con datos de dimensión
    muy alta.
  • Aproxima la probabilidad de que un patrón 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 dimensión para conseguir que las clases
    sean linealmente separables.

25
Support Vector Machines (SVM)
  • Aplicación al problema de clasificación

Separación lineal
Separación no lineal
26
Support Vector Machines (SVM)
  • Clasificación lineal. Las SVM generan un
    hiperplano que separa el espacio en dos o más
    regiones, una para cada clase.

27
Support Vector Machines (SVM)
  • Clasificación no lineal. Se realiza una
    transformación del espacio de entrada a otro de
    dimensión más alta, en el que los datos son
    separables linealmente.

El producto escalar en el espacio de salida se
puede escribir a través de un cierto núcleo o
kernel K (x,y)
28
Support Vector Machines (SVM)
  • Clasificación no lineal. Las SVM se puede
    escribir como
  • Existen multitud de funciones de kernel. Las más
    habituales son
  • Lineal
  • Polinómico
  • Gausiano

29
Support Vector Machines (SVM)
  • Aplicaciones de los SVM Se han utilizado en
    diversos problemas de reconocimiento de patrones.
    Cabe destacar las aplicaciones bioinformáticas,
    el análisis de texto y el tratamiento de
    imágenes.
  • Entre las aplicaciones de análisis de imágenes
  • Reconocimiento de escritura manual on-line.
  • Reconocimiento de objetos 3-D.
  • Reconocimiento de caras en imágenes.
  • Recuperación de información por contenido.
  • Más información sobre SVM
  • http//www.support-vector.net/software.html

30
Análisis de componentes principales (PCA)
  • Permite transformar un espacio original en otro
    de menor dimensión.

Subespacio de imágenes de cierto objeto Vh
h vectores ortonormales no correlacionados (hltltn)
p vectores correlacionados xi?Vn, nmxm
PCA
Base del subespacio
31
Análisis de componentes principales (PCA)
  • Direcciones principales
  • Maximizan las variaciones entre las muestras de
    entrenamiento.
  • En ellas se encuentran los vectores de la nueva
    base (componentes principales).

32
Análisis de componentes principales (PCA)
  • Vectores de la nueva base
  • Representan la mayor parte de la información
    contenida en el conjunto original.
  • Están ordenados según su varianza los h primeros
    aportan un gran porcentaje de la varianza total.
  • Puede haber como máximo el número de muestras
    iniciales (generalmente menos).

33
Análisis de componentes principales (PCA)
  • Vectores de la nueva base

h autovectores de S asociados a los autovalores
mayores (hltltn).
34
Análisis de componentes principales (PCA)
  • Representación

Coeficientes de la proyección
Representación
Reconocimiento Usar la representación resultado
del PCA en combinación con alguna del las
técnicas de reconocimiento estudiadas (classif.
basados en distancias, clasif. Bayesianos, NN, )
35
Algoritmos de agrupamiento (clustering)
  • Técnicas de clasificación 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
    número de clases es muy elevado para un procesado
    no automático.
  • Algunos algoritmos de clustering
  • distancias encadenadas
  • Min-Max
  • k-medias
  • Existen otras técnicas como los algoritmos de
    clustering jerárquico o los dendogramas que
    pueden resultar ineficientes para tamaños grandes
    de muestra.

36
Algoritmos de agrupamiento (clustering)
Algoritmo de distancias encadenadas
  • No precisa de información sobre el número de
    clases existente.
  • Se realiza en un solo paso, por lo puede ser muy
    rápido.
  • El inconveniente es que necesita fijar umbrales
    de clasificación y la solución final dependerá
    del punto de inicio del algoritmo.
  • Algoritmo
  • - Este algoritmo parte de los vectores de
    características de la muestra de aprendizaje X1,
    X2, ... XP y toma uno de ellos Xi al azar.
  • - Seguidamente ordena los vectores según la
    sucesión Xi(0), Xi(1), ,Xi(P-1),
  • donde esta sucesión es tal que el siguiente
    vector de la cadena es el más próximo al anterior
    (siendo Xi(0) Xi).
  • - A continuación, se establecen las clases. Para
    ello, se analizan las distancias euclídeas entre
    cada elemento y el siguiente. Si la distancia
    entre dos elementos consecutivos de la sucesión
    es superior al umbral, en ese punto de la
    sucesión, comienza una nueva clase, en otro caso,
    el elemento analizado pertenece a la misma clase
    que el elemento anterior.

37
Algoritmos de agrupamiento (clustering)
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 algún caso esta distancia supera un umbral
    se crea un nuevo centroide (clase). El proceso se
    repite hasta no producir cambios.
  • Es un algoritmo que sólo precisa la determinación
    de un valor de umbral para la autoorganización
    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 máxima
    distancia, formando una nueva clase con aquél 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.

38
Algoritmos de agrupamiento (clustering)
Algoritmo de las k-medias
  • Permite determinar la posición de k centroides
    que distribuyen de manera equitativa un conjunto
    de patrones.
  • A diferencia de los algoritmos anteriores, es
    necesario conocer a priori el número 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é más próxima (x??j ? d(x-zj(n))ltd(x-zi(n)),
    ?i1,2,...k i?j)
  • 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(n1) hacer
    n n1 e ir al paso 2 en otro caso, finalizar
    el algoritmo.

39
Otros aspectos sobre reconocimiento de
patrones
  • Conceptos
  • Precisión frente a eficiencia.
  • Matriz de confusión.
  • Árbol de decisión.
  • Otras técnicas de reconocimiento
  • Reconocimiento estructural (o sintáctico) de
    patrones
  • Técnicas basadas en grafos
  • Algunas aplicaciones de reconocimiento
  • biométricas (imágenes faciales, huellas
    dactilares, firmas, ...)
  • análisis de calidad de piezas,
  • imágenes aéreas, ......
  • Interpretación de imágenes
Write a Comment
User Comments (0)
About PowerShow.com