Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



PAM Face Authentification

PAM Face Authentification est un logiciel libre (sous licence GNU GPL 3) de reconnaissance faciale utilisant la librairie OpenCV. Il permet d'ouvrir sa session et de remplacer son mot de passe root par une identification faciale ce qui permet la plupart du temps de gagner du temps. Ce logiciel est simillaire à KeyLemon qui est uniquement disponible sous Windows. PAM Face Authentification est disponible pour les environnements Gnome et KDE, comme je n'utilise pas KDE, je ne traiterais pas cette partie. Néanmoins, vous pouvez regarder le lien source en bas de la page pour avoir les informations adéquates.

Démonstration en vidéo de PAM Face Authentification

Attention, PAM Face Authentification n'étant pas présent dans les dépôts officiels, vous l'installez à vos propres risques.

PAM Face Authentification n'est pas présent dans les dépôts, nous allons le compiler.

PAM Face Authentification est présent dans un dépôt tiers "ppa:antonio.chiurazzi/ppa", cf. OMGUbuntu, cela peut faciliter la désinstallation

Pour compiler PAM Face Authentification :

  • Téléchargez le fichier "pam-face-authentification-XX.tar.gz qui se trouve sur la page téléchargement et placez-le dans votre Dossier personnel
  • Décompressez-le
  • ouvrez un terminal et saisissez les commandes suivantes :
#On se place dans le dossier décompressé 
cd pam-face*

#On crée un dossier build et on va dedans
mkdir build && cd build

#Et on installe
cmake -D CMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install

Normalement, maintenant le programme est installé.

Pour que le logiciel reconnaisse votre visage, il faut le lui montrer ;-).
Nous allons donc le paramétrer.
Le logiciel se trouve dans: Application → Autre → Qt Face Trainer.
Vous pouvez aussi le lancer avec la commande:

qt-facetrainer

Prise de la photo témoin

Au lancement du logiciel, un texte nous donne des conseils pour que les photos témoins soient prises correctement. Il faut:

  • Être dans un endroit plutôt bien éclairé
  • Ne pas avoir de lunettes ni de chapeaux lors de la prise de la photo
  • Garder une distance correcte entre votre tête et la webcam
  • Avoir une expression neutre (à vérifier mais je pense que c'est mieux)

L'écran suivant nous montre l'interface pour prendre la fameuse photo.


L'espace de droite est le répertoire des photos témoins. L'espace de gauche est l'espace d'"analyse". Quand le logiciel aura bien cadré votre tête (comme sur la photo ci-dessus), appuyez sur le bouton Capture. La capture se fait alors, essayez de ne pas bouger avant la fin de celle-ci car en réalité, elle prend 13 photos et si vous bougez trop, la capture met longtemps à se faire car elle doit ré-analyser votre visage.

Vous pouvez faire plusieurs photos témoins pour améliorer la reconnaissance ou pour que plusieurs personnes puissent se connecter à la même session.

Si vous avez eu des problèmes d'analyse ou de capture, référez-vous à la section "problèmes connus" ci-dessous.

Paramétrage avancé

En appuyant sur le bouton Advanced Settings, on peut régler quelques paramètres en plus et tester la reconnaissance faciale.

Vous pouvez ainsi régler la tolérance ce qui améliore la reconnaissance de votre visage mais aussi la marge d'erreur. Vous pouvez sauvegarder le réglage avec Save et tester la reconnaissance du visage avec Test Recognition, la réponse s'affichant en bas : Yes ou No.

Adaptation au GDM et à sudo

Attention, cette technologie peut être leurrée, elle est donc moins fiable qu'un mot de passe.

Pour le GDM

Il faut maintenant faire en sorte que le logiciel se lance et vous identifie pour vous ouvrir la session au GDM. Pour cela, il va falloir éditer le fichier gdm.

 sudo gedit /etc/pam.d/gdm

Et après la première ligne, ajoutez si vous voulez que la video de détection s'affiche lors de l'identification:

auth sufficient pam_face_authentication.so enableX

ou pour qu'elle ne s'affiche pas:

auth sufficient pam_face_authentication.so

Enregistrez ensuite le fichier et le tour est joué, vous pouvez vous identifier avec votre webcam.

Pour sudo

On peut aussi utiliser sudo avec son visage plutôt qu'avec un mot de passe. La méthode est la même que pour le GDM. Éditez le fichier sudo.

sudo gedit /etc/pam.d/sudo

Et rajoutez pour avoir la fenêtre vidéo:

 auth sufficient pam_face_authentication.so enableX 

et pour ne pas l'avoir:

 auth sufficient pam_face_authentication.so 

Enregistrez le fichier et c'est fait.

Si vous avez des problèmes lors de l'utilisation, reportez-vous aux sections problèmes.

Après la configuration du logiciel, vous n'aurez normalement plus besoin de le toucher.

À savoir

  • Si le logiciel n'a pas réussi à identifier votre visage, au bout d'une quinzaine de secondes, il vous demandera votre mot de passe.
  • Si aucune webcam n'est branchée, le mot de passe sera demandé sans délai.
  • Si plusieurs utilisateurs doivent avoir accès à une même session, il faut prendre une photo témoin de ces personnes.
  • S'il n'y a aucune photo témoin pour une session, le mot de passe sera demandé sans délai.
  • Je déconseille vivement d'utiliser cette application sur un laptop car la perception de la forme du visage change en fonction de l'inclinaison de l'écran et la luminosité change aussi selon les lieux.

Fiabilité

La reconnaissance faciale n'est pas une réelle protection car elle a une marge d'erreur. Il faut lui préférer un bon mot de passe. Néanmoins, la reconnaissance permet d'aller plus vite et de faire comme dans les films 8-).

Le leurre avec une photo n'a pas l'air de fonctionner et pour le moment, personne d'autre que moi a réussi à ouvrir ma session avec son visage.

Problèmes de reconnaissance

Luminosité

Un problème d'analyse ou de reconnaissance peut être dû à la luminosité du lieu. Si pour la photo témoin, le logiciel n'arrive pas à vous détecter, changer la luminosité en allumant la pièce.

Je conseille fortement de faire plusieurs photos témoins à luminosités différentes pour améliorer les chances de reconnaissance.

Cheveux

Apparemment, certaines coupes de cheveux peuvent gêner l'identification et l'analyse.

Couleur

J'ai eu un problème de reconnaissance une fois avec un pull rouge et gris, je le marque ici, si jamais quelqu'un peut confirmer que ça peut être du à ça…

Erreur de segmentation

Quand je tape une commande avec sudo, il m'identifie bien et marque "Verification successful" et ensuite "Erreur de segmentation". Il n'effectue pas la commande mais j'ai quand même les droits root, je n'ai qu'à relancer la commande.

Solution: Selon le développeur du logiciel, il faudrait soit utiliser OpenCV 1.1 ou compiler OpenCV 2.0 avec ./configure –without-openmp

Avec la version 2.1.0, tout fonctionne chez moi.

Problème avec libv4l

Ce module d'authentification ne fonctionne pas pour certains webcams.

Solution: Installez libv4l puis créez le fichier /etc/ld.so.preload , ajoutez dans ce fichier le chemin vers v411compat.so généralement il se trouve dans /usr/lib/libv4l .

Je n'ai pas encore trouvé le moyen de le désinstaller complètement et l'auteur ne répond tout simplement pas aux demandes… Par contre, pour le désactiver, il faut juste éditer le fichier :

/etc/pam.d/gdm

Et commenter la ligne :

auth     sufficient    pam_face_authentication.so enableX
À confirmer par l'auteur ou par d'autres
  • Désinstaller le paquet
sudo apt-get remove --purge pam-face-authentication
  • Editer la liste des dépôts

enlever le dépôt antonio.chiurazzi/ppa de la liste des dépôts

  • Annuler les modifications dans les fichiers

éditer /etc/pam.d/gdm, /etc/pam.d/gnome-screensaver, /etc/pam.d/sudo pour y enlever les références du type "auth sufficient pam_face_authentication.so"

  • pam_face_authentification.1287226702.txt.gz
  • Dernière modification: Le 18/04/2011, 14:45
  • (modification externe)