Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

La reconnaissance faciale est une technique d’identification

No description
by

wejden belghith

on 9 July 2017

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of La reconnaissance faciale est une technique d’identification

choix du langage de programmation
Les méthodes de reconnaissance des visages
* Méthodes globales
: image faciale = vecteur de grande dimension = concaténation entre les pixels au niveaux de gris du visage.
"Ces méthodes tiennent compte de l'aspect d'organisation structurelle globaux du visage et conservent toutes les informations de texture et de forme pour différencier le visage.
->ACP(Analyse de composants principales). On cite pour cette technique la méthode de eigenface.
->ADL(Analyse Descriminante linéaire) basé sur la méthode de fisherfaces."
L'inconvinient de ces méthodes: Ces méthodes utilisent uniquement les photos 2D.
* Méthodes locales basées sur les points d'interets:
1- Détection des points d'interets.
2- Extraction des caractéristiques localisées sur ces points d'interets.
* Méthodes locales basées sur l'apparence du visage:
1- Devision du visage en petites régions.
2- Extraction des caractéristiques locales.
Les méthodes locales sont les plus lourdes à mettre en place, mais ils sont les plus robustes. Car, ils appliquent les transformations autour des points caractéristiques des images.
L'inconvénient: manque de précision dans la phase « extraction »
La difficulté quand il s'agit de prendre en considération plusieurs vues du visage
Définition
La reconnaissance faciale est une technique d’identification biométrique fondée sur un traitement automatique d’images numériques d’un individu et permettant de l’identifier à partir des caractéristiques de son visage.
Cette méthode d'identification semble être la plus naturelle, puisque, nous nous connaissons les individus en regardant les visages.
Inspirée par le fonctionnement de l'oeil humaine, les systèmes de reconnaissance faciale sont les plus communes et populaires
Utilité des systèmes de reconnaissance facial
Ces systèmes de reconnaissance sont utilisés avec les systèmes de vidéo surveillance pour des raisons:
- De sécurité. dans les stades, les aéroports et les centres commerciaux dans plusieurs pays pour interdire l'accès de certains individus fichés.
- contrôler l'accès des employés aux entreprises.

Principe
La caméra de la vidéo surveillance détecte le visage. Après, un traitement d'analyse s'effectue. Une comparaison se réalise avec une photo préalablement enregistrée pour chercher les points de similitudes
Quoi
Comment
THANK YOU!
Solution Embarquée d'analyse de visage en temp réel
Eigenfaces
LBP (Local Binary Pattern)
Calcul du motif binaire local
La méthode de reconnaissance faciale LBPH (Local Binary Patterns Histogram) consiste à visualiser
la valeur d’un pixel (moyenne des trois composantes RGB) par rapport aux pixels voisins.
Pour commencer, l’image est divisé en groupe de pixels. Chaque groupe de pixels correspond
à une matrice carrée contenant les valeurs des pixels. Puis, le pixel placé au centre de la matrice
est choisi comme valeur de référence. Ensuite, toutes les valeurs de la matrice sont remplacées
soit par 0, soit par 1 en fonction de leur valeur.
Comparaison entre Raspberry Pi et Ardouino
Choix de la carte électronique
-Raspberry Pi et Arduino sont les ordinateurs monocarte les plus répandus.
Ardouino: cette carte offre de nombreux avantages. L’environnement IDE et la conception de la carte sont totalement open source et disponibles sous licence publique générale. Elle est détinée pour les petits projets qui ne demandent pas beaucoup de calcul.
Raspberry pi offre beaucoup plus d'avantages pour les projets basés sur les bibliothèques OpenCv. Elle est équipé d'un port caméra et 4 ports usb.

Comparaison entre Ardouino et Propeller
Il y a une grande variété de cartes électroniques déstinée à l'embarqué:
-> Raspberry pi, Arduino, BeagleBoard, PanBoard, CottonCandy, FPGA, Picaxe,
Avantages:
Arduino est
-> Peu couteux
-> Large bibliothèque d'exemples
Inconvénients:
-> Arduino est peu adapté pour la gestion des périphériques en parallèle.
-> Le propeller de parallax est plus performant et mieux adapté.
-> Limité lorsqu'il faut traiter des signaux très brefs.
=> Arduino est préféré pour le pilotage des périphériques simples et rapides pour sa simplicité, sa compacité et son prix.
Comparaison entre Raspberry Pi et BeagleBone
BeagleBone est une mini carte électronique possédant les fonctionnalités d'un ordinateur. Il a qu'un seul port USB alors que PI a 4 ports.
Pi a un port d'interface caméra et une interface LCD (port DSI).
De point de vue vitesse entre les GPIO, BeagleBone a un sous sytème programmable en temp réel unité qui permet plus vite que le Raspberry l'utilisation de GPIO. BeagleBone a une puissance de calcul la plus grande.
Si on a besoin de l'android, BeagleBone sera la meilleur solution.
Mais BeagleBone est plus cher.
Comparaison entre Raspberry , FPGA et DSP
- Les caméras intelligentes à base de FPGA sont efficaces
pour les traitements bas niveau réguliers qui ne nécessitent pas d’opérations en virgule flottante, mais, elles sont difficiles à programmer.
- Les caméras intelligentes à base de processeurs programmables offrent une facilité de programmation et une large gamme de performance. Celles utilisant des DSP sont adéquates pour les traitements utilisant des opérations MAC qui sont souvent des traitements bas et moyen niveaux comme la
convolution, la segmentation ou le calcul de distances.
- Étant données ces performances, peu d’algorithmes de vision peuvent fonctionner sur ce type de plateformes.
- Les caméras intelligentes à base de Raspberry Pi peuvent être considérées comme de moyenne gamme avec une consommation varie entre 1 et 3,5 W, suivant la version
du Raspberry Pi utilisée et un coût de quelques dizaines d’euros. Le processeur présent dans la carte de traitement est suffisamment performant pour faire fonctionner certains algorithmes de traitement d’image.
- La dernière gamme des caméras intelligentes est la gamme haute performance comme RazerCam qui contient un FPGA, un processeur embarqué performant et une grande capacité mémoire. Ces plates-formes offrent une grande
puissance de calcul avec une consommation modérée (4 W pour la RazerCam). Mais, l'inconvénient est le coût de ces caméras intelligentes, qui est de l’ordre de centaines voire
de milliers d’euros.
- Matlab:
Il est entre 9 et 11 fois plus lent que C++.
Le logiciel Open Source Scilab, est probablement le logiciel le plus proche de Matlab. Il est accessible dans les dépôts logiciels de Raspbian. GNU Octave, un autre Open Source du calcul numérique.
- C++:
reste le plus populaire . Il est essentiel pour développer des applications de bas niveau, en particulier dans le monde Unix. Ceci en fait une des solutions de base pour programmer sur un Raspberry Pi, centré par défaut sur l’OS Raspbian.
Il tient toujours les meilleurs performances.
Utilise les bibliothèques Opencv pour traitement d'images.
-Python:
Sous Linux, Python est une des offres de programmation proposées en standard. Il est d’un accès relativement facile. Un environnement de développement basique, mais efficace, est de la partie : Idle. Le tout est accessible sous licence Open Source et livré gratuitement avec Raspbian.
Autre avantage de Python, c’est un interpréteur.
code plus facile à déboguer et à maintenir que celui compilé en langage machine. De plus, le code créé sur un PC x86 installé sous Linux devrait fonctionner directement sur Raspbian.
La portabilité du code Python adapté à Windows demeure pour sa part plutôt bonne.
Utilise Numpy et OpenCv.
- Java:
On peut utiliser JavaCV.
De point de vue performance, pour un meme code et la meme image java est plus rapide que python.
Pour utiliser java il faut ajouter des packages:
ava_include_path,
java_awt_library
java_jvm_library



OpenCV (Open Source Computer Vision) est une bibliothèque visant principalement à la vision par ordinateur en temps réel. Elle a été initialement développé par Intel, et est maintenant soutenue par Willow Garage et Itseez. elle est gratuite pour une utilisation sous la licence open source BSD. La bibliothèque est multi-plateforme. Avec plus de 2500 algorithmes optimisés, elle comprend un ensemble complet d'algorithmes d'apprentissage classique et les dernières innovations en vision par ordinateur. Ces algorithmes peuvent être utilisés pour détecter et reconnaître des visages
-L'installation d'OpenCV pour Python se fait assez simplement sur GNU/Linux (Raspberry Pi):

sudo apt-get install python-opencv
OpenCV
JavaCV

La méthode de reconnaissance faciale Eigenfaces emploie la technique de l’analyse en composante principale (PCA), qui est différente aux méthodes géométriques ou locales. Elles se basent sur les particularités du visage analysé, et dont les défauts résident dans son manque de précision, ainsi que sa sensibilité aux informations qui ne sont pas pertinentes.
La méthode Eigenfaces est qualifiée de globale, puisque l’ensemble du visage est analysé.
Dans ce cas, l'approche consiste à représenter un visage comme étant la combinaison linéaire d’un ensemble d’images, ces dernières formant une base de référence.
L’algorithme est le suivant : On calcule la matrice de covariance à partir de l’ensemble
d’images servant à l’identification. Puis on construit une base avec les vecteurs propres de cette
matrice. On projette ensuite le visage capturé dans cette base. On peut alors calculer la distance de l’image capturée aux visages de la base, tout en rejetant les visages trop éloignés à l’aide d’un seuil. Les principales composantes détectées peuvent être diverses. Enfin, il suffit de comparer l’eigenface et les composantes principales d’une capture d’un visage.
Cependant, elle présente également des désavantages non-négligeables. En effet, comme chaque pixel
est une dimension, une image 100 × 100 donne 10 000 vecteurs à traiter, mais on peut réaliser la
reconnaissance sur des images bien plus petites. Le nombre de données à analyser est donc très important. De plus, cette méthode est sensible à la luminosité et à la déformation des visages
(grimaces, accessoires, ...).
Full transcript