Reconocimiento automático de rostros

Documentos relacionados
Reconocimiento automático de rostros

Análisis de Datos. Introducción al aprendizaje supervisado. Profesor: Dr. Wilfrido Gómez Flores

Visión artificial y Robótica. Depto. de Ciencia de la Computación e Inteligencia Artificial

Análisis de Datos. Combinación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores

Capitulo 1: Introducción al reconocimiento de patrones (Secciones )

Técnicas de inteligencia artificial. Visión Artificial Reconocimiento de objetos

Pattern Classification

Análisis de imágenes digitales

Bloque temático: Sistemas de Reconocimiento de Patrones

Interfaz gráfica para el reconocimiento de objetos Dr. Wilfrido Gómez Flores

A raíz de los ataques terroristas a los Estados Unidos el 11 de septiembre de 2001, la

Práctica 8: Sistema de reconocimiento de caras basado en PCA.

RECONOCIMIENTO DE PATRONES DRA. LETICIA FLORES PULIDO

1. Introducción. 1.1 Motivación

RECONOCIMIENTO DE PAUTAS

Sistemas de Reconocimiento de Patrones

Reconocimiento y localización de objetos. Sistema visual

DISEÑO DE UN SISTEMA BIOMETRICO DE RECONOCIMIENTO FACIAL EN TIEMPO REAL

PLANES CURRICULARES GRADO9º/ 01 PERIODO

Tema 2 Datos multivariantes

3. Selección y Extracción de características. Selección: Extracción: -PCA -NMF

Tareas de la minería de datos: clasificación. CI-2352 Intr. a la minería de datos Prof. Braulio José Solano Rojas ECCI, UCR

[20380] Visió per Computador Prueba 2 (2013) Teoria (10p) (una pregunta test fallada descuenta 1/4 de pregunta acertada)

Interfaz gráfica de usuario para la visualización de diseños de territorios

Análisis de Datos. Validación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores

REVISIÓN DE LAS TÉCNICAS BÁSICAS PARA EL RECONOCIMIENTO DE ROSTROS

El reconocimiento de patrones desde un punto de vista estadístico es la selección o extracción de características.

Resumen de la Rúbrica del Reporte de Calificaciones de Matemáticas de Segundo Grado

Extracción de características

TEMARIOS EXAMEN DE ADMISIÓN 2017 EDUCACIÓN BÁSICA Y MEDIA: MATEMÁTICA. Contenido

FACULTAD DE INGENIERÍA UNIDAD DE POSGRADOS PRESENTACIÓN PROPUESTA. 2. PROGRAMA: Maestría en Ingeniería Automatización Industrial

CAPÍTULO 4. PRUEBAS Y RESULTADOS. la mayor confiabilidad e integridad posible de la información en todas sus fases, esto se

Interfaz hombre máquina basado en el análisis de los gestos faciales mediante visión artificial

EVIDENCIAS DE APRENDIZAJE

TEMARIOS EXAMEN DE ADMISIÓN 2018 ASIGNATURA MATEMÁTICA. Emplear los números para: Identificar Contar Clasificar Sumar y restar Resolución de problemas

Visión por computadora Computer vision

Asignaturas antecedentes y subsecuentes

RECONOCIMIENTO DE PATRONES EMPLEANDO REDES NEURONALES BOOLEANAS. APLICACIÓN AL RECONOCIMIENTO FACIAL N.I.A.:.: N.I.A.:.

2.5 Ejercicios... 59

Análisis de componentes principales. a.k.a.: PCA Principal components analysis

Álgebra II C PLANIFICACIONES Actualización: 2ºC/2017. Planificaciones Álgebra II C. Docente responsable: CAMMILLERI ADA LEONOR.

MÉTODOS AVANZADOS EN APRENDIZAJE ARTIFICIAL: TEORÍA Y APLICACIONES A PROBLEMAS DE PREDICCIÓN

Reconocimiento visual de ademanes usando MS Kinect - Introducción. Dr. Héctor Avilés Escuela de Invierno de Robótica 2015

Análisis de Datos. Regresión logística. Profesor: Dr. Wilfrido Gómez Flores

Prerrequisitos de la asignatura Álgebra Lineal Numérica

Análisis de un Reconocedor de Género Basado en Técnicas Lineales

Análisis de imágenes digitales

PROJECT GLASS : REALIDAD AUMENTADA, RECONOCIMIENTO DE IMÁGENES Y RECONOCIMIENTO DE VOZ.

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

Grade 4 Mathematics Assessment

Soluciones de Visión Artificial. para Alimentación y Packaging. Soluciones de Visión Artificial

Sistemas Biométricos para el aula nuestro de informática.

Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO

Elementos de máquinas de vectores de soporte

Bases estadísticas del reconocimiento de patrones

PROGRAMA DE ASIGNATURA DE MATEMÁTICA PARA LA INFORMÁTICA III

4ª Clase de Fisiología del Sistema Nervioso

Introducción al Procesamiento de Imágenes Satelitales con Software Libre. Módulo 03

Reconocimiento automático de palabras en documentos históricos usando redes neuronales convolucionales

Contenido. Agradecimientos... Prólogo...

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

Sistema de Desarrollo de Redes Neuronales Celulares

Capítulo 4. Detección del Objeto Conocido, Medición de su Tamaño Virtual y Cálculo de la Distancia

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

ESTUDIO DE TÉCNICAS DE RECONOCIMIENTO FACIAL

Control de la salida impresa 1

Análisis de imágenes digitales

M É T O D O S A L T E R N A T I V O S P A R A E X T R A C C I O N D E V E C T O R C A R A C T E R I S T I C AS.

TEMARIOS EXAMEN DE ADMISIÓN 2016 EDUCACIÓN BÁSICA Y MEDIA: MATEMÁTICA

Descripciones de los niveles de logro modificados (ALD, siglas en inglés) de la prueba de evaluación MCA en matemáticas Grados 5 a 8

3. Clasificación no supervisada

Reducción de la Dimensionalidad en Análisis de Datos. Análisis de Componentes Principales.

Producto escalar. x y. x = x x y cos α =

Universidad Ricardo Palma

Alcances de una cámara de video seguridad.


1. Los números reales. 2. Representación. 3. Densidad de los números racionales. 4. Propiedades de los números reales

FORMATO DE CONTENIDO DE CURSO PLANEACIÓN DEL CONTENIDO DE CURSO

3. Espacios de color. 3.Espacios de color. El uso del color en el procesamiento de imágenes está principalmente motivado por dos factores:

DATOS DE IDENTIFICACIÓN. Materia: Introducción a la teoría de los lenguajes formales Definición de alfabeto ETAPA PREINSTRUCCIONAL

PROGRAMACIÓN DE LOS CONTENIDOS DE MATEMÁTICAS EN LA PREPARACIÓN DE LA PARTE COMÚN DE LA PRUEBA DE ACCESO A LOS C.F.G.S. (Opción C)

ALGEBRA. Escuela Politécnica Superior de Málaga

Tareas de la minería de datos: clasificación. PF-5028 Minería de datos Prof. Braulio José Solano Rojas UCR

Alba Lucia Londoño Raul martinez. A. Conocimiento y comprensión

TABLA DE CONTENIDOS 1. INTRODUCCIÓN PLANIFICACIÓN CONOCIMIENTOS PREVIOS Y ANÁLISIS Espacio de color GRAY...

Índice 1. Introducción Imagen digital. Formación imagen Histograma de una imagen digital 2. Transformaciones puntuales. Introducción.

Cálculo de autovalores

IDENTIFICACIÓN DE SISTEMAS MÉTODOS POR SUB-ESPACIOS

Reconocimiento de objetos en fotografías Dr. Wilfrido Gómez Flores

ANEXO 1 INTRODUCCIÓN A LA FOTOGRAFÍA

Mapa Curricular / Matemáticas Quinto Grado

PLANIFICACIÓN ANUAL. Objetivo de aprendizaje Contenido Indicadores de logro

ÁLGEBRA LINEAL. EXAMEN FINAL 18 de Enero de b) (0, 5 puntos) Estudia si la siguiente afirmación es verdadera o falsa, justificando

EJERCICIOS DE ÁLGEBRA LINEAL TEMA 3 ESPACIOS EUCLÍDEOS

Métodos de gradiente. Métodos de Krylov

Introducción al Cálculo Simbólico a través de Maple

Inducción a MATLAB. Álgebra Lineal. Escuela de Matemáticas. Facultad de Ciencias Universidad Nacional de Colombia Sede Medellín

Colegio Decroly Americano Matemática 7th Core, Contenidos I Período

Transcripción:

Reconocimiento automático de rostros Ponente: Dr. Wilfrido Gómez Flores Investigador CINVESTAV wgomez@tamps.cinvestav.mx Ciudad Victoria,, 15 de junio de 2016 1

Introducción 2

Reconocimiento de rostros El reconocimiento de rostros es una tarea muy fácil para los humanos, a pesar de que todos compartimos las mismas características básicas: dos ojos por encima de una nariz y una boca. Cómo logramos esto? Las células nerviosas en la corteza visual responden a características locales específicas como bordes, líneas, ángulos o movimiento, las cuales se combinan en patrones útiles. campo visual ojo derecho ojo izquierdo retina colículo superior núcleo geniculado lateral nervio óptico quiasma óptico tracto óptico tracto geniculoestriado corteza de asociación visual corteza estriada mapa retinotópico 3

Reconocimiento de rostros El reconocimiento automático de rostros (RAR) trata de las técnicas computacionales para la identificación de individuos a partir de características faciales y comúnmente realiza los siguientes procesos: Extracción de características Representación Clasificación NOMBRE Disciplinas científicas involucradas en el desarrollo de técnicas de RAR: neurociencias, sicología, reconocimiento de patrones, visión por computadora, aprendizaje automático. 4

Reconocimiento de rostros Las aplicaciones del RAR generalmente están orientadas a la seguridad, por ejemplo, vigilancia, control de acceso, retratos policiales, etc. 5

Dificultades en el RAR Las técnicas de RAR deben ser robustas a variaciones que sufre la imagen como: Iluminación: Expresión: Pose: Oclusión: 6

Métodos comunes de RAR Comparar características faciales contra características de referencia para intentar encontrar una correspondencia positiva: Métodos geométricos: a partir de puntos marcadores se miden distancias, ángulos, etc., para describir la geometría del rostro de una persona. Métodos holísticos: toman como dato de entrada toda la región del rostro para el reconocimiento. Método geométrico Método holístico Dimensionalidad 7

Métodos comunes de RAR Un método holístico considera una imagen de un rostro como un punto en un espacio de alta dimensionalidad y éste se proyecta a un espacio de menor dimensionalidad donde es más fácil la clasificación. Dos métodos holísticos ampliamente utilizados: Eigenfaces: se basa en el método de análisis de componentes principales (PCA) para reducir la dimensionalidad proyectando los datos sobre una dirección que maximice la distribución total. Fisherfaces: se basa en el método de análisis lineal discriminante de Fisher (LDA) para maximizar la relación inter/intra clase, donde una clase corresponde a una persona. 8

Métodos 9

Método PCA El análisis de componente principales (PCA) aplica una transformación lineal al conjunto de datos de entrada para extraer un conjunto reducido de variables que preserve la estructura original de los datos. PCA identifica la rotación que revela la estructura subyacente del conjunto de datos, es decir, encuentra el mejor punto de vista donde la mayor dispersión entre los puntos está en las primeras dimensiones de los datos rotados. Diferentes puntos de vista del conjunto original de datos en 3D Proyección de los datos con el mejor punto de vista en 2D 10

Método PCA El método PCA involucra los siguientes pasos: 1. Sustraer la media (μ) de cada variable original (centralización). 2. Estimar la matriz de covarianza de los datos centralizados. 3. Computar los autovalores y autovectores de la matriz de covarianza. 4. Ordenar autovalores y autovectores en orden descendente. 5. Seleccionar los primeros m autovectores, conocidos como componentes principales, los cuales representan la matriz de transformación WPCA. 6. Proyectar el conjunto original x con M variables en un nuevo conjunto x' con m variables (donde m<m) mediante la transformación x'=xw PCA. 11

Método PCA x 3 Segunda componente Primera componente y 1 Proyección ortogonal x2 x 1 y 2 12

Método LDA El análisis lineal discriminante (LDA) determina la combinación lineal de variables que mejor separe las clases al maximizar la relación entre las dispersiones inter e intra-clase: Dispersión intra-clase: los puntos de una misma clase debe estar lo más juntos posible. Dispersión inter-clase: los puntos de diferentes clases deben estar lo más distante posible. Si se tienen c clases (i.e., c objetos diferentes), LDA proyecta los datos originales x con d variables a un subespacio con c 1 variables donde se preserva la información discriminatoria entre las clases. 13

Método LDA El método LDA involucra los siguientes pasos: 1. Computar las matrices de dispersión inter e intra-clase. 2. Resolver el problema generalizado de valores propios usando las matrices de dispersión inter e intra-clase. 3. Ordenar autovalores y autovectores en orden descendente. 4. Seleccionar los primeros c 1 autovectores, los cuales representan la matriz de transformación WLDA. 5. Proyectar el conjunto original x con d variables en un nuevo conjunto x' con c 1 variables mediante la transformación x'=xw LDA. 14

Método LDA x 2 Clase 1 x 2 W Clase 2 x 1 W Proyección ortogonal x 1 Dos vectores W LDA que generan una mala separación (izquierda) y una separación óptima (derecha) entre dos clases proyectadas. 15

PCA versus LDA PCA: mejorar la representación de los datos de entrada en un espacio de baja dimensionalidad. LDA: mejorar la información discriminante entre clases en un espacio de baja dimensionalidad. x 2 Representación (PCA) Clasificación (LDA) x 1 16

RAR con Fisherfaces 17

Fisherfaces El reconocimiento automático de rostros usando la técnica de Fisherfaces está basado en los métodos PCA y LDA. Existen dos procesos principales en el RAR: Entrenamiento: se contruye el modelo de referencia de cada persona conocida a partir de una base de datos con imágenes de rostros. Reconocimiento: se genera un modelo de prueba de una imagen de un rostro la cual se compara contra los modelos de referencias de las personas conocidas para intentar encontrar una coincidencia. 18

Datos de entrada Una imagen de tamaño M N píxeles es convertida a un vector con MN elementos, lo cual representa un punto en un espacio de MN dimensiones. Esta conversión es la primera etapa en los procesos de entrenamiento y reconocimiento. N M MN 19

Datos de entrenamiento Los datos de entrenamiento se refieren al conjunto de vectores generados a partir de imágenes de rostros de personas conocidas. Es una matriz de tamaño n MN, donde n es el número de imágenes de entrenamiento y MN el número de píxeles en las imágenes. Cada vector de entrenamiento se asocia a una etiqueta numérica que identifica a la persona. Por tanto, habrá tantas etiquetas como personas distintas en el conjunto de imágenes. Persona 1 Persona 2 Persona c Datos de entrenamiento n MN Etiquetas 1 2 c 20

Datos de entrenamiento Para hacer un modelo de referencia más preciso de cada persona, es recomendable considerar variaciones en el rostro como poses, expresiones o accesorios (e.g., lentes). 21

Entrenamiento ENTRADA Conjunto de n imágenes y c personas Generar datos de entrenamiento Reducir dimensionalidad con PCA Información discriminante con LDA X R MN µ R MN W PCA R n c W LDA R c 1 Matriz de proyecciones final: W=W PCA W LDA Generar modelos de referencia: P=(X μ)w 22 SALIDA W R c 1 P R c 1 µ R MN

Entrenamiento Modelos de referencia (proyecciones Fisherfaces) Imágenes de entrenamiento 23

Entrenamiento Modelos de referencia (proyecciones Fisherfaces) Imágenes de entrenamiento 24

Reconocimiento En la etapa de reconocimiento, una imagen de un rostro de tamaño M N es convertida a un vector x t, el cual se proyecta al espacio de Fisherfaces como: q =(x t µ)w El modelo de prueba q se compara contra todos los modelos de referencia P={p 1,,p n } para identificar al sujeto con mayor similaridad. La similaridad se mide en términos de la distancia Euclidiana y la decisión se hace con base en los k modelos más parecidos. A este enfoque de clasificación se le conoce como regla de los k vecinos más cercanos (KNN, k-nearest neighbor). Una persona es reconocida si la media de la distancia Euclidiana a los k vecinos más cercanos es menor a un umbral predeterminado, en caso contrario se clasifica como desconocida. 25

Reconocimiento El algoritmo KNN mide la distancia Euclidiana entre un modelo de prueba y sus k modelos de referencia más cércanos y lo clasifica hacia el modelo de referencia que tenga mayor presencia. Persona 1 Persona 2 q Persona 3 Un modelo de prueba q se compara con sus k=5 vecinos más cercanos y se reconoce como Persona 1, ya que es el modelo de referencia mayoritario en su vecindario. 26

Reconocimiento ENTRADA Imagen de prueba Datos de entrenamiento W,µ Convertir a espacio de MN variables Proyectar a Fisherfaces P q Reconocer con KNN SALIDA Nombre de la persona 27

Reconocimiento Modelo de referencia 1 Modelo de referencia 2 Modelo de prueba 28

Práctica 29

MATLAB Para el desarrollo de la práctica se utilizará MATLAB versión 2016a. MATLAB (matrix laboratory) es un lenguaje numérico de alto nivel basado en la manipulación de matrices, por lo que es muy útil en el análisis de imágenes. Un programa se contruye mediante la llamada a funciones que realizan tareas particulares y su sintaxis es: [out1,out2,,outn]=myfun(in1,in2,,inm); donde myfun es el nombre de la función que tiene M argumentos de entrada in y N argumentos de salida out. El símbolo de punto y coma ; evita que los argumentos de salida se impriman en pantalla y no genera ningún error sino se coloca. 30

Banco de imágenes Se utilizará el banco de imágenes The ORL Database of faces disponible en: http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html Contiene imágenes de 40 personas diferentes y de cada una hay 10 fotografías del rostro. El tamaño de las imágenes es 92 112 píxeles. El banco de imágenes se ha divido en tres conjuntos: Entrenamiento (315 fotos): 35 individuos y 9 fotos de cada uno. Reconocimiento (35 fotos): una foto por cada individuo existente en el conjunto de entrenamiento. Desconocido (5 fotos): cinco individuos que no están contenidos el conjunto de entrenamiento. 31

Sistema de RAR El sistema de reconocimiento de rostros involucra ejecutar primero el entrenamiento (con una vez es suficiente) y después el reconocimiento de una persona. 32

Funciones El sistema de reconocimiento de rostros utiliza siete funciones diferentes: interface, es el programa principal del sistema de RAR. [X,y,SubjectNames]=train_data(pathTr), genera los datos de entrenamiento: - Entrada: pathtr contiene la ruta del directorio del conjunto de entrenamiento. - Salidas: X es la matriz de entrenamiento; y son las etiquetas que identifican a cada persona; SubjectNames, es la lista de nombres de las personas en el conjunto de entrenamiento. V=image2vector(I), convierte una imagen a vector: - Entrada: I es la imagen del rostro de una persona. - Salida: V es el vector de los píxeles de la imagen. 33

Funciones [Wpca,mu_]=pca(X,y), aplica el método PCA - Entradas: X es la matriz de entrenamiento; y son las etiquetas que identifican a cada persona. - Salidas: Wpca es la matriz de proyecciones para la reducción de dimensionalidad; mu_ es el vector de medias de las variables de la matriz de entrenamiento. XM=subtract_mean(X,mu_), resta la media de una matriz o vector (centralización): - Entrada: X es la matriz de entrenamiento o un vector de imagen, mu_ es el vector de medias. - Salida: XM es la matriz de entrenamiento o un vector de imagen centralizado. 34

Funciones Wlda=lda(X,y), aplica el método LDA - Entradas: X es la matriz con dimensionalidad reducida con PCA; y son las etiquetas que identifican a cada persona. - Salida: Wlda es la matriz de proyecciones LDA. c=knn(p,q,y), clasificador de los k vecinos más cercanos: - Entradas: P son los modelos de referencia; Q es el modelo de prueba; y son las etiquetas que identifican a cada persona. - Salida: c etiqueta de la persona reconocida. Si c=0 la persona es desconocida. 35

Entrenamiento En la función interface se programará la acción del botón Entrenar sistema, llamando en el orden correcto las funciones necesarias para el entrenamiento. Esto se hace dentro de la función push_ent_callback. Los pasos a seguir son: 1. Generar los datos de entrenamiento. 2. Aplicar PCA a los datos de entrenamiento. 3. Reducir la dimensionalidad de los datos de entrenamiento. 4. Aplicar LDA a los datos con dimensionalidad reducida. 5. Computar la matriz de proyecciones Fisherfaces. 6. Generar los modelos de referencia. 36

Reconocimiento En la función interface se programará la acción del botón Reconocer sujeto, llamando en el orden correcto las funciones necesarias para el reconocimiento. Esto se hace dentro de la función push_rec_callback. Los pasos a seguir son: 1. Convertir la imagen de prueba a vector. 2. Proyectar el vector al espacio de Fisherfaces (modelo de prueba). 3. Aplicar KNN para reconocer al modelo de prueba. 37