ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Un Reconocimiento de gestos empleando Kinect


Enviado por   •  16 de Agosto de 2015  •  Trabajo  •  4.226 Palabras (17 Páginas)  •  88 Visitas

Página 1 de 17

Universidad Militar Nueva Granada

Desarrollo de Producto Multimedia

Reconocimiento de gestos en tiempo real empleando Kinect

David Alejandro Marroquín Vanegas 1200879

Bogotá D.C.

16 de Noviembre de 2012

INTRODUCCIÓN

Cuando a Kinect respecta, el desarrollo de aplicaciones de capturas de movimiento es uno de los temas de los que se tiene mayor conocimiento ya que se han desarrollado aplicaciones con el código libre para hacer esto. Los usos del Kinect aparte de la captura de movimiento también sirven para la visualización de animaciones 3D y el reconocimiento de gestos para aplicaciones, lo que permite hacer con el Kinect casi cualquier cosa que implique capturar movimiento o incluso el uso de reconocimiento de voz.

El reconocimiento de gestos se basa en poder capturar diferentes tipos de movimientos o trackings que realice el cuerpo humano y poderlos aplicar a un software que me permita procesar la información de ese movimiento, como: punto inicial, punto final, velocidad de desplazamiento, etc, y permita mostrármelo en tiempo real, para lo cual se deben emplear algoritmos que permitan hacer un rastreo de puntos.

PROBLEMA

Con las diferentes aplicaciones que se han desarrollado para Kinect se ha conseguido hacer buenos trabajos a nivel de animación 3D y capturas de movimiento además de emplear el reconocimiento de gestos para el movimiento de robots o dispositivos de radio control (Aviones, carros, barcos).

Dentro del tipo de programas que se desarrollan los objetivos de estos han sido a nivel de investigación y entretenimiento, ya que son los campos en los cuales es más empleado el Kinect. En otros campos como la medicina también se ha incursionado empleando el Kinect para realizar modelos del cuerpo humano en tiempo real. Pero cuando se habla de el campo de la educación, únicamente los videojuegos educativos desarrollados por diferentes empresas para la consola Xbox 360 (la cual es la única consola de videojuegos que puede usar el Kinect) son los únicos que tienen este tipo de temáticas.

El empleo de herramientas multimedia para la enseñanza se ha visto limitado o truncado por la falta de desarrolladores para este tipo de herramientas, prefiriendo desarrollar aplicaciones para equipos portátiles como móviles o tabletas sin tener en cuenta el potencial e impacto positivo que puede tener el uso de este tipo de instrumentos de última tecnología en la enseñanza.

OBJETIVO GENERAL

Desarrollar una aplicación que permita el reconocimiento de gestos por medio de la captura de movimientos realizados por el cuerpo empleando el dispositivo Kinect para emplear tecnología multimedia en la enseñanza de diferentes tipos de materias generando animaciones 2D o 3D a medida que se realizan los gestos.

OBJETIVOS ESPECÍFICOS

• Desarrollar una aplicación que permita capturar gestos en tiempo real.

• Aplicar animaciones 2D o 3D sobre videos en tiempo real.

• Contribuir con el desarrollo de herramientas multimedia para la enseñanza.

 

ANTECEDENTES

• Kinect Recognizer: Es una aplicación desarrollada por el usuario “Minimalistic” en la cual se puede ver como se realiza un reconocimiento de gestos, en el cual se realizan movimientos con las manos, y el cual nos indica con cual brazo estamos realizando el movimiento y la distancia que recorre hasta que se detiene. Esta es una aplicación de código libre realizada en Visual Studio 2010 a partir de el Skeletal View para realizar la visualización del esqueleto, la visualización tipo Depth que genera una nube de puntos un laser que permite identificar la proximidad de los objetos a la cámara y el video RGB. [1]

[pic 1]

Kinect SDK Dynamic Time Warping (DTW) Gesture Recognition: Esta es una aplicación que sirve para el reconocimiento de gestos, la cual fue desarrollada por Simboubou en la cual se puede apreciar como funciona el reconocimiento de gestos ya que permite realizar el rastreo de un movimiento según la cantidad de frames que emplea en hacerlo. Permite indicar cual es el brazo que se esta usando ya que toma la posición generada por el Skeletar View que emplea DSK.

En esta aplicación se pude realizar entrenamiento de gestos lo que permite capturar un gesto para añadirlo a la base de datos de los gestos, igualmente también se pueden cargar diferentes gestos previamente programados. Emplea el mismo principio del programa anterior. [2]

[pic 2]

Gesture Recognition with Kinect using Hidden Markov Models: Este proyecto fue diseñado por Jonathan C. Hall y se basa en el reconocimiento de gestos empleando el algoritmo de modelos ocultos de Markov como base para reconocer y entrenar los tipos de gestos permitidos (la condición es que estos gestos deben ser en 2 dimensiones) y permite procesar los datos y realizar los cálculos empleando el software Matlab. Los modelos ocultos de Markov se basan en el reconocimiento de un primer gesto que va a indicar el punto medio y la realización de varios gestos extra que permite promediarlos para sacar una distancia dentro de la cual el gesto puede ser reconocido. El entrenamiento de este gesto se hace reconociendo un punto original, y permitiendo generar puntos “invisibles” por donde se vaya desplazando ese punto original, para así permitir calcular este rango de movimiento dentro de todo el círculo. [3]

[pic 3]

DIAGRAMA

Así va a ser el funcionamiento del Kinect

  • Entrada: Usuario realiza movimientos frente a el sensor Kinect.
  • El Kinect recibe los datos desde el exterior.
  • Los datos los convierte en puntos para generar un esqueleto.
  • Genera un modelo invisible (A partir de la captura del esqueleto genera automáticamente un cuerpo alrededor del esqueleto).
  • Existe una lista de movimientos que detecta el Kinect previamente guardados (todos los movimientos deben estar previamente entrenados).
  • Cuando se realiza un movimiento con el Kinect, los puntos del esqueleto se hacen coincidir con los que están en la lista de movimientos.
  • Si el movimiento se encuentra dentro del rango, se llama a una lista de animaciones previamente configuradas con la lista de movimientos para reproducir la animación.
  • Esta animación se reproduce sobre el video en tiempo real.
  • Si el movimiento se encuentra fuera del rango y se estaba reproduciendo una animación, esta se desvanece, de lo contrario (Si no se estaba reproduciendo nada) el dispositivo sigue mostrando el video común y corriente.

[pic 4]

METODOLOGÍA

  1. Realizar una investigación sobre los diferentes medios de captura de movimientos existentes.
  2. Investigación sobre el uso del Kinect y el software SDK para la captura de movimiento.
  3. Identificación de los métodos de reconocimiento de gestos.
  4. Investigación sobre este tipo de métodos haciendo énfasis en los Modelos Ocultos de Markov.
  5. Desarrollo de un código de prueba en Matlab o en Visual Studio 2010 que permita visualizar movimientos en cámaras RGB, Depth y Eskeletal Viewer.
  6. Aplicación de un algoritmo de captura de movimiento sobre el código anterior.
  7. Desarrollo de una interfaz que permita visualizar de manera textual el tipo de movimiento realizado.
  8. Desarrollo de una animación 2D y una animación 3D
  9. Investigación sobre como reproducir animaciones sobre videos.
  10. Integración de las animaciones sobre el video que muestra el código de prueba.

ALCANCES Y LIMITACIONES

Ya que este es un proyecto que puede ser aplicado a gran escala se deben generar ciertas limitaciones que permitan hacer más fácil el uso de la aplicación y su posterior puesta a prueba para saber el impacto generado.

Limitación geográfica: La aplicación va a ser probada en un colegio de la ciudad de Bogotá, Colombia.

Limitación social: El público objetivo de esta prueba son alumnos de grado sexto (6°) a grado once (11°).

...

Descargar como (para miembros actualizados) txt (28 Kb) pdf (374 Kb) docx (976 Kb)
Leer 16 páginas más »
Disponible sólo en Clubensayos.com