Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
UNIVERSITE D’ANTANANARIVO
ECOLE SUPERIEURE POLYTECHNIQUE
DEPARTEMENT ELECTRONIQUE
MEMOIRE DE FIN D’ETUDES EN VUE DE L’OBTENTION DU DIPLOME
D’INGENIEUR
Spécialité : ELECTRONIQUE
Option : Electronique Automatique
Présenté par : ZAFIMANDIMBISOANirina
Numéro d’ordre : 05/EN/EA/2012 Date de soutenance le 25 Septembre 2013
Année Universitaire : 2011-2012
DEVELOPPEMENT D’UN DEVELOPPEMENT D’UN DEVELOPPEMENT D’UN DEVELOPPEMENT D’UN
SYSTEME DSYSTEME DSYSTEME DSYSTEME DE E E E détection et détection et détection et détection et
de suivi d’un mouvementde suivi d’un mouvementde suivi d’un mouvementde suivi d’un mouvement
DEVELOPPEMENT D’UN SYSTEME DE
détection et de suivi d’un
mouvement
UNIVERSITE D’ANTANANARIVO
ECOLE SUPERIEURE POLYTECHNIQUE
DEPARTEMENT ELECTRONIQUE
MEMOIRE DE FIN D’ETUDES EN VUE DE L’OBTENTION DU DIPLOME
D’INGENIEUR
Spécialité : ELECTRONIQUE
Option : Electronique Automatique
Présenté par : ZAFIMANDIMBISOANirina
Devant les membres du jury :
Le président :
Monsieur RAKOTOMIRAHO Soloniaina
Les examinateurs :
- Madame RABEHERIMANANA Lyliane Irène
- Monsieur RASTEFANO Elysée
- Monsieur ANDRIAMANANTSOA Guy Danielson
Le directeur de mémoire :
Monsieur RATSIMBA Mamy Nirina
Numéro d’ordre :05/EN/EA/2012 Date de soutenance le 25 Septembre 2013
Année Universitaire : 2011-2012
i
REMERCIEMENTS
Nous rendonsgrâce à Dieu pour sa bonté, de nous avoir donné la force et la
santédurant la réalisation de ce mémoire.
Nous adressons nos sincères remerciements à Monsieur ANDRIANARY Philippe
Antoine,Directeur de l’Ecole Supérieure Polytechnique d’Antananarivo de nous avoir permis
de poursuivre notreformation au sein de l’école polytechnique.
Nous remercions aussi Monsieur RATSIMBA Mamy Nirina, Chef de Département de
la filièreElectronique, enseignant au sein du département électronique et directeur de ce
mémoire, qui malgré ses lourdes responsabilités, nous a toujours prodigué ses conseils et ses
critiques constructifs durant l'élaboration de ce travail.
Nous dédions nos vives reconnaissances à Monsieur RAKOTOMIRAHO Soloniaina,
enseignant au sein du département électronique, de l’honneur qu’il nous fait en acceptant de
consacrer un peu de son temps afin de présider le jury de ce mémoire.
Nous tenons aussi àtémoigner notre profonde gratitude à Madame
RABEHERIMANANA Lyliane Irène, Monsieur RASTEFANO Elysée, Monsieur
ANDRIAMANANTSOA Guy Danielson, tous enseignants au sein du département
électronique, d’avoir accepté de faire partie des membres du jury.
Nos vifs remerciements s’adressent également à tous les Enseignants et Personnels de
l’Ecole Supérieure Polytechnique d’Antananarivo, particulièrement ceux dudépartement
électronique; sans leurs efforts notre formation n’aurait pas pu atteindre cette étape.
Nous n’oublions pas nosfamilles pour leur soutien bienveillant et leur encouragement
tout au long de ce mémoirecomme en toutes circonstances. Plus particulièrement, notre vive
sympathie à nos parents pour leurs sacrifices durant ces longues années.
Et pour tous ceux qui ont contribué de près ou de loin à l’élaboration de ce mémoire.
Que Dieu vous bénisse !!!
Nirina
ii
RESUME
Cette étude intitulée « Développement d’un système de détection et de suivi d’un
mouvement »consiste à créer un système capable dedétecter la forme etlesmouvements dans
un milieu défini et de faire la poursuite. Pour cela, un système constitué de deux webcams
entraînées par un servomoteur chacun, et d’un logiciel traitant les vidéos a été mis en place.
Le servomoteur sera piloté par une carte arduino et il est asservi en position par un contrôleur
PID. Des concepts relatifs au traitement d’images, notamment l’acquisition et la poursuite ont
été appréhendés.L’objectif est de concevoir un système robuste et fiable en matière de
sécurité et d’identification.
iii
TABLES DES MATIERES
REMERCIEMENTS ................................................................................................................... i
RESUME .................................................................................................................................... ii
TABLES DES MATIERES ...................................................................................................... iii
LISTE DES ABREVIATIONS ................................................................................................. vi
LISTE DES FIGURES ............................................................................................................ viii
LISTE DES TABLEAUX .......................................................................................................... x
INTRODUCTION ...................................................................................................................... 1
PARTIE I : GENERALITES ..................................................................................................... 3
Chapitre I. LA VISION ARTIFICIELLE ............................................................................ 3
I.1. Généralités sur la vision ............................................................................................. 3 I.1.1. Composant d’un système de vision .................................................................... 3
I.1.2. Définition de l’image ......................................................................................... 3 I.1.3. Les capteurs ........................................................................................................ 4 I.1.4. Les différents types de capteur ........................................................................... 4
I.2. L’unité de traitement .................................................................................................. 5 I.2.1. Le prétraitement ................................................................................................. 5 I.2.2. Le traitement ...................................................................................................... 7 I.2.3. Décomposition de l’image ............................................................................... 10
Chapitre II. ETUDE DU MOUVEMENT D’UNE CIBLE ................................................. 12
II.1. Détection du mouvement ..................................................................................... 12 II.2. Estimation du mouvement .................................................................................... 13 II.3. Suivi de l’objet ..................................................................................................... 14
Chapitre III. NOTIONS D’ASSERVISSEMENT ET DE MECANIQUE ........................... 17
III.1. Généralités sur les systèmes asservis linéaires ..................................................... 17
III.1.1. Définition ......................................................................................................... 17 III.1.2. Classification des systèmes asservis ................................................................ 18
III.1.3. Modélisation des systèmes linéaires ................................................................ 20
III.2. Stabilité et précision d’un système asservi ........................................................... 21
III.2.1. Stabilité des systèmes bouclés .......................................................................... 21
III.2.2. Précision d’un système asservi ......................................................................... 22
III.3. Correction des systèmes asservis ......................................................................... 22
III.4. Généralités sur les machines à courant continu ................................................... 23
III.4.1. Constitution d’une machine à courant continu ................................................. 23
III.4.2. Expression de la force électromotrice et du couple électromagnétique ........... 23
III.4.3. Les moteurs à courant continu ......................................................................... 23
III.4.4. Mise en équation des machines à courant continu ........................................... 24
iv
III.4.5. Le PWM ........................................................................................................... 26 III.4.6. Le pont en H ..................................................................................................... 28 III.4.7. Utilisation du Pont en H par des PWM ............................................................ 28
Partie II : ETUDE ET CONCEPTION D’UN SYSTEME DE DETECTION DE MOUVEMENT ET DE RECONNAISSANCE DE FORME .................................................. 29
Chapitre IV. CONCEPTION ................................................................................................. 29
IV.1. Contexte et présentation du projet ............................................................................ 29
IV.2. Objectif ..................................................................................................................... 30
IV.3. Cahier des charges .................................................................................................... 30
IV.4. Conception du système ............................................................................................. 31 IV.4.1. Architecture du système ................................................................................... 31 IV.4.2. Utilité de chaque bloc ....................................................................................... 32
IV.5. Spécifications fonctionnelles .................................................................................... 32
IV.6. Matériels et outils nécessaires .................................................................................. 32 IV.6.1. La caméra ......................................................................................................... 32 IV.6.2. Le Processing ................................................................................................... 33 IV.6.3. La carte arduino ................................................................................................ 33 IV.6.4. Le logiciel Arduino .......................................................................................... 34 IV.6.5. Le servomoteur ................................................................................................. 34
Chapitre V. MODELISATION ............................................................................................ 36
V.1. La détection de forme ............................................................................................... 36
V.2. La détection de visage .............................................................................................. 38
V.3. Modélisation de la détection de mouvement ............................................................ 38
V.4. La localisation .......................................................................................................... 39
V.5. Extraction des caractéristiques ................................................................................. 41
V.6. Suivi du mouvement ................................................................................................. 41
V.7. Asservissement du moteur ....................................................................................... 44
V.8. Conclusion du mouvement ....................................................................................... 47
Partie III : SIMULATIONS ET REALISATION .................................................................... 48
Chapitre VI. SIMULATIONS ............................................................................................... 48
VI.1. Simulation du modèle MCC ................................................................................. 48
VI.2. Simulation de l’asservissement PID du moteur ................................................... 49
VI.2.1. Réglage des paramètres PID ............................................................................ 49
VI.2.2. Conclusion de l’expérimentation ..................................................................... 53
VI.3. Simulation de la carte arduino avec le logiciel SimultorForArduino ................... 53
v
Chapitre VII. REALISATION ........................................................................................... 55
VII.1. Le circuit du montage ........................................................................................... 55
VII.2. Fonctionnement du montage ................................................................................ 55
VII.3. Matériels et Outils Utilisés ................................................................................... 56 VII.3.1. Le langage web ............................................................................................. 56 VII.3.2. La caméra ..................................................................................................... 56
VII.4. Le Logiciel Processing ......................................................................................... 57
VII.5. La carte Arduino et le servomoteur ...................................................................... 57
VII.6. Résultats de la réalisation ..................................................................................... 58 VII.6.1. Détection de visage ...................................................................................... 59 VII.6.2. Détection de mouvement et de la forme d’une personne ............................. 60
CONCLUSION ........................................................................................................................ 62
ANNEXE I : LA CARTE ARDUINO ..................................................................................... 63
ANNEXE II : LE MICRO SERVO MODULE TINKERKIT ET LE SERVO MODULE TINKERKIT 360 ...................................................................................................................... 66
REFERENCES ......................................................................................................................... 68
vi
LISTE DES ABREVIATIONS
AP: Arrière-Plan
Arctan: Arc tangente
BM: Block Matching
CAN: ConvertisseurAnalogiqueNumérique
CCD: Charged-coupled devices
CI: Code d’Identification
EEPROM: Electrical Erasable Programmable Read Only Memory
E/S : Entrée/Sortie
FTBF : Fonction de Transfert en Boucle Fermée
HTML: HyperText Markup Language
LED: Light Emitting Diode
MCC: Moteur à Courant Continu
MHT: Multiple Hypothesis Tracking
MLI : Modulation de Largeur d'Impulsion
PDAF: Probability Data Association Filtering
PHP: Personal Home Pages
PID: Proportionnelle Intégrale Dérivée
PWM: Pulse Width Modulation
RGB: Red Green Blue
SQL: Structured Query Language
SRAM: Static Random Access Memory
SURF: Speeded Up Robust Feature
TOR: Tout OuRien
USB: Universal Serial Bus
WWW: World Wide Web
vii
LISTES DES NOTATIONS
I: Image Jt: moment d’inertie La : inductance d’induit Ra : Résistance d’induit
viii
LISTE DES FIGURES
Figure 1.1: Chaine d'acquisition simple pour un système de vision. ......................................... 3 Figure 1.2: Image numérique dans l’espace mémoire ................................................................ 4 Figure 1.3: Histogramme d’une image ....................................................................................... 6 Figure 1.4: Principe de la transformation linéaire ...................................................................... 6 Figure 1.5: Image avant et après binarisation............................................................................. 8 Figure 1.6: Matrice d’une image sans dilatation et avec dilatation ........................................... 9 Figure 1.7: Matrice d’une image avant et après érosion ............................................................ 9
Figure 2.1: Principe de la méthode de mise en correspondance des blocs ou Block Matching14
Figure 3.1: Schéma d’un système asservi ................................................................................ 17 Figure 3.2: Schéma fonctionnel d’un système ......................................................................... 21 Figure 3.3: Schéma d’un système bouclé ................................................................................. 21 Figure 3.4: Constitution d’une machine à courant continu ...................................................... 23 Figure 3.5: Induit d’une machine à courant continu ................................................................ 24 Figure 3.6: Induit d'une machine à courant continu en régime permanent .............................. 25
Figure 3.7: Schéma fonctionnel de la machine cc pilotée par tension d'induit ........................ 26
Figure 3.8: Principe du PWM .................................................................................................. 27 Figure 3.9: Schéma d’un pont en H .......................................................................................... 28
Figure 4.1: Schéma théorique du montage ............................................................................... 30 Figure 4.2: Architecture du système ........................................................................................ 31 Figure 4.3: Contrôle de la carte arduino ................................................................................... 32 Figure 4.4: Impulsion logique .................................................................................................. 34 Figure 4.5: Impulsion de commande du servomoteur .............................................................. 35
Figure 5.1: Algorithme de détection de contour 37
Figure 5.2: Algorithme de la méthode quasi-linéaire 40
Figure 5.4: Algorithme de suivi d’un objet 42
Figure 5.5: Algorithme de la deuxième étape de la méthode de l’objet le plus proche 43
Figure 5.6: Suite de l’algorithme de la deuxième étape de la méthode de l’objet le plus proche 44
Figure 5.7: Schéma-bloc d’un modèle mathématique de moteur électrique 45
Figure 6.1: Schéma sous simulink du MCC ............................................................................. 48 Figure 6.2: Réponse du système sans le contrôleur PID .......................................................... 48
ix
Figure 6.3: Schéma sous simulink de l’asservissement en position du moteur avec PID intégré .................................................................................................................................................. 49
Figure 6.4: Résultat de la simulation avec kp=30 ..................................................................... 50 Figure 6.5: Résultat de la simulation avec kp=120 ................................................................... 50 Figure 6.6: Résultat de la simulation pour kp=140 ................................................................... 51 Figure 6.7: Résultat de la simulation avec kd=0.5 .................................................................... 51 Figure 6.8: Résultat de la simulation pou kd=3 ........................................................................ 52 Figure 6.9: Résultat de la simulation pour kd=0.02 .................................................................. 52 Figure 6.10: Brochage de la carte arduino avec les servomoteurs ........................................... 53 Figure 6.11: Simulation de la carte arduino avec le logiciel SimulatorForArduino ............... 54
Figure 7.1: Schéma de principe du montage ............................................................................ 55 Figure 7.2: Schéma de la caméra ............................................................................................. 56 Figure 7.3: Représentation de la réalisation ............................................................................. 58 Figure 7.4: Détection d’un visage dans la zone de contrôle sans objet .................................... 59 Figure 7.5: Détection d’un visage dans la zone de contrôle avec objet ................................... 60
Figure 7.6: Détection de mouvement pour un seuil = 100 ....................................................... 61 Figure 7.7: Détection de la forme d’une personne ................................................................... 61
Figure A.1: Schéma de montage de la carte arduino ................................................................ 63 Figure A.2: Schéma de la carte Arduino UNO R3 ................................................................... 64 Figure A.3: Schéma du micro servo module Tinkerkit ............................................................ 66
Figure A.4: Schéma du servo module Tinkerkit 360 ............................................................... 67
x
LISTE DES TABLEAUX
Tableau I: Caractéristiques techniques de la carte Arduino UNO R3 ...................................... 65
Tableau II: Caractéristiques techniques du micro servo module Tinkerkit.............................. 66
Tableau III: Caractéristiques techniques du servo module Tinkerkit 360 ............................... 67
1
INTRODUCTION
La vue est le plus important des cinq sens que possède l’être humain. Et pour cause,
80% des informations sensorielles perçues par notre cerveau proviennent de la vision. Même
s’il interprète bien le contenu des images, le cerveau humain n’est pas assez précis pour
mesurer les grandeurs. C'est une grande différence avec la machine qui interprète moins bien,
mais qui effectue des mesures plus précises.
A la différence de la vision humaine, la vision par ordinateur aussi appelée vision
artificielle est considérée comme étant une méthode ascendante consistant à partir des images
perçues sur la scène, à faire une analyse qui se base sur trois étapes: le traitement de bas
niveau, le traitement intermédiaire et le traitement de haut niveau. C’est un problème de
traitement et d’analyse d’images correspondant à une branche de l’intelligence artificielle.
Celle-ci a pour but de faire comprendre à une machine ce qu’elle "voit" à travers un système
d’acquisition en reproduisant les caractéristiques supposées de la vision humaine. Ainsi dotée
de son propre "vision", elle serait alors capable de se mouvoir ou d’interagir avec son
environnement.
Le champ applicatif du traitement et de l’analyse d’image est très vaste. Nombreux
d’entre eux font partie d’une application ou d’un système généralement asservi. L’idée
d’asservir un processus permet l’automatisation d’une tâche et aussi de toujours atteindre, à
peu près, la finalité visée même en présence d’une contrainte éventuelle. L’Automatique qui
est une discipline scientifique a pour but de conférer à un dispositif donné, appelé système,
des propriétés souhaitées et ce, sans nécessité d’une intervention humaine.
Dans la plupart des processus industriels, il est indispensable de maîtriser certains
paramètres physiques. En automatique lorsque l’on souhaite atteindre une certaine vitesse,
température, position, angle, il est nécessaire d’avoir recours à un asservissement, c’est à dire
un système capable d’atteindre et de maintenir une consigne en utilisant une mesure. Il s’agit
donc d’un système bouclé, dont il reste à déterminer la fonction permettant de corriger la
commande en fonction de la consigne initiale et de l’erreur mesurée. Le PID est une méthode
qui a fait ses preuves et qui donne de bons résultats.On cherche à faire atteindre une certaine
valeur à une variable du système. Dans le cas d’un moteur, il s’agit principalement d’une
vitesse ou d’une position. Dans ce cas les effets des perturbations doivent être minimisés,
voire effacés, et ce le plus vite possible. Les changements de consigne doivent être suivis
rapidement et avec une bonne précision.
2
Actuellement, le monde est de plus en plus complexe dans ses infrastructures et
sesinteractions, ce qui a pour effet d’augmenter le nombre d’événements de nature
accidentelle ou intentionnelle. En contrepartie, les sociétés sont aussi plus exigeantes en
termes de sécurité et de prévention et exploitent les avancées technologiques afin de répondre
à ses besoins de la meilleure façon possible. Ainsi, L’automatisation des tâches dans les
domaines industriels se développe de temps en temps dans le but de minimiser les travaux
manuels. C’est ainsi que l’on assiste à la création d’un système de détection et de suivi d’une
cible dans une scène. Cette idéeest applicable dans le domaine de la sécurité et aussi dans le
domaineindustriel.
Notre travailintitulé « Développement d’un système de détection et de suivi d’un
mouvement» utilise la vision par ordinateur etl’automatisme. Ilcomporte trois grandes parties.
Dans la première partie seront présentées les généralités sur la vision artificielle et les
asservissements, la deuxième partie sera consacrée à l’étude et la conception d’un système
permettant de suivre la trajectoire d’une cible dans une scène, et la dernière partie sera
focalisée sur les simulations et laréalisation.
3
PARTIE I : GENERALITES
Chapitre I. LA VISION ARTIFICIELLE
La vision par ordinateur rend compte des relations associant la scène et les images par
l’emploi des capteurs visuels et des modèles mathématiques. Cette discipline s’intéresse aux
traitements des images, à l’interprétation des informations visuelles et à leurs utilisations.
Nous allons voir en premier lieu dans ce chapitre les éléments d’un système de vision, ensuite
les fonctions accomplies par l’unité de traitement.
I.1. Généralités sur la vision
I.1.1. Composant d’un système de vision
La chaine d'acquisition dans les applications de vision artificielle est constituée d'une
caméra intégrant un capteur de vision CCD ou CMOS et un objectif, d'une interface de
communication comportant éventuellement une carte d'acquisition et d'une unité de
traitement. Lors du processus d'acquisition, la caméra intègre l'information visuelle grâce au
capteur de vision puis transmet l'image à l'unité de traitement à travers l'interface de
communication. Après la réception de l'image, la phase de traitement consiste à extraire et à
exploiter l'information visuelle.La chaine d’acquisition pour un système de vision est
représentée par la figure 1.1.
Figure 1.1: Chaine d'acquisition simple pour un système de vision.
I.1.2. Définition de l’image
L’image est la représentation du monde extérieur observée par un système de vision.
En informatique, l’image est un ensemble de pixels organisés sous forme de matrice
dans l’espace mémoire. Une fois numérisée, l’image se présente sous la forme d'un tableau I
de x lignes et y colonnes. La figure 1.2est un exemple de la représentation d’une image
4
numérique dans l’espace mémoire. Chaque élément I(x,y)représente un pixel de l'image et à
sa valeur est associée l'intensité du point qui est en générale 0 pour le noir et N pour le blanc
avec N=255le plus souvent. Ce choix de 256 niveaux s'explique par le fait que ce type de
codage nécessite 8 bits par pixel.
L’image est alors une fonction : I : S → Ω
(x, y) → I(x, y)
S représente l’espace des points de l’image et Ω représente l’espace des intensités.
Figure 1.2: Image numérique dans l’espace mémoire
I.1.3. Les capteurs
Ce sont des dispositifs qui transforment l'état d'une grandeur physique observée en une
grandeur utilisable. Les capteurs sont les éléments de base des systèmes d'acquisition
dedonnées.
En fonction de la caractéristique de la grandeur de sortie, on classifie les capteurs en
deux grandes familles: les capteurs passifs et les capteurs actifs [1].
• Les capteurs passifs se comportent en sortie comme un dipôle passif qui peut être
résistif, capacitif ou inductif.
• Les capteurs actifs ont pour sortie équivalente à un générateur.
I.1.4. Les différents types de capteur
Nous allons voir deux types de capteur:le capteur CCD et le capteur CMOS [2].
5
a) Le capteur CCD :
« Charged-coupleddevices »:c’est une matrice de cellules photosensibles, chaque
cellule accumule des charges en fonction de la lumière incidente qu’elle reçoit. Lescharges
sont ensuite transportées sous forme de données numériques.
Ses caractéristiques sont les suivantes :
• moins de distorsion géométrique ;
• signal vidéo plus linéaire par rapport à l’intensité lumineuse ;
• résolution importante;
• très populaire.
b) Le capteur CMOS
Le principe est le même que pour les capteurs CCD. Il s’agit d’une matrice de cellules
photosensibles. La différence principale est que chaque cellule peut être adressée
individuellement, et l’information transmise est la quantité de lumière instantanée et non
accumulée. Ces caméras restent moins précises que les CCD et moins adaptées aux prises de
vue en temps réel. Elles sont par contre moins chères que les CCD.
I.2. L’unité de traitement
L’unité de traitement réalise l'ensemble des opérations sur les imagesnumériques, qui
transforment une image en une autre image, ou en une autre primitive formelle. Il a pour but
d’extraire les paramètres discriminants des images afin de déduire une description quantitative
de l’image ou une reconnaissance de forme.Les opérations s’effectuent en plusieurs étapes qui
sont : le prétraitement pour améliorer la qualité de l’image, la simplification de l’image et la
décomposition de l’image pour extraire les caractéristiques.
I.2.1. Le prétraitement
Il s’effectue sur une image brute, il permet de restaurer l’image en supprimant un
certain nombre de défauts tels que les bruits ou le flou de mise au point et d’améliorer
l’image, par amélioration de l’aspect visuel. Les outils du prétraitement sont l’histogramme et
les différentes phases d’amélioration de l’histogramme.
a) L’histogramme
L’histogramme d’une image est la fonction qui associe à chaque valeur d’intensité le
nombre de pixels dans l’image ayant cette valeur. Il donne simplement la répartition des
6
I’
max I(i,j))
min 0
I’ (i,j)
255
I
pixels selon leur luminosité. Il les compte du sombre au clair, sur un total de 256 niveaux. Un
exemple d’histogramme d’image est donné par lafigure 1.3.
Figure 1.3: Histogramme d’une image
b) Etirement d’histogramme
L’étirement d’histogramme a pour but d’augmenter le contraste de l’image. Pour cela,
il convient d’augmenter sur l’histogramme l’intervalle [min, max] de répartition des niveaux
de l’image d’entrée « I ».
Après augmentation du contraste, les pixels de faible intensité en entrée sont saturés à
0 et qu’inversement les pixels de forte intensité sont saturés à 255. Pour l’intervalle des pixels
non saturés, la répartition des niveaux s’effectue sur l’intervalle entier [0, 255] de manière
linéaire. L’histogramme est donc étiré, et présente deux pics de population de pixels : un pic
de population de pixel à 0 qui correspond à la saturation des pixels de faible intensité, et un
pic de population de pixel à 255 qui correspond à la saturation des pixels de forte intensité. En
revanche, pour les autres niveaux, on a exploité linéairement la dynamique. La figure 1.4
illustre le principe de la transformation linéaire.
Figure 1.4: Principe de la transformation linéaire [3]
255
Nombre de pixels
Intensité
7
, 255 0
, 0
Alors, , (I (i, j)-min) (1.1)
c) Le seuillage
Une image numérique, pour pouvoir être exploitée a généralement besoin d’être
simplifiée. Il a pour but de découper l’histogramme en deux classes telles que la classe des
pixels sombres et celle des pixels clairs. Le seuil peut être choisi de différentes façons. Il
dépend de la position du pic dans l’histogramme, afin d’obtenir le classement des pixels selon
leur luminosité. Le meilleur est de choisir ce qui minimise l’erreur de classification.
d) Le filtrage
Le filtrage a pour but de réduire le bruit dans une image afin de rehausser son contour,
le bruit peut être caractérisé comme la brusque variation d'un pixel isolé par rapport à ses
voisins.
Le filtrage linéaire ou produit de convolution est l'un des outils les plus répandus
permettant d'atténuer les effets du bruit. Il consiste à donner à un pixel les valeurs moyennes
de ses voisins.Le principe est de construire à partir d’une première image Ie, une seconde
image Is généralement de la même taille. Chaque pixel Ps de l’image de sortie Is est calculé à
partir des pixels du voisinage du point Pe de l’image Ie. Dans le cas le plus simple, la valeur
du pixel Ps est obtenue par une combinaison linéaire des valeurs des pixels du voisinage du
point Pe , on parle d’opération de convolution. Après filtrage linéaire, l’image est lissée.
Soient h(i,j) la réponse impulsionnelle du filtre, et Ie(x, y) une image. L’image Is
obtenu après filtrage par h de Ieest calculée à partir de la formule :
, ∑ ∑ , , ! " (1.2)
I.2.2. Le traitement
C’est l'ensemble des techniques permettant de modifier une image numérique pour
l'améliorerou en extrairedesinformations. Le but est de faire réaliser par l'ordinateur
l'enchaînement des raisonnements logiques de l'opérateur chargé d'interpréter visuellement les
8
images. Les opérations à effectuer durant le traitement sont: la binarisation de l’image, la
dilatation et l’érosion.
a) La binarisation de l’image
La binarisation est basée sur un seuillage brut. Cela signifie que si un pixel de l’image
a une intensité supérieure à une certaine valeur de seuil, il lui sera attribué la couleur blanche
sinon il sera noir. Ce procédé est réalisé sur chaque pixel de l’image. On obtient donc une
image comportant seulement deux niveaux tels que le niveau 0 ou le niveau 1.
Elle présente plusieurs avantages.Une image binaire utilise un faible espace mémoireet
les opérateurs qui lui sont associés sont simples.
La binarisation est aussi la première étape d'isolement des objets par rapport au fond.
Ce dernier consiste à transformer l'image en une image binaire où les pixels à 1 correspondent
aux objets et les pixels à 0 au fond de l'image. Après seuillage, les parties de l'image
sélectionnées seront traduites en noir et blanc. L'image, digitalisée par l'ordinateur, est appelée
image binaire.La figure 1.5 donnent un exemple qui illustre la binarisation d’image.
Figure 1.5: Image avant et après binarisation
b) Les opérateurs morphologiques
Lorsqu'une image est bruitée, sa binarisation fait apparaître des points noirs ou des
points blancs parasites et isolés dont il faut se débarrasser par des techniques : la dilatation
etl'érosion.
• La dilatation de l’image
La dilatation consiste à éliminer les points "noirs" isolés. La méthode est le balayage
de l'image par une fenêtre de taille 2 # 1 % 2 # 1avec utilisation du OU logique. On
place le centre de la fenêtre sur le pixel courant et on effectue un OU logique sur les2 #
9
1 1 pixels environnants. Si le résultat est 1, le pixel est mis à 1; si le résultat est 0, le
pixel est conservé [4]. Les matrices d’une image avant et après dilatation sont données par la
figure 1.6.
Figure 1.6: Matrice d’une image sansdilatation et avec dilatation [5]
• L’érosion de l’image
Il s'agit d'éliminer les points "blancs" isolés. La méthode est assez similaire à celle de
la dilatation. On balaie l'image avec une fenêtre de taille2 # 1 % 2 # 1. On place le
centre de la fenêtre sur le pixel courant. On effectue un ET logique sur les pixels
environnants. Si le résultat est 1, le pixel est conservé; si le résultat est 0, le pixel est mis à 0
[4].On peut voir un exemple de résultat dans lafigure 1.7.
Figure 1.7: Matrice d’une image avant et après érosion [5]
10
I.2.3. Décomposition de l’image
a) Le contour
Par définition, un contour est la frontière qui sépare deux objets dans une image. C’est
aussi la variation brusque d’intensité dans l’image. En général, la détection de contour
consiste à mettre en évidence toutes les lignes marquant des changements d’intensité.
La première dérivée de l'image est l'opérateur de base pour mesurer les contours dans
l'image. Cette première dérivée s’appelle le vecteur gradient de l’image.A chaque point de
coordonnée (x, y) de l’image, le vecteur gradient a pour coordonnée:
&I ()*,+(* , ()*,+
(+ (1.3)
Sa norme est définie par: &I ,()*,+(* - ² # ,()*,+
(+ - ²/ 0 (1.4)
Sa direction a pour formule: Ф 234 ,()*,+(+
()*,+(*0 - (1.5)
La détection de contour s’effectue :
• Par seuillage du gradient.
Le seuillage de l’histogramme de la norme du gradient consiste à modifier cet
histogramme en le regroupant en deux classes tel que la classe des pixels blancs et celle des
pixels noirs. Pour cela, on choisit un seuil et on transforme en noir la norme des pixels qui est
inférieure à ce seuil et en blanc celle des pixels qui est supérieure à ce seuil. Il est choisi en
fonction de l’histogramme. L’image obtenue après seuillage de l’histogramme met en
évidence son contour.
• Par recherche de maxima et seuillage par hystérésis
Le principe est d’utiliser deux seuils pour la norme du gradient : le seuil bas et le seuil
haut et de sélectionner les pixels pour lesquels :
– la norme du gradient est supérieure au seuil haut.
– ajouter les pixels connectés à un pixel pour lequel la norme du gradient est
supérieure au seuil haut et aussi supérieure au seuil bas.
En général, on choisit les deux seuils de manière à obtenir un seuil haut qui est égal au
deux fois du seuil bas. Les pixels sélectionnés correspondent au contour.
11
Une autre approche pour trouver les contours de l'image est d'utiliser la seconde
dérivée de l'image. On utilise le laplacien comme opérateur.
A chaque point de l’image, le laplaciens’écrit:
ΔI &²I ,()*,+(* - # ,()*,+
(+ - (1.6)
Les points de contour sont caractérisés par les passages par zéro du laplacien. La
détection de ces points s’effectue en deux étapes :
Etape 1. Détection des passages par zéros. Les pixels pour lesquels le laplacien change
de signe sont sélectionnés.
Etape 2. Seuillage des passages par zéros de fortes amplitudes.
b) La segmentation
La segmentation d'image est une opération qui a pour but de rassembler des pixels
entre eux suivant des critères prédéfinis. Les pixels sont ainsi regroupés en régions pour
constituer une partition de l'image. Il peut s'agir par exemple de séparer les objets du fond.
La vision artificielle est une méthode qui permet aux ordinateurs d’accéder dans le
monde réel et de l’interpréter afin de construire un système nécessaire à la vie quotidienne.
Nous allons voir dans le chapitre suivant l’extraction des informations dans une scène de
vision.
12
Chapitre II. ETUDE DU MOUVEMENT D’UNE CIBLE
Au cours des siècles, le traitement d’image a gagné de l’ampleur grâce à son champ
d’application très vaste. En effet c’est une source très riche en information. Nous allons voir
dans ce chapitre l’étude du mouvement d’une cible dans une scène.
L’analyse du mouvement d’une personne ou d’un objet est un domaine très actif de la
vision par ordinateur, l’application de cette étude est très vaste. On va voir plusieurs notions,
en commençant par la détection du mouvement. Elle nous permet d’identifier dans chaque
image les pixels appartenant à des objets mobiles. On va voir ensuite l’estimation du
mouvement qui a pour objectif de calculer le mouvement apparent de chaque pixel. Pour
terminer notre étude va être consacrée à la poursuite qui apparie certaines structures spatiales
pour chaque couple d’images.
II.1. Détection du mouvement
La cause d’un mouvement est due à un déplacement d’un objet dans la scène ou à un
déplacement de la caméra. Elle peut être vérifiée ou étudiée par diverses méthodes, nous
allons aborder quelques-unes.
On a la méthode par différence d’images qui est une méthode très rapide pour la
détection simple du mouvement, l’objectif est d’associer à chaque pixel de I une étiquette
binaire : fixe ou mobile, zéro ou un en fonction des changements temporels de I(x,y,t).
Posons Y(x,y,t) une fonction qui représente un champ d’observation, cette fonction
servira de base la décision d’attribution de l’étiquette 0 ou 1 tel que: Y(x,y,t) = |I(x,y,t) –
I(x,y,t-∆t)| indique la différence entre deux frames. Pour le cas idéal, si on a Y est égal à zéro,
on peut dire que le pixel de coordonnée (x,y) est fixe, sinon, si Y est supérieur à zéro alors on
peut affirmer que le pixel de coordonnée (x,y) est en mouvement.
On peut voir une illustration sur la soustraction d’arrière-plan, c’est-à-dire que si on
possède une image de l’arrière-plan (AP), on soustrait l’image courante de cette image pour
isoler l’objet en mouvement, l’image d’AP ne varie pas en fonction du temps. Pour
l’algorithme de détection nous allons nous référer à partir de la valeur seuil.Si |I(x,y) –
IAP(x,y)| est inférieur au seuil , on met l’étiquette à 0 , si |I(x,y) – IAP(x,y)| est supérieur ou
égal au seuil on met l’étiquette à 1 où le pixel de coordonnée (x,y) est en mouvement.
13
Il existe d’autres techniques de détection de mouvement comme la corrélation,les flots
optiques, les contours en mouvement, leslignes de niveaux et lesfiltres de Gabor. Toutes ces
techniques ont une influence sur la position de la caméra et l’éclairage de la scène.
II.2. Estimation du mouvement
En robotique, l’étude du déplacement permet de déterminer et souvent donc de prévoir
l’évolution de la position des objets avec lesquels l’interaction est possible. En compression
vidéo, l’étude permet de comprendre le mieux possible où se trouve la redondance temporelle
de la séquence et de savoir décrire une image à l’aide des images environnants [6]. Dans le
domaine de traitement d’images on peut utiliser aussi cette information à des fins diverses.
A cause du domaine d’application très vaste, les contraintes sur la scène augmentent
aussi, ce qui nous mène à étudier plusieurs méthodes en fonction du milieu [7]. Ceci a pour
but de réduire le taux d’erreur.
Le principe général de l’estimation du mouvement consiste, en premier lieu, à prendre
deux images successives et de les subdiviser en blocs de taille égale 8x8 ou 16x16
pixels.Après la subdivision, les blocs sont considérés comme des objets indépendants et qui
sont identifiés par les coordonnées de leur origine. Ensuite on assigne à chaque bloc d’image
courante un bloc d’image de référence. L’assignation se fait sur la base d’un critère de
comparaison qui est calculé entre le bloc de l’image courante et celui de l’image de référence
[7]. Pour avoir un peu de précision, il faut définir une fenêtre de recherche qui nous permet de
réduire le coût de calcul en limitant le nombre de blocs candidats testés dans l’image de
référence. La taille de la fenêtre de recherche dépend du déplacement maximal autorisé pour
chaque pixel. Le bloc candidat le plus semblable est ainsi identifié dans l’image de référence
et est assigné au bloc de l’image courante. On répète le même procédé avec un autre bloc
jusqu’à ce qu’il n’y ait aucun bloc à tester, ou jusqu’à atteindre un critère d’arrêt
prédéfini.Une fois la procédure achevée, nous obtenons pour chaque bloc de l’image courante
un vecteur de déplacement qui caractérise son mouvement.
14
Figure 2.1: Principe de la méthode de mise en correspondance des blocs ou Block Matching
Dans la figure 2.1 :(i,j)sont les coordonnées de l’origine du bloc de référence,d1 et
d2sont les déplacements horizontal et vertical de l’origine des blocs candidats par rapport à
l’origine du bloc de référence dans la fenêtre de recherche.
II.3. Suivi de l’objet
Le suivi de l’objet ou la localisation spatiale et temporelle d’un objet au cours d’une
séquence consiste à extraire de l’objet des caractéristiques dans chaque image de la séquence
vidéo. Il a pour but d’estimer au fil de temps des paramètres d’un cible ou de plusieurs cibles
présents dans le champ de vision de la caméra et initialement détecté. Pour une poursuite
automatique, il faut suivre et initialiser automatiquement la ou les cibles et gérer leurs
éventuels arrêt et/ou sorties du champ de la caméra [6].
Il existe plusieurs méthodes de suivi, comme le suivi de points, le suivi de silhouetteet
le suivi de fenêtres englobants [8]. Ces méthodes ont ses propres avantages et inconvénients.
Nous allons opter pour des méthodes de suivi d’objet, en premier lieu le suivi par appariement
de détection ou « detect-before-track », ensuite le suivi par segmentation dynamique et enfin
le suivi déterministe par détection séquentielle.
a) Le suivi par appariement de détection
Le problème de suivi peut être considéré comme un problème d’appariement de
détection entre images successives. Cette méthode se fait en assignant les observations aux
pistes en cours d’estimation. Elles peuvent être déterministes ou probabilistes.
15
Les observations sont déterministes quand on les associe aux pistes en cours de suivi,
en minimisant une distance calculée sur certaines caractéristiques de l’objet.
Les observations probabilistes permettent de gérer les variations des apparences entre
deux images en ajoutant une incertitude au modèle de l’objet et aux modèles des observations.
Le suivi d’une seule cible est alors obtenu par des méthodes de filtrage. Pour plusieurs cibles
on peut le faire aussi avec cette méthode mais une étape préalable d’association de l’objet
avec l’observation la plus probable doit être ajoutée. Deux techniques sont les plus utilisées
commel’MHT : «Multiple HypothesisTracking» et le PDAF : «Probability Data Association
Filtering» [7].L’avantage de ces méthodes est qu’elles ont un faible coût de calcul et gèrent
l’apparition de nouvelles cibles et l’arrêt ou disparition de cibles existantes. Malgré ces atouts
elles dépendent exclusivement de la qualité des détections qui implique qu’en cas de
mauvaise ou fausse détection, le suivi sera détérioré.
b) La segmentation dynamique
Cette méthode consiste à extraire la silhouette de la cible à chaque instant, et sans
connaissance à priori sur sa forme. Le traitement se fait par une succession de segmentations.
Son but est de faire évoluer le contour de l’objet à l’instant précédent jusqu’à sa nouvelle
position à l’instant courant.Le suivi par segmentation dynamique permet de suivre tout type
d’objet avec des formes diverses et s’adapte relativement bien aux objets déformables. Cette
méthode dépend de la représentation du contour. Si le contour est clair le suivi a un coût assez
faible.
c) Le suivi déterministe de fenêtre englobant par détection
séquentielle
Cette technique de suivi se base sur la conservation de l’apparence, couleur ou
luminance de l’objet pendant au moins deux instants consécutifs. On trouve deux méthodes
pour cette technique qui est le suivi différentiel d’imagettes et le suivi de distributions. Une
imagette est une boîte rectangle ou ellipse entourant ou à l’intérieur de l’objet à suivre.
Avec ces méthodes on peut exploiter les informations sur l’apparence photométrique
des objets ce qui les rend robustes aux changements d’illumination.L’inconvénient de ces
méthodes c’est qu’elles ne gèrent pas l’initialisation automatique de nouveaux objets ni leurs
arrêts et leurssorties du champ de la caméra.
16
La vision artificielle est une source très riche en information qu’on peut exploiter pour
élaborer un système. Nous allons voir ensuite dans le chapitre suivant les notions
d’asservissement et de mécanique.
17
Chapitre III. NOTIONS D’ASSERVISSEMENT ET DE MECANIQUE
D’une part nous allons parler dans ce chapitre de l’Automatique. Son objet au sens
large est donc l’étude, l’analyse, la synthèse et la réalisation des systèmes de commande.
D’autre part nous allons développer une notion sur les moteurs électriques.
III.1. Généralités sur les systèmes asservis linéaires
III.1.1. Définition
D’une manière générale unsystèmeest un ensemble de processus en évolution,
arrangés de façon à produire un certain résultat. Asservirconsiste à automatiser la tâche. Le
domaine d’étude des asservissements est appelé l’Automatisme. Un système asservi est donc
un ensemble de processus automatique. Il comporte une chaîne de commande avec
amplification de puissance, une chaîne de retour et un outil de comparaison. La figure 3.1
représente le schéma d’un système asservi.
Figure 3.1: Schéma d’un système asservi
Observons un à un les éléments de cette figure:
• le processus est soumis aux excitations constituées par l’entrée de référence et les
perturbations. Il y répond par une grandeur qui lui est propre. Cette grandeur porte le nom de
grandeur asservie ou grandeur réglée;
• le capteur donne une image utilisable de la grandeur réglée ; la nature de cette
mesure est le plus souvent électrique. Un capteur doit donner une image fidèle de la grandeur
réglée. Sa sensibilité impose donc les limites de la précision de l’asservissement ;
• le régulateur est composé de deux parties : le comparateur qui reçoit l’information de
référence et la grandeur mesurée dont il fait la différence ε appelée écart ou erreur et le
correcteur dont le rôle sera d’éliminer cet écart, quelles que soient les perturbations, et
Grandeur réglée
perturbations Grandeur réglante
Grandeur
Entrée de référence
régulateur
+
- correcteur actionneur processus
Capteur
18
d’amener le processus à réagir le plus rapidement, quelles que soient les variations de l’entrée
de référence ou les perturbations. C’est l’organeintelligent du système asservi ;
• l’actionneur reçoit du régulateur la grandeur réglante et l’amplifie en puissance c’est
le “muscle” de la chaîne qui va piloter l’évolution du processus [9].
III.1.2. Classification des systèmes asservis
a) Classification selon le type de l’entrée de référence
• un asservissement : il a une entrée de référence qui évolue ou qui suit unegrandeur
physique indépendante du processus lui-même. Cette évolution de l’entrée fait évoluer le
point defonctionnement du processus et la sortie doit suivre le mieux possible cette
évolutionen dépit des perturbations. On dit encore que le système fonctionne en suiveur ou en
poursuite.
• une régulation qui a une entrée de référence constante ou évoluant par paliers.
Cette entrée est aussi appelée consigne. La sortie doit rester constante quelles que soient les
perturbations.
b) Classification selon le type de régulateur
On distingue trois grandes classes de régulateur :
• le régulateur analogique qui est réalisé avec des composants analogiques et son signal
de sortie évolue de manière continue dans le temps. On obtient alors un système
asservilinéaire continu.
• le régulateur numérique : il est réalisé à l’aide d’un système programmable et son signal
de sortie est alors le résultat d’un algorithme de calcul. On obtient alors un système
asservilinéaire échantillonné.
• les régulateurs Tout ou Rien (T.O.R.) dont la grandeur réglante ne peut prendre que
deux valeurs et l’actionneur de puissance ne dispose que de deux états de fonctionnement, il
est « ouvert » ou « fermé » [9]
c) Les systèmes linéaires
Un système linéaire obéit au principe de superposition défini par les propriétés
d’additivité et d’homogénéité.
• additivité : si les entrées e1(t), e2(t),…, en(t) entraînent respectivement les réponses S1(t),
S2(t),..., Sn(t) alors l’entrée e1(t)+e2(t)+...+en(t) entraîne la réponse S1(t)+S2(t)+. ..+Sn(t)
19
• homogénéité : si l’entrée e(t) est multipliée par un facteur k constant, alors la sortie s(t)
est multipliée par ce même facteur. On dit qu’il y a proportionnalité de l’effet à la cause.
Un système dynamique linéaire est un système qui peut être décrit par une équation
différentielle à coefficients constants.
d) Le système continu et le système échantillonné
Un système est dit continu si tous les signaux d’entrée, intermédiaires et de sortie
observables sont des fonctions continues du temps. Ainsi une équation différentielle décrit un
système dynamique continu.
Inversement, si en un endroit au moins de la chaîne des éléments le constituant, le
signal n’est transmis qu’à des instants discrets, le système sera dit échantillonné. Celui-ci est
alors observable aux moments d’échantillonnage.
e) La transformation de Laplace
Soit f(t) une fonction du temps, définie pour t>0 et nulle pour t<0. Soit p une variable
complexe. On appelle transformée de Laplace de f(t), la fonction de la variable complexe
notée F(p) telle que :
F(p)=£
[ƒ(t)]=6 789ƒ;< (t)dt (3.1)
L'existence de F(p) suppose bien entendue que l'intégrale converge. Cette transformation est
bijective; f(t) est dite transformée inverse ou originale de F(p) :
f(t) = £/[F(p)]
• Transformé de Laplace de la dérivée
£[?@ƒ?A@ ]pDFp - pD/ƒ0 - pDƒ’0 - … - ƒD/0 (3.2)
• Transformé de Laplace de l’intégrale
£[6 ƒ4I4] Gp /8 Fp # /
8 g0 (3.3)
20
III.1.3. Modélisation des systèmes linéaires
a) définition
En Automatique, le modèle mathématique d’un système dynamique est défini comme
un ensemble d’équations qui représentent le comportement dynamique du système avec la
précision souhaitée. Le processus de modélisation consiste premièrement en l’identification
du système et de ses composants élémentaires. Le modèle mathématique idéal est obtenu en
écrivant les lois physiques régissant le comportement du système. Quelle que soit la nature
physique du système à étudier, cette étape résulte en l’écriture des équations différentielles et
algébriques qui forment l’expression mathématique du comportement idéal du système.
b) Les différents types de modèles
On peut distinguer deux sortes de modèles :
• le modèle de connaissance : c’est le modèle du physicien qui est obtenu en écrivant
toutes les équations différentielles qui régissent le fonctionnement du système. Il est le
modèle idéal, mais, le plus souvent, très difficile à obtenir. Par contre, tous les paramètres
physiques y apparaissent explicitement.
• le modèle de commande : c’est le modèle de l’ingénieur automaticien qui n’est, en fait,
qu’un modèle approché plus simple, mais suffisant pour donner une bonne idée du
comportement dynamique du système.
Très souvent, lorsqu’on ne saura pas écrire les équations différentielles, on cherchera un
modèle de commande à l’issue d’une étude expérimentale [10].
Le comportement d’un système dynamique linéaire continu monovariableest
représentépar une équation différentielle à coefficients constantscomme suit :
LML9M # N # LO
L9O # N # / LL9 # <P Q<7 # Q/ L
L9 # Q LRL9R # QS LT
L9T # N # Q LUL9U (3.4)
c) Fonction de transfert d’un système asservi
La fonction de transfert est l’expression qui relie les variations, vis à vis d’un régime
initial ou point de fonctionnement, du signal de sortie par rapport au signal d’entrée.
On considère le système au repos ou en régime permanent. Toutes les dérivées sont
donc nulles à l’instant t = t0.La transformée de Laplace de l’équation différentielle s’écrit alors
:
21
. W. PW # N # /. W. PW # <. PW Q<. XW # Q/. W. XW # N # Q. W. XW
Y8Z8 [U.8U\[U]^.8U]^\N\[^.8\[_
M.8M\M]^.8M]^\N\^.8\_ (3.5)
H(p)=Y8Z8est appelée fonction de transfert ou transmittance du système.
Dans un schéma fonctionnel, un système sera représenté par sa fonction de transfert.
Nous le voyons dans la figure 3.2.
Figure 3.2: Schéma fonctionnel d’un système
III.2. Stabilité et précision d’un système asservi
La boucle de retour possède beaucoup d’intérêts telsqu’une commande plus précise
qu’en boucle ouverte,une bande passante plus large, donc un système plus rapide.
III.2.1. Stabilité des systèmes bouclés
Un système est dit stable si, excité par une impulsion de Dirac, il revient à sa position
de repos. Il est instable dans le cas contraire.
La réponse impulsionnelle d’un système est représentée par sa fonction de transfert. La
forme du signal de sortie va donc dépendre des pôles de la fonction de transfert. Un système
linéaire continu en boucle fermée n’est stable que si tous les pôles de sa fonction de transfert
sont à partie réelle négative [9].
D’une manière générale, les systèmes bouclés peuvent se mettre sous la forme
présentée par la figure 3.3.
Figure 3.3: Schéma d’un système bouclé
H(p) S(p) E(p)
S(p) E(p) +
- F(p)
R(p)
22
Sa fonction de transfert en boucle fermée s’écrit :Y8Z8 `8
/\a8`8 (3.6)
D’après le théorème précédent, ce système bouclé est stable si les pôles de sa FTBF
sont à partie réelle strictement négative. Ces pôles sont racines de l’équation :
1 # bWcW 0
III.2.2. Précision d’un système asservi
Le rôle des systèmes asservis est de faire suivre à la sortie s(t) une loi fixée par e(t),
avec pour idéal ε(t) = e(t) - s(t) = 0.
L’erreur statique peut s’écrire sous la forme : d lim9h; d4 lim8h< W dW (3.7)
Pour assurer la précision d’un système asservi, il faut et il suffit que cette erreur tende vers 0.
III.3. Correction des systèmes asservis
Un système asservi doit être suffisamment robuste pour garantir trois niveaux de
performance : une stabilité, une bonne précision statique, une rapidité suffisante.Mais ces trois
critères sont contradictoires : la précision et la rapidité sont liées au gain, mais trop de gain
peut avoir un effet déstabilisant. Corriger un système asservi, c’est assurer une compatibilité
entre ces critères contradictoires et le correcteur sera l’élément intelligent qu’on ajoutera au
système initial pour assurer cette compatibilité.
Les formes les plus courantes sont :
• l’action proportionnelle, c’est à dire le gain en boucle ouverte,
• l’action intégrale qui assurera une bonne précision statique,
• l’action dérivée qui assurera un temps de réponse correcte
Ces actions s’effectuent sur le signal d’erreur ε.
Les fonctions de transfert des correcteurs sont :
• pour la commande proportionnelle : Ur(t) = Gr. d(t) soit : C(p) = Gr. (3.8)
• pour la commande intégrale : ij4 /kO 6 dI9
< soitlW /kO8 (3.9)
• pour la commande dérivée : ij4 mL LnL9soit lW mLW (3.10)
23
III.4. Généralités sur les machines à courant continu
III.4.1. Constitution d’une machine à courant continu
Une machine à courant continu comprend quatre parties principales [11] :
– l’inducteur ;
– l’induit ;
– le collecteur ;
– les balais.
La figure 3.4 illustre la constitution d’une machine à courant continu.
Figure 3.4:Constitution d’une machine à courant continu
Les machines peuvent fonctionner en moteur ou en génératrice. Le fonctionnement est
en moteur s’il y a une conversion d’énergie électrique en énergie mécanique. Il est en
génératrice s’il existe une conversion d’énergie mécanique en énergie électrique.
III.4.2. Expression de la force électromotrice et du couple
électromagnétique
• La force électromotrice E s’écrit en général:X 8 oФ (3.11)
où p, a, n, sont des paramètres fixés par les constructeurs.
• L’expression de la couple électromotrice Ce s’écrit : l pq Ф (3.12)
III.4.3. Les moteurs à courant continu
Selon le mode d’excitation, on peut classer les moteurs à courant continu en moteur à
excitation indépendante, moteur à excitation série et moteur à excitation en dérivation [12].
24
III.4.4. Mise en équation des machines à courant continu
a) Modélisation du comportement d’une machine à courant continu
sans charge
Les équations qui régissent les fonctionnements sont les suivantes :
La force électromotrice est égale : E=k. Φ.Ω
Avec : k= 8
Пs
Φ est le flux utile par pôle en Wb
Ω est la vitesse de rotation en radian par seconde
p est le nombre de paires de pôles
n estle nombre de brins actifs
2a est le nombre de voies d’enroulement de l’induit
L’induit est modélisé de la manière suivante en régime permanent.La figure 3.5
montre la modélisation de l’induit d’une machine à courant continu.
Figure 3.5:Induit d’une machine à courant continu
On a:
t b # uФv # w L"xL9 y t b # uФv # w L"x
L9 (3.13)
Or Iaest constant en régime permanent, l’induit est donc présenté par la figure 3.6 en régime
permanent.
Ia
U = RaIa
E = kФv
Va
La
25
Figure 3.6: Induit d'une machine à courant continu en régime permanent
Or, Pa=VaIa est la puissance absorbée par l'induit et RaIa2 est la puissance dissipée par effet
Joule dans l'induit. Donc la puissance électrique susceptible d'être transformée en puissance
mécanique est : Pe = VaIa - RaIa2 = EIa, on l'appelle puissance électromagnétique. C'est elle qui
donne naissance au couple électromagnétique suivant la formule :
z l. v y l | Z"x
pФ"x u. Ф. (3.14)
On suppose que le couple utile est équivalent au couple électromagnétique donc :
l~9 l u. Ф. (3.15)
b) Procédé de commande d’une machine à courant continu
On trouve principalement deux types de commande :
•lacommande à flux constant par la tension d'induit variable.
• la commande à courant d'induit constant par le flux d'induit variable.
Nous allons détailler la commande par la variation de la tension. Pour le réaliser, on règle le
flux à sa valeur maximale, l'intensité absorbée par l'induit pour un couple résistant donné est
donc minimum, en effet : |p.ФUx
Les deux équations fondamentales s'écrivent :
X u. v
l u. (3.16)
Avec : u uФ
Ia
U = RaIa
E = kФv
Va
26
D’après la transformée de Laplace, on a
XW u. vW
lW u. W (3.17)
tW b # wW. W # XW
D’où l'expression du couple de la machine :
lW pUxax\x8 tW pUxR
ax\x8 vW (3.18)
Le schéma fonctionnel du moteur CC piloté par induit est alors le suivant :
Figure 3.7: Schéma fonctionnel de la machine cc pilotée par tension d'induit
III.4.5. Le PWM
a) Principe du PWM
Le PWM : « Pulse Width Modulation » se traduit par : Modulation de largeurs
d'impulsions(MLI).La figure 3.8 illustre le principe du PWM.
Ce(p) Va(p) +
-
b # wW
Kmax v(p)
Comme représenté dans la
signal avec un autre signal triangulaire. E
triangulaire, la sortie est à l'état bas. Dans le cas contraire, la sortie est mise à l'état haut. Le
signal continu généré à partir des deux valeurs distinctes prend la valeur moyenne sur les
intervalles de temps.
Dans cette figure :
- Th représente la période de temps pendant laquelle le système est à l'état haut.
- Tl représente la période de temps pendant laquelle le système est à l'état bas.
Le PWM se caractérise par :
- la période PWM : Tpwm
- le rapport cyclique d'impulsion
Figure 3.8: Principe du PWM
dans la figure 3.8, le signal PWM peut être obtenu en comparant un
signal avec un autre signal triangulaire. En effet, si le signal comparé est au
triangulaire, la sortie est à l'état bas. Dans le cas contraire, la sortie est mise à l'état haut. Le
signal continu généré à partir des deux valeurs distinctes prend la valeur moyenne sur les
Th représente la période de temps pendant laquelle le système est à l'état haut.
Tl représente la période de temps pendant laquelle le système est à l'état bas.
la période PWM : Tpwm= Th + Tl
le rapport cyclique d'impulsion :
27
, le signal PWM peut être obtenu en comparant un
au-dessus du signal
triangulaire, la sortie est à l'état bas. Dans le cas contraire, la sortie est mise à l'état haut. Le
signal continu généré à partir des deux valeurs distinctes prend la valeur moyenne sur les
Th représente la période de temps pendant laquelle le système est à l'état haut.
Tl représente la période de temps pendant laquelle le système est à l'état bas.
28
III.4.6. Le pont en H
a) Utilité
Il est souvent utile de pouvoir faire tourner un moteur dans les deux sens. Pour cela on
doit pouvoir appliquer aux bornes de ce moteur un important courant et son opposé, on utilise
alors un jeu d'interrupteurs pouvant être contrôlés par des courants moins importants.
b) Principe
Figure 3.9:Schéma d’un pont en H
Le fonctionnement du système est la suivante :
• Si A et D sont fermés, le moteur tourne vers la droite
• Si B et C sont fermés, alors le moteur tourne vers la gauche
• Si A et B ou C et D sont fermés, alors le moteur freine.
III.4.7. Utilisation du Pont en H par des PWM
Les moteurs se comportent comme des filtres passe-bas et ils sont donc facilement
contrôlables grâce au PWM. En effet, il permet un contrôle proportionnel et rapide du
système.
Le principe de contrôle du moteur par le PWM est le suivant.Chaque demi-pont A-D
et B-C est connecté sur le PWM et A et D sont fermés lorsque le PWM est à l’état haut et B et
C sont fermés lorsqu'il est à l’état bas. Le moteur peut alors avancer et reculer durant son
fonctionnement.
Nous avons vu durant ce chapitre la technique de commande d’un moteur à courant
continu, ainsi que la notion d’asservissement qui est utilisé dans les systèmes, car la
commande en boucle fermée permet une meilleure performance au système.
29
Partie II : ETUDE ET CONCEPTION D’UN SYSTEME DE DET ECTION DE MOUVEMENT ET DE RECONNAISSANCE DE FORME
Le but final de notre mémoire est de développer un système complet de détection de
mouvement et de reconnaissance de la forme d’un visage et d’une personne à partir d’une
simple caméra et d’une caméra à vision nocturne.
Ce travail est applicable dans le système robotique et particulièrement dans le domaine
de la sécurité.
Chapitre IV. CONCEPTION
Une bonne définition de la conception donne une meilleure qualité au projet. Nous
allons faire une étude détaillée pour connaitre les besoins, les buts et les contraintes du projet
durant ce chapitre.
IV.1. Contexte et présentation du projet
Ce projet est très en vogue à l’état actuel, plus précisément dans le domaine de la
surveillance. Beaucoup sont les thèmes qui l’ont déjà traité et tous ont apporté chacun leur
contribution pour l’amélioration du système.
D’après le constat d’insécurité et aussi avec l’évolution de la robotique, nous avons
pris l’initiative de réaliser un projet de détection d’un objet qui sera ensuite traqué par une
caméra.
Deux webcams sont utilisées, l’une pour la détection en plein jour qui consiste à
identifier le visage d’une personne et une forme d’armepré insérésdans le système, l’autre
pour la détection de nuit qui consiste à détecter un mouvement et à reconnaitre la forme d’un
individu.
Pour chaque webcam, un servomoteur connecté à la carte Arduino est contrôlé par
l’interface Processing qui réalise la reconnaissance d’objet, à partir de la capture,
indépendante de chacun des fluxvidéo. L’interface Processing envoie sur le port sérieune
chaîne de caractères sous la forme Serial.write(x) où x est la valeur de l’angle de
positionnement du servomoteur. Chaque servomoteur est identifié par un numéro.
Ensuite le programme arduino analyse la chaîne reçue et en extrait la valeur d’angle
pour positionner le servomoteur à une position voulue.
Un correcteur PID qui est un composant du servomoteur assure l’élimination des
erreurs concernant l’angle de sortie.
30
Le schéma théorique du montage est représenté par la figure 4.1.
Figure 4.1:Schéma théorique du montage
Théoriquement, l’ordinateur va envoyer à la carteArduino une information, ensuite
cette information permet à l’arduino de prendre une décision pour orienter le servomoteur
avec un angle précis.
IV.2. Objectif
Le système de surveillance a pour but de protéger les hommes et ses biens contre des
intrusions non désirées de nuit ou de jour. Il a pour objectif, l’avertissement des propriétaires
par des alarmes et l’enregistrement automatique. Peu importe les moyens de prévention
utilisés, le système doit traiter aux préalables la détection, la reconnaissance et le suivi de la
forme d’un visage ou d’une personne. Notre projet a pour but de concevoir un système
robuste et fiable en matière de sécurité et d’identification.
IV.3. Cahier des charges
L’étude consiste à donner un algorithme et à traiter les données qui vont nous faciliter
la détection et la poursuite de la cible.
Pour cela, une caméra à vision nocturne est utilisée pour l’acquisition de l’image. Nos
recherches vont se baser sur la forme d’une personne qui pénètre dans un milieu bien défini.
Le but est de déclencher une alarme et de faire un enregistrement automatique. Pour assurer la
fiabilité de notre application nous avons opté la poursuite de la caméra à l’aide du mouvement
d’un objet, plus précisément d’un visage ou d’une personne. Ce fonctionnement est assuré par
un servomoteur actionné par la carte arduino.
31
La détection du mouvement est prise en compte par le système, la personne qui passe
par la caméra quel que soit son orientation de face, de dos ou de profil déclenche une alarme
et un enregistrement automatique. Ensuite après que le système a détecté notre cible celui-ci
va le suivre de manière autonome. Enfin comme notre étude se base essentiellement sur la
sécurité, la qualité de la caméra est très importante, nous avons souhaité travailler avec une
caméra thermique qui est très sensible à la chaleur humaine et de plus les images obtenues
avec ce type de caméra est facile à traiter. Une caméra à vision nocturne sera adéquate car en
général une intrusion se fera toujours de nuit. Pour notre réalisation,nous avons opté pour une
webcam dont on a enlevé le filtre anti-infrarouge et a monté une LED infrarouge sur celle-ci
pour avoir une vision nocturne.
IV.4. Conception du système
IV.4.1. Architecture du système
Notre système a cinq composants principaux qui sont la détection de forme et de
mouvement, la localisation, l’extraction des propriétés de l’objet, le suivi du mouvement et la
conclusion du mouvement. L’architecture générale d’un système de surveillance est donnée
par la figure 4.2.
Figure 4.2: Architecture du système
oui non
Détection de la forme et du mouvement
Dans la zone de contrôle
Suivi du mouvement et asservissement du moteur
Extraction des propriétés
Conclusion du mouvement
Localisation
32
IV.4.2. Utilité de chaque bloc
La détection de la forme et du mouvement consiste à traiter l’image reçue par le
capteur. La localisation des cibles a pour rôle de prévenir le système quand il y a une forme
ou un mouvement sur la zone de contrôle. La détermination de la position de l’objet se fait à
l’aide de l’extraction des propriétés. On doit extraire aussi le centre de l’objet pour rendre
possible la poursuite et enfin la vitesse qui se compose en dx et dy. Avec toutes ces propriétés,
notre système peut faire le suivi de manière autonome à l’aide d’un asservissement du moteur.
Enfin le module conclusion du mouvement nous permet de communiquer le résultat à
l’utilisateur.
IV.5. Spécifications fonctionnelles
Le contrôle de la carte arduino est montré par la figure 4.3.
Figure 4.3: Contrôle de la carte arduino
L’information envoyée par lelogiciel processing est décrite de la manière suivante
avec leur signification :
• Serial.write(90); va permettre de rester en position stable ;
• Serial.write(0); le fera tourner dans un sens à vitesse max ;
• Serial.write(180); le fera tourner dans l'autre sens à vitesse max.
IV.6. Matériels et outils nécessaires
IV.6.1. La caméra
Avec l’évolution des systèmes numériques de stockage, il est maintenant possible de
transférer des séquences d’images directement au format numérique, permettant à la fois de
conserver la qualité du signal fourni par le capteur et de simplifier l’archivage.
Il existe plusieurscamérasqui ont chacune ses propres caractéristiques. Afin d’avoir un
bon résultat il faut savoir et comprendre les paramètres d’une caméra. Tout d’abord la
lumière, qui se propage en ligne droite et la couleur qui est caractérisée par la longueur d’onde
33
de la lumière. Outre la qualité de la prise de vue, il faut connaître l’objectif de la caméra qui
va déterminer l’intensité de la lumière, sa trajectoire ou lentilleet la mise au point de l’image
ou la distance focale ou encore zoom. La lentille permet de converger les rayons lumineux
vers le capteur. La distance focale de l’objectif représente la distance qui sépare le point de
convergence de la lumière et le centre optique de l’objectif. Toutes ces notions doivent être
considérées pour minimiser les erreurs et pour avoir aussi une image de bonne qualité.
Notons que les appareils à vision nocturne ont besoin d’une lumière pour fonctionner.
Cette lumière va dépendre de leur sensibilité et de leurs performances. Pour certainecaméra, la
lumière résiduelle des étoiles peut suffire ; pour d’autres, une nuit de pleine lune peut offrir
une image acceptable. Pour notre cas, nous utilisons une caméra équipée d’une torche
infrarouge intégrée qui fonctionne comme une lampe de poche.
IV.6.2. Le Processing
C’est un environnement de création utilisant le code informatique écrit en java pour
générer des œuvres multimédias sur ordinateur. Il nous permet de manipuler les images, les
sons, les applications sur internet, les téléphones mobiles et surtout ce qui nous intéresse sur la
conception d’objets électroniques interactifs. Avec processing, on peut programmer des
circuits électroniques qui interagissent avec le milieu qui les entoure. Ce logiciel est libre et
gratuit, en plus il est multiplateforme fonctionnant sur Windows, Linux et Macos. En plus les
nombreuses petites bibliothèques externes nous permettent d’étendre notre imagination à
l’infini.
IV.6.3. La carte arduino
Le système arduino est un outil qui nous permet de créer des systèmes électroniques
plus ou moins complexes. C’est un projet qui a été créé par une équipe de développeurs,
composés de six personnes : Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino,
David Mellis et Nicholas Zambetti [13].
Notre choix s’est posé sur ce système poursa performance, de plus, il est un des moins
couteux. C’est une plate-forme gratuite et « open-source » qui est facile à manipuler. Son outil
de développement est aussi compatible avec Windows, linux et Mac. L’application avec
l’arduino est très vaste.
34
IV.6.4. Le logiciel Arduino
Le projet arduino est l’ensemble de développement matériel de la carte et de
développement de son environnement de programmation.
C’est une plate-forme open-source d’électronique programmée qui est basée sur une
simple carte à microcontrôleur. En plus c’est un logiciel libre et gratuit et qui peut fonctionner
sur le Linux, Windows et Mac.
IV.6.5. Le servomoteur
Un servomoteur est un type de moteur intégrant dans un même boîtier, la mécanique,
tel que, un moteur à courant continu,une réduction en sortie de ce moteur pour avoir du
couple, un potentiomètre qui induit une résistance variable en fonction de la position
angulaire de sortie, et le circuit électronique de contrôle simplifié, généralement asservi en
position par un correcteur PID. Il est très utilisé en robotique. On les utilise comme
actionneurs ou pour la motorisation des petits robots, éventuellement en modifiant leur
mécanique par l’intermédiaire d’un système de commande.
Il est caractérisé par sa vitesse de rotation en rad/s ou sec/60° et son couple.Il est
commandé en numérique par le microcontrôleur. Il suffit de lui envoyer une impulsion
logique dont la durée varie entre 1ms et 2ms.Cette impulsion est représentée par la figure 4.4.
La durée de l’impulsion définit la position du servomoteur, c’est à dire que si l’impulsion dure
1ms, il se déplace de -90° et si l’impulsion dure 2ms, il se déplace de +90°, si sa durée est de
1.5ms il se positionne au milieu ou à 0°.
Figure 4.4:Impulsion logique
35
Pour exploiter toute la puissance du servomoteur il est nécessaire de renvoyer la
commandetoutes les 20ms au maximum. La figure 4.5 représente l’impulsion de commande
d’un servomoteur.
Figure 4.5: Impulsion de commande du servomoteur
Nous avons vu dans ce chapitre la conception du système. Dans le chapitre suivant
nous allons parler de la modélisation.
36
Chapitre V. MODELISATION
Une modélisation s’impose pour bien mener la partie conception. Elle a pour but
d’étendre notre vision à partir d’un modèle. Nous allons modéliser chaque bloc de notre
système dans ce chapitre.
V.1. La détection de forme
Le contour de l’objet représente sa forme.La détection de contour consiste à réduire
l’information, à extraire la primitive nécessaire et à identifier les données biologiques. Il y a
plusieurs modèles qui sont la détection de contours par lissage [14], la détection de contour
par optimisation [15] et la détection de contours actifs.
La détection de contours par lissage ou Haralick, a pour but d’approximer localement
le signal discret formant l’image par une fonction dérivable, puis de dériver cette fonction.
La détection de contours par optimisation recherche directement dans l’image un
modèle de contour basé sur la séparation locale de l’image en deux zones homogènes [16]. La
méthode que nous allons utiliser est la détection de contours actif ou snake. Il consiste à
placer aux alentours de la forme à détecter une ligne initiale de contour. La ligne initiale va se
déformer progressivement en fonction des forces qui vont la tirer ou la pousser vers la forme.
Les forces en question sont l’énergie interne, l’énergie externe et l’énergie de contexte.
L’idée est de déplacer les points pour les rapprocher des zones de fort gradient tout enessayant
de conserver certaines caractéristiques comme la courbure du contour, la répartition des points
sur ce dernier, ou d’autres contraintes liés à la disposition des points [17].
L’énergie totale présente le long de la courbe a pour formule:E= Einterne + Eexterne(5.1)
L’énergie interne a pour formule : Einterne = Econtinuité + Ecourbure (5.2)
Econtinuitéconduit les points du contour à se positionner de manière à être équidistants et Ecourbure
a pour but d’éviter le contour isoléqui ne seraient pas cohérent avec la forme.
L’énergie externe prend en compte les caractéristiques des images traitées qui est
représentée par la formule suivante :Eexterne = Egradient (5.3)
Egradient est la dérivée première de l’image L’estimation du gradient est calculée à l’aide de
l’opérateur de Sobel [20] puis seuillée pour éliminer les contours non significatifs.
Pour mieux appréhender cette méthode voyons par l’algorithme de la figure 5.1les
étapes du traitement.
37
Figure 5.1: Algorithme de détection de contour
Ainsi initialement le contour est disposé uniformément ou non autour de l’objet à
détourner puis va se rétracter de manière itérative pour en épouser au mieux ses formes.
OUI
NON
OUI
Début
Prétraitement de la séquence d’images
Initialisation de la snake dans la première image de la séquence
Minimisation d’énergies et déplacement des points de snake
Initialisation automatique de snake dans l’image suivante
Stabilité des
points desnake
Dernière image de la séquence
Objet détecté
Fin
NON
38
V.2. La détection de visage
L’algorithme de SURF ou « Speeded Up RobustFeature » [18]est la méthode utilisée
pour la détection de visage qui est l’un des algorithmes le plus puissant existant actuellement
parmi tant d’autres pour la détection d’objet dans une scène. Le traitement se fait par la
détection de concordances de points ou « Feature Description ». L’algorithme ne varie pas
face à l’échelle et à la rotation. Il permet de détecter un objet dans une scène à partir d’une
image en mémoire de cet objet.
L’algorithme se constitue de plusieurs étapes.Le premier consiste à détecter les points-
clés dans l’image objet et dans l’image scène. Les points clés sont les coordonnées du point,
la taille, l’angle et l’octave. Ensuite, on calcule un descripteur qui est une valeur calculée sur
64 ou 128 éléments pour chaque point-clé de l’image objet et de l’image scène. Puis la
détection des concordances est obtenue par la différence de ces deux points clés. Et chaque
concordance se caractérise par l’index du point objet.
Après toutes les étapes, les concordances utiles significatives sont sélectionnées puis la
transformation de perspective entre l’objet de départ et l’objet dans la scène est analysée.
Enfin, quand toutes les analyses sont terminées, une identification peut être confirmée si le
nombre de points clés est supérieur ou égal à quatre.
V.3. Modélisation de la détection de mouvement
Les modèles à utiliser se basent sur la comparaison de pixel par pixel de deux images.
Les régions qui ont la grande différence sont les régions de l’objet mouvant. Pour cela nous
avons trois méthodes :la différence temporelle d’image,la méthode de double différence et la
méthode par soustraction de l’image du fond
• La différence temporelle des images consiste à détecter la région du
mouvement grâce à la différence de pixel de deux trames consécutives dans un flux vidéo.
Posons It l’image à l’instant t et It-1 l’image à l’instant t-1. L’objet du mouvement se compose
des pixels qui satisfont l’équation suivante :
max (|It(x,y)*c-I tm(x,y)*c|,c=(R,G,B) ) ≥seuil (5.4)
Avec Itm la moyenne des N dernières images à l’instant t et la moyenne des N images à
l’instant t+1 est donnée par :
I(t+1) m (x,y)*c = α It(x,y) * c + (1-α)Im(x,y) * c , c=( R,G,B) , où α ϵ (0,1). (5.5)
39
• La méthode de double différence temporelle des images et de caractère de
contour est un peu semblable avec la méthode précédente, au lieu de faire avec deux trames,
on utilise trois trames consécutives.
Soient It l’image à l’instant t, It-1 l’image à l’instant t-1 et It-2 l’image à l’instant t-2. Voici
l’équation qui doit être satisfaite pour savoir le mouvement :
I1(x,y) = max (|It(x,y) * c – It-1 (x,y) * c|, c=(R,G,B)) ≥seuil
I2(x,y) = max (|It-1(x,y) * c – It-2 (x,y) * c|, c=(R,G,B)) ≥seuil (5.6)
Irésultat (x,y) = I1 (x,y) I2 (x,y).
• La méthode par soustraction de l’image du fond consiste à détecter la région de
mouvement en faisant la soustraction pixel par pixel de l’image courante avec l’image de
fond. L’algorithme est le suivant.
Soient It l’image à l’instant t, Bt l’image de fond à l’instant t. Il faut vérifier l’équation:
max (|It(x,y) * c – Bt (x,y) * c|,c=(R,G,B)) >= St(x,y) (5.7) avec St(x,y) le seuil de la position
(x,y) à l’instant t. Cette méthode nous permet d’obtenir la forme complète de l’objet et de
compter exactement les objets en mouvement. A cause du changement de la lumière, il faut
remettre à jour aussi l’image de fond. Voici une façon simple de faire la mise à jour de
l’image de fond et la matrice de seuil selon YigithanDedeoglu.
9\/, 9, # 1 9, , , 9, # 1 9, , , 0 (5.8)
P9\/, P9, # 1 |9, 9, |, , P9, , 0 (5.9)
V.4. La localisation
L’étape suivante consiste à localiser l’objet mouvant dans notre champ de vision. S’il
est dans la zone de contrôle, on détermine la position et l’orientation relative entre la caméra
et l’objet.
Il y a beaucoup d’algorithme comme l’algorithme de région de confiance qui permet
de déterminer la direction de recherche, l’algorithme linéaire qui utilise un modèle affine de la
caméra [19]. Pour notre cas la méthode quasi linéaire est adéquate qui utilise un algorithme
itératif transformant le modèle affine en un modèle projectif. Le principe de l’algorithme est
le suivant.
40
Soient les équations :
xi(1+ϵi) – x0 = I
yi(1+ϵi) –y0 = J (5.10)
x0 et y0 sont les coordonnées de la position initiale de l’objet, xi et yi les coordonnées d’un
point Mi de l’objet.I et J sont des vecteurs qui sont définis par le rapport entre le paramètre de
rotation ri et le paramètre de translation ti. L’idée de base de l’algorithme est de trouver Єi qui
est l’estimation en itérant l’équation (5.10) jusqu’à l’obtention d’une solution stable. Le
principe de l’algorithme est donné par la figure 5.2.
Figure 5.2:Algorithme de la méthode quasi-linéaire
Début
Pour tout i, i ϵ 1…N. N ≥ 3, Єi= 0 ;
Estimer les vecteurs I et J
Calculer la position et l’orientation de l’objet par rapport à la caméra
Єi+1 - Єi = 0
Єi= jTO
9T , Єi+1 = jTO^
9T
i = i + 1 Fin
41
V.5. Extraction des caractéristiques
Dans cette étape, on extrait juste les éléments essentiels enfin de minimiser
l’information à traiter. Il existe trois étapes qui sont l’extraction des caractéristiques
topologiques, fonctionnelles et géométriques.
• Le principe de l’extraction des caractéristiques topologiques est d’isoler chaque
segment de la scène. Avec ce segment, on calcule le nombre de composantes connexes du
complément.
• L’extraction des caractéristiques fonctionnelles consiste à décomposer l’image
dans une base de fonctions orthogonales ou non. Le résultat obtenu est sous la forme d’un
développement en série, ensuite on prend les K termes. Prenons C un contour binaire d’une
image et Ck(xk,yk) le kème point de contour avec k=1,2,…..,N c’est-à-dire le contour compte N
points. On peut calculer les coordonnées du centre de gravité avec l’expression suivantes :
/ ∑ p , /
∑ p/p/ (5.11)
• L’extractiondes caractéristiques géométriques nous permet de connaître le
périmètre et la surface de l’objet. Ils dépendent de la distance de prise de vue ou de la distance
focale de l’objectif. La raison de son utilité est que la combinaison de périmètre et de surface
nous permet d’extraire la caractéristique sans se soucier de la translation, de la rotation ou de
l’homothétie. Cette combinaison est le rapport de finesse T = 4πY
² . (5.12)
V.6. Suivi du mouvement
Les modèles de suivi dépendent du contexte et utilisent des propriétés différentes. Il
est aussi valable pour notre cas car il peut y avoir plusieurs objets en mouvement dans notre
zone de contrôle.
Il existe plusieurs méthodes pour résoudre ce problème qui sont : la comparaison de la
taille de l’histogramme,le filtre de Kalman et la méthode de l’objet le plus proche.
• La comparaison de la taille de l’histogramme consiste à comparer la taille de
l’objet à l’instant t avec la taille de l’objet à l’instant t-1. Cette méthode est simple et rapide
mais inefficace face aux changements de vitesse. Onajoute alors l’histogramme pour le
résoudre. On compare ses histogrammes pour trouver la correspondance. L’algorithme est
présenté par la figure 5.4.
42
Figure 5.3: Algorithme de suivi d’un objet
• Le filtre de Kalman nous permet d’avoir un temps d’exécution rapide et de
résoudre le problème si l’objet mouvant change de direction. La méthode possède deux
étapes, la première étape est d’utiliser la position et la vitesse courante pour prévoir la
position dans l’image suivante. La seconde se faità partir de la position réelle et de la position
prévue corrigé pour avoir une position relative. Il vise à prévoir la position de l’image
suivante.
• Avec l’obtention des caractéristiques, le centre de l’objet, la taille de l’objet, la
méthode de l’objet le plus proche est utilisée aussi.Elle nous permet de prédire la nouvelle
position de l’objet et de rechercher l’objet le plus proche. Pour la prédiction, on réutilise la
première étape de la méthode de Kalman à l’instant t et on utilise la position de l’objet ainsi
que sa vitesse pour prévoir la position de l’objet à l’instant t+1. Concernant la deuxième
étape, l’algorithme est représenté par la figure 5.5 et la figure 5.6.
43
Figure 5.4: Algorithme de la deuxième étape de la méthode de l’objet le plus proche
44
Figure 5.5: Suite de l’algorithme de la deuxième étape de la méthode de l’objet le plus proche
V.7. Asservissement du moteur
Le but de la correction est de doter l’asservissement des qualités attendues, par le
calcul et l’implantation du correcteur nécessaire.
Il faut faire face aux situations suivantes :
• assurer une réponse acceptable pour des signaux de consigne définis en
fonction du temps.
• fournir des caractéristiques fréquentielles tel que gain et déphasage demandées
dans une bande de fréquences.
L’asservissement de moteur nous permet d’avoir plus de précision et aussi d’éliminer
les erreurs concernant l’angle de sortie. Ainsi on va faire la modélisation mathématique de
notre moteur électrique.
a) Calcul de la fonction de transfert
Un moteur électrique à courant continu est régit par les équations physiques découlant
de ses caractéristiques électriques, mécaniques et magnétiques. En utilisant le Théorème du
45
moment cinétique et des équations d’électromagnétique, on obtient le système d’équations
différentielles linéaires suivant:
4 74 # b4 # w LO9L9
74 4 (5.13)
l4 4
l4 lj kI4
I4
uétant latension appliquée au moteur
eétant la force électromotrice
i étant l’intensité traversant le moteur
étant la vitesse de rotation du rotor
cmétant le couple moteur généré
cr est le couple résistant
On en déduit le modèle de la figure 5.6dans le domaine de Laplace :
Figure 5.6: Schéma-bloc d’un modèle mathématique de moteur électrique
Dans la figure 5.7 : R représente la résistance aux bornes, L est l’inductance, Kcest la
constante de couple, Kereprésente la constante de vitesse et Jt est le moment d’inertie rapporté
au rotor.
La fonction de transfert associée à U(p) a pour formule :
cW vWiW
vm(p) Cm(p) U(p) +
-
1b # w8
Kc 1kW
Ke
I(p
+
- Cr (p)
46
Or:
lW vWkW
lW pa\8 iW pp|
a\8 vW (5.14)
Donc, on a
vWkW ub # wW iW uu
b # wW vW
y vW kW # pp|a\8 p
a\8 iW
y88
!¡8 \ |
cW
vWW u
b # wWkW # pp|a\8 u
b # wW !¡8 a\8\pp|a\8
cW pa!¡8 \!¡8²\pp| (5.15)
Elle possède les caractéristiques suivantes :
vWiW ¢
1 # £M W # /
MRW²
Avec :
¢ /| le gain statique du système
¤ a ¥ !¡
| le facteur d’amortissement
¥|!¡ lapulsation propre
47
V.8. Conclusion du mouvement
Ce bloc est notre pièce maitresse. Lorsqu’on a un ou plusieurs objets qui disparaissent
ou qui se mettent en pose durant une durée de temps assez grande dans la zone de contrôle, on
doit conclure de cet objet ou prendre une décision. Pour notre cas, nous allons détecter un
visage en pleine jour. Durant la nuit, nous allons détecter la présence de mouvementdans la
zone de contrôle.
Avec l’utilisation d’une simple webcam entrainée par un moteur pendant le jour,
quand un visage déjà inséré en avant est détecté par notre capteur alors on peut conclure que
le visage est identifié et on fait la poursuite.
Et avec l’utilisation de la webcam à vision nocturne, quand un mouvement est détecté
alors on peut conclure qu’il y a une intrusion.
On peut conclure que la modélisation du système est une étape très importante pour la
mise en place de notre projet. Nous allons voir la réalisation dans le chapitre suivant.
48
Partie III :SIMULATIONS ET REALISATION
Chapitre VI. SIMULATIONS
VI.1. Simulation du modèle MCC
Pour mettre en évidence le rôle du PID inséré dans le système, nous allons faire la
simulation au moyen du logiciel Matlab/simulink.
Le schéma sous simulink du MCC est donné par la figure 6.1.
Figure 6.1: Schéma sous simulink du MCC
Après la simulation, on a le résultat de la figure 6.2.
Figure 6.2: Réponse du système sans le contrôleur PID
Représente l’impulsion de commande
Représente la vitesse du moteur
49
En absence du correcteur, on constate qu’il y a une forte augmentation de la vitesse de
rotation du moteur durant les quatre premières périodes de l’impulsion, la vitesse n’évolue
pasen fonction de l’impulsion. Le système est alors complètement incontrôlable pendant cette
phase de retard.
VI.2. Simulation de l’asservissement PID du moteur
Le schéma sous simulink de l’asservissement en position du moteur est donné par la
figure 6.3.
Figure 6.3: Schéma sous simulink de l’asservissement en position du moteur avec PID intégré
VI.2.1. Réglage des paramètres PID
Dans toutes les figures qui représentent les résultats de la simulation :
Représente l’impulsion de commande
Représente l’angle de position du moteur
a) Influence de kp
Durant l’expérimentation, la valeur de ki et kd est maintenue à 0 et on varie la valeur de kp.
50
• Pour kp=30
Figure 6.4: Résultat de la simulation avec kp=30
Pour kp=30, d’après la figure 6.4, on constate que l’amplitude de la position du moteur
est très petite. La position du moteur est alors incontrôlable. On constate aussi que le système
n’est pas stable jusqu’à 0.06 s.
• Pour Kp=120
Figure 6.5: Résultat de la simulation avec kp=120
Si on augmente la valeur de kp, il y a une évolution de l’amplitude de l’angle de
position du moteur. On peut contrôler la position du moteur si kp est élevé. Mais le système
est instable jusqu’à 0.12s d’après la figure 6.5.
51
• Pour kp=140
Figure 6.6: Résultat de la simulation pour kp=140
La figure 6.6montre qu’une très grande valeur de kp entraine une forte oscillation du
moteur.
b) Influence de kd Les graphes suivants représentent l’influence de la variation du gain kd pour kp=120, et
ki=0.
• Pour kd=0.5
Figure 6.7: Résultat de la simulation avec kd=0.5
On constate que dans la figure 6.7, le système est stable dès l’apparition de la première
impulsion du signal de consigne.
52
• Pour Kd=3
Figure 6.8: Résultat de la simulation pou kd=3
Si on augmente la valeur de kd, même si la valeur de la consigne ne change pas, il
existe une oscillation de la position du moteur comme nous le voyons dans la figure 6.8. Le
système est alors instable.
• Pour Kd=0.02
Figure 6.9: Résultat de la simulation pour kd=0.02
Nous voyons dans le résultat de la figure 6.9 que si la valeur de kdest très petite, il
existe une phase d’instabilité avant d’atteindre l’oscillation normale du système.
c) Influence de ki
Nous avons constaté que le gain ki n’a pas d’influence sur l’asservissement en position
du moteur.
53
VI.2.2. Conclusion de l’expérimentation
On peut conclure que le correcteur P a pour effet d’augmenter le temps de stabilisation
du système. Si kpest très grande, l’amplitude de la position du moteur augmente.
Le correcteur dérivé élimine la phase d’instabilité du système mais si kd est très petit,
le système est toujours instable avant d’atteindre la phase de stabilité.
Le coefficient du PID acceptable est : kp= 120, kd =0.5 et ki=0. Nous voyons le résultat
dans la figure 6.7.
VI.3. Simulation de la carte arduino avec le logicielSimultorForArduino
Voici le schéma du circuit dessiné avec le logiciel fritzing
Figure 6.10:Brochage de la carte arduino avec les servomoteurs
La carte arduino sert à actionner les servomoteurs dans la position voulue, la
simulation est faite avec le logiciel SimulatorForArduino, qui permet de saisir un programme
et de voir le résultat de l’exécution
.
54
Figure 6.11: Simulation de la carte arduino avec le logiciel SimulatorForArduino
La section n°1 permet de faire la saisie du programme à intégrer dans la carte.
La section n°2 sert à visualiser le résultat de l’angle à envoyer au servomoteur.
La section n°3 montre les broches de la carte activée avec l’angle pour contrôler le
servomoteur. Les résultats obtenus permettent de minimiser les erreurs et donnent aussi un
aperçu du fonctionnement des matériels.
Nous avons présenté durant ce chapitre les simulations. Nous allons voir dans le
chapitre suivant la réalisation.
55
Chapitre VII. REALISATION
La mise en pratique consiste à vérifier la faisabilité du projet et à tester la fiabilité du
système sur le terrain. Nous allons la détailler dans ce chapitre.
VII.1. Le circuit du montage
La figure 7.1 représente le circuit de notre montage.
Figure 7.1:Schéma de principe du montage
VII.2. Fonctionnement du montage
La structure de notre système est représentée par la figure 7.1. Notre objectif est de
faire une interprétation à partir d’un capteur de vision dans un milieu spécifique.
Voyons les procédés de fonctionnement du montage. A partir de l’interface de
processing, on récupère le flux vidéo capturé par la webcam de manière indépendante. Après
la récupération, il procède à la phase de traitement de l’image qui va assurer la reconnaissance
de la forme d’une personne et l’identification d’un visage et d’une arme déjà insérésdans la
base de données via la page web. Ensuite le programme réalise l’extraction de la position de
la forme dans l’image, l’étude se base au besoin sur plusieurs images successives pour
moyenner la position de l’objet et s’affranchir du flou lié au déplacement de la webcam.
56
Quand on obtient la position de l’objet, le processing envoi sur le port série une chaîne
de caractères sous formeSerial.write(x) où x est la valeur de l’angle de positionnement relatif
du servomoteur et il écrit les positions détectées dans un fichier texte. Après, le programme
arduino analyse la chaine reçue et en extrait la valeur d’angle à partir de la chaine récupérée
pour chaque servomoteur.La carte arduino capte et transforme la chaîne de caractères pour
faire actionner notre servomoteur dans la position voulue. Le résultat peut être visualisé
localement ou à distance.
VII.3. Matériels et Outils Utilisés
VII.3.1. Le langage web
Nous avons utilisé trois langages web. Le premier est le langage de balisage HTML
[20] qui est l’origine des pages du Word Wide Web ou WWW. Le langage de script PHP
[21]va rendre dynamique l’interface web et permet de se communiquer avec la base de
donnée grâce à MySQL [21]. Le SQL aussi est utilisé [22]. Il est un langage complet de
gestion de base de données relationnelle.
VII.3.2. La caméra
Nous avons deux caméras qui ont chacune un rôle différent, l’une va nous servir pour
la détection pendant le jour et l’autre va fonctionner durant la nuit. Le schéma de la caméra
est montré par la figure 7.2.
Figure 7.2: Schéma de la caméra
Concernant la fiche technique de la caméra, elle est équipée de capteurs de luminosité
permettant d'adapter automatiquement la cellule optique CMOS à la clarté ambiante et d'un
microphone intégré nous permettant d'ajouter le son à l'image. La Caméra est montée sur
rotule pivotable sur 360°, équipée de 2 connecteurs USB type A male et Jack 3.5 qui est un
57
câble en Y de 15cm. Sa résolution est de 160x120, 176x144, 320x240, 352x288, à 30fps et
640x400 à 15fps. Elle a une dimension de: 36mmx78mmx40mm.L’Ouverture maximale de la
pince de fixation est de25mm.
VII.4. Le Logiciel Processing
Le logiciel Processing est un langage de programmation et un environnement de
développement, qui a été créé par Benjamin Fry et Casey Reas en 2001 [23][24]. Il est basé
sur le langage JAVA. Il est alors multiplateforme. La version que nous allons utiliser est la
version 2.0.1.
VII.5. La carte Arduino et le servomoteur
Nous allons utiliser la carte Arduino UNO R3 et deux servomoteurs tels que le micro
servo module TinkerKit et le servomoduleTinkerkit 360pour faire notre réalisation.
58
VII.6. Résultats de la réalisation
La représentation finale de notre système est la suivante:
Figure 7.3:Représentation de la réalisation
Espace de stockage
Image à analyser
Fichier.txt
Poursuite de la cible par les servomoteurs
59
VII.6.1. Détection de visage
La première étape est une interface créée et qui peut être visualisée avec un navigateur
web distant ou local. Elle permet de faire l’interaction avec l’utilisateur et le serveur.
L’utilisateur a pour rôle d’insérer une image et les informations la concernant dans le
système. Cette image est stockée dans la base de données grâce à WampServer.
Ensuite, processing va sélectionner les images dans la base de données pour être
analysées, il va se connecter avec la base de données pour extraire les informations à utiliser.
Une fois que la connexion est établit, l’étude de la détection peut être faite. Nous voyons le
résultat de la détection de visage dans la figure 7.7 et dans la figure 7.8.
Figure 7.4: Détection d’un visage dans la zone de contrôle sans objet
Lafigure7.4montre le résultat de l’analyse fait avec l’algorithme SURF.
Les points jaunes représentent tous les points clés de l’image dans la zone de contrôle,
les points bleus montrent les descripteurs pour chaque point clé de l’image objet et de l’image
scène, le descripteur est une valeur calculée sur 64 ou 128 éléments.
60
La ligne verte va faire la détection des concordances entre les descripteurs des points-
clé de l'image objet et de l'image scène. Après calcul du code d’identification noté CI c’est-à-
dire la détection d’au moins quatre descripteurs, l’objet est identifié par le système.
Figure 7.5: Détection d’un visage dans la zone de contrôle avec objet
Pour le cas de la figure 7.8, la CI est supérieure à quatre, l’image est identifiée.
D’après l’étude théorique et les analyses, le taux de détection est de 85%.
Malgré le taux de reconnaissance, le système de détection a aussi une contrainte sur la
luminosité. Cette contrainte peut provoquer une fausse détection.
VII.6.2. Détection de mouvement et de la forme d’une personne
Comme le cas de la détection de visage, le système peut reconnaitre aussi une
personne sans prendre en compte les profils. Il considère la forme et le mouvement. La
figure7.6 représente le résultat de la détection de mouvement et la figure 7.7 représente ce de
la forme d’une personne.
61
Figure 7.6:Détection de mouvement pour un seuil = 100
Les zones en rouge représentent la zone en mouvement. La méthode de calcul utilisée
est la soustraction de l’arrière-plan.
Figure 7.7: Détection de la forme d’une personne
Le rectangle en rouge représente la zone où la personne a été détectée.
Durant la réalisation de ce projet, nous avons rencontré beaucoup de contraintes
comme la luminosité et la distance entre l’objectif et le capteur. Mais l’utilisation de plusieurs
algorithmes et des matériels un peu avancés, nous a permis de minimiser le taux d’erreur. Par
constat, il faut bien choisir l’environnement d’utilisation.
62
CONCLUSION
La vision artificielle permet de détecter un objet spécifique, de reconnaître un objet et
d’extraire les caractéristiques d’un objet d’intérêt. Elleréagit en fonction des connaissances
recueillies.
L’asservissement est l’art de constater, de calculer et de bien doser la commande d’un
système pour atteindre un but précis. Il consiste à atteindre un état souhaité à partir de l’état
actuel du système. Le problème principal est de savoir comment choisir le régulateur ou le
correcteur à utiliser.
Nous avons utilisé la commande PID, en effet, il se trouve qu’intégrer un régulateur
PID dans un système offre plus d’avantage de rapidité en réponse grâce à la simplicité de son
algorithme d'intégration qui ne nécessite point un temps de calcul conséquent.
La mise en place des algorithmes et des méthodes de calcul nous aident à implémenter
la détection et la poursuite d’un objet dans le système.
Tout au long de ce travail, nous avons rencontré de nombreux problèmes, notamment
sur la mise en œuvre de la vision et la vérification des résultats. Nous avons pu résoudre
quelques-uns durant la réalisation de ce projet. Nous constatons aussi que la vision par
ordinateur offre une nouvelle approche pour résoudre des problèmes importants dans la
société.
Ainsi la détection d’objet et de mouvement et la poursuite constitue un pas pour
l’amélioration du domaine de la sécurité,de la robotique et de la domotique.
63
ANNEXE I : LA CARTE ARDUINO
La carte arduinojoue le rôle de la carte d’interface qui lie l’ordinateur avec les
matériels. Nous voyons le schéma de montage de la carte arduino dans la figure A.1.
Figure A.1: Schéma de montage de la carte arduino
a. Les différentes versions de la carte arduino
• La Duemilanove est la version de base créée en Italie en 2009. Il utilise le
microcontrôleur ATmega328 ;
• La Diecimila qui utilise le microcontrôleur ATmega168 ;
• La carte ArduinoMega qui est basée sur l'ATmega1280.
b. La carte arduino UNO R3
Le schéma de la carte arduino UNO R3 est représenté par la figure A.2.
64
Figure A.2: Schéma de la carte Arduino UNO R3 [25]
65
Ses caractéristiques techniques sont décrites dans le tableau I.
Microcontrôleur ATmega328
Tension de travail 5V
Tension d’entrés (recommandée) 7-12V
Tension d’entrée (limites) 6-20V
Broches d’E/S numériques 14(dont 6 avec Sortie PWM)
Broches d’entrée analogiques 6
Intensité de courant par broche d’E/S 40 mA
Courant broche 3.3V 50 mA
Mémoire Flash 32 KB (ATmega328) dont 0.5 KB utilisés par le bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Vitesse d’Horloge 16 MHz
Tableau I: Caractéristiques techniques de la carte Arduino UNO R3
66
ANNEXE II : LE MICRO SERVO MODULE TINKERKIT ET LE S ERVO MODULE TINKERKIT 360
Ce sont des servomoteurs en rotation continue qui sont idéals pour actionner la
rotation de la caméra. Chacun est composé d’un moteur électrique lié à un potentiomètre et le
circuit électronique à l’intérieur transforme la largeur de l’impulsion PWM en position
physique. Lorsque le servomoteur est commandé, le moteur sera actionné jusqu’à atteindre la
valeur du potentiomètre correspondante à la position demandée. Le micro Servo module
TinkerKit est présenté par la figure A.3 et le servo module Tinkerkit 360 est présenté par la
figure A.4.
Figure A.3:Schéma du micro servo module Tinkerkit
Les caractéristiques techniques du micro servo module Tinkerkit sont données par le tableau II
Modulation Analogique
Force 5V (1.00 Kg.cm)
Vitesse 5V 0.12 sec/60°
Poids 9g
Dimension L 22.2mn/W 11.6mm/H 21.5mm
Angle de rotation 180°
Connectique Connecteur type Tinkerkit 3 points
Tableau II: Caractéristiques techniques du microservo module Tinkerkit
67
Figure A.4:Schéma du servo module Tinkerkit 360
Les caractéristiques techniques du servo module Tinkerkit 360 sont données par le tableau III.
Modulation Analogique
Force 5V (3.30 Kg/cm)
Vitesse 5V 0.17 sec/60°
Poids 44g
Dimension L 42mn/W 20.5mm/H 39.5mm
Angle de rotation 360°
Connectique Connecteur type Tinkerkit 3 points
Tableau III: Caractéristiquestechniques du servo module Tinkerkit 360
68
REFERENCES
[1] E435, Mesures des Grandeurs et Capteur, 4 e année, ESPA, 2010-2011
[2] « analyse d’image », http:// www.devernoy.free.fr
[3] « Traitement d’image en niveau de gris », http:// www.sebastien.mavromatis.free.fr
[4] « Notion de traitement et d’analyse d’image », http:// www.foad.refer.org
[5] « Traitement d’image et concepts fondamentaux », http:// www.nguyen.univ-tln.fr
[6] « Détection et suivi d’objets en mouvement dans des scènes complexes : Application à la
surveillance des conducteurs », Aurélie Bugeau
[7] « Estimation du mouvement dans la séquence d’image », Antoine MANZANERA
[8] « Reconnaissance et suivi d’objet temps réel », Thierry CHATEAU
[9] E420, SALC, 4 e année, ESPA, 2010-2011
[10] « Asservissement linéaire continu », http:// www.pauillac.inria.fr
[11] E323, Electrotechnique, 3èannée, ESPA, 2009-2010
[12] « Machines électriques », http:// www.mach.elec.free.fr
[13] « Arduino pour bien commencer en électronique et en programmation »,
http:// www.club-elec.fr
[14] « Détection de contour », Alain Boucher
[15] « Une approche de détection de contour basée sur la métalheuristique OEP »,
SafiaDjemame et MouhamedBatouch
[16] « Vision par ordinateur : outils fondamentaux », Radu-HORAUD et Olivier MONGA
[17] « Méthode de contour actif », Pierre Scwartz
[18]«Speeded-Up Robust Features (SURF) », Herbert Bay, Andreas Ess, TinneTuytelaars,
and Luc Van Gool
[19] « Vision par ordinateur outils fondamentaux », Radu HORAUD et Olivier MONGA
[20] « Apprenez à créer votre site web avec HTML5 et CSS3 », Mathieu Nebra.
[21]« Concevez votre site web avec PHP et MySQL », Mathieu Nebra
[22] « Langage SQL », Richard Grin
[23] « A propos de Processing », http://arts-numeriques.codedrops.net
[24] « learing», http://www.processing.org
[25] http://www.arduino.cc/en/uploads
Auteur :ZAFIMANDIMBISOA Nirina
Titre : « Développement d’un système de détection et de suivi d’un mouvement »
Date : 25 Septembre 2013
Nombre de pages :68
Nombre de tableaux : 3
Nombre de figures :51
Résumé : Cette étude intitulée « Développement d’un système de détection et de suivi
d’un mouvement » consiste à créer un système capable de détecter le visage
d’une personne et un mouvement dans un milieu défini et de faire la poursuite.
Pour cela, un système constitué de deux webcams entrainées par un
servomoteur chacun et d’un logiciel traitant les vidéos a été mis en place. Le
servomoteur sera piloté par une carte arduino et il est asservi en position par un
contrôleur PID. Des concepts relatifs au traitement d’images, notamment
l’acquisition et la poursuite ont été appréhendés. L’objectif est de concevoir un
système robuste et fiable en matière de sécurité et d’identification.
Mots-clés : vision,forme, mouvement, poursuite, image, servomoteur, détection, arduino,
processing.
Rapporteur : Monsieur RATSIMBA Mamy Nirina
Adresse de l’auteur : Lot IB1 Ambonin’Anosy Fianarantsoa
e-mail: nirina.dimby @ yahoo.fr.