Biometria

De ULBwiki

(Redirecionado de Biometra)

--Kamus Hadenes

Fonte

Tabela de conteúdo

Introdução - Reconhecimento Facial

O reconhecimento facial é um dos processos de identificação mais utilizados pelos seres humanos, pois permite identificar rapidamente qualquer pessoa e assim definir o tipo apropriado de interação com ela. Além de identificar, podemos perceber o estado emocional de uma pessoa apenas observando sua expressão facial.

Embora o reconhecimento facial seja uma tarefa simples para o ser humano, é extremamente complexo implementar esse processo em uma máquina, pois não sabemos, ao certo, como o cérebro humano realiza essa tarefa. O cérebro humano pode identificar corretamente uma pessoa a partir de sua imagem facial mesmo sobre as mais diversas condições, como variações de iluminação, observando apenas uma de suas características ou partes, e até mesmo com distorções ou deformações.

Imagem:Face.png

A eficiência de um sistema de reconhecimento facial pode ser medida pela porcentagem de acertos na identificação de pessoas sobre essas condições. Os sistemas de reconhecimento facial que existem atualmente não são seguros o suficiente para serem aplicados em larga escala, mas muitos avanços foram obtidos.

Existem diversas técnicas que podem ser utilizadas para a criação de um sistema de reconhecimento facial. Descreveremos as técnicas utilizadas para a construção de um sistema de reconhecimento facial que, a partir de uma fotografia ou imagem de vídeo, seja capaz de extrair a imagem facial da pessoa e verificar se essa pessoa pertence ou não a uma base de dados com imagens faciais previamente construídas.

O sistema de reconhecimento de faces é formado por três fases fundamentais: rastreamento da face, extração e seleção de características faciais, e reconhecimento da face.

Malic - Reconhecimento facial open-source

O malic é um projeto de reconhecimento facial open-source baseado na biblioteca OpenCV e Malib, utilizando filtro de gabor. Este projeto é composto 4 principais módulos:

   * malicsampling: Utilizado para efetuar as marcações da face (olhos, nariz e outros);
   * malicfacesampling: Este módulo armazena a face e o id do usuário (nome);
   * malicrecog: Programa responsável pelo reconhecimento facial;
   * malicsaver: Módulo simples, porém interessante. Neste aplicativo, o protetor de tela é invocado quando não existir uma face diante a câmera. 


Ambiente:

   * Sistema operacional OpenSuSE 10.3;
   * Compilador gcc 4.2.1;
   * Kernel 2.6.22.5-31;
   * Biblioteca OpenCV 1.0;
   * Biblioteca Malib 0.5.8;
   * Dispositivo de Video Captura: Webcam Orbit Logitech - Device compatível com api V4L (Vídeo for Linux) 1/2;
   * Micro computador padrão IBM-PC (32/64 bits);
   * Processador Pentium Cuo Core/ Core 2 Duo2Gbytes de RAM. 

Downloads e instalação

Abaixo os links para download dos pacotes:

OpenCV (fontes): http://easynews.dl.sourceforge.net/.../opencv-1.0.0.tar.gz

OpenCV (rpm): http://rpm.pbone.net/index.php3?stat=3&search=opencv&srodzaj=3

OpenCV-devel (rpm): http://rpm.pbone.net/index.php3?stat=3&search=opencv-devel&srodzaj=3

Malib: http://www.malib.net/archives/libmalib-0.5.8.tar.gz

Malic: http://ufpr.dl.sourceforge.net/sourceforge/malic/malic-0.0.9.1.tar.gz

Instalação dos pacotes:

Para instalar a biblioteca a partir do código fonte, baixe o pacote .tar.gz (link acima), descompacte e execute os tradicionais comandos de magia negra ./configure, make e make install, como no exemplo abaixo.

# tar -zxvf opencv-1.0.0.tar.gz
# cd opencv-1.0.0
# ./configure 

Se todas as dependências foram satisfeitas e tudo estiver funcionando corretamente, teremos uma tela similar ao resultado logo abaixo:

General configuration ========================================
    Compiler:                 g++ 
    CXXFLAGS:                 -Wall -fno-rtti -pipe -O3 -g -march=i686 
                              -ffast-math -fomit-frame-pointer 
    Install path:             /usr/local 
HighGUI configuration ========================================
    Windowing system -------------- 
    Use Carbon / Mac OS X:    no 
    Use gtk+ 2.x:             yes 
    Use gthread:              yes 
    Image I/O --------------------- 
    Use libjpeg:              yes 
    Use zlib:                 yes 
    Use libpng:               yes 
    Use libtiff:              yes 
    Use libjasper:            yes 
    Use libIlmImf:            no 
    Video I/O --------------------- 
    Use QuickTime / Mac OS X: no 
    Use xine:                 no 
    Use ffmpeg:               no 
    Use dc1394 & raw1394:     no 
    Use v4l:                  yes 
    Use v4l2:                 yes 
Wrappers for other languages =================================
    SWIG 
    Python                    yes 
Additional build settings ==================================== 
    Build demo apps           yes 
Now run make ... 

Agora execute os mágicos comandos make e make install.


Artigos

Home > Artigos > Linux > Software > Visualização de artigo Biometria: Reconhecimento Facial OpenSource! cabelo 12/05/2008

Neste documento teremos a oportunidade de conhecer um projeto de reconhecimento facial open source. Utilizando a biblioteca Malib e conceitos de visão computacional, este recurso biométrico permite criar soluções interessantes. Por: Alessandro de Oliveira Faria [ Hits: 4321 ] Conceito: 10.0 + quero dar nota ao artigo + Favoritos Papel A4 Versão para impressora Indicar para um amigo Enviar artigo

Downloads e instalação

Downloads e instalação Abaixo os links para download dos pacotes:

OpenCV (fontes): http://easynews.dl.sourceforge.net/.../opencv-1.0.0.tar.gz

OpenCV (rpm): http://rpm.pbone.net/index.php3?stat=3&search=opencv&srodzaj=3

OpenCV-devel (rpm): http://rpm.pbone.net/index.php3?stat=3&search=opencv-devel&srodzaj=3

Malib: http://www.malib.net/archives/libmalib-0.5.8.tar.gz

Malic: http://ufpr.dl.sourceforge.net/sourceforge/malic/malic-0.0.9.1.tar.gz

Instalação dos pacotes:

Para instalar a biblioteca a partir do código fonte, baixe o pacote .tar.gz (link acima), descompacte e execute os tradicionais comandos de magia negra ./configure, make e make install, como no exemplo abaixo.

  1. tar -zxvf opencv-1.0.0.tar.gz
  2. cd opencv-1.0.0
  3. ./configure

Se todas as dependências foram satisfeitas e tudo estiver funcionando corretamente, teremos uma tela similar ao resultado logo abaixo:

General configuration ========================================

   Compiler:                 g++ 
   CXXFLAGS:                 -Wall -fno-rtti -pipe -O3 -g -march=i686 
                             -ffast-math -fomit-frame-pointer 
   Install path:             /usr/local 

HighGUI configuration ========================================

   Windowing system -------------- 
   Use Carbon / Mac OS X:    no 
   Use gtk+ 2.x:             yes 
   Use gthread:              yes 
   Image I/O --------------------- 
   Use libjpeg:              yes 
   Use zlib:                 yes 
   Use libpng:               yes 
   Use libtiff:              yes 
   Use libjasper:            yes 
   Use libIlmImf:            no 
   Video I/O --------------------- 
   Use QuickTime / Mac OS X: no 
   Use xine:                 no 
   Use ffmpeg:               no 
   Use dc1394 & raw1394:     no 
   Use v4l:                  yes 
   Use v4l2:                 yes 

Wrappers for other languages =================================

   SWIG 
   Python                    yes 

Additional build settings ====================================

   Build demo apps           yes 

Now run make ...


Agora execute os mágicos comandos make e make install.

# make
# make install

Logo a seguir as instruções de compilação da biblioteca Malib:

$ tar -zxvf libmalib-0.5.8.tar.gz
$ cd libmalib-0.5.8
$ ./configure --prefix=/usr/local/malib
$ make
$ su
Senha:
# make install

Se você chegou até aqui parabéns, pois o seu sistema está preparado para compilar o projeto de reconhecimento facial Malic, abaixo as instruções:

$ tar -zxvf malic-0.0.9.1.tar.gz
$ cd malic-0.9.1
$ CFLAGS="-I/usr/local/malib/include -I/usr/local/opencv/include" \ LDFLAGS="-L/usr/local/malib/lib -L/usr/local/opencv/lib" \
./configure --prefix=/usr/local/malic
$ make
$ su
Senha:
# make install 

Utilização do sistema

O primeiro passo é informar as coordenadas dos pontos característicos da face sobrancelha, olhos, nariz e boca. Para tal tarefa, execute o comando ./malicsampling e se tudo estiver funcionando corretamente, teremos uma tela como na ilustração abaixo:

Imagem:Thumb_malicsampling.png

Para informar os pontos característicos no sistema, clique nos pontos extremos (esquerdo e direito) das sobrancelhas, dos olhos, nariz e boca. Lembrando que ao clicar em cada ponto, devemos pressionar o respectivo botão da coordenada correspondente. Ao término, pressione o botão ENTER para armazenar as coordenadas e depois no botão SAVE para gravar o arquivo .XML.

Agora o segundo passo é armazenar a FACE e um ID (nome se preferir) para um posterior autenticação. Execute o comando ./malicfacesampling para continuar com o procedimento.

Imagem:Thumb_malicfacesampling.png

Neste aplicativo, basta digitar o ID na caixa de texto e pressionar o botão ENTER seguido do botão SAVE e pronto!

Agora testaremos a identificação executando o comando malicrecog seguido do XML de gabor e o XML contendo a face e o ID. A segui um exemplo de execução:

$ ./malicrecog -j gaborrg_jet.xml -f face_jet.xml 

Imagem:Thumb_malicfacesampling.png

O sinal vermelho indica que existe uma face diante a câmera, já o sinal azul corresponde a uma identificação concluída com sucesso.

Habilitando o ScreenSaver quando não houver usuário diante o computador.

Agora para finalizar, executaremos um aplicativo interessante que habilita o SCREENSAVER quando não existir uma face diante a câmera. Assim quando levantarmos do micro, automaticamente o protetor de tela será iniciado.

O processo é muito simples, basta abrir executar o xscreensaver e a seguir o malicsaver como no exemplo abaixo:

$ xscreensaver&
$ ./malicsaver

Agora é sair mostrando para todos, que o software livre proporciona a todos projetos interessantes e inovadores.

Vale a pena mencionar que o projeto malic apresenta mais recurso do que os mencionados neste texto. Para maiores informações, leia os arquivos do projeto.

Ferramentas pessoais
Criar página