En la I/O 2023, Google lanzó el Proyecto Gameface, un "mouse" de videojuegos de código abierto y manos libres que permite controlar el cursor de una computadora utilizando el movimiento de la cabeza y los gestos faciales. Los usuarios pueden levantar las cejas para hacer clic y arrastrar, o abrir la boca para mover el cursor, lo que hace que los videojuegos ofrezcan un mayor grado de accesibilidad.
El proyecto se inspiró en la historia del streamer de videojuegos tetrapléjico Lance Carr, que vive con distrofia muscular, una enfermedad progresiva que debilita los músculos. Colaboramos con Lance para dar vida al Proyecto Gameface. La historia completa en la que se basa el producto está disponible en el blog de Google Keyword.
Fue un placer para nosotros ver que empresas como playAbility utilizaran componentes del Proyecto Gameface, como MediaPipe Blendshapes, en su software inclusivo. Ahora, estamos abriendo más código del Proyecto Gameface para ayudar a los desarrolladores a compilar aplicaciones para Android a fin de mejorar la accesibilidad en todos los dispositivos Android. A través de la cámara del dispositivo, rastrea sin problemas las expresiones faciales y los movimientos de la cabeza, y los traduce a un control intuitivo y personalizado. Ahora, los desarrolladores pueden crear aplicaciones donde los usuarios pueden configurar su experiencia mediante la personalización de las expresiones faciales, el tamaño de los gestos, la velocidad del cursor y mucho más.
Para este lanzamiento, colaboramos con Incluzza, una empresa social en la India que apoya a las personas con discapacidades, a fin de aprender cómo expandir el Proyecto Gameface a entornos educativos, laborales y de otro tipo, como poder escribir mensajes a la familia o buscar nuevos trabajos.
Link to Youtube Video (visible only when JS is disabled)
Durante la creación del Proyecto Gameface para Android, basamos nuestro diseño y desarrollo de productos en tres principios básicos:
2. Crear una solución rentable disponible de forma general para permitir un uso escalable.
3. Aprovechar los aprendizajes y los principios rectores del primer lanzamiento de Gameface para que el producto sea fácil de usar y personalizable.
Con este lanzamiento, ofrecemos una nueva forma de utilizar un dispositivo Android. Gracias a los comentarios positivos sobre el Proyecto Gameface, nos dimos cuenta de que los desarrolladores y los usuarios apreciaban la idea de mover un cursor con la cabeza y realizar acciones a través de las expresiones faciales.
Replicamos la misma idea para ofrecer un nuevo cursor virtual en un dispositivo Android. Utilizamos el servicio de accesibilidad de Android a fin de crear un nuevo cursor y aprovechamos la API de detección de puntos de referencia faciales de MediaPipe para programar el cursor de manera que se mueva de acuerdo con el movimiento de la cabeza del usuario.
Dentro de la API, hay 52 valores de forma de combinación facial que representan la expresividad de 52 gestos faciales, como levantar la ceja izquierda o abrir la boca. Utilizamos algunos de estos 52 valores para mapear y controlar de manera efectiva una amplia gama de funciones, y ofrecerles a los usuarios mayores posibilidades de personalización y manipulación. También aprovechamos los coeficientes de combinación, lo que brinda a los desarrolladores la capacidad de establecer diferentes umbrales para cada expresión específica y ayudarlos así a personalizar la experiencia.
En la versión de Windows para el Proyecto Gameface, permitimos a los usuarios replicar acciones de clic comunes. Sin embargo, en Android, hay una gama más amplia de funciones que los usuarios deben realizar. Hay eventos táctiles que se introducen en el sistema operativo y hay otros eventos de acción global, como "Regresar", "Cambiar a multitarea", "Inicio". Utilizamos las acciones móviles compatibles con la API de accesibilidad de Android para determinar qué acciones se podían ofrecer al usuario. Actualmente, el Proyecto Gameface para Android es compatible con GLOBAL_ACTION_HOME, GLOBAL_ACTION_BACK, GLOBAL_ACTION_NOTIFICATIONS, GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS.
La transmisión de la cámara mejora la experiencia del usuario de forma significativa, y facilita así la configuración precisa de los umbrales y una mejor comprensión de los gestos. También envía una señal clara al usuario de que se está utilizando la cámara de manera activa para comprender los movimientos y gestos de su cabeza.
Crear solo una superposición de la transmisión de la cámara habría impedido que los desarrolladores accedieran a algunas secciones importantes del dispositivo Android, como la configuración de Android. Utilizamos el servicio de accesibilidad de Android con el Proyecto Gameface para permitir que la cámara se muestre de modo flotante incluso en la configuración de Android y en cualquier otra sección importante del dispositivo Android de un usuario.
Actualmente, el servicio de accesibilidad de Android carece de un método sencillo para que los usuarios usen la función de arrastrar en una pantalla interactiva en tiempo real. Sin embargo, actualizamos nuestro producto para incluir esa funcionalidad, lo que les permite a los usuarios definir tanto los puntos de inicio como de finalización. En consecuencia, la función de arrastrar se ejecutará sin problemas a través de la ruta especificada.
Nos entusiasma ver el potencial del Proyecto Gameface y no vemos la hora de que los desarrolladores y las empresas lo utilicen para crear nuevas experiencias. Gameface está configurado con código abierto en Github.
Quisiéramos agradecer las valiosas contribuciones de las siguientes personas al Proyecto Gameface para Android: Edwina Priest, Sisi Jin, KC Chung, Boon Panichprecha, Dome Seelapun, Kim Nomrak, Guide Pumithanon, Lance Carr, Communique Team (Meher Dabral, Samudra Sengupta), EnAble/Incluzza India (Shristi G, Vinaya C, Debashree Bhattacharya, Manju Sharma, Jeeja Ghosh, Sultana Banu, Sunetra Gupta, Ajay Balachandran, Karthik Chandrasekar