8000 GitHub - pariterre/Synergie: Backend for figure skating analysis tools.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

pariterre/Synergie

 
 

Repository files navigation

AIOnIce

A figure skating jump recognition software using IMU data as input. Une application de reconnaissance des figures de patinage artistique utilisant les données de capteurs IMU

CLI usage:

pip install requirements.txt

Vous aurez aussi besoin du movelladot_pc_sdk : (https://www.movella.com/support/software-documentation)

Installation

Erreur connues sous Linux

Librairies manquantes

Une fois movelladot_pc_sdk installé, il est probable que les libraires libcholmod.so.3 et libumfpack.so.5 ne soient pas trouvées par le système, car celles-ci sont trop vieilles pour être installables. Cependant, il semble que les versions actuelles soient rétrocompatibles (pour le moment). Ainsi, pour corriger le problème, il suffit de créer des liens symboliques vers les fichiers correspondants dans le dossier /usr/lib/ :

sudo ln -s <PATH_TO_LIB>/libcholmod.so.x <PATH_TO_LIB>/libcholmod.so.3
sudo ln -s <PATH_TO_LIB>/libumfpack.so.x <PATH_TO_LIB>/libumfpack.so.5

en remplaçant <PATH_TO_LIB> par le chemin vers le dossier contenant les fichiers libcholmod.so.x et libumfpack.so.x, et qui peut être trouvé en utilisant la commande find / -name libcholmod.so.x ou find / -name libumfpack.so.x; et en remplaçant x par le numéro de version de la librairie installée.

USB non reconnu

Si le système ne semble pas reconnaitre les capteurs USB, il est possible que le système n'est pas les droits d'accès. Pour corriger ce problème, il faut premièrement confirmer le groupe dans lequel les capteurs USB sont (probable dialout), en faisant la commande suivate:

ls -l /dev/ttyUSB*

Note pour confirmer si les USB sont bien sur ttyUSB, il est possible de faire la commande lsusb pour voir les capteurs USB connectés, puis déconnecter les capteurs et refaire la commande pour voir lesquels ont disparus.

Ensuite, il faut ajouter l'utilisateur courant à ce groupe :

sudo usermod -a -G dialout $USER

(Changer dialout par le groupe trouvé précédemment si différent)

Enfin, il faut redémarrer la session pour que les changements prennent effet.

Application

Une application avec une interface graphique disponible

python app.py

L'application contient :

  • Une page de connexion
  • Une page d'accueil
  • des pages pop-up lors des actions de l'utilisateur

Avant d'afficher à la page d'accueil l'application cherche tous les capteurs disponibles et se connectent à ceci via Bluetooth ET USB.

Le lancement d'un enregistrement se fait en débranchant un capteur et l'arrêt de cet enregistrement en rebranchant le capteur. Lors de ces étapes des fenêtres de confirmation s'ouvrent pour proposer des choix à l'utilisateur.

Lors de l'arrêt ou via le button sur la page d'accueil on peut exporter les données des capteurs connectés via USB. Cette opération peut prendre un certain temps et nécessite de laisser le capteur branché. Les données brutes sont sauvegardés dans des fichiers rangés par date et sont automatiquement traités par l'application pour détecter les sauts et reconnaître les figures effectués durant l'entraînement, ces données traités sont stockés sur un base de données Firebase.

Base de donnés

L'application utilise une base de données Firebase pour stockés les données traitées par l'application

Entraînement des modèles

python3 main.py -t <"model_type">

model_type peut être "type" ou "success" entraînant respectivement la reconnaissance des figures et des chutes. Le nombre d'époques d'entraînement doit être fixé manuellement dans main.py.

Le jeu de données

Le modèle actuel a été entraîné avec un jeu de données d'environ 1500 sauts annotés. Pour des questions de propriété privée ce jeu de données n'est pas public.

Ce jeu de données peut être entraînés avec de nouvelles données, en utilisant par exemple les données brutes stockés à chaque entraînement pour les annoter manuellement.

python3 main.py -p <"path">

This command will process a training file to get the jumps file, and a list of them in order to help during annotation

Credits

Réalisé par le S2M pour Patinage Quebec.

About

Backend for figure skating analysis tools.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PureBasic 59.1%
  • Python 40.9%
0