Ubuntu Face Recognition #LegaNerd
4

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

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.

Deprecato

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

Configurazione

Dopo averlo installato, bisogna aggiungere Face Recognition 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 Face Recognition 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.

steveacab

Sin da piccolo mi piaceva vedere com'era fatto ogni singolo giocattolo che mi regalavano, facendoli a pezzi ed assemblandoli tra di loro. Cresciuto col NES e Super Mario Bros all' età di 4-5 anni mi divertivo a finirlo per 5-6 volte di seguito cercando di accumulare sempre più vite. Infanzia cresciuta nella sala giochi del paese tra Toki, Vendetta, KOF, Street Fighter e qualsivoglia tipo di cabinato da sala giochi (escluso calcio) sperperando un tesoro in gettoni. Continuo la mia saga con la Play Station1, poi la PS2 dove ho scoperto il Tekken 5, quindi appassionato sempre di più ho iniziato a fare i primi tornei. Scopro più o meno nello stesso tempo Ogame, nel quale ci passo ogni secondo libero e non della mia giornata a giocare giorno e notte. Inizio ad andare con i roller, trasferitomi a Milano per lavoro, diventando sempre più bravo nelle discipline freestyle e aggressive, passando per skate park e strade cittadine, disputando qualche gara e manifestazioni varie. Al culmine però dopo un paio di anni, un incidente mi stronca la carriera a causa della rottura di una caviglia. Il mondo davanti a me cambiò e cercai qualcosa di alternativo che mi appassioni. Scopro Linux, un mondo all' inizio fantascientifico e frustrante a causa del passaggio da Windows. Inizio ad appassionarmi sempre più, cercando di rendermi utile inizio a fare il beta tester. La curiosità è tanta così inizio a provare le varie distro Linux per poi passare a provare anche altri sistemi Unix quali Solaris e Bsd. Mi diletto a provare software in alpha/beta e a creare qualche tema per Gnome DE. Ho sempre sognato di imparare a programmare in un qualsiasi linguaggio, ma per il momento mi limito solo a piccole modifiche. Appassionato di fantascienza, giochi, manga, corse (sia in tv che dal vivo :D) . Attualmente mi divido tra il mio lavoro in una tv privata, Linux e LegaNerd.
Aree Tematiche
Linux Opensource Software
Tag
martedì 5 ottobre 2010 - 16:54
Edit
LN Panic Mode - Premi "P" per tornare a Lega Nerd