theses.univ-oran1.dztheses.univ-oran1.dz/document/15201543t.pdfDEPARTEMENT D'INFORMATIQUE THESE...
Transcript of theses.univ-oran1.dztheses.univ-oran1.dz/document/15201543t.pdfDEPARTEMENT D'INFORMATIQUE THESE...
DEPARTEMENT D'INFORMATIQUE
THESE
Présentée par
BENDIMERAD Nawel
Pour obtenir
LE DIPLOME DE DOCTORAT
Spécialité Informatique
Option : Réseaux
Intitulé :
Soutenue le : 01/10/2015 à la salle de conférences de la Faculté des Sciences Exactes et Appliquées
Devant les membres du jury :
Président du jury : HAFFAF Hafid, Professeur, Université d’Oran 1 Ahmed Ben Bella
Directeur de thèse : KECHAR Bouabdellah, MC-A, Université d’Oran 1 Ahmed Ben Bella
Examinateurs : BOUNCEUR Ahcène, MC-HDR , Université de Brest- France
MEKKAKIA MAAZA Zoulikha, MC-A, Université d’USTO-MB
CHOUARFIA Abdellah, Professeur, Université d’USTO-MB
KADDOUR Mejdi, MC-A, Université d’Oran 1 Ahmed Ben Bella
Système de surveillance d’infrastructures publiques à l’aide des réseaux de capteurs vidéo sans fil
A mes parents,
ma sœur et mon époux
Remerciements
ii
Remerciements
Je remercie en premier lieu Monsieur B. KECHAR mon directeur de thèse pour m’avoir
proposée ce sujet de doctorat, pour sa disponibilité, ses critiques constructives, ses
explications et suggestions et surtout pour son aide précieuse tout au long de la réalisation de
ce projet.
Je remercie très sincèrement Monsieur H. HAFFAF d’avoir accepté de présider le jury de
cette thèse.
J’exprime ma plus profonde gratitude à Monsieur A. BOUNCEUR d’avoir accepté de
participer au jury.
J’adresse mes remerciements les plus distingués à Madame Z. MEKKAKIA MAAZA,
Monsieur A. CHOUARFIA et Monsieur M. KADDOUR pour l’immense honneur qu’ils
m’ont fait en acceptant d’évaluer ce modeste travail.
Je tiens à remercier également tous les membres du laboratoire RIIR (Recherche en
Informatique Industrielle et en Réseaux) étudiants et enseignants. Je remercie particulièrement
Monsieur M. F. KHELFI et Monsieur L. SEKHRI pour leurs conseils et encouragements.
Enfin et surtout, merci à mes parents, ma sœur et mon mari dont les encouragements et la
générosité sont inestimables.
Résumé
iii
Résumé
Les Réseaux de capteurs vidéo sans fil (RCVSF) ont récemment émergé comme une
nouvelle classe de réseaux de capteurs dans lesquels de grandes quantités de données
visuelles sont collectées et traitées en temps réel. Ils sont constitués d’un ensemble de
capteurs vidéo à faible coût avec des capacités limitées de capture, de traitement et de
communication. Grâce aux avancées dans la miniaturisation des composants électroniques
avec des prix relativement accessibles, ce type de réseaux dotés de capacité de rotation
associée à chaque capteur vidéo, est prévu pour être déployé dans un environnement physique
en vue de contrôler avec une grande flexibilité de multiples phénomènes réalistes, comme la
surveillance des frontières et les opérations de sauvetage après les désastres.
Contrairement aux capteurs scalaires, le champ de couverture d’un capteur vidéo est limité
à son champ de vision (CdV) et dépend de son orientation courante, ce qui complique
d’avantage la configuration d’un RCVSF après un déploiement aléatoire.
L’objectif de cette thèse est de traiter le problème de couverture à l’aide de capteurs vidéo
rotationnels afin d’assurer une surveillance efficace d’une zone d’intérêt. Dans le modèle de
couverture élaboré, nous proposons une approche distribuée dont le but est d’orienter chaque
capteur vidéo vers la direction la plus adéquate pour offrir une meilleure couverture.
Le déploiement des capteurs vidéo dans des endroits stratégiques tels que les
environnements de désastre peut entraîner leur défaillance. Afin d’assurer une tolérance aux
pannes et d’économiser de l’énergie, nous avons utilisé le principe de construction
d’ensembles couvrants (cover set en anglais). De nouvelles stratégies ont été proposées dont
l’objectif est d’exploiter la redondance des capteurs vidéo pour assurer la couverture du CdV
des capteurs défaillants.
La présence éventuelle d’obstacles dans la zone de surveillance a également été prise en
considération afin de maximiser la couverture tout en évitant le problème d’occlusion des
CdV des capteurs vidéo.
Les performances du modèle proposé ont été validées à l’aide du simulateur OMNeT++ à
travers plusieurs évaluations effectuées en comparaison avec des modèles existants.
Mots-clés : Réseaux de capteurs vidéo sans fil, champ de vision, couverture, ensemble
couvrant, tolérance aux pannes, occlusion, modélisation et simulation.
Abstract
iv
Abstract
Wireless video sensor networks (WVSNs) have recently emerged as a new class of sensor
networks in which large amounts of visual data are sensed and processed in real-time. They
consist of several low-cost video sensors with sensing, processing and communication
capabilities. This kind of networks, strengthened with rotation capability for each video
sensor node due to dramatic advances in miniature electronic components and its accessible
prices, is envisioned to be deployed in the physical environment to monitor with a great
flexibility a plethora of real-world phenomena such as border surveillance and disaster
recovery.
Different from scalar sensors, the sensing range of a video sensor is limited to its Field of
View (FoV) and depends on its current orientation, which increases the WVSN configuration
complexity after a random deployment.
The aim of this thesis is to carry out the coverage problem with rotational video sensors to
ensure an effective surveillance of an area of interest. In the developed coverage model, we
propose a distributed approach with the purpose to enable every video sensor to switch toward
the most adequate direction in order to offer a better coverage.
Video sensors deployment in critical locations such as disaster environment can cause
sensors failure. In order to ensure fault tolerance and energy efficiency, we have used the
cover sets construction approach. Other strategies have been proposed with the objective of
exploiting redundancy of video sensors to unsure FoV’s coverage of failed nodes.
We also consider the existence of obstacles in the surveillance area in order to maximize
coverage while avoiding occlusion problem of video sensors’ FoV.
Performances of the proposed model were validated using OMNeT++ simulator through
several evaluations made in comparison with existing models.
Keywords: Wireless video sensor network, field of view, coverage, cover set, fault tolerance,
occlusion, modeling and simulation.
Table des matières
v
Table des matières
Remerciements ........................................................................................... ii
Résumé ........................................................................................................ iii
Abstract ...................................................................................................... ii
Table des matières ...................................................................................... i
Liste des figures .......................................................................................... x
Liste des tableaux ....................................................................................... xiii
Liste des abréviations ................................................................................. xii
Introduction générale ................................................................................. 1
1. Problématique et motivation ......................................................................................1
2. Objectifs ....................................................................................................................2
3. Principales contributions de la thèse...........................................................................2
4. Organisation de la thèse .............................................................................................3
Partie I : Etat de l’art
Chapitre I : Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
I.1 Introduction ..............................................................................................................6
I.2 Historique d’évolution des réseaux de capteurs sans fil .............................................6
I.3 Types de réseaux de capteurs sans fil ........................................................................7
I.3.1 RCSF terrestre ................................................................................................8
I.3.2 RCSF souterrain ..............................................................................................8
I.3.3 RCSF aquatique ..............................................................................................9
I.3.4 RCSF multimédia............................................................................................9
I.3.5 RCSF mobile ..................................................................................................11
I.4 RCVSF .....................................................................................................................11
I.4.1 Définition .......................................................................................................11
I.4.2 Architecture ....................................................................................................12
I.4.3 Systèmes d’exploitation ..................................................................................13
I.4.4 Dispositifs de capture vidéo ............................................................................11
I.4.4.1 Caméras basées sur des composants commerciaux .............................11
I.4.4.2 Caméras conçues pour les réseaux de capteurs....................................16
I.5 Caractéristiques et contraintes d’un RCVSF ..............................................................17
I.6 Classification des RCVSF selon le modèle de surveillance ........................................19
I.7 Domaines d’application des RCVSF .........................................................................21
I.8 Concept de redondance dans les RCVSF ...................................................................22
Table des matières
vi
I.8.1 Types de redondance......................................................................................22
I.8.2 Rôle de la redondance dans les RCVSF ..........................................................23
I.8.3 Redondance basée sur le chevauchement des CdV ..........................................23
I.8.4 Redondance basée sur la similitude de la capture ...........................................21
I.8.5 Redondance basée sur la pertinence de la capture ...........................................21
I.9 Conclusion ...............................................................................................................26
Chapitre II : Surveillance et problématique de la couverture
II.1 Introduction.............................................................................................................27
II.2 Concept de surveillance...........................................................................................27
II.3 Historique sur les approches de surveillance ............................................................28
II.4 Réseaux de surveillance ..........................................................................................29
II.4.1 Réseaux de surveillance à base de capteurs scalaires .....................................29
II.4.2 Réseaux de surveillance à base de capteurs multimédias ...............................29
II.4.3 Réseaux de surveillance à base de capteurs Hybrides ....................................31
II.5 Principes de la couverture vidéo ..............................................................................31
II.6 Catégories de couverture .........................................................................................32
II.6.1 Couverture de cibles prédéterminées .............................................................33
II.6.2 Couverture de barrière ..................................................................................31
II.6.3 Couverture de zone .......................................................................................31
II.7 Couverture suivant la stratégie de déploiement ........................................................31
II.7.1 Couverture avec déploiement déterministe ....................................................31
II.7.1.1 Placement optimal des caméras .......................................................36
II.7.1.2 Placement optimal des capteurs .......................................................38
II.7.2 Couverture avec déploiement aléatoire .........................................................11
II.7.2.1 Localisation des nœuds capteurs après déploiement.........................40
II.7.2.2 Algorithmes de couverture ..............................................................42
II.7.2.3 Métriques de couverture ..................................................................47
II.8 Conclusion ..............................................................................................................18
Partie II : Contributions
Chapitre III : Proposition d’un modèle de couverture fiable pour la surveillance
III.1 Introduction ...........................................................................................................11
III.2 Modèle de représentation du CdV d’un capteur vidéo à une seule direction ............11
III.3 Notions de géométrie pour le modèle de couverture ...............................................11
III.3.1 Coordonnées cartésiennes et polaires d’un point ........................................11
III.3.2 Norme d’un vecteur ...................................................................................12
III.3.3 Produit scalaire ..........................................................................................12
III.3.4 Aire d’un triangle ......................................................................................12
III.3.5 Test d’inclusion d’un point dans un triangle ..............................................13
III.3.6 Génération d’un point aléatoire à l’intérieur d’un triangle ..........................11
III.4 Définition d’un ensemble couvrant.........................................................................11
Table des matières
vii
III.5 Stratégie de base de construction d’un ensemble couvrant ......................................11
III.6 Pourcentage de couverture d’un ensemble couvrant ...............................................17
III.7 Modèle de couverture avec capteurs vidéo rotationnels ..........................................17
III.7.1 Mécanismes de rotation d’un capteur vidéo ...............................................17
III.7.2 Modèle de représentation des CdV d’un capteur vidéo rotationnel .............18
III.7.3 Formules de calcul géométriques des différents CdV .................................19
III.7.4 Fonction de sélection d’un CdV .................................................................19
III.8 Nouvelles stratégies de construction d’ensembles couvrants...................................61
III.8.1 Couverture avec tolérance aux pannes .......................................................61
III.8.1.1 Fonction de construction d’ensembles couvrants avec
tolérance aux pannes ...................................................................................61
III.8.1.2 Exemple de modèle de construction d’ensembles couvrants avec
tolérance aux pannes ...................................................................................62
III.8.2 Couverture avec haute précision ................................................................63
III.9 Ordonnancement de l’activité dynamique des capteurs vidéo .................................61
III.9.1 Algorithme d’ordonnancement ..................................................................61
III.9.2 Ajustement en fonction de la criticité de l’application ................................66
III.9.2.1 Vitesse de capture d’un nœud vidéo ...........................................66
III.9.2.2 Approche par ajustement statique ...............................................67
III.9.2.3 Approche par ajustement dynamique ..........................................68
III.10 Implémentation et évaluation des performances ...................................................71
III.10.1 Le simulateur OMNeT++ ........................................................................71
III.10.1.1 Définition .................................................................................71
III.10.1.2 Construction d’un modèle de simulation OMNeT++ ................71
III.10.2 Présentation du modèle de simulation du RCVSF .....................................72
III.10.3 Implémentation des algorithmes du nouveau modèle de couverture .........71
III.10.3.1 Programme implémentant le calcul des coordonnées des
triangles représentant les CdV du capteur vidéo .........................................71
III.10.3.2 Programme implémentant la fonction de sélection d’un CdV ....71
III.10.3.3 Programmes implémentant les nouvelles stratégies de
construction d’ensembles couvrants ...........................................................76
III.10.4 Evaluation des performances ...................................................................78
III.10.4.1 Paramètres de simulation..........................................................78
III.10.4.2 Métriques de performances ......................................................81
III.10.4.3 Résultats de simulation et interprétation ...................................81
III.11 Conclusion ...........................................................................................................81
Chapitre IV : Modèle de couverture fiable avec prise en considération d’obstacles
IV.1 Introduction ...........................................................................................................81
IV.2 Notion d’occlusion ................................................................................................81
IV.3 Autres formes géométriques d’un obstacle .............................................................87
IV.4 Modèle de couverture avec évitement d’obstacles ..................................................88
Table des matières
viii
IV.5 Fonction de sélection d’un CdV avec évitement d’obstacles ...................................89
IV.6 Fonction de construction d’ensembles couvrants avec évitement d’obstacles .........91
IV.7 Applications visées pour l’exploitation du modèle de couverture proposé ..............91
IV.7.1 Applications pour l’économie d’énergie ....................................................92
IV.7.2 Applications pour la tolérance aux pannes .................................................92
IV.8 Implémentation des algorithmes ............................................................................93
IV.8.1 Programme implémentant la fonction de sélection d’un CdV avec
évitement d’obstacles .............................................................................................93
IV.8.2 Programme implémentant la fonction de construction d’ensembles
couvrants avec évitement d’obstacles .....................................................................95
IV.9 Evaluation des performances .................................................................................91
IV.9.1 Résultats de simulation des modèles RCVSFROb et RCVSF ........................96
IV.9.1.1 Pourcentage moyen de couverture avec variation de la
densité du réseau .......................................................................................96
IV.9.1.2 Pourcentage moyen de couverture avec variation du champ
de communication .....................................................................................97
IV.9.1.3 Nombre moyen d’ensembles couvrants ......................................97
IV.9.1.4 Pourcentage moyen de nœuds actifs ...........................................98
IV.9.2 Résultats de simulation des modèles RCVSFROb et DVSA ..........................99
IV.9.2.1 Pourcentage moyen de couverture avec variation de la
densité du réseau .......................................................................................99
IV.9.2.2 Pourcentage moyen de couverture avec variation du champ
de capture ..................................................................................................99
IV.10 Conclusion ...........................................................................................................100
Conclusion générale ................................................................................... 101
Perspectives ................................................................................................ 102
Bibliographie .............................................................................................. 103
Annexe A : Le simulateur OMNeT++ : Aperçu du logiciel
A.1 Introduction ............................................................................................................110
A.2 Définition ...............................................................................................................110
A.3 Propriétés du simulateur OMNeT++ .......................................................................111
A.4 Etapes d’installation du simulateur OMNeT++ .......................................................111
A.5 Architecture d’OMNeT++ ......................................................................................112
A.6 Les principaux fichiers d’OMNeT++......................................................................113
A.6.1 Fichier .ned .................................................................................................113
A.6.2 Fichier .ini ..................................................................................................115
A.6.3 Fichier .msg ................................................................................................116
A.7 Exécution d’une simulation sous OMNeT++ ..........................................................116
A.8 Les plateformes d’OMNeT++ ................................................................................117
A.8.1 Mobility Framework ...................................................................................117
Table des matières
ix
A.8.2 Mixim .........................................................................................................118
A.8.3 Castalia .......................................................................................................118
A.9 Conclusion .............................................................................................................119
Annexe B : Modèle de simulation d’un RCVSF sous OMNeT++
B.1 Introduction ............................................................................................................120
B.2 Etapes d’installation du modèle de simulation ........................................................120
B.3 Présentation de quelques fichiers et répertoires du modèle ......................................121
B.4 Exécution d’un scénario de simulation ....................................................................123
B.5 Analyse des résultats ..............................................................................................126
Liste des figures
x
Liste des figures
I.1 Evolution des capteurs .........................................................................................7
I.2 RCSF terrestre......................................................................................................8
I.3 RCSF souterrain ...................................................................................................9
I.4 RCSF aquatique ...................................................................................................9
I.5 Architecture de référence d’un RCMSF [2] ..........................................................10
I.6 RCSF mobile .......................................................................................................11
I.7 Exemple d’un RCVSF ..........................................................................................11
I.8 Architecture d’un nœud capteur vidéo ..................................................................13
I.9 Prototype de l’architecture MeshEye ....................................................................15
I.10 Cyclops connecté à un capteur Mica2 ...................................................................16
I.11 CMUcam3 ...........................................................................................................16
I.12 ALOHA connecté à un capteur Mica2 ...................................................................17
I.13 Principaux modèles de surveillance ......................................................................20
I.14 Exemples d’application des RCVSF .....................................................................21
I.15 Redondance basée sur le chevauchement des CdV ................................................24
I.16 Redondance basée sur la similitude de la capture .................................................24
I.17 Redondance basée sur la pertinence de la capture [51] .........................................25
II.1 Système de prévention de catastrophes dans les ponts ..........................................29
II.2 Exemple d’un réseau de capteurs multimédias......................................................30
II.3 Couverture de la surface [53] ...............................................................................31
II.4 Modèle de capture directionnelle ..........................................................................31
II.5 Différence de capture entre RCSF et RCVSF ........................................................32
II.6 Catégories de couverture avec un RCVSF.............................................................33
II.7 Couverture avec RCVSF.......................................................................................33
II.8 Stratégies de couverture selon le déploiement des capteurs vidéo .........................35
III.1 Modèle de CdV d’un capteur vidéo ......................................................................51
III.2 Coordonnées cartésiennes et polaires d’un point M ..............................................51
III.3 Norme d’un vecteur .............................................................................................52
III.4 Aire d’un triangle .................................................................................................53
III.5 Test d’inclusion d’un point dans un triangle [99] ..................................................53
III.6 Points aléatoires non uniformément distribués à l’intérieur d’un triangle [100].....54
III.7 Points aléatoires uniformément distribués à l’intérieur d’un triangle [100] ...........54
III.8 Exemple de couverture d’un CdV .........................................................................55
III.9 Fonction de construction d’ensembles couvrants ..................................................56
III.10 Modèle d’un capteur vidéo rotationnel .................................................................58
III.11 Fonction de sélection d’un CdV ............................................................................60
Liste des figures
xi
III.12 Fonction de construction d’ensembles couvrants avec tolérance aux pannes .........62
III.13 Exemple de modèle de construction d’ensembles couvrants pour tolérance aux
pannes ..................................................................................................................63
III.14 Algorithme d’ordonnancement d’un nœud v [101] ...............................................66
III.15 Approche par ajustement statique [101] ...............................................................67
III.16 Approche par ajustement dynamique [101] ..........................................................69
III.17 Fonction de comportement [102] ..........................................................................69
III.18 Organigramme récapitulatif du processus de simulation sous OMNet++ ...............71
III.19 Exemple d’un fichier coverage-nbr_nodes.ned .....................................................73
III.20 Exemple d’un fichier omnetpp.ini ........................................................................74
III.21 Exemple d’un fichier coverage-nbr_nodes.sca ......................................................74
III.22 Programme implémentant le calcul des coordonnées des triangles représentant les
CdV du capteur vidéo ...........................................................................................75
III.23 Programme implémentant la fonction de sélection d’un CdV ................................76
III.24 Programme implémentant la fonction de construction d’ensembles couvrants avec
tolérance aux pannes ............................................................................................77
III.25 Programme implémentant la fonction de construction d’ensembles couvrants avec
haute précision .....................................................................................................78
III.26 Pourcentage moyen de couverture ........................................................................81
III.27 Nombre moyen d’ensembles couvrants ................................................................82
III.28 Pourcentage moyen de nœuds actifs .....................................................................82
III.29 Impact de l’angle de vue AdV sur le nombre moyen d’ensembles couvrants .........83
III.30 Impact de l’angle de vue AdV sur le pourcentage moyen de couverture ................83
IV.1 Occlusion du CdV d’un capteur vidéo ..................................................................86
IV.2 RCVSF avec présence d’obstacles ........................................................................86
IV.3 Combinaison de plusieurs formes d’obstacles pour représenter des obstacles plus
complexes [109]...................................................................................................87
IV.4 Modèle d’un capteur vidéo rotationnel avec présence d’obstacle ..........................88
IV.5 Fonction de sélection de CdV avec évitement d’obstacles .....................................90
IV.6 Fonction de construction d’ensembles couvrants avec évitement d’obstacles ........91
IV.7 Déploiement d’un RCVSF pour une gestion post-désastre ....................................93
IV.8 Programme implémentant la fonction de sélection d’un CdV avec évitement
d’obstacles ...........................................................................................................94
IV.9 Programme implémentant la fonction de construction d’ensembles couvrants avec
évitement d’obstacles ...........................................................................................95
IV.10 Pourcentage moyen de couverture avec variation de la densité du réseau .............97
IV.11 Pourcentage moyen de couverture avec variation du champ de communication ....97
IV.12 Nombre moyen d’ensembles couvrants ................................................................98
IV.13 Pourcentage moyen de nœuds actifs .....................................................................98
IV.14 Pourcentage moyen de couverture avec variation de la densité du réseau .............99
IV.15 Pourcentage moyen de couverture avec variation du champ de capture ................100
Liste des figures
xii
A.1 Architecture modulaire d’OMNeT++ ...................................................................113
A.2 Exemple simple d’un réseau de communication ...................................................114
A.3 Exemple d’un fichier NED ...................................................................................114
A.4 Editeur graphique d’un fichier NED .....................................................................115
A.5 Exemple d’un fichier .ini ......................................................................................115
A.6 Exemple d’un fichier .msg....................................................................................116
A.7 Construction et exécution d’une simulation sous OMNeT++................................117
A.8 Connexion des modules sous Castalia..................................................................118
B.1 Message de position .............................................................................................122
B.2 Message d’activité ...............................................................................................122
B.3 Message d’épuisement de la batterie ....................................................................122
B.4 Fenêtre graphique pour l’affichage des capteurs vidéo avec leurs CdV .................123
B.5 Exécution du modèle de simulation sous OMNeT++ ...........................................125
B.6 Présentation du modèle de simulation sur la fenêtre graphique .............................126
B.7 Exemple d’un fichier AWK...................................................................................127
Liste des tableaux
xiii
Liste des tableaux
II.1 Synthèse des principales contributions dans la couverture des RCVSF..................45
III.1 Paramètres de simulation .....................................................................................79
B.1 Description des icones du modèle de simulation ...................................................125
Liste des abréviations
xiv
Liste des abréviations
RCSF Réseau de Capteurs Sans Fil
RCVSF Réseau de Capteurs Vidéo Sans Fil
RCMSF Réseau de Capteurs Multimédias Sans Fil
WSN Wireless Sensor Network
WVSN Wireless Video Sensor Network
WMSN Wireless Multimedia Sensor Network
QdS Qualité de Service
CMOS Complimentay Metal Oxide Silicon
CdV Champ de Vision
SB Station de Base
CAN Convertisseur Analogique/Numérique
OS Operating System
IoT Internet of Things
ADCM Attitude Data Collection Module
ATMEL Advanced Technology for Memory and Logic
MMC/SD MultiMedia Card / Smart Digital
RAM Random Access Memory
SRAM Static Random Access Memory
CCTV Closed-Circuit Televison
DVR Digital Video Recorder
IP Internet Protocol
BIP Binary Integer Programming
PTZ Pan-Tilt-Zoom
ILP Integer Linear Programming
GPS Global Positioning System
MCMS Maximum Coverage Minimum Sensors
MDCS Multiple Directional Cover Sets
CGA Centralized Greedy Algorithm
DGA Distributed Greedy Algorithm
Liste des abréviations
xv
Rc Rayon de communication
Rs Rayon de couverture
AdV Angle de Vue
Co(v) Ensemble des ensembles couvrants du nœud v
Coi(v) Ensemble couvrant du nœud v
r0 Variable décrivant le niveau de criticité
OMNeT++ Objective Modular Network Test-bed in C++
NED Network Description
RCVSFR Réseau de Capteurs Vidéo Sans Fil avec capteurs rotationnels
NS2 Network Simulator 2
OPNET Optimum Network Performance
RCVSFROb Réseau de Capteurs Vidéo Sans Fil avec capteurs rotationnels et prise en
considération d’obstacles
DVSA Distributed Voronoi-Based Self-Redeployment Algorithm
JRE Java Runtime Environment
LAN Local Area Network
Mixim Mixed Simulator
MAC Media Access Control
TDMA Time Division Multiple Access
BAN Body Area Network
SDL Simple DirectMedia Layer
Introduction générale
1
Introduction générale
1. Problématique et motivation
Les progrès technologiques réalisés dans les domaines de la miniaturisation des
composants électroniques, la micro-électromécanique et de la standardisation des
communications sans fil ont conduit à l’émergence des réseaux de capteurs sans fil (RCSF)
(WSN : Wireless Sensor Networks en anglais) [1], dont les caractéristiques intrinsèques ne
cessent de susciter le développement de nouvelles perspectives applicatives dans de
nombreux domaines (militaires, environnementaux, médicaux, etc.).
Plus récemment, avec les avancées en micro-électronique qui ont conduit à l’émergence de
petites caméras (de type Complimentary Metal Oxide Silicon (CMOS)) et de microphones
accessibles qui peuvent être intégrés sur les capteurs, a donné naissance à une nouvelle
catégorie de RCSF, il s’agit des réseaux de capteurs multimédias sans fil (RCMSF) (WMSN :
Wireless Multimedia Sensor Networks en anglais) [2].
La catégorie de RCMSF à laquelle nous nous intéressons dans cette thèse est celle des
réseaux de capteurs vidéo sans fil (RCVSF) (WVSN : Wireless Video Sensor Networks en
anglais) [3] qui peuvent nous projeter un grand éventail d’applications surtout dans le
domaine de la surveillance en réponse aux catastrophes naturelles dévastatrices qui ont sévi
ces dernières années à l’échelle planétaire : séismes, tsunamis, inondations, glissements de
terrain, incendies de forêt, éruptions volcaniques, etc.
Contrairement aux capteurs scalaires utilisés dans les RCSF classiques qui sont de type
omnidirectionnel, et peuvent donc capter des signaux en provenance de toute direction, les
capteurs vidéo sont de type directionnel, donc le champ de capture est limité à une région
donnée de la zone de déploiement. Cette particularité des capteurs vidéo engendre de
nouvelles problématiques pour la configuration et la planification des RCVSF. Les modèles et
algorithmes développés pour les RCSF ne peuvent donc pas être appliqués pour les RCVSF,
d’autant plus que la quantité de données générées par un capteur vidéo diffère de plusieurs
ordres de grandeur par rapport à une valeur scalaire (température, humidité, etc.). Et par
conséquent, un certain niveau de qualité de service (QdS) est exigé pour la mise en œuvre de
protocoles adéquats dédiés aux RCVSF.
Parmi les nombreuses problématiques abordées sur les RCVSF, telles que la localisation, le
routage et la compression des données, la notion de couverture peut être considérée comme
l’une des métriques de la QdS d’un RCVSF. Malgré les nombreux travaux de recherche
consacrés à ce sujet, la problématique de la couverture reste une problématique de grande
Introduction générale
2
envergure vu l’ampleur des exigences des différentes applications critiques de surveillance
par les RCVSF [4].
2. Objectifs
Dans cette thèse, nous nous sommes intéressés au problème de couverture dans les RCVSF
avec pour objectif de satisfaire certaines exigences en QdS des applications critiques de
surveillance.
Notre principal objectif consiste à proposer un modèle de couverture fiable pour la
surveillance à l’aide d’un RCVSF. Contrairement aux capteurs vidéo utilisés dans la majorité
des travaux de recherche qui sont munis que d’une seule direction, dans notre travail, nous
avons opté pour des capteurs plus sophistiqués dotés de la fonction de rotation. Cette dernière,
nous donnera la possibilité d’étendre le champ de capture des nœuds utilisés dans le réseau,
dans le but d’offrir une couverture de meilleure qualité.
Afin de réduire la consommation d’énergie et remédier au problème de défaillance des
capteurs vidéo, suite au déploiement aléatoire ou encore l’environnement de surveillance en
« outdoor » qui peut causer un dysfonctionnement des capteurs, nous avons utilisé l’approche
de construction d’ensembles couvrants proposée par [5] mais avec des stratégies différentes.
Le premier objectif de cette approche est d’économiser de l’énergie en minimisant le nombre
de nœuds actifs dans le réseau. Le deuxième objectif est de bénéficier de la redondance des
capteurs vidéo afin de pouvoir remplacer un nœud défaillant par un sous-ensemble de ses
nœuds voisins qui peuvent assurer la couverture de son champ de vision (CdV).
Avec un déploiement aléatoire d’un RCVSF, on peut avoir des régions dans la zone de
surveillance qui sont mal couvertes ou souffrent d’occlusions. Par exemple, un CdV d’une
caméra peut devenir inutile si son orientation courante aboutit à la couverture d’un mur. Et
par conséquent, si l’orientation de cette caméra est susceptible d’être changée, cette dernière
pourra couvrir une zone pertinente de la région de surveillance. Dans cette perspective, nous
avons apporté d’autres extensions sur le premier modèle de couverture avec capteurs vidéo
rotationnels dans le but de proposer un nouveau modèle capable de fonctionner même dans un
environnement difficile en prenant en compte les obstacles qui pourraient se trouver sur
l’espace de déploiement.
3. Principales contributions de la thèse
La présente thèse forme une contribution au problème de couverture dans les RCVSF
constitués de capteurs vidéo rotationnels.
La première partie de nos contributions consiste en premier lieu à modéliser les CdV du
capteur vidéo à l’aide de fondements géométriques en deux dimensions avec la possibilité de
rotation vers trois directions au maximum [6]. Ce choix a été motivé par le fait que les RCVSF
sont étroitement contraints en termes d’énergie, mémoire et capacité de traitement. En effet,
Introduction générale
3
adopter plus de trois directions est tout à fait possible, mais ceci nécessite un calcul beaucoup
plus complexe au niveau de chaque nœud capteur. En second lieu, nous proposons une
solution au problème de couverture en prenant en considération les trois directions de chaque
capteur vidéo. Cette approche a été réalisée à l’aide d’un algorithme distribué pour analyser le
voisinage de chaque capteur vidéo afin de faire transiter ce dernier vers une direction plus
appropriée qui nous permettra d’offrir une meilleure couverture de la zone de surveillance [7].
Nous proposons également deux stratégies de construction d’ensembles couvrants [8]. La
première stratégie nous permet de générer un nombre considérable d’ensembles couvrants,
dans le but d’économiser de l’énergie et d’assurer une tolérance aux pannes. La deuxième
stratégie a été envisagée dans le but d’apporter plus de précision dans la fonction de capture.
Dans ce cas les ensembles couvrants doivent être composés des nœuds capteurs qui assurent
le maximum de couverture du CdV du nœud défaillant. Après la construction d’ensembles
couvrants, nous avons adopté l’approche proposée par [5] pour l’ordonnancement des
capteurs vidéo devant être actifs pour une période donnée permettant ainsi aux autres nœuds
de passer en mode veille, jugé moins consommateur en énergie.
Dans la deuxième partie de nos contributions, nous avons pris en considération la présence
éventuelle d’obstacles dans la zone de surveillance dans tous les algorithmes proposés pour la
mise en œuvre du premier modèle de couverture avec capteurs vidéo rotationnels et la
réalisation de scénarios d’applications qui s’approchent plus de la réalité [8].
Enfin, l’implémentation des algorithmes des deux propositions et l’évaluation des
performances ont été réalisées à l’aide du simulateur OMNeT++.
4. Organisation de la thèse
Ce manuscrit s’articule autour de quatre chapitres suivis d’une conclusion générale et des
perspectives de recherches futures. Le positionnement de nos travaux sera présenté sur les
deux premiers chapitres et nos contributions seront détaillées dans les deux derniers.
Le premier chapitre de ce manuscrit présente un état de l’art sur les RCVSF. Nous
commençons par un aperçu sur les RCSF en général avant d’aborder les caractéristiques et
contraintes des RCVSF en particulier avec leurs différents domaines d’application. Le concept
de redondance sur lequel se base le modèle de couverture proposé sera également détaillé
dans ce chapitre.
Le deuxième chapitre est une étude bibliographique sur le concept de surveillance ainsi
que les différentes stratégies de couverture. Ce chapitre permet de positionner notre
contribution au problème de la couverture par rapport aux approches proposées dans la
littérature.
Le troisième chapitre constitue le cœur de notre travail de thèse. Nous présenterons tout
d’abord le modèle de représentation du CdV d’un capteur vidéo à une seule direction avec les
différentes notions de géométrie utilisées et le principe de construction d’ensembles
Introduction générale
4
couvrants. Le modèle de couverture proposé avec capteurs vidéo rotationnels sera détaillé par
la suite avec les nouvelles stratégies de construction d’ensembles couvrants.
L’implémentation et l’évaluation des performances seront traitées dans la dernière partie de ce
chapitre où l’environnement de simulation et les différents résultats de performances seront
illustrés.
Le quatrième chapitre constitue notre deuxième contribution dans cette thèse. Il s’agit
d’une amélioration du modèle de couverture proposé dans le chapitre précédent avec prise en
considération d’obstacles dont la présence est imminente dans les applications de surveillance
envisagées dans notre travail. Nous décrirons dans ce chapitre les extensions apportées aux
différents algorithmes du modèle de couverture original dans le but de minimiser l’effet
d’occlusion. Nous présenterons par la suite des exemples d’applications de surveillance
réelles concrétisées à l’aide du modèle de couverture avec évitement d’obstacles. Enfin, la
dernière section de ce chapitre sera consacrée à la partie implémentation et évaluation des
performances où différents cas de figure seront traités pour la gestion d’obstacles dans
l’environnement de simulation. Différentes comparaisons de performances avec des modèles
existants seront effectuées pour valider l’approche de couverture proposée.
Partie I : Etat de l’art
5
Partie I
Etat de l’art
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
6
Chapitre I
Généralités sur les Réseaux de Capteurs Vidéo Sans Fil
(RCVSF)
I.1 Introduction
Les réseaux de capteurs sans fil (RCSF) représentent une révolution technologique qui
change radicalement la façon de concevoir les systèmes de surveillance de très grandes
échelles. En effet, les progrès croissants de la microélectronique et des communications par
ondes radio permettent de fabriquer des nœuds capteurs de plus en plus petits, embarquant
une unité de traitement de données, un module de transmission sans fil et une batterie. Ces
capteurs déployés sur le terrain vont s’organiser en réseau de manière spontanée et collaborer
entre eux pour capter des données et les acheminer à l’aide d’un schéma de routage multi-
sauts jusqu’à un point de collecte, appelé Station de Base (SB ou Sink)
Parmi toutes les applications potentielles des RCSF, celles utilisant des capteurs vidéo sont
appréciables pour tout ce qui concerne la reconnaissance, la localisation et le dénombrement
d’objets par la vision. L’émergence des réseaux de capteurs vidéo sans fil (RCVSF) suscite le
développement de nouveaux protocoles pour le transfert des données multimédias et de
mécanismes de gestion de l’énergie qui soient adaptés aux exigences sévères requises.
Dans ce chapitre, nous présentons les principes de conception des RCVSF ainsi que leurs
différentes caractéristiques et domaines de recherches.
I.2 Historique d’évolution des réseaux de capteurs sans fil
Au fil des années, avec la disponibilité du matériel et dispositifs de prix abordable, des
capteurs de plus en plus sophistiqués ont été proposés, permettant de capturer des données
scalaires ou encore multimédias dans le but de satisfaire une grande panoplie d’applications
sur les RCSF.
Dans ce qui suit, nous présentons une évolution au cours du temps des capteurs les plus
utilisés ces dernières années.
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
7
Figure I.1: Evolution des capteurs
Comme l’illustre la figure I.1, plusieurs capteurs ont été proposés par différentes
universités comme celle de Berkeley qui a présenté plusieurs travaux sur les RCSF. Les plus
utilisés sont les capteurs fabriqués par l’entreprise Xbow (aussi appelé Crossbow) qui est née
au sein de la célèbre université californienne. Cette entreprise a revendu en 2010 son activité
réseau de capteurs à la société sino-américaine MEMSIC. Ces capteurs conçus pour collecter
des données scalaires telles que la température ou l’humidité se basent sur le composant
Chipcon CC2420 qui est devenu le standard au niveau des modules de transmission utilisant
le protocole de communication IEEE 802.15.4 [9].
Avec les exigences des applications critiques de surveillance, une nouvelle catégorie de
capteurs dotés de capacités multimédias a vu le jour, Cyclops [10] et Stargate [11] sont deux
exemples concrets de ce type de capteurs. Les capteurs conçus initialement pour collecter des
donnés scalaires peuvent contribuer à la mise en œuvre des capteurs multimédias. Pour la
transmission sans fils, par exemple, l’émetteur/récepteur des capteurs Mica2 ou MicaZ peut
être utilisé via l’interface du capteur d’images Cyclops afin de transmettre les images
capturées.
Plus récemment, le capteur Seed-Eye [12] a vu le jour, développé par la société Evidence
Embedding Technology, il a été conçu pour l’implémentation des RCMSF à faible coût, il est
constitué de plusieurs interfaces de communication telles que Ethernet, IEEE 802.15.4/Zigbee
et USB. Il contient de plus une caméra CMOS pour la capture d’images.
I.3 Types de réseaux de capteurs sans fil
Actuellement, plusieurs RCSF sont déployés sur terrain, sous terre et sous l’eau. Ils font
face à différents challenges et contraintes dépendant de leur environnement. Nous pouvons
distinguer les cinq types de RCSF suivants [13] :
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
8
I.3.1 RCSF terrestre
Un RCSF terrestre consiste en un grand nombre (centaines à milliers) de nœuds à faible
coût qui sont déployés sur terrain dans une zone donnée, de manière ad hoc (déployé à partir
d’un hélicoptère par exemple). Dans les RCSF terrestres [14], les nœuds capteurs doivent être
capables de transmettre des données à une SB dans un environnement dense. Puisque
l’énergie de la batterie est limitée et la plupart du temps inaccessible, les nœuds capteurs
terrestres peuvent être équipés d’une source d’énergie secondaire telle que les cellules
solaires. Les applications communes des RCSF terrestres sont la capture et le monitorage
environnemental (voir figure I.2), le monitorage industriel et les explorations de surfaces.
Figure I.2: RCSF terrestre
I.3.2 RCSF souterrain
Un RCSF souterrain comporte un ensemble de nœuds capteurs qui sont déployés sous
terre, dans des caves ou des mines pour contrôler les conditions souterraines [15, 16]. Afin de
transmettre des données à partir des nœuds capteurs souterrains jusqu’à la SB, des nœuds
Sinks additionnels seront situés à la surface (voir figure I.3). Ces nœuds capteurs coûtent plus
cher que les capteurs terrestres car ils nécessitent des équipements appropriés pour assurer une
communication fiable à travers la terre, les rochers et l’eau. La communication sans fil est un
challenge dans de tels environnements à cause de la forte atténuation et perte du signal. De
plus, il est difficile de recharger ou de remplacer les batteries des capteurs sous terre, ce qui
nécessite l’utilisation de protocoles de communication à économie d’énergie pour prolonger
la durée de vie du réseau. Les capteurs souterrains sont utilisés dans plusieurs applications
telles que le monitorage agricole, le monitorage souterrain du sol et de l’eau et la surveillance
des frontières militaires.
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
9
Figure I.3: RCSF souterrain
I.3.3 RCSF aquatique
Un RCSF aquatique se compose de capteurs déployés sous l’eau, par exemple, dans un
environnement océanique [17, 18]. Comme ces nœuds coûtent très cher, donc très peu de
nœuds capteurs seront déployés et des véhicules aquatiques autonomes seront utilisés pour
explorer ou récupérer les données capturées. Les communications sans fil aquatiques utilisent
des ondes acoustiques (voir figure I.4), qui présentent différentes contraintes telles qu’une
bande passante limitée, un délai de propagation plus long, une haute latence et des problèmes
d’affaiblissement du signal. Ces nœuds doivent être capables de s’auto-configurer et de
s’adapter aux conditions extrêmes de l’environnement océanique. Les applications des RCSF
aquatiques incluent le contrôle de la pollution, la surveillance et l’exploration sous-marine, la
prévention et le monitorage de désastres tels que les séismes.
Figure I.4: RCSF aquatique
I.3.4 RCSF multimédia
Il s’agit d’un ensemble de nœuds capteurs à faible coût équipés de caméras ou de
microphones, déployés de manière prédéterminée ou aléatoire pour garantir une couverture
[2]. Les dispositifs de capteurs multimédias sont capables de stocker, traiter et de récupérer
des données multimédias telles que la vidéo, l’audio et l’image. Ils doivent faire face à
différents challenges tels qu’une forte demande de bande passante, une grande consommation
d’énergie, une garantie de QdS et des techniques de traitement et de compression des données.
Il est nécessaire alors de développer des techniques de transmission qui supportent une bande
passante assez élevée et une faible consommation d’énergie pour la délivrance fiable de
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
10
contenu multimédia tel qu’un streaming vidéo. Les RCMSF améliorent les applications de
RCSF existantes comme le suivi et la surveillance.
Une architecture de référence d’un RCMSF proposée par I. F. Akyildiz et al. [2] est
présentée sur la figure I.5 où trois types de RCSF avec différentes caractéristiques sont
illustrés. Les capteurs multimédias peuvent être déployés dans un réseau à un seul niveau,
comme indiqué sur les figures I.5(a) et I.5(b), ou d’une manière hiérarchique, comme le
montre la figure I.5(c). Les propriétés des deux types de niveaux sont détaillées sur la figure
I.5. Les hubs de traitement multimédia sont utilisés dans cette architecture car ils disposent de
ressources importantes en calcul, et sont appropriés pour l’agrégation des flux multimédia à
partir des nœuds capteurs. Ils permettent la réduction de la dimension et le volume des
données transmises au Sink et les dispositifs de stockage. Enfin, une architecture plus
complexe d’un RCMSF peut être implémentée en fonction des besoins de l’application.
Figure I.5: Architecture de référence d’un RCMSF [2]
I.3.5 RCSF mobile
Un RCSF mobile se compose de nœuds capteurs mobiles (voir figure I.6), qui peuvent se
déplacer et interagir avec un environnement physique [19]. Les nœuds mobiles peuvent se
repositionner et s’auto-organiser dans le réseau de plus de leur capacité de capturer, traiter et
de communiquer. Un algorithme de routage dynamique doit être utilisé au lieu du routage fixe
approprié aux RCSF statiques. Les RCSF mobiles doivent faire face à plusieurs challenges
tels que le déploiement, la gestion de la mobilité, la localisation avec mobilité, le contrôle et
la navigation des nœuds mobiles, le maintien de la couverture et de la connectivité et la
Un seul niveau,
Topologie plate,
Capteurs homogènes,
Traitement distribué,
Stockage centralisé
Un seul niveau,
Topologie en étoile,
Capteurs hétérogènes,
Traitement centralisé,
Stockage centralisé
Multi-niveau,
Topologie en étoile étendue,
Capteurs hétérogènes,
Traitement distribué
Stockage distribué
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
11
minimisation de la consommation d’énergie dans la locomotion. Les applications des RCSF
mobiles concernent le monitorage environnemental, la surveillance militaire, le suivi de cibles
et l’assistance aux opérations de secours. Un plus grand degré de couverture et de connectivité
peut être assuré avec les nœuds capteurs mobiles comparé aux nœuds statiques.
Figure I.6: RCSF mobile
I.4 RCVSF
I.4.1 Définition
Un RCVSF est un réseau composé d’un ensemble de nœuds capteurs autonomes dotés
d’une petite caméra embarquée à faible coût. Ces capteurs vidéo sont interconnectés de
manière sans fil, comme illustré sur la figure I.7, et collaborent entre eux pour atteindre un
objectif commun qui est d’assurer la surveillance de la zone de déploiement. Ces capteurs
vidéo sont de puissants capteurs multidimensionnels qui permettent de capturer une vue
directionnelle d’un terrain ou d’une région d’intérêt, généralement appelée champ de vision
(CdV ou FoV : Field of View) et de la transmettre à une SB (Sink). Les informations collectées
peuvent être traitées soit localement ou encore être envoyées à un utilisateur final via Internet
par exemple.
Figure I.7: Exemple d’un RCVSF
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
12
I.4.2 Architecture
En plus de sa fonction initiale qui est de collecter des données, un capteur est doté d’une
unité de traitement embarquée à faible coût avec des capacités de calcul, de mémoire et de
communication. La capacité d’un capteur est néanmoins limitée, ceci à cause en partie de la
miniaturisation de ses composants. Un capteur se compose en général de quatre unités
fondamentales (illustrées sur la figure I.8) [1] :
Unité de capture : contient le ou les capteurs embarqués sur le nœud afin d’assurer la
collecte des données de l’environnement. Les signaux provenant du capteur sont convertis
à l’aide d’un convertisseur analogique/numérique (CAN) en signaux compréhensibles par
l’unité de traitement.
Unité de traitement : se charge d’exploiter, de traiter et de conserver les données capturées
à l’aide d’un processeur associé à un microcontrôleur. Il s’agit du module principal du
capteur du moment qu’il contrôle le bon fonctionnement des autres unités.
Unité de communication : elle permet au capteur de communiquer en sein du réseau à
l’aide d’un couple émetteur/récepteur qu’on appelle aussi transceiver. Elle utilise
essentiellement des technologies sans fil telles que le 802.11 et le 802.15.4.
Unité d’alimentation : il s’agit de la source d’énergie qui alimente toutes les unités du
capteur. Elle correspond généralement à une batterie ou une pile dont les ressources
limitées en font l’une des contraintes majeures des RCSF.
Par ailleurs, il est possible d’ajouter d’autres modules à cette architecture en fonction de
l’application qu’on voudra réaliser. Nous pouvons avoir une unité de localisation afin de
déterminer la position géographique du capteur, en utilisant un récepteur GPS ou une
technique de triangulation. Certaines applications peuvent aussi avoir besoin d’un
mobilisateur pour le déplacement des capteurs [20]. Un générateur d’énergie permet de
prolonger la durée de vie du capteur en le dotant d’un dispositif pour recharger sa batterie, par
exemple l’énergie provenant des cellules solaires, des vibrations, de la lumière, etc. Dans le
cadre de notre étude, nous pouvons envisager d’intégrer une unité spécifique de capture vidéo
telle qu’une caméra avec un dispositif de rotation.
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
13
Figure I.8: Architecture d’un nœud capteur vidéo
I.4.3 Systèmes d’exploitation
Les avancées récentes dans le domaine de la microélectronique permettent de nos jours de
faire embarquer un système d’exploitation au sein d’un capteur afin de développer d’avantage
le caractère intelligent des capteurs.
Nous présentons dans ce qui suit, en premier lieu le système d’exploitation TinyOS qui est
le plus utilisé dans les RCSF. Nous citerons ensuite d’autres catégories de systèmes
d’exploitation qui ont été proposés dans la littérature.
TinyOS
TinyOS [21] est un système d’exploitation open source pour les RCSF développé au sein
du laboratoire d’informatique de l’université de Berkeley en Californie (USA).
Ce système d’exploitation a été développé dans le but de réduire au maximum la taille
d’allocation mémoire nécessaire à son installation et à son fonctionnement. Afin de permettre
l’extension des capteurs par d’autres fonctionnalités, TinyOS est structuré en plusieurs
composants avec interfaces bidirectionnelles.
Nous pouvons trouver deux types de fichiers dans un composant :
- un fichier configuration qui détermine les interfaces proposées par le composant et
les interfaces des autres composants nécessaires à ce dernier. Ce fichier doit aussi
expliciter les connexions qui existent entre ces différents composants (opération de
linkage).
- un fichier module qui contient l’implémentation des interfaces du composant.
TinyOS est écrit en NesC qui est un langage dérivé du C pour les systèmes embarqués [22].
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
14
Un programme sous TinyOS ne doit comporter que les composants nécessaires à son
exécution, ce qui permet de réduire la taille du programme à insérer dans l’unité de traitement
du capteur.
Afin de prolonger la durée de vie du capteur, TinyOS opte plutôt pour une programmation
événementielle, dans ce type de programmation, l’exécution des instructions s’effectue en
fonction des événements enregistrés par l’unité de traitement. L’avantage de cette technique
est de laisser les capteurs en mode veille dans le cas où il n’y a aucun évènement.
Les capteurs qui utilisent le système d’exploitation TinyOS sont essentiellement
développés par la société Xbow, comme les capteurs Mica2, MicaZ, TelosB, TelosA, etc.
Autres systèmes d’exploitation
D’autres systèmes d’exploitation connus pour les réseaux de capteurs sont décrits dans la
liste non exhaustive suivante :
- SOS [23] : il a été développé par l’université de Los Angeles en Californie (UCLA)
écrit en langage C et qui reprend le système de programmation événementielle de
TinyOS.
- FreeRTOS [24] : ce n’est pas un système d’exploitation à proprement dit, mais un
noyau de système d’exploitation pour systèmes embarqués.
- Mantis OS [25] : c’est un système d’exploitation dédié aux réseaux de capteurs,
développé par l’université du Colorado (USA) et écrit en langage C. Contrairement
à TinyOS qui est basé sur un modèle de programmation événementielle, Mantis OS
s’articule autour d’un modèle commandé par l’exécution de processus [26].
- Nut/OS [27] : il s’agit d’un système d’exploitation multitâche pour systèmes
embarqués avec une pile TCP/IP.
- Contiki [28] : ce système d’exploitation est open-source, léger et flexible,
développé pour les systèmes embarqués [29]. Contiki propose les principales
caractéristiques et fonctionnalités d’un système d’exploitation tout en favorisant
une consommation énergétique et une empreinte mémoire minimales. Ses
principaux avantages sont le support des protocoles IPv6 et 6LoWPAN et sa
portabilité. Contiki est considéré comme le futur OS pour le déploiement d’un
Internet des Objets [30] (IoT : Internet of Things en anglais) fiable, robuste et
efficace.
I.4.4 Dispositifs de capture vidéo
Plusieurs prototypes de capteurs d’images ont été proposés dans la littérature. Nous
pouvons en distinguer deux catégories : d’un côté, ceux qui se sont basés sur des composants
commerciaux à faible consommation énergétique. Par exemple, les auteurs dans [31] ont
utilisé un capteur d’image ADCM 1670 de Agilent pour fournir des capacités de vision dans
une application de suivi de cibles. D’un autre côté, on trouve les développeurs de dispositifs
de caméras conçus spécialement pour les RCSF. La plupart se basent sur le principe de
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
15
modularité des composants technologiques proposés par les fabricants commerciaux de
capteurs.
Quelques exemples de prototypes proposés dans les deux catégories sont présentés dans les
deux sous-sections suivantes.
I.4.4.1 Caméras basées sur des composants commerciaux
Voici une liste non exhaustive parmi les dispositifs de capture d’images qui ont été
développés en utilisant des composants électroniques commerciaux.
MeshEye
Conçue pour la surveillance distribuée, l’architecture MeshEye [32, 33] (voir figure I.9)
intègre un microcontrôleur Atmel AT91SAM7S, une mémoire flash MMC/SD, deux capteurs
ADNS-3060 à basse résolution comme ceux qui ont été utilisés à l’origine pour des souris
optiques, une caméra CMOS ADCM-2700 et un module radio CC2420 de Texas Instruments
qui respecte la norme 802.15.4.
Figure I.9: Prototype de l’architecture MeshEye
Cyclops
Les caméras Cyclops [10] ont ouvert un grand espace de recherche dans le domaine des
réseaux de capteurs d’image. La caméra Cyclops a été développée par les laboratoires Agilent
et le CENS (Center for Embedded Network Sensing) de l’UCLA. Elle permet la capture et le
traitement d’images de faible résolution avec une consommation d’énergie relativement
faible. Plusieurs versions de Cyclops ont été développées : Cyclops1, Cyclops2A, Cyclops2B
et Cyclops2C (cette dernière version intègre des améliorations significatives par rapport aux
versions antérieures). Cyclops est composé d’un module CMOS de capture d’images de
moyenne qualité ADCM-1700 (Agilent), un microcontrôleur ATmega128L de Atmel avec
128Ko de mémoire flash pour le stockage du code d’application et 4Ko de mémoire RAM (la
même qui est utilisée dans les capteurs Mica de chez Crossbow), une mémoire SRAM
TC55VCM208A de Toshiba avec 64Ko et une mémoire flash AT29BV040A d’Atmel pour le
stockage de données. Cyclops a aussi un connecteur de 51 pins qui lui permet de se connecter
à un capteur Mica2 ou Micaz de Crossbow (voir figure I.10). L’inconvénient de Cyclops est le
temps de traitement qui est relativement long à cause de la faible vitesse du processeur.
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
16
Figure I.10: Cyclops connecté à un capteur Mica2
CMUcam3
Il s’agit de la troisième version des systèmes CMUcam. Dans une carte caméra CMUcam3
[34] (voir figure I.11), nous pouvons trouver une caméra CMOS Omni vision OV6620 ou une
OV7620 comme module de capture d’image, un microcontrôleur NXP LPC2106 (ARM7TDMI
de 60MHz) avec 64Ko de mémoire RAM et 128Ko de mémoire flash, et un frame buffer de
vidéo FIFO Averlogic AL4V8M440 de 1Mo. Ce dispositif peut être connecté à un capteur
Telos de Berkeley. Afin d’économiser l’énergie, la caméra peut fonctionner selon trois modes
d’opérations : actif, en veille et inactif.
Par rapport à la caméra Cyclops, la CMUcam consomme beaucoup plus d’énergie,
cependant, elle offre un temps de traitement plus rapide.
Figure I.11: CMUcam3
I.4.4.2 Caméras conçues pour les réseaux de capteurs
Concernant les caméras conçues spécifiquement pour les réseaux de capteurs, nous
pouvons trouver dans la littérature les propositions suivantes :
ALOHA [35], illustré sur la figure I.12 est un capteur prototype CMOS conçu spécialement
pour des applications de réseaux de capteurs. ALOHA intègre une représentation de
l’information basée sur des évènements. L’idée de base est la suivante : des évènements sont
exécutés quand des pixels individuels atteignent un seuil de tension déterminé. Le pixel
exécute une requête au circuit récepteur, en manipulant son adresse sur le bus par activation
d’une cellule ROM sur l’intersection des lignes et colonne.
Pour le moment, deux versions du capteur d’images ALOHA ont été développées:
ALOHAim1 avec une grille de 32×32 pixels et un détecteur de contention
analogique pour les collisions,
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
17
ALOHAim2 avec une grille de 64×64 pixels organisés comme 4 quadrants de 32 ×
32 pixels indépendants et un détecteur de contention numérique.
ALOHA intègre une nouvelle philosophie dans le domaine du développement des réseaux
de capteurs, selon laquelle l’information est captée et transmise seulement quand il y a besoin,
et tout le traitement des données est exécuté au niveau du capteur matériel lui-même, ce qui
permet des économies d’énergie très importantes en laissant de côté la nécessité d’intégrer des
composants supplémentaires comme c’est le cas pour les architectures commerciales.
Figure I.12: ALOHA connecté à un capteur Mica2
I.5 Caractéristiques et contraintes d’un RCVSF
Avec des données vidéo, la QdS devient désormais une exigence fondamentale pour la
transmission dans un environnement contraint en ressources. En effet, il existe plusieurs
caractéristiques et contraintes dans les RCVSF dont nous citons les plus importantes :
Efficacité énergétique : les capteurs se caractérisent par une limitation de ressources en
termes de calcul, de stockage et d’autonomie d’énergie. Cependant, l’énergie demeure la
contrainte majeure des RCSF car les capteurs sont alimentés par des batteries à capacité
limitée, la plupart du temps irremplaçables due à la difficulté d’accès de l’environnement
de déploiement. Contrairement aux données scalaires, la transmission de flux vidéo
provoque un trafic intense et un traitement plus coûteux. Ce phénomène conduit à une
consommation énergétique importante pouvant occasionner le dysfonctionnement
prématuré du réseau. Par conséquent, l’utilisation de nouveaux algorithmes contribuant à
la prolongation de la durée de vie du réseau est indispensable.
Auto-organisation : Dans le cas où les RCVSF sont déployés aléatoirement, où aucune
intervention humaine n’est envisageable ; il est nécessaire de maintenir une structure qui
répond de manière efficace aux besoins de l’application. Ceci peut être réalisé grâce à
l’auto-configuration des capteurs vidéo, sans contrôle centralisé, uniquement avec des
interactions locales entre les capteurs.
Bande passante : le streaming de flux vidéo nécessite une bande passante très élevée par
rapport à la capacité actuelle des capteurs. En effet, alors qu’un streaming vidéo peut
nécessiter des débits supérieurs à l’ordre de 500 kbps, le débit maximal d’un nœud capteur
est de 250 kbps avec le standard 802.15.4. Des études ont montré que le débit réel utile est
de l’ordre de 70 kbps [36]. Par conséquent des solutions matérielles et logicielles sont
nécessaires pour une fourniture suffisante en bande passante afin de supporter la
transmission de flux vidéo.
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
18
Latence : la sensibilité aux délais est également une préoccupation majeure dans les
applications multimédias temps réel. Les données émises doivent être correctement reçues
au Sink dans les délais exigés par l’application ; sinon elles deviendront obsolètes. Les
applications de streaming vidéo temps réel requièrent des garanties strictes de délai bout à
bout, de bande passante et de gigue [37].
Topologie dynamique : La topologie du réseau est en constante évolution à cause du
changement de l’état d’activité des capteurs (actif, en veille et inactif) ou bien suite à la
défaillance ou l’épuisement d’énergie des capteurs. Par conséquent, il faudrait que ces
derniers soient capables de communiquer et de collaborer entre eux en utilisant des
protocoles d’auto-organisation afin de maintenir la topologie du réseau.
Scalabilité : Les applications de surveillance dans des environnements hostiles peuvent
nécessiter un déploiement très dense des capteurs vidéo. Lorsque le nombre de capteurs
augmente, ceci ne doit en aucun cas influencer sur les performances du réseau. Les
différents algorithmes et protocoles proposés pour les RCVSF doivent prendre en
considération le facteur de passage à l’échelle.
Tolérance aux pannes : La défaillance de certains capteurs vidéo peut être la
conséquence de l’épuisement de leur batterie ou encore suite à un endommagement
physique du capteur dans l’environnement de surveillance (après un largage à partir d’un
avion par exemple). Le RCVSF doit pouvoir remédier aux défaillances d’une partie de ses
capteurs et continuer à fonctionner même avec des performances réduites. La tolérance
aux pannes est la capacité de soutenir les fonctionnalités d’un réseau de capteurs sans
causer d’interruption lorsqu’un capteur cesse de fonctionner. La tolérance aux pannes
dépend aussi de l’environnement de déploiement du RCVSF, dans le cas où le réseau est
déployé dans un habitat, la tolérance aux pannes exigée peut être basse car le degré
d’endommagement des capteurs est réduit. Cependant, si le RCVSF est déployé dans un
environnement hostile de surveillance, la tolérance aux pannes doit être plus importante à
cause de la criticité de l’application.
Sécurité : Concernant les applications de surveillance qui nécessitent un niveau de
sécurité plus élevé telles que les applications militaires, les données collectées par les
capteurs vidéo doivent être sécurisées. Des mécanismes d’authentification, de
confidentialité, et d’intégrité peuvent être utilisés dans ce type d’applications. Cependant,
les algorithmes de cryptographie conçus pour les réseaux de capteurs doivent tenir compte
des ressources restreintes des capteurs vidéo.
Couverture : La couverture peut être considérée comme l’une des métriques de la QdS
d’un réseau de capteurs. Une mauvaise répartition des capteurs vidéo peut rendre certains
nœuds inutilisables s’ils ne sont plus en mesure de communiquer avec les autres capteurs
pour atteindre à la fin la SB. La stratégie la plus adoptée dans la problématique de
couverture est l’exploitation de la redondance issue du déploiement aléatoire des capteurs
vidéo et de procéder à leur mise en veille en alternance. L’intérêt de cette technique que
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
19
nous avons adopté dans cette thèse est de prolonger la durée de vie du réseau et d’assurer
également une tolérance aux pannes dans le RCVSF.
Qualité des images capturées : Dans un contexte d’applications critiques, la capacité à
exploiter les informations visuelles d’une image à la réception est capital. Pour ce faire, la
vitesse de capture associée à chaque capteur doit être satisfaisante. De plus, afin de réduire
la quantité de données visuelles collectées nous devons faire appel à la technique de
compression d’images. Cette dernière peut s’effectuer de plusieurs manières : avec ou
sans perte de données, centralisée ou distribuée. La compression avec perte de données
demeure la plus pertinente pour des transmissions à bas débit et pour la réduction des
coûts en termes de mémoire et de transmission. Malgré que la compression participe à
l’amélioration des performances du réseau, un taux de compression maximal peut
dégrader fortement la qualité de l’image restituée [20, 38].
Routage multi-chemins : Le transfert de données vidéo doit respecter certaines métriques
de QdS, par exemple, les applications de surveillance de données critiques sont sensibles
au temps de réponse (délai) et exigent une certaine fiabilité dans la livraison des données
(taux d’erreur) [39]. Afin de palier ces problèmes, de nouvelles formes de routage sont
utilisées, comme le routage multi-chemins pouvant garantir une communication de qualité
entre les différents nœuds dans le réseau. Un protocole de routage multi-chemins permet
de construire et de maintenir plusieurs chemins entre la source et la destination. Son
objectif est d’augmenter la robustesse et la disponibilité des chemins. La stratégie
d’équilibrage de charge sur les chemins multiples nous permet d’assurer plus de fiabilité
et d’économiser l’énergie consommée dans le réseau [40,41].
I.6 Classification des RCVSF selon le modèle de surveillance
Les RCVSF peuvent être utilisés pour la collecte des données dans plusieurs modèles de
surveillance, classifiés de la manière suivante :
Surveillance périodique : Tous les capteurs envoient périodiquement leurs mesures à la
SB (Sink) (voir figure I.13(a)). Le type d’application visé concerne les applications de
surveillance où le but principal est de récupérer des informations de manière régulière de
la zone surveillée [42].
Surveillance à la demande : Les capteurs ne transmettent pas spontanément les données
collectées, ils les envoient seulement après avoir reçu des requêtes explicites de la SB
(voir figure I.13(b)). Ces requêtes peuvent être dirigées (sollicitation d’un capteur ou un
groupe de capteurs) ou diffusées (requête de type conditionnel) [13].
Surveillance sur déclenchement d’évènements : Les capteurs envoient les données
collectées seulement lorsqu’il y a un évènement qui se produit, comme le dépassement
d’un seuil par exemple. Ce modèle est bien adapté par exemple à la détection d’intrusion.
La surveillance sur déclenchement d’évènements peut à son tour être divisée en deux
catégories en fonction du type d’évènement [43] :
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
20
- Evènements internes : Les évènements sont détectés par le capteur vidéo.
- Evènements externes : Les évènements sont des messages reçus d’autres capteurs,
qui notifient ainsi qu’un certain phénomène (évènement) s’est produit dans leur
zone de surveillance. Comme nous pouvons le constater sur la figure I.13(c), un
capteur scalaire B (de vibrations, par exemple) détecte un évènement déclenché par
un objet qui traverse sa zone de perception. En sachant que le capteur vidéo A peut
prendre une photo de cette région, il lui envoie alors un message de notification.
Finalement, le nœud A saisit une image et la transmet par paquets de données vers
la SB.
Applications hybrides : toute alliance des modèles de fonctionnement précédents.
(a) Surveillance périodique (b) Surveillance à la demande
(c) Surveillance sur déclenchement d’évènements
Figure I.13: Principaux modèles de surveillance
I.7 Domaines d’application des RCVSF
Les RCVSF sont adoptés dans divers domaines d’application. Nous pouvons même
imaginer dans le futur que les capteurs seront embarqués dans la plupart des objets afin de les
rendre intelligents (ce qu’on appelle « smart objects ») pour être utilisés dans les maisons et
villes intelligentes (appelées « smart homes & cities »). Ces derniers pourront explorer
l’environnement, communiquer avec d’autres objets intelligents et interagir avec les humains
[13].
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
21
Parmi les applications potentielles des réseaux de capteurs, celles exigeant l’emploi de
capteurs de vision sont appréciables dans de nombreuses applications sur la surveillance telles
que le besoin d’identifier exactement le ou les objets qui traversent le champ du réseau de
capteurs.
Dans d’autres applications, nous pouvons combiner des capteurs scalaires avec des
capteurs vidéo, dans ce cas-là, la prise d’images peut servir à compléter et enrichir les
mesures initiales. Dans la surveillance des feux de forêt par exemple, les capteurs scalaires
collectent des mesures de température pour détecter les départs de feux, mais la prise
d’images permettra d’avoir une idée plus précise de la situation.
Figure I.14: Exemples d’application des RCVSF
Dans cette sous-section, nous présentons quelques applications sur les RCSF et plus
particulièrement celles utilisant des capteurs vidéo. Les exemples d’applications abordés sont
synthétisés sur la figure I.14.
Applications militaires : Les réseaux de capteurs vidéo peuvent être utilisés dans les
applications militaires pour la surveillance des champs de bataille grâce à la
reconnaissance et la classification des cibles [44]. Le déploiement d’un réseau de capteurs
sur les champs de bataille peut se faire de manière déterministe ou aléatoire. Comme les
capteurs sont, par définition, des dispositifs très petits, ils seront a priori faciles à
dissimuler. L’orientation des caméras doit être effectuée soigneusement afin de couvrir
toute la zone à observer. Ceci peut engendrer un problème si les capteurs vidéo sont
déployés aléatoirement, largués à partir d’un avion par exemple. Du moment que l’angle
de vue des caméras est limité, le risque que des capteurs tombent dans une mauvaise
position (pointant vers le sol, le ciel, etc.) est fort probable. Cependant, le déploiement
aléatoire peut s’avérer indispensable surtout dans le cas de la surveillance de zones
infectées par un virus par exemple.
Surveillance environnementale : Des capteurs vidéo peuvent être déployés pour de
longues périodes sur de larges zones géographiques dans le but d’obtenir des informations
sous forme d’images qui sont plus explicites pour l’observation et l’analyse du
comportement de diverses espèces animales. Par exemple, un réseau de capteurs
infrarouges Cyclops a été installé dans la réserve des Montagnes James San Jacinto en
Californie pour étudier la nidification d’une espèce particulière d’oiseaux [22]. De même,
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
22
un RCSF équipé de caméras a été déployé dans le parc Ni’iinlii Njike au Canada pour
étudier le comportement des ours grizzly [45].
Sûreté et sécurité des zones sensibles : Les RCVSF peuvent être utilisés pour la
surveillance des espaces privés et publics. Cependant, l’utilité des RCVSF n’est pas dans
la surveillance d’infrastructures fermées telles que les aéroports, les industries, les
résidences, etc. Pour les applications de vidéosurveillance, des produits de plus en plus
sophistiqués existent sur le marché comme les micro-caméras et les webcams sans fil. Des
systèmes de surveillance sans fil limités en énergie pourraient être mis en place pour
protéger des parcs, des zones sauvages, et d’autres zones liés à la protection des
ressources naturelles. Un RCVSF peut servir aussi pour la surveillance de frontières
terrestres, ou encore être exploité pour l’assistance aux opérations de recherche et de
sauvetage après une catastrophe accidentelle ou naturelle comme un tremblement de terre
par exemple. Ceci permet une intervention beaucoup plus rapide et efficace des secours
[46].
Surveillance et suivi d’objets : Les RCVSF suscitent un intérêt manifeste par leur fort
potentiel en termes d’applications de surveillance. De plus, ils nous permettent de
diminuer considérablement les dépenses financières consacrées à la sécurisation des lieux
et des êtres humains. Les applications visées concernent en particulier la détection
d’intrusions, le dénombrement et le pistage (tracking) d’objets par la vision [47].
Suivi du trafic routier : Des RCVSF peuvent être exploités aussi pour le suivi et le
contrôle du trafic routier. Avec des techniques de traitement et d’analyse d’images, il est
possible de faire le dénombrement des véhicules afin d’estimer d’une manière plus rapide
le niveau du trafic en fonction des heures de la journée [48].
I.8 Concept de redondance dans les RCVSF
La redondance représente pour les réseaux de capteurs une caractéristique qui est à la fois
rentable et pénalisante. Elle peut être utilisée pour améliorer la fiabilité de la détection,
l’exactitude des données collectées ou encore augmenter la durée de vie du réseau. Par contre,
elle engendre un transfert de données plus important qui entraîne une charge de trafic
supplémentaire.
Nous présentons dans ce qui suit les différents types et propriétés de ce concept, afin
d’expliciter le rôle important de la redondance dans l’élaboration d’un RCVSF.
I.8.1 Types de redondance
La redondance peut être spatiale (duplication de composant), temporelle (traitement
multiple) ou d’information (code et signature) [49].
La redondance spatiale (physique) : Signifie la possibilité d’obtenir l’information d’une
position spécifique à partir de différentes sources et elle se base sur le positionnement
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
23
géographique des nœuds capteurs dans la zone d’intérêt. Ce type de redondance implique
la réplication des ressources dans la surface de couverture du réseau.
La redondance temporelle : Elle est utilisée pour augmenter la précision des données
collectées par le capteur et à masquer les erreurs dans la détection ou la communication,
en exécutant une action plus d’une fois dans le temps [50].
La redondance d’information : Elle introduit une redondance dans la représentation de
l’information, en ajoutant des données redondantes telles que les bits de parité qui
permettent de détecter les erreurs ou bien des extra-bits qui permettent de reconstruire
l’information perdue.
I.8.2 Rôle de la redondance dans les RCVSF
La redondance est fortement utilisée dans le cas où le déploiement des capteurs se fait de
manière aléatoire, ce qui nous permet d’améliorer certains aspects des RCSF, tels que les
caractéristiques suivantes :
La fiabilité : Pour obtenir des résultats fiables essentiellement lorsque les nœuds sont
défectueux ou rencontrent un dysfonctionnement, ce qui permet d’assurer une tolérance
aux pannes.
La sécurité : Pour faire face aux attaques, la redondance spatiale peut être utilisée pour
comparer les lectures locales avec celles obtenues des capteurs redondants, ensuite un
système de décision à base de connaissances est construit pour exclure les nœuds
malicieux du réseau.
L’économie d’énergie : Comme la plupart des applications utilisent un déploiement
aléatoire des capteurs, il est alors judicieux d’exploiter la redondance spatiale engendrée
par ce type de déploiement afin d’économiser de l’énergie. Ceci est réalisé par
ordonnancement de l’activité des capteurs redondants qui consiste à alterner l’activité des
capteurs afin de maximiser la durée de vie du réseau.
Le recouvrement de la couverture de surface : L’utilisation des capteurs dans des zones
sensibles rend impossible un déploiement déterministe. Une façon de rétablir la
couverture de surface est de déplacer les capteurs redondants vers les régions non
couvertes. Cette solution contribue également à renforcer la tolérance aux pannes dans les
réseaux de capteurs [50].
I.8.3 Redondance basée sur le chevauchement des CdV
Lors de la prise de vue de cibles ou de scènes, les CdV des capteurs vidéo peuvent se
chevaucher. En d’autres termes, lorsque nous avons une intersection des CdV de deux
caméras ou plus, le même objet ou scène peut être vu par plusieurs nœuds capteurs, la plupart
du temps à partir de directions et de perspectives différentes.
Du moment que les capteurs dont le CdV se chevauche capturent la même cible mais à
partir de perspectives différentes donc ils peuvent extraire des informations différentes.
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
24
Cependant, dans plusieurs applications de surveillance, deux capteurs vidéo sont considérés
comme redondants s’ils vérifient un minimum taux de chevauchement du CdV (par exemple
30 %), peu importent les orientations des caméras [51]. La figure I.15 présente un exemple de
chevauchement de capture visuelle où deux capteurs sont considérés comme étant redondants.
Figure I.15: Redondance basée sur le chevauchement des CdV
I.8.4 Redondance basée sur la similitude de la capture
Comme il a été mentionné précédemment, le chevauchement des CdV peut être exploité
pour indiquer que différents capteurs peuvent fournir des informations d’une certaine manière
corrélées et donc, sont considérés comme redondants. Cependant, quelques applications de
surveillance peuvent exiger une haute similitude entre les capteurs vidéo en définissant la
redondance, où les capteurs vidéo sont considérés comme similaires lorsqu’ils ont des
perspectives très proches sur la même cible ou scène. Par exemple, deux capteurs peuvent ne
pas être considérés comme redondants même s’ils ont un chevauchement de CdV élevé (par
exemple 90 %) et qu’ils ont aussi une orientation similaire (c’est-à-dire, moins de 10 % de
différence d’angle entre les orientations des caméras). Ceci est en fait, un cas particulier de
surveillance visuelle basée sur la similitude de la capture, illustrée sur la figure I.16 [51].
Figure I.16: Redondance basée sur la similitude de la capture
Dans ce type d’applications, en définissant la redondance, nous devons définir comme
seuil un minimum taux de chevauchement du CdV et un angle maximal acceptable entre les
orientations des caméras. Ce paradigme de surveillance visuelle nécessite un déploiement
déterministe des capteurs visuels pour atteindre une couverture optimisée.
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
25
I.8.5 Redondance basée sur la pertinence de la capture
Que la surveillance visuelle soit basée sur le chevauchement des CdV ou la similitude de la
capture, les nœuds vidéo peuvent avoir différentes pertinences pour les applications. La
pertinence de la capture est définie par la capacité des capteurs à extraire des informations
significatives pour l’application de surveillance [4]. Puisque la pertinence de la capture n’est
pas associée à la topologie du réseau et la position du capteur, le même réseau peut contenir
des nœuds avec différentes pertinences selon les exigences de l’application considérée. Les
nœuds capteurs avec pertinences de capture différentes leurs seront assigné un niveau de
priorité qui peut être exploité de différentes manières, comme dans la transmission de données
vidéo, contrôle d’erreur et routage de paquets par exemple.
Les auteurs dans [4] proposent le concept de la pertinence de capture dans les RCVSF, ils
en définissent cinq groupes différents de pertinence associés à l’importance générale des
nœuds capteurs dans les applications : groupes sans pertinence, de faible pertinence, de
pertinence moyenne, de haute pertinence et de pertinence maximale. Chaque capteur vidéo est
associé à un groupe unique de pertinence, selon ses potentialités à fournir des informations
vidéo significatives. De cette façon, la notion de redondance est valide uniquement à
l’intérieur du même groupe de pertinence.
La pertinence de la capture doit être établie conformément à la surveillance des zones
d’intérêt. Les applications doivent définir les régions où les données pert inentes ont plus de
chance d’être extraites et les capteurs qui peuvent couvrir ces régions leur seront assigné un
degré particulier de relevance. En utilisant la position du nœud capteur vidéo et la direction de
la caméra, nous pouvons identifier si le CdV des capteurs est (partiellement) à l’intérieur des
régions par trigonométrie.
La figure I.17 illustre un scénario de surveillance en assumant différentes relevances en
adéquation avec les zones d’intérêts surveillées.
Figure I.17: Redondance basée sur la pertinence de la capture [51]
Pour l’application considérée sur la figure I.17, les capteurs qui peuvent voir des parties
spécifiques de la route recevront le maximum de relevance, tandis que la surveillance visuelle
Chapitre I. Généralités sur les Réseaux de Capteurs Vidéo Sans Fil (RCVSF)
26
sur la partie restante recevra une haute relevance. Pour les régions environnantes, une faible
relevance sera assignée aux nœuds capteurs vidéo. Il faut noter que le même réseau peut
définir d’autres régions d’intérêt selon les exigences de la surveillance.
Tous les capteurs qui appartiennent au même groupe de pertinence et qui peuvent voir les
régions d’intérêt avec la même relevance sont équivalents pour l’application de surveillance.
Un nœud redondant inactif peut remplacer un capteur vidéo défaillant seulement s’ils peuvent
couvrir une région d’intérêt avec la même relevance pour l’application. De cette manière,
l’évaluation de la disponibilité et l’amélioration deviennent plus complexes, nécessitant des
analyses appropriées des exigences des applications de surveillance actuelles.
I.9 Conclusion
Dans ce premier chapitre, nous avons donné un aperçu sur les RCVSF en abordant
brièvement leurs différentes spécificités, nous avons présenté le principe de leur
fonctionnement avec leurs caractéristiques et contraintes inhérentes. Vu que le principe de
redondance est utilisé dans la majorité des travaux de recherche sur les RCVSF et que nous
avons aussi exploité dans notre étude, nous avons alors consacré une partie de ce chapitre
pour présenter ce concept. Dans le chapitre suivant, une étude détaillée sur la notion de
surveillance et la problématique de couverture dans les RCVSF sera présentée où les
principaux travaux existants sur les différentes stratégies de couverture seront évoqués.
Chapitre II. Surveillance et problématique de la couverture
27
Chapitre II
Surveillance et problématique de la couverture
II.1 Introduction
Le nombre croissant de catastrophes naturelles, de menaces terroristes ou accidentelles
suscite le développement de plusieurs types de réseaux de surveillance qui peuvent contenir
des capteurs multimédias pour une collecte plus précise de l’information. Ces derniers
peuvent contribuer à la prévention, le contrôle, mais aussi pour l’organisation des secours et le
suivi après une catastrophe environnementale.
Dans ce chapitre, nous abordons en premier lieu le concept de la surveillance avec ses
différentes approches et applications, en second lieu, nous introduisons la notion de
couverture en général et plus particulièrement dans les RCVSF. Cette partie permet de
positionner nos contributions au problème de couverture par rapport aux travaux existants.
II.2 Concept de surveillance
La surveillance est la fonction d’observer toutes activités humaines, animales, artificielles
ou environnementales dans le but de superviser, contrôler ou même réagir sur un cas
particulier, on parle en termes techniques de supervision ou monitoring. Ces dernières années,
les avancées technologiques et surtout dans le domaine informatique et électronique ont
apporté de nouveaux champs d’application à la surveillance et surtout une nouvelle vision d’y
procéder [49].
Un système de surveillance comporte un réseau de postes de surveillance équipés chacun
de moyens de détection de type scalaire ou multimédia, ces derniers sont mis en place selon
une configuration en réseau filaire ou sans fil sous le contrôle d’un centre de gestion qui fait
partie du réseau et qui se trouve en liaison radio permanente avec les postes de surveillance.
La position initiale de chaque poste de surveillance est déterminée automatiquement par un
calcul prenant en compte des caractéristiques préenregistrées dans le centre de gestion. Cette
position peut être mise à jour automatiquement par le centre de gestion sur la base des
informations relatives au positionnement effectif et au fonctionnement des postes de
surveillance que le centre de gestion reçoit en temps réel.
Chapitre II. Surveillance et problématique de la couverture
28
II.3 Historique sur les approches de surveillance
Les systèmes de vidéosurveillance existent depuis quelques décennies, alors qu’ils étaient
entièrement analogiques au départ, ils ont évolué progressivement au fil des années vers la
technologie numérique. Les systèmes actuels ne ressemblent plus aux anciennes caméras
analogiques branchées sur des magnétoscopes traditionnels. Aujourd’hui, ils utilisent des
caméras connectées en réseau avec des serveurs pour l’enregistrement vidéo qui peuvent être
contrôlés à distance [52]. Nous présentons dans ce qui suit cette transition de l’analogie vers
le numérique des différents systèmes de vidéosurveillance qui existent.
Vidéosurveillance classique CCTV : Dans ce type de système, des caméras analogiques
sont utilisées avec sorties coaxiales qui sont reliées au moniteur. Un opérateur doit être
présent en permanence devant le moniteur afin de contrôler et d’intervenir en cas de
détection d’une anomalie.
Vidéosurveillance analogique avec magnétoscopes traditionnels : Ici, les caméras
analogiques ne sont pas connectées directement au moniteur. Ces caméras sont reliées à
un magnétoscope via un multiplexeur permettant alors d’enregistrer le contenu de
plusieurs caméras sur un même magnétoscope, mais selon une fréquence d’image
inférieure.
Vidéosurveillance analogique avec enregistreurs numériques (DVR) : Ce type de
vidéosurveillance analogique permet l’enregistrement numérique des images,
contrairement à l’utilisation des multiplexeurs, l’enregistrement vidéo ne se fait plus sur
bandes magnétiques mais sur des disques durs, où les séquences sont numérisées et
compressées de manière à conserver le maximum d’images.
Vidéosurveillance analogique avec enregistreurs numériques réseau : Il s’agit d’une
vidéosurveillance en partie numérique comprenant un enregistreur numérique réseau
connecté via un port Ethernet. La vidéo est numérisée et compressée sur un enregistreur
numérique et un réseau informatique est utilisé pour transporter des images à des fins de
surveillance sur PC distant. Il existe des systèmes qui permettent à la fois la visualisation
des séquences en direct et des séquences enregistrées ; et d’autres qui se limitent aux
images enregistrées. Sur certains systèmes, la surveillance vidéo requiert en outre un
client Windows spécifique, tandis que d’autres nécessitent un simple navigateur Web
standard, ce qui est plus flexible pour une visualisation à distance.
Vidéo sur IP avec serveurs vidéo : Pour réaliser de la vidéo sur IP associée à un serveur
vidéo, il nous faut un serveur vidéo, un commutateur réseau et un PC équipé d’outils de
gestion vidéo. Nous devons alors brancher la caméra analogique sur le serveur vidéo, ce
dernier assure la numérisation ainsi que la compression des séquences vidéo qui seront
transportées sur le réseau via un commutateur vers un PC ou un serveur. La vidéo est
alors enregistrée sur le disque dur du PC. Il s’agit alors d’un véritable système de vidéo
sur IP.
Chapitre II. Surveillance et problématique de la couverture
29
Vidéo sur IP avec cameras réseau : Il s’agit de l’association d’une caméra avec un
ordinateur, permettant ainsi la numérisation et la compression vidéo. Une caméra réseau
est équipée d’un connecteur réseau, la vidéo est alors acheminée sur réseau IP via les
commutateurs réseau, pour être à la fin enregistrée sur un PC/serveur standard à l’aide
d’outils de gestion vidéo. Ce type de systèmes est entièrement numérique n’utilisant
aucun composant analogique. L’un des avantages d’utiliser des caméras vidéo pour
réaliser de la vidéo sur IP est d’intégrer dans le système des caméras à haute résolution
(méga pixels), une alimentation par câble Ethernet (Power over Ethernet) et réseau sans
fil, avec des fonctions panoramiques, d’inclinaison et de zoom et une grande flexibilité.
II.4 Réseaux de surveillance
Les différents réseaux de surveillance peuvent être classifiés selon le type de nœuds qui les
constituent. Nous pouvons distinguer trois classes de réseaux de surveillance, ceux à base de
capteurs scalaires, d’autres à base de capteurs multimédias ou encore une hybridation des
deux types précédents.
II.4.1 Réseaux de surveillance à base de capteurs scalaires
Un réseau de surveillance à base de capteurs scalaires réalise la détection grâce à des
capteurs de mouvements, de température, de pression barométrique ou d’autres grandeurs
physiques, il s’agit alors de collecter des données de grandeurs scalaires.
On trouve ce type de réseaux de surveillance dans plusieurs domaines d’application, tels
que la détection de l’influence de l’activité sismique sur un pont (figure II.1) où on place
généralement des capteurs de distance pour mesurer les fissures et donc alerter en cas de
risques majeurs.
Figure II.1: Système de prévention de catastrophes dans les ponts
II.4.2 Réseaux de surveillance à base de capteurs multimédias
Un capteur sans fil multimédia est celui qui détecte et transmet des données multimédias
telles que la vidéo, l’image et le son comme les caméras Wifi, les capteurs ultrason et
Chapitre II. Surveillance et problématique de la couverture
30
d’imagerie infrarouge forment des réseaux de capteurs multimédias et sont surtout utilisés
dans le domaine de la surveillance environnementale, sécuritaire et médicale.
Un réseau de capteurs multimédias se compose de nœuds caméra (type de nœud
multimédia) comme présenté dans la figure II.2. Les réseaux de surveillance les plus répondus
sont ceux qui utilisent des capteurs vidéo, ceci est dû à la pertinence de l’information
collectée.
Figure II.2: Exemple d’un réseau de capteurs multimédias
II.4.3 Réseaux de surveillance à base de capteurs hybrides
Il s’agit d’une hybridation entre les deux types précédents. Un réseau de surveillance à
base de capteurs hybrides se compose à la fois de capteurs à grandeurs scalaires et des
capteurs multimédias qui peuvent communiquer entre eux via des
transmissions WiFi ou ZigBee. Cette approche garantit à la fois la détection rapide fournie par
les capteurs à grandeurs scalaires puisque les données transférées sont simples (comme la
position d’un intrus détecté par un capteur de mouvement) et aussi une détection plus
pertinente comme la vidéo fournie par des capteurs multimédias. Cependant, la capture de
données multimédias nécessite de nouveaux mécanismes de routage et une agrégation
particulière des données.
II.5 Principes de la couverture vidéo
Le problème de couverture revient à poser une question fondamentale : « Dans quelle
mesure les capteurs observent et surveillent-ils l’espace physique ? » La notion de couverture
est définie comme étant la mesure de la QdS de la détection. L’objectif est d’avoir tous les
points de la zone d’intérêt surveillés au moins par un capteur [53].
Chapitre II. Surveillance et problématique de la couverture
31
Figure II.3: Couverture de la surface [53]
Dans les RCSF traditionnels, les capteurs typiquement sont omnidirectionnels, c’est-à-dire
qu’ils sont capables de capturer des signaux qui proviennent de toutes les directions autour
d’eux. Les capteurs multimédias, et en particulier les capteurs vidéo, sont de type
directionnel. Pour ce type de capteurs, l’aire de captage est limitée à un secteur donné d’un
plan tridimensionnel défini par le CdV du capteur vidéo. D’autres caractéristiques des
capteurs vidéo telles que la qualité de la lentille, les capacités de zoom et le coût de la caméra
intégrée peuvent influencer également sur la qualité de la couverture [54]. Cependant, due à la
résolution limitée, en réalité, les caméras utilisées dans les RCVSF possèdent une profondeur
de vue limitée [55]. Comme chaque caméra a une direction de vue bien distincte donc chaque
capteur vidéo dans le RCVSF possède une perception unique de la région surveillée [56].
L’orientation du CdV de la caméra est un paramètre clé pour la couverture du réseau. La
figure II.4(a) illustre une configuration des CdV de sept capteurs pour la couverture de huit
cibles. Nous remarquons clairement que le fait de changer l’orientation de la caméra, influe
sur la couverture de la région comme le démontre la figure II.4(b). Sur cette figure, la
configuration des CdV des capteurs vidéo a été modifiée (uniquement l’orientation des
caméras sans avoir à changer la position des capteurs) de telle sorte à couvrir les huit cibles
avec uniquement quatre capteurs. Ceci nous permet de réduire le coût du réseau déployé et
d’exploiter également les nœuds redondants afin de prolonger la durée de vie du réseau.
(a) Sept capteurs couvrant huit cibles (b) Orientations optimales des capteurs vidéo
Figure II.4: Modèle de capture directionnelle
Dans les RCVSF, le concept de voisinage reste valide uniquement pour la communication,
du moment que le champ de capture dans les RCSF est remplacé par le CdV dans les RCVSF.
Chapitre II. Surveillance et problématique de la couverture
32
En effet, deux nœuds capteurs peuvent collecter des données vidéo du même objet/scène,
même s’ils sont relativement éloignés de plusieurs sauts l’un de l’autre. Contrairement aux
RCSF traditionnels, dans un RCVSF un objet très proche du capteur peut être en dehors du
CdV de sa caméra.
La figure II.5(a) illustre un exemple de champ de capture dans les RCSF traditionnels. c1 et
c2 sont des capteurs scalaires voisins qui sont en train de capturer la même cible. c3 ne peut
pas capturer la cible surveillée du moment que cet objet est en dehors de son champ de
capture [54].
Un modèle de capture différent est présenté sur la figure III.5(b). v1 et v2 sont des capteurs
vidéo qui peuvent voir le même objet à partir de deux points de vue différents alors qu’ils sont
relativement éloignés l’un de l’autre. D’autre part, v3 ne peut pas voir la cible surveillée alors
qu’il est plus proche de la cible par rapport aux deux autres capteurs vidéo.
(a) Capture traditionnel avec RCSF [54] (b) Capture directionnelle avec RCVSF
Figure II.5: Différence de capture entre RCSF et RCVSF
Enfin, à partir des principes qui ont été cités précédemment, les modèles mathématiques
développés pour le placement des RCSF conventionnels ne peuvent pas être appliqués dans le
cadre de la configuration et de la planification des RCVSF. De nouveaux modèles sont donc
nécessaires pour la prise en compte des principaux paramètres caractérisant les capteurs
vidéo.
II.6 Catégories de couverture
L’objectif d’un RCVSF est de surveiller une scène ou des cibles, qui peuvent être placées
de manière statique ou bien mobile à travers la zone de surveillance. Comment un tel contrôle
sera exécuté peut influencer sur le déploiement des capteurs. Nous pouvons distinguer trois
catégories de couverture : la couverture de cibles, la couverture de barrière et la couverture de
zone (voir figure II.6) détaillées dans les sous-sections suivantes.
Chapitre II. Surveillance et problématique de la couverture
33
Figure II.6: Catégories de couverture avec un RCVSF
(a) Couverture de cibles (b) Couverture de barrière (c) Couverture de zone
Figure II.7: Couverture avec RCVSF
II.6.1 Couverture de cibles prédéterminées
L’objectif de ce type de couverture est de trouver un sous-ensemble de nœuds capteurs
connexes avec la configuration optimale des paramètres du CdV de chaque capteur qui
peuvent assurer la surveillance d’un ensemble de cibles dont la position est connue à l’avance
(voir figure II.7(a)).
Pour réaliser ce genre de couverture, nous pouvons déployer les capteurs de deux manières
différentes, soit par placement manuel ou encore largage des capteurs à partir d’un avion par
exemple à des endroits proches des cibles prédéfinies. Pour le premier type de déploiement, la
solution proposée est l’optimisation de la couverture tout en minimisant les coûts de
conception. Pour le second, l’approche la plus utilisée est l’ordonnancement de l’activité des
capteurs pour assurer une meilleure couverture et maximiser la durée de vie du réseau.
Dans la couverture de cibles, chaque cible est surveillée d’une manière continue par au
moins un capteur. Cependant, quelques applications sur les réseaux de capteurs directionnels
peuvent nécessiter au moins k capteurs pour chaque cible afin d’assurer plus de fiabilité dans
le réseau, ce problème est appelé k-couverture [57].
Chapitre II. Surveillance et problématique de la couverture
34
II.6.2 Couverture de barrière
La couverture de barrière a pour but d’éviter les intrusions non-détectées à travers la
barrière conceptuelle formée par les capteurs (voir figure II.7(b)).
La qualité de la couverture est estimée par la capacité du réseau de capteur vidéo à détecter
les cibles qui traversent une ligne préalablement définie. Les capteurs seront déployés pour
couvrir uniquement un chemin qui traverse complètement une zone de surveillance. Le réseau
restera opérationnel tant que la barrière est maintenue même si quelques capteurs vidéo
deviennent défaillants.
La couverture de barrière peut être classifiée en couverture faible ou forte [58]. Dans la
couverture faible, les capteurs doivent détecter un objet qui traverse le long de la barrière,
tandis que dans la couverture forte, nous devons détecter n’importe quel type de
comportement suspect.
On peut trouver aussi la couverture k-barrière [58] qui est utilisée pour détecter un objet
qui pénètre une région protégée. Dans ce cas, le RCSF doit détecter chaque objet suspect par
au moins k capteurs distincts avant que celui-ci traverse la barrière du RCSF [51].
II.6.3 Couverture de zone
Dans ce type de couverture, une zone d’intérêt doit être surveillée. Un sous-ensemble de
nœuds capteurs connexes doit assurer la surveillance de toute la zone de déploiement (voir
figure II.7(c)).
La couverture de zone peut prendre plusieurs formes suivant la nature des applications. Par
exemple, dans les applications les moins sensibles telles que la surveillance des champs
agricoles, nous pouvons concevoir des protocoles de couverture tel que chaque point dans la
zone d’intérêt soit surveillé par un seul capteur et dans certains cas ne garantissant pas
forcément la couverture totale de la zone d’intérêt. Dans ce cas, il s’agit de la 1-couverture ou
de couverture simple. Cependant, dans les applications sensibles telles que les applications
militaires ou liées à la sécurité, il est nécessaire d’assurer la couverture de chaque point dans
la zone d’intérêt par plus d’un capteur pour permettre la tolérance aux pannes. Il s’agit alors
de la k-couverture ou de couverture multiple [59].
II.7 Couverture suivant la stratégie de déploiement
La qualité de la couverture est étroitement liée à la stratégie du déploiement des RCVSF.
Ces derniers peuvent être déployés de deux manières différentes (une synthèse est présentée
sur la figure II.8). Dans le déploiement déterministe, les capteurs vidéo sont soigneusement
placés suivant un plan préétabli à l’avance. Dans cette approche, la couverture est maximisée
avec un nombre minimal de capteurs, réduisant ainsi le coût final du réseau de capteurs [60].
Dans le déploiement aléatoire d’autre part, les capteurs sont dispersés dans la zone de
surveillance, typiquement, sans planification ni aucune connaissance de la région. Par
Chapitre II. Surveillance et problématique de la couverture
35
exemple, les capteurs sans fil peuvent être déployés à partir d’un avion sur une zone hostile,
difficilement accessible [60].
Chaque type d’application requiert une approche de déploiement spécifique. Par exemple,
un RCVSF peut être déployé sur le plafond d’un aéroport pour la surveillance et le suivi
d’individu. D’autres applications optent pour un placement aléatoire des capteurs dans la zone
de surveillance puisqu’un déploiement déterministe est quasiment impossible dans les régions
hostiles et dangereuses. Par conséquent, on peut déduire que la stratégie de déploiement des
capteurs sans fil a un impact direct sur la couverture finale du réseau.
Figure II.8: Stratégies de couverture selon le déploiement des capteurs vidéo
II.7.1 Couverture avec déploiement déterministe
Le déploiement déterministe peut être divisé en deux groupes. Dans le déploiement
statique/offline, les éléments déployés (capteurs traditionnels et capteurs vidéo) ne peuvent
pas changer leur position après déploiement [61]. L’algorithme d’optimisation de la
couverture sera exécuté juste une seule fois, généralement dans une station centrale. Si les
éléments ont la possibilité de changer leur position ou leur CdV, on aura à traiter alors un
déploiement dynamique/online. Dans cette situation, la couverture optimale doit être
recalculée plusieurs fois, puisque l’optimisation calculée à partir des positions initiales ne sera
plus valable après une nouvelle configuration du réseau.
Plusieurs travaux existants concernent la planification des positionnements des capteurs, la
plupart d’entre eux explorent le domaine de la géométrie appliquée à l’informatique. Avec
l’émergence des capteurs de vision, la couverture à l’aide de caméras est devenue un
problème majeur, nécessitant de nouvelles problématiques de recherche afin de satisfaire les
besoins imposés par l’utilisation de ces caméras embarquées à faible résolution dans les
réseaux de capteurs. Les travaux sur la vision assistée par ordinateur (appliquée à
Chapitre II. Surveillance et problématique de la couverture
36
l’informatique) fournissent une base pour le traitement de la couverture dans le domaine des
réseaux de capteurs.
II.7.1.1 Placement optimal des caméras
Ces dernières années, de plus en plus de travaux s’intéressent de près au problème de
placement optimal des caméras en considérants des configurations plus réalistes. Leurs
résultats et conclusions ont apporté des contributions significatives pour la recherche en
couverture dans les RCVSF. Par conséquent, avant d’aborder les solutions proposées pour le
placement optimal des capteurs vidéo dans la couverture d’un RCVSF, il serait judicieux de
revoir brièvement les travaux qui ont été réalisés uniquement avec des caméras.
Le positionnement optimal des caméras est un problème assez complexe, associé
directement à la couverture d’une région et la qualité attendue d’une application, telle que la
surveillance et le suivi d’individus. Le nombre minimal de caméras, le type des caméras, leur
position physique, leur orientation et la densité du placement sont les principaux paramètres
de déploiement qui doivent être étudiés et optimisés.
Parmi les travaux qui ont traité le problème du placement optimal des caméras, nous
pouvons citer les propositions suivantes :
Le problème du « musée », dont le but est de trouver le minimum de caméras avec leur
position statique tel que chaque point dans une pièce du musée peut être vu par au moins
une caméra [62]. Ce problème a été prouvé NP-complet dans une modélisation en trois
dimensions, favorisant le développement d’algorithmes approximatifs.
Dans [63], les auteurs se sont concentrés sur le placement déterministe des caméras sur
une scène dynamique avec occlusion. Ils ont proposé un positionnement optimal avec un
nombre minimal de caméras pour couvrir une région en considérant des caméras qui ne
changent pas d’orientation après déploiement. Ils ont pris en compte la présence
d’obstacles (arbre, meubles, colonnes, déplacement des gents, etc.) qui génèrent des
occlusions dans le CdV des caméras ce qui pourrait affecter la couverture finale de la
région de surveillance. Les auteurs ont aussi examiné des scénarios compliqués, tels que
des cibles qui se déplacent d’une manière imprédictible. Afin de calculer une couverture
optimale, ils ont proposé un algorithme stochastique qui utilise une méthode probabiliste
pour analyser la visibilité des caméras, où la probabilité qu’un objet soit vu est calculée en
considérants plusieurs contraintes (position physique, CdV, résolution, zones dangereuses,
etc). La configuration optimale est celle qui réduit la fonction coût définie dans ce travail.
Une recherche similaire a été proposée par [64], où une méthode de placement de caméras
statiques est présentée. En plus des analyses effectuées dans [63], des contraintes du
monde réel comme le coût des caméras et le budget du réseau ont été pris en
considération. Ils ont considéré également que le type et la qualité des caméras déployées
peuvent être choisis par l’application, tandis que les auteurs dans [63] utilisent des
caméras homogènes.
Chapitre II. Surveillance et problématique de la couverture
37
Le placement optimal de caméras a été également étudié dans [65, 66]. Un concept clé de
ces travaux est la restriction du coût, proposant des solutions pour un besoin minimal en
couverture pour des réseaux à faible coût, aussi bien qu’une couverture maximale lorsque
le coût n’est pas pris en considération. Dans [65], la zone de surveillance est modélisée en
grille, une idée intéressante qui a été exploitée dans plusieurs travaux. Dans [66], deux
approches différentes pour le calcul optimal des caméras ont été proposées. Pour des
calculs précis, la programmation linéaire a été employée. Lorsque l’énergie et le temps de
traitement doivent être pris en considération, une solution raisonnable est d’utiliser des
heuristiques.
Dans [67], les auteurs ont proposé aussi une stratégie de placement de caméras en utilisant
une grille itérative basée sur la programmation en entiers binaires.
Une configuration optimale de caméras/capteurs a été présentée dans [68]. Un modèle de
visibilité général a été proposé résolvant le problème d’optimisation en utilisant une
approche de programmation en entiers binaires (Binary Integer Programming (BIP)). Le
modèle de caméra proposé est plus réaliste car il prend en considération la présence
d’occlusions dans un environnement en trois dimensions.
Dans [69], les auteurs désirent trouver la couverture la plus défavorable dans un réseau de
caméras. L’algorithme proposé permet de calculer en temps polynomial la distance
maximale à partir de laquelle un élément mobile peut se situer pour qu’il soit vu par la
caméra. Les résultats présentés peuvent être exploités afin de détecter des régions non
couvertes dans les applications de suivi.
Dans [70], un placement optimal avec des caméras de 360° a été examiné. Le problème du
musée a été traité en utilisant ce type de caméras dans les sommets du polygone qui
représente la zone surveillée.
Dans le travail présenté dans [71], des caméras directionnelles et omnidirectionnelles ont
été utilisées afin d’assurer une couverture optimale. Les auteurs affirment qu’une
approche hybride permet de réduire le coût global et de maximiser la couverture des
caméras déployées.
La plupart des travaux que nous avons cités précédemment considèrent uniquement un
placement déterministe des caméras qui ne peuvent pas changer leur orientation après
déploiement. Cependant, pour des scènes dynamiques, un placement déterministe de caméras
statiques suivant un plan prédéfini peut engendrer un problème de couverture lorsque nous
avons des cibles mobiles qui doivent être couvertes ou dans le cas où nous avons des
obstacles qui changent de position. Pour ces scénarios particuliers, des stratégies d’auto-
configuration de CdV des caméras peuvent être appliquées pour une optimisation de
couverture dynamique/online. Parmi les auteurs qui ont pris en considération cette contrainte,
nous pouvons distinguer :
Hörster et Lienhart [72] qui présentent un algorithme de programmation linéaire pour
calibrer automatiquement les orientations des caméras dans le but de maximiser la
couverture en réduisant le chevauchement.
Chapitre II. Surveillance et problématique de la couverture
38
Ram et al. [73] qui ont proposé une méthodologie hétérogène qui suppose que les CdV de
caméras sont configurables, où des caméras PTZ peuvent être déployées avec des caméras
statiques dans la zone de surveillance.
Yu et Sharma [74] qui ont étudié la couverture avec calibration en gérant le zoom des
caméras.
Les travaux présentés précédemment ont apporté leurs contributions dans le placement
optimal des caméras afin de couvrir une zone de surveillance. En analysant leurs algorithmes
et expérimentations, nous pouvons retirer les conclusions suivantes :
Tout d’abord, lorsque les caméras vont être déployées (en considérant des nœuds sans
capacités de calcul), l’algorithme de traitement doit se faire au niveau d’un ordinateur
centralisé. De plus, de tels algorithmes doivent faire face aux problèmes de scalabilité lorsque
le nombre de caméras déployées augmente.
Une autre conclusion intéressante concerne le type des caméras déployées, qui peut être
statique ou permet de changer d’orientation. Les caméras statiques ne permettent pas de
changement dans la couverture après déploiement, ce qui nécessite des algorithmes « offline »
pour le calcul du placement optimal, qui doit être exécuté avant le déploiement déterministe.
Lorsque les caméras peuvent changer d’orientation, des algorithmes « online » peuvent gérer
la couverture en ajustant les différentes directions des caméras en fur et à mesure (dans le
temps).
Enfin, ces différents travaux ont introduit plusieurs modèles pour représenter une zone
d’intérêt. La plupart d’entre eux considèrent la région de surveillance comme un champ en
deux dimensions, simplifiant ainsi l’évaluation expérimentale des solutions proposées. D’un
autre côté, il existe quelques travaux qui s’intéressent aux algorithmes pour l’optimisation de
la couverture en considérant un modèle en trois dimensions de la zone de surveillance.
Cependant, la couverture d’un champ en trois dimensions est NP-complet [62].
Tous les travaux décrits ci-dessus ne peuvent pas être appliqués directement pour résoudre
le problème de couverture dans les RCVSF, mais ils influencent énormément sur les
investigations spécifiques sur les RCVSF.
II.7.1.2 Placement optimal des capteurs
Le placement optimal des caméras est une exigence fonctionnelle dans plusieurs
applications, principalement dans les zones de surveillance en indoor sans restriction
d’énergie telles que les applications de surveillance, suivi et reconnaissance d’objets dans des
régions préalablement connues (aéroports, immeubles, musées, etc.).
Les travaux présentés précédemment ont apporté plusieurs contributions dans le traitement
visuel, le calcul de la couverture et l’estimation du chevauchement, mais ils supposent que les
caméras déployées sont connectées en filaire et disposent d’une énergie en continu et sans
restriction, rendant les algorithmes proposés impraticables pour les RCVSF. De plus, ils
Chapitre II. Surveillance et problématique de la couverture
39
considèrent les caméras déployées avec des capacités de calcul limitées ou encore
inexistantes.
Les capteurs vidéo dans le monde réel sont limités en ressources de calcul et d’énergie et
communiquent en sans-fil. De telles caractéristiques compliquent d’avantage le placement
optimal des capteurs vidéo.
La plupart du temps, les RCVSF sont déployés de manière aléatoire, avec des capteurs
dispersés dans une région de surveillance. Cependant, de tel type de RCSF peut aussi suivre
un déploiement déterministe en assurant la préservation d’énergie et la maintenance de la
connectivité. Nous pouvons citer dans cette catégorie, les travaux suivants :
Les auteurs dans [61] ont proposé un état de l’art sur plusieurs stratégies de déploiement
déterministes pour les RCSF traditionnels. Bien qu’ils aient considéré des nœuds dotés de
capteurs omnidirectionnels, leurs analyses peuvent contribuer dans le déploiement
déterministe des capteurs vidéo avec quelques adaptations. Ils ont proposé une
classification des stratégies de déploiement en prenant en considération la couverture, la
fiabilité des données, la durée de vie du réseau et la connectivité entre les capteurs.
Dans [60], en se basant sur plusieurs travaux présentés dans la sous-section précédente,
les auteurs proposent des algorithmes centralisés en « offline » pour calculer le placement
optimal des capteurs vidéo afin de couvrir une zone de surveillance. Ils ont pris en
considération également les problèmes d’énergie et de connectivité. Les auteurs affirment
qu’un déploiement déterministe est très approprié pour plusieurs applications des RCVSF,
puisqu’un déploiement aléatoire peut engendrer un endommagement des capteurs (par
exemple, après un parachutage) et une couverture non optimale de la région de
surveillance. Et par conséquent, un plan de déploiement peut être réalisé par un ingénieur
pour déployer avec précision les capteurs vidéo ainsi que les SB. Ceci est réalisé dans le
but de prolonger la durée de vie du réseau tout en réduisant le nombre de nœuds
nécessaires pour la couverture de la zone d’intérêt. Le travail présenté dans [60] utilise un
algorithme ILP pour calculer la configuration du placement optimal. La solution globale
indique les paramètres désirés du capteur, qui sont la portée de capture, le CdV et
l’orientation ainsi que le nombre et l’emplacement des SB. Des réseaux avec différentes
densités (nombres de capteurs et de SB déployés) ont été examinés à travers des
expérimentations, dans le but de réduire le nombre de capteurs nécessaires pour surveiller
une zone d’intérêt et par conséquent, le coût final du RCVSF.
Les auteurs dans [75] ont aussi proposé des solutions pour une couverture optimale des
réseaux de capteurs directionnels avec des capteurs placés dans des endroits précis de la
zone de surveillance. Les investigations conduites dans [75] tentent aussi de découvrir un
nombre optimal de capteurs à déployer mais en considérant la connectivité des capteurs
comme principal aspect à préserver et optimiser. Leurs résultats d’expérimentations
montrent la relation entre le rayon de capture, le rayon de transmission et le nombre
nécessaire de capteurs déployés pour une couverture optimale. Dans les expérimentations,
Chapitre II. Surveillance et problématique de la couverture
40
en considérant tous les algorithmes proposés, ils ont pu conclure que le nombre de
capteurs nécessaires diminue lorsque le rayon de capture ou le rayon de transmission
augmente. Le taux d’un tel décroissement défini la performance de chacun des
algorithmes proposés.
II.7.2 Couverture avec un déploiement aléatoire
Les RCSF ont été envisagés initialement comme une technologie qui permettrait de réaliser
des applications de capture dans des régions dont l’infrastructure est limitée ou quasiment
absente, telles que les zones dangereuses, hostiles ou difficilement accessibles, utilisant des
capteurs à faible coût. Dans la majorité des applications des RCSF, les capteurs sont déployés
de manière aléatoire, du moment que c’est plus simple et relativement moins cher pour les
RCSF denses [76]. Cependant, le déploiement des RCVSF est différent par rapport aux RCSF
car le modèle de capture directionnel des RCVSF impose de nouveaux challenges qui
nécessitent de nouvelles recherches dans la maintenance de la couverture et la préservation de
l’énergie.
Afin de compenser le manque du positionnement exact dans le déploiement aléatoire et
d’assurer une tolérance aux pannes, les nœuds sont typiquement déployés de manière très
dense, avec plus de capteurs qu’il en faut contrairement au placement optimal. Le réseau
résultant sera composé de plusieurs nœuds redondants, qui peuvent être utiles aussi bien pour
économiser l’énergie que pour maintenir la couverture et la connectivité. La densité du
déploiement permet de réduire également le champ de communication et par conséquent
diminuer la consommation d’énergie [77].
Les auteurs dans [78] affirment que le fait d’utiliser un grand nombre de capteurs vidéo à
faible résolution est plus judicieux pour les applications environnementales avec occlusion
par rapport à l’utilisation d’un nombre limité de capteurs à haute résolution. Ce qui nous
permet de prolonger la durée de vie ainsi que la couverture du réseau déployé [76].
Le déploiement d’un RCVSF est un problème crucial qui a un impact direct sur la
couverture et la connectivité du réseau. En considérant une zone de surveillance difficilement
accessible pour les humains, les capteurs sont dispersés à partir d’un avion, ce qui donne lieu
à un grand nombre de capteurs non contrôlés déployé tout au long de la région cible. Une
approche intéressante est d’améliorer la configuration initiale des nœuds déployés, en utilisant
d’autres stratégies telles que le redéploiement et les nœuds mobiles [79]. Des difficultés
additionnelles concernant la mobilité des nœuds et l’accès à la zone de surveillance doivent
être considérées lorsque des stratégies de déploiement et de post-déploiement sont planifiées
[60].
II.7.2.1 Localisation des nœuds capteurs après déploiement
Après un déploiement aléatoire, les capteurs peuvent être placés n’importe où dans la zone
de surveillance et leur localisation et densité peuvent être connues préalablement. Donc, il est
Chapitre II. Surveillance et problématique de la couverture
41
attendu à ce que les capteurs découvrent leur position courante puisque c’est nécessaire pour
plusieurs applications telles que la surveillance et le suivi et également pour les algorithmes
d’optimisation de la couverture, maintenance de la connectivité et préservation d’énergie. Une
solution de localisation doit être appliquée puisque la connectivité des nœuds et leur
couverture doivent être correctement calculées avec les coordonnées spatiales des nœuds. La
plupart des applications sur les RCVSF se concentrent sur la connaissance des positions des
capteurs ainsi que les directions courantes des caméras. La localisation des nœuds déployés
aléatoirement est aussi définie comme un problème d’extraction de la topologie après
déploiement.
Quelques algorithmes de localisation pour les RCSF traditionnels peuvent être trouvés dans
[80]. Comme les RCVSF fonctionnent en suivant un modèle de capture directionnel, la
direction courante de chaque capteur est aussi inconnue, ce qui nécessite des algorithmes
spécifiques pour la localisation des nœuds. Par exemple, le GPS (Global Positioning System)
ne peut pas être utilisé pour la découverte de la couverture dans les RCVSF à cause du
manque d’information concernant l’orientation des caméras, en plus du coût et la perte
d’énergie.
Les algorithmes de localisation peuvent être exécutés de manière centralisée ou distribuée.
Les algorithmes centralisés sont exécutés dans le Sink ou dans un serveur central,
économisant l’énergie en évitant un calcul additionnel au niveau des nœuds. De plus, comme
le Sink est considéré comme un dispositif sans contrainte en ressources, des algorithmes
complexes peuvent facilement y être exécutés. L’inconvénient est la faible scalabilité des
algorithmes centralisés. Pour les algorithmes distribués, la découverte de la localisation est
exécutée par chaque nœud, de manière indépendante, utilisant des informations sur le
voisinage. Les algorithmes distribués supportent mieux la scalabilité mais demande un calcul
au niveau du nœud capteur sans fil.
Pour la localisation des nœuds dans les RCVSF, la plupart des solutions considèrent les
zones de chevauchement du CdV des capteurs, utilisant des algorithmes inspirés du domaine
de la vision assistée par ordinateur pour estimer la position des nœuds. Nous abordons dans ce
qui suit quelques solutions qui ont été proposées dans la littérature :
Dans [81], des images capturées à partir de différents nœuds sont traitées dans un serveur
central, qui calcule la superposition des CdV. L’algorithme centralisé proposé calcule des
paramètres tels que la translation des coordonnées, l’angle de rotation et le facteur
d’échelle. Ces paramètres sont ensuite diffusés à travers tout le réseau utilisant un
protocole approprié. La dernière étape de localisation des nœuds est basée sur l’estimation
de ces paramètres entre chaque paire de nœuds voisins.
Les auteurs dans [82] ont présenté quatre méthodes de localisation distribuées pour les
réseaux de capteurs visuels. Dans la première méthode, l’observation des nœuds voisins
est utilisée pour la localisation des nœuds en identifiant le chevauchement contenu dans
les images extraites. Les trois autres méthodes sont basées sur l’observation simultanée
Chapitre II. Surveillance et problématique de la couverture
42
d’une cible mobile qui peut avoir un mouvement arbitraire, une vitesse constante et
connaît ses propres coordonnées.
Dans [83], une cible mobile est aussi utilisée pour découvrir la position des caméras. Ce
travail définit le problème de la localisation et le suivi simultané (Simultaneous
Localization and Tracking (SLAT)), où les directions des caméras sont estimées tout au
long de la trajectoire de la cible mobile, utilisant un algorithme distribué « online ».
La localisation des capteurs directionnels a également été étudiée dans [84]. La méthode
proposée identifie automatiquement les zones de chevauchement des CdV des caméras
pour estimer la localisation et la direction des nœuds et permet en cas de changement de
topologie une mise à jour « online » des informations sur la topologie du réseau. Elle peut
aussi traiter des types hétérogènes de capteurs vidéo. La redondance des différentes prises
de vues des caméras est exploitée pour assurer de meilleures performances par rapport aux
algorithmes similaires.
Les auteurs dans [85] ont présenté un algorithme distribué pour la localisation et l’auto-
calibration d’un RCVSF déployé aléatoirement. Le réseau de capteur est modélisé en
utilisant deux graphes non-orientés. Le premier concerne le graphe de communication,
représentant la communication sans fil ad hoc entre les nœuds. Le second graphe
représente la relation en termes de vision entre les caméras, où deux nœuds sont associés
si et seulement s’ils voient la même scène ou objet (même sous différents points de vue).
Le voisinage dans le graphe de vision est utilisé pour la calibration. Le travail présenté
dans [86] a poursuivi cette recherche, en traitant plus de détails et proposant des résultats
d’expérimentations.
Dans [87], des informations sur le CdV des caméras sont utilisées pour la localisation des
nœuds en trois dimensions, traitée avec différentes méthodes pour obtenir la position des
nœuds. Ils ont également abordé brièvement une solution pour la localisation distribuée
d’un très grand nombre de capteurs vidéo, puisque dans la majorité des travaux, les
expérimentations sur la localisation des nœuds considèrent uniquement peu de nœuds
déployés.
II.7.2.2 Algorithmes de couverture
Plusieurs travaux ont traité le problème d’optimisation du placement des caméras et plus
récemment des capteurs en considérant un déploiement déterministe. Lorsque les capteurs
sont déployés aléatoirement, la couverture peut également être optimisée, en se basant sur les
positions, les orientations et le nombre de capteurs. Les algorithmes pour le placement
optimal des caméras/capteurs suivant un déploiement déterministe sont des principes de base
pour l’optimisation de la couverture dans un RCVSF déployé aléatoirement mais avec
quelques adaptations.
Lorsque des capteurs vidéo qui ne peuvent pas changer leurs orientations courantes sont
déployés aléatoirement dans une zone de surveillance, la région de couverture sera définie par
les positions et orientations courantes des capteurs juste après le déploiement. Dans ce cas, un
Chapitre II. Surveillance et problématique de la couverture
43
algorithme peut calculer uniquement les nœuds redondants afin de tenter de prolonger la
durée de vie du réseau, du moment que la région de couverture ne peut pas être changée (mais
épuisée au fil du temps).
Si les orientations courantes des capteurs sont reconfigurables, des algorithmes peuvent
calculer des orientations optimisées pour une couverture maximisée d’une zone avec le
minimum de nœuds actifs. Dans ce qui suit, nous présentons différents algorithmes et
méthodes pour l’amélioration de la couverture après un déploiement aléatoire des capteurs.
Ai et Abouzeid [76] ont proposé deux algorithmes centralisés et un algorithme distribué
pour calculer les orientations initiales des capteurs directionnels afin de couvrir le
maximum de cibles en activant le minimum de capteurs. Les orientations calculées sont
utilisées pour changer les directions des capteurs vidéo actifs, en gardant les capteurs
inactifs pour remplacer les nœuds défaillants, ou qui ont épuisé leur énergie dans le but de
prolonger la durée de vie du réseau. Ceci a été défini par les auteurs comme le problème
de couverture maximale avec le minimum de capteurs (Maximum Coverage with
Minimum Sensors (MCMS)). Ce problème peut être résolu avec deux algorithmes
centralisés (ILP et greedy) et l’algorithme distribué « greedy ». Les algorithmes proposés
ont été validés par expérimentations. Ils ont pu déduire que l’approche centralisée « ILP »
a fourni de meilleurs résultats (couverture plus large avec moins de capteurs actifs) par
rapport aux algorithmes « greedy » centralisés et distribués. Cependant, les algorithmes
« ILP » exigent plus de ressources d’énergie et de calcul par rapport aux algorithmes
« greedy ». Enfin les solutions centralisées n’assurent pas de scalabilité ce qui rend
l’algorithme distribué « greedy » le plus approprié pour les RCVSF.
Cai et al. [88] ont aussi étudié le déploiement aléatoire des capteurs avec des orientations
configurables, mais se concentrent sur l’activation des nœuds pour la surveillance de
cibles. La solution proposée tente de couvrir toutes les cibles en définissant les
orientations de chaque capteur et en désactivant les nœuds redondants. Cette approche est
définie comme le problème des ensembles de couverture directionnels multiple (Multiple
Directional Cover Sets (MDCS). Les directions des capteurs sont organisées en sous
ensembles non-disjoints (ensembles couvrants), permettant à un capteur de faire partie de
plusieurs ensembles. Afin de calculer les ensembles couvrants, plusieurs algorithmes
centralisés et distribués ont été proposés, basés sur la programmation linéaire et les
heuristiques. L’un d’entre eux, l’algorithme « Feedback », a pour objectif de générer le
minimum d’ensembles couvrants pour que le temps de transition entre les différents
ensembles couvrants soit moins important. Ceci, afin de réduire le lapse de temps pendant
lequel les cibles ne sont pas couvertes.
Des caméras avec mobilité angulaire ont été étudiées dans [89]. Les réseaux de capteurs
visuels avec des nœuds capteurs équipés de caméras avec une mobilité angulaire peuvent
assurer dynamiquement la couverture d’une région en évitant les espaces déjà couverts et
le risque de chevauchement. Les auteurs ont proposé l’algorithme « Face-Away » qui est
Chapitre II. Surveillance et problématique de la couverture
44
une solution « greedy » pour atteindre un taux de couverture maximal dans la région
d’intérêt.
Les auteurs dans [5] ont traité le problème d’ordonnancement adaptatif de l’activité des
nœuds capteurs avec une seule direction. Leur objectif est de prolonger la durée de vie du
réseau tout en prenant en compte la criticité des applications de surveillance. Un
algorithme distribué a été proposé pour maintenir la couverture et la connectivité de la
zone de surveillance en utilisant les ensembles couvrants.
Sung et Yang [90] ont proposé un algorithme distribué d’auto-redéploiement pour
améliorer le taux de couverture global dans le champ de capture d’un réseau de capteurs
directionnels qui est composé de capteurs mobiles et rotationnels. Les auteurs ont utilisé le
diagramme de Voronoï pour déterminer les positions ainsi que les directions de capture
des capteurs. L’algorithme proposé est appelé DVSA (Distributed Voronoi-Based Self-
Redeployment Algorithm).
Dans [91], les auteurs se sont concentrés sur les réseaux de capteurs d’images pour
proposer une méthode basée sur la reconnaissance d’images floues et un champ potentiel
virtuel en considérant la direction et le mouvement des capteurs pour l’amélioration de la
couverture.
Les auteurs dans [92] proposent une méthode distribuée pour changer l’orientation des
nœuds sans fil afin de minimiser l’effet d’occlusion. Chaque nœud découvre
indépendamment ses voisins et analyse les régions qui contiennent des obstacles ou des
chevauchements. Selon les informations découvertes à partir du voisinage, les nœuds
peuvent ajuster automatiquement les orientations des caméras pour changer leur CdV. Les
auteurs dans [92] ont présenté un résultat intéressant sur les régions avec de fortes
occlusions, il s’agit du fait d’utiliser plusieurs caméras à faible résolution serait une
meilleure solution par rapport au choix de quelques caméras à forte résolution, ce qui a été
certifié également dans [78].
Nous proposons dans le tableau II.1 une synthèse sur les principaux travaux de recherche
sur la couverture dans les RCVSF selon les différentes approches abordées dans les sous-
sections précédentes.
Chapitre II. Surveillance et problématique de la couverture
45
Approches Catégorie
de
couverture
Approche de
déploiement
Objectifs Solutions
proposées
Références
de base
ILP Couverture
de zone
Déploiement
déterministe - Améliorer la
couverture
- Maximiser la durée
de vie du réseau
- Ajustement des
directions des
caméras
- Ordonnancement
des capteurs
[60]
Greedy Couverture
de cibles
Déploiement
déterministe
Améliorer la
connectivité avec le
minimum de capteurs
Déploiement à base
de modèle
[75]
- ILP
- CGA:
Centralized
-Greedy
Algorithm
- DGA:
Distributed-
Greedy
Algorithm
Couverture
de cibles
Déploiement
aléatoire - Maximiser la
couverture avec le
minimum de
capteurs
- Prolonger la durée
de vie du réseau
- Ajustement des
directions des
caméras
- Ordonnancement
des capteurs
[76]
- Progressive
- Feedback
- MDCS-
Greedy
- MDCS-
Distributed
Couverture
de cibles
Déploiement
aléatoire - Couverture de
toutes les cibles
- Prolonger la durée
de vie du réseau
- Ajustement des
directions en
fonction de
l’énergie
résiduelle
- Ajustement des
directions en
fonction de la
priorité des cibles
[88]
Face-Away Couverture
de zone
Déploiement
aléatoire
Maximiser la
couverture - Utiliser des
cameras avec
mobilité
angulaire
- Eviter le
chevauchement
[87]
Algorithme
distribué
Couverture
de zone
Déploiement
aléatoire - Améliorer la
couverture
- Maximiser la durée
de vie du réseau
Ordonnancement
adaptatif
[5]
DVSA Couverture
de zone
Déploiement
aléatoire - Améliorer la
couverture
Utiliser le
diagramme de
Voronoï
[90]
Self-orienting Couverture
de zone
Déploiement
aléatoire - Maximiser la
couverture
Ajustement des
directions en minimisant les
occlusions et le
chevauchement
[92]
Tableau II.1: Synthèse des principales contributions dans la couverture des RCVSF
Une première lecture du tableau que nous avons élaboré, nous permet de déduire les points
suivants afin de positionner nos contributions par rapport aux travaux existants.
Chapitre II. Surveillance et problématique de la couverture
46
La plupart des approches existantes sont orientées optimisation comme les travaux
présentés dans [60], [76], etc.
Certaines approches traitent bien la technique d’ordonnancement des capteurs,
comme celles présentées dans [60], [76] et [5]. Afin de bénéficier des avantages
offerts par cette technique, nous avons exploité l’algorithme d’ordonnancement
adaptatif proposé dans [5]. Cependant, contrairement à la solution présentée dans
[5], où les capteurs utilisés sont limités à une seule direction, dans notre
proposition, les capteurs employés sont dotés de plusieurs directions avec la
possibilité de transition d’une direction vers une autre pour étendre leur CdV.
Dans certains travaux [92], bien que la technique de rotation ait été prise en
considération, les auteurs proposent toujours des solutions qui évitent le risque de
chevauchement entre les CdV avec un parcours de tous le périmètre du capteur
vidéo de 0° jusqu’à 360°. Cette approche nécessite un traitement complexe au
niveau de chaque nœud capteur. Par conséquent, dans notre solution, nous avons
limité le nombre de directions à trois au maximum afin de minimiser le temps de
calcul.
La plupart des travaux existants qui utilisent la fonction de rotation, visent un seul
objectif qui est l’optimisation de la couverture. Cependant, dans l’approche
proposée dans cette thèse nous visons plusieurs objectifs. La technique de rotation
est exploitée afin de maximiser la couverture, alors que la redondance et
l’ordonnancement de l’activité des capteurs vidéo sont utilisés pour la tolérance aux
pannes et économiser de l’énergie.
Concernant la prise en considération de l’existence d’obstacles dans l’élaboration
d’un algorithme de couverture, peu de travaux ont été proposés dans la littérature.
Les auteurs dans [92] ont traité le problème d’occlusion en minimisant le
chevauchement des CdV des capteurs vidéo. Dans la solution proposée, nous
prenons en compte la présence d’obstacles dans la zone de surveillance pour
minimiser l’effet d’occlusion. Cependant, Contrairement à l’approche proposée
dans [92], nous tirons profit du risque de chevauchement des CdV des capteurs
vidéo pour obtenir des nœuds redondants. Ces derniers seront exploités dans l’étape
d’ordonnancement de l’activité des capteurs vidéo.
Par rapport aux différents travaux de recherche présentés précédemment, le modèle
de couverture proposé dans cette thèse appartient à la catégorie de la couverture de
zone. Comme notre objectif principal est la couverture des endroits stratégiques et
sensibles donc le déploiement adéquat des capteurs vidéo est un déploiement
aléatoire. L’approche adoptée dans la solution proposée est complètement
distribuée, ce qui favorise l’utilisation des réseaux de grandes tailles et nécessite
moins de traitement par rapport à une approche centralisée.
Chapitre II. Surveillance et problématique de la couverture
47
II.7.2.3 Métriques de couverture
Plusieurs travaux se sont intéressés aux métriques de couverture aussi bien pour les RCSF
traditionnels que pour les RCVSF plus récemment.
Dans [93], le taux de couverture et de connectivité d’un RCSF traditionnel a été mesuré,
avec une classification en trois différents groupes : couverture complète avec connectivité,
couverture partielle avec connectivité et couverture avec connectivité restreinte. L’auteur
affirme que la couverture sans connectivité est insensée pour les RCSF, puisque les données
collectées ne peuvent pas être récupérées à partir d’un nœud en « offline ». La même idée est
valable pour les RCVSF.
Les auteurs dans [79] ont défini une métrique intéressante pour mesurer la qualité du
déploiement en termes de couverture en considérant des capteurs vidéo. Dans ce travail, le
champ du nœud (Node Area « NA ») est défini comme un cercle centré sur le nœud, et le
champ de couverture du réseau (Network Coverage Area « NCA ») comme l’union de tous les
NA. Le champ de capture de chaque nœud est seulement un secteur de ce cercle, représentant
une intersection entre le CdV et le champ du nœud. La qualité de la couverture du
déploiement résultante (Deployement Coverage Quality « DCQ ») est le ratio entre la somme
de tous les champs de capture (Network Relevant Sensing Areas « NRSA ») et le NCA. Les
résultats d’expérimentation présentés dans [79] montrent que le DCQ augmente lorsque le
nombre de nœuds déployés est plus important. Une métrique similaire est aussi décrite dans
[94] :
(II.1)
La métrique K-couverture (K-coverage) peut être aussi exploitée pour mesurer la
couverture après déploiement, dont le principe est que chaque point dans la région de
déploiement soit à l’intérieur des champs de couverture d’au moins K capteurs. Par exemple,
si une région de déploiement est de 3-couverture, chaque point est couvert au moins par trois
capteurs, et la défaillance d’un ou de deux nœuds qui capturent la même région maintient
toujours que cette dernière soit couverte (mais pas nécessairement connectée).
Les auteurs dans [95] ont proposé une K-couverture directionnelle (Directional K-
Coverage « DKC ») pour mesurer la qualité de la couverture dans les RCVSF. Les auteurs ont
vérifié que pour un déploiement aléatoire des capteurs vidéo avec une densité uniforme, il est
très difficile (voir impossible) de garantir une couverture à 100 %. Par conséquent, DKC est
définie comme une garantie de probabilité. La DKC est une fonction de la somme des
probabilités des points de vue des capteurs vidéo de la région de surveillance, considérant le
nombre de nœuds déployés N et le facteur K (nombre de capteurs couvrant la même
région/cible). Pc est la probabilité de couverture d’une cible par une caméra C, en considérant
le CdV de la caméra, l’angle entre la cible et la direction de la caméra, ainsi que le rayon de
capture. La probabilité finale de couverture est donnée par :
Chapitre II. Surveillance et problématique de la couverture
48
(II.2)
Cette métrique peut être utile pour valider le déploiement d’un RCVSF concernant des
applications qui requièrent plus d’une caméra qui visualise la même cible, telles que la
détection de l’orientation du visage [96].
D’autres métriques peuvent aussi mesurer la couverture dans les RCVSF. Dans [68] a été
présenté le chemin critique maximal du CdV, une métrique de calcul centralisé basée sur la
distance de n’importe quel capteur vers le point observé le plus proche. Pour les applications
de suivi, les cibles surveillées vont passer par ce point observé, ce qui rend cette métrique
appropriée pour ce type d’applications. La métrique décrite dans [97] est plus utilisée pour les
applications de surveillance visuelle, l’algorithme distribué proposé permet de mesurer la
qualité de la couverture en indiquant les régions avec une couverture faible ou encore
inexistante.
II.8 Conclusion
Afin de mettre en place un RCVSF pour une application de surveillance, nous devons
apporter tout d’abord une solution au problème de couverture qui reflète la qualité de la
surveillance vidéo dans ce type de réseau. Après avoir présenté un historique sur les
approches de surveillance qui existaient auparavant, nous avons exposé la majorité des
solutions proposées pour traiter le problème de couverture, à l’aide de caméras en premier
temps pour mieux appréhender ensuite les approches de surveillance avec des capteurs vidéo.
Dans le chapitre suivant sera présentée une nouvelle technique de couverture à l’aide de
capteurs vidéo dotés de la capacité de rotation dans le but d’étendre leur CdV. Plusieurs
stratégies de construction d’ensembles couvrants seront également détaillées dans une
perspective de tolérance aux pannes et d’économie d’énergie.
Partie II : Contributions
49
Partie II
Contributions
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
50
Chapitre III
Proposition d’un modèle de couverture fiable pour la
surveillance
III.1 Introduction
Dans la première partie de ce chapitre, nous présentons les principales contributions qui
sont proposées dans cette thèse. Avant d’aborder nos différentes améliorations en termes de
couverture dans les RCVSF, nous définissons d’abord le modèle de représentation classique
du CdV d’un capteur vidéo. Quelques notions de géométrie dont nous avons besoin pour la
modélisation du concept de couverture dans les RCVSF sont également présentées. Nous
exposons par la suite le nouveau modèle de couverture à l’aide de capteurs vidéo rotationnels.
Enfin, de nouvelles stratégies de construction d’ensembles couvrants sont illustrées afin de
satisfaire les différentes exigences des applications de surveillance.
La deuxième partie du chapitre est consacrée à la description de l’environnement de
simulation. Nous présentons ensuite les programmes implémentant les algorithmes du modèle
de couverture proposé sous le simulateur OMNeT++. Ce chapitre s’achève par une étude
comparative sur les différents résultats de performances obtenus.
III.2 Modèle de représentation du CdV d’un capteur vidéo à une seule
direction
Dans les RCVSF, le rayon de capture d’un nœud vidéo est remplacé par le CdV de sa
caméra. Comme illustré sur la figure III.1, nous pouvons définir le CdV d’un nœud capteur
vidéo v par le 5-uplet v(P,Rs, ,α,d), inspiré du modèle présenté dans [5] où :
P représente la position du capteur v, avec les coordonnées (p.x, p.y),
Rs définit le rayon de couverture,
indique le vecteur de direction de la caméra,
α représente le demi-angle de vision du CdV (un Angle de Vue dénoté (AdV) est égal à 2α),
d est la profondeur de vue de la caméra (d=pr).
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
51
Figure III.1 : Modèle de CdV d’un capteur vidéo
Dans le modèle proposé, nous supposons que tous les nœuds sont identiques (même rayon
de couverture Rs et même valeur α), c’est-à-dire, que le réseau est homogène au sens capture.
L’approche proposée est complètement distribuée : chaque nœud doit assurer sa propre
couverture indépendamment des autres. Un nœud v couvre une surface triangulaire grâce à
son CdV, qui représente en général une scène du monde réel. Cependant son objectif est
d’assurer tant qu’il est opérationnel la couverture de cette surface, soit par lui-même (état
actif), soit par des nœuds redondants (état inactif), ce principe d’alternance est détaillé dans la
section III.9, pp. 64.
III.3 Notions de géométrie pour le modèle de couverture
Cette section présente un rappel sur les principales notions de géométrie exploitées pour la
mise en œuvre du nouveau modèle de couverture proposé.
III.3.1 Coordonnées cartésiennes et polaires d’un point
Il existe deux manières de repérer un point M dans le plan X-Y. La première consiste à le
projeter sur l’axe des X et l’axe des Y, ensuite calculer les distances Oa et Ob (voir figure
III.2). Le point M aura donc pour coordonnées cartésiennes a et b.
La deuxième méthode consiste à calculer la distance séparant le point M de l’origine des
axes O et l’angle qu’il forme avec l’axe des X. Les coordonnées polaires de M sont alors r et
illustrées sur la figure III.2.
Figure III.2: Coordonnées cartésiennes et polaires d’un point M
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
52
Pour pouvoir passer d’un système à l’autre, nous utilisons les deux fonctions
trigonométriques suivantes:
(III.1)
III.3.2 Norme d’un vecteur
La norme d’un vecteur peut se calculer à l’aide de ses coordonnées dans un repère
orthonormé à l’aide du théorème de Pythagore.
Si les points A et B ont pour coordonnées respectives (xa, ya) et (xb, yb) (voir figure III.3)
alors la norme du vecteur est calculée à l’aide de la formule de la distance entre deux
points de la manière suivante :
(III.2)
Figure III.3: Norme d’un vecteur
Si les points A et B ont pour coordonnées respectives (xa, ya, za) et (xb, yb, zb) alors :
(III.3)
III.3.3 Produit scalaire
Si (x, y, z) et (x’, y’, z’) sont les coordonnées respectives des vecteurs et , par rapport à
une base orthonormée, leur produit scalaire est calculé de la manière suivante :
Dans un plan en deux dimensions, leur produit scalaire est noté . et défini par :
. = xx’+ yy’ (III.4)
Le produit scalaire des vecteurs et dans un plan en trois dimensions est exprimé
comme suit :
. = xx’+ yy’ + zz’ (III.5)
III.3.4 Aire d’un triangle
Soit un triangle quelconque dont la hauteur est égale à h et la longueur de la base est L.
L’aire A de ce triangle est égale à :
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
53
V1
(III.6)
Dans l’exemple illustré sur la figure III.4, l’aire du triangle est calculée de la manière
suivante :
(III.7)
Figure III.4: Aire d’un triangle
III.3.5 Test d’inclusion d’un point dans un triangle
Etant donné un triangle (v1, v2, v3) et un point p, le test d’inclusion de p dans (v1, v2, v3) est
donné comme suit :
Si nous parcourons les points v1, v2 et v3 dans le sens des aiguilles d’une montre ou le sens
contraire, et le point est à l’intérieur, nous allons toujours voir le point sur le même côté du
segment que nous visitons.
Si le parcours se fait dans le sens contraire des aiguilles d’une montre tel que le montre la
figure III.5, le point à l’intérieur est toujours à gauche des segments. Si le point est à
l’extérieur, pour au moins d’un des segments, le point sera à droite [98].
Figure III.5: Test d’inclusion d’un point dans un triangle [99]
Si le parcours se fait dans le sens des aiguilles d’une montre, le raisonnement est identique,
sauf qu’un point qui est à l’intérieur du triangle sera toujours à droite du segment que nous
visitons.
Ainsi, pour déterminer si le point p est à l’intérieur du triangle (v1, v2, v3), nous avons
besoin d’obtenir les sens de rotation le long des triplets (v1, v2, p), (v2, v3, p) et (v3, v1, p).
Le point p est à l’intérieur si et seulement si les trois directions sont égales.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
54
III.3.6 Génération d’un point aléatoire à l’intérieur d’un triangle
Etant donné un triangle avec un sommet à l’origine et les deux autres aux positions v1 et v2,
on pourrait penser qu’un point aléatoire à l’intérieur du triangle serait donné par :
x = a1v1 + (1-a1) a2v2 (III.8)
Où a1 et a2 sont deux variables aléatoires uniformes dans l’intervalle [0,1].
Cependant, comme nous pouvons le constater dans la figure III.6, les points ne sont pas
uniformément distribués. Une concentration de points dans le coin inférieur droit est visible.
Figure III.6: Points aléatoires non uniformément distribués à l’intérieur d’un triangle [100]
Pour assurer d’avoir des points répartis uniformément à l’intérieur d’un triangle, nous
devons prendre :
x = a1v1 + a2v2 (III.9)
Figure III.7: Points aléatoires uniformément distribués à l’intérieur d’un triangle [100]
Où a1 et a2 sont entre 0 et 1 et v1 et v2 deux vecteurs du triangle. Ceci donne en fait des
points uniformément répartis dans un quadrilatère (polygone à quatre côtés) comme le montre
la figure III.7 (gauche). Les points qui ne sont pas à l’intérieur du triangle seront éliminés ou
transformés en des points correspondants à l’intérieur du triangle.
III.4 Définition d’un ensemble couvrant
Nous définissons l’ensemble couvrant i du nœud v, noté Coi(v), comme étant un sous-
ensemble de nœuds vidéo tel que : (CdV de v ) couvre la surface du CdV de v
[5].
Co(v) = {Coi(v)} désigne tous les ensembles couvrants du nœud v.
Un exemple d’un ensemble couvrant est illustré sur la figure III.8, où les nœuds v1, v2, v3,
v4 et v5 couvrent la surface du CdV du nœud v représentée par le triangle pbc.
La méthode adoptée dans cette approche pour trouver l’ensemble Co(v) est de représenter
la surface du CdV par les quatre points suivants : p, b, c et g (le barycentre de (pbc)) comme le
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
55
montre la figure III.8. Nous considérons alors que la surface du CdV du nœud v est couverte
par un ensemble Coi(v) Co(v) si les deux conditions suivantes sont vérifiées selon [5] :
1) v Coi (v), v couvre le point g et au moins un des points {p, b, c},
2) p, b, c et g sont tous couverts par les nœuds de Coi(v).
III.5 Stratégie de base de construction d’un ensemble couvrant
Le modèle de construction des ensembles couvrants est défini comme suit :
Pour qu’un nœud v puisse calculer Co(v), il lui suffit de trouver les ensembles P, B, C et G
qui représentent l’ensemble des nœuds v N(v) tels que v couvre le point correspondant. N(v)
indique l’ensemble des nœuds voisins du nœud v (les nœuds avec lesquels il peut
communiquer).
Co(v) est alors formé par le produit cartésien {PG × BG × CG} avec PG= {P ∩ G},
BG= {B ∩ G} et CG= {C ∩ G} [5].
Notons que la complexité du calcul de l’intersection entre deux ensembles s’élève à
O(k+ m) où k et m sont les cardinaux respectifs des deux ensembles. Comme la taille des
ensembles P, B, C et G est réduite, un nœud peut facilement trouver leurs intersections deux à
deux.
Figure III.8: Exemple de couverture d’un CdV
Dans l’exemple illustré sur la figure III.8, les ensembles couvrants sont calculés de la
manière suivante :
P = {v N (v) : v couvre le point p du CdV du nœud v} = {v1, v3}
B = {v N (v) : v couvre le point b du CdV du nœud v} = {v5, v2}
C = {v N (v) : v couvre le point c du CdV du nœud v} = {v4, v5}
G = {v N (v) : v couvre le point g du CdV du nœud v} = {v1, v2, v3, v5}
PG = {P ∩ G} = {v1, v3}
BG = {B ∩ G} = {v5, v2}
CG = {C ∩ G} = {v5}
Co(v) = {{v}, {v1, v5}, {v3, v5}, {v1, v2, v5}, {v3, v2, v5}}.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
56
Nous présentons dans la fonction illustrée sur la figure III.9 plus de détails concernant les
étapes de construction des ensembles couvrants:
1: Début
2: Entrées: N(v) : l’ensemble de tous les capteurs voisins appelés v’ du nœud v
3: p, b, c: les sommets du CdV sélectionné, représenté par un triangle
4: g: le barycentre du triangle pbc
5: P, B, C, G, PG, BG, CG: ensemble = { }
6: Sortie: Co(v)
7: //Etape d’initialisation
8: v est inactif
9: //Former les ensembles P, B, C et G
10: //Parcourir tous les nœuds voisins du nœud v
11: pour (i= 0; i< |N(v)|; i++) faire
12: //Vérifier si le point p du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
13: si (p.is_inside(v’[i]. CdV)) alors
14: P.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble P
15: finsi
16: //Vérifier si le point b du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
17: si (b.is_inside(v’[i]. CdV)) alors
18: B.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble B
19: finsi
20: //Vérifier si le point c du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
21: si (c.is_inside(v’[i]. CdV)) alors
22: C.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble C
23: finsi
24: //Vérifier si le point g du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
25: si (g.is_inside(v’[i]. CdV)) alors
26: G.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble G
27: finsi
28: fin pour
29: //calculer les ensembles PG, BG et CG
30: PG={P∩G}
31: BG={B∩G}
32: CG={C∩G}
33: //Calculer le produit Cartésien des ensembles PG, BG et CG
34: Co(v)= {PG×BG×CG}
35: Retourner Co(v)
36: Fin
Figure III.9: Fonction de construction d’ensembles couvrants
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
57
III.6 Pourcentage de couverture d’un ensemble couvrant
Après avoir calculé les ensembles couvrants constituant le Co(v), il serait judicieux de
vérifier pour chaque ensemble couvrant Coi(v) Co(v) le pourcentage de couverture réalisé.
Ceci dépend en réalité de la stratégie de construction d’ensembles couvrants utilisée qui
permet quelques fois de couvrir toute la surface du CdV du capteur vidéo. Cependant, il existe
des cas où un ensemble couvrant peut ne pas couvrir la totalité de la surface du CdV du
capteur mais un pourcentage plus au moins élevé de celle-ci.
La méthode que nous avons adoptée pour calculer le pourcentage de couverture d’un
Coi(v) Co(v) est de générer aléatoirement à l’intérieur du triangle représentant le CdV du
capteur vidéo un nombre élevé de points (jusqu’à 50 000 points) et de tester ensuite le nombre
de points inclus dans les triangles représentants respectivement les CdV des nœuds du Coi(v).
Le pourcentage de couverture du Co(v) sera alors égal à la moyenne des pourcentages de
couverture des Coi (v).
Afin de tester si un point est inclus dans un CdV particulier nous avons utilisé la fonction
« is_inside( ) » de la bibliothèque graphique du package définie par [5]. Cette méthode a
également été exploitée dans la fonction de la figure III.9 pour vérifier si l’un des points p, b,
c ou g est couvert par le CdV des capteurs vidéo.
III.7 Modèle de couverture avec capteurs vidéo rotationnels
Nous présentons dans les sous-sections suivantes les différentes caractéristiques du modèle
de couverture proposé.
III.7.1 Mécanismes de rotation d’un capteur vidéo
Afin d’assurer une surveillance efficace d’une zone de déploiement, les capteurs vidéo
doivent être déployés de manière appropriée pour atteindre un certain niveau de couverture.
Dans notre proposition, nous considérons qu’un capteur vidéo a la possibilité de s’orienter
vers trois directions différentes. Ce choix a été motivé par le fait que les capteurs vidéo
disponibles sur le marché sont très limités en termes de capacités de calcul, de stockage et
d’énergie. Et par conséquent, afin de minimiser le temps de calcul au niveau de chaque nœud
capteur, nous avons opté pour trois directions distinctes qui sont relativement éloignées les
unes des autres.
Nous présentons dans ce qui suit, les différentes manières qui existent pour étendre le
champ de capture des nœuds composant un RCVSF.
La première méthode est d’intégrer plusieurs capteurs vidéo du même type sur un seul
nœud, donc chaque capteur devra s’orienter vers une direction différente.
La seconde possibilité est d’équiper le nœud capteur avec un dispositif mobile qui permet
au nœud de changer de position [88].
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
58
Enfin, la troisième approche est celle que nous avons adoptée dans notre étude. Elle
consiste à équiper le nœud capteur d’un dispositif mécanique qui lui permettra de transiter
librement vers différentes directions.
III.7.2 Modèle de représentation des CdV d’un capteur vidéo rotationnel
Afin d’améliorer le modèle de couverture présenté dans la section III.2, pp. 50, nous avons
ajouté à chaque nœud capteur déployé dans la zone de surveillance la capacité de changer son
CdV.
Cette nouvelle fonction est ajoutée à la première étape, il s’agit de la phase d’initialisation
et de configuration des capteurs vidéo. Cette dernière est exécutée juste après le déploiement
des capteurs vidéo et avant la phase de construction des ensembles couvrants [6].
Pour aborder la solution proposée, nous devons adresser les suppositions suivantes :
Nous considérons un réseau dense de capteurs vidéo déployés aléatoirement dans une
zone d’intérêt dans le but de la surveiller. Les images capturées sont envoyées par la
suite à un utilisateur final.
Tous les capteurs vidéo ont les mêmes capacités de détection et de communication,
c’est-à-dire, le même rayon de couverture (Rs), rayon de communication (Rc) et CdV.
Les capteurs vidéo qui se situent à l’intérieur du Rc du capteur sont appelés les nœuds
voisins du capteur.
La direction de capture de chaque capteur vidéo est rotationnelle.
Chaque capteur connaît les informations sur sa localisation et détermine la position de
ses voisins en utilisant des communications sans fil.
La région de surveillance est modélisée sur un plan en deux dimensions.
La figure III.10 illustre un modèle de capteur vidéo rotationnel. Le point P représente la
position du capteur vidéo qui peut transiter vers trois directions possibles 1, 2 et 3.
1 est la direction aléatoire vers laquelle le capteur s’oriente au moment du déploiement et
le triangle associé à ce vecteur représente la région de couverture de cette direction.
Figure III.10: Modèle d’un capteur vidéo rotationnel
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
59
III.7.3 Formules de calcul géométriques des différents CdV
Les différents points du premier CdV1 sont calculés de la manière suivante [7]:
1/ Tout d’abord, nous devons sélectionner une direction de manière aléatoire de l’angle de
départ t1, où
t1 = uniform (0,1) * 2 * PI ; (III.10)
2/ Puisque nous avons les coordonnées (px, py) du nœud capteur et que nous aurons déjà choisi
au préalable une profondeur de vue d de la caméra, alors nous pouvons calculer les
coordonnées des différents points : r, b et c (illustrés sur la figure III.1, pp. 51) afin d’obtenir
le CdV désiré.
r.x = d*cos(t1) + p.x ; (III.11)
r.y = d*sin(t1) + p.y ; (III.12)
b.x = r.x + d*sin(α)*(r.y - p.y)/ d*cos(α) ; (III.13)
b.y = r.y - d*sin(α)*(r.x - p.x)/ d*cos(α) ; (III.14)
c.x = r.x - d*sin(α)*(r.y - p.y)/ d*cos(α) ; (III.15)
c.y = r.y + d*sin(α)*(r.x - p.x)/ d*cos(α) ; (III.16)
Après le premier déploiement, puisque nous avons la direction du premier CdV1, le capteur
vidéo peut alors calculer la seconde ainsi que la troisième direction avec leur CdV respectifs
comme suit :
t2 = t1 + (2*PI)/3 ; (III.17)
t3 = t1 + (4*PI)/3 ; (III.18)
En utilisant les formules géométriques présentées ci-dessus, nous pouvons calculer le
second CdV2 et le troisième CdV3 du capteur vidéo.
III.7.4 Fonction de sélection d’un CdV
Nous présentons sur la figure III.11 les différentes étapes de la fonction de sélection d’un
CdV. En résumé, tout d’abord, chaque capteur vidéo calcule ses différentes directions avec
leur CdV respectifs détaillés dans la sous-section précédente. Ensuite, après la procédure de
découverte du voisinage, le capteur vidéo calcule le nombre de voisins qui peuvent couvrir le
CdV associé à chaque direction. Enfin, le capteur transite vers la direction dont la surveillance
est assurée par le minimum de voisins afin de garantir la couverture du maximum de points de
la zone de déploiement. Ceci, dans le but d’offrir une meilleure surveillance.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
60
1: Début
2: Entrées: N(v) : l’ensemble de tous les capteurs voisins appelés v’ du nœud v
3: t1: la première direction aléatoire du nœud v
4: Sortie: CdV
5: //Etape d’initialisation
6: v est inactif
7: //Calculer les trois CdV du nœud capteur v
8: Calculer le CdV1 en utilisant les formules géométriques
9: //Calculer la deuxième direction
10: t2=t1+(2*PI)/3
11: Calculer le CdV2 en utilisant les formules géométriques
12: //Calculer la troisième direction
13: t3=t1+(4*PI)/3
14: Calculer le CdV3 en utilisant les formules géométriques
15: //analyser le voisinage pour les trois CdV du nœud capteur v
16: pour chaque CdVi, i=1,3 faire
17: Calculer le nombre de nœuds voisins ϵ N(v) qui couvrent au moins deux points du CdVi
18: fin pour
19: //Chercher le CdV qui assure la couverture de la région la moins couverte
20: si ((nombre de nœuds voisins ϵ N(v) couvrant CdV1) < (nombre de nœuds voisins ϵ N(v)
couvrant CdV2)) alors
21: CdV = CdV1;
22: sinon
23: CdV = CdV2;
24: finsi
25: si ((nombre de nœuds voisins ϵ N(v) couvrant CdV 3) < (nombre de nœuds voisins ϵ
N(v) couvrant CdV)) alors
26: CdV = CdV 3;
27: finsi
28: //Vérifier si le CdV trouvé est différent du premier CdV associé au nœud capteur v
29: si CdV != CdV1 alors
30: Envoyer sa nouvelle direction à ses nœuds voisins
31: finsi
32: Retourner CdV
33: Fin
Figure III.11: Fonction de sélection d’un CdV
La fonction illustrée sur la figure III.11 génère n appels récursifs dans le pire des cas. Par
conséquent, la complexité de cette fonction est de l’ordre de O(n), où n représente le nombre
de capteurs voisins du nœud v.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
61
III.8 Nouvelles stratégies de construction d’ensembles couvrants
Afin de satisfaire les exigences des applications de surveillance, nous proposons deux
nouvelles stratégies de construction d’ensembles couvrants qui sont détaillées dans les sous-
sections suivantes.
III.8.1 Couverture avec tolérance aux pannes
Cette approche est utilisée pour assurer une tolérance aux pannes dans le cas où certains
nœuds capteurs deviennent défaillants. Ce qui est inévitable si les capteurs sont déployés
aléatoirement dans un environnement peu fiable comme les zones sinistrées. En effet, les
capteurs vidéo pourraient facilement cesser de fonctionner en raison de l’épuisement de leur
batterie ou de leur panne (blocage logiciel, attaque de sécurité, etc).
III.8.1.1 Fonction de construction d’ensembles couvrants avec tolérance aux pannes
Dans le but de déterminer si le CdV d’un capteur est complètement couvert par un sous-
ensemble de ses nœuds voisins, nous proposons une amélioration de l’approche définie par
[5] (voir section III.5, pp. 55). Dans ce nouveau modèle de construction d’ensembles
couvrants, nous prenons en considération les nœuds voisins qui couvrent les points qui sont
très proches du barycentre (g) associé au capteur qui sera éventuellement inactif. Cette
approche nous permet d’obtenir un nombre plus important d’ensembles couvrants [8].
Ces ensembles couvrants peuvent assurer la couverture d’un grand pourcentage du CdV du
capteur vidéo avec la possibilité que quelques-uns aient des nœuds en communs.
Nous présentons dans la fonction illustrée sur la figure III.12 plus de détails sur cette
nouvelle approche de construction d’ensembles couvrants [8]:
1: Début
2: Entrées: N(v) : l’ensemble de tous les capteurs voisins appelés v’ du nœud v
3: p, b, c: les sommets du CdV sélectionné, représenté par un triangle
4: g: le barycentre du triangle pbc
5: gp’, gb’, gc’: points proches du barycentre du triangle pbc
6: P, B, C, G, PG, BG, CG: ensemble = { }
7: Sortie: Co(v)
8: //Etape d’initialisation
9: v est inactif
10: //Calculer les points intermédiaires gp’, gb’et gc’
11: gp’= le milieu entre le point g et le centre du segment [pg]
12: gb’= le milieu entre le point g et le centre du segment [bg]
13: gc’= le milieu entre le point g et le centre du segment [cg]
14: //Former les ensembles P, B, C et G
15: //Parcourir tous les nœuds voisins du nœud v
16: pour (i= 0; i< |N(v)|; i++) faire
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
62
17: //Vérifier si le point p du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
18: si (p.is_inside(v’[i]. CdV))
19: alors
20: P.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble P
21: finsi
22: //Vérifier si le point b du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
23: si (b.is_inside(v’[i]. CdV))
24: alors
25: B.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble B
26: finsi
27: //Vérifier si le point c du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
28: si (c.is_inside(v’[i]. CdV))
29: alors
30: C.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble C
31: finsi
32: //Vérifier si l’un des point gp’, gb’ ou gc’ du CdV du capteur v est à l’intérieur du CdV
du nœud voisin v’[i]
33: si ((gp’.is_inside(v’[i].CdV)) || (gb’.is_inside(v’[i].CdV)) || (gc’.is_inside(v’[i].CdV)))
34: alors
35: G.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble G
36: finsi
37: fin pour
38: //Calculer les ensembles PG, BG et CG
39: PG={P∩G}
40: BG={B∩G}
41: CG={C∩G}
42: //Calculer le produit Cartésien des ensembles PG, BG et CG
43: Co(v)= {PG×BG×CG}
44: Retourner Co(v)
45: Fin
Figure III.12 : Fonction de construction d’ensembles couvrants avec tolérance aux pannes
III.8.1.2 Exemple de modèle de construction d’ensembles couvrants avec tolérance
aux pannes
Dans l’exemple illustré sur la figure III.13, le CdV du nœud v est représenté par six points
(p, b, c, gp’, gb’et gc’). p, b et c sont les sommets du CdV représenté par un triangle. gp’, gb’
et gc’ représentent le milieu entre le barycentre g et le centre de leur segment respectif [pg],
[bg] et [cg] (plus de détails sont donnés dans la sous-section III.10.3.3, pp. 77).
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
63
Pour trouver les ensembles couvrants, le nœud v doit former les ensembles suivants
(composés au moins d’un des points (p, b et c) et un autre point gp’, gb’ ou gc’):
PG = {v1, v4} où v1 et v4 couvrent les points p et gp’ du CdV du nœud v,
BG = {v3} où v3 couvre les points b et gb’ du CdV du nœud v,
CG = {v2, v5} où v2 et v5 couvrent les points c et gc’ du CdV du nœud v.
Ensuite, nous pouvons construire l’ensemble contenant tous les ensembles couvrants
calculés par le produit Cartésien de PG, BG et CG comme suit :
Co(v) = {{v}, {v1, v3, v2}, {v4, v3, v2}, {v1, v3, v5}, {v4, v3, v5}}
Si on suppose par exemple que l’ensemble couvrant {v1, v3, v2} est en mode actif et
soudainement, le capteur vidéo v1 épuise son énergie ou bien est devenu défaillant à cause de
facteurs environnementaux, dans ce cas, un autre ensemble couvrant peut être sélectionné, tel
que {v4, v3, v2} qui va changer d’état et transiter au mode actif afin d’assurer la surveillance de
la région non-couverte.
Figure III.13: Exemple de modèle de construction d’ensembles couvrants pour tolérance aux
pannes
III.8.2 Couverture avec haute précision
Les RCVSF ne cessent d’être utilisés par différents types d’applications. Cependant, les
techniques de vision traditionnelles pour le calibrage avec précision des caméras ne sont pas
appropriées pour les déploiements ad hoc des RCSF dans les régions inaccessibles. Et par
conséquent, dans les scénarios où nous devons déployer des capteurs vidéo avec une
résolution très faible, il est quasiment impossible d’utiliser le calibrage avec précision des
caméras. Dans ce genre d’applications, la seule solution envisageable est de déterminer la
relation entre les capteurs vidéo qui sont relativement très proches les uns des autres.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
64
Afin d’assurer la surveillance d’une région d’intérêt avec une haute précision des objets
capturés, nous pouvons améliorer la stratégie de construction des ensembles couvrants. Dans
ce cas de figure, la couverture du CdV d’un nœud défaillant doit être assurée uniquement par
les nœuds voisins qui sont très proches du barycentre (g) de ce dernier.
Dans cette approche, nous devons calculer après la procédure de découverte du voisinage,
la distance entre le barycentre (g) du capteur et la position (p) de chaque capteur vidéo inclus
dans l’ensemble de ses voisins.
En premier lieu, nous devons calculer la distance entre le barycentre g et la position p du
capteur vidéo dénotée par d(v.g, v.p), où
d(v.g, v.p) = (III.19)
L’équation (III.19) est ajoutée avant la ligne 16 (c’est-à-dire, avant la boucle) dans la
fonction de la figure III.12, pp. 62, car elle concerne uniquement les coordonnées du capteur
vidéo.
Nous notons la distance entre le barycentre g du capteur vidéo v et la position p de son
nœud voisin v’ par d(v.g, v’.p), où
d(v.g, v’.p) = (III.20)
L’équation (III.20) doit être insérée après la ligne 16 dans la fonction de la figure III.12,
pp. 62, afin que cette distance puisse être calculée pour chaque nœud voisin.
Enfin, les nœuds voisins sélectionnés pour être ajoutés dans l’ensemble couvrant du
capteur vidéo v doivent vérifier la condition suivante :
d (v.g, v’.p)≤ d (v.g, v.p) (III.21)
La condition (III.21) sera ajoutée après l’équation (III.20) afin de garder uniquement les
nœuds voisins qui nous intéressent dans l’ensemble couvrant.
Dans cette stratégie, les capteurs vidéo sélectionnés pour couvrir celui qui va transiter en
mode veille seront toujours les capteurs les mieux positionnés et qui ont le meilleur AdV.
L’objectif final de cette approche est d’améliorer les capacités de détection.
L’inconvénient majeur de cette stratégie de construction d’ensembles couvrants est le
nombre limité d’ensembles couvrants générés comparé à celui obtenu par l’approche
précédente.
III.9 Ordonnancement de l’activité dynamique des capteurs vidéo
La phase d’ordonnancement de l’activité des capteurs vidéo est exécutée après la phase de
construction des ensembles couvrants, c’est-à-dire, après que chaque capteur a choisi une
direction de capture et calculé ses propres ensembles couvrants.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
65
Nous présentons dans cette section l’algorithme d’ordonnancement de l’activité des
capteurs que nous avons utilisé dans le modèle de couverture proposé. Nous donnons ensuite,
les différentes approches d’ajustement de la vitesse de capture des capteurs vidéo en fonction
de la criticité de l’application envisagée.
III.9.1 Algorithme d’ordonnancement
L’activité des capteurs vidéo sera exécutée en plusieurs itérations. Dans chacune, le nœud
capteur décide de demeurer en mode actif ou bien de passer en mode veille. Ceci, sera réalisé
d’un côté par rapport à l’activité de ses nœuds voisins et d’un autre côté en fonction de son
niveau d’énergie.
Chaque capteur vidéo commence par ordonner ses ensembles couvrants selon leur
cardinalité. La priorité la plus élevée sera affectée aux ensembles couvrants contenant le
moins d’éléments. Dans le cas où nous aurons des ensembles couvrants avec la même
cardinalité, leur niveau d’énergie sera alors considéré comme un critère de priorité.
Le processus d’ordonnancement commence après que chaque capteur a reçu les messages
d’activité de ses nœuds voisins. Un nœud capteur v doit tester si l’un de ses ensembles
couvrants est satisfait, c’est-à-dire, tous les nœuds qui le constituent sont actifs. Dans le cas
où un Coi(v) est actif, le nœud v passe en mode veille et diffuse sa décision à ses voisins. Dans
le cas contraire, c’est-à-dire, aucun Coi(v) n’est satisfait, v décide de rester actif et diffuse
également sa décision [101].
La procédure d’ordonnancement de l’activité des capteurs est illustrée dans l’algorithme de
la figure III.14 [101] :
1: Début
2: //Etape d’initialisation
3: v est actif
4: v ordonne ses ensembles couvrants selon leur cardinalité Coi(v) Co(v) avec
i=1,2,...|Co(v)|
5: i ← 1
6: //Vérification des ensembles couvrants après réception des messages d’activité des
nœuds voisins
7: tantque i ≤ |Co(v)| faire
8: //v commence par l’ensemble couvrant ayant la plus grande priorité Coi(v)
9: si v décide d’être inactif alors
10: si v ∉ Coi(v) alors
11: continuer avec Coi(v)
12: finsi
13: sinon
14: //Dans le cas où les nœuds voisins sont inactif alors passer à l’ensemble couvrants
suivant Coi+1(v)
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
66
15: v choisit l’ensemble couvrant suivant Coi+1(v)
16: i ← i + 1
17: finsi
18: si v décide d’être actif alors
19: si v Coi(v) alors
20: continuer avec Coi(v)
21: finsi
22: finsi
23: //Dans le cas où tous les nœuds voisins constituant l’ensemble Coi(v) sont actifs alors
le nœud v décide de rester inactif
24: si v , v Coi(v), v est actif alors
25: v devient inactif et diffuse sa décision à ses voisins
26: finsi
27: fin tantque
28: si aucun Coi(v) n’est satisfait alors
29: v reste en mode actif et diffuse sa décision à ses voisins
30: finsi
31: Fin
Figure III.14 : Algorithme d’ordonnancement d’un nœud v [101]
III.9.2 Ajustement en fonction de la criticité de l’application
III.9.2.1 Vitesse de capture d’un nœud vidéo
Dans les applications critiques de surveillance, en plus d’une couverture fiable de la zone
de surveillance, nous devons apporter plus d’importance à la vitesse de capture associée aux
capteurs vidéo. En effet, parmi les différentes contraintes réseau tel que le problème des
interférences, la qualité de l’image capturée dépend fortement de la vitesse de capture. Cette
dernière, peut être considérée comme un indicateur de QdS dans une application.
Cependant, la vitesse de capture influe énormément sur la consommation d’énergie des
capteurs. Par exemple, un nœud qui capture lentement (1 image/seconde) restera actif plus
longtemps par rapport à un autre nœud capturant à une vitesse plus grande (3
images/seconde). Donc, il faut faire un compromis entre autonomie du capteur, couverture et
criticité de l’application.
Dans une application de détection d’intrusions par exemple, nous devons associer aux
capteurs vidéo une vitesse de capture assez élevée afin d’éviter de manquer une intrusion.
Tandis que dans une application de surveillance environnementale, nous pouvons nous
permettre de réduire la vitesse de capture jusqu’à quelques images par jour [101].
Afin d’ajuster la vitesse de capture, nous devons définir la variable qui représente la
criticité r0 ϵ [0,1] pour indiquer le niveau de criticité d’une application. Les bornes inférieure
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
67
et supérieure de l’intervalle représentent respectivement le niveau le plus faible jusqu’au plus
fort de criticité. Il suffit alors d’initialiser les capteurs vidéo avant leur déploiement par la
valeur de criticité exigée par l’application.
Il existe deux approches pour définir la vitesse de capture associée à chaque capteur :
l’approche par ajustement statique et l’approche par ajustement dynamique qui sont détaillées
dans les sous-sections suivantes.
III.9.2.2 Approche par ajustement statique
Le principe de l’approche par ajustement statique consiste à fixer, en fonction du degré de
criticité de l’application, la vitesse de capture associée au capteur vidéo durant toute sa durée
de vie.
Nous pouvons voir clairement sur le graphe présenté sur la figure III.15 que la vitesse de
capture est proportionnelle au degré de criticité de l’application. Les capteurs vidéo pourront
alors se permettre de capturer au maximum de leur capacité lorsqu’il s’agit d’une application
très critique, ou encore diminuer de leur vitesse de capture s’ils ont à faire à des applications
moins critiques.
L’approche par régulation statique paraît relativement simple à mettre en œuvre,
cependant, elle peut présenter les inconvénients suivants [101] :
Configurer les capteurs vidéo pour capturer des images au maximum de leur capacité,
nous aide à assurer un niveau de surveillance maximal mais la ressource d’énergie des
capteurs sera épuisée rapidement, ce qui affecte directement la durée de vie de réseau.
Si nous affectons une vitesse de capture minimale aux capteurs vidéo, ceci nous permettra
par ailleurs de prolonger la durée de vie du réseau mais avec une qualité de surveillance
insuffisante.
Afin de faire un compromis entre la qualité de la surveillance et la durée de vie du
RCVSF, nous pouvons opter pour une vitesse de capture moyenne. Cependant, les
capteurs vidéo risquent d’être sous-exploités durant toute la durée de vie du RCVSF.
Figure III.15: Approche par ajustement statique [101]
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
68
III.9.2.3 Approche par ajustement dynamique
Afin de remédier aux inconvénients engendrés par l’approche par ajustement statique, une
approche plus intéressante a été proposée dans [101] dont le but est d’exploiter de manière
optimale les capacités du RCVSF.
Cette méthode consiste à faire varier la vitesse de capture d’un capteur vidéo v en fonction
de la taille de son ensemble couvrant Co(v). Par conséquent, la vitesse de capture d’un nœud v
dépendra de ses nœuds voisins, c’est-à-dire, si le CdV du nœud v est bien couvert par le CdV
de ses nœuds voisins, donc le nœud v pourra augmenter sa vitesse de capture. Dans le cas
contraire, c’est-à-dire, si le CdV du nœud v n’est pas assez couvert par ses voisins, donc ce
dernier devra économiser son énergie afin d’assurer le plus longtemps possible la couverture
de sa région.
L’ajustement dynamique de la vitesse de capture peut être réalisé à l’aide d’une fonction
mathématique cartésienne, appelée « fonction de comportement » (BV pour BehaVior). Cette
dernière nous permet de choisir une vitesse de capture en prenant en considération la
couverture ainsi que le degré de criticité de l’application.
La fonction de comportement (BV) est définie de la manière suivante [101] :
(III.22)
où :
y : est la vitesse de capture du capteur vidéo v, qui indique comme illustré sur la figure
III.17, le résultat de la projection de x sur la courbe représentant le niveau de criticité de
l’application.
x : représente la cardinalité de tous les ensembles couvrants (Co(v)) qui peut prendre des
valeurs dans l’intervalle [0, n] où n indique un haut niveau de couverture.
Comme nous pouvons le distinguer sur la figure III.17, la fonction BV permet de générer
en fonction de r0, soit des courbes concaves ou des courbes convexes. Ce qui donne lieu à
deux classes d’applications définies comme suit [101] :
Classe 1 : correspond à la classe de faible niveau de criticité, appartenant à l’intervalle
[0,0.5[. Comme illustré sur la figure III.16, zone A, la fonction modélisée est de forme
convexe. Les applications visées dans cette classe ne sont pas critiques, donc nous
pouvons utiliser des vitesses de capture relativement faibles, proches de 0.
Classe 2 : correspond à la classe de haut niveau de criticité, où r0 ϵ [0.5, 1]. Utilisée dans
les applications critiques avec des vitesses de captures élevées, proches de Max. Comme
nous pouvons le constater sur la figure III.16, zone B, la fonction modélisée est de forme
concave.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
69
Figure III.16: Approche par ajustement dynamique [101]
Pour la modélisation des courbes concaves et convexes, nous pouvons exploiter les
courbes paramétrées de Bézier [102]. Comme nous pouvons le distinguer sur la figure III.17,
la fonction BV pourra dessiner n’importe quelle courbe approchant le point P1 qui se trouve
dans le rectangle délimité par P0 (0, 0) et P2 (hx, hy).
Figure III.17: Fonction de comportement [102]
La fonction BV est alors définie à travers les trois points suivants [102] :
Le point d’origine P0(0, 0),
Le point repère P2(hx, hy), où hx représente la cardinalité maximale de l’ensemble des
ensembles couvrants et hy indique la vitesse maximale de capture qui peut être atteinte par
le capteur.
Le point de comportement P1, se déplace sur l’anti-diagonale afin de transformer la
courbe d’une forme concave en une forme convexe. Ce point change de coordonnées en
fonction de la valeur de r0 ϵ [0, 1]. Donc, le point P1 aura comme coordonnées (hx, 0) si
r0= 0, et inversement, si r
0= 1, alors le point P1 aura les coordonnées (0, hy).
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
70
III.10 Implémentation et évaluation des performances
Cette section décrit l’environnement de simulation utilisé pour la mise en œuvre du modèle
de couverture proposé. Nous présentons par la suite les paramètres de simulation ainsi qu’une
analyse comparative des différents résultats obtenus.
III.10.1 Le simulateur OMNeT++
L’évaluation des performances de notre proposition est réalisée à l’aide du simulateur
OMNeT++. Nous présentons brièvement dans les sous-sections suivantes le principe
d’exécution d’un modèle de simulation sous OMNeT++ (voir annexe A pour plus de détails).
III.10.1.1 Définition
OMNeT++ est un simulateur réseau orienté objet, modulaire et à évènements discrets, avec
une architecture générique et un code source disponible et gratuit. Ce simulateur peut être
utilisé dans plusieurs domaines tels que la modélisation des réseaux filaires et sans fil, des
protocoles et systèmes distribués, évaluation des performances des systèmes complexes, etc.
[103]. Après comparaison avec les autres simulateurs existants comme NS2 (Network
Simulator) [104] et OPNET (Optimum Network Performance) [105], nous avons choisi
OMNeT++ car il est open-source et plus léger, ce qui nous permet de simuler des réseaux à
large échelle avec un nombre de nœuds important. OMNeT++ fournit une architecture basée
sur des composants programmés en C++ et il permet une réutilisation de modèles existants
facilement.
III.10.1.2 Construction d’un modèle de simulation OMNeT++
Un modèle de simulation sous OMNeT++ est construit à partir de composants (modules)
qui communiquent en échangeant des messages. Les modules peuvent être imbriqués.
Plusieurs modules peuvent être regroupés ensemble pour former un module composé. Le
modèle créé doit constituer une hiérarchie de modules communicants [103]. Les étapes
d’implémentation d’un modèle de simulation OMNeT++ peuvent être résumées comme suit :
1. Coder les composants actifs du modèle, à savoir les modules simples en C++, en
utilisant le noyau de simulation et la librairie de classes.
2. Définir la structure du modèle dans le langage NED (Network Description).
3. Créer le fichier de configuration omnetpp.ini, contenant les paramètres de simulation.
4. Construire l’exécutable de simulation en liant le code avec le noyau de simulation
OMNeT++ et l’une des deux interfaces utilisateur fournies, l’interface en ligne de
commande et l’interface graphique.
5. Exploiter les résultats de la simulation qui sont écrits dans deux types de fichiers de
sortie, scalaire et vecteur (dans notre cas, nous avons utilisé le fichier scalaire).
6. Extraire les résultats que nous voulons interpréter à l’aide d’un script écrit en langage
AWK. Ce dernier nous génère un fichier scalaire que nous pouvons traiter avec des
outils tels que Matlab, Gnuplot, etc.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
71
Les étapes du processus de simulation sous OMNeT++ sont illustrées à travers
l’organigramme de la figure III.18.
Figure III.18: Organigramme récapitulatif du processus de simulation sous OMNet++
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
72
III.10.2 Présentation du modèle de simulation du RCVSF
L’implémentation du modèle de couverture proposé dans cette thèse est réalisée à l’aide du
package développé par le laboratoire LIUPPA (Laboratoire Informatique de l’Université de
Pau et des Pays de l’Adour) [106], dirigé par le Professeur Congduc Pham.
Nous présentons dans ce qui suit les principaux fichiers du code source écrit en C++, que
nous avons traités afin d’apporter les extensions nécessaires pour la réalisation du nouveau
modèle de couverture. Les autres fichiers utilisés sont présentés dans l’annexe B.
1/ videoSensorNode.cc et videoSensorNode.h
Représentent les principaux fichiers où nous avons apporté la majorité de nos extensions.
Les méthodes de base pour définir le comportement du capteur vidéo sont les suivantes :
void initialize( ) : permet d’initialiser les paramètres de la simulation tels que le CdV, la
vitesse de capture, le niveau d’énergie associé à chaque capteur, etc. qui sont entre autres
récupérés à partir du fichier omnetpp.ini.
void handleMessage(cMessage *msg) : est utilisée pour gérer les différents messages
échangés par les nœuds capteurs. Ils peuvent être soit des messages de position pour la
découverte du voisinage, des messages d’activité afin d’indiquer si l’état du capteur est actif
ou en veille, ou encore des messages d’épuisement de la batterie pour avoir une idée sur le
niveau d’énergie de chaque capteur.
void finish( ) : si la simulation se termine avec succès, cette méthode permettra de récupérer
les statistiques collectées durant la simulation pour les afficher ensuite dans le fichier
coverage.sca.
2/ coordNode.cc et coordNode.h
Définissent le nœud coordinateur utilisé pour collecter les statistiques et terminer la
simulation, il permet de donner une vue globale de la simulation.
3/ coverage-nbr_nodes.ned
Permet de générer suivant le nombre de nœuds capteurs qu’on voudra simuler, la position
de chaque capteur vidéo avec leurs différentes connexions. Ce fichier permet aussi de définir
la structure des différents modules de simulation tels que les deux modules simples :
VideoSensorNode et CoordNode ainsi que le module composé de ces deux derniers appelé
VideoSensorNetwork illustrés sur la figure III.19.
4/ omnetpp.ini
Ce fichier est utilisé pour l’exécution de la simulation, il permet la configuration des
paramètres de la simulation (voir figure III.20) en utilisant le fichier coverage-nbr_nodes.ned.
Il génère en sortie un fichier scalaire appelé coverage-nbr_nodes.sca (voir figure III.21) où
nous pouvons récupérer les résultats de simulation. Ce fichier contient entre autres la position
de chaque capteur vidéo, le nombre d’ensembles couvrants et le pourcentage de couverture.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
73
simple VideoSensorNode{ //Module1 simple
parameters:
double aov; //Angle de vue
double dov; //Profondeur de vue
double minCaptureRate; //Vitesse de capture minimale
double maxCaptureRate; //Vitesse de capture maximale
double maxBatteryLevel; //Niveau maximal d’énergie
double energyPerCapture; //Energie consommée à chaque capture
…
gates:
input in[]; output out[]; }
simple CoordNode{ //Module2 simple
parameters:
…
double nodesNb; } //Nombre de nœuds dans le réseau
VideoSensorNetwork{ //Module composé
parameters:
double field_x; //Axe x de la zone de déploiement
double field_y; //Axe y de la zone de déploiement
double numNodes; //Nombre de nœuds dans le réseau
submodules:
coordinator: coordNode {
parameters:
…
nodesNb = numNodes;
display("i=block/circle_vs,blue;p=0,0");}
node0: VideoSensorNode {
parameters:
aov=AoV;
dov=DoV;
minCaptureRate= MinCaptureRate;
maxCaptureRate= MaxCaptureRate;
maxBatteryLevel= MaxBatteryLevel;
energyPerCapture= EnergyPerCapture;
gates:
in[37];
out[37];
display("i=block/circle_vs,cyan;p=235,210");
… }
connections:
node0.out[0]-->{delay=0.1ms; datarate=0.0;@display("ls=black,0");} --> node1.in[0];
node0.out[1]-->{delay=0.1ms; datarate=0.0;@display("ls=black,0");} --> node5.in[0];
Figure III.19: Exemple d’un fichier coverage-nbr_nodes.ned
network = SN
num-rngs = 1
seed-0-mt = 1799
output-scalar-file = Coverage-75.sca
output-vector-file = omnetpp.vec
cmdenv-express-mode = true
cmdenv-status-frequency = 10s
**.vector-record-eventnumbers = false
SN.node*.minCaptureRate = 0.5
SN.node*.maxCaptureRate = 6.0
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
74
SN.node*.aov = 60.0
SN.node*.dov = 25.0
SN.node*.maxBatteryLevel = 100
SN.node*.energyPerCapture = 1
SN.node*.criticalityLevel = 0.9
SN.node*.maxDefinedCoverSetNumber = 12
SN.node*.isCamRotatable = true
SN.field_x = 100
SN.field_y = 100
SN.numNodes = 150
Figure III.20: Exemple d’un fichier omnetpp.ini
run 0 "SN"
…
scalar "SN.coordinator" "nbNodes" 125
scalar "SN.coordinator" "initial_coverage" 92.858
scalar "SN.node34" "pos_X" 995
scalar "SN.node34" "pos_Y" 700
scalar "SN.node34" "num_neighbors" 30
scalar "SN.node34" "mean_numberof_coverset_0" 0
scalar "SN.node34" "mean_coverage_coverset_0" 0
scalar "SN.node76" "pos_X" 881
scalar "SN.node76" "pos_Y" 700
scalar "SN.node76" "num_neighbors" 40
scalar "SN.node76" "mean_numberof_coverset_X" 6
scalar "SN.node76" "mean_coverage_coverset_X" 65.2086666667
…
scalar "SN.coordinator" "**display_stats_time" 10
scalar "SN.coordinator" "**display_stats_percentage_coverage" 98.7723190247
scalar "SN.coordinator" "**display_stats_percentage_active_nodes" 76.8
…
scalar "SN.coordinator" "**display_stats_time" 280
scalar "SN.coordinator" "**display_stats_percentage_coverage" 43.4459066532
scalar "SN.coordinator" "**display_stats_percentage_active_nodes" 12.8
scalar "SN.coordinator" "**display_stats_time" 290
scalar "SN.coordinator" "**display_stats_percentage_coverage" 0
scalar "SN.coordinator" "**display_stats_percentage_active_nodes" 0
…
Figure III.21: Exemple d’un fichier coverage-nbr_nodes.sca
III.10.3 Implémentation des algorithmes du nouveau modèle de couverture
Nous présentons dans cette section la majorité des programmes implémentant les
algorithmes du modèle de couverture proposé.
III.10.3.1 Programme implémentant le calcul des coordonnées des triangles
représentant les CdV du capteur vidéo
Dans le fragment du programme illustré sur la figure III.22, nous présentons
l’implémentation des différentes formules géométriques pour le calcul des trois CdV du
capteur vidéo abordées dans la sous-section III.7.3, pp. 59.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
75
void VideoSensorNode::initialize(){
…
this->alpha = PI/10 // α=PI/10 par défaut, 2α=AdV
//Récupérer la profondeur de vue d=pr à partir du fichier omnetpp.ini
this->dov = par("dov");
//Récupérer la position du capteur à partir du fichier .ned
p.x = std::atoi (nodes.getTagArg("p",0));
p.y = std::atoi (nodes.getTagArg("p",1));
//Choisir une direction aléatoire
this->lineOfSight = uniform(0,1) * 2 * PI;
//Calcul des coordonnées du point r
r.x=this->dov*cos(this->lineOfSight)+p.x;
r.y=this->dov*sin(this->lineOfSight)+p.y;
//Calculer la deuxième direction
this->lineOfSight1 = this->lineOfSight+((2*PI)/3);
//Calcul des coordonnées du point r1
r1.x=this->dov*cos(this->lineOfSight1)+p.x;
r1.y=this->dov*sin(this->lineOfSight1)+p.y;
//Calculer la troisième direction
this->lineOfSight2 = this->lineOfSight+((4*PI)/3);
//Calcul des coordonnées du point r2
r2.x=this->dov*cos(this->lineOfSight2)+p.x;
r2.y=this->dov*sin(this->lineOfSight2)+p.y;
// Trouver les points b et c pour chaque CdV
this->findTriangleCoord(p, r, b, c, this->alpha);
this->findTriangleCoord(p, r1, b1, c1, this->alpha);
this->findTriangleCoord(p, r2, b2, c2, this->alpha);
…
// Former le triangle associé à chaque CdV
myFoV=Triangle(p,b,c);
myFoV1=Triangle(p,b1,c1);
myFoV2=Triangle(p,b2,c2);
…}
//Méthode permettant de calculer les coordonnées des points b et c de chaque CdV
void VideoSensorNode::findTriangleCoord(Point p, Point r, Point& b, Point& c,
double alpha) {
double h = this->dov*sin(this->alpha);
double k = this->dov*cos(this->alpha);
b.x = r.x + h*(r.y - p.y)/k;
b.y = r.y - h*(r.x - p.x)/k;
c.x = r.x - h*(r.y - p.y)/k;
c.y = r.y + h*(r.x - p.x)/k;}
Figure III.22: Programme implémentant le calcul des coordonnées des triangles représentant
les CdV du capteur vidéo
III.10.3.2 Programme implémentant la fonction de sélection d’un CdV
Nous présentons dans le programme indiqué sur la figure III.23 la fonction de sélection
d’un CdV qui a été abordée dans la sous-section III.7.4, pp. 60. Pour réaliser ce programme,
nous devons parcourir les nœuds voisins du capteur en utilisant les coordonnées de leur
triangle représentant leur CdV respectifs afin de trouver la direction la moins couverte. Dans
le cas où la première direction est celle qui offre la meilleure couverture, donc le capteur
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
76
vidéo ne va pas changer son CdV. Dans le cas contraire, le capteur devra transiter vers la
deuxième ou la troisième direction et envoyer un message à ses voisins par l’appel de la
méthode «sendPosition(true)» indiquant sa nouvelle direction.
Triangle VideoSensorNode::direction(){
int i,d=0,d1=0,d2=0,min=0;
Triangle theFoV;
for (i = 0; i<this->nbNeighbors; i++) {
Point PP(this->neighbors[i].p.x,this->neighbors[i].p.y);
Point PB(this->neighbors[i].b.x,this->neighbors[i].b.y);
Point PC(this->neighbors[i].c.x,this->neighbors[i].c.y);
g.x = (this->neighbors[i].p.x + this->neighbors[i].b.x+ this-> neighbors[i].c.x)/3;
g.y = (this->neighbors[i].p.y + this->neighbors[i].b.y+ this-> neighbors[i].c.y)/3;
Point PG(g.x,g.y);
if ((PP.is_inside(this->myFoV) && PG.is_inside(this->myFoV))||
(PB.is_inside(this->myFoV) && PG.is_inside(this->myFoV))||
(PC.is_inside(this->myFoV) && PG.is_inside(this->myFoV))){
d=d+1;
}
if ((PP.is_inside(this->myFoV1) && PG.is_inside(this->myFoV1))||
(PB.is_inside(this->myFoV1) && PG.is_inside(this->myFoV1))||
(PC.is_inside(this->myFoV1) && PG.is_inside(this->myFoV1))){
d1=d1+1;
}
else {if ((PP.is_inside(this->myFoV2) && PG.is_inside(this->myFoV2))||
(PB.is_inside(this->myFoV2) && PG.is_inside(this->myFoV2))||
(PC.is_inside(this->myFoV2) && PG.is_inside(this->myFoV2))){
d2=d2+1;
}}}
if (d<=d1) {if (d<=d2){ min=d;
theFoV=this->myFoV; }
else {min=d2;
theFoV=this->myFoV2;
sendPosition(true); }}
else {if (d1<=d2) {min=d1;
theFoV=this->myFoV1;
sendPosition(true); }
else {min=d2;
theFoV=this->myFoV2;
sendPosition(true); }}
Return theFoV;
}
Figure III.23: Programme implémentant la fonction de sélection d’un CdV
III.10.3.3 Programmes implémentant les nouvelles stratégies de construction
d’ensembles couvrants
Les stratégies de construction d’ensembles couvrants proposées sont effectuées après que
chaque capteur vidéo a choisi la direction adéquate pour la couverture de sa région. La
première fonction, présentée sur la figure III.24 et celle que nous avons adoptée dans nos
simulations est réalisée dans un but de tolérance aux pannes. Elle nous permet de générer un
nombre important d’ensembles couvrants. Dans la deuxième proposition, la sélection des
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
77
nœuds voisins pour la construction d’ensembles couvrants et plus restreinte. En effet, pour
assurer une couverture de meilleure qualité, nous prenons en considération dans ce cas
uniquement les nœuds voisins qui sont très proches du barycentre. Le fragment du programme
implémentant cette deuxième stratégie est illustré sur la figure III.25.
void VideoSensorNode::computeCoverset() {
…
// Calcul du barycentre g
g.x = (p.x + b.x + c.x)/3;
g.y = (p.y + b.y + c.y)/3;
// Point alternatif gp entre g et p
gp.x = (p.x + g.x)/2;
gp.y = (p.y + g.y)/2;
// Point alternatif gpg entre g et gp
gpg.x = (gp.x + g.x)/2;
gpg.y = (gp.y + g.y)/2;
// Point alternatif gc entre g et c
gc.x = (c.x + g.x)/2;
gc.y = (c.y + g.y)/2;
// Point alternatif gcg entre g et gc
gcg.x = (gc.x + g.x)/2;
gcg.y = (gc.y + g.y)/2;
// Point alternatif gb entre g et b
gb.x = (g.x + b.x)/2;
gb.y = (g.y + b.y)/2;
// Point alternatif gbg entre g et gb
gbg.x = (g.x + gb.x)/2;
gbg.y = (g.y + gb.y)/2;
Point PP(p.x,p.y);
Point PB(b.x,b.y);
Point PC(c.x,c.y);
Point PGP(gpg.x,gpg.y);
Point PGB(gbg.x,gbg.y);
Point PGC(gcg.x,gcg.y);
// Construction des ensembles P, B, C et G pour le calcul des ensembles
couvrants
for (int i = 0; i<this->nbNeighbors; i++) {
if (PP.is_inside(this->neighbors[i].fov))
P.insert(this->neighbors[i].id);
if (PB.is_inside(this->neighbors[i].fov))
B.insert(this->neighbors[i].id);
if (PC.is_inside(this->neighbors[i].fov))
C.insert(this->neighbors[i].id);
//Points proches de g
if ((PGP.is_inside(this->neighbors[i].fov))|| (PGB.is_inside(this-
>neighbors[i].fov))|| (PGC.is_inside(this->neighbors[i].fov)))
G.insert(this->neighbors[i].id);}
…}
Figure III.24: Programme implémentant la fonction de construction d’ensembles couvrants
avec tolérance aux pannes
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
78
void VideoSensorNode::computeCoverset() {
…
Point PP(p.x,p.y);
Point PB(b.x,b.y);
Point PC(c.x,c.y);
Point PGP(gpg.x,gpg.y);
Point PGB(gbg.x,gbg.y);
Point PGC(gcg.x,gcg.y);
int ds=0, dsv=0;
for (int i = 0; i<this->nbNeighbors; i++) {
//Calcul de la distance entre le point g du capteur et la position p du nœud voisin
dsv=sqrt(((this->neighbors[i].p.x-g.x)*(this->neighbors[i].p.x-g.x))+((this-
>neighbors[i].p.y-g.y)*(this->neighbors[i].p.y-g.y)));
//Calcul de la distance entre les points g et p du capteur vidéo
ds=sqrt(((p.x-g.x)*(p.x-g.x))+((p.y-g.y)*(p.y-g.y)));
if (dsv<=ds){
if (PP.is_inside(this->neighbors[i].fov))
P.insert(this->neighbors[i].id);
if (PB.is_inside(this->neighbors[i].fov))
B.insert(this->neighbors[i].id);
if (PC.is_inside(this->neighbors[i].fov))
C.insert(this->neighbors[i].id);
//Points proches de g
if ((PGP.is_inside(this->neighbors[i].fov))||(PGB.is_inside(this-
>neighbors[i].fov))||(PGC.is_inside(this->neighbors[i].fov)))
G.insert(this->neighbors[i].id);
}}
Figure III.25: Programme implémentant la fonction de construction d’ensembles couvrants
avec haute précision
III.10.4 Evaluation des performances
Dans cette section nous présentons les paramètres de simulation et l’évaluation des
performances du modèle proposé. Des comparaisons avec le modèle existant [5] sont
effectuées selon différentes métriques de performances.
III.10.4.1 Paramètres de simulation
Nos différentes simulations sont réalisées à l’aide du simulateur OMNeT++ version 4.1,
installé sous le système d’exploitation Ubuntu version 10.04.
Dans toutes nos simulations, les capteurs vidéo sont déployés de manière aléatoire avec le
même rayon de communication (Rc), rayon de couverture (Rs) et CdV.
Initialement, La direction de chaque capteur vidéo est choisie de manière aléatoire.
La simulation commence par une procédure de découverte du voisinage. Après que chaque
capteur vidéo a reçu la position ainsi que la direction de ses nœuds voisins, il pourra alors
sélectionner une direction optimale.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
79
Si un capteur vidéo change sa direction initiale, ce dernier doit envoyer un message à ses
nœuds voisins indiquant sa nouvelle direction avant de commencer à calculer ses ensembles
couvrants.
Nous considérons les paramètres de simulation résumés dans le tableau III.1.
Paramètres Valeurs
Champ de communication 30m
Champ de capture 20m
AdV 30°-120°
Profondeur de vue 25m
Capacité de la batterie 100 unités
Vitesse de capture minimale 0,5 images/seconde
Vitesse de capture maximale 6 images/seconde
Nombre de nœuds 75-250
Zone de surveillance 100m * 100m
Tableau III.1: Paramètres de simulation
Les scénarios de simulation se déroulent en plusieurs itérations (rounds) avec une durée de
10 secondes, ainsi à chaque itération les capteurs vidéo décident de rester actifs ou de passer
en mode veille et ceci, selon l’activité de leurs nœuds voisins.
A chaque capture d’image, la capacité de la batterie du nœud sera décrémentée d’une unité.
Un capteur vidéo qui décide de faire une rotation doit décrémenter la capacité de sa
batterie de deux unités.
La vitesse de capture associée à chaque capteur vidéo dépend de la taille de son ensemble
couvrant et la valeur attribuée à la variable représentant la criticité de l’application (voir sous-
section III.9.2.3, pp. 68). Et par conséquent, la vitesse de capture est calculée de manière
dynamique durant la simulation. Pour faire un compromis entre la qualité d’image capturée et
le niveau d’énergie, nous avons opté pour une valeur de criticité moyenne (r0=0,5).
A la fin de chaque itération, les capteurs actifs décrémentent leur batterie d’une unité.
Le scénario de simulation se termine lorsque les capteurs actifs du réseau n’auront plus de
nœuds voisins. Cependant, il est aussi possible de considérer un nombre limite de nœuds
actifs (un certain seuil) comme un critère d’arrêt de la simulation.
Dans les scénarios de simulation présentés dans cette section, nous supposons un champ de
déploiement qui ne contient aucun obstacle.
Afin de réduire l’impact du déploiement aléatoire sur les résultats de simulation, pour
chaque scénario nous avons exécuté cinq simulations pour prendre ensuite la valeur moyenne.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
80
III.10.4.2 Métriques de performances
Les performances du modèle proposé sont évaluées selon les trois métriques suivantes :
Pourcentage moyen de couverture : Après le déploiement initial des capteurs vidéo,
le pourcentage moyen de couverture est calculé par un ensemble de nœuds actifs après
la fin de chaque itération de simulation par la formule III.23.
Pourcentage moyen de couverture=
(III.23)
Où :
R : représente le nombre d’itérations (rounds) de la simulation.
Nombre moyen d’ensembles couvrants : Après la phase de construction
d’ensembles couvrants, chaque capteur vidéo calcule le nombre d’ensembles
couvrants trouvés. A la fin de la simulation, nous récupérons les statistiques sur le
pourcentage moyen d’ensembles couvrants de tous les nœuds capteurs en utilisant la
formule III.24.
Nombre moyen d’ensembles couvrants=
(III.24)
Où :
N : représente le nombre total de capteurs vidéo.
Pourcentage moyen de nœuds actifs : représente le nombre moyen de nœuds qui
sont dans l’état actif parmi les capteurs déployés initialement dans la zone de
surveillance. Le résultat sera alors la moyenne entre le pourcentage moyen de nœuds
actifs trouvé lors de chaque itération de simulation jusqu’à la fin de la durée de vie du
réseau. Ce pourcentage est exprimé par la formule III.25.
Pourcentage moyen de nœuds actifs =
(III.25)
Avec :
N : le nombre total de capteurs vidéo,
R : le nombre d’itérations (rounds) de la simulation.
III.10.4.3 Résultats de simulation et interprétation
Nous présentons dans ce qui suit les résultats de performances obtenus à l’aide du
simulateur OMNeT++. Le modèle de couverture proposé où les capteurs vidéo sont dotés de
la fonction de rotation, est appelé RCVSFR. La nouvelle stratégie de construction d’ensembles
couvrants utilisée dans ce modèle est celle qui a été présentée dans la sous-section III.8.1, pp.
61.
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
81
Les différents résultats de performances sont comparés avec le modèle de couverture
original d’un RCVSF proposé par [5], avec capteurs vidéo qui ne disposent que d’une seule
direction.
A/ Pourcentage moyen de couverture avec variation de la densité du réseau
Les premiers résultats de simulation présentent le pourcentage moyen de couverture obtenu
lors des différentes itérations de simulation.
La figure III.26 indique que le pourcentage de couverture obtenu en utilisant le modèle
proposé est plus élevé par rapport aux résultats obtenus par le modèle original. Le modèle
RCVSFR fournit un meilleur pourcentage de couverture car chaque capteur vidéo choisit au
départ la direction la moins couverte par les autres capteurs. Cependant, nous pouvons
remarquer que lorsque la densité du réseau augmente (avec 250 capteurs vidéo), nous
pouvons garantir une bonne couverture de la zone de surveillance par les deux modèles.
Figure III.26: Pourcentage moyen de couverture
B/ Nombre moyen d’ensembles couvrants avec variation de la densité du réseau
La figure III.27 illustre la relation entre le nombre moyen d’ensembles couvrants et la
densité du réseau. Les résultats présentés sur cette figure indiquent que le nombre moyen
d’ensembles couvrants augmente linéairement lorsque le nombre de capteurs vidéo est plus
important.
Le nombre d’ensembles couvrants qu’un nœud capteur peut obtenir dépend en fait de la
densité du réseau et de la direction aléatoire que chaque capteur vidéo peut prendre à chaque
simulation. Le modèle RCVSFR permet à chaque capteur vidéo de construire plus d’ensembles
couvrants dans le cas où le réseau est dense (dépasse 150 nœuds). Ce qui a été vérifié grâce à
la nouvelle stratégie de construction d’ensembles couvrants. Lorsque le réseau n’est pas assez
dense, le modèle RCVSF où les capteurs sont dotés que d’une seule direction fournit de
meilleurs résultats. En effet, la probabilité de chevauchement des capteurs vidéo diminue en
orientant les capteurs vers les régions les moins couvertes surtout si le nombre de capteurs est
faible.
80 100 120 140 160 180 200 220 240 26050
55
60
65
70
75
80
Densité du réseau
Po
urc
enta
ge
(%)
mo
yen
de
cou
ver
ture
RCVSF
RCVSFR
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
82
Figure III.27: Nombre moyen d’ensembles couvrants
C/ Pourcentage moyen de nœuds actifs avec variation de la densité du réseau
Comme nous pouvons le constater sur la figure III.28, le fait d’augmenter la densité du
réseau (plus de 150 nœuds) permet de diminuer le pourcentage de nœuds actifs. Etant donné
que nous avons une meilleure communication entre les capteurs vidéo ; nous pouvons déduire
que la taille du réseau a un impact sur le niveau d’énergie des nœuds capteurs. La
performance du modèle proposé est plus significative en utilisant un réseau dense, car nous
obtenons un pourcentage réduit de nœuds actifs du moment que nous aurons généré plus
d’ensembles couvrants. Ces résultats sont intéressants dans le cas d’une défaillance de nœuds
puisque nous aurons d’autres nœuds disponibles qui pourront assurer la couverture des
capteurs défectueux.
Figure III.28: Pourcentage moyen de nœuds actifs
D/ Impact de l’angle de vue AdV sur le nombre moyen d’ensembles couvrants
Nous avons également examiné l’effet de la variation de l’angle de vue AdV de 30° jusqu’à
120° sur le nombre moyen d’ensembles couvrants trouvés. A partir des résultats de simulation
de la figure III.29, nous pouvons constater qu’en utilisant un AdV assez large permet d’obtenir
un nombre plus important d’ensembles couvrants, ce qui est évident car cela nous permettra
80 100 120 140 160 180 200 220 240 2602
4
6
8
10
12
14
Densité du réseau
No
mb
re m
oy
en d
'en
sem
ble
s co
uv
ran
ts
RCVSF
RCVSFR
80 100 120 140 160 180 200 220 240 26038
39
40
41
42
43
44
45
Densité du réseau
Po
urc
enta
ge
(%)
mo
yen
de
no
eud
s ac
tifs
RCVSF
RCVSFR
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
83
de couvrir plus de points dans le champ de déploiement. Cependant, les résultats de
simulation montrent que les performances sont meilleures en utilisant un AdV égal à 90° au
lieu de 120°. En effet, la distance entre le centre de gravité g et l’un des points {p,b,c}
(illustrés sur la figure III.8, pp. 55) est plus grande en utilisant un AdV de 120°, c’est pour
cette raison que le nombre d’ensembles couvrants diminue dans ce cas.
Figure III.29: Impact de l’angle de vue AdV sur le nombre moyen d’ensembles couvrants
E/ Impact de l’angle de vue AdV sur le pourcentage moyen de couverture
La figure III.30 représente la relation entre la densité du réseau et le pourcentage moyen de
couverture en variant l’AdV de 30° jusqu’à 120°. Les résultats de simulation révèlent qu’un
AdV large de 120° nous permet d’obtenir une meilleure couverture par rapport aux autres
AdV. Cependant, due au coût des capteurs vidéo, dans une implémentation réelle, les caméras
à faible résolution embarquées sur les capteurs sans fils possèdent un AdV limité. Et par
conséquent, pour garantir une couverture satisfaisante tout en prenant en considération les
capacités limitées des capteurs vidéo, il serait judicieux de choisir un AdV limité.
Figure III.30: Impact de l’angle de vue AdV sur le pourcentage moyen de couverture
80 100 120 140 160 180 200 220 240 2600
20
40
60
80
100
120
140
160
Densité du réseau
No
mb
re m
oy
en d
'en
sem
ble
s co
uv
ran
ts
AdV=30°
AdV=60°
AdV=90°
AdV=120°
80 100 120 140 160 180 200 220 240 2600.45
0.5
0.55
0.6
Densité du réseau
Po
urc
enta
ge
(%)
mo
yen
de
cou
ver
ture
AdV=30°
AdV=60°
AdV=90°
AdV=120°
Chapitre III. Proposition d’un modèle de couverture fiable pour la surveillance
84
III.11 Conclusion
Dans ce chapitre nous avons proposé une solution au problème de couverture dans un
RCVSF. Un nouveau modèle de couverture à l’aide de capteurs vidéo rotationnels a été
présenté. Nous avons exposé dans cette première partie de nos contributions, les différents
programmes implémentant les algorithmes utilisés pour la sélection de CdV et la construction
d’ensembles couvrants.
Les résultats de simulation indiquent que le modèle de couverture proposé offre de
meilleurs résultats en termes de pourcentage de couverture. Cependant, les applications visées
dans cette thèse concernent plutôt la surveillance de zones sensibles où la présence
d’obstacles dans l’environnement est inévitable. Nous proposons alors dans le chapitre
suivant une amélioration du modèle de couverture présenté dans ce chapitre. Ceci, dans le but
de traiter le problème d’occlusion des CdV des capteurs vidéo afin d’offrir une meilleure
couverture de la zone de surveillance.
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
85
Chapitre IV
Modèle de couverture fiable avec prise en considération
d’obstacles
IV.1 Introduction
Dans un déploiement planifié, les capteurs vidéo sont placés de façon régulière en fonction
de la topologie de la zone de surveillance. Cependant, lorsque le déploiement des capteurs est
effectué de manière aléatoire et dans des endroits inaccessibles, la présence d’obstacles peut
provoquer l’occlusion des CdV des capteurs vidéo.
Nous proposons dans ce chapitre un modèle de couverture avec prise en considération de la
présence d’obstacles dans l’environnement de surveillance. Cette solution nous permet de
minimiser les occlusions, et par conséquent, d’augmenter le pourcentage de couverture de la
zone d’intérêt.
L’objectif de ce chapitre est donc de présenter en premier lieu la notion d’occlusion dans
un RCVSF. En second lieu, nous développons les extensions apportées aux algorithmes
utilisés dans le modèle de couverture présenté dans le chapitre III. Enfin, les résultats
d’expérimentation sont illustrés pour analyser le comportement du modèle proposé dans un
environnement avec différents degrés d’occlusions.
IV.2 Notion d’occlusion
La notion d’occlusion est relative à la présence d’obstacles qui peuvent être des murs, des
arbres ou n’importe quel autre objet physique qui ne devrait pas faire partie du champ de
capture habituel [107].
Dans une application de surveillance visuelle, le CdV des capteurs peut être soudainement
obstrué par un obstacle statique ou bien mobile. Si une telle occlusion est permanente, le
capteur vidéo peut devenir non-opérationnel pour assurer des fonctions de surveillance de
l’application. L’occlusion est fréquemment imprévisible et peut réduire sévèrement le champ
de couverture de plusieurs capteurs vidéo, mais son impact réel dépend des exigences de
l’application. La figure IV.1(b), illustre une représentation graphique d’une occlusion qui
résulte de l’existence d’un obstacle entre le capteur vidéo et le point d’intérêt (la cible) qu’il
doit couvrir.
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
86
La présence d’un obstacle peut engendrer soit une occlusion totale ou une occlusion
partielle, comme illustré sur les figures IV.1(c) et IV.1(d). Dans la première, le CdV du
capteur vidéo est obstrué complètement par l’obstacle, ce qui rend impossible la couverture de
la cible. Dans le second, l’occlusion du CdV par l’obstacle n’est pas complète, donc il se peut
que la cible à couvrir se situe dans la partie du CdV qui n’est pas affectée par l’obstacle [108].
(a) CdV sans occlusion (b) CdV avec occlusion (c) Occlusion totale (b) Occlusion partielle
Figure IV.1: Occlusion du CdV d’un capteur vidéo
Le modèle de couverture avec prise en considération d’obstacles présenté dans ce chapitre
a la capacité de contourner les régions d’occlusions qui peuvent apparaître lors du premier
déploiement. Comme illustré sur la figure IV.2(a), la présence d’obstacles engendre
l’occlusion du CdV du nœud vidéo v1. Ce genre de situation a été pris en considération dans la
fonction de sélection de CdV avec évitement d’obstacles (voir section IV.5, pp. 89). Notre
objectif est de trouver la meilleure orientation des capteurs vidéo tout en évitant les régions
d’occlusion. Comme nous pouvons le distinguer sur la figure IV.2(b), après le second
déploiement des capteurs vidéo, la région est maintenant couverte par le CdV du nœud vidéo
v2 qui n’est pas affecté par un obstacle.
(a) Déploiement initial (b) Second déploiement après sélection de CdV
Figure IV.2: RCVSF avec présence d’obstacles
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
87
IV.3 Autres formes géométriques d’un obstacle
Pour la modélisation d’un obstacle dans un environnement de simulation, nous pouvons
choisir plusieurs formes géométriques en fonction de la forme et la taille de l’obstacle que
nous voulons modéliser. Nous pouvons utiliser un segment, un rectangle, un cercle ou encore
un polygone, avec des positions prédéfinies à l’avance comme la modélisation sous forme de
grille, ou bien placés de manière aléatoire, ce qui se rapproche le plus de la réalité.
Nous présentons dans ce qui suit des éléments géométriques qui peuvent être utilisés pour
décrire la forme d’un obstacle. Ces éléments de base peuvent être utilisés pour représenter des
objets simples du monde réel ou encore peuvent être combinés pour produire des objets plus
complexes (voir figure IV.3) [109].
Obstacles rectangulaires : ce type d’obstacles correspond généralement aux constructions
et gros véhicules. Des obstacles de cette forme ne sont pas supposés être trop grands
comparés aux dimensions du champ de déploiement du réseau global. Des obstacles de ce
type peuvent être trouvés surtout dans des milieux urbains.
Obstacles circulaires : ce type d’obstacles correspond aux grands rochers, lacs et grandes
souches d’arbres. Nous trouvons généralement ce type d’obstacles dans des environnements
en « outdoor », des champs de bataille, etc.
Obstacles en anneau : ce type d’obstacles peut représenter des zones du réseau qui sont
isolées des autres nœuds, c’est-à-dire, les nœuds qui se trouvent à l’intérieur de l’anneau sont
séparés du reste du réseau par la partie extérieure de l’obstacle.
Obstacles en bandes : ce type d’obstacles peut correspondre par exemple à une rivière
(obstacle de communication) traversant un réseau de déploiement ou un long mur (obstacle
physique) situé dans la zone de déploiement.
Figure IV.3: Combinaison de plusieurs formes d’obstacles pour représenter des obstacles
plus complexes [109]
Dans le cadre de notre travail, les obstacles déployés aléatoirement, utilisés afin de générer
des occlusions dans le RCVSF sont représentés par des segments de différentes tailles. Les
autres formes d’obstacles présentées dans cette section peuvent faire l’objet de travaux
complémentaires sur le modèle de couverture proposé (voir perspectives).
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
88
IV.4 Modèle de couverture avec évitement d’obstacles
La présence d’obstacle dans l’environnement de surveillance peut produire une réduction
du champ de capture à cause de l’effet d’occlusion des CdV des capteurs vidéo. L’avantage
majeur d’utiliser des capteurs vidéo rotationnels est d’avoir la flexibilité d’ajuster les
orientations des capteurs.
Dans cette section, nous présentons les extensions apportées au modèle de couverture avec
capteurs vidéo rotationnels. Nous prenons en considération la présence éventuelle d’obstacles
afin de pouvoir les détecter et les éviter. Ceci, dans le but d’assurer une meilleure couverture
de la zone de surveillance.
Comme nous l’avons déjà mentionné dans la sous-section III.7.4, pp. 59, après que chaque
capteur vidéo a calculé pour chaque direction le nombre de nœuds voisins qui peuvent couvrir
son CdV respectif, en outre, le capteur vidéo rotationnel doit détecter parmi ses trois CdV
celui qui est affecté par un obstacle.
La figure IV.4 illustre un capteur vidéo rotationnel dont la troisième direction contient une
occlusion suite à la présence d’un obstacle dans le CdV3.
Pour traiter la présence d’occlusions dans les différents CdV des capteurs déployés, nous
avons utilisé la fonction booléenne obstacleList.intersects(Segment(FoV.p, FoV.r)) (voir la
fonction de la figure IV.5, ligne 20). Cette dernière retourne vrai s’il existe au moins un point
d’intersection entre un segment de la liste d’obstacles déjà prédéfinie et le vecteur de direction
du CdV du capteur vidéo (Segment (FoV.p, FoV.r)). Nous avons choisi le segment du vecteur
de direction pour le calcul de l’intersection afin d’augmenter les chances d’éviter des
occlusions totales du CdV des capteurs vidéo.
Enfin, le capteur vidéo transite vers la direction qui contient le minimum de nœuds voisins
avec une absence d’occlusion afin d’assurer une couverture maximale tout en évitant les
obstacles.
Figure IV.4: Modèle d’un capteur vidéo rotationnel avec présence d’obstacle
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
89
IV.5 Fonction de sélection d’un CdV avec évitement d’obstacles
Pour la sélection d’un CdV avec évitement d’obstacles, nous proposons la fonction de la
figure IV.5 qui est une extension de la fonction illustrée sur la figure III.11 (voir la sous-
section III.7.4, pp. 60) qui consiste à parcourir les trois directions du capteur vidéo afin
d’éviter celles qui présentent des occlusions.
1: Début
2: Entrées: N(v) : l’ensemble de tous les capteurs voisins appelés v’ du nœud v
3: t1: la première direction aléatoire du nœud v
4: obstacleList: un ensemble de segments générés aléatoirement
5: Sortie: CdV
6: //Etape d’initialisation
7: v est inactif
8: //Calculer les trois CdV du nœud capteur v
9: Calculer le CdV1 en utilisant les formules géométriques
10: //Calculer la deuxième direction
11: t2=t1+(2*PI)/3
12: Calculer le CdV2 en utilisant les formules géométriques
13: //Calculer la troisième direction
14: t3=t1+(4*PI)/3
15: Calculer le CdV3 en utilisant les formules géométriques
16: //Analyser le voisinage pour les trois CdV du nœud capteur v
17: pour chaque CdVi, i=1,3 faire
18: Calculer le nombre de nœuds voisins ϵ N(v) qui couvrent au moins deux points du CdVi
19: //Vérifier pour chaque direction s’il existe un point d’intersection entre son CdV
respectif et un obstacle
20: occluded_CdVi=obstacleList.intersects(Segment(CdVi.p, CdVi.r))
21: fin pour
22: //Chercher le CdV qui assure la couverture de la région la moins couverte
23: si (((nombre de nœuds voisins ϵ N(v) couvrant CdV1) < (nombre de nœuds voisins ϵ
N(v) couvrant CdV2)) && occluded_CdV1 = = FALSE) alors
24: CdV = CdV1;
25: finsi
26: Sinon si (occluded_CdV2 = = FALSE) alors
27: CdV = CdV2;
28: finsi
29: si (((nombre de nœuds voisins ϵ N(v) couvrant CdV 3) < (nombre de nœuds voisins ϵ
N(v) couvrant CdV)) && occluded_CdV3 = = FALSE) alors
30: CdV = CdV 3;
31: finsi
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
90
32: //Vérifier si le CdV trouvé est différent du premier CdV associé au nœud capteur v
33: si CdV != CdV1 alors
34: Envoyer sa nouvelle direction à ses nœuds voisins
35: finsi
36: Retourner CdV
37: Fin
Figure IV.5: Fonction de sélection de CdV avec évitement d’obstacles
IV.6 Fonction de construction d’ensembles couvrants avec évitement
d’obstacles
Concernant la stratégie de construction d’ensembles couvrants avec évitement d’obstacles,
nous avons apporté quelques extensions à la fonction proposée dans la section III.8.1.1, pp.
61. Notre objectif ici est d’éviter les CdV avec occlusions et donc de sélectionner uniquement
les nœuds voisins qui ne sont affectés par aucun obstacle.
Nous avons utilisé également la fonction booléenne obstacleList.intersects(Segment
(point1, point2)) (voir la fonction de la figure IV.6, lignes : 19, 24, 28 et 33) qui retourne vrai
s’il existe au moins un point d’intersection entre un segment de la liste d’obstacles déjà
prédéfinie et le segment (point1, point2). Le point1 désigne l’un des points du CdV du capteur
vidéo et le point2 représente la position de chaque nœud voisin.
Par exemple, si le CdV du nœud voisin v’ qui couvre le point p du CdV du nœud v n’est pas
affecté par un obstacle alors la fonction booléenne obstacleList.intersects(Segment(v.p,
v’[i].p)) (voir la fonction de la figure IV.6, ligne 19) retournera faux, ce qui nous permet
d’inclure le nœud v’ dans l’ensemble P.
1: Début
2: Entrées: N(v) : l’ensemble de tous les capteurs voisins appelés v’ du nœud v
3: p, b, c: les sommets du CdV sélectionné, représenté par un triangle
4: g: le barycentre du triangle pbc
5: gp’, gb’, gc’: points proches du barycentre du triangle pbc
6: P, B, C, G, PG, BG, CG: ensemble = { }
7: obstacleList: un ensemble de segments générés aléatoirement
8: Sortie: Co(v)
9: //Etape d’initialisation
10: v est inactif
11: //Calculer les points intermédiaires gp’, gb’et gc’
12: gp’= le milieu entre le point g et le centre du segment [pg]
13: gb’= le milieu entre le point g et le centre du segment [bg]
14: gc’= le milieu entre le point g et le centre du segment [cg]
15: //Former les ensembles P, B, C et G
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
91
16: //Parcourir tous les nœuds voisins du nœud v
17: pour (i= 0; i< |N(v)|; i++) faire
18: //Vérifier si le point p du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
et ce dernier n’est pas affecté par un obstacle
19: si ((p.is_inside(v’[i].CdV) && !obstacleList.intersects(Segment(v.p, v’[i].p))) alors
20: P.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble P
21: finsi
22: //Vérifier si le point b du CdV du capteur v est à l’intérieur du CdV du nœud voisin
23: v’[i] et ce dernier n’est pas affecté par un obstacle
24: si ((b.is_inside(v’[i].CdV) && !obstacleList.intersects(Segment(v.b, v’[i].p))) alors
25: B.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble B
26: finsi
27: //Vérifier si le point c du CdV du capteur v est à l’intérieur du CdV du nœud voisin v’[i]
et ce dernier n’est pas affecté par un obstacle
28: si ((c.is_inside(v’[i].CdV) && !obstacleList.intersects(Segment(v.c, v’[i].p))) alors
29: C.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble C
30: finsi
31: //Vérifier si l’un des point gp’, gb’ ou gc’ du CdV du capteur v est à l’intérieur du
32: CdV du nœud voisin v’[i] et ce dernier n’est pas affecté par un obstacle
33: si ((gp’.is_inside(v’[i].CdV)&& !obstacleList.intersects (Segment(v.gp’, v’[i].p))) ||
(gb’.is_inside(v’[i].CdV) && !obstacleList.intersects(Segment(v.gb’, v’[i].p))) ||
(gc’.is_inside(v’[i].CdV) && !obstacleList.intersects(Segment(v.gc’, v’[i].p)))) alors
34: G.insert(v’[i]) //Insérer le nœud voisin v’[i] dans l’ensemble G
35: finsi
36: fin pour
37: //Calculer les ensembles PG, BG et CG
38: PG={P∩G}
39: BG={B∩G}
40: CG={C∩G}
41: //Calculer le produit Cartésien des ensembles PG, BG et CG
42: Co(v)= {PG×BG×CG}
43: Retourner Co(v)
44: Fin
Figure IV.6: Fonction de construction d’ensembles couvrants avec évitement d’obstacles
IV.7 Applications visées pour l’exploitation du modèle de couverture
proposé
Avant de mettre en place un RCVSF pour réaliser une application orientée surveillance,
nous devons prendre en considération le degré de la criticité ainsi que les exigences
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
92
spécifiques de l’application envisagée. De ce fait, nous présentons dans les deux sous-sections
suivantes deux types d’applications qui sont concrétisées à l’aide du modèle de couverture
proposé.
IV.7.1 Applications pour l’économie d’énergie
Dans ce type d’applications de surveillance, le but est de prolonger la durée de vie du
réseau. Ce dernier doit rester opérationnel sur le long terme afin de pouvoir détecter une
intrusion. Le fait d’utiliser des capteurs vidéo rotationnels combinés avec la technique de
construction d’ensembles couvrants permet d’améliorer la couverture de la zone de
déploiement tout en économisant l’énergie associée aux capteurs vidéo. L’application de
surveillance la plus envisageable dans ce cas de figure est la surveillance de zones frontières.
Dans ce type d’applications, nous pouvons exploiter la technique d’ordonnancement des
capteurs vidéo en se basant sur l’approche par ajustement dynamique. Dans ce cas, pour
améliorer la qualité de la surveillance, les nœuds se situant sur la zone frontière pourront
augmenter leur vitesse de capture, tandis que les nœuds qui se situent dans la zone intérieure
peuvent se mettre en veille.
IV.7.2 Applications pour la tolérance aux pannes
Suite aux récentes catastrophes, tant naturelles (tremblement de terre, tsunami, etc.) que
d’origine humaine (accidents dans les mines), l’utilisation des nouvelles technologies est
devenue primordiale. Ceci, afin de pouvoir assister les opérations de secours et reporter les
informations pertinentes sur l’état des lieux en temps réel. En effet l’utilisat ion des capteurs
vidéo permet un déploiement rapide et efficace dans un environnement de désastre dont
l’accès est quasiment impossible aux équipes de secours.
Les principales contributions du modèle proposé dans le cadre de la couverture avec
tolérance aux pannes sont explicitées dans l’exemple illustré sur la figure IV.7.
Dans le scénario présenté sur la figure IV.7, nous simulons une situation de gestion post-
désastre, où 25 capteurs vidéo sont déployés aléatoirement avec un ensemble d’obstacles pour
générer des occlusions [8].
La figure IV.7(a), illustre le premier déploiement des capteurs vidéo où les CdV des
capteurs vidéo sont limités à la première direction aléatoire associée à chaque caméra. Nous
pouvons remarquer que les régions critiques de la zone de déploiement ne sont pas
complètement couvertes par les capteurs, du moment que les personnes situées dans les
régions 2 et 4 sont hors du CdV des capteurs vidéo.
La figure IV.7(b), présente la nouvelle topologie du RCVSF après que chaque capteur
vidéo a sélectionné un autre CdV si ce dernier est meilleur que son CdV initial afin de
maximiser la couverture de la région. Comme nous pouvons le distinguer sur la figure
IV.7(b), avec le second déploiement, les régions 2 et 4 sont désormais complètement
couvertes après la deuxième configuration des capteurs vidéo.
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
93
De plus, comme nous l’avons déjà abordé dans la section IV.2, pp. 86, nous pouvons
contourner les régions d’occlusion à l’aide de la nouvelle fonction de sélection de CdV.
Comme illustré sur la figure IV.7(a), la présence d’un obstacle devant la région 3 engendre
l’occlusion du CdV du nœud vidéo v1. Comme nous pouvons le constater sur la figure IV.7(b),
cette situation peut être évitée en changeant l’orientation du capteur vidéo v2 vers la région la
moins couverte.
Dans ce type d’applications, la redondance des capteurs vidéo est exploitée pour la
tolérance aux pannes. Contrairement à l’application précédente où la fonction de construction
d’ensembles couvrants est plutôt utilisée pour économiser de l’énergie.
(a) Déploiement initial (b) Second déploiement après sélection de CdV
Figure IV.7: Déploiement d’un RCVSF pour une gestion post-désastre
IV.8 Implémentation des algorithmes
L’environnement et le modèle de simulation sont présentés dans la section III.10, pp. 70.
Nous reprenons dans les sous-sections suivantes uniquement les programmes du modèle de
couverture nécessaires à la prise en considération d’obstacles dans la zone de surveillance.
Une analyse comparative est présentée par la suite entre les résultats de simulation du
nouveau modèle de couverture avec évitement d’obstacles, et d’autres modèles de couverture
existants.
IV.8.1 Programme implémentant la fonction de sélection d’un CdV avec évitement
d’obstacles
Le programme de la figure IV.8 illustre une amélioration de la fonction de sélection d’un
CdV. Notre objectif est d’éviter de faire transiter les capteurs vidéo vers la direction qui est
obstruée par la présence d’obstacles, de telle sorte à minimiser l’effet d’occlusion.
Triangle VideoSensorNode::direction(){
int i,d=0,d1=0,d2=0,min=0;
for (i = 0; i<this->nbNeighbors; i++) {
Point PP(this->neighbors[i].p.x,this->neighbors[i].p.y);
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
94
Point PB(this->neighbors[i].b.x,this->neighbors[i].b.y);
Point PC(this->neighbors[i].c.x,this->neighbors[i].c.y);
g.x = (this->neighbors[i].p.x + this->neighbors[i].b.x+ this->neighbors[i].c.x)/3;
g.y = (this->neighbors[i].p.y + this->neighbors[i].b.y + this->
neighbors[i].c.y)/3;
Point PG(g.x,g.y);
if ((PP.is_inside(this->myFoV) && PG.is_inside(this->myFoV)) ||
(PB.is_inside(this->myFoV) && PG.is_inside(this->myFoV)) || (PC.is_inside(this->
myFoV) && PG.is_inside(this->myFoV))){
d=d+1;
}
if ((PP.is_inside(this->myFoV1) && PG.is_inside(this->myFoV1)) ||
(PB.is_inside(this->myFoV1) && PG.is_inside(this->myFoV1)) || (PC.is_inside(this-
>myFoV1) && PG.is_inside(this->myFoV1))){
d1=d1+1;}
else {if ((PP.is_inside(this->myFoV2) && PG.is_inside(this->myFoV2)) ||
(PB.is_inside(this->myFoV2) && PG.is_inside(this->myFoV2)) || (PC.is_inside(this-
>myFoV2) && PG.is_inside(this->myFoV2))){
d2=d2+1;
}}}
Triangle theFoV;
/* Si les trois CdV présentent des occlusions donc le capteur vidéo gardera sa
première direction */
if(CoordNode->obstacleList.intersects(Segment(this->myFoV.p, this->myFoV.r)) &&
CoordNode->obstacleList.intersects(Segment(this->myFoV1.p, this->myFoV1.r1)) &&
CoordNode->obstacleList.intersects(Segment(this->myFoV2.p, this->myFoV2.r2))){
theFoV=this->myFoV;
}
if ((d<=d1) && !CoordNode->obstacleList.intersects(Segment(this->myFoV.p, this->
myFoV.r))) {if (d<=d2){ min=d;
theFoV=this->myFoV;
}
Else {if(!CoordNode->obstacleList.intersects(Segment(this->myFoV2.p, this->
myFoV2.r2))){min=d2;
theFoV=this->myFoV2;
sendPosition(true);
} }
}
else {if ((d1<=d2) && !CoordNode->obstacleList.intersects(Segment(this-> myFoV1.p,
this->myFoV1.r1))){min=d1;
theFoV=this->myFoV1;
sendPosition(true);
}
else {if(!CoordNode->obstacleList.intersects(Segment(this->myFoV2.p, this->
myFoV2.r2))){min=d2;
theFoV=this->myFoV2;
sendPosition(true);
} }
}
return theFoV;
}
Figure IV.8: Programme implémentant la fonction de sélection d’un CdV avec évitement
d’obstacles
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
95
IV.8.2 Programme implémentant la fonction de construction d’ensembles couvrants
avec évitement d’obstacles
Le fragment de programme illustré sur la figure IV.9, présente la fonction de construction
d’ensembles couvrants avec prise en considération d’obstacles dans la sélection des nœuds
voisins. L’ensemble couvrant final qui est le résultat du produit Cartésien doit contenir
uniquement les nœuds voisins dont le CdV ne présente aucune occlusion.
void VideoSensorNode::computeCoverset() {
…
Point PP(p.x,p.y);
Point PB(b.x,b.y);
Point PC(c.x,c.y);
Point PGP(gpg.x,gpg.y);
Point PGB(gbg.x,gbg.y);
Point PGC(gcg.x,gcg.y);
// Construction des ensembles P, B, C et G pour le calcul des ensembles couvrants
for (int i = 0; i<this->nbNeighbors; i++) {
if (PP.is_inside(this->neighbors[i].fov) &&
!CoordNode-> obstacleList.intersects(Segment(PP, this->neighbors[i].p))){
P.insert(this->neighbors[i].id);
}
if (PB.is_inside(this->neighbors[i].fov) &&
!CoordNode-> obstacleList.intersects(Segment(PB, this->neighbors[i].p))){
B.insert(this->neighbors[i].id);
}
if (PC.is_inside(this->neighbors[i].fov) &&
!CoordNode-> obstacleList.intersects(Segment(PC, this->neighbors[i].p))){
C.insert(this->neighbors[i].id);
}
//Points proches de g
if ((PGP.is_inside(this->neighbors[i].fov) &&
!CoordNode-> obstacleList.intersects(Segment(PGP, this->neighbors[i].p)))||
(PGB.is_inside(this->neighbors[i].fov) &&
!CoordNode-> obstacleList.intersects(Segment(PGB, this->neighbors[i].p)))||
(PGC.is_inside(this->neighbors[i].fov) &&
!CoordNode-> obstacleList.intersects(Segment(PGC, this->neighbors[i].p)))){
G.insert(this->neighbors[i].id);}
}
…
}
Figure IV.9: Programme implémentant la fonction de construction d’ensembles couvrants
avec évitement d’obstacles
IV.9 Evaluation des performances
Nous présentons dans cette section l’évaluation des performances du modèle proposé avec
prise en considération d’obstacles dans l’environnement de déploiement.
L’environnement d’exécution des simulations est similaire à celui que nous avons présenté
précédemment dans la sous-section III.10.4.1, pp. 79. Cependant, dans cette deuxième
catégorie de scénarios de simulations, plusieurs obstacles sont introduits dans la zone de
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
96
surveillance, afin de générer des occlusions et rendre quelques régions non couvertes. Ce qui
est important à prendre en considération dans le contexte des applications de surveillance
envisagées.
Les obstacles que nous avons considérés dans notre environnement de simulation sont
représentés par des segments de différentes tailles, positionnés de manière aléatoire lors de
l’étape d’initialisation.
Les simulations sont réalisées respectivement dans un environnement avec de faibles
occlusions et un autre avec de fortes occlusions ; ceci dans le but d’illustrer la robustesse de
notre modèle face à la présence d’obstacles dans la zone de surveillance.
Dans la première partie de nos simulations avec existence d’obstacles, un ensemble de 25
obstacles sont déployés afin d’obtenir une zone de surveillance avec de faibles occlusions.
Dans la seconde partie, 50 obstacles sont déployés aléatoirement afin d’étudier le
comportement du modèle proposé dans une zone de surveillance avec de fortes occlusions.
Les résultats de simulation présentés dans cette section concernent en premier lieu les
comparaisons effectuées entre le modèle de couverture proposé avec prise en considération
d’obstacles (appelé RCVSFROb) et le modèle existant [5]. En second lieu, nous validons les
performances de notre approche avec un autre modèle de couverture existant. Nous nous
sommes intéressés au modèle de couverture DVSA [90] présenté dans la sous-section II.7.2.2,
pp. 44, dans le but de comparer ses performances avec notre proposition.
IV.9.1 Résultats de simulation des modèles RCVSFROb et RCVSF
Nous présentons dans les sous-sections suivantes une comparaison entre les résultats de
simulation du modèle de couverture proposé RCVSFROb et le modèle existant RCVSF.
IV.9.1.1 Pourcentage moyen de couverture avec variation de la densité du réseau
A partir des résultats illustrés sur la figure IV.10, nous pouvons constater que le
pourcentage moyen de couverture obtenu en utilisant le modèle RCVSFROb est meilleur par
rapport à celui obtenu par le modèle RCVSF. Ce qui est vérifié même dans le cas de présence
d’un nombre important d’obstacles dans la zone de déploiement. Puisque le modèle proposé
diminue considérablement l’effet d’occlusion en évitant au maximum les obstacles présents
dans le champ de déploiement, cette technique nous permet d’améliorer le pourcentage de
couverture de la zone de surveillance.
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
97
Figure IV.10: Pourcentage moyen de couverture avec variation de la densité du réseau
IV.9.1.2 Pourcentage moyen de couverture avec variation du champ de communication
Dans les résultats de simulation de la figure IV.11, le nombre de nœuds est fixé à 250
capteurs vidéo pour différents champs de communication de 30m jusqu’à 90m. Lorsque le
champ de communication augmente, nous pouvons remarquer que le pourcentage de
couverture est plus important. En effet, plus le champ de communication est large, plus le
nombre de nœuds voisins qu’un nœud capteur peut avoir augmente. Ce qui nous permet
d’avoir un nombre considérable d’ensembles couvrants et par conséquent un pourcentage de
couverture plus élevé surtout dans un environnement avec de faibles occlusions. Dans les
simulations où nous avons généré plus d’obstacles, la performance des deux modèles diminue
du moment que nous avons un nombre plus important de CdV avec occlusion.
Figure IV.11: Pourcentage moyen de couverture avec variation du champ de
communication
IV.9.1.3 Nombre moyen d’ensembles couvrants
Les résultats de simulation présentés sur la figure IV.12 indiquent le nombre moyen
d’ensembles couvrants avec variation de la densité du réseau. Nous pouvons remarquer une
évolution croissante en utilisant un réseau dense dans une zone de déploiement avec de faibles
occlusions. Dans ce cas, le nombre de nœuds voisins dont le CdV est affecté par des obstacles
80 100 120 140 160 180 200 220 240 26045
50
55
60
65
70
Densité du réseau
Po
urc
enta
ge
(%)
mo
yen
de
cou
ver
ture
RCVSF Faibles Occlusions
RCVSFROb
Faibles Occlusions
RCVSF Fortes Occlusions
RCVSFROb
Fortes Occlusions
30 40 50 60 70 80 9052
54
56
58
60
62
64
66
68
70
72
Champ de communication (m)
Po
urc
enta
ge
(%)
mo
yen
de
cou
ver
ture
RCVSF Faibles Occlusions
RCVSFROb
Faibles Occlusions
RCVSF Fortes Occlusions
RCVSFROb
Fortes Occlusions
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
98
est limité. Le nombre d’ensembles couvrants diminue en utilisant le modèle original. Ceci, à
cause du nombre de CdV avec occlusions qui réduit les chances de trouver des nœuds
redondants pour la couverture.
Figure IV.12: Nombre moyen d’ensembles couvrants
IV.9.1.4 Pourcentage moyen de nœuds actifs
A partir des résultats de simulation illustrés sur la figure IV.13, nous pouvons observer
qu’avec une densité réseau assez large, nous pouvons trouver un pourcentage moins
significatif de nœuds actifs. En effet, avec une forte redondance des nœuds capteurs nous
avons la possibilité d’obtenir un nombre important d’ensembles couvrants. Cependant, le
pourcentage de nœuds actifs augmente en utilisant un champ de déploiement avec de fortes
occlusions car dans ce cas, les deux modèles génèrent moins d’ensembles couvrants.
Toutefois, nous pouvons remarquer que le modèle proposé RCVSFROb permet de mettre un
grand nombre de capteurs en mode veille et par conséquent de réduire le nombre de nœuds
actifs.
Figure IV.13: Pourcentage moyen de nœuds actifs
80 100 120 140 160 180 200 220 240 2600
1
2
3
4
5
6
7
8
Densité du réseau
No
mb
re m
oy
en d
'en
sem
ble
s co
uv
ran
ts
RCVSF Faibles Occlusions
RCVSFROb
Faibles Occlusions
RCVSF Fortes Occlusions
RCVSFROb
Fortes Occlusions
80 100 120 140 160 180 200 220 240 26041
42
43
44
45
46
47
48
49
50
Densité du réseau
Po
urc
enta
ge
(%)
mo
yen
de
no
eud
s ac
tifs
RCVSF Faibles Occlusions
RCVSFROb
Faibles Occlusions
RCVSF Fortes Occlusions
RCVSFROb
Fortes Occlusions
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
99
IV.9.2 Résultats de simulation des modèles RCVSFROb et DVSA
Nous présentons dans les sous-sections suivantes quelques résultats de performances du
modèle de couverture proposé RCVSFROb et les deux modèles existants RCVSF et DVSA.
IV.9.2.1 Pourcentage moyen de couverture avec variation de la densité du réseau
Nous pouvons remarquer clairement à partir de la figure IV.14 qu’avec une densité
relativement faible (cas de 75 et de 100 nœuds capteurs), le modèle DVSA fournit des résultats
meilleurs que RCVSF et RCVSFROb. En effet, la fonction de mobilité en plus de la rotation
utilisée par DVSA se révèle très utile lorsque nous avons un réseau avec une faible densité.
Cependant, quand le nombre de nœuds capteurs dépasse 150, le modèle RCVSFROb offre de
meilleures performances. Effectivement, le fait d’utiliser uniquement la fonctionnalité de
rotation nécessite un temps de réponse plus restreint et un ajustement plus rapide des CdV des
capteurs vidéo. De plus, comme le modèle de couverture proposé diminue l’effet de la
présence d’obstacles en évitant les CdV avec occlusion, cette extension nous permet
d’améliorer le pourcentage de couverture.
Figure IV.14: Pourcentage moyen de couverture avec variation de la densité du
réseau
IV.9.2.2 Pourcentage moyen de couverture avec variation du champ de capture
La figure IV.15 montre les résultats obtenus par la variation du champ de capture de 10 m
jusqu’à 25m avec une densité fixe de 150 nœuds capteurs. Lorsque le champ de capture
augmente, nous pouvons voir clairement à partir de la figure IV.15 que le pourcentage moyen
de couverture est meilleur. Nous avons obtenu des résultats plus intéressants en utilisant le
modèle RCVSFROb comparé à ceux déduits des autres modèles existants RCVSF et DVSA.
Cette amélioration est due au fait que l’algorithme proposé utilise l’orientation optimale des
capteurs vidéo. En effet, la sélection se fait uniquement par rapport aux CdV qui ne présentent
aucune occlusion et qui sont orientées vers les régions les moins couvertes.
80 100 120 140 160 180 200 220 240 26050
52
54
56
58
60
62
64
66
68
70
Densité du réseau
Po
urc
enta
ge
(%)
mo
yen
de
cou
ver
ture
RCVSF
DVSA
RCVSFROb
Chapitre IV. Modèle de couverture fiable avec prise en considération d’obstacles
100
Figure IV.15: Pourcentage moyen de couverture avec variation du champ de capture
IV.10 Conclusion
Dans ce dernier chapitre, nous avons montré l’utilité de la prise en considération de la
présence d’obstacles lors de la mise en œuvre du modèle de couverture à l’aide de capteurs
vidéo rotationnels. Nous avons illustré à travers des algorithmes, les fonctions que nous avons
adoptées afin d’éviter de faire transiter les capteurs vidéo vers des CdV non opérationnels.
Notre objectif est d’éviter la présence d’occlusion qui peut affecter directement la qualité de
la surveillance. Des exemples applicatifs ont également été exposés pour montrer l’intérêt de
l’utilisation du modèle de couverture avec évitement d’obstacles dans des applications réelles
de surveillance. Enfin, l’efficacité de l’approche proposée a été validée en effectuant des
comparaisons avec deux modèles de couverture existants. Les performances ont été évaluées à
travers plusieurs scénarios de simulation exécutés sous différentes contraintes telles qu’un
environnement de surveillance avec de fortes occlusions.
10 15 20 2554
56
58
60
62
64
66
Champ de capture (m)
Po
urc
enta
ge
(%)
mo
yen
de
cou
ver
ture
RCVSF
DVSA
RCVSFROb
Conclusion générale
101
Conclusion générale
En raison de leur fort potentiel applicatif dans différents domaines innovants tels que la
surveillance militaire, environnementale et des zones sensibles suite aux catastrophes
naturelles, les RCVSF suscitent l’intérêt de nombreux travaux de recherche et de projets
futurs. Outre les challenges soulevés par les réseaux de capteurs scalaires qui concernent entre
autres le déploiement, la couverture, la limitation d’énergie, etc, les RCVSF imposent de
nouvelles contraintes liées à leurs caractéristiques et la nature de la donnée capturée.
Dans cette thèse, nous avons traité le problème de la couverture des zones sensibles à
l’aide des RCVSF. Une solution distribuée à ce problème a été proposée dans le but de
maximiser le pourcentage de couverture de la zone de surveillance. Nous avons également
traité les problèmes de tolérance aux pannes et d’économie d’énergie. Ces derniers sont
inévitables après un déploiement aléatoire des capteurs vidéo dans un environnement non
idéal. Dans cette optique, de nouvelles stratégies de construction d’ensembles couvrants ont
été proposées. Le but est de trouver pour chaque capteur vidéo l’ensemble de ses nœuds
voisins qui peuvent couvrir son CdV. Cette solution peut être exploitée pour économiser de
l’énergie en minimisant le nombre de nœuds actifs, comme elle peut être utilisée pour assurer
la tolérance aux pannes des capteurs défectueux. Nous avons par la suite amélioré
l’algorithme de couverture proposé afin de minimiser l’effet d’occlusions des CdV des
capteurs vidéo en évitant les obstacles dans l’environnement de surveillance.
Dans ce manuscrit, nous avons tout d’abord présenté dans les deux premiers chapitres un
état de l’art sur les RCVSF ainsi qu’une synthèse des principaux travaux de recherche sur la
couverture dans ce domaine. Les deux derniers chapitres représentent nos différentes
contributions. Dans le troisième chapitre, nous avons proposé en premier lieu une nouvelle
modélisation des capteurs vidéo en deux dimensions avec la possibilité de transition d’une
direction vers une autre afin d’étendre leur CdV. Ces capteurs vidéo dotés de la fonction de
rotation s’auto-organisent en échangeant des messages avec leurs voisins dans le but de
couvrir le maximum de points dans la zone de déploiement. Les résultats de simulations
révèlent que l’algorithme proposé, combiné avec la nouvelle stratégie de construction
d’ensembles couvrants permet d’augmenter considérablement le pourcentage de couverture
par rapport aux autres modèles existants. Dans le quatrième chapitre, la notion d’occlusion
des CdV des capteurs vidéo a été prise en considération. Dans cette partie, nous avons proposé
un algorithme distribué plus robuste pour la configuration des capteurs vidéo, de telle sorte à
éviter les directions qui chevauchent les obstacles. L’efficacité de cette approche a été validée
dans un environnement de simulation en présence de plusieurs obstacles déployés
aléatoirement et ceci, à travers plusieurs scénarios de simulation.
Perspectives
102
Perspectives
Plusieurs perspectives de recherche futures peuvent être envisagées sur la base des travaux
présentés dans cette thèse.
Le problème de couverture proposé avec capteurs vidéo rotationnels peut être traité dans
un espace en trois dimensions. L’objectif ici est de proposer une modélisation des CdV des
capteurs vidéo en trois dimensions. Le CdV sera alors représenté par une pyramide au lieu
d’un triangle. Ceci nécessite l’utilisation de notions géométriques beaucoup plus avancées et
une analyse plus compliquée par rapport à un déploiement de capteurs vidéo dans une région
en deux dimensions.
L’approche proposée pour la configuration des capteurs vidéo et l’amélioration de la
couverture d’une zone de déploiement est complètement distribuée. Ce qui est avantageux
pour les RCVSF concernant le temps de calcul et la scalabilité. Cependant, nous pouvons
utiliser une approche centralisée en proposant un programme d’optimisation de la couverture.
Dans cette solution, nous devons maximiser le nombre de cibles couvertes en minimisant le
nombre de capteurs actifs. Ce qui revient à traiter le problème de couverture de cibles
prédéterminées et non pas la couverture de zone et avec la contrainte de densité du réseau qui
ne doit pas dépasser une certaine limite.
L’évaluation des performances du modèle de couverture proposé a été validée à travers
plusieurs comparaisons effectuées avec les deux modèles existants [5, 90]. Nous pouvons
envisager par la suite de prendre en considération d’autres propositions qui se basent sur les
capteurs vidéo afin de les comparer avec notre modèle.
Afin d’étudier le comportement du modèle proposé dans un environnement proche de la
réalité, nous avons pris en compte la présence d’obstacles sous forme de segments de
différentes tailles déployés aléatoirement dans la zone de surveillance. Nous pouvons utiliser
dans le futur une modélisation plus complexe des obstacles de différentes formes
géométriques, ce qui est nécessaire dans les applications de désastre.
Enfin, l’efficacité du modèle proposé a été validée par simulation sous OMNeT++.
Maintenant, avec la disponibilité des capteurs vidéo, il serait judicieux de l’évaluer par la
suite sur une plateforme réelle, composée d’un nombre fini de capteurs vidéo de type Seed-
Eye Board [110].
Bibliographie
103
Bibliographie
[1] I. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, “Wireless sensor networks: a
survey”, Computer Networks, Vol. 38, No. 4, pp. 393–422, 2002.
[2] I. Akyildiz, T. Melodia, K. Chowdhury, “A survey on wireless multimedia sensor
networks”, Computer Networks, Vol. 51, No.4, pp. 921–960, 2007.
[3] A. Seema, M. Reisslein, « Towards Efficient Wireless Video Sensor Networks: A
Survey of Existing Node Architectures and Proposal for A Flexi-WVSNP Design”,
IEEE Communications Surveys & Tutorials, Vol. 13, No. 3, pp. 462-486, 2011.
[4] D. Costa, L. Guedes, “Exploiting the sensing relevancies of source nodes for
optimizations in visual sensor networks”, Multimedia Tools Applications, Vol. 64, pp.
549–579, 2013.
[5] C. Pham and A. Makhoul, R. Saadi, “Risk-based adaptive scheduling in randomly
deployed video sensor networks for critical surveillance applications”, Journal of
Networks and Computer Applications, Vol. 34, No. 2, pp. 783-795, 2011.
[6] N. Bendimerad, B. Kechar, “Coverage Enhancement in Wireless Video-Based Sensor
Networks with Rotating Capabilities,” 4th
International Conference on Computer
Science and Its Applications (CIIA’13), Saida, Algérie, pp. 105-114, 4-6 Mai 2013.
[7] N. Bendimerad, B. Kechar, “Coverage Enhancement with Rotatable Sensors in
Wireless Video Sensor Networks for Post-Disaster Management”, 1st International
Conference on Information and Communication Technologies for Disaster
Management (ICT-DM’14), Alger, Algérie, pp.1-7, 24-25 Mars 2014.
[8] N. Bendimerad, B. Kechar, “Rotational Wireless Video Sensor Networks with
Obstacles Avoidance Capability for Improving Disaster Area Coverage”, Journal of
Information Processing Systems (JIPS) (http://jips-k.org), Date d’acceptation :
20/11/2014.
[9] D. Martins, Sécurité dans les réseaux de capteurs sans fil Stéganographie et réseaux de
confiance, Thèse de docorat, L’UFR des Sciences et Techniques de l’Université de
Franche-Comté, Novembre 2010.
[10] Rahimi, M., R. Baer, O.I. Iroezi, J.C. Garcia, J. Warrior, D. Estrin et M. Srivastava,
“Cyclops : in situ image sensing and interpretation in wireless sensor networks”, 3rd
international conference on Embedded networked sensor systems, ACM, pp. 192–204,
2005.
[11] Stargate, accessible via le lien: http://platformx.sourceforge.net/home.html (consulté le
15/10/2014)
[12] Evidence Embedding Technology, Seed Eye, accessible via le lien:
http://www.evidence.eu.com/products/seed-eye.html (consulté le 18/12/2014)
[13] P. Rawat, K. D. Singh, H. Chaouchi, J. M. Bonnin, “Wireless sensor networks: a survey
on recent developments and potential synergies”, The Journal of Supercomputing, Vol.
68, Issue 1, pp. 1-48, Avril 2014.
Bibliographie
104
[14] I. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, “A survey on sensor
networks”. IEEE Communications Magazine, Vol. 40, No. 8, pp. 102–114, 2002.
[15] I. Akyildiz, E. Stuntebeck, “Wireless underground sensor networks: research
challenges”, Ad Hoc Networks, Vol. 4, No. 6, pp. 669–686, 2006
[16] M. Li, Y. Liu, “Underground structure monitoring with wireless sensor networks”, 6th
international conference on information processing in sensor networks, ACM, New
York, pp. 69-78, 2007.
[17] I. Akyildiz, D. Pompili, T. Melodia, “Challenges for efficient communication in
underwater acoustic sensor networks”, ACM SIGBED Review - Special issue on
embedded sensor networks and wireless computing, Vol. 1, Issue 2, pp. 3-8, 2004.
[18] J. Heidemann, W. Ye, J. Wills, A. Syed, and Y. Li, “Research challenges and
applications for underwater sensor networking”, IEEE Wireless Communications and
Networking Conference (WCNC’06), pp. 228–235, Las Vegas, Nev, USA, Avril 2006.
[19] J. Yick, B. Mukherjee, D. Ghosal, “Wireless sensor network survey”, Computer
Networks, Vol. 52, No. 12, pp. 2292–2330, 2008.
[20] S. Mamour Diop, Optimisation de la transmission d’images dans les réseaux de
capteurs, Thèse de doctorat en cotutelle, Université de Pau et des pays de l’Adour,
France, Université Gaston Berger de Saint-Luis, Sénégal, Juin 2014.
[21] TinyOS, accessible via le lien: http://www.tinyos.net/ (consulté le 15/07/2014)
[22] A. Chefi, Conception d’un micro-capteur d’image CMOS à faible consommation
d’énergie pour les réseaux de capteurs sans fil, Thèse en cotutelle, Université de
Grenoble, Université de Monastir, Janvier 2014.
[23] C.-C. Han, R. Kumar, R. Shea, E. Kohler, M. Srivastava. “A dynamic operating system
for sensor nodes”, 3rd international conference on Mobile systems”, applications and
services (MobiSys’05), New York, NY, USA, pp. 163-176, 2005.
[24] FreeRTOS, accessible via le lien: http://www.freertos.org/ (consulté le 20/12/2014)
[25] Mantis, accessible via le lien: http://www.cs.colorado.edu/~rhan/sensornets.html
(consulté le 20/12/2014)
[26] S. Bhatti, J. Carlson, H. Dai, J. Deng, J. Rose, A. Sheth, B. Shucker, C. Gruenwald, A.
Torgerson, R. Han, “Mantis os : an embedded multithreaded operating system for
wireless micro sensor platforms”, Mobile Networks and Applications, Vol. 10, No. 4,
pp. 563-579, 2005.
[27] Nut/OS, accessible via le lien: http://www.ethernut.de/en/software/index.html (consulté
le 14/09/2014)
[28] Contiki, accessible via le lien: http://contiki.sourceforge.net/docs/2.6/ (consulté le
10/11/2014)
[29] A. Dunkels, B. Gronvall, T. Voigt, “Contiki - a lightweight and flexible operating
system for tiny networked sensors”, Annual IEEE International Conference on Local
Computer Networks (LCN’04), Washington, DC, USA, pp. 455-462, 2004.
[30] IoT Lab, accessible via le lien: www.iotlab.eu (consulté le 10/11/2014)
[31] C. McCormick, P.-Y. Laligand, H. Lee, H. Aghajan, “Distributed agent control with
self-localizing wireless image sensor networks”, Cognitive Systems and Interactive
Sensors (COGIS 2006), 2006.
[32] S. Hengstler, H. Aghajan, “A smart camera mote architecture for distributed intelligent
surveillance”, In: ACM SenSys Workshop on Distributed Smart Cameras (DSC), 2006.
[33] S. Hengstler, D. Prashanth, S. Fong, H. “Aghajan, MeshEye : A hybrid resolution smart
camera mote for applications in distributed intelligent surveillance”, 6th international
Bibliographie
105
conference on Information processing in sensor networks (IPSN-SPOTS), ACM Press,
Cambridge, Massachusetts, USA. pp. 360–369, 2007.
[34] A. Rowe, A. Goode, D. Goel et I. Nourbakhsh, CMUcam3 : An open programmable
embedded vision sensor, Technical Report RI-TR-07-13, Carnegie Mellon Robotics
Institute, Pittsburgh, Pennsylvania 15213, 2007.
[35] E. Culurciello, A. G. Andreou, “ALOHA CMOS imager. In : IEEE International
Symposium on Circuits and Systems (ISCAS)”, Vancouver, Canada. pp. IV–956–9,
2004.
[36] C. Pham, “Communication performance of low-resource sensor motes for data
intensive applications”, IFIP Wireless Days International Conference (WD´2013), pp.
1-8, 2013.
[37] J. Yick, B. Mukherjee, D. Ghosal, “Wireless sensor networks survey”, Computer
Networks, vol. 52, pp. 2292–2330, 2008.
[38] M. Y. BAZIZ, Développement d’un outil d’évaluation de protocoles de transmission
vidéo avec applications aux réseaux de capteurs sans fil, Mémoire de Magister,
Université d’Oran, Janvier 2012.
[39] N. Bendimerad, DYMO Multi-chemins à nœuds disjoints sans interférences pour les
réseaux ZigBee/Standard IEEE 802.15.4, mémoire de magister, Université d’Oran, Mai
2010.
[40] N. Bendimerad, B. Kechar, “Évaluation des protocoles de routage Multi-chemins
réactifs pour les Réseaux de Capteurs Vidéo sans Fil”, Journées thématiques sur les
Réseaux et Systèmes pour les Applications Critiques de Surveillance (RSACS’11), pp.
35-40, Oran, Algérie, 22 et 23 Juin 2011.
[41] N. Bendimerad, B. Kechar, “Performance evaluation of QoS aware Multipath
extensions For the Dynamic MANET On-demand protocol in Wireless Sensor
Networks”, International Symposium on Programming and Systems (ISPS’11), pp.61-
68, Alger, Algérie, 25-27 Avril 2011.
[42] L. Samper, Modélisations et analyses de réseaux de capteurs, thèse de doctorat, Institut
National Polytechnique de Grenoble, Avril 2008.
[43] L. Makkaoui, Compression d’images dans les réseaux de capteurs sans fil, Thèse de
doctorat, Université de Lorraine, Novembre 2012.
[44] P. Milica, T. Zhilbert, D. Goran, and M. Veljko, “A survey of military applications of
wireless sensor networks”, The Mediterranean Conference on Embedded Computing
(MECO’12), pp.196-199 2012.
[45] C. Duran-Faundez, Transmission d'images sur les réseaux de capteurs sans fil sous la
contrainte de l’énergie, Thèse de doctorat, Université Henri Poincaré, Centre de
Recherche en Automatique de Nancy, France, Juin 2009.
[46] M. Liu, H.G. Gong, Y.G. Wen, G. H. Chen and J. N. Cao, “The Last Minute: Efficient
Data Evacuation Strategy for Sensor Networks in Post-Disaster Applications”, 2011
IEEE Conference on Computer Communication (INFOCOM 2011), Shanghai, Avril
2011.
[47] T.-W. Sung, C.-S. Yang, “A Voronoi-Based Sensor Handover Protocol for Target
Tracking in Distributed Visual Sensor Networks”, International Journal of Distributed
Sensor Networks, Vol. 14, Article ID 586210, 14 pages.
[48] M. A. Kafi, Y. Challal, D. Djenouri, M. Doudou, A. Bouabdellah, N. Badache « A
Study of Wireless Sensor Networks for Urban Traffic Monitoring: Applications and
Architecture”, International Conference on Ambient Systems, Networks and
Technologies, Canada, pp. 617-626, 2013.
Bibliographie
106
[49] M. Benazzouz, Surveillance de tout point d’une zone d’intérêt à l’aide d’un réseau de
capteur multimédia sans fil, Rapport de recherche. Ecole nationale supérieure
d’informatique, Oued-Smar, Alger, Algérie, 2013.
[50] D. Curiac, V. Constantin, P. Dan, J. Lucian and D. Alexa, “Redundancy and Its
Applications in Wireless Sensor Networks: A Survey”, WSEAS Transactions on
Computers, Vol. 8, Issue 4, pp. 705-714, 2009.
[51] D. G. Costa, I. Silva, L. A. Guedes, F. Vasques, P. Portugal, “Availability Issues in
Wireless Visuel Sensor Networks”, Journal of Sensors, Vol. 14, No. 2, pp. 2795-2821,
2014.
[52] Cours vidéo surveillance, accessible via le lien: http://www.technologuepro.com
(consulté le 10/01/2014)
[53] A. Makhoul, Réseaux de capteurs : localisation, couverture et fusion de données, Thèse
de doctorat, Université de Franche-Comte, France, Novembre 2008.
[54] D. G. Costa, L. A. Guedes, “The coverage problem in video-based wireless sensor
networks: A survey”, Journal of Sensors, Vol. 10, No. 9, pp. 8215-8247, 2010.
[55] D. Pescaru, C. Istin, F. Naghiu, M. Gavrilescu, D. Curiac, “Scalable Metric for
Coverage Evaluation in Video-Based Wireless Sensor Networks”, 5th Symposium on
Applied Computational Intelligence and Informatics, Timisoara, Romania, pp. 323-327,
28-29 Mai 2009.
[56] S. Soro, W. Heinzelman, “On the Coverage Problem in Video-Based Wireless Sensor
Networks”, In 2nd International Conference on Broadband Networks, Boston, MA,
USA, pp. 932-939, 3-7 Octobre 2005.
[57] M. A. Guvensan, A. G. Yavuz, “On coverage issues in directional sensor networks: A
survey”, Ad Hoc Networks, Vol. 9, Issue 7, pp. 1238-1255, 2011.
[58] S. Kumar, T. Lai, A. Arora, “Barrier Coverage with Wireless Sensors”, ACM Mobile
Computing and Networking (MobiCom’05), Cologne, Germany, pp. 284–298,
September 2005.
[59] L. Mohamed, Diffusion et couverture basée sur le clustering dans les réseaux de
capteurs: application à la domotique, Thèse de doctorat en cotutelle, Université A. B
Tlemcen et Université de Franche-Comté, France, 2009.
[60] Y. E. Osais, M. St-Hilaire, F.R. Riu, “Directional Sensor Placement with Optimal
Sensing Ranging, Field of View and Orientation”, Mobile Networks Applications, Vol.
15, pp. 216-225, 2010.
[61] M. Younis, K. Akkaya, “Strategies and Techniques for Node Placement in Wireless
Sensor Networks: A Survey”, Ad Hoc Networks, Vol. 6, pp. 621-655. 2008.
[62] M. Marengoni, B. Draper, A. Handson, R. Sitaraman, “A System to Place Observers on
a Polyhedral Terrain in a Polynomial Time”, Image and Vision Computing, Vol. 18, pp.
773-780, 1996.
[63] A. Mittal, L. Davis, “Visibility Analysis and Sensor Planning in Dynamic
Environments”, 8th European Conference on Computer Vision, Prague, Czech
Republic, pp. 175-189, 11-14 Mai 2004.
[64] U. Erdem, S. Sclaroff, “Optimal Placement of Cameras in Floorplans to Satisfy Task
Requirements and Cost Constraints”, 5th Workshop on Omnidirectional Vision,
Camera Networks and Non-classical Cameras, Prague, Czech Republic, Mai 2004.
[65] E. Hörster, R. Lienhart, “Approximating Optimal Visual Sensor Placement”, IEEE
International Conference on Multimedia and Expo, Toronto, ON, Canada, pp. 1257-
1260, 9-12 Juillet 2006.
Bibliographie
107
[66] E. Hörster, R. Lienhart, “On the Optimal Placement of Multiple Visual Sensors”. 4th
ACM International Workshop on Video Surveillance and Sensor Networks, Santa
Barbara, CA, USA, pp. 111-120, Octobre 2006.
[67] J. Zhao, S. Cheung, “Multi-Camera Surveillance with Visual Tagging and Generic
Camera Placement”. IEEE/ACM International Conference on Distributed Smart
Cameras, Vienna, Austria, pp. 259-266, 25-28 Septembre 2007.
[68] J. Zhao, S. Cheung, T. Nguyen, “Optimal Camera Network Configurations for Visual
Tagging”, IEEE Journal of Selected Topics in Signal Processing, Vol. 2, pp. 464-479,
2008.
[69] J. Adriaens, S. Megerian, M. Pontkonjak, “Optimal Worst-Case Coverage of
Directional Field-of-View Sensor Networks”, 3rd Annual IEEE Communications
Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks,
Reston, VA, USA, pp. 336-345, 25-28 Septembre 2006.
[70] M. Couto, C. Souza, P. Rezende, “Strategies for Optimal Placement of Surveillance
Cameras in Art Galleries”, 18th International Conference on Computer Graphics and
Vision, Moscow, Russia, pp. 1-4, 23-27 Juin 2008.
[71] J.J Gonzalez-Barbosa, T. García-Ramirez, J. Salas, J. Hurtado-Ramos, J.J Rico-
Jiménez, “Optimal Camera Placement for Total Coverage”, IEEE International
Conference on Robotics and Automation, Kobe, Japan, pp. 844-848, 12-17 Mai 2009.
[72] E. Hörster, R. Lienhart, “Calibrating and Optimizing Poses of Visual Sensors in
Distributed Platforms”, Multi-agents Systems, Vol. 12, pp. 195-210, 2006.
[73] S. Ram, K. Ramakrishnan, P. Atrey, V. Singh, M. Kankanhalli, “A Design
Methodology for Selection and Placement of Sensors in Multimedia Surveillance
Systems”, 4th ACM International Workshop on Video Surveillance and Sensor
Networks, Santa Barbara, CA, USA, pp. 121-130, Octobre 2006.
[74] C. Yu, G. Sharma, “Plane-Based Calibration of Cameras with Zoom Variation”, SPIE
Visual Communication and Image Processing, San Jose, CA, USA, Janvier 2006.
[75] X. Han, X. Cao, E.L Lloyd, C.C Cheng, “Deploying Directional Sensor Networks with
Guaranteed Connectivity and Coverage”, 5rd Annual IEEE Communications Society
Conference on Sensor, Mesh and Ad Hoc Communications and Networks, San
Francisco, CA, USA, pp. 153-160, 16-20 Juin 2008.
[76] J. Ai, A.A. Abouzeid, “Coverage by Directional Sensors in Randomly Deployed
Wireless Sensors Networks”, Journal of Combinatorial Optimization, Vol. 11, pp. 21-
41, 2006.
[77] P. Bender,Y. Pei, “Development of Energy Efficient Image/Video Sensor Networks”,
Wireless Personal Communications, Vol. 51, pp. 283-301, 2009.
[78] M. Rahimi, S. Ahmadian, D. Zats, R. Laufer, D. Estrin, “Magic Numbers in Networks
of Wireless Image Sensors”, Workshop on Distributed Smart Cameras, Boulder, CO,
USA, pp. 71-81, Octobre 2006.
[79] D. Pescaru, V. Gui, C. Toma, D. Fuiorea, “Analysis of Post-Deployment Sensing
Coverage for Video Wireless Sensor Networks”, 6th International Conference of the
Romanian Educational Network (RoEduNet), Craiova, Romania, 23-24 Novembre
2007.
[80] G. Mao, B. Fidan, B. Anderson, “Wireless Sensors Network Localization Techniques”,
ACM Computer Networks Journal, Vol. 51, pp. 2529-2553, 2007.
[81] D. Fuiorea, V. Guia, D. Pescaru, C. Toma, “Using Registration Algorithms for Wireless
Sensor Network Node Localization”, 4th IEEE International Symposium on Applied
Bibliographie
108
Computational Intelligence and Informatics, Timisoara, Romania, pp. 209-214, 17-18
Mai 2007.
[82] H. Lee, H. Aghajan, “Vision-Enabled Node Localization in Wireless Sensor
Networks”, Cognitive Systems with Interactive Sensors Conference, Paris, France, 15-
17 Mars 2006.
[83] S. Funiak, M. Paskin, C. Guestrin, R. Sukthankar, “Distributed Localization of
Networked Cameras”, 5th International Conference on Information Processing in
Sensor Networks, Nashville, TN, USA, pp. 34-42, 19-21, Avril 2006.
[84] K. Shafique, A. Hakeem, O. Javed, N. Haering, “Self Calibrating Visual Sensor
Networks”, IEEE Workshop on Applications of Computer Vision, Copper Mountain,
CO, USA, pp. 1-6, 7-9 Janvier, 2008.
[85] D. Devarajan, R. Radke, “Distributed Metric Calibration of Large Camera Networks”,
1st Workshop on Broadband Advanced Sensor Networks, San Jose, CA, USA, Octobre,
2004.
[86] D. Devarajan, R. Radke, H. Chung, “Distributed Metric Calibration of Ad Hoc Camera
Networks”, ACM Transactions on Sensor Networks, Vol. 2, pp. 380-403, 2006.
[87] A. Barton-Sweeney, D. Lymberopoulos, A. Savvides, “Sensor Localization and Camera
Calibration in Distributed Camera Sensor Networks”, 3rd International Conference on
Broadband Communications, Networks and Systems, San Jose, CA, USA, pp. 1-10, 1-5
Octobre 2006.
[88] Y. Cai, W. Lou, M. Li, X.Y. Li, “Energy Efficient Target-Oriented Scheduling in
Directional Sensor Networks”, IEEE Transactions on Computer, Vol. 58, No. 9, pp.
1259-1274, 2009.
[89] C. Kandoth, S. Chellappan, “Angular Mobility Assisted Coverage in Directional Sensor
Networks”, International Conference on Network-Based Information Systems,
Indianapolis, IN, USA, pp. 376-379, 19-21 Août 2009.
[90] T.-W. Sung, C.-S. Yang, “Distributed Voronoi-Based Self-Redeployment for Coverage
Enhancement in a Mobile Directional Sensor Network”, International Journal of
Distributed Sensor Networks, Article ID 165498, 15 pages, 2013.
[91] H. Huang, L. Sun, R. Wang, J. Li, “A novel coverage enhancement algorithm for image
sensor networks”, International Journal of Distributed Sensor Networks, Vol. 2012,
No. 370935, pp. 1–11, 2012.
[92] N. Tezcan, W. Wang, “Self-Orienting Wireless Multimedia Sensor Networks for
Occlusion-Free Viewpoints”, Computer Networks: The International Journal of
Computer and Telecommunication Networking, Vol. 52, No. 13, pp. 2558-2567, 2008.
[93] X. Liu, “Coverage with Connectivity in Wireless Sensor Networks”, 3rd IEEE
International Conference on Broadband Communications, Networks and Systems, San
Jose, CA, USA, pp. 1-8, 1-5 Octobre 2006.
[94] C. Istin, D. Pescaru, “Deployments Metrics for Video-Based Wireless Sensor
Networks”, Transactions on Automatic Control and Computer Science, Vol. 52, pp.
163-168, 2007.
[95] L. Liu, H. Ma, X. Zhang, “On Directional K-Coverage Analysis of Randomly Deployed
Camera Sensor Networks”, IEEE International Conference on Communications,
Beijing, China, pp. 2707-2711, May 19–23, 2008.
[96] C. Chang, H. Aghajan, “Collaborative Face Orientation Detection in Wireless Image
Sensor Networks”, ACM SenSys Workshop on Distributed Smart Cameras, Boulder,
CO, USA, Octobre 31, 2006.
Bibliographie
109
[97] D. Pescaru, C. Istin, F. Naghiu, M. Gavrilescu, D. Curiac, “Scalable Metric for
Coverage Evaluation in Video-Based Wireless Sensor Networks”, 5th Symposium on
Applied Computational Intelligence and Informatics, Timisoara, Romania, pp. 323-327,
28-29 Mai 2009.
[98] A. Benzerbadj, Ordonnancement de l’activité multi-niveaux des nœuds d’un réseau de
capteurs vidéo sans fil dédié aux applications critiques de surveillance, Mémoire de
Magister, Université d’Oran, Décembre 2011.
[99] C. Moreno, accessible via le lien:
http://www.mochima.com/articles/cuj_geometry_article/cuj_geometry_article.html
(consulté le 01/10/2014)
[100] Wolfram MathWorld, the web’s most extensive mathematics resource, accessible via le
lien: http://mathworld.wolfram.com/TrianglePointPicking.html (consulté le 01/10/2014)
[101] A. Makhoul, R. Saadi, and C. Pham. “Surveillance vidéo sur réseaux de capteurs sans-
fils ordonnancement adaptatif avec prise en compte de la criticité”, Colloque
francophone sur l'ingénierie des protocoles (CFIP’09), Strasbourg, France, 2009.
[102] R. Saadi, O. Hasan, J. Pierson, and L. Brunie, “Establishing trust beliefs based on a
uniform disposition to trust”, IEEE international Conference on Signal Image and
Technologie Based Systems, 2007.
[103] OMNeT++, accessible via le lien: www.omnetpp.org/documentation (consulté le
01/02/2014)
[104] The Network Simulator NS2, accessible via le lien: http://www.isi.edu/nsnam/ns/
(consulté le 01/01/2014)
[105] Opnet Technologies, accessible via le lien: http://www.opnet.com/ (consulté le
01/02/2015)
[106] Laboratoire LIUPPA, accessible via le lien : http://liuppa.univ-pau.fr/live/ (consulté le
05/09/2014)
[107] Y. Qu, Wireless sensor network deployment, Thèse de doctorat, Florida International
University, USA, 2013.
[108] D. Gupta, S. L. Aswal, S. K. Chaurasiya, “Effect of obstacles in the formation of FoV
based clusters in wireless multimedia sensor network”, International Journal on
Computer Science and Engineering (IJCSE), Vol. 4, No. 08, pp. 1427-1434, 2012.
[109] I. Chatzigiannakis, G. Mylonas, S. Nikoletseas, “A Model for obstacles to be used in
simulations of wireless sensor networks and its application in studying routing protocol
performance”, Journal Simulation, Vol. 83, Issue 8, pp. 587-608, 2007.
[110] Seed-Eye Board, accessible via le lien : http://rtn.ssup.it/index.php/hardware/seed-eye
(consulté le 07/03/2015)
[111] Mobility Framework for OMNeT++, accessible via le lien: http://Mobility-
fw.sourceforge.net/hp/index.html (consulté le 05/01/2015)
[112] Mixim Project. Mixim, accessible via le lien: http://sourceforge.net (consulté le
05/01/2015)
[113] Castalia, accessible via le lien: http://castalia.forge.nicta.com.au/index.php/en/
(consulté le 12/06/2014)
[114] OMNet++ Possibilités et limitation, accessible via le lien : http://wapiti.telecom-
lille1.eu/commun/ens/peda/options/ST/RIO/pub/exposes/exposesrio2007/dujardin-
idzik/index.htm (consulté le 01/11/2014)
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
110
Annexe A
Le simulateur OMNeT++ : Aperçu du logiciel
A.1 Introduction
OMNeT++ (Objective Modular Network Test-bed in C++) [103] est un simulateur orienté
objet qui peut être utilisé sur une plateforme Windows ou Unix. L’avantage est qu’il s’agit
d’un simulateur extensible, open source et sous licence GNU. Il a été développé par Andras
Varga, chercheur à l’université de Budapest depuis 1992.
OMNet++ est destiné avant tout à un usage académique et est l'intermédiaire entre des
logiciels de simulation comme NS, destiné principalement à la recherche et OPNET qui est
une alternative commerciale d’OMNet++. Il peut être utilisé par exemple pour :
La modélisation de trafic de réseaux de communication
La modélisation de protocoles
La modélisation de réseaux de files d’attente
et d’autres systèmes distribués
A.2 Définition
OMNeT++ est un simulateur de réseaux de capteurs sans fil basé sur la simulation à
événement discret. Il est totalement programmable, paramétrable et modulaire.
Ce simulateur est présenté essentiellement comme une collection d’outils logiciels et de
librairies destinés à l’implémentation des modèles de simulation. Les principales classes du
noyau de simulation d’OMNeT++ sont les suivantes:
cObject et cOwnedObject : sont les classes de base pour la plupart des classes
d’OMNeT++.
cModule, cCompoundModule et cSimpleModule : représentent les modules dans la
simulation. L’utilisateur implémente de nouveaux modèles en dérivant à partir de
cSimpleModule et en redéfinissant une ou plusieurs de ses fonctions membres
virtuelles.
cMessage : représente les évènements et les messages échangés entre les modules.
cGate : indique les portes du module.
cPar : définit les paramètres des modules et des canaux.
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
111
cSimulation : représente l’entrepôt de tous les modules du réseau et de la structure de
données pour les évènements planifiés (l’ensemble des évènements futurs). La plupart
des méthodes de cette classe sont utilisées en interne.
A.3 Propriétés du Simulateur OMNeT++
Le simulateur OMNeT++ nous offre de nombreux avantages par rapport aux autres
simulateurs existants. Nous citons dans ce qui suit quelques propriétés qui le caractérisent.
Flexibilité : Très flexible et générique. Il peut simuler n’importe quel type de réseau.
Mobilité : Plusieurs modes de mobilité sont fournis (Random Waypoint Mobility
Model, Constant Speed Mobility Model, Basic Mobility Model, etc.)
Gestion de modèle : Les modèles sont indépendants du noyau de simulation.
Support de traçage : Visibilité de la transmission de paquets lors de la simulation.
Habilité à couvrir les grands réseaux : Il peut simuler une grande topologie de réseaux.
Il supporte la scalabilité du réseau.
A.4 Etapes d’installation du simulateur OMNeT++
L’installation d’OMNeT++ se fait suivant la procédure d’installation décrite dans le
package téléchargé, selon le système d’exploitation installé [103].
Le modèle de simulation présenté dans cette thèse a été réalisé sous le système
d’exploitation Ubuntu version 10.04. Par conséquent, nous citons uniquement les étapes
d’installation du simulateur OMNeT++ appropriées au système d’exploitation Linux. Il faut
avoir un environnement Java (JRE : Java Runtime Environment) valide installé sur le PC
avant de commencer les étapes d’installation suivantes :
1) Télécharger l’archive omnetpp-4.1.src.tgz à partir du site [103].
2) Décompresser l’archive par la commande suivante :
$ tar xvzf omnetpp-4.1-src.tgz
3) Se positionner dans le répertoire qui a été créé :
$ cd omnetpp-4.1/
4) Editer le fichier de configuration du shell (.bashrc ou .bash_profile pour bash, .profile
ou d’autres shells) en ajoutant à la fin du fichier la ligne suivante :
export PATH=$PATH:~/omnetpp-4.0/bin en général, PATH=$PATH :<le chemin
à omnet++>/omnetpp-4.1/bin
5) Redémarrer le shell ou exécuter la commande suivante :
~/omnetpp-4.1$ source ~/.bashrc
6) Installer les dépendances suivantes :
~/omnetpp-4.1$ sudo apt-get install build-essential gcc g++ bison flex
perl tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev blt blt-dev libxml2 libxml2-dev
zlib1g zlib1g-dev libx11-dev
7) Lancer la commande suivante :
~/omnetpp-4.1$ ./configure
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
112
8) Enfin, terminer par une compilation :
~/omnetpp4.1$ make
Les éléments installés sont les suivants :
Une bibliothèque de simulation interne
Un compilateur du langage descriptif de la topologie NED
Un éditeur de réseaux graphiques pour les fichiers NED
Un exécutable OMNeT++
Une interface graphique de simulation
A.5 Architecture d’OMNet++
L’architecture d’OMNET++ se présente comme un ensemble de modules interconnectés et
organisés de façon hiérarchique (voir figure A.1). Un module peut être soit un module simple
ou bien un module composé. Les feuilles de cette architecture sont les modules simples qui
représentent les classes C++. Pour chaque module simple correspondent un fichier.cc et un
fichier.h. Un module composé peut contenir de simples modules ou d’autres modules
composés connectés entre eux. Le nombre de niveau hiérarchique n’est pas limité. Les sous
modules et les ports de chaque module sont spécifiés dans un fichier.ned.
La communication entre les différents modules se fait à travers les échanges de messages.
Les messages peuvent représenter des paquets, des trames d’un réseau informatique, des
clients dans une file d’attente ou bien d’autres types d’entités en attente d’un service. Les
messages sont envoyés et reçus à travers des ports qui représentent les interfaces d’entrée et
de sortie pour chaque module. Nous ne pouvons créer des connexions que dans un seul niveau
de hiérarchie des modules. Il est par exemple impossible de créer une connexion directe entre
un module et un sous-module d’un autre module de même niveau dans la hiérarchie.
La conception d’un réseau se fait dans un fichier.ned et les différents paramètres de chaque
module sont spécifiés dans un fichier de configuration .ini. OMNET++ génère à la fin de
chaque simulation deux nouveaux fichiers : un fichier.vec et un fichier.sca qui permettent de
tracer les courbes et de calculer des statistiques.
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
113
Figure A.1: Architecture modulaire d’OMNeT++
Un exemple de ce type d’architecture peut être deux LANs (Local Area Networks) reliés
par un routeur, chaque poste ou élément de chacun des réseaux pourrait être représenté par un
module simple, alors que chacun des LANs serait un module composé. Ces deux modules
composés seraient reliés par un simple module qui serait un routeur.
A.6 Les principaux fichiers d’OMNeT++
A.6.1 Fichier .ned
La définition de la structure d’une simulation et de sa topologie se fait par le biais du
langage NED. Une description NED est quasiment toujours constituée de la déclaration de
modules simples, de définitions de modules composés et une définition du réseau.
Typiquement la déclaration d’un module simple décrit les interfaces de ce module et ses
paramètres. La définition d’un module composé comprend la déclaration des interfaces
externes du module ainsi que la définition de ses sous modules et leur interconnexion. La
définition d’un réseau représente l’ensemble d’un modèle comme une instance du type
module.
L’exemple illustré sur la figure A.2 représente un réseau de communication composé de
plusieurs nœuds. Au niveau de chaque nœud il existe une application qui s’exécute et qui
génère des paquets à des intervalles aléatoires.
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
114
Le code présenté sur la figure A.3 défini un type de réseau appelé « MyNetwork ». Le
réseau contient différents nœuds, appelés node1, node2, etc. du module NED de type
« Node ».
La notation « port++ » permet d’ajouter un nouveau port. La double flèche signifie une
connexion bidirectionnelle. Les nœuds sont connectés à un canal avec un débit de 100 Mbps.
Nous pouvons définir des réseaux de différentes densités dans des fichiers NED, et pour
chaque simulation l’utilisateur doit spécifier le réseau à configurer.
Figure A.2: Exemple simple d’un réseau de communication
network MyNetwork
{
submodules:
node1: Node;
node2: Node;
node3: Node;
...
connections:
node1.port++ <--> {datarate=100Mbps;} <--> node2.port++;
node2.port++ <--> {datarate=100Mbps;} <--> node4.port++;
node4.port++ <--> {datarate=100Mbps;} <--> node6.port++;
...
}
Figure A.3: Exemple d’un fichier NED
Le package OMNeT++ contient un éditeur graphique illustré sur la figure A.4 permettant
d’éditer facilement des fichiers NED.
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
115
Figure A.4: Editeur graphique d’un fichier NED
Si la plupart des applications d’édition de topologie ne permettent la création que de
topologie fixe, NED permet la création de topologies paramétrables. Il est possible de créer
des topologies comme des ring, mesh, étoile, tree, etc. dont les paramètres comme la taille, la
vitesse des connections, etc. peuvent être modifiés.
NED est également compatible avec XML et il est possible d’importer et d’exporter des
fichiers XML.
A.6.2 Fichier .ini
Le fichier .ini est étroitement lié avec le fichier .ned. Il permet à l’utilisateur d’initialiser
les paramètres des différents modules et la configuration de la topologie du réseau.
Un exemple d’un fichier .ini est illustré sur la figure A.5.
[General]
network = MyNetwork
[Parameters]
MyNetwork.field_x = 80 #meters
MyNetwork.field_y = 80 #meters
MyNetwork.numNodes = 20
MyNetwork.frameLength = normal(200,1400)
MyNetwork.Node[0].numFramesToSend = 5000
MyNetwork.Node[1-5].numFramesToSend = 1000
MyNetwork.Node[*].numFramesToSend = 0
Figure A.5: Exemple d’un fichier .ini
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
116
A.6.3 Fichier .msg
Les différents modules communiquent en échangeant des messages. Ces derniers sont
déclarés dans un fichier dont l’extension est .msg où l’on peut ajouter des champs de données
(voir figure A.6). Le simulateur traduira ensuite les définitions de messages en classes C++.
message NetworkPacket {
fields:
int srcAddr;
int destAddr;
}
Figure A.6: Exemple d’un fichier .msg
A.7 Exécution d’une simulation sous OMNeT++
Le schéma illustré sur la figure A.7 donne une vue globale sur le processus de construction
et d’exécution d’un programme de simulation sous OMNeT++.
En premier lieu, les fichiers .msg sont traduits en code C++ en utilisant le programme
opp_msgc. Ensuite, tous le code source C++ est compilé et lié au noyau de simulation et
l’interface utilisateur pour former un exécutable de simulation. Les fichiers *.ned sont chargés
de manière dynamique au début d’exécution du programme de simulation.
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
117
Figure A.7: Construction et exécution d’une simulation sous OMNeT++
A.8 Les plateformes d’OMNeT++
Il existe plusieurs plateformes et simulateurs basés sur OMNeT++ qui essayent de
compléter les fonctionnalités de ce dernier. Nous citons dans ce qui suit quelques-uns.
A.8.1 Mobility Framework
Cette plateforme implémente un support pour la mobilité des nœuds, la gestion des
connexions dynamiques ainsi qu’un modèle de canal sans fil [111]. Elle supporte la
simulation des réseaux sans fil, des réseaux mobiles, des réseaux centralisés et distribués, des
réseaux de capteurs ainsi que d’autres types de simulations qui nécessitent un support de
mobilité et une interface sans fil.
Elle est réalisée avec des modules de base, donc l’utilisateur peut les utiliser afin de créer
et d’implémenter de nouveaux protocoles pour la simulation.
Le cœur de Mobility Framework est composé de :
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
118
Module de gestion de la mobilité (Mobility Contoller).
Module de gestion dynamique de la connexion entre les hôtes (Channel Control)
A.8.2 Mixim
Mixim (Mixed Simulator) [112] est un simulateur qui a été créé pour réseaux sans fil fixes
et mobiles tels que les réseaux de capteurs sans fil, les réseaux ad hoc, les réseaux
véhiculaires, etc. Il intègre et développe des simulations sans fil et mobiles dans OMNeT++.
Ce simulateur fournit des modèles détaillés de canal sans fil, la connectivité sans fil, la
mobilité, les obstacles et les protocoles MAC (Media Access Control) comme IEEE 802.11b
et IEEE 802.15.4. Mixim propose des modules pour une mise en œuvre facile de nouveaux
protocoles MAC comme TDMA (Time Division Multiple Access). Mixim est écrit avec le
langage C++.
A.8.3 Castalia
Castalia [113] est un framework de simulation à évènements discrets généralement conçu
pour les réseaux contraints en ressources tels que les réseaux de capteurs et les réseaux
corporels (BAN : Body Area Network). Castalia se base sur OMNeT++ et se fonde également
sur une approche orientée composant avec l’intégration de fonctionnalités dédiées aux réseaux
de capteurs. Ce simulateur définit une structure de nœud (composant principal) comme un
ensemble de modules hiérarchisés et interconnectés. Il s’agit d’un simulateur générique avec
un canal sans fil et un modèle de radio basé sur des données mesurées. Comme nous pouvons
le voir sur la figure A.8, Castalia définit trois modules principaux : Le nœud, le processus
physique et le canal sans fil.
Figure A.8: Connexion des modules sous Castalia
Annexe A. Le simulateur OMNeT++: Aperçu du logiciel
119
A.9 Conclusion
OMNet++ est une plateforme de simulation fournissant l’environnement nécessaire à la
simulation de protocoles réseaux. Les principaux avantages de ce simulateur sont les suivants
[114]:
Une architecture modulaire avec des composants entièrement paramétrables,
réutilisables et assemblés de façon hiérarchique grâce au langage NED. Cette
architecture permet non seulement de développer à partir de modules de base de
nouveaux modèles très facilement, mais de créer n’importe quel type de simulation
sans aucune restriction.
Des possibilités de débogage avancées qui peuvent être notamment utiles à des fins
pédagogiques.
Des facilités d’utilisation et d’exploitation des résultats grâce à des outils permettant
de créer des fichiers facilement récupérables pour d’autres applications.
Une des limites d’OMNet++ vient notamment du fait qu’il soit à évènement discret et non
en temps réel. Il est incapable de simuler plusieurs évènements à la fois.
Annexe B. Modèle de simulation d’un RCVSF sous OMNeT++
120
Annexe B
Modèle de simulation d’un RCVSF sous OMNeT++
B.1 Introduction
Afin de concrétiser les contributions présentées dans cette thèse, nous nous sommes basés
sur le package qui nous a été fourni par le laboratoire LIUPPA dirigé par le Professeur
Congduc Pham. Avant d’apporter des extensions à ce modèle de simulation, il faut tout
d’abord réussir son installation et comprendre son fonctionnement.
L’objectif de cette annexe est donc de présenter en détail les étapes d’installation du
package, les différents dossiers et fichiers qui le constituent et enfin le déroulement complet
d’un scénario de simulation.
B.2 Etapes d’installation du modèle de simulation
L’archive « wvsnmodel-v4.tgz » contient le modèle de simulation du RCVSF développé
sous le simulateur OMNeT++ version 4. Donc avant d’installer ce modèle, nous devons
d’abord avoir OMNeT++ V4 installé correctement sur notre machine (le script « configure »
doit s’exécuter sans erreurs).
Nous pouvons installer le modèle de simulation en utilisant l’une des deux procédures
suivantes :
a/ Procédure d’installation automatique : L’installation se fait dans ce cas en utilisant le script
« install.bash » qui exécute automatiquement l’installation. L’archive du modèle doit se
trouver dans le répertoire courant.
b/ Procédure d’installation manuelle : Dans ce type de procédure, il est recommandé de créer
le répertoire « vidmodel » dans le répertoire « home ». Nous devons faire entrer l’archive
« wvsnmodel-v4.tgz » dans le répertoire « vidmodel ». Après avoir décompressé l’archive,
nous obtenons le répertoire « wvsn-model-omnetpp-v4 » avec les répertoires et fichiers
suivants :
1/ Les répertoires:
awk-script, geometry, images, nedGeneration.
2/ Les fichiers:
Makefile, makefrag, activity.msg, coordNode.cc, coordNode.h, coverage-
Annexe B. Modèle de simulation d’un RCVSF sous OMNeT++
121
60.ned, display.h, dead.msg, intrusion.cc, intrusion.h, multipleRun,
omnetpp.ini, position.msg, videoModelDefine.h, videoSensorNode.cc,
videoSensorNode.h.
Pour générer le « Makefile » nous devons exécuter la commande suivante.
> opp_makemake -f
Le « makefrag » sera automatiquement inclus par cette commande afin d’ajouter d’autres
définitions à chaque fois que nous générons un nouveau « Makefile ». Ces définitions
concernent les points suivants :
1/ Des fichiers librairies ou objets additionnels à ajouter :
EXTRA_OBJS= geometry/Point.o geometry/Segment.o geometry/Triangle.o
geometry/Polygon.o geometry/triangulation.o
2/ Des librairies additionnelles (-L option –l option)
LIBS= -lSDL
3/ Configuration des Flags
CFLAGS=-DNDEBUG=1 -DWITH_PARSIM -DWITH_NETBUILDER -DDEBUG_OUTPUT_LEVEL0 -
DDEBUG_OUTPUT_LEVEL1 -DCOVERAGE_WITH_G -DCOVERAGE_STATS_ONLY -
DCOVERAGE_COMPUTE_PERCOVERSET
Il faut copier les trois variables définies dans le Makefile.in et les ajouter dans le Makefile
au bon endroit.
Avant de compiler tout le modèle, nous devons éditer les liens des fichiers (.o) qui se
trouvent dans la bibliothèque de géométrie, car le modèle de simulation utilise des classes
géométriques. Nous devons nous positionner sur le répertoire « geometry » et exécuter la
commande suivante :
> make obj
Maintenant, nous pouvons compiler le modèle de simulation par la commande suivante :
> make
Si l’installation a été effectuée correctement, nous devons avoir un exécutable appelé
wvsn-model-omnetpp-v4 que nous pouvons exécuter par la commande suivante :
> ./wvsn-model-omnetpp-v4
B.3 Présentation de quelques fichiers et répertoires du modèle
La plupart des fichiers.cc que nous avons modifiés ont été exposés dans le chapitre III,
section III.10.2, pp. 72. Nous présentons dans ce qui suit les autres fichiers et répertoires que
nous avons utilisés dans le modèle de simulation.
Annexe B. Modèle de simulation d’un RCVSF sous OMNeT++
122
a/ Les fichiers *.msg sont les messages qui définissent les différents champs des paquets
échangés. Les différents composants du modèle communiquent en échangeant les trois types
de messages suivants :
1. « position.msg » (voir figure B.1) représente le paquet envoyé par un nœud quand ce
dernier diffuse sa propre position.
message PositionPacket{
fields :
int id ;
double px ;
double py ;
double vx ;
double vy ;
double alpha ;
double depthview;
bool active ;
}
Figure B.1: Message de position
2. « activity.msg » présenté sur la figure B.2, défini le paquet envoyé par un nœud
capteur lorsque celui-ci diffuse son état (actif ou inactif).
message ActivityPacket{
fields :
int id ;
int EnergyLevel ;
bool isActive ;
}
Figure B.2: Message d’activité
3. « dead.msg » est le message envoyé par un nœud qui n’est plus opérationnel afin
d’informer ses nœuds voisins de l’épuisement de son énergie (voir figure B.3).
message DeadPacket{
fields :
int id ;
}
Figure B.3: Message d’épuisement de la batterie
b/ Le fichier « display.h » est nécessaire pour l’affichage d’une fenêtre graphique qui illustre
la position des capteurs vidéo avec leur CdV respectif. Un exemple d’exécution est illustré sur
la figure B.4.
Annexe B. Modèle de simulation d’un RCVSF sous OMNeT++
123
Figure B.4: Fenêtre graphique pour l’affichage des capteurs vidéo avec leurs CdV
c/ « geometry » est un répertoire qui contient les packages de géométrie (proposés par Carlos
Moreno), utilisé pour afficher des informations graphiques. Afin de pouvoir utiliser ces
propriétés graphiques, il faut installer la dernière version de la librairie SDL (Simple
DirectMedia Layer).
d/ « images » est un répertoire qui contient des icones spécifiques pour les capteurs vidéo. Ces
icones sont utilisées par l’interface graphique d’OMNeT++ (tkenv) pour afficher les différents
états des nœuds capteurs (actif, en veille, non opérationnel « dead », etc).
e/ « nedGeneration » est le répertoire qui nous permet de générer les fichiers.ned de la
simulation à travers le programme « generate ». Ce dernier accepte en entrée un ou trois
paramètres qui concernent le nombre de nœuds capteurs du scénario de la simulation et la
taille du champ de déploiement.
B.4 Exécution d’un scénario de simulation
Dans le cas où nous voulons changer le comportement du modèle et que nous modifions
les fichiers .cc et le « Makefile » donc il faut exécuter les commandes suivantes :
> make clean
> make
Si nous voulons afficher l’interface graphique pour voir le déroulement de l’exécution de
la simulation, il faut activer la commande suivante dans le fichier « Makefile » :
USERIF_LIBS=$(TKENV_LIBS)
Nous pouvons dérouler rapidement les simulations dans le cas où le modèle de simulation
ne contient aucune erreur. Et donc éviter d’afficher l’interface graphique pour obtenir
rapidement les résultats. Dans ce cas, il suffit de désactiver la commande précédente et utiliser
directement la commande « CMDENV » comme ceci :
USERIF_LIBS=$(CMDENV_LIBS)
#USERIF_LIBS=$(TKENV_LIBS)
Annexe B. Modèle de simulation d’un RCVSF sous OMNeT++
124
Ensuite, il faut accéder au fichier omnetpp.ini où nous pouvons changer les paramètres du
réseau. Si nous voulons garder les paramètres par défaut, il faut uniquement préciser le
nombre de nœuds sur la ligne « SN.numNodes » avec le nom du fichier .sca pour récupérer les
résultats.
Il faut supprimer le fichier.ned précédent avant de générer un nouveau.
Pour générer un fichier.ned avec par exemple 200 nœuds capteurs dans le répertoire de
simulation nous pouvons exécuter simplement la commande suivante :
> nedGeneration/generate 200 > coverage-200.ned
Si nous voulons changer également la taille du champ de déploiement, donc il faut
exécuter la commande suivante :
> nedGeneration/generate 200 100 100 > coverage-75-100-100.ned
Le premier paramètre indique le nombre de nœuds capteurs et les deux autres désignent la
taille du champ de déploiement. Si nous ne le précisons pas, le programme va utiliser la taille
du champ de déploiement par défaut, qui vaut 75m*75m.
Nous pouvons maintenant lancer le modèle de simulation en exécutant la commande
suivante:
> ./wvsn-model-omnetpp-v4
La figure ci-dessous illustre une capture écran de ce que nous devont obtenir après avoir
lancé l’exécutable du modèle simulation.
Pour exécuter la simulation, il suffit de cliquer soit sur le bouton « run », « Fast Run » ou
« Express Run » pour une exécution plus rapide, ce qui est pratique surtout si le réseau est très
dense.
Les différents messages sur la fenêtre de simulation illustrés sur la figure B.5 indiquent les
différentes étapes de l’exécution de la simulation.
Annexe B. Modèle de simulation d’un RCVSF sous OMNeT++
125
Figure B.5: Exécution du modèle de simulation sous OMNeT++
La fenêtre graphique qui représenté le RCVSF contient des nœuds avec des icones
spécifiques qui indiquent l’état de chaque nœud. Les icones les plus utilisées sont illustrées
sur le tableau B.1.
Icône Description
Représente l’icône d’un capteur vidéo à l’état actif.
Indique un capteur vidéo en veille.
Désigne un capteur vidéo qui n’est plus opérationnel (dead node).
Est l’icône qui représente un capteur vidéo rotationnel, celle que nous avons utilisée
dans les simulations du nouveau modèle de couverture.
Tableau B.1: Description des icones du modèle de simulation
Si nous exécutons un scénario de simulation avec des capteurs vidéo rotationnels nous
obtenons la fenêtre graphique suivante. Les détails de la simulation sont indiqués sur la figure
B.6.
Annexe B. Modèle de simulation d’un RCVSF sous OMNeT++
126
Figure B.6: Présentation du modèle de simulation sur la fenêtre graphique
B.5 Analyse des résultats
Comme nous l’avons déjà mentionné avant, les résultats de simulation sont tous reportés
dans le fichier.sca. Cependant, afin de récupérer uniquement les résultats qui nous intéressent,
nous avons utilisé le script AWK dont le code est donné sur la figure B.7. Ce dernier nous
permet de calculer les métriques de performances suivantes :
Le pourcentage moyen de couverture
Le nombre moyen d’ensembles couvrants
Le pourcentage moyen de nœuds actifs
Si nous voulons afficher des résultats supplémentaires dans le fichier .sca, il faut accéder
aux fichiers .cc adéquats où se trouvent les variables à afficher. Par exemple, si nous voulons
afficher la liste des voisins dans le fichier.sca, il faut ajouter les lignes de code suivantes :
for (int i = 0; i<this->nbNeighbors; i++) {
recordScalar("neighbors ", this->neighbors[i].id);
}
Diffusion de la position
Vitesse de capture
Nombre d’ensembles couvrants
Niveau d’énergie
Annexe B. Modèle de simulation d’un RCVSF sous OMNeT++
127
BEGIN {
i=0
j=0
coverage_percentage=0
c_p=0
nbr_coversets=0
n_c=0
active_nodes=0
a_n=0
}
{
if($3=="**display_stats_percentage_coverage"){
i=i+1
c_p=c_p+$4
}
if($3=="info.coverset.mean_numberof_coverset_X"){
j=j+1
n_c=n_c+$4
}
if($3=="**display_stats_percentage_active_nodes")
a_n=a_n+$4
if (i!=O){
coverage_percentage=c_p/i
active_nodes=a_n/i
}
if (j!=O){
nbr_coversets=n_c/j
}
}
END {
print "coverage_percentage:"coverage_percentage
print "nbr_coversets:"nbr_coversets
print "active_nodes:"active_nodes
}
Figure B.7: Exemple d’un fichier AWK
L’exécution du fichier AWK s’effectue par la commande suivante :
awk –f fichier_prog.awk fichier_scalaire.sca > fichier_resultat.sca
fichier_prog : est le fichier d’instructions AWK enregistré sous l’extension .awk
La commande exécute séquentiellement le programme se trouvant dans le fichier_prog sur
chaque ligne du fichier_scalaire.sca qui correspond au fichier scalaire obtenu après
l’exécution d’un scénario de simulation. Ensuite, le résultat sera affiché dans le
fichier_resultat.sca.