jueves, 14 de noviembre de 2013

Quinta Entrega

En ésta entrega se mostrará el avance que se ha tenido en la recepción de imágenes con el kinect, ya que se había retrasado el desarrollo del proyecto por falta del cable adaptador de corriente-USB de kinect para conectarlo a la computadora.

Por consiguiente procedemos a instalar el Kinect para Windows, disponible en éste enlace:

Kinect for Windows

El cual se debe instalar antes de conectar el Kinect a la computadora.
Después de esta instalación es importante proseguir con la instalación del paquete de desarrollo para Kinect, disponible en éste enlace:

Kinect for Windows Developer Toolkit

Después de la instalación procedemos a realizar nuestro primer programa con Pykinect, conectándolo a la corriente y datos por USB. Al conectarlo se debe mostrar en el administrador de dispositivos, los respectivos controladores de nuestro dispositivo.

Abrimos nuestro Visual Studio y nos dirigimos a nuestras herramientas de desarrollo para el Kinect.
Creamos una aplicación de Python y copiamos el equivalente al Hola Mundo:



A lo que nos permite visualizar el exterior por medio del kinect.


Todo ésto se ha ido realizando siguiendo un tutorial que nos muestra las distintas funciones del Python Tools, entre ellas las de Pykinect.
http://pytools.codeplex.com/wikipage?title=PyKinect

En el próximo avance se mostrarán más funciones de lo ésta moderna herramienta puede llegar a hacer.






martes, 5 de noviembre de 2013

Cuarta Entrega

En esta entrega, se obtuvo un avance significativo en el reconocimiento de patrones, ya que comenzó a desarrollar el algoritmo que detecta la presencia de un lenguaje de señas, obteniendo los patrones  de las señas del alfabeto.

Algoritmo:

1. Inicio
2. Seleccionamos la imagen y la transformamos por un filtro.
3. Sobre la imagen ya filtrada encontramos la forma esperada.
4. Se codifica en un texto la representación de la seña y se muestra en pantalla.
5. Fin


Después nos encontramos con un contratiempo, además del alfabeto existen frases que son representadas por medio de signos o señas, entre las cuales podemos identificar.

Cuando alguien expresa un aprecio o quiere decir un Te amo, es representado por una seña así.


Y existen muchas cosas que han sido "optimizadas" para que al momento de usar éste lenguaje se puedan decir las frases más comunes en menos signos o señas.

Por lo pronto es posible transformar la imagen con el filtro y queda de ésta manera.


Aquí encontramos una aplicación que, nos ayuda a encontrar la traducción exacta del español a nuestro lenguaje de señas, lo que nos ayudará a nuestro proyecto e incluso podríamos contactar a los desarrolladores del mismo para mejorar nuestro sistema, una vez terminado.

Aplicación español a lenguaje de señas.

martes, 29 de octubre de 2013

Tercera entrega

En ésta semana se avanzará acerca de lo que es reconocimiento de imágenes dentro del Kinect utilizando Python.

Lo primero que hay que tomar en cuenta es que se necesita un cable especial para conectar el usb a la computadora, lo cual se va a adquirir en ésta semana, además se planteó que partes de los sensores utilizaremos y cómo es que se obtiene la posición de la persona que se encuentra enfrente del dispositivo.

Primero que todo según nuestra investigación nos dimos cuenta que el Kinect SDK, facilita mucho la realización del proyecto, ya que éste recibe los datos ubicando al "esqueleto" de la persona que está realizando el lenguaje de señas para ser traducido por la máquina.

En el siguiente video vemos cómo se realiza la entrada de datos, tomando como base un esqueleto amarillo.


Cabe destacar que antes de utilizar el sdk de kinect es importante instalar pygame. Ya sea en su versión 1.9.1 ó 1.9.2, dependiendo de la versión de Python instalada y es indispensable que Python se haya instalado en su versión de 32 bits, para que la instalación no consuma más tiempo del debido.

Se trabajará en su mayoría en la recepción de imágenes, buscando patrones similares a los que se espera según determinado umbral, ya que en todo momento se evaluará la posición del esqueleto, para encontrar un 90% de similitudes a los patrones obtenidos en una imagen cada una de las señas, hechas por alguno del equipo.


Después de ésto sólo es cuestión de en base a las entradas aplicar la Red Neuronal que de como salida, alguna de las señas de nuestro lenguaje.

Esperaremos no tener problemas una vez que se realicen las primeras pruebas con el dispositivo.

Se está considerando el uso de una salida de voz, para la traducción en tiempo real con la herramienta 
Microsoft Speech Platform descargable desde éste enlace: Speech Platform.

Fuentes:



lunes, 21 de octubre de 2013

División del Trabajo


La siguiente tabla muestra el trabajo del cual se encarga cada unos de los integrantes del equipo y en que consiste la tarea de las que son encargados.


Instalación e Implementacion de Funciones Básicas.

De la siguiente pagina se puede descargar el Python Tools para la versión de Visual Studio que usted desee

Esta herramienta nos sirve ya que contiene una librería muy importante para nuestro proyecto que es la librería "Pykinect", el cual nos permite utilizar un aparato que nos ayudara en la detección de las señas para poder traducir del lenguaje de señas al español.



Con la instalación de el Python Tools para Visual Studio 2012 podemos observar que al crear un nuevo proyecto el lenguaje de Python aparece entre los lenguajes que contiene el Visual Studio y podemos comenzar para comprobar que todo este instalado correctamente.





Creando un proyecto nuevo en python hicimos que imprimiera un hola mundo y otras pequeñas funciones para comprobar que el software se haya instalado correctamente en nuestro Visual Studio.



El software fue instalado correctamente y esta listo para su uso, aun se esta probando a fondo para evitar cualquier tipo de error inesperado.

Conocimiento del Lenguaje de Señas.

La lengua de señas, o lengua de signos, es una lengua natural de expresión y configuración gesto-espacial y percepción visual, gracias a la cual las personas sordas pueden establecer un canal de comunicación con su entorno social, ya sea conformado por otros individuos sordos o por cualquier persona que conozca la lengua de señas empleada. Mientras que con el lenguaje oral la comunicación se establece en un canal vocal-auditivo, el lenguaje de señas lo hace por un canal gesto-viso-espacial.




viernes, 11 de octubre de 2013

Planeación del Proyecto

Buscando una necesidad para realizar un proyecto que pueda abarcar varios disciplinas y que pueda ayudar a un grupo grande de personas. Pensándolo poco, observando posibles proyectos del área de mi interés, como la biología, psicología y ciencias de la salud, encontré una necesidad importante que ayudaría a muchas de las personas que no pueden comunicarse verbalmente.

Para ésto se planteó la idea de un posible invento innovador, el cual ayude a traducir desde el conocido "lenguaje de señas" a idioma español en el menor tiempo posible, para que la comunicación o lo que las personas quieran expresar sea continuo y no represente una mayor dificultad.

Después fue necesario realizar una evaluación de la idea, sobre: ¿Cuáles serán los conocimientos necesarios?, ¿Qué plataforma de desarrollo utilizaremos? y ¿Qué tipo de dispositivo se va a utilizar?

El lenguaje de desarrollo deseado es Python, ya que se conoce que existe gran cantidad de librerías que pueden ser utilizadas para el reconocimiento de patrones al darle entrada a la información por medio de una imagen o varias.

Investigando, me encontré con una limitante, ya que aún no se conocía el dispositivo que se utilizará para recibir el mensaje en lenguaje de señas y, después de un tiempo se encontró una posible alternativa muy viable para desarrollar, la cual es el dispositivo Kinect, del Xbox 360.



Al encontrarnos con un dispositivo de Microsoft, se pensó que había que cambiar de lenguaje de programación, pero no fue así, ya que existe una herramienta de Python llamada Pykinect, la cual se utiliza en visual estudio para hacer uso de todos los recursos que nos ofrece éste gran dispositivo.

Antes que todo, hay que estudiar las múltiples funciones que nos proporciona el kinect, las cuales son:

Kinect esta compuesto por cámaras y sensores que se encargarán de reflejar nuestros diferentes movimientos y reacciones para ejecutar acciones en los juegos.

Kinect combina una cámara rgb, un sensor y un micrófono, el sensor se encarga de detectar movimientos corporales, el micrófono captará nuestra voz y así nosotros mismos seremos el mando que dará órdenes a los juegos. La cámara ayudara al sensor a la hora de interpretar lo que nosotros hagamos, además de que muchos juegos traerán reconocimiento facial para personalizar aún mas la experiencia.

Según comentan los creadores de Kinect, el micrófono que trae es capaz de separar nuestra voz del ruido de ambiente y así facilitarnos tareas como la de chatear sin necesidad de usar auriculares de ningún tipo.

Ahora que se conocen las funciones más importantes del mismo, es posible asegurar que no necesitamos un mejor dispositivo, ya que Kinect cumple con todas las necesidades del proyecto.

Lo siguiente será instalar en Visual Studio la Herramienta Pykinect para empezar a probar la maravilla de esta herramienta de desarrollo.

Se realizarán entradas cada viernes para ir documentando cada avance del proyecto tomando en cuenta el siguiente orden.

Avances \  Tiempo
11-10
18-10
25-10
1-11
8-11
15-11
22-11
Instalación e implementación de funciones básicas.







Conocimiento del lenguaje de señas.







Reconocimiento de imágenes con Kinect.







Reconocimiento de imágenes instantáneas en video.







Estudio de la velocidad y análisis de las posibles variantes del lenguaje.







Implementación en un prototipo.







Pruebas y mejora de la recepción de información en tiempo real.







Prototipo funcional final.