Conclusion
Nous avons présenté un ensemble de
matériel nécessaires à l'implémentation
d'algorithmes en traitement d'image en général et de
détection de mouvement en particulier. Ce matériel se
résume en deux outils, à savoir, l'environnement de
développement intégré (EDI) CodeBlock, la
bibliothèque Open CV qui sont tous deux de licence libre. Nous avons
proposé aussi une configuration de l'EDI CodeBlock afin de permettre son
interopérabilité avec Open CV. Dans le chapitre suivant nous
implémentons pratiquement les modèles de détection de
mouvement retenu (voir chapitre 3)
47
Chapitre 5 : Implémentation et Discussions sur
les résultats
L'expérimentation présente un grand
intérêt pour le présent travail de recherches. En effet,
l'algorithme de mise en correspondance entre les points d'intérêt
des différentes images, la détection de mouvement sont
basés sur une étude théorique, dont il est
nécessaire de situer la validité et la robustesse par
expérimentation.
5.1. Implantation logicielle
À l'usage, certaines particularités de la
méthode de base ont pu être simplifiées, notamment pour les
seuils de détection. En effet, il est courant d'utiliser une valeur
d'écart-type pour chaque pixel et pour chaque canal de l'image.
Cependant, des expérimentations ont démontrées que
l'utilisation d'un écart-type global pour chacun des canaux ne
dégradait nullement les résultats obtenus. En pratique ces
valeurs sont calculées à l'aide de la moyenne des
écarts-types de chaque canal correspondant. Cette simplification est
utilisée dans notre implémentation, représentant donc une
légère économie d'espace et d'accès mémoire
lors de la phase d'extraction du mouvement.
5.1.1. Interface
Afin d'interagir avec la classe, plusieurs fonctions
d'interface ont été créées. La liste suivante
résume les principales fonctions publiques accompagnées d'une
courte description pour chacune d'elle :
- init : Initialisation des
différents compteurs, accumulateurs et modèles nécessaires
à l'exécution des algorithmes ;
- update : Mise à jour du
modèle statistique. Cette fonction dépend essentiellement de
l'état du modèle statistique, c'est-à-dire du niveau
d'avancement de celui-ci. Le traitement exécuté dépend du
nombre d'images d'initialisation ajoutées au modèle et est
déterminé automatiquement lors de l'appel de la fonction. Les
deux modes sont :
? Modèle non complet : l'image d'entrée est
ajoutée aux différents accumulateurs et le compteur d'images
d'initialisation est incrémenté ;
? Modèle initialisé : le modèle
statistique de l'arrière-plan est modifié en ajoutant une
fraction des pixels statiques de l'image d'entrée;
- getMask : Extraction du masque des
pixels en mouvement;
48
- getForeground : Extraction de
l'avant-plan (ou pixels en mouvement). Cette opération implique un
calcul du masque du mouvement;
- getBackground : Extraction de
l'arrière-plan. En pratique, le modèle statistique
est simplement converti et copié dans l'image
passée par référence à la fonction ; -
reset : Réinitialisation des variables membres, compteurs,
modèles, etc. afin de
démarrer une nouvelle soustraction de
l'arrière-plan.
|