Académique Documents
Professionnel Documents
Culture Documents
Engenharia de Computao
Este trabalho foi analisado e julgado adequado para a obteno do ttulo de Engenheiro
de Computao e aprovado em sua forma nal pelos orientadores.
Prof. Ms. Alessandro de Lima Bicho
Banca Examinadora:
Prof. Ms. Alessandro de Lima Bicho
DMAT FURG (Orientador)
Agradecimentos
minha me, por ter me educado durante toda vida com muito amor.
Ao meu pai, que sempre foi um exemplo de inteligncia, dedicao e sucesso prossional.
s minhas irms, pelo grande apoio dado.
minha namorada Thiana, pelo seu carinho, amizade, companheirismo e compreenso
em todos os momentos deste rduo trabalho.
Aos meus avs, que sempre vibraram com minhas conquistas pessoais e prossionais.
Ao meu orientador Prof. Alessandro de Lima Bicho, por todo seu interesse, exibilidade
e competncia para conduzir da melhor maneira este trabalho.
Ao meu amigo Rodrigo Mendes Costa, por sua aplicao e brilhantismo durante todos
os anos de convivncia.
F.C.S.
Aos meus pais e famlia, por presentear-me com a vida e preench-la com todo amor.
minha Anala, pelo seu amor e carinho, na alegria e na tristeza...
Ao meu orientador Prof. Alessandro de Lima Bicho, por todo seu interesse, exibilidade
e competncia para conduzir da melhor maneira este trabalho.
Ao meu amigo Felipe Castro da Silva, por sua determinao e competncia em cada
momento necessrio.
Ao meu amigo Thales Sehn Krting, por sua dedicao, lealdade e exemplo motivador.
Aos meus demais amigos, por estarem em meu corao me impulsionando e
engrandecendo.
R.M.C.
Contedo
Lista de Figuras
iv
Lista de Abreviaturas
vii
Resumo
viii
Abstract
ix
1 Introduo
1.1
Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Objetivos
1.3
Organizao do Texto
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Fundamentao Terica
2.1
2.2
Etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1
Aquisio
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2
Deteco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3
Localizao
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2.4
Rastreamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2.5
Normalizao
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2.6
Segmentao
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2.7
Extrao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.3
ii
CONTEDO
3.2
Aquisio
14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.1.1
Cmeras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.1.2
Ambiente
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.1.3
Restries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
Localizao
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.2.1
Espaos de Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.2.2
. . . . . . . . . .
22
3.2.3
24
3.2.4
Deteco de Objetos
26
3.2.5
Specic)
3.2.6
YIQ
YCbCr .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
Simetria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4 Normalizao e Segmentao
4.1
4.2
Normalizao
36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1
Rotao
4.1.2
Rudo
36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
Segmentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.2.1
Contornos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.2.2
Mtricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.2.3
Projees Integrais
41
4.2.4
Segmentao de fundo
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
41
45
5.1
45
5.2
47
. . . . . . . . . . . . . . . . .
6 Aspectos de Implementao
52
6.1
Caractersticas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
6.2
Sntese do Processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.3
Linguagem de Programao
54
. . . . . . . . . . . . . . . . . . . . . . . . . .
iii
CONTEDO
6.3.1
Histrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
6.3.2
Caractersticas
55
6.3.3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(JMF)
. . . . . . . . . . . . . . . . . . . .
7 Consideraes Finais
57
58
7.1
Diculdades Encontradas . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
7.2
Propostas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
Bibliograa
60
Lista de Figuras
1.1
2.1
Caractersticas
faciais
do
padro
MPEG-4.
Figura
adaptada
de
3.1
3.2
3.3
Exemplo de
3.4
Cubo de cores
3.5
Espao de cores
3.6
YIQ
3.7
YCbCr
3.8
frames
. . . . . . . . . . . . . . . . .
15
. . . . . . . . . . . . . . .
16
16
RGB
[Figueir, 2003].
HSV
. . . . . . . . . . . . . . . . . . . . .
19
. . . . .
20
. . . . . .
21
[Ribeiro, 2004]. . . . . .
22
[Ribeiro, 2004].
( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9
26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.10 Localizao da cor da pele ( esquerda) e aplicao do fechamento morfolgico imagem ( direita).
. . . . . . . . . . . . . . . . . . . . . . . . . .
27
. . . . . . . . . . . . . . . . . . . . . .
28
iv
. . . . . . . . . . . . . . . . . . . . .
29
LISTA DE FIGURAS
imagem ( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
30
3.15 Imagem original da face ( esquerda). Elipse aplicada aos contornos interno
e externo ( direita).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
Clculo do ngulo de
. . . . . . . . . . . . . . . . . . . . . . . . .
31
3.17 Objeto detectado como face, pela cor de pele, e com a aplicao do algoritmo de deteco de objetos (em cima, esquerda). Objeto criado a partir
do contorno da primeira aplicao da elipse (em cima, direita). Objeto
resultante da operao de
OR
esquerda). Elipse gerada a partir dos contornos do novo objeto (em baixo,
direita).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
Valores de
34
4.1
4.2
34
37
Imagem original com rudo ( esquerda) e a imagem aps aplicada a convoluo de mdia ( direita)
. . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
4.4
Imagem da face original (cima, esquerda). Deteco dos contornos gerados pelo algoritmo de Canny (cima, direita).
. . . . . . . . . . .
38
41
Segmentao do fundo
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
44
vi
LISTA DE FIGURAS
5.1
46
5.2
. . . . . . . . . . .
47
5.3
48
5.4
50
6.1
ScreenShot
. . . . . . . . .
53
6.2
54
Lista de Abreviaturas
API
CCD
Charge-Coupled Device
CODEC
Codicador-Decodicador
FPS
FTP
GLDH
HSV
HTTP
IHC
Interao Humano-Computador
JVM
RGB
vii
Resumo
Este trabalho prope extrair o maior nmero possvel de caractersticas faciais que possam
descrever o movimento da face de forma a possibilitar a criao de um modelo tridimensional a m de simular seus movimentos.
tcnicas de viso computacional a imagens ortogonais de uma face humana para a gerao
de pontos tridimensionais que a caracterizem. O mtodo utilizado sugere uma abordagem
em vrias etapas para alcanar o objetivo, a saber, os pontos caractersticos da face. No
primeiro processo, para a imagem frontal, a face localizada com a utilizao de um
mtodo no qual a posio da face estimada por sua cor de pele. J na imagem de perl,
uma tcnica de extrao de fundo empregada para determinar os contornos da linha
da face. A partir da localizao da face, o mtodo de ajuste a uma elipse pelos menores
quadrados (Ellipse-Specic) utilizado.
melhor maneira possvel, o formato elptico da face, de modo a estimar sua rotao. Um
mtodo de simetria rena o ngulo de rotao da face possibilitando sua normalizao. Na
segmentao, os limites das caractersticas de interesse da face (sobrancelhas, olhos, nariz
e boca) so delimitados. Para tal operao utilizado o mtodo de projees integrais.
Estes valores reduzem o espectro de anlise para as etapas seguintes. A extrao busca
pelos pontos caractersticos em regies restritas, anteriormente estimadas, tanto na imagem de perl quanto na imagem frontal. Por m, os pontos tridimensionais caractersticos
da face so determinados atravs da correlao entre a imagem frontal e a lateral.
viii
Abstract
This work proposes to extract the largest possible number of face features that can describe
the face movement to make possible the creation of a tridimensional model to simulate
its movements. As a system input, techniques of computational vision for the orthogonal
images of a face are applied to the generation of tridimensional points that characterize
it. The used method suggests an approach with some stages to achieve the objective, that
are the features points of the face. In the rst process, for the frontal image, the face is
located with the use of a method where the position of the face is estimated based on its
skin-color. In the prole image, a technique of background extration is used to determine
the contours of the face. After the localization of the face, the method of adjustment to an
ellipse (Ellipse-Specic Direct Least-Square Fitting) is used. This method reconstructs,
in the best possible way, the elliptical shape of the face, to estimate its rotation.
symmetry method renes the rotation angle of the face making possible its normalization.
In the segmentation, the limits of interested features of the face (eyebrows, eyes, nose and
mouth) are delimited.
for the feature points in restricted regions, previously estimated, bothin the prole image
as in the frontal image. Finally, tridimensional feature points of the face are determined
through the correlation between the frontal and prole image.
ix
Captulo 1
Introduo
Uma breve avaliao do histrico de pesquisas na rea da Viso Computacional e da
Computao Grca expe uma grande evoluo e uma eminente preocupao sobre o
aperfeioamento das interfaces grcas que interajam com os seres humanos. Dentro deste
contexto, uma trajetria bastante interessante a seguir, de modo a propiciar esta melhor
comunicao entre homem e mquina, seria dotar o computador com caractersticas humanas.
A ideologia de tornar o computador capaz tanto de reconhecer expresses e gestos,
como tambm reproduz-los de forma realstica e convincente, tem sido foco de pesquisa
em grupos de IHC (Interao Humano-Computador) [IHC, 2005].
Dentre as linhas de
essa
losoa,
pode-se
discriminar
duas
categorias
de
modelos
faciais
Avatars:
de
um
modelos
usurio
em
irreais
que
realidade
produzem
virtual,
representaes
jogos
ou
outros
grcas
simblicas
ambientes
interativos
[Wikipedia, 2005a]. Segundo [Garcia et al., 2001], a categoria que na maioria das
vezes pode ser facilmente modelada e animada;
Clones:
modelos
dedignos
que
se
assemelham
com
seres
humanos
CAPTULO 1.
INTRODUO
1.1 Motivao
O advento da Computao Grca e, paralelamente, a rpida emerso de
hardwares
pr-
prios para a execuo de aplicaes tridimensionais, permitiram que novos estudos sobre
a modelagem de estruturas complexas fossem realizados. Neste contexto, surgiu a proposta de modelar a face humana de forma a reconhecer e simular seus movimentos em
um ambiente virtual, gerando um agente possvel de utilizao em inmeras ferramentas,
tornando assim a interao com o computador muito mais amigvel.
Para que este objetivo seja alcanado, inicialmente necessria a aquisio de um
modelo de face humana.
1.2 Objetivos
O propsito deste trabalho visa, a partir de um ambiente sucientemente controlado, extrair o maior nmero possvel de caractersticas faciais que possam descrever o movimento
CAPTULO 1.
INTRODUO
de uma face. Para tal, so utilizadas imagens ortogonais de uma face humana, onde uma
conter a vista frontal e a outra conter o perl da face.
alguns dos pontos mais signicativos da face sero utilizados, ou seja, o projeto no tem
inicialmente o intuito de extrair pontos sucientes que permitam modelar geometricamente a face. Os pontos caractersticos que sero considerados ao longo deste trabalho
esto especicados na Figura 1.1.
software
JAVA
como lin-
webcams
no papel
dos sensores de entrada do sistema, o que representa uma soluo de baixo custo e, ao
mesmo tempo, um obstculo a ser transposto devido qualidade da imagem adquirida.
CAPTULO 1.
INTRODUO
por meio desta, favorecer a compreenso do contedo abordado, alm de descrever uma
sntese sobre a forma como nosso trabalho foi conduzido ao longo do estudo realizado.
A organizao adotada prev uma reviso bibliogrca sobre as etapas necessrias
at a extrao de caractersticas faciais no Captulo 2. Neste captulo, uma viso geral
juntamente com um histrico cientco sobre o assunto abordada. Vrios conceitos so
expostos para o real entendimento do processo.
O Captulo 3 inicia a abordagem adotada nesse trabalho para a implementao de
um sistema capaz de extrair caractersticas faciais.
Finalizando a
Captulo 2
Fundamentao Terica
A inteno deste captulo realizar uma sntese supercial das etapas at a extrao de
caractersticas faciais e dessa forma facilitar a compreenso das escolhas e implementaes
presentes neste trabalho. Nas sees seguintes, sero apresentados conceitos da rea que
se faro importantes para a leitura.
CAPTULO 2.
Figura
2.1:
FUNDAMENTAO TERICA
Caractersticas
faciais
do
padro
MPEG-4.
Figura
adaptada
de
ais.
Outros trabalhos
Snakes
Snake
Esse
ao con-
torno.
Snake,
parte das vezes contornos uniformes. Na mesma linha aparecem os padres deformveis
[Yuille et al., 1992] que tambm baseiam-se em funes de energia, mas aproximam-se de
outras caractersticas alm de contornos, como picos e vales de intensidade.
2.2 Etapas
Aps uma ampla pesquisa sobre trabalhos correlatos extrao de caractersticas faciais,
foi identicado alguns conceitos que, apesar de no encontrados explicitamente com essa
nomenclatura e especicidade em qualquer um dos trabalhos pesquisados, sintetizam um
CAPTULO 2.
FUNDAMENTAO TERICA
consenso entre os mesmos. Esses conceitos sero apresentados aqui como uma seqncia
de etapas ou tarefas que constituem um processo completo de extrao de caractersticas
faciais. Essas etapas seriam:
Aquisio
Deteco
Localizao
Rastreamento
Normalizao
Segmentao
Extrao
No entanto, relevante destacar que essas etapas no so necessariamente independentes e absolutas. Tanto algumas delas podem substituir outras, quanto podem estar
interligadas de forma a impossibilitar uma distino perfeita [Zhao et al., 2003]. A percepo destas dependncias car mais clara ao longo desse trabalho.
2.2.1
Aquisio
Sensor:
Ambiente:
CAPTULO 2.
Posio:
Regra:
FUNDAMENTAO TERICA
scanners
laser1
capazes
de gerar, atravs do clculo da distncia de cada ponto do objeto analisado, uma nuvem
de pontos no espao tridimensional.
Existem na literatura algumas tcnicas que utilizam cmeras para a constituio de um
scanner 3D. Algumas delas, inclusive, vinculam tambm a utilizao de outros dispositivos
para auxiliar a sntese facial, como feixes de
laser
difundidos pode ser encontrada em [Chan et al., 2004]. Como explicado no Captulo 1, a
tcnica adotada em nosso trabalho baseia-se na utilizao de duas vistas ortogonais da
face analisada.
Em relao ao que chama-se de ambiente, existe uma grande variedade de propostas
que descrevem a estrutura necessria para que a aquisio e futura extrao de caractersticas funcione adequadamente.
problemas existentes o de como lidar com as sombras, anal elas so muitas vezes
indesejveis nas etapas seguintes. Por esse motivo, uma iluminao ineciente pode comprometer todo o processo hierrquico para a extrao de caractersticas.
Tanto o posicionamento do modelo quanto as possveis deformaes de sua face podem
caracterizar excees a muitos sistemas de extrao de caractersticas. Sendo assim, estes
cuidados tambm devem ser considerados durante a etapa de aquisio.
2.2.2
Deteco2
Identicada como a primeira fase de qualquer processo de localizao, extrao ou reconhecimento de caractersticas, a fase de deteco de faces revela os primeiros obstculos a
1 Encontrados
2 Seo
CAPTULO 2.
FUNDAMENTAO TERICA
serem transpostos no que diz respeito a viso computacional. Inmeros agentes, externos
e internos, afetam a ecincia dos algoritmos responsveis pela constatao da presena
ou no de uma face humana na imagem ou seqncia de imagens analisadas.
Dentre
Imagens estticas
Existem, basicamente, duas classicaes para as tcnicas utilizadas na deteco de faces em imagens estticas:
J a abordagem holstica
apresenta
bons resultados, mas possui como principal desvantagem o elevado custo computacional
envolvido.
Alm destas propostas para a abordagem baseada em caractersticas, ainda se destacam mtodos que utilizam modelos de contornos ativos, modelos estatsticos e tcnicas
baseadas em correlao.
Normalmente, abordagem holsticas realizam uma varredura na imagem por intermdio de uma janela em mltiplas escalas, extraindo pequenas regies que so ento processadas por um mtodo especco. Tcnicas como PCA (Principal
3 Traduo
Component Analysis),
utilizada para deformable templates, tambm conhecida na literatura brasileira como tem-
plates deformveis
CAPTULO 2.
FUNDAMENTAO TERICA
10
Imagens dinmicas
Quando se trata de seqncias de imagens ou vdeos, geralmente h uma perda em relao qualidade das imagens, em contrapartida, inmeras informaes sobre movimento
podem ser utilizadas.
seqncias de vdeo so divididos em duas etapas: (1) reduo do espao de busca e (2)
anlise da ocorrncia de face. A primeira etapa diz respeito a seleo eciente de regies
candidatas conterem a face humana, restando segunda vericar as regies selecionadas.
Como citado anteriormente, uma das tcnicas de reduo de espaos de busca a utilizao de modelos de cor da pele humana [Feris et al., 2000], pois demandam um esforo
computacional muito reduzido e facilitam a deteco da face em diferentes orientaes.
Outras propostas interessantes utilizam a tcnica de subtrao de fundo como alternativa, no entanto, s apresentam bom resultados em situaes de cmera imvel e poucas
alteraes entre as imagens.
No que diz respeito a vericao da ocorrncia ou no da face nas regies candidatas,
as principais tcnicas encontradas na literatura baseiam-se basicamente em correlao
com padres, simetria, anlise de textura, forma e at mesmo movimentos caractersticos
como piscar e movimentao dos olhos.
CAPTULO 2.
2.2.3
11
FUNDAMENTAO TERICA
Localizao
2.2.4
Rastreamento
tracking,
nhamento da face obtida no incio de uma seqncia de vdeo at o nal da mesma. Isso
implica na localizao constante da face em cada quadro que compe o vdeo.
Desta
2.2.5
Normalizao
A etapa de normalizao tem por nalidade executar as possvel correes que so necessrias nas imagens ou quadros que passaro a etapa de segmentao e extrao de caractersticas. Dentre os principais problemas que uma imagem possa apresentar, destacam-se a
ocorrncia de rudo na captura do sensor de entrada, alm das possveis rotaes naturais,
mesmo que pequenas, aplicadas pela face.
2.2.6
Segmentao
CAPTULO 2.
FUNDAMENTAO TERICA
12
Algoritmos de segmentao de imagens normalmente baseiam-se na anlise de descontinuidades, focados na deteco de mudanas bruscas (pontos, linhas e bordas), e
similaridade, dedicados a limiarizao (thresholding) e operaes entre regies distintas.
Uma vantagem especca da segmentao aplicada em seqncias de vdeo a utilizao
do movimento para determinao das regies a serem diferenciadas.
Quanto se trata especicamente da segmentao da face e caractersticas faciais,
preciso se considerar que olhos, boca, nariz e demais caractersticas so diferentes de
pessoa para pessoa e, mesmo sobre a mesma pessoa, podem ser deformadas conforme a
expresso facial [Yokoyama et al., 1996].
2.2.7
Extrao
Por m, a etapa de extrao compreende as tcnicas necessrias para extrair os pontos de
controle de cada uma das caractersticas faciais segmentadas. Como os diversos elementos
da face possuem caractersticas diferenciadas, geralmente tcnicas distintas so aplicadas
a cada segmento para realizar a tarefa de extrao.
Segundo [Zhao et al., 2003], os mtodos de extrao de caractersticas podem ser diferenciados em trs tipos:
2.3 Aplicaes
O trabalho de [Tang and Huang, 1996] acrescenta que em funo da tentativa de alcanar
baixas taxas de codicao de vdeo, sistemas de codicao baseada em modelos tm
atrado grande interesse na rea de telecomunicaes visual como, por exemplo, vdeofone
e teleconferncias onde a face humana apresenta o papel mais relevante.
A principal
idia dessa abordagem construir um modelo 3D da face humana. Apenas as partes que
caracterizam o movimento so analisadas e os parmetros da movimentao so ento
CAPTULO 2.
13
FUNDAMENTAO TERICA
transmitidos, permitindo que a expresso facial original seja sintetizada pela deformao
do modelo facial.
A identicao de suspeitos a partir de cmeras de segurana uma aplicao de
grande importncia da extrao de caractersticas faciais. Em [Martins, 2005], apresentado um instrumento de utilidade para rgos policiais que aplicam recursiva e manualmente o retrato-falado como ferramenta para busca de suspeitos em arquivos fotogrcos.
J em [da Silva and de Castro Santa Rosa, 2003], a busca por pessoas feita com apenas
20% da imagem de uma face, atravs da tcnica de
eigeneyes.
Captulo 3
Aquisio e Localizao da Face
Com uma viso mais clara do desao de extrair caractersticas faciais a partir de uma
seqncia de imagens, o trabalho se direciona a explicar as caractersticas das principais
tcnicas utilizadas.
3.1 Aquisio
Para melhor apresentar as decises tomadas neste projeto em relao aquisio, esta
seo comenta separadamente cada uma das escolhas que foram tomadas para denir a
trajetria inicial do trabalho.
3.1.1
Cmeras
Dessa
forma, o custo baixo e a facilidade de obter os recursos para a sua execuo tornariam o
programa mais acessvel para sua utilizao.
Inicialmente, cogitou-se utilizar cmeras de vdeo conectadas a placas de captura de
vdeo nos computadores. No entanto, essa alternativa seria to custosa que inviabilizaria
a utilizao dessa pesquisa para outras aplicaes.
14
CAPTULO 3.
15
Seguindo essa trajetria, decidiu-se aceitar o desao de extrair caractersticas faciais de um modelo humano utilizando cmeras CCD
webcams,
essas cmeras apresentam uma resoluo muito baixa em comparao com as cmeras
tradicionais, alm de serem muito sensveis as variaes de luminosidade.
A Figura 3.1 mostra as cmeras utilizadas na aquisio dos vdeo utilizados na extrao
de caractersticas faciais. A resoluo adotada foi a de 352 x 288
(taxa de
frames)
iluminao. O
framerate
per second).
3.1.2
Ambiente
Dentre as opes pesquisadas para dispor o modelo durante as lmagens, foi adotada a
estrutura mostrada na Figura 3.2. Duas cmeras foram dispostas em eixos ortogonais a
uma distncia aproximada de 50 centmetros da cabea do modelo.
Como fundo foi utilizado uma tecido azul, baseado na tcnica de cromaqui que ser
explicada mais detalhadamente no Captulo 4 sobre normalizao e segmentao. A adoo de um fundo simples reduz signicativamente a complexidade da etapa de localizao
da face, no entanto, outros trabalhos como o de [Su and Yin, 2004] dedicam-se exclusivamente a detectar a face humana em imagens complexas.
1 CCD
imagens formado por um circuito integrado contendo um conjunto de capacitores ligados (acoplados).
Sob o controle de um circuito externo, cada capacitor pode transferir sua carga eltrica para um outro
capacitor vizinho) [Wikipedia, 2005c].
CAPTULO 3.
16
Quanto iluminao, nenhum padro mais rigoroso foi utilizado, apenas tentou-se dispor lmpadas sucientes ao redor do modelo de forma a evitar ao mximo o aparecimento
de sombras sobre sua face. Inicialmente, apenas lmpadas uorescentes foram consideradas, no entanto, uma lmpada frontal incandescente fez-se necessria para manter o tom
da pele mais perceptvel, j que o mesmo se apresentava muito plido sob a iluminao
uorescente. A Figura 3.3 mostra um exemplo de aquisio realizado.
3.1.3
frames
Restries
Como foi colocado na Seo 1.2, um dos principais objetivos desse trabalho evitar
impor restries ao modelo facial analisado. Isso porque o projeto prope acompanhar
e reproduzir o movimento facial.
que ser impostas para que o projeto pudesse ser implementado em tempo. Mesmo assim,
como sero descritas nos captulos seguintes, algumas restries encontradas em trabalhos
correlatos puderam ser superadas.
CAPTULO 3.
17
3.2 Localizao
A prxima etapa, aps se realizar a aquisio de um vdeo da face, atravs das cmeras
frontal e lateral, ser a localizao da face em cada imagem (ou
frame).
Localizar a
face, antes de extrair cada caracterstica facial em particular, facilitar o trabalho, pois a
procura por elementos no ser em toda imagem, mas sim em um espao reduzido.
Contudo, a maioria das tcnicas utilizadas para localizar faces tem por objetivo tentar
suprir alguns problemas comuns como [Yang et al., 2002]:
Pose:
temente, algumas caractersticas faciais, tais como um olho ou o nariz, podem estar
parcialmente ou totalmente oclusos.
barbas, bigodes e at mesmo adereos, como, por exemplo, culos, podem estar presentes, o que resulta em uma grande variabilidade entre esses componentes incluindo
suas formas, cores e tamanhos.
Expresso Facial:
forma da imagem.
Ocluses:
Condies da imagem:
Existem vrias tcnicas utilizadas para localizar a face em uma imagem. Por exemplo,
em imagens coloridas, pontos de cor de pele podem ser encontrados pelo mtodo baseado
CAPTULO 3.
18
considera-se, por denio, que o maior objeto conexo localizado na imagem a face.
Todos os mtodos que sero apresentados fazem, em algum momento, referncia a um
ou mais espaos de cores. Por esse motivo, ser feita uma breve reviso sobre os espaos
de cores necessrios para a idealizao da aplicao.
3.2.1
Espaos de Cores
YCbCr.
2O
conceito de caractersticas invariantes refere-se premissa na qual a cor da pele de uma pessoa se
CAPTULO 3.
19
RGB
No espao
RGB, cada cor aparece nos seus componentes espectrais primrios de vermelho,
verde e azul. Baseado num sistema de coordenadas cartesianas, tem como subespao de
cores de interesse um cubo.
RGB,
no qual os
valores de vermelho, verde e azul esto nos trs cantos, levando-se em considerao que o
preto a origem do sistema de coordenadas cartesianas; ciano, magenta e amarelo esto
nos outros trs cantos. A escala de nveis de cinza (componente
est na linha que liga o ponto preto ao ponto branco. Essa informao muito utilizada
no processamento e anlise de imagens.
RGB
RGB consistem em
[Figueir, 2003].
combinam-se sobre a tela fosfrea para produzir uma imagem de cores compostas. Assim,
o uso do modelo
RGB
RGB,
HSV
A matiz (componente
(componente
O espao
S)
HSV
intensidade
d uma medida do grau de diluio de uma cor pura por luz branca.
CAPTULO 3.
HSV
20
HSV
HSV
HSV
YIQ
O espao de cores
mente,
YIQ
YIQ
YIQ possui uma banda mais larga (ou mais bits no caso de imagens digitais) para
a componente
e possui uma banda mais estreita (ou menos bits no caso de imagens
Q.
CAPTULO 3.
21
YIQ
[Ribeiro, 2004].
YIQ
Q)
em
so
YCbCr
O
YCbCr
Cb e Cr so as componentes cromticas.
A componente
Cr
Cb contm a informao
YCbCr,
por alguns formatos digitais de imagem, dos quais o mais importante o formato JFIF
(tambm, incorretamente, designado por JPEG) [Ribeiro, 2004]. A vantagem do emprego
deste modelo , tal como em televiso, a separao da cor em componentes de luminncia
e de crominncia.
Se as componentes
YCbCr
CAPTULO 3.
22
YCbCr
[Ribeiro, 2004].
3.2.2
YIQ
YCbCr
threshold
sobre o espao
so ou no cor de pele.
lores de cada
pixel
YIQ
pixels
RGB,
os va-
YIQ.
A transformao, segundo
0.299 0.587
0.114
R
Y
Q
0.212 0.523 0.311
B
(3.1)
CAPTULO 3.
23
YIQ,
imagem.
e
SE (0.234 < Y < 0.781) E (0.078 < I < 0.195) EN T AO
P RET O
e
SEN AO
BRAN CO
Aps a limiarizao binarizada dos
pixels,
YCbCr.
YCbCr,
Cb
Cr,
so utilizadas
tem valores que satisfazem o teste lgico abaixo, segundo [Sheng, 2003]. Em seu trabalho,
Sheng diz que esta caracterstica independente de raa humana e cor de pele.
Entretanto,
e
SE (0.301 < Cb < 0.496) E (0.520 < Cr < 0.676) EN T AO
P RET O
e
SEN AO
BRAN CO
Para a aplicao do mtodo de localizao proposto por [Sheng, 2003], preciso converter
a cor do
Tal transformao
Y
0.301
0.586
0.113
Cb = 0.172 0.340 0.512
Cr
0.512 0.430 0.082
Com o valor de cada
pixel
no espao de cores
R
0
G + 0.500
B
0.500
YCbCr,
(3.2)
pele e o que no cor de pele, atravs da condio denida por [Sheng, 2003]. Valores
de
pixel
que estiverem dentro do limiar, passam a ser pretos na imagem. Valores que no
CAPTULO 3.
24
pixels,
O algoritmo de
deteco de objetos (Seo 3.2.4) utilizado para manter na imagem somente o maior
objeto preto, bem como retirar os buracos existentes neste objeto.
Em nosso trabalho, optou-se por utilizar um mtodo que une os dois espaos de cores
(YIQ e
YCbCr).
Para cada
pixel
caso contrrio descartado. Um mtodo similar foi utilizado em [Singh et al., 2003]. Alm
disso, o mtodo de deteco de objetos aplicado para segmentar da regio da face.
3.2.3
pixels.
HSV,
(matiz) de todos os
pixels
per-
pode ser comprovado pela anlise do cone de cores da Figura 3.5. Se seccionar-se o cone
perpendicularmente ao seu eixo, se obter uma circunferncia. Nos pontos que formam
esta circunferncia esto representados os valores da componente
H.
Como cada imagem (frame) adquirida pela cmera est representada no espao de
cores
RGB,
RGB
(
H = cos
1
2
[(R G) + (R B)]
(3.3)
S =1
3
[min(R, G, B)]
R+G+B
(3.4)
1
V = (R + G + B)
3
Na anlise do cone de cores do espao
(3.5)
V),
anteriormente, diminui. Por esse fato, conclui-se que, quanto menor for a circunferncia,
mais difcil ser a distino das cores. Todavia, se a luminncia muita alta,
i.e.,
se o
CAPTULO 3.
pixel
de
25
muito claro, a distino entre as cores tambm ca complicada. Portanto, valores
pixel
com
grande, as cores
V,
V pequenos foi
Outra anlise que deve ser levada em considerao em relao a componente de saturao
S.
muito pequenos
zentadas) e a matiz no poder ser distinguida. O limiar que utiliza-se para desconsiderar
os valores de
pixels
pixels
H.
1. Sorteiam-se trs valores iniciais, que representaro cada uma das mdias dos trs
grupos de cor de
2. Para cada
pixel
pixel.
pixel
e os valores
pixels
H de cada pixel
pertencentes ao grupo.
3 Como
CAPTULO 3.
26
pixel
recebe o valor de
correspondente a mdia do
Com esse mtodo conseguiu-se dividir a imagem em trs grandes grupos de cor, como
mostra a Figura 3.8. Porm, no se utilizar este mtodo para nossa aplicao, pelo fato
de ser um processo lento, apresentando resultados semelhantes ao do mtodo anterior
(Seo 3.2.2).
3.2.4
Deteco de Objetos
Como o mtodo que gera os pontos pertencentes face (cor de pele) sensvel as condies
de iluminao (seo 3.2.2), surge a necessidade de eliminar pontos que foram localizados
ocasionalmente, mas que no fazem parte da pele humana. Esse rudo pode ser por um
fundo complexo ou por objetos que possuem uma cor semelhante a da face. Para descartar
o rudo gerado pela localizao de cor de pele (Figura 3.9), utiliza-se um algoritmo que
detecta todos os objetos conexos da imagem.
Baseado no trabalho de [Feris et al., 2000], foi aplicada uma operao morfolgica de
fechamento sobre a imagem para possibilitar a juno de reas da face que possam estar
separadas por algum motivo. Essa tcnica se mostrou interessante para casos em que o
modelo possui barba, visto que consegue em alguns casos unicar as duas regies denidas
pela barba. A Figura 3.10 mostra um exemplo do efeito resultante do fechamento aplicado
a imagem.
CAPTULO 3.
27
Figura 3.9: Imagem original da face ( esquerda). Os pequenos objetos brancos dentro
dos objetos pretos so os rudos gerados pela localizao da cor de pele ( direita).
Figura 3.10: Localizao da cor da pele ( esquerda) e aplicao do fechamento morfolgico imagem ( direita).
Para detectar objetos dentro da imagem, foi desenvolvido um algoritmo que funciona
da seguinte maneira:
Para cada
Analisa-se
pixel
4
os
pixels
pixel
[i, j].
Se algum desses
pixels
pixel
pixel
4A
anlise dos pixels que esto na borda da imagem deve ser tratada como uma exceo. Caso isso
no seja feito, pode-se acessar um pixel que esteja fora da imagem, o que provocar um erro.
CAPTULO 3.
28
Pode acontecer de quando ocorrer a anlise acima, detectar-se a unio de dois objetos
at ento distintos. Quando isso ocorrer, deve-se torn-los um nico objeto.
Este mtodo detecta tanto os objetos pretos (gerados pelos mtodos de localizao de
cor de pele), quanto os objetos brancos (formados pelos
da pele).
A ordem, descrita abaixo, de deteco de tais objetos tem que ser seguida, caso contrrio o resultado nal no ca o esperado.
2. Com exceo do maior objeto branco , todos os outros devem sem pintados de
preto (retirar os buracos da imagem).
pixels conexos.
Este
Figura 3.11: Deteco de cor de pele ( esquerda). Em destaque, o objeto detectado como
fundo da imagem ( direita).
5 Como
a aquisio dos vdeos feita em um ambiente controlado, por denio, considera-se o maior
CAPTULO 3.
29
Aps a deteco dos objetos brancos, partiu-se para a localizao dos objetos pretos
da imagem. Considera-se que o maior objeto preto encontrado na imagem a face. A
gura 3.13 mostra a segmentao do objeto detectado como face na imagem.
Figura 3.13: Imagem original da face ( esquerda). Objeto detectado como face na imagem
( direita).
Uma vez que a face j est localizada, todas as operaes feitas sobre a imagem so
limitadas por um retngulo (Figura 3.13) que abrange o objeto detectado pelo mtodo de
deteco de objetos.
CAPTULO 3.
3.2.5
30
A limiarizao binarizada dos pontos que representam a cor da pele (Sees 3.2.2, e
3.2.3), e a deteco do maior objeto representado por esses pontos (Seo 3.2.4), so
mtodos imprecisos, pois podem no identicar com exatido a face, como mostra a
Figura 3.13.
Segundo [Hadid et al., 2002], todas as faces podem ser aproximadas por
uma forma elptica. Portanto, para minimizar o erro, adotou-se a tcnica de aproximar
uma elipse face.
Figura 3.14: Imagem original da face ( esquerda). Elipse aplicada ao contorno externo
( direita).
Para este propsito, usa-se o algoritmo de ajuste de uma elipse pelos menores quadrados (Ellipse-Specic) proposto por [Pilu et al., 1996]. Este algoritmo considera uma nica
elipse que se ajusta a uma nuvem de pontos de face. Para a gerao da nuvem de pontos,
utiliza-se o maior objeto (Seo 3.2.4) que representa a face. Porm no utiliza-se todo
o objeto, mas seus contornos. Os contornos so gerados pelo algoritmo de Canny (Seo
4.2.1). importante ressaltar que s utiliza-se os contornos externos deste objeto (Figura
3.14), pois se considerar-se os contornos internos (contornos dos buracos), a elipse tender
a estes pontos (Figura 3.15). E portanto, seus dimetros iro diminuir. Essa diminuio
da elipse no satisfatria ao problema que foi posta prova.
Outra informao importante que a elipse pode fornecer o quo inclinada est a
face. Esse dado pode ser adquirido calculando-se o menor e o maior dimetros da elipse.
Com estes dois valores, pode-se calcular o ngulo de inclinao da elipse em relao ao
eixo vertical da imagem (Figura 3.16).
CAPTULO 3.
31
Figura 3.15: Imagem original da face ( esquerda). Elipse aplicada aos contornos interno
e externo ( direita).
Figura 3.16:
pixels.
Clculo do ngulo de
pixels
o ajuste da elipse.
Para resolver o problema da elipse no estar retornando uma forma aproximada da
face, optou-se por desenvolver uma tcnica de unio entre o objeto detectado como face e
a primeira elipse ajustada a face. Este mtodo faz uma operao de
OR
entre a imagem
que contm o objeto face, e uma imagem criada com uma forma elptica. Aps a unio das
CAPTULO 3.
32
imagens, recalcula-se os contornos desse novo objeto, a m de gerar uma nuvem de pontos
mais dispersa e com uma forma mais semelhante s linhas da face. A idia de se fazer
essa operao parte do princpio que com a unio, os contornos desse novo objeto sero
mais condizentes com o da face original. A Figura 3.17 mostra o processo de unio, bem
como o resultado nal da aplicao do mtodo de ajuste de uma elipse (Ellipse-Specic).
Figura 3.17: Objeto detectado como face, pela cor de pele, e com a aplicao do algoritmo
de deteco de objetos (em cima, esquerda).
OR
entre os dois objetos de cima (em baixo, esquerda). Elipse gerada a partir dos contornos
do novo objeto (em baixo, direita).
3.2.6
Simetria
CAPTULO 3.
33
deixam explcita a possvel rotao em profundidade que a face pode apresentar. Essa rotao no eixo da profundidade tradicional do comportamento natural humano, inclusive
sendo foco de pesquisa sobre o realismo de animaes faciais em [Watt and Watt, 1992]
e [Parke and Waters, 1996]. Infelizmente, o clculo apresentado na tcnica da elipse gera
apenas uma resposta aproximada e imprecisa do ngulo correspondente rotao da face.
A m de superar esse contratempo e garantir a obteno de informaes sucientes
para a etapa de normalizao, novas formas de localizao da face e suas caractersticas
foram pesquisadas. Considerando a ideologia descrita na Seo 1.2, as tcnicas que mais
pixels
pixel
pixel
Nossa abordagem baseia-se no trabalho de [Chen et al., 2005], onde dois indicadores
so utilizados para identicar o melhor eixo de simetria.
simetria dentro da regio da face. A medida que o eixo iterativo se afasta do verdadeiro
eixo de simetria, o GLDH exibe uma alta varincia.
Ph
i2
onde
di )2
=
h1
j=1 (di,j
di
Ph
) hdi
h1
j=1 (di,j
o GLDH do eixo
em questo e
(3.6)
di
a mdia do
GLDH do eixo.
6 Biometria
sistemas chamados biomtricos podem basear seu funcionamento em caractersticas de diversas partes do
corpo humano, por exemplo: os olhos, a palma da mo, as digitais do dedo, a retina ou ris dos olhos.
[Wikipedia, 2005b]
7 Sigla de Gray Level Dierence Histogram
CAPTULO 3.
Figura 3.18:
34
Valores de
O segundo critrio que [Chen et al., 2005] utiliza para avaliar qual o melhor eixo de
simetria denominado MEAN. MEAN um quanticador de acerto para um determinado
eixo. Assim, a denio do eixo feita sobre a localizao daquele que possui a maior
taxa de acerto, ou seja, o que acumular maior nmero de MEANs. Para isso, utiliza-se
um limiar (threshold) para denir o grau de semelhana entre os pares de
limiar aplicado sobre a diferena entre os tons de cinza dos dois
pixels
pixels.
Esse
analisados. A
Figura 3.18 apresenta os grcos dos dois indicadores denidos, alm de sua combinao
denida como
Yi =
e denominada como
Y,
Y score,
M EANi
i2
(3.7)
CAPTULO 3.
35
Com relao rotao da imagem, o trabalho de [Chen et al., 2005] vincula a soluo
de aplicar a busca pela melhor simetria nas diversas rotaes de uma imagem dentro de um
15 ].
Captulo 4
Normalizao e Segmentao das
Caractersticas Faciais
At o momento foram apresentadas as etapas responsveis pela localizao de uma face
e obteno de algumas informaes atravs de processamento de imagens. Neste captulo
sero demonstradas as solues implementadas para resolver duas questes fundamentais
dentro do processo de extrao de caractersticas: a normalizao e a segmentao.
4.1 Normalizao
Conforme foi comentado na Seo 2.2.5, o processo de normalizao responsvel pelo
realce e restaurao de imagens. Nessa seo, sero apresentados dois problemas, normalizados ao longo da implementao do sistema de extrao de caractersticas. Inicialmente,
ser tratado o problema das rotaes naturais da face, seguido da ltragem necessria
para a reduo de rudos inerente a captura de quadros de vdeo.
4.1.1
Rotao
36
CAPTULO 4.
NORMALIZAO E SEGMENTAO
37
Assim, aps a localizao da regio da imagem que contm a face, preciso buscar informaes para que se possa tentar corrigir possveis rotaes indesejadas que inviabilizem
o resto do processo.
Pelo fato deste trabalho considerar duas vistas ortogonais da imagem (vista frontal
e perl), as nicas rotaes que podem ser compensadas pelo sistema proposto so as
realizadas sobre o eixo perpendicular a imagem frontal (profundidade), pois estas no
comprometem signicativamente a imagem frontal, podendo ser ento normalizada. Para
este trabalho, a vista frontal tem um papel mais relevante extrao de caractersticas
do que a vista de perl, podendo as informaes de profundidade serem interpoladas
entre cada quadro do vdeo analisado. As rotaes sobre os demais eixos so prejudiciais analise porque podem ocultar caractersticas faciais necessrias da imagem frontal,
dicultando ou at mesmo inviabilizando o processo de normalizao.
Para que se possa rotacionar as imagens obtidas preciso encontrar alguma informao
dentro da regio localizada e/ou detectada como face, permitindo identicar o ngulo de
inclinao da mesma. Muitos trabalhos, como o de [Rozinaj and Mistral, 2003], utilizam
os olhos como referencial para realizar a normalizao. Isso implica obrigatoriamente na
existncia de uma etapa de deteco, onde a localizao especca dos olhos seja obtida,
alm de implicitamente impor possveis restries ao modelo analisado.
CAPTULO 4.
4.1.2
NORMALIZAO E SEGMENTAO
38
Rudo
Durante a anlise feita sobre questes relacionadas aquisio das imagens atravs de
cmeras de vdeo (Seo 3.1), ca clara a necessidade da realizao de tratamento para
a reduo do rudo contido nas imagens adquiridas. A Figura 4.2 expe o resultado da
normalizao referente ao rudo encontrado nas imagens. Para corrigir esse problema
utilizada uma convoluo cujo
Figura 4.2: Imagem original com rudo ( esquerda) e a imagem aps aplicada a convoluo de mdia ( direita)
4.2 Segmentao
Uma vez normalizada a imagem e localizada a regio que compreende a face, a prxima
tarefa a ser realizada a de segmentar as caractersticas faciais internas ela. A complexidade da execuo automtica dessa etapa j foi brevemente discutida na Seo 2.2.6.
Neste ponto, deve-se ressaltar que a informao sobre o eixo de simetria da face j
conhecida e que pode ser til as tcnicas aqui empregadas para delimitar as regies que
contm cada elemento da face. As subsees seguintes relataro as tcnicas empregadas
nesta etapa.
4.2.1
Contornos
Segundo [Seara, 1998], desde que uma borda denida por uma mudana no nvel de
cinza, quando ocorre uma descontinuidade na intensidade, ou quando o gradiente da
imagem tem uma variao abrupta, um operador que sensvel a estas mudanas operar
CAPTULO 4.
39
NORMALIZAO E SEGMENTAO
Uma interpretao de uma derivada seria a taxa de mudana de uma funo, e a taxa de
mudana dos nveis de cinza em uma imagem maior perto das bordas e menor em reas
constantes. Ao pegarem-se os valores da intensidade da imagem e achar-se os pontos onde
a derivada um ponto de mximo, ter-se- marcado suas bordas. Dado que as imagens
so em duas dimenses, importante considerar mudanas nos nveis de cinza em muitas
direes.
Dentre as informaes que podem ser extradas de uma imagem, a deteco de bordas
a que mais se destaca na tentativa de extrair caractersticas faciais, apesar de outros
indicadores como cor, intensidade, picos e vales, tambm terem sua inegvel utilidade. Na
implementao deste trabalho, foram utilizadas duas tcnicas de extrao de contornos,
ambas baseadas na anlise dos gradientes da regio localizada como face.
Sobel
Segundo [Gonzalez and Woods, 2000] a maioria das tcnicas de deteco de borda
baseiam-se na computao de um operador local diferencial.
Os operadores de Sobel
possuem a vantagem de fornecer, a um s tempo, os efeitos de diferenciao e de suavizao. Uma vez que a derivao aumenta o rudo, o efeito de suavizao uma caracterstica
particularmente atrativa dos operadores de Sobel.
Uma vez que o procedimento tenha sido completado para todas as posies possveis,
aplicando-se a convoluo da mscara, o resultado uma imagem gradiente do mesmo
tamanho que a original. Abaixo as mscaras freqentemente denominadas operadores de
Sobel.
1 2 1
1
0
0
0 e 2
1
2
1
1
0
0
0
A aplicao da deteco de contorno utilizando os operadores de Sobel foi necessria, dentro deste trabalho, como passo anterior ao mtodo de projeo integral que ser
detalhado na Seo 4.2.3.
CAPTULO 4.
40
NORMALIZAO E SEGMENTAO
Algoritmo Canny
Na criao do algoritmo Canny [Canny, 1986], deniu-se um conjunto de requisitos que
um detector de bordas deveria satisfazer. So eles:
Taxa de erro:
Localizao:
Resposta:
3. Aplicao do mtodo de
Non-maximal Suppression:
4. Aplicao do mtodo de
Hysterisis Thresholding:
4.2.2
Mtricas
CAPTULO 4.
4.2.3
41
NORMALIZAO E SEGMENTAO
Projees Integrais
Trabalhos
como
Shan et al., 2000] utilizam projees integrais sobre contornos, cores e intensidades da
imagem para segmentar cada uma das caractersticas faciais.
4.2.4
Segmentao de fundo
Como o objetivo do trabalho extrair os pontos da face, para que esta seja, possivelmente,
animada em um modelo tridimensional, no basta somente encontrar os pontos de uma
imagem bidimensional. Surge a necessidade da extrao da informao de profundidade
(coordenada
Z)
Para tal extrao, utiliza-se uma tcnica chamada de cromaqui na imagem de perl.
O cromaqui uma tcnica que consiste em lmar uma cena em que o cenrio de fundo
totalmente pintado de uma s cor, a qual depois ser removida e substituda por uma
CAPTULO 4.
42
NORMALIZAO E SEGMENTAO
colocar outro fundo, mas sim segmentar completamente o fundo azul utilizado. A cor azul
foi escolhida pela sua grande diferena com a cor da pele humana. Em [Shan et al., 2000],
utilizou-se um fundo azul para segmentao do perl da face.
Como abordagem inicial para excluir o fundo azul, utiliza-se a anlise da componente
matiz (H) no espao de cores
HSV.
threshold
abaixo, experimentalmente, para separar o fundo azul da face. Esse processo de separao,
s feito do lado onde o nariz da face est (o outro lado no serve como informao
relevante para nossa aplicao).
2
115
4
115
5
115
4
115
2
115
4
115
9
115
12
115
9
115
4
115
5
115
12
115
15
115
12
115
5
115
4
115
9
115
12
115
9
115
4
115
2
115
4
115
5
115
4
115
2
115
(4.1)
pixel
pixel
de branco e incrementa a
coluna.
3. Quando encontrar um
pixel
1 Tradicionalmente,
Atualmente, placas grcas permitem a captura do vdeo por um computador e a sua edio atravs de
programas especcos que possibilitam tambm a realizao do cromaqui.
CAPTULO 4.
NORMALIZAO E SEGMENTAO
43
Porm, ao longo dos testes que se realizou, viu-se que a informao de matiz incerta
para baixas e altas luminncia e para baixas saturaes (mesmo problema da Seo 3.2.3).
Portando, utiliza-se, como informao adicional, os contornos gerados pelo algoritmo de
Canny (Seo 4.2.1). Contudo, a rea que se considera para a interferncia dos contornos
somente os limites superior e inferior da regio segmentada como cor de pele da imagem
de perl da face.
O novo mtodo utiliza o mesmo algoritmo apresentado, porm reformula a condio
anterior para usar a informao do contorno. Para isso, aplica-se o algoritmo de Canny
na imagem de perl, o que resultar nos contornos da mesma. Agora, alm da informao
da matiz, de o
pixel
correspondente aos contornos gerados pelo Canny. Isso resulta em um perl muito mais
denido e dedigno da imagem original.
mtodos.
Aps ressaltar-se o fundo com a cor branca, aplica-se o algoritmo de Canny para gerar
a linha do perl da face. A gura 4.5 mostra a linha de perl gerada aps a aplicao do
mtodo de segmentao do fundo.
Quanto maior for a preciso ao segmentar-se o fundo, maior ser a denio da linha
do perl. Para a seo 5.2, a segmentao do fundo fundamental para seu sucesso na
extrao dos pontos caractersticos.
CAPTULO 4.
NORMALIZAO E SEGMENTAO
44
Figura 4.4: Imagem da face original (cima, esquerda). Deteco dos contornos gerados
pelo algoritmo de Canny (cima, direita). Segmentao do fundo utilizando somente a
informao da componente matiz (baixo, esquerda). Segmentao do fundo utilizando
a componente matiz e a imagem dos contornos (baixo, direita).
Figura 4.5: Imagem com o fundo em branco ( esquerda). Linha de perl gerada pelo
algortimo Canny ( direita).
Captulo 5
Extrao das Caractersticas Faciais
5.1 Extrao dos pontos caractersticos em imagens
frontais
Uma vez segmentada a regio dos olhos e sombrancelhas atravs das projees integrais
dos gradientes, a etapa de extrao destina-se a renar a busca internamente as regies
delimitadas. Novas projees podem ser aplicadas, alm de outras tcnicas que utilizem,
por exemplo, contornos ativos e padres deformveis. Por uma restrio de tempo durante
a implementao, at o momento atual, o projeto apenas dene os limites dessas regies
como sendo as coordenadas dos pontos caractersticos da face.
Para a extrao da ponta do nariz, percorre-se o eixo de simetria da face, da altura
inferior dos olhos para baixo.
do espao de cores
HSV,
a ponta do nariz. Em
[Shan et al., 2000], este mtodo utilizado, demonstrando bons resultados, pois a regio
de maior iluminao utilizado para a aquisio das imagens era frontal face.
Como se possu o ponto mdio horizontal dos olhos e a ponta do nariz, pode-se calcular
a distncia (como feito na parte de extrao das caractersticas na imagem de perl) entre
eles e correlacionar com a distncia calculada para estes mesmos pontos na extrao dos
pontos de perl.
45
CAPTULO 5.
46
Para coloc-las em escala, basta multiplicar uma delas por este fator.
DOp Np = Op Np
DOf Nf = Of Nf
F AT OR =
DOp Np
DOf Nf
Figura 5.1: Imagem original da face ( esquerda). Linhas que restringem as regies de
busca ( direita)
CAPTULO 5.
47
Para a anlise do perl, cria-se um vetor contendo o valor da coluna onde est o
primeiro
pixel
de cor branca.
perl da face. Toda a anlise para a extrao dos pontos caractersticos do perl feita
atravs desta curva.
Inicialmente, procura-se pela ponta do nariz, considerando que este o mximo global
desta curva e, portanto, o ponto mais esquerda, como mostra a Figura 5.3.
Aps encontrar-se a ponta do nariz, surge o desao de encontrar os demais pontos do
perl que, ao contrrio da ponta do nariz, no so to triviais de identicar. Partindo da
hiptese de que os mximos locais e mnimos locais so pontos de picos e vales do perl,
respectivamente, criou-se um mtodo que pudesse encontr-los de maneira seqencial.
Este mtodo funciona da seguinte maneira:
Do nariz pra baixo, procura-se por trs picos e trs vales, correspondentes ao ponto
CAPTULO 5.
48
Figura 5.3: Imagem original da face ( esquerda). Ponta do nariz extrada ( direita).
Do nariz pra cima, procura-se por um pico e um vale, correspondentes ao meio dos
olhos e sobrancelha.
A busca por picos e vales foi implementada da seguinte maneira, considerando que a
face est virada para a esquerda (se a face estiver vira pra direita, troca-se pico por vales
e vice-versa, e maior por menor e vice-versa):
Se o ponto anterior [j-1], for menor que o ponto atual [j], se est na iminncia de um
vale. Se nesse ponto houver uma eminncia anterior de pico, esta ir se conrmar.
Se o ponto anterior [j-1], for maior que o ponto atual [j], se est na iminncia de um
pico. Se nesse ponto houver uma eminncia anterior de vale, esta ir se conrmar.
Se o ponto anterior [j-1], for igual ao ponto atual [j], computa-se a tamanho desta
reta.
Portanto, criam-se
CAPTULO 5.
49
N ),
riormente.
2. A partir do ponto
que na regio entre os olhos existe um vale. Calcula-se a distncia entre as linhas
dos pontos
as demais regies de busca por pontos. Se a remota possibilidade de no se encontrar o vale entre os olhos acontecer, seta-se como tal ponto o meio da maior reta
DOp Np = Op Np
3. Com o clculo de
DOp Np ,
(5.1)
B ).
Essa busca feita dentro do intervalo dado pela equao 5.2. Caso no se encontre
um vale nesse intervalo, seta-se como o ponto
maior reta encontrada nessa regio (essa reta tem que ter, no mnimo, 4
a reta for pequena (menos de 4
pixels),
o ponto
pixels).
Se
(5.2)
B = N + 0, 4 DOp Np
(5.3)
S ).
Essa busca feita dentro do intervalo dado pela equao 5.4. Caso no se encontre
um pico nesse intervalo, seta-se como o ponto
(5.4)
maior reta a maior dentre as retas encontradas no item 4 da descrio da busca de picos e vales
feita acima.
CAPTULO 5.
50
U ).
A busca do pico
correspondente ao lbio superior feita dentro do intervalo dado pela equao 5.5.
Caso no se encontre um pico nesse intervalo, seta-se como o ponto
o m (de
baixo pra cima) da maior reta encontrada nessa regio (essa reta tem que ter no
mnimo 3
pixels).
pixels),
o ponto
denido
(5.5)
U = S + 0, 3 DOp Np
(5.6)
6. Agora, os pontos abaixo do lbio superior podem ter uma mobilidade que no pode
ser estimada por mtricas. Por isso, procura-se, de maneira seqencial, at encontrar
dois picos e 2 vales, que correspondem ao canto da boca, lbio inferior, ponto entre
a boca e o queixo, e o queixo.
As constantes utilizadas nas equaes 5.2, 5.3, 5.2, 5.5 e 5.6, foram estimadas segundo as mtricas denidas por [Alattar and Rajala, 1999] e [Gu et al., 2003].
Em
[Alattar and Rajala, 1999], utilizou-se um modelo elptico de uma face com mtricas baseadas no tamanho do maior dimetro desta elipse. J em [Gu et al., 2003], citado um
CAPTULO 5.
51
mtodo muito comum para extrair as formas dos olhos, nariz, boca e queixo, pela distncia e escala entre estes rgos. No nosso trabalho, todas as mtricas so proporcionais
distncia entre a ponta do nariz e os olhos (DOp Np ). Em [Liposcak and Loncaric, 1999],
um mtodo semelhante, baseado em escalas, foi utilizado.
Para comprovar os bons resultados adquiridos na aplicao desse mtodo, apresenta-se
na Figura 5.4 alguns exemplos da extrao dos pontos, em faces distintas, com expresses
variadas.
Captulo 6
Aspectos de Implementao
Nesse captulo apresentar-se- nossa aplicao. Aspectos como
interface,
caractersticas,
6.1 Caractersticas
Primeiramente, quando se idealizou os aspectos que se gostaria de abordar, e os problemas
que se teria que resolver, surgiu o questionamento sobre qual linguagem de programao
utilizar.
dominasse, mas por uma que proporcionasse toda a estrutura e recursos onde se pudesse
fazer a aquisio dos vdeos e process-los.
A alternativa escolhida foi a linguagem de programao JAVA. Na Seo 6.3 se apresentar a estrutura do interpretador JAVA, bem como todas as caractersticas que a
credenciam como uma das linguagens mais aceitas no mbito acadmico.
Na presente seo, se discutir as caractersticas da
interface
e do funcionamento da
aplicao como um todo, bem como, apresentar-se- toda a estrutura criada para dar
suporte a aquisio e processamento das imagens (ou
frames).
Um
projeto uma abstrao do ambiente restrito a um par de vdeos (frontal e lateral), que
funciona, basicamente, como uma chave de acesso a estes vdeos e, por conseqncia a
seus
frames.
52
CAPTULO 6.
ASPECTOS DE IMPLEMENTAO
53
Figura 6.1:
ScreenShot
interface
da aplicao.
Na esquerda, pode-se ter acesso a cada uma das etapas. direita, esto as imagens
que comprovam as aplicaes dos mtodos descritos anteriormente.
CAPTULO 6.
ASPECTOS DE IMPLEMENTAO
54
CAPTULO 6.
6.3.1
55
ASPECTOS DE IMPLEMENTAO
Histrico
chips
de aparelhos domsticos e de
6.3.2
Caractersticas
antes de tudo
uma linguagem simples, fortemente tipada, independente de arquitetura, robusta, segura, extensvel, bem estruturada, distribuda, multithreaded e com garbage collection
[Wester, 2003]. Abaixo est uma descrio de cada uma das caractersticas mencionadas:
Simplicidade:
Java
CAPTULO 6.
56
ASPECTOS DE IMPLEMENTAO
ria alocada dinamicamente gerenciada pela prpria linguagem, que usa algoritmos
de coleta de lixo (garbage
collection)
Orientao a Objetos:
O cdigo ca
Multithreading:
Excees:
quanto aos acessos de memria, abertura de arquivos e uma srie de eventos que
podem travar em outras linguagens, mas que geram excees em programas Java.
Processamento Distribudo:
moto (sockets) e a protocolos utilizados na internet (HTTP, FTP, Telnet, etc.). Isso
facilita demais a elaborao de aplicativos baseados em arquiteturas cliente-servidor.
Independncia de Mquina:
O Java multiplataforma,
1 Application
CAPTULO 6.
57
ASPECTOS DE IMPLEMENTAO
Garbage Collector:
garbage
6.3.3
(JMF)
Uma das principais justicativas para a escolha da linguagem JAVA para a implementao
do sistema aqui apresentado foi exatamente a existncia de uma API prpria para a
manipulao de vdeos. A JMF permitiu que fossem criados CODECs para acessar
e
frame
frame
frame
pde ser
frame
Captulo 7
Consideraes Finais
Os objetivos traados na proposta deste trabalho foram parcialmente alcanados.
Um
grande apanhado de mtodos foi estudado para tornar vivel esta implementao, visto
que o prvio conhecimento da linha de pesquisa deste trabalho era muito supercial. A
seguir se relatar as diculdades encontradas e as propostas futuras para este trabalho.
Adicionou-se
58
webcams independentes.
CAPTULO 7.
es de
59
CONSIDERAES FINAIS
software,
framerates
de cada
YIQ
YCbCr,
porm em [Feris et al., 2000, Wang and Sung, 1999, Saber and Tekalp, 1998] foi utilizado
uma distribuio gaussiana para modelar a regio de cor de pele humana.
Por se tratar de uma aplicao que visa extrair pontos caractersticos de uma face,
para que estes sejam animados em um modelo virtual tridimensional em [Krting, 2005],
o aperfeioamento do processo de extrao dos pontos caractersticos da regio da boca
de fundamental importncia para dar maior realidade ao processo.
A aplicao de
a estimao dos pontos caractersticos da boca em [Zhang, 1997, Reinders et al., 1993,
Rudianto and Ngan, 1996]. Este o mtodo que se gostaria de, futuramente, implementar
em nosso trabalho.
Nosso
objetivo
nal
integrar
completamente
nosso
sistema
ao
trabalho
frame
de
frame.
Bibliograa
[Abrantes and Pereira, 1999] Abrantes, G. A. and Pereira, F. (1999).
Animation Technology: Survey, Implementation and Results.
In
MPEG-4 Facial
IEEE Transactions
[Agostini et al., 2004] Agostini, L. V., Silva, I. S., and Bampi, S. (2004). Parallel color
space converters for JPEG image compression. 44(4):697703.
[Alattar and Rajala, 1999] Alattar, A. M. and Rajala, S. A. (1999). Facial features localization in front view head and shoulders images.
In
volume 6, pages
35573560.
[Battaiola et al., 2001] Battaiola, A. L., de G. Domingues, R., Feij, B., Scwarcman, D.,
Clua, E. W. G., Kosovitz, L. E., Dreux, M., Pessoa, C. A., and Ramalho, G. (2001).
Desenvolvimento de Jogos em Computadores e Celulares.
RITA,
VIII(2):746.
[Bicho et al., 2002] Bicho, A. L., da Silveira Jr., L. G., da Cruz, A. J. A., and Raposo,
A. B. (2002). Programao Grca 3D com OpenGL, Open Inventor e Java 3D. In
Nll,
(5).
8(6):679698.
60
IEEE
61
BIBLIOGRAFIA
[Chan et al., 2004] Chan, M., Chia-Yen, C., Barton, G., Delmas, P., Gimel'farb, G., Leclercq, P., and Fischer, T. (2004).
chniques.
In
[Chen et al., 2005] Chen, X., Flynn, P. J., and Bowyer, K. W. (2005). Fully Automated
Facial Symmetry Axis Detection in Frontal Color Images. In
pages 106111.
[da Silva and de Castro Santa Rosa, 2003] da Silva, P. Q. and de Castro Santa Rosa,
A. N. (2003). Face Recognition Based on Eigeneyes. 13(2):419423.
[Feris et al., 2000] Feris, R. S., Campos, T. E., and Cesar-Jr., R. M. (2000). Detection
and Tracking of Facial Features in Video Sequences.
Intelligence,
In
Converso RGB-HSV-GrayScale.
disponvel em
http://www.lapsi.eletro.ufrgs.br/lili/doc/image-processing/conversao.
pdf.
acessado em 15/12/2005.
[Garcia et al., 2001] Garcia, E., Dugelay, J.-L., and Delingette, H. (2001). Low cost 3D
face acquisition and modeling. In
formation Technology: Coding and Computing, April 2-4, 2001, Las Vegas, USA.
[Gonzalez and Woods, 2000] Gonzalez, R. C. and Woods, R. E. (2000).
de Imagens Digitais.
[Gu et al., 2003] Gu, H., Su, G., and Du, C. (2003).
Faces. In
Processamento
Image and Vision Computing NZ, Palmerston North, pages 154158, Beijing,
China.
[Hadid et al., 2002] Hadid, A., Pietikainen, M., and Martinkauppi, B. (2002). Color-based
face detection using skin locus model and hierarchical ltering. pages IV: 196200.
62
BIBLIOGRAFIA
[Harmon and Hunt, 1978] Harmon, L. D. and Hunt, W. F. (1978). Automatic recognition
of human face proles.
br/ihc/.
http://www.serg.inf.puc-rio.
Acessado em 13/12/2005.
com.br/.
Disponvel em
6(2):135156.
O que Java?
disponvel em
http://www.portaljava.
acessado em 26/12/2005.
Projeto de
[Lanzarotti et al., 2002] Lanzarotti, R., Borghese, N. A., and Campadelli, P. (2002). Robust identication and matching of ducial points for the reconstruction of 3D human
faces from raw video sequences. In
pages 690693.
[Lee et al., 1995] Lee, Y., Terzopoulos, D., and Walters, K. (1995).
for facial animation. In
Realistic modeling
ACM Press.
[Liposcak and Loncaric, 1999] Liposcak, Z. and Loncaric, S. (1999). A Scale-Space Approach to Face Recognition from Proles.
In
pages 243250,
[Ming et al., 2000] Ming, Y., Yingchun, G., and Youan, K. (2000). Human face orientation estimation using symmetry and feature points analysis. In
63
BIBLIOGRAFIA
[Pilu et al., 1996] Pilu, M., Fitzgibbon, A., and Fisher, R. (1996). Ellipse-specic direct
least-square tting.
[Precioso et al., 2005] Precioso, F., Barlaud, M., and Blu, T. (2005). Robust Real-Time
Segmentation of Images and Videos Using a Smooth-Spline Snake-based algorithm.
volume 14.
IEEE
CE-23(4):467478.
[Reinders et al., 1993] Reinders, M., Odijk, F., van der Lubbe, J., and Gerbrands, J.
(1993).
sequences.
In
Fca - Editora
Informtica.
[Rozinaj and Mistral, 2003] Rozinaj, G. and Mistral, F.-L. (2003). Facial Features Detection For 3D Face Modeling.
03:951
954.
[Rudianto and Ngan, 1996] Rudianto, R. and Ngan, K. (1996). Automatic 3D wireframe
model tting to frontal facial image in model-based video coding. In
Symposium (PCS'96),
Picture Coding
tection and Facial Features extraction Using Color, Shape and Symetry Based Cost
Functions. pages 669680. Ed. Elsevier.
http://www.inf.ufsc.br/~visao/1998/seara/.
[Shan et al., 2000] Shan, S., Gao, W., Yan, J., Zhang, H., and Chen, X. (2000). Individual
3d face synthesis based on orthogonal photos and speech-driven facial animation. In
ICIP.
64
BIBLIOGRAFIA
[Sheng, 2003] Sheng, Y. (2003). Fast and Automatic Facial Feature Extraction for 3-D
Model-Based Video Coding.
[Singh et al., 2003] Singh, S. K., Chauhan, D. S., Vatsa, M., and Singh, R. (2003).
Robust Skin Color Based Face Detection Algorithm. In
and Engineering,,
[Sirohey, 1993] Sirohey, S. A. (1993). Human Face Segmentation and Identication. Technical Report CS-TR-3176.
In
SIGGRAPH '78:
Proceedings of the 5th annual conference on Computer graphics and interactive techniques,
[Su and Yin, 2004] Su, S. and Yin, B. (2004). A robust face detection method. In
Third
pages 302305.
[Tang and Huang, 1996] Tang, L.-A. and Huang, T. S. (1996). Automatic construction
of 3D human face models based on 2D images. In
Processing,
IEEE MultiMedia,
7(1):3443.
[Wang and Sung, 1999] Wang, J. G. and Sung, E. (1999). Frontal-view Face Detection
and Facial Features extraction Using Color and Morphological Operations.
pages 10531068.
infowester.com/.
Pattern
I. (2003).
Addison-Wesley.
Linguagem JAVA.
disponvel em
http://www.
acessado em 26/12/2005.
//pt.wikipedia.org/wiki/Avatar_(Realidade_Virtual).
http:
acessado em 28/12/2005.
65
BIBLIOGRAFIA
org/wiki/Biometria.
acessado em 28/12/2005.
wiki/CCD.
http://pt.wikipedia.
http://pt.wikipedia.org/
acessado em 31/12/2005.
wikipedia.org/wiki/Image:HSV_cone.jpg.
disponvel em
http://en.
acessado em 14/12/2005.
[Yang et al., 2002] Yang, M.-H., Kriegman, D. J., and Ahuja, N. (2002). Detecting Faces
in Images: A Survey.
24(1):3458.
[Yokoyama et al., 1996] Yokoyama, T., Wu, H., and Yachida, M. (1996). Automatic detection of facial feature points and contours.
In
pages 335340.
[Yuille et al., 1992] Yuille, A. L., Hallinan, P. W., and Cohen, D. S. (1992).
extraction from faces using deformable templates.
Feature
[Zhang, 1997] Zhang, L. (1997). Estimation of the mouth features using deformable template matching. pages 328335.
[Zhao et al., 2003] Zhao, W., Chellappa, R., Phillips, P. J., and Rosenfeld, A. (2003).
Face recognition: A literature survey.