2022_G1_MwenWèOu

MwenWèOu is a legendary artefact created to peep unfortunate student that only want to have a good grade.

Slides & Videos

Members

NameContribution
Mehdi BOUAFIA- Création de la page de connexion sur l'application mobile où on entre l'adresse ip, le port et le nom de l'utilisateur
- Implémentation de la relation Serveur - Client (GRPC)
- Création du fichier serveur.py qui récupère les données de l'accéléromètre et les images envoyés par l'application mobile, qui lance également à l'aide de threads une fenêtre contenant les règles de l'examen, l'adresse ip et le port avec quoi se connecter sur l'application mobile, la reconnaissance faciale, la reconnaissance vocal et pour finir qui lance le fichier accelerometer.py qui ne fonctionne actuellement pas si lancer en parallèle avec la reconnaissance vocale
- Création du fichier accelerometer.py qui prend en vidéo une fois qu'il y a un mouvement brusque (utilise ce que Louise a fait pour la reconnaissance facial). Le mouvement brusque est détecté dans le serveur.py
- Implémentation de l'accéléromètre sur l'application mobile et envoie des données au serveur
- Modification des fonctions de la caméra implémentés par Louise pour prendre des photos en continue et les envoyer au serveur
- Implémentation de la reconnaissance vocale
Louise DAUDIN- Implémentation de la caméra se situant sur la tête ;
- Implémentation de la reconnaissance faciale sur la webcam de l'ordinateur ;
+ Reconnaissance de visage avec les cascades de Haar d'openCV (faces.py) ;
+ Capture d'Image du Candidat (userphoto.py) ;
+ Entrainement du modèle (face_train.py) ;
- Implémentation des captures vidéos ;
- Ajout de la compatibilité des OS pour les fichiers ;

State of the Art

Business Aspect

12 meilleurs logiciels de surveillance pour les examens en ligne sans triche

Les logiciels de surveillance d’examen sont devenu de plus en plus populaire depuis la pandémie du COVID-19. Effectivement, en raison des conditions sanitaires, la plus part des établissements on décidé d’effectuer leur examen en distanciel. Malheureusement, en distanciel la triche devient une option beaucoup plus facile pour les étudiants et c’est pour ça que des logiciels de surveillance ont été produit.

Pour en produire un nous même il nous faut d’abord étudier la concurrence.

Il existe déjà beaucoup de logiciels de surveillance pour les examens en ligne, et parmi eux tous 12 se démarque.

  • Pearson VUE 
  • Wheebox
  • Autoprocureur
  • ProctorU
  • Mercier
  • Talview
  • MeritTrac
  • Examen
  • SpeedExam
  • Questionmark 
  • Conduct Exam
  • Eklavvya

Pearson VUE  est une compagnie de chiffre d’affaire de 318 800$ pour 2 employés sur site. La tarification varie selon les certifications, on notera 210€ pour une certification OMG (Object Management Group) et 245$ (222€) pour une certification Oracle.

Wheebox entreprise Indienne qui compte 100 employés et de chiffre d’affaire de 16 millions de dollar par an.

 

Technical Aspect

12 meilleurs logiciels de surveillance pour les examens en ligne sans triche

Caractéristiques de Mercer

  • Identification du candidat
  • Navigateur d’examen sécurisé pour éviter la triche à l’écran
  • Géolocalisation
  • Portail libre-service
  • Génération de rapports et analyses automatiques

Avantages

  • Authentification multi-facteurs des étudiants
  • S’intègre à plus de 250 systèmes compatibles LTI comme edX et Blackboard

Inconvénients : Possibilité d’ajouter de nouvelles fonctionnalités

Caractéristiques d’Eklavvya

  • Surveillance par webcam et capture d’images
  • Navigateur sécurisé
  • Chat en direct avec un utilisateur distant
  • Rapports et analyses
  • Génération de certificats pour les particuliers

Avantages

  • Fonctionne sur ordinateur de bureau, ordinateur portable, tablette, mobile
  • Protection par mot de passe pour les surveillants

Inconvénients : Manque de support en direct

Fonctionnalités de la Wheebox

  • Balayage de la zone de test à 360 degrés
  • Détection de visage, de voix et d’objets alimentée par l’IA
  • Score de proctor calculé par l’IA
  • Navigateur d’examen sécurisé pour empêcher le partage d’écran
  • Capture/marquage de la fenêtre de test

Avantages

  • Confidentialité et sécurité des données (RGPD, ISO 27001, ISO 9001, etc.)
  • Authentification des étudiants à deux facteurs

Inconvénients : Le service d’assistance à la clientèle pourrait être amélioré

Project Description

Problem Definition
Créer une application anti-triche pour des examens en ligne.
Challenges & Motivation
Utiliser diverses techniques de machine learning avec une application pour pouvoir au mieux détecter la triche dans un examen en ligne.
Real and Complete Usecases

-ACTUELLEMENT

  • Je lance l’application sur mon ordinateur, une fenêtre s’ouvre m’indiquant les règles, ainsi que l’adresse IP et le port me permettant de me connecter à l’application sur mon portable. Une autre fenêtre s’ouvre en suite et je me place bien devant la caméra pour qu’elle prenne 10 photos de moi pour la reconnaissance faciale. Une nouvelle fenêtre s’ouvre ensuite me montrant que la caméra est bien activée est que la reconnaissance faciale est en marche. Je me connecte donc à l’application portable et je place le portable sur ma tête de façons à ce que la caméra arrière voit se que je vois. Je peux alors commencer l’examen. Lors de l’examen, j’ai parlé plusieurs fois et rien ne s’est produit, j’ai donc demandé à des amis se trouvant dans une autre pièce de venir m’aider. En leur demandant la réponse à certaines questions rien ne s’est passé, je me suis dit que l’application ne marchait pas. Un de mes amis est passé sans faire exprès devant la caméra et la reconnaissance faciale a détecté un inconnu, mais aucun changement n’a eu lieu, l’application semble défectueuse. Trois jours après l’examen, mon professeur m’a convoqué, il a su que j’avais triché. Il semblerait que Mwen Ou fonctionnait bel et bien, il n’agissait pas directement, il s’agit seulement d’un outil d’aide à la décision. Lorsque j’ai demandé de l’aide pour les questions Mwen Ou l’a détecté et a fait un enregistrement vocal et lorsque mon ami est passé devant la caméra, un enregistrement vidéo s’est lancé.
  • Aujourd’hui, j’ai un examen en distanciel, ne connaissant rien, j’ai appelé un de mes amis pour le passer à ma place. Mon ami a fait la reconnaissance à ma place et a passé l’examen sans aucun souci. Trois jours après l’examen, mon professeur m’a convoqué, il a su que j’ai triché. Les images capturées au moment de la reconnaissance facile ne sont pas effacées à la fin de l’examen, mais sont conservé pour que le professeur puisse voir s’il s’agissait bien de nous.
  • Aujourd’hui, j’ai un examen en distanciel, je me connecte sans problème et je passe tranquillement mon examen. Au bout de 33 minutes, soudainement mon frère qui était censé revenir que dans 3 jours et rentré dans ma chambre et la reconnaissance faciale la détecté. Après lui avoir demandé de vite sortir, j’ai continué mon examen et à la fin de celui-ci, j’ai rapidement envoyé un mail expliquant ce qui s’était passé à mon professeur. Heureusement que Mwen Ou n’agit pas directement sur l’examen et conserve les vidéos sinon mon examen aurait pris fin et j’aurais eu un 0 ou pire encore pour quelque chose que je n’ai pas fait.

-PROCHAINEMENT (lorsque l’accéléromètre sera correctement intégré dans le code)

  • En plein milieu de l’examen, j’ai décidé de me lever et d’aller voir des amis se trouvant dans la pièce à côté. En revenant, j’ai vu qu’une autre fenêtre affichant ce que voit la caméra s’est ouvert. En me rappelant des règles indiquant qu’il ne fallait pas se déplacer, j’ai compris à ce moment-là que j’avais été surpris. Effectivement, trois jours plus tard, mon professeur m’a convoqué, une vidéo montrant que je n’étais pas à ma place a été enregistrée.

 

Technical Description

Mwen Wè Ou est un logiciel de surveillance anti-triche pour les examens se déroulant en distanciel. Le logiciel est divisé en 2 parties, la partie portable et la partie ordinateur.

Dans la partie ordinateur, nous avons plusieurs fonctionnalités toutes codées en python :

  • La reconnaissance faciale utilisant openCV, qui va, au lancement prendre 10 photos de l’utilisateur et les conserver dans un dossier pour s’entraîner et pour qu’on puisse vérifier l’identité de l’utilisateur. Puis qui va garder la caméra ouverte pour détecter si un individu autre que l’utilisateur se trouve en face de l’écran. Si un inconnu est détecté alors un enregistrement vidéo est lancé et est placé les logs. Cette fonctionnalité a été créée à l’aide de ce tutoriel :
    • Pour la reconnaissance et l’apprentissage : ici
    • Pour les captures vidéos et d’images : ici
    • Pour la compatibilité Unix/Windows : ici
    • Ainsi que la documentation d’OpenCV
  • La reconnaissance vocale utilisant speech_recognition et GoogleTranslator, qui va écouter en permanence ce que dit l’utilisateur et le traduire s’il s’agit d’une autre langue. Si un mot correspond à l’un des mots de la liste du programme alors un enregistrement est fait et est placé dans un dossier. Cette fonctionnalité a été créée à l’aide de ce tutoriel
  • (PAS ENCORE INTÉGRÉ) L’accelerometer qui utilise également OpenCV, qui va prendre en vidéo une fois que l’utilisateur fait un mouvement brusque. Le mouvement est détecté grâce à des informations envoyées par l’application mobile expliquée dans la partie portable.
  • Le serveur suivant le protocole gRPC qui utilise et implémente les fonctions générées par le proto predictor. Le serveur va lancer à l’aide de thread les différentes fonctionnalités expliquées au-dessus. C’est également dans le serveur que le mouvement brusque est détecté à l’aide d’un seuil que nous avons désigné. Il est à l’écoute des informations envoyées par le portable et les utilise. Il affiche également une fenêtre expliquant les règles du déroulement de l’examen ainsi que l’adresse IP et le port de connexion. La fenêtre a été créée à l’aide de ce tutoriel :
  • (PAS ENCORE IMPLÉMENTÉ) La reconnaissance d’objet, qui utilise les images envoyées par le portable pour détecter si un objet interdit se trouve dans la pièce avec l’utilisateur.

La partie portable a entièrement été conçue sur Android studio. Dans la partie portable, nous avons deux fonctionnalités codées en Kotlin:

  • L’accéléromètre, qui va récupérer les informations de l’accéléromètre du portable et les envoyer au serveur (se trouvant dans la partie pc), ces données vont permettre de déterminer si l’étudiant fait un mouvement brusque ou pas. Cette fonctionnalité a été créée à l’aide de ce tutoriel.
  • La capture d’image, qui va prendre constamment en photo ce que la caméra arrière du portable voit et l’envoyer au serveur. Cette fonctionnalité a été créée à l’aide de ces tutoriels :
    • https://stackoverflow.com/questions/9224056/android-bitmap-to-base64-string
    • https://www.androidbugfix.com/2022/01/android-camerax-image-capture.html
    • https://www.youtube.com/watch?v=HjXJh_vHXFs&t=1141s

Pour effectuer les transmissions au serveur, nous avons rajouté un autre proto qui a permis, à l’aide d’Android studio, de générer automatiquement les fonctions nécessaires à l’envoi. Et nous avons également créé une page de connexion en XML sur Android studio qui une fois remplie va informer à la fonction d’envoi l’adresse IP et le port du serveur entrée par l’utilisateur. Le nom de l’utilisateur est également à entrer sur cette page.

Hardware

Materials
ImageNamePart NumberPriceCountLink
Ordinateur avec webcam/Variable1🛒
Téléphone sous Android 5 minimum /Variable1🛒
Schematic

Software

External Services

Windows

Windows de préférence pour plus de simplicité, fonctionne toute fois sous Unix