Biometria
De ULBwiki
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.
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.
- 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.
# 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:
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.
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
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.



