Sport 2 Scroll - S2S (Projet en cours)

Présentation du projet

image
https://florian-boisset.itch.io/sport2scroll

Sport2Scroll est un projet d’application mobile de fitness gamifiée, ayant pour objectif d’utiliser le body tracking pour aider les utilisateurs à effectuer leurs exercices correctement. Un second objectif du projet, est d’aider les utilisateurs à maitriser leur temps d’écran en débloquant du temps de "scroll" par le sport. L’utilisateur définit son niveau initial, ses objectifs, les exercices qu’il souhaite faire en priorité, et le temps de scroll limite qu’il s’autorise. Une fois son temps d’écran dépassé, l’application prend le devant sur les applications de réseaux sociaux, et propose à l’utilisateur de faire du sport pour débloquer du temps de scroll.

Fonctionnement technique

L’application est développée sous Unity 6 pour Android.

Détection corporelle avec MediaPipe

La détection du corps repose sur MediaPipe Pose Landmarker, une bibliothèque open-source de Google spécialisée dans l’analyse de la posture humaine en temps réel. À chaque image captée par la caméra frontale, MediaPipe analyse le flux vidéo et retourne la position de 33 points clés répartis sur le corps : épaules, coudes, poignets, hanches, genoux, chevilles, etc. Chaque point est fourni avec un score de confiance indiquant à quel point MediaPipe est certain de sa position.

image

Définition des exercices

Pour définir un exercice, un outil éditeur sur mesure développé dans Unity permet, en mode éditeur, de se placer devant la caméra, d’effectuer la pose souhaitée et de la capturer en un clic. L’outil enregistre les angles de toutes les articulations à cet instant. On ajoute également une description ou indication pour l’utilisateur de la pose a adopter.

Un exercice est ensuite défini par une séquence ordonnée de poses de référence. Par exemple, une pompe est décrite par deux poses : bras tendus au sol, puis bras fléchis (position basse). Lors d’une session, l’application demande à l’utilisateur de reproduire chaque pose de la séquence dans l’ordre ; lorsque toutes ont été validées, une répétition est comptabilisée.

Les exercices actuellement disponibles sont :

image

Validation d’une pose

Pour chaque image de la caméra, l’application calcule les angles formés aux articulations (par exemple, l’angle du coude = angle entre le bras et l’avant-bras) et les compare à ceux enregistrés dans la pose de référence. Chaque articulation contribue à un score global de 0 à 100, avec un poids configurable selon son importance dans l’exercice : par exemple, les coudes sont fortement pondérés pour une pompe mais peu importants pour un squat. Dès que le score dépasse un seuil défini, la pose est validée et l’application passe à la suivante dans la séquence. Un retour visuel en temps réel indique la qualité de la pose : la couleur passe du rouge (pose incorrecte) au vert (pose atteinte).

Paramétrage des exercices et des applications surveillées

Les exercices et les applications surveillées sont présentés sous forme de listes dans l’interface. Chaque élément expose ses paramètres directement via des champs de texte modifiables dans la liste. Pour les exercices, l’utilisateur règle :

Pour les applications surveillées, il configure le quota quotidien alloué à chacune. Les compteurs se remettent automatiquement à zéro chaque jour à minuit.

image image image image

Gestion du temps d’écran

Le suivi du temps passé sur les applications repose sur deux mécanismes complémentaires :

Dès qu’une application surveillée est détectée ouverte, une notification persistante s’affiche et se met à jour en temps réel avec le temps d’utilisation restant pour cette application. Dès que le quota est épuisé, une superposition (overlay) s’affiche par-dessus l’application, invitant l’utilisateur à faire du sport pour débloquer du temps supplémentaire.

image

image

Cinq permissions Android sont nécessaires au fonctionnement de l’application :