Herramientas de comprensión de lenguaje natural y de reconocimiento facial aplicadas a un entorno de realidad virtual Por Grado en Desarrollo de Videojuegos Facultad de Informática Dirigido por Borja Manero Iglesias Alejandro Romero Hernández NATURAL LANGUAJE UNDERSTANDING AND FACE RECOGNITION TOOLS APPLIED TO VIRTUAL REALITY Madrid, 2022–2023 Herramientas de comprensión de lenguaje natural y de reconocimiento facial aplicadas a un entorno de realidad virtual Memoria que se presenta para el Trabajo de Fin de Grado en la convocatoria de Febrero Anass Carreau Allagui Dirigido por Borja Manero Alejandro Romero Grado en Desarrollo de Videojuegos Facultad de Informática Universidad Complutense de Madrid Madrid, 2023 Agradecimientos Me gustaría expresar mi gratitud hacia todas las personas que han contribuido en mi formación académica y me han brindado los conocimientos necesarios para llevar a cabo este proyecto. En primer lugar, quiero agradecer a Borja Manero, Meriem El Yamri y Alejandro Ro- mero por confiar en mi capacidad para llevar a cabo el proyecto de manera individual y por incluirme en el experimento de Didascalias. Estoy profundamente agradecido por su orientación y apoyo durante el desarrollo de mi trabajo de fin de grado. Su sabiduría y experiencia han sido fundamentales para el éxito de mi proyecto. Sus sugerencias y retroalimentación han sido de gran valor para mí y me han ayudado a mejorar significa- tivamente mi trabajo. También quiero expresar mi gratitud por su dedicación y esfuerzo en la docencia, que ha sido contagiosa para todos los demás. Por otra parte, quiero mencionar la valiosa ayuda recibida de Ibis y Mírela. Sus in- teresantes conversaciones en los descansos de los experimentos me han permitido ver la perspectiva de la enseñanza desde su punto de vista. También estoy agradecido a la Universidad Complutense por proporcionarme los recursos necesarios para llevar a cabo el proyecto. Por último, pero no menos importante, quiero dar las gracias a mi familia y amigos por su apoyo moral y motivación, incluso en momentos difíciles relacionados con el proyecto anterior. Gracias a todos ii Resumen La educación es uno de los factores más influyentes respecto al avance y progreso de perso- nas y sociedades. Además de la adquisición de conocimientos y habilidades, la educación proporciona valores, hábitos, creencias y virtudes a personas que en un futuro serán tra- bajadores o padres. Por esta razón es importante centrarse en los métodos educativos actuales y promover toda innovación al sector de la educación. Para eso es necesario con- tar con docentes experimentados con la habilidad de poder solucionar los conflictos en clase con seguridad y decisión de la mejor manera posible. La comunicación entre un alumno y el profesor es vital para la solución de estos conflictos. Cuando se habla de comunicación hay que tener en cuenta la comunicación no verbal y la verbal. Hay que saber mostrar las intenciones con el lenguaje natural pero también es importante tener en cuenta las expresiones faciales y el lenguaje corporal ante los ojos de un alumno. En este proyecto, se investigan y se implementan tecnologías que permiten el procesamien- to del lenguaje natural y el reconocimiento facial en un juego serio de temática educativa. Durante la ejecución se analizan las intenciones del usuario con una inteligencia artificial de comprensión del lenguaje. Por otra parte, se han implementado funcionalidades para poder hacer un seguimiento de ojos y analizar la frecuencia cardiaca y las emociones. De este proyecto, se concluye que las nuevas tecnologías pueden ser de gran ayuda para poder evaluar a futuros docentes y ofrecerles una experiencia lo más realista posible de un entorno conflictivo. Palabras clave Juego serio, interacción, comprensión del lenguaje, educación, expresiones faciales, reali- dad virtual, comunicación iii Abstract Education is one of the most influential factors in the advancement and progress of individuals and societies. In addition to the acquisition of knowledge and skills, education provides values, habits, beliefs, and virtues to people who will be workers or parents in the future. That’s why it’s important to focus on current educational methods and promote innovations in the education sector. To do this, it is necessary to have teachers experienced with the ability to solve classroom conflicts safely and in the best possible way. The communication between a student and a teacher is vital for the resolution of these conflicts. When talking about communication, it is important to consider nonverbal and verbal communication.it is crucial to know how to show intention with natural language, but it is also important to consider facial expressions and body language in front of a student. In this project, we investigate and implement technologies that allow the processing of natural language and facial recognition in an educational-themed serious game. During the execution, the user’s intentions are analyzed with a natural language understanding artificial intelligence. Furthermore, other functionalities have been implemented to be able to eye tracking and analyze heart rate and emotions. From this project, it is concluded that modern technologies can be of significant help in evaluating future teachers by offering them an experience as realistic as possible of a conflictive environment. Keywords Serious game, interaction, language comprehension, education, facial expressions, virtual reality, communication. iv Índice general Página 1. Introducción 1 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.1. Objetivos Generales . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.2. Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Estado del arte 4 2.1. Historia de la realidad virtual . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.1. Estereopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.2. Simuladores aeroespaciales . . . . . . . . . . . . . . . . . . . . . . 5 2.1.3. El auge de la realidad virtual en los 90 . . . . . . . . . . . . . . . 7 2.1.4. La tecnología VR en la actualidad . . . . . . . . . . . . . . . . . . 8 2.2. Tendencias de los videojuegos y los Serious Games . . . . . . . . . . . . . 11 2.2.1. Impacto de los videojuegos en la sociedad . . . . . . . . . . . . . 11 2.2.2. Serious games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3. Proyecto Classroom VR . . . . . . . . . . . . . . . . . . . . . . . 14 2.3. Reconocimiento facial en la actualidad . . . . . . . . . . . . . . . . . . . 15 2.3.1. Emteq Labs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4. Reconocimiento del lenguaje natural en la actualidad . . . . . . . . . . . 16 2.4.1. Reconocimiento del lenguaje natural por voz . . . . . . . . . . . 17 3. Desarrollo y herramientas 19 3.1. Herramientas de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.1. Tecnología base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.2. Dispositivos Utilizados . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.3. Comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2. Desarrollo del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1. Metodología de trabajo . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.2. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4. Herramienta de reconocimiento facial 26 4.1. Investigación y comprensión de Emteqvr . . . . . . . . . . . . . . . . . . 26 4.1.1. Valencia y Arousal . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.1.2. Activación de los músculos faciales (Expresividad) . . . . . . . . . 27 4.1.3. Seguimiento de la frecuencia cardíaca . . . . . . . . . . . . . . . . 29 4.1.4. Movimiento ocular (Solo con gafas con rastreador ocular) . . . . . 30 v UCM 4.2. Implementación en Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5. Herramienta de comprensión del lenguaje natural 34 5.1. Investigación y comprensión de Wit.ai . . . . . . . . . . . . . . . . . . . 34 5.1.1. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.2. Proyecto de wit.ai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.3. Implementación del proyecto de Wit.ai en Unity . . . . . . . . . . . . . . 36 6. Conclusiones y trabajo futuro 38 6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.1.1. Conclusiones Reconocimiento facial . . . . . . . . . . . . . . . . . 38 6.1.2. Conclusiones Reconocimiento del lenguaje natural . . . . . . . . . 38 6.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Introduction 40 Conclusions and Future Work 42 Bibliografía y enlaces de referencia 44 vi Índice de figuras 2.1. Eye toy para la Playstation 2 (2003) . . . . . . . . . . . . . . . . . . . . 4 2.2. Estereoscopio de Charles Wheatstone (1832) . . . . . . . . . . . . . . . . 5 2.3. Helmet-Mounted Display (1967) . . . . . . . . . . . . . . . . . . . . . . . 6 2.4. Proyecto Super Cockpit (1970s - 1980s) . . . . . . . . . . . . . . . . . . . 7 2.5. Virtuality Pod (1991) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6. Mario Tennis para la Virtual Boy (1995) . . . . . . . . . . . . . . . . . . 8 2.7. Oculus Rift Developer Kit (2012) . . . . . . . . . . . . . . . . . . . . . . 9 2.8. HTC Vive Pro (2018) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.9. Omni One (Pendiente de lanzamiento) . . . . . . . . . . . . . . . . . . . 11 2.10. League of Legends de Riot Games (2009) . . . . . . . . . . . . . . . . . . 12 2.11. VR Chat (2014) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.12. Microsoft Flight Simulator (2020) . . . . . . . . . . . . . . . . . . . . . . 13 2.13. Aprendilandia de Planeta de Agostini (1999) . . . . . . . . . . . . . . . . 14 2.14. Character Animator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.15. Red Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.16. Echo Dot (5.ª generación, modelo de 2022) . . . . . . . . . . . . . . . . . 17 3.1. Github Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2. Google Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3. Wit.ai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4. EmteqPRO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5. Vive Pro Eye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.6. Quest 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.7. Class Game Scene antes . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.8. Class Game Scene después . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.9. Antiguo script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.10. Árbol de comportamiento Escena1 . . . . . . . . . . . . . . . . . . . . . 24 3.11. Componentes VR de Unity . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1. The circumplex model of affect . . . . . . . . . . . . . . . . . . . . . . . 27 4.2. Gráfico de activación de músculos . . . . . . . . . . . . . . . . . . . . . . 27 4.3. Posicion de los músculos . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.4. Gráfico que muestra los intervalos de las señales de los sensores de ECG y PPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.5. Unidad de medición inercial (IMU) . . . . . . . . . . . . . . . . . . . . . 30 4.6. Rastreador ocular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.7. Expresiones faciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.8. Guardado de datos en Json . . . . . . . . . . . . . . . . . . . . . . . . . 32 vii UCM 4.9. Expresiones en Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.1. Wit.ai web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2. Package Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.3. Settings Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.4. Wit Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5. Componente Wit en Unity . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.6. Código para obtener datos . . . . . . . . . . . . . . . . . . . . . . . . . . 37 viii Índice de cuadros 5.1. Intents del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2. Entidades del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ix Capítulo 1 Introducción 1.1. Motivación La evolución humana ha permitido la creación de entornos seguros para la preparación y enseñanza de actividades que, debido a su complejidad, peligrosidad o riesgo en general, son difíciles de replicar en el mundo real[1, 2]. Un ejemplo de esto son los simuladores de vuelos utilizados por pilotos de todos los niveles para aprender o perfeccionar sus técnicas de vuelo, que, gracias a su fidelidad y atención al detalle, se asemejan mucho a la experiencia real[3]. Este proyecto tiene un propósito similar, ofrecer a los profesionales de la educación una herramienta en la que puedan desarrollar sus habilidades para lidiar con varios conflictos que pueden darse en las clases. Cabe destacar que este proyecto parte de la base de otros TFGs de investigaciones previas enmarcados en el proyecto de investigación de Didascalias (RTI2018-096401-A-I00). El primer TFG[4] trata sobre la importancia de la comunicación verbal y el segundo [5] de la comunicación no verbal, específicamente el lenguaje corporal. Estos proyectos investigan de qué manera se pueden interpretar en un juego serio las acciones del jugador para que se reflejen en las actitudes de los alumnos y obtener un feedback sobre si se ha actuado de manera correcta o no. Al igual que en los simuladores de aviones, los detalles son lo que permiten que la herra- mienta sea sustituta de la experiencia real. En este caso, se profundizará en las expresiones lingüísticas y las expresiones faciales del jugador. De esta manera, el juego toma en cuenta las palabras y las caras del usuario para hacer frente a las distintas situaciones conflicti- vas, lo que hace la experiencia más realista y contribuye al desarrollo de una educación más innovadora y adaptada a las necesidades de los estudiantes en la actualidad. 1.2. Objetivos 1.2.1. Objetivos Generales El objetivo de este proyecto es investigar, renovar e implementar tecnologías para aplicar a los distintos escenarios de un conflicto previamente diseñados con la intención de educar y valorar a los futuros docentes. 1 UCM 1.2.2. Objetivos Específicos Adaptar el sistema de escenas para que permita mantener sus funciones anteriores. Refactorizar el código y corregir todos los bugs del proyecto anterior. Analizar y comparar los diferentes sistemas de reconocimiento facial disponibles en el mercado Entender y crear escenas de prueba para aprender a utilizar emteqvr y a obtener la información biométrica del accesorio (pulso cardíaco, cuantización de los impulsos eléctricos de los electrodos, . . . ) mediante las herramientas ya creadas por Emteq Labs. Introducir la herramienta de comandos de voz Wit.ai y aprender a usarla para el reconocimiento del lenguaje natural Investigar y comprender como el lenguaje puede ser utilizado en conjunto con el reconocimiento facial para mejorar la interacción profesor-alumno Obtener información y serializarla en directo para poder procesarla y obtener una conclusión sobre esta información Implementar esta nueva información serializada en los escenarios de clase ya creados 1.3. Estructura del documento Este documento se divide en 6 capítulos cada uno dedicado a un tema específico. Este primer capítulo contiene una introducción del TFG con sus motivaciones y los principales objetivos a cumplir para su desarrollo satisfactorio. Cap 2 - Estado del arte En el capítulo estado del arte se discute la situación actual del videojuego y de las tecnologías de realidad virtual: las modas y tendencias actuales, tecnologías (sobre todo innovaciones en el hardware de las gafas de realidad virtual y sus accesorios) y los juegos educativos o con propósito utilitarios, más conocidos como Serious Games. Cap 3 - Metodología y Desarrollo Acto seguido se habla de la metodología empleada, las diferentes herramientas em- pleadas. En este capítulo se comenta el proceso de adaptación del proyecto previo, las nuevas actualizaciones de algunos componentes y los arreglos hechos. También explica la inteligencia artificial con Behavior Designer Cap 4 - Herramienta de reconocimiento facial El cuarto capítulo, es dedicado a entender el funcionamiento del dispositivo de Emteq Labs, emteqvr, se presenta la herramienta y técnicas utilizadas. Cap 5 - Herramienta de comprensión del lenguaje natural En este capítulo se describe el proceso de comprensión del lenguaje natural conse- guido gracias a Wit.ai, su integración y las variables usadas en el proyecto. 2 UCM Cap 6 - Conclusiones y trabajo futuro En este capítulo se presentarán las conclusiones obtenidas a partir del trabajo de fin de grado, con un análisis de los aspectos que pueden mejorar y se hablará de la continuación del proyecto en un futuro. 3 Capítulo 2 Estado del arte 2.1. Historia de la realidad virtual Según la definición del diccionario de Cambridge [6], un videojuego es un juego en el que el jugador controla imágenes que se mueven en una pantalla presionando botones. Sin embargo, los videojuegos han evolucionado mucho desde entonces. Ya no se limitan a ser simples vectores proyectados en un televisor de tubo controlados con un joystick y un botón. Ahora, existen diferentes formas de interactuar con los juegos, como el eye toy de la Sony Playstation [7] o Kinect de Xbox [8], en el que el jugador navega e interactúa solamente usando una webcam y no un mando, teclado o ratón u otros dispositivos físicos. Desde el momento en el que se enciende la consola el jugador no tiene más que usar sus manos para elegir los diferentes modos de juego, ajustes o cualquier otro menú. Figura 2.1: Eye toy para la Playstation 2 (2003) 4 UCM 2.1.1. Estereopsis La definición de videojuego del diccionario de Cambridge tampoco contempla nuevas tecnologías como la realidad aumentada (RA) o realidad virtual (RV), tecnologías que basan su funcionamiento en la Estereopsis, un efecto óptico descrito por primera vez por Sir Charles Wheatstone en 1839 y comprobado gracias al estereoscopio, un instrumento que permite ver dos imágenes planas como una sola y con efecto de profundidad [9]. En el mundo real, el ojo humano percibe la distancia y ve las cosas en tres dimensiones gracias a la visión binocular. Los ojos de la persona media distan unos 7-8 centímetros de si, lo que provoca que vea las cosas desde dos perspectivas distintas a la vez, una por cada ojo. El cerebro entonces se encarga de juntar estas imágenes en una sola mediante la estereopsis [10]. Gracias a este efecto es posible darle a las películas 3D el efecto de profundidad, pero más importante, en contexto de este trabajo, también a las gafas de realidad virtual. El funcionamiento de estas es relativamente sencillo, cada lente de las gafas muestra una perspectiva de lo que se esté mostrando movida, idealmente la misma distancia que la que hay entre los ojos del usuario, y esto es suficiente para provocar la estereopsis. Figura 2.2: Estereoscopio de Charles Wheatstone (1832) 2.1.2. Simuladores aeroespaciales La estereopsis fue conceptualizada por varios campos artísticos, desde películas a expe- riencias sensoriales, pero fue usada con fines prácticos en 1966 por Thomas Furness [11], un ingeniero militar del ejército del aire estadounidense [12]. Los cazas y aviones de la armada yankee a finales de los años 60 era un puzzle de instrumentos, sensores, botones y palancas, y eso traía consigo un problema. ¿Dónde se supone que va a poder ver toda esa información el piloto? El cockpit estaba tan lleno de instrumentación que era muy difícil añadir además un panel o pantalla capaz de representar todo lo necesario para ser efectivo en el aire, al fin al cabo el piloto no solo tendría que estar atento a lo que ocurría en su nave, sino además a posibles amenazas del exterior. Por ello, Thomas se encargó de diseñar una nueva manera de representar información de tal forma que fuese fácil de ser interpretada por el usuario. La solución fue fácil, se dió cuenta que podría representar todo de manera muy pequeña si esta estuviera cerca de la cara del piloto. El 5 UCM primer modelo fue el llamado Helmet-Mounted Display, acabado en 1967, y solamente mostraba la información por uno de los ojos. Figura 2.3: Helmet-Mounted Display (1967) Sus modelos posteriores sí aprovechaban la estereopsis, y acabó culminando en un pro- yecto llamado Super Cockpit, un visor más avanzado que se asimila a lo que conocemos como los cascos de realidad virtual y que terminó por convertirse no solo en una herra- mienta útil para el fácil acceso de información de vuelo, si no también en los primeros simuladores de vuelo gracias a la introducción de elementos de virtualización de entornos sustentado por gráficos de vectores [13]. Además de esto, Thomas ha seguido investigando e innovando hasta 2002 sobre varios aspectos de la realidad virtual [14], siendo uno de los pilares fundamentales de la tecno- logía. A día de hoy, es profesor de el College of Enineering de Washington [15]. y sigue impartiendo clases y conferencias. 6 UCM Figura 2.4: Proyecto Super Cockpit (1970s - 1980s) 2.1.3. El auge de la realidad virtual en los 90 El uso de la tecnología VR no vió la luz en el mundo de los videojuegos hasta comienzos de los años 90, en el que la empresa Virtuality Group [16] empezó a desarrollar videojuegos para salas de arcade, y que más adelante tuvo colaboración por parte de SEGA [17] para el desarrollo de nuevos videojuegos como e iteraciones del headset, como el VR-1 [18] presente en varios parques temáticos de la compañía nipona. Figura 2.5: Virtuality Pod (1991) 7 UCM La realidad virtual se había convertido en tendencia, haciendo que otras empresas como Nintendo [19] también se interesaran por la tecnología. Un claro ejemplo de ello fue la Virtual Boy [20], una consola que pese a su ambiciosa promesa de traer el gaming VR a casa de los jugadores, fue un fracaso comercial con solamente 770.000 unidades vendidas, aguantando solo un año en el mercado. [21] Esto se debió a que la tecnología aún era muy primitiva y cara, por lo que los compromisos que traía esta nueva consola, como la limitación de colores (solamente escalas de rojo y negro) y lo poco cómodas que eran de usar debido a la ausencia de un sistema de enganche a la cabeza y lo mucho que afectaban los pequeños movimientos con la cabeza a la estabilidad de la imágen hicieron que no fuese una opción atractiva para el consumidor. [21] Este fracaso provocó que la industria se volviera escéptica del uso de la realidad virtual “casera”, por lo que los años venideros solo se verían nuevas innovaciones en centros de juegos recreativos o en parques temáticos que sí disponían de gafas más avanzadas y por ello mucho más caras. Figura 2.6: Mario Tennis para la Virtual Boy (1995) [22] 2.1.4. La tecnología VR en la actualidad En 2012, Palmer Freeman Luckey [23] lanza una campaña de financiación en Kickstarter [24] para su producto, Oculus Rift, el cual fue un éxito consiguiendo una financiación de más de 2 millones de dólares de los 250.000 que se pedían inicialmente y creando un nuevo estándar para los videojuegos en realidad virtual. Los backers iniciales recibieron una unidad de desarrollo y fue recibido muy bien tanto por la comunidad gaming como de otros campos científicos. [25] Oculus había sido capaz de traer de vuelta al mainstream la realidad virtual, y muchas empresas de videojuegos, sobre todo indie, centraron su atención en desarrollar para estas plataformas. [26] 8 UCM Figura 2.7: Oculus Rift Developer Kit (2012) [27] A día de hoy seguimos bajo el estándar creado por Oculus, pero surgieron por el camino nuevos proyectos de otras empresas que han traído al mundo de la realidad virtual nue- vas aportaciones, como por ejemplo Google con Google Cardboard [28], que permite a los usuarios transformar su teléfono Android en una puerta de entrada al mundo VR solamente usando dos simples lentes y cartón. Esto significó que el usuario casual o in- teresado en la tecnología podría probar una experiencia VR muy similar a la ofrecida por las gafas del mercado.[29] Las pantallas incorporadas en los kits de desarrollo de Oculus eran las mismas que la mayoría de los móviles de gama media/alta de la población, lo cual permitía ofrecer una experiencia similar a excepción de la calidad de construcción de la carcasa (cartón en vez de plástico de buena calidad). [30] Un desarrollo importante sobre todo en la manera en la que controlamos e interactuamos con los entornos virtuales fue producido gracias a HTC [31], quienes lanzaron al mercado su propia iteración de unas gafas de realidad virtual en el 2016, las HTC Vive, pero que traían consigo un par de mandos que permiten al jugador interactuar con el espacio virtual de manera mucho más realista, ya que este gracias a los sensores externos que incluye el conjunto podría ver y usar sus proprias manos dentro del juego. 9 UCM Figura 2.8: HTC Vive Pro (2018) Además de avances en la inmersión en las gafas, varias empresas han dedicado sus es- fuerzos mejorar la experiencia VR trayendo al mundo digital otros aspectos del mundo real, como bHaptics [32], que produce guantes, chalecos y trajes que transmiten mediante señales hápticas (vibraciones producidas por motores que van incorporados en los acce- sorios) mayor inmersión al jugador. Por ejemplo, en un juego de disparos, si el usuario está usando un TactSuit X40 [33] (un chaleco producido por bHaptics), éste podrá sentir cómo y dónde es alcanzado en un juego de disparos. Otro ejemplo es el de Virtuix [34] con sus plataformas que permiten al jugador controlar el movimiento de su personaje caminando por una cinta similar a las que se usan en los gimnasios. Existen otras empresas que se centran en traer al entorno virtual otros aspectos de la vida real, la misma HTC ha popularizado el uso de trackers de movimiento corporal, que permiten transmitir al ordenador los movimientos que ejecuta el usuario no solamente con las manos (juntamente con los mandos), pero también de otras miembros del cuer- po gracias al uso de varios sensores repartidos por todo el cuerpo. La última iteración del sensor, el Vive tracker 3.0 es mucho más pequeño en comparación, haciendo que la experiencia del usuario sea más realista y sin compromisos. [35] 10 UCM Figura 2.9: Omni One (Pendiente de lanzamiento) 2.2. Tendencias de los videojuegos y los Serious Ga- mes 2.2.1. Impacto de los videojuegos en la sociedad Los videojuegos se han convertido en un pilar fundamental de la vida de muchas personas, gracias a los avances tecnológicos que nos han permitido pasar de jugar en máquinas de 8 bits en solitario o con amigos presentes físicamente como con la Nintendo Entertainment System (más conocida como NES) [36] a poder estar siempre comunicados y socializando a través de juegos en línea en nuestros ordenadores o consolas. Juegos como League of Legends de Riot Games [37], Counter Strike Global Offensive de Valve [38] o Fortnite de Epic Games [39] mantienen cifras astronómicas de jugadores concurrentes [40], e indican una tendencia: la sociedad necesita estar entretenida en todo momento. 11 UCM Figura 2.10: League of Legends de Riot Games (2009) El apartado social es un factor muy importante de esta nueva tendencia, y se ve reforzado por el popular uso de las redes sociales. Hoy en día estamos más interconectados que nunca, podemos compartir nuestra vida a través de historias de Instagram [41], compartir memes o nuestros pensamientos en Twitter [42] o hasta adentrarnos en mundos virtuales donde podemos conocer nuevos amigos o hasta pareja usando la realidad virtual. Un ejemplo de esto es VR Chat [43], un juego en el que los usuarios pueden elegir o hasta diseñar su propio avatar y entrar en diferentes salas de convivencia con otros jugadores de todo el mundo. Aunque no es necesario disponer de gafas de realidad virtual para jugar, la experiencia es mucho mejor si se dispone de ellas. También soporta tracking de cuerpo completo, por lo que el avatar del jugador podrá plasmar su lenguaje corporal a través de su personaje. Figura 2.11: VR Chat (2014) 12 UCM 2.2.2. Serious games El ser humano se ha acostumbrado a estar constantemente siendo bombardeado con estímulos, tiene que estar entretenido en todo momento. Lo que antes podría ser un rato sin hacer nada o de descanso se ha convertido en un momento en el que nos ponemos a mirar redes sociales, a chatear o a jugar. Esto es relevante porque significa que los métodos de aprendizaje tradicionales están quedando obsoletos, son aburridos de acuerdo a los estándares actuales. Por ello se ven cada vez más herramientas como Duolingo [44] para el aprendizaje y práctica de Idiomas o ejemplos mucho más concretos como la plataforma de aprendizaje del popular CRM, Salesforce, en su plataforma gratuita de aprendizaje, Trailhead [45], donde el rango y la puntuación del usuario es un indicador de su nivel y sabiduría sobre la tecnología, pudiendo este ganar puntos completando cursos que le sirven además para obtener cer- tificaciones oficiales. Estas nuevas maneras de aprender se presentan como un método mucho más ameno y divertido para aquellas personas que, sin elementos de gamificación [46], no tendrían tanto incentivo o motivación para estudiar por su cuenta. Volviendo a la definición de videojuego ofrecida por Oxford, podríamos considerar el simulador de vuelo de Thomas Furness uno, ya que se trata de un juego en el que el usuario mediante botones mueve elementos en una pantalla. Sin embargo, este proyecto no era accesible a todo el mundo, fue el resultado de una investigación para el ejército de los Estados Unidos y de uso privado. Hoy en día es posible con un ordenador común que tenga tarjeta gráfica básica ejecutar los mejores simuladores de vuelo del mercado. Por ejemplo, Microsoft Flight Simulator [47] es un videojuego de simulación de vuelo desarrollado por Microsoft [48] que ofrece al jugador una experiencia casi real de lo que sería estar en control de diferentes tipos de aeronaves, desde avionetas pasando por aviones comerciales hasta jets de combate [49]. En una actualización reciente del juego fue añadida la posibilidad de emplear gafas y mandos de realidad virtual, permitiendo así una experiencia aún más realista. Figura 2.12: Microsoft Flight Simulator (2020) 13 UCM Estos simuladores no son simplemente un juego, son empleados para el entrenamiento real de pilotos. Este tipo de juegos son los llamados serious games, o juegos serios en español, ya que su objetivo principal no solo es entretener, sino educar. Permiten al usuario poner en práctica sus habilidades en un entorno muy similar al real, pero sin consecuencias. El término fue acuñado por primera vez por el investigador Clark C. Abt en su libro con el mismo nombre, Serious Games [50], lanzado en 1970. En él, establece las principales ideas del término, la idea de impartir conocimiento a base de juegos no pensados con el fin de entretener, sino de educar. En los años 70 los videojuegos apenas tenían presencia (como referencia, el videojuego Pong [51] fue lanzado en 1972), por lo que obviamente se refería a juegos tradicionales. Sin embargo, el mismo principio se puede aplicar a los videojuegos y se basan en exactamente lo mismo, enseñar sobre una materia específica a la vez que se entretiene al jugador. El concepto de los Serious Games no tuvo visibilidad hasta finales de la década de los 90, donde investigadores empezaron a plantear la posibilidad de crear juegos específicos con un fin educativo. Un popular ejemplo de este concepto fue ejecutado en 1999 por Planeta de Agostini en la Península Ibérica, Aprendilandia fue una saga de juegos educativos por fascículos en formato CD-ROM. Estos consistían en varios mini- juegos que educaban sobre matemáticas, lengua, ética y ciencias ambientales a niños de a partir 3 años de edad. Figura 2.13: Aprendilandia de Planeta de Agostini (1999) 2.2.3. Proyecto Classroom VR Traer estos conceptos a las aulas permite aumentar la motivación de los alumnos, desa- rrollar sus competencias en la diversas materias y crear un entorno seguro para ellos, sin embargo, se pueden aplicar estos mismos principios a los propios educadores. A la vez que la enseñanza se van quedando anticuada, no solo de contenido, sino también de metodología, existe la necesidad de educar a los futuros profesores con base en los nuevos métodos. En eso se basa el proyecto de Classroom VR, ün juego en realidad virtual para mejorar las capacidades comunicativas de profesores de secundaria"[5, 4], realizado por alumnos de la Facultad de Informática de la Complutense de Madrid [52]. Este consiste en usar el videojuego como herramienta de formación para futuros profeso- res, simulando situaciones complicadas con los alumnos y que se preparen y sepan actuar ante ellas. En el juego, el jugador toma la posición del profesor, pudiendo controlar su movimiento y hablar a través de su micrófono, y dependiendo de las acciones tomadas, 14 UCM los alumnos reaccionan de una manera u otra, habiendo caminos correctos e incorrectos. La segunda iteración añade factores de la comunicación no verbal, como la tonalidad de la voz, los gestos captados con las gafas y mandos de realidad virtual y la distancia con los alumnos, actos que no se suelen tener en cuenta en la enseñanza de profesores. 2.3. Reconocimiento facial en la actualidad En la actualidad, existen varias tecnologías de reconocimiento facial. La importancia de este campo en un futuro es crucial, dado que su uso está creciendo en variedad de aplicaciones. Aunque se asocia principalmente a la seguridad (detección de mentiras e identificación de personas ), avances de este tipo pueden potenciar la interacción entre humanos y computadores expandiendo las posibilidades en campos como la medicina, conducción segura y otras tareas de monitoreo. En el campo de entretenimiento, podemos encontrarnos con la captura de las expresio- nes faciales para animaciones. Una de las herramientas que podemos usar nos la ofrece Adobe. La herramienta Adobe Character Animator [53] es una aplicación de captura de movimientos faciales que permite a sus usuarios usar sus expresiones faciales para animar personajes en 2D. Para ello utiliza la tecnología de seguimiento facial para rastrear los movimientos de la cara del usuario y aplicarlos en tiempo real a un personaje animado. Esta herramienta es muy útil para la animación en vivo, producción de vídeos y desarrollo de videojuegos. Figura 2.14: Character Animator Dentro del campo de reconocimiento facial, podemos abarcar las tecnologías de reco- nocimiento de las expresiones faciales. Estas tecnologías se pueden usar para entender mejor la emoción humana, la comunicación no verbal y las intenciones de una persona a través de su rostro. Es muy importante saber lo que se trasmite a través del rostro, dado que es el aspecto que más define la percepción que se tiene de una persona con la que se interactúa ya sea hablando o simplemente observando. Varias investigaciones con conocimientos acerca de la inteligencia artificial han dedicado sus esfuerzos en medir las emociones expresadas. Los sistemas actuales son capaces de detectar una amplia gama de emociones, desde la tristeza y felicidad hasta la sorpresa y la ira, pero existen más emociones comple- jas y sutiles que son difíciles de reconocer. Las técnicas usadas para abordar el campo de las emociones son técnicas de modelado y clasificación, también se incluyen las re- des neuronales convencionales. El principal problema son los altos costos asociados a la implementación de estas infraestructuras y la complejidad del entrenamiento de dichas redes. [54] 15 UCM Un equipo de investigadores de la Universidad de Tsinghua [55] desarrolló un sistema de reconocimiento facial que puede identificar con mayor precisión las expresiones faciales de una persona. El sistema está basado en redes neuronales circunvoluciones separables en profundidad que aprenden a identificar expresiones faciales a partir de un conjunto de datos etiquetados. Figura 2.15: Red Neuronal Por una parte, tenemos paquetes de software cerrado para analizar emociones faciales como son Imotions, FaceX y EnableX. Por otra parte, tenemos tecnologías creadas por la comunidad Open Source o por grandes compañías de la nube. Microsoft nos ofrece Microsoft Azure Face Service, Amazon nos ofrece Amazon Rekognition y Google nos ofrece Google Visio. En cuanto a código abierto, TensorFlorJS es la tecnología más usada [56]. 2.3.1. Emteq Labs Emteq Labs [57] es una compañía especializada en tecnología de medición basada en sensores para realidad virtual y aumentada. Su tecnología se integra en cascos de realidad virtual o gafas para la medición objetiva y recopilación de datos. Ofrecen una plataforma abierta con la posibilidad de colaborar con desarrolladores de terceros. Uno de sus dispositivos es el EmteqPRO , una máscara multisensor y multimodal desarro- llada por la compañía para recolectar datos sobre respuestas fisiológicas y emocionales. Este dispositivo detecta la actividad eléctrica de los músculos, la frecuencia cardiaca, la variabilidad de la frecuencia cardiaca, la frecuencia respiratoria y la actividad física. La máscara se puede integrar con HTC VIVE Pro o con VIVE Pro Eye con la capaci- dad de obtener características de la mirada y los ojos (se desarrolla más en el apartado Investigación y comprensión de Emteqvr)[58]. 2.4. Reconocimiento del lenguaje natural en la actua- lidad El procesamiento del lenguaje natural (PLN) es un campo de la inteligencia artificial dedicado a investigar como las maquinas pueden comunicarse con las personas utilizando lenguas naturales en diferentes idiomas. La principal meta de este campo es lograr que los computadores tengan la capacidad de comprender y generar lenguaje humano de manera similar a como lo hacen los seres humanos. El PLN esta mas avanzado en el tratamiento 16 UCM de textos, debido a su fácil acceso y mayor número de datos. Los componentes del PLN incluyen el análisis morfológico, sintáctico, semántico y pragmático.[59] ChatGPT “ChatGPT es un modelo de lenguaje desarrollado por OpenAI. Es una red neuronal de procesamiento del lenguaje natural basada en el modelo GPT (Generative Pre-trained Transformer) [60]. El modelo GPT se entrena con un gran corpus de texto para generar lenguaje humano natural. ChatGPT es capaz de responder preguntas, generar texto, traducir idiomas, y realizar otras tareas relacionadas con el lenguaje de manera similar a como lo hace un ser humano. Es utilizado para automatizar conversaciones en aplicaciones como chatbots, asistentes virtuales, y otros sistemas de inteligencia artificial.” Escrito por Chatgpt [61] 2.4.1. Reconocimiento del lenguaje natural por voz La tecnología de captura de intenciones por voz es una parte importante de los servicios de inteligencia artificial y aprendizaje automático hoy en día. Esta tecnología se está aplicando en una variedad de campos, desde la inteligencia artificial y el aprendizaje automático hasta la automatización de tareas cotidianas y la mejora de procesos en la logística y el comercio electrónico. Una de las empresas que trabaja actualmente en este sector es Microsoft. Esta empresa ofrece el servicio de reconocimiento de voz de Azure Cognitive Services para reconocer intenciones en idiomas distintos mediante la asignación de un código de configuración regional [62]. Además de Microsoft, Amazon también ofrece una tecnología de captura de intenciones por voz a través de dispositivos con inteligencia artificial como los asistentes de voz Echo, que cuentan con capas de personalización para adaptar su funcionamiento a las necesidades del usuario [63]. Figura 2.16: Echo Dot (5.ª generación, modelo de 2022) La tecnología de reconocimiento de voz también se está utilizando para facilitar tareas cotidianas en dispositivos móviles, como tomar capturas de pantalla utilizando comandos de voz en Google Assistant [64]. 17 UCM Wit.ai Wit.ai es una plataforma PLN desarrollada por Facebook que permite crear aplicaciones de inteligencia artificial que entiendan el lenguaje natural y puedan responder a comandos de voz o texto. Es usado para construir bots conversacionales, aplicaciones móviles, ho- me automation, robots, dispositivos wearables, pero también se puede integrar en Unity para hacer un videojuego. Utiliza técnicas de aprendizaje automático para mejorar con- tinuamente su capacidad de comprensión del lenguaje y proporciona una interfaz sencilla para entrenar la inteligencia artificial (se desarrolla más en el apartado Investigación y comprensión de Wit.ai)[65]. 18 Capítulo 3 Desarrollo y herramientas 3.1. Herramientas de trabajo Control de Versiones y recursos Git Para controlar las versiones del desarrollo del proyecto he utilizado Git, software de control de versiones distribuido y de código abierto diseñado por Linus Torvalds para gestionar los cambios en archivos de computadora. GitHub GitHub es una plataforma de desarrollo colaborativo para alojar proyectos utilizando el sistema de control de versiones Git. Para hacer más rápido los procesos del repositorio, he usado GitHub Desktop sustituyendo así los comandos de Git por una interfaz con fácil accesibilidad. Para poder trabajar sin alterar la rama principal, he creado ramas para el proyecto. Figura 3.1: Github Desktop 19 UCM Google drive Para organizar los recursos y la memoria del proyecto he usado Google Drive, ya que ofrece una gestión de archivos gratuita y con una interfaz ya usada durante muchos años Figura 3.2: Google Drive 3.1.1. Tecnología base Unity Versión: 2021.3.16f Unity es el motor grafico que hemos usado para el proyecto. Unity se basa en el lenguaje csharp y frecuentemente se usa para desarrollar videojuegos multipla- taforma en 2D y 3D. La razón por la que se escoge este motor grafico es porque el proyecto base usaba este motor gráfico. Además, Unity es un motor que ofrece compatibilidad con muchas otras tecnologías. En nuestro caso, el único motor grafico que es compatible con Wit.ai y emteqPRO es Unity. Wit.ai Para lograr el reconocimiento del lenguaje natural se ha usado Wit.ai, una inteligencia artificial que permite a los desarrolladores poder configurar un proyecto y entrenar la inteligencia para diferentes fines. La plataforma es gratuita y es compatible con Unity. Es verdad que Microsoft también se puede integrar en C, pero la interfaz que ofrece Wit y el feedback dentro de Unity hizo que me decante por esta tecnología. Figura 3.3: Wit.ai 3.1.2. Dispositivos Utilizados EmteqPRO Dispositivo usado en el proyecto para conseguir analizar las expresiones faciales, medir la frecuencia cardíaca, etc. La máscara puede ser usado sin la necesidad de tener gafas 20 UCM de realidad virtual pero la experiencia con la unión a las gafas proporciona un amplio abanico de funcionalidades a desarrollar. Es necesario instalar el SDK de emteq[66], ya que nos proporciona la integración entre la experiencia inmersiva del entorno 3D de Unity y los datos de la máscara. Figura 3.4: EmteqPRO Vive Pro Eye Gafas de realidad virtual con eye-tracking. Este dispositivo fue usado para la parte de reconocimiento facial dado que incluye seguimiento de los ojos y la opción de acoplar el dispositivo emteqPRO.Estas gafas fueron usadas en la parte del reconocimiento fa- cial. Figura 3.5: Vive Pro Eye Quest 2 Gafas de realidad usadas en la parte del reconocimiento del lenguaje natural dado que ya no se usó el emteqPRO. Estas gafas son más fáciles de montar dado que no necesitan ningún cable, consiguiendo así una fácil preparación para crear el entorno. 21 UCM Figura 3.6: Quest 2 3.1.3. Comunicación Google Meet Para la realización de reuniones con el tutor del proyecto usamos Google Meet, propor- cionando un enlace una semana antes de la reunión por el correo. Su frecuente uso en todos los ámbitos lo hace ser la mejor opción para reuniones. 3.2. Desarrollo del trabajo 3.2.1. Metodología de trabajo La metodología de trabajo ha variado a lo largo del proyecto. El proyecto, que al principio era grupal, terminó siendo individual debido a diferentes circunstancias. Todas las im- plementaciones descritas en esta memoria son obra del autor. La metodología de trabajo consistió en tener reuniones con el director y el codirector del proyecto para enseñar los avances del proyecto y resolver dudas que han surgido durante el desarrollo. Todos estos avances están disponibles en un repositorio de github. La parte de reconocimiento facial esta en : https://github.com/arome90/Didascalias/tree/Emteq Las implementaciones del reconocimiento del lenguaje natural se encuentran en : https://github.com/arome90/Didascalias/releases/tag/v3.0.1 22 https://github.com/arome90/Didascalias/tree/Emteq https://github.com/arome90/Didascalias/releases/tag/v3.0.1 UCM 3.2.2. Implementación Se ha reestructurado el código de la aplicación Classroom VR para tener un código más limpio y legible. También se han eliminado algunas abstracciones hechas en el pasado dado que cada escena tiene factores diferentes, pero se han dejado las abstracciones que si son comunes a todos los escenarios. Por otra parte, se han cambiado cosas de la escena y se han eliminado u ocultado todos los componentes que se han dejado de usar (código y objetos de las escenas). En el siguiente ejemplo se puede observar cómo se han simplificado los objetos de la escena de la escena de juego. Figura 3.7: Class Game Scene antes Figura 3.8: Class Game Scene después Gestión de la clase Antes se usaba la clase MySceneManager.cs para llevar a cabo las acciones de los alumnos y todo lo que ocurre en el aula, pero para simplificar el código, se ha refactorizado cambiando la estructura y algunos comportamientos. Figura 3.9: Antiguo script Para ello se han creado dos clases y un árbol de comportamiento para llevar a cabo la acción y reacción de los alumnos. • Clase Student: Contiene los datos del estudiante. De esta manera cada estudiante tiene este script asociado y contiene la información sobre su nombre, sexo y pupitre asignado. Este script también tiene información acerca de si el alumno es problemático o si está sentado o de pie en el aula. Cabe destacar también que ahora cada alumno tiene el componente de Audio para poder emitir el sonido desde su posición. Además, se han creado métodos interesantes para poder realizar acciones específicas. Se han creado nuevos métodos que permiten al estudiante moverse a una posición concreta (fuera o dentro de clase), cambiar de pupitre con un compañero, levantarse o sentarse en su silla 23 UCM • Clase Class Manager: Se utiliza para administrar todos los eventos de la clase. Este script se encarga de generar estudiantes y sus posiciones, sus tipos de cuerpo y sus nombres. También tiene una referencia a las distintas posiciones a las que el profesor puede mandar al alumno. Esta clase también se encarga de administrar la respuesta del profesor y controla la visión del profesor • Árbol de comportamiento: Para controlar la inteligencia artificial de los alumnos en cada escena. En este caso se muestra el árbol de la Escena 1. Se explicará paso por paso la inteligencia artificial de esta escena: Figura 3.10: Árbol de comportamiento Escena1 1- Se espera x segundos para que se llame al cuadrado de acción y con ello al método de acción Alumno. Este método llama a la acción del alumno de la escena 1 que es gritar una expresión desagradable. 2- Se llama al método ignore que empieza dos corrutinas. La primera corrutina espera x segundos y elige el camino en el que el profesor ignora al alumno si no se ha elegido otro camino antes de ese tiempo. La segunda corrutina se encarga de gestionar la visión del profesor de manera que si el profesor deja de mirar al alumno durante x segundos también se elige el camino en el que el profesor ignora al alumno. Por otra parte, tenemos los métodos Shout y Near que se llaman de manera iterativa hasta que se cumpla la condición que condicione uno de los 3 caminos (ignore, shout, 24 UCM near). Para que se cumpla la condición de shout el profesor debe gritar o faltar el respeto al alumno con alguna expresión o palabra desagradable. Para que se cumpla la condición de Near, el alumno debe acercarse a determinada distancia al alumno problemático y calmarlo o posponer la situación con el lenguaje natural. 3- Se espera x segundos y se llama al método termina Actualización de los componentes VR Dado que las nuevas actualizaciones de Unity nos ofrecen directamente un paquete de realidad virtual y con más ventajas, se eliminó la funcionalidad de OVR y se instalaron los paquetes VR de Unity. Se puede elegir un Input predefinido para todas las gafas, configurar el input con botones únicos para cada gafa virtual y añadir componentes para controlar el movimiento del usuario y el movimiento de la cámara. Figura 3.11: Componentes VR de Unity 25 Capítulo 4 Herramienta de reconocimiento facial 4.1. Investigación y comprensión de Emteqvr Para comprender el funcionamiento de emteq es necesario entender que los datos fisio- lógicos que nos proporcionan los métodos de la SDK se consiguen a partir de diferentes técnicas. En el proyecto es necesario usar emteqPRO para analizar el movimiento de los ojos, el ritmo cardiaco y las expresiones faciales. Esto se consigue con los siguientes métodos : • Expresividad o activación de los músculos faciales, a través de la electromiografía (EMG) • Supervisión de la frecuencia cardíaca y variabilidad de la frecuencia cardíaca, a través de la fotopletismografía (PPG) • Movimiento de la cabeza, a través de la unidad de medida inercial (IMU) • Movimiento ocular, a través del seguimiento ocular [67] Emteq proporciona en un archivo CSV todas las variables necesarias para poder analizar los datos de nuestro interés.Asimismo, existen varios métodos para acceder a diferentes variables durante la ejecución del código en Unity. 4.1.1. Valencia y Arousal Para entender los datos obtenidos hay que saber el significado de la valencia y Arousal. El arousal es “Es una activación general fisiológica y psicológica del organismo, que varía en un continuo que va desde el sueño profundo hasta la excitación intensa”. Goult Krane, 1992. Por otro lado, la valencia hace referencia a la atracción (valencia positiva) o aversión (valencia negativa) que provoca un determinado objeto o situación. La tristeza, el temor, el odio tienen valencia negativa. Mientras que la alegría, el entusiasmo, tienen valencia positiva [68]. Estas variables son trazadas con frecuencia en el gráfico siguiente [69], en el cual pueden presentarse todos los estados emocionales 26 UCM Figura 4.1: The circumplex model of affect 4.1.2. Activación de los músculos faciales (Expresividad) Para poder medir la actividad eléctrica generada por el movimiento de nuestros múscu- los, se usa la electromiografía (EMG). La médula espinal emite señales eléctricas a los músculos a través de las neuronas motoras que inervan el músculo directamente en la unión neuromuscular. La actividad eléctrica se mide en µV y tiene correlación con la cantidad de actividad muscular. Para calcular la amplitud de la señal EMG se utiliza la fórmula de la media cuadrática (RMS) de la envolvente de la señal filtrada. La media cuadrática proporciona una visión directa del poder de activación en el electromiograma en un momento dado (observar siguiente figura) [67]. Figura 4.2: Gráfico de activación de músculos En este ejemplo se puede observar cómo hay tres expresiones diferentes (sonrisa, ceño fruncido, sorpresa) con sus respectivos datos. En el gráfico de la sonrisa se puede observar que los sensores zygomaticus(izquierda y derecha, naranja y marrón respectivamente) y 27 UCM los sensores orbicularis (izquierda y derecha, verde y morado respectivamente ) tienen mayor activación que el resto de los sensores. Se puede distinguir como en cada expresión se activaron unos músculos más que otros, permitiendo que podamos distinguir diferentes expresiones. Para situar los diferentes músculos se muestran dos imágenes, una referente a la posición de los músculos en el Emteq y otra a la posición en el rostro. Como se puede observar en las dos imágenes siguientes, tenemos cuatro grupos de músculos. Excepto el músculo corrugador (situado en la parte interna del arco superciliar, debajo del orbicular de los párpados y marcado con un color morado ), todos los demás son pares teniendo uno a cada lado de la faz. Los músculos frontales están situados en la frente y con la tecnología emteq se colocan sobre la zona de la imagen marcada imagen con color rojo. Los músculos orbiculares están localizados justo debajo de la piel rodeando los ojos y en la imagen corresponden al color verde. En la parte inferior, exactamente en la mejilla, marcados con el color azul se sitúan los músculos cigomáticos. EmteqPRO Face Figura 4.3: Posicion de los músculos “Como la cara es la fuente más rica de información de valencia” [70], la EMG facial proporciona una ventana para rastrear los cambios de valencia. 28 UCM 4.1.3. Seguimiento de la frecuencia cardíaca Para supervisar la frecuencia cardíaca se usa un sensor de fotopletismografía (PPG), integrado en la máscara emteq PRO. Este sensor utiliza una tecnología basada en la luz para detectar los picos sistólicos (y la tasa de flujo sanguíneo) controlados por el bombeo del corazón. Durante el ciclo cardíaco, periódicamente, se produce una variación de la presión arterial (también en las capas externas y vasos pequeños de la piel). Para medir el flujo de sangre periférica se pueden usar sensores ópticos que se colocan en la frente, la punta de los dedos, el lóbulo de la oreja u otro tejido capilar. Figura 4.4: Gráfico que muestra los intervalos de las señales de los sensores de ECG y PPG El PPG es un sensor que no requiere preparación de la piel, a diferencia de los dispositivos de ECG. Con los picos (relativos al ciclo cardiaco) de las señales de los sensores (ver figura anterior) y sus distancias, se pueden extraer métricas útiles como la medición de la variabilidad de la frecuencia cardíaca (HRV) y los latidos por minuto (BPM). La variabilidad de la frecuencia cardíaca (HRV) se utiliza para medir los cambios en el arousal y el estrés. Se puede calcular a partir de series temporales de intervalos de las distancias entre latidos cardíacos sucesivos, extraídos de los datos del sensor de ECG, o a partir de series temporales de intervalo de los datos de la señal PPG que nos propor- ciona el sensor de Fotopletismografía (PPG). Aunque hay una pequeña diferencia entre los dos intervalos, existe una alta correlación entre ambos, y los parámetros de la varia- bilidad de la frecuencia cardíaca (HRV) calculados mediante ambos métodos no difieren significativamente [67]. Movimiento de la cabeza El emteqPRO viene integrado con una unidad de medición inercial (IMU) para el se- guimiento del movimiento de la cabeza. La IMU contiene 3 sensores, un giroscopio, un acelerómetro y un magnetómetro. Cada sensor proporciona datos acerca de los ejes de las tres dimensiones (x, y, z). Estos sensores son fáciles de integrar en soluciones portáti- 29 UCM les y no son invasivos. Numerosos estudios están utilizando la detección inercial para el reconocimiento de actividad en protocolos experimentales activos y para inferir el estado emocional subyacente del usuario [67]. Figura 4.5: Unidad de medición inercial (IMU) 4.1.4. Movimiento ocular (Solo con gafas con rastreador ocu- lar) El seguimiento ocular es un método que permite el seguimiento continuo de los movimien- tos oculares. Esta tecnología nos permite rastrear hacia dónde están apuntando los ojos y en qué se están fijando. Los rastreadores oculares son sensores que miden el movimiento ocular en relación con la cabeza y los cambios en el tamaño de la pupila. Algunos rastrea- dores oculares populares utilizan técnicas de visión por computadora y luces infrarrojas para rastrear la pupila del ojo y están incorporados en gafas VR como el HTC VIVE Pro Eye y el Pico Neo 3 Pro Eye [67]. Figura 4.6: Rastreador ocular 30 UCM 4.2. Implementación en Unity La implementación en Unity se realizó pasando por un proyecto de prueba para probar todas las funcionalidades. Para poder usar emteqPRO fue necesario usar métodos del api de Emteq SDK y crear otros métodos para conseguir la información requerida para el proyecto. Métodos y eventos usados • StartRecordingData(): Este método inicia la grabación de los datos en caso de que no existiera otra grabación. Los datos se graban de manera continua hasta la llamada del método StopRecordingData o el cierre de Unity. Este método nos genera un archivo Json • StopRecordingData(): En el caso de que exista una grabación en proceso, la llamada a este método para la grabación cerrando los archivos generados • GetEmgAmplitudeRms(): Este método devuelve un diccionario que contiene cada uno de los 7 los contactos y su valor correspondiente a la amplitud actual de la señal EMG. Este método nos proporciona los contactos de los músculos de la cara para poder analizar las expresiones faciales • OnHeartRateAverageUpdate: Este evento se actualiza una vez por segundo para poder medir los latidos por minuto y proporcionar la información como tipo double. Análisis de las expresiones faciales Figura 4.7: Expresiones faciales Para poder distinguir una expresión facial, hay que analizar los músculos del rostro ya que cada músculo puede contribuir a la creación de una expresión específica. Dado que emteq no tenía la capacidad suficiente para detectar las emociones, se guardaban los datos de los sensores de la cara del usuario para luego analizarlos y poder identificar las distintas 31 UCM emociones con la referencia anterior. Los datos se obtienen a partir de un método que usa la amplitud EMG y se guardan en un archivo Json. Figura 4.8: Guardado de datos en Json Para poder guardar los datos, se creó una escena de calibración dividida en dos partes. La primera parte consiste en grabar los datos de los sensores en una escena en la que se pide al usuario que simule diferentes caras. La segunda parte de la calibración se basa en una grabación de los datos de los sensores del usuario a la reacción de diferentes vídeos que provocan diferentes emociones. 32 UCM Neutral face Happy face Angry face Sad face Surprise face Figura 4.9: Expresiones en Unity 33 Capítulo 5 Herramienta de comprensión del lenguaje natural 5.1. Investigación y comprensión de Wit.ai 5.1.1. Variables Intent(intento) Un intento es una acción que un usuario quiere realizar al interactuar con una aplicación o dispositivo. Un ejemplo de intento puede ser çomprar un producto .o çonsultar el tiempo". Los desarrolladores utilizan ejemplos de oraciones o frases para crear y configurar intents en la plataforma. Para crear un intento, es necesario aportar ejemplos de oraciones o frases que se espera que el usuario diga para realizar esa acción específica. De esta manera, Wit.ai utiliza estos ejemplos para comprender y reconocer los intentos del usuario a través de su procesamien- to del lenguaje natural. Los intentos también pueden tener entidades asociadas. Entity(entidad) Las entidades son palabras o frases clave dentro de la oración que proporcionan informa- ción adicional sobre el intento, como por ejemplo un contacto o un lugar. Esto se logra a través de una combinación de procesamiento de lenguaje natural y reglas de extracción personalizadas permitiendo a Wit identificar intenciones, crear diálogos y entender mejor los contextos. Wit tiene una lista de entidades definida pero también los desarrolladores pueden definir y entrenar entidades específicas.Existen tres tipos de entidades: Free Text: Identifica la entidad usando las palabras o expresiones asignadas anteriormente en el entrenamiento y genera nuevos valores similares. Keywords: Identifica la entidad gracias a una lista definida de palabras o expresiones cerrada. Free Text Keywords: Identifica la entidad de las dos formas anteriores. 34 UCM 5.2. Proyecto de wit.ai A continuación, se presentan dos tablas con los variables usadas en el proyecto: Intent Acción Ejemplo Calm Calmar una situación conflictiva Cálmate, por fa- vor Disrespect Faltar el respeto a un alumno Vete a la mierda Expel Echar a un alumno fuera de clase Juan, vete fuera de clase Move Postponer una situación conflicti- va Luego hablamos Punishment Castigar un alumno Estas castigado Separate Separar dos alumnos Ana y Juan, se- paraos Sit Mandar a un alumno o varios a sentarse Siéntate en tu si- tio Cuadro 5.1: Intents del proyecto Entidad Rol Ejemplo Badwords Cualquier expresión desagradable será reconocida como una mala palabra Gilipollas Future Expresiones que hablen del futuro Luego Godwords Palabras buenas como agradeci- mientos Por favor Places Para poder referirse a los distin- tos lugares del entorno. Los valo- res que puede tener de momento son la esquina, el fondo, el fuera de clase y el pupitre Pupitre Wit/contact Es una entidad que viene pre- determinada. Hace referencia a cualquier nombre propio Juan Cuadro 5.2: Entidades del proyecto 35 UCM 5.3. Implementación del proyecto de Wit.ai en Unity Para poder implementar Wit.ai con Unity es necesario 1. Crea una cuenta en Wit.ai con Facebook y configura un modelo de lenguaje Figura 5.1: Wit.ai web 2. Abrir el Package Manager de Unity y añadir un paquete desde una URL[71] de git: Figura 5.2: Package Manager 3. En la página web de wit.ai buscar el token del servidor en las opciones del proyecto y copiarla Figura 5.3: Settings Page 4. Abrir Wit Configuration y pegar el token 36 UCM Figura 5.4: Wit Configuration 5. Crea un script en Unity que utilice la clase "Wit"del paquete para enviar y recibir datos de tu modelo de lenguaje de Wit.ai Figura 5.5: Componente Wit en Unity 6. Utiliza los datos devueltos por Wit.ai para controlar los eventos y la lógica Figura 5.6: Código para obtener datos Dado que Wit no permite la grabación continua de momento. He tenido que llamar a un método que active Wit cada vez que se completa una solicitud o se para la grabación para simular la continuidad. 37 Capítulo 6 Conclusiones y trabajo futuro 6.1. Conclusiones 6.1.1. Conclusiones Reconocimiento facial “El Reconocimiento Facial: Una Tecnología en Constante Evolución, pero con Limitacio- nes Actuales." Respecto a esta parte del proyecto, no se ha logrado alcanzar el objetivo debido a que la precisión para el reconocimiento de expresiones no ha sido la esperada. Pero hay que tener en cuenta que, aunque los algoritmos han mejorado en los últimos años todavía no existe una tecnología en el mercado que sea capaz de distinguir las emociones con precisión. Las técnicas que se han usado para poder acercarse al objetivo no han podido pulirse debido a circunstancias ocasionadas durante el proyecto. Una de las razones del difícil y lento avance del proyecto es la falta de recursos en trabajos grupales que dependen de dispositivos. El hecho de tener que turnar las gafas Vive Pro Eye y el emteq cada cierto tiempo desaceleran el proyecto. Además, Emteq avisó de que iba a dejar de actualizar sus funcionalidades para el campo de la realidad virtual. Aunque en la parte practica las cosas no fueron como uno hubiera deseado, hay que tener en cuenta que cualquier avance en un proyecto, aunque se haga obsoleto, tiene una gran aportación para el futuro. Lo mas importante es aprender y la parte de investigación y el esfuerzo para la implementación son el verdadero resultado de un proyecto. Por lo tanto, la principal conclusión es que es necesario tener acceso a una tecnología más eficiente con actualizaciones para poder llevar a cabo el reconocimiento de las emocio- nes. 6.1.2. Conclusiones Reconocimiento del lenguaje natural “El Reconocimiento de lenguaje natural: Un campo de estudio prometedor “ En cuanto a la integración del reconocimiento de lenguaje natural, vistos los objetivos planteados al principio, considero que el resultado obtenido ha sido satisfactorio. 38 UCM Por poner un, pero, quizás hace falta analizar las intenciones del proyecto de Wit y con ayuda de un profesional del campo de la educación o psicología determinar si hace falta añadir o quitar alguna intención. Por otra parte, quizás haga entrenar más la inteligencia artificial para que sea más precisa. Por último, hay que tener en cuenta que se puede mejorar la calidad de la escucha de voz instalando el SDK que nos ofrece Oculus; fácil de integrar con wit.ai dado que está pensado para ser la mejor opción. Sin embargo, cabe destacar que se deja una base solida para en un futuro poder explotar al máximo la tecnología del reconocimiento de voz. Además, la investigación sobre este campo ha sido profunda y se descubrieron nuevas mejoras para el futuro del proyecto con la implementación de nuevas tecnologías. En resumen, creo que las tecnologías que se pueden implementar en un futuro van a ser muy útiles para la base ya creada y van a acercar al usuario al objetivo principal; tener un entorno conflictivo lo mas cercano a la realidad. 6.2. Trabajo futuro Para un futuro muy cercano, mi intención es continuar con el proyecto hasta alcanzar una herramienta estable sin bugs que tenga exprimido el máximo de posibilidades de desarro- llo. Para ello será necesario continuar investigando sobre las herramientas con inteligencia artificial para simular una interacción con los alumnos más realista y precisa Por otra parte, será necesario al tener la próxima versión estable, poder contar con un nuevo experimento y valorar los resultados para avanzar por ese camino. Cabe destacar también que, si en un futuro el presupuesto permite unas gafas de realidad con mejores prestaciones, se podrá hacer un rastreo de los ojos y tenerlo en cuenta para el simula- dor. Especificando más sobre las futuras implementaciones, en primer lugar, sería tener todo el código limpio para que sea más fácil el desarrollo de la herramienta. En segundo lugar, arreglar el escenario 2 y 3 para que se cumpla con las restricciones impuestas por los expertos en reuniones de Didascalias. A su vez, también es importante profundizar la inteligencia artificial de todas las escenas y tener todas las mecánicas de alumnos posibles en un aula real para proporcionar al usuario una sensación de realismo. Sería interesante también agregar nuevas mecánicas al profesor que permitan sentir al usuario un libre albedrío. Con ayuda de profesionales, se podrían estudiar otros nuevos escenarios para poder en- trenar mejor al futuro docente y tener más feedback en los futuros experimentos. Algunos nuevos escenarios pueden ser en otra aula (tecnología, gimnasio) o fuera del aula, como en un patio o en los pasillos antes o durante el descanso de una clase. Por último, teniendo en cuenta la reciente actualización de Chat GPT, se podría im- plementar esta tecnología en el proyecto. Esta herramienta se podría usar para generar respuestas automatizadas en tiempo real. 39 Introduction Motivation The human evolution has allowed the creation of safe environments for the preparation and deal with activities that, due to their complexity, danger or risk in general, are difficult to replicate in the real world. An example of this are flight simulators used by pilots of all levels to learn or perfect their flying skills, which, thanks to their constancy and attention to detail, to be like the real experience. This project has a similar purpose, to offer education professionals a tool in which they can develop their skills to deal with various conflicts that can take place in different classes. It’s worth noting that this project is based on other previous research projects enclosed by the Didascalias research project (RTI2018-096401-A-I00). The first project deals with the importance of verbal communication and the second with nonverbal com- munication, specifically body language. These projects investigate how player actions can be interpreted in a serious game and reflected in student attitudes to obtain feedback on case the actions were correct or not. Like in flight simulators, details are what allow the tool to be a replacement for real experience. In this case, we will search through the linguistic expressions and facial ex- pressions of the person. In this way, the game takes into the words and faces of the person to deal with different conflicting situations, making the experience more realistic and contributing to the development of more innovative education and adapted to the needs of students today. Goals The goal of this project is to investigate, renew and implement technologies to apply to different scenarios of a previously designed conflict with the intention of educating and valuing future teachers. The specific objectives are: o Adapt the scene system to allow it to maintain its previous functions. o Refactor the code and correct all bugs from the previous project. o Analyze and compare the different facial recognition systems available on the mar- ket. o Understand and create test scenes to learn how to use emteqvr and to obtain the biometric information of the accessory (heart rate, quantification of the electrical impulses of the electrodes, ...) using the tools already created by Emteq Labs. 40 UCM o Introduce the Wit.ai voice command tool and learn how to use it for natural language recognition. o Investigate and understand how language can be used in conjunction with facial recog- nition to improve teacher-student interaction. o Obtain and serialize information in real-time to be able to process and draw conclusions about this information. o Implement this new serialized information in the already created classroom scena- rios. Document structure This document is divided into 6 chapters, each dedicated to a specific topic. The first chapter contains an introduction to the TFG (final degree project) with its motivations and main objectives to be fulfilled for its successful development. Chapter 2 - State of the art In the state of the art chapter, the current situation of video games and virtual reality technologies is discussed: current trends and technologies (especially innovations in virtual reality headset hardware and accessories) and educational or utilitarian games, also known as Serious Games. Chapter 3 - Methodology and Development Next, the methodology used, and different tools employed are discussed. This chapter mentions the process of adapting the previous project, updates to some components, and fixes made. It also explains the artificial intelligence with Behavior Designer Chapter 4 - Facial recognition tool The fourth chapter is dedicated to understanding the operation of Emteq Labs’ device, emteqvr. It presents the tool and techniques used. Chapter 5 - Natural language compression tool In this chapter, the process of natural language compression achieved using Wit.ai is described, as well as its integration and the variables used in the project. Chapter 6 - Conclusions and future work In this chapter, the conclusions obtained from the final degree project will be presented, with an analysis of aspects that can be improved and a discussion of the continuation of the project in the future. 41 Conclusions and Future Work Conclusions Facial Recognition "Facial Recognition: A Technology in Constant Evolution, but with Current Limita- tions" Regarding this part of the project, the goal has not been achieved due to the lack of precision for expression recognition. However, it should be noted that, although algo- rithms have improved in recent years, there is still no technology on the market that can distinguish emotions with precision. The techniques used to approach the goal could not be refined due to circumstances caused during the project. One of the reasons for the difficult and slow progress of the project is the lack of resources in group work that depends on devices. The fact of having to alternate the Vive Pro Eye and the emteq glasses every certain time slows down the project. Furthermore, Emteq warned that it was going to stop updating its functionalities for the field of virtual reality. Despite the fact that things in practice were not as one would have wanted, it should be taken into account that any progress in a project, while it becomes obsolete, has a great contribution for the future. The most important thing is to learn and the research and implementation part are the true result of a project. As a result , the main conclusion is that it’s necessary to have access to more efficient technology with updates to be able to perform the recognition of emotions. Conclusions Natural Language Recognition "Natural Language Recognition: A Promising Field of Study" Regarding the integration of natural language recognition, given the objectives set at the beginning, I consider that the result obtained has been satisfactory. One disadvantage , perhaps it is necessary to analyze the intentions of the Wit project and with the help of a professional in the field of education or psychology to determine if it is necessary to add or remove any intention. On the other hand, the artificial intelligence needs to be trained more to be more precise. Finally, it should be taken into account that the quality of voice listening can be improved by installing the SDK offered by Oculus; it is easy to integrate with wit.ai as it is designed to be the best option. However, it should be noted that a solid base is left for the future to fully exploit the voice recognition technology. In addition, the research on this field has been deep and new 42 UCM improvements for the future of the project have been discovered with the implementation of innovative technologies. So basically, I believe that the technologies that can be implemented in the future will be very useful for the already created base and will contribute to the achievement of the final goal. Future work In the near future, my intention is to continue with the project until a stable tool without bugs that has exploited the maximum development possibilities is reached. To do this, it will be necessary to continue researching on artificial intelligence tools to simulate a more realistic and accurate interaction with students. On the other hand, it will be necessary to have the next stable version, to be able to conduct a new experiment and evaluate the results to move forward on that path. It is also worth noting that, if in the future the budget allows for glasses with better performance, it will be possible to track the eyes and take it into account for the simulator. Specifying more about future implementations, first, it would be to have all the code clean so that the development of the tool is easier. Secondly, fix scenario 2 and 3 so that it meets the restrictions imposed by experts in Didascalias meetings. In turn, it is also important to deepen the artificial intelligence of all scenes and have all possible student mechanics in a real classroom to provide the user with a sense of realism. It would also be interesting to add new mechanics to the teacher that allow the user to feel free will. With the help of professionals, new scenarios could be studied to better train the future teacher and have more feedback in future experiments. Some new scenarios could be in another classroom (technology, gym) or outside the classroom, such as in a courtyard or in the halls before or during a class break. Finally, taking into account the recent update of Chat GPT, this technology could be implemented in the project. This tool could be used to generate automated responses in real-time. 43 Bibliografía [1] R. P. Cant and S. J. Cooper, “Use of simulation-based learning in undergraduate nurse education: An umbrella systematic review,” Nurse Educ. Today, vol. 49, pp. 63– 71, Feb. 2017. [2] M. Kezunovic, A. Abur, G. Huang, A. Bose, and K. Tomsovic, “The role of digital modeling and simulation in power engineering education,” IEEE Trans. Power Syst., vol. 19, pp. 64–72, Feb. 2004. [3] P. L. Myers, III, A. W. Starr, and K. Mullins, “Flight simulator fidelity, training transfer, and the role of instructors in optimizing learning,” International Journal of Aviation, Aeronautics, and Aerospace, vol. 5, no. 1, p. 6, 2018. [4] B. Manero Iglesias and A. Romero Hernández, Classroom VR: a VR game to improve communication skills in secondary-school teachers. PhD thesis, 2020. [5] B. Manero Iglesias and A. Romero Hernández, ClassRoom VR-Motion Capture (CVR-MC): un juego en RV para la mejora de la expresión corporal de los profesores de secundaria. PhD thesis, 2021. [6] C. Dictionary, “Definición de videojuego.” https://dictionary.cambridge.org/es/ diccionario/ingles/video-game. [7] Sony, “Página web de sony playstation.” https://www.playstation.com/. [8] Microsoft, “Página web de xbox.” https://www.xbox.com/. [9] B. Bowers, Sir Charles Wheatstone FRS: 1802-1875. IET, 2001. [10] Distinguished Research Professor Emeritus and Founder of the Centre for Vision Research Ian P Howard, I. P. Howard, B. J. Rogers, and Department of Experimental Psychology Brian J Rogers, Binocular Vision and Stereopsis. Oxford University Press, 1995. [11] “Thomas a. furness.” https://ise.washington.edu/facultyfinder/ thomas-a-furness. [12] “U.S. air force.” https://www.airforce.com. [13] AWE, “Tom furness (grandfather of AR and VR) - “being the future” at AWE 2015,” June 2015. [14] A. Garcia-Palacios, H. Hoffman, A. Carlin, T. A. Furness, and C. Botella, “Virtual reality in the treatment of spider phobia: a controlled study,” Behav. Res. Ther., vol. 40, pp. 983–993, Sept. 2002. 44 https://dictionary.cambridge.org/es/diccionario/ingles/video-game https://dictionary.cambridge.org/es/diccionario/ingles/video-game https://www.playstation.com/ https://www.xbox.com/ https://ise.washington.edu/facultyfinder/thomas-a-furness https://ise.washington.edu/facultyfinder/thomas-a-furness https://www.airforce.com UCM [15] “What is ISE?.” https://ise.washington.edu/about/what-is-ise, Oct. 2015. [16] “Home.” https://virtuality.com, July 2015. [17] “SEGA.” https://www.sega.com/. [18] S. Am3[1], A. M. Sega, and . S. Am5[3], “VR-1.” https://segaretro.org/VR-1, June 2022. [19] “Nintendo official site: Consoles, games, news, and more.” https://www.nintendo. com. [20] “Nintendo virtual boy.” http://retromaquinitas.com/consolas/consolas-nintendo/ virtual-boy/. [21] S. Boyer, “A virtual failure: Evaluating the success of nintendo’s virtual boy,” The Velvet Light Trap, pp. 23–33, Sept. 2009. [22] O. Gaming, “Mario’s tennis (1995) [virtual boy],” June 2019. [23] P. F. Luckey, “Cuenta de twitter de palmer freeman luckey.” https://twitter.com/ PalmerLuckey. [24] “Oculus rift: Step into the game.” https://www.kickstarter.com/projects/ 1523379957/oculus-rift-step-into-the-game?lang=es. [25] S. Parkin, “Oculus rift,” MIT Technology Review, Apr. 2014. [26] H. Stockdale, “Why virtual reality is a haven for in- die developers.” https://www.indiegamewebsite.com/2020/03/17/ why-virtual-reality-is-a-haven-for-indie-developers/, Mar. 2020. [27] “Oculus rift development kit preview.” https://www.pcmag.com/reviews/ oculus-rift-development-kit. [28] “Conseguir cardboard – google VR.” https://arvr.google.com/intl/es_es/ cardboard/get-cardboard/. [29] D. MacIsaac, “Google cardboard: A virtual reality headset for $10?,” Phys. Teach., vol. 53, pp. 125–125, Feb. 2015. [30] R. Triggs, “Oculus rift teardown reveals samsung galaxy note 3 display inside.” https: //www.androidauthority.com/oculus-rift-note-3-display-412660/, Aug. 2014. [31] “HTC.” https://www.htc.com/. [32] Bhaptics, “Página web de bhaptics.” https://www.bhaptics.com/. [33] Bhaptics, “Página del TactSuit X40.” https://www.bhaptics.com/tactsuit/ tactsuit-x40. [34] “Omni one.” https://omni.virtuix.com/. Accessed: 2022-8-28. [35] H. Vive, “Introducing: HTC VIVE tracker 3.0,” Mar. 2021. [36] I. Wikipedia, Nintendo Entertainment System: Igry Dlya Nes, Final Fantasy, Ninja Gaiden, Spisok Igr Na Nes, Elite, the Legend of Zelda, Final Fantasy II. Books LLC, Wiki Series, Sept. 2011. 45 https://ise.washington.edu/about/what-is-ise https://virtuality.com https://www.sega.com/ https://segaretro.org/VR-1 https://www.nintendo.com https://www.nintendo.com http://retromaquinitas.com/consolas/consolas-nintendo/virtual-boy/ http://retromaquinitas.com/consolas/consolas-nintendo/virtual-boy/ https://twitter.com/PalmerLuckey https://twitter.com/PalmerLuckey https://www.kickstarter.com/projects/1523379957/oculus-rift-step-into-the-game?lang=es https://www.kickstarter.com/projects/1523379957/oculus-rift-step-into-the-game?lang=es https://www.indiegamewebsite.com/2020/03/17/why-virtual-reality-is-a-haven-for-indie-developers/ https://www.indiegamewebsite.com/2020/03/17/why-virtual-reality-is-a-haven-for-indie-developers/ https://www.pcmag.com/reviews/oculus-rift-development-kit https://www.pcmag.com/reviews/oculus-rift-development-kit https://arvr.google.com/intl/es_es/cardboard/get-cardboard/ https://arvr.google.com/intl/es_es/cardboard/get-cardboard/ https://www.androidauthority.com/oculus-rift-note-3-display-412660/ https://www.androidauthority.com/oculus-rift-note-3-display-412660/ https://www.htc.com/ https://www.bhaptics.com/ https://www.bhaptics.com/tactsuit/tactsuit-x40 https://www.bhaptics.com/tactsuit/tactsuit-x40 https://omni.virtuix.com/ UCM [37] Riot, “League of legends.” https://www.leagueoflegends.com. [38] Valve, “Counter-Strike: Global offensive.” https://blog.counter-strike.net. Ac- cessed: 2022-8-29. [39] E. Games, “Epic games’ fortnite.” https://www.epicgames.com/fortnite/. [40] L. Gu and A. L. Jia, “Player activity and popularity in online social games and their implications for player retention,” in 2018 16th Annual Workshop on Network and Systems Support for Games (NetGames), pp. 1–6, June 2018. [41] Meta, “Página web de instagram.” https://www.instagram.com/. [42] Twitter, “Página web de twitter.” https://twitter.com. [43] “VRChat.” https://hello.vrchat.com/. [44] “Duolingo - aprende un idioma completamente gratis @.” https://www.duolingo.com. [45] “Trailhead.” https://trailhead.salesforce.com. [46] V. Gaitán, “Gamificación: el aprendizaje divertido,” Recuperado el, vol. 15, 2013. [47] “Microsoft flight simulator game of the year edition on steam.” https: //store.steampowered.com/app/1250410/Microsoft_Flight_Simulator_Game_of_ the_Year_Edition/. [48] “Microsoft: nube, ordenadores, aplicaciones y juegos.” https://www.microsoft.com. [49] “Microsoft flight simulator game of the year edition on steam.” https: //store.steampowered.com/app/1250410/https://news.xbox.com/en-us/2020/ 12/22/microsoft-flight-simulator-virtual-reality-update-available-now//. [50] C. C. Abt, C. C. Abt, and C. C. Abt;, “serious games de clark abt - iberlibro.” https://www.iberlibro.com/buscar-libro/titulo/serious-games/ autor/clark-abt/, 1970. [51] The Editors of Encyclopedia Britannica, Pong. May 2020. [52] “Facultad de informática.” https://informatica.ucm.es. [53] Adobe, “Página web de character animator.” https://www.adobe.com/es/products/ character-animator/facial-motion-capture.html. [54] N. Verdejo, “Desarrollan sistema de reconocimiento facial que puede identi- ficar expresiones con mayor precisión.” https://wwwhatsnew.com/2022/07/07/ desarrollan-sistema-de-reconocimiento-facial-que-puede-identificar-expresiones-con-mayor-precision. [55] J. Tian, “Facial expression recognition in classroom environment ba- sed on improved xception model.” https://www.spiedigitallibrary. org/journals/journal-of-electronic-imaging/volume-31/issue-5/051416/ Facial-expression-recognition-in-classroom-environment-based-on-improved-Xception/ 10.1117/1.JEI.31.5.051416.short?SSO=1&tab=ArticleLink. [56] G. Cuesta, “Descubre las tecnologías más utilizadas para el aná- lisis de las emociones faciales.” https://openexpoeurope.com/es/ descubre-las-tecnologias-mas-utilizadas-para-el-analisis-de-las-emociones-faciales/. 46 https://www.leagueoflegends.com https://blog.counter-strike.net https://www.epicgames.com/fortnite/ https://www.instagram.com/ https://twitter.com https://hello.vrchat.com/ https://www.duolingo.com https://trailhead.salesforce.com https://store.steampowered.com/app/1250410/Microsoft_Flight_Simulator_Game_of_the_Year_Edition/ https://store.steampowered.com/app/1250410/Microsoft_Flight_Simulator_Game_of_the_Year_Edition/ https://store.steampowered.com/app/1250410/Microsoft_Flight_Simulator_Game_of_the_Year_Edition/ https://www.microsoft.com https://store.steampowered.com/app/1250410/https://news.xbox.com/en-us/2020/12/22/microsoft-flight-simulator-virtual-reality-update-available-now// https://store.steampowered.com/app/1250410/https://news.xbox.com/en-us/2020/12/22/microsoft-flight-simulator-virtual-reality-update-available-now// https://store.steampowered.com/app/1250410/https://news.xbox.com/en-us/2020/12/22/microsoft-flight-simulator-virtual-reality-update-available-now// https://www.iberlibro.com/buscar-libro/titulo/serious-games/autor/clark-abt/ https://www.iberlibro.com/buscar-libro/titulo/serious-games/autor/clark-abt/ https://informatica.ucm.es https://www.adobe.com/es/products/character-animator/facial-motion-capture.html https://www.adobe.com/es/products/character-animator/facial-motion-capture.html https://wwwhatsnew.com/2022/07/07/desarrollan-sistema-de-reconocimiento-facial-que-puede-identificar-expresiones-con-mayor-precision https://wwwhatsnew.com/2022/07/07/desarrollan-sistema-de-reconocimiento-facial-que-puede-identificar-expresiones-con-mayor-precision https://www.spiedigitallibrary.org/journals/journal-of-electronic-imaging/volume-31/issue-5/051416/Facial-expression-recognition-in-classroom-environment-based-on-improved-Xception/10.1117/1.JEI.31.5.051416.short?SSO=1&tab=ArticleLink https://www.spiedigitallibrary.org/journals/journal-of-electronic-imaging/volume-31/issue-5/051416/Facial-expression-recognition-in-classroom-environment-based-on-improved-Xception/10.1117/1.JEI.31.5.051416.short?SSO=1&tab=ArticleLink https://www.spiedigitallibrary.org/journals/journal-of-electronic-imaging/volume-31/issue-5/051416/Facial-expression-recognition-in-classroom-environment-based-on-improved-Xception/10.1117/1.JEI.31.5.051416.short?SSO=1&tab=ArticleLink https://www.spiedigitallibrary.org/journals/journal-of-electronic-imaging/volume-31/issue-5/051416/Facial-expression-recognition-in-classroom-environment-based-on-improved-Xception/10.1117/1.JEI.31.5.051416.short?SSO=1&tab=ArticleLink https://openexpoeurope.com/es/descubre-las-tecnologias-mas-utilizadas-para-el-analisis-de-las-emociones-faciales/ https://openexpoeurope.com/es/descubre-las-tecnologias-mas-utilizadas-para-el-analisis-de-las-emociones-faciales/ UCM [57] Emteq, “Página web emteqlabs.” https://www.emteqlabs.com/. [58] Emteq, “Introducción a emteqpro.” https://support.emteqlabs.com/ getting-started/introduction.html. [59] A. Moreno, “Procesamiento del lenguaje natural ¿qué es?.” https://www.iic.uam. es/inteligencia/que-es-procesamiento-del-lenguaje-natural/. [60] “Mejores modelos de lenguaje y sus implicaciones.” https://openai.com/blog/ better-language-models/. [61] OpenAI, “Página chatgpt.” https://chat.openai.com/chat. [62] Microsoft, “Reconocimiento de intenciones a partir de conteni- do de voz mediante el sdk de voz para c.” https://learn. microsoft.com/es-es/azure/cognitive-services/speech-service/ how-to-recognize-intents-from-speech-csharp. [63] W. B. Services, “Inteligencia artificial y voz: así es el presen- te y futuro de los asistentes.” https://ecosistemahuawei.xataka.com/ inteligencia-artificial-voz-asi-presente-futuro-asistentes/. [64] C. González, “Cómo hacer capturas de pantalla con la voz.” https://androidayuda. com/aplicaciones/tutoriales/capturas-pantalla-voz/. [65] Facebook, “Documentacion wit.” https://wit.ai/docs. [66] Emteq, “Sdk emteq para unity.” https://support.emteqlabs.com/emteq-sdk/unity. [67] Emteq, “Entender datos emteqpro.” https://support.emteqlabs.com/data/. [68] Conceptodefinicion, “Definición de valencia.” https://conceptodefinicion.de/ valencia/. [69] R. J. A. . P. B. S. Posner, J., “The circumplex model of affect: An integrative approach to affective neuroscience, cognitive development, and psychopathology.” https:// doi.org/10.1017/S0954579405050340, 2005. [70] E. P., “Darwin’s contributions to our understanding of emotional expressions.” https: //doi.org/10.1098/rstb.2009.0189, 2009. [71] Facebook, “Git de wit para integrar en unity.” https://github.com/wit-ai/ wit-unity. [72] “emteqPRO by emteq labs.” https://www.emteqlabs.com/emteqpro. [73] E. Labs, “Emteq labs.” https://www.emteqlabs.com. [74] M. N. Butt and M. Iqbal, “Teachers perception regarding facial expressions as an effective teaching tool,” 2011. [75] Facebook, “Pagina web wit.” https://wit.ai. 47 https://www.emteqlabs.com/ https://support.emteqlabs.com/getting-started/introduction.html https://support.emteqlabs.com/getting-started/introduction.html https://www.iic.uam.es/inteligencia/que-es-procesamiento-del-lenguaje-natural/ https://www.iic.uam.es/inteligencia/que-es-procesamiento-del-lenguaje-natural/ https://openai.com/blog/better-language-models/ https://openai.com/blog/better-language-models/ https://chat.openai.com/chat https://learn.microsoft.com/es-es/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp https://learn.microsoft.com/es-es/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp https://learn.microsoft.com/es-es/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp https://ecosistemahuawei.xataka.com/inteligencia-artificial-voz-asi-presente-futuro-asistentes/ https://ecosistemahuawei.xataka.com/inteligencia-artificial-voz-asi-presente-futuro-asistentes/ https://androidayuda.com/aplicaciones/tutoriales/capturas-pantalla-voz/ https://androidayuda.com/aplicaciones/tutoriales/capturas-pantalla-voz/ https://wit.ai/docs https://support.emteqlabs.com/emteq-sdk/unity https://support.emteqlabs.com/data/ https://conceptodefinicion.de/valencia/ https://conceptodefinicion.de/valencia/ https://doi.org/10.1017/S0954579405050340 https://doi.org/10.1017/S0954579405050340 https://doi.org/10.1098/rstb.2009.0189 https://doi.org/10.1098/rstb.2009.0189 https://github.com/wit-ai/wit-unity https://github.com/wit-ai/wit-unity https://www.emteqlabs.com/emteqpro https://www.emteqlabs.com https://wit.ai Anass Carreau 24/01/2023 Ult. actualización 24 de enero de 2023 LATEX lic. LPPL & powered by TEFLO N CC-ZERO Esta obra está bajo una licencia Creative Commons “CC0 1.0 Universal”. https://creativecommons.org/publicdomain/zero/1.0/deed.es https://creativecommons.org/publicdomain/zero/1.0/deed.es https://creativecommons.org/publicdomain/zero/1.0/deed.es Introducción Motivación Objetivos Objetivos Generales Objetivos Específicos Estructura del documento Estado del arte Historia de la realidad virtual Estereopsis Simuladores aeroespaciales El auge de la realidad virtual en los 90 La tecnología VR en la actualidad Tendencias de los videojuegos y los Serious Games Impacto de los videojuegos en la sociedad Serious games Proyecto Classroom VR Reconocimiento facial en la actualidad Emteq Labs Reconocimiento del lenguaje natural en la actualidad Reconocimiento del lenguaje natural por voz Desarrollo y herramientas Herramientas de trabajo Tecnología base Dispositivos Utilizados Comunicación Desarrollo del trabajo Metodología de trabajo Implementación Herramienta de reconocimiento facial Investigación y comprensión de Emteqvr Valencia y Arousal Activación de los músculos faciales (Expresividad) Seguimiento de la frecuencia cardíaca Movimiento ocular (Solo con gafas con rastreador ocular) Implementación en Unity Herramienta de comprensión del lenguaje natural Investigación y comprensión de Wit.ai Variables Proyecto de wit.ai Implementación del proyecto de Wit.ai en Unity Conclusiones y trabajo futuro Conclusiones Conclusiones Reconocimiento facial Conclusiones Reconocimiento del lenguaje natural Trabajo futuro Introduction Conclusions and Future Work Bibliografía y enlaces de referencia