Adrián Moreno Zapata Daniel Pérez de Andrés
Búsqueda y Seguimiento de caras ◦ Imitación del comportamiento del ojo humano ◦ Seguimiento inteligente Estudio de atención ◦ Aplicar y valorar diversos mecanismos de llamar y mantener la atención
El brazo realizará barridos pseudo-aleatorios dentro de un campo de visión limitado. Una vez detectada una cara, seguirla hasta donde permita el movimiento del brazo. Diferenciar la cara detectada previamente de otras caras que se puedan detectar.
Una vez detectada una cara, se iniciarán diversos mecanismos para llamar y mantener la atención. (p.ej. Luces, música, chistes, etc.) Cada uno de los mecanismos serán valorados dependiendo del tiempo que se mantenga la atención durante su aplicación.
Busqueda y seguimiento de caras ◦ Mediante brazocamara.c, la webcam y main.cpp Evaluación de fotos ◦ Se almacena el tiempo que mantiene la atención cada foto
En primer lugar, barrido pseudoaleatorio con el brazo mecánico La webcam busca caras con ojos Un vez encontrada una cara se mueve el brazo de tal forma que esta esté siempre centrada en la imagen de la webcam Si se pierde la cara, se espera un breve periodo de tiempo y se vuelve al barrido pseudoaleatorio
Durante el barrido pseudoaleatorio se muestra una presentación de fotos en orden aleatorio. Cuando se detecta una cara, se fija en pantalla la foto que se está mostrando en ese momento y se pone en marcha un contador Una vez que la cara salga del rango de vision de la webcam, se almacena en un archivo el tiempo que ha corrido el contador y varias características asociadas a la foto en cuestión
Hardware: ◦ Plataforma ENT2004CF ◦ Brazo mecánico ◦ Webcam ◦ Ordenador ◦ Cable cruzado Ethernet Software: ◦ Librería OpenCV (facedetect.c) ◦ Visual Studio C++ Express Edition ◦ Trivial FTP ◦ Software desarrollado por los alumnos Main.cpp Brazocamara.c
Protocolo de comunicaciones Movimiento del brazo Seguimiento de personas
Hemos creado un protocolo. Contamos con un archivo que va tomando un número de referencia entre 0 y 255 en el cual se va almacenando la información recopilada por la cámara. Problema existente: COLISIONES Solucionado con estructura try-catch en C++ y cambiando los niveles de interrupcion en brazocamara.c
El archivo de datos que lee el Coldfire cuenta con: Cara lateral o cara frontal Coordenada x de la cara Coordenada y de la cara Radio de la cara
Con estos datos podemos modelar el comportamiento del brazo. Si la cara es lateral debemos llamar su atención. Si es frontal debemos contabilizar el tiempo que tenemos su atención. Las coordenadas nos permiten indicar hacia donde se ha de mover el brazo para no perder de vista a la persona Con el radio podemos decidir si acercar o alejar el brazo de la persona
Algoritmo realimentado Objetivo: ◦ Centrar centro de la cara ◦ Toma las coordenadas como el error respecto al centro Ejerce un movimiento proporcional al error en cada eje Una constante por cada motor del brazo a determinar de forma práctica
En base al algoritmo que permite distinguir la persona detectada con anterioridad frente a otras, podemos inducir al brazo a seguir a esta persona hasta que salga fuera de los limites mecánicos del brazo
Cogiendo el proyecto donde lo hemos dejado nosotros, ¿Qué objetivos se pueden buscar? Investigación en Publicidad Estudio de conductas humanas Interactividad humano-máquina mediante gestos …