Skip to content

Emrick_PESCE

empesce edited this page Mar 22, 2021 · 32 revisions

Emrick PESCE

Description

Étudiant en seconde année d'IUT Informatique, je suis passionné par le numérique

Lorsque j'ai eu connaissance du projet, j'ai de suite accroché à l'idée. En effet, celle-ci est innovante, surtout dans notre contexte de crise sanitaire. De plus, celui-ci va me permettre de découvrir le LeapMotion, qui à l'air très intéressant.

D'après la répartition des tâches, je vais principalement travaillé sur le noyau. De plus, n'ayant jamais conçu d'API, je vais probablement me porter volontaire pour aider à sa réalisation.

Sprint 0 :

09/11/2020 (4h) : Durant cette semaine nous avons majoritairement défini l'orientation que nous voulions pour notre projet autant dans un aspect logique et technique. On a créé et configuré le répertorie Gitlab sur nos machines.

14/11/2020 (1h) : Compréhension de la méthode agile Scrum, par lecture des points clés d'un document d'explication.

14/11/2020 (4h) : Nous nous sommes tous réunis afin de faire les Backlogs des sprints 0 et 1, le cahier des charges et la répartition des tâches. Par exemple, je vais principalement travailler sur le noyau du projet.

Sprint 1 :

16/11/2020 (4h) : Nous nous sommes séparés en groupe (BackEnd / FrontEnd). Étant dans le BackEnd, nous avons fait le diagramme de cas d'utilisation, et commencé le diagramme de classe. Puis nous avons défini le Sprint 1 avec M. Provot. Enfin nous nous sommes de nouveau séparés en 2, pour faire les BackLogs globales (bien que pas complets).

16/11/2020 (1h) : Seconde réunion de la journée pour peaufiner les BackLogs (bien qu'avec le temps il faudra sûrement en rajouter/modifier).

19/11/2020 (15m) : Correction de fautes sur le cahier des charges.

23/11/2020 (1h) : Réunion avec les membres : Report de tout le travail effectué lors de la semaine, définition des questions à poser au responsable

23/11/2020 (1h) : Réunion avec les membres et le responsable : Compte-rendu du travail que l'équipe a fournit et remarques sur le travail effectué, tout en ayant posé certaines questions

23/11/2020 (2h) : Avec Yoann et Romain : Ré-écriture du diagramme de cas d'utilisation et écriture du diagramme de Classe

23/11/2020 (2h) : Début codage pour la compréhension de certains gestes : Compréhension des bases du code de LeapMotion, en essayant du code et lisant la documentation du LeapMotion en Java

23/11/2020 (2h) : Suite codage pour la compréhension de certains gestes : J'ai testé différents codes afin d'arriver à mes fins. Cependant, je n'y suis pas arrivé. En demandant à Romain OLIVIER, on s'est rendu compte qu'une partie des fonctionnalités du LeapMotion que j'avais testé fonctionnait sur son ordinnateur, mais pas sur le miens. Ceci avec notamment la partie des gestes de l'utilisateur.

26/11/2020 (4h) : Codage de fonctions pour connaître le pourcentage de serrage des doigts. Après m'être rendu compte que finalement les fonctionnalités sont disponibles sur mon ordinateur, j'ai créé des méthodes qui permettent d'avoir le pourcentage de serrage du bout des doigts, mais également du départ des doigts. Ceci vient avec des méthodes pour savoir si les doigts sont pliés ou tendus.

Sprint 2 :

30/11/2020 (1h) : Réunion avec les membres : Report de tout le travail effectué lors de la semaine, définition des questions à poser au responsable.

30/11/2020 (1h) : Réunion avec les membres et le responsable : Compte-rendu du travail que l'équipe a fournit et remarques sur le travail effectué, tout en ayant posé certaines questions

30/11/2020 (2h) : Conception collective sur la mise en place d'un système d'événements : Écriture du diagramme de Classe pour la partie événement

02/12/2020 (15m) : Relecture du cahier des charges, pour vérifier les fautes et si tout va bien avant de le rendre.

06/12/2020 (1h) : Création de la classe FingerReconizer, avec différentes méthodes pour avoir des informations sur la courbure des doigts. Création de la classe HandReconizer, avec différentes méthodes pour avoir des informations sur la forme que représente la main

09/12/2020 (2h) : J'ai aidé à refactor le code pour la reconnaissance des gestes

09/12/2020 (3h) : J'ai essayé d'améliorer la reconnaissance des gestes en améliorant la précision du pourcentage de courbure des doigts trouvé. Cependant, ceci n'a pas totalement fonctionné.

10/12/2020 (2h) : Après réflexion je suis parti sur une tout autre méthode pour trouver le pourcentage de courbure des doigts, et ceci a fonctionné, bien que la précision ne soit pas ultra grande, elle est suffisante.

Sprint 3 :

20/12/20 (2h) : Ajout des commentaires dans les parties de la reconnaissance des mains

20/12/20 (3h) : Ajout d'une méthode pour savoir quand les bouts des doigts se touchent

21/12/20 (1h) : Ajout d'une méthode pour savoir quand le bout des os intermediaires des index se touchent. Ajout des méthodes pour savoir quand une main fait un rond avec son index et sont pouce. Ajout d'une méthode pour savoir quand deux mains forment un coeur.

21/12/20 (1h) : J'ai essayé de réparer la méthode handFuck.

21/12/20 (1h) : Modification des valeurs pour la reconnaissance du début des doigts pliés (car les valeurs n'étaient pas corrects) ; Modification du handFuck pour être réparé

21/12/20 (1h) : Création méthode permettant de savoir si deux mains forment un O; Début création méthode permettant de savoir si deux mains forment le signe Jull

22/12/20 (1h) : Ajout d'une méthode pour savoir si l'index et le majeur sont collés. Ajout d'une méthode pour savoir si 2 mains sont collés par le petit doigt. Terminaison de la méthode de reconnaissance du signe de Jull

23/12/20 (1h30) : Ajout de certains commentaires pour les fonctions crées. Modification du diagramme de classe pour ajouter les méthodes implémentées. Merge de la branche principale avec SimpleGesture

Sprint 4 :

04/01/21 (4h) : Documentation sur les API Rest. Mise à jour de certains documents de Gestion de Projet.

08/01/21 (1h) : J'ai regardé en essayant de comprendre lorsque Yoann et Romain développaient le REST API en Spring java (gestion Scripts/Executable)

Sprint 5 :

23/01/21 (1h) : Réflexion sur les différentes possibilités pour implémenter une nouvelle méthode de gestion des gestes, avec début de création d'un diagramme de classe

24/01/21 (3h) : Ajout de méthodes pour l'API : La modification de scripts et exécutables. Ajouts permettant de gérer des exceptions dans les fichiers persistances (pour Scripts et Exécutables), et donc de même dans les RESTController (de ces deux mêmes).

24/01/21 (1h) : Modification du diagramme de classe pour la nouvelle implémentation de la gestion des gestes

25/01/21 (2h) : Recherches sur les matrices et la manière d'implémenter la nouvelle reconnaissance, avec la principale découverte étant que le leap motion permet de récupérer l'orientation (pitch yaw roll) de la paume de la main

26/01/21 (1h) : Recherches pour apprendre la translation, rotation et mise à l'échelles de matrices, avec notamment la découverte d'une classe Java Transform3D qui pourrait probablement servir, mais aussi d'un lien qui permet de comprendre la transformation 3d en java, qui faudra alors surement que je lise prochainement : https://www.developer.com/java/other/article.php/3717101/Understanding-Transforms-in-Java-3D.htm

26/01/21 (30m) : Lecture du lien précédent

27/01/21 (1h15) : Lecture du lien

30/01/21 (1h) : Lecture du lien, puis j'ai remarqué que l'outil utilisait n'était plus vraiment disponible

30/01/21 (2h) : Essaie de différentes manières pour translate, rotate et scale les vecteurs de la main. Fonctionne avec translate et scale, mais pas rotate

30/01/21 (1h) : Essaie de faire le rotate mais ne fonctionne toujours pas

31/01/21 (4h) : Différents essaies pour le rotate, mais cela n'a encore rien donné

02/02/21 (30m) : Recherches pour le rotate

03/02/21 (1h30) : Recherches pour finalement trouver une matrice de rotation suivant un axe quelconque, qui m’a permit de normaliser les vecteurs de la main, bien qu’il reste certains légers bugs suivant la position, mais ceci n'est pas énorme

04/02/21 (4h) : Refactor complet du code pour implémenter la normalisation avec EJML, bien que celui-ci ne soit pas complètement finit

05/02/21 (2h) : Finalisation du refactor du code, pour que tout fonctionne comme avant, avec des commentaires pour une meilleure compréhension, et l’ajout de la mise à l’échelle (scaling). Celle-ci étant suivant la taille de l’os Métacarpal du majeur, où l’on donne la taille que l’on veut qu'il ait à la fin de la normalisation

Sprint 6 :

08/02/21 (1h) : Création de la structure des os, doigts et mains, avec les commentaires. Cependant, elles n'ont pas encore été testées

09/02/21 (1h30) : Essaie de tester les structures en ayant ajouté une manière d'enregistrer et de récupérer la structure dans un fichier, pour ensuite afficher le skelette de la main. Je n'ai pas réussi à utiliser correctement PAplet pour afficher qu'une seule image.

10/02/21 (1h) : Essaie de mise en oeuvre de la comparaison, bien que ne fonctionne pas

18/02/21 (2h) : Modification de l'affichage de la main pour afficher une HandStructure fixe et la main dynamique en même temps. Ceci permet de voir les deux mains qu'on compare en même temps. Modifications de certains bugs, avec la correction de la comparaison des mains, et l'ajout d'une comparaison entre deux mains normalisées. La comparaison a l'air de fonctionnée, mais il faut plus de tests pour l'affirmer. Pour ça j'ai essayé de faire en sorte que lorsqu'on appuie sur une touche du clavier la comparaison se fasse avec la main actuelle, mais je n'ai pas réussi.

19/02/21 (1h30) : Ajout d'une classe DoubleHandStructure pour définir lorsque deux mains sont présentes dans le geste. Cette classe n'a pas encore été testée. Elle contient également des méthodes de comparaison. Elle possède tous les commentaires pour la javaDoc.

19/02/21 (1h) : Grâce à l'aide de Yoann, on a pu ajouter la possibilité de modifier la main qui est comparée pendant que l'affichage est présent. En suivant ses indications pour faciliter la mise en place des structure dans la base de données, j'ai ajouté une classe qui contiendra une HandStructure ou DoubleHandStructure avec un id, nom et description. Elle possède tous les commentaires pour la javaDoc.

19/02/21 (1h) : Ajout d'une classe Structure manager pour gérer différentes fonctionnalités liées à l'interface IDefineStructure, tel qu'une méthode pour récupérer une structure à partir d'une frame, ou encore pour comparer 2 IDefineGesture. Ajout également d'un affichage pour le DoubleHandStructure, avec les tests de comparaisons en même temps que l'affichage

21/02/21 (1h30) : Ajout d'un boolean dans GestureStructure permettant de définir si la reconnaissance pour DoubleHandStructure se fait avec ou sans la distance entre les deux mains. Ajout de la javadoc de pas mal de classes, normalement toutes celles que j'ai codé

Sprint 7 :

24/02/21 (1h30) : Début écriture rapport : Partie Reconnaissance

01/03/21 (1h) : Continuité écriture rapport : Partie Reconnaissance

02/03/21 (2h) : Continuité écriture rapport : Partie Reconnaissance

06/03/21 (2h) : Continuité écriture rapport : Partie Reconnaissance

06/03/21 (1h) : Début écriture d'un script en python pour créer une signature en image .png

06/03/21 (2h) : Continuité écriture rapport : Partie Reconnaissance

06/03/21 (1h) : Finalisation script python pour signature

06/03/21 (1h) : Continuité écriture rapport : Partie Reconnaissance. Jusque là, si on ne compte pas la relecture, et toutes les modifications à apporter pour être en corrélation avec le reste du rapport, j'ai écrit toute la première partie de la reconnaissance, c'est à dire tout ce qu'on a fait avant les matrices / structures des mains. Ainsi, il me reste cette partie avec la normalisation, création de structures...

06/03/21 (45min) : Écriture d'un script python permettant de calculer le ping de notre connexion en faisant un ping sur google.com

16/03/21 (2h) : Continuité écriture rapport : Partie Reconnaissance

17/03/21 (30m) : Continuité écriture rapport : Partie Reconnaissance

18/03/21 (2h) : Continuité écriture rapport : Partie Reconnaissance

20/03/21 (4h30) : Continuité écriture rapport : Partie Reconnaissance

20/03/21 (4h) : Continuité du diagramme de classe, pour finaliser le package core.Gesture

20/03/21 (4h) : Continuité du diagramme de classe, pour finaliser le package core

21/03/21 (8h) : Continuité écriture rapport : Partie Reconnaissance

22/03/21 : (3h) : Finalisation écriture rapport

Clone this wiki locally