viernes, 31 de octubre de 2008

Head Mounted Eye Trackers

Esta es una lista de los Head Mounted Eye Trackers que he encontrado por la web:

I4Control

VisionKey

EyeLink II

EyeFrame

VisionTrak

H6 - HeadMounted

iView X™ HED

Aunque de ésta lista, sólo los dos primeros están orientados exclusivamente a la interacción con la computadora. El resto estan más orientados a la realización de estudios de eyetracking, ya que disponen de una cámara adicional que permite además capturar la escena en video para combinarla con la mirada del usuario.
Me sirven para darme una idea de cómo están armados, y qué especificaciones tienen.

domingo, 26 de octubre de 2008

Un posible uso para mi eyetracker

Luego de muchas horas de investigar, leer, y navegar por la web, mi mano muestra signos de stress por la utilización intensiva del mouse...

Image Hosted by ImageShack.us

Una posible solución a esto, sería utilizar una combinación de eyetracker + teclado.
Para esto sería necesario reemplazar el dwell time o tiempo predeterminado para el click automático por alguna tecla del teclado.
Se pueden simular los botones derecho e izquierdo del mouse con algunas teclas del teclado numérico. La rueda de scroll se puede reemplazar con un par de teclas para las funciones de scroll hacia arriba y hacia abajo.
También habría que tener alguna tecla predeterminada para indicarle al eyetracker que tome o libere el control del mouse.
Este uso sería posible, si el eyetracker tuviese la posibilidad de permitir, a la persona que lo usa, libre movimiento de la cabeza, con alguna forma de recalibración automática, por ejemplo, en el caso que la persona que use el eyetracker quite la vista del monitor para consultar algún libro y luego vuelva su mirada a la pantalla para seguir escribiendo.
La forma de hacer esto creo que son dos: hacer un seguimiento de la ubicación de la cabeza o hacer un seguimiento de la ubicación de la pantalla.

Para conocer en todo momento la ubicación de la cabeza y permitir libre movimiento de la misma, se puede usar algo similar a lo que utiliza EyeLink Remote, que es un sticker colocado en la frente

Image Hosted by ImageShack.us

En mi caso puede ser agregando una marca o logo en la gorra de eyetracking, y ubicando otra cámara de bajo costo debajo o encima de la pantalla que tome la imagen completa de la cabeza.

El otro caso, sería agregar una marca a cada uno de los cuatro extremos de la pantalla (posiblemente leds infrarrojos) y tener una camára adicional colocada encima de la gorra, que tome la imagen del monitor, y le permita al sistema conocer los límites del mismo basándose en éstos cuatro puntos.

Habría que determinar con cuál de los dos métodos se puede lograr mayor precisión. Si bien viendo el video en la página de SR Research Ltd. se puede apreciar que el método usado por el EyeLink Remote funciona, todavía no encontré un ejemplo del otro caso para compararlos.

sábado, 25 de octubre de 2008

Eyetracker de muy bajo presupuesto

Aquí en Argentina tenemos la costumbre del "lo atamo' con alambre", buscar la forma de salir del paso, y la verdad que a veces dá buenos resultados.

Siendo las 2am y no conforme con el eyetracker de anteojo, recordé haber visto alguna vez un eyetracker montado sobre una gorra.

Image Hosted by ImageShack.us

Como no quería romper mi gorra ni tampoco desarmar la cámara Lifecam VX-1000, recordé que hace un mes atrás llevando a mi hijo a la escuela encontré un alambre tirado y me lo guardé pensando que en algún momento me iba a servir... y ese momento finalmente llegó...

Image Hosted by ImageShack.us

Muy improvisado, pero no tengo a mano en este momento ni siquiera una pinza para cortar el alambre, así que simplemente lo coloqué como pude...

Image Hosted by ImageShack.us

Lo único que tuve que hacer en mi aplicación, es invertir la imagen, ya que la cámara queda ubicada cabeza abajo...

Image Hosted by ImageShack.us

Con respecto al resultado, una imagen excelente, justo lo que estaba necesitando para las pruebas.

Eyetracker made in Argentina

Basado en el eyetracker VisionKey 5.3 de la empresa H.K. Eyecan Ltd.

Image Hosted by ImageShack.us

Armé un eyetracker con mi cámara Logitech Quickcam Express

Image Hosted by ImageShack.us

Costo
Anteojos: 10U$S
Logitech Quickcam Express: 30U$S
Led Infrarrojo: 1U$S
Batería de Reloj: 3U$S
Frasco de Escarbadientes: 1U$S
Ver mi eyetracker funcionando: no tiene precio.

Ventajas
-Se obtiene una imagen fija del ojo lo que lo hace al sistema más estable.

Desventajas
-Limita la visión a un solo ojo.
-Un poco pesado, debería usar una cámara más pequeña.
-El led no tiene un interruptor para apagarlo, por lo tanto hay que quitarle la batería luego de usarlo.

Pasos para el armado
1-Retirar uno de los vidrios del anteojo.
2-Desarmar la webcam:

Image Hosted by ImageShack.us

3-Adherir la webcam a un recipiente que permita mantenerla alejada al menos 4cm. del ojo. En mi caso, utilicé un frasco de escarbadientes:

Image Hosted by ImageShack.us

5-Adherir el frasco al anteojo.
6-Colocar dentro del frasco el led infrarrojo conectado a la batería, de forma que ilumine uniformemente todo el ojo pero intentando que el reflejo del led no incida sobre la pupila.

Lamentablemente para éste aparato no puedo usar mi cámara Lifecam VX-1000, ya que es más difícil de desarmar y colocarla armada sería más pesada.
Por lo tanto, ya se vendrá otra versión de eyetracker con la webcam de Microsoft...

viernes, 24 de octubre de 2008

Aplicaciones de eyetracking para descargar

Las aplicaciones que pude encontrar para descargar que permiten hacer seguimiento del ojo son:

Opengazer, desarrollado por:
Ollie Williams y Roberto Cipolla.
http://www.inference.phy.cam.ac.uk/opengazer/

openEye, desarrollado por:
Jason Babcock, Dongeng Li, Derrick Parkhurst y David Winfield.
http://thirtysixthspan.com/openEyes/

openEye, versión para Windows por:
Joel Clemens.
http://joelclemens.colinr.ca/eyetrack/software.html

FTR_BY_WLP, desarrollado por:
Walter Piechulla.
http://www.walterpiechulla.de/ftr_by_wlp_08/doc/

ITU Gaze Tracker, desarrollado por:
El Gaze Group de la IT University of Copenhagen
http://www.gazegroup.org/downloads/23-gazetracker

Las dos primeras son para Linux, y las tres últimas para Windows.
openEye permite registrar en video hacia donde mira el usuario, pero no permite controlar la computadora como las otras tres, además de estar echo para un eyetracker montado en la cabeza al igual que el ITU Gaze Tracker, en cambio Opengazer y FTR_BY_WLP funcionan con una cámara remota.

sábado, 18 de octubre de 2008

OpenCV Wrappers

Esta es la lista de los wrappers de OpenCV que pude recolectar navegando por la web, algunos no estan del todo completos:

"Easy to use" Wrapper for OpenCV
http://www.codeproject.com/KB/cs/Intel_OpenCV.aspx
http://www.iib-chemnitz.de/joomla/index.php/content/blogcategory/27/62/

DirectCV
http://code.google.com/p/directcv/

STLLCV
http://www2s.biglobe.ne.jp/~niitsuma/STLLCV/
http://sourceforge.net/projects/stllcv

OpenCV Port
http://www.ubaa.net/shared/processing/opencv/

Managed OpenCV Wrapper
http://www.jjbubka.es/index.php?option=com_content&view=article&id=57&Itemid=65

C++/OpenCV Wrapper of Kevin-Rama-Aswin MCMC Tracker
http://www.cfar.umd.edu/~rany/opencv.htm

OpenCVDotNet
http://code.google.com/p/opencvdotnet/

SharperCV
http://www.cs.ru.ac.za/research/groups/SharperCV/

Emgu CV
http://www.emgu.com/wiki/index.php/Emgu_CV

OpenCvSharp
http://code.google.com/p/opencvsharp/

Python OpenCV wrapper usando ctypes
http://wwwx.cs.unc.edu/~gb/wp/blog/2007/02/04/python-opencv-wrapper-using-ctypes/

OpenCV for Smalltalk by Alejandro Reimondo
http://alereimondo.no-ip.org/OpenCV/5

OpenCV Wrapper for Ruby
http://rubyforge.org/projects/opencv

OPENCV Processing and Java Library
http://ubaa.net/shared/processing/opencv/

OpenCV for PHP
http://www.bernardotti.it/portal/showthread.php?t=3067
http://d.hatena.ne.jp/moriyoshi/searchdiary?word=PTH
http://d.hatena.ne.jp/moriyoshi/20070324/1174687182

JavaCV - OpenCV for Java (Based on JNA) by Samuel Audet
http://www.ok.ctrl.titech.ac.jp/~saudet/procamcalib/#download

viernes, 10 de octubre de 2008

Descargando la version CVS de OpenCV

Para descargar la version CVS de OpenCV:

1) Descargar e instalar TortoiseCVS desde aquí:
http://www.tortoisecvs.org/

2)Una vez instalado, abrir el Windows Explorer y apretar el boton derecho sobre el directorio donde se desea descargar OpenCV, seleccionar la opción "SVN Checkout".

3) En el campo "CVSROOT" escribir:
:pserver:anonymous@opencvlibrary.cvs.sourceforge.net:2401/cvsroot/opencvlibrary
En el campo "module" escribir:
opencv
Luego presionar OK para comenzar la descarga...