Présentation de la recherche - Cégep de Sainte-Foy

Transcription

Présentation de la recherche - Cégep de Sainte-Foy
Samuel BÉDARD
Julien LAMONTAGNE
Groupe 4628
LA PRÉSENTATION DE RECHERCHE
« LA DÉTECTION DE MOUVEMENTS À PARTIR DE LA VARIATION DE LUMIÈRE
DANS UNE VIDÉO CAPTÉE PAR UNE CAMIRETTE »
[VERSION : FINALE]
TRAVAIL PRÉSENTÉ À MESDAMES CARMEN GAGNON ET SYLVIE MONJAL
NOUVELLES TECHNOLOGIES
420-620-SF
DÉPARTEMENT DE L’INFORMATIQUE
FORMATION TECHNIQUE EN INFORMATIQUE
CÉGEP DE SAINTE-FOY
24 JANVIER 2008
Table des matières
1
2
LE SUJET ................................................................................................ 1
LES ENJEUX ...........................................................................................2
2.1
2.2
2.3
2.4
2.5
3
4
5
6
7
8
Connaissances à acquérir ................................................................................................ 2
Importance de la recherche ............................................................................................ 2
Impact et implication....................................................................................................... 2
Domaine d’application actuel.......................................................................................... 2
Les motivations de la recherche ...................................................................................... 3
LES OBJECTIFS .......................................................................................4
L’EXPÉRIMENTATION ............................................................................5
4.1
Les étapes de l’expérimentation ..................................................................................... 5
4.2
Structure de l’outil développé ......................................................................................... 6
4.3
Devis général de l’application ......................................................................................... 7
4.3.1
Fonctionnalités globales de l’application ................................................................ 7
4.3.2
Maquette globale de l’outil d’expérimentation ...................................................... 7
LES LIMITES ...........................................................................................8
LES INCERTITUDES ................................................................................9
6.1
Le fonctionnement des 2 différentes méthodes de détection de mouvements ............ 9
6.2
L’utilisation du pilote de la camirette dans une application ........................................... 9
6.3
Création d’un algorithme qui détecte la variation de lumière dans 2 images
consécutives ................................................................................................................................ 9
LES RESSOURCES .................................................................................. 10
7.1
Matériel ......................................................................................................................... 10
7.2
Logiciels ......................................................................................................................... 10
LA PLANIFICATION DE LA RECHERCHE................................................ 11
i
1 LE SUJET
Le sujet que nous avons choisi est la détection de mouvements à partir de la variation de
lumière dans une vidéo captée par une camirette. Le but de la recherche sera de comprendre,
expliquer et approfondir les fonctionnalités de détection de mouvement à partir de la variation
de lumière. La recherche fera aussi état de la méthode d’analyse de mouvements par la
différence de trame dans 2 images consécutives. Nous effectuerons également un comparatif
entre les deux techniques. Nous illustrons les avantages et désavantages de chacune des
techniques. Nous ferons part de notre point de vue quant au choix qu’un programmeur devrait
effectuer selon ses besoins.
L’installation de système de vidéosurveillance est de plus en plus fréquente dans la société
actuelle. L’utilisation de camirette et d’un ordinateur peut minimiser de beaucoup les coûts. La
plupart des caméras de surveillance de ce type se déclenchent et enregistrent au moindre
mouvement afin de ne pas enregistrer une quantité de séquences vidéo inutiles.
Nous tenterons également de développer une petite application qui aura comme fonctionnalité
de détecter les mouvements dans une vidéo captée à l’aide d’une camirette. Évidemment, nous
développerons un algorithme qui évaluera la variation de lumière pour détecter le mouvement.
1
2 LES ENJEUX
2.1 Connaissances à acquérir
La recherche nous demandera d’acquérir les informations suivantes :
• Prendre connaissance des différents systèmes de détection de mouvements existants;
• Identifier, comprendre, analyser et expliquer différentes méthodes d’analyse du
mouvement;
• Utiliser une camirette à l’intérieur d’une application;
• Apprendre différentes techniques d’analyse d’images.
2.2 Importance de la recherche
Dans une ère de technologie comme la nôtre, la sécurité a pris une très grande importance.
Maintenant, avec l’aide des camirettes, la vidéosurveillance est devenue accessible à la plupart
des gens, et ce, à de très modestes coûts. Alors, il est primordial de programmer des outils
efficaces pour pouvoir combler ce besoin. Quelques gratuiciels de ce type sont disponibles sur
l’Internet. Par exemple auto web cam1, EyeLine video surveillance2 et Crae Detect3
2.3 Impact et implication
La recherche nous permettra de :
• Faire des comparaisons quant aux avantages et inconvénients entre les différentes
méthodes de détections de mouvements;
• Comprendre et analyser les différents algorithmes qui illustrent la logique derrière ces
techniques d’analyse des images;
• Créer un algorithme qui nous permettra d’élaborer une application simple de détection
de mouvements à partir de la variation de lumière observée entre deux images.
2.4 Domaine d’application actuel
La détection de mouvements à partir de la variation de lumière sur une camirette est surtout
utilisée pour effectuer de la vidéosurveillance. Beaucoup d’entreprises utilisent ce moyen pour
sécuriser leurs installations. La détection de mouvements à partir de la variation de lumière à
aussi quelque autre application t’elle que la surveillance d’enfant, la synchronisation des métros,
des télémètres au laser.
1
Disponible sur http://www.gratuiciel.com/logiciels/?video-surveillance
Idem
3
Idem
2
2
2.5 Les motivations de la recherche
Notre choix s’est arrêté sur la détection de mouvement dans une vidéo, car nous sommes tous
les deux intéressés par la sécurité vidéo. Nous sommes également intéressés par l’analyse
d’image. C’est un domaine que nous avons très peu exploré, pour ne pas dire aucunement.
Ainsi, nous aimerions explorer ce sujet le plus en profondeur que possible.
3
3 LES OBJECTIFS
•
•
•
•
•
•
•
•
Effectuer la comparaison afin d’effectuer un choix entre deux méthodes de détection
des mouvements dans une vidéo captée par une camirette selon les critères suivants :
o Le temps de développement ;
o La précision.
Décrire et expliquer la méthode de détection de mouvements utilisée actuellement
dans le monde de la surveillance vidéo en liant cette méthode à celle utilisée dans notre
application ;
Prendre connaissance des différents systèmes de détection de mouvements existants ;
Identifier, comprendre, analyser et expliquer différentes méthodes d’analyse du
mouvement ;
Utiliser une camirette à l’intérieur d’une application ;
Apprendre différentes techniques d’analyse d’images ;
Comprendre et utiliser les notions de base du langage C# ;
Trouver un algorithme qui traite de l’analyse par la variation de lumière entre deux
images.
4
4 L’EXPÉRIMENTATION
4.1 Les étapes de l’expérimentation
1. La première étape sera de se procurer le matériel dont nous aurons besoin pour le
développement de notre application. Le matériel nécessaire sera le suivant :
a. une Camirette;
b. un ordinateur vieux de trois ans ou moins ;
c. un programme de détection de mouvement gratuit (ex. : Tireal Webcam Guard).
2. Nous expérimenterons la détection de mouvements par la variation de lumière dans
une vidéo en direct qui sera captée par la caméra Web et analysée par le programme de
détection de mouvements.
3. Après avoir constaté ce qu’un programme de détection de mouvements effectue
comme travail, nous rechercherons des algorithmes d’analyse entre deux images. Nous
devrions également découvrir, au cours de cette étape, les différentes méthodes pour
analyser les variations d’une image à l’autre.
4. Nous essaierons de trouver une application et son code source sur un site d’échange de
connaissances sur la programmation. Ce code nous permettra d’approfondir notre
compréhension du procédé d’analyse des images.
5. Après avoir bien compris le processus d’analyse, nous construirons notre propre
algorithme de détection de mouvement dans une vidéo.
6. Une fois notre algorithme complété, nous procéderons au développement de
l’application dans le langage dans lequel il sera le plus efficace de le faire. De toute
évidence, le but de ce développement sera de personnaliser du code déjà existant et
non de réinventer la roue! Il est tout à fait inutile de réécrire ce qui a déjà été fait. Nous,
nous inspirerons donc de code existant pour bâtir le nôtre.
5
4.2 Structure de l’outil développé
L’outil que nous allons développer pour réaliser nos objectifs sera une application faite en C#.
Celle-ci consistera en une application simple qui affichera l’image captée par la camirette. Par la
suite, nous encadrerons la ou les parties de la vidéo captée ou du mouvement a été détecté.
Voici un schéma qui explique un peu l’architecture du logiciel que nous allons développer.
Le programme sera constitué de trois parties distinctes :
•
•
•
La partie camirette
La partie de détection de mouvement
La partie de l’interface
La partie camirette :
La partie camirette est celle qui va s’occuper de la gestion du pilote de la camirette. C’est aussi
elle qui va faire en sorte que le programme affiche ce que la camirette capte
La partie de détection de mouvement :
La partie de détection de mouvement est celle qui va s’occuper de la gestion des détections de
mouvement. C’est aussi elle qui va faire en sorte de dire au programme d’encadrer la partie où
du mouvement a été détecté.
La partie de l’interface :
La partie de l’interface est celle qui va être affichée à l’utilisateur lors de l’utilisation de l’outil
6
4.3 Devis général de l’application
4.3.1 Fonctionnalités globales de l’application
• Détection des mouvements de 2 manières :
o En encadrant les objets qui bougent;
o En affichant une sorte de lueur rouge autour des objets qui sont en
mouvement.
• Enregistrement de séquences vidéo;
• Déclenchement de l’enregistreur à la détection d’un mouvement;
• Prise de photo de l’image au moment de la détection du mouvement (snapshot);
• Visualisation de la vidéo captée en direct.
4.3.2 Maquette globale de l’outil d’expérimentation
[ ] Outil d’expérimentation – Détection de mouvements
_
X
Fichier Édition périphérique ?
[Vidéo]
Prendre une photo
Activer la détection de mouvements
Enregistrement
7
5 LES LIMITES
Il faudra faire attention durant la recherche pour ne pas dériver vers des notions de physique
très poussées. Car une contrainte de temps s’impose et nos connaissances demeurent plutôt
limitées sur la physique, il ne faudra surtout pas prendre trop de notre temps à comprendre les
phénomènes trop complexes. C’est pourquoi nous devrons nous limiter à seulement 2
méthodes d’analyse du mouvement : la variation de lumière et la différence de trames entre 2
images.
Il faut aussi rester réaliste en ce qui concerne l’envergure de l’algorithme et de l’application que
nous allons produire puisque le temps joue, encore une fois, contre nous. En ce qui a trait au
développement de l’application, nous trouverons du code déjà existant sur Internet et le
personnaliserons afin de l’adapter à notre recherche et à ce que nous voulons démontrer.
La connaissance limitée du langage qui sera utilisé, C#, constitue un autre facteur qui pourrait
nous limiter dans notre développement.
8
6 LES INCERTITUDES
Les principaux éléments inconnus dans la recherche sont :
• Le fonctionnement des 2 différentes méthodes de détections de mouvements ;
• L’utilisation du pilote de la camirette dans une application C# (l’intégré dans notre
développement);
• Création d’un algorithme qui détecte la variation de lumière dans 2 images
consécutives ;
6.1 Le fonctionnement des 2 différentes méthodes de détection de
mouvements
L’incertitude ici c’est qu’étant seulement des informaticiens et non des physiciens, les concepts
de base de détection de mouvement soient trop complexes pour des gens n’ayant aucune base
en physique.
Si cela s’avérait exact, le meilleur moyen pour comprendre ces principes serait d’aller se référer
à quelqu'un qui a une bonne connaissance en physique, comme un professeur ou un étudiant
dans ce domaine.
6.2 L’utilisation du pilote de la camirette dans une application
L’incertitude de cet élément consiste au fait que nous n’avons aucune idée de quelle manière
nous allons pouvoir utiliser le pilote de la camirette dans une application faite en C#.
Par contre, l’Internet doit avoir une panoplie de tutoriaux qui expliquent de quelle façon nous
devrons nous y prendre.
6.3 Création d’un algorithme qui détecte la variation de lumière dans 2
images consécutives
Le doute qui reste est que l’algorithme ne soit pas suffisamment optimisé pour l’application que
nous voulons en faire. L’algorithme utilisé, si trop peu performant, rendra notre analyse des
résultats peu concluante. Le problème est que nous n’aurons pas droit à l’erreur, car nous
n’aurons surement pas le temps de créer un nouvel algorithme si on se rend compte que le
précédent n’est pas assez performant.
La solution trouvée pour éviter ce genre de problème sera de faire appel à des forums de
programmation et de développement d’applications en C#. À partir de là, nous pourrons
appeler à l’aide aux programmeurs expérimentés qui pourront nous aider dans l’optimisation de
notre algorithme. La vitesse de leurs réponses devra être plutôt rapide. C’est de toute évidence
une chose sur laquelle on ne peut pas vraiment compter. Nous devrons, à ce moment, nous
référer à nos professeurs.
9
7 LES RESSOURCES
7.1 Matériel
Pour la recherche nous aurons besoin des matériels suivants :
• Une camirette USB ou incluse dans un portable;
• Une carte vidéo assez puissante pour faire de l’analyse d’image;
• un ordinateur vieux de trois ans ou moins;
• Un port USB;
7.2 Logiciels
Pour la recherche nous aurons besoin des logiciels suivants :
• Babycam & motion detect
• Microsoft Windows XP;
• Microsoft Visual Studio 2005 (pour la création du logiciel en C#);
• Internet Explorer ou Mozilla Firefox
• Microsoft Office XP ou une version plus récente;
• Adobe Acrobat Reader 8.
10
8 LA PLANIFICATION DE LA RECHERCHE
Tâche
Responsable
Soumission d’un sujet de recherche
Présentation de recherche
SB
JL
Recherche d’informations sommaire
Recherche, analyse et compréhension d’un
algorithme
Recherche d’un gratuiciel et son code source et
en faire sa lecture
Création de notre algorithme
Remise de l’outil d’expérimentation
Publication web de la recherche
Présentation orale de la recherche
SB
SB
Date
d’échéance
2008-01-16
Alpha :
2008-01-23
Finale :
2008-01-24
2008-01-25
2008-01-27
JL
2008-01-28
JL
JL
SB
JL et SB
2008-02-05
2008-02-11
2008-02-13
2008-02-14
ou
2008-02-15
État
d’avancement