Académique Documents
Professionnel Documents
Culture Documents
Rapport de
PROJET DE FIN D’ETUDES
En vue de l’obtention de : Licence Appliquée en Systèmes
Embarqués Et Mobiles
Elaboré par :
Houssine ben arouss
&
Baha eddine dridi
Encadrés par :
Mr SAADAOUI Abdelkader (ISET)
Mr SAADA Houssem (OACA)
À nos chers parents nous voulions prendre un moment pour vous remercier du fond du cœur pour
votre soutien inébranlable tout au long de notre projet de fin d'études. Votre soutien indéfectible,
vos encouragements constants et votre confiance en nous ont été d'une valeur inestimable.
Nous voulons exprimer notre gratitude pour votre amour, votre patience et votre compréhension
pendant les moments stressants et exigeants de notre rapport de projet. Votre soutien indéfectible
nous a donné la force de persévérer et de donner le meilleur de nous-mêmes.
Nous dédions ce travail à tous ceux qui ont cru en nous et nous à donner un mot d’espoir et une
main de soutien.
Votre présence, vos mots d'encouragement et votre motivation ont été une véritable source
d'inspiration pour nous. Vous avez cru en nous quand nous doutions de nous-mêmes, vous nous
avez poussés à donner le meilleur de nous-mêmes et vous nous avez soutenus à chaque étape du
chemin.
De tout cœur, nous vous dédions notre rapport de projet de fin d'études en signe de reconnaissance
et de gratitude pour tout ce que vous avez fait pour nous. Merci encore pour votre encouragement
continu et votre amour inconditionnel.
Baha-Houssine
1
Remerciements
Au terme de notre projet de fin d'études, nous tenons à exprimer notre respect et nos sincères
remerciements à Monsieur SAADA Houssem, Chef de service chez office de l'aviation civile et
des aéroports (OACA) en Tunisie, pour son suivi, son soutien, ses précieux conseils et sa
disponibilité tout au long de notre stage.
Nous souhaitons également exprimer notre gratitude à notre cher professeur et encadrant,
Monsieur SAADAOUI Abdelkader, de l'Institut Supérieur des Etudes Technologiques de Radès,
pour son encadrement et son soutien constant durant toute la période du stage.
Nous n'oublions pas de remercier tous les enseignants et le personnel de l'Institut Supérieur des
Etudes Technologiques de Rades, notamment nos enseignants du département Technologies de
l’Informatique , pour leurs aide et leurs précieux conseils.
Nous tenons également à adresser notre reconnaissance à tous ceux qui nous ont apporté leur
soutien pendant cette période afin de nous permettre de réaliser notre projet dans des conditions
favorables.
Enfin, nous sommes pleinement conscients de l'honneur que les membres du jury nous ont fait en
acceptant d'examiner notre travail, et nous leur exprimons notre profonde gratitude.
Nos remerciements vont à toutes les personnes qui ont contribué de près ou de loin à la réussite de
ce projet de stage. Votre soutien et vos encouragements ont été essentiels tout au long de ce
parcours. Merci infiniment pour votre précieuse aide.
2
Table des matières
Introduction générale................................................................................................................................. 10
CHAPITRE 1 : ÉTUDE PRÉLIMINAIRE ....................................................................................................... 11
I. Introduction ................................................................................................................................ 12
II. Présentation de l’organisme d’accueil ................................................................................... 12
1. Les missions de l’OACA ........................................................................................................... 12
1.1 Sur le plan de l’aviation civile ......................................................................................... 12
1.2 Sur le plan de l’exploitation et du développement des aéroports....................................... 13
1.3 Sur le plan commercial ......................................................................................................... 13
1.4 Sur le plan des études et de l’environnement ..................................................................... 13
2. L’organigramme de l’OACA .................................................................................................... 14
III. Présentation du projet ........................................................................................................... 14
1. Objectifs et définition du projet ............................................................................................. 15
2. Enveloppe budgétaire ............................................................................................................ 16
3. Délais ...................................................................................................................................... 16
4. Planning du projet .................................................................................................................. 16
IV. La Reconnaissance Faciale ...................................................................................................... 17
1. Introduction ............................................................................................................................ 17
2. Les techniques de la reconnaissance faciale .......................................................................... 17
2.1 Les approches classiques ................................................................................................ 18
A. Méthodes globales : ....................................................................................................... 19
B. Méthodes locales ........................................................................................................... 20
C. Méthodes hybrides......................................................................................................... 22
2.2 Les approches utilisant l'intelligence artificielle................................................................... 22
2.3 Les quatre intelligences artificielles de la reconnaissance faciale ....................................... 22
A. Détection du visage ........................................................................................................ 23
B. Découpage et déformation ............................................................................................ 23
C. Analyse de visage ........................................................................................................... 24
D. La Reconnaissance Faciale .............................................................................................. 25
3. Reconnaissance faciale dans Raspberry Pi ............................................................................. 25
V. Conclusion .................................................................................................................................. 26
CHAPITRE 2 : ÉTUDE THÉORIQUE ........................................................................................................... 27
I. Introduction ................................................................................................................................ 28
II. Internet des Objet (IOT) ......................................................................................................... 28
3
III. Matériels utilisés .................................................................................................................... 29
1. Etude de la carte Raspberry pi3 ............................................................................................. 29
1.1 Origine du nom « Raspberry Pi 3 » ....................................................................................... 29
1.2 Lancement de la Raspberry Pi .............................................................................................. 30
1.3 Equipement essentiel ........................................................................................................... 30
1.4 Equipement divers................................................................................................................ 30
1.5 Tour d’horizon du Raspberry Pi 3 ......................................................................................... 31
1.6 Les spécifications Entrées / Sorties ...................................................................................... 31
1.7 Les Ports GPIO ...................................................................................................................... 32
1.8 Les différentes utilisations du Raspberry Pi 3 ...................................................................... 32
1.9 Les avantages et les inconvénients de Raspberry Pi 3 ......................................................... 34
2. Camera Raspberry .................................................................................................................. 34
3. Module de relais ..................................................................................................................... 35
4. Écran LCD ................................................................................................................................ 36
5. Serrure électrique................................................................................................................... 37
6. Configuration de la carte Raspberry Pi 3 en mode graphiques .............................................. 37
6.1 Matériels nécessaires ........................................................................................................... 37
6.2 Réhabilitation de la carte SD ................................................................................................ 38
6.3 Installer Raspberry Pi Imager ............................................................................................... 39
7. Configuration Wi-Fi de la carte Raspberry Pi ......................................................................... 42
8. VNC Viewer ............................................................................................................................. 42
9. IDE Raspberry Pi 3 .................................................................................................................. 43
IV. Conclusion .............................................................................................................................. 44
CHAPITRE 3 : SPÉCIFICATIONS ................................................................................................................ 45
I. Introduction ................................................................................................................................ 46
II. Spécification des besoins ........................................................................................................... 46
1. Description fonctionnelle des besoins ................................................................................... 46
2. Description non fonctionnelle des besoins ............................................................................ 47
III. Conception ............................................................................................................................. 48
1. Langage UML .......................................................................................................................... 48
2. Identification des acteurs et des cas d’utilisation .................................................................. 49
a. Diagramme de cas d’utilisation .................................................................................. 49
b. Diagramme de séquence ............................................................................................ 51
IV. L’architecture du système ...................................................................................................... 63
V. Conclusion .................................................................................................................................. 63
CHAPITRE 4 : RÉALISATION..................................................................................................................... 64
4
I. Introduction ................................................................................................................................ 65
II. Infrastructure et outils de développement ................................................................................ 65
1. L’environnement de développement ..................................................................................... 65
2. Les langages utilisés................................................................................................................ 66
3. Environnement de gestion du dépôt de données .................................................................. 67
4. Les bibliothèques utilisées...................................................................................................... 68
5. Plate-forme et section mobile ................................................................................................ 71
5.1 Partie mobile .................................................................................................................. 71
5.2 Partie web....................................................................................................................... 78
5
Table des figures
Figure 1: Logo OACA................................................................................................................................ 12
Figure 2: Organigramme de l'OACA ......................................................................................................... 14
Figure 3: Planning du projet ....................................................................................................................... 16
Figure 4: Les techniques de la reconnaissance faciale ............................................................................... 18
Figure 5: Méthodes locales......................................................................................................................... 20
Figure 6: les 4 IA de la reconnaissance faciale .......................................................................................... 22
Figure 7: Découpage et déformation .......................................................................................................... 24
Figure 8: Analyse de visage ....................................................................................................................... 25
Figure 9: Écosystème de l'IoT .................................................................................................................... 28
Figure 10: Raspberry Pi 3 ........................................................................................................................... 29
Figure 11: Les parties d'un Raspberry pi 3 ................................................................................................. 31
Figure 12: Les ports GPIO ......................................................................................................................... 32
Figure 13: Caméra Raspberry..................................................................................................................... 35
Figure 14: Relais ........................................................................................................................................ 35
Figure 15: Écran LCD ................................................................................................................................ 36
Figure 16: Serrure électrique ...................................................................................................................... 37
Figure 17: Formatter carte sd 1 .................................................................................................................. 38
Figure 18: Formatter carte sd 2 .................................................................................................................. 38
Figure 19: Installation du Raspberry Pi Imager.......................................................................................... 39
Figure 20: Choix du système ...................................................................................................................... 40
Figure 21: Sélection de carte sd.................................................................................................................. 40
Figure 22: Écriture des données ................................................................................................................. 41
Figure 23: Lancement d'écriture ................................................................................................................. 41
Figure 24: Wi-Fi ......................................................................................................................................... 42
Figure 25: VNC Viewer ............................................................................................................................. 42
Figure 26: IDE Raspberry Pi 3 ................................................................................................................... 43
Figure 27: Fenêtre d'IDE ............................................................................................................................ 43
Figure 28: Cas d'utilisation admin .............................................................................................................. 50
Figure 29: Cas d'utilisation utilisateur ........................................................................................................ 51
Figure 30: Interface Authentification admin ............................................................................................. 52
Figure 31: Interface Authentification utilisateur ........................................................................................ 53
Figure 32: Interface Inscription Admin ...................................................................................................... 54
Figure 33: Interface Inscription Utilisateur ................................................................................................ 55
Figure 34: Interface Historique d’accès utilisateur .................................................................................... 56
Figure 35: Interface utilisateurs autorisés (Admin) .................................................................................... 57
Figure 36: Interface Ajouter un nouvel utilisateur ..................................................................................... 58
Figure 37: Interface Autorisations/Blocages .............................................................................................. 59
Figure 38: Interface Historique d'accès (Admin) ....................................................................................... 60
Figure 39: Interface Historique d'accès des inconnus ................................................................................ 61
Figure 40: Interface liste des utilisateurs .................................................................................................... 62
Figure 41: Architecture du système............................................................................................................ 63
Figure 42: PhpMyAdmin............................................................................................................................ 67
Figure 43: XAMPP..................................................................................................................................... 68
Figure 44: Bibliothèque GPIO ................................................................................................................... 68
Figure 45: Bibliothèque OpenCV............................................................................................................... 69
Figure 46: Bibliothèque face_recognition .................................................................................................. 70
6
Figure 47: Page Welcome .......................................................................................................................... 71
Figure 48: Page login admin ...................................................................................................................... 72
Figure 49: Page inscription admin.............................................................................................................. 72
Figure 50: Page login utilisateur ............................................................................................................. 73
Figure 51: Page inscription utilisateur ....................................................................................................... 73
Figure 52: Page historique d'accès (utilisateur) .......................................................................................... 73
Figure 53: Tableau de bord ........................................................................................................................ 74
Figure 54: Page utilisateurs autorisés ......................................................................................................... 74
Figure 55: Page ajouter nouvel utilisateur .................................................................................................. 75
Figure 56: Page utilisateurs....................................................................................................................... 75
Figure 57: Page autorisations ..................................................................................................................... 76
Figure 58: Page historique d'accès (admin) ................................................................................................ 76
Figure 59: Voir les informations ................................................................................................................ 77
Figure 60: Page historique d'accès des inconnus ........................................................................................ 77
Figure 61: Interface login (web) ................................................................................................................. 78
Figure 62: Interface inscription (web) ........................................................................................................ 78
Figure 63: Interface utilisateurs autorisés(web) ......................................................................................... 79
Figure 64: Interface ajouter nouvel utilisateurs(web)................................................................................. 79
Figure 65: Interface admines ...................................................................................................................... 80
Figure 66: Interface utilisateurs (web) ....................................................................................................... 80
Figure 67: Interface autorisations/blocages (web)...................................................................................... 81
Figure 68: Interface historique d'accès (web) ............................................................................................. 81
Figure 69: Interface voir les informations (web) ........................................................................................ 82
Figure 70: Historique d'accès Baha ............................................................................................................ 82
Figure 71: Interface historique accès des inconnus(web) ........................................................................... 83
7
Liste des tableaux
Tableau 1: Budget ...................................................................................................................................... 16
Tableau 2: Reconnaissance faciale............................................................................................................ 17
Tableau 3: Les méthodes locales............................................................................................................... 21
Tableau 4: Avantages/inconvénients......................................................................................................... 34
Tableau 5: Les acteurs du projet ............................................................................................................... 49
Tableau 6: Administrateur ........................................................................................................................ 50
Tableau 7: Utilisateur ................................................................................................................................ 51
Tableau 8: Diagramme de séquence authentification admin .................................................................... 52
Tableau 9: Diagramme de séquence authentification utilisateur .............................................................. 53
Tableau 10: Diagramme de séquence inscription admin .......................................................................... 54
Tableau 11: Diagramme de séquence inscription utilisateur .................................................................... 55
Tableau 12: Diagramme de séquence d'historique d'accès (utilisateur) .................................................... 56
Tableau 13: Diagramme de séquence consulter les utilisateurs ................................................................ 57
Tableau 14: Diagramme de séquence d'ajouter un nouvel utilisateur ....................................................... 58
Tableau 15: Diagramme de séquence d'autorisations/blocages ................................................................ 59
Tableau 16: Diagramme de séquence de consulter l'historique d'accès (admin) ...................................... 60
Tableau 17: Diagramme de séquence d'historique d'accès des inconnus .................................................. 61
Tableau 18: Diagramme de séquence de consulter la liste des utilisateurs ............................................... 62
Tableau 19: les logiciels utilisés ............................................................................................................... 65
Tableau 20: Les langages de programmation............................................................................................ 66
8
9
INTRODUCTION GENERALE
Introduction générale
Les systèmes de reconnaissance faciale sont devenus une méthode couramment utilisée pour
l'identification humaine en raison de leur capacité à mesurer les points du visage et à identifier
les individus de manière discrète. Ils trouvent de nombreuses applications dans la surveillance
de maisons, de lieux de travail et de campus, notamment pour assurer des fonctions de contrôle,
de sécurité et de surveillance. Cependant, les systèmes de reconnaissance faciale existants
reposent souvent sur des points clés et des repères faciaux ou des images faciales pour la
reconnaissance, ce qui peut poser des défis en termes de fiabilité et d'efficacité.
Dans ce contexte, notre projet de fin d'études s'est concentré sur l'utilisation des systèmes de
reconnaissance faciale comme outil d'identification pour déclencher l'ouverture de portes, dans
le but de sécuriser l'accès à des zones sensibles. Pour cela, nous avons mis en place un système
où le visage de chaque utilisateur est préalablement enregistré sur un appareil, avec un
identifiant unique associé à chaque visage. Lorsqu'une personne présente son visage à l'appareil,
l'identifiant enregistré est transmis à un logiciel de contrôle d'accès. Si l'identifiant est reconnu,
la porte s'ouvre, sinon elle reste fermée, empêchant ainsi l'accès aux personnes non autorisées.
Pour implémenter ce système, nous avons utilisé une carte Raspberry Pi 3 sous le système
d'exploitation Linux Raspbian, en exploitant les ressources gratuites et open source disponible,
notamment le langage de programmation Python, pour créer un serveur local et implémenter la
commande d'ouverture/fermeture de la porte via un relais. Cependant, il convient de noter que
ce système peut présenter un certain délai de communication entre le serveur contenant
l'algorithme de commande et l'application de la porte, ce qui le classe comme un système à
retard. Nous aborderons plus en détail ces aspects dans la suite de notre rapport.
10
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
Sommaire
I. Introduction ........................................................................................................................... 12
II. Présentation de l’organisme d’accueil .............................................................................. 12
1. Les missions de l’OACA....................................................................................................... 12
1.1 Sur le plan de l’aviation civile ..................................................................................... 12
1.2 Sur le plan de l’exploitation et du développement des aéroports .................................. 13
1.3 Sur le plan commercial ..................................................................................................... 13
1.4 Sur le plan des études et de l’environnement ................................................................. 13
2. L’organigramme de l’OACA ................................................................................................ 14
III. Présentation du projet ....................................................................................................... 14
1. Objectifs et définition du projet ......................................................................................... 15
2. Enveloppe budgétaire ........................................................................................................ 16
3. Délais .................................................................................................................................. 16
4. Planning du projet .............................................................................................................. 16
IV. La Reconnaissance Faciale.................................................................................................. 17
1. Introduction........................................................................................................................ 17
2. Les techniques de la reconnaissance faciale ...................................................................... 17
2.1 Les approches classiques............................................................................................ 18
A. Méthodes globales : ................................................................................................... 19
B. Méthodes locales ....................................................................................................... 20
C. Méthodes hybrides .................................................................................................... 22
2.2 Les approches utilisant l'intelligence artificielle .............................................................. 22
2.3 Les quatre intelligences artificielles de la reconnaissance faciale ................................... 22
A. Détection du visage .................................................................................................... 23
B. Découpage et déformation ........................................................................................ 23
C. Analyse de visage ....................................................................................................... 24
D. La Reconnaissance Faciale.......................................................................................... 25
3. Reconnaissance faciale dans Raspberry Pi ......................................................................... 25
V. Conclusion .............................................................................................................................. 26
11
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
I. Introduction
Dans ce chapitre, nous débutons en introduisant l'organisme d'accueil ainsi que le service au
sein duquel nous avons réalisé notre projet de fin d'études. Ensuite, nous exposons le sujet de
notre projet et décrivons la méthodologie que nous avons adoptée pour son élaboration. Enfin,
la dernière partie de ce chapitre sera dédiée à l'étude et au diagnostic de la situation existante.
12
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
13
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
2. L’organigramme de l’OACA
14
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
La mise en place d'une solution innovante de contrôle d'accès par reconnaissance faciale pour
l'Office de l'aviation civile et des aéroports est une étape importante pour répondre aux besoins
de sécurité et de commodité des employés et des visiteurs. Les méthodes de contrôle d'accès
traditionnelles peuvent présenter des failles de sécurité et des inconvénients pour les
utilisateurs, tels que des temps d'attente prolongés et des risques de fraude ou d'usurpation
d'identité. En optant pour une solution de reconnaissance faciale, l'accès aux zones sensibles
devient plus facile et plus rapide, tout en garantissant un niveau de sécurité élevé grâce à
l'authentification biométrique. Notre solution permet également de réduire les risques de fraude
et d'usurpation d'identité, contribuant ainsi à renforcer la confiance dans le système de contrôle
d'accès. On utilise une caméra et une technologie avancée de reconnaissance faciale pour
identifier les personnes autorisées à accéder aux zones sensibles. Le système fonctionne de
manière simple : les employés et les visiteurs s'enregistrent au préalable dans la base de données
du système en fournissant une photo de leur visage. Lorsqu'ils se présentent devant la caméra
de reconnaissance faciale, le système vérifie leur identité en temps réel et leur accorde ou non
l'accès. La solution permet également la gestion des autorisations d'accès selon les profils des
employés et des visiteurs. Les personnes autorisées peuvent accéder à des zones spécifiques en
fonction de leur rôle et de leur niveau d'autorisation. En cas de problème ou d'urgence, le
système est équipé d'une fonction d'alerte pour permettre une intervention rapide et efficace des
services de sécurité.
15
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
2. Enveloppe budgétaire
Le tableau suivant présente l’enveloppe budgétaire de notre travail.
Tableau 1: Budget
Composants d’électroniques Caractéristiques Prix unitaire
3. Délais
Ce projet doit être réalisé durant une période ne dépassant pas les 4 mois.
4. Planning du projet
Afin d'assurer le bon déroulement de cette phase, un planning prévisionnel a été mis en place.
La phase de recherche a été privilégiée car elle joue un rôle crucial dans l'établissement de l'état
actuel du projet
16
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
1. Introduction
La reconnaissance automatique des visages est un défi pour les machines malgré la facilité avec
laquelle les humains peuvent identifier une personne à partir de son visage. Les visages sont
considérés comme des données biométriques car ils permettent d'identifier une personne en
fonction de ses caractéristiques physiologiques ou comportementales. Les données
biométriques sont devenues essentielles pour résoudre les problèmes d'identification et de
sécurité humaine. Comparées aux méthodes traditionnelles de sécurité, telles que les mots de
passe et les codes PIN, les méthodes biométriques ont plusieurs avantages. Tout d'abord, les
données biométriques sont personnelles et ne peuvent être utilisées que par des utilisateurs
autorisés. De plus, ces méthodes sont pratiques car elles ne nécessitent rien à porter ou à retenir.
Enfin, la technologie biométrique est de plus en plus précise et abordable. Les données faciales
et vocales sont des exemples de caractéristiques physiologiques et comportementales utilisées
pour la biométrie. Les données faciales sont particulièrement utiles car elles sont naturelles et
faciles à obtenir, et elles sont souvent utilisées par les humains pour reconnaître d'autres
personnes dans leur vie quotidienne.
17
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
les autres. Dans cette perspective, on peut distinguer trois catégories de méthodes : les méthodes
globales, qui traitent le visage dans son ensemble, les méthodes locales, qui se concentrent sur
des caractéristiques spécifiques du visage, et les méthodes hybrides qui combinent les deux
approches.
18
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
A. Méthodes globales :
Le principe de ces méthodes est d'exprimer une image de visage à travers un seul vecteur
de grande taille en cascadant les niveaux de gris de tous les pixels du visage. Cette forme de
représentation est appelée « description basée sur l'apparence générale » et présente deux
avantages. Premièrement, il conserve implicitement toutes les informations de texture et de
forme qui aident à distinguer les visages. Deuxièmement, il peut prendre en compte la
structure globale et l'organisation du visage. Cependant, son principal inconvénient est que
l'espace image requis est important, ce qui rend la classification très difficile. Afin de traiter
le problème des données de grande taille, des techniques de réduction de dimensionnalité
peuvent être utilisées. L'une des techniques les plus courantes de reconnaissance faciale est
la description du nettoyage du visage basé sur l'analyse en composantes principales (ACP).
La méthode de l'ADL est une technique de classification qui permet de trouver la direction de
projection la plus distinctive dans l'espace propre pour maximiser le rapport de changement
interpersonnel et interpersonnel. L'objectif de la plupart des algorithmes basés sur l'ADL est de
maximiser la différence entre les classes, c'est-à-dire d'optimiser la séparabilité de classe. Cette
méthode peut être utilisée pour la reconnaissance faciale en combinant l'ADL avec l'ACP pour
maximiser la séparabilité de classe tout en conservant les informations de texture et de forme
des visages. L'algorithme de Fisherfaces est une méthode populaire qui utilise d'abord l'ACP
pour réduire la dimensionnalité des données, puis l'ADL pour maximiser la séparabilité de
classe. Cette méthode est efficace lorsqu'il y a beaucoup d'images de chaque personne, mais
19
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
moins efficace lorsqu'il n'y a pas beaucoup d'images de chaque personne, car la méthode de
l'ADL est moins performante dans ce cas.
B. Méthodes locales
Les méthodes locales peuvent être divisées en deux catégories, l'une basée sur les points
d'intérêt et l'autre basée sur l'apparence du visage.
Deux axes de recherche ont émergé pour pallier à ces limites. Le premier consiste à améliorer
les performances du détecteur de points caractéristiques du visage en utilisant des algorithmes
de corrélation pour détecter la position des yeux et d'autres parties du visage. Malgré ces efforts,
il n'existe pas encore de détecteur de points caractéristiques suffisamment précis. La seconde
direction de recherche se concentre sur une représentation plus fine des informations véhiculées
par les points caractéristiques du visage, en utilisant par exemple des ondelettes de Gabor pour
extraire les caractéristiques des points de détection. Des méthodes telles que Elastic Bundle
Graph Matching (EBGM) ont été proposées pour modéliser la relation entre les points
caractéristiques sur une carte topologique. Ces approches sont plus robustes aux changements
d'éclairage, de distorsion et d'échelle.
20
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
Les méthodes décrites précédemment ne prennent pas en considération les relations entre les
différentes caractéristiques du visage, ce qui pourrait pourtant améliorer la précision du système
de reconnaissance. Pour remédier à cela, il est envisageable de créer un modèle géométrique
flexible basé sur les caractéristiques locales, comme c'est le cas avec la méthode EBGM.
21
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
C. Méthodes hybrides
Les méthodes hybrides, également appelées méthodes de fusion, combinent à la fois des
caractéristiques globales et locales pour améliorer les performances de reconnaissance. Pour
optimiser ces méthodes, il est important de choisir les caractéristiques à combiner et de
déterminer la manière de les fusionner afin de tirer parti de leurs avantages et d'éviter leurs
inconvénients. Les caractéristiques locales et globales sont différentes et peuvent fournir des
informations supplémentaires pour les tâches de classification. En outre, il est à noter que les
méthodes locales peuvent être considérées comme des méthodes hybrides car elles incluent
généralement également des informations globales. Par exemple, dans la méthode de
probabilités locales, un nouvel échantillon d'apprentissage est d'abord généré pour chaque
individu en utilisant la méthode globale, puis la méthode locale est utilisée pour la
reconnaissance.
22
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
A. Détection du visage
Ce processus se divise en deux étapes distinctes. Tout d'abord, pour détecter les visages, l'IA
doit surmonter le défi de traiter des données redondantes qui peuvent affecter négativement ses
prédictions. Pour y remédier, nous convertissons l'image originale en une version en noir et
blanc, puis appliquons un algorithme simple pour créer un nouvel histogramme des gradients
directionnels. Pour chaque bloc de 16 × 16 pixels, l'algorithme ne conserve que le sens de
l'évolution des couleurs dans l'image pour créer un vecteur plus ou moins lumineux / long (trait
blanc) selon la structure des blocs. Cette nouvelle image simplifiée facilite la détection des
visages tout en éliminant les bruits inutiles.
La deuxième étape consiste à utiliser l'IA basée sur l'algorithme Haar Cascade pour la détection
de visages. Comme un navire naviguant dans un torrent rempli de récifs, l'IA doit répondre à
une question sur chaque nouvelle ligne de récifs : y a-t-il une ligne blanche ressemblant à un
œil dans la zone verte sélectionnée pour la descente ? Si la réponse est oui, l'IA poursuit sa
descente, sinon, elle revient au début avec une nouvelle zone verte différente. Lorsqu'il y a
plusieurs récifs coralliens sur la même ligne, l'IA répond à plusieurs questions et pondère leurs
réponses. Si un seuil déterminé par l'IA est atteint, elle peut continuer. Par exemple, l'IA se
demande si la zone verte contient un menton, une bouche, des oreilles, etc.
L'IA Haar Cascade est entraînée à l'avance pour trouver les caractéristiques pertinentes pour
détecter les visages, comment les organiser, comment les pondérer, etc. Ainsi, elle peut être
utilisée pour détecter un ou plusieurs visages dans n'importe quelle image. Enfin, l'IA examine
la zone verte restante pour identifier les contours des visages et éliminer les répétitions. Les
intersections et les rencontres sont utilisées pour déterminer les vrais contours de chaque visage
dans l'image.
B. Découpage et déformation
Nous allons procéder à la déformation du visage afin qu'il soit orienté face à la caméra. Cette
étape est nécessaire car dans notre base de données, nous souhaitons conserver des photos du
visage dans une position droite et centrée, ce qui permet de garantir l'équivalence de toutes les
photos. Nous voulons éviter d'identifier les personnes en fonction de la position de leur visage,
car une personne peut être la seule à avoir une photo de profil avec un angle particulier.
Pour atteindre cet objectif, nous devrons déformer légèrement toutes les parties du visage, en
les inclinant légèrement vers le bas et en déformant environ 3/4 du visage. Pour ce faire, notre
23
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
deuxième IA en reconnaissance faciale place 68 points de repère sur le visage, tels que les yeux,
le nez, la bouche, les sourcils et les contours du visage, peu importe l'orientation du visage.
Ensuite, nous utilisons des techniques de distorsion d'image pour déplacer chacun de ces 68
points et les superposer à la position finale souhaitée, ce qui implique la déformation des pixels
environnants. Cette méthode permet d'orienter le visage directement vers l'objectif de la caméra,
centré et droit, même s'il est légèrement déformé. Il est important de souligner que l'algorithme
utilisé pour placer ces marqueurs de reconnaissance faciale est basé sur le Dlib Shape Predictor,
qui est similaire à la Cascade de Haar dans la partie précédente car il utilise un ensemble d'arbres
de régression pour identifier les traits du visage avant de tirer une conclusion.
C. Analyse de visage
Le successeur de l'IA en algèbre linéaire va extraire les informations les plus pertinentes d'une
image pour identifier une photo de nous plutôt que des autres personnes.
Cette étape est la plus importante de notre IA de reconnaissance faciale. Elle consiste à
remplacer l'image complète par seulement 128 chiffres, qui seront déterminés de manière à
distinguer facilement les individus. Par exemple, certaines mesures telles que l'écart entre les
yeux, la hauteur du front et l'angle de la mâchoire peuvent être uniques pour chaque personne
et permettre leur identification.
Cette méthode était à l'origine l'idée derrière la première IA de reconnaissance faciale, mais
depuis, nous avons redécouvert le deep learning. Les réseaux de deep learning peuvent
apprendre de manière autonome en analysant des milliers d'exemples. Les 128 valeurs à retenir
pour chaque photo sont différentes pour chaque visage, mais chaque visage est très proche de
la même personne.
24
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
Un réseau neuronal convolutif appelé VGG a appris à générer un vecteur de 128 nombres à
partir d'une image d'entrée. Par conséquent, nous prenons la photo recadrée et déformée et nous
renvoyons notre vecteur unique.
D. La Reconnaissance Faciale
Enfin, l'étape finale de notre IA de reconnaissance faciale consiste à chercher dans notre base
de données les photos les plus similaires à la photo en entrée. Nous allons identifier la personne
en question, puis la vérifier immédiatement. Dans notre base de données, nous ne stockerons
pas les photos elles-mêmes, mais plutôt un vecteur (128 dimensions) qui représente chaque
photo. Lorsque les vecteurs de la caméra arrivent, il suffit de les comparer aux vecteurs stockés
dans la base de données pour trouver celui qui est le plus proche. Selon l'algorithme de similarité
sélectionné, le terme peut avoir plusieurs significations. Par exemple, si nous utilisons la
distance cosinus pour trouver le vecteur le plus proche, nous mesurons en fait l'angle entre les
deux vecteurs. Si l'angle est petit, cela signifie que la distance entre les vecteurs est proche. Si
nous utilisons la distance euclidienne, nous mesurons la longueur séparant les extrémités des
deux vecteurs. Enfin, nous pouvons également utiliser des algorithmes d'apprentissage
automatique tels que "support vector machines" pour déterminer les images les plus similaires
dans notre base de données, que ce soit à partir d'exemples en phase d'apprentissage ou obtenus
automatiquement par clustering.
Il existe deux types de méthodes de reconnaissance faciale : la reconnaissance faciale basée sur
l'image et la reconnaissance vidéo. La reconnaissance faciale basée sur la vidéo consiste en la
25
CHAPITRE 1 ÉTUDE PRÉLIMINAIRE
recherche d'une image 3D à partir d'une image 2D, tandis que la méthode de reconnaissance
basée sur l'image est un processus dans lequel un humain utilise une caméra pour conduire une
machine en affichant un groupe d'images fixes de caméras. Le système de reconnaissance
faciale est un cadre qui peut identifier et vérifier l'identité de la personne à partir de l'aperçu
vidéo de l'image numérique ou de la source vidéo.
De nombreux chercheurs ont choisi d'utiliser un appareil intégré appelé Raspberry Pi pour la
formation et l'identification. La raison principale pour laquelle ils ont choisi ce composant
particulier est qu'il a une capacité de traitement plus élevée, un coût inférieur et peut être ajusté
dans divers modes de programmation. En utilisant Raspberry Pi, ils ont résolu les limitations
du PC, telles que le poids, la taille et la consommation d'énergie élevée. Raspberry Pi est un
appareil qui permet de diviser la partie logicielle en trois parties : enregistrement d'images,
formation et reconnaissance faciale. Par conséquent, lorsqu'ils ont déployé le Raspberry Pi pour
le système de capture d'images, le système est devenu plus petit, plus léger et a consommé
moins d'énergie, ce qui le rend plus pratique que le système de reconnaissance faciale PC.
V. Conclusion
Après avoir présenté l'Office de l'Aviation Civile et des Aéroports (OACA) ainsi que ses
missions, nous avons pu nous plonger dans le sujet de notre projet qui consiste en un système
de contrôle d'accès par reconnaissance faciale. Nous avons étudié les différentes techniques et
technologies utilisées pour mettre en place ce système de sécurité.
26
CHAPITRE 2 ÉTUDE THÉORIQUE
Sommaire
I. Introduction ........................................................................................................................... 28
II. Internet des Objet (IOT) ..................................................................................................... 28
III. Matériels utilisés ................................................................................................................ 29
1. Etude de la carte Raspberry pi3 ......................................................................................... 29
1.1 Origine du nom « Raspberry Pi 3 »................................................................................... 29
1.2 Lancement de la Raspberry Pi .......................................................................................... 30
1.3 Equipement essentiel ....................................................................................................... 30
1.4 Equipement divers ........................................................................................................... 30
1.5 Tour d’horizon du Raspberry Pi 3 ..................................................................................... 31
1.6 Les spécifications Entrées / Sorties .................................................................................. 31
1.7 Les Ports GPIO .................................................................................................................. 32
1.8 Les différentes utilisations du Raspberry Pi 3 .................................................................. 32
1.9 Les avantages et les inconvénients de Raspberry Pi 3 ..................................................... 34
2. Camera Raspberry .............................................................................................................. 34
3. Module de relais................................................................................................................. 35
4. Écran LCD............................................................................................................................ 36
5. Serrure électrique .............................................................................................................. 37
6. Configuration de la carte Raspberry Pi 3 en mode graphiques ......................................... 37
6.1 Matériels nécessaires ....................................................................................................... 37
6.2 Réhabilitation de la carte SD ............................................................................................ 38
6.3 Installer Raspberry Pi Imager ........................................................................................... 39
7. Configuration Wi-Fi de la carte Raspberry Pi ..................................................................... 42
8. VNC Viewer......................................................................................................................... 42
9. IDE Raspberry Pi 3 .............................................................................................................. 43
IV. Conclusion .......................................................................................................................... 44
27
CHAPITRE 2 ÉTUDE THÉORIQUE
I. Introduction
Dans ce chapitre, nous allons aborder les notions de l'IoT, étudier les différents modes de
communication disponibles, examiner la carte électronique que nous allons utiliser, ainsi que
l'interface homme-machine qui sera utilisée pour réaliser notre projet.
Cependant, si nous résumons l'essentiel de ce qui se passe dans l'écosystème IoT, cela peut être
simplifié en un schéma simple : un dispositif collecte des données et les envoie à travers le
réseau à une plateforme qui agrège les données pour une utilisation future par l'agent. Les
composants clés de l'écosystème IoT sont donc les appareils, les réseaux, les plateformes et les
agents. La figure suivante représente ces éléments clés de manière graphique.
C'est tout ce que vous devez savoir sur l'écosystème de l'Internet des Objets.
28
CHAPITRE 2 ÉTUDE THÉORIQUE
Le Raspberry Pi 3 est un nano-ordinateur monocarte basé sur ARM, conçu par David Braben,
créateur de jeux vidéo, et fait partie de la fondation Raspberry Pi. Sa taille équivaut à celle d'une
carte de crédit, et son but est d'encourager l'apprentissage de la programmation informatique.
Le Raspberry Pi 3 peut exécuter des systèmes d'exploitation GNU/Linux-Debian gratuits ainsi
que de nombreuses variantes de logiciels compatibles. De plus, il est compatible avec les
systèmes d'exploitation Microsoft Windows 10 et Android.
Le Raspberry Pi 3 est vendu sous forme de carte mère nue, ce qui signifie qu'il ne comprend
pas de boîtier, d'alimentation, de clavier, de souris ou d'écran, afin de réduire les coûts et de
permettre l'utilisation de matériel de récupération.
Le nom "Raspberry Pi" a été choisi par ses créateurs, Eben Upton, Rob Mullins, Jack Lang et
Alan Mycroft, qui souhaitaient un nom qui rappelle les ordinateurs personnels des années 80
comme le Commodore 64 et l'Apple Macintosh. Ils ont choisi "Raspberry" car c'était leur fruit
préféré, et "Pi" car c'est une référence à la constante mathématique π (pi) qui est largement
utilisée en informatique. Le "3" dans le nom Raspberry Pi 3 fait référence à la troisième
génération de ce nano-ordinateur monocarte, tandis que le "a" dans Raspberry Pi 3a+ signifie
que c'est une version allégée avec des spécifications légèrement différentes.
29
CHAPITRE 2 ÉTUDE THÉORIQUE
L'équipement sélectionné n'en est qu'une petite partie, rendant possible les dizaines
d'équipements déjà sur le marché.
• Un boîtier de protection
• Une clé Bluetooth
• Camera Pi
• Haut-Parleur
30
CHAPITRE 2 ÉTUDE THÉORIQUE
• 4 ports USB 2.0 : les ports USB sont des ports de communication universels permettant
la connexion de nombreux périphériques.
• Processeur ARM Cortex-A53 quadricœur à 1,2 GHz : les processeurs ARM sont des
processeurs à faible consommation d'énergie.
• Ports GPIO : le Raspberry Pi 3 Model B dispose de deux ports GPIO : un port de 40
broches et un port de 28 broches.
• 1 Go de RAM DDR2 SDRAM : la RAM est la mémoire dans laquelle le Raspberry Pi
stocke les données lors de son traitement.
• 1 port Ethernet 10/100 : le port Ethernet permet la connexion à un réseau local via le
protocole Ethernet.
• 1 port HDMI et 1 port composite : le port HDMI permet la transmission de vidéo et
d'audio haute définition vers un écran compatible, tandis que le port composite est utilisé
pour connecter des écrans plus anciens.
• Connecteur pour carte microSD : le Raspberry Pi 3 Model B dispose d'un connecteur
spécifique pour carte microSD, qui permet d'augmenter la mémoire de stockage de
l'appareil.
31
CHAPITRE 2 ÉTUDE THÉORIQUE
a. Les serveurs
Pour un usage en tant que serveur, le Raspberry Pi est conçu pour fonctionner en continu sans
interruption et sera généralement installé près du boîtier internet. La gestion à distance via SSH
sera utilisée le moins souvent possible, car le besoin de prendre le contrôle du serveur est
souvent lié à un problème rencontré.
32
CHAPITRE 2 ÉTUDE THÉORIQUE
• Le serveur Web :
Il s'agit d'un serveur utilisé pour héberger un ou plusieurs sites Web et doit être accessible
de l'extérieur.
• Le serveur de stockage :
Ce type de serveur permet de stocker des fichiers accessibles depuis n'importe où. Il s'agit
généralement d'un serveur FTP, qui est une machine exécutant un logiciel permettant de gérer
le protocole de transfert de fichiers (FTP).
• Le serveur de service :
Ce type de serveur est conçu pour héberger des services et est généralement accessible à partir
de n'importe quel endroit. Un service désigne un logiciel, mais pas un client. Il s'agit d'un
logiciel qui s'exécute sur l'ordinateur d'un utilisateur et permet de communiquer avec une entité
centrale. Cette entité est responsable de l'exploitation, du calcul, de la coordination, etc. des
différents clients. Le serveur est légèrement indépendant et peut fonctionner de manière
autonome.
b. L’utilisation multimédia
C'est l'une des utilisations les plus développées de Raspberry Pi. En fait, sous l'idée de
MultiMedia, c'est principalement l'idée de centre multimédia.
c. La domotique
La domotique peut poser problème en raison du manque d'interfaces complètes et des coûts
élevés associés, mais le Raspberry Pi peut résoudre ces problèmes. De par sa petite taille, il peut
être facilement installé dans une pièce, tandis que ses nombreuses sorties, y compris GPIO,
permettent la connexion de divers modules pour communiquer avec des équipements
domotiques.
Étant donné leur petite taille et leur capacité à accueillir des entrées GPIO, les Raspberry Pi
sont souvent utilisés dans des projets électroniques comme contrôleurs centraux de systèmes
informatiques, entre autres. De nombreux projets ont vu le jour, tels que l'utilisation de caméras
33
CHAPITRE 2 ÉTUDE THÉORIQUE
et de drones pour contrôler des voitures télécommandées, ainsi que des projets intéressants de
piratage de drones.
Avantages Inconvénients
2. Camera Raspberry
La caméra Raspberry est une caméra haute qualité spécialement conçue pour être utilisée avec
les ordinateurs de la famille Raspberry Pi. Elle permet de capturer des images et des vidéos de
haute résolution, jusqu'à 12 mégapixels pour les photos et 1080p pour les vidéos. Elle est
équipée d'un objectif interchangeable et dispose d'un large éventail de fonctionnalités,
notamment la mise au point automatique, la réduction du bruit, la balance des blancs
automatique et la prise en charge de l'infrarouge. Grâce à son faible encombrement, elle est très
populaire pour les projets d'imagerie embarquée et les projets de surveillance à domicile.
• Le Raspberry Pi dispose d'un port dédié pour connecter des caméras compatibles.
Une fois connecté, il doit être activé sur l'OS Raspberry Pi via l'outil de
configuration :
34
CHAPITRE 2 ÉTUDE THÉORIQUE
3. Module de relais
Un relais Arduino est un module électronique qui permet de contrôler des charges électriques
à partir d'un microcontrôleur Arduino. Il est souvent utilisé pour commuter des circuits
électriques haute tension ou haute puissance, en permettant à un circuit basse tension et basse
puissance de commander un circuit plus grand. Le relais Arduino est généralement composé
d'un interrupteur électromécanique commandé par un signal de commande provenant du
microcontrôleur Arduino. Il permet ainsi de réaliser des projets tels que la commande de
l'éclairage, la gestion d'appareils électroménagers, la commande de moteurs, etc. Les relais
Arduino sont disponibles en différentes configurations, avec des capacités de commutation
différentes en fonction des besoins spécifiques du projet.
35
CHAPITRE 2 ÉTUDE THÉORIQUE
4. Écran LCD
L'écran LCD (Liquid Crystal Display) est un type d'affichage électronique qui utilise la
technologie des cristaux liquides pour produire des images et des informations visuelles. Il est
largement utilisé dans de nombreux appareils électroniques tels que les téléviseurs, les
moniteurs d'ordinateur, les smartphones, les tablettes, les montres, les calculatrices, les
appareils de navigation GPS, etc.
Les écrans LCD offrent plusieurs avantages, notamment une faible consommation d'énergie,
une grande netteté d'image, un large angle de vision et une minceur, ce qui les rend populaires
dans de nombreux appareils électroniques grand public et industriels.
36
CHAPITRE 2 ÉTUDE THÉORIQUE
5. Serrure électrique
Une serrure électronique Arduino est un dispositif de verrouillage qui utilise un microcontrôleur
Arduino pour contrôler l'accès à une porte ou un meuble. Elle est généralement composée d'un
actionneur motorisé qui permet de verrouiller ou déverrouiller la serrure en réponse à un signal
électrique provenant du microcontrôleur Arduino.
Dans notre cas, notre système peut être contrôlé et connecté à la carte Raspberry Pi 3 afin de
modifier les paramètres et de restreindre l'accès à l'ouverture de la porte uniquement aux
personnes autorisées.
37
CHAPITRE 2 ÉTUDE THÉORIQUE
38
CHAPITRE 2 ÉTUDE THÉORIQUE
L'installation d'un système d'exploitation sur une carte microSD pour le Raspberry Pi est rapide
et facile grâce à un logiciel spécialisé. Une fois le logiciel installé, il suffit de mettre à jour la
carte SD avec le système d'exploitation Raspberry Pi de notre choix, car le Raspberry Pi
nécessite un système d'exploitation pour fonctionner. Le système d'exploitation Raspberry Pi,
anciennement appelé Raspbian, est le système d'exploitation officiellement pris en charge pour
le Raspberry Pi.
39
CHAPITRE 2 ÉTUDE THÉORIQUE
Pour installer le système d'exploitation sur votre Raspberry Pi, vous devrez suivre ces trois
étapes simples :
a. Choix du système
b. Sélection de carte SD
Une fois que vous avez choisi le système à installer, vous devrez sélectionner l'emplacement de
l'installation. Pour ce faire, cliquez sur le deuxième bouton, ce qui affichera une liste des clés
USB ou des cartes SD connectées à votre ordinateur. Ensuite, vous pourrez choisir la carte
microSD qui sera utilisée pour installer le système d'exploitation sur votre Raspberry Pi.
40
CHAPITRE 2 ÉTUDE THÉORIQUE
Pendant l'écriture des données sur la carte microSD, une barre de progression indique l'état
d'avancement du processus. Une fois que l'écriture est terminée, il suffit de retirer la carte
microSD du lecteur de carte et de l'insérer dans le Raspberry Pi.
41
CHAPITRE 2 ÉTUDE THÉORIQUE
8. VNC Viewer
La technologie Virtual Network Computing (VNC) permet une connexion à distance à un
ordinateur (serveur) via un réseau ou Internet à partir d'un autre ordinateur (client). Cette
technologie peut être utile pour contrôler des programmes et du personnel d'Entrée/Sortie
d'ordinateurs au travail, ou pour accéder à distance à un PC personnel. En installant le serveur
VNC sur le Raspberry Pi et en utilisant la visionneuse VNC sur l'ordinateur ou le téléphone
distant, vous pouvez contrôler votre Raspberry Pi à partir de n'importe où.
42
CHAPITRE 2 ÉTUDE THÉORIQUE
9. IDE Raspberry Pi 3
L'IDE Raspberry Pi3 est le logiciel qui permet de programmer la carte Raspberry Pi3. Dans
Raspbian, l'IDE est incluse non seulement pour Python, mais aussi pour d'autres langages, et
nous pouvons commencer à programmer immédiatement. Pour accéder à l'IDE, allez dans le
menu principal et sélectionnez "Programmation". Dans la liste des outils, vous devriez voir
l'option "IDLE pour Python 3", comme illustré dans la figure suivante.
43
CHAPITRE 2 ÉTUDE THÉORIQUE
• Le premier cadre contient les boutons qui nous seront utiles pour programmer notre
carte.
• Le deuxième cadre va contenir le programme que nous allons créer.
• Le troisième cadre est important, car il nous permet de corriger les erreurs dans notre
programme. C'est le débogueur.
IV. Conclusion
Ce chapitre est principalement axé sur la partie matérielle du projet, où nous avons présenté les
différents outils de développement tels que le Raspberry Pi3 ainsi que les composants
nécessaires à la réalisation du projet, tels que la caméra Pi et le relais électrique. Nous avons
également fourni des définitions détaillées pour chaque outil et composant, afin de mieux
comprendre leur rôle et leur importance dans le projet.
44
CHAPITRE 3 SPÉCIFICATIONS
CHAPITRE 3 : SPÉCIFICATIONS
Sommaire
I. Introduction ........................................................................................................................... 46
II. Spécification des besoins ....................................................................................................... 46
1. Description fonctionnelle des besoins ............................................................................... 46
2. Description non fonctionnelle des besoins ........................................................................ 47
III. Conception ......................................................................................................................... 48
1. Langage UML ...................................................................................................................... 48
2. Identification des acteurs et des cas d’utilisation .............................................................. 49
a. Diagramme de cas d’utilisation .............................................................................. 49
b. Diagramme de séquence........................................................................................ 51
IV. L’architecture du système .................................................................................................. 63
V. Conclusion .............................................................................................................................. 63
45
CHAPITRE 3 SPÉCIFICATIONS
I. Introduction
La phase d'incubation marque le début d'un processus cohérent pour étudier le contexte d'un
système. Elle a pour but de déterminer les fonctionnalités, les objectifs et les facteurs clés du
système. Pendant cette phase, les cas d'utilisation initiaux sont identifiés, de même que les
interactions entre les différents acteurs impliqués. Cette phase vise à élaborer les activités de la
première itération du système en décrivant les cas d'utilisation qui seront implémentés.
Le système est capable de reconnaître les visages en temps réel pour permettre un accès rapide
et efficace.
• Vérification de l'identité
Le système vérifie l'identité de chaque personne qui tente d'accéder aux zones restreintes en
comparant son empreinte faciale à celles enregistrées.
Le système alerte les responsables de sécurité de l'OACA si une personne non autorisée tente
d'accéder à une zone restreinte.
46
CHAPITRE 3 SPÉCIFICATIONS
Le système de contrôle d'accès par reconnaissance faciale doit permettre aux administrateurs
de visualiser l'historique des accès des personnes autorisées.
• Sécurité
• Fiabilité
Le système offre une haute fiabilité et une disponibilité continue pour garantir un contrôle
d'accès sûr et sans interruption.
• Performance
Le système offre une performance rapide et précise pour une identification faciale efficace et
une vérification rapide de l'identité des individus.
• Facilité d'utilisation
Le système est convivial et facile à utiliser pour permettre une utilisation rapide et efficace par
les utilisateurs autorisés.
• Maintenance
Le système est facilement maintenable et évolutif pour garantir une gestion efficace du système
de contrôle d'accès à long terme.
• Scalabilité
Le système est extensible pour permettre une croissance future en termes de nombre
d'utilisateurs et de zones restreintes.
47
CHAPITRE 3 SPÉCIFICATIONS
III. Conception
1. Langage UML
L'UML est un langage de modélisation qui permet d'exprimer et de développer des modèles
objet, indépendamment de tout langage de programmation. L'OMG (Object Management
Group) est l'organisation responsable de l'UML. Ce langage a été conçu pour supporter une
analyse basée sur les concepts objet. Il se définit comme un langage de modélisation graphique
et textuel destiné à comprendre et décrire des besoins, à spécifier et documenter des systèmes,
à concevoir des solutions et à communiquer des points de vue.
L'UML unifie à la fois les notations et les concepts orientés objet. Ce n'est pas simplement une
notation graphique, car les concepts transmis par un diagramme ont une sémantique précise et
sont porteurs de sens au même titre que les mots d'un langage. L'UML est nécessaire pour les
différentes activités d'un processus de développement et offre ainsi un moyen d'établir le suivi
des décisions prises, depuis l'expression des besoins jusqu'au codage. C'est un langage formel
qui possède les caractéristiques suivantes :
L'UML s'articule autour de plusieurs types de diagrammes, chacun étant dédié à la présentation
de concepts particuliers d'un système logiciel. Nous allons représenter ceux qui sont utilisés
dans notre projet, notamment :
48
CHAPITRE 3 SPÉCIFICATIONS
Les cas d'utilisation ont pour objectif de répondre aux besoins des clients d'un système en
clarifiant, filtrant et organisant ces besoins. Ils ne cherchent pas à être exhaustifs, mais plutôt
à identifier les éléments essentiels. Les deux éléments clés des cas d'utilisation sont les
suivants :
• L'acteur : Il s'agit d'une entité externe au système qui agit sur celui-ci. L'acteur peut
consulter ou modifier l'état du système et le système fournit un service qui répond à son besoin.
• Le cas d'utilisation : Il peut être défini comme l'ensemble des actions effectuées par le
système en réponse à une action de l'acteur. L'ensemble des cas d'utilisation décrit les objectifs
du système, c'est-à-dire les buts qu'il doit atteindre pour répondre aux besoins de ses utilisateurs.
49
CHAPITRE 3 SPÉCIFICATIONS
Tableau 6: Administrateur
Acteurs : Administrateur
50
CHAPITRE 3 SPÉCIFICATIONS
Tableau 7: Utilisateur
b. Diagramme de séquence
Un diagramme de séquence est une représentation graphique qui décrit l'interaction entre les
objets et les acteurs d'un système pour un scénario donné. Il s'agit d'une séquence d'événements
et/ou d'échanges de messages qui se produisent pendant le déroulement de ce scénario.
51
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Administrateur
Description de scenario principal : L’administrateur saisit son adresse e-mail et son mot
de passe dans les champs dédiés à l'authentification.
L'application envoie ensuite ces informations à un
serveur distant sécurisé. Le serveur vérifie la validité
de l'adresse e-mail et du mot de passe en les
comparant aux données stockées dans une base de
données sécurisée. Si les informations sont correctes,
l'administrateur est authentifié avec succès et l'accès
à l'application lui est accordé.
Description de scenario secondaire : En cas d'informations incorrectes, un message
d'erreur est affiché
52
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Utilisateur
Objectif : Gérer efficacement ses tâches quotidiennes
53
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Administrateur
Objectif : La confidentialité du système
Description de scenario principal : L’administrateur remplit les champs requis,
tels que son nom, son adresse e-mail et un
mot de passe sécurisé. Une fois les
informations saisies, il clique sur le bouton
d'inscription. L'application vérifie la validité
des données fournies, s'assure qu'aucun
compte similaire n'existe déjà, puis enregistre
les informations d'inscription dans sa base de
données (Table Users). L'administrateur
reçoit ensuite une confirmation d'inscription
54
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Utilisateur
Objectif : La confidentialité du système
Description de scenario principal : L’utilisateur doit compléter les champs
obligatoires tels que son nom, son adresse e-
mail et un mot de passe sécurisé, il peut
cliquer sur le bouton d'inscription. À ce
moment-là, l'application vérifie la validité
des informations fournies, s'assure qu'aucun
compte similaire n'existe déjà, et enregistre
les données d'inscription dans sa base de
données (Table UsersSec). Une fois
l'inscription réussie, l'utilisateur reçoit une
confirmation de son inscription.
55
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Utilisateur
Objectif : Accéder à son historique d'accès
56
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Administrateur
Objectif : Consulter la liste des utilisateurs autorisés.
57
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Administrateur
58
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Administrateur
Objectif : Gérer les autorisations des utilisateurs.
59
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Administrateur
60
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Administrateur
Objectif : Assurer la sécurité du système
61
CHAPITRE 3 SPÉCIFICATIONS
Acteur : Administrateur
Objectif : Avoir une vue d'ensemble des utilisateurs
enregistrés dans le système.
62
CHAPITRE 3 SPÉCIFICATIONS
V. Conclusion
Au cours de ce chapitre, nous avons présenté nos besoins, notre architecture ainsi que les
différents diagrammes développés lors de l'étude conceptuelle du projet. Cette étude servira de
base pour la conception qui sera abordée dans le prochain chapitre.
63
CHAPITRE 4 RÉALISATION
CHAPITRE 4 : RÉALISATION
64
CHAPITRE 4 RÉALISATION
I. Introduction
La phase de mise en œuvre est la dernière étape du processus de développement. Ce chapitre
décrit les étapes de conception de la station météorologique de manière détaillée.
65
CHAPITRE 4 RÉALISATION
66
CHAPITRE 4 RÉALISATION
• MySQL
MySQL est un serveur de bases de données relationnelles SQL spécialement conçu pour offrir
des performances élevées en lecture. Son objectif principal est de répondre efficacement aux
besoins de récupération de données, plutôt que de se concentrer sur les mises à jour fréquentes
et sécurisées.
• PhpMyAdmin (PMA)
PhpMyAdmin (PMA) est une application Web conçue pour faciliter la gestion des systèmes de
gestion de bases de données MySQL. Elle offre une interface conviviale et accessible via un
navigateur, permettant aux utilisateurs de gérer leurs bases de données de manière efficace et
intuitive.
67
CHAPITRE 4 RÉALISATION
• XAMPP
XAMPP est un ensemble de logiciels qui permet de configurer facilement un serveur Web local,
un serveur FTP et un serveur de messagerie électronique. C'est une distribution de logiciels
libres très appréciée pour sa flexibilité et sa facilité d'installation, offrant ainsi aux utilisateurs
une solution pratique pour créer un environnement de développement local.
• RPI GPIO
La bibliothèque RPi.GPIO permet d'accéder aux broches GPIO (General Purpose Input/Output)
de la carte Raspberry Pi, offrant ainsi la possibilité de contrôler et d'interfacer divers
périphériques externes. Elle permet de configurer les broches GPIO, de lire et d'écrire des
valeurs numériques, ainsi que de gérer les interruptions et d'autres opérations d'entrée/sortie.
68
CHAPITRE 4 RÉALISATION
• OpenCV
OpenCV (Open Source Computer Vision) est une bibliothèque open source spécialisée dans le
traitement d'images et la vision par ordinateur. Elle fournit une large gamme de fonctionnalités
et d'algorithmes pour effectuer des opérations telles que la capture d'images, la manipulation
d'images, la détection d'objets, la reconnaissance faciale, la segmentation d'image, le suivi
d'objets, et bien plus encore. OpenCV est largement utilisée dans le domaine de la recherche,
de l'industrie et de l'informatique vision. Elle prend en charge plusieurs langages de
programmation, y compris C++, Python et Java, offrant ainsi une flexibilité pour le
développement d'applications de vision par ordinateur.
• Numpy
NumPy est une extension du langage de programmation Python qui a été développée pour
faciliter la manipulation de matrices et de tableaux multidimensionnels, ainsi que l'exécution
de fonctions mathématiques sur ces structures de données. En tant que bibliothèque open
source, NumPy offre une large gamme de fonctionnalités qui permettent de créer des tableaux
à partir de fichiers existants ou de les enregistrer dans des fichiers, ainsi que de réaliser des
opérations avancées sur des vecteurs, des matrices et des polynômes. Cette bibliothèque joue
un rôle essentiel dans le traitement numérique des données et est largement utilisée dans les
domaines scientifiques, de l'analyse de données et de l'apprentissage automatique.
Pour installer NumPy sur Raspberry Pi, il faut utiliser la commande suivante dans un terminal :
69
CHAPITRE 4 RÉALISATION
• Face_recognition
La bibliothèque face_recognition est une bibliothèque open source spécialisée dans la
reconnaissance faciale en utilisant des techniques d'apprentissage automatique. Elle offre des
fonctionnalités permettant de détecter et de reconnaître des visages dans des images ou des flux
vidéo. La bibliothèque face_recognition utilise des algorithmes avancés pour extraire des
caractéristiques faciales uniques et les comparer avec une base de données de visages connus,
permettant ainsi d'identifier des individus spécifiques. Cette bibliothèque facilite le
développement d'applications de reconnaissance faciale pour des cas d'utilisation tels que la
sécurité, l'authentification et la surveillance.
• Mysql-connector
70
CHAPITRE 4 RÉALISATION
Afin de réaliser notre objectif de développer un système de contrôle d'accès basé sur l'IoT, nous
avons mis en place une infrastructure robuste. Notre solution intègre une passerelle connectée
à Internet qui collecte des données cruciales provenant de diverses sources. Ces données sont
ensuite stockées dans une base de données centralisée.
5.1Partie mobile
En ouvrant l'application, on trouve cette interface « Welcome ». L'utilisateur doit choisir entre
ces deux boutons.
S'il clique sur le premier bouton « Admin », il sera dirigé vers l’interface « login Admin »
71
CHAPITRE 4 RÉALISATION
72
CHAPITRE 4 RÉALISATION
Figure 50: Page login utilisateur Figure 51: Page inscription utilisateur
73
CHAPITRE 4 RÉALISATION
Après s'être authentifié dans l'interface "Login", ce tableau de bord sera affiché, offrant à
l'utilisateur une sélection de choix qu'il peut utiliser.
S'il clique sur le bouton « utilisateurs autorisés » il sera dirigé vers cette interface ou il peut
faire des mises à jour et voir la liste de tous les utilisateurs avec la date et l’heure de dernier
accès.
74
CHAPITRE 4 RÉALISATION
75
CHAPITRE 4 RÉALISATION
76
CHAPITRE 4 RÉALISATION
77
CHAPITRE 4 RÉALISATION
78
CHAPITRE 4 RÉALISATION
79
CHAPITRE 4 RÉALISATION
80
CHAPITRE 4 RÉALISATION
81
CHAPITRE 4 RÉALISATION
82
CHAPITRE 4 RÉALISATION
• Cette ligne crée une instance d'un objet "display" qui permet de contrôler un écran LCD.
83
CHAPITRE 4 RÉALISATION
• Cette ligne crée un objet "cursor" qui permet d'exécuter des requêtes et de récupérer les
résultats de la base de données.
• Ces lignes initialisent le broche GPIO (entrée/sortie) sur le Raspberry Pi pour contrôler
un relais. Le broche RELAY_PIN est définie comme une sortie.
84
CHAPITRE 4 RÉALISATION
• Ces lignes définissent le chemin d'accès aux images des personnes connues et
récupèrent les noms de fichier dans ce répertoire.
• Cette ligne appelle la fonction "findEncodeings" pour obtenir les encodages faciaux des
images des personnes connues.
• Cette boucle itère sur les encodages et les emplacements des visages détectés.
85
CHAPITRE 4 RÉALISATION
• Ces lignes comparent les encodages faciaux avec les encodages connus pour trouver des
correspondances et calculer les distances faciales.
• Ces instructions vérifient si la distance faciale minimale est inférieure à un seuil donné.
Si oui, le nom correspondant est identifié à partir de la liste des noms de classe. Sinon,
le nom est défini comme "Inconnu".
• La détection faciale est effectuée en utilisant les coordonnées des visages détectés
(faceLoc). Les coordonnées sont ensuite multipliées par 4 pour obtenir une taille de
rectangle plus grande. Des rectangles sont dessinés autour du visage et du nom de la
personne est affiché à côté du visage sur l'image capturée.
86
CHAPITRE 4 RÉALISATION
• Ces deux lignes extraient la région d'intérêt (ROI) de l'image capturée correspondant au
visage détecté. La variable roi gray est une version en niveaux de gris de la ROI, qui
sera utilisée pour la détection des yeux. La variable roi_color est la ROI en couleur, qui
sera utilisée pour dessiner les rectangles de détection des yeux.
• Cette ligne utilise le classificateur en cascade eyes pour détecter les yeux dans la ROI
en niveaux de gris. La méthode detectMultiScale retourne les coordonnées des
rectangles de détection des yeux.
87
CHAPITRE 4 RÉALISATION
• Cette boucle parcourt tous les rectangles de détection des yeux retournés par le
classificateur en cascade. Pour chaque rectangle, elle utilise la fonction cv2.rectangle
pour dessiner un rectangle vert autour des yeux détectés sur l'image en couleur
roi_color. Le rectangle est dessiné en utilisant les points (ex,ey) et (ex+ew,ey+eh), la
couleur (0,255,0) qui correspond au vert, et une épaisseur de trait de 2.
88