PDF de programación - Herramienta para facilitar el desarrollo de aplicaciones basadas en Kinect

Imágen de pdf Herramienta para facilitar el desarrollo de aplicaciones basadas en Kinect

Herramienta para facilitar el desarrollo de aplicaciones basadas en Kinectgráfica de visualizaciones

Publicado el 14 de Enero del 2017
727 visualizaciones desde el 14 de Enero del 2017
1,3 MB
20 paginas
Creado hace 10a (04/07/2013)
Herramienta para facilitar el desarrollo de aplicaciones

basadas en Kinect

Rodrigo Ibañez, Damián Fanaro

Director: Dr. Álvaro Soria

Instituto de Investigación ISISTAN, Facultad de Cs. Exactas, UNCPBA

Campus Universitario, Paraje Arroyo Seco, CP B7001BBO, Tandil, Bs. As., Argentina

[email protected], [email protected]

[email protected]

Resumen. El abaratamiento de los costos en los dispositivos de interacción na-
tural ha promovido la investigación y el desarrollo de nuevas aplicaciones basa-
das en gestos. El dispositivo más popular es Microsoft Kinect el cual permite el
seguimiento de los movimientos de los usuarios. Si bien Kinect facilita la inclu-
sión de interacción natural en aplicaciones, el reconocimiento de gestos y la
ejecución de las correspondientes acciones en la aplicación siguen siendo pro-
blemas aún no resueltos En este trabajo se presenta una herramienta que facilita
el desarrollo de aplicaciones que interactúan por medio de gestos basadas en
Kinect. La herramienta provee técnicas de aprendizaje de máquina que recono-
cen gestos a partir de las posiciones en el espacio de las partes del cuerpo pro-
vistas por Kinect. Las evaluaciones de la herramienta mostraron que la preci-
sión del reconocimiento alcanza el 97% de los gestos evaluados y logra una re-
ducción de un 67% del esfuerzo de desarrollo en términos de líneas de código.

1. Introducción

La utilización de dispositivos de Interfaz Natural (NUI) para el control de sistemas
mediante gestos se ha vuelto algo común en nuestra vida cotidiana [1,2]. La aparición
de Wiimote a finales de 2006 cambió el concepto de control remoto, permitiendo
detectar los movimientos de la mano en un espacio 3D [3]. Aumentando la apuesta,
Microsoft lanzó el dispositivo Kinect en el año 2010, el cual no sólo permite el se-
guimiento de la mano sino que también es capaz de identificar un conjunto de partes
del cuerpo en tiempo real. Este dispositivo de bajo costo ha facilitado el desarrollo de
aplicaciones orientadas a NUI dando lugar a un nuevo abanico de aplicaciones [4]. El
Software Development Kit1 (SDK) desarrollado por Microsoft para Kinect brinda
interfaces para el acceso a diferentes datos provistos por el dispositivo, tales como
imágenes RGB, imágenes de profundidad y la posición en el espacio de 20 partes del
cuerpo sin necesidad de implementar software adicional.


1 http://www.microsoft.com/en-us/kinectforwindows/

16oConcursodeTrabajosEstudiantiles,EST201342JAIIO-EST2013-ISSN:1850-2946-Page321 Sin embargo, el SDK aún carece de soporte para el reconocimiento de gestos, en-
tendiendo por gesto al movimiento realizado por las partes del cuerpo con la intensión
de ejecutar una acción. En consecuencia, si un desarrollador desea implementar una
aplicación de interfaz natural con Kinect tendrá que enfocarse también en implemen-
tar un mecanismo de reconocimiento de gestos. Para alcanzar este objetivo, algunos
enfoques proponen la definición de reglas sobre las posiciones de las partes del cuer-
po permitiendo reconocer posturas estáticas o movimientos simples del cuerpo [5,6].
El problema de este tipo de enfoque es que se ve limitado al momento de considerar
ciertos aspectos de los gestos tales como: la variación de la altura y posición de los
usuarios dentro del campo de detección, las diferencias de velocidad de los usuarios al
momento de realizar el gesto, los diferentes niveles de destreza con la que los usuarios
realizan los gestos y la dificultad para definir reglas para el reconocimiento de gestos
complejos [5, 6, 7]. A estos aspectos se les suma la problemática de la administración
de los gestos y sus reconocedores, ya que sería interesante poder reutilizar los recono-
cedores de gestos en diferentes aplicaciones reduciendo de esta manera el esfuerzo de
su especificación.

Abordar esta problemática con enfoques que utilizan técnicas como Supervised
Machine Learning (en español aprendizaje de máquinas supervisado) [8] aparece
como una alternativa adecuada. Estas técnicas utilizan una base de gestos de entrena-
miento para construir un clasificador. Este clasificador evalúa los movimientos del
usuario y determina su similitud con cada gesto entrenado. Si bien estas soluciones
ofrecen reconocimientos cercanos al 100% de los gestos evaluados, el desarrollador
se ve obligado a implementar técnicas complejas para poder incluir el reconocimiento
de gestos dentro de su aplicación.

En este contexto, se presenta GRTool (por Gesture Recognition Tool, en español
Herramienta de Reconocimiento de Gestos); una herramienta que facilita la definición
y reconocimiento de gestos con Kinect. GRTool permite al desarrollador construir un
conjunto de gestos entrenamiento y provee soporte para construir los clasificadores
que identifiquen gestos similares a aquellos entrenados. Para la especificación del
conjunto de gestos de entrenamiento, GRTool brinda una interfaz gráfica que permite
la grabación, edición y administración de gestos utilizando el dispositivo Kinect.

Teniendo el conjunto de gestos modelo (llamado base de gestos de entrenamiento
en GRTool), GRTool permite el entrenamiento de diferentes técnicas de Machine
Learning para el reconocimiento de gestos. En particular, GRTool soporta tres técni-
cas: Dynamic Time Warping [9], Hidden Márkov Models [10] y Procrustes Analysis
[11].

Con el objetivo de evaluar GRTool, se analizaron dos aspectos: la precisión de las
técnicas de reconocimiento y los esfuerzos que requiere desarrollar una aplicación con
y sin GRTool. Para evaluar la precisión del reconocimiento de gestos de GRTool, se
probaron las tres técnicas con un conjunto de 4 gestos distintos con 100 ejemplares
para cada gesto. Los resultados mostraron reconocimientos superiores al 95% de los
gestos evaluados.

Con respecto al esfuerzo requerido para la implementación de aplicaciones de in-
terfaz natural con GRTool, se utilizó una aplicación que permite manipular objetos 3D
por medio de 5 gestos implementada directamente sobre la interfaz del SDK y se

16oConcursodeTrabajosEstudiantiles,EST201342JAIIO-EST2013-ISSN:1850-2946-Page322 comparó su implementación con una nueva versión implementada por medio de
GRTool. Los resultados de esta comparación mostraron que la versión con GRTool
requirió un 69,63% menos de líneas de código totales y una disminución del 67,04%
en la complejidad ciclomática del código con respecto a la implementación de la apli-
cación sobre el SDK de Kinect.

El resto del artículo se organiza de la siguiente manera: la Sección 2 describe el
funcionamiento y utilización de GRTool. La Sección 3 describe dos experimentos y
los resultados de evaluar no sólo la precisión de GRTool sino los beneficios de su
aplicabilidad. Finalmente, las conclusiones son presentadas en la Sección 4.

2 Enfoque para el reconocimiento de gestos

Cuando una persona se sitúa frente a Kinect, el SDK identifica la posición de 20
partes de su cuerpo en el espacio 3D (X, Y, Z). Estos puntos en el espacio son actuali-
zados por el SDK 30 veces por segundo y agrupados en frames permitiendo a las
aplicaciones manipular dicha información. Si estas posiciones son observadas durante
un intervalo de tiempo se obtienen los movimientos de las partes del cuerpo, es decir,
el gesto que realizó la persona.

El objetivo principal de este artículo es describir GRTool; una herramienta que fa-
cilita el reconocimiento de gestos soportado por técnicas de Machine Learning. Las
técnicas provistas por GRTool utilizan un aprendizaje supervisado sobre un conjunto
de gestos de entrenamiento clasificados, que forma la base del conocimiento, para
clasificar o reconocer nuevos gestos. La Fig. 1 muestra un esquema conceptual del
enfoque propuesto donde se describe la interacción de GRTool con una aplicación.

Fig. 1. Esquema conceptual de GRTool



16oConcursodeTrabajosEstudiantiles,EST201342JAIIO-EST2013-ISSN:1850-2946-Page323 GRTool es la encargada de reconocer un gesto a partir de la información de movi-
mientos aportada por Kinect y notificar su reconocimiento a la aplicación por medio
de eventos. Estos eventos están asociados a la realización de una acción específica
dentro de la aplicación desarrollada, pudiendo ser la ejecución de un movimiento
dentro de un juego, una alerta de seguridad sobre movimientos sospechosos o mani-
pulación de robots, entre otros. Además, GRTool provee en todo momento las posi-
ciones de las partes del cuerpo del usuario permitiendo a la aplicación actualizar la
representación virtual del mismo mediante un avatar.

Para lograr este objetivo GRTool define tres pasos. El primer paso consiste en la
construcción de una base de gestos de entrenamiento que contenga los gestos modelos
a reconocer. Sobre esta base de entrenamiento, GRTool es capaz de entrenar las técni-
cas de Machine Learning construyendo los clasificadores de gestos. Por último,
GRTool provee un conjunto de interfaces para asociar cada uno de los gestos a ser
reconocido por los clasificadores con una acción de ejecución dentro de la aplicación
de usuario final. Las siguientes secciones se detallan cada uno de estos pasos.

2.1

Preparación de la base de gestos de entrenamiento.

Con el fin de facilitar la comprensión del funcionamiento de GRTool se utilizará un
ejemplo conductor. El ejemplo consiste en el desarrollo de una aplicación que simula
un p
  • Links de descarga
http://lwp-l.com/pdf1733

Comentarios de: Herramienta para facilitar el desarrollo de aplicaciones basadas en Kinect (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad