Skip to content

Hand tracking for typing pattern detection and optimization in real time

License

Notifications You must be signed in to change notification settings

GNB-UAM/HandTrackingForTypingOptimization

Repository files navigation

HandTrackingForTypingOptimization

On the daily use of computer, keyboard is the main interface and has been present since the in- ception of typing and computation. What most people are not aware of or don’t take into account is that keyboards are vertically divided in a way that each area is optimally designed to be clicked with a different finger. Therefore, to optimize typing patterns and analyze how they affect to the typing speed is not enough to know the key which is pressed, but also with which finger it has been pressed. This can be analyzed through synchronization of images that show hands during typing and the generated keyboard signals. Hand tracking can be applied to those images to obtain information about the hands position at each moment. We have implemented this analysis through the library ’MediaPipe’, developed by Google. In order to use as less resources as possible and making an inexpensive system, a mirror device has been used. This mirror device is a 3D design with a mirror which is placed upon the laptop webcam so that the captured video focuses on the keyboard. Along the development of the project, various problems were identified: the processing rate of Me- diaPipe hand tracking is not enough to capture all hand movements, which are often too fast. To solve this, only the frames that are associable to a keyboard event are processed. Another obstacle encoun- tered was that there is not a fixed delay between the instant in which the camera captures the frame of the press and the instant in which the keyboard event is captured. As a solution, more than one frame is associated to a keyboard event, so that the movement of the hands can be studied. Finally, the obtained results are compared with the state of the art, highlighting that is possible to obtain representative outputs using less resources, and proposing system improvements for the future.

En el uso diario que hacemos del ordenador, la interfaz por excelencia es el teclado, que nos acom- paña desde los inicios de la mecanografía y la computación. Lo que muchas personas desconocen o no tienen en cuenta es que el teclado está dividido verticalmente en zonas para ser pulsadas de manera óptima cada una con un dedo de la mano. Así pues, para optimizar la escritura no es suficiente saber qué teclas se pulsan para formar una palabra, sino también identificar con qué dedo se pulsa cada letra y cómo afecta esto a la velocidad de escritura. Esto puede ser analizado a través de la sincronización de imágenes que muestren las manos du- rante el tecleo y las señales de teclado generadas. Sobre estas imágenes es posible aplicar hand tracking para obtener la información de la posición de las manos en cada instante. Hemos implementa- do este análisis a través de la librería ’MediaPipe’, desarrollada por Google. Con el objetivo de utilizar la menor cantidad de recursos posibles y no depender de tener una cámara externa al ordenador, se ha usado un dispositivo impreso en 3D con un espejo que se coloca en la webcam del ordenador, de manera de que el vídeo capturado por la cámara enfoca directamente al teclado. A lo largo del desarrollo del proyecto se han encontrado varios problemas. La velocidad de procesa- do del hand tracking de MediaPipe no es suficiente para capturar de manera precisa los movimientos de las manos. Para resolver este problema ha sido el procesado de un subconjunto de imágenes aso- ciables a un evento de teclado. Otro problema es la diferencia entre el instante en el que la webcam captura la imagen en que se pulsa la tecla y el instante en que se captura dicho evento. Para solven- tar esto, se ha implementado un sistema que captura imágenes antes y después de cada evento de teclado, con el fin de poder analizar los movimientos de las manos. Por último, se comparan los resultados obtenidos con los estudios más recientes, destacando que es posible obtener resultados representativos usando muchos menos recursos, y proponiendo nuevos enfoques para mejorar el sistema.

About

Hand tracking for typing pattern detection and optimization in real time

Resources

License

Stars

Watchers

Forks

Languages