Você está na página 1de 108

Um sistema de rastreamento

de olhar tolerante
a movimenta
coes da face

Fl
avio Luiz Coutinho

DISSERTAC APRESENTADA
AO
AO

INSTITUTO DE MATEMATICA E ESTATISTICA
DA
PAULO
UNIVERSIDADE DE SAO
PARA
OBTENC DO TITULO DE MESTRE
AO
EM

CIENCIAS


Area de Concentracao: Ciencia da Computacao
Orientador: Prof. Dr. Carlos Hitoshi Morimoto

Sao Paulo, maio de 2006


Um sistema de rastreamento
de olhar tolerante
a movimenta
coes da face

Este exemplar corresponde `a redacao final da dis-


sertacao devidamente corrigida e defendida por
Flavio Luiz Coutinho e aprovada pela Comissao
Julgadora.

Sao Paulo, 5 de maio de 2006.

Banca Examinadora :

Prof. Dr. Carlos Hitoshi Morimoto (orientador) - IME/USP


Prof. Dr. Ronaldo Fumio Hashimoto - IME/USP
Profa. Dra. Maria Cristina Ferreira de Oliveira - ICMC/USP
Agradecimentos
A Deus, por todos os dias me iluminar.
Ao meu orientador, Carlos Hitoshi Morimoto, pelo apoio, paciencia e oportuni-
dade de trabalhar neste projeto, alem do contnuo incentivo, sempre mostrando o
melhor caminho a seguir nos momentos difceis. Agradeco tambem pela confianca
depositada no meu trabalho.
Aos amigos e colegas do IME com os quais pude trocar informacoes e experiencias,
em especial a`queles que participaram dos testes do rastreador de olhar aqui apre-
sentado.
Por fim, agradeco aos meus pais, Liane e Walter, aos meus irmaos Audrey e Walter,
a minha noiva, Monete, e a toda minha famlia pelo apoio, nao so durante a
realizacao deste trabalho, mas durante todas as etapas percorridas para chegar ate
aqui.
Resumo
A crescente capacidade do poder computacional e a proliferacao de dispositivos
ao nosso redor vem permitindo o desenvolvimento de novas e sofisticadas inter-
faces para interacao humano-computador que reagem a` presenca e ao estado de
seus usuarios. Como o olhar tem a capacidade de transmitir muitas informacoes
sobre o usuario, rastreadores de olhar, dispositivos que estimam a direcao para
onde uma pessoa olha, tem papel importante no desenvolvimento de tais inter-
faces. Entre suas aplicacoes temos o auxlio a pessoas com dificuldades motoras,
que podem utilizar um rastreador de olhar como substituto ao mouse, aplicacoes
de diagnostico, que estudam evidencias do comportamento humano, ou ainda o
desenvolvimento de interfaces que utilizem a informacao sobre o olhar como um
canal a mais de comunicacao com o usuario para perceber suas intencoes. Muitas
tecnicas para atingir tal objetivo foram desenvolvidas mas as tradicionais ainda
oferecem certas dificuldades de uso para seus usuarios como a intolerancia a movi-
mentos de cabeca e a necessidade de calibracao por sessao de uso. Neste trabalho
fizemos um levantamento de uma serie de tecnicas de rastreamento de olhar, indo
das mais tradicionais ate algumas mais recentes que visam melhorar a facilidade
de uso destes sistemas. Uma das tecnicas mais promissoras utiliza m
ultiplas fon-
tes de luz fixadas nos cantos do monitor do computador. Atraves da analise da
posicao dos reflexos gerados por essas fontes de luz sobre a cornea, juntamente
com a informacao da posicao da pupila, presentes em imagens capturadas do olho,
5

e possvel estimar o ponto observado no monitor. Devido `as suas vantagens ela
foi escolhida para estudo mais detalhado e implementacao. Extensos testes uti-
lizando simulacoes foram realizados para avaliar seu desempenho. Foi tambem
desenvolvida uma extensao dessa tecnica, utilizando um modelo mais preciso do
olho, visando melhorar sua precisao. Ao final apresentamos nossa implementacao,
baseada nessa extensao da tecnica original, que e tolerante a movimentacao da face
e mostramos os resultados obtidos em testes realizados com um grupo de usuarios.
Abstract
Recent advances in computing power and the proliferation of computing devices
around us allowed the development of new computer interfaces which can react to
the presence and state of its users. Since gaze can transmit a lot of information
about the user, gaze trackers, devices that can estimate the direction which a
person is looking at, have an important role in the development of such interfaces.
Among gaze tracking applications, we have aid for people with limited motor
skills, human behavior studies, and the development of interfaces that can take
gaze information as an additional communication channel with the user. Lots of
techniques have been developed to reach this goal, but they have some problems
that make them hard to be widely used. These problems are the need of calibration
for each use session and the need to keep the users head still. In this work we
studied some of the existing gaze tracking techniques, from the more traditional
ones to more recent ones. One of the most interesting techniques makes use of
multiple light sources fixed at the monitors corners. By analyzing the positions of
corneal reflections and the pupil present in captured images of the eye, it is possible
to estimate the gaze point on the monitor screen. Due to its advantages this
technique was chosen for a deeper study and implementation. Lots of experiments
using simulated data have been carried out to validate the technique. Using a
more accurate model of the eye, an extension for this technique was also developed
7

to increase its precision. Finally, we present our implementation, that allows for
large head movement, as well as test results obtained from real users.
Sum
ario

1 Introduc
ao 1

2 T
ecnicas de estimac
ao do olhar 7
2.1 Estrutura e modelo do olho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Tecnicas intrusivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Tecnicas remotas tradicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Tecnicas robustas a movimentos de cabeca . . . . . . . . . . . . . . . . . . . . 20
2.4.1 Uma camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.2 M
ultiplas Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.3 Projecao de padrao de luz . . . . . . . . . . . . . . . . . . . . . . . . . 28

3 An
alise explorat
oria 41
3.1 Reflexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Sem calibracao do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3 Com calibracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4 Novo M
etodo 61

i
ii
SUMARIO

5 Implementac
ao 69
5.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2.1 Desentrelacamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2 Deteccao inicial da pupila . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.3 Procura dos reflexos sobre a cornea . . . . . . . . . . . . . . . . . . . . 76
5.2.4 Procura detalhada da pupila . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.5 Estimando a direcao do olhar . . . . . . . . . . . . . . . . . . . . . . . 81

6 Resultados 83

7 Conclus
ao 91
Captulo 1

Introdu
c
ao

O avanco da tecnologia de computadores tem mudado a maneira como nos relacionamos com
essas maquinas. Nas u
ltimas decadas vimos a mudanca da era do mainframe (onde muitos
usuarios compartilhavam uma u
nica maquina) para a era do computador pessoal onde cada
usuario possui sua propria maquina. Hoje em dia nos vemos cada vez mais rodeados de
m
ultiplos dispositivos computacionais. Apesar dessa tendencia proporcionar um aumento de
produtividade nas atividades das pessoas, tal beneficio tem um custo associado: a exigencia
de se estar constantemente disponvel para atender as notificacoes emitidas por tais aparelhos
que disputam a atencao do usuario entre si [Ver03]. Como exemplo podemos citar um cliente
de correio eletronico que soa um alarme sempre que chega uma nova mensagem. Embora
possa ser u
til para chamar a atencao do usuario, e bastante provavel que o alarme acabe
distraindo o usuario da sua atividade prejudicando sua produtividade. Entretanto, se fosse
possvel notificar a chegada de novas mensagens apenas nos momentos em que o usuario olha
para um cone especfico da sua area de trabalho, evitaria-se essa dispersao da sua atencao.
Cientes desse custo, pesquisadores da area de Interacao Humano Computador (IHC) estao
desenvolvendo novas maneiras para a interacao de dispositivos computacionais com seus

1
2 CAPITULO 1. INTRODUC
AO

usuarios que visam conservar a atencao destes ao inves de distra-los. Para isso e preciso
que os novos sistemas tenham a capacidade de obter informacoes sobre seus usuarios por ca-
nais de comunicacao adicionais. Essas interfaces sensveis a contexto, onde este e definido pela
atencao do usuario, sao chamadas interfaces prestativas.
Como nosso corpo e, em especial, a face e os olhos sao eficientes comunicadores da nossa
atencao, tecnicas e ferramentas de Visao Computacional vem sendo bastante exploradas pela
area de IHC a fim de criar interfaces que possam reagir de forma mais adequada a` presenca
e ao estado do usuario. Topicos como deteccao e rastreamento de faces, reconhecimento de
gestos, e rastreamento do olhar sao alguns temas bastante estudados e aplicados.
Neste trabalho tratamos o problema de rastreamento (ou estimacao) do olhar. Sistemas
de rastreamento de olhar permitem estimar a direcao para onde uma pessoa esta olhando. A
estimacao pode ser tanto no espaco 3D, determinando a linha de visao do usuario, quanto
no espaco 2D. Neste u
ltimo caso determina-se o ponto observado sobre um plano de interesse
(por exemplo a tela do monitor).
As tecnicas de rastreamento de olhar existentes podem ser classificadas em dois grupos:
tecnicas intrusivas e tecnicas nao intrusivas. Sao consideradas tecnicas intrusivas aquelas que
exigem para seu uso a utilizacao de algum tipo de equipamento em contato fsico com o usuario
como, por exemplo, capacetes, eletrodos ou lentes de contato especiais. Essas tecnicas nao
sao interessantes para aplicacoes interativas pois requerem um tempo de preparacao elevado
e o uso prolongado desses equipamentos pode se tornar desconfortavel para o usuario. Nas
tecnicas nao intrusivas (tambem chamadas de tecnicas remotas) o uso de tais equipamentos e
dispensado e, normalmente, utiliza-se tecnicas de visao computacional para processar imagens
do usuario obtidas por meio de cameras (a quantidade de cameras pode variar conforme a
tecnica). As tecnicas remotas oferecem maior conforto, permitindo um maior tempo de uso
por parte das pessoas, mesmo que a precisao no rastreamento seja, em geral, menor do que
3

a obtida pelas tecnicas intrusivas mais precisas. Tipicamente, essas tecnicas procuram, nas
imagens, por pontos caractersticos do olho como a pupila, a ris e reflexos gerados por fontes
de luz. Em seguida, a partir dos pontos detectados, aplica-se algum algoritmo que converta
essas informacoes no ponto observado pelo usuario.
Para fins de usabilidade, as tecnicas de rastreamento de olhar podem ainda ser classifi-
cadas em: tecnicas que exigem calibracao e tecnicas que nao exigem calibracao. Apesar das
tecnicas do primeiro grupo apresentarem bons resultados, a obtencao da calibracao pode ser
um processo incomodo ao usuario quando e necessario ser feita freq
uentemente. Devido ao
fato da funcao de calibracao normalmente estar associada a um posicionamento do usuario, a
precisao dessas tecnicas sao afetadas com a movimentacao da pessoa. Esses problemas, isto
e, a constante necessidade de recalibrar o sistema e restricoes a` movimentos da cabeca, limi-
tam a usabilidade dessas tecnicas, dificultando a ampla difusao e utilizacao das mesmas para
uso cotidiano fora de ambientes controlados e de experiencias. As tecnicas que nao requerem
calibracao correspondem a trabalhos mais recentes. Essas tecnicas substituem o processo de
calibracao por um processo de medicao de caractersticas do usuario que podem ser armaze-
nadas, e que, portanto, pode ser realizado apenas uma vez. Por usarem modelos geometricos
mais avancados, elas tambem apresentam maior robustez a movimentos da cabeca, oferecendo
uma usabilidade ainda melhor.
Andrew T. Duchowski [Duc02], fez um levantamento de aplicacoes do rastreamento do olhar
dividindo-as em dois grupos: aplicacoes de diagnostico e aplicacoes interativas. As aplicacoes
de diagnostico sao aquelas que utilizam dados obtidos pelo rastreador como evidencia do
comportamento visual e da atencao de um indivduo. Ja as aplicacoes interativas usam da-
dos obtidos via rastreador para responder ou interagir com o usuario conforme o movimento
observado do olhar.
Exemplos de aplicacoes de diagnostico incluem estudos neurologicos que relacionam da-
4 CAPITULO 1. INTRODUC
AO

dos obtidos pelo rastreamento com a atividade cerebral e estudos psicologicos que analisam
informacoes obtidas via rastreador e as cruzam com outras informacoes como a atividade reali-
zada. Exemplos de atividades estudadas com o auxlio de rastreamento do olhar seriam leitura,
direcao de veculos, ou mesmo atividades mais especficas como inspecao visual realizada por
pessoas em fabricas. Os pontos de fixacao do olhar, o tempo de fixacao, n
umero de fixacoes
durante uma atividade e a distribuicao espacial entre elas sao alguns parametros relevantes
do movimento do olho que um rastreador de olhar ajudaria a obter, da a sua utilidade para
esse tipo de estudo.
No caso das aplicacoes interativas, o uso mais comum talvez seja a utilizacao dos rastreado-
res como dispositivos apontadores alternativos, auxiliando pessoas portadoras de deficiencias
fsicas e permitindo o desenvolvimento de aplicacoes mais naturais e intuitivas. Nem sem-
pre, contudo, o objetivo e utilizar rastreadores como substitutos diretos do mouse. O simples
reconhecimento de gestos do olho como piscadas, fixacoes e movimentacao (sem fazer o rastre-
amento do ponto observado) pode fornecer informacoes para serem aplicadas em uma interface
prestativa [Sel04]. Ate mesmo o simples reconhecimento da presenca de olho pode ser utilizado
para promover a interacao do usuario com aplicativos [SVS03]. O trabalho desenvolvido por
Zhai et al. [ZMI99] e estendido por Barcelos [Bar05] sao exemplos onde um rastreador de
olhar e aplicado de forma indireta. Atraves da combinacao do rastreador e da manipulacao
do mouse, permite-se fazer selecoes finas de forma manual sobre uma regiao de interesse da
tela que por sua vez e definida pelo olhar do usuario.
Este trabalho foi realizado no Laboratorio de Tecnologias para Interacao (LaTIn) do Ins-
tituto de Matematica e Estatstica da Universidade de Sao Paulo, que tem desenvolvido pes-
quisas e tecnologias para IHC que utilizam tecnicas de visao computacional. Como exemplo
de trabalhos desenvolvidos no LaTIn temos: rastreadores de faces [Bar06], interfaces baseadas
em gestos [CMZ05] e rastreadores de olhar baseados na tecnica de reflexao sobre a cornea
5

[Bar05, MM05], uma tecnica tradicional, utilizando porem um detector e rastreador mais
robusto de olhos.
Nosso objetivo com este trabalho foi desenvolver um sistema rastreador de olhar que mi-
nimizasse os problemas dos rastreadores remotos tradicionais, ou seja, que minimizasse as
exigencias de calibracao e restricoes sobre a movimentacao da cabeca. Tambem era desejavel
que o rastreador possusse uma configuracao de hardware simples, de facil manipulacao e que
nao utilizasse qualquer equipamento em contato fsico com seus usuarios a fim de prover maior
conforto. Para alcancar tais objetivos, foi feito um levantamento bibliografico das principais
tecnicas de rastreamento de olhar existentes a fim de escolher aquela que melhor atendia nossas
exigencias. Em seguida, foram feitos testes a partir simulacoes para avaliar o desempenho da
tecnica escolhida para finalmente implementar o rastreador. Como contribuicao deste trabalho
temos o desenvolvimento de um rastreador de olhar mais acessvel para pessoas em geral no
que diz respeito `a facilidade e praticidade de uso.
Nos proximos captulos discutimos em maiores detalhes as tecnicas estudadas, as imple-
mentacoes realizadas e os resultados experimentais obtidos. O captulo 2 apresenta a revisao
bibliografica das tecnicas de rastreamento de olhar, passando por todos os tipos de tecnicas,
mas dando maior atencao a`s tecnicas mais recentes. Descrevemos tambem brevemente a es-
trutura do olho humano, para melhor entendimento dos princpios de funcionamento dessas
tecnicas. Por fim veremos, ainda nesse captulo, a tecnica escolhida para nossa implementacao
do rastreador de forma mais detalhada. Na seq
uencia, no captulo 3, detalhamos algumas
simulacoes conduzidas para verificar a eficacia da tecnica escolhida e, a partir dos resultados
obtidos, apresentamos uma extensao para ela no captulo 4 a fim de contornar limitacoes
encontradas. No captulo 5 descrevemos como foi feita a implementacao do rastreador e os
resultados obtidos em testes feitos por um grupo de usuarios sao apresentados no captulo
6. Finalmente, o captulo 7 apresenta conclusoes e caminhos futuros para dar continuidade a
6 CAPITULO 1. INTRODUC
AO

nossa pesquisa.
Captulo 2

T
ecnicas de estima
cao do olhar

A estimacao (ou rastreamento) de olhar consiste em determinar a direcao para onde uma
pessoa esta olhando. Havendo informacoes sobre o ambiente cercando o usuario e possvel
tambem estimar qual o ponto observado.
Como ja discutido, as tecnicas de estimacao do olhar podem ser classificadas em intrusi-
vas e nao intrusivas. As intrusivas sao aquelas que exigem o uso de algum equipamento em
contato direto com o usuario (como lentes de contato, capacetes e eletrodos), o que nao e
interessante quando visamos a utilizacao de rastreadores de olhar em aplicacoes interativas.
As tecnicas nao intrusivas sao em geral baseadas em visao computacional e tambem sao co-
nhecidas como tecnicas remotas. Apesar de oferecer maior conforto de uso do que as tecnicas
intrusivas, as tecnicas remotas tradicionais ainda possuem duas limitacoes que dificultam a
sua popularizacao, que sao:

a necessidade freq
uente de calibracao;

a necessidade de restringir a movimentacao da cabeca.

Dessa forma, a eliminacao ou pelo menos a minimizacao dessas limitacoes e algo bastante

7
8 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

Figura 2.1: Diagrama da estrutura do olho humano.

desejavel.
Revisoes bibliograficas sobre rastreamento de olhar podem ser encontradas em [YS75],
[GEN95], [Duc03] e [MM05]. Neste captulo serao apresentadas rapidamente algumas das
tecnicas tradicionais mais relevantes e daremos maior enfase para tecnicas mais recentes que
sugerem novos modelos geometricos para permitir maior tolerancia a` movimentos de cabeca
e eliminar a necessidade freq
uente de calibracao. Antes de introduzi-las, vamos descrever
brevemente a anatomia do olho e definir um modelo geometrico criado para representar sua
estrutura. O conhecimento sobre a anatomia do olho e seu funcionamento facilitara a descricao
do princpio de funcionamento de cada tecnica e permitira uma discussao sobre seu desempenho
e precisao.

2.1 Estrutura e modelo do olho


A figura 2.1 ilustra a estrutura do olho humano. O olho possui uma forma aproximadamente
esferica que e envolta por um tecido esbranquicado, chamado esclera [WS82]. A esclera cobre
2.1. ESTRUTURA E MODELO DO OLHO 9

praticamente toda a superfcie do globo ocular com excecao da parte anterior por onde incidem
os raios de luz. O orifcio por onde entram esses raios e chamado pupila. A musculatura do
olho que define a pupila e chamada de ris, que consiste na parte colorida do olho e atua como
um diafragma que aumenta ou diminui a abertura da pupila, regulando a quantidade de luz
no interior do olho. A fronteira da esclera com a ris e chamada de limbus. A cornea e uma
membrana transparente que cobre a ris, e possui uma curvatura mais acentuada que o globo
ocular em si.
Atras da ris, localiza-se o cristalino, que e uma lente que atua no processo de formacao
das imagens sobre o fundo do olho. A regiao entre o cristalino e a cornea e preenchida por um
fluido chamado humor aquoso. O cristalino possui a capacidade de se deformar para ajustar
o foco conforme a distancia do objeto sendo observado. O fundo da regiao interna do olho,
onde sao formadas as imagens, e chamado de retina. Nela existem 2 tipos de celulas foto
receptoras chamadas de cones e bastonetes, que captam informacoes sobre cor e luminosidade.
Sobre a retina existe uma pequena regiao chamada fovea, com grande concentracao de cones,
que e de especial interesse pois e responsavel pela visao de detalhes. A regiao interna do olho
compreendida entre o cristalino e a retina e preenchida pelo humor vtreo.
Assim como uma camera, o olho e um dispositivo de captura de imagem e seus principais
elementos opticos sao a cornea, a pupila e o cristalino. Como esses elementos nao sao per-
feitamente alinhados, o eixo optico do olho e definido como o eixo aproximado conectando
os centros de curvatura de tais elementos. Porem, o eixo que define a linha de visao real e
o eixo visual, definido pela linha conectando o ponto observado e a fovea e que passa pelos
pontos nodais do olho. Tipicamente a diferenca angular entre esses eixos tem um valor medio
de 5 , em um intervalo que varia de 4-8 [WS82]. Essa diferenca de eixos e uma caracterstica
importante na estimacao do olhar pois computar apenas o eixo optico nao significa que a
estimacao do olhar esteja de acordo com o ponto real observado pelo usuario.
10 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

Para testar algoritmos e tecnicas de rastreamento de olhar, a utilizacao de modelos que


representem o olho adequadamente se faz necessario. O modelo que utilizamos em nosso
trabalho e o modelo de olho de Gullstrand [Lon74]. Nesse modelo, o olho e representado atraves
de superfcies esfericas, juntamente com os valores medios das dimensoes de cada estrutura e
os ndices de refracao de cada meio atravessado pela luz. Esses valores sao mostrados na tabela
2.1, que mostra o caminho percorrido pela luz ate a retina, e a figura 2.2 ilustra esse modelo,
destacando as estruturas mais importantes para o nosso estudo. Morimoto e Mimica [MM05]
tambem utilizaram esse modelo para gerar imagens sinteticas de um olho tpico usando a
tecnica de tracamento de raios (ray tracing) para estudar o comportamento de funcoes de
calibracao em rastreadores de olhar. Um exemplo de imagem gerada por esse modelo pode
ser vista na figura 2.3.

Posic
ao (mm) Raio (mm) Indice de refrac
ao apos a superfcie
Cornea 0 7.7 1.376
0.5 6.8 1.336
Cristalino 3.2 5.33 1.385
3.8 2.65 1.406
6.6 -2.65 1.385
7.2 -5.33 1.336
Retina 24.0 -11.5

Tabela 2.1: dimensoes e ndices de refracao para as estruturas do olho percorridas por um raio
de luz da cornea ate a retina, segundo o modelo de Gullstrand.

O modelo de Gullstrand, apesar de simplificado, ilustra claramente que, quando um raio de


luz incide sobre a cornea e penetra no olho, ele atravessa 4 camadas ate incidir sobre a retina.
A cada transicao de meio material presente nessas camadas parte da luz e refletida gerando
as chamadas imagens de Purkinje [YS75] (veja figura 2.4). A primeira imagem de Purkinje
e o reflexo mais forte e brilhante gerado sobre a cornea, que e facilmente detectado por uma
2.1. ESTRUTURA E MODELO DO OLHO 11

Figura 2.2: modelo do olho Gullstrand.

camera e e utilizado por varias tecnicas para rastreamento do olhar. Os demais reflexos sao
bem mais difceis de se detectar, exigindo equipamentos especiais.
O uso de fontes de luz e tambem explorado em tecnicas para deteccao da pupila. Ebisawa
[Ebi95] e Morimoto et al. [MKAF00, MF00] exploram uma propriedade fisiologica do olho
pela qual a imagem de uma pupila iluminada por uma fonte de luz proxima do eixo optico da
camera aparece brilhante (devido `a luz refletida do interior do olho). Por outro lado, quando
a fonte de luz esta afastada do eixo optico da camera, a pupila aparece escura na imagem
(veja figura 2.5). Uma vantagem da utilizacao desta caracterstica do olho e que ela e bastante
incomum em outros tipos de objetos. Dessa forma, para imagens obtidas sob estas duas
condicoes de iluminacao, as pupilas costumam ser os u
nicos pontos que apresentam grande
importante notar que existe uma
contraste entre as imagens, facilitando sua localizacao. E
grande variacao observada nesse efeito da pupila brilhante entre as pessoas [NWKF02], o que
pode prejudicar o desempenho de sistemas de rastreamento baseados nessa caracterstica.
12 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

Figura 2.3: imagem gerada por tracamento de raios a partir do modelo de Gullstrand.

2.2 T
ecnicas intrusivas
Uma dos metodos mais tradicionais entre as tecnicas intrusivas para deteccao e rastreamento
do olhar sao as tecnicas baseadas no uso de lentes de contato. Robinson [Rob63] usa uma
pequena bobina embutida na lente de contato que e posicionada sobre a cornea. Uma pequena
succao e utilizada para manter a lente firme e evitar que ela se desloque devido a movimentos
rapidos do olho. O usuario e entao colocado dentro de um campo eletromagnetico e, a partir
da amplitude da corrente eletrica induzida sobre a bobina da lente, e possvel determinar
a direcao do olhar. Apesar de ser um metodo altamente intrusivo, sua precisao e bastante
alta (menor que 1 ) e sua freq
uencia de captura tambem e bastante elevada (menos que 1
milisegundo), segundo estudo apresentado por Geest e Frens [GF02].
Outra tecnica intrusiva mas de menor custo que a anterior, desenvolvida por Kaufman et
al. [KBS93], utiliza a medida do potencial eletrico da pele. Atraves do posicionamento de
eletrodos ao redor dos olhos e possvel medir pequenas diferencas no potencial eletrico da pele

2.2. TECNICAS INTRUSIVAS 13

Figura 2.4: formacao dos reflexos gerados por uma fonte de luz.

Figura 2.5: `a esquerda, imagem da pupila brilhante iluminada por uma fonte de luz localizada
no eixo optico da camera. A ` direita, imagem da pupila escura, iluminada por fonte de luz
afastada do eixo optico da camera.
14 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

que podem ser mapeadas aos movimentos dos olhos. A precisao deste metodo e da ordem
de 2 . Esta e uma tecnica bastante comum para a gravacao dos movimentos dos olhos em
aplicacoes clnicas devido a sua simplicidade. Contudo nao e apropriada para utilizacao no
dia a dia pelo desconforto decorrente da utilizacao de eletrodos fixados `a pele.
Ruelen et al. [RMK+ 88] utilizam fontes de luz infravermelhas e transistores foto-sensveis
posicionados sobre e abaixo do olho respectivamente. As luzes e os sensores sao montados
em um suporte similar a um oculos de modo que o limbus seja sempre iluminado. Os tran-
sistores foto-sensveis transformam a luz refletida pelo olho em uma voltagem. A voltagem
dos transistores localizados na regiao nasal da face e comparada `a voltagem dos transistores
localizados na regiao temporal da face e a diferenca computada e proporcional aos desvios
dos olhos. Este sistema possui uma alta precisao, em torno de 2. Contudo, o uso do aparato
tambem restringe o conforto para longos perodos de utilizacao.

2.3 T
ecnicas remotas tradicionais
Cornsweet e Crane [CC73] desenvolveram outro metodo bastante preciso para rastreamento
do olhar que utiliza a 1o e a 4o imagem de Purkinje. O princpio de funcionamento utilizando
esses dois reflexos e o seguinte: quando o olho translada no espaco ambos os reflexos se
movimentam juntos, mas quando este rotaciona, os reflexos movem-se independentemente,
modificando a posicao relativa entre eles. Essa modificacao da posicao relativa entre os dois
reflexos e utilizada para computar a orientacao do olho. Este metodo possui uma alta precisao,
da ordem de 1.
Baluja e Pomerleau [BP94] utilizam redes neurais para rastrear o olhar. Nesta tecnica, o
sistema detecta o olho do usuario atraves da procura do reflexo especular gerado por uma fonte
de luz fixa. A localizacao do reflexo e utilizada tambem para delimitar a janela de procura

2.3. TECNICAS REMOTAS TRADICIONAIS 15

do olho no proximo quadro de vdeo a ser processado. Em seguida, uma janela em torno
do reflexo localizado e extrada e a imagem resultante e utilizada como entrada para uma
rede neural. Para coletar os dados de treinamento da rede neural, o usuario deve seguir um
cursor em movimento que se move sobre um caminho definido. Neste processo de treinamento
a imagem do olho e extrada e associada com a coordenada (x, y) do cursor observado pelo
usuario. Um total de 2000 pontos de treinamento foram coletados e a precisao media obtida
foi de 1.7 .
Stiefelhagen et al. [SYW97] tambem utilizaram redes neurais para estimar a direcao do
olhar, mas nao necessitam de fontes de luz para gerar reflexos sobre a cornea. Neste trabalho a
deteccao da regiao do olho e feita detectando-se primeiramente a regiao da imagem correspon-
dente a` face do usuario (utilizando um modelo baseado em cores), e em seguida localizando
duas regioes escuras correspondentes `as pupilas. Uma vez detectadas, elas sao rastreadas nos
proximos quadros em janelas de procura em torno da posicao inicial das mesmas. As regioes
em torno das pupilas sao entao extradas, equalizadas (para compensar variacoes nas condicoes
de iluminacao), e utilizadas como entrada para a rede neural. Os resultados obtidos sao simi-
lares aos obtidos em [BP94], ficando em torno de 1.3 a 1.9 . Como a entrada de dados para a
rede neural consiste apenas de informacao local, isto e, apenas imagens dos olhos, e esperado
que os usuarios nao facam grandes movimentos de cabeca.
Kim e Ramakrishna propoem, em [KR99], uma tecnica cujo foco e determinar a direcao
do olhar permitindo pequenos movimentos da cabeca. Esta tecnica utiliza o centro da ris
e um ponto de referencia para estimar o olhar atraves de um modelo geometrico. O ponto
de referencia utilizado e uma pequena marca posicionada na haste que liga as duas lentes de
um oculos. O proposito desse ponto de referencia e obter informacao a respeito da posicao
da face do usuario e tomar esse ponto como a origem dos movimentos da ris. Note que
essa marca nao fornece informacao a respeito da orientacao da face, uma vez que e apenas
16 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

Figura 2.6: Geometria da analise para o caso 1D.

uma referencia pontual, mas e u


til para compensar pequenos movimentos da cabeca. Outras
condicoes assumidas sao: que o usuario mantenha a cabeca num plano paralelo ao monitor e
que o eixo da camera seja posicionado perpendicularmente ao plano do monitor.
Para entender melhor o modelo geometrico, vamos analisar como este funcionaria no caso
1D, isto e, so levando em conta o rastreamento do olhar na horizontal (ou ao longo de uma
linha qualquer do monitor), como ilustra a figura 2.6. A extensao do metodo para o caso 2D
(rastreamento na horizontal e vertical) e um passo simples.
Seja p a linha horizontal do monitor considerada. Vamos assumir que essa linha e paralela
ao eixo x, e que o eixo y e perpendicular a x. Seja d a distancia do olho a essa linha, C o

2.3. TECNICAS REMOTAS TRADICIONAIS 17

centro do olho e r o seu raio. Seja P0 um ponto de referencia sobre p. Quando o olho rotaciona
apontando para P1 , temos um deslocamento sobre p. Da mesma forma, nessa rotacao do
olho, o centro da ris se desloca de I0 = (ix0 , iy0 ) para I1 = (ix1 , iy1 ). Considera-se ainda que
a diferenca de iy0 e iy1 para o plano e sempre d, isto e, assume-se uma projecao ortografica
do centro da ris para o plano da imagem. Assim, I0 e I1 estao sempre sobre a reta paralela
ao eixo x, distante d da reta p. Com essas simplificacoes, e simples calcular o deslocamento
sobre a reta p dada a diferenca dx = ix1 ix0 . Para isso basta utilizar a equacao 2.1.

d+r
= dx (2.1)
r

Utilizando este modelo geometrico, tendo-se o deslocamento do centro da ris ao longo do


eixo x, podemos estimar o quanto essa variacao representa no deslocamento real do ponto
observado sobre a linha p usando a equacao 2.1 acrescida de um fator k. Este fator traduz o
deslocamento em pixels do centro da ris para o deslocamento real da ris. Adicionando este
fator k a` equacao 2.1 obtemos a equacao 2.2.

d+r
=k dx (2.2)
r
Para calcular o valor de k e necessario realizar uma calibracao. A distancia d tambem pode
ser obtida via calibracao, ou entao fixada com um valor que deve ser mantido pelo usuario.
Para completar o modelo e necessario ainda considerar a movimentacao da cabeca do usuario
ao longo do plano paralelo ao monitor. Esse movimento pode ser compensado no calculo de
atraves da marca de referencia, da seguinte maneira:

d+r
=k dx + kdref (2.3)
r
Onde dref e o deslocamento do ponto de referencia na imagem em relacao ao ponto inicial
18 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

fixado (isto e, a posicao da marca de referencia quando o usuario estava olhando para I0 ).
Apesar de nao apresentar uma discussao detalhada sobre a precisao dos resultados obtidos,
este metodo se mostrou capaz de estimar corretamente a direcao do olhar em um monitor
dividido em 108 regioes.
A tecnica mais utilizada pelos rastreadores remotos hoje em dia e a tecnica baseada na
deteccao da pupila e da reflexao sobre a cornea. Essa tecnica utiliza-se de uma fonte de luz
infravermelha para gerar um reflexo sobre a cornea, que deve ser detectado e rastreado. Como
o olho possui uma forma aproximadamente esferica, que rotaciona em torno de seu centro, e
a camera e a fonte de luz infravermelha estao fixas, a posicao do reflexo de luz gerado sobre a
cornea nao se move com a rotacao do olho e assim o reflexo pode ser tomado como um ponto de
referencia. Conforme o usuario dirige seu olhar a diferentes pontos, a sua pupila se movimenta
e seu centro e o reflexo definem um vetor na imagem que e mapeado para as coordenadas
da tela atraves de um processo de calibracao. Nesse processo, que define o mapeamento do
vetor na imagem para o ponto de interesse na tela, e pedido ao usuario que fixe o olhar em
alguns pontos da tela. Em particular, no trabalho de Morimoto et al. [MKAF99], 9 pontos
de calibracao sao utilizados e um polinomio de segunda ordem e utilizado como funcao de
calibracao. A funcao de calibracao e dada pelas equacoes abaixo:

sx = a0 + a1 x + a2 y + a3 xy + a4 x2 + a5 y 2 (2.4)

sy = b0 + b1 x + b2 y + b3 xy + b4 x2 + b5 y 2 (2.5)

onde (sx, sy) sao as coordenadas do monitor e (x, y) e o vetor definido pelo centro da pupila
e o reflexo sobre a cornea. Os parametros ai e bi sao desconhecidos, mas como temos 9 pontos
de calibracao, entao temos 2 conjuntos de 9 equacoes e 6 incognitas, e estas podem ser obtidas
usando o metodo dos mnimos quadrados. O uso de polinomios de maior ordem mostrou

2.3. TECNICAS REMOTAS TRADICIONAIS 19

melhora na precisao do sistema, mas o ganho nao e tao grande, alem de exigir um n
umero
maior de pontos de calibracao [MM05].
A fim de testar a tolerancia desta tecnica para pequenos movimentos de cabeca, Morimoto
e Mimica [MM05] realizaram uma serie de experimentos utilizando imagens sinteticas do olho
geradas por tracamento de raios. Para este experimento, o centro optico da camera foi tomado
como origem do sistema de coordenadas 3D, com seu eixo optico apontando para a direcao do
eixo z. P0 = (0, 27, 60) (unidades em cm) foi tomado como a posicao inicial do olho e para
os cantos superior esquerdo e inferior direito do monitor foram tomados, respectivamente, os
pontos (-18.3, 27.4, 0) e (18.3, 0, 0) (medidas que correspondem aproximadamente a` area u
til
de um monitor de 19 polegadas). Podemos ver na figura 2.7 essa configuracao utilizada no
experimento. Para calibrar o sistema a regiao do monitor foi divida em uma grade de 33
posicoes e imagens do olho apontando para o centro de cada celula foram renderizadas. Para
testar a calibracao, cada celula da grade foi por sua vez subdividida em outra grade 33 e
imagens do olho apontando para cada centro dessas sub-celulas foram geradas e utilizadas
como entrada para o sistema. Para o olho posicionado em P0 , o erro medio (medido como a
distancia entre o ponto real apontado pelo olho e o ponto estimado) foi de 0.8 cm, ou 0.8 .
Para testar como a precisao do sistema e afetada por movimentos de cabeca, a posicao do
olho foi transladada ao longo dos tres eixos. Para cada nova posicao, imagens do olho foram
renderizadas apontando para cada uma das 81 celulas da grade. Para o olho transladado 10
cm no eixo x, na posicao (-10, 27, 60), obteve-se um erro medio de 0.99 cm (1.0 ) na estimacao
do olhar. Ja para translacao no eixo y, para o ponto (0, 17, 60), obteve-se um erro medio de
2.18 cm (2.1 ). Finalmente para translacao no eixo z, para o ponto (0, 27, 70), o erro medio foi
de 4.06 cm (3.3 ). Esses resultados mostram que a calibracao do sistema nao e muito afetada
por pequenas translacoes no eixo x e pequenas rotacoes da cabeca para cima e para baixo, que
sao os movimentos mais comuns realizados pelas pessoas. A translacao no eixo y nao e algo
20 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

Figura 2.7: Configuracao utilizada no experimento para avaliar a tecnica baseada no rastrea-
mento da pupila e da reflexao sobre a cornea.

tao comum, contudo um movimento de aproximacao ou afastamento do monitor (translacao


no eixo z) realmente compromete a calibracao e a precisao do sistema.

2.4 T
ecnicas robustas a movimentos de cabe
ca
Apresentamos ate agora alguns dos metodos tradicionais desenvolvidos para a deteccao e
rastreamento do olhar. Comecamos com alguns metodos intrusivos e terminamos com metodos
nao intrusivos baseados em visao computacional. Estes u
ltimos seriam bastante adequados
para o uso no dia a dia das pessoas ja que nao oferecem o desconforto ao usuario de ter
que utilizar equipamentos em contato com seu corpo. Contudo ha ainda dois pontos que
impedem a popularizacao do uso dos rastreadores. Sao eles: a necessidade de calibracao (uma
calibracao realizada de forma incorreta pode comprometer a eficiencia do rastreador e pessoas
nao acostumadas com este tipo de dispositivos podem ter dificuldade para realiza-la) e a
intolerancia a movimentos do usuario. Mostraremos a seguir algumas tecnicas mais recentes

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 21

cujo objetivo e eliminar, ou pelo menos minimizar, essas duas desvantagens.

2.4.1 Uma c
amera

Morimoto et al. [MAF02a][MAF02b] desenvolveram um metodo para estimar o eixo optico do


olho atraves do calculo do centro da cornea e do eixo optico no espaco 3D. Utilizando algumas
medidas do olho, obtidas do modelo de Gullstrand, o metodo proposto utiliza apenas uma
camera e duas fontes de luz para calcular o centro da cornea e o centro da pupila. As medidas
utilizadas do modelo de Gullstrand sao: o raio da pupila (7.7 mm), o ndice de refracao da
cornea (1.376) e a distancia da pupila ao centro da cornea (3.6 mm).
Para calcular o centro da cornea, esta foi modelada como um espelho convexo, com centro
de curvatura em C e de raio r. Sendo O o centro optico da camera e a linha OC o eixo
principal da cornea, entao o vertice da cornea V e o centro focal F estao sobre esta linha OC
e F esta localizado no ponto medio do segmento V C. Considerando a camera calibrada e que
uma fonte de luz esta numa posicao conhecida L, entao I e a imagem virtual de L localizada
atras da cornea. A figura 2.8 ilustra como I e formada sobre a cornea.
A posicao de I pode ser computada pela formula dos espelhos convexos:

1 2 1 1
= = + 0 (2.6)
f r d d
onde f = r/2, d = |V L0 |, d0 = |V I 0 |, sendo L0 e I 0 a projecao ortogonal de L e I, respecti-
vamente, sobre a linha OC. Nessa modelagem da cornea como um espelho convexo, em uma
aplicacao de rastreamento de olhar, e razoavel assumir que o valor de d e muito maior que o
valor de r. Assim I 0 localiza-se no centro focal F . Considere agora que outra fonte de luz e
posicionada no eixo optico da camera proximo a O. Esta fonte de luz gera um reflexo sobre
a cornea localizado em V . Como a camera e calibrada, podemos obter a direcao dos vetores
22 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

Figura 2.8: formacao do reflexo sobre a cornea pelo LED infravermelho.


OV e OI (mas nao suas magnitudes) e calcular o angulo formado por eles.
Seja O = (0, 0), C = (cx , 0) e L = (lx , ly ). Construindo a equacao da reta LC (que passa
por I) temos:

ly
y ly = (x lx ) (2.7)
cx lx
Como I esta no ponto medio entre V e C as coordenadas de I podem ser escritas como
(cx 2r , tan(cx 2r )). Substituindo I escrito em funcao de cx e na equacao da reta LC
temos:

r r
[tan (cx ) ly ](cx lx ) = ly (cx lx ) (2.8)
2 2
Rearranjando a equacao acima temos a seguinte equacao de segundo grau:

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 23

Figura 2.9: processo de refracao da imagem da pupila.

r r ly
c2x cx ( + lx ) + (lx )=0 (2.9)
2 2 tan
Resolvendo 2.9 e tomando o menor resultado positivo obtemos cx e, conseq
uentemente, a
posicao do centro da cornea.
Para calcular o eixo optico, a cornea e considerada como uma superfcie esferica concava
separando o ar (ndice de refracao aproximadamente = 1) do interior do olho (ndice de refracao
aproximadamente = 1.376). A equacao de refracao para superfcies esfericas e dada por:

n n0 n0 n
+ 0 = (2.10)
d d r
onde n e n0 sao, respectivamente, os ndices de refracao do interior do olho e do ar, d e d0 sao
as distancias do objeto e sua imagem para o vertice da superfcie V , e r e o raio de curvatura
da superfcie.
A figura 2.9 ilustra o processo de refracao. Nela podemos ver I, que e o centro da imagem
24 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

da pupila formada devido a refracao, e P , que e o centro da pupila real. Sabe-se, usando dados
do modelo de Gullstrand, que a pupila fica localizada 4.1 milmetros atras da cornea (d = 4.1
milmetros) mas, utilizando a equacao 2.10, temos que a imagem da pupila (isto e, aquela
observada pela camera) forma-se aproximadamente a 3.5 milmetros da cornea. Assume-se
entao que I (imagem da pupila) esta sobre em uma esfera localizada 3.5 milmetros adentro
da cornea (ou uma esfera localizada no centro da cornea de raio 4.2 milmetros). Pela imagem

capturada pela camera pode-se determinar o vetor que aponta na direcao OI, e pela interseccao
desse vetor com essa esfera interna, e possvel calcular a posicao de I no espaco. Como P
pertence a` reta CI, isto e, aquela que passa pelo centro da cornea e pelo centro da imagem
da pupila, entao o vetor procurado para estimar a direcao do olhar (vetor que liga C a P ) e
o mesmo vetor que liga C a I. Como ja se conhece C e I acabou de ser calculado, tem-se os

dois pontos necessarios para calcular a direcao do olhar, definida pelo vetor que parte de CI.
Imagens sinteticas geradas por tracamento de raios foram utilizadas para testar a tecnica
desenvolvida, sob diferentes posicoes do olho e da fonte de luz localizada fora do eixo optico
da camera. O erro medio na estimacao da direcao do olhar ficou em torno de 3 . Contudo
este metodo possui as vantagens de permitir a livre movimentacao do usuario, nao exigir
calibracao, alem de ser computacionalmente eficiente e apropriado para uso em tempo real.
Em comparacao a outros metodos, apesar de menos preciso, este metodo tem a vantagem de
utilizar apenas uma camera, o que torna o processo de configuracao e calibracao do sistema
mais simples.

2.4.2 M
ultiplas C
ameras

A tecnica desenvolvida por Wang e Sung [WS02] estima o eixo visual no espaco 3D atraves de
uma camera, porem utiliza uma segunda camera auxiliar para estimar a orientacao da face do
usuario. Esse sistema auxiliar detecta os cantos do olho e da boca e a orientacao da face no

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 25

espaco 3D. A partir da localizacao inicial dos olhos, a camera responsavel pelo rastreamento do
olhar e direcionada a um dos olhos obtendo imagens detalhadas do mesmo. O olho e modelado
como uma esfera de raio R, a ris como um crculo de raio r e a distancia do plano da ris ao
centro do olho e dado por d. A relacao entre R, r e d e dada por:

R2 = r2 + d2 (2.11)

Foi observado pelos autores que a razao R/r e um valor bastante estavel e por isso e
tomado como uma constante. Como r e medido via calibracao e possvel calcular tanto R
quanto d usando a relacao acima. A caracterstica detectada utilizada na estimacao do olhar
e a ris. A projecao do contorno da ris no plano da imagem e uma elipse. Assim, atraves da
excentricidade da elipse, e possvel estimar o plano no espaco sobre o qual a ris se localiza,
bem como seu centro. Como essa estimacao produz duas solucoes possveis, para escolher o
valor correto e utilizado um criterio de desempate que consiste em escolher o centro do olho
cujas distancias aos seus cantos sejam iguais. Experimentos realizados pelos autores da tecnica
apontaram uma precisao de menos de 1 .
Shih et al. [SWL00] e Shih e Liu [SL04] usam m
ultiplas cameras e m
ultiplas fontes de luz
para estimar o eixo optico do olho. Usando o modelo simplificado do olho de LeGrand (similar
ao modelo de Gullstrand, mas considera a cornea e o humor aquoso como um u
nico meio), este
trabalho mostra que, utilizando duas cameras calibradas e pelo menos dois pontos de luz com
posicoes conhecidas, e possvel calcular o eixo optico do olho. A ideia do metodo e calcular
primeiramente a posicao do centro da cornea no espaco 3D e em seguida usar essa informacao,
juntamente com os centros observados das pupilas, para computar o eixo optico do olho. O
angulo entre o eixo visual e o eixo optico e obtido atraves de um processo de calibracao por
usuario, que so necessita ser feito uma vez.
A figura 2.10, ilustra o processo de formacao do reflexo gerado pelo LED infravermelho.
26 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

Figura 2.10: formacao do reflexo sobre a cornea pelo LED infravermelho [SL04].

Seja O o observador (isto e, uma das cameras), Q uma fonte de luz e P0 o ponto correspondente
ao reflexo especular da fonte de luz sobre a cornea. Embora P0 nao seja conhecido, pela
calibracao da camera consegue-se calcular o vetor que parte de O e segue em direcao a P0 .
Esse vetor, juntamente com o vetor que parte de O e segue em direcao a Q define um plano
que contem P1 , isto e, o centro da cornea. Se tivermos mais uma fonte de luz tal que as fontes
de luz e o ponto O nao sejam colineares, definimos outro plano que contem P1 . A interseccao
dos dois planos definidos define uma reta que contem P1 . Como sao utilizadas duas cameras,
tem-se entao duas retas `as quais P1 pertence, e a interseccao dessa retas nos da o centro da
cornea no espaco 3D.
Em seguida, dado o centro da pupila Pc , o centro virtual da pupila Pc0 que e observado
devido a refracao da cornea e do humor aquoso, temos que O, P1 , e Pc0 definem um plano (em-
bora nao saibamos a posicao de Pc0 , o vetor que parte de O e passa por Pc0 pode ser computado

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 27

a partir da imagem capturada), e que Pc tambem esta contido nesse plano. Assim, o eixo
optico que queremos estimar (segmento de reta que parte de P1 e passa por Pc ) tambem esta
contido neste plano. Como temos outra camera, e possvel definir outro plano e a interseccao
deles nos da o eixo optico que queremos computar. A implementacao realizada, que utiliza 3
fontes de luz infravermelha, e capaz de processar 30 quadros por segundo com uma precisao
de menos de 1 . Contudo, apesar das vantagens, o uso de duas cameras e a necessidade de
calibracao das mesmas torna a configuracao inicial do sistema um pouco complexa.
Beymer e Flickner [BF03] tambem desenvolveram um metodo para estimar a linha de visao
no espaco 3D usando cameras estereo. Em particular foram utilizados dois pares de cameras.
Um par que proporciona um grande campo de visao e outro par, com campo de visao reduzido,
capaz de obter imagens detalhadas do olho. O primeiro par detecta a cabeca do usuario e
estima a posicao 3D do seu olho direito, usando essa informacao para direcionar o segundo par
de cameras. Um modelo 3D da anatomia do olho e utilizado neste trabalho. O modelo inclui
a cornea, a pupila e a diferenca angular entre o eixo optico e o eixo visual. O rastreamento
basicamente consiste em casar iterativamente a projecao das caractersticas do modelo 3D
com as caractersticas detectadas nas imagens capturadas pelo par de cameras com pequeno
campo de visao. As caractersticas rastreadas sao a borda da pupila e reflexos sobre a cornea
de LEDs infravermelhos posicionados nas cameras. Para se obter os dados do modelo 3D do
olho e feito um processo de calibracao, contudo, este processo e realizado uma u
nica vez para
cada usuario. Uma precisao de 0.6 foi obtida com esta tecnica, mas a configuracao inicial do
sistema tambem sofre do problema de ser um pouco complexa uma vez que trabalha-se com
dois pares de cameras estereo.
28 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

2.4.3 Proje
c
ao de padr
ao de luz

Uma tecnica bastante recente foi introduzida por Yoo et al. em [YLC02] e posteriormente
refinada por Yoo e Chung em [YC05]. O sistema desenvolvido emprega duas cameras, uma com
um campo visual estreito, proporcionando a captura de imagens detalhadas do olho, e outra
com um amplo campo visual, que obtem imagens da face do usuario. As duas cameras sao
montadas sobre um suporte motorizado de modo que tanto a face quanto um olho possam ser
rastreados simultaneamente. A camera responsavel pelo rastreamento do olhar propriamente
dito e a que captura imagens detalhadas do olho e, de fato, quanto maior o tamanho do olho
nas imagens obtidas por essa camera melhor a precisao atingida pelo sistema. Contudo, e
difcil rastrear o olho apenas utilizando essa camera pois pequenos movimentos de cabeca sao
suficientes para tirar o olho do campo de visao. Por isso, a segunda camera e utilizada para
rastrear o olho de forma robusta, atraves de um sistema auxiliar de rastreamento de faces que
mantem a primeira camera sempre apontando na direcao do olho pelo acionamento do suporte
motorizado.
Para o rastreamento do olhar, 5 LEDs infravermelhos sao utilizados. Desses LEDs, 4 sao
fixados aos cantos do monitor, produzindo 4 reflexos sobre a cornea. O 5o LED e posicionado
no eixo optico da camera com campo visual estreito para explorar o efeito da pupila brilhante.
Os LEDs do monitor e da camera sao acionados de forma alternada, controlados pela porta
paralela do computador. Assim, quando os LEDs do monitor estao acesos, o LED da camera
esta apagado e vice-versa. Como os reflexos sobre a cornea sao produzidos pelos LEDs posicio-
nados no monitor, o polgono formado por esses reflexos pode ser considerado como a reflexao
do monitor sobre a cornea. Esses reflexos, juntamente com a posicao observada do centro da
pupila, sao usados para estimar a direcao do olhar mapeando-os do espaco da imagem cap-
turada para a tela do monitor. O LED posicionado no eixo optico da camera, alem de gerar
imagens com a pupila brilhante, tambem produz uma reflexao sobre a cornea quando ativo

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 29

(veremos a utilidade deste reflexo adiante).


A grande vantagem desta tecnica sobre as discutidas ate agora e que ela requer apenas uma
camera (apesar do sistema estudado empregar duas) que nao necessita estar calibrada, nao
requer conhecimento sobre o posicionamento da camera e do monitor no espaco, e dispensa
calibracao por parte do usuario para cada sessao de uso. Os u
nicos parametros que precisam
ser conhecidos sao as dimensoes da tela do monitor. Alem disso, ela permite que o usuario
movimente sua cabeca, sem perda significativa de precisao. Testes feitos pelos autores da
tecnica obtiveram como resultado medio uma precisao de 1.12 cm, o que corresponde a uma
precisao de 1.3 para o usuario posicionado a uma distancia de 50 cm do monitor. Devido a
esses fatores, essa tecnica se mostra bastante promissora para o uso cotidiano de rastreadores
de olhar, tendo sido escolhida como base para a implementacao do nosso rastreador. No
restante deste captulo estudamos esta tecnica de forma mais detalhada e, no captulo a
seguir, realizamos uma analise exploratoria atraves de simulacoes para analisar o desempenho
da mesma.

Geometria do sistema

Sejam L1 , L2 , L3 e L4 os pontos correspondentes aos 4 cantos da tela do monitor, O a posicao


da cornea e P o centro da pupila no espaco, ilustrados na figura 2.11 . Considerando o eixo
optico e o eixo visual do olho como sendo os mesmos, a interseccao do segmento de reta que
parte de O e segue em direcao a P com o plano do monitor define o ponto sendo observado
que chamaremos de G. Fixando O e apontando o eixo optico do olho para todos os pontos da
tela do monitor obtemos um conjunto de posicoes de P que cobre visualmente toda a area da
tela.
Esse conjunto de posicoes para P define uma regiao delimitada sobre a cornea que, devido
ao posicionamento tpico da camera, monitor e usuario, nao possui uma curvatura muito
30 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

acentuada. Assim, considera-se que essa regiao esta localizada em um plano virtual tangente
a` superfcie da cornea e que, de fato, a regiao delimitada sobre esse plano nada mais e do
que uma projecao do quadrilatero da tela do monitor sobre esse plano, sendo O o centro de
projecao. Dessa forma, as projecoes de L1 , L2 , L3 e L4 sobre este plano virtual definem um
quadrilatero de vertices V1 , V2 , V3 e V4 e, alem disso, o ponto G tambem e projetado para esse
plano como o ponto VG interno ao quadrilatero V1 V2 V3 V4 . Uma vez que o plano virtual de
projecao nao existe, os pontos projetados sobre ele sao chamados de projecoes virtuais. Como
P pertence `a reta ligando O a VG e a G, a posicao de P esta relacionada ao ponto G observado.
De fato, se P estivesse localizado na superfcie da cornea, P e VG seriam aproximadamente o
mesmo ponto e, para fins de explicacao da tecnica, vamos considerar esses pontos como sendo
os mesmos.
Quando esses pontos V1 , V2 , V3 , V4 e P sao capturados pela camera, eles sao novamente
projetados mas, desta vez, para o plano da imagem. Dessa forma temos novos pontos (chama-
remos de UV 1 , UV 2 , UV 3 , UV 4 e UP ) que foram obtidos pela aplicacao de duas transformacoes
projetivas sobre os pontos L1 , L2 , L3 , L4 , e G. Uma vez que se considera as projecoes virtuais
como pertencentes a um mesmo plano e obtidas por uma transformacao projetiva, e possvel
utilizar uma propriedade invariante do espaco projetivo. A tecnica proposta por Yoo et al.
[YLC02] [YC05] visa justamente explorar tal invariante para, dados L1 , L2 , L3 e L4 e UV 1 ,
UV 2 , UV 3 , UV 4 e UP , obter-se o ponto observado sobre a superfcie do monitor.

Calculando as projeco
es virtuais

Considerando a existencia de um plano tangente a` superfcie da cornea e o seu centro como o


centro de projecao, sabemos que e possvel estimar o ponto observado pelo usuario a partir dos
pontos no plano da imagem correspondentes ao centro da pupila (UP ) e `as projecoes virtuais
dos LEDs (UV 1 , UV 2 , UV 3 , UV 4 ). Entretanto, as projecoes virtuais dos LEDs consistem em

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 31

Figura 2.11: projecao dos pontos correspondentes aos 4 cantos do monitor sobre o plano virtual
tangente a` superfcie da cornea e no plano da imagem.

uma informacao que nao se tem disponvel dada uma imagem do olho. Para resolver esse
problema, as projecoes virtuais dos LEDs devem ser computadas. Sejam R1 , R2 , R3 , R4 e
RC os reflexos gerados sobre a cornea pelos 4 LEDs do monitor e pelo LED posicionado no
eixo da camera respectivamente. Como conhecemos as posicoes dos reflexos na imagem, que
chamaremos de UR1 , UR2 , UR3 , UR4 e URC , o que se faz entao e estimar as projecoes virtuais
a partir desses pontos.
O calculo das projecoes virtuais a partir dos reflexos nao e simples porque a relacao exis-
tente entre esses pontos e um tanto complexa. Felizmente, limitando o espaco de movimento
32 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

do usuario a uma regiao especfica e possvel chegar a uma boa aproximacao da relacao exis-
tente entre os reflexos e as projecoes virtuais. Tipicamente, segundo os autores da tecnica, o
usuario esta sentado a` frente do monitor e olhando diretamente para ele a uma distancia de
30-50 cm, e com uma variacao de posicao menor do que 30 cm. Para facilitar a compreensao, o
problema sera simplificado para o caso bidimensional (veja figura 2.12). Seja xcam a distancia
entre a camera e o centro da cornea, R1 o reflexo gerado sobre a cornea pelo LED L1 , V1 a
projecao virtual de L1 sobre o plano tangente `a cornea e C o reflexo do LED posicionado no
eixo da camera (que tambem e a projecao virtual desse LED sobre o plano tangente). Sejam
UR1 , UV 1 e UC as projecoes de R1 , V1 e C sobre o plano da imagem respectivamente. No plano
da imagem, cuja origem do sistema de coordenada e i temos:

f
UC = (2.12)
tan

rf cos(1 + ) f xcam cos


UR1 = (2.13)
rsin(1 + ) xcam sin

rf (cos tan(1 + 2 )sin) f xcam cos


UV 1 = (2.14)
r(sin + tan(1 + 2 )cos) xcam sin
onde r e o raio da cornea, f e a distancia focal da camera e e a orientacao da camera
relativa a` cornea. 1 e o angulo entre os pontos C e R1 , e 2 e o angulo entre os pontos R1 e
V1 . Quando um usuario opera o computador, esses dois angulos sao bastante similares porque
a distancia entre o monitor e o olho e maior que a distancia entre a camera e o LED. Dessa
forma, podemos assumir que 1 2 . Alem disso, como a camera responsavel por capturar as
imagens do olho possui um campo de visao estreito, tem um valor proximo a /2. Por essas
aproximacoes, as equacoes 2.12 - 2.14 podem ser simplificadas da seguinte forma:

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 33

Figura 2.12: relacao entre as projecoes virtuais e os reflexos dos LEDs sobre a cornea.

UC 0 (2.15)

rf sin1
UR1 (2.16)
rcos1 xcam

rf tan21
UV 1 (2.17)
r xcam
Essas equacoes simplificadas estao em funcao de xcam e 1 . Como, para o posicionamento
considerado do usuario, 1 e menor que 10 , entao a razao entre UV 1 e UR1 e aproximadamente
34 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

2. Assim e possvel obter a seguinte equacao relacionando UV 1 e UR1 : UV 1 = 2UR1 . Contudo,


UC pode estar transladado em relacao ao centro da imagem. Para compensar isso, elimina-
se esse deslocamento pela subtracao de UC de UR1 e UV 1 , como ilustrado na figura 2.13.
Conseq
uentemente as projecoes virtuais podem ser computadas pela seguinte equacao:

UV i = UC + (URi UC ) (2.18)

Onde e uma constante proxima a 2. Este valor pode ser determinado tambem por uma
simples calibracao descrita a seguir.

Figura 2.13: calculo das projecoes virtuais dos LEDs a partir dos reflexos sobre a cornea.

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 35

Estimando a direc
ao do olhar pela raz
ao cruzada

O ponto observado pelo usuario e estimado utilizando a razao cruzada, que e uma propriedade
invariante do espaco projetivo. Sejam P1 , P2 , P3 e P4 pontos colineares no espaco. A razao
cruzada entre esses pontos e definida pela seguinte equacao:

|P1 P2 ||P3 P4 |
rc(P 1, P 2, P 3, P 4) = (2.19)
|P1 P3 ||P2 P4 |
sendo |Pi Pj | dado pelo determinante da matriz M , sendo a primeira coluna de M formada
pelas coordenadas de Pi e a segunda coluna de M formada pelas coordenadas de Pj . A
caracterstica importante dessa razao e que, se a reta que contem os quatro pontos sofrer
qualquer transformacao projetiva, a razao se mantem invariante [HZ00].
A figura 2.14 ilustra o processo do calculo de G utilizando essa razao. L1 , L2 , L3 e
L4 correspondem aos LEDs do monitor, G ao ponto observado e E e o ponto definido pelo
cruzamento das diagonais do monitor. Gx e o ponto obtido pelo cruzamento de uma linha
vertical passando por G e a reta L1 L2 . Ja Gy e o ponto obtido pelo cruzamento de uma linha
horizontal passando por G e a reta L1 L4 . Os pontos UV 1 , UV 2 , UV 3 e UV 4 sao as projecoes
virtuais de L1 , L2 , L3 e L4 calculadas pelo metodo descrito na secao anterior. UP e o centro
da pupila e UE e o ponto definido pelo encontro das diagonais do quadrilatero UV 1 UV 2 UV 3 UV 4 .
O processo para calcular G e dividido em duas partes. Primeiro calcula-se Gx e em seguida
Gy . Tendo esses pontos calculados, basta tomar G como a interseccao da reta vertical que
passa por Gx com a reta horizontal que passa por Gy .
O metodo a seguir descreve como calcular Gx . Primeiro precisamos calcular o ponto de
fuga referente as linhas verticais do quadrilatero UV 1 UV 2 UV 3 UV 4 . Como esse quadrilatero e
uma projecao da tela do monitor, e as linhas verticais do monitor sao paralelas, entao podemos
calcular o ponto de fuga considerado pela interseccao das linhas UV 1 UV 4 e UV 2 UV 3 . A partir
36 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

Figura 2.14: calculo do ponto observado atraves da razao cruzada.

desse ponto podemos calcular os pontos UP x e UEx . UP x e o ponto de interseccao da linha


UV 1 UV 2 com a linha que conecta UP ao ponto de fuga e corresponde a` projecao do ponto Gx
do monitor para o plano da imagem. Ja UEx e o ponto de interseccao da linha UV 1 UV 2 com a
linha que conecta UE ao ponto de fuga e corresponde `a projecao do ponto medio do segmento
L1 L2 sobre o plano da imagem. Tendo esses quatro pontos (UV 1 , UP x , UEx e UV 2 ), podemos
calcular a razao cruzada rcx = rc(UV 1 , UP x , UEx , UV 2 ) segundo a formula 2.19.
Como os pontos UV 1 , UP x , UEx e UV 2 sao obtidos por uma transformacao projetiva a
partir pontos L1 , Gx , Ex e L2 e a razao cruzada e invariante a transformacoes projetivas,
entao rc(L1 , Gx , Ex , L2 ) deve ser igual a rcx . Aplicando novamente a formula 2.19, dessa vez

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 37

para os pontos do monitor, e utilizando o valor rcx , calculamos o ponto Gx .


Para calcular o ponto Gy o processo e analogo, mas utilizando o ponto de fuga referente a`s li-
nhas horizontais do quadrilatero UV 1 UV 2 UV 3 UV 4 . Obtendo esse outro ponto de fuga pela inter-
seccao das linhas UV 1 UV 2 e UV 3 UV 4 e possvel calcular UP y e UEy . Em seguida, dados os quatro
pontos UV 1 , UP y , UEy e UV 4 calcula-se uma nova razao cruzada rcy = rc(UV 1 , UP y , UEy , UV 4 ).
Utilizando esse valor na formula 2.19, para os pontos correspondentes do monitor, obtem-se
Gy e, conseq
uentemente, o ponto de interesse G que se queria estimar.

Calibrac
ao

Como ja foi dito, o valor de a ser utilizado na equacao 2.18 e proximo a 2. Contudo existe o
fato de, na pratica, a pupila nao se localizar sobre a superfcie da cornea. Como conseq
uencia,
a regiao delimitada por todas as posicoes do centro da pupila, quando o olho observa todos os
pontos da tela, nao sera semelhante ao quadrilatero definido pelas projecoes virtuais dos LEDs.
Por isso, o centro da pupila na imagem tambem deve ser corrigido de forma a estimarmos o
ponto de interseccao do eixo optico com a cornea. Embora os autores da tecnica estudada
nao entrem de forma explicita nos detalhes dessa questao, a calibracao proposta por eles, que
veremos adiante, ja compensa esse fato. Mesmo assim, vamos fazer um parentesis aqui para
analisar um pouco esse problema.
Para verificar possveis maneiras de se corrigir o centro observado da pupila alguns testes
foram feitos utilizando imagens geradas por tracamento de raios a partir do modelo de Gulls-
trand. Medidas relevantes desse modelo para este teste em particular sao o raio da cornea
(r = 7.7), a distancia do centro da pupila ao centro da cornea (dp = 3.6 mm) e a distancia
do centro da pupila observada (devido a refracao) ao centro da cornea (d0p = 4.2 mm). Alem
disso, para este teste, foi adicionado ao modelo do olho um ponto de referencia correspondendo
a` interseccao do eixo optico com a superfcie da cornea. O olho foi posicionado sobre o eixo
38 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO

optico da camera a uma distancia de 50 cm e foi utilizada apenas uma fonte de luz posicionada
no centro optico da camera. Foram geradas imagens aplicando rotacoes de 5, 10, 15, 20, 25 e
30 graus sobre o eixo vertical do olho (simulando movimentos horizontais da linha da visao)
e para cada imagem foram marcados o reflexo da fonte de luz sobre a cornea, o centro da
pupila e o ponto de referencia. Em seguida foram medidas a distancia do reflexo ao centro da
pupila (que chamaremos de d), a distancia do reflexo ao ponto de referencia (chamaremos de
D), bem como a razao D/d (veja a tabela 2.2). Como podemos ver, os valores obtidos para
a razao D/d sao aproximadamente constantes e correspondem `a razao r/d0p = 1.83. Dessa
forma, verificamos que e possvel corrigir o centro observado da pupila de maneira similar ao
que e feito para computar as projecoes virtuais dos LEDs, mas utilizando um outro fator de
escala, p = r/d0p .

Rotac
ao d D D/d
5 graus 9 pixels 17 pixels 1.89
10 graus 19 pixels 34 pixels 1.79
15 graus 28 pixels 51 pixels 1.82
20 graus 36 pixels 67 pixels 1.86
25 graus 45 pixels 82 pixels 1.82
30 graus 53 pixels 97 pixels 1.83

Tabela 2.2: medidas obtidas no teste para avaliar a relacao entre o centro da pupila e o ponto
de interseccao do eixo optico do olho com a cornea.

Assim, dada uma imagem do olho com os 4 reflexos (correspondentes aos LEDs do monitor)
e o centro da pupila, todos esses pontos devem ser transformados antes de se aplicar o algoritmo
baseado na razao cruzada utilizando dois fatores de correcao: (para os reflexos) e p (para o
centro da pupila). Entretanto e possvel combinar esses dois fatores em um so (dado por /p
e que continuaremos chamando apenas de ) e utiliza-lo para transformar os pontos UR1 , UR2 ,
UR3 e UR4 , mantendo o valor de UP . Como conseq
uencia, considerando casos reais de aplicacao

2.4. TECNICAS ROBUSTAS A MOVIMENTOS DE CABEC
A 39

do algoritmo para estimacao do olhar, o valor aproximado de 2.0 para o calculo das projecoes
virtuais deixa de ser apropriado. Uma nova aproximacao para esse valor, obtida utilizando os
dados do modelo de Gullstrand seria 2.0/1.83 1.1. Contudo, como esse valor e dependente
de pessoa para pessoa o ideal e utilizar um processo de calibracao para computa-lo.
Quando uma pessoa olha para um LED no monitor, o centro da pupila e os reflexos
gerados pelos LEDs sao detectados. Como essa pessoa esta olhando diretamente para o LED,
considerando inexistente a diferenca de eixos do olho, a posicao da projecao virtual deste LED
deve ser a mesma do centro da pupila. Dada essa restricao, e possvel calcular o fator de
correcao pela seguinte equacao:

d(UP , UC )
= (2.20)
d(UR1 , UC )
onde d(x, y) e a distancia euclidiana entre os pontos x e y. UP , UC e UR1 sao as coordenadas da
pupila, do reflexo do LED da camera, e do reflexo do LED do monitor, respectivamente, sobre
o plano da imagem. Como existem 4 projecoes virtuais (uma para cada LED do monitor), e o
valor exato do fator de correcao para cada uma delas pode apresentar variacoes, 4 valores de
sao necessarios. Este processo e entao repetido 4 vezes conforme a pessoa olha para cada
LED do monitor. Embora essa forma de calibracao seja adequada quando nao se considera
a diferenca de eixos do olho, suspeitamos que, na pratica, ela nao produza resultados muito
precisos.
40 CAPITULO 2. TECNICAS
DE ESTIMAC DO OLHAR
AO
Captulo 3

An
alise explorat
oria

Neste captulo descrevemos uma serie de experimentos feitos para avaliar o desempenho da
tecnica baseada na projecao de um padrao de luz sobre a cornea (vista em detalhes na secao
2.4.3). Em particular, queremos observar os resultados obtidos para algumas variacoes na
maneira de estimar as projecoes virtuais dos LEDs e do valor utilizado. Alem disso, que-
remos verificar tambem como esses resultados sao afetados por movimentos de cabeca e pela
consideracao ou nao da diferenca entre o eixo optico e visual do olho.
Para eliminar a necessidade de processar imagens, bem como eliminar erros decorrentes
deste processamento, optamos por realizar os experimentos atraves de simulacoes, ao inves
de utilizar imagens sinteticas geradas por tracamento de raios. Nessas simulacoes sao calcu-
lados todos os pontos necessarios para a aplicacao da tecnica avaliada que sao, em seguida,
projetados para o plano de formacao da imagem da camera.
Para que seja possvel comparar os resultados obtidos nestes testes com a tecnica tradicional
de rastreamento de olhar baseada na deteccao da pupila e reflexao sobre a cornea [MKAF99],
vamos utilizar a mesma configuracao espacial do teste utilizando imagens sinteticas realizado
por Morimoto e Mimica em [MM05]. Nessa configuracao, a camera e posicionada na origem do

41
42 CAPITULO 3. ANALISE

EXPLORATORIA

sistema de coordenadas, isto e, no ponto (0, 0, 0), e os LEDs do monitor sao posicionados no
plano xy nos pontos (-18.3, 27.4, 0), (18.3, 27.4, 0), (18.3, 0, 0) e (-18.3, 0, 0), correspondendo
a`s medidas aproximadas em centmetros da area u
til de um monitor de 19 polegadas. A esfera
correspondente `a cornea e posicionada em (0, 27, 60) e possui o raio definido segundo o modelo
de Gullstrand, de 0.77 cm. Assumimos que o centro da pupila esta localizado sobre a superfcie
da cornea, nao havendo assim refracao deste ponto, e o vetor que parte do centro da cornea e
segue em direcao ao centro da pupila e tomado como o eixo optico do olho, que possui como
valor inicial as coordenadas (0, 0, -1).
Para ilustrar melhor a maneira como as rotacoes do olho foram modeladas vamos considerar
o seguinte sistema de coordenadas do olho: centro da cornea localizado na origem, eixo y
apontando para cima, eixo z apontando em direcao ao eixo optico do olho e eixo x tomado como
o produto vetorial do eixo y pelo eixo z (veja a figura 3.1). Quando o olho e rotacionado para
apontar em uma determinada direcao, temos na verdade uma composicao de duas rotacoes
aplicadas sobre a orientacao inicial do olho. A primeira rotacao e feita sobre o eixo y, e e
responsavel pelo movimento da direcao do olhar no plano xz. Ja a segunda rotacao e feita
sobre o eixo Ry (x) (isto e, o eixo x transformado pela primeira rotacao sobre o eixo y) e define
o movimento da direcao do olhar no plano yz.
Para modelar a diferenca de eixos do olho, o eixo optico e rotacionado, como descrito
acima, para a obtencao do eixo visual. Foram utilizados os valores 4.5 e 3.0 que, combinados,
resultam em uma diferenca angular de aproximadamente 5.5 entre os eixos (estando de acordo
com a diferenca observada para o olho humano que varia de 4-8 [WS82]). Alem disso, a escolha
dos dois valores baseou-se em resultados empricos com uma versao preliminar do rastreador
implementado, onde constatou-se que o eixo visual apresentava um desvio horizontal e vertical
significativos em relacao ao eixo optico, sendo a diferenca horizontal um pouco maior. Como
e o eixo visual aquele que realmente aponta para o ponto observado, quando queremos que o
43

Figura 3.1: sistema de coordenadas utilizado para rotacionar o olho. P indica a posicao do
centro da pupila para a orientacao inicial do olho. P 0 e o ponto obtido ao aplicar as rotacoes
1 e 2 sobre P .

olho se direcione para um certo ponto, aplicamos uma rotacao sobre o olho de forma que este
eixo, e nao o optico, aponte para este ponto.
Usando experimentos similares aos de [MM05], a cornea, em sua posicao inicial, e trans-
ladada de 10 cm em cada eixo do espaco nos sentidos positivo e negativo, gerando uma
combinacao de 7 posicoes possveis. Para cada posicao, a regiao correspondente ao monitor e
dividida em uma grade de 86, e o olho e rotacionado de forma que seu eixo visual aponte
para o centro de cada elemento da grade. Para cada configuracao do olho determinada pela
sua posicao e o ponto de observacao real, estimamos o ponto observado e o comparamos com
o valor real. A estimacao do olhar e feita utilizando os pontos correspondentes aos 5 reflexos
sobre a cornea e o centro da pupila que, como mencionado anteriormente, sao calculados, a
partir do modelo do olho e da configuracao espacial do experimento, e posteriormente pro-
jetados para o plano de projecao da camera. A figura 3.2 mostra uma imagem gerada pela
44 CAPITULO 3. ANALISE

EXPLORATORIA

aplicacao de teste utilizada nos experimentos onde e possvel observar os pontos utilizados na
determinacao da direcao do olhar.

Figura 3.2: imagem gerada pela aplicacao de teste utilizada nos experimentos. Nela podemos
ver a superfcie esferica da cornea com os reflexos gerados sobre ela (cruzes, sendo a cruz mais
grossa o reflexo do LED da camera), o centro da pupila (crculo preto) e o ponto de interseccao
do eixo visual com a cornea (crculo branco). Note que este ponto nao e utilizado nos calculos,
mas ele foi desenhado para dar uma ideia sobre a orientacao do eixo visual em relacao ao eixo
optico.

Cada experimento avalia um metodo diferente para estimar as projecoes virtuais dos LEDs,
considerando variacoes na posicao da cornea e a existencia ou nao da diferenca de eixos do
olho. Quando tal diferenca nao e considerada, o eixo visual e definido como sendo igual ao
eixo optico. Alem disso, conforme o metodo avaliado, pode ser necessaria a execucao de um
processo de calibracao. Os experimentos realizadas foram os seguintes:

Reflexos: utiliza diretamente os reflexos dos LEDs sobre a cornea, sem fazer qualquer
3.1. REFLEXOS 45

tipo de calculo das projecoes virtuais.

Sem calibracao: utiliza um valor de constante (que nao e obtido via calibracao) para
estimar as projecoes virtuais de todos os LEDs sobre o plano tangente `a cornea.

Com calibracao: utiliza o metodo de Yoo e Chung [YC05] para estimar as projecoes
virtuais dos LEDs, empregando um valor diferente de , obtido via calibracao, para
cada LED.

Em cada secao a seguir, discutimos de forma detalhada cada experimento realizado e os


resultados obtidos.

3.1 Reflexos
Neste primeiro experimento o objetivo era verificar como o algoritmo para estimar o olhar ba-
seado na razao cruzada se comportava utilizando diretamente os reflexos dos LEDs, sem fazer
o calculo das projecoes virtuais e sem empregar qualquer tipo de calibracao. Desconsiderando
inicialmente a diferenca de eixos do olho, os seguintes resultados foram obtidos para a cornea
localizada na posicao inicial: erro medio de 16.12 cm (aproximadamente 15 ), erro maximo
foi de 23.94 cm (22 ) e o desvio padrao foi de 5.35 cm. A figura 3.3 mostra a relacao entre
os pontos reais e estimados para a posicao inicial da cornea. Podemos ver na tabela 3.1 os
resultados obtidos quando a cornea e transladada de 10 cm ao longo dos eixos x, y e z, alem
da posicao inicial.
Como pode ser observado, o resultado obtido nesse primeiro teste e muito impreciso mos-
trando a necessidade de se utilizar as projecoes virtuais dos LEDs ao inves de seus reflexos na
estimacao do ponto observado. Mesmo assim outro teste foi feito utilizando os reflexos dos
LEDs, mas desta vez considerando a diferenca de eixos do olho para observar como os pontos
46 CAPITULO 3. ANALISE

EXPLORATORIA

Figura 3.3: pontos estimados (cruzes) e pontos reais (quadrados) para a cornea na posicao
inicial. Neste teste foram utilizados diretamente os reflexos dos LEDs sobre a cornea e nao foi
considerada a diferenca de eixos do olho.

estimados sao afetados. Quando o olho e rotacionado para fixar o olhar sobre um dos pontos
de teste, como o eixo que aponta diretamente para o ponto em questao e agora o eixo visual,
sao esperadas alteracoes nos resultados.
Para o olho localizado na sua posicao inicial, o erro medio obtido foi de 22.45 cm (20.5 ),
sendo o erro maximo de 31.65 cm (28 ) e o desvio padrao de 5.69 cm. A tabela 3.2 mostra
os resultados obtidos para as outras posicoes da cornea, transladada de 10 cm nos eixos x,
y e z, alem da posicao inicial. Apesar do resultado ainda pior do que o obtido no primeiro
teste, pode-se observar na figura 3.4 que a nuvem de pontos estimados neste teste e similar
3.1. REFLEXOS 47

Posic ao Erro m edio Erro m aximo Desvio padr


ao
posicao inicial 16.12 cm (15.03 ) 23.94 cm (21.76 ) 5.35 cm
translacao no eixo x () 16.13 cm (15.04 ) 25.8 cm (23.27 ) 5.44 cm
translacao no eixo x (+) 16.13 cm (15.04 ) 25.8 cm (23.27 ) 5.44 cm
translacao no eixo y () 17.28 cm (16.06 ) 26.55 cm (23.87 ) 6.09 cm
translacao no eixo y (+) 15.23 cm (14.24 ) 22.1 cm (20.22 ) 4.84 cm
translacao no eixo z () 15.68 cm (17.41 ) 22.31 cm (24.05 ) 4.93 cm
translacao no eixo z (+) 16.45 cm (13.22 ) 25.19 cm (19.79 ) 5.68 cm

Tabela 3.1: resultados obtidos para o experimento da secao 3.1, utilizando os reflexos dos
LEDs sobre a cornea e desconsiderando a diferenca de eixos do olho. (+) e () indicam,
respectivamente, translacoes positivas e negativas ao longo dos eixos.

na forma a` nuvem de pontos estimados observados na figura 3.3 embora esteja transladada
para cima e para a direita. Essa observacao sugere que a diferenca angular entre o eixo optico
e visual do olho pode ser compensada pela translacao dos pontos estimados. Contudo, como
os resultados obtidos nesse primeiro experimento foram bastante imprecisos, vamos explorar
melhor essa observacao no proximo experimento.

Posic ao Erro m edio Erro m aximo Desvio padr


ao
posicao inicial 22.45 cm (20.52 ) 31.65 cm (27.81 ) 5.69 cm
translacao no eixo x () 23.19 cm (21.13 ) 35.32 cm (30.49 ) 6.83 cm
translacao no eixo x (+) 22.1 cm (20.22 ) 28.89 cm (25.71 ) 4.87 cm
translacao no eixo y () 23.75 cm (21.6 ) 35.2 cm (30.4 ) 6.73 cm
translacao no eixo y (+) 21.83 cm (19.99 ) 29.48 cm (26.16 ) 4.94 cm
translacao no eixo z () 20.7 cm (22.49 ) 28.14 cm (29.37 ) 5.04 cm
translacao no eixo z (+) 24.2 cm (19.07 ) 34.84 cm (26.46 ) 6.22 cm

Tabela 3.2: resultados obtidos para o experimento da secao 3.1, utilizando os reflexos dos LEDs
sobre a cornea e considerando a diferenca de eixos do olho. (+) e () indicam, respectivamente,
translacoes positivas e negativas ao longo dos eixos.
48 CAPITULO 3. ANALISE

EXPLORATORIA

Figura 3.4: pontos estimados (cruzes) e pontos reais (quadrados) para a cornea na posicao
inicial. Neste teste foram utilizados diretamente os reflexos dos LEDs sobre a cornea e foi
considerada a diferenca de eixos do olho.

3.2 Sem calibrac


ao do
Atraves dos resultados obtidos no experimento anterior, foi possvel notar a necessidade de se
estimar as projecoes virtuais dos LEDs ao aplicar o algoritmo para estimar o olhar baseado na
aplicacao do razao cruzada. Alem disso verificamos que e necessario levar em conta a diferenca
entre o eixo optico e visual do olho humano em uma implementacao da tecnica.
Vimos na secao 2.4.3 que, dado L (um dos LEDs do monitor), LC (o LED posicionado
no eixo da camera) e seus reflexos no plano da imagem UR e UC respectivamente, podemos
3.2. SEM CALIBRAC DO
AO 49

estimar a projecao virtual UV de L da seguinte forma:

UV = (UR UC ) + UC (3.1)

Vimos tambem que uma aproximacao adequada para , no caso da camera e monitor
distantes do olho e da pupila localizada na superfcie da cornea, e o valor 2.0. Embora esse
fator de escala varie para cada reflexo e tambem varie conforme a posicao do olho, as variacoes
do valor de tambem sao pequenas quando a condicao acima a respeito do posicionamento
da camera, monitor e olho e valida. Com isso, para este experimento, o processo utilizado
para estimar os projecoes virtuais dos LEDs simplesmente consiste em aplicar a formula acima
utilizando = 2.0. Embora seja um valor escolhido de forma aproximada e sem calibracao, o
objetivo e ver como os resultados do experimento sao afetados por este valor. Como queremos
analisar apenas o efeito deste metodo para estimar as projecoes virtuais, estamos novamente
desconsiderando a diferenca de eixos do olho no primeiro teste deste experimento. Novamente
nenhum processo de calibracao adicional foi feito.
Para o olho localizado na posicao inicial, obteve-se um erro medio de 0.32 cm (0.29 graus)
com erro maximo de 0.62 cm (0.59 graus) e desvio padrao de 0.18 cm (veja figura 3.5), um
resultado muito superior em relacao aos obtidos no primeiro experimento, confirmando a
necessidade do uso das projecoes virtuais e que = 2.0 e um valor adequado a ser utilizado
no calculo dessas projecoes para as condicoes do experimento.
A tabela 3.3 mostra os resultados obtidos para as outras posicoes da cornea, transladada
de 10 cm nos eixos x, y e z, alem da posicao inicial. Atraves dela podemos ver que translacoes
em qualquer um dos eixos pouco afetam os resultados em relacao a posicao inicial, embora
seja possvel notar ligeira melhora da precisao com afastamento do olho em relacao ao monitor
(translacao positiva no eixo z) e ligeira piora com aproximacao (translacao negativa no eixo
z). Isso pode ser explicado pelo fato de que conforme o olho se afasta do monitor, a regiao
50 CAPITULO 3. ANALISE

EXPLORATORIA

delimitada sobre a cornea pelas projecoes dos LEDs se torna menor e conseq
uentemente mais
coplanar. Assim o efeito da curvatura da cornea sobre algoritmo para estimacao do olhar e
menor. Por outro lado, quando o olho se aproxima do monitor, a regiao delimitada sobre a
cornea pelas projecoes dos LEDs se torna maior e mais curva, produzindo um resultado menos
preciso.

Figura 3.5: pontos estimados (cruzes) e pontos reais (quadrados) para a cornea na posicao
inicial. Neste teste as projecoes virtuais do LEDs foram estimadas utilizando = 2.0. Nao
foi considerada a diferenca de eixos do olho.

Para verificar como a diferenca de eixos do olho afeta os resultados obtidos neste ex-
perimento utilizando as projecoes virtuais, esta diferenca foi novamente considerada para o
proximo teste. Para o olho localizado na sua posicao inicial, o erro medio obtido foi de 6.03 cm
(5.74 ), sendo o erro maximo de 6.55 cm (6.23 ) e o desvio padrao de 0.38 cm. Os resultados
observados na figura 3.6, aliados a` pouca diferenca observada entre o erro maximo e o erro
medio, e o baixo desvio padrao, indicam que o vetor deslocamento entre cada ponto real e o
3.2. SEM CALIBRAC DO
AO 51

Posic ao Erro m edio Erro m aximo Desvio padr


ao
posicao inicial 0.32 cm (0.3 ) 0.62 cm (0.6 ) 0.18 cm
translacao no eixo x () 0.31 cm (0.3 ) 0.6 cm (0.57 ) 0.17 cm
translacao no eixo x (+) 0.31 cm (0.3 ) 0.6 cm (0.57 ) 0.17 cm
translacao no eixo y () 0.34 cm (0.33 ) 0.66 cm (0.63 ) 0.19 cm
translacao no eixo y (+) 0.28 cm (0.27 ) 0.56 cm (0.54 ) 0.16 cm
translacao no eixo z () 0.44 cm (0.5 ) 0.88 cm (1 ) 0.25 cm
translacao no eixo z (+) 0.25 cm (0.2 ) 0.47 cm (0.39 ) 0.14 cm

Tabela 3.3: resultados obtidos para o experimento da secao 3.2, utilizando = 2.0 e des-
considerando a diferenca de eixos do olho. (+) e () indicam, respectivamente, translacoes
positivas e negativas ao longo dos eixos.

correspondente estimado, isto e, o vetor que liga o ponto estimado ao real, e aproximadamente
constante. Esse deslocamento constante sugere que a diferenca angular entre o eixo optico e o
eixo visual do olho pode ser compensada pela soma de um vetor aos pontos estimados. Para a
posicao inicial da cornea, o valor medio encontrado para esse vetor deslocamento foi de (-4.94,
-3.43). Podemos ver na tabela 3.4 os resultados obtidos para as outras posicoes da cornea,
transladada de 10 cm nos eixos x, y e z, alem da posicao inicial.

Posic ao Erro m edio Erro m ax. Desvio padr


ao Desloc. m edio
posicao inicial 6.03 cm (5.74 )
6.55 cm (6.23 ) 0.38 cm (-4.94, -3.43)
translacao no eixo x () 6.12 cm (5.82 ) 6.65 cm (6.32 ) 0.32 cm (-5.13, -3.31)
translacao no eixo x (+) 6.2 cm (5.9 )
7.21 cm (6.85 ) 0.58 cm (-5.03, -3.61)
translacao no eixo y () 5.9 cm (5.62 )
6.22 cm (5.92 ) 0.3 cm (-4.83, -3.38)
translacao no eixo y (+) 6.33 cm (6.03 )
7.23 cm (6.87 ) 0.5 cm (-5.17, -3.62)
translacao no eixo z () 5.23 cm (5.97 ) 5.81 cm (6.62 ) 0.44 cm (-4.21, -3.05)
translacao no eixo z (+) 6.89 cm (5.62 )
7.35 cm (5.99 ) 0.34 cm (-5.69, -3.87)

Tabela 3.4: resultados obtidos para o experimento da secao 3.2, utilizando = 2.0 e conside-
rando a diferenca de eixos do olho. (+) e () indicam, respectivamente, translacoes positivas
e negativas ao longo dos eixos.
52 CAPITULO 3. ANALISE

EXPLORATORIA

Figura 3.6: pontos estimados (cruzes) e pontos reais (quadrados) para a cornea na posicao
inicial. Neste teste as projecoes virtuais do LEDs foram estimadas utilizando = 2.0. Foi
considerada a diferenca de eixos do olho.

Pela tabela, podemos ver que, enquanto translacoes sobre o plano xy nao afetam muito os
resultados, translacoes no eixo z possuem uma maior influencia no erro medio obtido. Alem
disso, apesar da direcao do vetor deslocamento medio para todas as posicoes da cornea ser
aproximadamente a mesma, sua magnitude varia para deslocamentos em z. Essa observacao
implica que, se for utilizada uma compensacao de eixos do olho baseada na soma de um
vetor de correcao aos pontos estimados, essa compensacao possuira maior sensibilidade a
movimentos no eixo z uma vez que a diferenca de eixos e uma diferenca angular e, conforme
o olho se aproxima ou se afasta do monitor, a diferenca entre o ponto estimado e o real sera
proporcional a essa distancia.
3.3. COM CALIBRAC
AO 53

3.3 Com calibrac


ao
Nos testes realizados para esta secao, utilizamos o metodo proposto no trabalho desenvolvido
em [YC05] para estimar as projecoes virtuais dos LEDs. O metodo e similar ao utilizado na
secao 3.2, mas, ao inves de utilizar um u
nico fator de correcao com um valor pre-determinado
para calcular todas as 4 projecoes virtuais dos LEDs, sao utilizados 4 fatores de correcao, um
para cada LED. O valor de cada um desses fatores e obtido atraves do processo de calibracao
descrito na secao 2.4.3 que consiste em direcionar o olho para cada um dos 4 LEDs do monitor
e para cada um deles calcular o fator correspondente (i ) da seguinte forma:

d(UP , UC )
i = (3.2)
d(URi , UC )
onde UP , UC e URi sao, respectivamente, as projecoes sobre o plano da imagem da pupila, do
reflexo do LED no eixo da camera e do reflexo do LED observado.
Primeiramente desconsideramos a diferenca de eixos do olho para analisar exclusivamente o
procedimento de estimacao das projecoes virtuais. Queramos verificar como esse procedimento
se comporta com movimentacoes do olho uma vez que os valores obtidos pelo processo de
calibracao sao restritos `a posicao inicial.
Os resultados obtidos sao mostrados na tabela 3.5 e na figura 3.7. Como podemos notar,
os resultados sao similares aos do primeiro teste da secao 3.2. Alem disso, o procedimento
se mostrou robusto para a movimentacao do olho em todos os eixos no espaco, notando mais
uma vez ligeira melhora para translacao positiva em z (afastamento do monitor) e ligeira
piora para translacao negativa em z (aproximacao do monitor). Os valores de i calculados
pelo processo de calibracao para os LEDs superior-esquerdo, superior-direito, inferior-direito
e inferior-esquerdo foram, respectivamente, 1.93, 1.93, 1.98 e 1.98.
Em seguida, no segundo teste do experimento, verificamos os resultados obtidos pelo
54 CAPITULO 3. ANALISE

EXPLORATORIA

Figura 3.7: pontos estimados(cruzes) e pontos reais (quadrados) para a cornea na posicao
inicial. As projecoes virtuais dos LEDs foram estimadas segundo o metodo proposto em
[YC05]. Nao foi considerada a diferenca de eixos do olho.

metodo avaliado nesta secao quando se considera a diferenca de eixos do olho. No traba-
lho desenvolvido em [YC05], a diferenca de eixos optico e visual do olho nao e considerada,
mas repetimos o teste anterior considerando agora essa diferenca a fim de observar se o metodo
de calibracao utilizado para determinar os parametros i implicitamente considera e compensa
a diferenca de eixos.
Note que no primeiro teste, onde desconsideramos a diferenca de eixos, quando o olho era
direcionado a algum dos LEDs do monitor, como o eixo optico e visual eram os mesmos, a
pupila projetada no plano da imagem UP pertencia ao segmento de reta partindo de UC e
seguindo em direcao a URi . Entretanto, quando consideramos a diferenca de eixos, UP nao
necessariamente pertence mais a esse segmento de reta. Quem na realidade pertence a ele e a
projecao, no plano da imagem, do ponto dado pela interseccao do eixo visual com a superfcie
3.3. COM CALIBRAC
AO 55

Posic ao Erro m edio Erro m aximo Desvio padr


ao
posicao inicial 0.73 cm (0.7 ) 1.27 cm (1.21 ) 0.33 cm
translacao no eixo x () 0.72 cm (0.69 ) 1.23 cm (1.18 ) 0.31 cm
translacao no eixo x (+) 0.72 cm (0.69 ) 1.23 cm (1.18 ) 0.31 cm
translacao no eixo y () 0.77 cm (0.73 ) 1.31 cm (1.25 ) 0.34 cm
translacao no eixo y (+) 0.68 cm (0.65 ) 1.22 cm (1.16 ) 0.31 cm
translacao no eixo z () 0.83 cm (0.95 ) 1.48 cm (1.7 ) 0.39 cm
translacao no eixo z (+) 0.67 cm (0.55 ) 1.19 cm (0.97 ) 0.3 cm

Tabela 3.5: resultados obtidos para o experimento da secao 3.3, utilizando metodo proposto
em [YC05] para estimacao das projecoes virtuais dos LEDs e desconsiderando a diferenca de
eixos do olho. (+) e () indicam, respectivamente, translacoes positivas e negativas ao longo
dos eixos.

da cornea.
Neste teste, para a posicao inicial do olho, foram obtidos os seguintes resultados: erro medio
de 4.2 cm (3.78 ), erro maximo de 5.91 cm (5.4 ) e desvio padrao de 1.02 cm. Os valores de
i calculados pelo processo de calibracao para os LEDs superior-esquerdo, superior-direito,
inferior-direito e inferior-esquerdo foram, respectivamente, 1.96, 2.22, 2.59 e 1.51. Observando
a figura 3.8, que ilustra os pontos reais e os pontos estimados para a posicao inicial da cornea,
podemos ver que alem da baixa precisao nos pontos estimados, os deslocamentos entre estes e
os pontos reais nao sao tao uniformes como visto no experimento da secao 3.2 quando tambem
era considerada a diferenca de eixos. A diferenca maior entre o erro medio e maximo, e o
desvio padrao maior tambem comprovam isso. Na tabela 3.6 podemos observar os resultados
obtidos para as demais posicoes da cornea (transladada em 10 cm ao longo dos eixos x, y e z),
alem da posicao inicial. Atraves deste teste foi possvel verificar que o metodo utilizado para
estimar as projecoes virtuais dos LEDs nao e muito apropriado pois a calibracao nao considera
a diferenca de eixos do olho de forma implcita e tambem nao conserva a uniformidade dos
vetores deslocamento, impedindo assim a compensacao da diferenca de eixos pela soma de um
56 CAPITULO 3. ANALISE

EXPLORATORIA

vetor de correcao aos pontos estimados.

Figura 3.8: pontos estimados (cruzes) e pontos reais (quadrados) para a cornea na posicao
inicial. As projecoes virtuais dos LEDs foram estimadas segundo o metodo proposto em
[YC05]. Foi considerada a diferenca de eixos do olho.

A figura 3.9 ilustra melhor o porque do resultado obtido. Nela podemos ver os reflexos
sobre a cornea, as projecoes virtuais dos LEDs (calculados segundo o metodo de Yoo e Chung,
e tambem segundo o metodo testado na secao anterior, utilizando = 2.0), e as posicoes
do centro da pupila quando o olho aponta para cada um dos LEDs. Note que, utilizando o
metodo testado na secao anterior, embora os centros da pupila nao se encaixem perfeitamente
nas projecoes virtuais dos LEDs, o deslocamento observado e aproximadamente o mesmo. Ja
para o metodo de Yoo e Chung, as relacoes entre os centros da pupila e as projecoes virtuais
nao sao uniformes. Alem disso, para que o metodo funcionasse sem ser afetado pela diferenca
de eixos do olho, seria esperado que os centros da pupila se encaixassem sobre as projecoes
virtuais, mas isso tambem nao ocorre.

3.4. CONCLUSAO 57

Posic ao Erro m edio Erro m aximo Desvio padr


ao
posicao inicial 4.2 cm (4 ) 5.91 cm (5.63 ) 1.02 cm
translacao no eixo x () 4.12 cm (3.93 ) 5.67 cm (5.4 ) 0.89 cm
translacao no eixo x (+) 4.49 cm (4.28 ) 6.4 cm (6.09 ) 1.17 cm
translacao no eixo y () 4.06 cm (3.87 ) 5.88 cm (5.6 ) 1.01 cm
translacao no eixo y (+) 4.51 cm (4.3 ) 6.14 cm (5.84 ) 1.08 cm
translacao no eixo z () 3.5 cm (4.01 ) 4.99 cm (5.69 ) 0.99 cm
translacao no eixo z (+) 4.98 cm (4.07 ) 6.85 cm (5.59 ) 1.06 cm

Tabela 3.6: resultados obtidos para o experimento da secao 3.3, utilizando metodo proposto
em [YC05] para estimacao das projecoes virtuais dos LEDs e considerando a diferenca de eixos
do olho. (+) e () indicam, respectivamente, translacoes positivas e negativas ao longo dos
eixos.

3.4 Conclus
ao
Com base nos experimentos realizados, nos quais foram testadas variacoes no metodo utili-
zado para calculo das projecoes virtuais, bem como analisados os efeitos da movimentacao do
usuario e da diferenca de eixos do olho, podemos fazer algumas observacoes importantes.
Primeiramente, podemos notar a necessidade do calculo das projecoes virtuais na estimacao
do olhar. Em seguida verificamos que o uso de apenas um fator de correcao , obtido a partir
de uma estimativa teorica, produz bons resultados quando se considera o eixo visual igual ao
optico, contudo perde-se bastante precisao quando se considera a diferenca de eixos. Mesmo
assim, pode-se notar nesse u
ltimo caso que os pontos estimados podem ser descritos como os
pontos observados transladados por um vetor deslocamento, o que sugeriu uma maneira de se
compensar a diferenca de eixos.
Uma vez que esse valor de pode variar de pessoa para pessoa, pois depende da distancia
do centro da pupila `a superfcie da cornea (veja secao 2.4.3), mesmo que nas condicoes do
experimento essa variacao nao esteja presente, e importante considerar essa possibilidade vi-
sando uma implementacao do rastreador. Assim outra necessidade que se faz presente e a
58 CAPITULO 3. ANALISE

EXPLORATORIA

Figura 3.9: imagem ilustrando as projecoes virtuais dos LEDs obtidas pelo metodo de Yoo
e Chung (pontos V1 , V2 , V3 e V4 ) e pelo metodo testado na secao anterior (pontos W1 , W2 ,
W3 , W4 ). R1 , R2 , R3 e R4 sao os reflexos dos LEDs do monitor, RC o reflexo do LED da
camera, e P1 , P2 , P3 e P4 as posicoes do centro da pupila quando o olho observa os LEDs 1-4
respectivamente.

utilizacao de algum metodo de calibracao para a obtencao do valor mais apropriado para o
fator de correcao. Testamos o metodo proposto por Yoo e Chung [YC05], que usa um processo
de calibracao para obter 4 valores de , um para a projecao virtual de cada LED do monitor.
Embora os resultados para a estimacao do olhar utilizando esse metodo e desconsiderando
a diferenca de eixos do olho tenham sido satisfatorios, quando se considera a diferenca de
eixos tambem se perde precisao. Alem disso, a relacao entre os pontos estimados e observados
descrita por uma translacao uniforme para todos os pontos deixa de existir, inviabilizando a
compensacao da diferenca de eixos pela soma de um vetor aos pontos estimados.

3.4. CONCLUSAO 59

Dessa forma, uma nova maneira para obtencao dos melhores valores de e que leve em
consideracao a diferenca de eixos do olho se faz necessaria, levando ao desenvolvimento de um
novo metodo que e discutido em detalhes no captulo a seguir.
60 CAPITULO 3. ANALISE

EXPLORATORIA
Captulo 4

Novo M
etodo

Atraves dos experimentos realizados no captulo anterior constatamos a necessidade de uma


nova forma de se estimar as projecoes virtuais dos LEDs que leve em consideracao a diferenca
de eixos do olho. O novo metodo desenvolvido utiliza os mesmos calculos das projecoes virtuais
segundo a equacao 2.18, mas fazendo uso de apenas um fator de correcao () para todos os
LEDs, uma vez que foi observado que a utilizacao de apenas um valor produz resultados
satisfatorios. Alem disso, apos estimar o ponto observado pelo usuario, fazemos a adicao de
um vetor deslocamento ao ponto estimado para compensar a diferenca de eixos.
A obtencao tanto de quanto do vetor deslocamento e feita via um novo processo de
calibracao um pouco diferente do processo utilizado por Yoo e Chung [YC05] uma vez que
nao se pode assumir que a posicao da pupila, quando o olho e direcionado a um dos LEDs,
corresponda exatamente a` projecao virtual do LED observado. Nesse novo processo, o olho e
direcionado para alguns pontos pre-determinados do monitor e informacoes relativas a cada
ponto sao armazenadas. Essas informacoes consistem nas posicoes dos 5 reflexos dos LEDs e
do centro da pupila na imagem, bem como o ponto real observado.
A ideia por tras do novo metodo de calibracao e calcular o valor de que gera um conjunto

61
62 CAPITULO 4. NOVO METODO

de pontos estimados que tambem podem ser descritos em funcao de uma translacao do conjunto
dos pontos reais observados. Dado n pontos de calibracao, seja C = {ci |i [1..n]} o conjunto
desses pontos e E = {ei |ei = T (ci , ), i [1..n]} o conjunto dos pontos estimados, onde
T (ci , ) corresponde `a aplicacao do algoritmo de estimacao do olhar para as informacoes

relativas ao ponto de calibracao ci e para o dado . Sejam ainda D = {di |di = (ci ei ), i
[1..n]} o conjunto dos vetores deslocamento para os n pontos de calibracao e m o vetor

deslocamento medio definido pela equacao a seguir:

X n
= 1

m di (4.1)
n i=1

Idealmente, para o melhor valor de , seria esperado que qualquer elemento de D fosse
igual a
. Entretanto, apesar da uniformidade observada para os vetores deslocamento entre
m
os pontos reais e estimados, eles apresentam variacoes entre si. Dessa forma, o valor otimo de
sera aquele que gera um conjunto D cujos elementos sejam o mais uniformes entre si. Isto
e, queremos um que minimize a seguinte soma:

n

|di
|
X
soma() = m (4.2)
i=1

Como a plotagem de soma() em funcao de gera uma curva que decresce ate o valor
mnimo e depois volta a crescer (veja a figura 4.1), utilizamos um metodo iterativo de bisseccao
para determinar o valor otimo de . Seja min = 0.75 e max = 2.5 os extremos do intervalo
inicial de procura (obtidos experimentalmente e que oferecem uma margem de seguranca para
garantir que o valor otimo de vai estar contido nesse intervalo). A cada iteracao tomamos
= (min + max)/2, = e + = + , sendo um valor pequeno escolhido conforme
a precisao desejada. Se estiver em uma regiao crescente da curva, isto e, soma( ) <
soma() < soma(+ ), redefinimos max = e continuamos o processo iterativo. Caso esteja
63

em uma regiao decrescente da curva, isto e, soma( ) > soma() > soma(+ ), redefinimos
min = e tambem continuamos o processo. Por fim, caso soma() < soma( ) e soma() <
soma(+ ), entao achamos o valor otimo de com uma precisao de . O criterio de parada
do metodo iterativo tambem pode ser definido como o n
umero maximo de iteracoes (maxIt)
a serem realizadas, obtendo o valor otimo de com uma precisao de (2.5 0.75)/2maxIt caso
o metodo nao pare antes devido `a primeira condicao explicada. Uma vez que temos o valor
otimo de calculado, o vetor
e tomado como o vetor deslocamento medio para ser utilizado
m
na compensacao da diferenca de eixos do olho.

Figura 4.1: grafico de soma() em funcao de , para algumas posicoes diferentes da cornea
no espaco. Note que, mesmo variando a posicao da cornea, as curvas mantem o seu aspecto.

Para analisar este novo metodo proposto foram feitos experimentos da mesma forma como
os executados no captulo anterior. Como o metodo considera a diferenca de eixos do olho para
o calculo do fator de correcao , nao foram feitos testes que desconsideravam essa diferenca.
Dois testes foram feitos para avaliar o metodo. No primeiro, utilizamos apenas 4 pontos de
calibracao que correspondem aos 4 LEDs do monitor. No segundo, utilizamos 9 pontos de
64 CAPITULO 4. NOVO METODO

calibracao. Esses 9 pontos correspondem aos centros dos elementos de uma grade 33 que
ocupa toda a area do monitor. O valor de utilizado foi de 0.001 e o n
umero maximo de
iteracoes para o processo de procura do valor otimo de foi definido em 20.
A figura 4.2 ilustra os resultados obtidos para a cornea na posicao inicial para o teste
utilizando 4 pontos de calibracao. Na tabela 4.1 podemos ver os resultados obtidos para a
cornea transladada em 10 cm ao longo dos eixos x, y e z, alem da posicao inicial para este
teste. Os resultados para o teste utilizando 9 pontos de calibracao podem ser vistos na figura
4.3 (para a posicao inicial da cornea) e na tabela 4.2 (para a cornea transladada ao longo dos
eixos x, y e z, alem da posicao inicial). Os valores de obtidos para o primeiro e segundo
teste foram, respectivamente, 1.91 e 1.99.

Figura 4.2: pontos estimados (cruzes) e pontos reais (quadrados) para a cornea na posicao
inicial. As projecoes virtuais dos LEDs foram estimadas pelo novo metodo proposto. Foi
considerada a diferenca de eixos do olho. Neste teste foram utilizados 4 pontos de calibracao.

Comparando os resultados dos dois testes, podemos ver que a utilizacao de 9 pontos de
65

Posic ao Erro m edio Erro m aximo Desvio padr


ao
posicao inicial 1 cm (0.96 ) 1.45 cm (1.38 ) 0.28 cm
translacao no eixo x () 1.13 cm (1.08 ) 1.92 cm (1.83 ) 0.32 cm
translacao no eixo x (+) 1.05 cm (1 ) 1.57 cm (1.5 ) 0.37 cm
translacao no eixo y () 0.95 cm (0.91 ) 1.41 cm (1.35 ) 0.3 cm
translacao no eixo y (+) 1.22 cm (1.17 ) 1.68 cm (1.6 ) 0.32 cm
translacao no eixo z () 0.99 cm (1.13 ) 1.79 cm (2.06 ) 0.51 cm
translacao no eixo z (+) 1.63 cm (1.33 ) 1.92 cm (1.57 ) 0.2 cm

Tabela 4.1: resultados obtidos para o experimento utilizando 4 pontos de calibracao. (+) e
() indicam, respectivamente, translacoes positivas e negativas ao longo dos eixos.

Posic ao Erro m edio Erro m aximo Desvio padr


ao
posicao inicial 0.48 cm (0.46 ) 1.64 cm (1.56 ) 0.26 cm
translacao no eixo x () 0.55 cm (0.53 ) 1.34 cm (1.28 ) 0.32 cm
translacao no eixo x (+) 0.58 cm (0.55 ) 1.82 cm (1.74 ) 0.34 cm
translacao no eixo y () 0.39 cm (0.37 ) 1.51 cm (1.44 ) 0.24 cm
translacao no eixo y (+) 0.67 cm (0.64 ) 1.6 cm (1.53 ) 0.32 cm
translacao no eixo z () 1 cm (1.15 ) 2.7 cm (3.09 ) 0.41 cm
translacao no eixo z (+) 0.94 cm (0.77 ) 1.27 cm (1.04 ) 0.21 cm

Tabela 4.2: resultados obtidos para o experimento utilizando 9 pontos de calibracao. (+) e
() indicam, respectivamente, translacoes positivas e negativas ao longo dos eixos.

calibracao produziu um resultado mais preciso, como podemos ver pelo erro medio obtido para
todas as posicoes de teste da cornea, bem como pelas figuras 4.2 e 4.3. Isso e explicado pelo
fato de que os 9 pontos de calibracao fornecerem uma amostra de pontos que cobrem todas
importante notar
as regioes do monitor ao inves de priorizar apenas as suas extremidades. E
tambem que o novo metodo proposto e robusto para translacoes do olho no plano xy, embora
translacoes no eixo z comprometam a precisao do algoritmo. Mesmo assim a tolerancia a`
movimentacoes em qualquer um dos tres eixos e consideravelmente maior do que a tolerancia
observada pela tecnica tradicional para rastreamento de olhar baseada na deteccao da pupila
66 CAPITULO 4. NOVO METODO

Figura 4.3: pontos estimados (cruzes) e pontos reais (quadrados) para a cornea na posicao
inicial. As projecoes virtuais dos LEDs foram estimadas pelo novo metodo proposto. Foi
considerada a diferenca de eixos do olho. Neste teste foram utilizados 9 pontos de calibracao.

e de um reflexo sobre a cornea [MKAF99]. A tabela 4.3 compara os resultados obtidos neste
u
ltimo experimento com os resultados obtidos por Morimoto e Mimica em [MM05].
Para explorar um pouco mais os efeitos da translacao do olho nos resultados obtidos, alguns
testes adicionais foram feitos, dessa vez utilizando translacoes de 10, 20 e 30 cm para ambos os
sentidos dos eixos x, y e z. Note que a translacao maxima de 30 cm e um valor bastante acima
do esperado em casos normais de utilizacao do rastreador. Continuamos utilizando 9 pontos
de calibracao pelos melhores resultados obtidos. Os novos resultados podem ser observados
no grafico da figura 4.4. Como podemos ver, a maior sensibilidade reside para translacoes ao
longo do eixo z no qual o crescimento do erro medio e mais acelerado do que para os outros
eixos. A estranha melhora do erro medio obtido para translacoes de -10 e -20 cm no eixo y
pode ser explicada pelo fato da posicao inicial da cornea estar alinhada verticalmente com a
67

Posic
ao Erro m edio
tecnica tradicional razao cruzada (4 pontos) razao cruzada (9 pontos)
inicial 0.80 cm 1.0 cm 0.48 cm
x () 0.99 cm 1.13 cm 0.55 cm
y () 2.17 cm 0.95 cm 0.39 cm
z (+) 4.05 cm 1.63 cm 0.94 cm

Tabela 4.3: comparacao dos erros medios obtidos pela tecnica tradicional e pela tecnica es-
colhida para implementacao, utilizando o novo metodo proposto para estimar as projecoes
virtuais dos LEDs (com 4 e 9 pontos de calibracao). (+) e () indicam, respectivamente,
translacoes positivas e negativas ao longo dos eixos.

borda superior do monitor. Dessa forma, quando o olho e transladado de -10 e -20 cm no eixo
y, as distancias da cornea `as bordas superiores e inferiores do monitor ficam mais uniformes,
e essa simetria maior entre a posicao da cornea e dos LEDs favorece resultados melhores
(em um caso totalmente simetrico, se utilizassemos um fator de correcao i para cada LED,
seus valores seriam exatamente os mesmos e, nesse caso, utilizar apenas um valor para nao
acarretaria quaisquer perda de precisao, embora como ja constatado, e razoavel utilizar um
valor u
nico de no caso geral). Podemos ver tambem que para translacoes no plano xy dentro
do intervalo de -20 a 20 cm, que proporciona uma grande liberdade de movimento ao usuario,
os resultados ainda sao satisfatorios com um erro medio de menos de 1 cm na estimacao do
olhar.
68 CAPITULO 4. NOVO METODO

Figura 4.4: erro medio obtido (em cm) para testes utilizando o novo metodo proposto para
estimacao das projecoes virtuais, para translacoes da cornea de ate 30 cm para ambos os
sentidos dos eixos x, y e z. Foram utilizados 9 pontos de calibracao.
Captulo 5

Implementa
c
ao

Neste captulo discutimos de forma detalhada a implementacao do nosso rastreador de olhar,


construdo com base na tecnica desenvolvida por Yoo et al., descrita na secao 2.4.3, e utilizando
o novo metodo desenvolvido para estimacao das projecoes virtuais, descrito no captulo 4.
Nossa escolha por essa tecnica e justificada por ela se mostrar mais apropriada para utilizacao
em aplicacoes interativas, com uma configuracao de hardware simplificada, boa precisao e
tolerancia a` movimentacao do usuario, sendo essas duas u
ltimas caractersticas confirmadas
atraves dos resultados experimentais introduzidos nos dois captulos anteriores. Para facilitar
a descricao do rastreador detalhamos primeiramente os componentes de hardware utilizados
e, em seguida, o software desenvolvido.

5.1 Hardware
O hardware que compoe o sistema de rastreamento de olhar implementado consiste de um
microcomputador (Athlon 1.4 Ghz, 512 Mb de memoria RAM), uma placa de captura de
vdeo (modelo Osprey 100), uma camera, LEDs infravermelhos e um monitor. A camera

69
70 CAPITULO 5. IMPLEMENTAC
AO

utilizada (figura 5.1) possui um conjunto de luzes infravermelhas posicionado proximo ao eixo
optico da camera e outro conjunto afastado do eixo. O conjunto proximo ao eixo optico gera
imagens com a pupila brilhante enquanto o outro gera imagens com a pupila escura. Em nossa
implementacao, substitumos o conjunto afastado do eixo da camera pelos LEDs fixados nos
quatro cantos do monitor com dois LEDs em cada canto (figura 5.2). Esse novo conjunto,
alem de continuar gerando imagens com a pupila escura e manter a iluminacao do ambiente,
gera tambem os quatro reflexos sobre a cornea que sao utilizados na tecnica de rastreamento
de olhar implementada. Atraves de um circuito externo, os conjuntos de LEDs sao ativados
alternadamente e de forma sincronizada com a varredura das linhas pares/mpares de uma
imagem entrelacada. A lente utilizada na camera proporciona um pequeno angulo visual,
possibilitando a captura de imagens detalhadas do olho. O monitor utilizado na implementacao
do sistema e um monitor LCD de 17 polegadas com 33.8 cm de largura por 27.0 cm de altura
e resolucao de 12801024 pixels.
Apesar de nao existir um posicionamento fixo para a camera em relacao ao monitor, ela e
tipicamente posicionada abaixo do monitor e entre o monitor e o usuario (figura 5.2). Podemos
ver na figura 5.3 um exemplo de imagem obtida atraves desse sistema.
5.1. HARDWARE 71

Figura 5.1: camera utilizada na implementacao do rastreador. Proximo ao eixo optico temos
o conjunto de LEDs infravermelhos que, quando acesos, geram imagens da pupila brilhante.
O conjunto externo de LEDs foi desativado, sendo substitudo pelos LEDs localizados no
monitor.

Figura 5.2: visao geral do hardware do rastreador. Na foto podemos ver o monitor com os
LEDs fixados em seus cantos, e a camera utilizada.
72 CAPITULO 5. IMPLEMENTAC
AO

Figura 5.3: exemplo de imagem entrelacada capturada com o rastreador.


5.2. SOFTWARE 73

5.2 Software
A parte de software do sistema consiste de um aplicativo (para ambiente Linux) que e res-
ponsavel pela aquisicao e processamento das imagens capturadas e posterior calculo do ponto
visualizado pelo usuario. A aquisicao de imagens e feita utilizando a API video4linux (V4L)
que fornece uma interface padronizada para manipular diversos dispositivos de captura de
vdeo, audio e TV. Para as operacoes de processamento de imagens foi utilizada a biblioteca
OpenCV que oferece uma grande quantidade de funcoes para este fim como escala, limiares,
soma, subtracao, aplicacao de filtros, operadores morfologicos, entre outras. A aplicacao for-
nece ainda uma interface basica que permite ajustar alguns valores de limiar utilizados no
processamento das imagens.
Um detalhe importante sobre a aquisicao de imagens utilizando a V4L e que, para se obter
uma taxa otima de quadros processados por segundo (isto e, 30 quadros por segundo), foram
utilizados recursos da API que permitem:

mapear diretamente a memoria utilizada pelo dispositivo de captura;

fazer captura assncrona, isto e, enquanto estamos processando um quadro, o driver do


dispositivo ja foi notificado e esta capturando o proximo;

utilizar uma fila de captura com capacidade para varios quadros. No caso configuramos
a fila para 8 quadros.

Cada imagem capturada pela camera possui uma dimensao de 768 x 480 pixels e a seguinte
seq
uencia de processamento e feita sobre ela:

desentrelacamento

deteccao inicial da pupila


74 CAPITULO 5. IMPLEMENTAC
AO

deteccao dos reflexos sobre a cornea

deteccao detalhada da pupila

determinacao da direcao do olhar

Veremos a seguir uma descricao mais detalhada de cada uma dessas etapas.

5.2.1 Desentrela
camento

No desentrelacamento da imagem de entrada as linhas pares sao separadas das mpares,


obtendo-se assim duas imagens com a metade da resolucao vertical da imagem original. Como
a captura das linhas pares e mpares e sincronizada com o acionamento dos LEDs da camera
ou do monitor, em uma das imagens desentrelacadas aparecem a pupila brilhante e o reflexo
dos LEDs da camera sobre a cornea. Ja na outra imagem temos a pupila escura e os 4 refle-
xos gerados pelos LEDs posicionadas nos cantos do monitor. A figura 5.4 mostra as imagens
obtidas pelo desentrelacamento da imagem da figura 5.3.

5.2.2 Detec
c
ao inicial da pupila

Nesta etapa, queremos apenas obter uma localizacao aproximada da pupila a fim de definir
uma regiao de interesse (RDI) para realizar os processamentos posteriores. Para isso tomamos
as duas imagens obtidas do desentrelacamento e reduzimos os seus tamanhos de 768 x 240
pixels para 128 x 40 pixels. Em seguida subtramos a imagem com a pupila escura da imagem
com a pupila brilhante. Devido `a diferenca de iluminacao da pupila nas duas imagens, a
regiao correspondente a ela na imagem obtida pela subtracao possui intensidade maior do
que no restante da imagem. Aplicando um limiar (configuravel pela interface, uma vez que a
intensidade da pupila brilhante varia de pessoa para pessoa [NWKF02]), segmentamos a regiao
5.2. SOFTWARE 75

Figura 5.4: imagens obtidas pelo desentrelacamento da figura 5.3. Na imagem `a esquerda
temos a pupila brilhante e o reflexo sobre a cornea correspondente `a fonte de luz posicionada
no eixo optico da camera. Na imagem a` direita temos a imagem com a pupila escura com
os reflexos sobre a cornea das 4 fontes de luz posicionadas no monitor. As imagens foram
escaladas para manter o aspecto original da imagem capturada.

correspondente `a pupila (veja figura 5.5) e tomamos o centro de massa da regiao segmentada
como sua localizacao inicial. Como nao e garantido que a segmentacao pelo limiar resulta em
apenas uma regiao conexa, o candidato a` pupila e selecionado pelos seguintes criterios: deve
ser a maior regiao obtida e nao pode ser exageradamente alongada. Isto e, dado o retangulo
circunscrito a` regiao candidata, a maior dimensao do retangulo nao deve ser maior do que
duas vezes sua menor dimensao. A configuracao manual do limiar aplicado sobre a imagem
resultante da operacao de subtracao tambem pode ajudar a eliminar regioes que sao falsas
candidatas a` pupila. Outra possibilidade que deve ser levada em conta e a ausencia de regioes
adequadas apos a operacao de limiar. Neste caso considera-se que nao ha um olho na imagem.
Note que poderamos pular essa procura inicial da regiao da pupila e partir diretamente
para os proximos passos descritos a seguir. Contudo realizar os proximos passos sobre toda a
regiao das imagens em suas dimensoes originais seria computacionalmente custoso e demorado.
por isso que fazemos a procura inicial da pupila utilizando copias reduzidas das imagens.
E
76 CAPITULO 5. IMPLEMENTAC
AO

Figura 5.5: `a esquerda: resultado da subtracao da imagem da pupila escura da imagem da


` direita: resultado da aplicacao de um limiar sobre a
pupila clara mostradas na figura 5.4. A
imagem resultante da subtracao. As imagens foram escaladas para manter o aspecto original
da imagem capturada.

Dessa forma, a procura inicial e feita rapidamente e podemos definir uma regiao de interesse
nas imagens originais reduzindo a area de processamento significativamente. A RDI obtida
apos a localizacao inicial da pupila possui uma dimensao de 16080 pixels com a pupila
localizada no centro dessa regiao (veja figura 5.6).

5.2.3 Procura dos reflexos sobre a c


ornea

Uma vez definido o ROI em torno da localizacao inicial da pupila, o proximo passo da imple-
mentacao e a procura dos reflexos sobre a cornea. Essa procura e feita tanto sobre a imagem
com a pupila clara, para se obter o reflexo correspondente ao LED sobre o eixo optico da
camera, quanto sobre a imagem com a pupila escura, a fim de se obter os 4 reflexos gerados
pelos LEDs localizados nos quatro cantos do monitor.
Os reflexos sao formados pela reflexao especular das fontes de luz sobre a cornea gerando
pontos muito brilhantes na imagem. Por isso sua segmentacao e relativamente simples, atraves
5.2. SOFTWARE 77

Figura 5.6: RDIs selecionadas nas imagens da pupila clara (`a esquerda) e escura (`a direita),
apos deteccao inicial da pupila. As imagens foram escaladas para manter o aspecto original
da imagem capturada.

da aplicacao de um limiar sobre as imagens e posterior rotulacao de cada regiao conexa.


Entretanto alguns problemas podem acontecer nesta etapa. Como queremos encontrar um
n
umero determinado de reflexos em cada imagem, a falta ou o excesso (veja um exemplo
na figura 5.7) deles sao condicoes que podem ocorrer e precisamos encontrar maneiras de
contornar essa situacao quando possvel.
A primeira solucao para evitar esse problema de excesso ou falta de reflexos detectados na
imagem e a aplicacao de uma operacao morfologica de fechamento. Essa operacao, feita apos a
aplicacao do limiar sobre a imagem e antes de marcar as componentes conexas, consiste de uma
dilatacao seguida de uma erosao e tende a tampar pequenos buracos de uma imagem binaria
ou agrupar regioes desconexas muito proximas [GW01]. Com isso, reflexos que possivelmente
estivessem fragmentados em mais de uma componente logo apos a limiarizacao, devido a
utilizacao de um valor nao apropriado para o limiar, sao novamente agrupados. Contudo,
mesmo com a aplicacao da operacao de fechamento, ainda e possvel que a quantidade de
componentes conexas encontrada na imagem nao seja a esperada, podendo haver tanto excesso
78 CAPITULO 5. IMPLEMENTAC
AO

Figura 5.7: exemplo de imagem capturada onde ha excesso de reflexos sobre a cornea.

quanto falta de reflexos.


Para contornar o problema do excesso de reflexos, depois da localizacao inicial, rejeitamos
aqueles que sao excessivamente grandes (uma ocorrencia freq
uente para usuarios que usam
oculos) uma vez que, quando a imagem capturada esta em foco, os reflexos sao pequenos.
Tambem rejeitamos os reflexos que estao afastados demais da localizacao inicial da pupila.
O motivo para isso e que, em um cenario normal de uso, o usuario esta olhando para o
monitor e assim os quatro reflexos gerados pelos LEDs do monitor devem estar sempre a uma
distancia maxima do centro da pupila. Para o LED posicionado no eixo optico da camera vale
a mesma ideia. A medida maxima da distancia reflexo-pupila utilizada (maximo de 70 pixels
na horizontal ou vertical) foi obtida experimentalmente e tem por objetivo apenas excluir
rapidamente candidatos certamente inapropriados.
O passo final que visa descartar os reflexos invalidos que ainda temos neste ponto e diferente
para a imagem da pupila clara e escura. Para a imagem da pupila clara, como queremos
detectar a localizacao de apenas um reflexo, escolhemos o maior dentre os candidatos restantes.
Ja para a imagem da pupila escura, a selecao dos reflexos validos e feita da seguinte
forma: tomamos todas as combinacoes possveis de 4 reflexos e fazemos o calculo da sua
5.2. SOFTWARE 79

retangularidade. Essa medida, que indica o quao proximo um quadrilatero e de um retangulo


(que teria retangularidade zero), e definida por:

4
X
ret = |ai 90| (5.1)
i=1

onde ai e o i-esimo angulo interno do quadrilatero em graus. O conjunto de quatro reflexos que
tiver a menor retangularidade e tomado como os quatro reflexos validos gerados pelos LEDs
posicionados no monitor. Isso porque, embora o quadrilatero desejado nao seja um retangulo
perfeito, ele nao e deformado em demasia considerando o posicionamento normal do usuario
em relacao ao sistema rastreador. Alem disso, na grande maioria dos casos, os reflexos em
excesso (que sobram apos as etapas descritas acima), sao apenas um ou dois que destoam dos
importante notar que se chegarmos a essa etapa da procura dos
quatro reflexos validos. E
reflexos e o n
umero de reflexos em excesso for maior que dois, entao simplesmente desistimos
de selecionar os reflexos esperados e consideramos que nao foi possvel fazer o processamento
completo para a dada imagem de entrada. Isso porque, sem haver essa limitacao, o n
umero
de combinacoes cresce muito rapidamente inviabilizando o processamento em tempo real da
imagem.
Para a falta de reflexos, tanto para a imagem da pupila clara, quanto para a imagem da
pupila escura, nenhuma solucao foi implementada. Assim, havendo falta de reflexos detecta-
dos em qualquer uma das imagens, consideramos que nao foi possvel fazer o processamento
completo da imagem capturada.

5.2.4 Procura detalhada da pupila

Apesar de termos uma estimativa aproximada sobre a localizacao da pupila na imagem, para
que os resultados obtidos pelo algoritmo de estimacao do olhar sejam os melhores possveis e
80 CAPITULO 5. IMPLEMENTAC
AO

necessario ter uma estimativa precisa do seu centro ja que o algoritmo implementado baseia-se
na posicao relativa entre o centro da pupila e os reflexos gerados pelos LEDs do monitor.
Para tanto, essa segmentacao e similar a` segmentacao inicial da posicao da pupila, mas
usando as imagens na sua dimensao original e considerando apenas a RDI em torno da loca-
lizacao inicial a fim de ganhar desempenho. Dessa forma, primeiro a imagem da pupila escura
e subtrada da imagem da pupila brilhante. Em seguida, e aplicado um limiar (o mesmo
utilizado na segmentacao inicial) e da imagem binaria resultante sao extrados os contornos
externos de cada regiao conexa. Sabemos que a pupila e uma das regioes conexas obtidas
na imagem binaria, mas podem haver outras regioes conexas resultantes de outras areas que
possuem grande variacao na intensidade de seus pixels nas imagens da pupila clara/escura.
Contudo essas regioes sao em sua maioria resultantes dos proprios reflexos sobre a imagem
sendo assim facil descarta-los. Basta tomar o maior contorno obtido uma vez que os reflexos
sao menores do que a pupila.
A etapa seguinte consiste em aproximar esse contorno para uma elipse, mas antes disso e
necessario verificar se o contorno achado possui interferencias externas que possam compro-
meter a aproximacao. Na grande maioria dos casos, sao os proprios reflexos que interferem no
contorno quando ficam localizados exatamente sobre a borda da pupila na imagem do olho.
Para resolver isso, tomamos todos os reflexos encontrado nas imagens tanto da pupila clara
quanto escura e exclumos as regioes destes reflexos do contorno da pupila. O contorno re-
sultante, embora incompleto, esta livre de interferencias e pode ser utilizado para se fazer
a aproximacao de uma elipse. Feita a aproximacao, tomamos o centro da pupila como sendo
o centro da elipse. Note que nao utilizamos o centro de massa da regiao correspondente `a
pupila, como fizemos na sua localizacao inicial, uma vez que os reflexos podem afetar tanto a
borda quanto o interior dessa regiao e, nesses casos, o calculo do centro da pupila baseado no
seu centro de massa nao seria preciso.
5.2. SOFTWARE 81

5.2.5 Estimando a dire


c
ao do olhar

Apos a execucao das etapas anteriores, temos todas as caractersticas necessarias para estimar
o olhar do usuario. Para realizar esse calculo, devemos descobrir as correspondencias entre
os quatro reflexos detectados e os quatro cantos do monitor, isto e, devemos saber qual o
reflexo superior-esquerdo, superior-direito, inferior-direito e inferior-esquerdo. Assumindo que
a camera tem o seu eixo y apontando aproximadamente para cima, isto e, na direcao vertical,
pode-se determinar as correspondencias atraves do seguinte procedimento. Primeiro ordena-
se os quatro reflexos pela sua coordenada x, obtendo-se assim dois grupos de reflexos: os da
esquerda e os da direita. Depois para cada grupo, tomamos os reflexos com menor coordenada
y como os reflexos superiores e os com maior coordenada y como os inferiores (considerando
a origem do sistema de coordenadas da imagem como sendo o canto superior esquerdo, o eixo
x crescendo para a direita e o eixo y crescendo para baixo).
Em seguida, com os reflexos classificados, estimamos as projecoes virtuais dos LEDs corres-
pondentes. Para fins de comparacao, alem do novo metodo desenvolvido, utilizando 9 pontos
de calibracao (captulo 4), foi implementado tambem o metodo de Yoo e Chung (secao 2.4.3)
para estimacao das projecoes virtuais. Note que, para ambos os metodos, e necessario realizar
um processo de calibracao, antes de iniciar o rastreamento do olhar propriamente dito, que
consiste em fazer o usuario olhar para pontos determinados da tela e armazenar as informacoes
sobre as caractersticas detectadas na imagem para cada um desses pontos. Ao final desse pro-
cesso, computa-se os parametros utilizados no calculo das projecoes virtuais e inicia-se a fase
do rastreamento em si. Apos o calculo das projecoes virtuais, sao calculadas as razoes cruzadas
horizontais e verticais, como estudado na secao 2.4.3, obtendo-se a coordenada do ponto do
monitor correspondente ao ponto visualizado pelo usuario. Por fim, no caso em que o novo
metodo sugerido para calibracao e estimacao das projecoes virtuais estiver sendo utilizado,
soma-se ao ponto estimado o vetor deslocamento medio para corrigir a diferenca entre o eixo
82 CAPITULO 5. IMPLEMENTAC
AO

optico e o eixo visual do olho.


Captulo 6

Resultados

Nos primeiros testes do rastreador foi observado que, nas imagens onde o usuario olha fixa-
mente para os LEDs, a posicao do centro da pupila e relativamente proxima da posicao do
reflexo do LED sendo observado. Isso sugeriu que o fator de correcao a ser utilizado para
a estimacao das projecoes virtuais dos LEDs fosse mais proximo a 1.0 do que 2.0, estando de
acordo com a discussao feita na secao 2.4.3 sobre o valor de esperado na pratica. Com isso,
inicialmente realizamos alguns testes nos quais desconsideramos a necessidade de se estimar
as projecoes virtuais dos LEDs, utilizando diretamente os reflexos dos mesmos.
Para medir de forma detalhada a precisao do sistema, foi implementada uma funcao de
teste na aplicacao do rastreador. Nessa funcao de teste, a tela e dividida em uma grade de
86 blocos de 4.2 por 4.5 cm de lado. O cursor e entao posicionado no centro do primeiro
bloco e o usuario deve olhar para o cursor, confirmando com um clique no mouse. A cada
clique, a posicao estimada do olhar e registrada e passa-se para o proximo ponto de teste ate
que o usuario tenha percorrido todos os 48 pontos da grade. Ao final do teste e gerada uma
listagem contendo os pares de pontos reais e pontos estimados.
Baseado nessas observacoes iniciais, implementamos uma versao preliminar do rastreador

83
84 CAPITULO 6. RESULTADOS

sem estimar as projecoes virtuais dos LEDs e sem considerar a diferenca de eixos do olho. O
erro medio obtido nesse teste inicial foi de aproximadamente 5.0 cm (aproximadamente 5.0 ),
confirmando as conclusoes obtidas nos experimentos teoricos sobre como a diferenca de eixos
do olho afeta o resultado do algoritmo e como proceder para compensa-la. A maneira de
se fazer tal correcao seria atraves de uma rotacao do eixo optico no espaco 3D (como feito
em [SWL00], [SL04] e [BF03]). Contudo, na tecnica implementada, apenas temos informacao
sobre o ponto estimado sobre uma superfcie plana e nao temos informacao sobre a posicao
do olho em 3D. De qualquer forma, os resultados dos experimentos simulados mostraram que
a diferenca de eixos resulta em um deslocamento do ponto de interesse que e relativamente
constante. Assim, para a versao final do rastreador, foi implementado o novo metodo proposto
para calibracao e calculo das projecoes virtuais (descrito no captulo 4) e para comparar, na
pratica, os resultados deste metodo com o metodo de Yoo e Chung, o metodo deles tambem
foi implementado.
Para testar a implementacao do sistema contamos com a participacao de 5 usuarios. Cada
usuario executou a funcao de teste do rastreador 3 vezes, sendo que apos cada execucao eles
eram orientados a mudar de posicao. Para cada teste realizado foram estimados os pontos de
interesse usando ambos os metodos de calibracao. O erro medio obtido para todos os testes
realizados utilizando o metodo de Yoo e Chung foi de 2.48 cm (aproximadamente 2.37 ) com
desvio padrao de 1.12 cm. Ja para o nosso metodo proposto neste trabalho, o erro medio
obtido foi de 0.95 cm (aproximadamente 0.91 ) com desvio padrao de 0.7 cm. Na figuras 6.1 e
6.2 podemos ver os resultados obtidos para cada tecnica. Apesar dos resultados para o metodo
de Yoo e Chung terem sido melhores do que os obtidos nas simulacoes (mostrando que, na
pratica, a influencia da diferenca angular entre os eixos do olho e menor do que observado nos
experimentos), eles ainda sao piores do que os obtidos pelo metodo proposto neste trabalho
que leva em conta a diferenca de eixos do olho em seu processo de calibracao. Na tabela 6.1,
85

podemos ver os resultados individuais obtidos para cada usuario na primeira execucao do teste
(isto e, logo apos a calibracao). Ja na tabela 6.2, temos os resultados obtidos para as demais
execucoes. Separamos os resultados obtidos na primeira execucao do teste das demais para que
fosse possvel avaliar o impacto da movimentacao do usuario no resultado, sendo constatada
ligeira piora, apos a movimentacao dos usuarios, para ambos os metodos testados. Podemos
ver tambem que os resultados obtidos para o metodo de Yoo e Chung nao sao tao uniformes
entre os usuarios, mostrando assim que a diferenca de eixos do olho e uma caracterstica que
apresenta certa variabilidade entre as pessoas. A tabela 6.3 mostra os valores dos parametros
obtidos via calibracao, para cada usuario, para os metodos de Yoo e Chung e para o novo
metodo. Para este u
ltimo, tambem e exibida a diferenca angular estimada entre os eixos do
olho.

Metodo Yoo - 1o teste M etodo proposto - 1o teste


Usu ario Erro m edio Desvio padr ao Erro m edio Desvio padr ao

usuario 1* 1.51 cm (1.44 ) 0.69 cm 1.23 cm (1.17 ) 1.39 cm

usuario 2 2.51 cm (2.4 ) 0.82 cm 0.73 cm (0.7 ) 0.29 cm

usuario 3** 1.75 cm (1.67 ) 0.48 cm 0.73 cm (0.7 ) 0.39 cm
usuario 4 3.15 cm (3.0 ) 1.13 cm 0.88 cm (0.84 ) 0.48 cm

usuario 5 2.98 cm (2.84 ) 0.86 cm 0.78 cm (0.75 ) 0.43 cm

Tabela 6.1: resultados obtidos para cada usuario na primeira execucao do teste, comparando
o metodo de Yoo e Chung com o novo metodo proposto para estimacao das projecoes virtuais.
Os usuarios marcados com (*) e (**) utilizavam, respectivamente, lentes de contato e oculos.

Como o metodo proposto obteve melhores resultados, outro conjunto de testes foi realizado,
desta vez testando apenas nosso metodo para estimacao das projecoes virtuais. Para esse teste
contamos com a participacao de mais 4 usuarios (diferentes dos 5 primeiros), sendo que cada
um tambem executou a funcao de teste do rastreador 3 vezes. Os resultados obtidos para
este novo teste foram os seguintes: erro medio de 0.96 cm (aproximadamente 0.91 ) e desvio
86 CAPITULO 6. RESULTADOS

Figura 6.1: resultados obtidos com a implementacao do rastreador utilizando o metodo de Yoo
e Chung para estimar as projecoes virtuais. As cruzes representam os pontos estimados e os
cruzamentos das linhas os pontos reais observados. Seguindo da esquerda para a direita e de
cima para baixo, as primeiras 5 imagens mostram os resultados individuais para os usuarios
1-5 respectivamente. A ultima imagem re une os resultados de todos os usuarios.
87

Figura 6.2: resultados obtidos com a implementacao do rastreador utilizando o metodo pro-
posto neste trabalho para estimar as projecoes virtuais. As cruzes representam os pontos
estimados e os cruzamentos das linhas os pontos reais observados. Seguindo da esquerda para
a direita e de cima para baixo, as primeiras 5 imagens mostram os resultados individuais para
os usuarios 1-5 respectivamente. A ultima imagem reune os resultados de todos os usuarios.
88 CAPITULO 6. RESULTADOS

Metodo Yoo - demais testes M etodo proposto - demais testes


Usu ario Erro m edio Desvio padrao Erro m edio Desvio padrao
usuario 1* 1.98 cm (1.89 ) 0.96 cm 1.15 cm (1.1 ) 0.96 cm
usuario 2 2.53 cm (2.42 ) 1.03 cm 0.98 cm (0.94 ) 0.62 cm

usuario 3** 1.8 cm (1.72 ) 0.59 cm 0.9 cm (0.86 ) 0.55 cm

usuario 4 2.95 cm (2.81 ) 1.15 cm 0.98 cm (0.94 ) 0.62 cm
usuario 5 3.36 cm (3.21 ) 1.11 cm 0.93 cm (0.89 ) 0.51 cm

Tabela 6.2: resultados obtidos para cada usuario nas demais execucoes do teste, comparando
o metodo de Yoo e Chung com o novo metodo proposto para estimacao das projecoes virtuais.
Os usuarios marcados com (*) e (**) utilizavam, respectivamente, lentes de contato e oculos.

M etodo Yoo e Chung Metodo proposto


Usu ario 1 2 3 4 diferenca angular
usuario 1* 1.07 1.03 1.17 1.05 1.13 0.82
usuario 2 1.22 1.27 1.36 1.1 1.18 3.6
usuario 3** 1.05 1.02 0.98 1.12 1.06 1.73
usuario 4 1.13 1.13 1.41 0.91 1.18 4.6
usuario 5 0.99 1.16 1.4 0.81 1.14 5.06

Tabela 6.3: valores dos parametros obtidos via calibracao para cada usuario e metodo utilizado
para estimacao das projecoes virtuais. Alem disso, para o metodo proposto, e exibida a
diferenca angular estimada entre os eixos do olho. Os usuarios marcados com (*) e (**)
utilizavam, respectivamente, lentes de contato e oculos.

padrao de 1.0 cm. Na figura 6.3 e na tabela 6.4 podemos observar os resultados individuais
para cada usuario.
Podemos observar, atraves dos experimentos, que o rastreador implementado baseado nos
trabalhos de Yoo e Chung [YLC02, YC05] atingiu resultados satisfatorios, com uma precisao
em torno de 1 , similar `a obtida pelos autores da tecnica. Entretanto, tal resultado so foi ob-
tido utilizando um metodo proprio de calibracao e estimacao das projecoes virtuais dos LEDs
que considera a diferenca de eixos do olho. Utilizando a implementacao original dos autores
os resultados obtidos foram consideravelmente piores. Alem disso, o rastreador implemen-
89

Figura 6.3: resultados obtidos utilizando o metodo proposto neste trabalho para estimar as
projecoes virtuais. As cruzes representam os pontos estimados e os cruzamentos das linhas
os pontos reais observados. Seguindo da esquerda para a direita e de cima para baixo, as
primeiras 4 imagens mostram os resultados individuais para os usuarios 6-9 respectivamente.
Au ltima imagem re une os resultados de todos os usuarios.
90 CAPITULO 6. RESULTADOS

1o teste Demais testes


Usu ario Erro m edio Desvio padr ao Erro m edio Desvio padrao
usuario 6 1.2 (1.15 ) cm 1.48 cm 0.64 (0.61 ) cm 0.46 cm
usuario 7 0.59 (0.56 ) cm 0.37 cm 0.78 (0.75 ) cm 0.59 cm

usuario 8 0.59 (0.56 ) cm 0.27 cm 0.82 (0.78 ) cm 0.9 cm

usuario 9* 1.38 (1.32 ) cm 1.41 cm 1.56 (1.49 ) cm 1.16 cm

Tabela 6.4: resultados obtidos para novo teste realizado utilizando apenas o metodo proposto
para estimar as projecoes virtuais. Na tabela foram separados os resultados obtidos na primeira
e demais execucoes do teste. O usuario marcado com (*) utilizava oculos.

tado se mostrou robusto a movimentacoes da cabeca, uma vez que os resultados obtidos para
cada usuario na primeira execucao do teste foram similares aos obtidos nas demais execucoes,
embora saibamos que o novo metodo de calibracao sugerido e sensvel a movimentos de apro-
ximacao e afastamento do usuario em relacao ao monitor. Entre os usuarios que participaram
dos testes dois usavam oculos e um lentes de contato. Para essas pessoas, em especial para
o usuario com lentes de contato, foi observada uma maior dificuldade para se detectar os re-
flexos dos LEDs sobre a cornea. Os usuario que usavam oculos precisaram, algumas vezes,
procurar novas posicoes para que reflexos adicionais gerados sobre as lentes nao atrapalhassem
a deteccao dos reflexos sobre a cornea pelo rastreador. Contudo, mesmo para esses usuarios
(de oculos e lentes), uma vez que os reflexos sobre a cornea foram detectados com sucesso, nao
foram observadas diferencas significativas nos resultados obtidos.
Captulo 7

Conclus
ao

Neste trabalho tratamos do problema do rastreamento (ou estimacao) do olhar, que consiste
em determinar a direcao para onde uma pessoa esta olhando. Para isso, fizemos o levantamento
bibliografico de algumas tecnicas desenvolvidas para resolver esse problema, passando pelas
mais tradicionais, ate chegar a tecnicas mais recentes. Como nosso foco de uso de rastreadores
de olhar esta em aplicacoes para a area de Interacao Humano Computador (IHC), tecnicas
intrusivas, que exigem a utilizacao de equipamentos em contato com o usuario, e tecnicas
remotas tradicionais, que nao permitem uma grande liberdade de movimentacao da cabeca
e exigem calibracao freq
uente, nao sao muito apropriadas. Algumas tecnicas mais recentes
estudadas contornam essas limitacoes atraves do uso de modelos geometricos mais avancados
que apresentam maior robustez a movimentos do usuario. Alem disso, a calibracao por sessao
de uso pode ser substituda por uma calibracao feita apenas uma vez, que pode ser armazenada
e reutilizada em outras sessoes.
Entre as tecnicas recentes estudadas, a tecnica desenvolvida por Yoo et al. [YLC02, YC05]
se mostrou a mais promissora para aplicacoes em IHC. Ela emprega apenas uma camera que
nao precisa ser calibrada e e mais tolerante a movimentos de cabeca. Alem disso, nao e

91
92 CAPITULO 7. CONCLUSAO

necessario conhecer qualquer informacao especial sobre o ambiente cercando o usuario, com
excecao das dimensoes do monitor. Essa tecnica baseia-se no mapeamento de m
ultiplos refle-
xos sobre a cornea, gerados por LEDs infravermelhos posicionados nos 4 cantos do monitor.
Considera-se a existencia de um plano virtual tangente a` superfcie da cornea onde os pontos
correspondentes aos 4 LEDs sao projetados. Atraves da aplicacao da razao cruzada a partir
desses 4 pontos mais o centro da pupila e possvel calcular o ponto observado sobre o monitor.
A fim de avaliar o desempenho dessa tecnica, uma serie de experimentos utilizando dados
sinteticos foram feitos. Em especial foram observadas as influencias dos seguintes fatores nos
resultados: variacoes no metodo para estimar as projecoes virtuais dos LEDs, diferenca de eixo
optico e eixo visual do olho e tolerancia da tecnica a movimentos da cabeca. Os resultados
experimentais mostraram que o metodo original, proposto por Yoo e Chung [YC05], para
estimacao das projecoes virtuais apresenta erro maior quando se considera a diferenca de
eixos do olho, o que nos levou ao desenvolvimento de um novo metodo. No novo metodo e
feito um processo de calibracao que alem de calcular o fator de correcao utilizado no calculo
das projecoes virtuais, tambem calcula um vetor deslocamento a ser usado na correcao da
diferenca de eixos do olho. Foram testadas calibracoes usando 4 e 9 pontos sendo que com
9 pontos obteve-se melhores resultados (precisao de 0.64o contra 1.1o utilizando 4 pontos).
Como a diferenca de eixos do olho e uma diferenca angular mas a compensacao que fazemos
consiste na soma de um vetor ao ponto estimado, a precisao da tecnica utilizando este novo
metodo possui uma certa sensibilidade a movimentos de afastamento e aproximacao do olho
em relacao ao monitor. Mesmo assim, a tolerancia a movimentacao se mostrou superior `a
obtida em experimentos similares para a tecnica tradicional baseada na deteccao da pupila e
de um reflexo sobre a cornea.
Uma de nossas maiores contribuicoes foi a extensao da tecnica de m
ultiplos reflexos con-
siderando um metodo mais completo do olho, que considera a diferenca de eixos optico e
93

visual.
A precisao atingida com nossa implementacao foi de aproximadamente 1o , utilizando 9 pon-
tos de calibracao. Para fins de comparacao, implementamos tambem o metodo de estimacao
das projecoes virtuais desenvolvido por Yoo e Chung. Contudo, os resultados obtidos foram
piores, com uma precisao em torno de 2.4o . Esse resultado e um pouco estranho uma vez que
fizemos a implementacao do metodo deles exatamente como descrito no trabalho original, mas
sem obter os mesmos resultados praticos (precisao tambem em torno de 1o ). Nos acreditamos
que no trabalho deles deve haver uma compensacao de translacao que de certa forma corrigiria
parte dos efeitos da diferenca de eixos, mas que nao e descrita no artigo.
Entre as razoes para nao obtencao de um resultado melhor podemos citar: o fato da cornea
ser curva que vai contra nossa hipotese de que os LEDs sao projetados sobre um plano virtual
tangente `a cornea; o nosso metodo de calibracao que perde precisao quando o usuario se afasta
ou se aproxima do monitor; e por fim a limitacao de tamanho das imagens capturadas. Embora
a resolucao da imagem capturada seja relativamente grande (768480 pixels), o quadrilatero
formado pelos reflexos dos LEDs do monitor, na imagem desentrelacada da pupila escura,
apresenta uma dimensao em torno de 40-50 pixels de largura por 15-20 pixels de altura. Dessa
forma, um desvio de poucos pixels na deteccao dos reflexos ou da pupila pode gerar erros
consideraveis na estimativa do olhar.
Como principais contribuicoes de nosso trabalho podemos citar:

revisao e sntese da literatura sobre rastreadores de olhar sem calibracao e tolerantes a


movimentos da cabeca;

estudo de avaliacao de desempenho utilizando um modelo sintetico do olho, atraves do


qual podemos medir e comparar o desempenho das tecnicas de rastreamento;

desenvolvimento de uma extensao do trabalho de Yoo et al. [YLC02, YC05], que utiliza
94 CAPITULO 7. CONCLUSAO

de um modelo do olho mais completo, capaz de compensar diferencas entre o eixo optico
e o visual;

desenvolvimento de um sistema de rastreamento de olhar de tempo real, tolerante a


movimentacao da cabeca, que utiliza uma u
nica camera e que apresenta precisao com-
paravel a outros sistemas existentes mas conforto muito maior por tolerar movimentos
de cabeca;

avaliacao pratica do sistema desenvolvido, testando com usuarios, e comparando com


outros sistemas existentes.

Como trabalhos futuros, uma alternativa para melhorar a perda de precisao devido a
movimentos de aproximacao e afastamento do monitor por parte do usuario seria calcular a
posicao do olho em 3D. Combinando o metodo desenvolvido por Morimoto et al. [MAF02a,
MAF02b] com o nosso rastreador seria possvel corrigir a diferenca de eixos do olho atraves
de um deslocamento proporcional a` distancia do usuario ao monitor, uma vez que esse vetor
deslocamento mantem aproximadamente sua direcao e sentido mesmo quando sua magnitude
e afetada devido a movimentacao do usuario. Outras possibilidades para trabalhos futuros
envolvem a elaboracao de um processo de deteccao de reflexos sobre a cornea mais robusto que
consiga compensar a eventual falta de algum deles. Nossa implementacao so consegue estimar
o olhar se todos os 5 reflexos esperados forem encontrados na imagem. A possibilidade de se
compensar a falta de um desses pontos e interessante pois, nos testes praticos, para o nosso
posicionamento de camera e monitor, quando os usuarios olhavam para porcao inferior da tela,
era relativamente freq
uente acontecer de um dos 4 reflexos sobre a cornea desaparecer, exigindo
que o usuario fizesse pequenos movimentos para procurar uma posicao mais adequada.
Refer
encias Bibliogr
aficas

[Bar05] T. S. Barcelos. Interfaces prestativas baseadas em visao computacional e in-


formacao de contexto. Masters thesis, Departamento de Ciencia da Computacao
do Instituto de Matematica e Estatstica, Universidade de Sao Paulo, Junho 2005.
4, 5

[Bar06] R. A. Barbosa. Deteccao e estimacao da orientacao 3d de faces. Masters thesis, De-


partamento de Ciencia da Computacao do Instituto de Matematica e Estatstica,
Universidade de Sao Paulo, Agosto 2006. 4

[BF03] David Beymer and Myron Flickner. Eye gaze tracking using an active stereo
head. In Proceedings of the IEEE Conference on Computer Vision and Pattern
Recognition, volume 2, pages 451458, 2003. 27, 84

[BP94] Shumeet Baluja and Dean Pomerleau. Non-intrusive gaze tracking using artificial
neural networks. Technical Report CMU-CS-94-102, Computer Science Depart-
ment, Carnegie Mellon University, Pittsburgh, PA, January 1994. 14, 15

[CC73] T. Cornsweet and H. Crane. Accurate two dimensional eye tracker using first and
fourth purkinje images. Journal of the optical Society of America, 63:921928,
1973. 14

95
96
REFERENCIAS
BIBLIOGRAFICAS

[CMZ05] M. C. Cabral, C. H. Morimoto, and M.K. Zuffo. On the usability of gesture inter-
faces in virtual reality environments. In CLIHC05, Conferencia Latinoamericana
de Interacion Humano-Computadora, Cuernava, Mexico, October 2005. 4

[Duc02] Andrew T. Duchowski. A breadth-first survey of eye tracking application. ehavior


Research Methods, Instruments, and Computers (BRMIC), 34:455470, 2002. 3

[Duc03] Andrew T. Duchowski. Eye Tracking Methodology: Theory and Practice. Springer
Verlag, January 2003. 8

[Ebi95] Yoshinobu Ebisawa. Unconstrained pupil detection technique using two light sour-
ces and the image difference method. Visualization and Intelligent Design in en-
gineering and architecture, pages 7989, 1995. 11

[GEN95] A. Glenstrup and T. Engell-Nielsen. Eye controlled media: Present and future
state. Masters thesis, University of Copenhagen DIKU (Institute of Computer
Science), Universitetsparken 1 DK-2100 Denmark, June 1995. 8

[GF02] J. N. Van Der Geest and M. A. Frens. Recording eye movements with video-
oculography and scleral search coils: A direct comparison of two methods. Journal
of Neuroscience Methods, 114:185195, 2002. 12

[GW01] R. C. Gonzalez and R. E. Woods. Digital Image Processing. Prentice Hall, 2001.
77

[HZ00] R. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cam-
bridge University Press, ISBN: 0521623049, 2000. 35

REFERENCIAS
BIBLIOGRAFICAS 97

[KBS93] A. Kaufman, A. Bandopadhay, and B. Shaviv. An eye tracking computer user


interface. In Proc. of the research frontier in virtual reallity workshop, pages 78
84, 1993. 12

[KR99] Kyung-Nam Kim and R. S. Ramakrishna. Vision-based eye-gaze tracking for hu-
man computer interface. In IEEE International Conference on Systems, Man, and
Cybernetics, pages 324329, 1999. 15

[Lon74] R. S. Longhurst. Geometrical and Physical Optics. John Wiley & Sons, 1974. 10

[MAF02a] Carlos H. Morimoto, Arnon Amir, and Myron Flickner. Free head motion eye gaze
tracking without calibration. In CHI 02 extended abstracts on Human factors in
computing systems, pages 586587, New York, NY, USA, 2002. ACM Press. 21,
94

[MAF02b] Carlos Hitoshi Morimoto, Arnon Amir, and Myron Flickner. Detecting eye position
and gaze from a single camera and 2 light sources. In International Conference on
Pattern Recognition, volume 4, pages 314317, 2002. 21, 94

[MF00] Carlos H. Morimoto and Myron Flickner. Real-time multiple face detection using
active illumination. In FG 00: Proceedings of the Fourth IEEE International
Conference on Automatic Face and Gesture Recognition, pages 813, 2000. 11

[MKAF99] C. H. Morimoto, D. Koons, A. Amir, and M. Flickner. Frame-rate pupil detector


and gaze tracker. In Proceedings of the IEEE ICCV99 Frame-Rate Computer
Vision Applications Workshop, 1999. 18, 41, 66

[MKAF00] Carlos Morimoto, Dave Koons, Arnon Amir, and Myron Flickner. Pupil detection
and tracking using multiple light sources. Image and vision computing, 18(4):331
335, 2000. 11
98
REFERENCIAS
BIBLIOGRAFICAS

[MM05] Carlos H. Morimoto and Marcio R. M. Mimica. Eye gaze tracking techniques for
interactive applications. Comput. Vis. Image Underst., 98(1):424, 2005. 5, 8, 10,
19, 41, 43, 66

[NWKF02] Karlene Nguyen, Cindy Wagner, David Koons, and M. Flickner. Differences in
the infrared bright pupil response of human eyes. In Proceedings of the symposium
on Eye tracking research and applications, pages 133138, 2002. 11, 74

[RMK+ 88] J. Ruelen, J. T. Marcus, D. Koops, F. Vries, G. Tiesinga, K. Boshuizen, and J. Bos.
Precise recording of eye movement: the iris technique, part 1. Medical & Biological
Engineering & Computing, 26(1):2026, 1988. 14

[Rob63] D. A. Robinson. A method of measuring eye movements using a scleral search coil
in a magnetic field. IEEE Trans. Bio-Med. Electronics, 10:137145, 1963. 12

[Sel04] T. Selker. Visual attentive interfaces. BT Technology Journal, 22(4):146150,


2004. 4

[SL04] S. Shih and J. Liu. A novel approach to 3-d gaze tracking using stereo cameras. In
IEEE transactions on systems, man, and cybernetics - part B, volume 34, pages
234245, 2004. 25, 26, 84

[SVS03] Jeffrey S. Shell, Roel Vertegaal, and Alexander W. Skaburskis. Eyepliances:


attention-seeking devices that respond to visual attention. In CHI Extended Abs-
tracts, pages 770771, 2003. 4

[SWL00] S. Shih, Y. Wu, and J. Liu. A calibration-free gaze tracking technique. In Pro-
ceedings of the International Conference on Pattern Recognition, volume 4, pages
201204, 2000. 25, 84

REFERENCIAS
BIBLIOGRAFICAS 99

[SYW97] Rainer Stiefelhagen, Jie Yang, and Alex Waibel. Tracking eyes and monitoring eye
gaze. In Workshop on Perceptual User Interfaces, pages 98100, Banff, Canada,
October 1997. 15

[Ver03] Roel Vertegaal. Attentive userinterfaces. Commun. ACM, 46(3):3033, 2003. 1

[WS82] G. Wyszecki and W. S. Stiles. Color Science: Concepts and Methods, Quantitative
Data and Formulae. John Wiley & Sons, 1982. 8, 9, 42

[WS02] Jian Gang Wang and Eric Sung. Study on eye gaze estimation. IEEE transactions
on systems, man, and cybernetics - part B: cybernetics, 32(3):332350, 2002. 24

[YC05] Dong Hyun Yoo and Myung Jin Chung. A novel non-intrusive eye gaze estimation
using cross-ratio under large head motion. Comput. Vis. Image Underst., 98(1):25
51, 2005. 28, 30, 45, 53, 54, 55, 56, 57, 58, 61, 88, 91, 92, 93

[YLC02] Dong Hyun Yoo, Bang Rae Lee, and Myoung Jin Chung. Non-contact eye gaze
tracking system by mapping of corneal reflections. In FGR 02: Proceedings of the
Fifth IEEE International Conference on Automatic Face and Gesture Recognition,
pages 101106, Washington, DC, USA, 2002. IEEE Computer Society. 28, 30, 88,
91, 93

[YS75] L. Young and D. Sheena. Methods & designs: Survey of eye movement recording
methods. Behavioral Research Methods & Instrumentation, 7(5):397429, 1975. 8,
10

[ZMI99] Shumin Zhai, Carlos Morimoto, and Steven Ihde. Manual and gaze input cascaded
(magic) pointing. In CHI, pages 246253, 1999. 4