Sie sind auf Seite 1von 8

Aplicacin de tcnicas de Visin Artificial para el desarrollo de un

dispositivo apuntador utilizando la plataforma


Raspberry Pi-Python-OpenCV
Lely A. Luengas C.
Universidad Distrital Francisco Jos de Caldas
lelyluco@gmail.com

Yesid Rodrguez L.

Leidy M. Pea B.

Universidad Distrital Francisco Jos de Caldas


yesid_r_l@yahoo.com.ar

Universidad Distrital Francisco Jos de Caldas


ritsuko17@gmail.com

Buscando aportar al proceso de inclusin social e independencia de las personas con


discapacidad motora en sus miembros superiores, que adems conservan la movilidad
voluntaria de los msculos de la cabeza, se desarroll un dispositivo apuntador que
permite posicionar el cursor en la pantalla del computador de acuerdo al movimiento de la
cabeza del usuario, usando tcnicas de Visin Artificial. Las acciones de seleccin, como
el clic derecho y el izquierdo, se realizan mediante el parpadeo de cada ojo. As mismo,
mediante la apertura de la boca se accede a una rutina de entrenamiento y configuracin.
El dispositivo se desarroll utilizando una plataforma Raspberry Pi 2 + Python + OpenCV,
la cual se encarga de capturar las imgenes, procesarlas, analizarlas, interpretarlas y enviar
los datos obtenidos al computador, evitando la instalacin de software, controladores o el
uso de sensores externos acoplados al usuario. El dispositivo se conecta al computador
como cualquier otro perifrico HID por puerto USB.
Palabras clave: Visin artificial, dispositivo apuntador, cursor, micro-computador.
In order to contribute to the process of social inclusion and independence for people with
physical disabilities in their upper limbs, which retain the voluntary mobility of the
muscles of the head, a pointing device was developed, allowing to position the cursor on
the computer screen according to the user's head movements, using computer vision
techniques. Shares selection, as right and left click, they are performed by flashing each
eye. In the same way, opening the mouth leads to a workout routine and configuration. The
device was developed using a platform Raspberry Pi 2 + Python + OpenCV, which is
responsible for capturing the images, process, analyze, interpret and send the data to the
computer, avoiding installation of software, drivers, or the use of sensors coupled to the
users. The device connects to the computer as any other peripherals HID by USB port.
Keywords: Artificial vision, pointing device, mouse cursor, microcomputer

Introduccin
En septiembre de 2014, el Ministerio de las
Tecnologas de la Informacin y las Comunicaciones

Fecha recepcin del manuscrito: Septiembre 25, 2015


Fecha aceptacin del manuscrito: xx
Lely A. Luengas C., Universidad Distrital Francisco Jos de
Caldas; L. Marcela. Pea B., Universidad Distrital Francisco Jos
de Caldas; Yesid. Rodrguez L., Universidad Distrital Francisco
Jos de Caldas.
Correspondencia en relacin con el artculo debe ser enviada a:
Yesid Rodrguez Lozano. Email: yesid_r_l@yahoo.com.ar
Leidy Marcela Pea. Email: ritsuko17@gmail.com

(MinTIC) llev a cabo el evento Colombia Appcesible,


buscando soluciones mediante las TIC a problemticas
relacionadas con la discapacidad sensorial y fsica,
(MINTIC. 2014). Igualmente, en marzo del presente ao
lanz la convocatoria Ayudapps para identificar barreras
que afecten a la poblacin colombiana en condicin de
discapacidad, (Colciencias. 2015). Estos eventos, que no
son iniciativas aisladas (accesibilidad en pginas web,
ftbol para todos, Convertic), ponen de manifiesto la
importancia que han cobrado en la actualidad las
tecnologas de apoyo para las personas con discapacidad,
ya que aportan autonoma, mejor calidad de vida y un
entorno ms incluyente para este sector de la poblacin,

(Colombiaappcesible. 2014). El desarrollo actual de las


TIC y de los computadores, convierten su uso en un
factor diferenciador en el mbito social, econmico y
laboral, generando una barrera de exclusin para las
personas que no pueden acceder o manipular este tipo de
tecnologas. As mismo, cobran importancia los
dispositivos perifricos mediante los cuales se ingresa la
informacin a los computadores, ya que generalmente se
disean para una poblacin estndar y no tiene en cuenta
las necesidades de las personas con discapacidad motora
en los miembros superiores (Muoz, Lpez y Pollo. s.f)
.
Segn datos del DANE de marzo 2010, en Colombia
hay ms de 2.3 millones de personas con discapacidad, de
las cuales ms del 6% (aproximadamente 147.000
habitantes) tienen dificultades para manipular objetos con
las manos; de estos, ms de 35.000 se encuentran en
Bogot. Adems, genera inquietud el hecho de que
alrededor de 217.000 personas en Colombia, no estudian
por causa de su discapacidad (DANE. s.f).
De acuerdo a la Encuesta Nacional de Demografa y
Salud - ENDS (2010) el 1,1% de la poblacin en los
hogares encuestados mencion como discapacidad el no
poder usar los brazos y/o manos. Esta discapacidad
tambin se va incrementando con la edad y llega al 5%
entre las personas de 65 aos y ms; es ligeramente
mayor en los niveles de riqueza ms bajos y llega al 2%
en la regin Central y en el departamento del Quindo. En
Medelln es de 3%.
El funcionamiento de un individuo es el resultado de
la interaccin dinmica entre la condicin de salud y los
factores contextuales (ambientales y personales), de tal
manera que interviniendo uno de estos factores se puede
mejorar las condiciones de vida del individuo, siendo
responsabilidad de la sociedad realizar las modificaciones
ambientales que faciliten la participacin plena de las
personas con discapacidad en todas las esferas de la vida
social (CIF IA. 2012).
Lo anterior proporciona la motivacin para desarrollar un
producto de apoyo que facilite el acceso a las funciones
del computador, buscando mejorar las condiciones de
vida de las personas con discapacidad motora en
miembros superiores y por ende, contribuir a mejorar su
condicin de salud.
Sistema Propuesto
Considerando el objetivo del dispositivo se
establecieron las caractersticas funcionales del sistema
propuesto:
Control del cursor del computador mediante
movimientos de la cabeza.

Generacin de acciones de seleccin (clic) mediante


gestos faciales.
Utilizacin de tcnicas de visin artificial, evitando
el uso de accesorios instalados en la cabeza.
Comunicacin con el computador mediante puerto
USB, emulando un dispositivo de interfaz humana (HID),
eliminando la necesidad de instalar controladores.
Uso de software de libre distribucin para el
desarrollo de los algoritmos de control.
La Fig. 1 muestra la arquitectura hardware del sistema
apuntador desarrollado. Se tiene una cmara para capturar
el movimiento de la cabeza, los ojos y la boca, esta
informacin se procesa y se envan los comandos al
computador para la activacin y manejo del apuntador.

Figura
apuntador.

1.

Arquitectura

hardware

del

sistema

Teniendo en cuenta las caractersticas funcionales,


adems de la facilidad de uso y la disponibilidad de
informacin, el proyecto se llev a cabo sobre una
plataforma hardware/software compuesta por un
microcomputador Raspberry Pi 2, sistema operativo
Raspbian 3.18, lenguaje de programacin Python 2.7,
Librera Open Source Computer Vision (OpenCV)
versin 2.4.10, Cmara Raspberry Pi NoIR y tarjeta
Teensy 3.1.
Pre-Procesado
El cdigo desarrollado en lenguaje Python para el
microcomputador Raspberry Pi 2, se encarga de recibir
las imgenes capturadas por la cmara en una resolucin
de 640x480 pixeles (RGB), almacenndolas como un
arreglo (array) tridimensional, en el cual, cada posicin
representa el valor de color (Red,Green,Blue) de cada
pixel correspondiente en la imagen capturada, la ecuacin
(1) muestra la matriz tridimensional de una imagen.
Utilizando la funcin cv2.cvtColor() de OpenCV, se
convierte el arreglo tridimensional en un arreglo
bidimensional correspondiente a una imagen en escala de
grises manteniendo la resolucin ecuacin 2.

][

][

(1)

(2)

Usar esta resolucin para el algoritmo de reconocimiento


de rostros, determina tiempos de procesamiento excesivos
(cada ciclo toma alrededor de 3.5seg.) para un sistema
que trabaje en tiempo real. Por lo tanto, es obligatorio
reducir la imagen a un tamao que permita realizar la
deteccin de rostros en menos tiempo. La funcin
cv2.resize() de OpenCV, redimensiona la imagen para
obtener un arreglo de menor resolucin (320x240)
conservando en buena medida su calidad.
Como la escena capturada por la cmara presenta
bastante espacio libre a lado y lado del usuario (para el
cual se ha definido un rango ptimo de distancia a la
cmara entre 0.5m y 1.0m), se evita que el algoritmo
pierda tiempo buscando rostros en las zonas perifricas
de la imagen, realizando un recorte con la funcin
cv2.getRectSubPix() para obtener un arreglo con tamao
120x200 pixeles, como se muestra en la ecuacin 3. Una
disminucin adicional en el tamao, genera tambin
disminucin de la tasa de reconocimiento del algoritmo y
excesiva prdida de detalle en los objetos pequeos
(ojos).

desviacin estndar s = 2 pixeles con un rostro en


posicin esttica), de forma que el centro del rostro
detectado tiene coordenadas de la forma mostrada en la
ecuacin 4.

(3)

Deteccin del rostro


La deteccin del rostro se realiza utilizando la funcin
cv2.CascadeClassifier.detectMultiScale() y el clasificador
'haarcascade_frontalface_alt2.xml'
disponible
en
OpenCV, el cual est entrenado para detectar caras en
posicin frontal . Presenta parmetros (factor de escalado,
nmero de detecciones en la vecindad, tamao mnimo y
mximo de rostros candidatos), que hemos afinado
mediante un proceso heurstico, los cuales permiten
aumentar su eficiencia en cuanto a tasa de
reconocimiento, velocidad o confiabilidad. Con los
parmetros scaleFactor = 1:2, minNeighbors = 1 y
minSize = (70, 70), se logr establecer un tiempo total del
ciclo de reconocimiento del rostro en 0.05seg.,
manteniendo una tasa de reconocimiento cercana al 95%.
Dicha funcin entrega las coordenadas (x,y) de la esquina
superior izquierda y el tamao (w,h) del cuadrado que
encierra el rostro detectado (estos valores presentan una

(4)
Este clasificador presenta una alta tasa de reconocimiento
empleando un tiempo relativamente corto (ideal para
seguimiento o tracking), sin embargo, la variabilidad de
los resultados asociada a la naturaleza del mtodo, genera
la necesidad de promediar los valores obtenidos para
disminuir la variabilidad en la posicin final del cursor, lo
cual se presenta en la ecuacin 5.

(5)

Deteccin de boca abierta


Aunque OpenCV posee clasificadores entrenados para la
deteccin de ojos abiertos, ojos cerrados y boca; estos
clasificadores
no
presentaron
patrones
de
comportamiento estables para la aplicacin requerida en
este dispositivo. En general, se presentan falsos negativos
y falsos positivos en patrones aleatorios que dificultan su
tratamiento mediante retardos temporales o mediante
clculos algebraicos, adems, el uso de cada clasificador
adiciona cerca de 0.04 seg. al tiempo de ciclo total.
Teniendo en cuenta que se necesitara un clasificador
para detectar ojos abiertos, uno para ojo derecho cerrado,
uno para ojo izquierdo cerrado, uno para detectar la boca
cerrada y otro para la boca abierta, el tiempo adicional
sera de 0.2seg.
El tener ubicado espacialmente el rostro, permite
aprovechar otras tcnicas menos eficientes para bsqueda
y seguimiento, pero ms econmicas en cuanto a carga
computacional en la tarea de reconocimiento de gestos
faciales. Las Integrales Proyectivas (IP), permiten tener
una buena aproximacin al estado y ubicacin de
caractersticas faciales, utilizando clculos sobre arreglos
unidimensionales (Mateos, G. G. 2007, p. 34-35).
Permitiendo, adems, un proceso sencillo de
entrenamiento para obtener modelos personalizados o
adaptados a condiciones particulares de condiciones
ambientales.
El proceso de deteccin de la boca abierta se realiza
utilizando Integrales Proyectivas (IPr) y transcurre a
travs de dos fases principales, el entrenamiento y la
deteccin en tiempo de ejecucin. En ambas fases se
define una Regin De Inters (ROI por sus siglas en
ingls) concentrada en la regin de la boca, tal y como se
aprecia en la Fig. 2, cuya ubicacin y dimensiones son

totalmente dependientes de las coordenadas del centro del


rostro.

Figura 2. Regiones De Inters (ROI) definidas para la


boca y los ojos.
De una imagen es posible extraer IPr en cualquier
ngulo, pero las ms econmicas en trminos de carga
computacional son las que se forman al proyectar las
filas, Integral Proyectiva Vertical (IPV), o al proyectar las
columnas, Integral Proyectiva Horizontal (IPH). Cada
dato en la IPV es igual a la media de los datos
almacenados en cada fila de la ROI y cada dato en la IPH
es igual a la media de los datos almacenados en cada
columna (Mateos, G. G. 2007, p. 35-37), ecuaciones 6 y
7.
[

[
[

(6)

(7)

Estas proyecciones constituyen seales con alta


inmunidad al ruido, que contienen informacin relevante
de las imgenes de las que proceden, sobre todo cuando
las imgenes presentan grandes zonas diferenciadas de
luz y sombra (Mateos, G. G. 2007, p. 40-43). Como es el
caso de imgenes de la boca abierta y la boca cerrada, lo
cual queda claro al observar la Fig. 3.

Figura 3. Integrales Proyectivas horizontales y verticales


normalizadas para imgenes de la boca abierta y la boca
cerrada. Ambas imgenes obtenidas con luz cenital.
La fase de entrenamiento comienza con la obtencin
de las IPV e IPH y termina con la creacin de los

Modelos de Proyeccin Media (ModeloPM), vertical y


horizontal, los cuales se generan con el valor medio de las
seales de entrenamiento. Esta tcnica para obtener
modelos de proyeccin genera resultados comparables
con otras tcnicas ms complejas, con la ventaja de ser
ms sencilla, ms fcil de implementar y ms eficiente en
cuanto a carga computacional. Las seales previamente
se normalizan con media/varianza para hacerlas ms
robustas a los cambios del entorno (iluminacin, color de
fondo) y facilitar los posteriores procesos de comparacin
y clasificacin (Mateos, G. G. 2007, p. 52-57).
Los datos que forman las IPV y las IPH utilizadas
para generar los modelos de proyeccin vertical y
horizontal de la boca abierta, se almacenan en archivos de
texto. Lo anterior permite que estos modelos se carguen
al iniciar el dispositivo y que no se alteren cuando se
encuentre apagado, al igual que facilita su importacin a
hojas de clculo para su tratamiento estadstico. Cada
modelo se entrena con personas de diferente edad, gnero
y tono de piel para aumentar la condicin de generalidad.
El entrenamiento de estos modelos solamente es
posible mediante la conexin de un teclado USB al
dispositivo (para evitar modificaciones accidentales),
oprimiendo la barra espaciadora cuando se tenga la boca
abierta bajo las condiciones habituales de trabajo respecto
a iluminacin y posicin frente al dispositivo.
La fase de deteccin se lleva a cabo con cada ciclo de
ejecucin, aproximadamente 14 veces cada segundo,
obteniendo las IPr normalizadas de la regin de la boca,
comparndolas con su respectivo modelo para determinar
el grado de similitud (segmentacin) y el flujo de
ejecucin posterior o decisiones correspondientes
(interpretacin). La comparacin se realiza obteniendo la
medida de distancia entre el modelo (M) y la proyeccin
(Pr), ambos de longitud (L) en este caso, utilizando Suma
de Diferencias al Cuadrado, ecuacin 8.

(8)

Esta medida de distancia resulta ser ms apropiada, para


el caso de comparar IPr, que el uso de la correlacin o la
distancia de Mahalanobis (Mateos, G. G. 2007, p. 52-57).
Cuando el dispositivo detecta una boca abierta por ms de
un segundo, el software ingresa al algoritmo de
entrenamiento de los modelos para los ojos.
Deteccin de ojos
Para la regin de los ojos se definieron dos ROI
independientes para el ojo izquierdo y para el ojo
derecho, cuya ubicacin y dimensiones son totalmente
dependientes de las coordenadas del centro del rostro,

posteriormente redimensionadas a un tamao fijo de


35x30 pixeles. Para realizar la clasificacin entre ojos
abiertos y cerrados (generar los modelos y realizar las
comparaciones) tambin se utilizan IPr.
Los modelos se entrenan para cada ojo cerrado, cada
vez que se inicia el dispositivo o cada vez que se detecta
la boca abierta durante ms de 1 segundo. Esto permite
generar modelos personalizados a cada usuario y entorno
ambiental, lo cual es necesario en este caso, ya que la
zona de los ojos resulta no ser tan discriminante como la
zona de la boca, dificultando la creacin de modelos
generalizados. Cada modelo para los ojos se construye a
partir de cinco fotogramas obtenidos durante la fase de
entrenamiento, con lo cual, cada ModeloPM resulta del
valor medio de cinco seales de entrenamiento,
normalizadas con media/varianza, ecuaciones 9 y 10.

(9)

(10)

A diferencia de los modelos para la boca, los modelos


para los ojos no se almacenan en archivos externos sino
en posiciones de memoria, de manera que se pierden al
desconectar el dispositivo o al realizar un nuevo
entrenamiento.
El proceso de deteccin de ojos cerrados se realiza
mientras el rostro se encuentre en la zona de reposo, lo
que ahorra recursos computacionales y genera una
restriccin conveniente a la hora realizar acciones de
seleccin (clic). En esta zona de reposo, el dispositivo
toma fotogramas de los ojos, extrae las IPV e IPH, las
normaliza y las compara con los ModeloPM para cada
ojo mediante Suma de Diferencias al Cuadrado, de
manera similar al proceso para la boca. La deteccin del
estado abierto o cerrado para el ojo izquierdo o el
derecho, genera acciones correspondientes (liberado o
pulsado) para el estado de los botones izquierdo y
derecho del ratn.

Clculo del desplazamiento del rostro


Al final de la rutina de entrenamiento de los ojos,
tambin se ejecuta el algoritmo que define el Centro de
Referencia y las Zonas de Velocidad.
El Centro de Referencia se refiere a un punto
invariable en el espacio 2D de los fotogramas del rostro
(equivalente a un punto invariable en el espacio 3D de
movimientos de la cabeza), el cual corresponde a la

posicin neutra del centro del rostro, esto es, la posicin


en la cual no queremos que se genere movimiento del
cursor y, en general, debe coincidir con el rostro mirando
en direccin del centro de la pantalla del computador.
Este Centro de Referencia tiene las coordenadas del
centro del rostro, detectado inmediatamente despus del
entrenamiento de los ojos, las cuales permanecen
constantes (referencia) hasta el siguiente proceso de
entrenamiento, el cual ocurre normalmente cuando se
inicia el dispositivo, cuando hay cambio de usuario o
cuando el dispositivo no responde adecuadamente a la
apertura y cierre de los ojos. En la Fig. 4 se muestra
claramente el punto central del rostro, el Centro de
Referencia (dentro de los crculos concntricos de las
Zonas de Velocidad) y su desplazamiento relativo.

Figura 4. Deteccin del desplazamiento. a) Rostro con


marca central, b) Rostro en posicin de coincidencia de
su Centro Actual con el Centro de Referencia, c) Rostro
desplazado con respecto al Centro de Referencia.
La direccin del movimiento de la cabeza, guarda una
relacin directa con la direccin en la que se mueve el
cursor por la pantalla del computador. Esto es, si la
cabeza se gira hacia arriba, el cursor se mover hacia la
parte superior de la pantalla; si la cabeza se gira a la
derecha, el cursor se mover hacia la parte derecha de la
pantalla; en los casos en que la cabeza se gire en una
diagonal entre las direcciones derecha y arriba, el cursor
se desplazar sobre una diagonal de 45 buscando la
regin superior derecha de la pantalla. Este ngulo ser
de 45 sin importar el ngulo de inclinacin de la cabeza.
Para calcular el valor del desplazamiento de la cabeza
y la direccin en que se realiza este desplazamiento, se
realiza una suma algebraica entre las coordenadas del
Centro Actual del rostro y el Centro de Referencia,
ecuacin 11.
(11)
De esta manera se obtiene un desplazamiento a lo largo
del eje X y un desplazamiento a lo largo del eje Y, cuyas
componentes definen las componentes del movimiento
del cursor. Esta operacin se realiza en cada ciclo de
ejecucin, para definir en todo momento la posicin del
rostro con respecto a la posicin de referencia.

La velocidad a la que se desplaza el cursor la


determina el valor del desplazamiento del rostro
(distancia entre centros). Por esto, estn definidas tres
velocidades para el cursor:
Si el rostro se encuentra en la zona central o de
reposo, no se genera movimiento en el cursor, con lo
cual, ingresar a esta zona constituye la accin de frenado
del cursor y la posibilidad de realizar una accin de
seleccin (clic), posicin que est ejemplificada en la
figura 4-b. Mientras el cursor se encuentre en
movimiento, no se podrn generar acciones de seleccin.
La tarjeta que implementa la comunicacin USB con el
computador (Teensy 3.1), recibe dos parmetros para
definir la velocidad del cursor, Rango o multiplicador y
Retardo, los cuales en este caso tienen los valores 0 y10
respectivamente. Ntese que el multiplicador igual a cero
anula cualquier movimiento del cursor.
Si el centro del rostro se encuentra dentro de la zona
de velocidad lenta, el cursor se mover con una velocidad
que permita su aproximacin con precisin al punto
deseado de la pantalla (Rango=1, Retardo=30).
La zona de velocidad rpida, generar una velocidad
de desplazamiento del cursor que facilite recorrer la
pantalla (Rango=2, Retardo=15). En este caso, el punto
central del rostro se encuentra fuera de la zona de reposo
y fuera de la zona de velocidad lenta, tal y como se
aprecia en la figura 4-c.
Estos valores han sido obtenidos experimentalmente,
buscando compromiso entre velocidad y capacidad de
control del cursor. Velocidades bajas permiten mayor
precisin en la ubicacin final del cursor, mientras que
velocidades altas hacen ms rpida la tarea de
desplazarse.
La tarjeta auxiliar del sistema (Teensy 3.1), tiene el
propsito de establecer la comunicacin con el
computador, emulando un ratn como dispositivo HID.
Para esto, se comunica mediante protocolo I2C con la
tarjeta principal (Raspberry Pi 2), obteniendo los datos de
velocidad y distancias de desplazamiento del cursor sobre
los ejes X e Y. El algoritmo, calcula la cantidad de
pixeles que deber moverse (DesplazamientoX * Rango,
DesplazamientoY * Rango) y la direccin del
desplazamiento, enviando estos datos por el puerto USB
al computador. El parmetro Retardo agrega tiempo a la
ejecucin general de cada ciclo del bucle principal
(Raspberry Pi and Arduino Connected Using I2C (s. f.)).

Resultados
Tomando como base la norma ISO 9241-411 (Parra
Romero, M. A., y otros. s. f.). se plante el mtodo para
medir el rendimiento o Throughput (TP) a tres

dispositivos apuntadores (ratn ptico, touchpad y el


dispositivo desarrollado en este proyecto).
Se realizaron pruebas iniciales con 4 personas (sin
condicin de discapacidad) de distinto gnero, edad y
experiencia con el entorno informtico. Se utiliz un
computador porttil con procesador Pentium(R) DualCore T4300 a 2.10 GHz, 3.00 GB de memoria RAM y
Windows 7 Ultimate a 32 bits. Adems, se recurri al
software FittsTaskTwo de uso libre para desarrollar la
prueba (Fitts Law Software Download. s.f)
Durante las pruebas se llevaron a cabo tareas simples
de movimiento multidireccional del cursor y seleccin de
objetos. Cada participante realiz la tarea con todos los
dispositivos en orden aleatorio. Antes de la prueba se
inform a todos los participantes del propsito del
experimento, se llev a cabo una demostracin inicial de
la tarea a desarrollar y se permiti que los participantes se
familiarizaran con el manejo de cada dispositivo.
Para cada sesin el software genera cuatro pruebas,
cada prueba presenta 3 crculos de igual dimetro
dispuestos en un arreglo circular, como se aprecia en la
Fig. 5.

Figura 5. Secuencia de pruebas, para determinar


rendimiento del dispositivo apuntador.
En cada prueba vara el dimetro de los crculos (entre 30
y 60 pixeles) y el dimetro del arreglo circular (entre 300
y 500 pixeles), lo que genera condiciones de trabajo que
presentan dificultades nominales variables (ID). La
secuencia se inicia seleccionando el crculo superior, a
continuacin se selecciona el crculo en el lado opuesto,
continuando la seleccin en el sentido de las agujas del
reloj para el siguiente crculo del lado opuesto hasta
seleccionarlos todos. El crculo a seleccionar se distingue
por estar resaltado hasta cuando se detecta un clic del
dispositivo. Fue necesario informar que los crculos se

deban seleccionar de la forma ms rpida y precisa


posible, cometiendo mximo un error por secuencia (cada
error genera una alarma sonora).

Se desarroll una aplicacin software para la tarjeta


principal y un algoritmo de funcionamiento para la tarjeta
auxiliar.
Se realiz la integracin del hardware y el software
en un solo dispositivo que emula un ratn con interface
USB-HID.
Se realiz la validacin del dispositivo obtenido
mediante un protocolo de pruebas estandarizado.

Agradecimientos
Brindamos un especial reconocimiento al apoyo
tcnico por parte del grupo de investigacin METIS de la
Universidad Distrital Francisco Jos de Caldas - Facultad
Tecnolgica.
Figura 6. Grfico del rendimiento del dispositivo
apuntador en comparacin con dos dispositivos de uso
comn.
Para cada dispositivo, el participante realiz cuatro
secuencias de seleccin. Finalmente, se obtuvo el
rendimiento (throughput) de cada persona con cada
dispositivo en particular, obteniendo el grfico
comparativo de la Fig. 6 para los dispositivos apuntadores
de uso ms comn.
Conclusiones
Como resultado de todo el proceso de aprendizaje que
genera una investigacin, queda la sensibilidad de
identificar una necesidad en un grupo poblacional con
discapacidad en miembros superiores, la adquisicin de
conocimientos durante la consulta de bibliografa y la
vigilancia tecnolgica, la satisfaccin de aplicar los
conocimientos adquiridos durante el desarrollo de nuestra
carrera para satisfacer la necesidad identificada y la
templanza que brinda culminar un proyecto, salvando
todas las dificultades encontradas durante su desarrollo.
En cuanto a los objetivos y actividades planteadas
inicialmente, se puede concluir que:
Se logr obtener un dispositivo apuntador, que
permite controlar el cursor del computador mediante
movimientos de la cabeza utilizando clasificadores de uso
libre (Filtros Haar en Cascada) y algoritmos
clasificadores adaptados a las necesidades de este
proyecto (Integrales Proyectivas).
Se seleccion una plataforma ptima de desarrollo
compuesta por el microcomputador Raspberry Pi 2, la
tarjeta Teensy 3.1, una cmara Raspberry Pi NoIR, el
lenguaje de programacin Python, las libreras OpenCV
para visin artificial y comunicacin USB como
dispositivo HID.

Referencias
Clasificacion Internacional del Funcionamiento, de la
Discapacidad y de la Salud/ International
Classification of Functioning, Disability and
Health Para La Infancia Y Adolescencia Cif-ia/
for Children and Adolescents. (2012). Paseo Del
Prado, 18. 28014 Madrid.: Ministerio De Sanidad,
Poltica Social E Igualdad Centro De
Publicaciones
Colombiaappcesible. (2014) (s. f.). Recuperado 24 de
septiembre
de
2015,
a
partir
de
http://www.colombiappcesible.gobiernoenlinea.go
v.co/
COLCIENCIAS. (2015). Registro De Barreras
ayudappsco
anexo_2_registro_de_barreras_ayudappsco.pdf.
(2015). Recuperado 24 de septiembre de 2015, a
partir
de
http://www.colciencias.gov.co/sites/default/files/u
pload/documents/anexo_2_registro_de_barreras_a
yudappsco.pdf
Departamento Administrativo Nacional de Estadstica
(DANE). (s. f.). Recuperado 24 de septiembre de
2015,
a
partir
de
http://www.dane.gov.co/index.php/poblacion-yregistros-vitales/discapacidad
Encuesta Nacional de Demografa y Salud - ENDS 2010
[FR246] - FR246.pdf. (2010). Recuperado 24 de
septiembre
de
2015,
a
partir
de
http://dhsprogram.com/pubs/pdf/FR246/FR246.pdf
Fitts Law Software Download. (s. f.). Recuperado 25 de
septiembre
de
2015,
a
partir
de
http://www.yorku.ca/mack/FittsLawSoftware/
Isabel Andreu Muoz, M Amparo Lpez Vicente, &
Pedro Ramiro Pollo. (s. f.). DATUS: Cmo
obtener productos con alta usabilidad?. G... (SID).

Recuperado 14 de agosto de 2015, a partir de


http://sid.usal.es/libros/discapacidad/7077/81/datus-como-obtener-productos-con-altausabilidad-guia-practica-para-fabricantes-deproductos-de-la-vida-diaria-y-ayudas-tecnicas.aspx
Mateos, G. G. (2007). Integrales Proyectivas,
Procesamiento de caras humanas mediante
integrales
proyectivas
(pp.34-36).
(http://purl.org/dc/dcmitype/Text). Universidad de
Murcia.
Recuperado
a
partir
de
http://dialnet.unirioja.es/servlet/tesis?codigo=1928
0&info=resumen&idioma=SPA
Raspberry Pi and Arduino Connected Using I2C OscarLiang.net. (s. f.). Recuperado 25 de
septiembre
de
2015,
a
partir
de
http://blog.oscarliang.net/raspberry-pi-arduinoconnected-i2c/
Parra Romero, M. A., y otros. (s. f.). Comparacin de
dispositivos de entrada no convencionales en
entornos virtuales. Universidad Nacional de
Colombia.
Recuperado
a
partir
de
http://www.bdigital.unal.edu.co/8124/

Das könnte Ihnen auch gefallen