D veloppement d'un syst me de d tection et de suivi d'un mou

82
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 D SYSTEME D SYSTEME D SYSTEME DE E E E détection et détection et détection et détection et de suivi d’un mouvement de suivi d’un mouvement de suivi d’un mouvement de suivi d’un mouvement

Transcript of D veloppement d'un syst me de d tection et de suivi d'un mou

Page 1: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 2: D veloppement d'un syst me de d tection et de suivi d'un mou
Page 3: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 4: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 5: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 6: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 7: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 8: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 9: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 10: D veloppement d'un syst me de d tection et de suivi d'un mou

vii

LISTES DES NOTATIONS

I: Image Jt: moment d’inertie La : inductance d’induit Ra : Résistance d’induit

Page 11: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 12: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 13: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 14: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 15: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 16: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 17: D veloppement d'un syst me de d tection et de suivi d'un mou

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].

Page 18: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 19: D veloppement d'un syst me de d tection et de suivi d'un mou

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é

Page 20: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 21: D veloppement d'un syst me de d tection et de suivi d'un mou

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 #

Page 22: D veloppement d'un syst me de d tection et de suivi d'un mou

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]

Page 23: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 24: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 25: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 26: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 27: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 28: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 29: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 30: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 31: D veloppement d'un syst me de d tection et de suivi d'un mou

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)

Page 32: D veloppement d'un syst me de d tection et de suivi d'un mou

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)

Page 33: D veloppement d'un syst me de d tection et de suivi d'un mou

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

:

Page 34: D veloppement d'un syst me de d tection et de suivi d'un mou

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)

Page 35: D veloppement d'un syst me de d tection et de suivi d'un mou

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)

Page 36: D veloppement d'un syst me de d tection et de suivi d'un mou

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].

Page 37: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 38: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 39: D veloppement d'un syst me de d tection et de suivi d'un mou

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)

Page 40: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 41: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 42: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 43: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 44: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 45: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 46: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 47: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 48: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 49: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 50: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 51: D veloppement d'un syst me de d tection et de suivi d'un mou

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)

Page 52: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 53: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 54: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 55: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 56: D veloppement d'un syst me de d tection et de suivi d'un mou

43

Figure 5.4: Algorithme de la deuxième étape de la méthode de l’objet le plus proche

Page 57: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 58: D veloppement d'un syst me de d tection et de suivi d'un mou

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)

Page 59: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 60: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 61: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 62: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 63: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 64: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 65: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 66: D veloppement d'un syst me de d tection et de suivi d'un mou

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

.

Page 67: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 68: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 69: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 70: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 71: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 72: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 73: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 74: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 75: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 76: D veloppement d'un syst me de d tection et de suivi d'un mou

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.

Page 77: D veloppement d'un syst me de d tection et de suivi d'un mou

64

Figure A.2: Schéma de la carte Arduino UNO R3 [25]

Page 78: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 79: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 80: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 81: D veloppement d'un syst me de d tection et de suivi d'un mou

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

Page 82: D veloppement d'un syst me de d tection et de suivi d'un mou

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.