Table des matières

, , , , ,

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 similaire à 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

Pré-requis

Installation

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 :

#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é.

Configuration

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:

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

FIXME actuellement c'est lightdm qui gère la connexion à la session. Il faut maintenant faire en sorte que le logiciel se lance et vous identifie pour vous ouvrir la session. 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.

Utilisation

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

À savoir

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 connus

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…

Autres problèmes

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 .

Incompatibilité depuis Natty Narwall (11.04) ?

Il semblerais qu'il soit incompatible avec l'interface Unity, Il est automatiquement désinstallé lors de la mise a jour vers Natty et on ne peux le compiler depuis cette version.

Cependant il fonctionne très bien sous Gnome 3 (via le fork UGR) et s'installe via le dépôt ppa:antonio.chiurazzi/ppa.

S'il est installé sous Ubuntu Natty Narwall, l'authentification se fait correctement, mais le thème (quel qu'il soit) ne se charge pas correctement et on demande ensuite le mot de passe plusieurs fois (5 ou 6 fois).

Solution: Pour les utilisateurs de Natty vous pouvez passer a Gnome 3 (Ubuntu Gnome Remix) Cette solution NE FONCTIONNE pas avec sous Oneiric Ocelot

Désactivation

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

Désinstallation

À confirmer par l'auteur ou par d'autres

sudo apt-get remove --purge pam-face-authentication

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

é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”

Voir aussi


Contributeur(s): damien200 eon01