View
25
Download
0
Category
Preview:
Citation preview
N° d’ordre : 06 / IRC / TCO Année Universitaire : 2017 / 2018
UNIVERSITE D’ANTANANARIVO
----------------------
ECOLE SUPERIEURE POLYTECHNIQUE
-----------------------
MENTION TELECOMMUNICATION
MEMOIRE
en vue de l’obtention
du DIPLOME de Master
Titre : Ingénieur
Domaine : Sciences de l’Ingénieur
Mention : Télécommunication
Parcours : IRC
par : RADONAMANDIMBY Imavomialy
ETUDES DES SYSTEMES DE SECURISATION
DANS LE DOMAINE DE LA DOMOTIQUE
Soutenu le 09 Août 2019 devant la Commission d’Examen composée de :
Président :
M. RAJAONARISON Roméo
Examinateurs :
M. ANDRIAMIASY Zidora
M. RASOLOMANANA Jean Fanomezantsoa
M. RATSIMBAZAFY Andriamanga
Directeur de mémoire :
M. RAKOTOMALALA Mamy Alain
i
REMERCIEMENTS
Je tiens à louer le Seigneur et Lui rendre Gloire grâce à toutes les bénédictions et interventions qu’Il
a témoignées dans ma vie. Aussi, je tiens à exprimer cordialement toute ma reconnaissance à ceux
qui, de près ou de loin ont contribué à la réalisation de ce présent mémoire :
Monsieur, RAVELOMANANA Mamy Raoul, Professeur Titulaire, Président de
l’Université d’Antananarivo ;
Monsieur, RAKOTOSAONA Rijalalaina, Professeur d’Enseignement Supérieur,
Responsable du Domaine Sciences de l’Ingénieur de l’Ecole Supérieure Polytechique
d’Antananarivo ;
Monsieur, RAKOTONDRAINA Tahina Ezéchiel, Maître de Conférences, Responsable de
la Mention Télécommunication, d’avoir accepté ma soutenance de mémoire de fin d’études.
Monsieur RAKOTOMALALA Mamy Alain, Maître de Conférences, Docteur HDR, mon
Directeur de Mémoire qui m’a accordé son aide et ses conseils inestimables pour que ce
travail soit en mesure des exigences.
Monsieur RAJAONARISON Roméo, Maitre de Conférences, qui me fait l’honneur de
présider les membres du jury de ce mémoire.
Tous les membres du Jury à savoir :
Monsieur ANDRIAMIASY Zidora, Maître de Conférences ;
Monsieur RASOLOMANANA Jean Fanomezantsoa, Docteur de l’Université
d’Antananarivo ;
Monsieur RATSIMBAZAFY Andriamanga, Maître de Conférences.
Ils ont eu l’aimabilité d’examiner ce mémoire malgré leurs nombreuses occupations
J’adresse également mes sincères remerciements à tous les enseignants de la Mention
Télécommunication, qui par leurs conseils ont guidé mes réflexions.
Je ne saurais oublier d’exprimer un chaleureux remerciement envers ma famille et mes amis pour
leurs soutiens bienveillants et leurs encouragements, à l’élaboration du présent mémoire en toutes
circonstances.
ii
TABLE DES MATIERES
REMERCIEMENTS ........................................................................................................................ i
TABLE DES MATIERES .............................................................................................................. ii
NOTATIONS .................................................................................................................................. vi
INTRODUCTION GENERALE ................................................................................................... 1
CHAPITRE 1 PRESENTATION GENERALE DU PROJET ................................................... 2
Introduction ......................................................................................................................................... 2
Les matériels adoptés durant la réalisation du projet ..................................................................... 2
Raspberry pi .................................................................................................................................. 2
Le camera pi REV 1.3 ................................................................................................................... 3
Arduino ......................................................................................................................................... 3
Le capteur de flamme KY-026 ...................................................................................................... 4
Module relais ................................................................................................................................ 5
Module Bluetooth HC-06 ............................................................................................................. 5
La vidéosurveillance et le système automatisé .................................................................................. 6
La vidéosurveillance ..................................................................................................................... 6
Système automatisé ..................................................................................................................... 11
Démarche du projet .......................................................................................................................... 13
Sur le plan sécurisation .............................................................................................................. 13
Sur le plan domotique ................................................................................................................. 15
Les techniques de transmission dans les réseaux sans fils ............................................................. 15
Les systèmes de transmissions adoptés dans le projet ................................................................... 16
iii
Bluetooth ..................................................................................................................................... 16
Wi-fi ............................................................................................................................................. 18
Conclusion ......................................................................................................................................... 20
CHAPITRE 2 LES OBJETS CONNECTES .............................................................................. 21
Introduction ....................................................................................................................................... 21
Quelques définitions .......................................................................................................................... 21
L’internet des objets ......................................................................................................................... 21
Importance de l’Internet des Objets ............................................................................................... 22
Domaines applicatifs de l’IoT .......................................................................................................... 23
Fonctionnements des objets connectés ............................................................................................ 24
Les types d’objets .............................................................................................................................. 24
Les capteurs adoptés en Internet des objets ................................................................................... 25
Le capteur logique ...................................................................................................................... 25
Le capteur analogique ................................................................................................................ 25
Le capteur numérique ................................................................................................................. 26
Le capteur biométrique ............................................................................................................... 26
Les composants d’un systèmes IoT .................................................................................................. 27
Les appareils en réseau ................................................................................................................... 27
Les ondes radios .............................................................................................................................. 28
Les applications de la domotique ................................................................................................... 29
Les avantages de l’internet des objets ........................................................................................... 31
Amélioration de l’engagement du client .................................................................................. 31
iv
Optimisation de la technologie ................................................................................................. 31
Web data pour le marketing des entreprises ............................................................................ 31
Identification des sites dangereux ............................................................................................ 31
Les risques de l’IoT ......................................................................................................................... 32
Sécurité ...................................................................................................................................... 32
Confidentialité ........................................................................................................................... 32
Flexibilité .................................................................................................................................. 32
Conformité ................................................................................................................................ 32
La détection d’intrusion ou IDS .................................................................................................... 32
Mécanisme de la détection d’intrusion .......................................................................................... 33
Les différents types d’IDS .............................................................................................................. 34
Les systèmes de détection d’intrusions réseau ou N-IDS ........................................................ 34
Les systèmes de détection d’intrusions de type hôte ou H-IDS ............................................... 34
Les systèmes de détection d’intrusions hybrides ...................................................................... 34
Les systèmes de prévention d’intrusion ou IPS ....................................................................... 35
Les systèmes de prévention d’intrusion kernel ou K-IDS et K-IPS .................................... 36
Les firewalls .............................................................................................................................. 36
Les technologies complémentaires ........................................................................................... 37
Les méthodes de détection d’intrusion .......................................................................................... 38
L’approche par scénario ou minuse detection ......................................................................... 38
L’approche comportementale ou anomaly detection ............................................................... 38
Les méthodes répandues ........................................................................................................... 39
v
Les techniques anti-IDS .................................................................................................................. 39
Conclusion ....................................................................................................................................... 40
CHAPITRE 3 APPRENTISSAGE AUTOMATIQUE .............................................................. 41
Introduction ....................................................................................................................................... 41
L’intelligence artificielle ................................................................................................................... 41
Définition .................................................................................................................................... 41
Quelques domaines de l’intelligence artificielle ........................................................................ 41
Applications de l’intelligence artificielle.................................................................................... 43
La vision humaine ............................................................................................................................. 43
La vision par ordinateur................................................................................................................... 44
Les méthodes de l’apprentissage automatique les plus adoptées .................................................. 45
L’apprentissage supervisé ........................................................................................................... 46
L’apprentissage non-supervisé ................................................................................................... 46
Quelques algorithmes en apprentissage automatique ................................................................... 47
Boosting....................................................................................................................................... 47
Arbre de décision ........................................................................................................................ 48
Classification bayésienne ........................................................................................................... 49
Fuzzy C-Means ........................................................................................................................... 50
K-Means ...................................................................................................................................... 50
L’apprentissage en profondeur ou Deep Learning ................................................................... 51
Applications ....................................................................................................................................... 52
La détection faciale ........................................................................................................................... 53
vi
Les difficultés de la reconnaissance de visage ................................................................................. 54
La reconnaissance faciale ............................................................................................................... 54
Acquisition de l’image .............................................................................................................. 57
Détection de visage et prétraitement......................................................................................... 57
L’extraction des caractéristiques .............................................................................................. 58
Comparaison ou classification des caractéristiques ................................................................ 58
Décision ..................................................................................................................................... 58
Conclusion ....................................................................................................................................... 59
CHAPITRE 4 REALISATION DU PROJET ............................................................................ 60
Introduction ....................................................................................................................................... 60
Les systèmes d’exploit ations de Raspberry pi ............................................................................ 60
Les pins et le GPIO du Raspberry pi 3 ........................................................................................... 60
Les librairies nécessaires pour la réalisation du projet ................................................................. 61
Outils utilisés et environnement de développement ....................................................................... 62
Interface de commande de notre Raspberry pi .......................................................................... 62
Le logiciel Arduino ..................................................................................................................... 63
Python ......................................................................................................................................... 63
Pushbullet ................................................................................................................................... 64
Pycharm ...................................................................................................................................... 65
OpenCV ....................................................................................................................................... 66
Position du problème ........................................................................................................................ 66
Réalisation pratique .......................................................................................................................... 67
vii
Configuration .............................................................................................................................. 67
Détection faciale avec transfert automatique via SMTP ........................................................... 67
La vidéosurveillance à l’aide du Camera pi et Pushbullet ........................................................ 69
Reconnaissance faciale sur l’image capturé à partir de l’algorithme LBP-cascade ............... 71
Reconnaissance faciale utilisant l’algorithme Haar classifieur ............................................... 73
Notification via Pushbullet en cas de détection de flamme ....................................................... 74
Commande des lumières grâce à son smartphone ..................................................................... 74
Conclusion ......................................................................................................................................... 76
CONCLUSION GENERALE ...................................................................................................... 77
ANNEXE : EXTRAITS DE CODES SOURCES ....................................................................... 78
BIBLIOGRAPHIE ........................................................................................................................ 82
FICHE DE RENSEIGNEMENTS ............................................................................................... 85
vi
NOTATIONS
1. Minuscules latines
𝑐𝑗 Centre d'un cluster
𝑑𝑛𝑒𝑤 Nouveau document à classer
ℎ𝑖 Hypothèse
𝑗𝑚 Minimisation de l'algorithme Fuzzy C-means
𝑝𝑖𝑘 Moyenne pondérée
𝑛𝐴 Nombre total de documents dans l'ensemble d'apprentissage
𝑛𝑐𝑘 Nombre de documents d'apprentissage dans la classe 𝑐𝑘
𝑥𝑖 Entrées du réseau de neurone
2. Majuscules latines
𝐴 Ensemble d'apprentissage
𝐶𝑘 Une classe parmi 𝑛𝑐 classes
𝐻𝑏 Entropie
𝐼𝑘 Inertie intra-classe
𝑆 Stride
𝑈𝑖𝑗 Degré d'appartenance de 𝑥𝑖 dans le 𝑗è𝑚𝑒 cluster
3. Minuscules grecques
𝜋𝑘 Moyenne pondérée
4. Majuscule grecques
𝛤 Fonction de décision
vii
5. Abréviations
ADN Acide Désoxyribonucléique
AVR Architectural Visualisation Network
CART Classification And Regression Trees
CPU Computer Processing Unit
CCTV Closed Circuit Television
DSSS Direct Sequence Spread Spectrum
FAO Fabrication Assistée par Ordinateur
FCM Fuzzy C-Means
FHSS Frequency-Hopping Spread Spectrum
FPGA Field Programmable Gate Away
GPU Graphics Processing Unit
GPIO General Purpose Input/Output
HDMI High Definition Multimedia Interface
HF High Frequency
H-IDS Host based Intrusion Detection System
IP Internet Protocol
IMAP Internet Message Access Protocol
IA Intelligence Artificielle
IOS IPhone Operating System
IPP Internet Printing Protocol
viii
IdO Internet des Objets
IDS Intusion Detection System
IoT Internet of Things
IPS Intrusion Prevention System
KIDS Kernel Intrusion Detection System
KIPS Kernel Intrusison Prevention System
LLC Logical Link Control
LCD Liquid Crystal Display
LDT Lua Development Tools
MAP Maximum à posteriori
MAC Media Access Control
M2M Machine to Machine
MF Medium Frequency
N-IDS Network based Intrusion Detection System
NIPS Network Intrusion Prevention System
OCCTV Open Closed Circuit Television
OSI Open Systems Interconnection
OFDM Orthogonal Frequency-Division Multiplexing
OSMC Open Source Media Center
PTP Point to Point
POP Post Office Protocol
ix
PTMP Point to Multipoint
RST Reset System Transmission
SHF Super High Frequency
SMTP Simple Mail Transfert Protocol
SSH Service Shell
SIM Security Information Manager
TCP Transmission Control Protocol
TOR Tout ou Rien
UHF Ultra High Frequency
USB Universal Serial Bus
VHF Very High Frequency
Wifi Wireless Fidelity
1
INTRODUCTION GENERALE
La technologie ne cesse de s’accroitre grâce aux objets connectés, elle offre la modernité et le
confort dans le monde entier. Maintenant les problèmes d’insécurité se font de plus en plus ressentir
comme les menaces, le terrorisme, le cambriolage, etc. Quotidiennement, la vidéosurveillance est
une solution qui permet de régler ce genre de problème, elle offre la possibilité de surveiller des
individus suspects afin d’éviter les éventuels attentats, mettre sous surveillance l’habitat afin de
détecter les cambriolages ou tout simplement peut servir comme outils d’authentification.
Ce projet consiste à réaliser une application et un programme utilisant le module Arduino et
Raspberry pi servant à résoudre ces différents problèmes. En effet, ce projet en question sera basé
sur un système de sécurisation à distance dont la principale particularité est la possibilité de
s’affranchir aux dérivés problèmes liés à la distance tout en mettant en place un système de
reconnaissance faciale.
Les développements infranchissables dans le domaine de la Télécommunication a permis de réaliser
d’important progrès dans la dernière décennie. Les avancées les plus connues sont celles réalisées
dans l’apprentissage automatique, une branche de l’intelligence artificielle qui consiste à donner à
une machine la faculté d’apprendre, grâce au développement d’architectures d’apprentissage
profond ou Deep Learning en anglais. Ceci, tout en résolvant des problèmes spécifiques à la vision
humaine ainsi de doter les machines de perception de leur environnement comme la reconnaissance
d’images ou de visages par ordinateur par exemple.
Ce mémoire intitulé « ETUDES DES SYSTEMES DE SECURISATION DANS LE DOMAINE
DE LA DOMOTIQUE » se divise en quatre chapitres.
Le premier chapitre met en détail la présentation globale du projet. Le second chapitre mettra en
valeur le mécanisme des objets connectés, ses principaux avantages et ses inconvénients. Le
troisième chapitre traitera ce qu’on entend apprentissage automatique et le dernier chapitre sera
consacré sur la réalisation du projet ainsi présenté.
2
CHAPITRE 1
PRESENTATION GENERALE DU PROJET
Introduction
Dans ce chapitre, une présentation brève du projet sera mise en valeur afin de mieux visualiser les
différentes méthodes et applications appliquées. Notons que, ce présent mémoire se focalise plus
précisément sur l’Internet des Objets utilisant principalement deux modules : Raspberry pi et
Arduino.
Pour commencer, présentons les différents outils utilisés pendant la réalisation de ce présent projet,
sa démarche et enfin les systèmes de transmissions adoptés durant sa réalisation.
Les matériels adoptés durant la réalisation du projet
Raspberry pi
Le Raspberry pi est un nano ordinateur de la taille d'une carte de crédit que l'on peut brancher à un
écran et utilisé comme un ordinateur standard. Son but principal est d'encourager l'apprentissage de
la programmation informatique. [1]
Il inclut tous les composants d’un ordinateur basé sur le système d’exploitation Linux et destiné à
des applications d’informatique embarquée. Le cœur de l’ordinateur est un FPGA (Broadcom 2835)
intégrant un processeur ARM11 cadencé à 700MHz avec son microprocesseur CPU et son GPU.
[2]
Figure 1.01 : Présentation de la carte Raspberry pi.
3
Le Raspberry pi ne dispose pas d'un disque dur interne car cela augmenterait sa taille, et on stockera
les données sur une carte SD. Par défaut, le Raspberry pi est vendu nu et sans accessoires. Donc, il
est nécessaire de se munir des matériels suivants [1] [3] :
Une carte micro SD compatible avec le modèle Raspberry pi choisi ;
Un câble d'alimentation micro USB standard ;
Un câble RJ45 pour se connecter au réseau ;
Un câble HDMI afin de connecter le Raspberry pi un écran ou une télévision ;
Un clavier pour taper les commandes.
Le camera pi REV 1.3
Il existe de nombreux types de camera. J’ai adopté REV 1.3, entièrement compatible avec le modèle
A et B, avec une résolution d’image de 5 megapixel ou 1080 pixel et un enregistrement vidéo HD à
30 fps. Ce module est pris en charge à la dernière version de Raspbian et aide à capturer des images,
des vidéos, de lapse de temps et des mouvements. [3]
Figure 1.02 : Présentation de la caméra pi Rev 1.3.
Arduino
La carte Arduino est une platine de développement constituée d’un port de communication, une
série par USB et un circuit pour l’alimentation et d’un microcontrôleur AVR associée à des entrées
et sorties permettant à l’utilisateur de brancher de différents types d’éléments externes. [4]
Son interface de programmation est inspirée du traitement environnemental Processing. De plus,
cette carte peut être programmée afin d’analyser et de produire des signaux électriques de manière
à effectuer des tâches très diverses comme l’apprentissage automatique et l’apprentissage profonde.
[4]
4
Figure 1.03 : Présentation de la carte Arduino UNO.
Le capteur de flamme KY-026
Le module de capteur de flamme KY-026 pour Arduino détecte la lumière infrarouge émise par le
feu. Le module possède des sorties numériques et analogiques et un potentiomètre pour ajuster la
sensibilité. Il est couramment utilisé dans les systèmes de détection d'incendie.
Il fonctionne sous une tension de 3.3 à 5.5 V, de détection de longueur d’onde infrarouge allant de
760 à 1100 nm, comprenant un récepteur infrarouge de 5mm et un angle de détection de 60°.
Figure 1.04 : Le capteur de flamme KY-026.
5
Module relais
Un module relais a pour rôle de convertir la tension du courant de 220 V en 5 V ou en 3.3 V, afin
de mieux alimenter les capteurs associés à ce module selon le projet adopté. Il est constitué de
plusieurs broches selon le nombre de canaux d’entrée à haute tension. Sur cette figure, on distingue
un seul canal donc on a 3 broches : la masse, la broche connectée à son module Arduino et
l’alimentation. [5]
Figure 1.05 : Module relais monocanal.
Module Bluetooth HC-06
Le module Bluetooth HC-06 permet d'établir une liaison série entre une carte Arduino et un autre
équipement possédant une connexion Bluetooth (Smartphone, tablette, seconde carte Arduino,
etc.…). Le module HC-06 est un module "esclave" contrairement au module HC-05 qui est "maître".
Un module "maître" peut demander à un autre élément Bluetooth de s'appairer avec lui alors qu'un
module "esclave" ne peut recevoir que des demandes d'appairage. [5]
Figure 1.06 : Module Bluetooth HC-06
6
La vidéosurveillance et le système automatisé
Ce projet se base généralement sur la vidéosurveillance et l’automatisation d’un système. Avant
d’entrer en détail sur sa démarche, une présentation générale sur la vidéosurveillance et le système
automatisé sera nécessaire.
La vidéosurveillance
La vidéosurveillance est un système de caméra et de transmission d’image, disposé dans un espace
public ou privé afin de surveiller à distance. Il s’agit donc d’un type de télésurveillance. Les images
obtenues avec ce système, peuvent être traitées automatiquement et visionnées puis archivées ou
détruites. La surveillance a pour but de contrôler les conditions de respect de la sécurité, de la sûreté
ou encore de l’exécution d’une procédure particulière. [6]
1.3.1.1 Objectif de la vidéosurveillance
L’objectif général d’un système de vidéosurveillance est de contribuer à la sécurité des biens ou des
personnes. Cette contribution peut se focaliser sur diverses composantes, souvent imbriquées
comme : [7]
La prévention de la criminalité : la vidéo protection permet l’augmentation des taux
d’élucidation des crimes et de délits ;
La sécurité routière : la vidéosurveillance se développe pour l’accès en temps réels de la
circulation routière des voies les plus fréquentées comme les autoroutes et voies rapides,
ainsi que la détection d’accident ;
La sécurité industrielle : dans le domaine de la sécurité industrielle, des sites de production
sont équipés de systèmes de vidéosurveillance permettant de multiplier les points
d’observation en temps réel de l’état des installations et du déroulement du procédé ;
La sûreté : au titre de sureté, divers lieux sont vidéo surveillée afin de prévenir les intrusions
et les dégradations de la part des personnes malveillantes.
7
1.3.1.2 Topologie des réseaux
Le réseau se compose d’émetteurs qui sont les caméras vidéo, montés par exemple sur des bâtiments
ou sur du mobilier urbain, et de récepteurs montés sur des points hauts. La couverture d’une zone
utilise des liaisons point à point (PTP) ou point à multipoint suivant la topologie des lieux et le type
d’architecture souhaitée. Une couverture peut atteindre plusieurs kilomètres, voire une trentaine
pour des liaisons point à point. [7]
Les flux vidéo sont émis par les caméras et transmis vers les récepteurs dans le sens montant, tandis
que seules des commandes sont envoyées sur le sens descendant. La première remarque que l’on
peut faire est que le réseau vidéo nécessite en priorité un fort débit dans le sens montant. [7]
Diverses topologies sont envisageables et peuvent être sans inconvénient être mixées au sein d’un
même réseau.
a. Topologie point à point
Une liaison point à point (PTP) met en relation un récepteur et une unique caméra ou encore les flux
générés par plusieurs caméras centralisées par un équipement de concentration distant. Cette liaison
est un cas particulier du mode infrastructure. Elle permet d connecter deux points d’un réseau grâce
à deux antennes généralement directionnnelles. [8]
Figure 1.07 : Topologie point à point.
8
b. Topologie point à multipoint
Au contraire, la topologie point à multipoint (PTMP) permet de rapatrier les flux de plusieurs
caméras disséminées sous la couverture du récepteur. Il s’agit ici d’une architecture modulaire,
capable d’évoluer en fonction des besoins car à tout moment il est possible de déplacer une caméra
ou d’en ajouter de nouvelle. L’avantage de cette méthode est la grande simplicité des
communications. La gestion de l’ensemble peut s’effectuer par le système central. [8]
Figure 1.08 : Topologie point à multipoint.
c. Topologie Mesh
La topologie en réseaux mesh ou maillé, dont les récepteurs sont eux-mêmes reliés par radio. Ce
type de réseau est intéressant du point de vue de la mobilité et de l’extension de couverture, mais
est mal adapté au transport de signaux vidéo de haute qualité, car il ne peut garantir un niveau qualité
de service, notamment sur de gros réseaux et son utilisation reste marginale. [6]
Figure 1.09 : Topologie Mesh.
9
1.3.1.3 Les types de système adapté en vidéosurveillance
a. Le système analogique
Un système de vidéosurveillance utilisant un magnétoscope traditionnel est un système entièrement
analogique dans lequel les caméras analogiques avec sorties coaxiales sont reliés au magnétoscope
pour l’enregistrement. [8]
Figure 1.10 : Le système analogique.
b. Système sur réseau IP
Ce système relie un réseau de caméra IP, qui peut compter de nombreuses unités, à un système
d'enregistrement numérique. D'une part, cela permet de pouvoir stocker une quantité importante
d'images, sans perte de qualité, tout en pouvant les consulter rapidement grâce à des logiciels de
traitement. D'autre part, le fait d'informatiser un système de surveillance permet de profiter des
technologies de communication comme Internet. Ainsi, les caméras sont « visibles » et gérables
depuis n'importe où dans le monde. [8]
10
Figure 1.11 : Le système numérique.
c. Système hybride
Un système hybride est un système de vidéosurveillance analogique utilisant un enregistreur
numérique. L’enregistrement ne se fait plus sur bandes mais sur des disques durs. [6]
Figure 1.12 : Le système hybride.
11
1.3.1.4 Architecture de l’installation de la vidéosurveillance
a. Vidéosurveillance en circuit fermé ou CCTV
Le principe d’un système en circuit fermé est de relier sur le même réseau interne à une structure
des caméras, un ou plusieurs moniteurs et éventuellement un enregistreur. Pour ce type
d’installation, les images ne seront pas diffusées en temps réel en dehors de l’entreprise. Elles ne
peuvent être accédées que par celui qui est relié au réseau. [7]
b. Vidéosurveillance en circuit ouvert ou OCCTV
A l’inverse de la précédente architecture, l’installation en circuit ouvert est un système à un réseau
extérieur. Cette architecture offre de nombreux avantages tels que : la surveillance des locaux à
distance, la télésurveillance et la surveillance multisites. Le développement de l’Internet ainsi que
les améliorations successives du débit de transmission sont la principale cause de la mise en place
de ce type d’installation. [6] [7]
En effet, grâce à cette architecture, le système est relié à un réseau extérieur par l’intermédiaire de
l’Internet. Cet aspect permet à un utilisateur d’effectuer une surveillance à distance en toute sécurité.
Système automatisé
1.3.2.1 Présentation générale
Après avoir été mis en fonctionnement par l’homme, un système automatisé est un ensemble de
composants fonctionnant sans interventions supplémentaires afin d’effectuer des actions
programmées prévues à l’avance et répétitives. Notons qu’un système automatisé est constitué d’un
opérateur, d’une partie commande et d’une partie opérative avec des capteurs et des actionneurs.
L’opérateur est l’utilisateur du système qui donne des consignes à la partie commande et reçoit des
signaux l’informant sur les états du système. La partie commande qui est l’ordinateur joue le rôle
de cerveau du système pilotant les actionneurs de la partie opérative, reçoit des informations venant
des capteurs et de l’opérateur comme par exemple l’envoie automatique des informations se passant
dans son domicile en cas d’intrusion ou d’accident d’incendie. [9]
La partie opérative exécute les ordres qu’elle reçoit de la partie commande grâce aux actionneurs et
recueille des informations sur les états du système grâce aux capteurs.
12
Figure 1.13 : Présentation d’un système automatisé.
1.3.2.2 L’utilité de l’automatisation
L’automatisation permet d’apporter des éléments supplémentaires à la valeur ajoutée par le système.
Ces éléments sont exprimables en termes d’objectifs par : [9]
L’accroissement de la productivité du système ;
L’amélioration de la flexibilité de production ;
L’amélioration de la qualité du produit ;
L’adaptation à des contextes particuliers tels que les environnements hostiles pour l’homme
comme les milieux dangereux ;
L’adaptation à des tâches physiques ou intellectuels pénibles pour l’homme comme les
tâches répétitives parallélisées ou la manipulation de lourdes charges ;
L’augmentation de la sécurité.
1.3.2.3 La sécurité en termes d’automatisation
Les systèmes automatisés sont par nature source de nombreux dangers à cause des tensions utilisées,
des déplacements mécaniques, etc. D’où, placé au cœur du système automatisé, l’automate doit
d’être de graves répercussions sur la sécurité des personnes. De plus, les couts de réparation et un
arrêt de la production peuvent avoir de lourdes conséquences sur le plan financier. Ainsi, l’automate
fait l’objet de nombreuse disposition afin d’assurer la sécurité comme : [9]
13
Les contraintes extérieures : l’automate est conçue pour supporter les différentes contraintes
du monde industriel et a fait l’objet de nombreux test normalisé ;
Les coupures d’alimentation : l’automate est conçu afin de supporter les coupures
d’alimentation et permet grâce à un programme d’assurer un fonctionnement correct lors de
la réalimentation ;
Les contrôles cycliques qui sont des procédures d’autocontrôle de la batterie, des mémoires,
de l’horloges et de la tension d’alimentation ;
Une visualisation offerte par l’automate afin de voir l’évolution des entrées et des sorties.
Démarche du projet
Ce projet a pour but général de sécuriser un domicile et d’allumer la lumière à l’aide d’un
smartphone sans l’aide d’un interrupteur. Pour commencer, grâce à l’innovation de la technologie,
nous avons pu créer un système domotique automatisé équipé d’une vidéosurveillance.
Sur le plan sécurisation
1.4.1.1 Synoptique sur le plan sécurisation utilisant Pushbullet
Grace à l’innovation et à la technologie ne cessant à point de fasciner le monde une sécurisation
équipée d’une vidéosurveillance et d’une détection d’incendie a été créée afin de recevoir en temps
réel des notifications automatiques à l’aide de son smartphone ou de son ordinateur en allant sur son
navigateur préféré.
Figure 1.14 : Synoptique du projet sur le plan sécurisation via Pushbullet.
14
La figure ci-dessus représente le synoptique générale de notre projet sur le plan de la sécurisation
du domicile. Pour cela, au cas où un mouvement a été détecté par son caméra pi ou si un incendie a
été déclenché dans son domaine, notre Raspberry pi va envoyer des messages, des images et même
des vidéos de la scène à l’heure précis. Ensuite, Pushbullet en tant que serveur va envoyer ses mêmes
notifications sur son IOS.
1.4.1.2 Synoptique sur plan sécurisation utilisant SMTP
SMTP (Simple Mail Transfer Protocol) est un protocole TCP/IP, essentiellement un ensemble de
règles et de directives qu'un système doit suivre, qui est utilisé pour envoyer et recevoir des
informations sous forme de courrier électronique.
Cependant, elle est en fait restreinte et manque de quelques fonctionnalités, comme la possibilité de
mettre les messages en file d'attente à l'extrémité de réception puisqu'elle est généralement utilisée
soit par IMAP (Internet Message Access Protocol) ou POP3 (Post Office Protocol 3). Ces protocoles
permettent à l'utilisateur d'accéder à ses messages et à leur contenu dans une boîte aux lettres
enregistrée sur le serveur, pendant que le système les télécharge périodiquement de la base de
données du serveur. [29]
Figure 1.15 : Synoptique du projet sur le plan sécurisation via SMTP.
Selon la figure 1.15, si notre camera pi détecte la présence d’une personne dans notre domicile, il
détecte et capture son visage et envoie une notification sur l’email du propriétaire de l’habitat avec
une image de son visage détecté par la caméra.
15
Sur le plan domotique
Ici, présentons une maquette en carton afin d’avoir un prototype de notre habitat. Selon la figure
suivante, notre domicile est divisé en 5 blocs incluant une chambre, une cuisine, une toilette et une
salle de séjour. D’un autre part, la maison connectée comprend les 4 lampes qui seront commandées
grâce à un application Android installé sur son smartphone.
Figure 1.16 : Prototype de notre maison connectée.
Les techniques de transmission dans les réseaux sans fils
Il existe deux techniques de transmission possibles dans les réseaux sans fil :
La transmission par ondes infrarouges ;
La transmission par ondes radio.
La transmission par ondes infrarouge s nécessite que les appareils soient en face l’un des autres et
qu’aucun obstacle ne sépare l’émetteur du récepteur car la transmission est bidirectionnelle. Cette
technique est utilisée pour créer des petits réseaux de quelques dizaines de mètres tel que la
télécommande de la télévision, les jouets, les voitures par exemples. [12]
La transmission par ondes radio est utilisée pour la création des réseaux sans fil à plusieurs
kilomètres. Elles ont l’avantage de ne pas être arrêtées par les obstacles car les ondes radio sont
émises d’une manière omnidirectionnelle. Les problèmes de cette technique sont les perturbations
extérieures qui peuvent affecter la communication à cause d l’utilisation de la même fréquence. [14]
16
Les systèmes de transmissions adoptés dans le projet
La transmission des données consiste à transporter des informations d’un endroit à un autre à l’aide
des moyens physiques. L’une des spécificités de ce mémoire concerne justement le fait d’informer
l’utilisateur en cas d’alerte. [11]
Bluetooth
Le Bluetooth est une technologie sans fil permettant l’échange bidirectionnel de données sans
liaison filaire. Son objectif est de transmettre des données ou de la voix entre des équipements
possédant un circuit radio de faible coût, sur un rayon de l’ordre d’une dizaine de mètres à un peu
moins d’une certaine de mètres et avec une faible consommation électrique. [6]
1.6.1.1 Caractéristiques
L’interface Bluetooth est constituée d’une interface radio, d’un contrôleur et d’une interface avec le
système hôte selon la figure suivante :
Figure 1.17 : Schéma bloc d’une interface Bluetooth.
Tout système compatible “Bluetooth” est équipé d’une interface identique grâce à laquelle il pourra
communiquer avec les autres systèmes compatibles situés généralement dans un rayon d’une dizaine
de mètres.
La liaison radio fonctionne dans une bande de fréquence située autour de 2,45 Ghz libre dans la
plupart des pays. De plus, le Bluetooth permet d’obtenir des débits de l’ordre de 1 Mbps d’où 1600
échanges par seconde en full-duplex de portée d’une dizaine de mètre pour l’émetteur de classe 2 et
d’une centaine de mètre la classe 1. [14]
17
1.6.1.2 Topologie réseau
Bluetooth est un réseau de type « ad-hoc » ou sans station de base où :
Le réseau est auto-configurable : deux machines se retrouvant dans le même secteur peuvent
se reconnaitre et s’échanger des données ;
Chaque machine peut échanger des informations avec n’importe quelle autre machine ;
Les nœuds peuvent échanger des données uniquement lorsqu’ils sont à portée de réception
l’un par rapport à l’autre.
Notons que dans un réseau Bluetooth, on peut distinguer des « piconet » et des « scatternet. Un
picoréseau ou piconet est un mini-réseau qui se crée de manière instantanée et automatique quand
plusieurs périphériques Bluetooth sont dans un même rayon. [7]
Figure 1.18 : Réseau piconet.
Selon la figure ci-dessus, un picoréseau est organisé selon une topologie en étoile où il y a un maitre
et plusieurs esclaves en communication directe. Notons que les esclaves ne peuvent pas se
communiquer entre eux et au maximum, ce réseau est constitué de 8 appareils où l’appareil initiant
l’échange joue le rôle de maître imposant les fréquences de travail et son horloge de synchronisation
aux esclaves. [7]
Les appareils ne faisant pas partie du piconet sont en mode « stand-by » ou « park », ceci est inter-
réseau Bluetooth composé d’au moins de deux piconets. Cette structure est hiérarchique où le maitre
d’un piconet étant esclave d’un autre nommé « réseau scatternet ». [6] [7]
18
Figure 1.19 : Réseau scatternet.
Wi-fi
Le Wi-fi est un ensemble de protocoles de communication sans fil régis par les normes du groupe
IEEE 802.11, un réseau Wi-fi permet de relier par ondes radio plusieurs appareils informatiques au
sein d’un réseau informatique pour la transmission des données. [31]
1.6.2.1 Caractéristiques
La norme 802.11 s’attache à définir la couche basse du modèle OSI pour une liaison sans fil utilisant
des ondes électromagnétiques, c’est-à-dire :
La couche physique proposant quatre types de codage de l’information ;
La couche liaison de données constituée de deux sous-couches : le contrôle de la liaison
logique et le contrôle d’accès au support.
La couche physique définit la modulation des ondes radioélectriques et les caractéristiques de la
signalisation pour la transmission de données, tandis que la couche liaison de données définit
l’interface entre le bus de la machine et la couche physique représentée par le tableau suivant [7] :
19
Couche Liaison de données
802.2 (LLC)
802.11 (MAC)
Couche physique (PHY) DSSS FHSS OFDM Infrarouge
Tableau 1.01: Structure et couches du protocole Wi-fi.
1.6.2.2 Topologie réseau
a Mode Ad-hoc
Le mode Ad-hoc permet de connecter directement les ordinateurs équipés d’une carte Wi-fi sans
utiliser un point d’accès. Chaque station ne peut communiquer qu’avec les stations qui sont à portée.
C’est un mode de fonctionnement rudimentaire pouvant rapidement devenir compliqué si le nombre
de machine en réseau augmente. [7]
b Mode infrastructure
Dans ce mode, il y a au moins un émetteur-récepteur Wi-Fi jouant un rôle particulier. Ici, les
appareils équipés d’une carte Wi-Fi peuvent être connectés entre eux via un ou plusieurs points
d’accès. C’est typiquement le mode utilisé quand on souhaite étendre un réseau câblé genre Ethernet
avec une couverture Wi-Fi pour les portables, ou pour les machines que l’on ne souhaite pas câbler.
Figure 1.20 : La différence entre le fonctionnement en mode Ad-hoc et en mode Infrastructure.
20
Conclusion
La mise en place d’un système automatisé équipé d’une vidéosurveillance et d’un détecteur
d’incendie renforce la sécurité que ce soit dans son propre foyer ou au sein de la société à l’aide
d’un système de transmission saine. De plus, l’intelligence artificielle s’est invitée pour créer des
maisons connectées depuis quelques années ne cessant de faire évoluer notre vie quotidienne. Tout
d’abord avec l’automatisme, puis avec leur programmation et la commande à distance dont
l’ensemble est piloté par des systèmes domotiques sur smartphone ou tablettes. Cela nous mène à
définir ce qu’on entend par Internet des Objets.
21
CHAPITRE 2
LES OBJETS CONNECTES
Introduction
Le futur est derrière nous, car la maison connectée existe déjà. Plus précisément, elle est née dans
les années 1980 lorsque l’informatique a commencé à entrer dans nos domiciles que l’on appelle
aussi « domotique ». De plus, avec le développement de l’internet, du wifi et des réseaux connectés,
nos maisons sont capables d’être de plus en plus automatisées.
Dans ce chapitre, nous aborderons sur les généralités sur l’internet des objets, la domotique et la
maison intelligente.
Quelques définitions
_ Un objet est une entité physique comme une voiture, une machine à café électrique ou un téléphone
mobile. Un objet connecté est un matériel électronique qui peut communiquer avec un Smartphone.
Une tablette tactile et/ou un ordinateur a ses caractéristiques pouvant évoluer au cours du temps. Il
peut envoyer et recevoir des informations, via une liaison sans fil, Bluetooth ou WiFi. [10]
_ La maison intelligente est un paradigme qui se positionne en successeur de la domotique,
bénéficiant des avancées en internet des objets.
_ Le mot domotique vient de domus qui signifie « domicile » et du suffixe –tique qui fait référence
à la technique. Elle est l’ensemble des techniques de l’électronique, de physique du bâtiment,
d’automatisme, de l’informatique et des télécommunications visant à apporter des solutions
techniques répondant aux besoins, de sécurité et de communication à distance que l’on peut trouver
dans les maisons, les hôtels, les lieux publics…etc. [10]
L’internet des objets
L’Internet des Objets désigne la “connexion” de ces objets à un réseau plus large, que ce soit
directement par Wi-Fi, ou par l’intermédiaire du smartphone de l’utilisateur souvent via une
connexion Bluetooth ou grâce à des protocoles de communication qui leur sont propres. Et qui
permettraient aux objets de communiquer entre eux. C’est ce type d’objets que nous appelons objets
connectés. [11]
22
Figure 2.01 : Présentation de l’Internet des Objets.
Le terme « Internet des Objets » ne possède pas encore de définition officielle et partagée, il
s’explique par le fait que l’expression est encore jeune et que le concept est encore en train de se
construire. En effet, c’est un réseau qui permet, via des systèmes d’identification électronique
normalisés et unifiés, et des dispositifs mobiles sans fil et d’identifier directement sans ambiguïté
des entités numériques et des objets physiques et ainsi de pouvoir récupérer, stocker, transférer et
traiter, sans discontinuité entre les mondes physiques et virtuels les données s’y rattachant.
Importance de l’Internet des Objets
L’internet des objets offre une très grande évolution dans la vie des humains, comme : [33]
L’évolution naturelle des technologies : lien inévitable entre le monde numérique et le
monde physique ;
L’assistance à nos activités professionnelles et personnelles ;
La réduction considérable des dépenses dans l’économie d’aujourd’hui en termes
d’industrie, de santé, de sécurité ;
L’accroissement de son évolution en estimation de 50 milliards d’objets en 2020.
23
Domaines applicatifs de l’IoT
Il existe plusieurs domaines applicatifs en internet des objets [33] :
La ville intelligente : circulation routière, transports intelligents, collecte des déchets,
cartographies diverses ;
Les environnements intelligents : prédiction des séismes, détection d’incendies, qualité de
l’air ;
La sécurité et la gestion des urgences : radiations, attentats, explosions ;
Logistique : aller plus loin que les approches actuelles ;
Contrôle industriel : mesure, pronostic et prédiction des pannes, dépannage à distance ;
Santé : suivi de paramètres biologiques à distance ;
L’agriculture intelligente ;
La domotique ;
Les applications ludiques.
Figure2.02 : Les domaines applicatifs de l’Internet des Objets.
24
Fonctionnements des objets connectés
Les objets connectés sont reliés à l’Internet (on parle d’ailleurs d’Internet des objets, ou web 3.0).
Ils peuvent communiquer avec d’autres systèmes pour obtenir ou fournir de l’information. Cela est
rendu possible par la forte miniaturisation des composants électroniques, mais aussi par l’émergence
de nouveaux réseaux de télécommunication de type M2M permettant l’échange d’informations
entre deux machines sans intervention humaine. Ils pourront par exemple [12] :
Collecter et stocker des informations en fonction de leur environnement : le rythme
cardiaque de l’utilisateur, l’hygrométrie d’une cave, etc. ;
Déclencher une action en fonction des informations recueillies sur le web : l’arrosage d’une
pelouse à la veille d’une forte journée de sécheresse.
Figure 2.03 : La jonction entre le monde physique et numérique de l’internet des objets.
Les types d’objets
Il est raisonnable de considérer que l’internet des objets est composé d’objets actifs, capables
d’accomplir des calculs, d’effectuer des mesures sur l’environnement ou d’influer sur celui-ci, et
d’objets passifs qui n’ont pas d’autres aptitudes que celles d’être suivis et détectés par des objets
actifs. [13]
Un objet actif peut stoker tout une partie de son identité et échanger directement ces informations
avec d’autres objet actif. Par extension, l’identité d’un objet passif n’est pas directement stockée
dans celui-ci, elle nécessite l’utilisation d’une infrastructure tierce qui stocke ses informations. [10]
25
Les capteurs adoptés en Internet des objets
Les capteurs permettent de convertir une mesure en un signal, transmis ensuite aux appareils
électriques pour contrôler leur fonctionnement. Les capteurs ne réagissent pas de la même manière
on distingue cinq types de capteurs pour une installation domotique : [10] [36]
Le capteur logique ou capteur TOR ;
Le capteur analogique ;
Le capteur numérique ;
Le capteur digital ;
Le capteur biométrique.
Le capteur logique
C'est le type de capteur le plus basique. Il détecte une action ou un évènement. Le capteur met en
marche ou arrête l'appareil sur lequel il est relié. Il traduit l'action observée par deux possibilités, 0
et 1 (traduit en marche / arrêt par exemple). [4] [36]
Exemple 2.04 : Capteur de présence (exemple de capteur TOR).
Le capteur analogique
Un capteur analogique peut être physique ou chimique, selon la grandeur qu'il mesure. Pour un
capteur de température ou un capteur acoustique, on parle de capteur analogique physique. Si on
mesure le taux d'humidité par exemple, on parle alors de capteur analogique chimique. Le capteur
analogique transmet une valeur proportionnelle à la grandeur mesurée. [10] [36]
26
Exemple 2.05 : Le capteur de température KY-028.
Le capteur numérique
Un capteur numérique mesure une grandeur et transmet une valeur chiffrée précise. Le pluviomètre
est un exemple classique de capteur numérique.
Exemple 2.06 : Le pluviomètre.
Le capteur biométrique
La biométrie est la mesure d'une grandeur humaine. Ces capteurs sont modernes et font appel à des
technologies innovantes. Un capteur d'empreinte digitale par exemple est un capteur biométrique.
Exemple 2.07 : Le capteur d’empreintes digitales.
27
Les composants d’un systèmes IoT
L’internet des objets n’est pas une technologie à part entière mais plutôt un système intégrant
plusieurs autres systèmes. Elle exige :
Une étiquette physique ou virtuelle pour identifier les objets et les lieux.
Un moyen de lire les étiquettes physiques, ou de localiser les étiquettes virtuelles.
Un dispositif mobile (smartphone, tablette, ordinateur portable).
Un logiciel additionnel pour le dispositif mobile.
Un réseau sans fil de type 2G, 3G ou 4G.
L'information sur chaque objet lié.
Les appareils en réseau
En domotique il n’y a pas de chef mais seulement un messager. Il s’agit d’un appareil électronique
comme un petit boîtier tactile, une tablette, un smartphone contenant la même interface virtuelle
connectée à tous les équipes d’appareils de la maison comme l’éclairage et le chauffage automatique
par exemple afin de pouvoir commander à distance son domicile. [12]
Figure 2.08 : Présentation d’un domicile intelligent.
28
Pour cela, une interface se charge de transmettre la demande du propriétaire du domicile par réseau.
Pour cela, trois chemins sont possibles. Soit par réseau filaire via un câble de téléphone, ou encore
passer par les câbles électriques de la maison et enfin par l’émission des ondes radios comme le
wifi, le Bluetooth, etc. Dans notre cas, tout se passe par les ondes radios.
Les ondes radios
Une onde radioélectrique ou une onde radio, est une onde électromagnétique dont la fréquence est
inférieure à 300 GHz. Soit une longueur d'onde dans le vide supérieure à 1 millimètre. Puis, elles
sont adaptées au transport de signaux issus de la voix et de l'image. Les ondes radio permettent les
radiocommunications (Talkie-walkie, téléphone sans fil, téléphonie mobile...) et la radiodiffusion.
[14]
Figure 2.09 : Présentation globale de la fréquence des ondes radio.
Le tableau suivant résume la portée, la fréquence, les autres appellations et les exemples d’utilisation
des ondes radio. [14]
29
Designation
international
Fréquence Longueur
d’onde
Autres
appellations
Exemples d’utilisation
MF (Medium
Frequency)
300 Khz à 3
Mhz
1 Km à 100 m Petites ondes
ou ondes
moyennes ou
ondes
hectométriques
Service maritime, radio
AM, appareil de
recherche de victimes
d’avalanche.
HF (High
Frequency)
3Mhz à 30
Mhz
100 m à 10 m Ondes courtes
ou ondes
décamétriques
Militaire, radiodiffusion,
aéronautique, météo.
VHF (Very
High
Frequency)
30 Mhz à 300
Mhz
10 m à 1 m Ondes
métriques ou
ondes ultra-
courte
Radio FM, aéronautique,
réseaux privés, météo.
UHF (Ultra
High
Frequency)
300 Mhz à 3
Ghz
1 m à 10 cm Ondes
décimétriques
Réseaux privés, GSM,
téléphones sans fil, wifi,
télévision.
SHF(Super
High
Frequency)
3 Ghz à 30
Ghz
10 cm à 1 cm Ondes
centimétriques
Réseaux privés, wifi,
radiodiffusion par
satellite, faisceau
hertzien.
Tableau 2.01: Les ondes radio.
Les applications de la domotique
Au-delà des économies d’énergie, il y a bien d’autres d’applications de la domotique. Par exemple,
en matière de sécurité, de santé, de qualité de l’air, d’assistance aux personnes vulnérables. Bref, la
domotique pénètre peu à peu dans tous les domaines de notre vie quotidienne. [12]
Dans ce chapitre, focalisons plutôt sur la sécurisation et l’automatisme de notre maison en termes
de détection de fumée, d’éclairage ou de détection d’intrusion.
30
Exemple 2.10 : L’application de la domotique grâce à l’Internet des Objets.
Le tableau suivant résume quelques exemples d’applications de la domotique : [34]
SECTEURS APPLICATIONS
Confort
Volets roulant électriques, portails électriques ;
Gestion intelligente de l’éclairage (allumage, extinction
automatique)
Commande à distance par smartphone.
Sécurité
Alarme intrusion, alarme incendie, détection de fuite d’eau,
détection de fuite de gaz ;
Coupure automatique des circuits à risque en cas d’absence
(plaque de cuisson, cafetières)
Economie d’énergies
Gestion de fuites d’eau;
Gestion intelligente du chauffage (programmation horaire,
températures réduites ;
Gestion intelligente de l’éclairage (détection de présence,
variation de l’intensité lumineuse) ;
Dépendance
Commande centralisée par télécommande ou smartphone ;
Volets roulant électriques, portails électriques ;
Gestion intelligente de l’éclairage (allumage, extinction
automatique).
Tableau 2.02: Quelques applications en domotique.
31
Les avantages de l’internet des objets
Les avantages de l'IoT couvrent tous les domaines du style de vie et des affaires. Voici une liste de
certains des avantages que l'IdO offre :
Amélioration de l’engagement du client
Les analyses actuelles souffrent de points aveugles, de failles importantes dans la précision
l'engagement reste passif. L'IoT transforme complètement ceci pour réaliser un engagement plus
riche et plus efficace avec le public.
Optimisation de la technologie
Les mêmes technologies et données qui améliorent l'expérience client permet l’utilisation d’un
appareil sophistiqué important à la technologie.
Web data pour le marketing des entreprises
Les entreprises peuvent choisir l’emploi de leur propre traqueur analytique qui fait connaître les
comportements de leurs clients sur le web. Il est aussi possible d’externaliser les tâches à des firmes
de marketing qui sont établies dans cet espace. Quel modèle de navigation web suivent les visiteurs
quand ils entrent ou sortent du site internet ? Quels types d’appareils ils utilisent ? Et quelles autres
données révélatrices sur ces visiteurs seront alors agrégées afin de réaliser une image plus complète
de ce qu’ils représentent ? Tout cela va permettre d’enrichir l’analyse et les prévisions marketing à
implanter rapidement. [13]
Identification des sites dangereux
Les entreprises commerciales offrent des services de sécurité qui autorisent le réseau administrateur
à traquer les échanges M2M et les visites de site internet de la part des ordinateurs d’entreprises. Il
s’agit aussi de démasquer les sites dits « dangereux » et les adresses IP d’ordinateurs d’entreprises
qui les visitent de manière régulière. Cette pratique limite les risques de mise en danger des sites à
cause de virus ou d’un programme malveillant. Puisque ce service de surveillance est disponible sur
le cloud, les entreprises sont en mesure de les mettre en place rapidement et facilement. [13]
32
Les risques de l’IoT
Bien que l'IoT offre un ensemble impressionnant d'avantages, il présente également un ensemble
important de défis. Voici une liste de quelques-uns de ses principaux problèmes :
Sécurité
L'Internet des objets crée un écosystème d'appareils connectés en permanence qui communiquent
sur des réseaux. Le système offre peu de contrôle malgré toutes les mesures de sécurité. Cela laisse
les utilisateurs exposés aux différents types d'attaquants.
Confidentialité
La sophistication de l'IoT fournit des données personnelles substantielles dans les moindres détails
sans la participation active de l'utilisateur. Certains trouvent les systèmes IoT compliqués en termes
de conception, de déploiement et de maintenance, compte tenu l'utilisation de plusieurs
technologies. [11]
Flexibilité
Beaucoup s'inquiètent de la flexibilité d'un système IoT pour s'intégrer facilement avec un autre. Ils
s'inquiètent de se retrouver avec plusieurs systèmes conflictuels ou verrouillés. [11]
Conformité
L'IoT, comme toute autre technologie dans le domaine des affaires, doit être conforme à la
réglementation. Sa complexité fait en sorte que la question de la conformité semble incroyablement
difficile. [11]
La détection d’intrusion ou IDS
Afin de détecter les attaques que peut subir un système, il est nécessaire d’avoir un logiciel spécialisé
dont le rôle serait de surveiller les données qui transitent sur ce système, et qui serait capable de
réagir si des données semblent suspectes. Plus communément appelé IDS (Intrusion Detection
Systems), les systèmes de détection d’intrusions conviennent parfaitement pour réaliser cette tâche.
A l’origine, les premiers systèmes de détection d’intrusions ont été initiés par l’armée américaine,
puis par des entreprises. Plus tard, des projets open-source ont été lancés et certains furent couronnés
33
de succès, comme par exemple Snort et Prelude que nous détaillerons par après. Parmi les solutions
commerciales, on retrouve les produits des entreprises spécialisées en sécurité informatique telles
que Internet Security Systems, Symantec, Cisco Systems, … [35]
Mécanisme de la détection d’intrusion
Afin de détecter une intrusion, il existe un capteur biométrique qui est un capteur permettant
d’identifier, de repérer dans une pièce un certain volume ou plus précisément une masse basée sur
le déplacement de chaleur dans l’air. Notons que, de nos jours on peut avoir des caméras un peu
plus spécifiques pour certains usages comme les caméras thermiques sensibles à la chaleur et qui
vont être capable de produire une image même en cas d’obscurité. [15]
Figure 2.11 : Mécanisme d’une détection d’intrusion.
34
Les différents types d’IDS
Dans notre cas, les IDS proposent des méthodes de signalisation ou de blocage des intrusions comme
l’envoi d’un email à un ou plusieurs utilisateurs afin de notifier une intrusion sérieuse. En envoyant
une notification visuelle de l’alerte afin de l’afficher dans une ou plusieurs consoles de management.
Et le démarrage d’une application lance un programme extérieur pour exécuter une action spécifique
comme l’envoi d’un message sms, l’envoi par email les intrusions dans la maison, etc.
Les attaques utilisées par les pirates sont très variées. Certaines utilisent des failles réseaux et
d’autres des failles de programmation. Nous pouvons donc facilement comprendre que la détection
d’intrusions doit se faire à plusieurs niveaux. Ainsi, il existe différents types d’IDS dont nous
détaillons ci-dessous les caractéristiques principales. [15] [35]
Les systèmes de détection d’intrusions réseau ou N-IDS
Son objectif est d’analyser de manière passive les flux en transit sur le réseau et détecter les
intrusions en temps réel. Un NIDS écoute donc tout le trafic réseau, puis l’analyse et génère des
alertes si des paquets semblent dangereux. [35]
Les systèmes de détection d’intrusions de type hôte ou H-IDS
Un HIDS se base sur une unique machine, n’analysant cette fois plus le trafic réseau mais l’activité
se passant sur cette machine. Il analyse en temps réel les flux relatifs à une machine ainsi que les
journaux. Un HIDS a besoin d’un système sain pour vérifier l’intégrité des donnés. Si le système a
été compromis par un pirate, le HIDS ne sera plus efficace. Pour parer à ces attaques, il existe des
KIDS (Kernel Intrusion Detection System) et KIPS (Kernel Intrusion Prevention System) qui sont
fortement liés au noyau. [35]
Les systèmes de détection d’intrusions hybrides
Généralement utilisés dans un environnement décentralisé, ils permettent de réunir les informations
de diverses sondes placées sur le réseau. Leur appellation « hybride » provient du fait qu’ils sont
capables de réunir aussi bien des informations provenant d’un système HIDS qu’un NIDS.
L’exemple le plus connu dans le monde Open-Source est Prelude. Ce framework permet de stocker
dans une base de données des alertes provenant de différents systèmes relativement variés. Utilisant
35
Snort comme NIDS, et d’autres logiciels tels que Samhain en tant que HIDS, il permet de combiner
des outils puissants tous ensemble pour permettre une visualisation centralisée des attaques. [35]
Les systèmes de prévention d’intrusion ou IPS
2.17.4.1 Présentation générale
L’IPS est un ensemble de composants logiciels et matériels dont la fonction principale est
d’empêcher toute activité suspecte détectée au sein d’un système. Contrairement aux IDS simples,
les IPS sont des outils aux fonctions « actives », qui en plus de détecter une intrusion, tentent de la
bloquer. Cependant, les IPS ne sont pas la solution parfaite comme on pourrait le penser. [35]
Plusieurs stratégies de prévention d’intrusions existent :
Host-based memory and process protection : surveille l'exécution des processus et les tue
s'ils ont l'air dangereux (buffer overflow).
Session interception et session sniping : termine une session TCP avec la commande TCP
Reset : « RST ». Ceci est utilisé dans les NIPS (Network Intrusion Prevention System).
gateway intrusion detection : si un système NIPS est placé en tant que routeur, il bloque le
trafic; sinon il envoie des messages à d'autres routeurs pour modifier leur liste d'accès.
2.17.4.2 Inconvénients
Un IPS possède de nombreux inconvénients. Le premier est qu’il bloque toute activité qui lui semble
suspecte. Or, il est impossible d’assurer une fiabilité à 100% dans l’identification des attaques. Un
IPS peut donc malencontreusement bloquer du trafic inoffensif ! Par exemple, un IPS peut détecter
une tentative de déni de service alors qu’il s’agit simplement d’une période chargée en trafic. Les
faux positifs sont donc très dangereux pour les IPS. [15]
Le deuxième inconvénient est qu’un pirate peut utiliser sa fonctionnalité de blocage pour mettre
hors service un système. Prenons l’exemple d’un individu mal intentionné qui attaque un système
protégé par un IPS, tout en spoofant son adresse IP. Si l’adresse IP spoofée est celle d’un nœud
important du réseau (routeur, service Web, ...), les conséquences seront catastrophiques. Pour palier
ce problème, de nombreux IPS disposent des « white lists », c’est-à-dire des listes d’adresses réseaux
qu’il ne faut en aucun cas bloquer. [35]
36
Et enfin, le troisième inconvénient et non le moindre : un IPS est peu discret. En effet, à chaque
blocage d’attaque, il montre sa présence. Cela peut paraître anodin, mais si un pirate remarque la
présence d’un IPS, il tentera de trouver une faille dans celui-ci afin de réintégrer son attaque. mais
cette fois en passant inaperçu. [35]
Voilà pourquoi les IDS passifs sont souvent préférés aux IPS. Cependant, il est intéressant de noter
que plusieurs IDS (Ex : Snort, RealSecure, Dragon, ...) ont été dotés d’une fonctionnalité de réaction
automatique à certains types d’attaques.
Les systèmes de prévention d’intrusion kernel ou K-IDS et K-IPS
Prenons l’exemple d’un serveur web, sur lequel il serait dangereux qu’un accès en lecture/écriture
dans d’autres répertoires que celui consultable via http, soit autorisé. En effet, cela pourrait nuire à
l’intégrité du système. Grâce à un KIPS, tout accès suspect peut être bloqué directement par le
noyau, empêchant ainsi toute modification dangereuse pour le système.
Le KIPS peut reconnaître des motifs caractéristiques du débordement de mémoire, et peut ainsi
interdire l’exécution du code. Le KIPS peut également interdire l’OS d’exécuter un appel système
qui ouvrirait un shell de commandes. Puisqu’un KIPS analyse les appels systèmes, il ralentit
l’exécution. C’est pourquoi ce sont des solutions rarement utilisées sur des serveurs souvent
sollicités. Notons que SecureIIS est un exemple de KIPS, qui est une surcouche du serveur IIS de
Microsoft. [35]
Les firewalls
2.17.6.1 Définition
Les firewalls ne sont pas des IDS à proprement parler mais ils permettent également de stopper des
attaques. Nous ne pouvions donc pas les ignorer. Les firewalls sont basés sur des règles statiques
afin de contrôler l’accès des flux. Ils travaillent en général au niveau des couches basses du modèle
OSI (jusqu’au niveau 4), ce qui est insuffisant pour stopper une intrusion. Par exemple, lors de
l’exploitation d’une faille d’un serveur Web, le flux HTTP sera autorisé par le firewall puisqu’il
n’est pas capable de vérifier ce que contiennent les paquets. [15] [35]
37
2.17.6.2 Les types de firewalls
Il existe 3 types de firewalls :
Les systèmes à filtrage de paquets sans état : analyse les paquets les uns après les autres, de
manière totalement indépendante ;
Les systèmes à maintien d’état (stateful) : vérifient que les paquets appartiennent à une
session régulière. Ce type de firewall possède une table d’états où est stocké un suivi de
chaque connexion établie, ce qui permet au firewall de prendre des décisions adaptées à la
situation. Ces firewalls peuvent cependant être outrepassés en faisant croire que les paquets
appartiennent à une session déjà établie.
Les firewalls de type proxy : Le firewall s’intercale dans la session et analyse l’information
afin de vérifier que les échanges protocolaires sont conformes aux normes.
Les technologies complémentaires
On peut citer les technologies complémentaires suivant en termes de détection d’intrusion : [15]
Les scanners de vulnérabilités : systèmes dont la fonction est d’énumérer les vulnérabilités
présentes sur un système. Ces programmes utilisent une base de vulnérabilités connues
(exemple : Nessus).
Les systèmes de leurre : le but est de ralentir la progression d’un attaquant, en générant des
fausses réponses telle que renvoyer une fausse bannière du serveur Web utilisé.
Les systèmes de leurre et d’étude (Honeypots) : le pirate est également leurré, mais en plus,
toutes ses actions sont enregistrées. Elles seront ensuite étudiées afin de connaître les
mécanismes d’intrusion utilisés par l’hacker. Il sera ainsi plus facile d’offrir des protections
par la suite.
Les systèmes de corrélation et de gestion des intrusions (SIM ou Security Information
Manager) : centralisent et corrèlent les informations de sécurité provenant de plusieurs
sources (IDS, firewalls, routeurs, applications, …). Les alertes sont ainsi plus faciles à
analyser.
Les systèmes distribués à tolérance d’intrusion : l’information sensible est répartie à
plusieurs endroits géographiques mais des copies de fragments sont archivées sur différents
sites pour assurer la disponibilité de l’information. Cependant, si un pirate arrive à
38
s’introduire sur le système, il n’aura qu’une petite partie de l’information et celle-ci lui sera
inutile.
Les méthodes de détection d’intrusion
Pour bien gérer un système de détection d’intrusions, il est important de comprendre comment celui-
ci fonctionne. De là, nous en avons déduit deux techniques mises en place dans la détection
d’attaques. La première consiste à détecter des signatures d’attaques connues dans les paquets
circulant sur le réseau. La seconde, consiste quant à elle, à détecter une activité suspecte dans le
comportement de l’utilisateur. [15]
Ces deux techniques, aussi différentes soient-elles, peuvent être combinées au sein d’un même
système afin d’accroître la sécurité.
L’approche par scénario ou minuse detection
Cette technique s’appuie sur la connaissance des techniques utilisées par les attaquants pour déduire
des scénarios typiques utilisée par les anti-virus. Elle ne tient pas compte des actions passées de
l’utilisateur et utilise des signatures d’attaques qui est un ensemble de caractéristiques permettant
d’identifier une activité intrusive : une chaîne alphanumérique, une taille de paquet inhabituelle, une
trame formatée de manière suspecte, etc. [35]
L’approche comportementale ou anomaly detection
2.18.2.1 Caractéristiques
Cette technique consiste à détecter une intrusion en fonction du comportement passé de l’utilisateur.
Pour cela, il faut préalablement dresser un profil utilisateur à partir de ses habitudes et déclencher
une alerte lorsque des événements hors profil se produisent.
Cette technique peut être appliquée non seulement à des utilisateurs mais aussi à des applications et
services. Plusieurs métriques sont possibles : la charge CPU, le volume de données échangées, le
temps de connexion sur des ressources, la répartition statistique des protocoles et applications
utilisés, les heures de connexion. [15] [35]
39
2.18.2.2 Inconvénients
Cependant l’approche comportementale possède quelques inconvénients : [35]
Elle est peu fiable : tout changement dans les habitudes de l’utilisateur provoque une alerte.
Elle nécessite une période de non fonctionnement pour mettre en œuvre les mécanismes
d’auto-apprentissage : si un pirate attaque pendant ce moment, ses actions seront assimilées
à un profil utilisateur, et donc passeront inaperçues lorsque le système de détection sera
complètement mis en place.
L’établissement du profil doit être souple afin qu’il n’y ait pas trop de fausses alertes : le
pirate peut discrètement intervenir pour modifier le profil de l’utilisateur afin d’obtenir après
plusieurs jours ou semaines, un profil qui lui permettra de mettre en place son attaque sans
qu’elle ne soit détectée.
Les méthodes répandues
En général, les IDS mélangent les différentes techniques de détection par scénario en proposant du
pattern matching, de l’analyse protocolaire et de la détection d’anomalies. De nombreuses
techniques et algorithmes sont utilisés dans la détection d’intrusions : [15] [35]
Pattern Matching : algorithmes de recherche de motifs (ex : Boyer-Moore), les algorithmes
de comptage, les algorithmes génétiques
Analyse Protocolaire : conformité aux RFC
Détection d’anomalies : méthodes heuristiques
Analyse statistique : modèles statistiques
Analyse probabiliste : réseaux bayésiens
Autre analyse comportementale : réseaux de neurones, systèmes experts et data-mining,
immunologie, graphes, ...
Les techniques anti-IDS
Comme tout système informatique, ou presque, il existe des failles dans les IDS, ou plutôt des
techniques qui permettent d’outrepasser ces systèmes sans se faire repérer. Si un pirate détecte la
présence d’un IDS, il peut le désactiver, ou mieux encore, générer de fausses attaques pendant qu’il
commettra son forfait tranquillement. Il existe trois catégories d’attaques contre les IDS : [35]
40
Attaque par déni de service : rendre l’IDS inopérant en le saturant ;
Attaque par insertion : le pirate, pour éviter d’être repéré, injecte des paquets de leurre qui
seront ignorés par le système d’exploitation de la cible mais pris en compte par l’IDS ;
Attaque par évasion : il s’agit de la technique inverse à l’attaque par insertion. Ici, des
données superflues sont ignorées par l’IDS mais prises en compte par le système
d’exploitation. Nous détaillons un peu plus loin quelques techniques d’évasion Web.
Conclusion
Un objet connecté peut envoyer et recevoir des informations par le biais d’une liaison sans fil que
ce soit via Bluetooth ou Wifi. Les appareils sont capables de se communiquer entre eux afin de
surveiller et gérer un domicile. Depuis les années 2000, les technologies sans fil ont pu se
développer. Désormais, les appareils domotiques sont plus puissant et simple à utiliser que ce soit
en termes de sécurisation ou en termes de confort quotidienne. Ainsi, le prochain chapitre se propose
donc d’entrer en détail sur le système de transmission des données et l’apprentissage automatique.
41
CHAPITRE 3
APPRENTISSAGE AUTOMATIQUE
Introduction
L’apprentissage automatique est un domaine de développement continue. C’est un des champs
d'étude de l'intelligence artificielle et de discipline scientifique nécessaire au développement.
L'analyse et l'implémentation de méthodes automatisables permettent à une machine d'évoluer grâce
à un processus d'apprentissage, et ainsi de remplir des tâches difficiles ou impossibles à remplir par
des moyens algorithmiques plus classiques.
Ce chapitre sera donc axé sur les algorithmes, les applications et les différentes méthodes adoptées
à l’apprentissage automatique.
L’intelligence artificielle
Définition
L’intelligence artificielle (IA) est un ensemble de techniques permettant à des machines d’accomplir
des tâches et de résoudre des problèmes normalement réservés aux humains et à certains animaux.
Depuis quelques années, on associe l’intelligence aux capacités d’apprentissage. C’est grâce à
l’apprentissage qu’un système intelligent est capable d’exécuter une tâche pour améliorer ses
performances avec l’expérience, d’apprendre à exécuter de nouvelles tâches et acquérir de nouvelles
compétences. [16]
Le but de l’Intelligence Artificielle (IA) est de concevoir des systèmes capables de reproduire le
comportement de l’humain dans ses activités de raisonnement. L’IA se fixe comme but le
modélisation de l’intélligence prise comme phénomène (de même que la physique, la chimie ou la
biologie qui ont pour but de modéliser d’autres phénomènes). [32]
Quelques domaines de l’intelligence artificielle
Notons quelques domaines utilisant l’intelligence artificielle : [32]
Les systèmes experts : afin de faire des tâches de diagnostics, de surveillance ou de
dépannage d’installations industrielles (médecine, analyse financière, configuration
d’appareils) ;
42
Robotique et FAO : introduction de robots qui acquièrent l’information à l’aide de capteurs
ou de caméras afin de se mouvoir dans des environnements diversifiés ;
Compréhension du langage et traduction automatique : apparition d’interface en langage
naturel comme l’interrogation de bases de données en français ou en anglais ;
Reconnaissance des formes : reconnaissance de la parole, de l’image et de l’écriture ;
Apprentissage : créer des programmes qui génèrent leurs propres connaissances en se
modifiant à partir de leurs succès et leurs erreurs ;
L’émotion artificielle ;
Apprentissage-machine : ce processus donne à un agent la capacité d’effectuer des tâches
qui ne pouvaient pas l’être auparavant ou d’effectuer de façon plus efficace les tâches
desquelles il s’acquittait déjà ;
La réalité virtuelle : ce domaine propose de nouvelles formes d’interaction entre l’homme et
la machine ;
Indexation multimédia : l’intelligence artificielle propose des outils pour la fouille de base
de données (data mining) afin d’extraire des connaissances synthétiques ou d’y découvrir
des informations cachées, de diagnostiquer des situations, ou d’aider à superviser la conduite
des systèmes.
Exemple 3.01 : Les domaines d’application de l’intelligence artificielle.
43
Applications de l’intelligence artificielle
L’intelligence artificielle offre diverses applications dans la vie quotidienne des humains afin de
mieux s’appréhender [32] :
Diagnostic médical : thérapie, surveillance d’appareils ;
Synthèse d’image : vision par ordinateur ;
Classifications naturelles : biologie, minéralogie ;
Planification de tâches : prédictions financières ;
Architecture : conception assistée par ordinateur ;
Détection de pannes : Sherlock pour les avions F16 ;
Education : systèmes tutoriels intelligents, e-learning ;
Génie : vérification de règles de design ;
Prospection géologique : gisements miniers ;
Centrales nucléaires et feux de forêts : systèmes à temps réel ;
Simulateurs de vols : bombardier ;
Jeux vidéos.
La vision humaine
La vision humaine est de forme approximativement sphérique, l'œil est l'organe de base de la vision.
Il comporte un ensemble d'éléments destinés à recevoir le rayonnement incident, former l'image des
objets perçus et traiter les informations recueillies. Les composants principaux sont : [17]
La cornée (protection filtre) ;
L’iris ou diaphragme (variation d’un facteur 10 en surface), son ouverture centrale est la
pupille ;
Le cristallin (optique et focus) qui est déformable avec une indice optique variable contenant
une lentille à focale variable ;
La rétine qui est une couche photosensible contenant 120 millions de récepteurs en forme
de cônes et de bâtonnets ;
La macula qui contient en son centre une petite dépression appelé la fovéa étant une zone
d’acuité maximum de l’œil humain ;
Le nerf optique jouant le rôle de transport de l’information contenant 100 000 neurones.
44
Figure 3.02 : Coupe latérale simplifiée de l’œil humain.
Si on demande à une personne de décrire l’environnement dans lequel elle se trouve, cette dernière
n’aura aucun mal à identifier tous les objets autour de lui : arbres, fleurs, maisons, etc. La vision
humaine semble être un processus simple. Cependant, les informations qui sont véritablement
disponibles sur la rétine des yeux sont en fait une multitude de points, les pixels.
Chaque pixel est porteur d’une information sur la quantité de lumière et de couleur provenant de
l’espace environnant projeté sur la rétine. Le décodage de ces informations se fait par un processus
qui se base sur la connaissance préalablement acquise. Cette connaissance est obtenue par
apprentissage.
La vision par ordinateur
Le système de vision humaine étant extrêmement complexe. La vision artificielle se donne pour but
de créer un modèle qui, vu de l’extérieur, possède les mêmes propriétés que la vision humaine. Pour
ce faire, elle utilise des capteurs pour l’acquisition des pixels qui vont former une image et une unité
de calcul pour le traitement et l’interprétation de ces derniers. Dans le domaine de la robotique
mobile, la vision artificielle permet d’avoir une perception de l’environnement de navigation, de
détection des voies navigables, de détection et d’évitement d’obstacles ou encore de la cartographie
de l’environnement. [18]
45
Figure 3.03 : Chaine de vison par une machine.
Le capteur dépend du domaine d'application mais est essentiellement une caméra fournissant une
image brute. Les prétraitements réalisent les tâches d'amélioration de l'image ainsi que la mise en
évidence des "points intéressants".
L'extraction de caractéristiques a pour rôle de faire une description de l'image compatible avec la
description des objets contenus dans la base de connaissances. Celle-ci est la "mémoire" du système
de vision. Elle joue un rôle d'interface lié au choix au type de fonctionnement du système de
décision. [18]
Le système décisionnel, par comparaison entre les caractéristiques de l’image va effectuer la
reconnaissance. Ce dernier est l'intelligence du système de vision par ordinateur. Il utilise les
techniques de reconnaissance de formes qui ne sont pas spécifiques à l'image. [19]
Les méthodes de l’apprentissage automatique les plus adoptées
Deux des méthodes d’apprentissage automatique les plus largement adoptées sont : [22]
L’apprentissage supervisé qui forme des algorithmes basés sur des données d’entrée et de
sortie étiquetées par l’homme ;
L’apprentissage non supervisé qui ne fournit pas à l’algorithme des données étiquetées pour
lui permettre de trouver une structure et de découvrir une logique dans les données entrées.
46
L’apprentissage supervisé
Dans l’apprentissage supervisé, l’ordinateur est fourni avec des exemples d’entrées qui sont
étiquetés avec les sorties souhaitées. Le but de cette méthode est que l’algorithme puisse apprendre
en comparant sa sortie enseignée pour trouver des erreurs et modifier le modèle en conséquence. Il
utilise donc des modèles pour prédire les valeurs d’étiquettes sur des données non étiquetées
supplémentaires. [19]
Figure 3.04 : Schéma de représentation de l’apprentissage supervisé.
L’apprentissage non-supervisé
Dans l'apprentissage non supervisé, les données sont non étiquetées de sorte que l'algorithme
d'apprentissage trouve tout seul des points communs parmi ses données d'entrée. Les données non
étiquetées étant plus abondantes que les données étiquetées. Les méthodes d'apprentissage
automatique qui facilitent l'apprentissage non supervisé sont particulièrement utiles.
L'objectif de l'apprentissage non supervisé est de détecter des anomalies. Il permet de découvrir des
modèles cachés dans un ensemble de données. Il peut aussi avoir un objectif d'apprentissage des
caractéristiques, qui permet à la machine intelligente de découvrir automatiquement les
représentations nécessaires pour classer les données brutes. [22]
47
Figure 3.05 : Représentation schématique de l’apprentissage non supervisé.
Quelques algorithmes en apprentissage automatique
Boosting
Il s’agit d’une méthode de classification émettant des hypothèses qui sont au départ de moindre
importance. Plus une hypothèse est vérifiée, et plus son indice de confiance augmente et donc elle
prend plus d’importance dans la classification. On peut constater selon le théorème de Schapire, un
algorithme faible pouvant toujours améliorer sa performance en étant entrainé sur trois échantillons
d’apprentissage bien choisi. L’idée est d’utiliser un algorithme d’apprentissage pouvant être de
nature très diverse (un arbre de décision, une règle bayésienne de classification, une décision
dépendant d’un hyperplan, etc.) sur trois sous-ensembles d’apprentissage. [21]
On obtient d’abord une première hypothèse h1 sur un sous-échantillon S1 d’apprentissage de
taille m1 < m (m étant la taille de S, l’échantillon d’apprentissage disponible) ;
On apprend alors une deuxième hypothèse h2 sur un échantillon S2 de taille m2 choisi dans
S-S1 dans la moitié des exemples sont mal classés par h1 ;
On apprend enfin une troisième hypothèse h2 sur m2 exemples tirés dans S-S1-S2 pour
lesquels h1 et h2 sont en désaccord ;
L’hypothèse finale est obtenue par un vote majoritaire des trois hypothèses apprises :
𝐻𝑓 = 𝑣𝑜𝑡𝑒 𝑚𝑎𝑗𝑜𝑟𝑖𝑡𝑎𝑖𝑟𝑒(ℎ1, ℎ2, ℎ3) (3.01)
Le théorème de Schapire sur la « force de l’apprentissage faible » prouve que Hf a une performance
supérieure à celle de l’hypothèse qui aurait été apprise directement sur l’échantillon S.
48
Arbre de décision
L'objectif de l'apprentissage par arbre de décision est de créer un modèle qui prédira la valeur d'une
cible en fonction de variables d'entrée. Dans le modèle prédictif, les attributs des données qui sont
déterminés par l'observation sont représentés par les branches, tandis que les conclusions sur la
valeur cible des données sont représentées dans les feuilles. [19]
Lors de l'apprentissage d'un arbre, les données source sont divisées en sous-ensembles en fonction
d'un test de valeur d'attribut, qui est répété récursivement sur chacun des sous-ensembles dérivés.
Une fois que le sous-ensemble d'un nœud a la valeur équivalente à sa valeur cible, le processus de
récursion sera terminé.
Regardons un exemple de diverses conditions qui peuvent déterminer si quelqu'un devrait lire à
l'extérieur. Cela inclut les conditions météorologiques ainsi que les conditions de pression
barométrique. [19] [22]
Figure 3.06 : Exemple d’algorithme en arbre de décision.
Dans l'arbre de décision simplifié ci-dessus, un exemple est classé en le triant à travers l'arbre vers
le nœud feuille approprié. Ceci renvoie alors la classification associée à la feuille particulière, qui
dans ce cas est soit Yes ou No. L'arbre classe les conditions d'un jour en fonction de son aptitude ou
non à se prêter à une lecture à l'extérieur. Un véritable jeu de données d'arbre de classification aurait
49
beaucoup plus de fonctionnalités que ce qui est décrit ci-dessus, mais les relations devraient être
simples à déterminer.
Le choix des « questions les plus discriminantes » afin de construire les nœuds de l’arbre peut se
faire selon plusieurs critères : l’algorithme CART (Classification And Regression Trees) utilise
l’indice de Gini, tandis que l’algorithme C4.5 utilise l’entropie probabiliste.
Entropie probabiliste : Soit X une variable aléatoire discrète, prenant z valeurs x1, …, xz de
probabilités d’obtention respectives p1,…, pz . On appelle entropie de X, généralement notée
H(X) la quantité :
𝐻𝑏(𝑋) = ∑ 𝑝𝑖 𝑙𝑜𝑔𝑏 (𝑝𝑖)𝑛𝑖=1 (3.02)
Indice de Gini : L’indice ou coefficient de Gini est une mesure, comprise entre 0 et 1, de la
dispersion d’une distribution. Il est très souvent utilisé en économie ou en sociologie afin de
mesurer les inégalités sociales au sein d’un pays. Dans ce contexte, plus le coefficient est
proche de 1 et plus la société est inégalitaire.
Classification bayésienne
On veut prédire l’appartenance d’un document d, décrit par nf descripteurs, à une classe Ck
l’ensemble de classe parmi nc classes. Pour cela, on dispose d’un ensemble d’apprentissage :
𝐴 = {(𝑑1, 𝐶𝑑1), (𝑑2, 𝐶𝑑2), … , (𝑑𝑛𝐴, 𝐶𝑑𝑛𝐴)}, 𝑑𝑖 𝜖 𝑅𝑛𝑓𝑒𝑡 𝐶𝑑𝑖 ∈ 𝐶 (3.03)
Où pour chaque document 𝑑𝑖 de l’ensemble on connait sa classe a priori 𝐶𝑑𝑖 . La classification
supervisée essaye de trouver, à partir des données de A, une fonction de décision Γ : Γ 𝐶 qui va
associer à tout document d de test une classe 𝐶𝑘 de sorte à minimiser le nombre de fois où la classe
prédite est différente de la classe connue à priori (Γ(d) ≠ 𝐶𝑑. [21]
On connait l’ensemble d’apprentissage A et on cherche à classer un nouveau document 𝑑𝑛𝑒𝑤. Le
classifieur bayésien va choisir la classe 𝐶𝑘 qui a la plus grande probabilité. On parle de règle MAP
(maximum à posteriori) :
𝐶𝑀𝐴𝑃 = 𝑎𝑟𝑔𝑚𝑎𝑥 (𝐶𝑘
𝑑𝑛𝑒𝑤) = 𝑎𝑟𝑔𝑚𝑎𝑥
𝑃(𝑑𝑛𝑒𝑤
𝐶𝑘⁄ )𝑃(𝐶𝑘)
𝑃(𝑑𝑛𝑒𝑤) (3.04)
50
Il faut alors estimer les probabilités 𝑃(𝐶𝑘) et 𝑃 (𝑑𝑛𝑒𝑤
𝐶𝑘⁄ ) à partir des données d’apprentissage. Les
probabilités a priori des classes 𝑃(𝐶1), 𝑃(𝐶2),…, 𝑃(𝐶𝑛𝑐) peuvent être estimées facilement par :
𝑃(𝐶𝑘) =𝑛𝑐𝑘
𝑛𝐴 (3.05)
Où 𝑛𝑐𝑘 est le nombre de documents d’apprentissage dans la classe 𝑛𝑘 et 𝑛𝐴 est le nombre total de
documents dans l’ensemble d’apprentissage.
Fuzzy C-Means
FCM ou Fuzzy C-Means est une méthode de clusterring permettant à chaque point de données
d’appartenir à deux ou plusieurs clusters. Cette méthode est fréquemment utilisée dans la
reconnaissance des formes. Il est basé sur la minimisation de la fonction suivante : [22]
𝑗𝑚 = ∑ ∑ 𝑈𝑖𝑗𝑚𝑐
𝑗=1 ||𝑥𝑖 − 𝑐𝑗||2 , 1 ≤ 𝑚𝑁𝑖=1 (3.06)
Où m est un nombre réel (> 1), 𝑈𝑖𝑗 est le degré d’appartenance de 𝑥𝑖 dans le jème cluster, 𝑥𝑖 est le
ième élément des données mesurées, 𝑐𝑗 est le centre d’un cluster et ||𝑥𝑖 − 𝑐𝑗|| est toute norme
exprimant la similarité entre les données mesurées et le centre. [21]
Ce partitionnement logique floue ou Fuzzy est réalisé grâce à une optimisation interactive de la
fonction objective indiquée par l’équation jm* avec la mise à jour de l’appartenance 𝑈𝑖𝑗 et lescentres
des clusters 𝑐𝑗.
K-Means
C’est une méthode de partionnement de données et un problème d’optimisation combinatoire. Etant
données des points et un entier k, le problème est de diviser les points en k groupe, souvent appelés
clusters, de façon à minimiser une certaine fonction. On considère la distance d’un point à la
moyenne des points de son cluster qui est la fonction des carrés de ces distances.
Le nom K-Means dérive du fait que, pour représenter chacune des K classes 𝐶𝑘, on utilise la
moyenne 𝜋𝑘 de ces points, appelée centre de masse représentant du cluster calculé comme la
moyenne des éléments du cluster. Chacune des𝐶𝑐𝑜𝑙 et du vecteur 𝜋𝑘 est calculée par [22] :
51
𝜋𝑘 =1
|𝐶𝑘| ∑ 𝑃𝑖𝑗𝑛
𝑂𝑖∈𝐶𝑐𝑜𝑙𝑘 (3.07)
Dans le cas de données numériques, cela donne un sens géométrique et statistique à la méthode.
L’inertie intra-classe constitue le critère à optimiser. Elle est définie comme la moyenne des carrés
des distances des objets de la classe au centre de gravité de celle-ci. [21] [22]
On cherche ainsi à construire des classes compactes. L’inertie intra-classe associée à la classe 𝐶𝑐𝑜𝑙
s’écrit formellement :
𝐼𝑘 =1
|𝐶𝑐𝑜𝑙𝑘|∑ 𝑑2𝑛
𝑂𝑖∈𝐶𝑐𝑜𝑙𝑘(𝑂𝑖, 𝜋𝑘) (3.08)
L’objectif est alors de minimiser la somme de l’inertie intra-classe sur l’ensemble des classes.
L’apprentissage en profondeur ou Deep Learning
Des tentatives profondes d'apprentissage afin d’imiter comment le cerveau humain peut traiter des
stimuli lumineux et sonores dans la vision et l'ouïe sont à l'étude. Une architecture d'apprentissage
en profondeur est inspirée par les réseaux neuronaux biologiques et se compose de plusieurs couches
dans un réseau neuronal artificiel composé de matériel et de GPU. [19]
L'apprentissage en profondeur utilise une cascade de couches d'unités de traitement non linéaires
afin d'extraire ou de transformer les caractéristiques (ou représentations) des données. La sortie
d'une couche sert d'entrée de la couche suivante. Dans l'apprentissage en profondeur, les algorithmes
peuvent être supervisés et servir à classer les données, ou non supervisés et à effectuer une analyse
de modèle. Parmi les algorithmes d'apprentissage machine actuellement utilisés et développés,
l'apprentissage en profondeur absorbe le plus de données et a été capable de battre les humains dans
certaines tâches cognitives. [19] [22]
En raison de ces attributs, l'apprentissage en profondeur est devenu l'approche avec un potentiel
significatif dans le monde de l'intelligence artificielle. La reconnaissance faciale par ordinateur et la
reconnaissance vocale ont toutes deux permis de réaliser des progrès significatifs grâce à des
approches d'apprentissage approfondies. IBM Watson est un exemple bien connu d'un système qui
exploite l'apprentissage en profondeur. [19]
52
Applications
L’apprentissage automatique se trouve au carrefour de nombreux domaines : intelligence
artificielle, statistiques, sciences cognitives, théories des probabilités, de l’optimisation du signal et
de l’information, etc. Il est donc bien difficile de donner une taxinomie des techniques
d’apprentissages.
Figure 3.07 : Quelques domaines d’apprentissage automatique.
L’apprentissage automatique est utilisé pour doter des machines de systèmes de perception de leur
environnement (vision et reconnaissance d’objets, de visages, etc.) par ordinateur (Computer
vision), traitement du language naturel (Natural language processing), de l’écriture, reconnaissance
de formes syntaxiques, moteurs de recherche, aide au diagnostic médical, bio-informatique,
interfaces cerveau-machine, détection de fraudes à la carte de crédit, analyse financière, dont analyse
53
du marché boursier, classification des séquences d’ADN (Acide Désoxyribonucléique), jeu, sites
web adaptatifs ou mieux adaptés, locomotions de robots, etc. [21]
La détection faciale
La détection faciale est un domaine de la vision par ordinateur décidant si une image contient un ou
plusieurs visages à détecter. On appelle cela « classifieur ». La librairie OpenCV propose deux types
de classifieur qui sont Haar classifier et LBP classifier où le traitement des images se fait au niveau
gris. [22] [24]
La différence est que, Haar classifier extrait les caractéristiques de l’image et tient compte des
régions rectangulaires adjacentes à un endroit précis dans une détection. A part cela, il rassemble
les intensités de pixel dans chaque région afin de calculer la différence entre chaque intensité. Puis,
enfin cette différence peut être utilisée pour catégoriser les subdivisions d’une image. [22]
Figure 3.08 : L’extension des caractéristiques d’une image selon le classifieur Haar.
D’un autre point de vue, Les caractéristiques LBP sont extraites pour former un vecteur
caractéristique qui classe la face de non-face. C’est-à-dire qu’il divise l’image en 3x3 dimension
afin de comparer le centre de pixel aux autres pixels et si la valeur est satisfaisante ou égale, la
valeur sera mise à 1 s’il devrait être 0 dans l’autre cas. Puis il lit la valeur binaire dans le sens horaire
et la convertit en décimal, qui est la valeur du pixel central et Répète le processus pour chaque pixel
de l’image. [23] [24]
54
Figure 3.09 : Système de traitement du classifieur LBP.
Les difficultés de la reconnaissance de visage
Etant humain, le processus de la reconnaissance du visage est une tâche visuelle de haut
niveau. Ainsi, construire un système automatique qui accomplit de telles tâches représente
un sérieux défi même si les êtres humains puissent détecter et identifier des visages. De plus,
si les conditions d’acquisition des images sont très variables, ce défi est d’autant plus grand.
On peut distinguer divers types de variations associées aux images du visage comme :
Le changement d’illumination ;
La variation de pose ;
Les expressions faciales ;
La présence ou l’absence des composantes structurels comme la moustache ou les lunettes ;
Les occultations partielles.
La reconnaissance faciale
Le système de reconnaissance faciale est un système biométrique désignant l’ensemble des
technologies de reconnaissance physique ou biologique des individus. En effet, chaque être humain
se distingue de ses « semblables » par un ensemble de caractéristiques morphologiques et
biologiques qui rendent son identification possible. Le cerveau humain effectue en permanence des
opérations de reconnaissance biométrique, notamment de reconnaissance faciale. [24]
55
Lorsque nous croisons un individu, nous mesurons inconsciemment l'écartement des yeux, la taille
du nez, la position des oreilles. Ces informations sont comparées à notre mémoire afin d'y associer
un nom. Plus précisément, il existe deux phases d’exécution : la phase d’apprentissage et la phase
de test. [22] [25]
Figure 3.10 : Architecture d’un système biométrique.
Un système automatique de reconnaissance de visages doit intégrer une étape d’apprentissage
durant laquelle il associe l’allure du visage à l’identité d’une personne. Cette étape est réalisée chez
les êtres humains d’une façon spontanée et évolutive. Dans un système artificiel, cette étape permet
de construire une base de données des personnes connues, stockant des images étiquetées des
identités. [26]
Pour ce faire, un système automatique comporte deux modes de fonctionnement : un mode
enrôlement et un mode identification.
Le premier mode sert à extraire pour chaque personne les éléments caractéristiques et les met sous
la forme d’un vecteur caractéristique, appelé par la suite signature. Cette dernière, associée à une
étiquette d’identité, sera stockée dans une base de données dédiée. Le mode d’identification permet
de reconnaître une personne à partir de son image faciale, c’est à dire de retrouver l’identité associée
à l’image. [26]
56
Figure 3.11 : Fonctionnement d’un système de reconnaissance automatique de visage.
Le premier module permet de détecter le visage dans l’image brute captée par le système
d’acquisition, il fournit ainsi au second module une image contenant seulement le visage. À partir
de celle-ci, le second module extrait la signature discriminante. [22]
Elle sera soit stockée soit utilisée pour la classification. En mode hors-ligne (enrôlement), elle sera
étiquetée et stockée dans une base de données dédiée. En mode en ligne (identification), elle servira
comme entrée à un troisième module qui s’occupe de la classification de cette signature et de fournir
la décision finale : personne inconnue ou personne connue. [22] [27]
57
Acquisition de l’image
La capture est la première étape dans le processus. Il faut réussir à capter l'information pertinente
sans bruit car l’’image dans cette étape est dans un état brut.
Détection de visage et prétraitement
3.10.2.1 Détection
La détection de visage peut se faire par détection de la couleur de la peau, la forme de la tête ou par
des méthodes détectant les différentes caractéristiques du visage. Cette étape est autant plus délicate
quand l'image acquise contient plusieurs objets de visage ou un fond non uniforme qui crée une
texture perturbant la bonne segmentation du visage. [26]
Cette étape est dépendante de la qualité des images acquises. Dans la littérature scientifique, le
problème de localisation de visages est aussi désigné par la terminologie "détection de visages". Les
performances globales de tout système automatique de reconnaissance dépendent amplement des
performances de la détection de visages. Dans l’étape de détection, on identifie et on localise le
visage dans l’image acquise au départ, indépendamment de la position, de l’échelle, de l’orientation
et de l'éclairage. [26] [27]
3.10.2.2 Prétraitement
Dans le monde physique, il y a trois paramètres à considérer : l'éclairage, la variation de posture et
l'échelle. La variation de l'un de ces trois paramètres peut conduire à une distance entre deux images
du même individu, supérieure à celle séparant deux images de deux individus différents.
Le rôle de cette étape est d’éliminer les parasites causés par la qualité des dispositifs optiques ou
électroniques lors de l’acquisition de l’image en entrée, dans le but de ne conserver que les
informations essentielles et donc préparer l’image à l’étape suivante. Elle est indispensable car on
ne peut jamais avoir une image sans bruit à cause du fond (background) et de la lumière qui est
généralement inconnue. [22]
58
L’extraction des caractéristiques
Cette étape représente le cœur du système de reconnaissance, on extrait de l'image les informations
qui seront sauvegardées en mémoire pour être utilisées plus tard dans la phase de décision. Le choix
de ces informations utiles revient à établir un modèle pour le visage, elles doivent être discriminantes
et non redondantes.
L’analyse est appelée indexation, représentation, modélisation ou extraction de caractéristiques.
L’efficacité de cette étape a une influence directe sur la performance du système de reconnaissance
de visage. [22]
Comparaison ou classification des caractéristiques
Elle consiste à modéliser les paramètres extraits d’un visage ou d’un ensemble de visages d’un
individu en se basant sur leurs caractéristiques communes. Un modèle est un ensemble
d’informations utiles, discriminantes et non redondantes qui caractérise un ou plusieurs individus
ayant des similarités, ces derniers seront regroupés dans la même classe, et ces classes varient selon
le type de décision. [22]
Selon les caractéristiques extraites précédemment, les algorithmes de comparaison diffèrent. On
trouve dans la littérature plusieurs approches dont la plus simple est le calcul de distance (recherche
de similarité).
Décision
C’est l’étape qui fait la différence entre un système d’identification d’individus et un système de
vérification. Dans cette étape, un système d’identification consiste à trouver le modèle qui
correspond le mieux au visage pris en entrée à partir de ceux stockés dans la base de données, il est
caractérisé par son taux de reconnaissance. [27]
Par contre, dans un système de vérification il s’agit de décider si le visage en entrée est bien celui
de l’individu (modèle) proclamé ou il s’agit d’un imposteur. Pour estimer la différence entre deux
images, il faut introduire une mesure de similarité.
59
Conclusion
Ce troisième chapitre a permis d’avoir une vue plus ou moins généraliste sur l’apprentissage
automatique. Une analyse de Machine Learning convient à récupérer les données analyser afin de
sélectionner des caractéristiques. Puis, choisir le modèle afin de les entraîner dans un algorithme
d’entrainement et enfin d’évaluer par validation croisée soit par précision ou par classification. La
reconnaissance du visage est un domaine très actif dans la vision par ordinateur et dans la Biométrie.
Elle a été étudiée vigoureusement il y a déjà 25 ans et sa finalité est de produire des applications de
sécurité, des applications en robotique, d'interface homme-machine. Ce qui nous entraine dans la
réalisation bref du projet.
60
CHAPITRE 4
REALISATION DU PROJET
Introduction
Vu la croissance de la technologie, que ce soit en termes de sécurisation d’un domicile ou en termes
de modernité, l’internet des objets ne cesse de surprendre le monde de la Télécommunication. Cette
partie mettra donc en relief tout ce qui englobe concrètement le projet mis en place dans le domaine
pratique.
Ceci étant fait dans le but de servir comme référence aux potentiels utilisateurs afin de leur faire
connaitre les différents procédés de la mise en marche du projet.
Les systèmes d’exploitations de Raspberry pi
Il existe plusieurs possibilités de systèmes d’exploitation pour les modèles Raspberry pi, dans notre
cas nous avons opté pour la « Raspberry pi 3 modèle B », nous allons citer quelques-uns : [37]
UBUNTU MATE 15.10: système basé sur Ubuntu très fluide et très bien adapter à notre
projet même s’il présente un problème au niveau du Bluetooth ;
OSMC ou Open Source Media Center : basé sur DEBIAN et comme son nom l’indique il
permet à notre Raspberry pi de faire office de media center ;
OpenELEC qui est un système d’exploitation ultraléger basé sur Kodi, compatible avec
toutes les versions du Raspberry Pi. Il est dédié, comme OSMC, à la création de « Media
Centers » ;
RASPBIAN : une distribution comme le nom le sous entends, il est basé sur DEBIAN. Le
plus connu et le plus fluide pour notre raspberry 3 et exploite non seulement la wifi et le
Bluetooth intégrer mais les ports GPIO.
Les pins et le GPIO du Raspberry pi 3
Le nano ordinateur Raspberry pi 3 est composé de 40 PIN GPIO qui permet de communiquer avec
les équipements externes.
Les pins et GPIO de la Raspberry pi 3 sont plus utilisés pour la connection avec les capteurs et les
modules afin d’appliquer la domotique. Dans notre cas, nous les utilisons pour la détection de fumée
afin d’alerter les occupants de notre habitat grâce son smartphone. [37]
61
Exemple 4.01 : Description des pins et GPIO de Raspberry pi 3 modèle B.
Les librairies nécessaires pour la réalisation du projet
Notons que pour l’exécution des programmes de sécurisation et de reconnaissance faciale, des
librairies doivent être installées sur notre nano ordinateur. Son installation se fait à l’aide de SSH
ou Putty selon son type et son état.
Exemple 4.02 : Extrait des librairies nécessaires pour l’exécution des programmes sur Raspberry
pi.
62
Outils utilisés et environnement de développement
Interface de commande de notre Raspberry pi
Il suffit de choisir le système d’exploitation à installer sur son nano ordinateur et enfin le configurer.
D’où, on peut commander son Raspberry pi via SSH et on peut avoir accès au serveur graphique
via VNC. [2]
Figure 4.03 : Présentation du système d’exploitation Raspbian via VNC.
Exemple 4.04 : Logo de Raspberry pi.
63
Le logiciel Arduino
Arduino est une plate-forme électronique programmée basée sur une simple carte à microcontrôleur
intégrant un logiciel libre fonctionnant sur Linux, Mac et Windows. Ce logiciel va nous permettre
de programmer la carte Arduino. [28]
Un environnement de programmation Arduino ou IDE est une application écrite en Java, inspirée
du language Processing permettant d’écrire, de modifier un programme et de le convertir en une
série d’instructions compréhensibles pour la carte. [28]
Figure 4.05 : Présentation de l’interface Arduino.
Python
Python est un langage de programmation de haut niveau créée par Guido Van Rossum. Coté syntaxe
Python a été conçu pour être lisible et clair. C’est un langage très structuré et très utilisé dans le
monde scientifique disposant d’un outil de calcul numérique, d’un traitement de son, de la synthèse
vocale, d’un traitement d’image, de la vision artificielle, de l’apprentissage automatique, etc. [21]
64
Figure 4.06 : Logo du langage python.
Pushbullet
Pushbullet est une application multiplateforme et une extension pour le navigateur Chrome
permettant facilement de lier un smartphone, un navigateur et un ordinateur. Elle est ainsi le moyen
le plus pratique d'échanger des éléments entre votre téléphone et votre ordinateur, présentant une
synchronisation simple des sms, mais aussi des vidéos et images.
Exemple 4.07 : Interface d’accueil de Pushbullet sur un navigateur web et sur son smartphone.
65
De plus, la nouvelle mise à jour de Pushbullet permet également de recevoir et de répondre à des
SMS depuis son ordinateur. Cette fonction existait déjà dans les précédentes versions, mais il fallait
pour cela, utiliser des applications tierces.
Figure 4.08 : Présentation du logo Pushbullet.
Pycharm
Développé par l'entreprise tchèque JetBrains, PyCharm est un environnement de développement
intégré utilisé pour programmer en Python. Il permet l'analyse de code et contient un débogueur
graphique. De plus, c'est un logiciel multi-plateforme qui fonctionne sous Windows, Mac OS X et
Linux. Il est décliné en édition professionnelle, diffusé sous licence propriétaire, et en édition
communautaire diffusé sous licence Apache.
Figure 4.09 : Présentation de l’application Pycharm Jetbrain.
66
OpenCV
C’est une librairie open source de traitement et analyse d'images et vidéos avec des interfaces pour
les principaux langages de programmation C, C++, Java, C#, Python, etc. L’OpenCV est optimisée
pour les applications en temps réelles, fournit une API bas et haut niveau, fournit une interface pour
le langage de programmation parallèle IPP, utilisé aussi bien dans les laboratoires de recherche que
dans l'industrie. [22]
Figure 4.10 : Logo de l’OpenCV.
Position du problème
La sécurisation et l’internet des objets sont des atouts majeurs recherchés par l’homme. En effet, de
nos jours, l’un des majeurs problèmes surviennent dans la vie quotidienne comme les infractions ou
encore le vol. Mais aussi, grâce à la technologie, les matériels de Télécommunication permettent à
tout le monde de faciliter sa vie quotidienne.
Ce projet créé consiste à minimiser les probabilités d’occurrence de ces faits dans le biais d’un
système de sécurisation implémenté à l’aide de l’utilisation des modules Raspberry pi et Arduino.
Et de créer une application afin d’être connecter à sa maison et de recevoir des notifications en
temps réels tout ce qui se passe dans son présent domicile.
Sur le plan matériel, ce projet fait appel à cinq composants de base : deux smartphones, un
ordinateur, un nano ordinateur et pi camera.
67
Réalisation pratique
Dans cette pratique, nous allons utiliser les matériels suivants ayant chacun des rôles précis :
Un ordinateur de marque « Acer » sur lequel sera commander le nano ordinateur ;
Un « Raspberry pi 3 modèle B » raccordé avec « un pi camera » afin de capturer des images
dans son domicile ;
Un smartphone « Samsung Galaxy J1 ACE » utilisé en tant que point d’accès ;
Un smartphone « SONY XPERIA Z5 » qui recevra les alertes et qui commandera son
domicile.
Configuration
En premier lieu, il est nécessaire de connecter la Raspberry pi via VNC afin de contrôler le serveur
graphique et via SSH afin de contrôler le terminal de commande. Une fois cette étape terminée,
nous pouvons commencer brièvement notre projet.
Détection faciale avec transfert automatique via SMTP
Tout d’abord, la commande de la Raspberry pi se fera via Putty, à noter qu’une connexion Internet
est requise afin de recevoir les notifications sur l’email. La figure suivante montre l’exécution du
programme afin de mettre en marche le camera.
Figure 4.11 : Exécution du programme sur Putty.
68
Après avoir exécuter la commande sur Putty, on peut ensuite voir à partir de son navigateur les
vidéos capturés par notre camera pi en tapant son adresse IP suivie du port 5000. Dans notre cas on
a « 192.168.43.120 :5000 ».
Figure 4.12 : Présentation d’un extrait d’image sur le navigateur Mozilla Firefox capturé par Pi
camera.
Afin de mieux connaitre si le mouvement détecté est une personne, notre camera pi va détecter et
capturer le visage de la personne entrant. Puis, il va l’envoyer sur son email un lien de l’image
capturé.
Figure 4.13 : Envoie de l’email vers le propriétaire de l’habitat.
69
Figure 4.14 : Email reçu avec capture de la face de la personne détectée par pi camera.
La vidéosurveillance à l’aide du Camera pi et Pushbullet
Réalisons une vidéosurveillance à partir de notre Raspberry pi, où les notifications en cas d’intrusion
dans notre domicile seront enregistrées dans Pushbullet, dans une base de données que nous avons
créé dans Raspbian Stretch.
Figure 4.15 : Exécution du programme via SSH.
70
Selon la figure, on va exécuter le programme afin de surveiller notre domicile. Exécutons via SSH.
Puis, quand un mouvement est détecté par notre camera pi, Pushbullet envoye instantanément des
notifications vers le propriétaire du domicile. Notons que, dans ce projet une connexion Internet
doit être disponible.
Exemple 4.16 : Présentation des notifications Pushbullet sur le navigateur chrome.
Figure 4.17 : Présentation des notifications Pushbullet sur le smartphone de l’occupant du
domicile.
71
Reconnaissance faciale sur l’image capturé à partir de l’algorithme LBP-cascade
Dans cette partie, contrairement à l’algorithme haar-cascade, l’algorithme LBP-cascade facilite
l’implémentation de la base de données en incluant seulement quelques images de la personne à
reconnaitre à partir de la Raspberry pi. Dans ce cas, nous allons faire une reconnaissance faciale à
l’aide d’une image capturée et enregistrée dans le nano ordinateur.
Exemple 4.18 : La base de données de la personne à reconnaitre sur une image capturée par la
caméra pi.
Ensuite, il suffit d’exécuter le programme « image_detection » à l’aide Putty ou sur notre terminal
Raspbian. Et le résultat montre que notre base de données contient 8 visages en incluant 8 noms sur
chaque image traitée. Puis, la prédiction de l’image nous montre une estimation de 53% à 107% de
la personne concernée.
72
Figure 4.19 : Exécution du programme de reconnaissance faciale à partir d’une image
implémentée dans la base de données de Pushbullet
Enfin, selon la figure 4.20, un apprentissage automatique est fait par le système afin de traiter à
partir des images capturées par Pushbullet les personnes si elles sont dans la base de données. Dans
ce cas, on ne connait pas encore qui est la personne présente sur l’image. Mais après le traitement
des données, elle sera connue automatiquement par notre Raspberry pi.
Figure 4.20 : Représentation de l’image avant et après la reconnaissance faciale.
73
Reconnaissance faciale utilisant l’algorithme Haar classifieur
En premier lieu, une base de données doit être créée afin de faire une reconnaissance faciale à l’aide
de Raspberry pi. Pour cela il faut que notre camera pi capture et enregistre tous les visages des
personnes qui seront reconnues facialement. Dans notre cas, User 1 correspond à Imavomialy et
User 2 à Lova. Dans ce cas, nous allons faire une reconnaissance faciale à l’aide d’une vidéo.
Exemple 4.21 : Les bases de données incluent pour la reconnaissance faciale à partir d’une vidéo.
En second lieu, il suffit d’exécuter le programme sur Putty et la reconnaissance des personnes mises
dans la base de données seront devinées par notre nano ordinateur.
Figue 4.22 : Reconnaissance faciale effectuée par notre Raspberry pi.
74
Notification via Pushbullet en cas de détection de flamme
Afin de bien sécuriser notre domicile, un détecteur de flamme a été mis en place. Dans ce cas, si
une flamme est détectée par notre caméra pi, des notifications seront envoyés sur Pushbullet afin
d’avertir le propriétaire de la maison.
Figue 4.23 : Notification à l’aide de textes, d’images et vidéos sur son smartphone en cas de
flamme détectée.
Commande des lumières grâce à son smartphone
Comme présenté dans le premier chapitre, afin de mieux s’accommoder chez soi, commander sa
lumière à partir de son smartphone est plus exigeable que de se déplacer instantanément. Pour se
faire, notre domicile se divise en quatre parties incluant une chambre ou « ROOM », une cuisine ou
« KITCHEN », les toilettes ou « RESTROOM » et la salle de séjour ou « LIVING-ROOM ».
75
Figue 4.24 : Commande de la lumière via son smartphone.
Selon la figure 4.25, on peut remarquer que l’occupant a allumé la lampe des toilettes et de la salle
de séjour grâce à son smartphone.
Exemple 4.25 : Commande de l’éclairage des toilettes et de la salle de séjour par l’occupant du
domicile.
76
Conclusion
En guise de conclusion, ce dernier chapitre a été riche en fonctionnalités. Nous avons vu comment
mettre en place une vidéosurveillance afin de recevoir une brève notification que ce soit sur un
adresse mail ou à l’aide d’une application. Mais aussi, de reconnaitre si la personne capturée habite
dans le domicile ou pas par reconnaissance faciale. Puis, nous avons pu créer une alerte en cas
d’incendie suivie d’une vidéo de la scène et une image envoyée sur son smartphone à l’aide de
Pushbullet. D’autre part, notre maison est aussi connectée que jamais grâce à l’application Android
que nous avons créée afin de commander les lampes à distance.
77
CONCLUSION GENERALE
Dans le cadre de ce mémoire, nous nous sommes intéressés sur l’incroyable nano ordinateur
Raspberry pi et le module ainsi connu Arduino. Ses fonctionnalités dans le domaine de la
Télécommunication ne cesse d’impressionner le monde et le futur. Ils nous ont permis de plus
approfondir ce qu’on entend par « Internet des Objets » et la « vidéosurveillance ».
Dans la première partie du travail, nous avons présenté globalement notre projet afin de connaitre
généralement le but de ce présent mémoire. Tout cela, en incluant les différents détails comme le
système automatisé, la télésurveillance, la vidéosurveillance et les principaux systèmes de
transmissions adoptés. La deuxième partie a été très enrichissant tout en présentant les différents
fonctionnements, les composants de l’Internet of things et son application à la domotique. Elle nous
a permis qu’elle offre aussi un avantage sur la détection d’intrusion.
Dans l’avant dernière partie, nous nous somme aborder sur l’apprentissage automatique en
commençant par une présentation globale, suivie de quelques algorithme utilisés terme
d’automatisme et des applications à la vision artificielle comme la détection et la reconnaissance
faciale. Et le dernier chapitre, a été plus axé sur la partie conception et développement d’applications
implémentant l’utilisation des modules Raspberry pi et Arduino tout en présentant en premier lieu
les principaux outils adoptés au projet, ensuite en second lieu son principe de fonctionnement sur le
plan vidéosurveillance et domotique. Mais aussi, nous avons mis en valeur la problématique et
l’objectif de ce présent mémoire afin de surveiller en temps réel son lieu d’habitation ou encore le
commande à distance.
Cependant, malgré le haut niveau de sécurisation apporté par un système de vidéosurveillance et les
objets connectés. Ce projet peut aussi faire sujet aux grandes améliorations telles que l’ajout d’un
réseau de neurone à convolution afin de développer des applications, ou encore l’ajout d’un
intelligence artificielle associé à une technique de réalité augmentée assurant une prise de décision
immédiate lors d’une alerte ainsi qu’une simulation d’une présence humaine.
78
ANNEXE : EXTRAITS DE CODES SOURCES
A.1.1 Code html
A.1.2 Code de l’envoie de l’email
<html>
<head>
<title>Raspberry Pi Security Feed</title>
</head>
<body>
<h1>Raspberry Pi Security Feed</h1>
<img id="bg" src="{{ url_for('video_feed') }}">
………….
</body>
</html>
#Importation des librairies nécessaires
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
#Envoie des notifications à l’occupant du domicile
fromEmail = 'projectmasterdemo0202@gmail.com'
toEmail = 'yourmailmialy@gmail.com
msgRoot['Subject'] = 'Security Update'
msgRoot['From'] = fromEmail
msgRoot['To'] = toEmail
79
A.1.3 Code de la reconnaissance faciale
#importation des librairies nécesssaires
import cv2
import numpy as np
import face_recognition
#Chemin de l’emplacement des bases de données
os.chdir("/home/pi/opencv-3.3.0/data/haarcascades")
#Capture vidéo en cas de détection de mouvement
def__init__self():
self.vs = PiVideoStream().start()
self.flip = flip
time.sleep(2.0)
……….
#Appel du code principale au cas où le programme s’excecute
if __name__ == '__main__':
t = threading.Thread(target=check_for_objects, args=())
t.daemon = True
t.start()
app.run(host='0.0.0.0', debug=False)
……….
80
A.1.4 Code de la détection de flamme
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read('/home/pi/master_mems/reconnaissance_faciale/trainer/trainer.yml')
faceCascade = cv2.CascadeClassifier(cascadePath);
cascadePath =
"/home/pi/opencv-3.3.0/data/haarcascades/haarcascade_frontalface_default.xml"
font = cv2.FONT_HERSHEY_SIMPLEX
#Initialisation du nombre d’identifiants dans la base de données
id = 0
names = ['INCONNUE', 'Mialy', 'Lova']
# Capture vidéo
cam = cv2.VideoCapture(0)
cam.set(3, 640) # set video widht
cam.set(4, 480) # set video height
………..
#Importation des librairies nécessaires
import io
import numpy as np
from pushbullet import Pushbullet
from threading import Thread
81
#CODE DE COMMANDE DE LA CAMERA PI EN TELECHARGEANT LE
MOUVEMENT CAPTURE
class DetectMotion(picamera.array.PiMotionAnalysis):
def analyse(self, a):
global isMotionDetected
global count
a=np.sqrt(np.square(a['x'].astype(np.float))+np.square(a['y'].astype(np.float))).cli
p(0, 255).astype(
np.uint8)
if (a > 60).sum() > 10:
isMotionDetected = True
count += 1
print("Flamme detecte : ", count)
else:
isMotionDetected = False
…………
82
BIBLIOGRAPHIE
[1] M. François, « Bien démarrer avec le Raspberry pi », Framboise 314 : France, Mai 2014.
[2] M. Richardson, S. Wallace, « A la découverte du Raspberry pi », Framboise 314 : France, n°
13748, 2013.
[3] J. Martin, M. Kaur, R. Anjan, « Tutorial: Raspberry Pi », Google Inc, 2017.
[4] M. Simon, « Mouvement, lumière et son avec Arduino et Raspberry pi », Prentice Hall : Paris,
2016.
[5] E. Bartman, « le grand livre Arduino », Eyrolles : Paris, 5 Mars 2015.
[6] L. Beddiaf, « Vidéosurveillance : Principes et technologies », Facebook AI Research :
Montréal, 2008.
[7] F. Ratovo, « Système de surveillance à distance implémentation de reconnaissance faciale et
la détection de mouvement », Mémoire de fin d’étude, Ment. TCO, E.S.P.A, A.U : 2015-2016.
[8] B.C Ramzi, « Evolution des systèmes de vidéosurveillance », Facebook AI Research : Londre,
Novembre 2017.
[9] B. Maslowski, « Système automatisé », Academie Press : France, 2002.
[10] M. Miller, « The Internet of Things: How Smart TVs, Smart Cars, Smart Homes, and Smart
Cities Are Changing the World », Prentice hall : Etats-Unies, Avril 2015.
[11] S. Greengard, « The internet of things », Master IGIS Rouen, Mars 2015.
[12] D.C. Ciresan, « Nos maisons de demain », https://www.abavala.tv/nos-maison-de-demain-
cest-pas-sorcier/mg, C’est pas sorcier : Paris, Avril 2017.
[13] R.A. Nandrianina, « Détection et évitement d’obstacle en vision monoculaire par flot optique.
Test sur un robot Raspberry pi », Mémoire de fin d’étude, Ment. Electronique, E.S.P.A, A.U : 2015-
2016.
[14] « La propagation des ondes radios », http://www.commentcamarche.net/contents/1310-la-
propagation-des-ondes-radios, INSA Rouen-Département ASI-Laboratoire PSI, Octobre 2008.
83
[15] A. Rossi, S. Pierre, « Systèmes de détection d''intrusion pour les réseaux mobiles ad hoc »,
Eyrolles : Paris, Juillet 2010.
[16] M. Laurent, « Un monde meilleur : et si l’intelligence artificielle humanisait notre avenir »,
Université Virtuelle, Tunis, Avril 2018.
[17] J. Bernd, H. Horst, « Computer vision and applications », Academic Press, 2000.
[18] M. Ravoson, « Contribution à la mise en œuvre d’une vision robotique », Mémoire de fin
d’étude, Ment. Electronique, E.S.P.A, A.U : 2009-2010.
[19] N. Sebe, I. Cohen, A. Garg, T.S Huang, « Machine Learning in Computer Vision », Springer
Science and Business Media : New york, 2005.
[20] A. cornuéjols, L. Miclet, « Apprentisssage artificiel, concepts et algorithmes », Editions
Eyrolles : Paris, 2009.
[21] M.N. Rabemiafara, « Les réseaux de neurones à convolution appliqués à la vision
artificielle », Mémoire de fin d’étude, Ment. TCO, E.S.P.A, A.U : 2015-2016.
[22] H. Rabetsiahiny, « Système biométrique basé sur la reconnaissance faciale », Mémoire de fin
d’étude, Ment. TCO, E.S.P.A, A.U : 2015-2016.
[23] « Raspberry Pi Camera », http://www.edureka.co, Framboise 314 : France, Février 2017.
[24] M. Ramafiarison, « Système de reconnaissance faciale et emprunte digital », Cours I5-TCO,
Ment. TCO-E.S.P.A., A.U. : 2017-2018.
[25] M.A. Rakotomalala, « Traitement d’image », Cours I4-TCO, Ment. TCO-E.S.P.A., A.U. :
2016-2017.
[26] D. Gsponer, « IoT: Building a Raspberry Pi security system with facial recognition »,
Degree Programme in Business : Londre, Mai 2018.
[27] R.S. Andriamaro, « Reconnaissance automatique d’expression faciale », Mémoire de fin
d’étude, Ment TCO, ES.P.A, A.U : 2014-2015.
[28] B.W Evans, « Arduino Programming Network », Computer Vision : Las Vegas, Aout 2017.
84
[29] P. Hazel, « The Exim SMTP mail server », UIT Cambridge, 1 Avril 2007.
[30] M.J. Bertrand Raphael, « Machine Learning: Introduction à l’apprentissage automatique »,
SUPINFO, International University, 2017.
[31] L. Baysse, « Le Wifi », Eyrolles : Paris, Juillet 2005.
[32] A. Esma, « Introduction à l’Intelligence Artificielle », Université Montréal, Département
d’informatique et de recherche opérationnelle :Montréal, Canada, 2010.
[33] H. Yassine, « Introduction à l’Internet des Objets(IdO-IoT) », Université de Montpelier, Juin
2010.
[34] K. Beldi, « La domotique, une approche durable de l’habitat », ADEME : Agence de
l’Environnement et de la maîtrise d l’Energie , 2017.
[35] B. David, K. Jonath an, « Les systèmes de détection d’intrusion », Developpez.com, 22 juillet
2006.
[36] B. Aras, M. Khalfat, L. A. Yaya, « Internet des objets : Domotique », DUT RT AN2 : Projet
Tutore, 2017.
[37] R. Christophe, « Introduction au Raspberry pi : un ordinateur de poche pour apprendre en
s’amusant et enseigner à moindre coût », AESTQ : Collège Laflèche, France, 2017.
85
FICHE DE RENSEIGNEMENTS
Nom : RADONAMANDIMBY
Prénom : Imavomialy
Adresse :
Lot A 57 bis Antsakambahiny Antehiroka, 105 Ivato Aeroport
E-mail : imavomialyradonamandimby@gmail.com
Téléphone: 033 92 806 44
Titre du mémoire :
« ETUDES DES SYSTEMES DE SECURISATION DANS LE
DOMAINE DE LA DOMOTIQUE »
Nombres de pages : 85
Nombres de tableaux : 3
Nombre de figures : 67
Directeur de mémoire :
Nom : RAKOTOMALALA
Prénoms : Mamy Alain
Grade : Maître de Conférences, Docteur HDR.
Téléphone : 033 95 535 20
Email : rakotomamialain@gmail.com
RESUME
De nos jours, la technologie ne cesse de fasciner le monde entier que ce soit en termes de modernité
domotique ou de sécurité afin d’alerter en avance les propriétaires d’un domicile même en étant
loin. De plus, le recours à la reconnaissance faciale augmente pour des raisons de sécurité publique
et pour la lutte contre le risque du terrorisme et la criminalité. Dans ce projet, nous avons mis en
valeur la présentation globale de ce projet afin d’inclure les différentes applications réalisées dans
ce présent mémoire. Pour cela, nous avons étudié les comportements de l’Internet des Objets en
commande domotique, la reconnaissance faciale équipée d’une détection d’intrusion. Les résultats
démontrent les performances de l’apprentissage automatique appliquant l’intelligence artificielle.
Partant de ce principe, l’application mise en place fait intervenir les moyens suivants permettant la
résolution de différents problèmes comme la possibilité d’évolution en fonction des avancées
technologiques et la résolution des problèmes en relation avec la distance.
Mots clés : sécurité, internet des objets, apprentissage automatique, reconnaissance faciale,
domotique.
ABSTRACT
Nowadays, technology never ceases to fascinate the whole world, whether in terms of modern home
automation or security, in order to alert in advance, the owners of a home even if they are far away.
In addition, the use of facial recognition is increasing for reasons of public safety and in the fight
against terrorist risk and crime. In this project, we highlighted the overall presentation of this project
in order to include the various applications carried out in this brief. To this end, we have studied the
behavior of the Internet of Objects in Home Control, facial recognition equipped with intrusion
detection. The results demonstrate the performance of machine learning using artificial intelligence.
Based on this principle, the application implemented involves the following means of solving
different problems such as the possibility of evolution according to technological advances and the
resolution of problems in relation to distance.
Keywords : security, internet of thing, machine learning, facial recognition, home automation.
Recommended