Workout tracker for healthier office lives
Count exercises that employees perform to promote more activity at the workplace
The customer wanted a prototype to evaluate a program that can track exercises performed by employees to build a system that incentivizes physical activity in the workplace. The solution must be capable of distinguishing known employees from strangers and must accurately count the number of pre-defined exercises performed, as well as persist them for short time periods, e.g., a calendar month.
Pre-trained models for face recognition and pose estimation are available as open-source, and due to the computational power of the NPU on the target hardware, they can be executed at high framerates. Thus, tracking of key body joints becomes feasible and counting of different motions can be accomplished. Since the number of employees is fairly limited, memory and storage are sufficient to support this application. The device must support a webcam for capturing video and must be able to stream the video feed over network to a device with an HMI.
The hardware consists of the Toradex Verdin iMX8M Plus SoM, which is connected to the local ethernet network and to a USB webcam. When a person enters the frame of the webcam, facial recognition is run to identify which employee the counted exercises are attributed to. At first, the face is detected, and the resulting region is cropped and analyzed by a pre-trained Resnet50 model. The resulting 4096-dimensional embedding is compared to the embeddings of known employees and if a match is found, the pose estimation starts. During pose estimation, the person can do squats and correctly performed squats are counted by tracking location of the hip and knee joints. Once a person enters or leaves the frame, the counted number is saved.
The database and the dashboard server are on a remote machine, for instance a server. As an experimental new feature, Text-to-Speech messages were implemented to give feedback to the user. However, these are currently executed on the server not on the SoM.
More information in the whitepaper