continutul tezei
DESCRIPTION
Optical caracter recognitionTRANSCRIPT
1
Liste des figuresFigure 1.1(a)La technologie biométrique........................................................................................5
Figure 1.1(b) Reconnaissance faciale..............................................................................................5
Figure 1.2 Le principe fondamental de reconnaissance...................................................................6
Figure 1.3. Les applications utilisant la technologie automatisée de vidéosurveillance de reconnaissance faciale......................................................................................................................7
Figure. 1.4 Comparaison de visage: (a) la vérification de visage / authentification.........................8
Figure 1.5 – l'application FaceUnlock.............................................................................................10
Figure 1.6 - Entrée des données.......................................................................................................10
Figure 1.7 Affichant données saisies...............................................................................................10
Figure 1.8 L'application SmartLogon..............................................................................................11Figure 1.9 A échoué détection de visages........................................................................................11
Figure 2.1 Processus de détection des visage..................................................................................14
Figure 2.2. Diagramme de système d'un système de reconnaissance de visage basé sur un modèle 3D en utilisant plage enregistrée et les images en couleur...............................................................18
Figure 2.3. Diagramme de système d'un système de reconnaissance de visage basé sur un modèle 3D sans l'utilisation de données télémétriques.................................................................................20
Figure 3.1. Vue d'ensemble des Emgu CV versions........................................................................21
Figure 3.2. Présentation de l'architecture Emgu CV........................................................................22
Figure 3.3 Structure Mapping - Emgu.CV.Structure.Mxxx.............................................................23
Figure 3.4 Structures existantes .Net qui representer les structures dans le OpenCV......................23
Figure 4.1 Cas des d’utilisations pour le système entier..................................................................32
Figure 4.2 Diagramme SSD « Login Usager »................................................................................36Figure 4.3 Diagramme SSD « Ajouter nouvelle enregistrement »..................................................37Figure 4.4 Diagramme SSD « Modifier d’enregistrement »............................................................38Figure 4.5 Diagramme SSD « Effacer une enregistrement »...........................................................40
Figure 4.6. Diagramme Domain Model……………………………………………………..….…41
Figure 4.7. Diagramme Insérer un enregistrement……………………………………………….43
Figure 4.8. La recherche dans l’application....................................................................................44Figure 4.9. Modèle d’application....................................................................................................45
Figure 4.10. Modèle logique de l’application................................................................................46
2
Figure 4.11. Diagramme de déploiement.......................................................................................47
Figure 5.1 Déclarer toutes les variables..........................................................................................48
Figure 5.2 Méthode Haarcascades pour la détection de visage......................................................48
Figure 5.3 Initialiser le FrameGrabber événement.........................................................................49
Figure 5.4 Méthodes de reconnaissance de chaque visage.............................................................49
Figure 5.5 Ajouter du visage en base de donnees...........................................................................51
Figure 5.6 Le code pour ajouter de nouveaux visages....................................................................52
Figure 5.6 modifier la taille d'une grande valeur............................................................................52
Figure 5.6 Valeurs propres visage de reconnaissance....................................................................53
Figure 5.7 Reconnaissance de visage déjà introduit sur la base de données..................................53
Liste des tableaux
Tableau 1 Estimation des repartitions.............................................................................................54
Tableau 2 Estimation du temps.......................................................................................................55
Tableau 3 Actives non-materiels a long terms................................................................................57
Tableau 4 Actives materiels a long terms.......................................................................................57
Tableau 5 La consommation de matières directes..........................................................................58
Tableau 6 Temp du travail/remuneration du travail.......................................................................59
Tableau 7 Les frais indirects...........................................................................................................61
Tableau 8 Calcule du fond d’amortissement pour AMTL en utilisant la méthode linéaire...........63
Tableau 9 Le fond d’amortissement pour ANTL en utilisant la méthode linéaire........................64
Tableau 10 Prix de revient du produit............................................................................................64
3
Annotation
Le développement de ce projet a suivi le but principal de l'étude et technologies de la
connaissance et des algorithmes de reconnaissance d'objets complexes pour créer des applications
de vision en temps réel utilisés par les différentes machines informatiques.
L'objectif principal de ce projet consiste à réaliser une application qui trouverait l'humain
peut les reconnaître et pourrait faire la différence entre eux, un autre objectif du projet est
d'atteindre des performances supérieures, parce que cette région est l'un des haute perspective.
Produit logiciel en question est destiné à être utilisé plus tard pour un système informatique
de gestion et de reconnaissance non seulement le visage, mais aussi des signes différents ou une
combinaison de postures de doigts.
Dans ce projet, nous avons utilisé plate-forme CV Emgu qui est un wrapper (wrapper). NET
de traitement d'image bibliothèque OpenCV. Nous avons utilisé ces framework car pour l'instant il
est l'un des ouvert le plus largement utilisé, développé par Intel et est la source.
Dans l'élaboration de ce projet étaient plates-formes utilisées avec Microsoft Visual Studio
2010 langage de programmation C #, Enterprise Architect.
Le projet est complexe et nécessite des technologies à haut rendement dans l'avenir
deviendra une condition obligatoire pour tout programme de produit pour de nombreux utilisateurs,
que ce dont nous avons besoin est un ordinateur moderne.
La documentation du système développé est axée sur l'architecture décrivant des modèles
UML contenant les éléments suivants: Exigences, cas d'utilisation, modèle de domaine,
déploiement.
Note de papier contient une introduction, six chapitres, les conclusions finales, bibliographie
(titres) et l'annexe. Le contenu est affiché sur les pages contenant des chiffres et des tableaux.
Le premier chapitre contient l'analyse du domaine d'étude, ce qui nécessite la création d'un
tel système et de son importance pour le développement supplémentaire par rapport aux autres
systèmes existants.
Le deuxième chapitre est de décrire le processus de reconnaissance du visage, tous les
problèmes rencontrés et les points généraux.
Le troisième chapitre décrit les techniques utilisées pour créer le système en question et les
méthodes utilisées pour son comportement.
Le quatrième chapitre présente la conception UML du système et une brève description des
activités sistemului.Următorul chapitre décrit les résultats obtenus Le sixième chapitre contient une
description de la situation économique et les dépenses engagées dans la création du système.
4
INTRODUCTION
DÉFINITION
Reconnaissance d'objets concerne la détermination de l'identité d'un objet qui est observé dans
l'image à partir d'un ensemble des marqueurs connus. Souvent, il est supposé que l'objet observé a été
détecté ou si une seule objet dans l'image.
HISTORICAL BACKGROUND
Comme le Saint-Graal de la recherche en vision par ordinateur est de raconter une histoire à partir
d'une seule image ou une séquence d'images, objet
reconnaissance a été étudié pendant plus de quatre décennies .Signi catives e? Orts ont été payés à
développer systèmes de représentation et d'algorithmes visant à reconnaître des objets génériques
dans les images prises sous di érents conditions d'imagerie (par exemple, point de vue, l'éclairage et
l'occlusion). Dans un champ d'application limité d'objets distincts, tels sous forme de chiffres
manuscrits, ngerprints, des visages, et les panneaux routiers, le succès considérables ont été
accomplis. Reconnaissance d'objets est également liée à la recherche d'images basée sur le contenu et
l'indexation multimédia en tant que nombre d'objets génériques peuvent être reconnue. En outre, des
progrès signi cant vers la catégorisation d'objets à partir d'images ont été réalisés dans le
Ces dernières années . Notez que la reconnaissance d'objets a également été largement étudié en
psychologie, informatique neurosciences et les sciences cognitives.
Fondement scientifique
Reconnaissance d'objets est l'une des capacités les plus fascinantes que les humains possèdent
facilement depuis l'enfance. Avec un simple regard d'un objet, les humains sont capables de raconter
son identité ou de la catégorie malgré la variation de l'apparence en raison du changement dans la
pose, l'éclairage, la texture, la déformation et sous occlusion. En outre, les humains peuvent
facilement
généraliser à partir de l'observation d'un ensemble d'objets à reconnaître des objets qui n'ont jamais
été vus auparavant. Par exemple, les enfants sont capables de généraliser le concept de \ chaise "ou \
cup" après avoir vu quelques exemples. Néanmoins, il s'agit d'une tâche ardue de développer des
systèmes de vision qui correspond aux capacités cognitives des êtres humains, ou des systèmes qui
sont
capable de faire la c identité d'un objet observé spécification. Les raisons principales peuvent être
attribués à la suivante facteurs: culté pose relative d'un objet à une caméra, la variation de l'éclairage,
et di à généraliser à travers des objets à partir d'un ensemble d'images d'exemplaires. Centrale de
systèmes de reconnaissance d'objets sont comment les régularités d'images, prises
sous dis érentes éclairage et poser des conditions, sont extraits et reconnus. En d'autres termes, tous
ces algorithmes adopter certaines représentations ou des modèles pour capturer ces caractéristiques,
facilitant ainsi les procédures à raconter
5
leurs identités. En outre, les représentations peuvent être soit en 2D ou des modèles géométriques 3D.
La reconnaissance Procédé, soit génératif ou discriminant, est ensuite effectué en faisant
correspondre l'image de test contre la stockée
représentations d'objets ou de modèles. Approches basées sur la géométrie les premières tentatives
sur la reconnaissance d'objets ont été axées sur l'utilisation de modèles géométriques d'objets pour
rendre compte de leur variation de l'aspect en raison de point de vue et de changement d'illumination.
L'idée principale est que la description géométrique d'un objet 3D permet la forme devrait être fondée
précisément dans une image 2D en vertu de projection projective, facilitant ainsi la procédure de
reconnaissance en utilisant bord ou limite l'information (qui est invariant à certains éclairage
changement). Une grande attention a été faite pour extraire des primitives géométriques (par
exemple, lignes, cercles, etc) qui sont invariants aux changements de point de vue. Néanmoins, il a
été démontré que ces primitives ne peuvent être fiable extrait dans des conditions limitées (variation
contrôlée de l'éclairage et de point de vue avec certain occlusion). Une excellente revue sur la
recherche de la reconnaissance d'objets basé sur la géométrie par Mundy peut également être trouvée
dans.
Algorithmes basés sur l'apparence Contrairement au début e. Orts sur les travaux de reconnaissance
d'objets basées sur la géométrie, les plus récentes e? Orts ont été centrées sur techniques basées sur
l'apparence que les longs descripteurs avancées et des algorithmes de reconnaissance de forme sont
développés . Plus particulièrement, les méthodes de Eigenface ont attiré beaucoup d'attention car il
est l'un des rst reconnaissance faciale systèmes qui sont calcul e cace et relativement précis. L'idée
sous-jacente de cette approche est pour calculer des vecteurs propres à partir d'un ensemble de
vecteurs, où chacun représente une image de visage en tant que vecteur de trame de balayage des
valeurs de pixels d'échelle de gris. Chaque vecteur propre, reconnue comme un visage propre, capte
certain écart entre tous les vecteurs, et un petit ensemble de vecteurs propres capte la quasi-totalité de
la variation de l'apparence des images de visage dans l'ensemble de la formation. Étant donné une
image test représentée comme un vecteur de valeurs de pixels en niveaux de gris, son identité est
déterminée par le nding
voisin le plus proche de ce vecteur, après avoir été projetées sur un sous-espace engendré par un
ensemble de vecteurs propres. Dans d'autres termes, chaque image de visage peuvent être
représentées par une combinaison linéaire des visages propres avec une erreur minimum (souvent en
le sens L2), et cette combinaison linéaire constitue une réorientation compact. L'approche a été
Eigenface
adoptée à reconnaître des objets génériques à travers di? érentes points de vue et la variation
d'éclairage de modélisation.
Comme le but de la reconnaissance de l'objet est de raconter un objet à partir des autres, classi eurs
discriminants ont été utilisés d'exploiter les informations c classe spéci. Classi eurs comme voisin k-
6
plus proche, les réseaux neuronaux avec base radiale fonction (RBF), l'architecture de liens
dynamiques, Fisher discriminante linéaire, support vector machines (SVM), rares réseau d'dissipe
(neige), et des algorithmes stimulant ont été appliquées à reconnaître des objets 3D à partir d'images
2D.Bien que les méthodes basées sur l'apparence ont montré des résultats prometteurs dans la
reconnaissance d'objets sous point de vue et l'éclairage changent, ils sont moins e? cace dans le
traitement de l'occlusion. En outre, un grand nombre de exemplaires doit être segmentée à partir
d'images pour les méthodes génératives ou discriminant pour apprendre l'apparition caractéristiques.
Ces problèmes sont en partie traités avec des schémas de représentation des pièces basées.
Algorithmes basée sur les caractéristiques
L'idée centrale des algorithmes de reconnaissance d'objets basé sur les caractéristiques réside dans
nding points d'intérêt, s'est souvent à discontinuité d'intensité, qui sont invariantes à changer en
raison de l'échelle, l'éclairage et un ne transformation (une bref aperçu sur les opérateurs de points
d'intérêt peut être trouvée dans). La fonction invariante d'échelle transformer (EIPD) descripteur,
proposé par Lowe, est sans doute l'un des régimes de représentation les plus largement utilisés de
fonctionnalités pour la vision applications . L'approche des EIPD utilise extrema dans l'espace échelle
pour la sélection automatique de l'échelle avec une pyramide de dix rence de ltres gaussiens et points-
clés avec un faible contraste ou mal localisée sur une arête sont supprimés. Ensuite,une orientation
constante est affectée à chaque point-clé et sa grandeur est calculée sur la base de l'image locale
histogramme de gradient, et atteindre ainsi invariance à la rotation de l'image. A chaque descripteur
point clé, la contribution de gradients d'image locales sont échantillonnées et pondérés par une
gaussienne, puis représentées par des histogrammes d'orientation. Par exemple, le 16 16 Extrait
région d'image et 4.4 éventail d'histogrammes avec 8 bacs d'orientation sont souvent utilisés,
fournissant ainsi un vecteur de caractéristique à 128 dimensions, pour chaque point-clé. Les objets
peuvent être indexés et comptabilisés selon les histogrammes des points clés dans les images. De
nombreuses applications ont été développées en utilisant les descripteurs relatives aux EIPD,y
compris la récupération de l'objet , et l'objet catégorie découverte .
Bien que l'approche des EIPD est capable d'extraire des caractéristiques qui sont insensibles à
certaine envergure et le changement d'illumination, applications de vision avec un grand changement
de la ligne de base entraînent la nécessité d'un ne point invariant et les opérateurs de la région . Une
évaluation du rendement entre les différents descripteurs locaux peut être trouvée dans , et une étude
sur une région? NE détecteurs est présentée dans . Enfin, les méthodes basées sur les EIPD sont tenus
d'accomplir mieux pour les objets avec de riches informations de texture comme sur nombre cient de
points-clés peuvent être extraits. D'autre part, ils exigent également indexation sophistiqué et des
algorithmes d'appariement pour e reconnaissance d'objets cace.
7
KEY APPLICATIONS
Reconnaissance biométrique et optique des caractères / chiffres / reconnaissance de documents sont
sans doute les plus utilisés applications. En particulier, la reconnaissance faciale a été largement
étudié depuis des décennies et avec grande échelle e en cours des orts. D'autre part, les systèmes de
reconnaissance biométrique basée sur l'iris ou ngerprint ainsi que comme chiffres manuscrite sont
devenus des technologies fiables. D'autres applications de reconnaissance d'objets comprennent la
surveillance, l'inspection industrielle, la recherche d'images par le contenu (CBIR), la robotique,
l'imagerie médicale, l'homme systèmes de véhicules d'interaction de l'ordinateur, et intelligente, pour
n'en nommer que quelques-uns.
Avec plus de modèles de représentation fiables et des algorithmes de reconnaissance en cours
d'élaboration, d'énormes progrès ont été réalisés dans la dernière décennie vers la reconnaissance des
objets sous variation de point de vue, l'éclairage et sous occlusion partielle. Néanmoins, les systèmes
de reconnaissance d'objets plupart des travailleurs sont encore sensibles à la grande variation dans
éclairage et lourd occlusion. En outre, la plupart des méthodes existantes sont développées pour faire
face à des objets rigides avec variation intra-classe limitée. Les recherches futures devront continuer
à chercher des systèmes de représentation et robustes
Les algorithmes de reconnaissance pour reconnaître des objets génériques.
1. L’ANALYSE DU DOMAINE D’ETUDE
1.1 Idée générale
J'ai choisi le sujet de la reconnaissance d'une licence personnelle, car au moment où le marché a
investi beaucoup d'argent dans cette industrie. Avec le développement de ce système sera plus grande
inclusion dans plusieurs structures et les zones qui ont besoin de services qui Orefice système a
également donné.
La reconnaissance faciale est une technique biométrique Figure 1.1(a) (application de l'analyse
statistique des données humaines) permettant d'identifier une personne. Un système de
reconnaissance faciale est basée sur le visage encore l'image d'un individu Figure 1.1(b) (une photo)
qui n'est rien de plus qu'un ensemble de pixels commandés par un modèle particulier (pixel est l'unité
fonctionnelle de base d'une image numérique).
Système de reconnaissance faciale ne perçoit pas un visage particulier comme les hommes, mais le
voir comme un grand nombre de pixels rejoindre. Essentiel dans le système de reconnaissance faciale
est la capacité à localiser le visage de l'image de fond et non.
Avant le processus réel de reconnaissance est nécessaire de créer des galeries d'images. En termes
de système de reconnaissance faciale, la galerie est un ensemble de modèles qui servent de processus
de comparaison biométrique de référence.
8
Créer une galerie d'image comprend les phases suivantes: capture de l'image, détection des visages,
la normalisation, extraction de caractéristiques et la création de modèles pour chaque image
.
Figure 1.1(a)La technologie biométrique
Figure 1.1(b) Reconnaissance faciale
Quelles sont les étapes de la reconnaissance faciale?
Étapes de la reconnaissance faciale sont les suivants:
1. Capture d'image;
2. Détection des visages;
3. Extraire des caractéristiques afin de générer un motif;
4. En comparant les modèles;
5. Déclaration d'identité.
9
1. Capturez l'image se fait généralement avec un appareil photo ou une vidéo, depuis une vidéo n'est
rien de plus une séquence d'images fixes.
2. Le processus commence par identifier le visage de toute l'image qui contient généralement une
image de fond, et parfois même d'autres visages. Si un être humain, il est très facile de distinguer qui
est le visage d'une personne dans une photo, votre ordinateur doit décider quels pixels appartenant à
la face ou pas. Système de reconnaissance faciale normalisera - si possible - image de façon à avoir la
taille, la rotation, la luminosité des images contenues dans la galerie. Cette image est tirée de système
de reconnaissance faciale standardisé.
3. Le processus d'extraction de caractéristiques est générée une représentation mathématique appelée
modèle ou de référence biométrique, qui sera enregistré dans la base de données est le fondement de
la reconnaissance. Modèle biométrique n'est rien de plus qu'un algorithme de reconnaissance faciale
qui transforme l'image du visage (représenté par des pixels) dans une représentation mathématique
simplifiée.
Figure 1.2 Le principe fondamental de reconnaissance
1.2 Problème de détection de visage
Ces dernières années, la reconnaissance faciale a reçu une attention considérable de chercheurs en
biométrie, reconnaissance de formes, et les communautés de vision par ordinateur. Cet intérêt
commun entre les chercheurs travaillant dans divers domaines est motivés par notre remarquable
capacité à reconnaître les gens (même si dans le cas de certains handicap rare du cerveau, par
exemple, la prosopagnosie ou cécité visage, cette capacité de reconnaissance est perdu) et le fait que
l'activité humaine est une préoccupation majeure tant dans la vie quotidienne et dans le cyberespace.
Par ailleurs, il existe un grand nombre d'applications commerciales, de sécurité et judiciaire exigeant
l'utilisation de la technologie de reconnaissance faciale. Ces applications concernent la localisation, le
suivi et la reconnaissance d'un seul (ou plusieurs) sujet humain ou du visage.
10
La reconnaissance faciale est une technologie importante d'identification biométrique. Scan
du visage est un attribut / indicateur biométrique efficace. Différents indicateurs biométriques sont
adaptés à différents types d'applications d'identification en raison de leurs variations intrusion, la
précision, le coût et (détection) effort. Parmi les six biométrique les indicateurs pris en compte dans
les traits du visage marqué la plus grande compatibilité, la Fig. 1.3, dans une machine documents de
voyage lisibles système (MRTD) basée sur un certain nombre de facteurs d'évaluation, comme
l'inscription, le renouvellement, les exigences de la machine, et la perception du public.
Figure 1.3. Les applications utilisant la technologie automatisée de vidéosurveillance de
reconnaissance faciale (téléchargé à partir de FaceSnap);
1.3 Les défis de la reconnaissance faciale
Les êtres humains peuvent facilement reconnaître un visage connu dans diverses conditions et
représentations. Cette remarquable capacité des êtres humains à reconnaître les visages avec de
grandes variations intra-sujet a inspiré la vision des chercheurs pour développer des systèmes
automatisés de reconnaissance faciale à partir d'images de visage 2D. Toutefois, les systèmes actuels
de vision industrielle state-of-the-art peut reconnaître les visages que dans un environnement
contraint. Notez qu'il existe deux types de scénarios de comparaison de face, dite vérification du
visage et l'identification de visage. Comme le montre la figure. 1.3, la vérification du visage implique
un one-to-one match qui compare une image de visage requête sur une image du visage du modèle
dont l'identité est revendiquée, alors que l'identification du visage implique un-vers-plusieurs matchs
11
qui comparent une image de visage requête sur toutes les images de modèle dans une base de
données de visage afin de déterminer l'identité de la face de requête.
Figure. 1.4 Comparaison de visage: (a) la vérification de visage / authentification; (b) l'identification
du visage / reconnaissance.
Le principal défi de la reconnaissance du visage basé sur la vision est la présence d'un haut degré de
variabilité des images de visages humains. Il peut y avoir potentiellement de très grandes variations
intra-sujet et plutôt petites variations inter-sujets (en raison de la similitude des comparutions
individuelles). Techniques de reconnaissance basés sur la vision actuellement disponibles peuvent
être classés principalement en deux groupes en fonction de la représentation du visage qu'ils utilisent:
(I) l'apparence basée sur laquelle utiliser les fonctionnalités de texture holistiques, et (II) basées sur la
géométrie qui utilisent des caractéristiques géométriques de la face. Les résultats expérimentaux
montrent que les méthodes apparence basés effectuent généralement une meilleure tâche de
reconnaissance que ceux basés sur la géométrie, car il est difficile d'extraire robuste caractéristiques
géométriques en particulier dans les images de visage basses résolutions et de mauvaise qualité (par
exemple, pour extraire des caractéristiques en cas d'incertitude). Cependant, les techniques de
reconnaissance apparition à base ont leurs propres limites dans la reconnaissance des visages
humains en images avec de grandes variations dans la tête 3D pose et à l'éclairage. Par conséquent,
afin de surmonter les variations de pose, un grand nombre de techniques de reconnaissance faciale
ont été développés pour tenir compte de la forme du visage 3D, tirées d'une séquence vidéo ou
données télémétriques. Quant à surmonter les variations d'éclairage, plusieurs études ont exploré des
fonctionnalités telles que des cartes dérivées d'intensité de pointe, les réponses Gabor-filtre et les
champs d'orientation du gradient d'intensité. Cependant, aucune de ces approches par eux-mêmes
conduire à des résultats de reconnaissance satisfaisants. Ainsi, le modèle 3D du visage explicite
associé à son modèle de réflectance est considéré comme la meilleure représentation de visages
humains à l'approche basée sur l'apparence.
1.4 Exigences et les objectifs du système
12
Système requise sont:
a) la présence de menu et défini par l'utilisateur;
b) la demande doit être scindé en deux parties: compartiment d'entrée personnelle. Le second
compartiment est la reconnaissance très faciale. La dernière section sera que vous allez analyser et de
reconnaître les données de l'utilisateur;
c) la saisie du nom;
d) accéder à des données personnelles à l'aide d'un login et mot de passe;
e) la possibilité d'enregistrer plusieurs utilisateurs de l'application;
f) la possibilité de comparer les données et de résultats entre plusieurs utilisateurs;
g) la présence d'une base de données qui contiendra:
1) des images faciales de chaque utilisateur;
2) Les données personnelles de l'utilisateur;
3) des informations sur tous les utilisateurs qui utilisent l'application;
h) la possibilité d'introduire de nouvelles personnes à l'utilisateur dans la base de données;
Le système à développer est de reconnaître que personne, en utilisant l'image du visage.
1.5 Les comparaisons avec d'autres systèmes dans le même domaine
L'application FaceUnlock - Samsung Galaxy S3 appareil mobile - Android 4.1.2
Cette application a la possibilité de permettre l'accès à l'appareil, juste après une
reconnaissance faciale.Dans la figure ci-dessous (Figure 1.5), nous représentions l'interface de
l'application FaceUnlock.
Après cela l'addition d'un modèle (sur une photographie dans une base de données)
La Figure 1.7 affichant données saisies - qui prend lui-même placer le remplissage de la
base de données avec des photos de l'utilisateur.
Cette application vous permet de saisir un certain nombre d'images dans la base de données,
après quoi ils sont libérés dispositif est comparé avec les photos faites plus tôt.
Si l'autre personne veut authentifier il peut faire en utilisant un mot de passe (Figure 1.5.1)
Un inconvénient de cette application est la possibilité d'accéder à l'appareil et des personnes
semblables à l'extérieur
13
Figure 1.5 – l'application FaceUnlock Figure 1.6 - Entrée des données
Figure 1.7 Affichant données saisies
L'application SmartLogon - ASUS
Smart Logon est un logiciel qui a une grande fonctionnalité et l'accès à notre dispositif de
PC utilisant la reconnaissance faciale. (Figure 1.8).
14
Figure 1.8 L'application SmartLogon
Si nous essayons de mettre une photo ne détecte image faciale SmartLogon. L'application détermine
la personne en utilisant un algorithme donné.
Figure 1.9 A échoué détection de visages
Ce logiciel nous permet également de définir un mot de passe au cas où quelqu'un d'autre
veut donner accès à l'appareil.
1.6 Conclusion
Je J'ai choisi ce thème parce que une fois un développeur écrit sera réduite d'un certain nombre de
problèmes. L'une de ces questions serait temps imparti pour la collecte des tests et des données sur le
terrain pour recueillir de telles informations est nécessaire par une seule personne (minimum) qui
vérifierait toutes les photos dans notre base de données.
Ce système nous permettrait de voir la liste complète des utilisateurs qui utilisent ces services, ce
qui indique également le temps et toutes les modifications apportées par eux.
Un avantage serait que, même dans ce domaine, c'est une multitude de possibilités avec laquelle nous
pouvons les intégrer dans une myriade de domaines parce que presque tous les domaines peuvent
15
mettre en œuvre ces services.
Systèmes existants ailleurs sont très vieux, avec un suivi extrêmement désavantageux, puisque
couture, détenant des informations par écrit sur le papier et un certain nombre d'excellents employés.
En quelques mots sont des systèmes trop inefficaces et leur entretien passent davantage de ressources
humaines et financières au moment le plus important de surveiller certaines données est extrêmement
élevé.
En 2004, Bill Gates, fondateur de Microsoft, a prédit mots de passe d'extinction. En 2013, sa
prédiction se réaliserait, informe planète intelligente - a été parrainé par IBM. Les chercheurs
travaillant sur un moyen d'éliminer les maux de tête causés par le souvenir des mots de passe de
toutes sortes, ou au moins d'inventer des mots de passe plus sécurisé. Le principal défaut des mots de
passe, c'est que peu importe combien de temps ou complexes soient-ils, ils ouvrent nos machines
seulement quand entrer les codes appropriés. Considérant que les méthodes d'authentification ne
permettra à personne d'ouvrir la porte avec la clé, les nouvelles méthodes feront l'accès à fournir
uniquement à la personne concernée. Plusieurs pistes ont été testées à l'aide des fonctionnalités de
reconnaissance biométrique. IBM prévisions pour 2013 selon laquelle les mots de passe vont
disparaître, «Biométrie - scan rétinien, la reconnaissance faciale et vocale - composeront un logiciel
qui va construire un ADN unique comme mot de passe pour utiliser à la fois en ligne et hors ligne
aussi bien."
Cependant, les progrès possibles sont livrés avec certains risques. "Le problème le plus grave avec
la biométrie, c'est que si biométrique de la signature numérique est compromise une fois, il ne sera
jamais remplacée", a déclaré Tal Be'ery, IT chercheur à Imperva.
L'évolution du changement.
Voici quelques-unes des façons dont les mots de passe ont évolué:
- Banques moderne et contemporain utilisent déjà un logiciel qui utilise la reconnaissance, code PIN
de l'utilisation supplémentaire de la voix;
- Google a une méthode comprend deux étapes, les deux mots de passe de l'utilisateur ainsi que d'un
code envoyé sur votre personnel;
- Smartphone utilise la reconnaissance biométrique par scan facial;
- Plusieurs banques américaines exigent aux clients d'identifier non seulement avec le code PIN, mais
aussi prononciation des phrases courtes uniques à chacun;
- Les téléphones portables qui utilisent la dernière Andoid logiciel de débloquer l'accès à la caméra,
la reconnaissance faciale seulement après que le propriétaire.
16
Chapitre 2
2. DETECTION DE VISAGE
Le visage humain a été considéré comme l'organe le plus instructif pour la communication dans notre
vie sociale. Reconnaître automatiquement les visages par les machines peut faciliter un large éventail
d'applications médico-légales et de sécurité. La représentation des visages humains de reconnaissance
peut varier d'une image 2D à une surface 3D. différentes représentations aboutir à des approches
différentes de reconnaissance. Deux vastes études des approches de reconnaissance faciale ont été
publiés en 1995 R. Chellappa, C.L. Wilson, and S. Sirohey, “Human and machine recognition of
faces: A survey,”, 1999 Weng and D.L. Swets, “Face recognition,” et en 2000 W. Zhao, R.
Chellappa, A. Rosenfeld, and P.J. Phillips, “Face recognition: A literature survey,”.Un atelier sur le
traitement des visages en 1985 O.A. Uwechue and A.S. Pandya, Eds., Human Face Recognition
Using Thirdorder Synthetic Neural Networks,ont présenté des études de reconnaissance faciale
principalement du point de vue de la psychologie cognitive. Les études de reconnaissance basée sur
les caractéristiques visage, caricatures informatiques, et l'utilisation de surfaces de face dans la
simulation et l'animation ont été résumées en 1992 V. Bruce and M. Burton, Eds., Processing Images
of Faces,. En 1997, Uwechue donné des détails sur la reconnaissance du visage à base de réseaux de
neurones highorder Utilisation de modèles de visage 2D. En 1998, des conférences sur la
reconnaissance faciale en utilisant les modèles de visage 2D ont été présentés à partir de la théorie
aux applications. En 1999, Hallinan décrit la reconnaissance de visage en utilisant les deux modèles
statistiques pour les modèles de visage 2D et les surfaces frontales 3D. En 2000, Gong a insisté sur
les méthodes d'apprentissage statistique dans les approches de reconnaissance holistiques et la
reconnaissance de visage discuté du point de vue de la vision dynamique.
Les études ci-dessus montrent que les techniques de reconnaissance de visage, en particulier
holistiques méthodes basées sur la théorie du modèle statistique, ont considérablement progressé au
cours des dix dernières années. Les systèmes de reconnaissance de visage sont utilisés dans la
surveillance vidéo et les applications de contrôle de sécurité. Cependant, les techniques les plus
fiables et robustes pour la reconnaissance du visage ainsi que la détection sont nécessaires pour
plusieurs applications. Sauf pour les applications de reconnaissance basés sur des images statiques
frontales qui sont prises dans des environnements bien contrôlés, le principal défi pour la
reconnaissance du visage est d'être en mesure de faire face à la forte variabilité des images de visages
humains. Les sources de variations inter-sujets comprennent les variations et les variations intra-
sujet. Certaines variations ne sont pas amovibles, tandis que d'autres peut être compensée pour la
reconnaissance. Les personnes qui ont les apparences de visages similaires, par exemple de jumeaux,
17
et une personne qui pourrait avoir des apparences différentes en raison de cosmétiques ou d'autres
changements dans les poils du visage et des lunettes sont très difficiles à reconnaître. Les variations
dues aux différentes poses, illuminations, et les expressions faciales sont relativement faciles à
manipuler. Algorithmes actuellement disponibles pour la reconnaissance faciale se concentrer sur la
reconnaissance des visages dans ces variations qui peuvent en quelque sorte être compensées. En
raison des variations du visage en raison de poser provoquent une grande quantité de changement
d'aspect, les systèmes de plus en plus profitent de la géométrie 3D du visage pour la reconnaissance.
Ils sont généralement présents dans les images capturées dans des environnements non contrôlés,
tels que les systèmes de surveillance vidéo. Ces défis peuvent être attribués à certains facteurs:
a)Pose variation. Le scénario idéal pour la détection de visage serait celle qui seules images
frontales ont été impliqués. Mais, comme il est dit, ce qui est très improbable dans des conditions non
contrôlées générales. En outre, la perform ance des algorithmes de détection de visage tombe
gravement quand il ya de grandes poser variations. C'est un sujet de recherche majeur. Pose variation
peut se produire en raison des mouvements du sujet ou de l'angle de la caméra.
b)Occlusion d'entité. La présence d'éléments comme les barbes, lunettes ou un chapeau présente
une forte variabilité. Les visages peuvent aussi être partiellement couverts par des objets ou d'autres
visages.
c)L'expression du visage. Les traits du visage sont également très variables en raison des
différentes expressions faciales.
d)Conditions d'imagerie. Différentes caméras et les conditions ambiental peut affecter la qualité
de l'image, ce qui affecte l'apparence d'un visage
2.1 Structure du problème de détection des visages
Détection de visage est un concept qui englobe de nombreux sous-problèmes. Certains systèmes
détecter et localiser des visages en même temps, d'autres effectuent d'abord une routine de détection
et ensuite, s'il est positif, ils essaient de localiser le visage. Ensuite, certains algorithmes de suivi
peuvent être nécessaires – voir Figure 2.1
Figure 2.1 Processus de détection des visage
18
Des algorithmes de détection de visage partagent ussually étapes communes. Tout d'abord, une
certaine réduction de la dimension des données est effectué, afin d'obtenir un temps de réponse
admissible. Certains pré-traitement peut également être fait pour adapter l'image d'entrée pour les
pré-requis de l'algorithme. Ensuite, des algorithmes analiZe l'image telle qu'elle est, et quelques
autres tentent d'extraire certaines régions du visage pertinents. La phase suivante consiste
généralement extraire les traits du visage ou de mesures. La SE sera ensuite pondéré, évalué ou
comparé à décider si il ya un visage et où est-il. Enfin, certains algorithmes ont une routine
d'apprentissage et ils comprennent de nouvelles données à leurs modèles. La détection des visages est
donc un problème à deux classes où nous devons décider si il ya un visage ou non dans une image.
Cette approche peut être considérée comme un problème de reconnaissance de visage simplifié. La
reconnaissance faciale doit classer un visage donné, et il ya autant de classes en tant que candidats.
Par conséquent, de nombreuses méthodes de détection des visages sont très semblables à affronter
des algorithmes de reconnaissance. Ou en d'autres termes, les techniques utilisées dans la détection
de visage sont souvent utilisés dans la reconnaissance faciale.
2.2 Approches de détection de visage
Il n'est pas facile de donner une taxonomie des méthodes de détection des visages. Il n'est pas un
critère de regroupement reconnues mondialement. Ils mélangent habituellement et se chevauchent.
Dans cette section, deux critères de classification seront présentés. L'un d'eux fait la différence entre
les scénarios distincts. En fonction de ces scénarios différentes approches peuvent être nécessaires.
Les autres critères divise les algorithmes de détection en quatre catégories.
La détection en fonction du scénario.
a) Environnement contrôlé. C'est le cas le plus simple. Les photographies sont prises sous une lumière
contrôlée, fond, etc techniques de détection de bord simple peut être utilisé pour détecter les visages.
b) Les images en couleur. Les couleurs typiques de la peau peuvent être utilisés pour trouver des
visages. Ils peuvent être faibles si les conditions d'éclairage changent. En outre, la couleur de la peau
humaine change beaucoup, à partir de presque blanc au presque noir. Mais, plusieurs études montrent
que la principale différence se situe entre leur intensité, de sorte chrominance est une bonne option.
Ce n'est pas facile d'établir une représentation de la couleur de la peau humaine solide. Cependant, il
ya des tentatives de construire des algorithmes de détection de visage robustes basées sur la couleur
de la peau.
c) Images en mouvement. Vidéo en temps réel donne la possibilité d'utiliser la détection de mouvement
pour localiser des visages. Aujourd'hui, la plupart des systèmes commerciaux doivent localiser des
visages dans les vidéos. Il ya un défi constant pour atteindre les meilleurs résultats dans la détection
19
avec la meilleure performance possible. Une autre approche basée sur le mouvement est la détection
de clignement des yeux, qui a de nombreuses utilisations en dehors de détection de visage.
Les méthodes de détection répartis en catégories
Les méthodes sont divisés en quatre catégories. Ces catégories peuvent se chevaucher, de sorte qu'un
algorithme pourrait appartenir à deux ou plusieurs catégories. Cette classification peut être réalisée
comme suit:
a) Méthodes basées sur la connaissance. Méthodes Ligné-base qui codent pour notre connaissance de
visages humains.
b) Méthodes Feature-invariants. Algorithmes qui tentent de trouver des invariants d'un visage malgré
son angle ou de position.
c) Modèle méthodes d'appariement. Ces algorithmes comparer les images d'entrée avec des motifs
mémorisés des visages ou des fonctionnalités.
d) Méthodes basées sur l'apparence. Procédé de mise en correspondance de gabarit dont le motif de base
de données est appris d'un ensemble d'images d'apprentissage
2.3 Le suivi de visage /Face tracking
De nombreux systèmes de reconnaissance faciale ont une séquence vidéo comme entrée. Ces
systèmes peuvent nécessiter d'être capable non seulement de détecter, mais le suivi des visages. Le
suivi de visage est essentiellement un problème d'estimation de mouvement. Le suivi de visage peut
être réalisée en utilisant de nombreuses méthodes différentes, par exemple, le suivi de la tête, suivi de
fonction, suivi basé sur l'image, le suivi basé sur un modèle. Ce sont des manières de classer ces
algorithmes:
a) Suivi de la tête / le suivi des fonctions individuelle. La tête peut être suivi comme une entité, ou
certains traits suivis individuellement.
b) 2D/3D. Deux systèmes de dimension suivre une face et une sortie de l'espace d'image où la surface
est située. Trois systèmes de dimension, d'autre part, d'effectuer une modélisation 3D du visage. Cette
approche permet d'estimer poser ou des variations d'orientation.
Le processus de base de suivi du visage cherche à localiser une image donnée dans une image.
Ensuite, il doit calculer les différences entre les cadres de mettre à jour l'emplacement de la face. Il ya
beaucoup de questions qui doivent être relevés: occlusions partielles, les changements d'éclairage, la
vitesse de calcul et des déformations du visage.
Un exemple d'un algorithme de suivi du visage peut être celui proposé par Baek. Le vecteur d'état
d'un visage comprend la position centrale, la taille du rectangle dans lequel la face, la couleur
20
moyenne de la zone du visage et de leurs dérivées premières. Les nouveaux visages candidats sont
évaluées par un estimateur de Kalman. En mode de poursuite, si la surface n'est pas nouveau, la face
à partir de la trame précédente est utilisé comme matrice. La position de la face est évalué par le
Kalm un estimateur et de la région de visage sont recherchées autour d'un algorithme utilisant le
modèle SSD-dessus. Lorsque SSD trouve la région, l'information de couleur est encastrée dans
l'estimateur de Kalman pour limiter précisément la région du visage. Puis, le vecteur d'état de cette
face est mise à jour. Le résultat a montré solide où certains visages se chevauchent ou lorsque des
changements de couleur ont eu lieu
2.4 Systèmes de reconnaissance de visages
Demandes de reconnaissance de visage en fait intervenir plusieurs étapes importantes, telles que la
détection de visage pour localiser des visages humains, suivi du visage pour suivre des sujets en
mouvement, la modélisation du visage pour représenter des visages humains, visage de codage /
compression pour archiver efficacement et transmettre les visages, et d'appariement de visage pour
comparer représenté visages et d'identifier un sujet de requête. La détection de visage est
généralement une première étape importante. Détection des visages peuvent être considérés comme
une classe de deux (face vs non-face) problème de classification, tandis que la reconnaissance des
visages peuvent être considérés comme un problème de classification multi-classe (plusieurs sujets)
dans la classe de visage. La détection de visage comporte certains aspects de mécanisme de
reconnaissance du visage, tandis que la reconnaissance des visages utilise les résultats de la détection
de visage. On peut envisager de détection de visage et de la reconnaissance en tant que la première et
la deuxième étapes dans un système de classement séquentiel. La question cruciale ici est de
déterminer un espace de fonction appropriée pour représenter un visage humain dans un tel système
de classification. Nous croyons que la combinaison transparente de détection du visage, modelage du
visage, et la reconnaissance des algorithmes a le potentiel d'atteindre la haute performance pour
l'identification de visage applications.
Avec ce principe, nous proposons deux paradigmes de reconnaissance automatiques, fig. 2.2 et fig.
2.3, qui peut combiner la détection des visages ainsi que le suivi (non inclus dans cette thèse, mais
peut être réalisé sur la base de nos travaux en cours), la modélisation et la reconnaissance. Le premier
modèle nécessite à la fois des séquences vidéo et des mesures faciales 2.5D/3D comme son entrée
dans la phase d'apprentissage / d'inscription. Dans la phase de reconnaissance / de test, cependant, les
images de visage sont extraites de l'entrée vidéo seulement. Les visages sont identifiés sur la base
d'un algorithme basé sur l'apparence. Le deuxième paradigme nécessite seulement des séquences
vidéo à son entrée dans les deux étapes d'apprentissage et de reconnaissance. Son module de
reconnaissance de visage utilise un algorithme d'appariement de visage sémantique pour comparer
faces sur la base de composantes faciales pondérés.
21
Les deux paradigmes contiennent trois modules principaux: (I) la détection de visage et extraction
de caractéristiques, (II) la modélisation du visage, et (III) la reconnaissance du visage. La détection
de visage / emplacement et le module d'extraction de caractéristiques est capable de localiser des
visages dans des séquences vidéo. La partie la plus importante de ce module est une caractéristique
sous-module d'extraction qui extrait les caractéristiques géométriques (comme limite pour le visage,
les yeux, les sourcils, le nez et la bouche), et les caractéristiques de texture / couleur (estimation de la
tête pose et l'éclairage est laissé en une direction de recherche future). Le module de modélisation de
visage emploie ces caractéristiques extraites pour modifier le modèle 3D du visage générique dans
les stades d'apprentissage et de reconnaissance. Dans cette thèse, nous décrivons la mise en œuvre du
module de modélisation de visage dans les deux paradigmes proposés pour la vue frontale seulement.
L'extension du module de modélisation de visage à vue non frontal peut être une direction de
recherche future. Le module de reconnaissance se sert des caractéristiques faciales extraites d'une
image d'entrée et les modèles 3D appris à vérifier la face présente dans une image dans l'étape de
reconnaissance. Cette thèse a développé un module robuste face de détection qui est utilisé pour
faciliter des applications telles que le suivi du visage pour la surveillance et la modélisation de visage
pour identification (ainsi que la vérification). Nous allons discuter brièvement les thèmes de la
détection des visages et la reconnaissance, la modélisation du visage ainsi que la compression et la
recherche d'images basées sur les faces dans les sections suivantes.
Figure 2.2. Diagramme de système d'un système de reconnaissance de visage basé sur un modèle 3D
en utilisant plage enregistrée et les images en couleur.
22
Chapitre 3
3. Les techniques utilisées
Pour le développement d'applications j'ai utilisé Emgu CV et Open CV. Emgu CV est une
croix plateforme .Net wrapper à la bibliothèque de traitement d'image OpenCV. Permettre fonctions
OpenCV pour être appelées à partir. Langages compatibles NET comme C #, VB, VC + +, etc
IronPython L'enveloppe peut être compilé dans le Mono et exécuté sur Windows, Linux, Mac OS X,
iPhone, iPad et appareils Android.
Dans mes propres mots EmguCV est un Wrapper impressionnant, ce laisser faire les choses et les
tâches de la vision par ordinateur très intéressantes, cette bibliothèque fixer laisser faire une quantité
illimitée de magnifiques projets dans ce domaine, EmguCV ont de nombreuses fonctions qui nous
permettent de travailler avec des CPU et GPU augmente les performances de façon spectaculaire
avec la dernière mentionnée.
3.1 Avantage de Emgu CV
Cross Platform
Emgu CV est entièrement écrit en C #. L'avantage est qu'il peut être compilé dans le Mono et est
donc en mesure d'exécuter sur n'importe quelle plate-forme Mono soutient, y compris Linux, Mac OS
X, iOS et Android.
Cross Language et est livré avec un exemple de code
Emgu CV peut être utilisé à partir de plusieurs langues différentes, y compris C #, VB.NET, C + +
et IronPython.
23
Figure 2.3. Diagramme de système d'un système de reconnaissance de visage basé sur un modèle 3D
sans l'utilisation de données télémétriques.
Autres avantages
• Classe de l'image avec la couleur générique et profondeur
• Automatique collecte des ordures
• XML Serializable image
• Documentation XML et support de l'IntelliSense
• Le choix d'utiliser soit la classe de l'image ou de fonctions directes invoquer de OpenCV
Bien qu'il soit possible de créer une image en appelant CvInvoke.cvCreateImage, il est suggéré de
construire une image <TColor, objet TDepth> place. Il ya plusieurs avantages à l'aide de l'image géré
<TColor, classe TDepth>
24
Figure 3.1. Vue d'ensemble des Emgu CV versions
•La mémoire est automatiquement libéré par le garbage collector
•Image <TColor, classe TDepth> peut être examinée par Debugger Visualizer
• Image <TColor, classe TDepth> contient méthode avancée qui n'est pas disponible sur OpenCV,
par exemple, le fonctionnement générique de pixels de l'image, la conversion de bitmaps, etc
• Les opérations génériques sur pixels de l'image
3.2 Présentation de l'architecture
Emgu CV a deux couches d'enveloppe, comme indiqué ci-dessous figure 3.2
• La couche de base (couche 1) contient une fonction, la structure et l'énumération des mappages qui
reflètent directement les personnes en OpenCV.
• La deuxième couche (couche 2) contient des classes qui se mélangent dans advantanges du monde.
NET.
25
Figure 3.2. Présentation de l'architecture Emgu CV
3.3 Wrapping OpenCV
Mappage de fonction - Emgu.CV.CvInvoke
La classe CvInvoke fournit un moyen d'invoquer directement la fonction OpenCV dans les langues.
NET. Chaque méthode dans cette classe correspond à une fonction dans OpenCV du même nom. Par
exemple, un appel à
IntPtr image = CvInvoke.cvCreateImage(new System.Drawing.Size(400, 300),
CvEnum.IPL_DEPTH.IPL_DEPTH_8U, 1);
est équivalent à l'appel de la fonction suivante dans C
IplImage* image = cvCreateImage(cvSize(400, 300), IPL_DEPTH_8U, 1);
26
Les deux qui créer un 400x300 sur 8 bits non signé en niveaux de gris image.
Structure Mapping - Emgu.CV.Structure.Mxxx
Ce type de structure est une application directe de structures OpenCV.
Figure 3.3 Structure Mapping - Emgu.CV.Structure.Mxxx
Le préfixe M représente ici la structure gérée.
Emgu CV emprunte aussi quelques structures existantes .Net pour représenter les structures dans
OpenCV:
Figure 3.4 Structures existantes .Net qui representer les structures dans le OpenCV
27
Énumération Mapping - Emgu.CV.CvEnum
L'espace de noms CvEnum offre une cartographie directe aux énumérations OpenCV. Par exemple,
CvEnum.IPL_DEPTH.IPL_DEPTH_8U a la même valeur que dans IPL_DEPTH_8U OpenCV; tous
deux égaux 8.
Profondeur et la couleur comme paramètre générique
Une image est définie par ses paramètres génériques: la couleur et de la profondeur. Pour créer un 8
bits non signé en niveaux de gris image, à Emgu CV, il est fait en appelant
Image<Gray, Byte> image = new Image<Gray, Byte>( width, height);
Non seulement cette syntaxe vous faire prendre conscience de la couleur et de la profondeur de
l'image, il limite également la façon dont vous utilisez les fonctions et les erreurs de saisie dans le
temps de la compilation. Par exemple, le fonction SetValue(TColor color, Image<Gray, Byte> mask)
dans Image<TColor, TDepth> class (version >= 1.2.2.0)n'acceptera que les couleurs du même type,
et le masque doit être un non signé de 8 bits en niveaux de gris image. Toute tentative d'utiliser une
virgule flottante de 16 bits ou niveaux de gris non-image comme un masque résulte une erreur de
compilation!
3.4 Création d'image
Bien qu'il soit possible de créer une image en appelant CvInvoke.cvCreateImage, il est suggéré de
construire un
Image <TColor, objet TDepth> place. Il ya plusieurs avantages à l'aide de l'image classe
<TColor,TDepth> géré
• La mémoire est automatiquement libéré par le garbage collector
• Image<TColor, TDepth> class peut être examinée par Debugger Visualizer
• Image<TColor, TDepth> class contient méthode avancée qui n'est pas disponible sur OpenCV, par
exemple, générique opération sur l'image pixels, la conversion en bitmap, etc.
Image Color
Le premier paramètre générique de l'image classe spécifique de la couleur du type d'image. par
exemple:
Image<Gray, ...> img1;
indique que img1 est un seul canal en niveaux de gris image.
28
Types de couleur compatible sont les suivants:
• Gray
• Bgr (Blue Green Red)
• Bgra (Blue Green Red Alpha)
• Hsv (Hue Saturation Value)
• Hls (Hue Lightness Saturation)
• Lab (CIE L*a*b*)
• Luv (CIE L*u*v*)
• Xyz (CIE XYZ.Rec 709 with D65 white point)
• Ycc (YCrCb JPEG)
Profondeur d'image
Profondeur d'image est spécifiée en utilisant le deuxième générique Profondeur de paramètre. Les
types de profondeur pris en charge dans Emgu CV 1.4.0.0 sont
• Byte
• SByte
• Single (float)
• Double
• UInt16
• Int16
• Int32 (int)
Création d'une nouvelle image
Pour créer une image 480x320 de couleur Bgr et profondeur 8 bits non signé. Le code en C # serait
être:
Image<Bgr, Byte> img1 = new Image<Bgr, Byte>(480, 320);
Si vous veut préciser la valeur de fond de l'image, disons en bleu. Le code en C # serait être:
Image<Bgr, Byte> img1 = new Image<Bgr, Byte>(480, 320, new Bgr(255, 0, 0));
Lecture d'image à partir d'un fichier
Création d'images à partir fichiers est aussi simple. Si le fichier image est "myImage.jpg", en C #, il
est
Image<Bgr, Byte> img1 = new Image<Bgr, Byte>("MyImage.jpg");
Création de l'image à partir de Bitmap
29
Il est également possible de créer une Image <TColor, TDepth> partir d'un objet Bitmap. Net. Le
code en C # serait être
Image<Bgr, Byte> img = new Image<Bgr, Byte>(bmp); //where bmp is a Bitmap
Automatic Garbage Collection
Le Image <TColor, classe TDepth> prend automatiquement en charge la gestion de la mémoire et de
la collecte des ordures.
Une fois que le garbage collector a décidé qu'il n'y a pas plus référence à l'image <TColor, objet
TDepth>, il sera appeler la méthode réglées, ce qui libère la structure de IplImage non géré.
Le temps de quand garbage collector décide de se défaire de l'image n'est pas garanti. Lorsque vous
travaillez avec un grand image, il est recommandé d'appeler la méthode Dispose () pour libérer
explicitement l'objet. Vous pouvez également utiliser l' utilisant le mot clé en C # pour limiter la
portée de l'image
using (Image<Gray, Single> image = new Image<Gray, Single>(1000, 800))
{
... // faire quelque chose ici, à l'image
} // L'image sera disposé ici et la mémoire libérée
Obtenir ou définir pixels
La façon sûre (lent)
• Supposons que vous travaillez sur une image <Bgr, byte>. Vous pouvez obtenir le pixel sur le y-
ième ligne et x-ième colonne par appel
Bgr color = img [y, x];
• Réglage du pixel sur le y-ième ligne et x-ième colonne est également simple
img [y, x] = couleurs;
La voie rapide
• L'image des valeurs de pixels sont stockés dans la propriété des données, un tableau 3D. Utilisez
cette propriété si vous avez besoin d'itérer à travers les valeurs de pixels de l'image.
Méthodes
Convention de nommage
30
• Méthode XYZ en image <TColor, classe TDepth> correspond à la fonction cvXYZ OpenCV. Par
exemple, Image <TColor, TDepth>. Fonction not () correspond à cvNot fonction avec l'image
résultante étant retourné.
• Méthode _xyz est généralement la même que la méthode XYZ sauf que l'opération est réalisée in-
situ plutôt que renvoi d'une valeur. Par exemple, l'image <TColor, TDepth>. _PAS () Effectue le
inplace d'inversion bit à bit.
Les opérateurs de surcharge
Les opérateurs + - * / a été surchargé (version> 1.2.2.0) de sorte qu'il est parfaitement légal de rédiger
des codes comme:
Image<Gray, Byte> image3 = (image1 + image2 - 2.0) * 0.5;
Opération Générique
Un des avantages de l'utilisation de Emgu CV est la capacité à effectuer des opérations génériques.
C'est mieux si je démontre cela par un exemple. Supposons que nous ayons une image en niveaux de
gris d'octets
Image<Gray, Byte> img1 = new Image<Gray, Byte>(400, 300, new Gray(30));
Pour inverser tous les pixels de cette image que nous pouvons appeler la fonction non
Image<Gray, Byte> img2 = img1.Not();
Comme alternative, on peut aussi utiliser la méthode générique Convert disponibles à partir de
l'image <TColor, TDepth> classe
Image<Gray, Byte> img3 = img1.Convert<Byte>( delegate(Byte b) { return (Byte) (255-b); });
L'image résultante img2 img3 et contient la même valeur pour chaque pixel.
À première vue, il ne serait pas semble être un gros gain lors de l'utilisation des opérations
génériques. En fait, depuis OpenCV a déjà une implémentation de la fonction et non en terme de
performance, il est mieux que la version générique de l'appel de fonction équivalente Convert.
Cependant, il arrive à des cas lorsque les fonctions génériques offrent la flexibilité avec pénalité de
performance mineures.
Disons que vous avez une image <Gray, Byte> img1 avec des pixels fixés. Vous souhaite créer une
seule image de canal à virgule flottante de la même taille, où chaque pixel de la nouvelle image,
correspondant à l'ancienne image, décrit avec le délégué suivant
delegate(Byte b) { return (Single) Math.cos( b * b / 255.0); }
Cette opération peut être complété comme suit dans Emgu CV
31
Image<Gray, Single> img4 = img1.Convert<Single>( delegate(Byte b) { return (Single) Math.cos( b
* b / 255.0); } );
La syntaxe est simple et significative. D'autre part, cette opération dans OpenCV est difficile à
réaliser car la fonction équivalente comme Math.cos n'est pas disponible.
Dessiner des objets sur l'image
Le tirage au sort () dans l'image <couleur, la profondeur> peut être utilisé pour attirer différents types
d'objets, y compris les polices, des lignes, des cercles, des rectangles, des boîtes, des ellipses ainsi
que les contours. Utilisez la documentation et IntelliSense comme un guide pour découvrir les
nombreuses fonctionnalités de la fonction Draw.
Couleur et conversion profondeur
Convertir une image <TColor, TDepth> entre les différentes couleurs et les profondeurs sont simples.
Par exemple, si vous avez l'image <Bgr, Byte> img1 et vous souhaite convertir une image en niveaux
de gris de simple, tout ce que vous devez faire est de
Image<Gray, Single> img2 = img1.Convert<Gray, Single>();
3.5 Affichage image
Utiliser ImageBox
Emgu CV recommande l'utilisation du contrôle ImageBox à des fins d'affichage, pour les raisons
suivantes:
• ImageBox est un contrôle de haute performance pour l'affichage de l'image. Chaque fois que
possible, il affiche une image bitmap qui partage la mémoire avec l'objet de l'image, donc pas de
copie de mémoire est nécessaire (très rapide).
• L'utilisateur sera en mesure d'examiner les valeurs d'image en pixels, taux d'image vidéo, les types
de couleurs lorsque l'image est affichée.
• Il est commode d'effectuer des opérations de simple image avec quelques clics de souris.
Conversion de Bitmap
La classe Image a une fonction de ToBitmap () qui retourne un objet Bitmap, qui peut facilement être
affichée sur un contrôle PictureBox utilisant Windows Form.
La sérialisation XML
Pourquoi dois-je m'inquiète?
32
Un de l'avenir de Emgu CV, c'est que l'image <TColor, TDepth> peut être XML serializated. Vous
pourriez vous demander pourquoi nous avons besoin de sérialisation d'une image. La réponse est
simple, nous souhaite l'utiliser dans un service web!
Comme le Image <TColor, TDepth> classe implémente ISerializable, lorsque vous travaillez dans
WCF (Windows Communication Fundation), vous êtes libre d'utiliser l'image <TColor,TDepth> type
comme paramètres ou la valeur de retour d'un service Web.
Ce sera idéal, par exemple, si vous construisez un cluster d'ordinateurs de reconnaître les différents
groupes de l'objet et disposer d'un ordinateur central pour coordonner les tâches. Je vais aussi être
utile si votre veut mettre en place un logiciel de contrôle à distance qui ne cessent image requête à
partir d'un serveur distant, qui utilisent la classe de capture dans Emgu CV pour capturer des images
de la caméra.
Conversion to XML
Vous pouvez utiliser le code suivant pour convertir un Image<Bgr, Byte> image à XmlDocument:
StringBuilder sb = new StringBuilder();
(new XmlSerializer(typeof(Image<Bgr, Byte>))).Serialize(new StringWriter(sb), o);
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(sb.ToString());
Conversion à partir de XML
Vous pouvez utiliser le code suivant pour convertir un XmlDocument xDoc à Image<Bgr,Byte>
Image<Bgr, Byte> image = (Image<Bgr, Byte>)
(new XmlSerializer(typeof(Image<Bgr, Byte>))).Deserialize(new XmlNodeReader(xDoc));
33
Chapitre 4
4. La modelisation conceptuelle pour l’application “Elaboration de l'application de la vision
temps réel de l'ordinateur.”
On va traiter les sujets suivants:
Modèle des cas d’utilisation
Le diagramme de cas d’utilisation représente la structure des grandes fonctionnalités
nécessaires aux utilisateurs du système. C’est le premier diagramme du modèle UML, celui où
s’assure la relation entre l’utilisateur et les objets que le système met en œuvre.
On va les élucider dans la première étape de la modélisation d’Application pour l’hôpital
gynécologique. Fiche de naissance de l’enfant.
Modèle du Domaine
Un modèle du domaine saisit les types d'objets les plus importants dans le contexte du
système. Les objets du domaine représentent les "choses" qui existent ou les événements qui se
produisent dans l'environnement au sein duquel fonctionne le système. Les classes du domaine se
représentent généralement sous trois formes:
- les objets métiers représentant les éléments mis en oeuvre dans une activité professionnelle;
- les objets et concepts du monde réel dont le système doit garder la trace;
- les événements s'étant produits ou devant se produire.
Création des diagrammes de séquence système (SSD). Description des détails des contrats
d’opération.
Le diagramme de séquence représente la succession chronologique des opérations réalisées
par un acteur. Il indique les objets que l’acteur va manipuler et les opérations qui font passer d’un
objet à l’autre.
Modélisation du comp. dans les diagrammes d’états-transitions et d’activités.
Le diagramme d’états-transitions représente la façon dont évoluent les objets appartenant à
une même classe. La modélisation du cycle de vie est essentielle pour représenter et mettre en forme
la dynamique du système.
Le diagramme d’activités n’est autre que la transcription dans UML de la représentation du
processus telle qu’elle a été élaborée lors du travail qui a préparé la modélisation : il montre
l’enchaînement des activités qui concourent au processus.
Diagrammes des composants et de déploiement.
Les diagrammes de composants et les diagrammes de déploiement sont les deux derniers
types de vues statiques en UML. Les premiers décrivent le système modélisé sous forme de
composants réutilisables et mettent en évidence leurs relations de dépendance. Les seconds se
34
rapprochent encore plus de la réalité physique, puisqu’ils identifient les éléments matériels, leur
disposition physique et la disposition des exécutables sur ces éléments matériels.
4.1 Cas d’utilisations :
Un cas d’utilisation est un document narratif qui décrit la séquence d’évènements dans
laquelle un acteur (un agent externe) utilise un système pour accomplir un processus.
Cas d’utilisation (usecase): Décrit un ensemble de séquences dans lequel chacune des
séquences représente l’interaction des acteurs avec le système lui-même. Représente les fonctions du
système visibles par les acteurs.
Acteur: Ensemble de rôles interprétés par les utilisateurs du système lorsque ceux-ci
interagissent avec le système à travers les cas d’utilisation. Il s’agit d’une entité externe au système
qui interagit avec celui-ci.
Parties prenantes et intérêts: Liste des personnes qui sont impliqués dans le cas d’utilisation et
ce qu’ils souhaitent.
Pré conditions: Conditions qui doivent être vraies avant le début du scénario
Garanties en cas de succès (post conditions): Conditions qui doivent être vraies lorsque le cas
d’utilisation se termine avec succès.
35
uc Primary Use Cases
Ajouter des information
System Boundary
Administrateur
Ajouter nouv el enregistrement
Supprimer l'enregistrement
Ajoutez le nom
Ajoutez le prenom
Ajouter des photos
Sauv er en DB
Modifierd des enregistrement
Autentification
Afficher le journal
«include»
«include»
«include»
«include»
Figure 4.1 Cas des d’utilisations pour le système entier
Use Case UC 1 – Authentification
Principaux acteurs : Les utilisateurs enregistrés, les administrateurs.
Les intervenants et intérêts :
- Tous les utilisateurs souhaitent que le processus doive être simple, rapide, sûr et qu’ils reçoivent leurs
niveaux d’accès.
Pré-conditions:
L’usager doit accéder la page d’authentification;
Le compte est active ;
les informations d’identification complétées.
Post-conditions:
L’authentification avec succès;
L’usager est autorisé sur ses droits dans le système.
Scenario:
1. L’usager saisit la page d’authentification.
2. L’usager soumis ses données dans les champs notés.
3. Le système amène l’usager à la page d’accueil.
36
Extensions :
2.a. Le nom ou le mot de passe n’est pas valide.
o Un message d’erreur est affiche sur l’écran.
Exigences particulières :
- version du client doit être installé.
- connexion existante au serveur
Fréquence d’utilisation :
- Souvent.
Use Case UC 2 – A jouter nouvel enregistrement:
Principaux acteurs : L'utilisateur connecté
Les intervenants et intérêts :
- Suivi ensemble du personnel, en les plaçant dans la base de données pour être reconnu.
Pré-conditions:
L’usager doit accéder la page d’authentification;
Le compte est active ;
les informations d’identification complétées.
Post-conditions:
l'utilisateur fait une nouvelle insertion de la base de données;
l’utilisateur est déjà existant dans la base de données et peut être reconnu par le système.
Scenario:
4. L’utilisateur accède au bouton à la forme de l'ajout d'un nouvel enregistrement
5. L’utilisateur remplit le formulaire d'enregistrement des travailleurs
6. L’utilisateur enregistre les données soumises
Extensions :
2.a. Dispositif de capture d'image ne peut pas être trouvé
o Un message d’erreur est affiche sur l’écran.
Exigences particulières :
- version du client doit être installé.
- connexion existante au serveur.
- Doit être exist le dispositif de capture d'image
Fréquence d’utilisation :
- Ne pas souvent.
Use Case UC 3 – Modifier l’enregistrement:
Principaux acteurs : L'utilisateur connecté
37
Les intervenants et intérêts :
- Correction et mise à jour des informations sur les travailleurs.
Pré-conditions:
L’usager doit etre identifié/connecte au systeme;
L’entrées existantes dans la base de données;
Post-conditions:
records sont actualisées;
l’utilisateur est déjà existant dans la base de données et peut être reconnu par le système.
Scenario:
7. L’utilisateur accède au bouton à la forme de modifier enregistrement
8. L’utilisateur remplit le formulaire d'enregistrement des travailleurs
9. L’utilisateur enregistre les données nouveaux.
Extensions :
2.a. Dispositif de capture d'image ne peut pas être trouvé
o Un message d’erreur est affiche sur l’écran.
Exigences particulières :
- version du client doit être installé.
- connexion existante au serveur.
- Doit être exist le dispositif de capture d'image
- Doit être les enregistrement
Fréquence d’utilisation :
- Ne pas souvent.
Use Case UC 4 – Supprimer des enregistrement:
Principaux acteurs : L'utilisateur connecté
Les intervenants et intérêts :
- Supprimer des informations sur les travailleurs.
Pré-conditions:
L’usager doit etre identifié/connecte au systeme;
L’entrées existantes dans la base de données;
Post-conditions:
l'information est supprimée de la base de données;
utilisateur supprimé n'est plus reconnu par le système.
Scenario:
10. L’utilisateur accède au bouton supprimer enregistrement
11. L’utilisateur accepter la suppression des données.
38
Extensions :
2.a. L'utilisateur ne peut pas se supprimer
o Un message d’erreur est affiche sur l’écran.
Exigences particulières :
- version du client doit être installé.
- connexion existante au serveur.
- Doit être les enregistrement
Fréquence d’utilisation :
Ne pas souvent.
Use Case UC 5 – Afficher le journal:
Principaux acteurs : L'utilisateur connecté
Les intervenants et intérêts :
- Affichage enregistre chaque travaillée et heure il a été observé.
Pré-conditions:
L’usager doit etre identifié/connecte au systeme;
L’entrées existantes dans la base de données;
Le dispositif de suivi doit être connecté
Post-conditions:
l'information est enregistré sur la base de données;
enregistrements sont présentés pour être vu.
Scenario:
12. L’utilisateur accède au bouton afficher les enregistrement
Extensions :
2.a. Il n'y a aucun enregistrement
o Un message d’ informations est affiche sur l’écran.
Exigences particulières :
- version du client doit être installé.
- connexion existante au serveur.
- doit être existe les enregistrement
Fréquence d’utilisation :
Souvent.
4.2 Les diagrammes SSD et leur description.
Dans la (Figure 4.2) est represente l’interaction de l’acteur « Administrateur » avec le systeme,
premierement s'identifier sur le systeme.
39
sd Business Process Model
Administrateur System
loginUser(login, password)
validateUser()
systemAutorization(UserObject)userAutentified() :boolean
Figure 4.2 Diagramme SSD « Login Usager »
Opération: login(login, password)
Références (Use Case) : Authentification
Pré-condition : l’usager introduit les données personnelles
Post-condition : les données sont affichées à l’écran
Opération: validateUser(login, password)
Références (Use Case) : Authentification
le système fait une requête vers la base de données, vérifie l’usager et fait la validation.
Post-condition : la base reçoive les données
Opération: verifieUser(login, password)
Références (Use Case) : Authentification
Pré-condition : la base vérifier si un tel utilisateur existe ou les données sont vrais
Post-condition : la validation est faite et le système passe le résultat.
Opération: authorizationInSystem()
Références (Use Case) : Authentification
Pré-condition : le message de la validation est positif
Post-condition : l’usager est autorisé dans le système avec les droits
spécifiés.
Dans la (Figure 4.3) est represente l’interaction de l’acteur « Administrateur » avec le systeme, pour
faire un nouveau record, administrateur remplit les champs avec le nom de nom et ajouter une image
40
de la personne
sd Ajouter nouv el enregistrement
Administrateur
GUI DataBase
NouvelEnregistrement(id)
return(id)
AddNume(nume)
AddPrenom(nume)
return(string)
SaveAllData(id)
VerifierInformation(id)
EnregistremenSuprimer(id)
ShowDetails(id)
Figure 4.3 Diagramme SSD « Ajouter nouvelle enregistrement »
Opération: NouvelEnregistrement(id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : l’usager introduit les données pur chaque personne.
Post-condition : les données sont affichées à l’écran
Opération: AddNume(nume)
Références (Use Case) : Ajouter nouvelle enregistrement
entrer le nom
Post-condition : la base reçoive les données
Opération: AddPrenume(prenume)
Références (Use Case) : Ajouter nouvelle enregistrement
entrer le prenom
Post-condition : la base reçoive les données
Opération: SaveAllData(id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : le message de la sauver est positif
Post-condition : la base reçoive les données
41
Opération: VerifierInformation(id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : le message de la sauver est positif
Post-condition : la base reçoive les données.
Opération: EnregistremenSuprimer (id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : le message de la verifie est positif
Post-condition : Les données seront enregistrées
Dans la (Figure 4.4) est represente l’interaction de l’acteur « Administrateur » avec le
systeme, pour modifier record, administrateur changer les champs avec le nom de nom et ajouter une
image de la personne
sd ModifierDiagram
Administrateur
GUI DataBase
ModifierEnregistrement(id)
GetEnregistrement(id)
ReturnEnregistrement(id)
return(id)
ModifierNume(nume)
ModifierPrenom(prenume)
ModifierPhoto()
SaveAllData()
ModifierSupprimer()
ReturnSupprimer()
return()
Figure 4.4 Diagramme SSD « Modifier d’enregistrement »
Opération: ModifierEnregistrement(id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : l’usager introduit les données pur chaque personne.
42
Post-condition : les données sont affichées à l’écran
Opération: ModifierEnregistrement (id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : l’usager introduit les données pur chaque personne.
Post-condition : les données sont affichées à l’écran
Opération: ModifierNume(nume)
Références (Use Case) : Ajouter nouvelle enregistrement
entrer le nom
Post-condition : la base reçoive les données
Opération: ModifierPrenume(prenume)
Références (Use Case) : Ajouter nouvelle enregistrement
entrer le prenom
Post-condition : la base reçoive les données
Opération: SaveAllData(id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : le message de la sauver est positif
Post-condition : la base reçoive les données
Opération: VerifierInformation(id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : le message de la sauver est positif
Post-condition : la base reçoive les données.
Opération: ModifierSuprimer (id)
Références (Use Case) : Ajouter nouvelle enregistrement
Pré-condition : le message de la verifie est positif
Post-condition : Les données seront enregistrées
Dans la (Figure 4.5) est represente l’interaction de l’acteur « Administrateur » avec le
systeme, pour supprimer l'enregistremen du personne deja existente en base de donnes
43
sd SupprimerProcess Model
Administrateur
DateBaseGUI
SupprimerEnregistrement(id)
Delete(id)
DeleteReturn()
return() :boolean
Figure 4.5 Diagramme SSD « Effacer une enregistrement »
Opération: accesSupprimerEnregistrement(id)
Références (Use Case) : Supprimer l'enregistrement
l’utilisateur doit être authentifié avec succès
Post-condition : la fenêtre pour effacer un enregistrement existente
Opération: accesDelete(id)
Références (Use Case) : Supprimer l'enregistrement
l'enregistrement doir existe
Post-condition : l’objet est détruit est effacer de la base de données
4.3 Modèle du Domaine
Le modèle du domaine est une représentation visuelle d’une classe ou des objets dans
situations réelles d’un certain domaine.Un système conceptuel se réalise sans des artéfacts du
système, des responsabilités ou des méthodes.
Les classes conceptuelles des modèles du domaine contiennent :
- Des symboles (mots, images)
- Intension (la définition)
- Extension (un set des exemples)
Pour créer un modèle du domaine il faut utiliser des listes avec des catégories ou le scenario
de base.
Il y a aussi la conception des classes descriptives qui contient une information générale qui
ne se réfère pas à l’exemple concret du l’issue.
44
L’architecture logique du système est une organisation des classes dans des paquets, sous-
systèmes, couches (groupage des classes).
class Domain Objects
Ev ents
FacesRecognitionEv ent
- clasification: string- loadTrainingFaces: string
EigenFaceGen
- averageFace: KMatrix- eigValues: KMatrix- eigVector: KMatrix- trained: boolean
EuclideanDistance
+ distanceBetween(fv1: FeatureVector,fv2:FeatureVector)() : number
FeatureSpace
- clasification: array- euclideanDistance: EuclideanDistance- featureSpace: array
FaceRecognition
- ammountOfTrainedFaces: uint- facesArray: array- featuredSpace: FeatureSpace- imageHeigt: uint- imageWidth: uint
FeatureVector
- classification: int- face: FACE- featureVector: array
Picture
+ getImagePixels() : array+ Picture() : bitMapData
Face
- classification: string- description: string- faceURL: string- picture: PICTURE
FacesEv ent
- face: FACE- faceLoader: string
1..*
DistanceMeasure
1..*
1..*featureSpace1..*
1..*
eigenface
1..*
1
obtain
1..*1
describe
1
Figure 4.6. Diagramme Domain Model
Pour l’élaboration du Modèle du Domaine on a utilisé la liste des catégories :
et le scenario de base des chapitres précédentes, par exemple :
L’utilisateur choisi l’option d’ajouter une nouvelle enregistrement.
L’utilisateur choisi la option de reconnaissance.
Ces deux techniques ont été appliquées pour réaliser le modèle conceptuel.
4.4 Modélisation du comportement dans les diagrammes d’états-transitions et d’activités.
45
Le diagramme d'activité est un diagramme comportemental d'UML, permettant de représenter le
déclenchement d'événements en fonction des états du système et de modéliser des comportements
parallélisables (multi-threads ou multi-processus).
Un diagramme d'activité permet de modéliser un processus interactif, global ou partiel pour un
système donné (logiciel, système d'information). Il est recommandable pour exprimer une dimension
temporelle sur une partie du modèle, à partir de diagrammes de classes ou de cas d'utilisation, par
exemple.
Le diagramme d'activités est une représentation proche de l'organigramme ; la description d'un cas
d'utilisation par un diagramme d'activités correspond à sa traduction algorithmique. Une activité est
l'exécution d'une partie du cas d'utilisation, elle est représentée par un rectangle aux bords arrondis.
Le diagramme d'activité est sémantiquement proche des diagrammes de communication (appelés
diagramme de collaboration en UML 1), ou d'état-transitions, ces derniers offrant une vision
microscopique des objets du système.
Le diagramme d'activité présente une vision macroscopique et temporelle du système modélisé :
Action
Action structure
Historique
Fusion
Décision
Joint et fork
Un diagramme états-transitions est un schéma utilisé en génie logiciel pour représenter des
automates déterministes. Il fait partie du modèle UML et s'inspire principalement du formalisme des
statecharts et rappelle les grafcets des automates. S'ils ne permettent pas de comprendre globalement
le fonctionnement du système, ils sont directement transposables en algorithme. Tous les automates
d'un système s'exécutent parallèlement et peuvent donc changer d'état de façon indépendante.
En plus des états de départ (au moins un) et d'arrivée (nombre quelconque), une transition
peut comporter les éléments facultatifs suivants :
Un évènement
Une condition de garde
46
Une liste d'actions
Quand l'événement se produit alors que les états de départ sont actifs et que la condition de
garde est vraie alors les actions seront déclenchées.
Cette exécution est enrichie lorsque les états définissent une action d'entrée et une action de
sortie : l'action de sortie de l'état de départ est exécutée d'abord, puis l'action de la transition, puis
l'action de l'état d'arrivée.
deployment Network
acces form for enregistrement
prepare UI to adding enregistremen
fill cell whit data
«capture»picture
confirm action capure picture
Check for camera data stream
Map to RGB
no camera found
ExitPoint
check definied face
v erified information
publish info
Final
display info
error mesage
«rejected»picture
[ok]
[camera not found] [exit]
[try again]
[all fi l l completed]
[fi l l incompleted]
Figure 4.7. Diagramme Insérer un enregistrement
Dans ce diagramme on évoque l’activité d’enregistrement sur cette application.
L’utilisateur choisi l’option de enregistrer les nouveau personne.
47
Le module de procession vérifie les données introduites dans les champs disponibles. Dans le cas
d’insuccès, le système montre un message d’erreur et L’utilisateur doit introduire les données de
nouveau. Au contraire, le module de procession accomplie la requête.
stm searching
Inactiv
Tracking Photo Searching Result Displayed
Final
Match not found
[start]
[Tracking face]
[photo tracked]/Search()
[display result ifres>0] /Display()
[display "Match not found"]/DispNotFound()
Figure 4.8. La recherche dans l’application
4.5 Diagrammes des composants et de déploiement
Les diagrammes de composants et les diagrammes de déploiement sont les deux derniers
types de vues statiques en UML. Les premiers décrivent le système modélisé sous forme de
composants réutilisables et mettent en évidence leurs relations de dépendance. Les seconds se
rapprochent encore plus de la réalité physique, puisqu’ils identifient les éléments matériels (PC,
Modem, Station de travail, Serveur, etc.), leur disposition physique (connexions) et la disposition des
exécutables (représentés par des composants) sur ces éléments matériels.
Un composant doit fournir un service bien précis. Les fonctionnalités qu’il encapsule doivent
être cohérentes entre elles et génériques (par opposition à spécialisées) puisque sa vocation est d’être
réutilisable.
Un composant est une unité autonome représentée par un classeur structuré, stéréotypé
«component», comportant une ou plusieurs interfaces requises ou offertes. Son comportement
interne, généralement réalisé par un ensemble de classes, est totalement masqué : seules ses
interfaces sont visibles. La seule contrainte pour pouvoir substituer un composant par un autre est de
respecter les interfaces requises et offertes.
Un diagramme de déploiement décrit la disposition physique des ressources matérielles qui
composent le système et montre la répartition des composants sur ces matériels. Chaque ressource
48
étant matérialisée par un nœud, le diagramme de déploiement précise comment les composants sont
répartis sur les nœuds et quelles sont les connexions entre les composants ou les nœuds. Les
diagrammes de déploiement existent sous deux formes : spécification et instance.
Un artefact correspond à un élément concret existant dans le monde réel (document,
exécutable, fichier, tables de bases de données, script, …). Il se représente comme un classeur par un
rectangle contenant le mot-clé «artifact» suivi du nom de l’artefact.
Une instance d’un artefact se déploie sur une instance de nœud. Graphiquement, on utilise
une relation de dépendance (flèche en trait pointillé) stéréotypée «deploy» pointant vers le nœud en
question. L’artefact peut aussi être inclus directement dans le cube représentant le nœud. En toute
rigueur, seul des artefacts doivent être déployés sur des nœuds. Un composant doit donc être
manifesté par un artefact qui, lui-même, peut être déployé sur un nœud.
Voila les diagrammes de composantes et de déploiement du cette application.
Modèle d’application – sépare quatre components :
ServerAppLogic - le component que est responsable pour la logique d’application pour serveur
ClientAppLogic – le component que est responsable pour la logique d’application pour l’usager
SystemFile – responsable pour l’interaction de l’application avec le système des fichiers du système
d’opération
ClientVersion – le component qui soutien la visualisation des pages à l’usager
cmp Components
System File
Serv erAppLogicClientAppLogic
GUI
Figure 4.9. Modèle d’application
Modèle de la logique de l’application
Schéma des composants permet la représentation des composants logiciels utilisés pour l'assemblage
49
et la mise en œuvre du système, il modélise l'apparence et la compatibilité de l'application logicielle.
Le système utilisation du schéma de modélisation est importante parce que les composants:
identification des problèmes de relations du système de configuration de la dépendance; composants
logiciels INMEDIATA de forme pour la mise en œuvre, d'identifier les problèmes d'incompatibilité
entre les composants sans la nécessité, à travers l'ensemble du code de programme, peuvent jouer une
image claire de la possibilité de modifier ou d'étendre le système existent.În schéma ci-dessus sont
des composants et des modules système. Il montre la dépendance entre les composants et leur
interaction.
deployment Nodes
serv er
ConnectorServ er
«table»DBTable
Imprimer
GUIDB
configFile tempFile
passer
Figure 4.10. Modèle logique de l’application
4.6 Diagramme de déploiement
L'emplacement du diagramme est la manière dont le système est installé dans un
infrastructure matérielle. Il illustre l'architecture physique des composants matériels utilisés. Chaque
noeud dans un emplacement graphique est un type de matériel tel qu'un serveur, un réseau, un disque,
un ordinateur client ou un processeur. Le nœud peut être un individu, une unité organisationnelle ou
poste occupé par une personne, les nœuds sont comme des classes. Représente le type et les
caractéristiques de chaque élément. Comme les classes sont reliées / associées à la combinaison qui
explique comment les nœuds peuvent être connectés
50
deployment Artifacts
«device»User Machine
A
ClientVersion
«device»Serv er
Serv erApp DataBase
Request/Reponse
Figure 4.11. Diagramme de déploiement
On distingue deux nœuds de base et un sous-nœud - La machine client avec les spécifications
minimaux et la machine serveur ou les données sont traitées et interprétées par le ServerApp.
Donc, on a décrit l'architecture physique et statique d'une application en termes de modules :
fichiers sources, librairies, exécutables, etc. et on a effectué la disposition physique des matériels qui
composent le système et la répartition des composants sur ces matériels. Les ressources matérielles
sont représentées sous forme de nœuds.
4.7 Conclusions générales sur le projet concernant l’objet Analyse et Conception Orientée Objet
et les logiciels UML
La modélisation est une étape d’une importance majeure dans le processus du développent
d’un système. Le modèle permet une abstraction des objets du monde réel pour comprendre d’une
manière plus éloquente leurs interactions.
Dans le processus de la modélisation d’application, on a identifié deux particularités sur les
quelles est fondé le langage de modélisation UML. Ces sont : les éléments de modélisation et la
sémantique de ces éléments – leur définition et le sens de leur utilisation. De plus que ça, on a utilisé
plusieurs vues complémentaires qui ont guidé l’utilisation des concepts objets et les plusieurs niveaux
d’abstraction pour contrôler la complexité dans l’expression de solution objets.
Revenant aux étapes de la modélisation, la spécification des diagrammes d’états-transitions a
conduit immédiatement au code. Généralement, elles ne permettent pas pour autant d’expliquer le
fonctionnement global d’un système, car elles se concentrent sur un seul objet à la fois. Mais, c’est
sont les diagrammes d’activité qui permettent d’offrir une vue plus holistique du comportement d’un
jeu d’objets, appelée action.
51
Finalement, pour compléter la modélisation du système par son architecture physique et
statique et leur répartition, on a élaboré les diagrammes de components et du déploiement.
En conclusion, le langage UML est un cadre d’analyse superbe et un support de
communication efficace pour exprimer visuellement une solution objet. Il permet un gain de
précision et un gage de stabilité. En fait, ce langage encourage l’utilisation d’outils dans le processus
de modélisation.
Donc, UML facilite la compréhension de représentations abstraites complexes.
Chapitre 5
5. La mise en oeuvre d'application
5.1 Première déclarer toutes les variables des objets importants à utiliser:
Figure 5.1 Déclarer toutes les variables
5.2 Puis charger les haarcascades pour la détection de visage, puis je fais une "procédure" peu de
charger des visages et des étiquettes formés précédentes pour chaque image enregistrée
précédemment:
52
Figure 5.2 Méthode Haarcascades pour la détection de visage
Initialiser le dispositif de capture, et FrameGrabber événement qui effectue le processus de
détection et d'images pour chaque image capturée:
Figure 5.3 Initialiser le FrameGrabber événement
Passant à l'événement de framegrabber (partie principale de prototype) nous utilisons des
méthodes et des objets les plus importants: DetectHaarCascade Et EigenObjectRecognizer et
effectuer des opérations pour chaque visage détecté dans une image Figure 5.4:
53
Figure 5.4 Méthodes de reconnaissance de chaque visage
Paramètres:
haarObj: Haar classificateur cascade dans scaleFactor de représentation interne: Le facteur par
lequel la fenêtre de recherche est mis à l'échelle entre les analyses ultérieures, par exemple, 1.1
signifie que fenêtre en hausse de 10%
minNeighbors: Nombre minimum (moins 1) de rectangles voisins qui composent un objet. Tous
les groupes d'un petit nombre de rectangles que min_neighbors-1 sont rejetées. Si min_neighbors
est 0, la fonction ne fait pas tout groupement à tous et renvoie tous les rectangles candidats détectés,
ce qui peut être utile si l'utilisateur souhaite appliquer une procédure de regroupement personnalisée
flag: Mode de fonctionnement. Actuellement, le seul drapeau qui peut être spécifiée est
CV_HAAR_DO_CANNY_PRUNING. Si elle est activée, la fonction utilise détecteur de Canny de
rejeter certaines régions d'image qui contiennent trop peu ou trop de bords et donc ne peut pas
contenir l'objet recherché. Les valeurs de seuil particulières sont réglées en fonction de détection de
visage, et dans ce cas, la taille permet d'accélérer le traitement.
54
minSize: taille de la fenêtre minimale. Par défaut, il est réglé sur la taille des échantillons, le
classificateur a été formé sur (~ 20x20 pour la détection de visage)
5.2 Comment former le prototype
Je fais cette partie la plus facile possible, le prototype de détecter les visages en permanence (chaque
frame) et vous pouvez ajouter ce visage détecté dans la base de données d'image avec une étiquette
respectable, l'image formée de visage apparaîtra dans le imageBoxFrameGrabber et le processus sera
terminé! !
Gardez à l'esprit: Les algorithmes de reconnaissance de visage en fonction de PCA (Analyse en
Composantes Principales) font des comparaisons multiples et les matches entre un visage détecté et
les images formées stockées dans la base de données binaire pour cette raison et pour améliorer la
précision de reconnaissance, vous devez ajouter plusieurs images de la même personne à différents
angles, positions et des conditions de luminance, cette formation ne ce prototype solide et très précis.
Exemple en Figure 5.5 :
55
Figure 5.5 Ajouter du visage en base de donnees
Code de touche de la formation (Ce effectuer l'ajout de visages de formation et des étiquettes
pour chacun):
Figure 5.6 Le code pour ajouter de nouveaux visages
5.3 Comment améliorer la reconnaissance?
Les paramètres par défaut (scale_factor = 1.1, min_neighbors = 3, flags = 0) sont réglés pour
la détection d'objets précis encore lent.
Aussi, vous pouvez modifier la taille d'une grande valeur, modifier cela dans le code
suivant:
56
Figure 5.6 modifier la taille d'une grande valeur
En outre modifier le 3ème paramètre à 2500 ou 3000 au lieu de 5000, cette modification-
vous que les EigenObjectRecognizer être plus strict / précis.
Figure 5.6 Valeurs propres visage de reconnaissance
Figure 5.7 Reconnaissance de visage déjà introduit sur la base de données
Chapitre 6
6. Partie economique
6.1. Description économique du système:
L'évaluation sur système d'information est conçu pour être appelé en raison de justification
technique - nouveau système économique. Qui détermine si elle paie d'introduire un nouveau système
57
d'information sera de retour pour déterminer si oui ou non les dépenses des systèmes d'information
liés à l'élaboration et à la mise en œuvre.
Dans le cas présent sont considérés comme deux facteurs sont utilisés pour évaluer l'efficacité du
nouveau système d'information: stockage de l'information minimiser le travail, réduire les coûts de
stockage.
Les dépenses sont constituées des investissements pour le développement et la mise en œuvre de
l'information et leurs coûts d'exploitation.
Dans ce problème, il est possible d'effectuer les dépenses suivantes:
a) Les dépenses pour la réalisation de système d'information de reconnaissance faciale;
b) Charges d'exploitation:
1) La rémunération du personnel;
2) le maintien des programmes;
3) les consommables, l'électricité et l'amortissement du matériel, etc.
6.1.2 Estimation
Pour mieux gérer le temps et les taches à réaliser j’ai partage mon projet en plusieurs parties. A
chaque partie en dépendance de son volume est liée une periode du temps pour sa realisation. J’ai
utilise une table pour representer l’estimation des repartitions des charges du projet.
Tableau 1 Estimation des repartitions
Phase Part,%
Etude prealable
1. Analyse des tâches du projet.
2. Timing.
3. Création des documents techniques.
4. L'analyse des méthodes déjà connue de la mise en œuvre d'autres projets
similaires qui peuvent être utilisés.
10
Etude detaillee
6. Élaboration la structure du projet.
7. Elaboration du Design.
20
10
58
Realisation
8. Création d'application.
9. D'essai, d'éliminer les erreurs et améliorer l'application.
40
10
10. Livraison. 10
Le temps utilisee pour la realisation du projet doit etre aussi, tres bien gere. Pour chaque
action il faut fixer une periode presque exacte pour la realisation d’une tache. Il faut laiser un peu du
temps comme reserve pour la resolution des problemes qui peuvent intervenir pendant la realisation
du projet.
Tableau 2 Estimation du temps
Nr. Nom de l’action Objectifs Jours Ressources Responsabl
e
1 Analyse des tâches du
projet.
-Etablir les spécifications du
produit;
- Etudier les
applications existantes;
- Choisir le framework
convenable et les outils;
- Installation de l'outil de
développement du logiciel;
- Choisir la documentation
appropriée;
6 PC, connexion a
l’internet
Chef de
projet
2 Timing -Développement de tâches et
l'attribution de temps pour
chaque
6 PC, connexion a
l’internet
Chef de
projet
3 Création des
documents technique
s.
-Créer de la documentation
pour la maintenance ultérieure
du système
8 PC, connexion a
l’internet
Chef de
projet
59
4 L'analyse des
méthodes déjà
connue
- Analyse les méthodes déjà
utilisées dans d'autres projets
réels
12 PC, connexion a
l’internet
Développeu
r
5 Installation/
configuration du
OS/logiciel nécessaire
4 PC, connexion a
l’internet
Développeu
r
6 Élaboration la
structure du projet.
-Développer ensemble du
projet (cas d'utilisation, le
modèle de classe, etc.)
10 PC, connexion a
l’internet,visiter
un depot pour
mieux
comprendre son
fonctionement.
Analyste
7 Elaboration du
Design.
- les différentes unités
logicielles réalisant un
traitement élémentaire, et
nécessaires à la construction du
composant logiciel, seront
caractérisées et documentées
(rôle, entrées, sorties).
- L'analyse détaillée et sa
documentation doivent
permettre le codage immédiat
des procédures sans aucun
besoin d'information
supplémentaire.
10 PC, connexion a
l’internet,visiter
un depot pour
mieux
comprendre son
fonctionement.
Analyst
8 Création
d'application.
- Diviser l’application en
modules;
- Mettre en œuvre chaque
module;
40 PC, connexion a
l’internet
Développeu
r
9 D’essai, d’éliminer le
s
erreurs d’application.
- Établir les scénarios de test ;
- Attribuer des scénarios de test
pour les membres de l’équipe ;
- Recueillir les commentaires
des bêta-testeurs ;
- Mise à
10 PC, connexion a
l’internet
Testeur
60
jour des spécifications, si
nécessaire ;
10 Livraison. Installation du système au
client
4 PC, connexion a
l’internet
Chef de
projet
11 Total 110
Nombre de jours pour chaque personne : 1 Chef de projet 24
2 Analyste 20
3 Developpeur 56
4 Testeur 10
6.2 Calculs economiques
6.2.1 Le budget
Les produits software utilisees pour la realisation du cet projet sont indiques dans la table
suivante . La plupart des des produits programme utilisees sont open-source mais il y a et des
produits pour lequels il faut payer.
Tableau 3 Actives non-materiels a long terms
Nr. Designation Un.
mas
Prix
lei
Quantite Valeur d’entree, lei
1. Microsoft Visual
Studio 2010
unite 5000 1 5000
2. Microsoft Office 2010
Service Pack 1
unite 4000 1 4000
3. Enterprise Architect unite 2700 1 2200
4. Microsoft Windows
XP
unite 1000 1 1000
Totale 12200
61
Les materiaux utilisees pour la realisation du projet(ordinateur, switch, HDD,SSD). Pour la
realisation j’ai eu besoin des plusieurs materiaux. Pour les representer j’ai utilise une table.
Tableau 4 Actives materiels a long terms
Nr. Designation Un.
mas
Prix
lei
Quantite Valeur d’entree, lei
1. Ordinateur Extensa
5630EZ
unite 4500 2 9000
2. Imprimante HP unite 3200 1 3200
Totale 12200
Tableau 5 La consommation de matières directes
Nr. Designation Un. masPrix
leiQuantite Montatnt, lei
1 Disque CD 700 MB Unite 8 5 40
2 USB Flash 4 GB Unite 125 1 113
3 Disque DVD 4,7 GB Unite 16 3 48
4 Stylo Unite 5 1 5
5 Papier A4 Unite 0,5 200 100
6 Livres Unite 150 3 450
7 Bloc-notes pour notes Unite 10 5 50
Totale
788
6.2.2 Remuneration du travail
Pour le développement de projet, nous avons besoin des personnes suivantes::
- Chef de projet
- Analyste
62
- Developpeur Visual Basic
- Tester
- Administrateur
Chacun des spécialistes doivent avoir certaines capacités et satisfaire à certaines spécifications.
CHEF DE PROJET
- Connaissance de l'architecture logicielle et la conception du programme,l'expérience de
conception de logiciels, minimum 3 ans d'expérience
- Grossesse - de proposer une solution pour former une équipe de projet pour atteindre la
solution intelligente, à créer des conditions de travail normales de l'équipe pour
superviser le processus de développement du logiciel, la planification de faire à moyen
et long terme le processus de développement.
- Période d'activité dans le projet - 1 an.
ANALYSTE
- Doit avoir une expérience dans la conception de logiciels
- Tâche - préparation de la documentation, des sources, des diagrammes, desmodèles du produit final,
les négociations à la clientèle
- Période d'activité dans le projet - projet d'un mois plus tôt
DEVELOPPEUR VB (Programmateur):
- Posséder des connaissances en Visual Basic
- Mettre en œuvre les tâches proposées par le chef de projet
- Base de données de contact, expérience dans la mise en œuvre d'applicationsWindows
- Période initiale de 10 mois d'engagement
TESTEUR:
- Des compétences dans la mise en œuvre du scénario de test, de cas d'utilisation.
- Tâche - la création d'un scénario de suites de test, test erreurs la création de rapports, si nécessaire
- Période de participation - 2 mois, 1 mois au milieu et 1 mois à la fin du projet
ADMINISTRATEUR
- La personne qui préparera les postes de travail pour le projet
- Compétente dans resursleor gestion financière et matérielle
63
- Période d'engagement - 1 an
Tableau 6 Temp du travail/remuneration du travail
Nr.
d/o
Travailleur (fonction) Volume de
travail, jours
Salaire contractuel
par unite, lei
FSB, lei
I II IV V VI
1 Chef de projet 24 450 10800,00
2 Analyste 20 250 5000,00
3 Developpeur 56 210 11760,00
4 Testeur 10 170 1700,00
6 Total 110 29260
Le Developpeur avec le salaire de 210 lei/jour va travailler 56 jours. Donc son salaire brut pour la
période du travail sans des primes et prix sera :
210 * 56 = 11760 lei.
a) FP=6%*11760=705,6 lei
FAM=3.5%*20000= 411,6 lei
b) Revenu imposable
V i=V B−FP−FAM−S iP−S M
Ou :
V i------revenu imposable
V B------revenu brut
FP-------- Fond de Retraite (asurance sociale)
F AM--------Fond Asurance Medicale
SP-------exemption personnele
SiP------- exemption pour une personne a charge
SM-------exemtion personnele majeure
64
V i=11760-705,6-411,6= 10642,8 lei
c) Revenu net en apliquant les impots en vigueur :
V N=V B−I V −F P−F AM−S M
Ou :
V B------revenu brut
I V------impot sur le cevenu
FP-------- Fond de Retraite (asurance sociale)
F AM -------- Fond Asurance Medicale
I V=V I−I=10642,8∗7 %=745 lei
I------Impot sur le revenu
-pour revenu jusqu’a 26700 lei---on aplique le taux d’imposition 7%
-pour revenu qui dépasse--- on applique le taux d’imposition 18%
V N=11760-745-705,6-411,6 =9897,8 lei
6.2.3 Les frais indirects
La dépendance de ces coûts dépendent de l'utilisation des ordinateurs et de la lumière ambiante dans
les lieux de travail.
L'ordinateur est utilisé pendant toute la période de préparation des projets, afin de
fonctionnement 8 heures pendant 110 jours. Pour la realization de cette application on utilize 2
ordinateurs à 350 W chaque.
65
(8 heure/jour * 110 jour * 350 W/h)/1000 * 2 = 616 kW
Pour illuminer la chambre est utilize 2 iluminateurs avec la consommation d'énergie électrique
d'éclairage égal à 75 W
(8 heure/jour * 110 jour * 75 W/h)/1000 * 2 = 132 kW
Tableau 7 Les frais indirects
Designation Un. Mas. Quantite Taux/un, lei Valeur totale, lei
Location de la
sallepiece 1 1500 1500
Electricite kw 748 1.48 1122
Connexion Internet abonnement 5 150 750
Totale 3372
6.2.4 Fonds d’amortissement AMTL et ANTL
Une partie importante des coûts indirects c'est le calcul du fond d'amortissement.
La méthode de l'amortissement linéaire (méthode linéaire) - la somme de l'usure est
déterminée par le rapport entre la valeur de l’usure sur le nombre d'années de la durée de
fonctionnement utile.
Uan = MFvuz / T ou
Uan = MFvuz x Nuz /100%
Uan – la somme de l'amortissement annuel;
MFvuz – la valeur de l’usure d'actifs immobiles:
MFvuz = MFvi - MFvr
MFvi –la valeur initiale d'actifs immobiles;
MFvr –la valeur restante d'actifs immobiles;
66
Nuz –la norme de l'usure - est la mesureen pourcentage de la valeur d'actifs immobiles qui annuelle
est transféré dans les coûts de la production fabriqué, %.
J’ai achete techinique de calcul en valeur initiale de 12200 lei. La valeur restante apres utilisation est
5000 lei. La periode d’utilisation est 100 jours ou 5 mois.
a)Calcule du fond d’amortissement pour actifs matériels en utilisant la methode lineaire AMTL
Uan = ( Mfvi - MFvr) / T = (12200 – 5000) / 5 = 1440 lei
Nuz = 100 % / T = 100 % / 5 = 20 %
Uac = Uan x t
Uac - usure cumule;
Uan - usure annuelle;
T – periode de fonctionement, mois
Tableau 8 Calcule du fond d’amortissement pour AMTL en utilisant la méthode linéaire
Mois Valeur initiale Somme usure par
mois
Usure cumule Valeur
comtable
Au debut 12200 12200
A la fin du 1 année 12200 1440 1440 10760
A la fin du 2 année 12200 1440 2880 9320
A la fin du 3 année 12200 1440 4320 7880
A la fin du 4 année 12200 1440 5760 6440
A la fin du 5 année 12200 1440 7200 5000
Une année s'est environ 240 jours ouvrables. Notre projet dure 110 jours, nous devons calculer
AMTL pour cette période ; x-représente le montant devant être inclus dans le coût
240 jours---------1440lei
110 jours--------- x lei
67
X=110∗1440
240=660 lei
b)Calcul de fonds d'amortissement pour actifs immatériels à long terme ANTL
La compagnie a acheté des produits software dont la valeur d’entrée (initiale) est de 12200 lei. Le
montant restant – 0 lei. La durée de vie de 2 ans.
Uan = (Mfvi - MFvr) / T = (12200–0) / 2 = 6100 lei
Nuz = 100 % / T = 100 % / 2 = 50 %
Le calcul du fond d’amortissement des actifs immatériels selon la méthode linéaire :
Tableau 9 Le fond d’amortissement pour ANTL en utilisant la méthode linéaire
Les années Valeur initiale La somme de
l’usure annuel
L’usure cumulée Valeur
comtable
A la date de mise en service 12200 12200
À la fin de l’année 1 12200 6100 6100 6100
À la fin de l’année 2 12200 6100 12200 0
Une année s'est environ 240 jours ouvrables. Notre projet dure 110 jours, nous devons calculer
ANTL pour cette période ; x-représente le montant devant être inclus dans le coût
240 jours---------6100ei
110 jours--------- x lei
X=110∗6100
240=1598 lei
6.2.5 Prix de revient
Prix de revient ou parfois prix naturel, représente la somme des coûts supportés pour la production et
la distribution d'un bien ou d'un service.
Tableau 10 Prix de revient du produit
Nr. Articles en calcul Prix, lei Part, %
68
d/o
1 FAS 29260 82,83
2 FAMTL 660 1,8
3 FANTL 1598 4,47
4 Consommation de matières directes 788 1,3
5 Frais indirects 3372 9,6
TOTAL 35678 100
Prix de revient (C) = 1+2+3+4+5 = 29260+660+1598+788+3372= 35678lei.
6.2.6 Prix de réalisation
L’entreprise va fonctionner sous la forme d’une societe a responsabilite limitee(SRL). Les impots
seront 12% sur le revenu imposable J'ai choisi la 1-ière méthode qui est “bottom-up”:
Le calcul du chiffre d’affaires brut on utilise la formule CAb= Q*P ; Q-quantite, P-prix du produit.
On va considerer le prix du produit P = C+C*45% ; Quantite sera 1 depuis développé une systeme
pour Point.md
P = 35678+35678*45%= 51733,1 lei(avec TVA)
CAb = 51733,1 *1 = 51733,1.
CAn=51733,1 -51733,1 *20%=51733,1 -10346,6=41386,5 lei
Pour le calcul du Pb-benefice =CAn-C
Pb= CAn-C
Pb=41386,5 -35678 = 5708,5 lei
Le benefice net (Pn) est calcule selon la formule :
Pn = Pb-Impots.
69
Pour calculer les impots pour un SRL conformement a la legislation en 2013 on utilise 12%.
I = 5708,5*12% = 685 lei
Pn = 5708,5 – 685= 5023,5 lei
Pour calculer la rentabilite on utilise la formule suivante :
R = Pn/C *100 %
R = 5023,5 / 35678*100 % = 14,08%
6.3 Conclusions économique
Après l'achèvement de la partie économiques du diplôme que nous avons appris à calculer le prix de
notre application comme un rendement plus élevé pour les acheteurs sur le marché.
Avec le développement rapide de la science et la technologie, l'économie de marchéavec une plus
grande concurrence dans tous les domaines, il ne suffit pas de développer des applications pour
créer une base de données ou à la recherche d'un problème dans le domaine des technologies de
l'information. L'avantage incontestable de notre système est la reunion des deux composantes - la
gestion de projet et de service à la clientèle dans un système unique ce qui simplifie grandement le
contrôle et le processus d'apprentissage du système.
70
Conclusion générale
La détection des visages ainsi que la reconnaissance des problèmes difficiles et il ya encore
beaucoup de travail qui doit être fait dans ce domaine. Au cours des dix dernières années, la
reconnaissance faciale a reçu une attention considérable de chercheurs en biométrie, reconnaissance
de formes, vision par ordinateur, et les communautés de la psychologie cognitive. Cet intérêt
commun en matière de technologie de reconnaissance faciale entre les chercheurs travaillant dans
divers domaines est motivée à la fois par notre remarquable capacité à reconnaître les gens et par
l'attention accrue consacrée aux applications de sécurité.
Les demandes de reconnaissance de visage peuvent être trouvés dans la sécurité, le suivi, le
multimédia et les domaines de divertissement. Nous avons proposé deux paradigmes pour faire
progresser la technologie de reconnaissance faciale. Deux tâches principales impliquées systèmes
basés sur la vision insuch sont (i) la détection des visages humains, (ii) l'identification des visages
humains. Détection des visages humains est la première étape dans notre système proposé. C'est
aussi la première étape dans d'autres applications telles que la surveillance vidéo, la conception de
l'interface homme-machine, la reconnaissance faciale et la gestion de base de données pour le
visage. Nous avons proposé un algorithme de détection de visage pour les images couleur en
présence de différentes conditions d'éclairage ainsi que des milieux complexes. Notre procédé de
détection corrige en premier l'alignement de couleur par une technique de compensation de la
lumière qui permet d'estimer automatiquement les statistiques de blanc de référence pour le procédé
de correction.Our couleur détecte les régions de la peau sur toute l'image, et génère ensuite des
candidats pour le visage sur la base de l'arrangement spatial des taches cutanées. Ensuite,
l'algorithme construit yeux, la bouche et les cartes des limites du visage pour vérifier chaque
candidat visage. Les résultats expérimentaux ont démontré la détection réussie de multiplefaces de
71
taille différente, la couleur, la position, l'échelle, l'orientation, pose 3D, et d'expression dans
plusieurs collections de photos.
Pour améliorer les résultats de la méthode de Eigenface mis en œuvre, un programme de
normalisation pourrait être développé afin de déterminer les mesures faciales et normaliser les
photos telles que les traits du visage sont détenus dans des positions et des contrastes et des
intensités lumineuses entre les photos constants sont équilibrés. La localisation des caractéristiques
garderait positions de tête assez cohérentes et donner de meilleurs eigenfaces.
Bibliographie:
1. R. F.eraud, O.J. Bernier, J.-E. Viallet, and M. Collobert, “A fast and accurate face detection based on neural network,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 23, no. 1,
2. D. Maio and D. Maltoni, “Real-time face location on gray-scale static images,” Pattern Recognition, vol. 33, no. 9, pp. 1525–1539, Sept. 2000. C. Garcia and G. Tziritas, “Face detection using quantized skin color regions merging and wavelet packet analysis,” IEEE Transactions Multimedia, vol. MM-1, no. 3.
3. H. Schneiderman and T. Kanade, “A statistical method for 3D object detection applied to faces and cars,” Proc. IEEE Int’l Conf. Computer Vision and Pattern Recognition, pp. 746–751, June 2000.
4. H.A. Rowley, S. Baluja, and T. Kanade, “Rotation invariant neural networkbased face detection,” Proc. IEEE Int’l Conf. Computer Vision and Pattern Recognition, pp. 38–44, 1998.
5. H.A. Rowley, S. Baluja, and T. Kanade, “Neural network-based face detection,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 20, no. 1.
6. K.K. Sung and T. Poggio, “Example-based learning for view-based human face detection,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 20, no. 1, pp. 39–51, Jan. 1998.
7. K.C. Yow and R. Cipolla, “Feature-based human face detection,” Image and Vision Computing, vol. 25, no. 9, pp. 713–735, Sept. 1997.
8. M.S. Lew and N. Huijsmans, “Information theory and face detection,” Proc. IEEE Int’l Conf. Pattern Recognition, pp. 601–605, Aug. 1996.
9. P.J. Phillips, H. Moon, S.A. Rizvi, and P.J. Rauss, “The FERET evaluation methodology for face-recognition algorithms,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 22, no. 10, pp. 1090–1104, Oct. 2000.
10. M. Turk and A. Pentland, “Eigenfaces for recognition,” Journal of Cognitive Neuroscience, vol. 3, no. 1, pp. 71–86, 1991.
11. XM2VTS face database, <http://xm2vtsdb.ee.surrey.ac.uk/home.html>.12. J. Weng and D.L. Swets, “Face recognition,” in Biometrics: Personal Identification in
Networked Society, A.K. Jain, R. Bolle, and S. Pankanti, Eds., pp. 67–86, Kluwer Academic, Boston, MA, 1999.
13. L. Wiskott, J.M. Fellous, N. Kr˙ uger, and C. von der Malsburg, “Face recognition by elastic bunch graph matching,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 19, no. 7, pp. 775–779, 1997.
72
14. Reconstruction of Images from Transformed Data & BunchGraph, <http ://www.cnl.salk.edu/»wiskott/Projects/fGaborReconstruction.html,BunchGraph.htmlg>.
15. P.S. Penev and J.J. Atick, “Local feature analysis: A general statistical theory for object representation,” Network: Computation in Neural Systems, vol. 7, no. 3, pp. 477–500, 1996.
16. Face model generation, <http://www.cs.rutgers.edu/»decarlo/anthface.html>.17. H. Wechsler, P. Phillips, V. Bruce, F. Soulie, and T. Huang, Eds., Face Recognition: From
Theory to Applications, Springer-Verlag, 1998.18. R. Chellappa, C.L. Wilson, and S. Sirohey, “Human and machine recognition of faces: A
survey,” Proc. IEEE, vol. 83, pp. 705–740, May 1995.19. W. Zhao, R. Chellappa, A. Rosenfeld, and P.J. Phillips, “Face recognition: A literature
survey,” CVL Technical Report, Center for Automation Research, University of Maryland at College Park, Oct. 2000,
20. <ftp://ftp.cfar.umd.edu/TRs/CVL-Reports-2000/TR4167-zhao.ps.gz>.21. Faceblind.org, <http://www.faceblind.org/research/index.php>.22. A.W.M. Smeulders, M. Worring, S. Santini, A. Gupta, and R. Jain, “Contentbased image
retrieval at the end of the early years,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 22, no. 12, pp. 1349–1380, Dec. 2000.
23. A. Lanitis, C.J. Taylor, and T.F. Cootes, “Toward automatic simulation of aging effects on face images,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 24, no. 4, Apr. 2002.
24. http://www.nec.com/en/global/solutions/security/technologies/face_recognition.html
25. http://habrahabr.ru/post/140480/
26. http://en.wikipedia.org/wiki/Facial_recognition_system 27. "Firms point to biometric future" By Dominic Bailey, BBC News, at Biometrics 2006 28. http://www.emgu.com/wiki/index.php/Main_Page 29. http://opencv.willowgarage.com/wiki/