Autenticação via Reconhecimento Facial

Ola pessoal, o objetivo deste post é mostrar o quão versatil pode ser o PAM (Pluggable Authentication Modules). O PAM é um sistema modular de autenticação e autorização de usuários criado pela SUN Microsystems (agora Oracle), e é o principal subsistema de autenticação Unix/Linux modernas. A arquitetura modular do PAM permite que diferentes métodos de autenticação ou diferentes algoritmos de criptografia de senhas sejam utilizados para permitir acesso do usuário ao sistema.

Irei utilizar para exemplo o pam-face-authentication para reconhecimento facial no GNU/Linux, trata-se um módulo que será adicionado ao PAM. Mãos a obra:

Vamos adicionar um novo repositório no ubuntu via ppa e instalar o pam-face:

$ sudo add-apt-repository ppa:antonio.chiurazzi
$ sudo apt-get update
$ sudo apt-get install pam-face-authentication

Configuração:

# vi /usr/share/pam-configs/face_authentication

Name: face_authentication profile
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
[success=end default=ignore] pam_face_authentication.so enableX

O comando abaixo habilita ou desabilita o face_authentication

$ sudo pam-auth-update –package face_authentication

A seguir devemos treinar o face_authentication para o reconhecimento de nossas feições e de todos os usuários que irão utilizar o reconhecimento facial. Podemos abrir o menu – Aplicativos – Outros – QT Face Trainer

Resumindo:

Óculos e chapéu, podem afetar a taxa de reconhecimento. (Eu uso óculos e com pouco de trabalho foi possível realizar o reconhecimento)

Mantenha uma distância adequada entre a câmera e sua cabeça para melhor eficiência.

Esteja em um local bem iluminado.

Como eu disse com um pouco de sacrifício consegui algumas detecções para a minha autenticação, clique em next.

Clique em finish e teste sua configuração, faça um logoff no Ubuntu e retorne a tela do GDM, clique no seu usuário e o face_authentication irá realizar o reconhecimento. No vídeo abaixo fiz um teste com o comando sudo.

Para o caso de não utilizar mais o pam-face-authentication basta desabilitar o pam-face com o comando:

$ sudo pam-auth-update –package face_authentication

E posteriormente, caso queira, remover o pacote:

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

 

Espero que tenham gostado do post.

 

 

  • Pingback: ()

  • Muito bacana isso, testarei…

    Aqui, onde você conseguiu este papel de parede ? Gostei também…

    • Amigo,

      Obrigado pelo comentário. Quanto ao papel de parede é fácil encontrar via google mesmo, basta marcar imagens e digitar na pesquisa wallpaper no_options, será um dos primeiros a aparecer.

      Abraços

  • Muito legal, achei o máximo, queria saber uma coisa…
    Já instalei um programa parecido no Ubuntu e desinstalei por motivo de no primeiro login ele não liberava o acesso pelo reconhecimento e somente pela senha.
    Esse é igual ou faz o reconhecimento mesmo no primeiro acesso (ao ligar o PC)

    • Leandro,

      Utilizei para o post o Ubuntu, que é o meu desktop e o mesmo autenticou mesmo na tela do GDM.

      Abraços

  • soldado

    LPI C3 100% rsrs muito bom..

  • Muito bom, grande Ricardo!
    Parabéns pelo trabalho!

  • Muito boa esta postagem. =)

    Você sabe se tem como utilizar esta aplicação pelo modo texto, retornando true/false? Pois estava aqui pensando nas possibilidades que uma aplicação destas pode ser utilizadas, além de entrar no sistema ou de autenticar como root. XD

    • Tácio,
      Tem como usar pelo modo texto sim, mas para gravar as imagens que serão usadas na autenticação de algum usuário (você precisa estar logado como o usuário para gravar as imagens associadas a conta dele, inclusive root) é preciso está no modo gráfico. Você pode fazer isso pelo modo gráfico e depois desabilitá-lo e logar somente em texto a partir daí, já usei esse método para validar o comando su, sudo e ssh.

      Abraços.

      • Vagner, valeu pela resposta. No meu caso, estou pensando caso dê certo, tentar criar uma aplicação (quando tiver tempo livre, ou se a empresa achar que vale a pena), que faça por exemplo o ponto dos funcionários via reconhecimento facial ao invés de leitura de digitais, que está me dando uma dor de cabeça imensa com pessoas que tem a digital meio apagada. =)

  • Victor

    O meu não conseguiu encontrar a ppa. quando eu dei apt-get update, deu not found. Alguém mais experimentou esse erro?

  • Leandro

    Amigo, ótimo seu post… deu certinho… A titulo de curiosidade… gostaria de saber como faço para remover e retornar com as configurações originais da tela de login?…. Obrigado.

    • Leandro,

      Basta remover via apt:

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

      Abraços

      • leandro

        Ricardo.. muito obrigado.
        abraço.

  • Flávio

    Parabéns Ricardo !!!!!!

    Estava ao bom tempo procurando algo do tipo, porem só tinha encontrando tutorias muito complicados, que precisaria compilar entre outros, já você fez tudo simples e pratico.

    Pessoal, tenham cuidado quando forem desabilitar algumas funções e “nunca”, desabilitem a opção “Unix authentication”, ou terão uma grande dor de cabeça kkkk, isso é o que da não ler as coisas kkkkk

    abraço

    • Flávio,

      Obrigado pelo comentário e como você disse NUNCA desativar Unix Authentication, afinal quando o pam_face não conseguir realizar a autenticação o PAM irá buscar o próximo método de autenticação.

      Abraços

  • Muito legal isso. Testei no meu netbook com Ubuntu 11.04 e funcionou perfeitamente, de primeira.

    Parabéns pela ótima dica =)

  • João Paulo Silveira

    Olá Ricardo.

    Também não conseguir pois, mesmo com as alterações que sugeriste, não encontrou os ppa.

    Sou meio inesperiente, mas gostaria muito de restituir essa função que existia no Rwindows do meu note (Lenovo).

    Abraço.

    • João,

      O ppa está disponível para as versões lucid, maverick, natty e oneiric nas arquiteturas i386 e amd64. Será necessário um pouco mais de informação para a resolução de seu problema.

      Abraços

  • Alessandro

    Deu esse erro no final:

    Baixados 3.094 B em 37s (82 B/s)
    Lendo listas de pacotes… Pronto
    W: Erro GPG: http://ppa.launchpad.net jaunty Release: As assinaturas a seguir não puderam ser verificadas devido à chave pública não estar disponível: NO_PUBKEY 7889D725DA6DEEAA
    Lendo listas de pacotes… Pronto
    Construindo árvore de dependências
    Lendo informação de estado… Pronto
    E: Impossível encontrar o pacote pam-face-authentication

    • Alessandro,

      Não há pacotes do pam-face para a versão jaunty no ppa. Para o seu caso só pelo source, ou tentando pacotes para outra versão do ubuntu (lucid,maverick,natty,oneiric).

      Abraços

  • Diego

    Eu não consegui fazer funcionar, desisti e desinstalei. Problema é que mesmo desinstalado ele continua pedindo pra autenticar pela reconhecimento facial. Ajuda?

    • Diego,

      Atualizei o post e acredito que agora você seja capaz de remover a autenticação pam-face.

      Abraços

      • Diego

        Eu não tinha conseguido retirar nem pelo apt-get remove, tava dando algum erro. Tentei pelo Synaptic e consegui. Mas obrigado pela atualização do post.

        • Diego,

          Fico feliz que tenha conseguido resolver o problema.

          Abraços

  • Daniel San

    Gostaria de saber se você conseguiu ou sabe como instalar ele no Ubuntu 12.04?
    Me parece que ainda não tem arquivos para essa versão ¬¬.

  • Olá Ricardo, você já chegou a usar com contas de usuários diferentes?
    Eu estou testando com duas contas de usuários diferentes e em cada conta de usuário foi armazenado apenas a face/rosto do usuário da conta, mas eu consigo acessar a conta do outro usuário mostrando a minha face e o outro usuário consegui acessar minha conta mostrando a face dele. Tem alguma ideía de como resolver essa falha?