Ajedrez con las manos
Crear un ajedrez que se puede jugar con gestos de las manos a través de Python con los módulos OpenCV, Tensorflow, MediaPipe y PyGame. Incluyendo un set de instrucciones de movimientos predefinidos detectados por una inteligencia artificial.
Set de instrucciones
· Seleccionar coordenadas: Y(Número, en caso de ser mayor de 5, poner 2 veces un número y se sumará) + X(Letra, con gestos del ASL simples).
· Cancelar: Puño cerrado.
· Seleccionar: Signo OK.
· Detección de las manos
A través de MediaPipe, creado por Google, conseguimos detectar las manos en un sistema similar al esqueleto.
· Entrenamiento con Keras (Tensorflow)
Para entrenar la inteligencia artificial, cuando señales que estás haciendo un gesto especifico se guardarán los datos de la forma de tu mano y el gesto que haces. Luego se introducen en un Notebook de Jupyter para entrenarla y se verifica que funcionan bien.
· Conexión con un juego
Para conectarlo con el juego de ajedrez he optado por detectar qué gesto estás haciendo y guardarlo para luego mandarlo por TCP localmente, así se puede tener un buen sistema asíncrono de comunicación. El único problema es que PyGame no permite ese tipo de conexiones pues deja de responder.
La conexión se puede hacer por el puerto 5555 en localhost
La finalidad de este proyecto es demostrar las posibilidades que hay en diferentes módulos de inteligencia artificial, de este proyecto se podrían crear muchas cosas más como traductores de lenguaje de signos a texto y viceversa. Y también que el ajedrez mola, aunque esto podría servir para el Doom.