2022-g2-M2PLS
Remote Exam Proctoring : Détection d'une tentative de fraude
Slides & Videos
Members
Name | Contribution |
---|---|
Christophe ISHIMWE NGABO | 1. Conception et développement d'application Android en Java (MLIoT Sensors) collectant les différents données issues des capteurs (images, voix, acceleration, mouvement, proximité, etc.). - Visualisation en interface graphique les différents niveaux de capteurs (camera, ondulation audio et oscillation d'accélération tri-axiale). - Intégration du plugin gRPC avec Android Studio afin de générer le code (stub). - Implémentation du client gRPC et envoie des données collectées au serveur écrit en Python. _ Création du logo pour l'application et pour le projet en général. 2. Conception et développement d'application desktop en Python (MLIoT Sink) consommant les données en provenance de l'application mobile et en communication permanente avec l'application de monitoring. - Documentation sur la programmation Python (les bases du langage). - Documentation sur le protocole RPC et plus précisément gRPC de Google. - Génération et implémentation du code gRPC pour le serveur en Python. - Visualisation en interface graphique les niveaux de capteurs en temps réel en provenance du téléphone. - Génération et implémentation du code gRPC client en Python pour la communication avec l'application de monitoring. 3. Conception et développement d'application desktop en Java (MLIoT Monitor) recevant des alertes et le log de surveillance de chaque étudiant. - Génération et implémentation du code gRPC client en Java pour la communication avec l'application d'apprentissage automatique écrit en Python. - Création d'interface graphique (Dashboard) afin d'afficher la listes d'étudiants dans un tableau pour faciliter la surveillance en temps réel. |
Andriamisaina MANOA | 1. Configuration de la machine : installation des outils et logiciels nécessaire (Android Studio, Pycharm) 2. Reconnaissance faciale avec Python 3. Reconnaissance des formes avec Python (je l'ai fait en parallèle avec Halima) 4. Reconnaissance optique de caractères 5. Speech to text : Done 6. Front Office pour l'examination : Front-End et Back-End 7- Création, Reconnaissance et lecture QrCode 8- Rapport |
Halima RAFIK | Participation à la présentation |
State of the Art
Business Aspect
Comment les logiciels anti-triche mettent les étudiants sous surveillance
Actuellement, il est clair que les investissements sur les projets nécessitent toujours des budgets assez larges. Pourtant, il faut toujours regarder les failles de ces projets et les petits obstacles qui rendent les choses moins sur. Prenons exemple sur les examens en ligne qui sont de plus en plus utilisés surtout depuis la propagation du Coronavirus. Pourtant, cette forme d’examen est plus ouverte aux fraudes. Pour cela nous avons mis à la disposition un projet qui détecte les triches. Et selon nos calculs, le financement de ce projet est plus ou moins nécessaire pour avoir plus de fonctionnalités et plus de crédibilité.
Concernant, Safe Exam Browser qui est totalement gratuit mais qui doit être intégré dans Moodle.
Puis, nous avons ProctorU, qui dépend de l’examen, mais en général le coût varie entre $15 et $30.
Pour les autres alternatives, j’ai pas pu avoir plus de détails sur le prix mais ils restent sans doute accessibles pour tout le monde.
Technical Aspect
Des logiciels de télésurveillance pour les examens inquiètent les étudiants
La détection de triche est un sujet qui intéresse beaucoup de chercheurs et qui a
fait l’objet de nombreux travaux. Plusieurs méthodes ont été proposées pour la détection de triche et chaque méthode a ses forces et ses faiblesses.
Proctorio, ProctorU, ExamSoft… Les logiciels de surveillance utilisés pour contrôler les examens se sont généralisés aux États-Unis depuis le début de la pandémie. Sur les réseaux sociaux et dans la presse américaine, des étudiants rapportent des situations de stress, des dysfonctionnements du logiciel, des exemples de fonctionnalités invasives, et des inégalités face à ces nouveaux outils numériques.
Ces logiciels, dont le but est de détecter d’éventuelles triches, peuvent entre autres : faire un scan à 360 degrés de la pièce dans laquelle se trouve l’étudiant, suivre son regard via la webcam, détecter les mouvements de sa souris, de sa bouche, un bruit dans la pièce, enregistrer des extraits vidéos et captures d’écran lorsqu’un comportement paraît suspect (si l’élève détourne son regard de l’écran plus régulièrement que d’autres élèves travaillant pour le même examen par exemple)…
Project Description
Problem Definition
sur plusieurs éléments, modules et méthodes que nous allons démontrer et développer dans ce rapport. Néanmoins, une question se pose, est-ce vraiment nécessaire de consacrer du temps et de l'énergie pour une création de telle chose? La triche est-elle vraiment néfaste pour l’éducation ou pour les environnement qui ont besoin d’un examen?
Notamment, la triche touche tous les domaines de l’activité humaine : le jeu ludique, le jeu de hasard, le sport, la religion, la politique, les affaires bien sûr, etc. Nous resterons dans ce texte dans le domaine des affaires mais la liste précédente montre les nombreuses occurrences possibles de la triche. Et si l’on reprend l’infinie galerie de portraits des parties prenantes (Pesqueux, 2006), toute relation peut donner lieu de part et d’autre à de la triche. Il suffit de penser au délit d’initié qui rompt l’équité de position entre les actionnaires. La triche dans la « pratique des affaires » est un objet caché mais important. Il est caché pour éviter de devoir reconnaître le paradoxe de la triche qui n’est pas, dans « la pratique des affaires », comme dans d’autres domaines d’ailleurs, forcément une « mauvaise » chose puisqu’elle peut en même temps être considérée comme source d’apprentissage. La triche ne peut être aussi aisément réduite à du vol ou à de la corruption (qui, par différence avec la triche, suppose un pacte entre « corrupteur » et « corrompu »). A la différence de la corruption, la triche ne pourrit ni le corrupteur ni le corrompu et elle n’est pas jugée comme telle.
De ce fait, la détection d’une tentative de triche est vraiment très importante et cruciale.
Pour notre part, nous avons développé un projet qui est munis d’un back office, front office et d’une application mobile pour que les environnements soient plus ou moins complets.
Challenges & Motivation
Nous avons eu plusieurs limites et plusieurs portes ouvertes lors de la réalisation car le monde de la triche est trop vaste alors, plus opportunité s’offre, or, malgrés les possibilités/cas importantes à ne pas éviter, il reste évident que nous n’avons pas eu beaucoup de temps ni de connaissance pour faire le travail parfaitement.
Afin d’avoir un projet bien fait et bien préparé il faut avoir minimum 12 mois de production et assez de financement pour un rendu parfait.
Real and Complete Usecases
Le projet se divise en 4 grandes parties :
- la partie capteur (application mobile)
- la partie Front Office (l’examination)
- la partie serveur (traitement des données et interaction avec toutes les autres parties)
- la partie Back Office (l’interface graphique dédié aux examinateur)
Afin d’avoir un rendu plus clair et plus précis, nous utilisons deux (02) caméras et un accéléromètre.
On place une caméra sur le front pour voir les événements et les objets qui se trouvent en face du sujet. Puis, une autre caméra qui va nous servir de yeux pour voir le sujet et ce qui se trouve derrière lui. Pour l’accéléromètre, nous pouvons avoir les données des pulsations du sujet.
Technical Description
Le projet a plusieurs parties :
1- MLIoT-Sensors:
C’est dans cette partie que tout le projet débute. C’est ici que nous trouvons l’application mobile qui va interagir avec le serveur. L’application a été développée par Java
2- MLIoT-Sink
Cette partie est dédiée pour le Front Office de l’examen et le l’application de visionnage de l’interaction avec les caméras et l’accéléromètre.
2.1- La partie Front Office (l’examination)
Pour la partie front office, nous avons utilisé de l’Angular pour le Front Office, et NodeJs pour le BackOffice.
C’est dans cette partie que l’examen se passe. C’est-à-dire, les questionnaires du test s’affichent sur la page avec des QrCodes qui ont pour but de personnaliser et de rendre unique le test, afin que les fraudes soient plus minimisées.
2.2- Application de visionnage
Après avoir fait la liaison entre le serveur et le téléphone, cette application nous permet d’avoir les vidéos et les images à travers les caméras, ainsi que les données de l’accéléromètre.
3- MLIoT-Monitor
Cette partie est dédiée à l’interface de l’examinateur. Afin qu’il puisse voir et avoir en temps réel les notifications des tentatives de fraudes ou les alertes.
L’interface a été fait à partir du JavaFx
4- LMS
La dernière est la plus grande partie, c’est le serveur. C’est ici que nous trouvons toutes les fonctionnalités du projet, c’est dans le serveur que les codes de mise en relation, de reconnaissances et d’ autres fonctionnalités nécessaires se trouvent. La plupart des méthodes sont faites avec du Python, surtout pour les parties reconnaissances. Mais, l’intégralité est faite en Java.
Hardware
Software
External Services
Pour les reconnaissance, nous avons regarder des projets pour voir les méthodes afin qu’on puisse faire les notres. Mais nous n’avons pas eu des projets qu’on a intégré directement.