reconocimiento de rostros con redes neuronales...
TRANSCRIPT
![Page 1: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/1.jpg)
Reconocimiento de rostros con Redes Neuronales Convolucionales
Redes Neuronales (66.63)
FIUBAMario Azcueta
![Page 2: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/2.jpg)
Reconocimiento de rostros
DETECTAR un rostro
en una escena
IDENTIFICAR un rostro
en particular (clasificar)
![Page 3: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/3.jpg)
Las CNNs se aplicarán al problema de IDENTIFICACIÓN en este caso
Se busca un sistema veloz, de identificación en tiempo real
![Page 4: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/4.jpg)
Se dispone de:
Banco de imágenes de rostros de personas a las cuales se quiere reconocer
![Page 5: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/5.jpg)
Se dispone de:
Banco de imágenes de rostros de personas a las cuales se quiere reconocer
Varias imágenes por persona (aprox 4)
![Page 6: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/6.jpg)
Se dispone de:
Banco de imágenes de rostros de personas a las cuales se quiere reconocer
Varias imágenes por persona (aprox 4)
Imágenes normalizadas. Pueden variar pose, iluminación, detalles menores
![Page 7: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/7.jpg)
Terminología:
Cada persona representa una clase
Las imágenes son muestras, que pertenecen a una cierta clase
Hay imágenes de entrenamiento y de test
La identificación de un rostro constituye un proceso de clasificación
![Page 8: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/8.jpg)
Terminología:
Muestras de
test
Muestras de
entrenamiento
Clases
![Page 9: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/9.jpg)
Objetivo de las CNNs
Armar un clasificador de rostros que logre generalizar
Se entrena a la red con las muestras de entrenamiento
Debe identificar a la misma persona, aunque se le muestre una imagen nueva
![Page 10: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/10.jpg)
Operación del clasificador
1. Se comprime la imagen (SOM o PCA)
2. Se muestra la imagen comprimida a la CNN
3. La CNN determina a qué clase pertenece
![Page 11: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/11.jpg)
Sistema de compresión
Se utiliza una red de Kohonen (SOM) tridimensional de 5x5x5 nodos
![Page 12: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/12.jpg)
Sistema de compresión
Se utiliza una red de Kohonen (SOM) tridimensional de 5x5x5 nodos
Función de vecindad Gaussiana
![Page 13: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/13.jpg)
Sistema de compresión
Se utiliza una red de Kohonen (SOM) tridimensional de 5x5x5 nodos
Función de vecindad Gaussiana
10e3 epochs de ordenamiento (desvío fijo, tasa de aprendizaje 0.7)
![Page 14: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/14.jpg)
Sistema de compresión
Se utiliza una red de Kohonen (SOM) tridimensional de 5x5x5 nodos
Función de vecindad Gaussiana
10e3 epochs de ordenamiento (desvío fijo, tasa de aprendizaje 0.7)
5e3 epochs de refinamiento (desvío decreciente, tasa de aprendizaje 0.02)
![Page 15: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/15.jpg)
Entrenamiento del SOM
1. Se extraen sucesivas ventanas (frames) de 8x8 píxeles de las imágenes de entrenamiento, con la mitad de solapamiento
![Page 16: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/16.jpg)
2. Cada ventana se muestra como vector al SOM
3. Se elije la neurona ganadora, y se actualizan sus pesos y los de la vecindad:
![Page 17: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/17.jpg)
Compresión con el SOM
Dada una imagen a comprimir:
1. Se extraen las sucesivas ventanas de 8x8
![Page 18: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/18.jpg)
Compresión con el SOM
Dada una imagen a comprimir:
1. Se extraen las sucesivas ventanas de 8x8
2. Se muestra cada ventana como vector de 64 puntos al SOM. Se elije la neurona ganadora
![Page 19: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/19.jpg)
Compresión con el SOM
Dada una imagen a comprimir:
1. Se extraen las sucesivas ventanas de 8x8
2. Se muestra cada ventana como vector de 64 puntos al SOM. Se elije la neurona ganadora
3. El vector de 64 puntos queda así reducido a uno de 3 puntos (red 3D), con las coordenadas de la neurona ganadora
![Page 20: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/20.jpg)
La imagen original se reduce a 3 matrices de 1/16 el tamaño de la imagen original c/u
grayscale, 128x192
grayscale, 3@32x48
![Page 21: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/21.jpg)
Se tiene una compresión de 3:16 (aprox 1:5)
El SOM actúa como algoritmo de clustering, representando a todas las ventanas extraídas sólo por los vectores más representativos
![Page 22: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/22.jpg)
Arquitectura y funcionamiento de CNN
![Page 23: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/23.jpg)
Formada por capas y mapas
Se suceden capas de convolución (impares) y de submuestreo (pares)
![Page 24: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/24.jpg)
Cada círculo es una neurona tipo perceptrón Las neuronas de un mismo mapa compartentodas los mismos pesos Cada neurona tiene como entrada una sección fija de 1 o varios mapas de la capa anterior (campos receptivos). El tamaño de la sección es variable
![Page 25: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/25.jpg)
g(h) = tanh(h)
Perceptrones
![Page 26: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/26.jpg)
En las capas de convolución, los campos receptivos se mueven de a 1 pixel (tienen solapamiento). Es análogo a una convolución
Capas de convolución
![Page 27: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/27.jpg)
Capas de convolución
![Page 28: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/28.jpg)
En las capas de submuestreo, los campos receptivos son de 2x2 y se mueven de a 2 píxeles. Cada perceptrón tiene 4 pesos iguales
Capas de submuestreo
![Page 29: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/29.jpg)
Capas de submuestreo
![Page 30: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/30.jpg)
Tres ideas centrales:
Campos receptivos locales (la distribución espacial de la entrada importa)
Pesos compartidos
Sub-muestreo espacial
Estos dos últimos facilitan la generalización(LeCun) El número de mapas es incrementado a la vez que la resolución espacial reducida
![Page 31: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/31.jpg)
CNN utilizada
![Page 32: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/32.jpg)
Entrenamiento de la CNN
Las imágenes de entrenamiento comprimidas se usan para entrenar la CNN. Para cada imagen:
1. Se la normaliza restando la media y dividiendo por el desvío std. Esto previene la saturación de la red
![Page 33: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/33.jpg)
2. Se presenta la imagen a la red, y se obtiene la salida. Como se a qué persona corresponde el rostro, conozco la salida deseada. Esto es un vector con '1' en la posición que corresponde a la clase y '-1' en el resto
3. Se calcula el error en la salida, y con este se actualizan los pesos de la CNN utilizando backpropagation
![Page 34: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/34.jpg)
Backpropagation
Se entrena usando el algoritmo de backpropagation, adaptado a la arquitectura de la CNN
Primero, un repaso del algoritmo aplicado a perceptrones multicapa...
![Page 35: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/35.jpg)
Imágenes de http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
![Page 36: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/36.jpg)
![Page 37: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/37.jpg)
![Page 38: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/38.jpg)
![Page 39: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/39.jpg)
![Page 40: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/40.jpg)
![Page 41: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/41.jpg)
![Page 42: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/42.jpg)
![Page 43: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/43.jpg)
![Page 44: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/44.jpg)
![Page 45: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/45.jpg)
![Page 46: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/46.jpg)
![Page 47: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/47.jpg)
![Page 48: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/48.jpg)
![Page 49: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/49.jpg)
![Page 50: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/50.jpg)
![Page 51: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/51.jpg)
![Page 52: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/52.jpg)
![Page 53: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/53.jpg)
![Page 54: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/54.jpg)
El algoritmo se aplica sin modificaciones a la CNN, neurona a neurona
Una forma eficiente para implementarlo es mediante convoluciones 2D, como se ve a continuación
* Ver Notes on Convolutional Neural Networks, Jack Bouvrie (MIT, 2006)
![Page 55: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/55.jpg)
Capas de convolución
La salida del mapa 'j' de la capa 'l' es:
'i' indexa los mapas de la
capa 'l-1' que toma el mapa
j de la capa l
![Page 56: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/56.jpg)
Capas de convolución
El delta para el mapa 'j' de la capa 'l' se computa como
donde
esto no es mas que propagar la delta hacia atrás, multiplicando por los pesos y la derivada de la función de activación
![Page 57: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/57.jpg)
Capas de convolución
Los gradientes resultan
los pesos son actualizados restándoles el gradiente y multiplicando por la tasa de aprendizaje ( )t
![Page 58: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/58.jpg)
Capas de submuestreo
La salida del mapa 'j' de la capa 'l' es:
'down' suma los elementos
de bloques de 2x2 de un mapa,
sin solapamiento
![Page 59: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/59.jpg)
Capas de submuestreo
El delta para el mapa 'j' de la capa 'l' se computa como
otra vez, esto no es mas que propagar la delta hacia atrás, multiplicando por los pesos y la derivada de la función de activación
![Page 60: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/60.jpg)
Capas de submuestreo
Los gradientes resultan
los pesos son actualizados restándoles el gradiente y multiplicando por la tasa de aprendizaje ( )t
![Page 61: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/61.jpg)
Tasa de aprendizaje
La tasa de aprendizaje es tipo "search then converge"
( )t
![Page 62: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/62.jpg)
Verificación del algoritmo
Para verificar la correcta implementación se aproximan los deltas como
y se compara con los obtenidos mediante backpropagation. La diferencia debe ser mínima (1e-4 %)
![Page 63: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/63.jpg)
Elección de la clase ganadora
Se estima la probabilidad a posteriori de la clase ganadora mediante la transformada softmax
es la posición k del vector de salida, dada la imagen de entrada x
N es el número total de clases
Puede usarse como medida de confianza
( )kA x
![Page 64: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/64.jpg)
Simulaciones y resultados
Se usaron imágenes de la base de datos FERET
4 imágenes de entrenamiento
![Page 65: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/65.jpg)
Simulaciones y resultados
Se usaron imágenes de la base de datos FERET
4 imágenes de entrenamiento
4 imágenes de test
![Page 66: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/66.jpg)
Simulaciones y resultados
Se usaron imágenes de la base de datos FERET
4 imágenes de entrenamiento
4 imágenes de test
Número de clases (personas) variable de 10 a 40
![Page 67: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/67.jpg)
Simulaciones y resultados
Se usaron imágenes de la base de datos FERET
4 imágenes de entrenamiento
4 imágenes de test
Número de clases (personas) variable de 10 a 40
10e3 epochs de entrenamiento, con tasa de aprendizaje search then converge
![Page 68: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/68.jpg)
Simulaciones y resultados
Excepto en los casos donde se aclare, todos los experimentos se realizaron con:
4 imágenes de entrenamiento por clase
4 imágenes de test por clase
20 clases
SOM de 3 dimensiones con 5 nodos/dimensión
![Page 69: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/69.jpg)
![Page 70: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/70.jpg)
Imagen 128x192
1. 3@48x32
2. 20@44x28
3. 20@22x14
4. 25@18x10
5. 25@9x5
6. 5@1x1
![Page 71: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/71.jpg)
Error según número de clases
![Page 72: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/72.jpg)
Error según dimensión SOM
![Page 73: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/73.jpg)
Error según imágenes de entrenamiento
![Page 74: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/74.jpg)
Medición de confianza
![Page 75: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/75.jpg)
Error y tasa de rechazos
![Page 76: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/76.jpg)
Otras aplicaciones de las CNN
Reconocimiento de caracteres alfanuméricos
Reconocimiento de expresiones en rostros
Reconocimiento de habla
Detección de objetos en general
Clasificación de señales de EEG
Tracking en secuencias de video
![Page 77: Reconocimiento de rostros con Redes Neuronales …materias.fi.uba.ar/6663/download/clases/Slides_CNNs.pdf · Banco de imágenes de rostros de personas a las cuales se quiere reconocer](https://reader031.vdocuments.pub/reader031/viewer/2022022420/5a7fae387f8b9a571e8be7d3/html5/thumbnails/77.jpg)
Referencias:
[1] Hertz, Krogh, Palmer. Introduction to the theory of neural computation. Addison-Wesley, 1991.
[2] LeCun, Bengio. Convolutional Networks for Images, Speech and Time-Series. The Handbook of Brain Theory and Neural Networks. MIT Press, pp. 255-258, 1995.
[3] Lawrence, Giles, Tsoi, Back. Face recognition: A Convolutional Neural Network Approach. IEEE transactions on Neural Networks, Vol. 8, No. 1, January 1997.
[4] Bouvrie. Notes on Convolutional Neural Networks. Center for Biological and Computational learning, MIT 2006.
[5] Browne, Ghidary. Convolutional Neural Networks for Image Processing: An Application in Robot Vision. AI 2003: Advances in Artificial Intelligence, pp. 641-652. 2004.
[6] LeCun, Bottou, Haffner. Gradient-Based Learning Applied to Document Recognition. Proceedings of the IEEE, Vol. 86, No. 11, Nov 1998.
[7] LeCun, Bottou, Orr, Muller. “Efficient BackProp”, in: Neural Networks: Tricks of the trade. Springer, 1998.
[8] Kohonen. Self-Organizing Maps. Springer-Verlag, Berlin, 1995.
[9] Muhlbaier, Topalis, Polikar. Ensemble Confidence Estimates Posterior Probability. Springer-Verlag, Berlin, 2005.
[10] Turk, Pentland. Face recognition using eigenfaces. Proc. IEEE Conference on Computer Vision and Pattern Recognition (1991), pp. 586–591.
[11] Fukushima, Miyake, Ito. Neocognitron: a neural network model for a mechanism of visual pattern recognition. IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-13(Nb. 3):pp.826-834, September/October 1983.