Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Copy of Redes Neuronales

No description
by

on 7 December 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Copy of Redes Neuronales

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
DIVISIÓN DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
RECONOCIMIENTO FACIAL, UN CASO PRÁCTICO DE LOS CLASIFICADORES INTELIGENTES
Presentan:

FRANCISCO RAMÍREZ MORALES
ENRIQUE ALEJANDRO RODRÍGUEZ ROBLES
TESIS
OBJETIVO PRINCIPAL
Desarrollar un módulo de reconocimiento facial, utilizando un clasificador inteligente, que permitan abstraer elementos esenciales de un rostro para poder identificarlo y obtener una eficiencia óptima (relación 80-20) dados los estándares de la categoría @Home del torneo de Robótica “Robocup”.
OBJETIVOS SECUNDARIOS
Revisar diferentes clasificadores, así como decidir por el más óptimo para realizar el sistema.

Realizar un sistema de visión de alto nivel.

Realizar diversas pruebas para obtener la mejor imagen al hacer el reconocimiento facial.
RoboCup
Es un torneo de robótica internacional fundado en 1997, dentro del cual existen diversas categorías, las cuales modifican sus reglas año con año en base a las distintas características que debe tener el competidor, en este caso, es generar un equipo de f
útbol
robot-humanoide, capaz de vencer al equipo ganador más reciente de la Copa Mundial de f
útbol
humana.
Este torneo cuenta con 4 grandes competencias, cada una de estas tiene varias categorías internas dependiendo de la modalidad.
RoboCup Soccer
Las diferentes ligas atienden a la morfología del robot y siguen diferentes conjuntos de reglas:

• Liga de simulación, donde no existen robots físicos, sino que se enfrentan en un terreno virtual.

• Liga de robots de tamaño pequeño.

• Liga de robots de tamaño medio.

• Liga de robots con cuatro patas.

• Liga de robots humanoides.
RoboCup Rescue
Hay dos ligas diferentes, en función de si se lleva a cabo en el terreno físico o virtual:

• Liga de simulación de rescate.

• Liga de rescate real.
RoboCup Junior
Hay diferentes formatos:

• Fútbol, en equipos de 2 contra 2.

• Rescate, las reglas son similares al concurso global, pero el escenario es más básico y sencillo.

• Baile, en el que los participantes deben escoger una canción y robots autónomos que bailen a su ritmo.
Robocup @Home
Las pruebas que realiza un robot de la categoría @Home, incluyen:

• Interacción hombre-máquina.
• Ser socialmente relevante.
• Ser de aplicación dirigida / orientada.
• Ser científicamente desafiante.
• Ser fácil de configurar y baja en costos.
• Ser simple y tener reglas auto-explicativos.
• Ser interesante al observar.
• Tomar decisiones en corto tiempo.
ARQUITECTURA DE UN SISTEMA DE VISIÓN POR COMPUTADORA
La Visión por computadora permite reconocer y localizar objetos mediante el procesamiento de imágenes.
La arquitectura de un sistema de visión por computadora, se divide en tres grandes módulos, a saber:

• Visión de bajo nivel – Adquisición de imágenes.

• Visión de medio nivel – Pre-procesamiento.

• Visión de alto nivel – Inteligencia Artificial.
VISTA ESTEREOSCÓPICA
La complejidad del cerebro en los seres vivos permite obtener una gran cantidad de información a partir de los datos obtenidos con los globos oculares.
BAJO NIVEL – ADQUISICIÓN DE IMÁGENES
Proceso mediante el cual se realiza una representación visual del mundo físico que tiene información que involucra la captura, muestreo, cuantificación y codificación.
FILTRO DE COLOR
Funciona bloqueando la parte de la luz que deseamos.
FILTRO DE LA MEDIANA
Tomamos el valor que ocupa el lugar central de todos los datos cuando éstos están ordenados de menor a mayor.
FILTRO DE LA MEDIA
Este se obtiene sumando todos los datos y dividir el resultado entre el número total de datos, donde el pixel adquiere el valor obtenido.
FILTRADO DE MÁXIMO Y MÍNIMO
El filtro de máximo, selecciona el valor mayor dentro de una ventana ordenada de valores de pixeles que, trabaja a la inversa, es decir, con ruido de tipo pimienta (valores pequeños).

El filtro mínimo selecciona el valor más pequeño trabajando con ruido de tipo sal (valores altos).
Este proceso permite observar la imagen con el fin de encontrar el umbral óptimo que significa la mejor visualización de la imagen.
UMBRALIZACIÓN
MEDIO NIVEL - PREPROCESAMIENTO
Este nivel permite agrupar y procesar los elementos resultantes del procesamiento de bajo nivel.
DETECCIÓN DE BORDES
Es la manipulación de una imagen original y que supone una transición, entre dos regiones de niveles de gris distintos en la imagen.

Debido a esto los pixeles originales se modifican mediante las funciones de transformación y operadores.
SEGMENTACIÓN
Es la separación de la imagen en unidades significativas y es fundamental para llegar al reconocimiento de objetos.

Una forma de segmentar la imagen es mediante la determinación de los bordes.
ALTO NIVEL - PROCESAMIENTO
Permite la interpretación de la información estructural (escenas y objetos) más relevante, obtenida en niveles anteriores.

Trata de emular una de las principales capacidades inteligentes de la mente humana.
RECONOCIMIENTO DE PATRONES: ESTIMACIÓN, AGRUPACIÓN Y CLASIFICACIÓN
Es la disciplina científica que tiene como objetivo, la clasificación de objetos en un cierto número de categorías o clases, dependiendo de la aplicación estos objetos pueden ser imágenes, formas de ondas de señales o cualquier tipo de medidas que necesitan ser clasificadas.
FORMULACIÓN DEL PROBLEMA DE APRENDIZAJE
Es el proceso donde se estima una dependencia desconocida (entrada, salida) o estructura de un sistema utilizando un número limitado de observaciones.

Se tienen 2 tipos de aprendizaje:
Aprendizaje supervisado:
Utilizado para estimar una relación desconocida a partir de muestras conocidas.

Aprendizaje no supervisado:
Se proporciona al sistema de aprendizaje las muestras de entrada y no existe noción alguna de la salida durante el aprendizaje.
REDES NEURONALES
Así como los humanos aplicamos el conocimiento ganado con la experiencia a nuevos problemas o situaciones, una red neuronal toma como ejemplo, problemas resueltos para construir un sistema que toma decisiones y realiza clasificaciones.

La tecnología neuronal reproduce el proceso de solución de problemas del cerebro.
CLASIFICADORES INTELIGENTES
Para el desarrollo del prototipo, se realizó una investigación de tipo documental, revisando las características principales de los clasificadores inteligentes para llegar a la elección, de cual clasificador, era el más adecuado para nuestro sistema:

• Bayesiano
• Red neuronal
• Lógica difusa
HISTORIA
1943, McCulloch-Pitts

1949, Regla de Hebb

1959, Perceptrón

1960, Adaline
VENTAJAS
Aprendizaje.
Auto organización.
Tolerante a fallos.
Flexibilidad.
Tiempo real.
Adaptativo.
TOPOLOGÍA DE LAS RNA
Es el número de elementos procesados que forman la red y las interconexiones existentes entre ellos.
TOPOLOGÍA UTILIZADA
APLICACIONES
1. Reconocimiento de textos manuscritos
2. Reconocimiento del habla
3. Reconocimiento de objetos
4. Detección de explosivos
5. Identificación de blancos de radares
DISEÑO
Para el correcto funcionamiento de la aplicación, utilizaremos una metodología TOP-DOWN, para lo cual es necesario comenzar con los posibles módulos y esquemas que se desarrollarán para el diseño y funcionamiento de la interfaz.
DIAGRAMA DE USO
DIAGRAMA DE USO - AñADIR
DIAGRAMA DE USO - EDITAR
DIAGRAMA DE USO - AñADIR DESDE ARCHIVO
DESARROLLO
Esta aplicación fue un trabajo extenso por lo cual elaboramos el proyecto en distintos módulos.

Para la elección del lenguaje de programación se realizó una investigación sobre los posibles lenguajes a utilizar, al concluir dicho trabajo, se decidió ocupar el lenguaje M de Matlab, ya que este lenguaje incluye tres Toolboxs (caja de herramientas, equivalente a librerías) en las cuales se incluyen funciones específicas para el desarrollo de este tipo de aplicaciones, a saber:
a) Toolbox de adquisición de imágenes.

b) Toolbox de procesamiento de imágenes.

c) Toolbox de Redes Neuronales.
GENERACIÓN DE LA BASE DE DATOS
MODELO RGB
a) Imagen original
b) Filtro de la mediana
a) Imagen original
b) Filtro de la media
Imagen original
Mínimo
Máximo
COMPONENTES DE LA RNA
REGLA DE APRENDIZAJE: RETROPROPAGACIÓN
Es una regla de aprendizaje que se aplica en modelos de redes con más de dos capas de células.
Hebb observó que la sinapsis (conexión entre 2 neuronas reales) se reforzaba sí la neurona de entrada (o presináptica) y la neurona de salida (o postsináptica) eran activadas de manera continua. De esta forma, las conexiones que se usan son las que se refuerzan.
REGLA DE HEBB
CAPTURA DE IMAGEN
Se desarrollo el módulo de captura de imágenes, primeramente se activa el puerto de la cámara para poder tener acceso al canal de video, una vez en funcionamiento la cámara, se procede a capturar la imagen para posteriormente comenzar a tratar el objeto y reconocerlo.
Interfaz de captura
ELIMINACIÓN DE RUIDO GAUSSIANO
Una vez capturada la imagen, es muy común que se obtengan elementos exógenos en ella, para lo que es necesario revisar una serie de filtros con el objetivo de eliminar estos contaminantes externos del objeto de estudio.
Ruido gaussiano
ETIQUETADO Y ELIMINACIÓN DE BLOB’S
En este módulo, después de haber aplicado los algoritmos de filtrado y umbralización, se procede a realizar el etiquetado de la imagen, este proceso asigna a cada pixel-objeto una etiqueta, de tal manera que los objetos con pixeles vecinos tienen etiquetas idénticas.
Etiquetado 1
Etiquetado 2
Eliminación de blob’s
En esta parte del software, deberán eliminarse los blobs con el objetivo de que la imagen quede limpia y podamos utilizarla para su reconocimiento, ya que con el simple hecho de que exista un blob, éste podría fallar.
ELIMINAR BLOB'S
Etiquetado sin blob's
SEGMENTACIÓN
Es un proceso mediante el cual la imagen es descompuesta en distintos objetos de interés.

Este módulo se desarrolló con el uso del umbral óptimo y una vez aplicado el filtro mínimo posterior al filtrado de aplicados, el paso consecuente es separar la imagen en diferentes fragmentos, de forma que divide el rostro en distintas partes como cejas, ojos, nariz, boca, cabello y parte del dorso.
Segmentación
DESCRIPTORES
En este módulo utilizamos descriptores tales como el brillo, varianza, simetría, energía y entropía los cuales nos arrojaran parámetros de la imagen y que con esos datos obtendremos una correcta visualización de la imagen lo que facilitará el reconocimiento facial.
Descriptores
Interfaz capturar imagen
Imagen muestra
Interfaz “Abrir Imagen”
Selección de imagen
Visualizar imagen
“Transformación escala de grises”
“Umbralización”
Obtención de bordes con gradiente
Segmentación del cabello del individuo de prueba
Imagen original y filtros estadísticos

PRUEBAS
A continuación, presentamos las pantallas obtenidas en la Interfaz Principal, la cual nos ayuda a realizar diversas pruebas.
MÓDULO DE CAPTURA INICIAL
“Botón captura” muestra la imagen y datos capturados del usuario
Proceso concluido
Registro guardado
Selección de archivo
Proceso concluido desde archivo
Usuario añadido desde archivo
Editar registro
Edición de usuario
Edición de usuario proceso concluido
Edición de usuario registro guardado
Módulo de captura inicial “Reconocer”
Módulo de reconocimiento de rostros
Reconocer desde la cámara
Mensaje “Individuo es el buscado”
Reconocer desde archivo
Seleccionar imagen para reconocer desde archivo
Imagen seleccionada desde archivo
Mensaje “El individuo es el buscado”
CONCLUSIONES
Esta investigación resulto satisfactoria al igual que atractiva, desde el hecho de ir armando la idea del prototipo en papel y lápiz, empezar a tener ideas de cómo diseñarlo, hasta el diseño de prueba.

Estamos seguros que este prototipo es una buena opción para implementar dentro de un robot de la categoría @Home, ya que aunque el tiempo de entrenamiento es relativamente largo, el tiempo de reacción ante un rostro conocido es muy corto, lo cual lo hace eficiente y nos permite alcanzar los objetivos planteados en un principio.
Durante el desarrollo del prototipo, pasamos por una gran cantidad de atadijos que libramos de manera satisfactoria y con los cuales aprendimos de sobremanera.

El primer gran problema al cual nos enfrentamos fue la adquisición de una base de datos de individuos que otorgará las características mínimas de una buena muestra. Tuvimos que realizar en total cuatro sesiones de fotografía, en donde aprendimos a controlar, la luz, el brillo, el contraste, entre otros factores importantes para un sistema de visión basado en inteligencia artificial.
El desarrollo de los módulos nos llevó más tiempo de lo estimado, ya que las primeras pruebas realizadas no fueron las óptimas, pero ayudaron a mejorar el software. Debido a estas fallas no pudimos definir el umbral óptimo para obtener la correcta visualización de imagen y que es fundamental para el proceso de eliminación de ruido, el cual precede al proceso de etiquetado, donde identificamos cada objeto del rostro y el poder segmentar la imagen en objetos reales que se encontraron con elementos que funcionaban como ruido, por ejemplo, los blob’s, que son cúmulos de pixeles que no aportan ninguna información pero que aparecen recurrentemente. Estos pueden ser de bajo nivel, es decir, cúmulos pequeños de no más de veinte pixeles, pero también pueden ser muy grandes, como una sombra por un foco de luz externo al propio sistema.
Una vez elegido el clasificador que a nuestro parecer fue el más adecuado, hubo que encontrar una topología eficiente, este fue otro de los grandes problemas ya que no existe una metodología clara sobre cuál es la mejor estructura para que tipo de problemas, al final utilizamos una red con una topología muy sencilla (3-5-1) que resulto funcional ya que el número de entradas estaba limitado por las reglas de la categoría elegida. Sin embargo hubo que programar tres redes.

Gracias a la investigación desarrollada pudimos conocer el alcance que tiene la visión por computadora en el deseo de desarrollar sistemas que emulen el pensamiento y comportamiento humano, dentro de la inteligencia artificial existen diferentes clasificadores inteligentes como lo son las redes neuronales que demostraron ser un método eficiente para el procesamiento de imágenes.

Finalmente está investigación da como resultado un camino viable para corregir fallas encontradas en parámetros descriptores, eficiencia y seguridad en los modelos ya existentes, lo cual es una motivación para seguir trabajando en él para perfeccionarlo y poder asistir a un torneo de Robótica que es la finalidad por la cual se llevó a cabo esta investigación.
a) Imagen original
b) Umbralización
a) Imagen original
b) Bordes
Bordes
Interpretación visual
CONEXIÓN HACIA ADELANTE
APRENDIZAJE
Gracias por su atención.
Para el desarrollo de este proyecto se decidió implementar la Visión por computadora debido a que uno de los problemas principales dentro de la robótica científica es la identificación de rostros, esto sucede porque los sensores con los cuales se pretende captar la información espacial están supeditados a dos dimensiones.
Por lo cual no percibe características importantes de los objetos o en este caso rostros.
Full transcript