Difference between revisions of "PAGE WIKI ETUDIANTS 2012-13 RECONNAISSANCE FACIALE"

From air
Jump to navigation Jump to search
Line 141: Line 141:
   
 
Pour configurer codeblocks, nous avons suivi ce tutoriel : http://opencv.willowgarage.com/wiki/CodeBlocks
 
Pour configurer codeblocks, nous avons suivi ce tutoriel : http://opencv.willowgarage.com/wiki/CodeBlocks
  +
  +
Afin que chacun puisse installer sa librairie openCv où bon lui semble, nous avons décidé de configurer chacun notre CodeBlocks. La démarche suivie est la suivante :
  +
  +
* Menu "settings" / "Compiler"
  +
* Onglet "search directories"
  +
* Dans le sous onglet "Compiler", spécifier le dossier include de notre openCv recompilé
  +
* Dans le sous onglet "Linker", spécifier le dossier lib de notre openCv recompilé
  +
* Aller dans l'onglet "linker settings" et ajouter toutes les libraies .dll.a contenues dans le dossier lib.
  +
* Inclure le dossier bin de notre openCv recompilé dans la variable système PATH (nécessite peut être un redemmarrage)
  +
  +
Après ces étapes nous pouvons inclure les librairies openCV dans n'importe quel projet Codeblocks.

Revision as of 15:43, 19 February 2013

Description du projet

Le principe est de permettre d'authentifier un utilisateur, c'est-à-dire vérifier qu'il est bien celui qu'il dit être.
Scénario type : Un utilisateur se présente au système et veut accéder à des données, des informations. Le système détecte le visage de l'utilisateur et analyse la situation. Il répond alors de 2 manières possibles :

  • OUI : l'utilisateur est bien celui qu'il prétend être
  • NON : la personnne est un imposteur

Composition de l'équipe

Chef de projet : Camille OSWALD
Equipiers :

  • Marie CHEVALLIER
  • Fabien ELOY
  • Christopher GNATTO
  • Maxence RAOUX
  • Sylvain VIGIER
  • Clément WIRTH

Gestion du projet

Grands temps de développement du projet
Apprentissage Détection Technologie Sous-équipe Etat
Base de données X - ? Fabien & Christopher & Sylvain En cours
Acquisition de données X X OpenCV - Fait
Détection de visages X X OpenCV Marie & Maxence & Camille & Clément En cours
Identification - X OpenCV - A faire
Documentation - - - Chacun sa partie A faire
Interface - - ? Les premiers ayant fini A faire

Technologies et matériel utilisés

Chronologie de développement

1) Détection avec quelques images en base

  • Nous commençons par élaborer un modèle avec une petite base pour nous permettre de faire des tests. Nous agrandirons la base pour davantage de tests par la suite.
  • L'acquisition des données de la webcam est très facilement gérée par OpenCV
  • La détection de visage se base sur la méthode de Viola et Jones, aussi géré par OpenCV
  • Se focaliser sur la phase critique : l'identification de visages

2) Gérer la phase d'apprentissage du système
3) optimiser le système (statistiques, réglage du seuil,…)

Fonctionnement du projet

Utilisation de la librairie OpenCv

Comme ce projet nécéssitait l'utilisation d'une kinect, nous avions décidé de développer sous Windows.

Nous avons donc tout d'abord essayé d'utiliser Visual Studio pour développer notre projet. Par la suite, nous avons choisi de passer par un autre éditeur : Codeblocks.

1) Utilisation de Visual Studio (2012)


Problèmes rencontrés :

  • Difficulté de comprendre le fonctionnement du compilateur de visual studio, notamment lorsqu'il faut ajouter de nouveaux fichiers
  • Problème lors du fonctionnement des objets utilisés par opencv (Exception au lancement, ou détection des visages non effectuées).

2) Utilisation de Code Blocks

Pour une meilleure compréhension et un projet fonctionnant sur des machines différentes avec des librairies qui ne sont pas installées aux mêmes endroits, nous avons choisi de porter le projet sur codeblocks.

Dans ce projet, nous avons utilisé Codeblocks 12.11 avec MinGW inclu (version 4.7.1).

Compilation de la librairie OpenCv

Afin d'éviter les problèmes d'utilisation de la librairie, il était nécessaire de recompiler la librairie avec le même compilateur que nous utilisons pour notre projet (ici MinGW fourni avec CodeBlocks).

Pour compiler la librairie, nous avons utilisé l'utilitaire Cmake.

Les fichiers de configurations de Cmake étant déjà fourni avec opencv (fichiers CMakeLists.txt), son utilisation devient très simple. Nous avons suivi le tutoriel ci-dessous :


  • Lancement de Cmake-gui
  • Dans le champs Source Code, spécifier le chemin de la librairie openCv (exemple : C:\opencv-2.4.3)
  • Dans le champs build, mettre le chemin ou la librairie compilée sera enregistrée (exemple : C:\openCV-build)
  • Cliquer ensuite sur configure (créer le nouveau dossier)
  • Spécification du générateur : MinGW Makefiles
  • Sélectionner "Specify native compilers"
  • Définir le compilateur C (ex : C:/Program Files/CodeBlocks/MinGW/bin/gcc.exe)
  • Définir le compilateur C++ (ex: C:/Program Files/CodeBlocks/MinGW/bin/g++.exe)
  • Cliquer sur Finish
  • Cliquer sur generate
  • Fermer Cmake
  • Ouvrir une fenêtre de commande et aller dans le dossier que vous avez spécifié dans le champs build (ici : C:\openCV-build)
  • Executer "mingw-32make" (prend du temps et nécessite peut être d'avoir le répertoire bin de MinGW dans le PATH)
  • Enfin executer "mingw32-make install"


Configuration de codeblocks

Pour configurer codeblocks, nous avons suivi ce tutoriel : http://opencv.willowgarage.com/wiki/CodeBlocks

Afin que chacun puisse installer sa librairie openCv où bon lui semble, nous avons décidé de configurer chacun notre CodeBlocks. La démarche suivie est la suivante :

  • Menu "settings" / "Compiler"
  • Onglet "search directories"
  • Dans le sous onglet "Compiler", spécifier le dossier include de notre openCv recompilé
  • Dans le sous onglet "Linker", spécifier le dossier lib de notre openCv recompilé
  • Aller dans l'onglet "linker settings" et ajouter toutes les libraies .dll.a contenues dans le dossier lib.
  • Inclure le dossier bin de notre openCv recompilé dans la variable système PATH (nécessite peut être un redemmarrage)

Après ces étapes nous pouvons inclure les librairies openCV dans n'importe quel projet Codeblocks.