SlideShare une entreprise Scribd logo
Ecole Nationale d’Ingénieurs de Tunis
Département Technologies de l’Information et de la Communication
Projet de Fin d’Année II
Implémentation d’un système de contrôle
d’accès sur une carte Raspberry
Réalisé par :
Mekki Arij
Khedhira Ameny
Classe :2ème
Année Télécommunications
Encadré par :
Mme Turki Monia
Année universitaire 2016/2017
Remerciement
C’est avec le plus grand honneur que nous avons réservé cette page en signe de grati-
tude et de reconnaissance à tous ceux qui nous a aidé de prés ou de loin , à réaliser ce
modeste projet.
On tient en premier lieu à remercier Mme Monia Turki d’avoir nous proposer le sujet
et nous encadrer tout au long de sa réalisation. Merci pour tout le temps que vous nous
avez consacré durant toute cette période et pour vos réponses à toutes nos interrogations.
On remercie également M. Samir Sakarani pour ses conseils et ses remarques enrichis-
santes qui nous ont permis d’améliorer la qualité du travail.
Enfin, nous adressons notre profonde gratitude à tous nos amis qui ont pris la peine
de relire le rapport et de porter à notre attention toutes critiques de forme ou de contenu.
Résumé
Les systèmes électroniques et les réseaux de télécommunication ne cessent de se
développer. Sur ce la surveillance surveillance des domiciles a connu son vrai essor luttant
contre tout type d’insécurité qui peut menacer les habitats. Toutefois, suite à la décou-
verte des nouvelles techniques de traitements dédiées essentiellement à la surveillance
intelligente les nouveaux systèmes de surveillance ont vécu un grand succès.
En se basant sur ces nouvelles techniques, ce projet vise à contribuer à l’amélioration du
sujet de PFE proposé l’année précédente concevant un système de contrôle d’accès intelli-
gent qui vise à lutter contre tout type d’intrusion suspecte. Et afin de donner un aspect de
portabilité au système déjà réalisé, nous avons exploité pour le noeud de traitement une
carte Raspberry Pi3. Dans notre projet nous avons réalisé le sous système extérieur qui est
composé de deux noeuds essentiels : un noeud installé au niveau de la porte d’entrée qui
sert à collecter les images des personnes demandant l’accès, et un centre de traitement qui
effectue la reconnaissance faciale. La communication entre les noeuds de notre système,
est assurée par un protocole ZigBee 802.15.4 caractérisé par sa faible consommation en
énergie et son faible coût.
Mots clés : Contrôle d’accès, algorithme de reconnaissance faciale,
Raspberry Pi3, ZigBee 802.15.4.
Table des matières
1 Présentation et limites du projet réalisé précédemment 6
Introduction 6
1.1 Description générale du système . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Principaux modules constituant le système d’accès . . . . . . . . . . . . . 7
1.2.1 Module d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 Module de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Description des composants de chaque module . . . . . . . . . . . . . . . . 8
1.3.1 La carte électronique et ses composants . . . . . . . . . . . . . . . . 8
1.3.2 Unité de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Limite du système et solution adoptée . . . . . . . . . . . . . . . . . . . . 10
1.4.1 Choix du PC comme une unité de traitement . . . . . . . . . . . . 10
1.4.2 La solution adoptée : Raspberry Pi3 . . . . . . . . . . . . . . . . . 10
1.5 Cahier des charges du projet . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Conclusion 10
2 Présentation et communication Raspberry-Arduino 11
Introduction 11
2.1 Découverte et première mise en œuvre de la
Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 La Raspberry Pi3 modèle B . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1.1 Support du Wifi et du Bluetooth . . . . . . . . . . . . . . 12
2.1.1.2 Processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1.3 Modèle de connecteur MicroSD(max 128 Go) . . . . . . . 12
2.1.1.4 Port Ethernet . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1.5 RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1.6 HDMI : Interface Multimédia Haute Définition . . . . . . 13
2.1.1.7 Interface camera . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1.8 Port MicroUSB . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1.9 Port DSI (Display Serial Interface) . . . . . . . . . . . . . 13
2.1.1.10 Connecteur GPIO(General Purpose Input Output) . . . . 13
2.1.1.11 Ports USB . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1
TABLE DES MATIÈRES
2.1.2 Préparation de la carte SD . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 Raspberry Pi sur le réseau . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3.1 Putty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3.2 VNC : Virtual Network Computer . . . . . . . . . . . . . 15
2.2 Communication Arduino-Raspberry Pi3 . . . . . . . . . . . . . . . . . . . . 15
2.3 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Algorithme de reconnaissance faciale . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Description de l’algorithme LBP . . . . . . . . . . . . . . . . . . . . 17
2.4.1.1 Descripteur LBP . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1.2 Calcul du decripteur LBP . . . . . . . . . . . . . . . . . . 17
Conclusion 19
3 Réalisation du système du contrôle d’accès 20
Introduction 20
3.1 Configuration des modules de communication XBee . . . . . . . . . . . . . 20
3.2 Implémentation de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1 Base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.2 la mise en oeuvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Test de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.1 Capture de l’image . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.2 Traitement et algorithme appliqué sur une image . . . . . . . . . . 27
3.4 Difficultés rencontrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Conclusion 28
Bibliogaphies 30
2
Table des figures
1.1 Architecture hardware du système d’accès[2] . . . . . . . . . . . . . . . . . 7
1.2 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Carte électronique et composants nécessaires . . . . . . . . . . . . . . . . . 8
2.1 Raspberry Pi 3 modèle B[8] . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Configuration Putty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Connexion Arduino-Raspberry via XBee . . . . . . . . . . . . . . . . . . . 16
2.4 Conversion d’une image en niveaux de gris en un masque LBP . . . . . . . 18
2.5 Calcul des valeurs de LBP[9] . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6 Calcul des valeurs de LBP[9] . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1 XBee connecté au PC à travers un XBee Explorer . . . . . . . . . . . . . . 20
3.2 Logiciel X-CTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 La détection d’un nouveau module XBee . . . . . . . . . . . . . . . . . . . 21
3.4 Configuration d’un XBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Connexion de deux XBee au PC . . . . . . . . . . . . . . . . . . . . . . . 23
3.6 Test de connectivité des deux XBee . . . . . . . . . . . . . . . . . . . . . . 23
3.7 Test de communication entre la carte Raspberry et la carte arduino . . . . 24
3.8 Base de données utilisée[6] . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.9 Composants du système de contrôle . . . . . . . . . . . . . . . . . . . . . . 27
3.10 Test de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3
Liste des tableaux
1.1 Configuration du : XBee central et XBee extérieur . . . . . . . . . . . . . . 9
2.1 Comparaison des protocoles de communication sans fil : ZigBee, Bluetooth
et Wifi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Les paramètres de configuration d’un XBee[2] . . . . . . . . . . . . . . . . 22
3.2 Configuration du : XBee central et XBee extérieur . . . . . . . . . . . . . . 24
4
Introduction générale
Dans un monde qui pousse de plus en plus vers tout ce qui est sécurisé, surveillé et
protégé, nous nous voyons face à la nécessité de remplacer les anciennes techniques de sé-
curité des habitats assurées par les agents de surveillance, par des équipements intelligents
inter-connectés servant à contrôler nos domiciles. Étant donné que notre marché offre di-
vers systèmes de surveillance des domiciles et des établissements publiques, la concurrence
entre les vendeurs des solutions est devenue de plus en plus rude. Les systèmes de sécurité
disponibles sur le marché diffèrent selon les fonctionnalités offertes. En effet, la sécurité
des domiciles demeure un sujet ouvert que les chercheurs peuvent explorer pour concevoir
de nouvelles solutions innovantes qui séduisent les utilisateurs. Il existe diverses techniques
de sécurité qui assurent le contrôle d’accès et la surveillance des domiciles. Nous citons à
titre d’exemple la technique d’authentification via l’empreinte digitale, via la reconnais-
sance vocale et via la reconnaissance faciale. Cette dernière est l’une des techniques les
plus fiables et les plus robustes utilisées dans diverses applications liées à la sécurité.
Dans le cadre de ce projet de fin d’année II, nous nous intéressons à ce domaine pour
améliorer la conception d’un système de contrôle d’accès se basant sur la reconnaissance
faciale en utilisant comme noeud de traitement une carte Raspberry Pi3. Il s’agit de pal-
lier à la limite du système de surveillance réalisé l’année précédente dans le cadre d’un
PFE ENIT [2]. Dans ce PFE, il y a eu utilisation d’un PC jouant le rôle de l’unité de
traitement et donc mettant en jeu la portabilité du système. Dans le cadre de ce PFA
II, nous proposons de substituer le PC par une carte Raspberry Pi3 et on se limitera au
programme de contrôle d’accès extérieur. Ce manuscrit est composé de trois chapitres :
Dans le premier chapitre, nous présentons le PFE intitulé conception et réalisation d’un
système de contrôle d’accès et de surveillance intelligente en mettons l’accent sur les li-
mites de l’utilisation d’une unité de traitement fixe et nous introduisons par la suite l’unité
remplaçante qui assure la portabilité du système basé sur une carte Raspberry Pi3 .
Dans le deuxième chapitre, nous présentons l’unité de traitement et ses apports par rap-
port à l’utilisation d’un PC tout en introduisant la communication avec la carte arduino
et l’architecture finale de notre système d’accès.
Le dernier chapitre, sera consacré à la configuration des modules assurant la communi-
cation des noeuds du réseau de surveillance. Le test des fonctionnalités du système de
surveillance global sera présenté en fin du chapitre.
5
Chapitre 1
Présentation et limites du projet réalisé
précédemment
Introduction
Plusieurs études récentes prennent en considération le problème de sécurité et pré-
sentent le déploiement des nouvelles technologies en faveur de leurs solutions proposées.
Nous détaillerons tout au long de ce chapitre la solution de contrôle d’accès et de sur-
veillance des habitats déployée l’année précédente au sein de l’unité U2S et nous intro-
duisons par la suite le contexte de notre projet en vu de répondre aux limites du projet
déjà réalisé en mettant le point sur les fonctionnalités que notre système doit assurer.
1.1 Description générale du système
Ce système est un système multitâche qui assure à la fois le contrôle d’accès et la sur-
veillance indoor.
Le contrôle d’accès est basé sur la reconnaissance faciale. Il capte une image de la per-
sonne qui demande l’accès à l’habitat, l’envoie à une unité de traitement pour vérifier si
la personne est autorisée à entrer.
La surveillance indoor se base principalement sur le son et l’image. En effet, suite à la
détection d’un son correspondant à un évènement anormal, une caméra de surveillance se
déclenche. Le flux vidéo ainsi généré sera traité par une unité de traitement pour détecter
la présence d’une personne (un cambrioleur) dans la chambre. La détection d’un intrus
engendre la diffusion d’un émail d’alerte à tous les membres de la famille et le déclenche-
ment d’une alarme afin que les voisins réagissent.[2]
La Figure 1.1 représente l’architecture générale du système de contrôle d’accès et de sur-
veillance intelligente. Elle est composée de trois noeuds essentiels : un noeud de contrôle
d’accès, un noeud de surveillance intelligente et un noeud de traitement. Dans notre projet
de fin d’année II, nous allons ré-implémenter le système d’accès sur une carte Raspberry,
donc on s’intéressera essentiellement sur la partie outdoor du projet réalisé précédemment.
6
CHAPITRE 1. PRÉSENTATION ET LIMITES DU PROJET RÉALISÉ
PRÉCÉDEMMENT
Figure 1.1 – Architecture hardware du système d’accès[2]
1.2 Principaux modules constituant le système d’accès
Nous définissons le noeud de contrôle d’accès comme la combinaison d’une carte électro-
nique assurant la collecte des informations (les images des personnes demandant l’accès)
et d’un module de reconnaissance faciale assurant le traitement nécessaire. La Figure 1.2
présente les éléments de base du système.
Figure 1.2 – Architecture du système
1.2.1 Module d’accès
Le module du contrôle d’accès est un noeud composé d’un organe intelligent qui assure
la capture d’une image lors d’une demande d’accès. Cet organe peut être une carte élec-
tronique possédant une mémoire pour le stockage de l’image capturée par la caméra. Ce
noeud intelligent sert à contrôler l’accès à la maison en se basant sur la reconnaissance
faciale. Après avoir capturé une image de la personne demandant l’accès, le module doit
la transmettre à une unité de traitement effectuant la reconnaissance faciale.
7
CHAPITRE 1. PRÉSENTATION ET LIMITES DU PROJET RÉALISÉ
PRÉCÉDEMMENT
1.2.2 Module de traitement
Le module de traitement sert à effectuer les différents traitements nécessaires pour notre
système. C’est un centre qui collecte les informations issues des deux noeuds intelligents et
leur applique l’algorithme de reconnaissance faciale pour le contrôle d’accès. Après avoir
effectué les traitements nécessaires, Ce module renvoie des consignes au noeuds intelligents
pour ouvrir la porte ou déclencher l’alarme.
1.3 Description des composants de chaque module
1.3.1 La carte électronique et ses composants
Le noeud du système d’accès est à la base d’une carte électronique Arduino méga 2560
assurant l’acquisition des données, capable à la fois de rassembler les composants de la
figure 1.3 ci dessous :
Figure 1.3 – Carte électronique et composants nécessaires
8
CHAPITRE 1. PRÉSENTATION ET LIMITES DU PROJET RÉALISÉ
PRÉCÉDEMMENT
1.Une carte Arduino méga 2560 Cette carte répond au besoin de
16 entrées/sorties numériques.
2. Un bouton poussoir Ce bouton poussoir sert à déclen-
cher la capture d’image par le
module caméra. Son branchement
nécessite 4 pins.
3. Un module caméra Il s’agit d’un mini module ca-
méra Arducam OV2640 qui est de
haute résolution atteignant 2MP.
Pour son branchement, ce module
nécessite 6 entrées/sorties numé-
riques.[1]
4. Un servomoteur Ce servomoteur simule le rôle de
la porte d’entrée de la maison.
Son branchement nécessite 3 pins.
5. Un module XBee C’est un module radio permet-
tant de communiquer avec le pro-
tocole Zigbee 802.15.4 sert à la
transfert des données sans fil.
6. Un adaptateur shield Cet adaptateur sert à connecter
un module xbee ainsi qu’il offre
la possibilité d’y insérer une carte
mémoire.
7. Un avertisseur sonore Il sert à déclencher une alarme
suite la détection d’une personne
inconnue demandant l’accès à
l’habitat. Son branchement néces-
site deux ou trois pins selon le
type de l’avertisseur.
Table 1.1 – Configuration du : XBee central et XBee extérieur
1.3.2 Unité de traitement
L’unité de traitement sert à collecter les données issues des noeuds des sous-systèmes et
leur appliquer les algorithmes de reconnaissance faciale. Ces algorithmes sont complexes et
nécessitent une mémoire assez grande vu la taille de la base des données que l’algorithme
nécessite.
Pour assurer tous ces traitements, le PC a été choisi comme unité de traitement et le
MATLAB comme logiciel de développement des algorithmes.
9
CHAPITRE 1. PRÉSENTATION ET LIMITES DU PROJET RÉALISÉ
PRÉCÉDEMMENT
1.4 Limite du système et solution adoptée
1.4.1 Choix du PC comme une unité de traitement
Étant dans sa première ébauche, les algorithmes de détection faciale proposé dans le
PFE ENIT[2] a été implémenté sur un PC et s’exécute sous l’environnement MATLAB.
Afin d’améliorer la portabilité du système nous proposons d’utiliser une carte Raspberry
Pi3 pour unité de traitement.
.
1.4.2 La solution adoptée : Raspberry Pi3
Capable de faire tout ce que vous attendez d’un ordinateur à faire, beaucoup moins
chers, offrant les même opportunités de développement et d’exécution, la carte Raspberry
Pi3 nous a permis de développer un système de contrôle d’accès Fiable, de taux de fausse
alarme infiniment petit, de coût relativement abordable comparé aux systèmes disponibles
dans ce domaine et surtout 100% portable.
1.5 Cahier des charges du projet
Dans le cadre du projet de fin d’année II, notre objectif est de donner un aspect
de portabilité sur le PFE ENIT [2]. Pour ce faire, on doit implémenter l’algorithme de
reconnaissance faciale pour le contrôle d’accès sur une carte Raspberry Pi3.
La carte Raspberry doit communiquer avec le système d’accès externe basé sur une carte
Arduino. Ce sujet s’intitule « Implémentation d’un système de contrôle d’accès sur une
carte Raspberry ».
Conclusion
Dans ce chapitre, nous avons présenté le système de surveillance réalisé l’année pré-
cédente : un système basé sur la reconnaissance faciale en mettant l’accent sur la valeur
ajoutée par notre projet de cette année. Dans le chapitre suivant, nous présentons l’unité
de traitement et ses apports par rapport a l’utilisation d’un PC tout en introduisant sa
communication avec la carte arduino et l’architecture finale du notre système d’accès.
10
Chapitre 2
Présentation et communication
Raspberry-Arduino
Introduction
Ce chapitre sera consacré à la présentation de la carte Raspberry PI3 jouant le rôle
du notre unité de traitement. On verra par la suite, la connexion établie avec une carte
arduino et les différentes modules utilisées dans l’architecture finale du notre projet.Pour
présenter en finale, l’algorithme implémenté pour la reconnaissance faciale.
2.1 Découverte et première mise en œuvre de la
Raspberry Pi
La Raspberry Pi[7] est un nano-ordinateur inventé par le créateur de jeux vidéo David
Braben, destinée à encourager l’apprentissage de la programmation informatique et à
exécuter plusieurs distributions du système d’exploitation libre Linux. Depuis les années
2006 la fondation Raspberry pi cherche à disposer dans le marché des carte de plus en
plus performantes c’est pourquoi on trouve différentes modèles tel que A, A+, B, B+ et
B2... Dans notre projet on va s’intéressé à la carte Raspberry PI 3 modèle B.
2.1.1 La Raspberry Pi3 modèle B
Nous détaillerons dans la Figure 2.1 les différentes composantes d’une carte Raspberry
Pi3 modèle B :
11
CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO
Figure 2.1 – Raspberry Pi 3 modèle B[8]
2.1.1.1 Support du Wifi et du Bluetooth
Wi-Fi 802.11 vient d’être ratifié par l’organisme de certification IEEE. Les débits
théoriques maximals atteints par les réseaux wifi en utilisant cette norme allant dans
un intervalle de 72 à 288 Mbps, seulement en exploitant une bande de fréquence
égale à 2.4 GHz. Il est assuré par le chipset BCM43143 et l’antenne céramique sont
intégrés à la carte.
Le support Bluetooth est en version 4.1 (Bluetooth Low Energy).
2.1.1.2 Processeur
La Raspberry Pi3 est équipé d’un processeur SoC 64 bits Broadcom BCM2837 ARM
Cortex A53 avec quatre cœurs à 1,2 GHZ. On parle ici d’un doublement de performance
par rapport à la Pi2.
2.1.1.3 Modèle de connecteur MicroSD(max 128 Go)
Un connecteur push-pull qui tient simplement la carte par friction. Il faut tirer dessus
pour le ressortir.
2.1.1.4 Port Ethernet
La carte Raspberry contient un port Ethernet qui autorise un transfert de données avec
un débit de 100 Mbits/s.
2.1.1.5 RAM
Une mémoire RAM de 1GB, c’est-à-dire naviguer de façon plus fluide, tenir plus d’uti-
lisateurs sur nos serveurs ou également faire du multitâches. . .
12
CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO
2.1.1.6 HDMI : Interface Multimédia Haute Définition
Le High Definition Multimedia Interface est une interface numérique permettant le
transfert de données multimédias (audio et vidéo) non compressées en haute définition.
2.1.1.7 Interface camera
La Raspberry Pi a une Mobile Industry Processor Interface (MIPI) : appareil d’interface
série de type 2 (CSI-2). Ce qui facilite la connexion d’un petit appareil à processeur
principal Broadcom BCM2835.
2.1.1.8 Port MicroUSB
Utilisé essentiellement pour assurer l’alimentation de la carte avec un maximum de
2.4A d’ampérage.
2.1.1.9 Port DSI (Display Serial Interface)
Assurant la connexion entre un écran tactile et la carte Raspberry Pi.
2.1.1.10 Connecteur GPIO(General Purpose Input Output)
Disposant de 40 broches GPIO est considéré comme l’un des grands points intéressants
du Raspberry Pi3. En effet, ces connecteurs servent à connecter du matériel externe.
2.1.1.11 Ports USB
Les ports USB dont le nombre est quatre augmentent toutefois la possibilité de connec-
ter simultanément plus qu’un matériel via USB : souris, clavier, clé 4G, flash disque,
XBee, ... .
2.1.2 Préparation de la carte SD
La Raspberry Pi charge son système d’exploitation à partir du lecteur de carte micro
SD. Il est donc indispensable de préparer le système de manière appropriée pour que
le nano ordinateur puisse démarrer correctement. Tout d’abord, il faut commencer par
l’installation d’un logiciel qui s’appelle NOOBS (New Out Of Box Software) qui simplifie
le processus d’installation d’un système d’exploitation pour la carte. Une fois le Raspberry
Pi est démarrée avec NOOBS, une fenêtre s’affiche pour vous proposer différents systèmes
d’exploitations que vous pouvez l’installer. Vous aurez le choix entre :
Raspbian.
LibreElec.
OSMC.
Windows 10 IoT Core.
Dans notre projet, nous avons choisi d’installer Raspbian dans sa récente version Jessie.
13
CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO
2.1.3 Raspberry Pi sur le réseau
Le client DHCP est activé par défaut sur Raspbian. En effet, dés le moment où on
connecte la carte à un câble Ethernet murale disponible dans la salle (ou via un switch)
on profite du fait que le réseau utilise un service DHCP (Dynamic Host Configuration
Protocol) dont la fonction principale est de distribuer des adresses IP aux hôtes connectées.
Après la récupération d’une adresse IP dynamique en utilisant la commande ifconfig dans
le terminal du Raspberry on peut par la suite se connecter via cette adresse à partir
d’un autre poste informatique connecté sur le même réseau que notre carte, rien que pour
assurer certaines tâches à distance l’aide de deux fameux logiciels Putty et Vnc sans avoir
besoin de connecter la carte sur un écran. Cependant, il est vivement conseillé avant tout,
de rendre l’adresse statique afin de facilter la connexion à chaque fois. Tout est assuré
avec une simple modification au niveau des configurations en exécutant la commande :
sudo nano /etc/network/interfaces.
2.1.3.1 Putty
C’est un logiciel Windows qui permet de prendre le contrôle à distance du Raspberry
Pi en utilisant le protocole SSH (Secure Shell). Dans notre distribution Linux installer,
il faut tout d’abord activer le client SSH. Le dialogue s’effectue uniquement dans une
console en mode texte dans lequel on peut exécuter des commandes Linux, exécuter des
programmes Python, gérer des fichiers, ... . Mais ce dernier nous ne permet pas une prise
de contrôle avec l’environnement de bureau LXDE en mode graphique.
Figure 2.2 – Configuration Putty
14
CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO
2.1.3.2 VNC : Virtual Network Computer
C’est un système graphique de partage de bureau qui permet de contrôler à distance
l’interface de bureau d’un ordinateur. Tout en exécutant VNC Server à partir d’un autre
ordinateur ou d’un appareil mobile avec VNC Viewer.
VNC Viewer transmet le clavier et les événements de la souris ou de la touche au serveur
VNC et reçoit les mises à jour de l’écran en retour. Après l’activation de VNC dans le
Raspberry on va voir son bureau dans une fenêtre sur notre ordinateur ou notre appareil
mobile.
2.2 Communication Arduino-Raspberry Pi3
Pour assurer la communication entre une carte arduino et une carte Raspberry, nous
avons besoin d’un protocole de communication approprié qui garantit le transfert des
données. Nous distinguons divers protocoles de communication sans fil : chacun possède
des avantages et des inconvénients par rapport aux autres. Le choix du meilleur protocole
de communication diffère selon le type d’application en question et les exigences et les
contraintes qui s’imposent. ZigBee, Bluetooth et Wifi sont les protocoles de communica-
tions les plus utilisés dans le domaine de la surveillance des habitats. Nous comparons
dans le Tableau 2.1 ces trois protocoles en termes de critères.
Protocole ZigBee 802.15.4 Bluetooth Wifi
Distance 10 à 100 m 10 m >100 m
Extension Automatique Non Selon l’architecture
Autonomie Des années Des jours Des heurs
Complexité Simple Compliqué Très compliqué
Temps de transmission 250 Kbps 1 Mbps 54 Mbps
Fréquence 868/915 MHz 2.4 GHz 2.4 GHz 2.4 GHz
Nombre maximal des noeuds 65535 8 50
Temps de connexion 30 ms >10 s >3s
Cout Réduit Réduit Elevé
Sécurité 128 bit AES 64,128 AES SSID
Table 2.1 – Comparaison des protocoles de communication sans fil : ZigBee, Bluetooth et Wifi
[3]
Le Tableau ci-dessus montre que le protocole de communication ZigBee 802.15.4 est un
protocole de faible consommation d’énergie, de coût réduit et qui est simple à exploiter et
s’apprête à l’extension.[4] Malgré son faible débit, plusieurs études utilisent ZigBee pour
assurer l’envoi des données complexes comme l’image,le son et la vidéo. Notre système sera
installé au niveau des habitats pour assurer la surveillance. La consommation d’énergie
15
CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO
demeure une contrainte importante. Ainsi, notre système doit être totalement indépen-
dant de toute source d’énergie externe et ne doit être alimenté que par que sa batterie. Vu
son faible coût, sa simplicité, sa faible consommation d’énergie (une autonomie qui peut
atteindre des années) et son utilisation dans différents système de surveillance à base de
son et d’image, ZigBee nous semble le meilleur protocole de communication sans fil. Ce
choix est confirmé par le fait que les portées des liaisons ne sont pas importantes. Nous
allons donc utiliser le protocole de communication sans fil ZigBee pour assurer la commu-
nication entre le noeud de sous système extérieur et le centre de traitement (Raspberry).
Figure 2.3 – Connexion Arduino-Raspberry via XBee
2.3 OpenCV
OpenCV (Open Source Computer Vision Library) est une bibliothèque de logiciels d’ap-
prentissage libre par machine. [5]. OpenCV facilite aux entreprises d’utiliser et de modifier
le code. La bibliothèque dispose de plus de 2500 algorithmes optimisés, ce qui comprend
un ensemble complet d’algorithmes d’apprentissage par machine à la fois classique et à
la fine pointe de la technologie. Ces algorithmes peuvent être utilisés pour détecter et
reconnaître les visages, identifier les objets, classer les actions humaines dans les vidéos,
suivre les mouvements de la caméra, suivre les objets en mouvement, extraire des modèles
16
CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO
3D d’objets, produire des nuages de points 3D à partir de caméras stéréo, collecter les
images toutes ensemble pour produire une image d’une scène entière en haute résolution,
trouver des images similaires à partir d’une base de données d’images, enlever les yeux
rouges des images prises en utilisant le flash, suivre les mouvements des yeux, reconnaître
les paysages et établir des marqueurs pour la superposer avec une réalité augmentée, ... .
OpenCv nous facilite le développement de l’algorithme de reconnaissance faciale.
2.4 Algorithme de reconnaissance faciale
La reconnaissance faciale peut se définir comme étant l’identification ou la vérification
d’une personne à partir d’une image numérique ou d’une image vidéo à partir d’une source
vidéo. Une des façons de le faire est de comparer les caractéristiques faciales sélectionnées
de l’image et une base de données.
2.4.1 Description de l’algorithme LBP
L’algorithme de reconnaissance faciale que nous avons testé avec dans notre projet
requière trois grandes étapes :
Trouver une bonne base de données avec des images multiples de visages pour chaque
individu.
Un descripteur est calculé pour chaque image de la base.
Tester le descripteur sur les images de la base de données.
Cet algorithme est développé à la base du descripteur LBP.
2.4.1.1 Descripteur LBP
LBP est un descripteur de caractéristiques très important et qui est utilisé dans la
vision par ordinateur pour la correspondance de texture. Il a été publié pour la première
fois en 1990 et, par la suite, diverses versions modifiées ont été publiées.
2.4.1.2 Calcul du decripteur LBP
Tout d’abord, l’image couleur d’entrée doit être converti en niveaux de gris, puisque
LBP fonctionne sur des images en niveaux de gris. Pour chaque pixel dans l’image en
niveaux de gris, un quartier est sélectionné autour du pixel actuel, puis nous calculons la
valeur LBP pour le pixel à l’aide du voisinage. Après avoir calculé la valeur LBP du pixel
actuel, nous mettons à jour l’emplacement de pixel correspondant dans le masque LBP (il
est de même hauteur et largeur que l’image d’entrée.). Dans l’image, nous avons 8 pixels
voisins.[9]
Si la valeur de pixel actuelle est supérieure ou égale à la valeur de pixel voisine, le bit
correspondant dans le tableau binaire est réglé sur 1 autre sinon le bit correspondant dans
17
CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO
Figure 2.4 – Conversion d’une image en niveaux de gris en un masque LBP
le tableau binaire est réglé sur 0.
L’ensemble du processus est illustré dans la figure 2.5. Le pixel actuel (central) a la
valeur 7. Nous commençons à comparer le pixel voisin où l’étiquette 0. La valeur du pixel
voisin avec l’étiquette 0 est 2. Puisqu’il est inférieur à la valeur de pixel actuel qui est
7, on réinitialise le 0ème emplacement de bit dans le réseau binaire de 8 bits à 0. Nous
l’annulons ensuite dans le sens inverse des aiguilles d’une montre. Le prochain emplace-
ment d’étiquette 1 a une valeur 7 qui est égale à la valeur de pixel actuel. Nous définissons
donc l’emplacement du premier bit dans le binaire de 8 bits en 1. Nous continuons alors
à passer au prochain pixel voisin jusqu’à ce que nous atteignions le 8ème pixel voisin.
Ensuite, le motif binaire 8 bits est converti en un nombre décimal et le nombre décimal
est alors stocké dans l’emplacement de pixel correspondant dans le masque LBP.
Figure 2.5 – Calcul des valeurs de LBP[9]
Une fois que nous avons calculé le Masque LBP, nous calculons l’histogramme LBP. Les
valeurs du masque LBP vont de 0 à 255, donc notre descripteur LBP sera de taille 1x256.
Nous normalisons alors l’histogramme LBP. La figure ci-dessous montre le schéma de l’al-
gorithme.
18
CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO
Figure 2.6 – Calcul des valeurs de LBP[9]
Charger l’image couleur.
Convertir en image en niveaux de gris.
Calculer le masque LBP.
Calculer l’histogramme LBP et normalisez-le.
Conclusion
Dans ce chapitre, nous avons présenté notre unité de traitement, la Raspberry Pi3.
Nous avons établit par la suite sa connexion avec la carte arduino méga et les différentes
modules utilisées dans l’architecture finale du notre projet. Pour arriver enfin à présenter la
bibliothèque OpenCV qui nous facilite le développement de l’algorithme de reconnaissance
faciale. Dans le dernier chapitre, il nous reste à décrire les différentes étapes de réalisation
du notre système et à le tester.
19
Chapitre 3
Réalisation du système du contrôle
d’accès
Introduction
Nous présentons dans ce chapitre en détails les étapes de réalisation de notre système
et les fonctionnalités qu’il offre. Ensuite nous passons à la validation du système tout en
effectuant les tests nécessaires (contrôle d’accès).
3.1 Configuration des modules de communication XBee
Cette phase sert à configurer les modules XBee pour qu’ils puissent communiquer cor-
rectement. La configuration est fait via le module XBee Explorer : ce module montré par
la Figure 3.1 doit être relié à un ordinateur contenant un logiciel approprié responsable
de l’attribution des paramètres de configuration.
Figure 3.1 – XBee connecté au PC à travers un XBee Explorer
Pour assurer la configuration des modules XBee des noeuds de notre système, nous avons
20
CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS
téléchargé la version 6.3.0 du logiciel X-CTU que la compagnie Digi a développé avec les
modules qu’elle fabrique. Il s’agit d’une plateforme ouverte qui travaille sous plusieurs
systèmes d’exploitation tels que Linux, Windows et MacOs. Ce logiciel nous permet grâce
à son interface graphique (Figure 3.2) de détecter les modules insérés et les configurer
[10].
Figure 3.2 – Logiciel X-CTU
Le XCT-U commence à analyser le port COM auquel le module XBee Explorer est relié
au PC. Une fois trouvé et détecté, ce module sera ajouté à la liste des modules XBee. La
Figure 3.3 montre les étapes de détection d’un nouveau module XBee connecté au PC.
Figure 3.3 – La détection d’un nouveau module XBee
21
CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS
Après avoir ajouté le nouveau module XBee, nous pouvons le configurer en changeant
les paramètres décrits dans le Tableau 3.1. Les paramètres de configuration par l’interface
graphique sont montrés par la Figure 3.4.
Paramètre Signification
PAN ID C’est l’identifiant du réseau ZigBee qui doit être
unique à tous les modules occupant le même réseau.
MY C’est l’adresse du module XBee émetteur.
DH C’est la partie composée des 8 bits les plus forts du
module XBee récepteur.
DL C’est la partie composée des 8 bits les plus faibles
du module XBee récepteur.
SH C’est la partie composée des 8 bits les plus forts de
la série du module XBee.
SL C’est la partie composée des 8 bits les plus faibles
de la série du module XBee.
Table 3.1 – Les paramètres de configuration d’un XBee[2]
Figure 3.4 – Configuration d’un XBee
22
CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS
Nous pouvons tester la connectivité de deux modules XBee via la console que le logi-
ciel XCT-U offre. Pour ce faire, nous connectons deux modules XBee au PC et nous les
configurons de façon qu’ils puissent communiquer entre eux (Figure 3.5).
Figure 3.5 – Connexion de deux XBee au PC
La Figure 3.6 montre une communication entre deux modules XBee via la console de
XCT-U.
Figure 3.6 – Test de connectivité des deux XBee
23
CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS
Dans notre système, nous nous disposons d’un noeud qui contient un module XBee as-
surant sa communication avec le module central. Ainsi, il est indispensable que les deux
modules soient dans le même réseau avec des adresses différentes. La topologie de notre
réseau est en étoile, donc chacun des noeuds communique au noeud central sans passer
par l’autre noeud. Le Tableau 3.2 représente les configurations nécessaires des modules
de communication sans fil de notre système.
XBee central XBee extérieur
PAN ID 1234 1234
MY 10 11
DH 0 0
DL 11 10
SH 13A200 13A200
SL 40E9C405 40F364EA
Table 3.2 – Configuration du : XBee central et XBee extérieur
Après la configuration des deux modules XBee, on peut s’assurer de la communication
entre les deux cartes. La figure ci dessous montre la réception d’un message "Bonjour
Framboise" par la carte Raspberry envoyé de la part d’une carte Arduino.
Figure 3.7 – Test de communication entre la carte Raspberry et la carte arduino
24
CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS
3.2 Implémentation de l’algorithme
Pour aboutir à une identification de personne demandant l’accès on va passé par trois
grandes étapes :
La constitution d’une base de données composée d’une dizaine d’images. Pour
chaque personne on a associé plusieurs images avec des grimasses différentes.
La détection des visages dans les images de la base de données pour l’utiliser par la
suite dans la formation de reconnaisseur facial.
Le test de reconnaisseur facial pour reconnaître les visages pour lesquels il a été
formé.
3.2.1 Base de données
Nous avons utilisé pour tester cet algorithme, une base de données qui contient 40
images couleur de 8 personnes au format GIF. Pour chaque individu il y a 5 images .
L’individu possède une expression faciale différente dans chaque image.
Figure 3.8 – Base de données utilisée[6]
25
CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS
3.2.2 la mise en oeuvre
Après avoir présenter notre base de données, on attaque maintenant le développement
de l’algorithme de reconnaissance de visage en suivant ces étapes :
Importer les modules nécessaires :
— cv2 : Il s’agit du module OpenCV qui contient les fonctions de détection et de
reconnaissance faciale.
— os : on utilise ce module pour extraire les noms d’image dans le répertoire
de la base de données, puis, à partir de ces noms, nous extrairons le numéro
individuel qui sera utilisé comme étiquette pour le visage dans cette image.
— Image : Puisque OpenCv ne prend pas en charge le format GIF des images
constituant la base , on utilise alors le module PIL pour lire l’image au format
en niveau de gris .
— numpy : Nos images seront stockées dans des tableaux numpy.
Charger la cascade de détection de visage :
— Détecter le visage dans chaque image
— Former le reconnaisseur
Créer l’objet reconnaisseur facial :
Nous utiliserons le reconnaisseur LBP.
Test du détecteur de visage :
Nous affichons également le score de confiance pour chaque reconnaissance. Plus la
valeur de la variable de confiance est élevée, moins le reconnaisseur a confiance en
la reconnaissance. Une valeur de confiance de 0.0 est une reconnaissance parfaite.
3.3 Test de l’algorithme
3.3.1 Capture de l’image
La capture de l’image de la personne souhaitant entrer se fait par l’intermédiaire d’une
carte Arduino, un bouton poussoir et une caméra. Une fois la capture est terminée, la
photo de la personne sera envoyée vers la Raspberry et celle ci envoie en retour une com-
mande qui soit ouvre la porte si la personne est connue soit déclenche une alarme. Dans
le figure 3.9 on présente les différents composants assurant cette implémentation. Le servo
joue le rôle d’une porte et le bouton d’une clochette.
26
CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS
Figure 3.9 – Composants du système de contrôle
3.3.2 Traitement et algorithme appliqué sur une image
Après avoir capturé une image, celle ci va être envoyée via XBee vers la carte Raspberry
et l’algorithme LBP s’applique pour la traiter. La figure 3.10 nous montre le test de
l’algorithme sur une base de données existante sur la carte Raspberry.
Figure 3.10 – Test de l’algorithme
3.4 Difficultés rencontrées
Le sujet de notre PFA II est très intéressant. Implémenter un système embarquée et
découvrir la carte Raspberry Pi3 nous semble un pas avantageux dans notre parcours. Et
même avec toutes les difficultés et parfois les échecs on a beaucoup appris. Toutefois, il
faut se dire que c’est des échecs, plus que de succès, que l’on apprend le plus.
D’abord, afin de débuter toutes implémentations, nous avons passé des jours à savoir de
quoi s’agit une carte Raspberry et quelles sont ses fonctionnalités. Surtout dans le cadre
de l’ENIT on n’a pas trouvé le lieu adéquat pour découvrir l’interface graphique de la
Raspberry, pour connecter notre carte à Internet afin de télécharger les logiciels néces-
saire pour tester l’algorithme de reconnaissance faciale.
27
CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS
Ensuite, lorsqu’on est arrivé à l’étape du développement de l’algorithme et la nécessité
d’installer OpenCV sur la carte. On a passé plus qu’une semaine à l’installer. Trois carte
mémoire ont été endommagée suite à l’installation et on a réinstaller le système d’exploi-
tation à chaque fois. On n’a pas pu réussir que lorsqu’on a utilisé une carte mémoire de
classe 10 et Raspbian Jessie comme système d’exploitation.
Pour arriver enfin à l’étape de la réception et la reconstitution de l’image où nous nous
sommes totalement bloquées. En fait, nous avons validé la bonne réception des valeurs de
l’image capturée par l’Arduino de la part de la carte Raspberry, mais malheureusement,
nous n’avons pas pu la décodée et la reconstituée.
Conclusion
La bonne utilisation et exploitation des nouvelles techniques de surveillance et des
protocoles de communication sans fil nous a permis d’implémenter un système de contrôle
d’accès 100% portable qui sert à contrôler l’accès des habitats. Ainsi, nous avons présenté
dans ce dernier chapitre, les différentes étapes de réalisation de ce système tout en le
validant en effectuant les tests nécessaires.
28
Conclusion générale
Le contrôle d’accès et la surveillance des domiciles et des établissements publiques et
privés présente un souci que tout le monde en cherche à lui faire face. Pour ce faire, dans
ce projet de fin d’année, nous avons réussi à implémenter un système de contrôle d’accès
intelligent qui vise à répondre aux problèmes de surveillance et de sécurité des habitats.
Pour aboutir à un tel système, nous avons utilisé une carte Raspberry Pi3 rien que pour
répondre au problème de portabilité du système. Pour le contrôle et la détection d’intru-
sion nous avons utilisé un algorithme de reconnaissance faciale développé en python et
basé sur le fameux algorithme « LBP ».
Notre système contient un nœud intelligent capable de communiquer avec le nœud cen-
tral responsable de la reconnaissance faciale (La Raspberry Pi3). Ce nœud est équipé d’un
module XBee assurant la communication sans fil. En outre, il est composé d’une carte
Arduino équipée d’un module de caméra pour la capture d’image de la personne deman-
dant l’accès, d’un bouton poussoir pour amorcer la capture. Aussi, elle se dispose d’un
servomoteur jouant le rôle d’une porte qui s’ouvre si la personne est considérée comme
connue et qui se ferme sinon et d’un avertisseur sonore qui se déclenche si la personne
voulant entrer est inconnue.
Notre projet est prêt à être étendu. D’une part, il lui manque la partie de contrôle in-
terne (classification des sons environnementaux et détection de personne). D’autre part,
on peut connecter le module caméra à internet pour garantir la possibilité de surveiller
notre domicile en temps réel surtout que la carte Raspberry Pi3 dispose d’un module wifi
ce qui va faciliter les manipulations sans toucher à la portabilité du système.
29
Bibliogaphies
[1] ArduCAM-M-2MP Camera User Guide. url : http://www.arducam.com/downloads/
shields/ArduCAM_Mini_2MP_Camera_Shield_DS.pdf.
[2] “Conception et réalisation d’un système de contrôle d’accès et de surveillance intel-
ligente”. In : Soutenu le 24 Septembre 2016.
[3] Yu-Wei Su Jin-Shyan Lee et Chung-Chou Shen. “A Comparative Study of Wire-
less Protocols : Bluetooth, UWB, ZigBee, and Wi-Fi”. In : url : http://www.ee.
oulu.fi/~kk/dtsp/tutoriaalit/Shen.pdf.
[4] Yu-Wei Su Jin-Shyan Lee et Chung-Chou Shen. “a Comparative Study of Wire-
less Protocols : Bluetooth, UWB, ZigBee, and Wi-Fi, Information Communications
Research Labs Industrial Technology Research Institute (ITRI) Hsinchu, Taiwan,
The 33rd Annual Conference of the IEEE Industrial Electronics Society (IECON)”.
In : November 2007.
[5] OpenCV library. url : http://opencv.org/about.html.
[6] Brian O’Connor et Kaushik Roy. “Facial Recognition using Modified Local Binary
Pattern and Random Forest, Department of Computer Science, North Carolina AT
State University, Greensboro”. In : November 2013.
[7] Raspberry Pi.
[8] Raspberry Pi 3 model B | 3DSOMA. url : https://www.google.tn/search?q=
raspberry+pi3+model+B+.
[9] Texture Matching using Local Binary Patterns (LBP), OpenCV, scikit-learn and
Python. url : http://hanzratech.in/2015/05/30/local-binary-patterns.
html.
[10] XCTU, Next Generation Configuration Platform for XBee/RF Solutions. url :
http://www.digi.com/products/xbee-rf-solutions/xctu-software/xctu.
30

Contenu connexe

Tendances

Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Raoua Bennasr
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année
kaies Labiedh
 
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
rim elaire
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
HibaFarhat3
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
MehdiOuqas
 
Rappport PFE 2012 Ghodhbane Hani - OpenSNC
Rappport PFE 2012 Ghodhbane Hani - OpenSNCRappport PFE 2012 Ghodhbane Hani - OpenSNC
Rappport PFE 2012 Ghodhbane Hani - OpenSNC
Ghodbane Heni
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
Hicham Ben
 
Conception et développement d’un système d’alerte et notification d’une tou...
Conception et développement  d’un système d’alerte et notification  d’une tou...Conception et développement  d’un système d’alerte et notification  d’une tou...
Conception et développement d’un système d’alerte et notification d’une tou...
Bilel Khaled ☁
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Hajer Dahech
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Ayoub Mkharbach
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
Nazih Heni
 
Présentation pfe finale
Présentation pfe finalePrésentation pfe finale
Présentation pfe finale
Ahmed Abdeljelil
 
Rapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc InformatiqueRapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc Informatique
Eric Maxime
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
Ilef Ben Slima
 
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
Application  de gestion, suivi,et de sécurité des chantiers en temps réels.Application  de gestion, suivi,et de sécurité des chantiers en temps réels.
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
Sabri El gharbi El yahmadi
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
Donia Hammami
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
Rim ENNOUR
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
Rouâa Ben Hammouda
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
BadrElattaoui
 

Tendances (20)

Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année
 
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 
Rappport PFE 2012 Ghodhbane Hani - OpenSNC
Rappport PFE 2012 Ghodhbane Hani - OpenSNCRappport PFE 2012 Ghodhbane Hani - OpenSNC
Rappport PFE 2012 Ghodhbane Hani - OpenSNC
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
Conception et développement d’un système d’alerte et notification d’une tou...
Conception et développement  d’un système d’alerte et notification  d’une tou...Conception et développement  d’un système d’alerte et notification  d’une tou...
Conception et développement d’un système d’alerte et notification d’une tou...
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
PFE_Report
PFE_ReportPFE_Report
PFE_Report
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Présentation pfe finale
Présentation pfe finalePrésentation pfe finale
Présentation pfe finale
 
Rapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc InformatiqueRapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc Informatique
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
Application  de gestion, suivi,et de sécurité des chantiers en temps réels.Application  de gestion, suivi,et de sécurité des chantiers en temps réels.
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
 

Similaire à Projet réalisé par ameny Khedhira & Arij Mekki

rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
yosra fraiji
 
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauRapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Nicolas Roulleau
 
Preparation tpcisco reseaux
Preparation tpcisco reseauxPreparation tpcisco reseaux
Preparation tpcisco reseaux
Baudosky Konnigui
 
Automatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAutomatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application android
Abderrahim Bouharaoua
 
Projet de-recherche-Tuteuré
Projet de-recherche-TuteuréProjet de-recherche-Tuteuré
Projet de-recherche-Tuteuré
Rullier Anthony
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP SoftphoneHamza Lazaar
 
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdfProtection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
MELLAH MOULOUD Sorbonne Université - Sciences et Ingénierie
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
Université de Rennes 1
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Alaaeddine Tlich
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Nawres Farhat
 
PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdf
BacemHlabba
 
Conception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelConception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM Nortel
Tidiane Sylla
 
Model Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTTModel Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTT
ymelka
 
These
TheseThese
Report Master
Report MasterReport Master
Report Master
Bilel Trabelsi
 
Deploy automatic in the cloud
Deploy automatic in the cloudDeploy automatic in the cloud
Deploy automatic in the cloud
Abdelhalim KADDOUR GUETTAOUI
 

Similaire à Projet réalisé par ameny Khedhira & Arij Mekki (20)

rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
 
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauRapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
 
these_sample
these_samplethese_sample
these_sample
 
Preparation tpcisco reseaux
Preparation tpcisco reseauxPreparation tpcisco reseaux
Preparation tpcisco reseaux
 
Automatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAutomatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application android
 
Projet de-recherche-Tuteuré
Projet de-recherche-TuteuréProjet de-recherche-Tuteuré
Projet de-recherche-Tuteuré
 
siem.pdf
siem.pdfsiem.pdf
siem.pdf
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
 
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdfProtection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdf
 
Conception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelConception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM Nortel
 
Model Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTTModel Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTT
 
These
TheseThese
These
 
Reseaux
ReseauxReseaux
Reseaux
 
B1
B1B1
B1
 
Report Master
Report MasterReport Master
Report Master
 
Deploy automatic in the cloud
Deploy automatic in the cloudDeploy automatic in the cloud
Deploy automatic in the cloud
 

Dernier

S210-S-27.04-chaudiere-à-vapeur bilan thermique
S210-S-27.04-chaudiere-à-vapeur bilan thermiqueS210-S-27.04-chaudiere-à-vapeur bilan thermique
S210-S-27.04-chaudiere-à-vapeur bilan thermique
ALIIAE
 
SRE - Mythes et Réalités - Voxxed 2024.pdf
SRE - Mythes et Réalités - Voxxed 2024.pdfSRE - Mythes et Réalités - Voxxed 2024.pdf
SRE - Mythes et Réalités - Voxxed 2024.pdf
Henri Gomez
 
Note Agro-climatique et prairies n°4 - Juin 2024
Note Agro-climatique et prairies n°4 - Juin 2024Note Agro-climatique et prairies n°4 - Juin 2024
Note Agro-climatique et prairies n°4 - Juin 2024
idelewebmestre
 
PFE MASTER en Développement d’une Application E-commerce avec la Technologie ...
PFE MASTER en Développement d’une Application E-commerce avec la Technologie ...PFE MASTER en Développement d’une Application E-commerce avec la Technologie ...
PFE MASTER en Développement d’une Application E-commerce avec la Technologie ...
ayoub_anbara96
 
PFE ABDOUS BERRI 2024, RAPPORT COMPLET RETA FINAL.pdf
PFE ABDOUS BERRI 2024, RAPPORT COMPLET RETA FINAL.pdfPFE ABDOUS BERRI 2024, RAPPORT COMPLET RETA FINAL.pdf
PFE ABDOUS BERRI 2024, RAPPORT COMPLET RETA FINAL.pdf
iheberry
 
Rénovation des prairies sans labour est-ce possible en bio.pdf
Rénovation des prairies sans labour est-ce possible en bio.pdfRénovation des prairies sans labour est-ce possible en bio.pdf
Rénovation des prairies sans labour est-ce possible en bio.pdf
idelewebmestre
 
Alternative au 3eme lien et complement au Tramway de la ville de Quebec Rev 1...
Alternative au 3eme lien et complement au Tramway de la ville de Quebec Rev 1...Alternative au 3eme lien et complement au Tramway de la ville de Quebec Rev 1...
Alternative au 3eme lien et complement au Tramway de la ville de Quebec Rev 1...
Daniel Bedard
 

Dernier (7)

S210-S-27.04-chaudiere-à-vapeur bilan thermique
S210-S-27.04-chaudiere-à-vapeur bilan thermiqueS210-S-27.04-chaudiere-à-vapeur bilan thermique
S210-S-27.04-chaudiere-à-vapeur bilan thermique
 
SRE - Mythes et Réalités - Voxxed 2024.pdf
SRE - Mythes et Réalités - Voxxed 2024.pdfSRE - Mythes et Réalités - Voxxed 2024.pdf
SRE - Mythes et Réalités - Voxxed 2024.pdf
 
Note Agro-climatique et prairies n°4 - Juin 2024
Note Agro-climatique et prairies n°4 - Juin 2024Note Agro-climatique et prairies n°4 - Juin 2024
Note Agro-climatique et prairies n°4 - Juin 2024
 
PFE MASTER en Développement d’une Application E-commerce avec la Technologie ...
PFE MASTER en Développement d’une Application E-commerce avec la Technologie ...PFE MASTER en Développement d’une Application E-commerce avec la Technologie ...
PFE MASTER en Développement d’une Application E-commerce avec la Technologie ...
 
PFE ABDOUS BERRI 2024, RAPPORT COMPLET RETA FINAL.pdf
PFE ABDOUS BERRI 2024, RAPPORT COMPLET RETA FINAL.pdfPFE ABDOUS BERRI 2024, RAPPORT COMPLET RETA FINAL.pdf
PFE ABDOUS BERRI 2024, RAPPORT COMPLET RETA FINAL.pdf
 
Rénovation des prairies sans labour est-ce possible en bio.pdf
Rénovation des prairies sans labour est-ce possible en bio.pdfRénovation des prairies sans labour est-ce possible en bio.pdf
Rénovation des prairies sans labour est-ce possible en bio.pdf
 
Alternative au 3eme lien et complement au Tramway de la ville de Quebec Rev 1...
Alternative au 3eme lien et complement au Tramway de la ville de Quebec Rev 1...Alternative au 3eme lien et complement au Tramway de la ville de Quebec Rev 1...
Alternative au 3eme lien et complement au Tramway de la ville de Quebec Rev 1...
 

Projet réalisé par ameny Khedhira & Arij Mekki

  • 1. Ecole Nationale d’Ingénieurs de Tunis Département Technologies de l’Information et de la Communication Projet de Fin d’Année II Implémentation d’un système de contrôle d’accès sur une carte Raspberry Réalisé par : Mekki Arij Khedhira Ameny Classe :2ème Année Télécommunications Encadré par : Mme Turki Monia Année universitaire 2016/2017
  • 2. Remerciement C’est avec le plus grand honneur que nous avons réservé cette page en signe de grati- tude et de reconnaissance à tous ceux qui nous a aidé de prés ou de loin , à réaliser ce modeste projet. On tient en premier lieu à remercier Mme Monia Turki d’avoir nous proposer le sujet et nous encadrer tout au long de sa réalisation. Merci pour tout le temps que vous nous avez consacré durant toute cette période et pour vos réponses à toutes nos interrogations. On remercie également M. Samir Sakarani pour ses conseils et ses remarques enrichis- santes qui nous ont permis d’améliorer la qualité du travail. Enfin, nous adressons notre profonde gratitude à tous nos amis qui ont pris la peine de relire le rapport et de porter à notre attention toutes critiques de forme ou de contenu.
  • 3. Résumé Les systèmes électroniques et les réseaux de télécommunication ne cessent de se développer. Sur ce la surveillance surveillance des domiciles a connu son vrai essor luttant contre tout type d’insécurité qui peut menacer les habitats. Toutefois, suite à la décou- verte des nouvelles techniques de traitements dédiées essentiellement à la surveillance intelligente les nouveaux systèmes de surveillance ont vécu un grand succès. En se basant sur ces nouvelles techniques, ce projet vise à contribuer à l’amélioration du sujet de PFE proposé l’année précédente concevant un système de contrôle d’accès intelli- gent qui vise à lutter contre tout type d’intrusion suspecte. Et afin de donner un aspect de portabilité au système déjà réalisé, nous avons exploité pour le noeud de traitement une carte Raspberry Pi3. Dans notre projet nous avons réalisé le sous système extérieur qui est composé de deux noeuds essentiels : un noeud installé au niveau de la porte d’entrée qui sert à collecter les images des personnes demandant l’accès, et un centre de traitement qui effectue la reconnaissance faciale. La communication entre les noeuds de notre système, est assurée par un protocole ZigBee 802.15.4 caractérisé par sa faible consommation en énergie et son faible coût. Mots clés : Contrôle d’accès, algorithme de reconnaissance faciale, Raspberry Pi3, ZigBee 802.15.4.
  • 4. Table des matières 1 Présentation et limites du projet réalisé précédemment 6 Introduction 6 1.1 Description générale du système . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Principaux modules constituant le système d’accès . . . . . . . . . . . . . 7 1.2.1 Module d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.2 Module de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Description des composants de chaque module . . . . . . . . . . . . . . . . 8 1.3.1 La carte électronique et ses composants . . . . . . . . . . . . . . . . 8 1.3.2 Unité de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 Limite du système et solution adoptée . . . . . . . . . . . . . . . . . . . . 10 1.4.1 Choix du PC comme une unité de traitement . . . . . . . . . . . . 10 1.4.2 La solution adoptée : Raspberry Pi3 . . . . . . . . . . . . . . . . . 10 1.5 Cahier des charges du projet . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Conclusion 10 2 Présentation et communication Raspberry-Arduino 11 Introduction 11 2.1 Découverte et première mise en œuvre de la Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.1 La Raspberry Pi3 modèle B . . . . . . . . . . . . . . . . . . . . . . 11 2.1.1.1 Support du Wifi et du Bluetooth . . . . . . . . . . . . . . 12 2.1.1.2 Processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.1.3 Modèle de connecteur MicroSD(max 128 Go) . . . . . . . 12 2.1.1.4 Port Ethernet . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.1.5 RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.1.6 HDMI : Interface Multimédia Haute Définition . . . . . . 13 2.1.1.7 Interface camera . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.1.8 Port MicroUSB . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.1.9 Port DSI (Display Serial Interface) . . . . . . . . . . . . . 13 2.1.1.10 Connecteur GPIO(General Purpose Input Output) . . . . 13 2.1.1.11 Ports USB . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1
  • 5. TABLE DES MATIÈRES 2.1.2 Préparation de la carte SD . . . . . . . . . . . . . . . . . . . . . . 13 2.1.3 Raspberry Pi sur le réseau . . . . . . . . . . . . . . . . . . . . . . 14 2.1.3.1 Putty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.3.2 VNC : Virtual Network Computer . . . . . . . . . . . . . 15 2.2 Communication Arduino-Raspberry Pi3 . . . . . . . . . . . . . . . . . . . . 15 2.3 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4 Algorithme de reconnaissance faciale . . . . . . . . . . . . . . . . . . . . . 17 2.4.1 Description de l’algorithme LBP . . . . . . . . . . . . . . . . . . . . 17 2.4.1.1 Descripteur LBP . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.1.2 Calcul du decripteur LBP . . . . . . . . . . . . . . . . . . 17 Conclusion 19 3 Réalisation du système du contrôle d’accès 20 Introduction 20 3.1 Configuration des modules de communication XBee . . . . . . . . . . . . . 20 3.2 Implémentation de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2.1 Base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2.2 la mise en oeuvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Test de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.1 Capture de l’image . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.2 Traitement et algorithme appliqué sur une image . . . . . . . . . . 27 3.4 Difficultés rencontrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Conclusion 28 Bibliogaphies 30 2
  • 6. Table des figures 1.1 Architecture hardware du système d’accès[2] . . . . . . . . . . . . . . . . . 7 1.2 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 Carte électronique et composants nécessaires . . . . . . . . . . . . . . . . . 8 2.1 Raspberry Pi 3 modèle B[8] . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 Configuration Putty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Connexion Arduino-Raspberry via XBee . . . . . . . . . . . . . . . . . . . 16 2.4 Conversion d’une image en niveaux de gris en un masque LBP . . . . . . . 18 2.5 Calcul des valeurs de LBP[9] . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.6 Calcul des valeurs de LBP[9] . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1 XBee connecté au PC à travers un XBee Explorer . . . . . . . . . . . . . . 20 3.2 Logiciel X-CTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 La détection d’un nouveau module XBee . . . . . . . . . . . . . . . . . . . 21 3.4 Configuration d’un XBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.5 Connexion de deux XBee au PC . . . . . . . . . . . . . . . . . . . . . . . 23 3.6 Test de connectivité des deux XBee . . . . . . . . . . . . . . . . . . . . . . 23 3.7 Test de communication entre la carte Raspberry et la carte arduino . . . . 24 3.8 Base de données utilisée[6] . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.9 Composants du système de contrôle . . . . . . . . . . . . . . . . . . . . . . 27 3.10 Test de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3
  • 7. Liste des tableaux 1.1 Configuration du : XBee central et XBee extérieur . . . . . . . . . . . . . . 9 2.1 Comparaison des protocoles de communication sans fil : ZigBee, Bluetooth et Wifi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1 Les paramètres de configuration d’un XBee[2] . . . . . . . . . . . . . . . . 22 3.2 Configuration du : XBee central et XBee extérieur . . . . . . . . . . . . . . 24 4
  • 8. Introduction générale Dans un monde qui pousse de plus en plus vers tout ce qui est sécurisé, surveillé et protégé, nous nous voyons face à la nécessité de remplacer les anciennes techniques de sé- curité des habitats assurées par les agents de surveillance, par des équipements intelligents inter-connectés servant à contrôler nos domiciles. Étant donné que notre marché offre di- vers systèmes de surveillance des domiciles et des établissements publiques, la concurrence entre les vendeurs des solutions est devenue de plus en plus rude. Les systèmes de sécurité disponibles sur le marché diffèrent selon les fonctionnalités offertes. En effet, la sécurité des domiciles demeure un sujet ouvert que les chercheurs peuvent explorer pour concevoir de nouvelles solutions innovantes qui séduisent les utilisateurs. Il existe diverses techniques de sécurité qui assurent le contrôle d’accès et la surveillance des domiciles. Nous citons à titre d’exemple la technique d’authentification via l’empreinte digitale, via la reconnais- sance vocale et via la reconnaissance faciale. Cette dernière est l’une des techniques les plus fiables et les plus robustes utilisées dans diverses applications liées à la sécurité. Dans le cadre de ce projet de fin d’année II, nous nous intéressons à ce domaine pour améliorer la conception d’un système de contrôle d’accès se basant sur la reconnaissance faciale en utilisant comme noeud de traitement une carte Raspberry Pi3. Il s’agit de pal- lier à la limite du système de surveillance réalisé l’année précédente dans le cadre d’un PFE ENIT [2]. Dans ce PFE, il y a eu utilisation d’un PC jouant le rôle de l’unité de traitement et donc mettant en jeu la portabilité du système. Dans le cadre de ce PFA II, nous proposons de substituer le PC par une carte Raspberry Pi3 et on se limitera au programme de contrôle d’accès extérieur. Ce manuscrit est composé de trois chapitres : Dans le premier chapitre, nous présentons le PFE intitulé conception et réalisation d’un système de contrôle d’accès et de surveillance intelligente en mettons l’accent sur les li- mites de l’utilisation d’une unité de traitement fixe et nous introduisons par la suite l’unité remplaçante qui assure la portabilité du système basé sur une carte Raspberry Pi3 . Dans le deuxième chapitre, nous présentons l’unité de traitement et ses apports par rap- port à l’utilisation d’un PC tout en introduisant la communication avec la carte arduino et l’architecture finale de notre système d’accès. Le dernier chapitre, sera consacré à la configuration des modules assurant la communi- cation des noeuds du réseau de surveillance. Le test des fonctionnalités du système de surveillance global sera présenté en fin du chapitre. 5
  • 9. Chapitre 1 Présentation et limites du projet réalisé précédemment Introduction Plusieurs études récentes prennent en considération le problème de sécurité et pré- sentent le déploiement des nouvelles technologies en faveur de leurs solutions proposées. Nous détaillerons tout au long de ce chapitre la solution de contrôle d’accès et de sur- veillance des habitats déployée l’année précédente au sein de l’unité U2S et nous intro- duisons par la suite le contexte de notre projet en vu de répondre aux limites du projet déjà réalisé en mettant le point sur les fonctionnalités que notre système doit assurer. 1.1 Description générale du système Ce système est un système multitâche qui assure à la fois le contrôle d’accès et la sur- veillance indoor. Le contrôle d’accès est basé sur la reconnaissance faciale. Il capte une image de la per- sonne qui demande l’accès à l’habitat, l’envoie à une unité de traitement pour vérifier si la personne est autorisée à entrer. La surveillance indoor se base principalement sur le son et l’image. En effet, suite à la détection d’un son correspondant à un évènement anormal, une caméra de surveillance se déclenche. Le flux vidéo ainsi généré sera traité par une unité de traitement pour détecter la présence d’une personne (un cambrioleur) dans la chambre. La détection d’un intrus engendre la diffusion d’un émail d’alerte à tous les membres de la famille et le déclenche- ment d’une alarme afin que les voisins réagissent.[2] La Figure 1.1 représente l’architecture générale du système de contrôle d’accès et de sur- veillance intelligente. Elle est composée de trois noeuds essentiels : un noeud de contrôle d’accès, un noeud de surveillance intelligente et un noeud de traitement. Dans notre projet de fin d’année II, nous allons ré-implémenter le système d’accès sur une carte Raspberry, donc on s’intéressera essentiellement sur la partie outdoor du projet réalisé précédemment. 6
  • 10. CHAPITRE 1. PRÉSENTATION ET LIMITES DU PROJET RÉALISÉ PRÉCÉDEMMENT Figure 1.1 – Architecture hardware du système d’accès[2] 1.2 Principaux modules constituant le système d’accès Nous définissons le noeud de contrôle d’accès comme la combinaison d’une carte électro- nique assurant la collecte des informations (les images des personnes demandant l’accès) et d’un module de reconnaissance faciale assurant le traitement nécessaire. La Figure 1.2 présente les éléments de base du système. Figure 1.2 – Architecture du système 1.2.1 Module d’accès Le module du contrôle d’accès est un noeud composé d’un organe intelligent qui assure la capture d’une image lors d’une demande d’accès. Cet organe peut être une carte élec- tronique possédant une mémoire pour le stockage de l’image capturée par la caméra. Ce noeud intelligent sert à contrôler l’accès à la maison en se basant sur la reconnaissance faciale. Après avoir capturé une image de la personne demandant l’accès, le module doit la transmettre à une unité de traitement effectuant la reconnaissance faciale. 7
  • 11. CHAPITRE 1. PRÉSENTATION ET LIMITES DU PROJET RÉALISÉ PRÉCÉDEMMENT 1.2.2 Module de traitement Le module de traitement sert à effectuer les différents traitements nécessaires pour notre système. C’est un centre qui collecte les informations issues des deux noeuds intelligents et leur applique l’algorithme de reconnaissance faciale pour le contrôle d’accès. Après avoir effectué les traitements nécessaires, Ce module renvoie des consignes au noeuds intelligents pour ouvrir la porte ou déclencher l’alarme. 1.3 Description des composants de chaque module 1.3.1 La carte électronique et ses composants Le noeud du système d’accès est à la base d’une carte électronique Arduino méga 2560 assurant l’acquisition des données, capable à la fois de rassembler les composants de la figure 1.3 ci dessous : Figure 1.3 – Carte électronique et composants nécessaires 8
  • 12. CHAPITRE 1. PRÉSENTATION ET LIMITES DU PROJET RÉALISÉ PRÉCÉDEMMENT 1.Une carte Arduino méga 2560 Cette carte répond au besoin de 16 entrées/sorties numériques. 2. Un bouton poussoir Ce bouton poussoir sert à déclen- cher la capture d’image par le module caméra. Son branchement nécessite 4 pins. 3. Un module caméra Il s’agit d’un mini module ca- méra Arducam OV2640 qui est de haute résolution atteignant 2MP. Pour son branchement, ce module nécessite 6 entrées/sorties numé- riques.[1] 4. Un servomoteur Ce servomoteur simule le rôle de la porte d’entrée de la maison. Son branchement nécessite 3 pins. 5. Un module XBee C’est un module radio permet- tant de communiquer avec le pro- tocole Zigbee 802.15.4 sert à la transfert des données sans fil. 6. Un adaptateur shield Cet adaptateur sert à connecter un module xbee ainsi qu’il offre la possibilité d’y insérer une carte mémoire. 7. Un avertisseur sonore Il sert à déclencher une alarme suite la détection d’une personne inconnue demandant l’accès à l’habitat. Son branchement néces- site deux ou trois pins selon le type de l’avertisseur. Table 1.1 – Configuration du : XBee central et XBee extérieur 1.3.2 Unité de traitement L’unité de traitement sert à collecter les données issues des noeuds des sous-systèmes et leur appliquer les algorithmes de reconnaissance faciale. Ces algorithmes sont complexes et nécessitent une mémoire assez grande vu la taille de la base des données que l’algorithme nécessite. Pour assurer tous ces traitements, le PC a été choisi comme unité de traitement et le MATLAB comme logiciel de développement des algorithmes. 9
  • 13. CHAPITRE 1. PRÉSENTATION ET LIMITES DU PROJET RÉALISÉ PRÉCÉDEMMENT 1.4 Limite du système et solution adoptée 1.4.1 Choix du PC comme une unité de traitement Étant dans sa première ébauche, les algorithmes de détection faciale proposé dans le PFE ENIT[2] a été implémenté sur un PC et s’exécute sous l’environnement MATLAB. Afin d’améliorer la portabilité du système nous proposons d’utiliser une carte Raspberry Pi3 pour unité de traitement. . 1.4.2 La solution adoptée : Raspberry Pi3 Capable de faire tout ce que vous attendez d’un ordinateur à faire, beaucoup moins chers, offrant les même opportunités de développement et d’exécution, la carte Raspberry Pi3 nous a permis de développer un système de contrôle d’accès Fiable, de taux de fausse alarme infiniment petit, de coût relativement abordable comparé aux systèmes disponibles dans ce domaine et surtout 100% portable. 1.5 Cahier des charges du projet Dans le cadre du projet de fin d’année II, notre objectif est de donner un aspect de portabilité sur le PFE ENIT [2]. Pour ce faire, on doit implémenter l’algorithme de reconnaissance faciale pour le contrôle d’accès sur une carte Raspberry Pi3. La carte Raspberry doit communiquer avec le système d’accès externe basé sur une carte Arduino. Ce sujet s’intitule « Implémentation d’un système de contrôle d’accès sur une carte Raspberry ». Conclusion Dans ce chapitre, nous avons présenté le système de surveillance réalisé l’année pré- cédente : un système basé sur la reconnaissance faciale en mettant l’accent sur la valeur ajoutée par notre projet de cette année. Dans le chapitre suivant, nous présentons l’unité de traitement et ses apports par rapport a l’utilisation d’un PC tout en introduisant sa communication avec la carte arduino et l’architecture finale du notre système d’accès. 10
  • 14. Chapitre 2 Présentation et communication Raspberry-Arduino Introduction Ce chapitre sera consacré à la présentation de la carte Raspberry PI3 jouant le rôle du notre unité de traitement. On verra par la suite, la connexion établie avec une carte arduino et les différentes modules utilisées dans l’architecture finale du notre projet.Pour présenter en finale, l’algorithme implémenté pour la reconnaissance faciale. 2.1 Découverte et première mise en œuvre de la Raspberry Pi La Raspberry Pi[7] est un nano-ordinateur inventé par le créateur de jeux vidéo David Braben, destinée à encourager l’apprentissage de la programmation informatique et à exécuter plusieurs distributions du système d’exploitation libre Linux. Depuis les années 2006 la fondation Raspberry pi cherche à disposer dans le marché des carte de plus en plus performantes c’est pourquoi on trouve différentes modèles tel que A, A+, B, B+ et B2... Dans notre projet on va s’intéressé à la carte Raspberry PI 3 modèle B. 2.1.1 La Raspberry Pi3 modèle B Nous détaillerons dans la Figure 2.1 les différentes composantes d’une carte Raspberry Pi3 modèle B : 11
  • 15. CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO Figure 2.1 – Raspberry Pi 3 modèle B[8] 2.1.1.1 Support du Wifi et du Bluetooth Wi-Fi 802.11 vient d’être ratifié par l’organisme de certification IEEE. Les débits théoriques maximals atteints par les réseaux wifi en utilisant cette norme allant dans un intervalle de 72 à 288 Mbps, seulement en exploitant une bande de fréquence égale à 2.4 GHz. Il est assuré par le chipset BCM43143 et l’antenne céramique sont intégrés à la carte. Le support Bluetooth est en version 4.1 (Bluetooth Low Energy). 2.1.1.2 Processeur La Raspberry Pi3 est équipé d’un processeur SoC 64 bits Broadcom BCM2837 ARM Cortex A53 avec quatre cœurs à 1,2 GHZ. On parle ici d’un doublement de performance par rapport à la Pi2. 2.1.1.3 Modèle de connecteur MicroSD(max 128 Go) Un connecteur push-pull qui tient simplement la carte par friction. Il faut tirer dessus pour le ressortir. 2.1.1.4 Port Ethernet La carte Raspberry contient un port Ethernet qui autorise un transfert de données avec un débit de 100 Mbits/s. 2.1.1.5 RAM Une mémoire RAM de 1GB, c’est-à-dire naviguer de façon plus fluide, tenir plus d’uti- lisateurs sur nos serveurs ou également faire du multitâches. . . 12
  • 16. CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO 2.1.1.6 HDMI : Interface Multimédia Haute Définition Le High Definition Multimedia Interface est une interface numérique permettant le transfert de données multimédias (audio et vidéo) non compressées en haute définition. 2.1.1.7 Interface camera La Raspberry Pi a une Mobile Industry Processor Interface (MIPI) : appareil d’interface série de type 2 (CSI-2). Ce qui facilite la connexion d’un petit appareil à processeur principal Broadcom BCM2835. 2.1.1.8 Port MicroUSB Utilisé essentiellement pour assurer l’alimentation de la carte avec un maximum de 2.4A d’ampérage. 2.1.1.9 Port DSI (Display Serial Interface) Assurant la connexion entre un écran tactile et la carte Raspberry Pi. 2.1.1.10 Connecteur GPIO(General Purpose Input Output) Disposant de 40 broches GPIO est considéré comme l’un des grands points intéressants du Raspberry Pi3. En effet, ces connecteurs servent à connecter du matériel externe. 2.1.1.11 Ports USB Les ports USB dont le nombre est quatre augmentent toutefois la possibilité de connec- ter simultanément plus qu’un matériel via USB : souris, clavier, clé 4G, flash disque, XBee, ... . 2.1.2 Préparation de la carte SD La Raspberry Pi charge son système d’exploitation à partir du lecteur de carte micro SD. Il est donc indispensable de préparer le système de manière appropriée pour que le nano ordinateur puisse démarrer correctement. Tout d’abord, il faut commencer par l’installation d’un logiciel qui s’appelle NOOBS (New Out Of Box Software) qui simplifie le processus d’installation d’un système d’exploitation pour la carte. Une fois le Raspberry Pi est démarrée avec NOOBS, une fenêtre s’affiche pour vous proposer différents systèmes d’exploitations que vous pouvez l’installer. Vous aurez le choix entre : Raspbian. LibreElec. OSMC. Windows 10 IoT Core. Dans notre projet, nous avons choisi d’installer Raspbian dans sa récente version Jessie. 13
  • 17. CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO 2.1.3 Raspberry Pi sur le réseau Le client DHCP est activé par défaut sur Raspbian. En effet, dés le moment où on connecte la carte à un câble Ethernet murale disponible dans la salle (ou via un switch) on profite du fait que le réseau utilise un service DHCP (Dynamic Host Configuration Protocol) dont la fonction principale est de distribuer des adresses IP aux hôtes connectées. Après la récupération d’une adresse IP dynamique en utilisant la commande ifconfig dans le terminal du Raspberry on peut par la suite se connecter via cette adresse à partir d’un autre poste informatique connecté sur le même réseau que notre carte, rien que pour assurer certaines tâches à distance l’aide de deux fameux logiciels Putty et Vnc sans avoir besoin de connecter la carte sur un écran. Cependant, il est vivement conseillé avant tout, de rendre l’adresse statique afin de facilter la connexion à chaque fois. Tout est assuré avec une simple modification au niveau des configurations en exécutant la commande : sudo nano /etc/network/interfaces. 2.1.3.1 Putty C’est un logiciel Windows qui permet de prendre le contrôle à distance du Raspberry Pi en utilisant le protocole SSH (Secure Shell). Dans notre distribution Linux installer, il faut tout d’abord activer le client SSH. Le dialogue s’effectue uniquement dans une console en mode texte dans lequel on peut exécuter des commandes Linux, exécuter des programmes Python, gérer des fichiers, ... . Mais ce dernier nous ne permet pas une prise de contrôle avec l’environnement de bureau LXDE en mode graphique. Figure 2.2 – Configuration Putty 14
  • 18. CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO 2.1.3.2 VNC : Virtual Network Computer C’est un système graphique de partage de bureau qui permet de contrôler à distance l’interface de bureau d’un ordinateur. Tout en exécutant VNC Server à partir d’un autre ordinateur ou d’un appareil mobile avec VNC Viewer. VNC Viewer transmet le clavier et les événements de la souris ou de la touche au serveur VNC et reçoit les mises à jour de l’écran en retour. Après l’activation de VNC dans le Raspberry on va voir son bureau dans une fenêtre sur notre ordinateur ou notre appareil mobile. 2.2 Communication Arduino-Raspberry Pi3 Pour assurer la communication entre une carte arduino et une carte Raspberry, nous avons besoin d’un protocole de communication approprié qui garantit le transfert des données. Nous distinguons divers protocoles de communication sans fil : chacun possède des avantages et des inconvénients par rapport aux autres. Le choix du meilleur protocole de communication diffère selon le type d’application en question et les exigences et les contraintes qui s’imposent. ZigBee, Bluetooth et Wifi sont les protocoles de communica- tions les plus utilisés dans le domaine de la surveillance des habitats. Nous comparons dans le Tableau 2.1 ces trois protocoles en termes de critères. Protocole ZigBee 802.15.4 Bluetooth Wifi Distance 10 à 100 m 10 m >100 m Extension Automatique Non Selon l’architecture Autonomie Des années Des jours Des heurs Complexité Simple Compliqué Très compliqué Temps de transmission 250 Kbps 1 Mbps 54 Mbps Fréquence 868/915 MHz 2.4 GHz 2.4 GHz 2.4 GHz Nombre maximal des noeuds 65535 8 50 Temps de connexion 30 ms >10 s >3s Cout Réduit Réduit Elevé Sécurité 128 bit AES 64,128 AES SSID Table 2.1 – Comparaison des protocoles de communication sans fil : ZigBee, Bluetooth et Wifi [3] Le Tableau ci-dessus montre que le protocole de communication ZigBee 802.15.4 est un protocole de faible consommation d’énergie, de coût réduit et qui est simple à exploiter et s’apprête à l’extension.[4] Malgré son faible débit, plusieurs études utilisent ZigBee pour assurer l’envoi des données complexes comme l’image,le son et la vidéo. Notre système sera installé au niveau des habitats pour assurer la surveillance. La consommation d’énergie 15
  • 19. CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO demeure une contrainte importante. Ainsi, notre système doit être totalement indépen- dant de toute source d’énergie externe et ne doit être alimenté que par que sa batterie. Vu son faible coût, sa simplicité, sa faible consommation d’énergie (une autonomie qui peut atteindre des années) et son utilisation dans différents système de surveillance à base de son et d’image, ZigBee nous semble le meilleur protocole de communication sans fil. Ce choix est confirmé par le fait que les portées des liaisons ne sont pas importantes. Nous allons donc utiliser le protocole de communication sans fil ZigBee pour assurer la commu- nication entre le noeud de sous système extérieur et le centre de traitement (Raspberry). Figure 2.3 – Connexion Arduino-Raspberry via XBee 2.3 OpenCV OpenCV (Open Source Computer Vision Library) est une bibliothèque de logiciels d’ap- prentissage libre par machine. [5]. OpenCV facilite aux entreprises d’utiliser et de modifier le code. La bibliothèque dispose de plus de 2500 algorithmes optimisés, ce qui comprend un ensemble complet d’algorithmes d’apprentissage par machine à la fois classique et à la fine pointe de la technologie. Ces algorithmes peuvent être utilisés pour détecter et reconnaître les visages, identifier les objets, classer les actions humaines dans les vidéos, suivre les mouvements de la caméra, suivre les objets en mouvement, extraire des modèles 16
  • 20. CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO 3D d’objets, produire des nuages de points 3D à partir de caméras stéréo, collecter les images toutes ensemble pour produire une image d’une scène entière en haute résolution, trouver des images similaires à partir d’une base de données d’images, enlever les yeux rouges des images prises en utilisant le flash, suivre les mouvements des yeux, reconnaître les paysages et établir des marqueurs pour la superposer avec une réalité augmentée, ... . OpenCv nous facilite le développement de l’algorithme de reconnaissance faciale. 2.4 Algorithme de reconnaissance faciale La reconnaissance faciale peut se définir comme étant l’identification ou la vérification d’une personne à partir d’une image numérique ou d’une image vidéo à partir d’une source vidéo. Une des façons de le faire est de comparer les caractéristiques faciales sélectionnées de l’image et une base de données. 2.4.1 Description de l’algorithme LBP L’algorithme de reconnaissance faciale que nous avons testé avec dans notre projet requière trois grandes étapes : Trouver une bonne base de données avec des images multiples de visages pour chaque individu. Un descripteur est calculé pour chaque image de la base. Tester le descripteur sur les images de la base de données. Cet algorithme est développé à la base du descripteur LBP. 2.4.1.1 Descripteur LBP LBP est un descripteur de caractéristiques très important et qui est utilisé dans la vision par ordinateur pour la correspondance de texture. Il a été publié pour la première fois en 1990 et, par la suite, diverses versions modifiées ont été publiées. 2.4.1.2 Calcul du decripteur LBP Tout d’abord, l’image couleur d’entrée doit être converti en niveaux de gris, puisque LBP fonctionne sur des images en niveaux de gris. Pour chaque pixel dans l’image en niveaux de gris, un quartier est sélectionné autour du pixel actuel, puis nous calculons la valeur LBP pour le pixel à l’aide du voisinage. Après avoir calculé la valeur LBP du pixel actuel, nous mettons à jour l’emplacement de pixel correspondant dans le masque LBP (il est de même hauteur et largeur que l’image d’entrée.). Dans l’image, nous avons 8 pixels voisins.[9] Si la valeur de pixel actuelle est supérieure ou égale à la valeur de pixel voisine, le bit correspondant dans le tableau binaire est réglé sur 1 autre sinon le bit correspondant dans 17
  • 21. CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO Figure 2.4 – Conversion d’une image en niveaux de gris en un masque LBP le tableau binaire est réglé sur 0. L’ensemble du processus est illustré dans la figure 2.5. Le pixel actuel (central) a la valeur 7. Nous commençons à comparer le pixel voisin où l’étiquette 0. La valeur du pixel voisin avec l’étiquette 0 est 2. Puisqu’il est inférieur à la valeur de pixel actuel qui est 7, on réinitialise le 0ème emplacement de bit dans le réseau binaire de 8 bits à 0. Nous l’annulons ensuite dans le sens inverse des aiguilles d’une montre. Le prochain emplace- ment d’étiquette 1 a une valeur 7 qui est égale à la valeur de pixel actuel. Nous définissons donc l’emplacement du premier bit dans le binaire de 8 bits en 1. Nous continuons alors à passer au prochain pixel voisin jusqu’à ce que nous atteignions le 8ème pixel voisin. Ensuite, le motif binaire 8 bits est converti en un nombre décimal et le nombre décimal est alors stocké dans l’emplacement de pixel correspondant dans le masque LBP. Figure 2.5 – Calcul des valeurs de LBP[9] Une fois que nous avons calculé le Masque LBP, nous calculons l’histogramme LBP. Les valeurs du masque LBP vont de 0 à 255, donc notre descripteur LBP sera de taille 1x256. Nous normalisons alors l’histogramme LBP. La figure ci-dessous montre le schéma de l’al- gorithme. 18
  • 22. CHAPITRE 2. PRÉSENTATION ET COMMUNICATION RASPBERRY-ARDUINO Figure 2.6 – Calcul des valeurs de LBP[9] Charger l’image couleur. Convertir en image en niveaux de gris. Calculer le masque LBP. Calculer l’histogramme LBP et normalisez-le. Conclusion Dans ce chapitre, nous avons présenté notre unité de traitement, la Raspberry Pi3. Nous avons établit par la suite sa connexion avec la carte arduino méga et les différentes modules utilisées dans l’architecture finale du notre projet. Pour arriver enfin à présenter la bibliothèque OpenCV qui nous facilite le développement de l’algorithme de reconnaissance faciale. Dans le dernier chapitre, il nous reste à décrire les différentes étapes de réalisation du notre système et à le tester. 19
  • 23. Chapitre 3 Réalisation du système du contrôle d’accès Introduction Nous présentons dans ce chapitre en détails les étapes de réalisation de notre système et les fonctionnalités qu’il offre. Ensuite nous passons à la validation du système tout en effectuant les tests nécessaires (contrôle d’accès). 3.1 Configuration des modules de communication XBee Cette phase sert à configurer les modules XBee pour qu’ils puissent communiquer cor- rectement. La configuration est fait via le module XBee Explorer : ce module montré par la Figure 3.1 doit être relié à un ordinateur contenant un logiciel approprié responsable de l’attribution des paramètres de configuration. Figure 3.1 – XBee connecté au PC à travers un XBee Explorer Pour assurer la configuration des modules XBee des noeuds de notre système, nous avons 20
  • 24. CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS téléchargé la version 6.3.0 du logiciel X-CTU que la compagnie Digi a développé avec les modules qu’elle fabrique. Il s’agit d’une plateforme ouverte qui travaille sous plusieurs systèmes d’exploitation tels que Linux, Windows et MacOs. Ce logiciel nous permet grâce à son interface graphique (Figure 3.2) de détecter les modules insérés et les configurer [10]. Figure 3.2 – Logiciel X-CTU Le XCT-U commence à analyser le port COM auquel le module XBee Explorer est relié au PC. Une fois trouvé et détecté, ce module sera ajouté à la liste des modules XBee. La Figure 3.3 montre les étapes de détection d’un nouveau module XBee connecté au PC. Figure 3.3 – La détection d’un nouveau module XBee 21
  • 25. CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS Après avoir ajouté le nouveau module XBee, nous pouvons le configurer en changeant les paramètres décrits dans le Tableau 3.1. Les paramètres de configuration par l’interface graphique sont montrés par la Figure 3.4. Paramètre Signification PAN ID C’est l’identifiant du réseau ZigBee qui doit être unique à tous les modules occupant le même réseau. MY C’est l’adresse du module XBee émetteur. DH C’est la partie composée des 8 bits les plus forts du module XBee récepteur. DL C’est la partie composée des 8 bits les plus faibles du module XBee récepteur. SH C’est la partie composée des 8 bits les plus forts de la série du module XBee. SL C’est la partie composée des 8 bits les plus faibles de la série du module XBee. Table 3.1 – Les paramètres de configuration d’un XBee[2] Figure 3.4 – Configuration d’un XBee 22
  • 26. CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS Nous pouvons tester la connectivité de deux modules XBee via la console que le logi- ciel XCT-U offre. Pour ce faire, nous connectons deux modules XBee au PC et nous les configurons de façon qu’ils puissent communiquer entre eux (Figure 3.5). Figure 3.5 – Connexion de deux XBee au PC La Figure 3.6 montre une communication entre deux modules XBee via la console de XCT-U. Figure 3.6 – Test de connectivité des deux XBee 23
  • 27. CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS Dans notre système, nous nous disposons d’un noeud qui contient un module XBee as- surant sa communication avec le module central. Ainsi, il est indispensable que les deux modules soient dans le même réseau avec des adresses différentes. La topologie de notre réseau est en étoile, donc chacun des noeuds communique au noeud central sans passer par l’autre noeud. Le Tableau 3.2 représente les configurations nécessaires des modules de communication sans fil de notre système. XBee central XBee extérieur PAN ID 1234 1234 MY 10 11 DH 0 0 DL 11 10 SH 13A200 13A200 SL 40E9C405 40F364EA Table 3.2 – Configuration du : XBee central et XBee extérieur Après la configuration des deux modules XBee, on peut s’assurer de la communication entre les deux cartes. La figure ci dessous montre la réception d’un message "Bonjour Framboise" par la carte Raspberry envoyé de la part d’une carte Arduino. Figure 3.7 – Test de communication entre la carte Raspberry et la carte arduino 24
  • 28. CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS 3.2 Implémentation de l’algorithme Pour aboutir à une identification de personne demandant l’accès on va passé par trois grandes étapes : La constitution d’une base de données composée d’une dizaine d’images. Pour chaque personne on a associé plusieurs images avec des grimasses différentes. La détection des visages dans les images de la base de données pour l’utiliser par la suite dans la formation de reconnaisseur facial. Le test de reconnaisseur facial pour reconnaître les visages pour lesquels il a été formé. 3.2.1 Base de données Nous avons utilisé pour tester cet algorithme, une base de données qui contient 40 images couleur de 8 personnes au format GIF. Pour chaque individu il y a 5 images . L’individu possède une expression faciale différente dans chaque image. Figure 3.8 – Base de données utilisée[6] 25
  • 29. CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS 3.2.2 la mise en oeuvre Après avoir présenter notre base de données, on attaque maintenant le développement de l’algorithme de reconnaissance de visage en suivant ces étapes : Importer les modules nécessaires : — cv2 : Il s’agit du module OpenCV qui contient les fonctions de détection et de reconnaissance faciale. — os : on utilise ce module pour extraire les noms d’image dans le répertoire de la base de données, puis, à partir de ces noms, nous extrairons le numéro individuel qui sera utilisé comme étiquette pour le visage dans cette image. — Image : Puisque OpenCv ne prend pas en charge le format GIF des images constituant la base , on utilise alors le module PIL pour lire l’image au format en niveau de gris . — numpy : Nos images seront stockées dans des tableaux numpy. Charger la cascade de détection de visage : — Détecter le visage dans chaque image — Former le reconnaisseur Créer l’objet reconnaisseur facial : Nous utiliserons le reconnaisseur LBP. Test du détecteur de visage : Nous affichons également le score de confiance pour chaque reconnaissance. Plus la valeur de la variable de confiance est élevée, moins le reconnaisseur a confiance en la reconnaissance. Une valeur de confiance de 0.0 est une reconnaissance parfaite. 3.3 Test de l’algorithme 3.3.1 Capture de l’image La capture de l’image de la personne souhaitant entrer se fait par l’intermédiaire d’une carte Arduino, un bouton poussoir et une caméra. Une fois la capture est terminée, la photo de la personne sera envoyée vers la Raspberry et celle ci envoie en retour une com- mande qui soit ouvre la porte si la personne est connue soit déclenche une alarme. Dans le figure 3.9 on présente les différents composants assurant cette implémentation. Le servo joue le rôle d’une porte et le bouton d’une clochette. 26
  • 30. CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS Figure 3.9 – Composants du système de contrôle 3.3.2 Traitement et algorithme appliqué sur une image Après avoir capturé une image, celle ci va être envoyée via XBee vers la carte Raspberry et l’algorithme LBP s’applique pour la traiter. La figure 3.10 nous montre le test de l’algorithme sur une base de données existante sur la carte Raspberry. Figure 3.10 – Test de l’algorithme 3.4 Difficultés rencontrées Le sujet de notre PFA II est très intéressant. Implémenter un système embarquée et découvrir la carte Raspberry Pi3 nous semble un pas avantageux dans notre parcours. Et même avec toutes les difficultés et parfois les échecs on a beaucoup appris. Toutefois, il faut se dire que c’est des échecs, plus que de succès, que l’on apprend le plus. D’abord, afin de débuter toutes implémentations, nous avons passé des jours à savoir de quoi s’agit une carte Raspberry et quelles sont ses fonctionnalités. Surtout dans le cadre de l’ENIT on n’a pas trouvé le lieu adéquat pour découvrir l’interface graphique de la Raspberry, pour connecter notre carte à Internet afin de télécharger les logiciels néces- saire pour tester l’algorithme de reconnaissance faciale. 27
  • 31. CHAPITRE 3. RÉALISATION DU SYSTÈME DU CONTRÔLE D’ACCÈS Ensuite, lorsqu’on est arrivé à l’étape du développement de l’algorithme et la nécessité d’installer OpenCV sur la carte. On a passé plus qu’une semaine à l’installer. Trois carte mémoire ont été endommagée suite à l’installation et on a réinstaller le système d’exploi- tation à chaque fois. On n’a pas pu réussir que lorsqu’on a utilisé une carte mémoire de classe 10 et Raspbian Jessie comme système d’exploitation. Pour arriver enfin à l’étape de la réception et la reconstitution de l’image où nous nous sommes totalement bloquées. En fait, nous avons validé la bonne réception des valeurs de l’image capturée par l’Arduino de la part de la carte Raspberry, mais malheureusement, nous n’avons pas pu la décodée et la reconstituée. Conclusion La bonne utilisation et exploitation des nouvelles techniques de surveillance et des protocoles de communication sans fil nous a permis d’implémenter un système de contrôle d’accès 100% portable qui sert à contrôler l’accès des habitats. Ainsi, nous avons présenté dans ce dernier chapitre, les différentes étapes de réalisation de ce système tout en le validant en effectuant les tests nécessaires. 28
  • 32. Conclusion générale Le contrôle d’accès et la surveillance des domiciles et des établissements publiques et privés présente un souci que tout le monde en cherche à lui faire face. Pour ce faire, dans ce projet de fin d’année, nous avons réussi à implémenter un système de contrôle d’accès intelligent qui vise à répondre aux problèmes de surveillance et de sécurité des habitats. Pour aboutir à un tel système, nous avons utilisé une carte Raspberry Pi3 rien que pour répondre au problème de portabilité du système. Pour le contrôle et la détection d’intru- sion nous avons utilisé un algorithme de reconnaissance faciale développé en python et basé sur le fameux algorithme « LBP ». Notre système contient un nœud intelligent capable de communiquer avec le nœud cen- tral responsable de la reconnaissance faciale (La Raspberry Pi3). Ce nœud est équipé d’un module XBee assurant la communication sans fil. En outre, il est composé d’une carte Arduino équipée d’un module de caméra pour la capture d’image de la personne deman- dant l’accès, d’un bouton poussoir pour amorcer la capture. Aussi, elle se dispose d’un servomoteur jouant le rôle d’une porte qui s’ouvre si la personne est considérée comme connue et qui se ferme sinon et d’un avertisseur sonore qui se déclenche si la personne voulant entrer est inconnue. Notre projet est prêt à être étendu. D’une part, il lui manque la partie de contrôle in- terne (classification des sons environnementaux et détection de personne). D’autre part, on peut connecter le module caméra à internet pour garantir la possibilité de surveiller notre domicile en temps réel surtout que la carte Raspberry Pi3 dispose d’un module wifi ce qui va faciliter les manipulations sans toucher à la portabilité du système. 29
  • 33. Bibliogaphies [1] ArduCAM-M-2MP Camera User Guide. url : http://www.arducam.com/downloads/ shields/ArduCAM_Mini_2MP_Camera_Shield_DS.pdf. [2] “Conception et réalisation d’un système de contrôle d’accès et de surveillance intel- ligente”. In : Soutenu le 24 Septembre 2016. [3] Yu-Wei Su Jin-Shyan Lee et Chung-Chou Shen. “A Comparative Study of Wire- less Protocols : Bluetooth, UWB, ZigBee, and Wi-Fi”. In : url : http://www.ee. oulu.fi/~kk/dtsp/tutoriaalit/Shen.pdf. [4] Yu-Wei Su Jin-Shyan Lee et Chung-Chou Shen. “a Comparative Study of Wire- less Protocols : Bluetooth, UWB, ZigBee, and Wi-Fi, Information Communications Research Labs Industrial Technology Research Institute (ITRI) Hsinchu, Taiwan, The 33rd Annual Conference of the IEEE Industrial Electronics Society (IECON)”. In : November 2007. [5] OpenCV library. url : http://opencv.org/about.html. [6] Brian O’Connor et Kaushik Roy. “Facial Recognition using Modified Local Binary Pattern and Random Forest, Department of Computer Science, North Carolina AT State University, Greensboro”. In : November 2013. [7] Raspberry Pi. [8] Raspberry Pi 3 model B | 3DSOMA. url : https://www.google.tn/search?q= raspberry+pi3+model+B+. [9] Texture Matching using Local Binary Patterns (LBP), OpenCV, scikit-learn and Python. url : http://hanzratech.in/2015/05/30/local-binary-patterns. html. [10] XCTU, Next Generation Configuration Platform for XBee/RF Solutions. url : http://www.digi.com/products/xbee-rf-solutions/xctu-software/xctu. 30