UNIVERSIDADE PRESBITERIANA MACKENZIE
PROGRAMA DE PÓS-GRADUAÇÃO EM
ENGENHARIA ELÉTRICA
André Brasiliano da Silva
ROBUSTEZ EM UM SISTEMA DE DETECÇÃO E
RASTREAMENTO DE OLHOS PARA IMPLEMENTAÇÃO
DE UMA INTERFACE HUMANO-COMPUTADOR
Dissertação
apresentada
ao
Programa
de Pós-Graduação em Engenharia Elétrica da
Universidade Presbiteriana Mackenzie como
parte dos requisitos para a obtenção do tı́tulo
de Mestre em Engenharia Elétrica.
Orientadores: Maurı́cio Marengoni e Valéria Farinazzo Martins
São Paulo
2014
S586r
Silva, André Brasiliano da
Robustez em um sistema de detecção e rastreamento de olhos
para implementação de uma interface humano-computador. / André
Brasiliano da Silva - São Paulo, 2014.
89 f.: il.; 30 cm.
Dissertação (Programa de Pós-Graduação (Stricto Sensu) em
Engenharia Elétrica) - Universidade Presbiteriana Mackenzie - São
Paulo, 2014.
Orientador: Prof. Dr. Mauricio Marengoni
Bibliografia: f. 70-74.
1. IHC. 2. Visão computacional. 3. Rastreamento da ı́ris.
4. Extração de caracterı́sticas. 5. Problemas motores. 6. Região de
interesse. I. Tı́tulo
CDD: 621.30285632
RESUMO
O rastreamento ocular para usuários com problemas motores é um estudo importante na
área de Interface Humano-Computador (IHC). Com o objetivo de fornecer um sistema de
rastreamento ocular de baixo custo, este trabalho apresenta uma nova abordagem para
um sistema robusto e com alto desempenho. Com relação ao trabalho base para esta
pesquisa, a implementação proposta contém inovações em todas as etapas do processo
envolvendo o rastreamento ocular, desde a detecção da região da face e dos olhos até a
detecção da ı́ris. Neste trabalho, foi utilizado o conceito de processamento local, delimitando as regiões de interesse em todas as etapas do processo: detecção da região da face,
região dos olhos e região da ı́ris. Este trabalho permite que pessoas possam efetuar ações
controlando o mouse através do movimento dos olhos em uma interface de rastreamento
ocular, utilizando apenas equipamentos de uso comum, como, por exemplo, uma webcam.
O processo de detecção da face e detecção ocular foi feito através da técnica de Viola e
Jones. Para a detecção e rastreamento da ı́ris foi utilizada a Transformada de Hough,
e utilização de regiões de interesse com o objetivo de limitar a área de processamento
da imagem, e consequentemente, o custo computacional, resultando em uma aplicação
com um melhor desempenho e robustez em todas as etapas. Obteve-se um ganho de
até 33% em relação ao tempo de processamento do sistema, quando comparado com o
sistema base, porém, operando com imagens em alta definição. Foi realizada ainda uma
comparação com sistemas de rastreamento ocular de uso comercial e diferentes tipos de
equipamentos para validar as técnicas estudadas neste trabalho.
Palavras-chave: IHC, visão computacional, rastreamento da ı́ris, extração de
caracterı́sticas, problemas motores, região de interesse.
i
ABSTRACT
Eye tracking is an important issue for Human Computer interaction, mainly for users
with hand-eye coordination problems. The work presented here shows a low cost and
robust eye tracking system capable to work with an HD stream. The implementations
used in this work over the base system present different techniques in all stages, from
face detection to iris detection. Local processing is used in most stages in this implementation, delimiting the region of interest (ROI) for face detection, eye detection and
iris detection. The system robustness allow the eye tracking system to control the mouse
using eye movements allowing disable users to communicate through a communication
interface. The hardware required is simple and based in an high definition webcam. The
face detection and eye detection processes are based on the Viola Jones technique; iris
detection and tracking are based on the Hough Transform. The usage of local processing
reduces the computational cost and even working with high definition stream leads to a
performance 33% better than the base system. The system presented here was compared
with a commercial system and a set of equipment were tested in order to define the best
set up for the eye tracking system and to validate the work presented here. Future work
is presented at the end in order to allow the project continuity.
Keywords: HIC, computer vision, iris tracking, feature extraction, disable users, region
of interest.
Sumário
1 INTRODUÇÃO
1.1 Objetivos e Detalhamento da Pesquisa . . . . . . . . . . . . . . . . . . . .
1.2 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
4
5
2 FUNDAMENTAÇÃO TEÓRICA
2.1 Interação Humano-Computador . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Comunicação Alternativa . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Principais algoritmos para detecção e processamento da região de interesse
2.3.1 Detecção de Objetos . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Transformada de Hough . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Modelo-Base para o estudo . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Detecção e Rastreamento de Olhos para Detecção de uma Interface
Humano-Computador . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
8
10
10
14
15
16
3 TRABALHOS CORRELATOS
3.1 ITU Gaze Tracker . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Tobii T60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 EAS Binocular . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Robustez em um Sistema de Detecção e Rastreamento Ocular
.
.
.
.
19
19
22
24
24
4 MODELO PROPOSTO
4.1 Descrição do Macro Fluxo . . . . . . . .
4.1.1 Captura do frame da webcam . .
4.1.2 Detecção da Região da Face . . .
4.1.3 Detecção da Região dos Olhos . .
4.1.4 Busca pela Região da Íris . . . .
4.1.5 Calibração do Sistema . . . . . .
4.1.6 Rastreamento da Íris . . . . . . .
4.1.7 Movimento do Mouse . . . . . . .
4.1.8 Acionamento do Click do Mouse .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
29
30
33
36
39
40
41
43
5 DESENVOLVIMENTO DA APLICAÇÃO
5.1 Metodologia de Desenvolvimento da Aplicação
5.2 Descrição do Desenvolvimento da Aplicação .
5.3 Análise de Requisitos . . . . . . . . . . . . . .
5.4 Projeto . . . . . . . . . . . . . . . . . . . . . .
5.5 Implementação . . . . . . . . . . . . . . . . .
5.5.1 Testes . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
44
44
46
47
51
51
56
6 TESTES E DISCUSSÕES
6.1 Detalhamento dos Testes . . . . . . . . . . . . . . . . . . . . .
6.2 Comparação entre Sistemas . . . . . . . . . . . . . . . . . . .
6.2.1 Comparação com o Sistema-Base . . . . . . . . . . . .
6.2.2 Comparação com o Sistema Comercial EAS Binocular .
6.3 Testes com diferentes monitores . . . . . . . . . . . . . . . . .
6.4 Testes com diferentes usuários . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
57
58
58
59
61
65
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 CONCLUSÃO
67
7.1 Aspectos Gerais do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2 Contribuições do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.3 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
REFERÊNCIAS BIBLIOGRÁFICAS
74
ANEXOS
75
Lista de Figuras
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Representação da IHC como parte da Interação Humano-Computador. . .
Layout ilustrativo do Eyegaze [30]. . . . . . . . . . . . . . . . . . . . . . .
Representação da Janela de Detecção. [16] . . . . . . . . . . . . . . . . . .
Representação da Imagem Integral [16]. . . . . . . . . . . . . . . . . . . . .
Coordenadas da Transformada de Hough [33]. . . . . . . . . . . . . . . . .
Exemplo de detecção de cı́rculos utilizando a Transformada de Hough, com
a equação de circunferência [17]. . . . . . . . . . . . . . . . . . . . . . . . .
Fluxo do modelo proposto por [22]. . . . . . . . . . . . . . . . . . . . . . .
Modelo utilizado na identificação da região dos olhos [22]. . . . . . . . . . .
Modelo utilizado na identificação da região da ı́ris [22]. . . . . . . . . . . .
Sistema de rastreamento ocular [35]. . . . . . . . . . . . . . . . . . . . . .
Interface da aplicação ITU Gaze Tracker [27]. . . . . . . . . . . . . . . . .
Modelos de configuração da área da pupila, configuração boa (esquerda) e
configuração ruim (direita) [27]. . . . . . . . . . . . . . . . . . . . . . . . .
Ambiente de testes ITU Gaze Tracker [27]. . . . . . . . . . . . . . . . . . .
O potencial erro médio do Tobii T60 (cı́rculo vermelho) e o ITU Gaze
Tracker (cı́rculo externo amarelo) ilustrado em um screenshot da página
do NY Times. [27] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Projeto Tobii modelo T60 [36]. . . . . . . . . . . . . . . . . . . . . . . . . .
Produto EAS Binocular da empresa LC Technologies, Inc [30]. . . . . . . .
Diagrama de Fluxo da Implementação A. . . . . . . . . . . . . . . . . . . .
Diagrama de Fluxo da Implementação B. . . . . . . . . . . . . . . . . . . .
Diagrama de Fluxo da Implementação C. . . . . . . . . . . . . . . . . . . .
Implementação do modelo apresentado no trabalho [39]. . . . . . . . . . . .
Fluxo macro do modelo proposto neste trabalho. . . . . . . . . . . . . . . .
Conversão da imagem original para escala de cinza com equalização de
histograma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Representação da sequencia de busca de atributos na imagem. . . . . . . .
Representação da utilização de atributos utilizados por [41]. . . . . . . . .
Estrutura que representa o detector em cascata [16]. . . . . . . . . . . . . .
Região de interesse da face. . . . . . . . . . . . . . . . . . . . . . . . . . .
Pseudocódigo do processo de detecção da face. . . . . . . . . . . . . . . . .
Região de interesse do olho esquerdo. . . . . . . . . . . . . . . . . . . . . .
Região de interesse do olho direito. . . . . . . . . . . . . . . . . . . . . . .
Pseudocódigo do processo de detecção da região do olho esquerdo. . . . . .
Detecção da ı́ris, apresentada por [25], utilizando a Transformada de Hough.
Região de interesse da ı́ris do lado esquerdo. . . . . . . . . . . . . . . . . .
Região de interesse da ı́ris do lado direito. . . . . . . . . . . . . . . . . . .
Pseudocódigo do processo de detecção da região da ı́ris. . . . . . . . . . . .
Modelo de cálculo de limites das posições x,y. . . . . . . . . . . . . . . . .
Modelo de prototipação [44]. . . . . . . . . . . . . . . . . . . . . . . . . . .
Processo de desenvolvimento de protótipos [45]. . . . . . . . . . . . . . . .
Fluxo principal do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagrama de Caso de Uso do sistema. . . . . . . . . . . . . . . . . . . . . .
Diagrama de Sequência do sistema. . . . . . . . . . . . . . . . . . . . . . .
Diagrama de Pacotes do sistema. . . . . . . . . . . . . . . . . . . . . . . .
8
10
12
13
14
15
16
16
17
19
20
21
22
23
23
24
25
25
25
26
28
29
31
31
32
33
34
35
35
36
37
38
38
40
42
45
46
46
47
48
49
42
43
44
45
46
47
48
49
50
51
52
Diagrama de Classe do sistema. . . . . . . . . . . . . . . . .
Tela Inicial da aplicação desenvolvida neste trabalho. . . . .
Tela de calibração do sistema EyeGaze. . . . . . . . . . . . .
Primeira mensagem no inı́cio da calibração. . . . . . . . . .
Segunda mensagem no inı́cio da calibração. . . . . . . . . . .
Tela de calibração da aplicação desenvolvida neste trabalho.
Tela de digitação de números do sistema EyeGaze. . . . . . .
Tela de digitação de números desenvolvida neste trabalho. .
Ambiente de testes para o monitor de 15 polegadas. . . . . .
Ambiente de testes para o monitor de 24 polegadas. . . . . .
Ambiente de testes para o monitor de 32 polegadas. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
50
52
53
54
54
55
55
56
62
63
63
Lista de Tabelas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Desempenho dos métodos A, B e C em relação ao método proposto por
[22] (tempo total). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descrição dos equipamentos utilizados. . . . . . . . . . . . . . . . . . . . .
Tempo para detecção da ı́ris com relação ao método desenvolvido no trabalho [39]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tempo total (detecção da face, olhos e ı́ris até o inı́cio da calibração do
sistema) para o método do trabalho base [39]. . . . . . . . . . . . . . . . .
Ganho em relação ao sistema desenvolvido em [39]. . . . . . . . . . . . . .
Comparação do processo de calibração deste trabalho com o produto EAS
Binocular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparação na digitação de um número de telefone com o produto EAS
Binocular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparação na digitação de um número sequencial com o produto EAS
Binocular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descrição dos tipos de monitores. . . . . . . . . . . . . . . . . . . . . . . .
Comparação do processo de calibração em diferentes monitores. . . . . . .
Comparação na digitação de um número sequencial nos diferentes monitores.
Comparação do processo de calibração. . . . . . . . . . . . . . . . . . . . .
Comparação na digitação de um número sequencial. . . . . . . . . . . . . .
Valores detalhados do teste de calibração deste trabalho com o produto
EAS Binocular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Valores detalhados do teste de digitação deste trabalho com o produto EAS
Binocular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Valores detalhados do teste de digitação de um número sequencial deste
trabalho com o produto EAS Binocular. . . . . . . . . . . . . . . . . . . .
Valores detalhados do teste de calibração em diferentes monitores. . . . . .
Valores detalhados do teste de digitação de um número sequencial em diferentes monitores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Valores detalhados do teste de calibração com diferentes usuários. . . . . .
Valores detalhados do teste de digitação de um número sequencial com
diferentes usuários. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
51
59
59
59
60
60
61
62
64
64
66
66
75
76
77
78
79
80
81
1
INTRODUÇÃO
O rápido crescimento e barateamento da tecnologia popularizou o uso de computadores por pessoas leigas em Computação, o que gerou uma demanda no desenvolvimento
de sistemas que pudessem ser utilizados por pessoas sem especialização. É criada então,
na década de 80, a área de Interação Humano-Computador na Ciência da Computação [1].
A Interação Humano-Computador (IHC) pode ser definida como a parte de um sistema computacional com a qual uma pessoa entra em contato fı́sico e conceitual [2], ou
seja, a interface pode ser entendida como um sistema de comunicação que possui dois
componentes, um sendo o componente fı́sico - hardware e software - em que o usuário é
capaz de perceber e de interagir com o mesmo; e outro conceitual, em que ele interpreta,
processa e raciocina. Assim, IHC é a área que considera todos os aspectos relacionados
com a interação entre pessoas e computadores [3].
Neste contexto, foi definido, em 1981 [4], a interface de um sistema com o usuário
sendo “a parte de um sistema computacional com a qual a pessoa entra em contato fı́sica, perceptiva e conceitualmente”.
A interface é a parte do sistema computacional com a qual o usuário se comunica, ou
seja, aquela com a qual ele entra em contato para executar ações dos sistemas e obter os
resultados, os quais são interpretados pelo usuário, definindo assim as próximas ações. A
esse processo de comunicação entre usuário e sistema se dá o nome de interação [3].
Nos últimos anos, a área de IHC tem se desenvolvido, e esforços têm sido empregados
em relação a questões de projeto e avaliação de interfaces não convencionais, tais como
interfaces gestuais [5], interfaces por voz (Voice User Interface) [6] e interfaces por rastreamento ocular [7].
As interfaces por rastreamento ocular são aquelas que consistem em detectar, por meio
de uma ou mais câmeras, a direção do olhar do usuário que se encontra a frente do monitor [8]. Duchowski [9] descreve, em sua pesquisa, aplicações de rastreamento ocular e sua
1
utilização em diversas áreas como, por exemplo, Neurociência, identificando componentes
neurais, interligados à visão, a partir de fotorreceptores da retina e terminando em suas
regiões corticais envolvidas na visão. Psicologia, Engenharia, Ciência da Computação,
Marketing e Propaganda são outros exemplos de áreas que utilizam aplicações de rastreamento ocular citados por [9]. Interfaces por rastreamento ocular têm sido usadas, também,
para permitir a inclusão de pessoas com deficiências motoras dos membros superiores [10].
Alguns produtos comerciais de rastreamento ocular possuem um alto ı́ndice de acuracidade, porém possuem um custo elevado como, por exemplo, Tobii T60 [11], um produto
comercial, em que um monitor de 17o polegadas, é integrado ao sistema de rastreamento
ocular; tal equipamento contemplando as funcionalidades descritas possui um custo médio
de US$30 mil.
Outros produtos comerciais na área de rastreamento ocular são apresentados pela
empresa SensoMotoric Instruments (SMI) [12], que desenvolve várias aplicações de rastreamento ocular, dentre elas a linha de produtos RED. Trata-se de um sistema binocular,
adaptável em monitores de 19o até 60o , que possui uma acurácia em o (graus) de 0.4o , trabalhando nas faixas de 60Hz até 500Hz, com custo variando entre US$20 mil até US$30
mil.
Alguns procedimentos de rastreamento ocular possuem um alto custo, pois, em geral, envolvem um conjunto de equipamentos sofisticados, profissionais e de montagem
complexa, tais como câmeras, detectores, óculos especiais e receptores, além de equipamentos de hardware capazes de executar o processamento em uma escala profissional.
Um exemplo disso é o sistema apontado por [13], em que são exibidos diversos sistemas
computadorizados de Comunicação Alternativa Facilitadora (CAF) como ImagoDiAnaVox [14] e NoteVox [15], que se baseiam em diversos dispositivos e interfaces multimodais,
e apresentam uma solução por acionamento do movimento ocular para os sistemas de comunicação alternativa.
Para se projetar um sistema de rastreamento ocular, técnicas de Visão Computacional
e Processamento de Imagens, tais como a técnica de detecção de objetos de Viola e Jones
2
[16] e a técnica da Transformada de Hough [17] para extração de caracterı́sticas de uma
imagem devem ser utilizadas.
Neste contexto, vários métodos têm sido desenvolvidos para a solução desse problema,
assim como para a melhora do rastreamento e da usabilidade de um sistema de rastreamento ocular. Pode-se, por exemplo, usar a detecção da ı́ris, com uma [18] ou duas
câmeras [19], para efetuar o rastreamento. “Óculos” detectores [20] tratam de uma outra
possibilidade de fazer essa detecção, ou, ainda, a utilização de técnicas de processamento
de imagens como, por exemplo, a detecção da parte branca dos olhos [21].
Desse modo, o foco principal deste trabalho é aplicar as técnicas de Processamento
de Imagens em tempo real que possibilitem o desenvolvimento de uma aplicação de rastreamento ocular robusta, ou seja, que utilize imagens em alta definição sem perda de
desempenho, sendo eficiente e com baixo custo financeiro e computacional. A aplicação
permite que uma pessoa possa, por meio do movimento dos olhos, por exemplo, levar o
ponteiro do mouse até o ponto desejado, e então efetuar uma determinada ação.
Esta pesquisa iniciou-se com o trabalho proposto por [22], o qual teve como principal
objetivo identificar e implementar um modelo de rastreamento ocular robusto. O modelo
de rastreamento ocular proposto por [22] possui certas limitações, como, por exemplo, a
utilização de imagens de baixa resolução e o processamento de toda a região da imagem
para cada frame capturado, tornando o sistema pouco robusto e muito suscetı́vel a falhas.
A partir no modelo proposto por [22], foram iniciadas pesquisas baseadas em técnicas
de Processamento de Imagens em tempo real e processamento apenas de regiões de interesse, garantindo um melhor desempenho, qualidade e robustez do sistema quando comparado com o modelo proposto por [22].
Para validar o modelo proposto neste trabalho, foi desenvolvido um sistema de rastreamento ocular a partir das técnicas pesquisadas e, então, realizados testes comparativos
com a aplicação utilizada como base deste trabalho e, também, com aplicações de rastreamento ocular de uso comercial existente.
3
O projeto de desenvolvimento de uma aplicação de rastreamento ocular baseou-se
no sistema de rastreamento ocular apresentado por [22], sendo desenvolvido para este
trabalho um novo sistema de rastreamento ocular e, a partir daı́, foi desenvolvida uma nova
interface com o usuário. Assim, pode-se considerar como desenvolvimentos distintos, pois
o desenvolvimento de um sistema de rastreamento ocular tem objetivo de implementar
as técnicas pesquisadas neste trabalho, já o desenvolvimento de uma interface tem como
objetivo a validação das técnicas implementadas, passando pela validação do usuário.
1.1
Objetivos e Detalhamento da Pesquisa
O objetivo deste trabalho é identificar e desenvolver um sistema de rastreamento ocular que seja eficiente, robusto e de baixo custo. A partir do desenvolvimento da pesquisa
realizada por [22], este trabalho apresenta outras técnicas das quais, partindo dos resultados apresentados, é possı́vel avaliar a melhor técnica para cada etapa do Processamento
das Imagens, como a detecção ocular, a utilização da região da face e, então, a identificação e rastreamento da ı́ris.
A realização do desenvolvimento de uma interface com o usuário, de forma que possibilitou a realização de testes comparativos, com relação a outros sistemas; testes que
permitiram avaliar não só as técnicas utilizadas, mas também os pontos de melhoria na
aplicação, de forma que o sistema possa ser utilizado.
Para alcançar os objetivos propostos neste trabalho, foram realizadas as seguintes atividades:
• Pesquisa e revisão bibliográfica dos temas abordados no projeto, sendo os mesmos:
região de interesse, processamento de imagens em tempo real, detecção da face,
detecção dos olhos, detecção e rastreamento da ı́ris.
• Estudo da biblioteca de desenvolvimento OpenCV [23] em conjunto com a ferramenta de desenvolvimento Microsoft Visual Studio.
4
• Definição das técnicas e processos de desenvolvimento a serem utilizadas na implementação do projeto de desenvolvimento de um sistema de rastreamento ocular.
• Desenvolvimento de uma interface para permitir a realização de testes comparativos
com outros sistemas.
• Testes da aplicação de rastreamento ocular desenvolvida segundo as definições propostas. Testes integrados para validação e determinação dos requisitos básicos da
aplicação e testes comparativos com outros sistemas, com objetivo de validar o
ambiente e as funcionalidades do projeto desenvolvido.
1.2
Organização do Trabalho
Este trabalho está organizado em 5 capı́tulos, conforme explicitado a seguir.
O Capı́tulo 2, Fundamentação Teórica, aborda os conceitos e métodos fundamentais utilizados para a realização deste trabalho, incluindo processamento de imagens, e
detecção de objetos, conforme apresentado por [16], [24] e [25]; definições de região de
interesse em uma imagem [26], rastreamento da ı́ris [22] e controle de visada [27].
O Capı́tulo 4, Modelo Proposto, descreve o modelo proposto neste trabalho, detalhando
cada etapa do processo e as técnicas utilizadas para o desenvolvimento da aplicação.
O Capı́tulo 5, Desenvolvimento da Aplicação, detalha o desenvolvimento proposto da
aplicação. Trata-se do desenvolvimento de uma aplicação baseada em regiões de interesse,
caracterı́sticas da face do usuário, sendo composto pelas etapas: especificação de requisitos do sistema, desenvolvimento do projeto e processo de testes.
O Capı́tulo 6, Testes e Discussões, apresenta a criação do ambiente de testes para
utilização e avaliação da aplicação desenvolvida, testes comparativos com outros sistemas
de rastreamento ocular, e testes com diferentes equipamentos.
O Capı́tulo 7, Conclusão, destaca as contribuições da pesquisa, juntamente com as
limitações dos resultados obtidos, apresentando alguns pontos que podem servir de in5
dicações a trabalhos futuros.
6
2
FUNDAMENTAÇÃO TEÓRICA
Neste capı́tulo, é apresentada a fundamentação teórica e também os conceitos fundamentais que constituem o embasamento teórico e técnico deste projeto. A seção 2.1
aborda a área de IHC; a seção 2.2 apresenta a base da comunicação alternativa; a seção 2.3
aborda os principais algoritmos para processamento da região de interesse, e a seção 2.4
versa sobre os projetos atuais que utilizam o conceito de rastreamento ocular e controle
de visada.
2.1
Interação Humano-Computador
Com o rápido avanço da tecnologia, quase todas as pessoas têm contato com sistemas computacionais de uma forma ou de outra. Isso tem aumentado o espectro dos
usuários, pois não se restringem mais aos técnicos em Eletrônica ou Informática, mas incluem também pessoas de qualquer área do conhecimento ou que tenham variados graus
de conhecimento da tecnologia.
O principal desafio da área de IHC consiste em manter atualizados os avanços tecnológicos e assegurar que sejam aproveitados para levar ao máximo o benefı́cio ao ser
humano.
Um dos principais motivos de investimento em pesquisas na área de IHC é a busca
do aumento da eficiência e produtividade dos usuários e, consequentemente de um maior
ganho financeiro.
Conforme descrito por [28], há pessoas que, apesar de serem social, econômica, intelectual e culturalmente bem posicionadas, sentem dificuldades em operar determinados tipos
de máquinas digitais, passando a fazer parte dos excluı́dos da sociedade da informação.
A área de IHC tem caracterı́stica multidisciplinar, e seu objetivo é tornar as máquinas
sofisticadas mais acessı́veis, no que se refere à interação, aos seus usuários potenciais.
Sendo uma abordagem não exclusiva apenas da área da Computação, mas compartilhada
por toda a área de Ciência da Informação.
7
Numa primeira visão, considerando o computador como um tipo de máquina, poderia se pensar em IHC como parte da Interação Homem-Máquina. No entanto, embora
a interação entre um ser humano e um computador possua aspectos em comum com a
interação entre um ser humano e uma máquina qualquer, ela possui aspectos que a diferenciam. A Figura 1 ilustra a interação humano-computador da área de IHC, sendo que
o usuário executa uma determinada ação na interface de alguma aplicação, e a aplicação
retorna para o usuário a interpretação da ação solicitada de forma mais amigável.
Figura 1: Representação da IHC como parte da Interação Humano-Computador.
Conforme descrito por [29], os sistemas efetivos geram sentimentos positivos de sucesso,
competência e clareza para os usuários. Os usuários não se sentem atrapalhados com o
uso do computador e podem fazer uma previsão do que ocorrerá como resultado para
cada ação executada. Quando um sistema interativo é bem projetado, a dificuldade na
sua operação desaparece, permitindo que o usuário possa se concentrar em seu trabalho
com prazer.
2.2
Comunicação Alternativa
À medida que as Tecnologias da Informação e Comunicação (TICs) se desenvolvem,
novos recursos têm sido disponibilizados para criação de ferramentas, possibilitando a
interação entre a computação e diversas áreas. Conforme descrido por [13], tal interação
tem possibilitado o surgimento de novas pesquisas com objetivo de promover a inclusão
social de pessoas com deficiência.
Neste contexto, esta seção apresenta o uso de interfaces multimodais com acionamento
8
por direção do olhar, utilizados como solução para promover a comunicação alternativa
de pessoas com deficiência, buscando a inclusão social por meio da inclusão digital.
Pessoas que possuem problemas motores apresentam dificuldades para expressarem os
seus desejos, pensamentos ou até mesmo suas necessidades mais básicas. Nesse contexto,
[13] aponta algumas patologias existentes, destacando-se a Esclerose Lateral Amiotrófica
(ELA), na qual funções cognitivas estão preservadas, porém a comunicação oral é prejudicada pela alteração motora. Para estes casos, o tipo de comunicação é limitada, como
por exemplo, ao movimento das mãos, movimentação da cabeça, movimento dos olhos,
podendo se dar com um simples piscar de olhos ou a movimentação dos olhos direcionando
o mesmo para um determinado objeto.
Como descrito por [13], conceitos de interfaces multimodais podem servir de solução
para o processo de comunicação alternativa para pessoas portadoras de deficiência, chamado de Comunicação Alternativa Facilitadora (CAF). São apresentados também dois
modelos de sistemas utilizando o conceito CAF, sendo eles ImagoDiAnaVox [14] e NoteVox [15]. Tais sistemas apresentam modelos de interfaces com acionamento por movimento
ocular, sendo que sua utilização principal é a busca visual em crianças com Transtorno
Invasivo do Desenvolvimento.
O Sistema Eyegaze foi desenvolvido pela empresa LC Technologies Inc [30]. A movimentação ocular é descrita por meio do método pupil-center-corneal reflection (PCCR).
As taxas de amostragens foram geradas com 60 hertz, sendo que para cada captura de
amostragem são gerados indicadores a partir da captura ocular pela câmera. São gerados
os indicadores de diâmetro da posição da pupila a partir das coordenadas x-y, a partir
do centro da pupila identificada na tela, e o deslocamento ao longo do eixo z com base
na duração e localização dos pontos identificados. Pode-se observar na Figura 2 o equipamento utilizado para o sistema Eyegaze e a posição do usuário em relação à câmera, o
equipamento utiliza uma câmera infravermelho adaptada na base do monitor.
9
Figura 2: Layout ilustrativo do Eyegaze [30].
O uso de interfaces de acionamento ocular, conforme citado por [13], justifica-se nos
casos em que o único movimento que, de fato, a pessoa tem controle é dos olhos. O autor
cita que sistemas comerciais ainda são inacessı́veis para uma grande parcela da população,
devido ao seu custo elevado, sendo que tal situação poderá ser revertida devido ao desenvolvimento de novos sistemas.
Esta seção demonstra uma utilização importante de sistemas de rastreamento ocular,
e a falta de acessibilidade a esses sistemas e equipamentos. Este trabalho inicia a possibilidade de tornar sistemas de rastreamento ocular mais acessı́veis, não só para pessoas
com algum tipo de deficiência, mas para qualquer tipo de pessoa.
2.3
Principais algoritmos para detecção e processamento da região
de interesse
2.3.1
Detecção de Objetos
A detecção de objetos em Visão Computacional, consiste na tarefa de encontrar um
determinado objeto em uma imagem ou em uma sequência de imagens. Seres humanos
têm a capacidade de reconhecer uma infinidade de objetos em imagens com pouco esforço, mesmo com o fato de que objetos em imagens podem variar em diferentes pontos
10
de vista, tamanhos, escala, ou, até mesmo, quando são traduzidas. Os objetos podem até
mesmo serem reconhecidos quando estão parcialmente obstruı́dos da visão. Essa tarefa
ainda é um desafio para os sistemas de Visão Computacional em geral, pois ainda não foi
resolvida satisfatoriamente para o caso geral, em que objetos, cenários, iluminação e pose
são arbitrárias.
Um dos principais problemas desse processo, conforme descrito por [31], está relacionado à quantificação das informações visuais presentes nas imagens, ou seja, para um
reconhecimento de um dado objeto é necessário encontrar, de alguma maneira, caracterı́sticas na imagem que o distinguam dos outros objetos da cena.
Viola e Jones [16] abordam uma maneira de detecção de objetos em uma determinada
“região de interesse”, onde o algoritmo apresentado é superior aos demais já criados, se
comparados isoladamente. Tal algoritmo teve, inicialmente, seu principal objetivo na
detecção da região da face, onde os resultados em sua detecção e a exibição de falsos
positivos obtiveram taxas equivalentes aos melhores resultados já publicados.
A técnica apresentada por Viola e Jones [16] descreve diferentes maneiras para a
realização da detecção de objetos, conforme a representação na Figura 3, que apresenta
um exemplo das caracterı́sticas do retângulo em relação à janela de detecção. A soma
dos pixels dentro dos retângulos brancos é subtraı́da da soma de pixels dos retângulos
cinzas. Duas caracterı́sticas são apresentadas em (A) e (B), a Figura (C) apresenta uma
caracterı́stica de três retângulos, e a Figura (D) uma caracterı́stica com quatro retângulos.
11
Figura 3: Representação da Janela de Detecção. [16]
Uma das técnicas é chamada de Imagem Integral, sendo que a integral de uma determinada posição x,y é a soma dos pixels acima e dos pixels à esquerda do ponto x,y.
Desta maneira, pode computar rapidamente as caracterı́sticas do retângulo por meio
da utilização de uma representação intermediária da imagem, conforme apresentado na
Equação 1:
X
ii(x, y) =
0
0
0
i(x , y ),
0
x ≤x,y ≤y
Equação 1: Imagem integral [16].
A Figura 4 mostra a área utilizada para o cálculo da Imagem Integral.
12
(1)
Figura 4: Representação da Imagem Integral [16].
A representação da imagem integral, demonstrada na Figura 4, apresenta a soma dos
pixels dentro do retângulo D, que podem ser calculados a partir de quatro referências de
matriz. O valor da imagem integral no ponto 1 é a soma dos pixels no retângulo A. O
valor do ponto 2 é (A + B), o ponto 3 é (A + C) e o valor do ponto 4 é (A + B + C +
D). A soma dentro do ponto D pode ser calculada como 4 + 1 - (2 + 3). Onde ii(x,y) é
a Imagem Integral e i(x,y) é a imagem original.
Outra técnica é definida pela utilização do método AdaBoost [32] que, por sua vez,
tem como objetivo a utilização do processo de aprendizagem a fim de realizar buscas em
determinadas regiões de uma imagem.
Visando o aumento de velocidade no processo de detecção, a terceira técnica citada
por Viola e Jones [16] tem como objetivo a classificação por meio de uma estrutura em
cascata, focando em regiões promissoras da imagem.
Tais técnicas mostradas são utilizadas como base de muitos sistemas de detecção ocular, por se tratarem de métodos robustos e com um melhor desempenho, de acordo com
cada contexto.
13
2.3.2
Transformada de Hough
A Transformada de Hough é uma técnica de extração de caracterı́sticas muito utilizada em Análise de Imagens, Visão Computacional e Processamento de Imagem Digital.
A partir de um processo de votação, a técnica tem como principal objetivo detectar objetos a partir de uma classe de formas.
Um dos problemas na análise de imagens é a dificuldade de detecção de formas simples,
como linhas retas [33], cı́rculos ou elipses. Em alguns casos, a detecção de borda pode ser
uma etapa de pré-processamento, auxiliando na obtenção de pontos da imagem ou pixels
da imagem que estão na curva desejada no espaço da imagem.
Para detecção de retas, a Transformada de Hough utiliza de coordenadas polares como
parâmetros de busca, conforme apresentado na Figura 5.
Figura 5: Coordenadas da Transformada de Hough [33].
O parâmetro r representa a distância da reta à origem, enquanto θ é o ângulo do vetor
a partir da origem até o ponto mais próximo.
A partir desta parametrização, a equação da reta pode ser escrita conforme exibido
na Equação 2:
r cos Θ
y= −
x+
sin Θ
sin Θ
Equação 2: Equação da reta para Transformada de Hough [33].
14
(2)
A Transformada de Hough também pode ser utilizada para detecção de cı́rculos, conforme descrito por [17]. Esse processo realiza de forma parecida a detecção de uma reta,
porém, para detecção de um cı́rculo, é necessário a utilização de três parâmetros, conforme apresentado na seguinte função:
C:( X centers, Y centers, r)
Função de circunferência para Transformada de Hough [17].
Onde (Xc, Yc) definem a posição central e r é o raio da circunferência, permitindo
a detecção de um cı́rculo, conforme ilustrado na Figura 6.
Figura 6: Exemplo de detecção de cı́rculos utilizando a Transformada de Hough, com a
equação de circunferência [17].
A próxima seção aborda os trabalhos relacionados e que foram utilizados como base
de estudo para o desenvolvimento deste projeto.
2.4
Modelo-Base para o estudo
Esta seção apresenta o trabalho relacionado que foi utilizados como base da pesquisa
e modelo para o desenvolvimento da aplicação proposta.
A subseção 2.4.1 aborda um modelo de detecção e rastreamento ocular, baseado em
processamento de filtros na imagem, a fim de encontrar pontos de borda que se assemelham
a uma ı́ris.
15
2.4.1
Detecção e Rastreamento de Olhos para Detecção de uma Interface
Humano-Computador
O trabalho apresentado por [22], consiste no desenvolvimento de um sistema capaz
de, a partir da imagem capturada por uma webcam comum, identificar o movimento
dos olhos do usuário e converter esta informação no movimento do mouse. A Figura 7
apresenta o fluxo de desenvolvimento do modelo proposto por [22], ilustrando as etapas
de Processamento de Imagens.
Figura 7: Fluxo do modelo proposto por [22].
A identificação da região da face é determinada utilizando o sistema proposto por [24],
e, a partir desse resultado, o modelo realiza a busca na imagem por conjuntos de pontos
de borda que aproximam-se de uma circunferência, criando hipóteses e testando-as para
regiões onde possam estar os olhos do usuário. A detecção da região dos olhos se da a
partir do gradiente da imagem convertida para tons de cinza. Em seguida, o algoritmo
de detecção utiliza projeções horizontais e verticais dos pontos do gradiente, realizando a
identificação da região dos olhos com alta precisão [34], conforme apresentado na Figura 8.
Figura 8: Modelo utilizado na identificação da região dos olhos [22].
A Figura 8 ilustra o processo de identificação da região dos olhos, utilizando projeções
16
verticais, apresentado por [22]. A imagem [A] é resultado da projeção horizontal do gradiente da imagem original, encontrando dois pontos de máximo, sendo um em cada metade
da imagem. A imagem [B] apresenta o terço médio da face, limitado pelas retas verticais
laterais, identificando o ponto de máximo da projeção vertical da região e, finalmente, na
imagem [C], na mesma região identificada no passo anterior, são encontrados dois pontos
de máximo nas projeções horizontais, uma em cada metade da face. Tais pontos, juntamente com a reta horizontal, determinam os pontos onde a busca pelos olhos é iniciada.
Tal técnica obteve uma precisão de 95% de acerto na identificação da região dos olhos,
conforme resultados apresentado por [22].
Após realizada a detecção, um outro conjunto de pontos de borda, que se aproxima
de uma circunferência nas duas regiões dos olhos, é utilizado para a detecção das ı́ris. A
fim de reduzir o número de falsos positivos, são considerados o diâmetro esperado da ı́ris
e também a existência de uma diferença de tonalidade significativa entre pontos externos
e internos da borda, conforme apresentado na Figura 9.
Figura 9: Modelo utilizado na identificação da região da ı́ris [22].
O estágio final do projeto desenvolvido e descrito por [22], na seção de experimentos,
17
permite uma taxa de identificação da ı́ris em imagens com boa iluminação frontal de até
87%.
Os problemas relatados e verificados em [22] estão relacionados a falhas na detecção
dos olhos, onde variações de iluminação no ambiente tornam a detecção dos olhos e seu
rastreamento mais demorado, necessitando, em vários momentos, de uma reinicialização
de todo o processo, não apresentando robustez adequada para uso real. A necessidade
da aplicação de filtros, em toda região, em tempo real, torna o processo demorado para
a detecção da região dos olhos. Além disso, o processo de movimentação do ponteiro do
mouse é pouco preciso, necessitando de um procedimento de calibração mais eficaz.
18
3
TRABALHOS CORRELATOS
Esta seção apresenta os trabalhos correlatos de sistemas de rastreamento ocular utilizados como base de estudos neste trabalho. A seção 3.1 aborda o sistema ITU Gaze
Tracker, desenvolvido pelo grupo de pesquisas ITU GazeGroup [35]; a seção 3.2 versa
sobre o produto comercial Tobii, desenvolvido pela empresa Tobii Technology [36]; a
seção 3.3 apresenta o produto comercial EAS Binocular, desenvolvido pela empresa LC
Technologies Inc. [30]; a seção 3.4 apresenta um trabalho que utilizou como base o trabalho apresentado na subseção 2.4.1, visando identificar melhorias no processo, tornando
o sistema mais robusto.
3.1
ITU Gaze Tracker
Pesquisas relacionadas à rastreamento ocular e controle de visada são temas em constante evolução em diferentes trabalhos. Um desses trabalhos é apresentado pelo grupo de
pesquisas ITU GazeGroup (Research on eye tracking and gaze interaction) [35], em que
o processo de rastreamento ocular consiste em uma ou mais câmeras capturando os olhos
do usuário, a fim de medir e identificar os movimentos oculares, conforme apresentado na
Figura 10. O projeto, conforme ilustrado na imagem, possui como etapa inicial a captura
da imagem, seguida da extração das caracterı́sticas da imagem, como, por exemplo, o
centro da pupila e/ou o centro da ı́ris. Uma etapa de fixação dos olhos é adicionada para
minimizar os ruı́dos durante o Processamento da Imagem. Após a finalização das etapas
de Processamento de Imagem, é iniciado o processo de calibração do usuário, que tem
como objetivo fazer o mapeamento entre a posição da pupila com as coordenadas na tela.
Figura 10: Sistema de rastreamento ocular [35].
A aplicação Gaze Tracker foi desenvolvida inicialmente para utilização em testes de
19
usabilidade, conforme descrito por [27]. A aplicação Gaze Tracker possui as seguintes
caracterı́sticas: a obtenção da direção do olhar e pontos não visualizados pelo usuário.
Trata-se de um código aberto e baseia-se em equipamentos de baixo custo, obtendo os
mesmos resultados de rastreadores oculares comerciais. Os requisitos para utilização da
aplicação são uma webcam ou câmera de vı́deo com visão noturna e iluminação infravermelho.
Utilizando a biblioteca OpenCV [23], para Processamento de Imagens, os passos utilizados no Processamento de Imagens capturadas a partir de uma câmera são descritos
por [37], sendo a câmera posicionada para capturar apenas os olhos do usuário em infravermelho.
Para determinar o centro do olho mostrado na Figura 11, é executada uma segmentação na imagem extraindo os pontos de contorno entre a pupila e a ı́ris. Os pontos
encontrados são transformados em uma elipse usando o procedimento RANSAC (RANdom SAmple Consensus) [38] para eliminar os falsos positivos. A Figura 11 mostra como
é realizada a captura do olho do usuário, detalhando a tela de configuração do sistema
ITU Gaze Tracker, sendo possı́vel configurar, por exemplo, o tamanho da área da pupila
do usuário e o do brilho da câmera infravermelho.
Figura 11: Interface da aplicação ITU Gaze Tracker [27].
20
A Figura 12 apresenta outro exemplo de configuração que o sistema permite fazer,
apresentando uma configuração considerada “boa”, quando os parâmetros não estão configurados muito abaixo e nem muito alto (esquerda) e uma outra configuração considerada
“ruim”, pois os parâmetros foram configurados com seus valores máximos.
Figura 12: Modelos de configuração da área da pupila, configuração boa (esquerda) e
configuração ruim (direita) [27].
A precisão dos rastreadores é calculada a partir do ângulo visual, em que o tamanho
de um pixel S e a distância do usuário em relação a tela D precisam ser pré-determinados.
O cálculo de precisão em graus é feito por meio da Equação 3:
180
.2.tan− 1
Ao =
π
Ap x
.S
2
!
(3)
D
Equação 3: Cálculo de precisão em graus.
O cálculo da distância entre as posições oculares detectadas e a posição do possı́vel alvo
produz uma taxa de erros em pixels, e sua precisão é calculada por meio da Equação 4:
Ap x =
M
X
||Ti −Pi ,j||
j=1
N
PN
!
M
i=1
(4)
Equação 4: Distância entre as posições oculares.
Ap x é a precisão em pixels, e a distância entre os olhos é feita pela amostra de P i, e
seu correspondente é calculado por T i, gerando uma taxa de erro em pixels.
21
O desenvolvimento do sistema ITU Gaze Tracker teve como objetivo a captura e rastreamento ocular, e seu processo parte da detecção de um único olho do usuário, sendo
necessárias duas lâmpadas infravermelho iluminando os olhos do usuário. O projeto teve
um custo total de US$100, diferente de um equipamento profissional, citado na pesquisa,
conhecido como Tobii modelo T60 [11], que tem um custo de US$30 mil.
A Figura 13 mostra o ambiente utilizado para a execução dos testes do ITU Gaze
Tracker, sendo apresentado o monitor adaptado com uma câmera infravermelho na base.
O usuário deve ficar a uma distância de 60 cm do monitor para melhor captura da imagem.
Figura 13: Ambiente de testes ITU Gaze Tracker [27].
Experimentos realizados com o ITU Gaze Tracker obtiveram uma taxa de erro maior
em relação ao sistema Tobii T60, porém os resultados foram muito satisfatórios tratandose de um sistema de baixo custo. A Figura 14 mostra a diferença entre os sistemas, após a
utilização e análise dos resultados de ambos. Os cı́rculos vermelhos mostram o erro médio
potencial do sistema Tobii T60, e os cı́rculos amarelos mostram os resultados com ITU
Gaze Tracker.
3.2
Tobii T60
O produto Tobii T60 [11] consiste de um produto comercial, em que um monitor de 17o
polegadas é integrado ao sistema de rastreamento ocular. O T60 realiza o rastreamento
binocular, ou seja, os dois olhos são rastreados simultaneamente a uma taxa de 60Hz. O
22
Figura 14: O potencial erro médio do Tobii T60 (cı́rculo vermelho) e o ITU Gaze Tracker
(cı́rculo externo amarelo) ilustrado em um screenshot da página do NY Times. [27]
modelo permite o movimento da cabeça do usuário em até 70cm, sendo necessário que a
cabeça permaneça centralizada ao monitor.
O T60 integra um processador dedicado, cujo objetivo é o de não sobrecarregar o
computador. O desempenho do sistema é relatado com uma latência de 33ms a partir
da exposição do usuário à câmera de captação da imagem. A Figura 15 apresenta o
projeto Tobii modelo T60, sendo um monitor com uma câmera de captura infravermelha
adaptada na base.
Figura 15: Projeto Tobii modelo T60 [36].
23
3.3
EAS Binocular
O produto EAS Binocular possui as seguintes caracterı́sticas: - captura de imagens em
infravermelho; - taxa de atualização de 120Hz; - captura e processamento dos dois olhos
de forma independente; - captura 3D da localização ocular; - detecção do diâmetro da
pupila; - modos de calibração entre 05 e 13 pontos; e uma taxa de acuracidade posicional
de 0.45o e pode ser adaptado em monitores entre 10” e 35” polegadas.
A Figura 16 apresenta o produto EAS Binocular, mostrando a câmera de captura
infravermelho adaptado a base do monitor.
Figura 16: Produto EAS Binocular da empresa LC Technologies, Inc [30].
O sistema EAS Binocular é utilizado na realização de testes comparativos com o
sistema proposto neste trabalho, processo detalhado no capı́tulo 6.
3.4
Robustez em um Sistema de Detecção e Rastreamento Ocular
A melhoria da pesquisa realizada por [22], que deu origem a um sistema mais robusto
constituiu, um dos primeiros passos deste trabalho de mestrado.
Com as implementações propostas e implementadas no trabalho base [39], foi obtido
um ganho de até 51% em relação ao modelo proposto por [22], conforme apresentado na
Tabela 1, tornando o sistema mais robusto e com um desempenho mais elevado, mantendo
24
os requisitos de hardware e software.
A taxa de melhora apresentada, em relação ao sistema utilizado como base, está relacionada à melhora no processo de detecção das regiões da face e dos olhos, o qual, diferente
do modelo apresentado por [22] na seção 2.4.1, realizou três modificações nesse processo,
limitando a região de busca dos olhos.
A Figura 17 apresenta a primeira modificação (método A) implementada no sistema
proposto por [22], apresentado no trabalho [39], com objetivo de alterar apenas os processos de detecção da face e detecção dos olhos.
Figura 17: Diagrama de Fluxo da Implementação A.
A segunda modificação (método B) no sistema proposto por [22], exibida na Figura 18,
mantém o processo original de detecção da face e dos olhos, e aplica a modificação após
a primeira detecção da ı́ris, definindo uma região de interesse em torno dos olhos, para
realizar uma busca local da região da ı́ris. O objetivo dessa modificação é limitar o
processamento apenas a uma região de interesse.
Figura 18: Diagrama de Fluxo da Implementação B.
Na terceira modificação (método C), apresentada na Figura 19, combina-se o método
A (Figura 17) com a região em torno dos olhos do método B (Figura 18) para realizar
uma busca local da ı́ris. O processo de identificação da região da ı́ris, devido ao seu
desempenho satisfatório proposto por [22], foi mantido no trabalho proposto por [39].
Figura 19: Diagrama de Fluxo da Implementação C.
25
A Figura 20 mostra o resultado da implementação, a partir do diagrama de fluxo da
implementação C, exibindo as marcações das regiões de interesse processadas a partir da
imagem capturada pela webcam.
Figura 20: Implementação do modelo apresentado no trabalho [39].
A Tabela 1 mostra o ganho e a perda de desempenho dos métodos implementados
por [39], tomando como base o tempo total (detecção de ı́ris e calibração do sistema)
dos resultados obtidos com o método [22], tempos aplicados a testes realizados com dois
usuários.
Tabela 1: Desempenho dos métodos A, B e C em relação ao método proposto por [22]
(tempo total).
Usuário 1
Usuário 2
Método A
-24%
-4%
Método B
16%
13%
Método C
51%
20%
26
4
MODELO PROPOSTO
Este capı́tulo apresenta o modelo proposto neste trabalho, visando o desenvolvimento
de software aplicado a rastreamento ocular e controle de visada. A seção 4.1 apresenta o
detalhamento do macro fluxo do modelo proposto neste trabalho.
4.1
Descrição do Macro Fluxo
A utilização de regiões de interesse [26] permite o Processamento de Imagens com alta
resolução, em tempo real, sem a perda de desempenho. Uma imagem com alta resolução
possui um número maior de pixel tornando a detecção de objetos mais precisa e robusta.
A Figura 21 detalha o modelo proposto neste trabalho, servindo de base para o desenvolvimento da aplicação, tendo como objetivo principal o processamento de regiões de
interesse na imagem, possibilitando um melhor desempenho em cada etapa de processamento.
27
Figura 21: Fluxo macro do modelo proposto neste trabalho.
À seguir são detalhadas cada uma das atividades do modelo proposto, ilustradas na
Figura 21.
28
4.1.1
Captura do frame da webcam
O modelo proposto por [22] realiza a captura do frame em uma resolução máxima
de 640x480 pixels, com uma taxa de 15fps. Neste trabalho, a captura de frames pela
webcam é feita com uma qualidade não inferior a 720p, ou seja, captura é realizada com
resolução mı́nima de 1280x720 pixels com uma taxa de 30fps. Para que o desempenho do
computador não seja um fator negativo no Processamento da Imagem, são processadas
apenas as regiões de interesse, eliminado o problema de desempenho encontrado no modelo
proposto por [22], que faz o processamento em toda a imagem para cada frame capturado.
Para a próxima etapa do processo, a imagem é convertida para uma imagem em escala
de cinza e realizada a equalização do histograma, demonstrado na Figura 22.
Figura 22: Conversão da imagem original para escala de cinza com equalização de histograma.
29
4.1.2
Detecção da Região da Face
Nesta etapa recebe-se como parâmetro de entrada a imagem em escala de cinza e
realiza-se a detecção da região da face. Para a detecção da face é utilizada a técnica
apresentada por [16] e como parâmetro de entrada um arquivo XML contendo os Classificadores Haar, conforme descrito na biblioteca do OpenCV [40]. Com a região da
face delimitada, uma estimativa da região dos olhos é extraı́da da imagem, servindo de
parâmetro de entrada para a detecção dos olhos.
A técnica segue as caracterı́sticas apresentadas na seção 2.3.1, que utiliza três contribuições: Imagem Integral; Algoritmo de aprendizagem baseado em AdaBoost [32] e um
método de combinação de classificadores de complexidade baseados em Haar-like features
[41], ou seja, extração de atributos da imagem digital na detecção de objetos, criando um
filtro em cascata eficiente.
A solução proposta por [41], consiste na busca de atributos simples na imagem, e em
sua sucessiva busca por atributos mais detalhados. A busca pelos atributos na imagem,
é feita por uma variante do algoritmo AdaBoost [32], que consiste na busca de uma série
de classificadores, que possuam um funcionamento em conjunto. A Figura 23 mostra a
representação do algoritmo AdaBoost durante o processo de busca de atributos da imagem.
30
Figura 23: Representação da sequencia de busca de atributos na imagem.
O algoritmo proposto por [41], trata regiões de 24x24 pixels, e a imagem é escaneada em
11 diferentes escalas, cada uma é 1.25 vezes maior que a anterior. A Figura 24 apresenta
os atributos utilizados pelo primeiro classificador.
Figura 24: Representação da utilização de atributos utilizados por [41].
O detector é então composto por 38 classificadores em cascata que usam no total 6060
atributos. O primeiro classificador usa apenas dois atributos e é capaz de rejeitar 50%
31
das imagens não-face e aceitar perto de 100% das imagens de regiões da face. O próximo
classificador utiliza dez atributos. Os próximos dois classificadores usam 25 atributos
cada, e são seguidos por três classificadores com 50 atributos. Os próximos classificadores
usam quantidades variadas de atributos.
Os classificadores são organizados no formato de uma árvore de decisão degenerada,
que consiste no detector em cascata. O funcionamento dessa estrutura ocorre pela passagem de todas as sub janelas de uma imagem por diversos classificadores, sendo os primeiros
mais simples que os seguintes. Após a obtenção de um resultado positivo na execução do
primeiro classificador, a janela segue para o próximo, continuando seu processo até ser
rejeitada, ou então, chegar ao final da cascata. Podendo ser rejeitada em qualquer uma
das etapas, o detector entende que não existe uma face na janela processada. A Figura 25
ilustra o processamento em cascata apresentado por [16].
Figura 25: Estrutura que representa o detector em cascata [16].
Após a região da face ser identificada pelo processo anterior, os pontos de borda são
utilizados como base para o primeiro processo de delimitação da região de interesse, que
consiste em reduzir a região da face em um único retângulo, onde todo o processamento
subsequente será realizado.
32
A Figura 26 apresenta a região de interesse da face a partir do Processamento da
Imagem de entrada, esta região é utilizada como parâmetro de entrada para as próximas
etapas, sendo desconsiderada do processamento a área não demarcada. Esse processo proporciona um ótimo desempenho e torna possı́vel a utilização de imagens de alta resolução.
Figura 26: Região de interesse da face.
A Figura 27 apresenta o pseudocódigo do processo de detecção da região da face, exibindo os parâmetros utilizados para cada etapa do processo até a delimitação da região
de interesse e o processo de exibição da região de interesse na imagem original.
4.1.3
Detecção da Região dos Olhos
A delimitação da região de interesse da face é utilizada como base para a detecção da
região dos olhos. O processo de detecção ocular utiliza a técnica de [16]. Após a realização
da detecção ocular, uma nova delimitação da região de interesse é aplicada nas bordas
de cada olho. Nesse processo são delimitadas duas novas regiões de interesse, sendo uma
para o olho esquerdo e outra para o olho direito.
Com a estimativa da região dos olhos realizada no passo anterior, o processo de detecção dos olhos baseia-se no mesmo processo utilizado na detecção da face, porém o
33
Figura 27: Pseudocódigo do processo de detecção da face.
parâmetro de entrada contém o arquivo XML com os Classificadores Haar, para a região
dos olhos, conforme descrito na biblioteca do OpenCV [40]. A identificação da região dos
olhos serve de parâmetro de entrada para a identificação da região da ı́ris que, por sua
vez, também é processada para os dois olhos de forma independente.
A Figura 28 exibe a demilitação da região de interesse do olho esquerdo após o processo
de detecção. A região delimitada, apresentada na figura, é o parâmetro de entrada para
a detecção da ı́ris, sendo ignorada toda a área não demarcada neste processo.
A Figura 29 exibe a demilitação da região de interesse do olho direito, utilizando o
mesmo processo de detecção descrito para o olho esquerdo. A região delimitada apresen-
34
Figura 28: Região de interesse do olho esquerdo.
tada na figura, conforme descrito anteriormente, é o parâmetro de entrada para a detecção
da ı́ris, sendo também ignorada toda a área não demarcada neste processo.
Figura 29: Região de interesse do olho direito.
35
A Figura 30 apresenta o pseudocódigo do processo de detecção do olho esquerdo, exibindo os parâmetros utilizados para cada etapa do processo até a delimitação da região de
interesse e o processo de exibição da região de interesse na imagem original. Para o olho
direito, um processo similar é executado, diferenciando apenas nos parâmetros utilizados
para detecção e calculo das regiões.
Figura 30: Pseudocódigo do processo de detecção da região do olho esquerdo.
4.1.4
Busca pela Região da Íris
Neste trabalho, a detecção da ı́ris e seu rastreamento são os pontos principais a serem
estudados. Para esse processo foi utilizada a técnica Transformada de Hough, conforme
36
descrita por [25]. A utilização desta técnica tem como objetivo a busca de cı́rculos na
região de interesse de cada olho. A detecção da ı́ris é feita de maneira individual, ou seja,
é feita a detecção da ı́ris do lado esquerdo independentemente da detecção do lado direito.
A Figura 31 apresenta o resultado da técnica apresentada por [25], utilizando a técnica
da Transformada de Hough.
Figura 31: Detecção da ı́ris, apresentada por [25], utilizando a Transformada de Hough.
O processo de detecção da ı́ris leva em consideração a região de interesse de cada olho,
destacado na etapa anterior. A busca de um cı́rculo parte dos limites atribuı́dos para
cada um dos olhos já detectados.
Para obter uma melhor precisão na detecção da ı́ris, em conjunto com a técnica Transformada de Hough, descrita por [25], a detecção das bordas da região de interesse se fez
necessária a fim de delimitar a região de busca da ı́ris a partir da região dos olhos. Esse
processo torna possı́vel a identificação do centro da pupila, tornando a detecção e rastreamento da ı́ris mais robusta.
A Figura 32 mostra a região de interesse da ı́ris do lado esquerdo e a Figura 33 mostra
a região de interesse da ı́ris do lado direito. As imagens também apresentam a indicação
37
do canto de cada olho, os quais têm as suas posições determinadas pela detecção do centro
da pupila.
Figura 32: Região de interesse da ı́ris do lado esquerdo.
A Figura 32 mostra o processo após a detecção da região dos olhos e a delimitação
dos pontos de interesse na imagem, sendo realizado o Processamento da Imagem a fim de
buscar e a detectar da ı́ris, apenas na região demarcada no processo anterior.
A Figura 33 segue o mesmo processamento utilizado para a Figura 32, sendo efetuada
a busca e detecção da ı́ris apenas ne região delimitada no processo anterior.
Figura 33: Região de interesse da ı́ris do lado direito.
Como pode ser observado nas figuras anteriores, o processo de busca e detecção da
38
ı́ris, para ambos os olhos, trabalha de forma independente, ou seja, tanto o olho esquerdo
como o olho direito possuem processos independentes de busca e detecção, permitindo a
parametrização, ou talvez, algum tipo de adaptação para qualquer um dos olhos, sem que
o mesmo interfira no processamento do outro.
4.1.5
Calibração do Sistema
Para garantir uma precisão satisfatória das ações a serem realizadas pelo usuário,
como, por exemplo, a movimentação do ponteiro do mouse, foi adicionado à aplicação um
processo de calibração. Tal processo exige, após a primeira interação do usuário durante
a detecção da ı́ris, que o mesmo fixe o olhar para pontos definidos pela aplicação, com o
objetivo de armazenar os limites de cada um dos quatro lados do monitor, sendo eles os
pontos de máximo e mı́nimo dos eixos X e Y .
As coordenadas são utilizadas para determinar a precisão do movimento do mouse
visto que, neste trabalho, tais coordenadas são extraı́das de forma independente, ou seja,
são extraı́das para cada olho separadamente. Esse processo torna o movimento do ponteiro mais preciso, pois a detecção de forma conjunta causa falhas de posicionamento e
pouca precisão durante o processo de posicionamento do ponteiro do mouse.
O processo de calibração foi separado em fases distintas, sendo que cada uma orienta o
usuário a fixar o olhar para cada um dos pontos indicados na tela. As fases da calibração
foram divididas da seguinte maneira:
1. centro da tela;
2. canto superior esquerdo;
3. canto superior direito;
4. canto inferior direito;
5. canto inferior esquerdo.
As fases do processo de calibração são realizadas para os dois olhos, conforme já
descrito.
39
4.1.6
Rastreamento da Íris
Após a calibração realizada e os limites identificados, o processamento é retomado
para a etapa inicial, porém com as regiões de interesse já demarcadas durante a primeira
interação. O centro da ı́ris é demarcado para ser utilizado como referência para a próxima
etapa do processo, sua posição em relação à imagem é transformada a partir de uma matriz de transformação em uma posição (x, y) proporcional ao tamanho da área de trabalho
utilizada. Tal processo é base para a realização da movimentação do ponteiro do mouse.
A Figura 34 apresenta o pseudocódigo do processo de detecção da ı́ris, exibindo os
parâmetros utilizados para cada etapa do processo até a delimitação da região de interesse
e o processo de exibição da região de interesse na imagem original. O processo se repete
para detecção da ı́ris em ambos os olhos, direito e esquerdo, não havendo diferença de
parâmetros ou configuração personalizada para ambos os olhos.
Figura 34: Pseudocódigo do processo de detecção da região da ı́ris.
40
O processo de rastreamento da ı́ris aplicada neste trabalho, consiste em uma busca
local realizada para cada frame capturado pela câmera. Devido a delimitação das regiões
de interesse realizada nos processos anteriores de detecção da face e detecção da região dos
olhos, a retomada do processo de detecção da ı́ris não possui custo computacional elevado.
Os estados atuais da detecção da ı́ris são armazenados em variáveis de controle, com
objetivo de aumentar a robustez da aplicação em uma possı́vel falha em alguma das etapas
do processo, o sistema realiza a retomado do processo inicial a partir dos parâmetros
armazenados no processamento do frame anterior, tornando o sistema tolerante a falhas,
não necessitando realizar todas as etapas do Processamento de Imagens, o que poderia
acarretar em um custo computacional desnecessário.
4.1.7
Movimento do Mouse
A partir de todo o processo de detecção das caracterı́sticas da região da face com
limitação das regiões de interesse, é possı́vel manipular essas informações de várias maneiras, como, por exemplo, controle do clique do mouse a partir do piscar de olhos do
usuário, conforme descrito por [42] e [43]. Desta maneira, são desenvolvidos sistemas com
base na detecção da ı́ris do usuário e o controle do mouse a partir dos movimentos dos
olhos.
O posicionamento do ponteiro do mouse é calculado a partir dos limites das regiões
estabelecidas pelo processo de calibração. Tal processo tem como objetivo identificar os
limites da área de visão do usuário, a fim de melhorar a precisão dos movimentos do
ponteiro do mouse.
A captura dos limites de tela é realizada no processo de calibração da aplicação,
sendo armazenados os pontos demarcados em tela, para determinar os limites de tela, e
também, o ponto central, pontos utilizados para posterior cálculo de posicionamento do
mouse, baseado no posicionamento ocular. A Figura 35 ilustra os pontos armazenados
durante o processo de calibração, sendo calculados os limites dos pontos capturados.
41
Figura 35: Modelo de cálculo de limites das posições x,y.
Para geração do ∆x e ∆y, são considerados o posicionamento dos dois olhos do usuário,
então é calculada a média sobre os valores a partir da diferença entre a média das posições.
A Equação 5 apresenta o cálculo realizado para o ∆x.
∆x =
XseL + XseR XsdL + XsdR
−
2
2
(5)
Equação 5: Cálculo do ∆x.
Sendo XseL a posição X superior esquerda relacionada ao olho esquerdo, XseR a
posição X superior esquerda relacionada ao olho direito, XsdL a posição X superior direita relacionada ao olho esquerdo e XsdR a posição X superior direita relacionada ao
olho direito.
A Equação 6 apresenta o cálculo para o ∆y.
∆y =
Y seL + Y seR Y ieL + Y ieR
−
2
2
−
Y sdL + Y sdR Y idL + Y idR
−
2
2
(6)
Equação 6: Cálculo do ∆y.
Sendo Y seL a posição Y superior esquerda do olho esquerdo, Y seR a posição Y superior esquerda do olho direito, Y ieL a posição Y inferior esquerda do olho esquerdo, Y ieR
a posição Y inferior esquerda do olho direito, Y sdL a posição Y superior direita do olho
42
esquerdo, Y sdR a posição Y superior direita do olho direito, Y idL a posição Y inferior
direita do olho esquerdo e Y idR a posição Y inferior direita do olho esquerdo.
O cálculo dos pontos ∆x e ∆y são armazenados para posterior utilização no processo
de movimentação do mouse, tal que, para cara posicionamento ocular capturado em cada
frame processado pela aplicação, os valores de ∆x e ∆y são utilizados para mapear a tela
do usuário, em relação à imagem capturada.
A posição central, capturada no inı́cio do processo de calibração, é utilizado para
realizar o movimento do mouse, sendo que, sua posição é armazenada em cada frame
processado. O posicionamento X e Y capturados no frame, é comparado com o valor
capturado no frame anterior, e então, o ponteiro do mouse é movimentado, tendo seu
posicionamento X e Y acrescido e/ou decrescido de 20 pixels, sendo então, realizado o
movimento do ponteiro do mouse.
4.1.8
Acionamento do Click do Mouse
Para o acionamento da ação de click do mouse, foi utilizada a mesma operação realizada por [22], sendo executada a ação de “Click ” a partir do “fechamento” de um dos
olhos, podendo ser, o olho esquerdo, ou o olho direito. O processo de “fechamento” de
um dos olhos, é identificado a partir da não detecção da ı́ris de apenas um dos olhos por
mais de dois segundos.
43
5
DESENVOLVIMENTO DA APLICAÇÃO
Este capı́tulo versa sobre o desenvolvimento da aplicação baseado no modelo proposto.
O desenvolvimento do sistema de software deste trabalho consiste no processamento de
regiões especı́ficas da imagem, mais precisamente nas regiões mais importantes para os
resultados esperados do processo.
A aplicação foi desenvolvida com objetivo de validar as técnicas descritas no capı́tulo
4, realizando testes com o sistema-base e sistemas comerciais e, também a apresentação
de casos de testes apenas da aplicação desenvolvida neste trabalho. A seção 5.1 apresenta
a metodologia de desenvolvimento de software utilizada; a seção 5.2 descreve o escopo do
desenvolvimento da aplicação; a seção 5.3 detalha o processo de análise de requisitos; a
seção 5.4 versa sobre os recursos de hardware e software utilizados para o desenvolvimento
da aplicação. Finalmente a seção 5.5 aborda o processo de implementação da aplicação
desenvolvida.
5.1
Metodologia de Desenvolvimento da Aplicação
A metodologia utilizada para suportar o desenvolvimento da aplicação é a metodologia
baseada em Prototipação.
Prototipação (ou modelo Evolutivo), conforme definido por [44], é classificada como
um Modelo de Processo de Software, ou seja, ela determina a maneira precisa de como
serão as atividades e dinâmicas da criação do software. O desenvolvimento é feito obedecendo a realização das diferentes etapas de análise de requisitos, projeto, codificação e os
testes.
Devido à complexidade no levantamento de requisitos, se faz necessária a utilização
de um protótipo do sistema, sendo que um protótipo é uma versão inicial de um sistema
de software, utilizado para apresentar conceitos e realização de testes experimentais.
Um protótipo de software apóia duas atividades do processo de engenharia de requisitos:
44
• Levantamento de requisitos: Os protótipos de sistema permitem que os usuários
realizem experiências para ver como o sistema apóia seu trabalho. Podem gerar
novos requisitos e identificar pontos positivos e negativos do software.
• Validação de requisitos: O protótipo pode revelar erros e omissões nos requisitos propostos. Uma função descrita em uma especificação pode parecer útil e
bem-definida. Contudo, quando essa função é utilizada com outras, os usuários
muitas vezes acham que sua visão inicial era incorreta e incompleta. A especificação
de sistema pode, então, ser modificada para refletir sua compreensão alterada dos
requisitos.
A Figura 36 apresenta o modelo de desenvolvimento utilizando a metodologia de prototipação da Engenharia de Software.
Figura 36: Modelo de prototipação [44].
Conforme descrito por [45], um protótipo é uma versão inicial de um sistema, para
demonstrar conceitos e testar opções de projeto, podendo ser utilizado no processo de
engenharia de requisitos, auxiliando na validação de requisitos requisitos, nos processos de projeto para explorar opções, no desenvolvimento de um projeto de interface de
usuário e no processo de testes. A Figura 37 exemplifica o processo de desenvolvimento
45
de protótipos, apresentando as fases do desenvolvimento de um protótipo, seguindo a
metodologia de prototipação.
Figura 37: Processo de desenvolvimento de protótipos [45].
5.2
Descrição do Desenvolvimento da Aplicação
Para o desenvolvimento da aplicação de rastreamento ocular proposto neste trabalho,
foi criado um fluxo de atividades no qual é detalhada a sequência de processamento da
imagem. A Figura 38 mostra o fluxo principal da metodologia utilizada neste trabalho,
seguindo o modelo proposto no capı́tulo 4. A execução da aplicação segue uma sequência
de tarefas a serem executadas, conforme ilustrado na imagem.
Figura 38: Fluxo principal do sistema.
46
5.3
Análise de Requisitos
Segundo a IEEE [46], a análise de requisitos é um processo que envolve o estudo das
necessidades do usuário para se encontrar uma definição correta ou completa do sistema
ou requisito de software.
O processo de análise de requisitos neste trabalho tem como objetivo, englobar as
tarefas de especificação de requisitos, consolidando funções e apresentando a modelagem
da aplicação, apresentando ferramentas que facilitarão o entendimento do sistema, como
as funcionalidades e seu comportamento.
A Figura 39 apresenta o Diagrama de Caso de Uso do sistema proposto baseado no
fluxo principal exposto, mostrando a interação do usuário com o sistema, mostrando
também as interações entre os módulos do sistema.
Figura 39: Diagrama de Caso de Uso do sistema.
47
Na primeira interação com o usuário, o sistema irá realizar a inicialização dos parâmetros
iniciais, sendo eles: - configurações para captura de imagens pela câmera (altura, largura,
frames por segundo); - arquivos xml de configuração das regiões da face para detecção;
- arquivo xml de configuração das regiões dos olhos para detecção. Seguido das etapas
de processamento de detecção e delimitação de regiões de interesse da face, dos olhos e
da ı́ris. Após a conclusão das etapas de processamento, é então inicializada a interface
de calibração, seguida pela interface de rastreamento ocular, permitindo ao usuário a utilização do sistema.
A Figura 40 apresenta o Diagrama de Sequência do sistema proposto, a fim de ilustrar
a troca de mensagens entre o usuário e entre os módulos do sistema durante toda a sua
execução.
Figura 40: Diagrama de Sequência do sistema.
O sistema foi desenvolvido de forma modular e independente, a fim de permitir o reaproveitamento de código. Para permitir o reaproveitamento de código, o módulo contendo
as regras de processamento da face, dos olhos, e da ı́ris foi desenvolvido na construção
de um Framework. Conforme abordado por [47], Framework é um conjunto de classes
que colaboram para realizar uma responsabilidade para um domı́nio de um subsistema
da aplicação, que representam uma estrutura formada por blocos pré-fabricados de software, disponı́vel para a utilização de desenvolvedores, dos quais podem ser estendidos ou
adaptados em uma solução especı́fica.
48
A Figura 41 apresenta o Diagrama de Pacotes do sistema proposto, desenvolvidos de
forma independente. O pacote de apresentação contém as interfaces para os usuários,
tendo como dependência os pacotes de regras e Rastreamento Ocular. O pacote de Rastreamento Ocular contém toda a lógica de rastreamento ocular, que são: posicionamento
da ı́ris; movimento do mouse, tendo como dependência apenas o pacote de Regras. Por
fim, o pacote de Regras possui a lógica de processamento de regiões de interesse da face,
dos olhos e da ı́ris que, conforme ilustrado na Figura 41, é um conjunto de classes independentes, que podem ser utilizadas e/ou adaptadas em qualquer outro sistema.
Figura 41: Diagrama de Pacotes do sistema.
De acordo com a metodologia apresentada para o desenvolvimento de um sistema de
rastreamento ocular, o desenvolvimento é constituı́do baseado na modelagem de desenvolvimento de sistema orientados a objetos.
A Figura 42 exibe o Diagrama de Classe do sistema proposto. O Diagrama de Classe
apresenta as classes principais do sistema, como sendo conteúdo do pacote de Regras
apresentado anteriormente no Diagrama de Pacotes.
49
Figura 42: Diagrama de Classe do sistema.
50
5.4
Projeto
Para a codificação do sistema desenvolvido neste trabalho foi utilizada a Integrated
Development Environment (IDE) ou Ambiente Integrado de Desenvolvimento Microsoft
Visual Studio 2013 Professional [48].
As linguagens de desenvolvimento de software Visual C# [49] (“C sharp”) e C++ [50],
foram utilizadas para suportar o desenvolvimento da aplicação.
A Tabela 2 apresenta os equipamentos de hardware utilizados para o desenvolvimento
deste projeto de desenvolvimento do software.
Tabela 2: Descrição dos equipamentos utilizados.
Equipamento
Modelo
Configuração
Notebook Sony Vaio
SVS15115FBB
Processador Intel Core i7, 6GB
RAM, HD 750GB
Monitor Benq
XL24210T
24 polegadas e resolução FULL
HD
A captura em tempo real das imagens foi feita a partir de uma webcam com capacidade
máxima de captura de 720p com 30fps.
5.5
Implementação
A partir da especificação e análise de requisitos realizada anteriormente, realizou-se
o desenvolvimento de um protótipo de uma aplicação de rastreamento ocular com as
seguintes funcionalidades:
• seleção da câmera de captura;
• inicialização da captura;
• inicialização da calibração;
• controles de detecção dos olhos;
– detecção do olho esquerdo;
51
– detecção do olho direito;
• controles de detecção da ı́ris;
– detecção da ı́ris esquerda;
– detecção da ı́ris direita;
• controle do mouse;
– controle do mouse vertical;
– controle do mouse horizontal.
A Figura 43 apresenta a tela inicial do protótipo desenvolvido neste trabalho, que
consiste em um ambiente de visualização do processamento da imagem cujas opções de
configuração e parametrização são exibidas na coluna à direita. O protótipo permite que
seja iniciada a captura da imagem, permite também a possibilidade de validar o processamento de cada etapa, como, por exemplo; verificar o processamento da imagem apenas
para um dos olhos e/ou apenas para uma das ı́ris. O sistema permite também a inicialização da calibração e a validação independente do controle do mouse, analisando o
desempenho dos movimentos do mouse, sendo possı́vel habilitar/desabilizar o controle de
movimento do mouse ou apenas um tipo de movimento especı́fico (horizontal / vertical).
Figura 43: Tela Inicial da aplicação desenvolvida neste trabalho.
52
Para a calibração do sistema, foi desenvolvido o modelo baseado no sistema EyeGaze.
O sistema apresenta uma série de pontos na tela para que o usuário siga os mesmos com
os olhos. A Figura 44 apresenta a tela de calibração do sistema EyeGaze. O sistema permite a visualização da região da ı́ris capturada em infravermelho nas janelas superiores
apresentadas na imagem.
Figura 44: Tela de calibração do sistema EyeGaze.
53
O processo de calibração do sistema desenvolvido neste trabalho inicia-se com duas
mensagens apresentadas para o usuário, preparando o mesmo para o inı́cio da calibração.
A Figura 45 apresenta a primeira mensagem e a Figura 46 exibe a segunda mensagem.
Após a exibição das mensagens, é iniciada a calibração dos pontos. A Figura 47 apresenta
a tela de calibração de pontos desenvolvida e o processo de calibração finalizado, sendo
que todos os pontos estão sendo exibidos.
Figura 45: Primeira mensagem no inı́cio da calibração.
Figura 46: Segunda mensagem no inı́cio da calibração.
54
Figura 47: Tela de calibração da aplicação desenvolvida neste trabalho.
Após o processo de calibração, a aplicação está apta para iniciar a movimentação do
mouse a partir do movimento dos olhos do usuário. Para validação desta etapa do processo, uma interface foi desenvolvida para digitação de números, sendo que este processo
também foi baseado no sistema EyeGaze. A Figura 48 apresenta a tela de digitação de
números do sistema EyeGaze, seguida pela Figura 49 que apresenta a tela de digitação
de números desenvolvida para validação do modelo proposto neste trabalho.
Figura 48: Tela de digitação de números do sistema EyeGaze.
55
Figura 49: Tela de digitação de números desenvolvida neste trabalho.
5.5.1
Testes
O detalhamento do processo de testes, juntamente com a apresentação dos resultados
obtidos com o desenvolvimento da aplicação, abordando as técnicas listadas neste trabalho
e a comparação com outros sistemas, são temas abordados no capı́tulo 6.
56
6
TESTES E DISCUSSÕES
Este capı́tulo apresenta o desenvolvimento do processo de testes baseado no desenvolvimento do sistema de software proposto neste trabalho. O processo de testes está
descrito da seguinte maneira:
A seção 6.1 descreve a bateria de testes criados para o sistema proposto neste trabalho;
a seção 6.2 apresenta os testes comparativos realizados com o sistema proposto por [39]
e o sistema de uso comercial EAS Binocular ; e a seção seção 6.3 versa sobre testes em
diferentes equipamentos.
6.1
Detalhamento dos Testes
De acordo com o desenvolvimento da aplicação de rastreamento ocular deste trabalho, faz-se necessária uma bateria de testes a fim de garantir as técnicas aplicadas para o
desenvolvimento da aplicação.
Para este trabalho, foram identificados dois tipos de testes necessários e apontados
como requisitos básicos, sendo eles detalhados na seção 6.2, sendo que um dos testes tem
como objetivo comparar a aplicação desenvolvida neste trabalho com a aplicação modificada no trabalho desenvolvido e detalhado em [39]. O segundo teste trata da comparação
com o produto de uso comercial EAS Binocular, criado pela empresa LC Technologies, Inc.
[30], tem como objetivo identificar pontos em que um sistema de baixo custo, desenvolvido neste trabalho, pode-se equiparar com um produto comercial de rastreamento ocular.
Essa comparação tem como objetivo detalhar o nı́vel de desempenho das aplicações, identificando pontos e técnicas a serem aprimoradas neste trabalho, e, também, em trabalhos
futuros relacionados a rastreamento ocular.
A subseção 6.2.1 aborda o comparativo do modelo proposto neste trabalho com o sistema utilizado como base. A subseção 6.2.2 versa sobre o comparativo entre o modelo
proposto neste trabalho e o produto comercial EAS Binocular, e a subseção 6.4 descreve
sobre a realização de testes com diferentes usuários.
57
6.2
Comparação entre Sistemas
Os testes comparativos entre o modelo proposto neste trabalho e as aplicações descritas anteriormente têm como objetivo validar o modelo e as técnicas utilizadas e descritas
neste trabalho e apresentar uma nova abordagem para desenvolvimento de um sistema de
rastreamento ocular robusto e com baixo custo.
Foram avaliadas as métricas de desempenho e precisão na extração de caracterı́sticas
e desempenho no processo de calibração dos sistemas.
6.2.1
Comparação com o Sistema-Base
Os testes primários foram definidos com base no sistema já modificado, apontado no
trabalho apresentado em [39], que, por sua vez, obteve ganhos de até 51% com relação ao
sistema desenvolvido por [22].
Foram realizados testes calculando tempo total do sistema, desde o inı́cio do processo
de identificação da região da face, até o inı́cio do movimento do ponteiro do mouse. Nessa
etapa o sistema passa por todo o processo de identificação e rastreamento da ı́ris do
usuário. Baterias de dez testes foram realizadas para os dois sistemas, a fim de extrair a
média dos tempos apurados durante a execução.
Neste trabalho, a técnica para a busca e identificação da ı́ris consiste na utilização
da Transformada de Hough [17]. O trabalho proposto por [39] baseia-se na utilização
de filtros na imagem, identificando conjuntos de borda que formem uma elipse para a
identificação da ı́ris.
A Tabela 3 apresenta o tempo de detecção da região da ı́ris, do modelo proposto neste
trabalho e o modelo proposto por [39].
58
Tabela 3: Tempo para detecção da ı́ris com relação ao método desenvolvido no trabalho
[39].
Tempo de detecção da ı́ris
Sistema Proposto por [39]
Este Trabalho
entre 15s e 30s
entre 5s e 8s
A Tabela 4 apresenta o tempo total que a aplicação utiliza para realização dos seguintes
processos: detecção da face, detecção dos olhos, busca e identificação da ı́ris.
Tabela 4: Tempo total (detecção da face, olhos e ı́ris até o inı́cio da calibração do sistema)
para o método do trabalho base [39].
Tempo Calculado
Sistema proposto em [39]
Este Trabalho
entre 36s e 44s
entre 12s e 15s
Os testes comparativos mostram um ganho que a pesquisa deste trabalho obteve em
relação ao trabalho apontado por [39]. A média realizada nas duas baterias de testes está
apontada na Tabela 5.
Tabela 5: Ganho em relação ao sistema desenvolvido em [39].
Este Trabalho
Detecção da Íris
33%
Processo até a calibração
29%
Dentro do cenário criado para os testes da aplicação, pode-se notar o ganho de até
33% em relação ao sistema apresentado por [39].
6.2.2
Comparação com o Sistema Comercial EAS Binocular
Os testes foram realizados com dois usuários, verificando o desempenho entre os sistemas, nos processos de calibração e digitação de um número aleatório e digitação de um
número sequencial de nove dı́gitos.
Para testes no processo de calibração, o sistema EAS Binocular foi configurado a fim
de efetuar o processo em cinco pontos, para que ambos os sistemas tenham a mesma
59
configuração.
Para a execução dos testes comparativos, foi selecionado, um usuário especialista no
sistema EAS Binocular e outro usuário especialista no sistema desenvolvido neste trabalho.
A Tabela 6 apresenta o comparativo de tempo no processo de calibração, utilizando
cinco pontos de calibração do sistema, apresentando a diferença em percentual calculada
a partir dos resultados obtidos.
Tabela 6: Comparação do processo de calibração deste trabalho com o produto EAS
Binocular.
Este Trabalho
Desvio
EAS Binocular
Padrão
Desvio
Diferença %
Padrão
Usuário 1
12s
1,18
10s
1
-17%
Usuário 2
15s
1,21
13s
0,5
-13%
A Tabela 7 exibe o desempenho dos sistemas na digitação de um número de telefone
(97482-06xx), juntamente com a diferença percentual entre os sistemas.
Tabela 7: Comparação na digitação de um número de telefone com o produto EAS Binocular.
Este Trabalho
Desvio
EAS Binocular
Padrão
Desvio
Diferença %
Padrão
Usuário 1
43,30s
1,48
15,35s
0,66
-64%
Usuário 2
40,20s
2,07
15,31s
0,96
-61%
A Tabela 8 exibe o desempenho dos sistemas na digitação de um número sequencial
de nove dı́gitos (123456789), apresentando também, a diferença entre os sistemas.
60
Tabela 8: Comparação na digitação de um número sequencial com o produto EAS Binocular.
Este Trabalho
Desvio
EAS Binocular
Padrão
Desvio
Diferença %
Padrão
Usuário 1
48,30s
1,68
17,95s
0,15
-62%
Usuário 2
39,50s
1,23
13,30s
0,78
-66%
Os resultados obtidos nos testes com o produto comercial com a aplicação comercial
EAS Binocular, mostrou que a aplicação desenvolvida neste trabalho, possui um desempenho inferior quando comparado com um produto comercial. Tal comparação já era
prevista, devido a diferença de arquitetura dos softwares e equipamentos utilizados, é
possı́vel observar que, além das diferenças entre as aplicações, as aplicações foram comparadas realizando o mesmo processo, ou seja, ambas as aplicações foram comparadas nos
mesmos quesitos, sendo que, ambas as aplicações executaram as tarefas de forma completa, independente do nı́vel de arquitetura de hardware e software.
Além das diferenças apontadas no teste comparativo, um dos principais pontos a serem
levados em consideração, é a diferença do custo entre as aplicações, sendo que, para este
trabalho, o custo para utilização da aplicação é em torno de R$400, e o produto EAS
Binocular possui um custo de US$ 30 mil, ou seja, este trabalho, possui um custo total
de pouco mais de 1% quando comparado com o custo total do produto EAS Binocular.
6.3
Testes com diferentes monitores
Testes em diferentes monitores se faz necessário neste trabalho, para que possa ser
avaliado a utilização da aplicação, e das técnicas estudadas neste trabalho, em relação a
utilização em diferentes equipamentos.
Neste trabalho, foram realizados testes com três diferentes tipos de monitores, conforme apresentado na Tabela 9.
61
Tabela 9: Descrição dos tipos de monitores.
Equipamento
Modelo
Configuração
Notebook Sony Vaio
SVS15115FBB
15.5 polegadas e resolução FULL HD
Monitor Benq
XL24210T
24 polegadas e resolução FULL HD
TV Monitor Samsung
UN32D
32 polegadas e resolução FULL HD
Para os testes realizados neste trabalho, os monitores foram configurados em sua resolução máxima de 1920x1080pixels. Foram realizados baterias de cinco testes para cada
equipamento, e os processos testados foram, a calibração e a digitação de um número
sequencial de 1 à 9.
A Figura 50 apresenta o ambiente para realização de testes com monitore de 15 polegadas.
Figura 50: Ambiente de testes para o monitor de 15 polegadas.
A Figura 51 apresenta o ambiente para realização de testes com monitore de 24 polegadas.
62
Figura 51: Ambiente de testes para o monitor de 24 polegadas.
A Figura 52 apresenta o ambiente para realização de testes com monitore de 32 polegadas.
Figura 52: Ambiente de testes para o monitor de 32 polegadas.
63
A Tabela 10 apresenta como resultado, a média do tempo de execução dos ciclos do
processo de calibração para os equipamentos.
Tabela 10: Comparação do processo de calibração em diferentes monitores.
Monitor
Sony
Desv.
BenQ
Desv.
Samsung Desv.
(15’)
Padrão
(24’)
Padrão
(32’)
Padrão
Usuário 1
15s
1,27
12,8s
0,83
14s
2
Usuário 2
19,4s
1,81
15s
3,24
16,2s
2,16
A Tabela 11 apresenta como resultado, a média do tempo de execução dos ciclos
do processo de digitação de um número sequencial nos equipamentos e o desvio padrão
calculado baseado nos valores obtidos.
Tabela 11: Comparação na digitação de um número sequencial nos diferentes monitores.
Monitor
Sony
Desv.
BenQ
Desv.
Samsung Desv.
(15’)
Padrão
(24’)
Padrão
(32’)
Padrão
Usuário 1
55s
5,63
48s
3,08
64s
1,64
Usuário 2
62s
5,87
39s
3,03
69s
2,73
Os testes em diferentes equipamentos, foram realizados com sucesso em todos os equipamentos descritos nesta seção, independente da diferença de desempenho destacados
anteriormente. Pode-se observar que, os diferentes equipamentos obtiveram resultados
em que sua variação foi de no máximo 4s para o processo de calibração, e de 30s para o
processo de digitação.
O monitor de 32’ polegadas obteve os piores tempos quando comparados com os demais monitores utilizados durante os testes. Pode-se observar que devido a necessidade
de movimentar a cabeça para os lados, no intuito de acompanhar o movimento do mouse,
ocorreram falhas durante o processo de rastreamento, devido a perda da região dos olhos
e consecutivamente da região da ı́ris, necessitando realizar essa etapa do processo mais
vezes. Na tentativa de reposicionar a distância do usuário em relação ao monitor, o processo de detecção da região da ı́ris foi afetado, não sendo viável a realização de testes em
uma distância maior do que 60cm do monitor.
64
O monitor intermediário possui os melhores tempos devido ao seu posicionamento em
relação ao usuário, e a não necessidade do usuário em movimentar a cabeça para acompanhar o ponteiro do mouse, tornando o rastreamento mais preciso e com mı́nimo de
necessidade de retomada do processo.
A aplicação foi desenvolvida para ajustar automaticamente sua área de trabalho de
acordo com a resolução do monitor, portando, com a resolução dos equipamentos padronizadas em 1920x1080 pixels, não houve perda de desempenho relacionado a diferentes resoluções, porém o tamanho da tela influencia na utilização da aplicação, pois, os
equipamentos possuem diferentes tamanhos e independente da resolução trabalhada, os
elementos exibidos em tela, possuem sua localização alterada conforme o tamanho do
equipamento.
Pode-se concluir a partir da realização dos teste que, não houve uma diferença de
desempenho que possa inviabilizar a utilização da aplicação em diferentes equipamentos,
sendo que, quanto maior a utilização em determinado equipamento, maior a expertise e
velocidade no uso da aplicação.
6.4
Testes com diferentes usuários
Baseado nos resultados obtidos nos testes com diferentes monitores, foram selecionados cinco usuários para realização testes. O monitor utilizado para a realização dos testes
foi o monitor BenQ de 24 polegadas, devido ao melhor resultado nos testes.
Os usuários selecionados são compostos de duas crianças do sexo masculino e três
adultos, dos quais dois são do sexo feminino. As idades variam de 12 anos até 42 anos, e
nenhum dos participantes teve qualquer tipo de contato com a aplicação até a realização
dos testes.
Foram definidas as etapas de calibração e digitação de um número sequencial de 1 à
9, e uma bateria de cinco ciclos do processo.
65
A Tabela 12 apresenta como resultado, a média do tempo de execução dos ciclos do
processo de calibração e o desvio padrão baseado nos valores obtidos.
Tabela 12: Comparação do processo de calibração.
Tempo médio de calibração
Desvio Padrão
Usuário 1
13,2s
2,77
Usuário 2
15,8s
2,58
Usuário 3
15s
2,23
Usuário 4
12,8s
0,83
Usuário 5
13,6s
1,14
A Tabela 13 apresenta como resultado, a média do tempo de execução dos ciclos do
processo de digitação de um número sequencial e o desvio padrão calculado baseado nos
valores obtidos.
Tabela 13: Comparação na digitação de um número sequencial.
Tempo médio de digitação
Desvio Padrão
Usuário 1
49s
4,41
Usuário 2
43,6s
5,85
Usuário 3
39,4s
4,39
Usuário 4
40,4s
4,50
Usuário 5
34s
4,74
Durante a execução dos testes, pode-se notar que, após o terceiro ciclo do processo,
os tempos obtidos foram mantendo uma constante, obtendo pouca variação em reação as
duas primeiras iterações.
Os testes com usuários distintos mostram a possibilidade da utilização da aplicação
desenvolvida neste trabalho, em maior escala, podendo até, em determinados casos, substituir aplicações de uso comercial.
66
7
CONCLUSÃO
Este capı́tulo apresenta as conclusões obtidas com o desenvolvimento deste trabalho.
A seção 7.1 apresenta os aspectos gerais do trabalho, versando sobre abordagem e sobre
o desenvolvimento da aplicação de rastreamento ocular e controle de visada; a seção 7.2
traz as contribuições deste trabalho e a seção 7.3 descreve os trabalhos futuros que podem
ser desenvolvidos a partir desta tese.
7.1
Aspectos Gerais do Trabalho
O trabalho explorou modelos de detecção e rastreamento ocular do usuário de forma a
obter maior desempenho e robustez, dando continuidade ao trabalho apresentado em [39].
Este trabalho mostra ainda a viabilidade da utilização de diferentes técnicas para filtragem de imagens e, diferentemente do trabalho apresentado em [39], tornou possı́vel
o processamento de imagens de alta resolução, melhorando a qualidade da detecção e
rastreamento da ı́ris.
A partir de delimitações de regiões de interesse na imagem, apresentadas neste trabalho, o Processamento de Imagens tornou-se mais robusto, por não ser mais necessário a
realização de buscas e processamentos constantes em toda a região da imagem.
Por meio de testes iniciais comparando o sistema utilizado no trabalho [39], foi possı́vel
identificar uma melhora significativa de até 33% nos quesitos de desempenho em comparação às técnicas implementadas por [39].
Testes com diferentes equipamentos mostraram a possibilidade da utilização da aplicação
em ambientes distintos, com monitores de diferentes tamanhos.
Os testes comparativos com o produto comercial EAS Binocular, apresentou que a
aplicação desenvolvida deste trabalho, no melhor caso obteve um resultado de -13%,
e em seu pior caso, um resultado de -66%, porém, a perca de desempenho, pode ser
equiparada com o custo total dos projetos. Os testes realizados, foram executados e
67
finalizados com sucesso em ambas as aplicações, independentemente dos resultados de
desempenho obtidos, mostrando que é possı́vel, dependendo do requisito a ser analisado,
que uma aplicação, com um custo total de R$400, pode substituir um produto que pode
ultrapassar o custo de US$30 mil.
7.2
Contribuições do Trabalho
O desenvolvimento de uma aplicação de rastreamento ocular visa proporcionar uma
série de estudos, sendo eles: na área de IHC, estudos comparativos entre sistemas e equipamentos, e até mesmo, técnicas de diversos segmentos da área de Visão Computacional.
As modificação das técnicas de Processamento de Imagens utilizadas no sistema utilizado como base deste trabalho, apresentando novas abordagens e melhorias em todas as
etapas.
O Processamento de Imagens de alta resolução em tempo real com baixo custo computacional, um dos pontos mais significativos deste trabalho, tornou possı́vel o processamento de regiões de interesse na imagem com baixo custo computacional.
O estudo e realização de testes com vários monitores, identificou o melhor cenário para
utilização da aplicação desenvolvida, mostrando a adaptação da aplicação em diferentes
ambientes.
A realização de testes com usuários, apurou o desempenho da aplicação com pessoas
distintas, sendo realizado o levantamento e a apuração dos resultados obtidos diante do
cenário proposto.
A comparação com outro sistema de rastreamento ocular de uso comercial, mostrou
que é possı́vel desenvolver uma aplicação que seja robusta, combinada com um desempenho satisfatório e com a utilização de equipamentos de baixo custo, podendo em determinados cenários, substituir aplicações uso comercial.
68
7.3
Trabalhos Futuros
Algumas melhorias foram identificadas durante o desenvolvimento do trabalho apresentado, destacando-se a possı́vel utilização de outros tipos de recursos de hardware, como
por exemplo, monitores de diferentes tamanhos e resoluções.
As regiões de interesse em uma imagem são pontos a serem estudados, sendo que a
possı́vel limitação das regiões de interesse, para cada tipo de caracterı́sticas facial, pode
aumentar o desempenho e robustez do sistema em fatores consideráveis.
A precisão do movimento do mouse é um ponto a ser explorado neste trabalho, por
se tratar de um ponto sensı́vel identificado, e por se mostrar o dos pontos principais da
aplicação, quando comparado com demais sistemas.
Testes de usabilidade, utilizando uma massa considerável de usuários, a fim de realizar
a validação das técnicas utilizadas no desenvolvimento da aplicação, e também, validação
da interface do usuário. A realização de pesquisa de satisfação com os usuários, poderá
criar uma base de conhecimento, para identificação de melhorias em todo o processo.
69
REFERÊNCIAS BIBLIOGRÁFICAS
[1] D. Benyon, “Interação humano-computador,” Tradução de Heloı́sa Coimbra de
Souza. 2a . ed. São Paulo: Person Prentice Hall, p. 464, 2011.
[2] A. I. Orth, “Interface homem-máquina,” Porto Alegre: AIO, 2005.
[3] J. Preece, Y. Rogers, H. Sharp, D. Benyon, S. Holland, and T. Carey, Humancomputer interaction. Addison-Wesley Longman Ltd., 1994.
[4] T. P. Moran, “The command language grammar: A representation for the user interface of interactive computer systems,” International journal of man-machine studies,
vol. 15, no. 1, pp. 3–50, 1981.
[5] M. d. P. Guimaraes, V. F. Martins, and J. R. F. Brega, “A software development
process model for gesture-based interface,” in Systems, Man, and Cybernetics (SMC),
2012 IEEE International Conference on. IEEE, 2012, pp. 2979–2990.
[6] A. L. Kawamoto, V. F. Martins, and J. S. Neto, “Requirements and guidelines for
the evaluation of voice user interfaces,” Aleksandar Lazinica. (Org.). User Interfaces,
vol. 1, pp. 32–55, 2010.
[7] A. Leonel, F. Buarque, S. C. Oliveira, and H. S. B Filho, “Uma interface humanomáquina inteligente baseada no rastreamento ocular para comunicação escrita de
pacientes com sı́ndrome locked-in,” 2009.
[8] H. Pistori and J. J. Neto, “Utilização de tecnologia adaptativa na detecção da direção
do olhar,” Spc Magazine, vol. 2, 2003.
[9] A. T. Duchowski, “A breadth-first survey of eye-tracking applications,” Behavior
Research Methods, Instruments, & Computers, vol. 34, no. 4, pp. 455–470, 2002.
[10] S. S. Liu, A. Rawicz, S. Rezaei, T. Ma, C. Zhang, K. Lin, and E. Wu, “An eye-gaze
tracking and human computer interface system for people with als and other lockedin diseases,” Journal of Medical and Biological Engineering, vol. 32, no. 2, pp. 37–42,
2012.
70
[11] C. Weigle and D. C. Banks, “Analysis of eye-tracking experiments performed on a tobii t60,” in Electronic Imaging 2008. International Society for Optics and Photonics,
2008, pp. 680 903–680 903.
[12] S. Instruments, “Sensomotoric instruments.” [Online]. Available:
http://www.
smivision.com/
[13] E. DE MACEDO, D. DELIBERATO, and M. DE JESUS GONÇALVES, “Interação
multimodal em sistemas de comunicação alternativa e construção de interfaces
com acionamento por direção do olhar,” in Comunicação alternativa:
prática, tecnologias e pesquisa.
teoria,
Memnon, 2009, pp. 188–204. [Online]. Available:
http://books.google.com.br/books?id=4mNyQwAACAAJ
[14] F. C. Capovilla and M. D. E. C. Macedo, “Imagodianavox v40s versão para windows
95 em redes,” 1998.
[15] J. L. P. Lima, E. C. Macedo, F. C. Capovilla, and G. C. Sazonov, “Implantação e
adaptação do sistema de comunicação notevox para uma pessoa com esclerose lateral
amiotrofica, um estudo de caso,” Tecnologia em (re)habilitação cognitiva, pp. 347–
353, 2000.
[16] P. Viola and M. Jones, “Rapid object detection using a boosted cascade of simple
features,” in Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Conference on, vol. 1.
IEEE, 2001, pp.
I–511.
[17] D. T. OpenCV, “Hough circle transform.” [Online]. Available: http://docs.opencv.
org/doc/tutorials/imgproc/imgtrans/hough circle/hough circle.html
[18] C. Hennessey, B. Noureddin, and P. Lawrence, “A single camera eye-gaze tracking
system with free head motion,” in Proceedings of the 2006 symposium on Eye tracking
research & applications. ACM, 2006, pp. 87–94.
[19] M. Yamamoto, T. Nagamatsu, and T. Watanabe, “Development of eye-tracking pen
display based on stereo bright pupil technique,” in Proceedings of the 2010 Symposium
on Eye-Tracking Research & Applications. ACM, 2010, pp. 165–168.
71
[20] C. Topal, A. Dogan, and O. Gerek, “An eye-glasses-like wearable eye gaze tracking
system,” in Signal Processing, Communication and Applications Conference, 2008.
SIU 2008. IEEE 16th. IEEE, 2008, pp. 1–4.
[21] A. Soetedjo, “Eye detection based-on color and shape features,” Eye, vol. 3, no. 5,
2011.
[22] V. F. Junior and M. Marengoni, “Detecçao e rastreamento de olhos para implementaçao de uma interface humano-computador,” Workshop de Visão Computacional, 2010.
[23] G. Bradski, “The opencv library,” Dr. Dobb’s Journal of Software Tools, 2000.
[24] J. Cândido and M. Marengoni, “Enhancing face detection using bayesian networks,”
Honolulu, HI, Unitedstates: Acta Press, 2006.
[25] K. Toennies, F. Behrens, and M. Aurnhammer, “Feasibility of hough-transform-based
iris localisation for real-time-application,” in Pattern Recognition, 2002. Proceedings.
16th International Conference on, vol. 2. IEEE, 2002, pp. 1053–1056.
[26] P. Kapsalas, K. Rapantzikos, A. Sofou, and Y. Avrithis, “Regions of interest for accurate object detection,” in Content-Based Multimedia Indexing, 2008. CBMI 2008.
International Workshop on. IEEE, 2008, pp. 147–154.
[27] S. A. Johansen, J. San Agustin, H. Skovsgaard, J. P. Hansen, and M. Tall, “Low
cost vs. high-end eye tracking for usability testing,” in CHI’11 Extended Abstracts
on Human Factors in Computing Systems. ACM, 2011, pp. 1177–1182.
[28] J. O. F. de CARVALHO, “O papel da interação humano-computador na inclusão
digital,” Transinformação, vol. 15, no. 3, 2012.
[29] B. Shneiderman, Designing the user interface:
strategies for effective human-
computer interaction. Addison-Wesley Reading, MA, 1992, vol. 2.
[30] I. LC Technologies, “Lc technologies, inc.” [Online]. Available: http://www.eyegaze.
com/
[31] D. S. Machado, “Reconhecimento de objetos de formas variadas.”
72
[32] Y. Freund and R. E. Schapire, “A decision-theoretic generalization of on-line learning
and an application to boosting,” Journal of computer and system sciences, vol. 55,
no. 1, pp. 119–139, 1997.
[33] D. T. OpenCV, “Hough line transform.” [Online]. Available: http://docs.opencv.
org/doc/tutorials/imgproc/imgtrans/hough lines/hough lines.html
[34] K. Peng, L. Chen, S. Ruan, and G. Kukharev, “A robust agorithm for eye detection on
gray intensity face without spectacles,” Journal of Computer Science & Technology,
vol. 5, 2005.
[35] I. GazeGroup, “Research on eye tracking and gaze interaction,” 2011. [Online].
Available: http://www.gazegroup.org/
[36] T. Technology, “Tobii technology.” [Online]. Available: http://http://www.tobii.
com/
[37] J. San Agustin, H. Skovsgaard, E. Mollenbach, M. Barret, M. Tall, D. W. Hansen,
and J. P. Hansen, “Evaluation of a low-cost open-source gaze tracker,” in Proceedings
of the 2010 Symposium on Eye-Tracking Research & Applications. ACM, 2010, pp.
77–80.
[38] M. A. Fischler and R. C. Bolles, “Random sample consensus: a paradigm for model
fitting with applications to image analysis and automated cartography,” Communications of the ACM, vol. 24, no. 6, pp. 381–395, 1981.
[39] A. Brasiliano, A. Kishimoto, M. Marengoni, and V. F. Martins, “A robust eye detection and tracking system for human computer interaction,” Workshop de Visão
Computacional, 2013.
[40] D.
line].
T.
OpenCV,
Available:
“Face
detection
using
haar
cascades.”
[On-
http://docs.opencv.org/trunk/doc/py tutorials/py objdetect/
py face detection/py face detection.html
[41] P. Viola and M. J. Jones, “Robust real-time face detection,” International journal of
computer vision, vol. 57, no. 2, pp. 137–154, 2004.
73
[42] A. Wakhare, A. Kardile, R. Nikam, and M. Dighe, “Real time iris tracking & blink
detection for hands free cursor control.”
[43] M. Chau and M. Betke, “Real time eye tracking and blink detection with usb cameras,” Boston University Computer Science Department, Tech. Rep., 2005.
[44] R. Pressman, Engenharia de software.
McGraw-Hill, 2006. [Online]. Available:
http://books.google.com.br/books?id=MNM6AgAACAAJ
[45] I. Sommerville, “Engenharia de software-8a edição (2007),” Ed Person Education.
[46] The Institute of Electrical and Eletronics Engineers, “Ieee standard glossary of software engineering terminology,” IEEE Standard, September 1990.
[47] M. Fayad and D. C. Schmidt, “Object-oriented application frameworks,” Communications of the ACM, vol. 40, no. 10, pp. 32–38, 1997.
[48] M. Corporation, “Visual studio 2013 professional.” [Online]. Available:
http:
//www.visualstudio.com/products/visual-studio-professional-with-msdn-vs
[49] M. Corporation, “Visual c#.” [Online]. Available: http://msdn.microsoft.com/
pt-br/library/kx37x362.aspx
[50] S. C. Foundation, “The c++ programming language.” [Online]. Available:
https://isocpp.org
74
ANEXOS
Anexo 1
A Tabela 14 apresenta os valores detalhados do teste comparativo de tempo do processo
de calibração apresentado na Tabela 6.
Tabela 14: Valores detalhados do teste de calibração deste trabalho com o produto EAS
Binocular.
Usuário 1
Este Trabalho
EAS Binocular
Teste 1
13,6s
11s
Teste 2
12,5s
11s
Teste 3
12,3s
9s
Teste 4
11s
9s
Teste 5
10,69s
10s
Usuário 2
Este Trabalho
EAS Binocular
Teste 1
16,36s
13s
Teste 2
16s
13,5s
Teste 3
15s
12,5s
Teste 4
14,85s
13,5s
Teste 5
13,25s
12,5s
75
Anexo 2
A Tabela 15 apresenta os valores detalhados do teste comparativo de tempo do processo
de digitação de um número de telefone apresentado na Tabela 7.
Tabela 15: Valores detalhados do teste de digitação deste trabalho com o produto EAS
Binocular.
Usuário 1
Este Trabalho
EAS Binocular
Teste 1
45s
16s
Teste 2
44s
15,35s
Teste 3
43,5s
15,85s
Teste 4
43s
14,3s
Teste 5
41s
15,25s
Usuário 2
Este Trabalho
EAS Binocular
Teste 1
42,95s
16,36s
Teste 2
41,25s
16s
Teste 3
40,5s
15,17s
Teste 4
38,2s
15,2s
Teste 5
38,2s
13,86s
76
Anexo 3
A Tabela 16 apresenta os valores detalhados do teste comparativo de tempo do processo
de digitação de um número sequencial apresentado na Tabela 8.
Tabela 16: Valores detalhados do teste de digitação de um número sequencial deste trabalho com o produto EAS Binocular.
Usuário 1
Este Trabalho
EAS Binocular
Teste 1
50,95s
18s
Teste 2
48,85s
17,95s
Teste 3
47,3s
18,15s
Teste 4
47,95s
17,96s
Teste 5
46,58s
17,73s
Usuário 2
Este Trabalho
EAS Binocular
Teste 1
40,6s
14s
Teste 2
40,13s
13,89s
Teste 3
40,45s
13,52s
Teste 4
38,35s
13,06s
Teste 5
38s
12,07s
77
Anexo 4
A Tabela 17 apresenta os valores detalhados do teste comparativo de tempo do processo
de calibração em diferentes monitores apresentado na Tabela 10.
Tabela 17: Valores detalhados do teste de calibração em diferentes monitores.
Usuário 1
Sony
BenQ
Samsung
Teste 1
17s
14s
17s
Teste 2
15s
13s
15s
Teste 3
15s
12s
13s
Teste 4
14,5s
12s
13s
Teste 5
13,5s
13s
12s
Usuário 2
Sony
BenQ
Samsung
Teste 1
22s
19s
19s
Teste 2
20s
18s
18s
Teste 3
19s
13s
15s
Teste 4
19s
13s
15s
Teste 5
17s
12s
14s
78
Anexo 5
A Tabela 18 apresenta os valores detalhados do teste comparativo de tempo do processo
de digitação de um número sequencial em diferentes monitores apresentado na Tabela 11.
Tabela 18: Valores detalhados do teste de digitação de um número sequencial em diferentes
monitores.
Usuário 1
Sony
BenQ
Samsung
Teste 1
55s
45s
64s
Teste 2
50s
50s
64s
Teste 3
53s
45s
63s
Teste 4
65s
48s
67s
Teste 5
55s
52s
63s
Usuário 2
Sony
BenQ
Samsung
Teste 1
70s
38s
72s
Teste 2
55s
43s
69s
Teste 3
58s
39s
65s
Teste 4
65s
41s
68s
Teste 5
55s
35s
71s
79
Anexo 6
A Tabela 19 apresenta os valores detalhados do teste comparativo de tempo do processo
de calibração com diferentes usuários, apresentado na Tabela 12.
Tabela 19: Valores detalhados do teste de calibração com diferentes usuários.
Teste 1
Teste 2
Teste 3
Teste 4
Teste 5
Usuário 1
17s
15s
12s
12s
10s
Usuário 2
19s
18s
13s
15s
14s
Usuário 3
16s
15s
18s
14s
12s
Usuário 4
14s
13s
12s
12s
13s
Usuário 5
15s
12s
14s
14s
13s
80
Anexo 7
A Tabela 20 apresenta os valores detalhados do teste comparativo de tempo do processo
de digitação de um número sequencial com diferentes usuários, apresentado na Tabela 13.
Tabela 20: Valores detalhados do teste de digitação de um número sequencial com diferentes usuários.
Teste 1
Teste 2
Teste 3
Teste 4
Teste 5
Usuário 1
55s
52s
48s
45s
45s
Usuário 2
52s
45s
45s
38s
38s
Usuário 3
45s
42s
40s
35s
35s
Usuário 4
47s
43s
38s
38s
36s
Usuário 5
45s
36s
37s
33s
34s
81
Download

Andre Brasiliano da Silva - Universidade Presbiteriana Mackenzie