FaceMark
Simplifier le suivi des présences grâce à la reconnaissance faciale, même avec une connexion instable.
4
rôles utilisateurs gérés
512
dimensions par représentation faciale
< 60 s
conservation maximale des photos
7 jours
durée de validité d'une session

Contexte
Dans de nombreux établissements, l'appel manuel prend du temps, peut entraîner des erreurs et produit peu de données exploitables. Les connexions instables compliquent également l'utilisation d'une solution dépendant entièrement du cloud. FaceMark explore une approche mobile capable d'identifier plusieurs étudiants à partir d'une photo, tout en permettant une utilisation hors ligne et un traitement encadré des données biométriques.
Mon rôle
J'ai conçu et développé l'architecture principale de FaceMark : application mobile, API, modèle de données et traitement des présences. J'ai également pris en charge la synchronisation hors ligne, la gestion de quatre rôles utilisateurs, la sécurité des sessions, les notifications et les mécanismes de protection des données biométriques.
Architecture
01
Application mobile
Gestion des séances, capture des photos et consultation des résultats, avec saisie hors ligne et chiffrement AES-256 des données sensibles.
02
API et traitements
Centralisation des utilisateurs, des séances et des présences. Les opérations longues sont exécutées en arrière-plan pour ne pas bloquer l'application.
03
Reconnaissance faciale
Transformation de chaque visage en une représentation de 512 dimensions et recherche efficace des correspondances grâce à un index HNSW.
04
Contrôle et validation
Anti-spoofing, traitement spécifique des cas de jumeaux avec un seuil de 0,90 et validation humaine lorsque le résultat reste incertain.
05
Sécurité et confidentialité
Sessions protégées par des jetons valables sept jours, gestion du consentement et suppression des photos brutes en moins de 60 secondes selon une approche zero-retention conforme au RGPD.
Flux principal
- 1
Choisir le cours
L'enseignant sélectionne un créneau dans son emploi du temps.
- 2
Capturer
Il prend une à cinq photos de la salle.
- 3
Envoyer ou mettre en file
Avec une connexion, les photos sont envoyées immédiatement. Sans connexion, elles sont chiffrées et placées dans une file locale.
- 4
Analyser
Le serveur vérifie la photo, détecte les visages et recherche les étudiants correspondants.
- 5
Valider
L'enseignant contrôle les résultats et associe manuellement les visages non reconnus.
- 6
Notifier et exporter
Une notification indique que les résultats sont prêts, puis les présences peuvent être consultées ou exportées en PDF et Excel.
Décisions et compromis
Regrouper données métier et recherche faciale
Pourquoi
Conserver les étudiants, les présences et les représentations faciales dans un même système transactionnel.
Compromis
Une solution plus simple à administrer, mais moins spécialisée qu'un moteur vectoriel indépendant.
Exécuter la reconnaissance en arrière-plan
Pourquoi
Ne pas bloquer l'application pendant les traitements et permettre leur reprise après un échec temporaire.
Compromis
Des services supplémentaires doivent être déployés et surveillés.
Concevoir le mobile pour fonctionner hors ligne
Pourquoi
Maintenir la saisie dans les zones où la connexion est absente ou instable.
Compromis
Le chiffrement local, les doublons et la reprise de synchronisation doivent être gérés.
Ne pas conserver les photos brutes
Pourquoi
Supprimer les photos en moins de 60 secondes afin de réduire l'exposition des données biométriques.
Compromis
Une photo supprimée ne peut plus être réanalysée ; la traçabilité repose sur les résultats et les journaux conservés.
Défis rencontrés
Problème
Certains visages très proches, notamment ceux de jumeaux, peuvent produire des résultats ambigus.
Solution
Un seuil spécifique de 0,90 signale les cas concernés et impose une validation humaine au lieu d'une décision automatique.
Problème
Une interruption réseau pouvait empêcher l'envoi immédiat des présences.
Solution
Une file locale chiffrée conserve temporairement les éléments et relance leur synchronisation lorsque la connexion revient.
Problème
Les notifications reçues lorsque l'application était ouverte ne conservaient pas toutes les informations nécessaires à la navigation.
Solution
Le contenu des notifications a été normalisé afin d'utiliser le même traitement lorsque l'application est ouverte ou en arrière-plan.
Fonctionnalités clés
- Reconnaissance de plusieurs visages sur une même photo
- Saisie hors ligne avec synchronisation automatique
- Gestion de quatre rôles utilisateurs
- Anti-spoofing et traitement particulier des cas de jumeaux
- Validation humaine des résultats incertains
- Notifications et suivi des traitements
- Exports des présences en PDF et Excel
Pistes d'amélioration
Les prochaines évolutions portent sur l'évaluation de la précision avec un jeu de données représentatif, les tests de charge, le suivi des erreurs et des performances, ainsi que l'expérimentation du système dans un établissement pilote.
Limites actuelles
- La reconnaissance doit encore être évaluée sur un volume représentatif d'étudiants et dans différentes conditions de prise de vue.
- Les performances et la stabilité n'ont pas encore été validées par des tests de charge à grande échelle.
- Le système reste un prototype avancé et n'a pas encore été évalué dans le cadre d'un déploiement institutionnel.