Dessinez dans votre navigateur web en utilisant l'index de la main à l'aide de votre caméra. La détection se fait grâce à l'API Javascript de Mediapipe pour la détection de mains, qui utilise des algorithmes d'apprentissage automatique. Le modèle utilisé est celui fourni par Mediapipe, qui a été entrainé sur plus de 30k images.
Ce projet est réalisé par deux étudiants à l'université de Bourgogne, en troisième année de licence science pour l'ingénieur parcours électronique. Il est soumis à une note et sera présenté à un jury lors d'une soutenance.
Nous considérons que la version 1.0 correspond à l'état du projet cloturé par la date de soutenance (03 mai 2023).
A ce jour, les fonctionnalités disponibles sont:
- Dessiner avec l'index à l'écran. L'épaisseur du trait est proportionnelle à l'inclinaison de la main.
- Sélection de couleur dans une palette.
- Gommer / Effacer l'écran.
- Click avec l'index.
Commencez par cloner le projet en téléchargeant depuis la page github ou par la commande:
cd chemin_de_destination/
git clone https://github.com/GehuL/brushless-painter.git
Installer les packages mediapipe n'est pas nécessaire mais il permet de réduire le temps de chargement de la page web et de travailler sans internet. S'ils ne sont pas installés, les scripts mediapipe proviennent d'un CDN (serveur externe).
Pour installer les modules de Mediapipe sur votre machine, il faut installer l'utilitaire de package javascript nmp.
Une fois npm installé, déplacez-vous à la racine du projet et tapez:
cd static/
npm i @mediapipe/camera_utils@0.3
npm i @mediapipe/drawing_utils@0.3
npm i @mediapipe/control_utils@0.6
npm i @mediapipe/hands@0.4
Pour pouvoir afficher la page web dans un navigateur, il faut démarrer un serveur.
Tout d'abord, installez la version 3 de python. Ensuite, tapez les commandes suivantes:
python3 -m pip install Flask
puis positionnez-vous à la racine du projet où se situe le fichier main.py.
flask --app main run --debug
Vérifierz sur quel port le serveur démarre (par défaut 5000). Vous pouvez accéder au site à partir de l'adresse suivante: http://localhost:5000
La compatibilité repose essentiellement sur les systèmes et navigateur supportés par la librairie Mediapipe.
Les navigateurs et systèmes d'exploitation testés sont les suivants:
| OS | Chrome | Safari | Firefox | Edge |
|---|---|---|---|---|
| MacOS (High Sierra) | V | X | ? | |
| Windows NT (10/11) | V | ? | ? | V |
| Raspberry PI | ? | ? | X |
Légende:
- X : Ne fonctionne pas
- V : Fonctionne
- ? : Non tester
