You are on page 1of 45

FACULDADE DO CENTRO LESTE

RUBENS MATIM LOURENO REIS DOS SANTOS







COMO DESENVOLVER APLICAES
UTILIZANDO PROCESSAMENTO DE IMAGENS






SERRA
2010


RUBENS MARTIM LOUREO REIS DOS SANTOS






COMO DESENVOLVER APLICAES
UTILIZANDO PROCESSAMENTO DE IMAGENS




Monografia apresentada ao Curso de
Graduao em Sistemas de
Informao, da Faculdade do Centro
Leste, como requisito para obteno
de ttulo de Bacharel em Sistemas de
Informao.

Orientador:
Prof. MSc. Vanderson Jos Ildefonso
Silva


SERRA
2010











Agradeo primeiramente a Deus, por ter
auxiliado nesta trajetria; um agradecimento
especial minha esposa, familiares e amigos que,
de uma forma ou de outra, me ajudaram a realizar
esse projeto; aos meus colegas de classe, e
principalmente professora e coordenadora do
curso de Sistemas de Informao Luciana Itida
Ferrari e meu orientador Vanderson Jos Ildefonso
Silva, pois com certeza sem o apoio e a
demonstrao de confiana e capacidade que
depositaram em mim seria muito difcil o trabalho
de desenvolver o meu Projeto de Graduao.








RESUMO

Reconhecimento de padres uma tarefa extremamente complexa sob o ponto de vista
computacional. A quantidade de informao contida em uma imagem absurdamente grande
e estas informaes, de acordo com a aplicao, no podero ser desprezadas ento qualquer
clculo executado para a extrao de informao destas imagens torna-se extremamente
massivo sob o aspecto computacional e de ocupao de memria. Este trabalho tem o objetivo
de apresentar a tcnica IPCA - acrnimo de Incremental Principal Component Analysis -
Anlise de Componentes Principais Incrementveis como ferramenta para auxiliar os
profissionais de informtica no desenvolvimento de softwares que necessitem por requisito
utilizarem processamento de imagens e/ou reconhecimento de padres. Esta tcnica ser
abordada com a utilizao do software Matlab e ser discutido como desenvolver aplicaes
utilizando processamento de imagens com uma simulao de desenvolvimento de um
prottipo para reconhecimento de faces. A relevncia deste trabalho se deve ao fato de que
qualquer profissional que o utilizar reduzir grande esforo em pesquisa e em entendimento
desta tcnica.














ABSTRACT

Pattern recognition is an extremely complex task under computing viewpoint. The amount of
information contained in an image is absurdly large and this information, in accordance with
the application, cannot be neglected so any calculation executed for extracting information
from these images becomes extremely massive computation under the look and memory
occupation. This work aims to introduce the technique IPCA-acronym for Incremental Main
Component Analysis tool to assist professionals in software development that require per
requirement using image processing and/or pattern recognition. This technique will be
addressed with the use of Matlab software and will be discussed how to develop
applications using image processing with a simulation of developing a prototype for faces
recognition. The relevance of this work is because any professional that use will reduce great
effort in research and in understanding this technique.













SUMRIO


CAPTULO 1 - INTRODUO ............................................................................................. 1
CAPTULO 2 - TECNOLOGIAS PARA AQUISIO DE IMAGENS ............................ 3
2.1 TIPOS DE IMAGENS ................................................................................................. 4
CAPTULO 3 - PASSOS NO PROCESSAMENTO DE IMAGENS .................................. 7
3.1 DEFINIO DO PROBLEMA .................................................................................. 8
3.1.2 Diferenas de Imagens por Formao de Cor ..................................................................9
3.2 AQUISIO DE IMAGENS .................................................................................... 14
3.3 PR-PROCESSAMENTO DAS IMAGENS ............................................................ 15
3.4 SEGMENTAO ..................................................................................................... 15
3.5 REPRESENTAO E DESCRIO ....................................................................... 16
3.6 RECONHECIMENTO E INTERPRETAO ......................................................... 16
3.7 RESULTADO ............................................................................................................ 17
CAPTULO 4 - TECNICAS DE PROCESSAMENTO UTILIZANDO O MATLAB ..... 18
4.1 DEFINIO DO PROBLEMA ................................................................................ 18
4.2 AQUISIO DE IMAGENS .................................................................................... 18
4.3 DEFINIO DA TCNICA ESCOLHIDA ............................................................. 23
4.3.1 Funcionamento do Ipca ................................................................................................. 24
4.3.2 Autovetores e Autovalores............................................................................................ 26
4.3.3 Utilizao do Matlab em outras Plataformas de Desenvolvimento ........................... 28
4.4 SEGUIMENTAO ................................................................................................. 30
4.5 APRESENTAO DOS PASSOS AT A SEGMENTAO ............................... 31
4.6 RECONHECIMENTO E INTERPRETAO ......................................................... 32
CAPTULO 5 - RESULTADOS EXPERIMENTAIS ......................................................... 33
CAPTULO 6 - PROJETOS FUTUROS ............................................................................. 35

CAPTULO 7 - CONCLUSO ............................................................................................. 36
REFERENCIAS ..................................................................................................................... 37



















1

CAPTULO 1 - INTRODUO

O uso de mtodos para processamento de imagens alvo de estudo de muitos especialistas de
diversas reas de atuaes. Essa preocupao em utilizar imagens em aplicaes diversas
advm do fato de o ser humano ter uma capacidade limitada de analisar fatos ou dados
abstratos, quer dizer, o ser humano necessita de uma habilidade gigantesca para conseguir
fazer uma anlise de um fato se este for algo abstrato, impalpvel.
De acordo com Santaella O estudo da linguagem e dos signos muito antigo. A preocupao
com os problemas da linguagem comeam na Grcia. A semitica implcita compreende todas
as investigaes sobre a natureza dos signos, da significao e da comunicao, uma
semitica explcita quando a cincia semitica propriamente dita comeou a se desenvolver
(SANTAELLA, 2002: XII apud FRIZERA & VALADO, 2008).
A teoria semitica nos habilita a penetrar no movimento interno das mensagens, o que nos d
a possibilidade de empreender os procedimentos e recursos empregados nas palavras,
imagens, diagramas, sons, nas relaes entre elas, permitindo a anlise das mensagens. As
mensagens podem ser analisadas em si mesmas, nas suas propriedades internas, quer dizer,
nos seus aspectos qualitativos, sensrios, tais como, na linguagem visual, por exemplo, as
cores, linhas, formas, volumes, movimento, dinmica, quando, em terminologia semitica,
analisa-se os quali-signos das mensagens (MAGALHES BARBOSA, 2008 apud
FRIZERA & VALADO, 2008).
Segundo Gonzalez & Woods (2003) O interesse em mtodos de processamento de imagens
digitais decorre de duas reas principais de aplicao: melhoria de informao visual para
interpretao humana e o processamento de dados de cenas para percepo automtica atravs
de maquinas.
Esse interesse em se utilizar meios digitais e computacionais para processamento de imagens
esta relacionada tentativa de extrair ao mximo a interferncia humana em processos de
verificaes/constataes, onde o indivduo responsvel por este processo alvo de muito
desgaste e impercia. A justificativa ento para utilizao de tecnologia para este tipo de
aplicao de se reparar as falhas que este indivduo pode cometer.
No estudo de processamento de imagens esto envolvidos diversos tipos de profissionais
formados em diversas reas de conhecimento, porm existe um grande problema para os
profissionais formados em tecnologia da informao, onde disciplinas que contemplem estes
2

fundamentos tericos simplesmente no existem. Comenta-se a falta de informao terica
apenas para este tipo de profissional, pois a sua formao lhe permite desenvolver aplicaes
comerciais e industriais diversas, mas deixa a desejar se no decorrer de sua carreira necessitar
de desenvolver algo envolvendo processamento de imagens.
Seguindo este contexto, a aquisio da imagem algo de suma importncia para que possa ser
analisada de forma ntegra e detalhada um determinado fato, porm no se deve perder o foco
do problema a ser solucionado com esta comparao.
Neste trabalho ser mostrado como desenvolver uma aplicao utilizando processamento de
imagens adotando o software Matlab que j possui um toolbox (biblioteca de ferramentas)
com inmeras funes para manipulao e aquisio de imagens. Deve-se ainda ressaltar que
ser mostrado como utilizar o software Matlab para exportar as ferramentas necessrias
para composio da tcnica IPCA para utilizao em outra IDE (Integrated Development
Environment ou Ambiente Integrado de Desenvolvimento).
Toda essa demonstrao ser abordada de forma expositiva com utilizao de tabelas e
imagens do software Matlab durante o processo de desenvolvimento do projeto proposto.













3

CAPTULO 2 - TECNOLOGIAS PARA AQUISIO DE IMAGENS

Com o avano tecnolgico e com a popularizao de cmeras de vdeo torna-se
gradativamente fcil a aquisio de imagens para diversos fins. Este fato esta relacionado
disseminao da tecnologia CCD (Charge Coupled Device Dispositivo de Carga
Acoplado), na dcada de 80, o que permitiu uma reduo de custos e aumento de
confiabilidade em relao s antigas cmaras de tubo de raios catdicos (GALO,
HASEGAWA & TOMMASELLI, 1999).
Os dispositivos de acoplamento de carga (CCD) so circuitos integrados de silcio, usados
como transdutores de imagem. Um dispositivo transdutor aquele capaz de transformar uma
forma de energia em outra, no caso energia luminosa em energia eltrica. Existem dois tipos
bsicos de CCDs, o CCD linear e o CCD Array, que podem ser utilizados em funo da
aplicao da cmera.
O CCD linear nada mais que uma fileira com milhares de elementos fotossensveis que
varrem a rea onde a imagem se forma na cmera, desta forma, captura uma coleo de linhas
que formam a foto. (CAPELARO, MENDONA & TEIXEIRA, 1997).
A outra forma bsica de um CCD do tipo Array que uma matriz com milhares, ou at
milhes, de elementos fotossensveis que capturam os pontos da imagem na cmera de uma
vez s. As cmeras que utilizam este tipo de CCD so as mais populares do mercado e
apresentam no s preos mais acessveis, como tambm facilidade de uso e portabilidade.
(CAPELARO, MENDONA & TEIXEIRA, 1997).
Na figura I temos exemplos de como feita a captura da imagem pelos dois tipos de CCDs.






Figura I: Exemplos de CCDs capturando imagens do mundo real.
Fonte: Adaptado de (CAPELARO, MENDONA & TEIXEIRA, 1997).
4

Deve-se ainda ressaltar que os dispositivos com tecnologia CCD esto ligados a imagens
digitais que, por este fato, tem um elevado grau de confiabilidade para uma possvel tentativa
de recuperao ou ajuste na imagem capturada em relao imagem real.
Neste processo existem dois pontos fundamentais a serem observados: um dispositivo fsico
que seja sensvel a uma banda do espectro de energia eletromagntica e que produza um sinal
de sada eltrica proporcional a um nvel de energia percebida, o segundo ponto um
conversor deste sinal eltrico de sada para a forma digital. O CCD ento utilizado para
solucionar estes dois pontos citados, reduzindo assim o custo neste procedimento e a
interferncia externa na captura e digitalizao da imagem.


2.1 TIPOS DE IMAGENS

Para utilizao de ferramentas no processamento de imagens primeiramente deve-se conhecer
os tipos de imagens (ao menos os tipos mais comuns) e quais so suportadas pelas
ferramentas que sero empregadas.
A informao sobre o tipo de imagem que ser adquirida pelo sistema poder acarretar em
efeitos inesperados como excesso de processamento, perda de informao ou mesmo
dificuldades em manipular estas imagens de forma computacional.
Levando este ultimo comentrio em considerao devemos ento ter o domnio sobre como os
tipos de imagens se comportam dentro do sistema computacional, para que possamos
identificar as ferramentas necessrias para suas devidas manipulaes.
Para este trabalho em especial sero apresentadas os tipos de imagens (e originrios de
importao) suportados pelo software Matlab que esto apresentadas na figura II:

Tipos de
Arquivo
Extenso Descrio
Funo de
Importao
Funo de
Exportao
Imagens
BMP Windows Bitmap
imread imwrite
GIF Graphics Interchange Format
5

Tipos de
Arquivo
Extenso Descrio
Funo de
Importao
Funo de
Exportao
HDF Hierarchical Data Format
JPEG ou JPG Joint Photographic Experts Group
JP2, JPF, JPX, J2C, ou J2K JPEG 2000
PBM Portable Bitmap
PCX Paintbrush
PGM Portable Graymap
PNG Portable Network Graphics
PNM Portable Any Map
PPM Portable Pixmap
RAS Sun Raster
TIFF ou TIF Tagged Image File Format
XWD X Window Dump
CUR Windows Cursor resources
imread None
FITS ou FTS Flexible Image Transport System
ICO Windows Icon resources
udio
AU ou SND NeXT/Sun sound
auread auwrite
WAV Microsoft WAVE sound
wavread wavwrite
Vdeo
(Qualquer
plataforma)
AVI Audio Vdeo Interleave
VdeoReader VdeoWriter
MJ2 Motion JPEG 2000
VdeoReader None
Vdeo
MPG Motion Picture Experts Group,
VdeoReader None
6

Tipos de
Arquivo
Extenso Descrio
Funo de
Importao
Funo de
Exportao
(Windows)
phases 1 and 2
ASF, ASX ou WMV Windows Media
any Formats supported by Microsoft
DirectShow


Vdeo
(Mac

)
MPG, MP4 ou M4V MPEG-1 e MPEG-4
VdeoReader None
any Formats supported by
QuickTime

, including .mov,
.3gp, .3g2, and .dv
Vdeo
(Linux)
any Formats supported by your
installed GStreamer plug-ins,
including .ogg
VdeoReader None

Figura II: Comandos na linguagem m (Linguagem proprietria do software Matlab).
Fonte: Adaptado de (Product Help Software Matlab).










7

CAPTULO 3 - PASSOS NO PROCESSAMENTO DE IMAGENS

Depois de obtida as imagens comeam as etapas de preparao destas imagens para
melhorar as informaes que se queira extrair, ou seja, comeamos neste ponto a pensar no
que devemos extrair da imagem para que posteriormente se faa as devidas comparaes ou
concluses.
Deve-se ressaltar ainda que para extrair as informaes que queremos processar deve-se
pensar em algo compreensvel para computadores, pois a performance e confiabilidade neste
tipo de aplicao so pontos cruciais.
Para que se tenha sucesso no processo de comparao deve-se seguir uma sequncia no
processamento da imagem at que se obtenha uma informao a ser analisada e comparada.
Para isto, ser referenciada neste trabalho uma sequncia tida como passos fundamentais em
processamento de imagens digitais (figura III) proposta por Gonzalez & Woods (2003) e
utilizada largamente em diversos projetos deste campo de pesquisa.










Figura III: Passos Fundamentais em Processamento de Imagens Digitais
Fonte: Adaptado de (GONZLES & WOODS, 2003).


8

3.1 DEFINIO DO PROBLEMA

No primeiro passo est a delimitao e definio do problema. Esta etapa consiste em no
ultrapassar os limites do projeto, j que o processamento de imagens, utilizando-se dos passos
supracitados, pode ser utilizado em diversas aplicaes. Deve-se citar que este passo,
comparando com a Engenharia de Software, onde se faz todos os levantamentos de
qualidade, prazo, custo, etc.
No decorrer do desenvolvimento da aplicao, no que tange os processos de Engenharia de
Software, temos que levar em considerao conhecimentos prvios sobre conceitos de
processamento de imagens dentro da viso computacional e sobre as tecnologias que sero
empregadas no projeto, ento, neste passo, estar a descrio de alguns desses conceitos:


3.1.1 Viso Computacional

Nesta grande rea do conhecimento, uma imagem composta de uma matriz (ou mais) de
pontos que so chamados de pixels (unidade bsica em uma imagem). Embora para os seres
humanos isso possa ser de vrios tamanhos, para o computador a unidade bsica de ponto
luminoso, ou seja, naquele pequeno retngulo que contm um pixel pode haver apenas uma
cor, com apenas uma intensidade de luz. (GONZLES & WOODS, 2003).
A partir deste conceito de pixel poderemos falar de resoluo: o conceito de resoluo
exatamente quantos pixels h em uma determinada rea. Utilizando este conceito, pode-se
saber quando uma imagem melhor que a outra, j que a de melhor qualidade ter mais pixels
por rea, ou seja, mais resoluo. Quanto maior a resoluo mais pixels por polegada ter a
imagem. (FREITAS, 1999).
Para demonstrar como definida a resoluo de uma imagem verifica-se quantos pixels temos
na altura (linhas) e na largura (colunas), exemplo: uma foto de 480x640 (normalmente
representado sempre o maior nmero primeiro: 640x480, e tambm normalmente o nmero de
colunas maior que o nmero de linhas) pixels nos fornece uma resoluo de 307.200
pixels na tela. Cada pixel contendo apenas uma cor e apenas uma intensidade de luz.
9

Por conveno uma imagem tem seus pixels mapeados da seguinte forma:










Figura IV: Conveno utilizada na leitura de imagens digitais (a) e, leitura de imagens digitais
pelo Matlab(b).
Fonte: Adaptado de (GONZLES, WOODS & EDDINS, 2007).


3.1.2 Diferenas de Imagens por Formao de Cor

A imagem pode ser formada basicamente por trs tipos de formao de cor: RGB, HSI e
Intensity. (GONZLES & WOODS, 2003)
Na etapa de definio do problema devemos conhecer bem os tipos de formao de imagens e
como estas imagens so compreendidas pelos computadores, assim conseguiremos assegurar
um nvel de processamento satisfatrio e minimizaremos possveis erros no decorrer do
desenvolvimento.


(b)
(a)
10

3.1.2.1 RGB

A imagem RGB formada por trs matrizes sobrepostas com quantificaes de cores
relacionadas a vermelho (Red), verde (Green) e azul (Blue) como mostrado na figura abaixo:


Figura V: Formao da imagem RGB
Fonte: (Wikimedia Commons, acessado em 23/10/10).

Esta representao equivalente, matematicamente a (equao 1):

(1)

Onde:
Im: Imagem Final
I
k:
Imagem de apenas uma cor em cada camada
Em termos computacionais temos a seguinte leitura da imagem no formato RGB:

=
camadas
k
I ] [ Im
11



Figura VI: Leitura da imagem RGB pixel a pixel pelo computador
Fonte: Product Help Matlab.


3.1.2.2 HSI

O sistema HSI funciona com uma espcie de disco em que uma vez selecionada a cor correta,
possvel variar sua iluminao (quanto de branco ela possui) e quanto de cor ela possui
(saturao). (GONZLES & WOODS, 2003)
12

Este tipo de imagem composta por angulao (H), saturao (S) e intensidade (I, que pode
ser entendido tambm como luminosidade) conforme diagramado na figura VII:


Figura VII: Exemplificao dos discos HSI
Fonte: Adaptado de (SOBRAL, 2002 Disponvel em
http://gec.di.uminho.pt/lesi/vpc0203/Aula04Cor.pdf).

Para o software Matlab este tipo de formao de imagem no suportado, porm existe uma
forma (funes) similar para se trabalhar com este tipo de imagem utilizando o HSV:

13


Figura VIII: Ilustrao da compatibilidade da formao HSI com HSV
Fonte: Product Help Matlab.


3.1.2.3 Intensity

O modo intensity (Intensidade ou Luminosidade) consiste no preto e branco, composto por
pontos que variam de 0 a 255 em escala de intensidade de luz. No possui componente de cor,
portanto a imagem fica em tons de cinza. Computacionalmente uma matriz bidimensional, o
que exige menos do poder de processamento do computador. (LU, 2001 apud FRIZERA &
VALADO, 2008).

14


Figura IX: Leitura da imagem em tons de Cinza (Gray Scale) pixel a pixel pelo computador
Fonte: Product Help Matlab.


3.2 AQUISIO DE IMAGENS

Neste passo do processo faz-se a aquisio das imagens que sero utilizadas nas comparaes
e/ou identificaes. Como citado anteriormente, a aquisio das imagens dependem de um
dispositivo que seja sensvel a uma banda do espectro de energia eletromagntica e que
produza um sinal de sada eltrica proporcional a um nvel de energia percebida e converta
este sinal eltrico de sada para a forma digital.
Este dispositivo ser de crucial importncia, pois com ele que determinaremos os tipos de
imagens que serviro de entrada no sistema.
15

Dependendo do dispositivo teremos de verificar questes de transformaes, manipulaes
das imagens de entrada, redimensionamento, etc. Portanto a escolha do dispositivo interferir
completamente no andamento do projeto.
Neste projeto ser utilizado o CCD de uma cmera digital integrada ao computador (WebCan)
para a aquisio das imagens que sero testadas e demonstradas.
O software Matlab por sua vez nos permite controlar este hardware internamente sem
precisar utilizar a interface do proprietrio fabricante, ou seja, conseguimos atravs de
algumas funes controlar completamente o dispositivo de captura sem problemas.


3.3 PR-PROCESSAMENTO DAS IMAGENS

Nesta fase ser evidenciado o que se espera recuperar nas prximas etapas, ou seja, o sucesso
nesta fase determinante nas fases subsequentes. Um exemplo de pr-processamento a
retirada de rudo (na imagem o rudo perceptvel como distores ou falhas na figura), o
realce de uma determinada regio, etc.
A imagem de entrada passar por filtros e transformadas como, por exemplo, a
transformada de Laplace, que tem como objetivo de trabalhar a imagem no domnio da
frequncia, ou seja, se desejarmos aplicar um filtro na cor ou luminosidade da imagem esta
uma possvel soluo de filtro.
A escolha dos filtros e transformadas a que as imagens sero submetidas deve ser estudado
com clareza e levado em considerao a que se prope a soluo computacional idealizada,
pois se a informao for extrada de forma errnea ou mesmo perdida, todos os passos
subsequentes no tero eficincia.


3.4 SEGMENTAO

De acordo com GONZLES & WOODS, seguimentao faz com que se divida uma imagem
de entrada em partes ou objetos constituintes. Esta fase a mais complexa principalmente se
16

tratando de sistemas real-time (tempo real) pois o nvel de processamento da mquina muito
alto e dependendo da aplicao se torna invivel.
Por esta razo deve-se utilizar padres de entradas e trabalhar focado nestes padres, a fim de
conseguir limitar o nmero de caractersticas relevantes a que se prope o sistema a ser
desenvolvido, ganhando robustez e confiabilidade.
Pode-se citar como exemplo de padronizao o formato de entrada em pixels das fotos a
serem testadas para reconhecimento facial, ou mesmo o formato da imagem, RGB, Gray
Scale (tons de cinza), etc. Mais a frente ser demostrada uma melhor definio das tcnicas e
ferramentas propostas.


3.5 REPRESENTAO E DESCRIO

A sada do processo de segmentao constituda tipicamente de dados em forma de pixels
(raw pixel data), desta forma devemos ento transformar esta sada em uma forma adequada
ao processamento computacional, ou seja, devemos fazer uma transformao dos dados
segmentados em estruturas fceis de se manipular de forma computacional: strings, inteiros,
pontos flutuantes, etc.
O processo de Descrio tambm conhecida como seleo de caracterstica, onde
procuramos separar a informao que representa o que esperamos comparar/constatar.


3.6 RECONHECIMENTO E INTERPRETAO

Reconhecimento o ato de atribuir um rtulo a um objeto baseado na informao fornecida
por seu descritor. A interpretao envolve a atribuio de um significado a um conjunto de
objetos conhecidos. Esta etapa muito confusa pelos termos utilizados, porm deve-se
destacar que aqui no identifica nada, nesta fase atribumos um rtulo e em seguida (ou
contguo) atribumos um significado a um conjunto de objetos conhecidos e esse rtulo e este
significado que ser testado junto a uma base de conhecimento previamente categorizada
17

com valores e caractersticas que devem ser padres a fim de se conseguir clareza e eficcia
no processamento.


3.7 RESULTADO

Resultado o que se espera como sada deste sistema de processamento, e a partir da
devemos manipular, exibir, ou qualquer outra ao de acordo com a aplicao desejada com
este processamento.
No necessariamente precisamos passar por todas estas etapas para se chegar ao resultado
esperado, porm o que determinar este fato ser como ser feito e para que ser feito este
processamento.














18

CAPTULO 4 - TECNICAS DE PROCESSAMENTO UTILIZANDO O MATLAB

Seguindo a linha de raciocnio do captulo anterior vamos demonstrar neste captulo como
utilizar a ferramenta Matlab (R2010b) para desenvolver os passos fundamentais, porm
no ser levado em considerao o tipo de projeto, ou seja, demonstraremos de forma
genrica as funes e ferramentas que o software Matlab oferece.


4.1 DEFINIO DO PROBLEMA

Este passo no desenvolvimento de qualquer atividade indiferente de sistema ou ferramenta a
ser utilizado, ento iremos propor a seguinte definio:
Temos em nosso estabelecimento comercial uma cmera de vdeo ao qual feito um
monitoramento a fim de se preservar a segurana dos funcionrios e dos clientes contra furtos
e/ou roubo. Atravs desta cmera podemos utilizar um sistema computacional (esta a
proposta) que reconhea os funcionrios e/ou clientes caso seja efetuado um furto ou roubo,
assim poderemos identificar o infrator em futuros eventos facilmente, ou ainda, se houver
uma prvia dos recentes infratores da regio poderemos evitar que o estabelecimento sofra
tambm um evento deste.
Deve-se ressaltar que nesta proposta no ser identificado o infrator automaticamente sem
nenhuma informao prvia, ou seja, o sistema identificar o infrator, porm este j ser
conhecido.


4.2 AQUISIO DE IMAGENS

A partir deste passo levaremos em considerao para as demonstraes o problema proposto
no passo anterior e antes de iniciar os passos seguintes falaremos um pouco mais sobre o
software Matlab. Porm como propomos anteriormente estes passos podero ser utilizados
para desenvolver qualquer tipo de projeto.
19

O Matlab uma ferramenta de utilidades diversas usada largamente no meio cientfico e
tambm no meio industrial, e tem como diferenciao de utilidades seus toolboxes, que no
caso de processamento de imagens iremos utilizar os seguintes:
Imaq e Image, alm dos conjuntos de operadores e funes bsicas do prprio software.
Utilizaremos ainda para demonstraes o Product Help, ou seja, o Help do Matlab que
de grande utilidade e bem extenso.
Na tela inicial do programa temos o seguinte layout como aparncia default:

Figura X: Aparncia default do software na tela principal
Fonte: Software Matlab (R2010b).

Nesta tela temos os seguintes componentes para auxlio e controle dos passos que esto sendo
desenvolvidos:
Current Folder: Esta a rea de trabalho ao qual o software controla e mantm todos os
arquivos gerados. O software Matlab tem esta caracterstica, ele no opera fora dos seus
limites dentro da mquina.
Command Windows: Esta janela a responsvel por executar os comandos.
20

Workspace: Neste espao ficam armazenadas todas as variveis criadas pelos comandos
executados no Command Window.
Command History: Janela onde ficam documentados todos os comandos executados (ou no)
no Command Window, ou seja, tudo o que for digitado no Command Window ser registrado
no Command History.
Deve-se ressaltar que este layout de tela pode ser alterado a qualquer momento pelo usurio,
ou at mesmo includo outras janelas como, por exemplo, os arquivos de script, que so
arquivos onde podemos criar programas, ou funes ou partes de programas de acordo com a
necessidade de utilizao.
Para a aquisio de imagens temos diversas funes como:
videoinput - Construtor de um objeto de entrada no formato de vdeo.
get - Retorna as propriedades do objeto adquirido em forma de imagem.
inspect - Abre uma janela contendo as configuraes e propriedades da imagem adquirida.
set - Modifica os valores de propriedades das imagens que sero adquiridas.
getselectedsource - Retorna as propriedades do vdeo corrente.
start - Inicializa a captura do vdeo.
stop - Para a captura do vdeo.
wait - Verifica se o video est rodando.
trigger - Inicializao manual do objeto que esta sendo capturado (vdeo).
triggerconfig - Configura a entrada do objeto no formato de vdeo.
triggerinfo - Retorna todas as configuraes validas do trigger.
closepreview Fecha a janela de visualizao do vdeo.
imaqmem - Limita o uso de memria na aquisio do vdeo (frames).
imaqmontage Mostra as imagens adquiridas em forma de montagem.
imaqtool - Ferramenta de aquisio e configurao manual das propriedades de aquisio de
imagens.
preview Mostra o vdeo em nova janela.
imaqhelp Mostra Funes e propriedades para aquisio de imagens.
21

imaqhwinfo - Retorna informaes dos hardwares instalados na mquina.
Estas funes destacadas acima so as de uso frequente em sistemas de processamento de
imagens, porm temos que destacar que o mais difcil no processo de aquisio controlar o
hardware e padronizar as entradas no processo computacional visto que este processo se
tornar automtico no sistema proposto.
Todas as funes supracitadas podem ser executadas em arquivos de script ou diretamente
pelo Command Window. A escolha da funo correta depender ento do tipo de entrada que
se far no sistema, como a nossa entrada ser um vdeo, ento usaremos a funo
videoinput(winvideo, 1, RGB24_640X480) como podemos ver na figura abaixo:


Figura XI: Funcionamento da digitao e execuo do cdigo pelo Matlab
Fonte: Software Matlab (R2010b).

Note que como no foi informado nenhuma varivel recebendo a estrutura de dados contendo
o objeto de vdeo, o prprio software criou a varivel ans. Note ainda que no precisamos
informar o tipo de dado que a varivel ir receber, esta outra caracterstica prpria do
Matlab.
22

Deve-se saber ainda: o software Matlab case sensitive, possui ainda uma ferramenta de
help intelligence, que interpreta o cdigo que esta sendo digitado e lhe fornece as opes para
concluir a assinatura do mtodo.
Aps digitado o ultimo comando (preview) o software mostra uma outra janela contendo o
vdeo com as caractersticas includas o comando de entrada:


Figura XII: Exibio do vdeo pelo Matlab
Fonte: Software Matlab (R2010b).

Verifica-se que nesta tela do vdeo ainda no temos uma interface para que outras pessoas
possam fazer as comparaes entre imagens e verificar se existe a pessoa no ambiente.
O desenvolvimento desta interface pode ser feita como em qualquer outro ambiente de
desenvolvimento, utilizando o GUI Builder (ou simplesmente GUIDE) ou diretamente em
arquivo de script.
Se ainda o desenvolvedor quiser utilizar outra linguagem diferente da proprietria (chamada
m) poder utilizar ainda a linguagem TLC, C/C++, Java, VHDL, Verilog ou XML/HTML
com uma simples escolha no arquivo de script (ou no projeto inteiro) seguindo o caminho
23

File\Preferences, assim ser mostrada a seguinte janela contendo as configuraes do
software:


Figura XIII: Tipos possveis de utilizao de linguagens no Matlab
Fonte: Software Matlab (R2010b).

O que bem interessante nesta mudana de linguagens que os mtodos do software no
sofrem alteraes nas assinaturas, podendo ento ser utilizados os mesmos mtodos
supracitados em qualquer destas linguagens suportadas pelo Matlab.
Para o nosso propsito no ser discutido ento como desenvolver a interface para o sistema,
nos focaremos no reconhecimento e na tcnica utilizada para esta finalidade.
Mais a frente discutiremos ainda uma forma de se produzir no Matlab ferramentas para
utilizao em outras plataformas de desenvolvimento como .Net, Java e Delphi por exemplo.


4.3 DEFINIO DA TCNICA ESCOLHIDA

24

Como neste projeto esta definido a utilizao da tcnica conhecida como IPCA acrnimo de
Incremental Principal Component Analysis - Anlise de Componentes Principais
Incrementveis, que uma forma incremental, em termos computacionais, do PCA -
Principal Component Analysis (Freitas et. al, 2003), temos que a partir deste passo pensar em
como ser o tratamento das imagens de entrada para que a tcnica seja bem sucedida, ento
abaixo ser descrita como o funcionamento desta tcnica e por qual razo foi escolhida.


4.3.1 Funcionamento do Ipca

Uma imagem discreta de face pode ser representada como uma matriz X de dimenso l c,
onde l o nmero de linhas e c o nmero de colunas da matriz. No entanto, possvel
representar tambm essa mesma matriz como um vetor x
T
n -dimensional, onde n = l . c, e que
na realidade representa a matriz X concatenada. Se considerarmos que a imagem de uma face
pode ser descrita como um vetor no espao
n
, ento essa face um ponto nesse espao
n
.
Portanto um espao de faces Zx um espao multidimensional que contm todas as faces de
um determinado conjunto de treinamento (TURK & PENTLAND, 1991 apud KITANI &
THOMAZ, 2001).
Considere que temos agora um conjunto de N imagens discretas de faces. Se concatenarmos
as imagens e as agruparmos em uma matriz Zx, a matriz ser formada por N.l.c elementos.
Deste modo, cada coluna (ou linha) da matriz Zx pode ser a representao de uma face. A
figura XIV ilustra didaticamente um espao de faces, cuja dimenso de N linhas por n
colunas, onde N o nmero de faces e n o produto l.c que representa a dimensionalidade
desse espao. Apesar das fotos na figura XIV estarem coloridas (RGB_24) o espao de fotos
desenvolvido no projeto proposto esta representado em fotos preto e branco (tons de cinza),
que compreendem um espao de 8 bits de luminncia, ou seja, cada clula da matriz Zx
representa uma escala monocromtica que, por sua vez, pode variar de 256 tons assumindo
somente um destes valores como explicado anteriormente.
25


Figura XIV: Ilustrao do arranjo de fotos formado utilizando o IPCA
Fonte: Adaptado de (KITANI & THOMAZ, 2001).

A razo de se concatenar a matriz de face foi baseada no primeiro trabalho apresentado por
(SIROVICH & KIRBY, 1987), onde eles apresentaram a hiptese da reduo da
dimensionalidade da matriz de face utilizando uma tcnica de compresso de dados muito
utilizada na rea de processamento de sinais.
A tcnica, que tambm conhecida como Tcnica de Expanso de Karhunen-Love,
normalmente aplicada em sinais que variam no domnio do tempo e que so representados
como vetores randmicos (FUKUNAGA, 1990). A figura XV ilustra como seria o vetor
imagem de uma face visto como um sinal no domnio do tempo.


Figura XV: Grfico do vetor de imagem de uma face. No canto superior direito da figura
temos a imagem da face que representada por este grfico.
Fonte: Adaptado de (KITANI & THOMAZ, 2001).
26

Seguindo a linha de raciocnio desenvolvida por Sirovich e Kirby esta dimensionalidade pode
ser diminuda o bastante, utilizando-se uma mdia de tudo aquilo que comum a todas as
faces (imagens) que compem o banco de dados, assim conseguimos extrair todas as
redundncias e melhorar consideravelmente o grau de processamento que ser necessrio para
a aplicao. Na figura XVI temos um exemplo de Face Mdia e matematicamente temos a
equao (2) para extrao desta mdia:

(2)





Figura XVI: Imagem de uma face mdia.
Fonte: Adaptado de (KITANI & THOMAZ, 2001).


4.3.2 Autovetores e Autovalores

Autovalores e autovetores so conceitos importantes de matemtica, com aplicaes prticas
em reas diversificadas como mecnica quntica, processamento de imagens, anlise de
vibraes, mecnica dos slidos, estatstica, etc. (KAMPEN, 2001 disponvel em:
http://pt.wikipedia.org/wiki/Matriz_de_covari%C3%A2ncia).
Graficamente a ideia bsica pode ser vista de uma forma bastante simples. Seja uma imagem
formada por um retngulo com 2 vetores segundo (a) da Figura XVII. Essa imagem sofre uma
ampliao (transformao) apenas na horizontal, resultando no retngulo (b). Nessa condio,
o vetor v2 passou a v2', que no tem a mesma direo do original v2. Portanto, o vetor v2' no
pode ser representado por v2 multiplicado por um escalar.
27

Mas o vetor v1' tem a mesma direo de v1 e, por isso, pode ser representado por v1
multiplicado por um escalar. Diz-se ento que v1 um autovetor da transformao e que esse
escalar um autovalor associado.


Figura XVII: Ilustrao grfica de Autovetores e autovalores.
Fonte: Adaptado de (MSPC - Informaes Tcnicas, disponvel em:
http://www.mspc.eng.br/matm/al_auto_val_vet_01.shtml).

Dentro da matriz cada um dos vrios autovetores so ortogonais uns aos outros. Em outras
palavras isso significa que essa matriz multidimensional e a mesma no graficamente
visualizvel. (FRIZERA & VALADO, 2008).
Porm, em termos matemticos pode-se escrever o polinmio como sendo (equao 3):


(3)


Uma matriz guarda todo o banco de dados relativo imagem (coeficientes Q) e outra os
autovetores (Z) necessrios para a reconstruo da mesma (a imagem representada pela
varivel Im). Desta forma, a imagem vira um grande polinmio de grau n, porm com
formato linear.
Por outro lado, apenas a matriz no seria suficiente para representar uma imagem e reconstru-
la. Para isso so necessrios, alm dos autovetores, os autovalores, que geram posteriormente,
os coeficientes de multiplicao dos autovetores. (FREITAS et. al., 2003)
| |
(
(
(
(

=
n
n
q
q
q
Z Z Z
...
... Im
2
1
2 1
28

Quanto ao processo do IPCA muda-se, ento, a questo do reprocessamento, j que, neste
caso, no necessrio recalcular toda a matriz - apenas acrescentar os novos vetores e valores
nas matrizes de autovetor e autovalor (FREITAS et. al, 2003).
importante frisar que como esta tcnica exige a retirada de uma mdia das imagens,
temos ento um grau de erro que deve ser considerado.
Este erro na verdade um distanciamento entre as imagens (distanciamento entre os vetores
que so organizados por esta tcnica de forma ortogonal uns aos outros) e em processamento
de imagens chamado de threshold (Valor de corte).
Durante o teste, um novo ponto formado. Com isso, calcula-se a distncia Euclidiana
(distncia no espao n-dimensional). Atravs do valor dessa distncia pode-se determinar de
quem a face. Para isso determina-se um valor de corte ou threshold. (FREITAS et. al., 2003)
No projeto proposto esta distncia foi fixada com valor 2 para que o grau de preciso pudesse
ser satisfeito pelo sistema.


4.3.3 Utilizao do Matlab em outras Plataformas de Desenvolvimento

Como falado anteriormente o Matlab uma IDE de desenvolvimento completssimo e de
alto grau de funcionalidades e ferramentas disponveis e dentre milhares delas destaco o
Matlab Builder (Construtor), que uma ferramenta de criao de arquivos diversos (depende
do Builder) para transferir funes especficas do Matlab para a plataforma de destino.
Nesta release esto disponveis os seguintes Builders:
MATLAB Builder EX (para Microsoft Excel): Esta uma ferramenta para criao de
arquivos que podem ser includos diretamente no Microsoft Excel para utilizar funes
especficas que o prprio Excel talvez no tenha.
MATLAB Builder JA (para Linguagem Java): Esta ferramenta utilizada para criao de
arquivos para serem includos diretamente no compilador Java (O help informa que os testes
de integrao foram realizados na IDE Eclipse, mas que no teria problemas em utilizar em
outra IDE).
29

MATLAB Builder NE (para Microsoft .NET Framework): Esta ferramenta utilizada para
criao de arquivos que sero includos diretamente em algum projeto .Net, nele possvel
especificar sobre qual verso dos Frameworks ser construdo a DLL (Dynamic-link library
Biblioteca de Ligao Dinmica).
Na figura XVIII temos uma ilustrao do que podemos fazer com essas ferramentas:


Figura XVIII: Ilustrao das ferramentas disponveis no Matlab.
Fonte: Adaptado de (Product Help do Matlab).

Todos os aplicativos (executveis) desenvolvidos pelo Matlab devem ser configurados na
mquina final de acordo com a figura XIX:

30


Figura XIX: Ilustrao das ferramentas disponveis no Matlab.
Fonte: Adaptado de (Product Help do Matlab).


4.4 SEGUIMENTAO

Para o desenvolvimento deste projeto foi utilizado como segmentao somente a
padronizao das imagens capturadas atravs do vdeo em termos de resoluo e de formao
de cor.
Foi determinado que o vdeo ser capturado e mostrado para o usurio de forma colorida, ou
seja, no formato RGB, porm para que tivssemos sucesso no processamento definimos que a
captura e armazenamento ficasse preto e branco (tons de cinza).
Outra padronizao realizada foi a compresso da foto para o formato PGM (Portable Gray
Map), que na verdade uma imagem no formato BMP comprimida em tons de cinza.
31

Devemos deixar claro que o processo de segmentao, como foi dito anteriormente, o
processo mais complexo de todo o desenvolvimento e, como esta sendo utilizada uma
webcam como forma de captura do vdeo, passamos a considerar que a imagem capturada
estaria segmentada o suficiente ao ponto de termos na tela somente a face da pessoa que
serviria para o banco de imagens e para o teste de reconhecimento.


4.5 APRESENTAO DOS PASSOS AT A SEGMENTAO

Para que o algoritmo funcione corretamente preciso fazer alguns equacionamentos
matemticos e computacionais logo aps a aquisio das imagens.
Ento na figura XIX ser demonstrado graficamente todo o equacionamento que compe o
projeto at o passo v dos passos fundamentais no processamento de imagens:













Figura XIX: Ilustrao grfica do equacionamento computacional utilizado no projeto.
1
Converso para formato
double para possibilidade de
operaes matriciais
utilizando a funo
im2double (varivel)
Calcula os autovetores e
autovalores:
eig(covarincia das fotos)
Subtrao da mdia sobre as
imagens originais utilizando a
funo mean(varivel,2);
Montagem da base de fotos
com os devidos ajustes
matemticos e
computacionais
Tranformao da lista de
imagens para um array de
char, usando o comando
char (variavel)
Transformao da estrutura
de dados para o formato cell.
Usamos o comando:
struct2cell
Remodelamento das
fotografias de [m, n]
dimenses para vetor coluna
([m*n, 1] dimenses), para
isso usamos a funo:
reshape (image, lin*col, 1)
Leitura das imagens:
Utilizada a funo
dir(*.pgm)
Aquisio e padronizao
das imagens

32

4.6 RECONHECIMENTO E INTERPRETAO

Neste passo do desenvolvimento fazemos a leitura da imagem especfica (imagem para o
reconhecimento) e para esta imagem especfica fazemos praticamente todos os passos citados
na figura XVIII e adicionamos a mesma na base de fotos.
Aps ser adicionada a imagem na base de fotos e rotacionada a matriz de vetores (que
representam as imagens) verifica-se a distancia desta imagem especfica com a distancia das
outras imagens, se existir alguma imagem que satisfaa a distancia de acordo com o valor de
distanciamento (threshold) mximo estabelecido esta imagem ser validada como sendo a
mais prxima da imagem testada.

















33

CAPTULO 5 - RESULTADOS EXPERIMENTAIS

Inicialmente para testar cdigos e ter mais preciso nos testes foi utilizado o banco de
imagens (faces) de 192 x 168 pixels da Universidade de Yale. Foi utilizada a linguagem
proprietria do software Matlab. Porm como o intuito deste projeto seria de se obter a
imagem diretamente da cmera e depois test-la, foi efetuado os testes finais dentro da
perspectiva esperada, ou seja, foram feitos os testes dentro dos padres de sada da imagem
capturada pela webcam.
Abaixo seguem algumas imagens da utilizao do sistema desenvolvido.
Deve-se levar em considerao que o propsito deste trabalho mostrar o funcionamento do
IPCA e o reconhecimento das imagens, ento na interface criada no deve ser levada em
considerao.
Existem ainda algumas funcionalidades na interface que no foram terminadas e por esta
razo esto com a descrio nos botes de projetos futuros pois espera-se conclu-los em
breve.











Figura XX: Demonstrao da tela desenvolvida para projeto.

34

O boto Tirar Foto responsvel pela captura da imagem, sendo alocada a imagem salva na
pasta correspondente ao Current Folder do Matlab.
O boto Testar Foto responsvel pela leitura e comparao da foto selecionada com as
fotos no banco de imagens, e a figura XXI mostra como se d essa seleo:


Figura XXI: Demonstrao da tela de seleo da foto a ser testada.
Nota-se que a tela de seleo carrega exatamente no local correspondente ao Current Folder e
permite somente a seleo de fotos no formato PGM.










35

CAPTULO 6 - PROJETOS FUTUROS


Como neste projeto foi considerada que a face seria tirada diretamente da cmera sem
nenhuma outra seguimentao, pretende-se utilizar meios de seguimentao a fim de detectar
no vdeo as faces sem que seja necessria a ao de um usurio, a fim de que o teste da face se
torne algo automtico.
Outro aprimoramento que est em fase de desenvolvimento manter o banco de dados
sempre ativo enquanto houver vdeo, pois at o momento o executvel monta o banco de
imagens somente no momento em que se pede para testar a foto, ou seja, quando se clica no
boto Testar Foto que o banco de fotos montado e testado a imagem.





















36

CAPTULO 7 - CONCLUSO

O IPCA vem sendo largamente utilizado em diversas aplicaes e bem difundido nas
comunidades acadmicas pelo fato de ter um comportamento computacional relativamente
suportvel (dependendo do tamanho da aplicao) e de ser relativamente de fcil
compreenso. Este fato computacional foi o caracterizante para a escolha e detalhamento
desta tcnica neste trabalho.
Apesar do IPCA ter se mostrado bem eficaz para o reconhecimento de faces, vale destacar
que ele no empregado somente com esta empregabilidade. Como esta tcnica um
aprimoramento contnuo de vrios estudiosos da rea tecnolgica e seu precursor advm da
rea de processamento de sinais, ela pode ser empregada em qualquer tipo de projeto que
tenha como finalidade reconhecer padres, como por exemplo:
- Biometria (Facial, digital, etc.);
- Deteco de padres em objetos;
- Leitura de textos;
- Reconhecimento de voz;

A grande vantagem e motivao em se utilizar e aprimorar o IPCA, comparando-se com a
tcnica PCA (Principal Component Analysis), o advento de no utilizar redundncias e
diminuir consideravelmente o nvel de utilizao de processamento da mquina, ou seja, a
utilizao de recursos computacionais diminui consideravelmente com a utilizao desta
tcnica. Alm de no precisar recomear todo o processo de reconhecimento ao inserir um
novo parmetro para anlise.








37

REFERENCIAS

ANDRADE NETO, E. L. Sistemas de identificao pessoal utilizando tcnicas de
reconhecimento e verificao facial automticas. Campinas: Unicamp, (1997).
APOSTOL, Tom M. MSPC - Informaes Tcnicas. Acesso em 17 de novembro de 2010,
disponvel em: http://www.mspc.eng.br/matm/al_auto_val_vet_01.shtml.
AT&T. The Database of Faces. Acesso em 9 de dezembro de 2010, disponvel em
http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html.
BONSOR, K. Como funciona o sistema de reconhecimento facial. Acesso em 28 de junho de
2010, disponvel em: http://pessoas.hsw.uol.com.br/sistema-de-reconhecimento-facial.htm.
CAPELARO, E. A., MENDONA, F. C., & TEIXEIRA, J. Acesso em 18 de junho de 2010,
disponvel em: http://educar.sc.usp.br/licenciatura/trabalhos/camera.htm.
CHAPMAN, S. Programao em Matlab para Engenheiros. Thomson Learning, (2003).
CHRISTOUDIAS, M., MORENCY, L.-P., & DARRELL, T. Light Field Appearance
Manifolds. Acesso em 26 de 11 de 2008, disponvel em:
http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/CHRISTOUDIAS1/.
FREITAS, R. A. Sistema de Viso para Robs Mveis: Uma Aplicao ao Reconhecimento
de Referncias Geomtricas. Vitria: Universidade Federal do Esprito Santo, (1999).
FREITAS, R. A., BASTOS FILHO, T., SARCINELLI FILHO, M., & SANTOS-VICTOR, J.
Avaliao de Desempenho de Modelos Incrementais de Autoespaos na Localizao de
Robs Mveis. Instituto Superior Tcnico/Universidade Federal do Esprito Santo, (2003).
FRIZERA, B. B., VALADO, C.T., Desenvolvimento de um Sistema Computacional para o
Reconhecimento de Faces. Serra: UCL - Faculdade do Centro Leste, (2008).
GONZLES, R., & WOODS, R. Processamento de imagens digitais. Califrnia: Ed, Edgard
Blcher, (2003).
KAMPEN, N.G. Processos Estocsticos em Fsica e Qumica. Acesso em 17 de novembro de
2010, disponvel em http://pt.wikipedia.org/wiki/Matriz_de_covari%C3%A2ncia.
LU, X. Image Analisys for Face Recognition. Michigan: Michigan State University, (2001).
MAGALHES BARBOSA, M. E. A Semitica na Moda: Uma imagem vale mais que mil
palavras. Acesso em 28 de Novembro de 2008, disponvel em
http://www.filologia.org.br/viiicnlf/anais/caderno12-05.htm.
NTH, W. Panorama da Semitica: de Plato a Pierce. So Paulo, Ed. Annablume, (1995).
38

PANG, S., KASABOV, N., & SEIICHI, O. A Modied Incremental Principal Component.
Auckland University/Kobe University, (2001).
SANTAELLA, L. Semitica Aplicada. So Paulo: Pioneira Thompson Learning, (2002).
SMITH, L. A tutorial on principal component analisys. (2006).
SOBRAL, J. L., Viso Por Computador. Acesso em 20 de novembro de 2010, disponvel em
http://gec.di.uminho.pt/lesi/vpc0203/Aula04Cor.pdf.
VON WANGENHEIM, A. Tcnicas estatsticas para reconhecimento e deteco de face.
Santa Catarina: Universidade Federal de Santa Catarina, (2001).
WIKIMEDIA COMMONS. Disponvel em http://commons.wikimedia.org/
WILSON, T. Como funciona a HDMI. Acesso em 26 de Novembro de 2008, disponvel em:
http://eletronicos.hsw.uol.com.br/hdmi.htm.
WINTERS, N. A Holistic Approach to Mobile Robot Navigation. Dublin: University of
Dublin, (2001).
WISKOTT, L. Face Recognition by Elastic Bunch Graph Matching. Rhur University/
University of Southern California, (1997)
YALE, U. O. Yale Database. Acesso em 29 de outubro de 2008, disponvel em:
http://cvc.yale.edu/projects/yalefaces/yalefaces.html.

You might also like