Biometria facial no login do GDM

Publicado por Alessandro de Oliveira Faria (A.K.A. CABELO) em 08/03/2010

[ Hits: 12.748 ]

Blog: http://assuntonerd.com.br

 


Biometria facial no login do GDM



Foi publicado aqui no VOL um artigo sobre a utilização da biometria facial durante a autenticação do usuário root no sistema operacional Linux. O pacote pam-face-authentication sofreu importantes atualizações no algoritmo de comparação, suporte ao QT entre outros.

Complementando o artigo, a seguir uma breve dica para efetuar o login no GDM com biometria facial (open source CLARO!).

wget http://pam-face-authentication.googlecode.com/files/pam-face-authentication-0.3.tar.gz

Descompacte e compile o pacote:

tar -zxvf pam-face-authentication-0.3.tar.gz
$ cd pam-face-authentication-0.3/
$ mkdir build
$ cd build
$ cmake -D CMAKE_INSTALL_DIR=/usr ..
$ make
$ sudo make install


Para cadastrar a amostragem biométrica, execute o comando qt-facetrainer.

qt-facetrainer

Adicione a linha a seguir ao arquivo /etc/pam.d/gdm

auth     sufficient     pam_face_authentication.so enableX

A seguir um vídeo demonstrativo do login em execução. Use a força, LEIA O FONTE!!!
Outras dicas deste autor

Utilizando saídas S-VHS, VGA e LCD com placa de vídeo Intel 945G

Extraindo arquivos de um .rpm sem instalá-lo

GPU - CUDA 5 na plataforma openSUSE 12.3

Configurando o apt-get via FTP no Conectiva

Log4J 2.15.0 com problemas, veja a solução definitiva!

Leitura recomendada

Encontrando erros em C/C++ com Valgrind

return main(); (fatal) - C++

Encontrando erros em C/C++ com Cppcheck

Script que fecha portas

Cálculo da potência modular de forma eficiente

  

Comentários
[1] Comentário enviado por removido em 08/03/2010 - 11:11h

Após compilar no Fedora 12 (64 bits), instalando o compilador, tudo bonitinho, ao executar o qt-facetrainer (como user desprivilegiado), dá falha de segmentação ao clicar em "Next". =/

Algum log que eu possa verificar, ou resultado do strace para mandar?

[2] Comentário enviado por removido em 08/03/2010 - 11:18h

Parece ser um problema na libcv(pacote opencv) do Fedora 12

Mar 8 08:08:32 localhost kernel: qt-facetrainer[5376]: segfault at 101667d16 ip 0000003bff02f3bb sp 00007fff65cb8d60 error 4 in libcv.so.2.0.0[3bff000000+f5000]
Mar 8 08:08:42 localhost kernel: qt-facetrainer[5381]: segfault at 101e8fb5a ip 0000003bff02f3bb sp 00007fff59cf8640 error 4 in libcv.so.2.0.0[3bff000000+f5000]
Mar 8 08:10:34 localhost kernel: qt-facetrainer[5383]: segfault at 101c1b14b ip 0000003bff02f4c4 sp 00007fffa5dd9800 error 4 in libcv.so.2.0.0[3bff000000+f5000]


[root@unborn log]# locate libcv
/usr/lib64/libcv.so.2
/usr/lib64/libcv.so.2.0.0
/usr/lib64/libcvaux.so.2
/usr/lib64/libcvaux.so.2.0.0
/usr/lib64/vlc/codec/libcvdsub_plugin.so



[3] Comentário enviado por cabelo em 08/03/2010 - 12:08h

Ironmaniaco
A biblioteca openCV foi compilada para trabalhar com a API V4L2?

Para checar a pergunta acima, veja se os exemplos da biblioteca opencv esta funcionando corretamente.

Abraços

[4] Comentário enviado por removido em 08/03/2010 - 13:55h

---- (Entrei no diretório de Samples, do openCV)

[root@unborn ~]# cd /usr/share/opencv/samples/c/
[root@unborn c]# ls
[root@unborn c]# make
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` camshiftdemo.c -o camshiftdemo
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` contours.c -o contours
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` convert_cascade.c -o convert_cascade
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` convexhull.c -o convexhull
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` delaunay.c -o delaunay
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` demhist.c -o demhist
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` dft.c -o dft
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` distrans.c -o distrans
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` drawing.c -o drawing
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` edge.c -o edge
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` facedetect.c -o facedetect
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` ffilldemo.c -o ffilldemo
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` fitellipse.c -o fitellipse
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` houghlines.c -o houghlines
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` kalman.c -o kalman
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` kmeans.c -o kmeans
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` laplace.c -o laplace
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` lkdemo.c -o lkdemo
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` minarea.c -o minarea
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` morphology.c -o morphology
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` motempl.c -o motempl
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` pyramid_segmentation.c -o pyramid_segmentation
cc `pkg-config --cflags opencv` `pkg-config --libs opencv` squares.c -o squares


---- (Escolhi um dos programas que foi compilado)

[root@unborn c]# ./lkdemo
Welcome to lkdemo, using OpenCV version 1.1.0 (1.1.0)
Hot keys:
ESC - quit the program
r - auto-initialize tracking
c - delete all the points
n - switch the "night" mode on/off
To add/remove a feature point click it

---- (Abriu uma janelinha bonitinha, com a minha webcam, e pontos "verdes" eram adicionados conforme eu clicava)


========================================
2) Resultado da execução do qt-facetrainer com o gdb


[nicolas@unborn src]$ gdb qt-facetrainer
GNU gdb (GDB) Fedora (7.0.1-33.fc12)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/qt-facetrainer...(no debugging symbols found)...done.
(gdb)
(gdb) start
Temporary breakpoint 1 at 0x411324
Starting program: /usr/local/bin/qt-facetrainer
[Thread debugging using libthread_db enabled]

Temporary breakpoint 1, 0x0000000000411324 in main ()
(gdb) continue
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x0000003bff02f319 in cvCanny () from /usr/lib64/libcv.so.2
(gdb) continue
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb)


(Suprimi os Missing separate debuginfos, referentes a ooooooooooutros pacotes, tipo kde-workspace. etc etc)


[5] Comentário enviado por removido em 08/03/2010 - 14:08h

Foi mal por te importunar cabelo, mas parece que há um BUG aberto sobre o metodo cvCanny() do openCV em máquinas x86_64 do Fedora
(Minha falha não ter verificado isso antes)

https://bugzilla.redhat.com/show_bug.cgi?id=531695


Valeu pela atenção =)

[6] Comentário enviado por rogawa em 17/06/2010 - 14:21h

Olá! Genial, funcionou aqui no Ubuntu 10.04. Tive que instalar os pacotes libpam0g-dev, libqt4-dev e libcvaux-dev para poder compilar certinho. Fiz o teste e após digitar minha senha, apareceu uma janelinha, meu rosto foi escaneado e fui autenticado quase instantaneamente. Fiz logoff e pedi pra um amigo sentar no meu lugar. O sistema ficou tentando autenticar sem sucesso, mas... após alguns segundo ele efetuou login. Tem algum parâmetro que necessite ser alterado para que em caso de falha ele recuse o login?

[7] Comentário enviado por removido em 18/10/2010 - 17:37h

Para o pessoal do Ubuntu tem um artigo que ajuda a instalar:

http://repat.de/2010/05/pam_face_authentication-with-ubuntu-9-10karmic-koala-gdm-speedlink-webcam/

funciona tambem com o 10.04.

[8] Comentário enviado por ampliato em 26/10/2010 - 08:49h

Cabelo, bom dia!

Cara, instalei o pacote .rpm [ http://is.gd/gjUvt ] no meu openSUSE 11.3 64bits, KDE 4.5.2 "release 10", tudo foi certinho, e me apareceu o Qt Face Trainer, executei, capturei as faces, etc... mas não consigo fazê-lo executar no login. Após a senha, a tela fica travada por alguns segundos e depois entra.

Conforme seu artigo, fiz:

Arquivo /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
auth include common-auth
account include common-account
password include common-password
session include common-session
session optional pam_xauth.so
auth sufficient pam_face_authentication.so

Arquivo /etc/pam.d/gdm:
auth sufficient pam_face_authentication.so enableX

[9] Comentário enviado por zhushazang em 11/01/2011 - 21:23h

Aaaaaa BGB!!!


Como desinstala do /usr/local e instalar no /usr???

Pergunto aqui por que a Borgaria da wiki do site está offline.

Att

[10] Comentário enviado por zhushazang em 11/01/2011 - 21:31h

Tentei

cmake -D INSTALL_DIR=/usr e nem deu certo.

Como faz para apontar para o qt-facetrainer ficar em /usr/bin ??


Att

[11] Comentário enviado por j.c.o.s em 24/01/2011 - 10:58h

aqui no gnome eu conseguir instalar agora ele não inicializa no sistema....

[12] Comentário enviado por elemarvh em 24/10/2011 - 22:33h

Sou novo aqui, e me fiquei interessado nesse recurso. Há alguma maneira de usa-lo em algum mensageiro do Linux?

Obrigado pela atenção!!!

[13] Comentário enviado por fgs4ntos em 19/04/2012 - 01:46h

Pensei que não usaria a senha mais achei show de bola. Valeu



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts