Ho visto in giro per il web la possibilità di autenticarsi attraverso il riconoscimento facciale con Linux, in particolare con [tag]Ubuntu[/tag].

Ho ricompilato il .deb da zero, aggiornato il control e le dipendenze.
Il .deb adesso è creato dai sorgenti nel metodo puro, niente checkinstall.

Da repository

Aggiungiamo il repository

(ho appena aggiunto il pacchetto per Maverick oltre che per Lucid
per entrambi la procedura e il ppa è uguale)

sudo add-apt-repository ppa:antonio.chiurazzi/ppa

Aggiorniamo il sistema

sudo apt-get update

Adesso è possibile installare Face Recognition tramite apt via shell, synaptic, ubuntu software center ecc.

Da terminale potete dare semplicemente

sudo apt-get install pam-face-authentication

Installazione da sorgenti

Come prima cosa bisogna installare le dipendenze

(Se installate da repository saltate questo passaggio e andate direttamente alla configurazione)

Lucid

sudo apt-get install build-essential cmake qt4-qmake libx11-dev libcv-dev libcvaux-dev libhighgui4 libhighgui-dev libqt4-dev libpam0g-dev libswscale0

Maverick

sudo apt-get install build-essential cmake qt4-qmake libx11-dev libcv-dev libcvaux-dev libhighgui4 libhighgui-dev libqt4-dev libpam0g-dev checkinstall

Adesso passiamo alla configurazione ed installazione

cd /tmp
wget http://pam-face-authentication.googlecode.com/files/pam-face-authentication-0.3.tar.gz
tar zxf pam-face-authentication-0.3.tar.gz && cd pam-face-authentication-*
mkdir build && cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr ..
make
sudo checkinstall –pkgname=pam-authentication-face-auth

Checkinstall sempre consigliato per rintracciare il pacchetto e rimuoverlo facilmente.

[spoiler]Deprecato

Per facilitarvi la vita, ho creato un .deb con checkinstall dai sorgenti compilati che potete scaricare da qui
Il .deb è compilato per x86.[/spoiler]

Configurazione

Dopo averlo installato, bisogna aggiungere [tag]Face Recognition[/tag] a Gdm e a Gnome-screensaver in modo da potersi autenticare.

E’ molto semplice, basta fare solo un copia e incolla di quello che segue:

sudo sed -i ‘1i auth sufficient pam_face_authentication.so enableX’ /etc/pam.d/gdm

sudo sed -i ‘1i auth sufficient pam_face_authentication.so enableX’ /etc/pam.d/gnome-screensaver

Kde

sudo sed -i ‘1i auth sufficient pam_face_authentication.so enableX’ /etc/pam.d/kdm

Adesso dobbiamo far precaricare v4l per usare la webcam:

sudo gedit /etc/ld.so.preload

e incollate quanto segue

/usr/lib/libv4l/v4l1compat.so

E’ possibile anche collegare [tag]Face Recognition[/tag] a “sudo”, solo che se il riconoscimento facciale fallisce, non da la possibilità di immettere la password,come accade con GDM e Gnome-screensaver.

Se volete provare digitate:

sudo sed -i ‘1i auth sufficient pam_face_authentication.so enableX’ /etc/pam.d/sudo

Adesso andiamo in Applicazioni > Altro > Qt Face Trainer
(se non lo trovate, fate click destro sul menu, modifica menu, e spuntate il sottomenu altro ed eventualmente Qt face trainer).

Il repository dovrebbe metterlo nella sezione “video”, in alternativa se non lo trovate cercate nella sezione “altro”.

Avviate l’ applicazione e fate un paio di record (attenti alla luce, se cambia l’applicazione può avere qualche problema, quindi consiglio di fare qualche record anche con diverse luci).

Adesso riavviate X, o ancor meglio il sistema.

Per ripristinare le normali autenticazioni con password date:

sudo gedit /etc/pam.d/gdm

Per Kde

kdesudo kate /etc/pam.d/kdm

e rimuovete la voce:

auth sufficient pam_face_authentication.so enableX

stessa cosa adesso con lo screensaver:

sudo gedit /etc/pam.d/gnome-screensaver

e rimuovete:

auth sufficient pam_face_authentication.so enableX

se l’ avete abilitato anche con “sudo” digitate:

sudo gedit /etc/pam.d/sudo

e rimuovete anche questa volta:

auth sufficient pam_face_authentication.so enableX

Non vi consiglio di abilitarlo con sudo,visto che l’ applicazione ancora non è del tutto bug-free, quindi se non funziona dovrete smanettare per sistemare tutto.

P.s. io ho fatto 8 record per stare tranquillo che mi riconosca anche se non guardo proprio fisso in camera, e ho notato che per sbloccare lo screensaver lo fa in silent, quindi non vi fa vedere il video, ma comunque vi riconosce senza problemi.
Per il momento rimango attivi l’autenticazione sia con gdm che con gnome-screensaver, giusto per sboroneggiare un pò al LinuxDay :D

Enjoy

UP:

guida aggiornata per la compilazione dei sorgenti e per configurare kde

UP IMPORTANTE!

Ho ricompilato da zero dai sorgenti l’applicazione, adesso è un .deb come dio comanda. E’ uppato su Launchpad, quindi potete installarlo anche dal repository.
Il pacchetto è firmato con la mia chiave GPG e ricordo che ho anche firmato il codice di condotta già anni fa, quindi potete stare tranquilli sulla genuinità del pacchetto.