Cam detection fr .pdf



Nom original: Cam_detection_fr.pdfTitre: Microsoft Word - Cam_detection_fr.docxAuteur: EPITECHMots-clés: robot détection visage

Ce document au format PDF 1.4 a été généré par PScript5.dll Version 5.2 / Acrobat Distiller 7.0 (Windows), et a été envoyé sur fichier-pdf.fr le 28/07/2009 à 12:42, depuis l'adresse IP 79.94.x.x. La présente page de téléchargement du fichier a été vue 2373 fois.
Taille du document: 1 Mo (13 pages).
Confidentialité: fichier public


Aperçu du document


POB TECHNOLOGY

DETECTION DE VISAGE PAR WEBCAM

Juillet 2009 | POB Technology

Page |2

INFORMATIONS LEGALES

Entreprise
Type
SIRET
APE

POB-Technology
SARL
483 594 386 000 28
742C

CONTACTS

Adresse

POB-Technology
11, avenue Albert Einstein
69 100 VILLEURBANNE
FRANCE
contact@pob-technology.com
+33 (0)4 72 43 02 36
+33 (0)4 83 07 50 89

Adresse mail
Téléphone
Fax

GESTION DU DOCUMENT

Nom de Fichier
Date de création
Auteur
Modification

Cam_detection_fr.pdf
28/05/2009
Romain Etchegoyhen – Rémi Bruyas
Alisson Foucault
09/07/2009

POB TECHNOLOGY – Tous droits réserves

Page |3

TABLE DES MATIERES

1. Présentation ............................................................................................ 4
1.1 Généralités ................................................................................................. 4
1.2 Outils nécessaires..................................................................................... 4
2. Connexion et mise en route ............................................................ 5
2.1 Dual-POB et PC ....................................................................................... 5
2.2 Dual-POB et servomoteurs ................................................................... 5
2.3 Webcam et PC.......................................................................................... 5
3. Annexe : code & ressources ............................................................. 6
3.1 Programme d’exécution DUAL-POB................................................... 6
3.2 Programme de détection faciale ............................................................ 7

POB TECHNOLOGY – Tous droits réserves

Page |4

1. PRESENTATION
1. 1 GÉNÉRALITÉS
Ce document vous présentera une manière originale d’utiliser votre Dual-POB combinée à deux servomoteurs
et une webcam. Vous serez guidés pas à pas afin de concevoir une webcam qui détectera et suivra vos visages.
Ci-dessous vous trouverez la liste des programmes nécessaires à cette réalisation.

1.2 OUTILS NÉCESSAIRES

Afin de concevoir votre webcam mobile, il vous faudra vous doter d’un Dual-POB, de deux servomoteurs,
Coté logiciel, POB-tools, le driver de votre webcam, ainsi que l’exécutable fournit suffiront à une exécution de
la détection. Pour la modifier et concevoir votre propre programme d’animation des servomoteurs, d’autres
logiciels seront nécessaires, tels que OpenCV et Visual Studio. La grande majorité de ce matériel se trouve très
facilement sur notre site commercial robot-advance ( http://www.robot-advance.com/FR/).

AF

POB TECHNOLOGY – Tous droits réserves

Page |5

2. CONNEXION
Cette partie du document vous aidera à connecter et charger les programmes nécessaires à l’utilisation de
notre webcam animée.

2.1 DUAL-POB ET PC
Afin de charger votre programme sur votre Dual-POB, connectez votre Dual-POB à votre PC via le câble miniUSB. Une fois votre carte alimentée et connectée, utiliser l’outil d’upload Dual-POB pour charger le
programme Cam-detection.hex fournit.

2.2 DUAL-POB ET SERVOMOTEURS
Les servomoteurs animant votre webcam doivent être lié à votre Dual-POB selon le schéma suivant :

2.3 WEBCAM ET PC
Prenez soin d’avoir installé les pilotes de votre webcam lors que vous tenterez de l’utiliser. Si vous n’avez plus
le cd-rom d’installation, vous pourrez retrouver vos pilotes sur le site constructeur, ou encore en suivant
l’assistant de configuration windows. Une fois les pilotes installés, vous pouvez connecter votre webcam au PC
via son câble USB.
Il ne vous reste plus qu’a lancer l’exécutable (FaceDetection.exe), et votre Webcam détectera et suivra vos
visages !

POB TECHNOLOGY – Tous droits réserves

Page |6

3. ANNEXE: CODE & RESSOURCES
Vous trouverez dans cette partie tout ce qui est propre au code source des programmes utilisés, ainsi que les
outils nécessaire à leur conception, voir amélioration.
Remarque : Attention, le code à été conçu sous Visual Studio, logiciel sous licence. Ce qui suit se reposera
donc sur une modification du code via Visual Studio uniquement.

3.1 PROGRAMME D’EXECUTION DUAL-POB

int main()
{
UInt8 defDirHB = 180, defDirDG = 92;
UInt8 DirHB = 0, DirDG = 1;
unsigned char buffer[4], value[2];
SetIOWay(IO_AS_DEFAULT, IO_AS_DEFAULT, IO_AS_DEFAULT, IO_AS_DEFAULT);
InitUART0(115200);
InitDualServo();
// 200 is top - less then 200 goes down, more goes up
// 125 is max down, 225 is max up
SetServo(DirHB, defDirHB, 7);
// 92 is front - less than 95 turns right, more turns left
// 0 is max right, 200 is max left
SetServo(DirDG, defDirDG, 7);
while(1)
{
GetBufferFromUART0(&buffer[0], 3);
buffer[3] = '\0';
if (strcmp((const char *)buffer, "CDG") == 0)
{
GetBufferFromUART0(&value[0], 1);
value[1]= '\0';
defDirDG = (int)value[0];
SetServo(DirDG, defDirDG, 7);
}
else if (strcmp((const char *)buffer, "CUP") == 0)
{
if (defDirHB > 223)
{
defDirHB = 225;
SetServo(DirHB, defDirHB, 7);
}
else
{
defDirHB = defDirHB + 2;
SetServo(DirHB, defDirHB, 7);
}
}
POB TECHNOLOGY – Tous droits réserves

Page |7

else if (strcmp((const char *)buffer, "CDO") == 0)
{
if (defDirHB < 127)
{
defDirHB = 125;
SetServo(DirHB, defDirHB, 7);
}
else
{
defDirHB = defDirHB - 2;
SetServo(DirHB, defDirHB, 7);
}
}
}
return 0;
}

3.2 PROGRAMME DE DETECTION FACIALE
L’exécutable FaceDetection.exe à été conçu sous Visual Studio avec une librairie OpenCV (Open Source
Computer Vision). Il s’agit d’une bibliothèque développée par la société Intel, qui propose un ensemble d'objets
et de fonctions en C/C++ liés à la détection par ordinateur. Elle est gratuite et multi plateformes.
Vous pouvez télécharger à partir de ce lien : OpenCV et vous trouverez la documentation à cette adresse :
http://www.cognotics.com/opencv/docs/1.0/index.html.

INSTALLATION & CONFIGURATION

Une fois sur le site, il vous suffit ensuite de télécharger opencv-win, la suite se déroule comme pour toutes les
installations sous Windows : lancez l'installeur, et laissez-vous guider. Une fois l’installation d’OpenCV
complète, lancez Visual Studio. Il vous faut maintenant intégrer la librairie OpenCV à Visual Studio.
Lancez Visual C++, puis consultez le menu Outils => Options. Dans la liste de gauche, choisissez Projets et
solutions -> Répertoires de VC++, ensuite sélectionnez Fichiers bibliothèques dans la liste tout à droite
enfin cliquez sur l'icône Nouveau Dossier.

POB TECHNOLOGY – Tous droits réserves

Page |8

Sélectionnez alors le répertoire C:\Program Files\OpenCV\lib.

De la même manière, sélectionnez Fichiers Include dans la liste déroulante, et ajoutez les répertoires
suivants :





C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\cvaux\include

Ensuite, en choisissant l'option Fichiers source, ajoutez les répertoires :





C:\Program Files\OpenCV\cv\src
C:\Program Files\OpenCV\cxcore\src
C:\Program Files\OpenCV\cvaux\src
C:\Program Files\OpenCV\otherlibs\highgui

Maintenant que la librairie est intégrée au logiciel, il faut l’intégrer au projet lui-même. Créez un projet
"console" sous Visual (File =>New=>Project),

POB TECHNOLOGY – Tous droits réserves

Page |9

Allez dans le menu Projet -> Propriétés.
Dans l'onglet Éditeur de liens, choisissez Entrée puis rajoutez, dans les Dépendances additionnelles, les
librairies :
cv.lib cvaux.lib cxcore.lib highgui.lib
Enfin, N'oubliez pas d'inclure les DLL d'OpenCV dans le dossier de votre projet. Elles se trouvent dans le
répertoire C:\Program Files\OpenCV\bin.

Visual Studio est maintenant correctement configuré pour travailler avec OpenCV.
Pour les autres IDE, il vous faut ajouter les mêmes répertoires que sous Visual Studio.

POB TECHNOLOGY – Tous droits réserves

P a g e | 10

VERIFICATION
Voici un petit programme très basique qui vous permettra de vérifier si votre configuration a bien été
effectuée. Glissez dans votre répertoire projet l’image de votre choix en la renommant test.jpg, puis compilez
et lancez ce programme
#include <cv.h>
#include <highgui.h>
int main()
{
// Replace "test.jpg by a picture in the directory of your project
IplImage *img=cvLoadImage("test.jpg");
// Create a window
cvNamedWindow("Hello World", CV_WINDOW_AUTOSIZE);
// Show the picture
cvShowImage("Hello World", img);
cvWaitKey(0);
// Destroy window
cvDestroyWindow("Hello World");
cvReleaseImage(&img);
return 0;
}

Si vous avez bien configuré votre Visual Studio, votre image sera affichée dans la fenêtre !

PROGRAMME FACEDETECTION.C
Maintenant que Visual Studio est configuré, vous pouvez charger le code source de notre programme de
détection.
#include <Dual-POB.h>
int main()
{
UInt8 portb;
UInt8 defDirHB = 180, defDirDG = 92;
UInt8 DirHB = 0, DirDG = 1;
UInt16 y, x;
unsigned char buffer[4], value[2], position[2];
portb = (IO_AS_INPUT << PIN_7); // set the joystick button as input
SetIOWay(portb, IO_AS_DEFAULT, IO_AS_DEFAULT, IO_AS_DEFAULT);
InitUART0(115200);
InitAnalog();
InitDualServo();

POB TECHNOLOGY – Tous droits réserves

P a g e | 11
// 200 is top - less then 200 goes down, more goes up
// 125 is max down, 225 is max up
SetServo(DirHB, defDirHB, 7);
// 92 is front - less than 95 turns right, more turns left
// 0 is max right, 200 is max left
SetServo(DirDG, defDirDG, 7);
y = GetAnalog(7);
x = GetAnalog(6);
while (GetInput(INPUT_PORTB,INPUT_7) != 1)
{
y = GetAnalog(7);
x = GetAnalog(6);
if (y < 100) // up
{
if (defDirHB < 130)
{
defDirHB = 125;
SetServo(DirHB, defDirHB, 1);
}
else
{
defDirHB = defDirHB - 5;
SetServo(DirHB, defDirHB, 1);
}
}
else if (y > 900) // down
{
if (defDirHB > 220)
{
defDirHB = 225;
SetServo(DirHB, defDirHB, 1);
}
else
{
defDirHB = defDirHB + 5;
SetServo(DirHB, defDirHB, 1);
}
}
if (x < 300) // right
{
if (defDirDG < 5)
{
defDirDG = 0;
SetServo(DirDG, defDirDG, 1);
}
else
{
defDirDG = defDirDG - 5;
SetServo(DirDG, defDirDG, 1);
}
}
else if (x > 650) // left
{
if (defDirDG > 195)
{
defDirDG = 200;
SetServo(DirDG, defDirDG, 1);
}
else
{
defDirDG = defDirDG + 5;
SetServo(DirDG, defDirDG, 1);
}
POB TECHNOLOGY – Tous droits réserves
}
}

P a g e | 12
SetServo(DirDG, defDirDG+15, 1);
SetServo(DirDG, defDirDG-15, 1);
SetServo(DirDG, defDirDG+15, 1);
SetServo(DirDG, defDirDG-15, 1);
SetServo(DirDG, defDirDGv, 1);
while(1)
{
GetBufferFromUART0(&buffer[0], 3);
buffer[3] = '\0';
if (strcmp((const char *)buffer, "CDG") == 0)
{
GetBufferFromUART0(&value[0], 1);
value[1]= '\0';
defDirDG = (int)value[0];
SetServo(DirDG, defDirDG, 7);
}
else if (strcmp((const char *)buffer, "CUP") == 0)
{
if (defDirHB > 223)
{
defDirHB = 225;
SetServo(DirHB, defDirHB, 7);
}
else
{
defDirHB = defDirHB + 2;
SetServo(DirHB, defDirHB, 7);
}
}
else if (strcmp((const char *)buffer, "CDO") == 0)
{
if (defDirHB < 127)
{
defDirHB = 125;
SetServo(DirHB, defDirHB, 7);
}
else
{
defDirHB = defDirHB - 2;
SetServo(DirHB, defDirHB, 7);
}
}
else if (strcmp((const char *)buffer, "GET") == 0)
{
position[0] = defDirDG;
position[1] = defDirHB;
SendBufferToUART0(&position[0], 2);
}
}
return 0;
}

______________________________________________________________________________________________

Fin du document

POB TECHNOLOGY – Tous droits réserves

P a g e | 13

CON
NTACTER
R POB-TE
ECHNOLO
OGY

POB--TECHNOL
LOGY
11, aven
nue Albert Einstein
69 100 VILLEURBANNE
France
Site inte
ernet
Adresse
e mail
Télépho
one

http
p://www.pob--technology
y.com/
contaact@pob-techhnology.com
+33 (0)4 72 43 022 36

Fax

+33 (0)4 83 07 500 89

PO
OB TECHNOLOGY – Tous droits réserrves


Aperçu du document Cam_detection_fr.pdf - page 1/13
 
Cam_detection_fr.pdf - page 2/13
Cam_detection_fr.pdf - page 3/13
Cam_detection_fr.pdf - page 4/13
Cam_detection_fr.pdf - page 5/13
Cam_detection_fr.pdf - page 6/13
 




Télécharger le fichier (PDF)


Cam_detection_fr.pdf (PDF, 1 Mo)

Télécharger
Formats alternatifs: ZIP



Documents similaires


isyl6v9
pokebot project
conference cam standard brochure logitech
maconfig 0
hr1540
akwei