87
1 Rapport du projet TER La Vidéosurveillance à distance RAPPORT DE TER MASTER 1 IFPRU Vidéo Surveillance à Distance Réalisé par : FERJANI Mohammed SERIAI Abderrahmane HENNANI Hakim SEDDIK Annes Sous la direction de : M. SERIAI Abdelhak-Djamel

Rapport pfe

Embed Size (px)

DESCRIPTION

Projet de fin d'etude

Citation preview

  • 1

    Rapport du projet TER

    La Vidosurveillance distance

    RAPPORT DE TER MASTER 1 IFPRU

    Vido Surveillance Distance

    Ralis par :

    FERJANI Mohammed

    SERIAI Abderrahmane

    HENNANI Hakim

    SEDDIK Annes

    Sous la direction de :

    M. SERIAI Abdelhak-Djamel

  • 2

    Rapport du projet TER

    La Vidosurveillance distance

    Remerciements

    Cest un agrable devoir dexprimer nos profonds remerciements et reconnaissances

    toutes les personnes qui nous ont apport aide technique, soutien moral et qui nous ont permis

    dacqurir lesprit de travail.

    Nous tenons exprimer notre trs profonde gratitude notre encadrant, Monsieur SERIAI

    Abdelhak-Djamel, pour ses prcieux conseils, sa disponibilit et son total dvouement pour

    donner naissance ce travail.

    Un remerciement spcial Monsieur LECLERE Michel, responsable du Master1

    Informatique, pour sa patience et sa gentillesse.

    Nous adressons une pens particulire nos parents, pour leurs judicieux conseils et leur

    soutien sans faille tout au long de notre parcours universitaire.

    Enfin, nos vifs remerciements sont adresss tout le personnel de lUniversit de

    Montpellier II, qui a fourni beaucoup deffort et de patience pour nous prparer russir notre vie

    professionnelle.

  • 3

    Rapport du projet TER

    La Vidosurveillance distance

    Sommaire

    1 INTRODUCTION _______________________________________________________________________ 7

    2 ETUDE BIBLIOGRAPHIQUE ____________________________________________________________ 9

    2.1 INTRODUCTION : LA TELESURVEILLANCE __________________________________________________ 9

    2.2 LA VIDEOSURVEILLANCE _____________________________________________________________ 10

    2.2.1 Prsentation ____________________________________________________________________ 10

    2.2.2 Son apparition ___________________________________________________________________ 10

    2.2.3 Ses buts ________________________________________________________________________ 11

    2.2.4 Domaines dapplications ___________________________________________________________ 12

    2.2.5 Evolution de la vidosurveillance ____________________________________________________ 12

    2.2.6 Les diffrents types de systmes _____________________________________________________ 14

    2.2.6.1 Systme sur rseaux IP __________________________________________________________________ 14

    2.2.6.2 Kit de vidosurveillance _________________________________________________________________ 15

    2.2.6.3 Rseau classique de vidosurveillance ___________________________________________________ 15

    2.2.6.4 Systme hybride de vidosurveillance ____________________________________________________ 16

    2.2.7 Exemples de quelques systmes existants ______________________________________________ 16

    2.2.7.1 Le systme ASCAM-2E2I ________________________________________________________________ 16

    2.2.7.2 Le systme ASCAM-NUUO_______________________________________________________________ 17

    3 LE SYSTEME RAPACE ________________________________________________________________ 18

    3.1 GESTION DU PROJET _________________________________________________________________ 18

    3.1.1 Synthse du cahier des charges ______________________________________________________ 18

    3.1.2 Planification et rpartition des tches ________________________________________________ 18

    3.2 ANALYSE ET CONCEPTION DE RAPACE ___________________________________________________ 21

    3.2.1 Analyse et tude des fonctionnalits __________________________________________________ 21

    3.2.1.1 Les fonctions offertes ___________________________________________________________________ 21

    3.2.1.2 Etude dtaille de la fonction de visualisation ________________________________________________ 22

    3.2.1.3 Etude dtaille de la fonction de paramtrage et configuration ___________________________________ 23

    3.2.2 Etude architecturale ______________________________________________________________ 24

    3.2.2.1 Architecture multi-serveurs ______________________________________________________________ 25

    3.2.2.2 Avantages et inconvnients _______________________________________________________________ 26

    3.2.2.3 Architecture avec forte centralisation _______________________________________________________ 26

    3.2.2.4 Architecture avec centralisation souple _____________________________________________________ 27

  • 4

    Rapport du projet TER

    La Vidosurveillance distance

    3.2.2.5 Modlisation de larchitecture retenue ______________________________________________________ 29

    3.2.3 Analyse pr-implmentation ________________________________________________________ 32

    3.2.3.1 Choix des langages _____________________________________________________________________ 32

    3.2.3.2 Analyse des verrous dimplmentation ______________________________________________________ 32

    3.3 IMPLEMENTATION DU FONCTIONNEMENT DE LARCHITECTURE ________________________________ 33

    3.3.1 Utilisation simple du protocole http __________________________________________________ 33

    3.3.2 La cohabitation du protocole http et de la technologie des applets __________________________ 34

    3.3.3 Lutilisation de la notion de redirection directe _________________________________________ 34

    3.3.3.1 Les diffrents types de redirection _________________________________________________________ 34

    3.3.3.2 Les avantages et les inconvnients _________________________________________________________ 35

    3.3.4 Lutilisation du principe de redirection indirecte ________________________________________ 35

    3.3.4.1 Fonctionnement : ______________________________________________________________________ 35

    3.3.4.2 Avantages et inconvnients: ______________________________________________________________ 36

    3.4 REALISATION DES DIFFERENTS MODULES _________________________________________________ 36

    3.4.1 Ralisation du module identification et acquisition ______________________________________ 36

    3.4.1.1 Objectif ______________________________________________________________________________ 36

    3.4.1.2 Etude des solutions possibles _____________________________________________________________ 36

    3.4.1.3 Acquisition du media avec DSJ____________________________________________________________ 40

    3.4.2 Ralisation du module diffusion _____________________________________________________ 43

    3.4.2.1 Objectif ______________________________________________________________________________ 43

    3.4.2.2 Fonctionnement _______________________________________________________________________ 44

    3.4.2.3 Choix du protocole utilis pour le transfert du flux vido________________________________________ 45

    3.4.3 Ralisation du module intrusion _____________________________________________________ 48

    3.4.3.1 Introduction au traitement dimages________________________________________________________ 48

    3.4.3.2 Identification de lintrusion : Implmenter la technique dimage de fond (background subtraction). ______ 51

    3.4.3.3 Gestion des intrusions ___________________________________________________________________ 53

    3.4.4 Ralisation du module authentification et redirection ____________________________________ 56

    3.5 PRESENTATION DU PROTOTYPE _________________________________________________________ 57

    3.5.1 Accs au systme : linterface web ___________________________________________________ 57

    3.5.2 La connexion avec le serveur de videosurveillance ______________________________________ 58

    3.5.3 Le paramtrage __________________________________________________________________ 60

    3.5.4 Interface de gestion des intrusions ___________________________________________________ 61

    3.6 PERSPECTIVE DAMELIORATION ________________________________________________________ 62

    3.6.1 Webcam Versus camera IP _________________________________________________________ 62

    3.6.2 Autres _________________________________________________________________________ 64

    4 IMPRESSIONS ET ACQUIS DU TER _____________________________________________________ 65

  • 5

    Rapport du projet TER

    La Vidosurveillance distance

    4.1 POINT DE VUE TECHNIQUE ____________________________________________________________ 65

    4.2 POINT DE VUE ORGANISATIONNEL ______________________________________________________ 65

    5 CONCLUSION ________________________________________________________________________ 66

    6 BIBLIOGRAPHIE _____________________________________________________________________ 67

    6.1 OUVRAGES : _______________________________________________________________________ 67

    6.2 SITES WEB _________________________________________________________________________ 67

    7 ANNEXES ____________________________________________________________________________ 68

    7.1 ANNEXE1 : JMF ____________________________________________________________________ 68

    7.2 ANNEXE2 : DIRECSHOW ______________________________________________________________ 68

    7.2.1 Principes directeur de DirectShow : __________________________________________________ 68

    7.2.1.1 Le graphe de filtres _____________________________________________________________________ 68

    7.2.1.2 Rle du graphe : _______________________________________________________________________ 69

    7.2.1.3 Les filtres ____________________________________________________________________________ 69

    7.2.1.4 Les filtres sources ______________________________________________________________________ 70

    7.2.1.5 Les filtres de transformation ______________________________________________________________ 71

    7.2.1.6 Les filtres de rendu _____________________________________________________________________ 71

    7.2.1.7 Construction dun graphe partir de filtres __________________________________________________ 72

    7.2.1.8 Exemple de graphe des filtres _____________________________________________________________ 73

    7.3 ANNEXE3 : DSJ ____________________________________________________________________ 73

    7.4 ANNEXE4 : TCP _____________________________________________________________________ 74

    7.4.1.1 Etablissement de la connexion : ___________________________________________________________ 74

    7.4.1.2 Notion de fentre glissante : ______________________________________________________________ 74

    7.4.1.3 Segments TCP et fentre glissante : ________________________________________________________ 75

    7.4.1.4 Taille de la fentre : ____________________________________________________________________ 75

    7.4.1.5 Point sur la situation : __________________________________________________________________ 76

    7.5 ANNEXE5 : LE PIXELGRABBER _________________________________________________________ 77

    7.6 ANNEXE6 : LA REDIRECTION __________________________________________________________ 78

    7.6.1 Redirection directement sur le serveur ________________________________________________ 78

    7.6.2 Redirection par URL Rewriting______________________________________________________ 78

    7.6.3 Redirection dans un script serveur (PHP, ASP, etc.) _____________________________________ 78

    7.6.4 Redirection par balise META Refresh _________________________________________________ 79

    7.6.5 Redirection JavaScript (ou tout autre langage ct client) _________________________________ 80

    7.6.6 Les leaders dans le domaine ________________________________________________________ 80

    7.6.6.1 AXIS COMMUNICATIONS ______________________________________________________________ 80

    7.6.6.2 ACTI ________________________________________________________________________________ 81

  • 6

    Rapport du projet TER

    La Vidosurveillance distance

    7.6.6.3 ARTEC ______________________________________________________________________________ 82

    7.6.6.4 Architecture (matrielle et installation) _____________________________________________________ 82

    7.7 ANNEXE8 _________________________________________________________________________ 84

    7.7.1 Qu'est-ce que J2ME_______________________________________________________________ 84

    7.7.2 Connected limited device configuration _______________________________________________ 84

    7.7.3 API de base _____________________________________________________________________ 86

    7.7.4 API specialise ajoute au midp (mobile information device profile) __________________________ 87

  • 7

    Rapport du projet TER

    La Vidosurveillance distance

    1 INTRODUCTION

    Notre groupe de TER Rapace se compose de 4 tudiants : FERJANI Mohamed, HENNANI

    Hakim, SEDDIK Annes et SERIAI Abderrahmane issu du parcours Gnie Logiciel (GL) du M1

    IFPRU de luniversit de Montpellier 2. Ce TER consiste en la ralisation dun systme de

    vidosurveillance distance. La conduite de ce projet t encadre par Mr SERIAI Abdelhak-

    Djamel, matre de confrences luniversit Montpellier 2. Nous avons choisi ce TER car nous

    avons comme intrt commun les nouvelles technologies, leurs applications concrtes dans la vie

    de tous les jours. Dans ce cadre, le dveloppement dun systme de vidosurveillance distance,

    est une concrtisation de cet intrt.

    Le but du systme quon a choisit de dvelopper est de permettre lutilisateur de surveiller

    un ou plusieurs locaux (maison, locaux commerciaux, sites de production, etc.) en installant une

    ou plusieurs webcams relies un ordinateur. Ce dernier hbergera un serveur de

    vidosurveillance permettant un mode de visualisation en ligne de ces locaux ainsi quune

    possibilit denregistrement de ces vidos et en particulier de celles correspondant des

    intrusions.

    Vu la complexit de ce systme, nous avons choisi de mettre en pratique les grandes

    principes de la mthodologie de dveloppement RUP (Rational Unified Process) qui consiste

    raliser un dveloppement itratif par lanalyse, la conception et le dveloppement de plusieurs

    prototypes par enrichissement successif de leurs fonctionnalits. Ainsi, les grandes tapes de

    dveloppement dun tel systme ont t identifies comme suit :

    Dveloppement dun systme de vido surveillance locale. Il sagit de raliser lanalyse,

    la conception et limplmentation dun premier prototype offrant les fonctionnalits de

    vidosurveillance dun local depuis la machine relie aux webcams et qui constitue le

    serveur des vidos.

  • 8

    Rapport du projet TER

    La Vidosurveillance distance

    Dveloppement, par enrichissement du systme prcdent, dun deuxime prototype

    offrant les fonctionnalits de vidosurveillance via le web. Il sagit de permettre un

    utilisateur daccder (visualiser) distance, via une machine relie au rseau internet, aux

    vidos captes par une machine jouant le rle du serveur.

    Dveloppement du module Alertes et gestion des intrusions . Une fois le prototype

    offrant les fonctionnalits de visualisation en ligne dun lieu distant est ralis, le

    troisime objectif est le dveloppement des fonctionnalits permettant un utilisateur du

    systme dtre alert en cas de dtection dintrusion. Diffrentes possibilits de

    notification dintrusion sont ainsi proposes.

    Dveloppement du module vidosurveillance mobile . IL sagit de prendre en compte

    la mobilit de lutilisateur et la possibilit quil soit alert en cas dintrusion.

    Ltude du contexte de ce projet ainsi que sa ralisation sont dtaills dans la suite de ce

    document. Dans la section 2, nous prsentons notre tude bibliographique centre autour de la

    vidosurveillance. Nous prsentons dans cette section la notion de surveillance dans son sens

    gnral et on tudiera ensuite la vidosurveillance, sa dfinition, ses buts et ses diffrents types en

    exposant quelques exemples de systmes existants. Dans la section 3, nous prsentons le systme

    Rapace. Nous commenons cette section par la prsentation de quelques lments concernant la

    gestion de ce projet (rappel des objectifs, planification et rpartition des tches). Ensuite, nous

    dtaillons les lments lis lanalyse et la conception du systme avant de prsenter les

    diffrents aspects qui concernent son implmentation. La section 3.5 est consacre la

    prsentation du prototype dvelopp. Les diffrentes perspectives damliorations du systme

    Rapace sont prsentes dans la section 3.6. Nous terminons ce document par les sections

    prsentons respectivement nos acquis et impressions personnelles, notre conclusion par rapport

    au travail ralis et enfin un annexe regroupant un ensemble dinformations en relation avec le

    sujet de notre tude.

  • 9

    Rapport du projet TER

    La Vidosurveillance distance

    2 ETUDE BIBLIOGRAPHIQUE

    2.1 INTRODUCTION : LA TELESURVEILLANCE

    La tlsurveillance est la surveillance distance d'un lieu, public ou priv, de machines ou

    d'individus. Elle est employe dans de nombreuses situations, gnralement pour des raisons de

    scurit :

    Dans le cadre de la scurit routire, au moyen de camras spcialises ou des capteurs

    proximit voire mme noys dans la chausse permettent d'valuer la densit du trafic, les

    ralentissements qui peuvent en dcouler, la prsence de personnes sur les bandes d'arrt

    d'urgence, etc.

    Pour la surveillance des machines : divers capteurs permettent d'valuer l'tat de la

    machine, ces informations peuvent alors tre envoyes un poste de surveillance.

    L'puisement de consommables, une anomalie de fonctionnement ou mme un acte de

    malveillance serait alors dtect distance ;

    Dans le cadre de la prvention de la dlinquance (avec notamment la vidosurveillance) ;

    Pour la surveillance de lieux sensibles (banques, centrales nuclaires, etc.) et

    d'habitations, afin de prvenir les intrusions, les cambriolages et les actes de vandalisme ;

    Dans le cadre de la tlmdecine, et en particulier pour la surveillance des patients

    distance ;

    Pour la surveillance distance des enfants et des personnes vulnrables

  • 10

    Rapport du projet TER

    La Vidosurveillance distance

    2.2 LA VIDEOSURVEILLANCE

    2.2.1 Prsentation

    La vidosurveillance consiste placer des camras de surveillance dans un lieu public ou

    priv pour visualiser et/ou enregistrer en un endroit centralis tous les flux de personnes au sein

    d'un lieu ouvert au public pour surveiller les alles et venues, prvenir les vols, agressions,

    fraudes et grer les incidents et mouvements de foule.

    Au dbut des annes 2000, les camras font leur apparition en nombre important dans de

    nombreuses villes europennes. Londres est rpute comme tant la ville o la vidosurveillance

    est la plus importante. L'utilisation de la vidosurveillance fait dbat en matire de scurit et de

    respect de la vie prive.

    2.2.2 Son apparition

    La vidosurveillance s'est dveloppe d'abord au Royaume-Uni, en rponse aux attaques de

    l'IRA(Arme rpublicaine irlandaise en anglais Irish Republican Army). Les premires

    expriences au Royaume-Uni dans les annes 1970 et 1980 ont conduit des programmes de

    grande ampleur au dbut des annes 1990. Ces succs conduisirent le gouvernement faire une

    campagne auprs de la population, et lana une srie d'installations de camras. Aujourd'hui, les

    camras au Royaume-Uni couvrent la plupart des centres villes, et de nombreuses gares et

    parkings. Une tude donna le chiffre approximatif de 400 000 camras Londres et 4 millions au

    Royaume-Uni au total.

    D'autres pays comme la France ont install des systmes de vidosurveillance. En 1998 le

    nombre de camras en France tait estim un million dont 150 000 dans le domaine public. Ces

    camras sont prsentes dans divers lieux tels que les aroports, les gares, les routes, les transports

    publics. Ces installations vido commencent aussi fleurir dans les villes. Avignon par

    exemple, une enqute propos de la vidosurveillance a rvl que 71 % des Avignonnais sonds

    taient favorables l'installation d'un tel systme dans les parkings.

  • 11

    Rapport du projet TER

    La Vidosurveillance distance

    Cependant il existe aussi des associations qui militent contre toute forme de surveillance.

    C'est le cas de Souriez, vous tes films , pour n'en citer qu'une.

    2.2.3 Ses buts

    Les raisons de l'installation de systmes de vidosurveillance sont diverses, toutefois la

    scurit publique ainsi que la protection des biens mobiliers ou immobiliers font office

    d'lments phares dans la justification de la vidosurveillance. En Angleterre, les attentats de

    juillet 2005 sont galement un moteur pour l'augmentation du nombre de camras.

    Cette menace qui a toujours t prsente n'a jamais vraiment cr un sentiment d'inscurit,

    mais les attentats du 11 septembre 2001 ont chang la donne. Les gens ont pris conscience que

    personne n'tait intouchable. Toutefois la mise en place de la vidosurveillance ne peut

    s'expliquer uniquement par l'inscurit grandissante ou la protection des biens. Certaines autres

    raisons moins connues du grand public existent galement. La mise en place de la

    vidosurveillance permet une amlioration de la gestion des incidents ainsi qu'une augmentation

    de l'efficacit et de la rapidit d'intervention. Par exemple, dans la prvention du suicide ou

    encore lors d'accidents qui pourraient survenir sur la voie publique. Elle permet ainsi

    indirectement, de maintenir les primes d'assurances un niveau raisonnable. La surveillance des

    axes routiers sert informer en temps rel les automobilistes sur les conditions du trafic.

    Quelques affaires de crimes ont t rsolues grce aux enregistrements fournis par les

    camras de surveillance. Par exemple, aprs les attentats du mtro de Londres du 7 juillet 2005,

    les enregistrements des camras de surveillance ont t utiliss pour identifier les poseurs de

    bombes, bien qu'il soit admis qu'ils n'aient pas t indispensables. La question de savoir si la

    vidosurveillance prmunit ou rduit les crimes n'a pas pu tre montre par les tudes

    indpendantes qui furent conduites que ce soit en France ou l'tranger.

    Le gouvernement britannique a jug de son ct que les effets bnfiques n'taient pas possibles

    valuer, bien que Scotland Yard ait affirm, en 2008, que la vidosurveillance Londres, qui

    compte 500 000 camras, n'avait permis d'lucider que 3 % des vols dans la rue.

  • 12

    Rapport du projet TER

    La Vidosurveillance distance

    2.2.4 Domaines dapplications

    La tendance de lconomie mondiale actuelle exige aux entreprises dtre ractive devant les

    demandes de plus en plus gourmandes de moyen de connectivite et infrastructure de

    communication et de marketing, la technologie de la vido sur rseau IP redynamise les

    applications de vidosurveillance par de nombreuse fonctionnalit comme le contrle a distance,

    la vido en temps rel. Ce qui rend plusieurs secteurs dactivits interactives.

    On dnombre trois grandes catgories publiques dans lesquelles l'on retrouve ces systmes de

    surveillance :

    Les aroports, les transports publics et les gares.

    Les lieux publics et les parkings. Qui se verront principalement doter de systmes

    classiques pour la surveillance globale bien que les aroports commencent adopter les

    mesures biomtriques.

    Le trafic autoroutier. Qui pour sa part privilgiera les camras qui ont la possibilit de

    reconnatre les vhicules.

    Les installations prives importantes concernent les casinos et autres salles de jeux qui font

    rgulirement appel des systmes d'identification faciale pour reconnatre les fraudeurs.

    2.2.5 Evolution de la vidosurveillance

    Les premires camras avaient des images de basse qualit et noir et blanc, sans possibilit

    de zoomer, ni de changer l'angle de vue. Les camras modernes les plus performantes sont en

    couleur, permettent des zooms et une mise au point trs nette. Les dispositifs d'enregistrement et

    d'analyse sont plus prcis, plus efficaces.

    La loi de la Rpublique Franaise en vigueur dfinit dans l'arrt du 3 aot 2007 (publi au

    Journal officiel le 21 aot, avec son rectificatif du 25 aot), les normes techniques des images. A

    de rares exceptions prs, la dfinition requise est dite 4 CIF, soit 704 x 576 pixels.

  • 13

    Rapport du projet TER

    La Vidosurveillance distance

    Dfinition trs rarement atteintes par les anciennes camras ou mme certaines toujours sur

    le march, en gnral en CIF soit 352 x 288 pixels, ou VGA, soit 640 x 480 pixels. Il est possible

    d'avoir une camra de rsolution plus faible si elle permet de prendre une "vignette de visage"

    pour identification de 90x60 pixels. Sur les anciennes camras, cela signifie que le visage doit

    reprsenter 5% environ de la superficie de l'image (1% en 4 CIF). Par ailleurs, le nombre

    d'images par seconde requis est de 6 ou 12, selon la situation, lente ou rapide, surveiller. Les

    nouvelles installations doivent videmment se conformer la loi, tandis que les anciennes ont

    jusqu'au 21 aot 2009 pour se mettre en conformit. C'est l'utilisateur du systme qui est

    responsable de sa conformit la loi.

    En pilotant ces camras avec des ordinateurs, il est possible de suivre des mouvements, il

    est par exemple possible de dceler des mouvements dans un endroit o il ne devrait pas y en

    avoir, ou au contraire se focaliser sur un individu et le suivre travers la scne. L'informatique

    peut faire cooprer plusieurs camras pour le suivre dans un espace urbain entier.

    L'une des volutions les plus probables de la vidosurveillance est le rapprochement des

    enregistrements avec des donnes biomtriques. Cette technologie permettrait par exemple aux

    ordinateurs d'analyser la dmarche des passants : une personne lourdement charge adopte une

    dmarche inhabituelle ; que transporte-t-il ? Des explosifs, des armes, une camra de tlvision

    ou des bouteilles de soda ? De mme, des recherches rcentes misent sur la prvisibilit du

    comportement humain dans les espaces publics : un voleur ne se comporterait pas de la mme

    faon qu'un usager. L'ordinateur peut identifier ce genre de mouvements et donner l'alerte.

    Couples une base de donnes biomtrique, il devient possible de dterminer l'identit

    d'une personne sans l'aborder et sans mme qu'elle ne s'en rende compte. Une exprience de ce

    type eut lieu en 2007 dans une gare Mayence, en Allemagne ; 60% des volontaires furent

    identifis parmi une foule de 20 000 personnes. Ce rsultat est trop faible pour une mise en

    application mais ces promoteurs pensent pouvoir proposer une technologie convaincante d'ici

    2012.

  • 14

    Rapport du projet TER

    La Vidosurveillance distance

    2.2.6 LES DIFFERENTS TYPES DE SYSTEMES

    2.2.6.1 Systme sur rseaux IP

    Ce systme relie un rseau de camras IP, qui peut compter de nombreuses units, un

    systme d'enregistrement numrique. D'une part, cela permet de pouvoir stocker une quantit

    importante d'images, sans perte de qualit, tout en pouvant les consulter rapidement grce des

    logiciels de traitement. D'autre part, le fait d'informatiser un systme de surveillance permet de

    profiter des technologies de communication comme Internet. Ainsi, les camras sont visibles

    et grables depuis n'importe o dans le monde. L'volution des tlphones mobiles a cr la

    "vidosurveillance mobile" avec l'accs aux vidos via Internet mobile sur PDA ou via GSM

    GPRS sur tlphone GSM dot de Java. Cette technologie permet galement d'conomiser et de

    mutualiser les cbles rseaux qui sont gnralement disponibles dans les btiments rcents.

    Figure 1. Vidosurveillance sur rseau IP

  • 15

    Rapport du projet TER

    La Vidosurveillance distance

    2.2.6.2 Kit de vidosurveillance

    On entend par kit le genre de camras utilises dans les petits magasins, par exemple. Il

    regroupe en gnral une ou deux camras et un moniteur.

    Ces systmes sont plutt utiliss titre de prvention et n'enregistrent pas ce qu'ils voient. C'est

    en quelque sorte de la vidosurveillance bon march qui est propose comme une solution de

    scurit peu coteuse.

    Figure 2. Kit de vidosurveillance

    2.2.6.3 Rseau classique de vidosurveillance

    Le rseau est bas sur un systme analogique, avec dans la plupart des cas un

    enregistrement limit dans la dure. Il s'agit l d'une des mthodes les plus anciennes donc

    galement des plus rpandues dans un grand nombre d'tablissement. Cependant, ces systmes ne

    rpondent plus, de trs rares exceptions prs, aux nouvelles exigences techniques de l'arrt du

    3 aot 2007.

    Figure 3. Systme de vidosurveillance analogique

  • 16

    Rapport du projet TER

    La Vidosurveillance distance

    2.2.6.4 Systme hybride de vidosurveillance

    Les systmes hybrides intgrent les systmes classiques de vidosurveillance bass sur les

    camras analogiques et les camras en rseau. Il permet d'intgrer aisment les deux types de

    systmes en place sur un seul serveur ou de faciliter l'volution d'un systme de vidosurveillance

    analogique vers le numrique, sans remettre en cause l'existant, et introduire de nouvelles

    fonctions comme la dtection de disparition / apparition d'objet et le comptage d'objets ou de

    personnes.

    2.2.7 EXEMPLES DE QUELQUES SYSTEMES EXISTANTS

    2.2.7.1 Le systme ASCAM-2E2I

    La solution ASCAM intgre un logiciel de vido surveillance sur rseau IP, un logiciel

    d'enregistrement sur mouvement avec les fonctions magntoscope et finalement des camras

    rseau IP jour / nuit pour extrieur en caisson tanche et pour intrieur.

    Laccs aux camras et aux enregistrements sur alarme par Internet permet dassurer une

    surveillance distance. Les logiciels permettent un monitoring temps rel sur site et distance

    via Internet ainsi que lenregistrement sur dtection de mouvement, planning et alarme

    La dtection de mouvement peut tre configure selon les critres suivants :

    Champs de vision des camras de surveillance Zones de dtections, masques de dtection Objet manquant (dtection de vol) Nouvel objet statique (colis douteux) Focus drgl, camra obstrue (vandalisme)

    Enfin la notification dalarmes comprend lenvoi demail dalerte, appel tlphonique et

    galement une alarme sonore

  • 17

    Rapport du projet TER

    La Vidosurveillance distance

    2.2.7.2 Le systme ASCAM-NUUO

    La solution ASCAM-NUUO intgre un serveur de vido surveillance permettant une

    visualisation distance via internet sur PC et sur tlphone mobile 3GPP. Elle fournit un

    ensemble de fonctionnalits que lon peut rsumer dans la liste suivantes :

    Visualisation des flux vido en local sur moniteur Alarme et visualisation en leve de doute, fentre pop up Console d'administration des paramtres de gestion Gestion des droits d'accs: profils, horaires, distance Alarme sur dtection de mouvement Enregistrement possible sur Planning (Schedule) Etc.

  • 18

    Rapport du projet TER

    La Vidosurveillance distance

    3 LE SYSTEME RAPACE

    3.1 GESTION DU PROJET

    3.1.1 Synthse du cahier des charges

    Lobjectif de ce TER que nous avons nonc lors de llaboration du cahier des charges est

    de raliser un systme qui permet une personne de surveiller un local. Pour cela, le systme

    ncessite seulement linstallation de camras/webcams relies un ordinateur.

    Afin de mettre en uvre ce systme de vidosurveillance, nous nous sommes fixs plusieurs

    sous-objectifs (vidosurveillance locale, vidosurveillance distance) qui constituent des

    tapes en vue de laboutissement du systme.

    Concernant larchitecture du systme, notre projet rentre dans le cadre dune application

    client/serveur. Le serveur aura sa charge lattente de la connexion de lutilisateur, lattente des

    connexions ddies pour les diffrentes webcams, la rception et lanalyse des messages manant

    du client. De plus, en cas dintrusion, le serveur excutera les actions choisies par le client.

    Le client, quant lui, soccupera de la connexion au serveur, de lenvoi de messages, la rception

    et laffichage des flux capturs. De plus, il pourra choisir les actions effectus en cas dintrusion

    (envoi de SMS, demail).

    3.1.2 Planification et rpartition des tches

    Ds le dbut du projet nous avons voulu suivre une dmarche visant structurer, assurer et

    optimiser le bon droulement du projet pour tre planifi dans le temps et surtout pour atteindre

    le niveau de qualit souhait dans le meilleur dlai possible. Ainsi, dans un premier temps on a

    dtermin, de faon claire, les objectifs du cahier des charges. Ensuite on les a numrots et dats

    selon leur valuation tout en rservant un certain temps pour se rattraper en cas dventuels

    problmes.

    Le rsultat de cette tape est prsent dans le diagramme de Gantt de la figure 4 ci-dessous:

  • 19

    Rapport du projet TER

    La Vidosurveillance distance

    Figure 4. Diagramme de Gantt

    Nous avons ensuite rparti les diffrentes tches identifies entre les membres du groupe. Nous

    prsentons ci-dessous que la rpartition relle des tches rsultat de diffrents changements dus

    la prise en compte de certains paramtres(tels que le non disponibilit dune des membres du

    groupe).

  • 20

    Rapport du projet TER

    La Vidosurveillance distance

    Membres

    Taches

    Abderrarmane

    Seriai

    Mohammed

    Ferjani

    Annes

    Seddik

    Hakim

    Hennani

    Etat de lart et tude bibliographique *** ** * **

    Installation du Wiki collaboratif *** * **

    Cahier des charges *** *** * ***

    Analyse des verrous et difficults dans

    la ralisation du systme *** *** * ***

    Analyse et conception UML du

    systme *** *** **

    Dveloppement des fonctionnalits de

    la vidosurveillance en local ** ***

    Dveloppement des fonctionnalits de

    la vidosurveillance via le web *** *** **

    Dveloppement du site web ** ** ***

    Dveloppement des fonctionnalits de

    gestion des intrusions * ***

    Rdaction du rapport *** *** ***

    Lgende :

    * : Contribution.

    ** : Contribution considrable.

    *** : Responsable tche.

  • 21

    Rapport du projet TER

    La Vidosurveillance distance

    3.2 ANALYSE ET CONCEPTION DE RAPACE

    3.2.1 Analyse et tude des fonctionnalits

    Lobjectif de cette tape primordiale est de crer une reprsentation simplifie du problme

    le modle et de sa solution. Le modle constitue ainsi une reprsentation possible du systme

    pour un point de vue donn : le notre dans le prsent rapport.

    3.2.1.1 Les fonctions offertes

    Le diagramme de cas d'utilisation (use case) de la figure 5 ci-dessous, met en vidence les

    grandes relations fonctionnelles entre les acteurs (principaux) et le systme.

    Figure 5. Diagrammde de cas dutilisation

  • 22

    Rapport du projet TER

    La Vidosurveillance distance

    Remarque : Les fonctionnalits de visualisation et de paramtrage et configuration sont les plus

    importantes dans notre systme cest pour cela quon va les dtailler dans la suite.

    3.2.1.2 Etude dtaille de la fonction de visualisation

    Cette fonctionnalit se dcompose en deux sous-fonctionnalits :

    La visualisation des flux en temps rel, c..d. ceux qui transitent sur les webcams au

    moment de la visualisation.

    La visualisation des vidos qui ont t enregistres en cas dintrusion.

    La figure 6 ci-dessous dtaille cette fonctionnalit.

    Figure 6. Detaille de la fonctionnalit de visualisation

  • 23

    Rapport du projet TER

    La Vidosurveillance distance

    3.2.1.3 Etude dtaille de la fonction de paramtrage et configuration

    La figure 7 ci-dessous montre les diffrentes possibilits de configurations disposition de

    lutilisateur :

    Figure 7. Detaille de la fonctionnalit de paramtrage et configuration

    La fonctionnalit dactivation de la dtection de mouvement incorpore dautres sous-

    fonctionnalits comme le montre la figure 8 ci-dessous :

  • 24

    Rapport du projet TER

    La Vidosurveillance distance

    Figure 8. Detaille de la fonctionnalit dactivation de la dtection de mouvement

    3.2.2 Etude architecturale

    Ltude conceptuelle que nous venons de prsent ci-dessus nous a permis deffectuer un

    constat par rapport la suite de la conception de notre systme. Nous nous sommes aperus quil

    tait ncessaire de bien dissocier deux taches bien distinctes au sein de notre application : une

    tache qui sera ddi la gestion des diffrentes webcams et une autre ddi lenvoi des

    diffrents flux rcuprs.

    Cependant, ce redcoupage des taches nous a confront la problmatique suivante : faut-il

    cohabiter ces deux taches dans un seul serveur ou bien les sparer dans un serveur diffrent.

    Afin de rsoudre ce problme, il a t ncessaire de raliser une tude architecturale que nous

    allons vous prsentes ci-dessous.

  • 25

    Rapport du projet TER

    La Vidosurveillance distance

    3.2.2.1 Architecture multiserveurs

    3.2.2.1.1 Fonctionnement

    La premire architecture pouvant matrialiser le fonctionnement du systme dsir consiste

    en la coexistence de plusieurs serveurs dont chacun est reli dun cot des webcams et dautre

    cot une connexion internet. De cette manire, le client lorsquil se connecte au serveur, pourra

    visualiser directement le flux vido rcupr sans tre redirig (comme le montre la figure 9),

    Par consquent, chacun de ces serveurs sera amen effectuer les traitements quil doit grer

    (attente de la connexion du client, rception et analyse des messages manant du client).

    Le client soccupera de la connexion au serveur (chaque client possde sa propre adresse http qui

    le relie son serveur local), de lenvoi de message vers le serveur (rception et affichage des flux

    capturs (par le serveur) sur les diffrentes webcams, choix des actions excuter en cas

    dintrusion.

    Figure 9. Schma de larchitecture multi serveurs

  • 26

    Rapport du projet TER

    La Vidosurveillance distance

    3.2.2.2 Avantages et inconvnients

    La liaison directe entre le serveur et le client (cest--dire il ny aura pas de redirection et de

    renvoi de flux rcupre par le serveur vers un autre serveur et aprs vers le client) ainsi que le fait

    que chaque client a sa propre adresse http font de cette architecture une solution convenable.

    Nanmoins, elle prsente pas mal dinconvnients. Par exemple, si on modifie linterface

    chez lun des clients, on sera oblig dappliquer cette modification autant de fois quau nombre

    des clients. De plus, tout le systme dont le serveur http, notre application est installe chez le

    client. Enfin, il ny a pas dadministration.

    3.2.2.3 Architecture avec forte centralisation

    3.2.2.3.1 Fonctionnement :

    Dans cette architecture nous avons rajout un serveur central qui sera reli dune part des

    serveurs locaux et dautre part une connexion internet, comme ca le client quand il demande la

    visualisation de flux de vido, ce flux va tre envoy dabord du serveur local vers le serveur

    central et puis de ce dernier vers le client, donc le serveur central il joue le rle dintermdiaire

    entre le client et le serveur local et il permet aussi lenregistrement des squences de vido a son

    niveau aprs la demande du client.

    Les traitements effectuer au niveau du serveur local sont les mmes que dans

    larchitecture prcdente.

    Et pour le client Les traitements sont les mme que dans lautre architecture sauf que dans

    cette architecture il yaura une seule adresse HTTP pour tous les clients.

    3.2.2.3.2 Avantages et inconvnients:

    Les avantages de cette architecture sont quil ny a quune seule adresse http pour tous les

    clients. Le client peut visualiser des vidos qui sont enregistre sur le serveur central mme si le

    serveur local correspondant tombe en panne. De plus, ladministrateur peut de virer ou dajouter

    des clients car ce n'est qu partir de ce serveur que le client peut visualiser les vidos ; chose qui

    ntait pas possible dans larchitecture prcdente.

  • 27

    Rapport du projet TER

    La Vidosurveillance distance

    Par contre, cette architecture est trs lourde car les vidos sont envoyes de serveur local

    vers le serveur central puis elles sont visualises. Autre inconvnient, si le serveur central tombe

    en panne on ne peut pas visualiser les vidos bien que le serveur local soit capable de rcuprer

    les flux des vidos.

    Figure 10. Schma de larchitecture avec forte centralisation

    3.2.2.4 Architecture avec centralisation souple

    3.2.2.4.1 Fonctionnement :

    Cette architecture sera presque la mme que la prcdente sauf que dans celle-ci on a

    essay denlever le principal inconvnient de la prcdente (la lourdeur) en mettant le client en

    communication directe avec le serveur local (via louverture dune session de travail) aprs

    lobtention de lok du serveur central bien sur et comme ca on aura plus des flux qui seront

    retransmis ou redirigs (comme le montre la figure 11)

    Dans cette architecture, le serveur central sera donc reli dune part des serveurs locaux et

    dautre part une connexion internet, et quand le client demande la visualisation de flux de vido

    rcupr par le serveur local, le serveur central ouvre une session entre ce dernier et le client et

  • 28

    Rapport du projet TER

    La Vidosurveillance distance

    comme ca le client sera en communication directe avec le serveur local et du cout le flux va tre

    envoy une seule fois

    Les traitements effectuer au niveau du serveur local et du client sont les mmes que dans

    larchitecture prcdente.

    3.2.2.4.2 Avantages et inconvnients :

    Cette architecture prsente une multitude davantages. Dans un premier temps, elle permet

    une liaison directe entre le serveur et le client : cest--dire il ny aura pas de redirection et de

    renvoi de flux rcupre par le serveur. Dans un second temps, ladministrateur a la possibilit de

    supprimer ou dajouter des clients car ce nest qua partir de ce serveur que le client peut

    visualiser les vidos, ce qui ntait pas possible dans larchitecture prcdente.

    De plus, il ny a quune seule adresse http pour tous les clients. Enfin, le client la

    possibilit de visualiser des vidos qui sont enregistres sur le serveur central mme si le serveur

    local correspondant tombe en panne.

    Figure 11. Schma de larchitecture avec centralisation souple

  • 29

    Rapport du projet TER

    La Vidosurveillance distance

    3.2.2.5 Modlisation de larchitecture retenue

    3.2.2.5.1 Structure et composants de larchitecture

    La modlisation objet nest pas un processus linaire mais plutt itratif. En dautres mots,

    on est sens itrer et raffiner chaque tape du cycle de vie du projet.

    Voici donc la premire version le modle de conception du diagramme de classes :

    Figure 12. Diagramme de Classes : modle de conception

    Aprs les raffinages appliqus sur le diagramme de classes au fur et mesure quon

    avanait, on a aboutit au diagramme dimplmentation que montre la figure 13.

  • 30

    Rapport du projet TER

    La Vidosurveillance distance

    Figure 13. Diagramme de classes : modle dimplmentation

    3.2.2.5.2 Comportement et fonctionnement de larchitecture

    Pour reprsenter les interactions entre objets travers le temps, typiquement entre un

    utilisateur ou un acteur et les objets et composants avec lesquels ils interagissent au cours de

    lexcution du cas dutilisation, voici un diagramme de squence reprsentant un scnario du

    Cas dUtilisation.

  • 31

    Rapport du projet TER

    La Vidosurveillance distance

    Figure 14. Diagramme de squence

  • 32

    Rapport du projet TER

    La Vidosurveillance distance

    3.2.3 Analyse pr-implmentation

    Aprs avoir fait ltude conceptuelle et architecturale il tait ncessaire de faire une tude

    concernant le choix de langage et les diffrents verrous quon peut rencontrer au cours de

    limplmentation

    3.2.3.1 Choix des langages

    Le choix de langage reprsente une tape trs importante dans la ralisation de nimport

    quelle application parce cest partir de cette tape quon fait la correspondance entre les

    solutions que nous offre le langage et les rsultats souhaits Java est un langage orient objet

    permettant de crer des applications aux fonctionnalits pousses et ce avec un minimum de

    lignes de codes.

    Nous allons tirer profit de ces qualits pour dtailler la conception dun systme de vido

    surveillance bas sur ce langage.

    Nous lavons choisi comme langage pour programmer notre projet, car dun cot on est

    plus familiariss avec java que dautres langages et dautre cot parce que avec ce langage on

    peut faire des applications de bureau comme on peut faire des applications web ou de rseau ce

    qui convient bien avec les buts de notre application. Concernant le dveloppement web nous

    avons choisi dutilis toutes les technologies offerte par le web2.0 (Ajax, CSS, javascrip, php)

    3.2.3.2 Analyse des verrous dimplmentation

    Lors de notre analyse pr-implmentation de notre systme, nous avons t confronts plusieurs

    verrous dans diffrents domaines.

    Au niveau des pilotes (drivers) des priphriques matriels, il a fallu rflchir comment

    rcuprer la liste des sources de donnes installes sur la machine, comment utiliser un

    priphrique externe (webcam) comme source dentre dans un programme.

  • 33

    Rapport du projet TER

    La Vidosurveillance distance

    La lecture dun flux de donnes mdia nous a pos le problme de la connexion avec la

    webcam, de la gestion de plusieurs webcams.

    Concernant la surveillance distance, nous avons dcel deux verrous importants : la

    transmission dun flux vido en temps rel sur internet et le codage lenvoi et dcodage la

    rception.

    A propos de la gestion dintrusion, nous nous sommes demands comment dtecter un mouvement et que faire en cas dintrusion. Enfin, nous avons tudi la question de lenvoi de mail ou de SMS.

    3.3 IMPLEMENTATION DU FONCTIONNEMENT DE

    LARCHITECTURE

    Ltude architecturale nous a permis didentifi la meilleure architecture permettant de

    rpondre au type de fonctionnement ncessaire pour notre systme par consquent nous avons

    opt pour le mcanisme de redirection comme moyen pour matrialiser le fonctionnement en

    question. Ce dernier consiste faire basculer le client entre les deux serveurs (central et local)

    tout en gardant la main du serveur central sur le serveur local.

    Diffrentes solutions sont possibles : utilisation simple du protocole http, la cohabitation du

    protocole http et la notion dapplet, utilisation de la notion de redirection directe et utilisation de

    la notion de redirection indirecte

    3.3.1 Utilisation simple du protocole http

    Le protocole HTTP (HyperText Transfer Protocol) est le protocole le plus utilis sur

    Internet depuis 1990. La version 0.9 tait uniquement destine transfrer des donnes sur

    Internet (en particulier des pages Web crites en HTML. La version 1.0 du protocole (la plus

    utilise) permet dsormais de transfrer des messages avec des en-ttes dcrivant le contenu du

    message.

    Le but du protocole HTTP est de permettre un transfert de fichiers (essentiellement au format

    HTML) localiss grce une chane de caractres appele URL entre un navigateur (le client) et

    un serveur Web.

  • 34

    Rapport du projet TER

    La Vidosurveillance distance

    Malgr toutes les solutions que le protocole http a pu apporter notre application, son

    utilisation seule na pas rpondu notre but principal

    3.3.2 La cohabitation du protocole http et de la technologie des

    applets

    Dans cette approche on a essay de sappuyer sur la technologie dapplet en lincorporant

    dans une page html dans le but de pouvoir utiliser du code java au sein dune page html et du

    coup la possibilit dutiliser la notion de socket pour relier les deux serveurs avec le client mais

    Les rsultats obtenus nont t satisfaisants parce que on a dcouvert que sur le rseau une applet

    nest pas autorise :

    tablir des connexions rseaux avec autre ordinateurs lexception de celui a partir

    duquel le code a t charg

    Accepter des connexions rseaux dun hte autre que celui a partir duquel elle a t

    charge

    3.3.3 Lutilisation de la notion de redirection directe

    Selon les tudes quon a fait et qui vont tre prsentes ci-dessous sur cette approche on a

    trouv que ca convient partiellement avec notre but principal

    3.3.3.1 Les diffrents types de redirection

    Il existe plusieurs cas pour lesquels des redirections doivent tre utilises (renommage d'un

    fichier, changement d'adresse du site, lien). Du point de vue du rfrencement, parmi toutes les

    mthodes de redirection, certaines sont plus recommandes que d'autres, comme nous

    l'expliquons ci-dessous. Du point de vue de l'internaute, c'est en gnral plus simple car il suffit

    de trouver un moyen d'afficher la page redirige : il ne sera pas sensible au type de redirection.

    Voici les techniques de redirection les plus courantes :

  • 35

    Rapport du projet TER

    La Vidosurveillance distance

    Redirection directement sur le serveur

    Redirection par URL Rewriting

    Redirection dans un script serveur (PHP, ASP, et.

    Redirection par balise META Refresh

    Redirection JavaScript

    3.3.3.2 Les avantages et les inconvnients

    Le principe de redirection directe ne permet pas au serveur central de garder la main sur la

    communication entre le client et le serveur local. De plus, le client na pas besoin de passer par le

    serveur central pour accder au serveur local aprs avoir le lien du serveur local

    3.3.4 Lutilisation du principe de redirection indirecte

    Tout en essayant dviter les inconvnients de lapproche prcdente on est arriv a cette

    solution adquate notre but principale

    3.3.4.1 Fonctionnement :

    Le client, quand il veut visualiser la vido, se connecte au serveur central en envoyant le

    login et le mot de passe, et attend la rponse du serveur

    Lorsque le serveur reoit la demande du client, il vrifie son identit en comparant les

    informations envoyes par ce dernier et celles enregistres dans la base de donnes.

    Sil trouve que les informations sont identiques il lui envoie lensemble des liens des

    serveurs locaux qui lui correspondent et ca aprs avoir envoy ces informations aux serveurs

    locaux concerns.

    Sinon il lui envoie une page derreur disant que les informations envoy sont errones

  • 36

    Rapport du projet TER

    La Vidosurveillance distance

    3.3.4.2 Avantages et inconvnients:

    Les avantages de ce principe de redirection sont que le serveur central peut garder la main

    sur la communication entre le client et le serveur local. De plus, le client a toujours besoin de

    passer par le serveur central pour accder au serveur local

    Pour plus de dtails voir lAnnexe6

    3.4 REALISATION DES DIFFERENTS MODULES

    Dans cette partie, nous allons vous exposer dans un premier temps le module

    didentification et dacquisition. Dans un second temps, nous aborderons le module de diffusion.

    Enfin, nous traiterons le module dintrusion.

    3.4.1 Ralisation du module identification et acquisition

    3.4.1.1 Objectif

    Arriver identifier toutes les webcams branches sur la machine et acqurir les flux qui y

    transitent. Le travail avec le multimdia prsente plusieurs chalenges. Les flux Multimdias

    contiennent une grande quantit de donnes qui doivent tre traites trs rapidement. Audio et

    vido doivent tre synchronises dune sorte qu'il dmarre et s'arrte en mme temps, et joue au

    mme taux. Les donnes peuvent provenir de plusieurs sources, y compris les fichiers locaux, les

    rseaux informatiques, les missions de tlvision, et des camras. De plus, ils proviennent d'une

    varit de formats, tels que Audio-Vido Interleaved (AVI), Advanced Streaming Format (ASF),

    Motion Picture Experts Group (MPEG), et de Digital Video (DV). Enfin, Le programmeur ne

    sait pas l'avance quel matriel sera prsent sur l'utilisateur final du systme.

    3.4.1.2 Etude des solutions possibles

    A. JMF (Java Media Framework) :

  • 37

    Rapport du projet TER

    La Vidosurveillance distance

    JMF est une API Java permettant de manipuler aisment toutes sortes de contenus

    multimdia avec Java tels que du son ou de la vido. Elle offre les outils ncessaires pour faire de

    lacquisition, du traitement et du transport de mdias bass sur le temps. Lavantage est de

    pouvoir concevoir des applications utilisant des lments multimdias (Webcam, micro,

    vidos) et pouvant sexcuter sur diffrentes plates-formes logicielles (principalement

    Windows et Linux). La version actuelle de JMF est la 2.1.

    Cette API est une initiative de SUN qui souhaite apporter une solution time-based media

    processing (traitement de media bas sur un timeline) Java. Les mdia bas sur le temps sont

    des donnes qui changent par rapport au temps. Nous les retrouvons bien entendu dans les vidos,

    laudio, les squences MIDI et autres animations.

    Pour plus de dtails, voir Annexe1.

    Cependant, JMF ne fait pas de distinction entre les diffrentes webcams installes sur la

    machine, Il les prend toutes pour : vfw:Microsoft WDM Image Capture (Win32):0 . Du coup,

    on ne peut en utiliser quune seule la fois, sans mme pouvoir la spcifier.

    Nous nous sommes alors orients vers une deuxime solution, lAPI FMJ Project.

    B. FMJ Project (Freedom for Media in Java):

    Projet Open-source dans le but de fournir une alternative JMF. Comme il est compatible

    avec JMF, on peut lutiliser avec du code JMF existant. Cependant, certaines parties du projet

    sont encore au cours de dveloppement, donc il peut y arriver quon se trouve devant plus de

    travail faire.

    Pour plus de dtails, voir http://fmj-sf.net/

    Cette solution produisait des rsultats partiellement satisfaisants dont on a pu dtecter et

    distinguer les diffrentes webcams installes sur la machine, mais le problme quon a rencontr

    est que mme si la webcam nest pas branche, on reoive les informations la concernant (Pilotes,

    formats supports, ). Nous avons donc laiss tomber cette API, et nous avons dcouvert lAPI

    DirectShow.

  • 38

    Rapport du projet TER

    La Vidosurveillance distance

    C. DirectShow :

    DirectShow (parfois abrg en DS ou dshow), est une API multimdia dveloppe par

    Microsoft afin de permettre deffectuer diffrentes oprations avec des donnes mdias. Il

    remplace lantrieure technologie Vido For Windows de Microsoft.

    Bas sur le framework Microsoft Windows Component Object Model (COM), DirectShow

    fournit une interface commune pour les mdias dans de nombreux langages de programmation.

    Architecture de lAPI DirectShow :

    DirectShow divise une tche complexe de multimdia (par exemple : lecture vido) en une

    squence de traitements fondamentaux connus sous le nom de filtres (la figure(1)). Chaque filtre

    reprsente une tape dans le traitement des donnes, il a des entres et / ou des broches, des

    sorties (output pins) qui peuvent tre utilises pour connecter un filtre a dautres filtres. Le

    caractre gnrique de ce mcanisme de connexion permet aux filtres de se connecter de

    diffrentes manires afin dimplmenter les diffrentes fonctions complexes. Pour implmenter

    une tche complexe, le dveloppeur doit d'abord construire un filtre graphique en crant des

    instances de ces filtres, et puis connecter l'ensemble des filtres.

  • 39

    Rapport du projet TER

    La Vidosurveillance distance

    Figure 15. Architecture de lAPI DirectShow

    Comme le montre ce schma de la figure 15, les filtres de DirectShow communiquent avec

    une grande varit de dispositifs, y compris le systme de fichier local, TV tuner et les cartes de

    capture vido, les codecs VfW, l'affichage de vido (par le biais de DirectDraw ou GDI), et la

    carte de son (par le biais de DirectSound). Ainsi, DirectShow isole l'application de beaucoup de

    la complexit de ces dispositifs. Elle fournit galement des filtres de compression et de

    dcompression de certains formats de fichiers.

    Pour plus de dtails sur directshow, voir annexe2

    DSJ :

    DSJ (DirectShow Java wrapper) est une API Java ddie aux applications multimdias. Elle

    permet dutiliser en langage Java toutes les fonctionnalits de lAPI DirectShow. A titre

    dexemple, DSJ permet de lire et dencoder un trs grand nombre de formats mdia. On peut

    aussi exploiter tout le matriel (priphriques) que les applications natives y accdent via

    DirectShow. Ce projet connait une volution permanente et est utilis de nos jours dans

    diffrentes applications. La classe principale de cette API est DSFilterGraph reprsentant les

    filtres pour DirectShow.

  • 40

    Rapport du projet TER

    La Vidosurveillance distance

    3.4.1.3 Acquisition du media avec DSJ

    La Classe DSFiltergraph

    La hirarchie et la structure

    java.lang.Object

    java.awt.Component

    java.awt.Canvas

    de.humatic.dsj.DSFiltergraph

    Elle possde des classes filles ddies aux diffrents cas dutilisation dun flux multimdia :

    DSCapture (que nous avons utilise) : Pour accder aux priphriques de capture Audio et

    Vido du systme.

    DSMovie : Pour le traitement de la vido, son dition et son encodage.

    DSStreamBufferGraph : Pour les applications interagissant avec la tlvision.

    DSVcam : Traitement des codeurs standards pour camras (DVcamcoders).

    DsDVD : Lire et interagir avec des Dvds.

    DsGraph : Classe de base pour des traitements de bas niveaux.

    DSHDVTape : Pour les camras mpeg HDV et les lecteurs D-Vhs.

    Et dautres

    Fonctionnement

    DSFiltergraph fournit diffrents modes de rendu qui dterminent comment la sortie (output)

    video du filtergraph sera intgre dans linterface graphique (GUI).

  • 41

    Rapport du projet TER

    La Vidosurveillance distance

    La version dsj 0-8-5 fournit des fonctionnalits plus avances, notamment

    DirectShowFilters permettent dinsrer partir de java des donnes dans DirectShow, on

    peut par exemple dessiner au dessus dune vido, la crer, Ainsi, cette version a introduit un

    nouveau package ddi limplmentation de protocoles pour les applications rseaux, tels que

    RTSP (Real Time Streaming Protocol) et RTMP (Real Time Messaging Protocol)

    Enfin, DSJ est facile dployer, a consiste en deux fichiers : dsj.dll (Dynamic Link

    Library) et dsj.jar (Java Archive) qui font peu prs 1,2 MB au total. Elle peut tre utilise tout

    niveau : local, application web, applet, ct serveur et marche sur toutes les versions rcentes de

    Windows (vista incluse).

    NB : la version minimale requise du JRE pour utiliser DSJ est la 1.4.

    Pour plus de dtails sur lAPI DSJ, voir Annexe3.

    DSCapture

    DSCapture utilise la classe DSFilterInfo pour grer les dispositifs de capture, leur sorties et

    les formats quils supportent. La mthode QueryDevices() de la classe DScapture retourne un

    tableau de 2 lignes :

    DSFilterInfo[][] dsfi = DSCapture.queryDevices();

    La premire contenant, sous forme de structures, toutes les informations ncessaires sur les

    priphriques de capture vido installs mais aussi branchs sur la machine.

    Ces informations comprennent :

    PIN ID :

    Identifiant associ chaque priphrique de capture vido (webcam), il permet de

    distinguer les webcams les unes des autres.

    PIN name :

    nom du pilote du priphrique.

    Formats :

    tous les formats supports.

  • 42

    Rapport du projet TER

    La Vidosurveillance distance

    La deuxime contenant les priphriques de capture audio (tel que micro, ) que nous

    nutiliseront pas dans notre cas.

    Le fragment de code suivant montre comment on cre les objets DSFiltergraph qui vont

    nous permettre par la suite dacqurir les flux transitant sur les diffrentes webcams :

    La mthode getImage() dfinit dans la classe DsFilterGraph retourne limage instantane

    du flux sur la webcam.

    BufferImage bi = dsfg[numWebcam].getImage();

    En dautres termes, cette mthode permet de convertir un flux vido un instant donn en

    un objet Image.

    public void createDataSources() {

    // rcupration des priphriques disponibles

    dsfi = DSCapture.queryDevices();

    nbre_webcams = dsfi[0].length-1;

    //on cre autant dobjets DSFiltergraph que de webcams

    dsfg = new DSFiltergraph [nbre_webcams];

    /** on impose le format 320 * 240 */

    for(int i=0; i< nbre_webcams; i++){

    dsfi[0][i].getDownstreamPins()[0].setPreferredFormat("320 * 240");

    }

    dsfg[i] = new DSCapture(0, dsfi[0][i], false, null, this);

    }

    /** DSCapture(int flags, DSFilterInfo videoDeviceInfo,

    * boolean captureAudioFromVideoDevice, DSFilterInfo audioDeviceInfo,

    * java.beans.PropertyChangeListener pcl);

    * Creates a DSCapture object that uses the supplied video & audio devices

    * and renders according to the set bits in the int parameter

    * (see DSMovie constant fields).

    */

  • 43

    Rapport du projet TER

    La Vidosurveillance distance

    Ces images seront envoyes sur le rseau et affiches sur linterface du client (applet), lune

    aprs lautre et de faon continue, ce qui donnera limpression de visualiser une vraie vido.

    3.4.2 Ralisation du module diffusion

    3.4.2.1 Objectif

    Il est important de savoir dans un premier temps quels sont les besoins de bande passante.

    La compression du trafic rsulte d'un arbitrage entre le niveau de bande passante, l'espace de

    stockage ncessaire, la qualit des flux vido et les cots de compression.

    Une forte compression allge les besoins en bande passante et en espace de stockage, mais pse

    sur la qualit d'image.

    Le format MPEG-4 est adapt la majorit des applications de Surveillance IP. Le MJPEG est

    nanmoins plus pertinent lorsque l'accent est mis sur la qualit des images (constitution de

    preuves par exemple) et offre l'avantage d'conomiser en matire de camra vido.

    La consommation classique de bande passante pour un flux vido sera de 8 Ko par trame

    (MPEG-4 en VGA) et jusqu' 450 Ko par trame pour du MJPEG en rsolution 2084x1536. Les

    vidos seront proposes avec 10 15 trames par seconde (au minimum) ce qui implique une

    consommation de 64 Kbps 34 Mbps.

    Une vido trs haute rsolution risque d'accaparer la totalit de la bande passante.

    En rsum : La compression MPEG-4 offre une excellente qualit d'image mais il faut

    prfrer un format plus lger pour un stockage plus important.

    A savoir : Si la vido surveillance puise dans les ressources du rseau de l'entreprise (elle

    peut en fonction de la formule adopte tre externalise), l'engorgement du serveur de stockage

    risque de paralyser l'utilisation des outils informatiques.

    Cette congestion peut survenir suite un mauvais paramtrage du niveau de compression et

    du nombre d'images par seconde des camras. Pour viter de gnrer des flux trop importants, il

    est ncessaire de veiller la dfinition de l'image souhaite en fonction des capacits du rseau

    emprunt.

  • 44

    Rapport du projet TER

    La Vidosurveillance distance

    3.4.2.2 Fonctionnement

    Le fonctionnement est relativement simple, le programme intervalles rguliers, capture

    via la o les webcams une image, puis la compresse en MJPEG et enfin l'envoie sur le rseau.

    Il suffit ensuite d'afficher une page html partir du serveur de vidosurveillance (donc

    depuis n importe o dans le monde) qui va afficher l'image correspondante.

    1) On choisit un format d'image de taille minimale mais offrant une qualit acceptable:

    VGA: 640*480, format par dfaut pour certaines webcams, la taille de limage est de

    16KB envions

    CIF: 320*240, (celui quon a choisit), la taille est entre 2 et 3KB.

    QCIF: 160*120, prend 4 fois moins taille que le CIF.

    De ce fait on gagnera dune part en qualit dimage et dautre part en taille des objets

    envoys sur le rseau.

    2) Frame Rate (nombre d'images par seconde) : de 25 30 images/s.

    Remarque : Le taux denvoi des images affectera dun ct le serveur en nombre

    dinstructions excutes et dterminera, de lautre ct (client), la qualit de la vido. Il va falloir

    donc faire en sorte de minimiser ce taux tout en gardant une qualit de vido acceptable (24

    images/seconde au minimum).

    3) Enfin la compression : on a choisit le MJPEG.

  • 45

    Rapport du projet TER

    La Vidosurveillance distance

    3.4.2.3 Choix du protocole utilis pour le transfert du flux vido

    Un des intrts majeurs de l'Internet Multimdia est de pouvoir effectuer un Streaming du

    flux de donnes.

    Le Streaming consiste dcouper les donnes en paquets dont la taille est adapte la

    bande passante disponible entre le client et le serveur. Quand le client a reu suffisamment de

    paquets (bufferring), l'application cliente commence jouer un paquet, dcompresse un autre et

    reoit un troisime. Ainsi l'utilisateur peut avoir le flux multimdia sans avoir tlcharger tout

    le fichier. Toutefois, il y a un retard du la bufferisation.

    Version 1 : Utilisation du protocole TCP :

    Rappel : La srialisation consiste crire des donnes prsentes en mmoire vers un flux de

    donnes binaires.

    Un objet Image nest pas seriablisable, mais un objet ImageIcon lest. On va donc convertir

    les images obtenues en ImageIcons pour pourvoir les srialiser dans le flux a destination de

    lApplet. Ensuite pour lenvoi au client via la socket, on utilise la mthode writeObject(icon); de

    lObjectOutpoutStream dans lequel on encapsule les donnes envoyer sur la socket. Enfin, du

    cot applet (client), on rcupre les imageIcons, on les convertit en Images et on les affiche sur

    lapplet lune aprs lautre.

    Problme : affichage trs lent, non temps rel !

    Pour plus de dtailles voir lannexe 4

  • 46

    Rapport du projet TER

    La Vidosurveillance distance

    Version 2 : optimisation de la diffusion avec le protocole RTSP :

    o Pourquoi RTSP ?

    RTSP (Real Time Streaming Protocol) permet de contrler la distribution de flux

    multimdias (streaming) sur un rseau IP. C'est un protocole de niveau applicatif prvu pour

    fonctionner sur des protocoles tels que RTP/RTCP et RSVP. Les flux peuvent provenir soit de

    clips stocks soit d'une source temps rel (camra, micro).

    RTSP a t dvelopp par Real Networks, Netscape et l'Universit de Columbia. Il est

    implant sur les produits de ces socits.

    o Quelles sont les fonctions de RTSP ?

    RTSP offre des fonctions de type magntoscope distance (lecture, pause, avance rapide,

    rembobinage rapide, arrt...). Il peut tre utilis pour rechercher un mdia sur un serveur de

    mdias, inviter un serveur de mdias rejoindre une confrence (dans le e-learning par ex), ou

    ajouter un mdia une prsentation existante.

    RTSP peut tre utilis aussi bien dans des applications unicast que multicast, et peut

    contrler et synchroniser plusieurs flux audio ou vido. Il ne fournit pas lui-mme le flux qui est

    la charge d'autres protocoles comme RTP. Il n'y a pas de notion de connexion dans RTSP, bien

    que le serveur maintienne une session ayant un identificateur.

    Une session RTSP ne correspond pas une connexion de transport comme TCP. Durant

    une session, RTSP peut ouvrir et fermer plusieurs connexions de transport chaque requte.

    RTSP est donc bas sur le protocole RTP.

  • 47

    Rapport du projet TER

    La Vidosurveillance distance

    o RTP (Real-Time Transport Protocol)

    RTP est un protocole de communication informatique. Ce n'est pas un rel protocole de

    transfert, puisqu'il utilise l'UDP. Le TCP n'tant pas multicast et ne permettant pas un envoi

    immdiat de flots de donnes. Il n'est pas non plus vraiment temps-rel par lui-mme (les rseaux

    actuels comme l'Ethernet n'tant pas temps-rel puisqu'il n'y a pas de dlai maximum garanti),

    mais sera utilis avantageusement sur un rseau temps rel (par exemple un rseau ATM bande

    passante garantie, un canal optique, une radiodiffusion, ou un canal satellite).

    Il accorde des fonctions temporelles en tant que service pour des applications multimdia,

    comme la voix sur IP pour la tlphonie sur Internet ou la diffusion de contenus vido en direct.

    Il ajoute un en-tte spcifique aux paquets UDP pour informer sur le type de mdia transport, le

    squencement et la synchronisation des datagrammes, afin que le rcepteur puisse dtecter les

    datagrammes perdus sur le rseau ou incorrectement reus, et puisse ventuellement reconstituer

    un flux continu.

    RTP est unidirectionnel et peut tre utilis pour la diffusion (multicast). Il est alors

    extrmement conomique en termes de ressources rseau pour servir un grand nombre de

    rcepteurs, ce qui permet d'augmenter considrablement le dbit utile et la qualit de codage du

    contenu.

    Il peut ventuellement tre utilis conjointement avec un canal de retour (feedback) sur la

    qualit de service (QoS) via RTCP (Real-Time Transport Control Protocol), ngoci

    indpendamment (voir RTSP). Ce feedback peut par exemple informer l'metteur sur les

    proprits temps-rel du canal, l'tat du tampon du rcepteur, ainsi que demander des

    changements de compression/dbit pour les applications multimdia par exemple (dans ce cas, les

    donnes manquantes pourront tre transmises via Unicast).

    Pour la diffusion en masse cependant (flux en direct, radiodiffus), cette voie de retour n'est

    gnralement pas utilise, mais le contenu est transmis plusieurs fois en parallle avec un

  • 48

    Rapport du projet TER

    La Vidosurveillance distance

    dcalage temporel suffisant pour pallier les interruptions temporaires de qualit de rception,

    mais n'excdent pas les limites des tampons des rcepteurs (normalement pas plus d'une

    quinzaine de secondes d'cart). Le rcepteur peut alors reconstituer et rordonner la squence

    complte afin d'obtenir un flux continu sans perte.

    Pour les contenus protgs valeur ajoute, l'absence de voie de retour implique

    l'utilisation de cl de dchiffrement du contenu, que le rcepteur doit ngocier sparment avec

    l'metteur (chacun peut recevoir facilement le contenu chiffr simplement en se connectant au

    routeur de diffusion). RTP lui-mme ne s'occupe pas du chiffrement et transporte le contenu de

    faon transparente.

    RTP est la version normalise internationale de l'ancien protocole propritaire RDP

    (initialement cr pour Real Player) en voie d'obsolescence.

    Le protocole SRTP (acronyme de Secure Real-time Transport Protocol) est le pendant

    scuris (chiffr) de RTP.

    3.4.3 Ralisation du module intrusion

    3.4.3.1 Introduction au traitement dimages

    3.4.3.1.1 Prsentation

    Depuis la fin des annes 90, la numrisation des contenus et la progression de puissance des

    ordinateurs ont rendu possible le traitement en temps rel des images de la vido pour en extraire

    des interprtations (que voit-on limage, que se passe-t-il, qui va o, etc.). Dabord effectus en

    noir et blanc, puis en couleur, ces traitements ont commenc sortir des laboratoires de recherche

    dans cette priode, et ont constitu des solutions exploitables, dabord pour la surveillance

    routire, puis pour la surveillance de personnes et dobjets, et aussi pour la biomtrie faciale, etc.

    Une squence vido numrique peut tre lue et manipule par un programme sur un

    ordinateur en tant que flot dimages annotes (date, numro dimage, ).

  • 49

    Rapport du projet TER

    La Vidosurveillance distance

    Chaque image de ce flot est constitue de pixels (terme issu de la contraction des mots

    anglais picture elements ) qui constituent autant de points caractrisant la taille/rsolution de

    limage. Les capteurs dimages lorigine de la vido caractrisent le nombre de pixels de

    largeur et de hauteur des images quils engendrent; ce sont dailleurs des paramtres importants

    lors du choix dun capteur puisquils vont conditionner la rsolution laquelle on voit les dtails

    de limage, une fois numrise.

    On trouve sur le march des capteurs produisant des images vido de tailles trs varies par

    exemple 160x120, 320x200, 288x352 (nomm CIF), jusqu 800x600, 576x704 (4CIF),

    1000x100. Plus il y a de pixels, plus riche est linformation produite. Chaque pixel est en gnral

    reprsent par une ou quelques valeurs entires qui codent son intensit (en noir et blanc et en

    camra thermique/infrarouge) et, dans le cas de la couleur, sa chromaticit et sa saturation.

    Les reprsentations les plus couramment utilises dans les traitements numriques de

    limage sont le mode RGB (pour lequel un pixel est reprsent par trois entiers dont la valeur

    caractrise le poids des couleurs Rouge, Vert (Green) et Bleu associes au pixel) et le YUV (pour

    lequel il sagit de la chromaticit, la saturation et lintensit).

    3.4.3.1.2 Comment comparer deux images

    Pour comparer deux images dune vido, on sappuie simplement sur le fait que les images

    successives dune vido sont la plupart du temps toutes de la mme taille, et donc on compare un

    un les pixels dans lordre ligne x colonnes .

    Tous les pixels comportant une valeur diffrente dune image lautre appartiennent la

    diffrence entre les deux images. Cependant, comme les capteurs sont des quipements physiques

    imparfaits, les images successives dun mme plan vido (mme clairage, camra immobile, )

    prsentent en gnral de lune lautre de trs petites diffrences dues des incertitudes ou des

    erreurs de mesure effectues par le capteur : tous ces alas ont t regroups, quelle que soit leur

    cause, dans un terme quon appelle bruit .

  • 50

    Rapport du projet TER

    La Vidosurveillance distance

    Le bruit dun capteur dpend de ce capteur mais aussi de loptique, des composants

    lectroniques de la camera, de la chane de numrisation utilise, jusqu disposer de limage

    numrique, qui une fois labore est transporte avec des protocoles assurant son intgrit par des

    mcanismes de vrification (checksum), et de rptition en cas derreur la transmission.

    Pour en revenir la diffrence entre deux images, en gnral les carts constats par une

    constante (appele seuil) place trs au dessus de la valeur moyenne du bruit, ce qui permet de

    dtecter des diffrences plus certaines entre les deux images, c'est--dire des diffrences qui sont

    valides dans le monde rel, au-del du bruit du capteur.

    3.4.3.1.3 La dtection de mouvement, les diffrentes techniques:

    Les camras numriques prsentes sur le march cotent de moins en moins cher, et leur

    encombrement est de plus en plus rduit. Paralllement, la puissance de calcul des ordinateurs

    actuels permet denvisager srieusement le traitement automatique en temps rel de squences

    vido. Cest pourquoi les industriels ont aujourdhui tendance opter pour des solutions base de

    vision artificielle pour rsoudre des problmes qui taient auparavant traits par dautres

    procds, tels que la surveillance par un oprateur humain ou lutilisation de capteurs plus

    mcaniques. Quelle que soit lapplication, la premire tche dun systme danalyse de squences

    vido est toujours la dtection de mouvement, et si possible, la dtection des objets

    (segmentation) mobiles.

    La difficult de cette tche est trs variable selon les conditions dacquisition, la prcision

    et la rapidit du traitement escomptes. Une liste relativement exhaustive des difficults lies

    lacquisition et au contenu de la scne.

    Pour dtecter un mouvement dans une squence vido, on peut utiliser diffrentes

    techniques qui sont toutes issues de la recherche dans les disciplines du traitement dimages, du

    traitement du signal, et de lintelligence artificielle :

  • 51

    Rapport du projet TER

    La Vidosurveillance distance

    o La technique du flot optique (Horn et Schunck, 1981) : permet la mise en uvre dune

    analyse globale du mouvement laide dune quation reliant la variation dintensit

    lumineuse en un point avec la vitesse de dplacement de ce point. Cette technique permet

    danalyser des scnes dont la totalit de limage est en mouvement, et dy distinguer des objets

    en mouvement relatif les uns par rapport aux autres. Cette technique est utilise en mto

    (analyse et mesure des mouvements des nuages, des cyclones), et en aide la conduite de

    vhicules (dtection et analyse des objets mobiles devant le vhicule : autres voitures,

    pitons).

    o La technique de limage de fond (Wren, Pentland, 1996) : se limite aux camras en

    position fixe et permet, grce la mise en place et la mise jour permanente dune image du

    fond vide, de distinguer des objets mobiles par diffrence ce fond.

    o La technique des points caractristiques (C. Schmid, R. Mohr, 1997) : se concentre sur la

    recherche de points caractristiques dans limage (J. Harris, 1988, points de limage aux

    caractristiques fortement marques : coins, bords, puis par extension centres de rgions) et

    recherche leur correspondants dune image lautre pour en dduire un mouvement, et pour

    regrouper ensemble les points proches ayant un mouvement cohrent.

    Toutes ces techniques sont sensibles au bruit du capteur et ncessitent des traitements

    complmentaires, comme par exemple le filtrage, pour fonctionner de faon satisfaisante.

    3.4.3.2 Identification de lintrusion : Implmenter la technique dimage de

    fond (background subtraction).

    Le modle le plus simple pour identifier une intrusion consiste considrer chaque instant t que

    limage au temps t-1 reprsente limage de fond, et que les zones en mouvement sont celles qui

    ont chang dapparence entre t-1 et t. En d'autres mots, il sagit de comparer un pixel i de limage

  • 52

    Rapport du projet TER

    La Vidosurveillance distance

    au temps t avec le pixel i de limage de fond au temps t-1, sil ya une diffrence (suprieure au

    seuil) entre ces deux pixels ca veut-dire quil ya un changement.

    Afin danalyser et comparer les images, on va se baser sur les niveaux de rouge vert et

    bleu (RGB) de chaque pixel de limage.

    Pour rcuprer les pixels dune image on utilise un objet non spcifique DSJ mais qui est

    fournit par le JDK le PixelGrabber, voir Annexe5

    A partir de cet objet, on va remplir un tableau de pixels ayant la taille de limage (width *

    height).

    Le fragment de code ci-dessous montre clairement comment a marche.

    /* Create a PixelGrabber object to grab the (x, y, w, h) rectangular

    * section of pixels from the specified image into the given array. */

    grab1 = new PixelGrabber(img1, 0, 0, 320, 240, pixels1, 0, 320);

    grab2 = new PixelGrabber(img2, 0, 0, 320, 240, pixels2, 0, 320);

    /* Request the Image or ImageProducer to start delivering pixels and

    wait for all of the pixels in the rectangle of interest to be

    delivered.*/

    try {

    // we grabbe to be sure that the Image has finished loading

    grab1.grabPixels(); //: boolean

    grab2.grabPixels();

    }

    catch (InterruptedException ie) {

    System.err.println("impossible de grabber les pixels de l'image");

    }

    // on recupere la moyenne des 3 couleurs pour les 2 images

    getColors(pixels1, colors1);

    getColors(pixels2, colors2);

    //Actions a executer en cas de mouvement

    if (imageChanged(colors1, colors2)){

    //Changement dtect entre img1 et img2

    }

  • 53

    Rapport du projet TER

    La Vidosurveillance distance

    La mthode getColors calcule les moyennes des trois couleurs R, G et B et les stocke dans

    un tableau colors.

    /* on cumule les niveaux de chaque couleur en parcourant le tableau pixels */

    Color pixelColor = new Color(pixels[i]);

    Int red = red + pixelColor.getRed();

    //on calcule la moyenne de chaque couleur

    red = red / imageSize;

    colors[0] = red

    La mthode ImageChanged vrifie si la diffrence entre les couleurs de limage1 et celles

    de limage2 est suprieure au seuil, et retourne true le cas chant.

    3.4.3.3 Gestion des intrusions

    Concernant la gestion des intrusions de notre application, nous avons choisi de dvelopper

    plusieurs solutions. Nous verrons dans un premier temps lenregistrement de squences vido.

    Dans un second temps, nous vous exposerons comment se droule lenvoi de SMS. Enfin, nous

    nous pencherons sur lenvoi demail.

    Enregistrement de squences vido :

    Une premire ncessit et de pouvoir garder une trace de tout ce qui sest pass lors de

    lintrusion. En dautres termes, avoir la possibilit de sauvegarder des squences vido qui

    pourront servir de preuves au cas de vol par exemple.

    A linstar de lAPI JMF, DSJ nous permet denregistrer de la vido depuis une webcam.

    Cependant, on ne peut pas sen servir (de DSJ), car la webcam sera dj en cours dutilisation par

    lapplication sur le serveur de vidosurveillance et donc ne peut pas tre utilise par deux

    applications simultanment.

  • 54

    Rapport du projet TER

    La Vidosurveillance distance

    Solution : exploiter les images captures et envoyes sur le rseau.

    Ds la dtection dun mouvement, on continue (*) la sauvegarde des images dans un

    rpertoire pendant une dure donne, ensuite on gnre une vido depuis ces images.

    Un autre problme tait le fait de rater les (quelques) premires images qui prsentent un

    changement, et donc la vido enregistre ne commencera pas exactement par la 1re

    image

    montrant le 1r

    changement.

    Solution : Lobjet ImagesComparator charg de dtecter les mouvements fonctionne comme

    suivant :

    Une fois activ, il enregistre un certain nombre dimages (une vingtaine par exemple)

    successives et nen compare que les 6 dernires.

    Deux cas peuvent se prsenter :

    Sil ny a pas dintrusion, il crase les images par dautres nouvelles et recommence le

    processus.

    Sinon, il annonce lintrusion et continue (*) lenregistrement dimages. De ce fait, les 20

    images prises auparavant vont servir avoir peu prt 200 ms avant lintrusion et donc on

    verra ce qui sest pass depuis le dbut.

    Envoi dSMS :

    Pour lenvoi dSMS depuis une application java, une solution est davoir un abonnement

    avec un operateur tlphonique fournissant le service denvoi dSMS via internet.

    o Comment a marche ?

    On leur envoi un e-mail contenant les donnes de lSMS (texte et destinataires) et puis leur

    service soccupe de transmettre le message ses destinataires.

  • 55

    Rapport du projet TER

    La Vidosurveillance distance

    Envoi de-mail en utilisant lAPI JavaMail :

    JavaMail est une technologie java pour envoyer et recevoir des emails.

    Ce n'est pas un serveur de mails, mais un outil pour interagir avec le serveur de mails.

    Les applications dveloppes avec JavaMail peuvent tre ainsi comparables aux diffrentes

    messageries que l'on rencontre tel quOutlook, Lotus, Eudora...

    Cest une API qui permet donc d'utiliser le courrier lectronique (e-mail) dans une

    application crite en java (application cliente, applet, servlet, EJB... ).

    JavaMail est trs facile utiliser, elle fournie une souplesse qui permet de la faire voluer et

    de rester le plus indpendant possible des protocoles utiliss

    Pour envoyer ou recevoir des messages, JavaMail utilise diffrents protocoles comme smtp,

    Imap, Mime, MNTP... Dans notre cas on sintresse seulement au protocole SMTP qui permet de

    transfrer le courrier vers un serveur de messagerie lectronique.

    La seule exigence est donc de disposer dune adresse de serveur SMTP.

    Deux possibilits :

    Demander ladresse du serveur SMTP au FAI (fournisseur daccs internet).

    Installer un serveur SMTP sur la machine (exemple : QuickServerSMTP).

  • 56

    Rapport du projet TER

    La Vidosurveillance distance

    3.4.4 Ralisation du module authentification et redirection

    La communication et la diffusion de la vido sur rseau local ou public sont scurises et la

    connexion ou camra rseau stablie en trois tapes :

    Authentification

    Lutilisateur doit sidentifier sur le rseau local (intranet) ou distance (internet). Pour ce

    faire, certaines donnes didentit sont communiques au rseau ou au systme, comme par

    exemple un nom dutilisateur et un mot de passe.

    Autorisation

    Autoriser et accepter lauthentification automatiquement, puis vrifier lidentit de

    lutilisateur par rapport aux informations contenues dans la base de donnes de la camra rseau.

    Si lutilisateur est authentifier alors il aura laccs pour visualiser la vido en temps rel sur sont

    PC distant.

    Confidentialit

    VPN et SSL sont les mthodes utilises pour assurer la confidentialit et la scurisation du

    canal qui transporte les donnes vido. Tableau comparatif entre la vidosurveillance traditionnel

    et la vidosurveillance sur IP : Une infrastructure reposant sur la technologie IP offre aux

    utilisateurs une multitude davantages rduisant ainsi les cots dinvestissement lis la

    vidosurveillance.

  • 57

    Rapport du projet TER

    La Vidosurveillance distance

    3.5 PRESENTATION DU PROTOTYPE

    3.5.1 Accs au systme : linterface web