Introducción
En esta entrada vamos a presentar el proyecto 3 del laboratorio de Sistemas Adaptativos, el cual consiste en un programa escrito en lenguaje C que detecta los ojos de las personas en una cámara web.
Objetivo
El objetivo de esta práctica es conocer un poco más sobre el funcionamiento de sistemas inteligentes para reconocer patrones.Justificación
En esta práctica 3 decidimos hacer un programa de reconocimiento facial, que detecte específicamente los ojos de los usuarios. Anteriormente habíamos pensado hacer un programa que fuera una calculadora que reconociera los caracteres dibujados en la pantalla y realizara las operaciones correspondientes. Lo pensamos mucho, pero tuvimos una serie de inconvenientes, por lo cual decidimos cambiar de proyecto. Uno de ellos fue que al momento de hacer las multiplicaciones o las sumas, se tenía que "despegar" el cursor de la pantalla. Es decir, había que hacer dos clics para poder formar la cruz o la X. Por lo tanto no funcionaba y lo podía tomar como una división o número, o simplemente ignorarlo. Por lo tanto no iba a quedar como debía ser.
Desarrollo
Se utilizó la librería OpenCV, la cual es para reconocimiento de patrones. Sin esta librería no hubiésemos podido realizar la práctica, o al menos no así de sencillo. El lenguaje seleccionado en este caso fue Python. El código utiliza gran parte de estas librerías. Decidimos centrarnos en los ojos ya que casi todos se centran en el rostro completo; nosotros quisimos hacer algo un poco diferente.
Primero en nuestro código asignamos ciertas variables, como por ejemplo dónde está el archivo XML que contiene el "entrenamiento" para poder detectar la vista. Después cargamos el reconocimiento y comenzamos a hacer una serie de especificaciones para que se pueda reconocer mejor la imagen. También asignamos cómo se definen los ojos, qué forma queremos que los enmarque y qué color, en nuestro caso el rojo. Al final mencionamos que al presionar la tecla "q" se salga del programa. Básicamente esto es lo que hicimos, dejamos el código y después un video.
Primero en nuestro código asignamos ciertas variables, como por ejemplo dónde está el archivo XML que contiene el "entrenamiento" para poder detectar la vista. Después cargamos el reconocimiento y comenzamos a hacer una serie de especificaciones para que se pueda reconocer mejor la imagen. También asignamos cómo se definen los ojos, qué forma queremos que los enmarque y qué color, en nuestro caso el rojo. Al final mencionamos que al presionar la tecla "q" se salga del programa. Básicamente esto es lo que hicimos, dejamos el código y después un video.
http://pastebin.com/cPiJYHes
http://youtu.be/ULsCxVVc7n0
Resultado y conclusiones
Como resultado obtenemos un programa que efectivamente detecta la mirada, pero como podemos apreciar en el video, todavía falta mejorarlo un poco, ya que en ocasiones no reconoce bien. A este programa probablemente se le pueda dar más funcionalidad, pero eso requerirá un poco más de análisis.
Revisado.
ResponderEliminar