150 likes | 259 Views
Brazo con cámara Conclusiones finales. Adrián Moreno Zapata Daniel Pérez de Andrés . Objetivos iniciales. Búsqueda y Seguimiento de caras Imitación del comportamiento del ojo humano Seguimiento inteligente Estudio de atención
E N D
Brazo con cámaraConclusiones finales Adrián Moreno Zapata Daniel Pérez de Andrés
Objetivos iniciales • 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
Búsqueda y Seguimiento de caras • 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.
Estudio de atención • 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.
Proyecto final • 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
Busqueda y seguimiento de caras • 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
Evaluación de fotos • 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
Material • 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
En detalle • Protocolo de comunicaciones • Movimiento del brazo • Seguimiento de personas
Protocolo de comunicaciones • 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
Archivo que se almacena 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
Archivo que se almacena 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
Movimiento del brazo • 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
Seguimiento de personas 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
¿Dónde podemos llegar? 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 • …