- CoOCPen – Interactions lors des cours particuliers à distance – recherche et état de l’art du problème choisi
- CoOCPen – Présentation des personas
- CoOCPen – Interactions lors des cours particuliers à distance – Méthodologie de l’enquête terrain
- CoOCPen – Expression de besoin
- CoocPen – Interactions lors des cours particuliers à distance – enquête terrain et données recueillies
- CoOCPen : la solution au manque d’interactivité des cours particuliers à distance
Auteurs :
Bonnemains Sean, Herman Corentin, Benslimane Hazem
Contexte
Avec la crise sanitaire du Covid-19, les cours particuliers ont été bouleversés. Marché de près de 2 milliards d’euros en France, son activité a en effet été freinée fortement avec le confinement : 2/3 des cours particuliers prévus ont ainsi été annulés à la suite du premier confinement. Une enquête de terrain a permis de montrer que bien que les élèves et les professeurs soient favorables à la possibilité de dispenser des cours particuliers à distance – principalement pour des gains de temps de transport -, cela n’était que peu pratiqué car le niveau d’interaction n’était pas assez bon comparativement au niveau d’interaction des cours “en présence”. Ce constat, particulièrement fréquent lors de la dispense de cours scientifiques comme des cours de mathématiques, nous a amené à envisager la problématique suivante : Comment améliorer l’interactivité des cours particuliers en ligne dans le cadre de matières scientifiques ?
La solution
Après avoir consulté les différentes solutions existantes sur le marché, nous nous sommes rendu compte qu’il existait différentes technologies permettant de rendre les cours particuliers en ligne plus interactifs, mais toutes présentent des défauts importants, que ce soit côté prix – les dispositifs se chiffrent en centaines d’euros, ce qui empêche les élèves de s’en équiper – ou côté praticité – certains dispositifs ne sont pas intuitifs ou présentent une courbe d’apprentissage élevée -.
Notre solution se veut économique, adaptative et intuitive, afin de pouvoir servir au plus grand nombre. Elle comporte une bague où se trouve un capteur IMU qui se positionne sur le stylo ou le crayon de son choix. Les informations sur le mouvement fournies par le capteur sont transmises sur un ordinateur par une carte Arduino et un module Bluetooth. Après un traitement, ces données permettent de reconstituer les symboles effectués par les utilisateurs, qui sont affichés sur un document partagé par l’élève et le professeur, accessible via une application web. Cela permet de recréer des conditions d’interaction très proches de celles expérimentées lors d’un cours particulier “en présentiel”.
Le schéma ci-dessous récapitule le fonctionnement global de notre solution.
Pour le moment, notre premier prototype consiste en la partie stylo et traitement des données. Nous allons désormais décrire ce prototype : pour ce faire, nous verrons dans un premier temps la partie Hardware plus en détail, puis nous nous attarderons sur la partie Software.
Le Hardware en détail
Pour notre prototype, nous avons imprimer en 3D un support de bague pour le stylo, sur lequel nous positionnons le capteur IMU : une photo de ce support est présente ci-dessous.
Ce capteur IMU MPU-9250 est relié à une carte Arduino UNO. Cette dernière est alimentée par une pile et est connectée à un module de transmission Bluetooth HC-05 BT qui permet de transmettre par Bluetooth les données récoltées à l’ordinateur. Le montage est schématisé ci-dessous.
Le software en détail
Pour ce prototype, nous avons choisi de traiter les données selon la même logique que le traitement de la reconnaissance des caractères, aujourd’hui bien documentée et présentant des bases de données très complètes. Pour ce faire il nous faut obtenir les positions occupées par le stylo au cours du mouvement de manière très précise, afin de pouvoir recréer une image virtuelle de tracé de l’utilisateur. Cela nécessite un pré-traitement des données afin de limiter le bruit présents pour chaque mesure de capteurs. Une fois cette image obtenue, il faut alors entraîner un réseau de neurones de la même manière que pour le traitement d’images, afin de restituer les caractères comme souhaités. Le graphique ci-dessous décrit de manière détaillée le processus de traitement des données.
Pour notre prototype, nous avons développé un code qui permet d’effectuer toutes les étapes de ce traitement à l’exception du bloc “Conversion ASCII”. Le code de cette solution est disponible sur le repository GitHub suivant : https://github.com/sean-bnms/CoOCPen.git
Constats & Perspectives
En appliquant cette solution, nous avons pu reconstituer un trait vertical et un trait horizontal. Cependant, dès lors dès qu’il a s’agit de formes plus complexe, telle qu’un carré ou un cercle, l’image reconstituée n’était pas satisfaisante, ce qui s’explique notamment par les imprécisions des méthodes de double intégration de l’accélération notamment utilisées pour obtenir la position de la mine.
2 possibilités sont désormais possibles : soit améliorer la précision de ce processus de double intégration, soit se tourner vers une solution impliquant de l’apprentissage profond directement en sortie des capteurs par le biais d’un réseau de neurones. Nous pensons que cette deuxième option est la plus prometteuse. Nous avons donc commencé à entraîner un réseau de neurones sur la reconnaissance des chiffres 0, 1 et 2. L’idée est d’implémenter par la suite ce réseau entraîné directement sur une carte Arduino Nano 33 BLE, ce qui permettrait d’obtenir une réponse plus rapide sans passer par un appel à un API : nous estimons que cela permettrait une expérience utilisateur plus fluide. Pour le moment, cette solution n’a pas pu être assez poussée pour obtenir des résultats convaincants, faute de temps. Ci-dessous une photo du montage utilisé pour obtenir les premiers échantillons utilisés pour entraîner le réseau de neurones.
Le code de cette nouvelle solution est accessible sur le repository GitHub suivant : https://github.com/sean-bnms/CoOCPen.git
Une fois que cette phase de traitement sera réalisée et donnera satisfaction, d’autres défis technologiques sont à relever afin de compléter la solution. D’un point de vue Hardware, il faudrait à terme faire faire sur mesure une carte avec toutes les fonctionnalités intégrées et ajouter une batterie afin de gagner en autonomie et tout intégrer sur la bague. Il faudrait également choisir un serveur – il peut être créé avec une Raspberry Pi par exemple, ou être loué de manière plus classique – pour pouvoir héberger l’application web. D’un point de vue Software, il faudrait développer l’application web en intégrant les données de la bague. Tout au long de ces étapes, il faudrait également intégrer des tests utilisateurs afin de faire évoluer l’ergonomie de notre solution pour qu’elle puisse répondre au mieux aux besoins des clients.