2021-M2-Babori-1

Aujourd’hui, dans le contexte de la pandémie lié à la propagation du coronavirus, de plus en plus d’examens se passent en ligne. Or, l’une des principales caractéristiques du réseau Internet est l’anonymat. Dans le cadre des examens, cet anonymat rend difficile la tâche de l’évaluation des connaissances des étudiants, chose qui remet en question la crédibilité des diplômes et des certificats délivrés suites à des examens en ligne.
Ce projet vient répondre à la problématique liée à la qualité de la surveillance des examens qui se déroulent à distance. Le but étant d’apporter une aide aux surveillants pour minimiser la probabilité de triche pendant les examens. Cela se fera à travers les méthodes de traitement d’images et computer vision.
Notre projet suit le déroulement suivant :
Dans un premier temps, nous nous sommes intéressés à la détection de l’identité de l’étudiant et son numéro ENT à partir d’une photo que l’on fournit au code.
Ensuite, nous avons adapté le code de façon à ce qu’il puisse reconnaître l’identité de l’étudiant à partir d’une vidéo lancée par la caméra de son pc portable. L’identification de l’étudiant se fait en temps réel et sert à vérifier s’il s’agit bel et bien de l’étudiant concerné par l’examen ou si c’est une autre personne qui vient passer l’examen à sa place
Nous nous sommes penchés par la suite sur les différentes positions de la tête de l’étudiant, cette partie de notre outil permettra de détecter le mouvement de tête de l’étudiant. Le surveillant physique sera averti au cas où l’étudiant serait en train de regarder à gauche, à droite, en haut ou en bas.
Ensuite, il nous est apparu utile d’ajouter une fonctionnalité qui fera le calcul de la distance entre les lèvres de l’étudiant, ceci permettre de savoir si l’étudiant serait en train de parler. Si c’est ce la cas, l’outil va qualifier ce mouvement comme une tentative de fraude et le surveillant en sera avisé.
Enfin, nous avons pensé à rajouter une fonctionnalité qui servirait à détecter la présence d’objets suspects dans l’environnement de l'étudiants, notamment les écouteurs.

Slides & Videos

Members

NameContribution
BABORI Yasmine1.Generale :

S’assurer que l’équipe est pleinement opérationnelle et productive.

Établir une collaboration étroite entre l’ensemble des rôles et fonctions.

Supprimer les obstacles rencontrés par l’équipe de développement.

Protéger l’équipe des interférences extérieures.

Assurer le bon suivi du processus.



Séance 1: 11/02/2021

Activité 1 : Reconnaissance faciale

Activité 2: Identification de l'étudiant avec son numéro ENT en photo + temps réel

Activité 3: Head Pose Estimation avec un repère oXYZ

Activité 4: Détection des émotions

Activité5: Commenter les codes

Activité6: Rédaction du rapport

Séance 2: 17/02/2021

Activité1:Head Pose Estimation avec un repère oXYZ :

Résoudre les problèmes de codes/ télécharger les bonnes librairies + versions/ essayer sur plusieurs environnements Jupyter Notebook/ Google colab/ Spyder

Activité2: Commenter les codes

Activité3: Rédaction du rapport

Séance 3: 18/02/2021

Activité 1: Pitch sur la vidéo de présentation du produit

Activité 2: Head Pose Estimation avec un repère oXYZ

Activité 3: Speech recognition pour l'intégrer avec la partie de détection de la bouche:

Enregistrer la distance entre les lèvres au début. Signaler si le candidat ouvre la bouche.

Flouter l'environnement sur la vidéo et laisser uniquement l'étudiant
CHFADI Sara 1.Generale:

Répond aux questions soulevées par l’équipe de développement en cours de Sprint et complète au besoin les User Stories associées.

Vérifie en cours de Sprint la bonne couverture du besoin des fonctionnalités terminées en collaboration avec l’équipe de développement.

Rédige les plans de tests.

Participe à la réunion de revue de sprint au cours de laquelle, elle aide le Product Owner à accepter ou rejeter les fonctionnalités présentées.

Teste avant mise en production la conformité du produit dans son ensemble.



Séance 1: 11/02/2021

activité 1 : Reconnaissance faciale – détection de visage sur une image puis sur une vidéo en temps réel

activité 2: Identification de l'étudiant avec son numéro ENT en photo en temps réel - deux différents codes ont été essayés à cette étape, nous avons opté pour le code basé sur face_recognition

activité 3: Position du visage de l’étudiant - travailler sur les ongles de rotations du visage et détecter le mouvement à partir d’une vidéo en temps réel – adapter le code et résoudre les différentes erreurs de compilation

activité 4: Détection des émotions – j’ai consulté des articles concernant la détections des émotions pour assimiler la problématique et pouvoir travailler dessus la prochaine séance du Hackathon

Séance 2: 17/02/2021

activité 1 : Position du visage de l’étudiant - travailler sur les ongles de rotations du visage sur une vidéo – un deuxième code a été testé lors de la séance du 17 février.

activité 2: Détection des émotions – tester et adapter un code de détection d’émotions (happy, sad or neutral)

Séance 3: 18/02/2021

Activité 1 : revenir sur la partie du code relative à la détection de mouvement de tête

Activité 2 : discuter de la présentation commerciale que l’on va faire de notre système de surveillance d’examen à distance

Activité 3 : avancer sur l’état de l’art (les aspects techniques et commerciaux des systèmes de surveillance disponible actuellement)
DJOUADI MassinissaMon rôle dans ce projet est d'abord Product Owner et mes taches sont :

I. Générale :

Définir les fonctionnalités du projet.

Décider des dates de taches et de leur contenu.

Être responsable de la rentabilité du projet .

Prioriser les fonctionnalités en fonction de la valeur métier.

Ajuster les fonctionnalités et leur priorité avant chaque planification d’itération.

Accepter ou rejeter les fonctionnalités réalisées.

Animer la réunion de planification de sprint.



II. Technique : Etant fait partie de l'équipe développement mes taches sont :

1.Séance du 11/02: Journée du hackathon (je l'ai intitulé journée E-sport):

Réalisation des 4 fonctionnalités de base pour le visage :

Reconnaissance d’un visage et de ses mouvements (à gauche, à droite, en haut, en bas

Detection de tentative de fraude lorsque'il parle

Détection des écouteurs et autres objets similaires (Airpods…)

Présenter au Prof les résultats de notre travail sous forme d'un rapport détaillés

2.Séance du 17/02 :

J'ai pu réaliser en une matinée l'intégration de la caméra de mon téléphone ou on voit tout ce qui se passe sur ordinateur du candidat et détection de tentative de fraude si y a une personne à côté c'est l'idée apportée .


3.Séance du 18/02:
Une journée ouverte aux idées j'ai essaie de mon coté de rajouter un truc fun à ce projet comme par exemple détecter le sentiment du candidat (stresser, cool )

State of the Art

Business Aspect

ExaMonitor Aspect Business

Pendant l’épidémie de la covid-19, plusieurs universités ont commencé à envisager de faire passer les partiels et les examens en télésurveillance.

Il existe sur le marché des entreprises qui proposent des solutions informatiques permettant de surveiller des examens passés en distanciel. E-Exam, un outil développé par l’entreprise TestWe, est une solution conçue pour répondre à la problématique liée à la surveillance du déroulement des examens à distance

Dans le cas des examens passés en présentiel, les étudiants sont regroupés dans une salle et sont accompagnés d’un surveillant qui, d’abord va s’assurer de l’identité de chacune des personnes présentes, pour après les regarder et surveiller leurs comportements pendant l’examen.

L’outil e-Exam suit ce même principe, c’est-à-dire, que dans un premier temps, l’étudiant qui va passer son examen de son domicile, va se connecter pour rejoindre sa session d’évaluation, et comme dans un examen en présentiel, l’outil va procéder à une vérification d’identité en demandant à l’étudiant de prendre en photo sa carte d’identité et de se prendre en photo lui-même pour s’assurer que c’est la bonne personne qui est en train de passer l’examen. Par la suite, la webcam de l’ordinateur restera allumée tout au long de l’examen pour prendre régulièrement des photos de l’étudiant et s’assurer que l’étudiant est toujours présent.

En plus de la société TestWe, on retrouve Managexam et ProctorExam, qui, elles aussi, sont des plateformes qui proposent des solutions de télésurveillance. E

En plus de la vérification de l’identité et la surveillance du comportement et du mouvement des étudiants, les solutions ProctorExam et Mangexam procèdent à une méthode appelée « Proctoring ». Cette fonctionnalité consiste à balayer l’environnement tout entier de l’étudiant, en d’autres termes, l’étudiant va faire un tour de 360° de la salle où il va passer l’examen et va montrer son bureau et l’ordinateur où il va passer l’examen. Ces solutions proposées permettront de surveiller à la fois l’étudiant et son écran d’ordinateur. 

 

Quand l’outil va repérer un étudiant qui bouge anormalement, le système va afficher une sorte de drapeaux de couleurs différentes, en fonction de la gravité de la situation, pour aviser le surveillant que l’étudiant a eu un comportement anormal.

Les sociétés de télésurveillance proposent des solutions en fonction du budget des établissement, on retrouve un pack « examen classique » qui est sous forme d’examen sans surveillance en direct avec la possibilité de contrôle par captures prises par la caméra. Cette formule comprend un nombre de prises de photos aléatoires au choix, une identification des candidats à travers leurs pièces d’identité, la détection d’analogie entre les copies, les indicateurs d’anomalies et une option de chat pour assister les candidats en cas de problèmes techniques.

Il existe une autre formule qui est « exam live » et qui offre la possibilité d’une surveillance individuelle en temps réel de chacun de vos candidats.  Cette offre comprend une vérification de l’identité de l’étudiant et de son environnement d’examen en plus d’un surveillant physique qui procédera aux vérifications définies par les écoles et les universités 

Les associations actives dans le domaine de la défense des droits fondamentaux dénonce cette tendance de télésurveillance et l’accuse d’être invasive et illégale. Mais il convient de souligner que la surveillance proposée par les entreprises telles que ManagExm et TestWe sont basées sur du volontariat, c’est-à-dire que l’étudiant a le choix d’accepter ou de refuser de se faire filmer. Le refus peut aussi être dû à une cause financière si les étudiants n’ont pas les moyens pour participer à cette surveillance : mauvaise qualité du réseau internet, manque d’équipements pour filmer. Il est important de souligner aussi que ces solutions ne gardent pas les photos et vidéos des étudiants, passé un certain nombre de semaines, toutes les données sont supprimées automatiquement.

Business plan:

Pour assurer la pérennité de notre entreprise, nous avons effectué un business plan pour garantir un portefeuille de produits équilibré. Nous avons utilisé la matrice BCG pour positionner notre entreprise ainsi que nos concurrents en fonction de deux critères : le taux de croissance du marché et la part de marché relative de chacune de ces activités.

Cela permet d’étudier et gérer l’équilibre du portefeuille d’activités en choisissant les actions à mener pour assurer le développement de la société.

 

  • Les vaches à lait : leader sur un marché mature
  • Les vedettes : leader sur un marché en croissance
  • Les dilemmes : challenger sur un marché en croissance
  • Les poids morts : challenger sur un marché en déclin

Nous allons donc nous positionner dans un premier temps en haut à gauche de la matrice, en tant que Dilemme, notre part de marché relative est faible, en effet, notre seul client pour commencer sera l’université Paris XII, mais la croissance du marché est forte. On peut ainsi devenir des vedettes en acquérant une bonne position concurrentielle.

Les stratégies mises en place pour faire évoluer notre domaine d’activités stratégiques consiste à :

  • Investir massivement afin de se transformer en vedettes.
  • Segmenter et redéfinir les domaines d’activités afin d’adresser les besoins plus précisément et devenir leader : corriger les examens, autonomie à 100%, cibler une autre clientèle.
Technical Aspect

ExaMonitor Technical aspect

La télésurveillance est un domaine qui regroupe plusieurs technicités et plusieurs aspects de surveillance. Plus le nombre de techniques intelligentes utilisées dans le modèle de télésurveillance est important, plus la solution proposée s’approche de la réalité de la surveillance physique pratiqué par les enseignants et par les cadres pédagogiques lors des examens en présentiels

Les outils existants de rapprochent de la surveillance d’une salle d’examen, c’est une intelligence artificielle inspirée du comportement humain d’un surveillant physique. 

Les techniques utilisées dans le cadre d’une télésurveillance sont nombreuses, nous pouvons en citer quelques-unes :

  • La reconnaissance faciale à partir des méthodes de traitement des images
  • La reconnaissance des objets 
  • Les méthodes de calcul de distance permettant la détection des mouvements présents dans la vidéo
  • L’identification d’humeurs, de sentiments et d’émotions grâce aux expressions faciales
  • La détection des différentes voix présentes dans une salle sous surveillance
  • L’identification d’humeurs, de sentiments et d’émotions à travers la façon dont la souris et le clavier sont manipulés

Project Description

Problem Definition
Il existe des plateformes d’examen en ligne qui, pour assurer le déroulement des examens dans des conditions ne favorisant pas la triche, se basent sur la surveillance de l’écran de l’étudiant, sur la façon avec laquelle la personne fait bouger la souris ou sur la manière de taper sur le clavier. Ces méthodes sont certes intéressantes, mais elles ne sont pas suffisantes dans le sens où elles ne prennent pas en considération d’autres paramètres de la situation d’examen.
Le paramètre d’ouverture de nouveaux onglets ne suffit pas pour juger si la personne est en train de frauder. En effet, la personne pourrait être accompagnée d’un ami pour l’aider dans la résolution de son épreuve, elle pourra demander à une autre personne de passer l’examen à sa place etc.
Dans ce type de plateforme, en cas de détection d’ouverture de nouveaux onglets, l’étudiant est directement pénalisé. Dans certains cas, il peut s’agir d’une erreur du système, comme dans le cas des notifications d’ordinateurs (batterie faible, rapport d’antivirus, réception de notification des boîtes mails…) qui sont considérées comme un nouvel onglet. Nous jugeons injuste de faire un retrait de point sur le score de l’étudiant en se basant uniquement sur ce type d’alerte relatif à la détection d’ouverture ou de changements d’onglets.
Pour pallier à ces deux problèmes qui sont :
Prendre en considération l’environnement entier de l’étudiant
Accorder le bénéfice du doute avant de pénaliser le candidat qui passe l’examen
Nous avons pensé à faire un outil de télésurveillance où nous allons inclure un système d’alerte qui se contente d’aviser le surveillant physique qui, lui, va procéder à une surveillance humaine pour vérifier s’il s’agit d’une réelle tentative de fraude ou s’il s’agit plutôt d’une fausse alerte. Notre système de surveillance n’aura aucun impact sur la note attribuée à l’étudiant.


Notre projet va prendre en considération les aspects de surveillance suivants :
Vérifier l’identité de l’étudiant
Surveiller les mouvements de l’étudiants en temps réel à partir de la caméra de son ordinateur (tête tournée à gauche, à droit, en haut ou en bas)
Vérifier la présence d’une personne autre que l’étudiant
Vérifier le mouvement de bouche de l’étudiant
Vérifier la présence d’objets suspects (les écouteurs)
Aviser le surveillant physique au cas où une tentative de fraude est détectée
Challenges & Motivation
Ce Hackathon s’intègre dans un projet global dans le cadre de la formation ML-Iot, il a pour but de mettre en place un système de télésurveillance, il s’agit donc d'entraîner les modèles d’apprentissage profond afin de surveiller le comportement de l’étudiant pour venir annoter une vidéo et lever des drapeaux au bon moment pour alléger l’attention du surveillant. Et permettre ainsi de :
Délivrer des Diplômes fiables et crédibles
Rendre les examens à domicile accessibles pour tous
Apporter de l’aide aux surveillants
Real and Complete Usecases
  • Connexion

L’étudiant se connecte

  • Identification

Prendre une photo de la carte d’identité et sa carte d’étudiant

  • Autorisation

L’étudient peut commencer l’examen

  • Surveillance

Surveiller l’étudiant en temps réel 

  • Communication 

L’étudiant peut contacter l’examinateur par messages

  • Protection

Les données seront détruite à la fin de l’examen

Technical Description
  • Reconnaissance faciale de l’étudiant avec son numéro ENT

Le modèle de base est le suivant : nous avons pris plusieurs photos des membres de nos groupe, nous avons organisés ces photos dans un dépôt pour qu’elles soient utilisables par un algorithme d’apprentissage        

  1. photo

2. Video en temps réel

sans lunettes:

avec des lunettes:

Même si le candidat couvre sa bouche, le système le reconnaît. On peut donc garder les masques dans le besoin et le système arrivera à identifier la personne.

La personne est reconnue avec son masque:

La personne reconnue avec masque et lunettes:

Comme affiché dans l’image ci-dessous, l’outil arrive à détecter la présence de plusieurs personnes à la fois. S’il s’agit d’un étudiant, le système va afficher une étiquette avec son nom, son prénom et son numéro d’étudiant.

 

La phase de test étant validée, nous l’avons validé également avec des visages qui n’apparaissent pas dans notre, en voilà un exemple : 

Le système affiche l’étiquette Yasmine BABORI pour l’étudiante dont la photo existe dans la base de données, par contre, pour l’acteur, l’outil affiche UNKNOWN ».

  • Reconnaissance d’un visage et de ses mouvements (à gauche, à droite, en haut, en bas)

Nous avons défini, comme demandé, les classes à apprendre (par exemple : visage de face, tourné à gauche, à droite, vers le haut, vers le bas, absent) nous avons appris ces classes à partir de toutes les photos des membres de notre groupe.

Nous avons mis quelques photos, mais une photo.gif qui illustre mieux le cas de la triche 

   

  • Vérifier le mouvement de bouche de l’étudiant

Dans cette fonctionnalité, nous avons pris en considération le fait qu’un étudiant pourrait être en train de tricher en parlant avec la personne se trouvant à côté de lui

 

  • Détection des écouteurs et autres objets similaires (Airpods…) 

Détection des écouteurs et autres objets similaires (Airpods…) est une fonctionnalité que l’on a rajoutée en plus 


  

  • Conclusion 

La solution proposée par notre groupe s’inscrit dans le cadre d’une télésurveillance assistée par un surveillant physique, le but étant d’aider la personne chargée de surveiller les élèves qui passent leurs examens en ligne à faire leur travail avec un minimum d’effort. 

Cette aide se traduit par la détection de possibilité de triche à travers les fonctionnalités de surveillance intelligente développées grâce aux techniques de traitement d’image. 

Une fois cette détection faite, le système va envoyer un message d’alerte au surveillant pour porter son attention sur le ou les étudiants qui seraient probablement en train de tricher. En effet, il serait plus difficile pour un enseignant de vérifier et inspecter l’environnement de chacun des étudiants se trouvant sous sa responsabilité, la tâche serait difficile voire désagréable. Cet outil va alléger l’attention du surveillant et lui permettra de surveiller un grand nombre d’étudiants sans rester figé devant son écran à balayer toutes les vidéos à plusieurs reprises.

Il est possible d’améliorer les fonctionnalités de cette solution proposée par notre groupe en ajoutant

Une option pour flouter l’environnement de l’étudiant dans le cadre du respect de la vie privée

Une option pour calculer le nombre de mouvements de tête par minute et préciser un certain seuil à partir duquel le mouvement serait qualifié d’anormal

Une option qui permet de calculer la durée d’un mouvement de tête et donner un nombre de secondes limite qui, une fois dépassé, le surveillant sera alerté que l’étudiant a passé tel nombre de secondes à regarder dans une direction autre que son ordinateur

Une option qui permet de vérifier si le mouvement de bouche est normal (l’étudiant serait en train de bailler par exemple) ou s’il s’agit d’une tentative de fraude avec la parole. L’idéal serait d’activer le micro de l’ordinateur quand un mouvement de la bouche est repéré dans le vidéo ; si l’outil détecte une ou des voix dans la vidéo le surveillant sera alerté, le cas échéant le mouvement de bouche sera considéré normal.

BABORI Yasmine:

Ce Hackathon a été pour moi une expérience très enrichissante. J’ai beaucoup appris du point de vue organisation en effet, ces missions m’ont permis de travailler, coopérer et interagir en méthode agile tout en apprenant à utiliser les outils de la gestion de projet. J’ai en plus amélioré mes qualités de communication et d’explications techniques à travers toutes les interactions que j’ai pu avoir lors des réunions de suivi ou de diverses conversations techniques avec les professeurs ainsi que les autres groupes. Ces éléments seront des atouts dans mon futur poste d’ingénieur.

D’un point de vue technique, ce projet m’a permis de mettre en preuve mes connaissances théoriques en traitements d’images et computer vision d’une part et de me familiariser avec les différentes librairies de Python comparées entre elles, avec une première prise en main de GitHub.

La première difficulté pour moi a été l’organisation et la gestion du temps, La tâche de débugger les différents codes utilisant des modèles pré-entraînés, les adapter à la bonne version des librairies et les regrouper dans un seul main code était un réel challenge pour moi.

De manière globale je suis pleinement satisfaite de ce projet, j’ai pu mettre en œuvre mon implication, mon sérieux et mon dynamisme pour mener à bien mes objectifs principaux. Je suis reconnaissante de la confiance et de l’autonomie qui nous ont été accordées par le professeur.

CHFADI Sara:

Ce projet m’a permis de mettre en exergue les connaissances que j’ai pu acquérir lors des cours relatifs au langage python qu’on a suivis lors du premier trimestre. Ce hackathon a aussi été une occasion pour moi de découvrir la problématique de la reconnaissance faciale, j’ai ainsi vu plusieurs tutoriels dans ce sens et cela m’a permis de me familiariser avec les différentes bibliothèques disponibles sur python et de comprendre le fonctionnement des systèmes de reconnaissance faciale basée sur le computer vision. 

En ce qui concerne les difficultés, j’ai rencontré deux principaux problèmes dans l’environnement colab : le premier qui est le milieu d’exécution ; j’avais des problèmes de compilation que j’ai pu résoudre en activant l’option GPU et puis le deuxième bug, qui m’a pris énormément de temps, a été de connecter la caméra de mon ordinateur sur l’environnement colab.

Au niveau organisationnel, nous avons dès le départ opté pour la méthode agile et pour cela nous avons utilisé l’outil Trello. Cette méthode nous a été d’une grande utilité en termes d’efficacité et d’efficience. En effet, nous avons fait en sorte de répartir les tâches et de responsabiliser chaque membre du groupe pour un maximum d’efficacité dans la réalisation des différentes étapes du projet.

 

Hardware

Materials
ImageNamePart NumberPriceCountLink
Schematic

Software

External Services