• Nenhum resultado encontrado

Robustez em um sistema de detecção e rastreamento de olhos para implementação de uma interface humano-computador.

N/A
N/A
Protected

Academic year: 2017

Share "Robustez em um sistema de detecção e rastreamento de olhos para implementação de uma interface humano-computador."

Copied!
90
0
0

Texto

(1)

UNIVERSIDADE PRESBITERIANA MACKENZIE

PROGRAMA DE P ´

OS-GRADUAC

¸ ˜

AO EM

ENGENHARIA EL´

ETRICA

Andr´

e Brasiliano da Silva

ROBUSTEZ EM UM SISTEMA DE DETECC

¸ ˜

AO E

RASTREAMENTO DE OLHOS PARA IMPLEMENTAC

¸ ˜

AO

DE UMA INTERFACE HUMANO-COMPUTADOR

Disserta¸c˜ao

apresentada

ao

Programa

de P´os-Gradua¸c˜ao em Engenharia El´etrica da

Universidade Presbiteriana Mackenzie como

parte dos requisitos para a obten¸c˜ao do t´ıtulo

de Mestre em Engenharia El´etrica.

Orientadores: Maur´ıcio Marengoni e Val´eria Farinazzo Martins

(2)

S586r

Silva, Andr´e Brasiliano da

Robustez em um sistema de detec¸c˜ao e rastreamento de olhos para implementa¸c˜ao de uma interface humano-computador. / Andr´e Brasiliano da Silva - S˜ao Paulo, 2014.

89 f.: il.; 30 cm.

Disserta¸c˜ao (Programa de P´os-Gradua¸c˜ao (Stricto Sensu) em Engenharia El´etrica) - Universidade Presbiteriana Mackenzie - S˜ao Paulo, 2014.

Orientador: Prof. Dr. Mauricio Marengoni Bibliografia: f. 70-74.

1. IHC. 2. Vis˜ao computacional. 3. Rastreamento da ´ıris. 4. Extra¸c˜ao de caracter´ısticas. 5. Problemas motores. 6. Regi˜ao de interesse. I. T´ıtulo

(3)

RESUMO

O rastreamento ocular para usu´arios com problemas motores ´e um estudo importante na ´area 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¸c˜ao ao trabalho base para esta pesquisa, a implementa¸c˜ao proposta cont´em inova¸c˜oes em todas as etapas do processo envolvendo o rastreamento ocular, desde a detec¸c˜ao da regi˜ao da face e dos olhos at´e a detec¸c˜ao da ´ıris. Neste trabalho, foi utilizado o conceito de processamento local, delimi-tando as regi˜oes de interesse em todas as etapas do processo: detec¸c˜ao da regi˜ao da face, regi˜ao dos olhos e regi˜ao da ´ıris. Este trabalho permite que pessoas possam efetuar a¸c˜oes controlando o mouse atrav´es do movimento dos olhos em uma interface de rastreamento ocular, utilizando apenas equipamentos de uso comum, como, por exemplo, umawebcam. O processo de detec¸c˜ao da face e detec¸c˜ao ocular foi feito atrav´es da t´ecnica de Viola e Jones. Para a detec¸c˜ao e rastreamento da ´ıris foi utilizada a Transformada de Hough, e utiliza¸c˜ao de regi˜oes de interesse com o objetivo de limitar a ´area de processamento da imagem, e consequentemente, o custo computacional, resultando em uma aplica¸c˜ao com um melhor desempenho e robustez em todas as etapas. Obteve-se um ganho de at´e 33% em rela¸c˜ao ao tempo de processamento do sistema, quando comparado com o sistema base, por´em, operando com imagens em alta defini¸c˜ao. Foi realizada ainda uma compara¸c˜ao com sistemas de rastreamento ocular de uso comercial e diferentes tipos de equipamentos para validar as t´ecnicas estudadas neste trabalho.

(4)

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 imple-mentation, 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.

(5)

Sum´

ario

1 INTRODUC¸ ˜AO 1

1.1 Objetivos e Detalhamento da Pesquisa . . . 4

1.2 Organiza¸c˜ao do Trabalho . . . 5

2 FUNDAMENTAC¸ ˜AO TE ´ORICA 7 2.1 Intera¸c˜ao Humano-Computador . . . 7

2.2 Comunica¸c˜ao Alternativa . . . 8

2.3 Principais algoritmos para detec¸c˜ao e processamento da regi˜ao de interesse 10 2.3.1 Detec¸c˜ao de Objetos . . . 10

2.3.2 Transformada de Hough . . . 14

2.4 Modelo-Base para o estudo . . . 15

2.4.1 Detec¸c˜ao e Rastreamento de Olhos para Detec¸c˜ao de uma Interface Humano-Computador . . . 16

3 TRABALHOS CORRELATOS 19 3.1 ITU Gaze Tracker . . . 19

3.2 Tobii T60 . . . 22

3.3 EAS Binocular . . . 24

3.4 Robustez em um Sistema de Detec¸c˜ao e Rastreamento Ocular . . . 24

4 MODELO PROPOSTO 27 4.1 Descri¸c˜ao do Macro Fluxo . . . 27

4.1.1 Captura do frame dawebcam . . . 29

4.1.2 Detec¸c˜ao da Regi˜ao da Face . . . 30

4.1.3 Detec¸c˜ao da Regi˜ao dos Olhos . . . 33

4.1.4 Busca pela Regi˜ao da ´Iris . . . 36

4.1.5 Calibra¸c˜ao do Sistema . . . 39

4.1.6 Rastreamento da ´Iris . . . 40

4.1.7 Movimento do Mouse . . . 41

4.1.8 Acionamento do Click do Mouse . . . 43

5 DESENVOLVIMENTO DA APLICAC¸ ˜AO 44 5.1 Metodologia de Desenvolvimento da Aplica¸c˜ao . . . 44

5.2 Descri¸c˜ao do Desenvolvimento da Aplica¸c˜ao . . . 46

5.3 An´alise de Requisitos . . . 47

5.4 Projeto . . . 51

5.5 Implementa¸c˜ao . . . 51

5.5.1 Testes . . . 56

6 TESTES E DISCUSS ˜OES 57 6.1 Detalhamento dos Testes . . . 57

6.2 Compara¸c˜ao entre Sistemas . . . 58

6.2.1 Compara¸c˜ao com o Sistema-Base . . . 58

6.2.2 Compara¸c˜ao com o Sistema Comercial EAS Binocular . . . 59

6.3 Testes com diferentes monitores . . . 61

(6)

7 CONCLUS ˜AO 67

7.1 Aspectos Gerais do Trabalho . . . 67 7.2 Contribui¸c˜oes do Trabalho . . . 68 7.3 Trabalhos Futuros . . . 69

REFERˆENCIAS BIBLIOGR ´AFICAS 74

(7)

Lista de Figuras

1 Representa¸c˜ao da IHC como parte da Intera¸c˜ao Humano-Computador. . . 8

2 Layout ilustrativo do Eyegaze [30]. . . 10

3 Representa¸c˜ao da Janela de Detec¸c˜ao. [16] . . . 12

4 Representa¸c˜ao da Imagem Integral [16]. . . 13

5 Coordenadas da Transformada de Hough [33]. . . 14

6 Exemplo de detec¸c˜ao de c´ırculos utilizando a Transformada de Hough, com a equa¸c˜ao de circunferˆencia [17]. . . 15

7 Fluxo do modelo proposto por [22]. . . 16

8 Modelo utilizado na identifica¸c˜ao da regi˜ao dos olhos [22]. . . 16

9 Modelo utilizado na identifica¸c˜ao da regi˜ao da ´ıris [22]. . . 17

10 Sistema de rastreamento ocular [35]. . . 19

11 Interface da aplica¸c˜ao ITU Gaze Tracker [27]. . . 20

12 Modelos de configura¸c˜ao da ´area da pupila, configura¸c˜ao boa (esquerda) e configura¸c˜ao ruim (direita) [27]. . . 21

13 Ambiente de testes ITU Gaze Tracker [27]. . . 22

14 O potencial erro m´edio do Tobii T60 (c´ırculo vermelho) e o ITU Gaze Tracker (c´ırculo externo amarelo) ilustrado em um screenshot da p´agina do NY Times. [27] . . . 23

15 Projeto Tobii modelo T60 [36]. . . 23

16 Produto EAS Binocular da empresa LC Technologies, Inc [30]. . . 24

17 Diagrama de Fluxo da Implementa¸c˜ao A. . . 25

18 Diagrama de Fluxo da Implementa¸c˜ao B. . . 25

19 Diagrama de Fluxo da Implementa¸c˜ao C. . . 25

20 Implementa¸c˜ao do modelo apresentado no trabalho [39]. . . 26

21 Fluxo macro do modelo proposto neste trabalho. . . 28

22 Convers˜ao da imagem original para escala de cinza com equaliza¸c˜ao de histograma. . . 29

23 Representa¸c˜ao da sequencia de busca de atributos na imagem. . . 31

24 Representa¸c˜ao da utiliza¸c˜ao de atributos utilizados por [41]. . . 31

25 Estrutura que representa o detector em cascata [16]. . . 32

26 Regi˜ao de interesse da face. . . 33

27 Pseudoc´odigo do processo de detec¸c˜ao da face. . . 34

28 Regi˜ao de interesse do olho esquerdo. . . 35

29 Regi˜ao de interesse do olho direito. . . 35

30 Pseudoc´odigo do processo de detec¸c˜ao da regi˜ao do olho esquerdo. . . 36

31 Detec¸c˜ao da ´ıris, apresentada por [25], utilizando a Transformada de Hough. 37 32 Regi˜ao de interesse da ´ıris do lado esquerdo. . . 38

33 Regi˜ao de interesse da ´ıris do lado direito. . . 38

34 Pseudoc´odigo do processo de detec¸c˜ao da regi˜ao da ´ıris. . . 40

35 Modelo de c´alculo de limites das posi¸c˜oes x,y. . . 42

36 Modelo de prototipa¸c˜ao [44]. . . 45

37 Processo de desenvolvimento de prot´otipos [45]. . . 46

38 Fluxo principal do sistema. . . 46

39 Diagrama de Caso de Uso do sistema. . . 47

40 Diagrama de Sequˆencia do sistema. . . 48

(8)

42 Diagrama de Classe do sistema. . . 50

43 Tela Inicial da aplica¸c˜ao desenvolvida neste trabalho. . . 52

44 Tela de calibra¸c˜ao do sistema EyeGaze. . . 53

45 Primeira mensagem no in´ıcio da calibra¸c˜ao. . . 54

46 Segunda mensagem no in´ıcio da calibra¸c˜ao. . . 54

47 Tela de calibra¸c˜ao da aplica¸c˜ao desenvolvida neste trabalho. . . 55

48 Tela de digita¸c˜ao de n´umeros do sistema EyeGaze. . . 55

49 Tela de digita¸c˜ao de n´umeros desenvolvida neste trabalho. . . 56

50 Ambiente de testes para o monitor de 15 polegadas. . . 62

51 Ambiente de testes para o monitor de 24 polegadas. . . 63

(9)

Lista de Tabelas

1 Desempenho dos m´etodos A, B e C em rela¸c˜ao ao m´etodo proposto por [22] (tempo total). . . 26 2 Descri¸c˜ao dos equipamentos utilizados. . . 51 3 Tempo para detec¸c˜ao da ´ıris com rela¸c˜ao ao m´etodo desenvolvido no

tra-balho [39]. . . 59 4 Tempo total (detec¸c˜ao da face, olhos e ´ıris at´e o in´ıcio da calibra¸c˜ao do

sistema) para o m´etodo do trabalho base [39]. . . 59 5 Ganho em rela¸c˜ao ao sistema desenvolvido em [39]. . . 59 6 Compara¸c˜ao do processo de calibra¸c˜ao deste trabalho com o produto EAS

Binocular. . . 60 7 Compara¸c˜ao na digita¸c˜ao de um n´umero de telefone com o produto EAS

Binocular. . . 60 8 Compara¸c˜ao na digita¸c˜ao de um n´umero sequencial com o produto EAS

Binocular. . . 61 9 Descri¸c˜ao dos tipos de monitores. . . 62 10 Compara¸c˜ao do processo de calibra¸c˜ao em diferentes monitores. . . 64 11 Compara¸c˜ao na digita¸c˜ao de um n´umero sequencial nos diferentes monitores. 64 12 Compara¸c˜ao do processo de calibra¸c˜ao. . . 66 13 Compara¸c˜ao na digita¸c˜ao de um n´umero sequencial. . . 66 14 Valores detalhados do teste de calibra¸c˜ao deste trabalho com o produto

EAS Binocular. . . 75 15 Valores detalhados do teste de digita¸c˜ao deste trabalho com o produtoEAS

Binocular. . . 76 16 Valores detalhados do teste de digita¸c˜ao de um n´umero sequencial deste

trabalho com o produto EAS Binocular. . . 77 17 Valores detalhados do teste de calibra¸c˜ao em diferentes monitores. . . 78 18 Valores detalhados do teste de digita¸c˜ao de um n´umero sequencial em

di-ferentes monitores. . . 79 19 Valores detalhados do teste de calibra¸c˜ao com diferentes usu´arios. . . 80 20 Valores detalhados do teste de digita¸c˜ao de um n´umero sequencial com

(10)

1

INTRODUC

¸ ˜

AO

O r´apido crescimento e barateamento da tecnologia popularizou o uso de computado-res por pessoas leigas em Computa¸c˜ao, o que gerou uma demanda no desenvolvimento de sistemas que pudessem ser utilizados por pessoas sem especializa¸c˜ao. ´E criada ent˜ao, na d´ecada de 80, a ´area de Intera¸c˜ao Humano-Computador na Ciˆencia da Computa¸c˜ao [1].

A Intera¸c˜ao Humano-Computador (IHC) pode ser definida como a parte de um sis-tema 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¸c˜ao que possui dois componentes, um sendo o componente f´ısico - hardware e software - em que o usu´ario ´e capaz de perceber e de interagir com o mesmo; e outro conceitual, em que ele interpreta, processa e raciocina. Assim, IHC ´e a ´area que considera todos os aspectos relacionados com a intera¸c˜ao entre pessoas e computadores [3].

Neste contexto, foi definido, em 1981 [4], a interface de um sistema com o usu´ario sendo “a parte de um sistema computacional com a qual a pessoa entra em contato -f´ısica, perceptiva e conceitualmente”.

A interface ´e a parte do sistema computacional com a qual o usu´ario se comunica, ou seja, aquela com a qual ele entra em contato para executar a¸c˜oes dos sistemas e obter os resultados, os quais s˜ao interpretados pelo usu´ario, definindo assim as pr´oximas a¸c˜oes. A esse processo de comunica¸c˜ao entre usu´ario e sistema se d´a o nome de intera¸c˜ao [3].

Nos ´ultimos anos, a ´area de IHC tem se desenvolvido, e esfor¸cos tˆem sido empregados em rela¸c˜ao a quest˜oes de projeto e avalia¸c˜ao de interfaces n˜ao convencionais, tais como interfaces gestuais [5], interfaces por voz (Voice User Interface) [6] e interfaces por rastre-amento ocular [7].

(11)

utiliza¸c˜ao em diversas ´areas como, por exemplo, Neurociˆencia, identificando componentes neurais, interligados `a vis˜ao, a partir de fotorreceptores da retina e terminando em suas regi˜oes corticais envolvidas na vis˜ao. Psicologia, Engenharia, Ciˆencia da Computa¸c˜ao, Marketing e Propaganda s˜ao outros exemplos de ´areas que utilizam aplica¸c˜oes de rastrea-mento ocular citados por [9]. Interfaces por rastrearastrea-mento ocular tˆem sido usadas, tamb´em, para permitir a inclus˜ao de pessoas com deficiˆencias motoras dos membros superiores [10].

Alguns produtos comerciais de rastreamento ocular possuem um alto ´ındice de acura-cidade, por´em possuem um custo elevado como, por exemplo,Tobii T60 [11], um produto comercial, em que um monitor de 17o

polegadas, ´e integrado ao sistema de rastreamento ocular; tal equipamento contemplando as funcionalidades descritas possui um custo m´edio de US$30 mil.

Outros produtos comerciais na ´area de rastreamento ocular s˜ao apresentados pela empresa SensoMotoric Instruments (SMI) [12], que desenvolve v´arias aplica¸c˜oes de ras-treamento ocular, dentre elas a linha de produtos RED. Trata-se de um sistema binocular, adapt´avel em monitores de 19o

at´e 60o

, que possui uma acur´acia emo

(graus) de 0.4o

, tra-balhando nas faixas de 60Hz at´e 500Hz, com custo variando entre US$20 mil at´e US$30 mil.

Alguns procedimentos de rastreamento ocular possuem um alto custo, pois, em ge-ral, envolvem um conjunto de equipamentos sofisticados, profissionais e de montagem complexa, tais como cˆameras, detectores, ´oculos especiais e receptores, al´em de equipa-mentos de hardware capazes de executar o processamento em uma escala profissional. Um exemplo disso ´e o sistema apontado por [13], em que s˜ao exibidos diversos sistemas computadorizados de Comunica¸c˜ao Alternativa Facilitadora (CAF) como ImagoDiAna-Vox [14] e NoteImagoDiAna-Vox [15], que se baseiam em diversos dispositivos e interfaces multimodais, e apresentam uma solu¸c˜ao por acionamento do movimento ocular para os sistemas de co-munica¸c˜ao alternativa.

(12)

[16] e a t´ecnica da Transformada de Hough [17] para extra¸c˜ao de caracter´ısticas de uma imagem devem ser utilizadas.

Neste contexto, v´arios m´etodos tˆem sido desenvolvidos para a solu¸c˜ao desse problema, assim como para a melhora do rastreamento e da usabilidade de um sistema de rastre-amento ocular. Pode-se, por exemplo, usar a detec¸c˜ao da ´ıris, com uma [18] ou duas cˆameras [19], para efetuar o rastreamento. “ ´Oculos” detectores [20] tratam de uma outra possibilidade de fazer essa detec¸c˜ao, ou, ainda, a utiliza¸c˜ao de t´ecnicas de processamento de imagens como, por exemplo, a detec¸c˜ao da parte branca dos olhos [21].

Desse modo, o foco principal deste trabalho ´e aplicar as t´ecnicas de Processamento de Imagens em tempo real que possibilitem o desenvolvimento de uma aplica¸c˜ao de ras-treamento ocular robusta, ou seja, que utilize imagens em alta defini¸c˜ao sem perda de desempenho, sendo eficiente e com baixo custo financeiro e computacional. A aplica¸c˜ao permite que uma pessoa possa, por meio do movimento dos olhos, por exemplo, levar o ponteiro do mouse at´e o ponto desejado, e ent˜ao efetuar uma determinada a¸c˜ao.

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¸c˜oes, como, por exemplo, a utiliza¸c˜ao de imagens de baixa resolu¸c˜ao e o processamento de toda a regi˜ao da imagem para cadaframe 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´ecnicas de Processamento de Imagens em tempo real e processamento apenas de regi˜oes de inte-resse, garantindo um melhor desempenho, qualidade e robustez do sistema quando com-parado com o modelo proposto por [22].

(13)

O projeto de desenvolvimento de uma aplica¸c˜ao 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´ario. Assim, pode-se considerar como desenvolvimentos distintos, pois o desenvolvimento de um sistema de rastreamento ocular tem objetivo de implementar as t´ecnicas pesquisadas neste trabalho, j´a o desenvolvimento de uma interface tem como objetivo a valida¸c˜ao das t´ecnicas implementadas, passando pela valida¸c˜ao do usu´ario.

1.1

Objetivos e Detalhamento da Pesquisa

O objetivo deste trabalho ´e identificar e desenvolver um sistema de rastreamento ocu-lar que seja eficiente, robusto e de baixo custo. A partir do desenvolvimento da pesquisa realizada por [22], este trabalho apresenta outras t´ecnicas das quais, partindo dos resulta-dos apresentaresulta-dos, ´e poss´ıvel avaliar a melhor t´ecnica para cada etapa do Processamento das Imagens, como a detec¸c˜ao ocular, a utiliza¸c˜ao da regi˜ao da face e, ent˜ao, a identi-fica¸c˜ao e rastreamento da ´ıris.

A realiza¸c˜ao do desenvolvimento de uma interface com o usu´ario, de forma que pos-sibilitou a realiza¸c˜ao de testes comparativos, com rela¸c˜ao a outros sistemas; testes que permitiram avaliar n˜ao s´o as t´ecnicas utilizadas, mas tamb´em os pontos de melhoria na aplica¸c˜ao, de forma que o sistema possa ser utilizado.

Para alcan¸car os objetivos propostos neste trabalho, foram realizadas as seguintes ati-vidades:

• Pesquisa e revis˜ao bibliogr´afica dos temas abordados no projeto, sendo os mesmos:

regi˜ao de interesse, processamento de imagens em tempo real, detec¸c˜ao da face, detec¸c˜ao dos olhos, detec¸c˜ao e rastreamento da ´ıris.

• Estudo da biblioteca de desenvolvimento OpenCV [23] em conjunto com a

(14)

• Defini¸c˜ao das t´ecnicas e processos de desenvolvimento a serem utilizadas na

imple-menta¸c˜ao do projeto de desenvolvimento de um sistema de rastreamento ocular.

• Desenvolvimento de uma interface para permitir a realiza¸c˜ao de testes comparativos

com outros sistemas.

• Testes da aplica¸c˜ao de rastreamento ocular desenvolvida segundo as defini¸c˜oes

pro-postas. Testes integrados para valida¸c˜ao e determina¸c˜ao dos requisitos b´asicos da aplica¸c˜ao e testes comparativos com outros sistemas, com objetivo de validar o ambiente e as funcionalidades do projeto desenvolvido.

1.2

Organiza¸

ao do Trabalho

Este trabalho est´a organizado em 5 cap´ıtulos, conforme explicitado a seguir.

O Cap´ıtulo 2, Fundamenta¸c˜ao Te´orica, aborda os conceitos e m´etodos fundamen-tais utilizados para a realiza¸c˜ao deste trabalho, incluindo processamento de imagens, e detec¸c˜ao de objetos, conforme apresentado por [16], [24] e [25]; defini¸c˜oes de regi˜ao 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´ecnicas utilizadas para o desenvolvimento da aplica¸c˜ao.

O Cap´ıtulo 5, Desenvolvimento da Aplica¸c˜ao, detalha o desenvolvimento proposto da aplica¸c˜ao. Trata-se do desenvolvimento de uma aplica¸c˜ao baseada em regi˜oes de interesse, caracter´ısticas da face do usu´ario, sendo composto pelas etapas: especifica¸c˜ao de requisi-tos do sistema, desenvolvimento do projeto e processo de testes.

O Cap´ıtulo 6, Testes e Discuss˜oes, apresenta a cria¸c˜ao do ambiente de testes para utiliza¸c˜ao e avalia¸c˜ao da aplica¸c˜ao desenvolvida, testes comparativos com outros sistemas de rastreamento ocular, e testes com diferentes equipamentos.

(15)
(16)

2

FUNDAMENTAC

¸ ˜

AO TE ´

ORICA

Neste cap´ıtulo, ´e apresentada a fundamenta¸c˜ao te´orica e tamb´em os conceitos fun-damentais que constituem o embasamento te´orico e t´ecnico deste projeto. A se¸c˜ao 2.1 aborda a ´area de IHC; a se¸c˜ao 2.2 apresenta a base da comunica¸c˜ao alternativa; a se¸c˜ao 2.3 aborda os principais algoritmos para processamento da regi˜ao de interesse, e a se¸c˜ao 2.4 versa sobre os projetos atuais que utilizam o conceito de rastreamento ocular e controle de visada.

2.1

Intera¸

ao Humano-Computador

Com o r´apido avan¸co da tecnologia, quase todas as pessoas tˆem contato com siste-mas computacionais de uma forma ou de outra. Isso tem aumentado o espectro dos usu´arios, pois n˜ao se restringem mais aos t´ecnicos em Eletrˆonica ou Inform´atica, mas in-cluem tamb´em pessoas de qualquer ´area do conhecimento ou que tenham variados graus de conhecimento da tecnologia.

O principal desafio da ´area de IHC consiste em manter atualizados os avan¸cos tec-nol´ogicos e assegurar que sejam aproveitados para levar ao m´aximo o benef´ıcio ao ser humano.

Um dos principais motivos de investimento em pesquisas na ´area de IHC ´e a busca do aumento da eficiˆencia e produtividade dos usu´arios e, consequentemente de um maior ganho financeiro.

Conforme descrito por [28], h´a pessoas que, apesar de serem social, econˆomica, intelec-tual e culturalmente bem posicionadas, sentem dificuldades em operar determinados tipos de m´aquinas digitais, passando a fazer parte dos exclu´ıdos da sociedade da informa¸c˜ao.

(17)

Numa primeira vis˜ao, considerando o computador como um tipo de m´aquina, pode-ria se pensar em IHC como parte da Intera¸c˜ao Homem-M´aquina. No entanto, embora a intera¸c˜ao entre um ser humano e um computador possua aspectos em comum com a intera¸c˜ao entre um ser humano e uma m´aquina qualquer, ela possui aspectos que a dife-renciam. A Figura 1 ilustra a intera¸c˜ao humano-computador da ´area de IHC, sendo que o usu´ario executa uma determinada a¸c˜ao na interface de alguma aplica¸c˜ao, e a aplica¸c˜ao retorna para o usu´ario a interpreta¸c˜ao da a¸c˜ao solicitada de forma mais amig´avel.

Figura 1: Representa¸c˜ao da IHC como parte da Intera¸c˜ao Humano-Computador.

Conforme descrito por [29], os sistemas efetivos geram sentimentos positivos de sucesso, competˆencia e clareza para os usu´arios. Os usu´arios n˜ao se sentem atrapalhados com o uso do computador e podem fazer uma previs˜ao do que ocorrer´a como resultado para cada a¸c˜ao executada. Quando um sistema interativo ´e bem projetado, a dificuldade na sua opera¸c˜ao desaparece, permitindo que o usu´ario possa se concentrar em seu trabalho com prazer.

2.2

Comunica¸

ao Alternativa

`

A medida que as Tecnologias da Informa¸c˜ao e Comunica¸c˜ao (TICs) se desenvolvem, novos recursos tˆem sido disponibilizados para cria¸c˜ao de ferramentas, possibilitando a intera¸c˜ao entre a computa¸c˜ao e diversas ´areas. Conforme descrido por [13], tal intera¸c˜ao tem possibilitado o surgimento de novas pesquisas com objetivo de promover a inclus˜ao social de pessoas com deficiˆencia.

(18)

por dire¸c˜ao do olhar, utilizados como solu¸c˜ao para promover a comunica¸c˜ao alternativa de pessoas com deficiˆencia, buscando a inclus˜ao social por meio da inclus˜ao digital.

Pessoas que possuem problemas motores apresentam dificuldades para expressarem os seus desejos, pensamentos ou at´e mesmo suas necessidades mais b´asicas. Nesse contexto, [13] aponta algumas patologias existentes, destacando-se a Esclerose Lateral Amiotr´ofica (ELA), na qual fun¸c˜oes cognitivas est˜ao preservadas, por´em a comunica¸c˜ao oral ´e preju-dicada pela altera¸c˜ao motora. Para estes casos, o tipo de comunica¸c˜ao ´e limitada, como por exemplo, ao movimento das m˜aos, movimenta¸c˜ao da cabe¸ca, movimento dos olhos, podendo se dar com um simples piscar de olhos ou a movimenta¸c˜ao dos olhos direcionando o mesmo para um determinado objeto.

Como descrito por [13], conceitos de interfaces multimodais podem servir de solu¸c˜ao para o processo de comunica¸c˜ao alternativa para pessoas portadoras de deficiˆencia, cha-mado de Comunica¸c˜ao Alternativa Facilitadora (CAF). S˜ao apresentados tamb´em dois modelos de sistemas utilizando o conceito CAF, sendo eles ImagoDiAnaVox [14] e Note-Vox [15]. Tais sistemas apresentam modelos de interfaces com acionamento por movimento ocular, sendo que sua utiliza¸c˜ao principal ´e a busca visual em crian¸cas com Transtorno Invasivo do Desenvolvimento.

(19)

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 ´unico movimento que, de fato, a pessoa tem controle ´e dos olhos. O autor cita que sistemas comerciais ainda s˜ao inacess´ıveis para uma grande parcela da popula¸c˜ao, devido ao seu custo elevado, sendo que tal situa¸c˜ao poder´a ser revertida devido ao desen-volvimento de novos sistemas.

Esta se¸c˜ao demonstra uma utiliza¸c˜ao importante de sistemas de rastreamento ocular, e a falta de acessibilidade a esses sistemas e equipamentos. Este trabalho inicia a possi-bilidade de tornar sistemas de rastreamento ocular mais acess´ıveis, n˜ao s´o para pessoas com algum tipo de deficiˆencia, mas para qualquer tipo de pessoa.

2.3

Principais algoritmos para detec¸

ao e processamento da regi˜

ao

de interesse

2.3.1 Detec¸c˜ao de Objetos

(20)

de vista, tamanhos, escala, ou, at´e mesmo, quando s˜ao traduzidas. Os objetos podem at´e mesmo serem reconhecidos quando est˜ao parcialmente obstru´ıdos da vis˜ao. Essa tarefa ainda ´e um desafio para os sistemas de Vis˜ao Computacional em geral, pois ainda n˜ao foi resolvida satisfatoriamente para o caso geral, em que objetos, cen´arios, ilumina¸c˜ao e pose s˜ao arbitr´arias.

Um dos principais problemas desse processo, conforme descrito por [31], est´a relaci-onado `a quantifica¸c˜ao das informa¸c˜oes visuais presentes nas imagens, ou seja, para um reconhecimento de um dado objeto ´e necess´ario encontrar, de alguma maneira, carac-ter´ısticas na imagem que o distinguam dos outros objetos da cena.

Viola e Jones [16] abordam uma maneira de detec¸c˜ao de objetos em uma determinada “regi˜ao de interesse”, onde o algoritmo apresentado ´e superior aos demais j´a criados, se comparados isoladamente. Tal algoritmo teve, inicialmente, seu principal objetivo na detec¸c˜ao da regi˜ao da face, onde os resultados em sua detec¸c˜ao e a exibi¸c˜ao de falsos positivos obtiveram taxas equivalentes aos melhores resultados j´a publicados.

(21)

Figura 3: Representa¸c˜ao da Janela de Detec¸c˜ao. [16]

Uma das t´ecnicas ´e chamada de Imagem Integral, sendo que a integral de uma de-terminada posi¸c˜ao x,y ´e a soma dos pixels acima e dos pixels `a esquerda do ponto x,y. Desta maneira, pode computar rapidamente as caracter´ısticas do retˆangulo por meio da utiliza¸c˜ao de uma representa¸c˜ao intermedi´aria da imagem, conforme apresentado na Equa¸c˜ao 1:

ii(x, y) = X

x′≤x,y≤y

i(x′, y′), (1)

Equa¸c˜ao 1: Imagem integral [16].

(22)

Figura 4: Representa¸c˜ao da Imagem Integral [16].

A representa¸c˜ao da imagem integral, demonstrada na Figura 4, apresenta a soma dos

pixels dentro do retˆangulo D, que podem ser calculados a partir de quatro referˆencias de matriz. O valor da imagem integral no ponto 1 ´e a soma dos pixels no retˆangulo A. O valor do ponto 2 ´e(A + B), o ponto 3 ´e(A + C) e o valor do ponto 4 ´e (A + B + C + D). A soma dentro do ponto D pode ser calculada como 4 + 1 - (2 + 3). Onde ii(x,y) ´e a Imagem Integral e i(x,y) ´e a imagem original.

Outra t´ecnica ´e definida pela utiliza¸c˜ao do m´etodo AdaBoost [32] que, por sua vez, tem como objetivo a utiliza¸c˜ao do processo de aprendizagem a fim de realizar buscas em determinadas regi˜oes de uma imagem.

Visando o aumento de velocidade no processo de detec¸c˜ao, a terceira t´ecnica citada por Viola e Jones [16] tem como objetivo a classifica¸c˜ao por meio de uma estrutura em cascata, focando em regi˜oes promissoras da imagem.

(23)

2.3.2 Transformada de Hough

A Transformada de Hough ´e uma t´ecnica de extra¸c˜ao de caracter´ısticas muito utili-zada em An´alise de Imagens, Vis˜ao Computacional e Processamento de Imagem Digital. A partir de um processo de vota¸c˜ao, a t´ecnica tem como principal objetivo detectar ob-jetos a partir de uma classe de formas.

Um dos problemas na an´alise de imagens ´e a dificuldade de detec¸c˜ao de formas simples, como linhas retas [33], c´ırculos ou elipses. Em alguns casos, a detec¸c˜ao de borda pode ser uma etapa de pr´e-processamento, auxiliando na obten¸c˜ao de pontos da imagem oupixels

da imagem que est˜ao na curva desejada no espa¸co da imagem.

Para detec¸c˜ao de retas, a Transformada de Hough utiliza de coordenadas polares como parˆametros de busca, conforme apresentado na Figura 5.

Figura 5: Coordenadas da Transformada de Hough [33].

O parˆametror representa a distˆancia da reta `a origem, enquantoθ´e o ˆangulo do vetor a partir da origem at´e o ponto mais pr´oximo.

A partir desta parametriza¸c˜ao, a equa¸c˜ao da reta pode ser escrita conforme exibido na Equa¸c˜ao 2:

y=

−cos Θ

sin Θ

x+ r sin Θ

(2)

(24)

A Transformada de Hough tamb´em pode ser utilizada para detec¸c˜ao de c´ırculos, con-forme descrito por [17]. Esse processo realiza de forma parecida a detec¸c˜ao de uma reta, por´em, para detec¸c˜ao de um c´ırculo, ´e necess´ario a utiliza¸c˜ao de trˆes parˆametros, con-forme apresentado na seguinte fun¸c˜ao:

C:( X centers, Y centers, r)

Fun¸c˜ao de circunferˆencia para Transformada de Hough [17].

Onde (Xc, Yc) definem a posi¸c˜ao central e r ´e o raio da circunferˆencia, permitindo a detec¸c˜ao de um c´ırculo, conforme ilustrado na Figura 6.

Figura 6: Exemplo de detec¸c˜ao de c´ırculos utilizando a Transformada de Hough, com a equa¸c˜ao de circunferˆencia [17].

A pr´oxima se¸c˜ao 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¸c˜ao apresenta o trabalho relacionado que foi utilizados como base da pesquisa e modelo para o desenvolvimento da aplica¸c˜ao proposta.

(25)

2.4.1 Detec¸c˜ao e Rastreamento de Olhos para Detec¸c˜ao 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´ario e converter esta informa¸c˜ao 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¸c˜ao da regi˜ao da face ´e 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ˆencia, criando hip´oteses e testando-as para regi˜oes onde possam estar os olhos do usu´ario. A detec¸c˜ao da regi˜ao dos olhos se da a partir do gradiente da imagem convertida para tons de cinza. Em seguida, o algoritmo de detec¸c˜ao utiliza proje¸c˜oes horizontais e verticais dos pontos do gradiente, realizando a identifica¸c˜ao da regi˜ao dos olhos com alta precis˜ao [34], conforme apresentado na Figura 8.

Figura 8: Modelo utilizado na identifica¸c˜ao da regi˜ao dos olhos [22].

(26)

verticais, apresentado por [22]. A imagem [A] ´e resultado da proje¸c˜ao horizontal do gradi-ente da imagem original, encontrando dois pontos de m´aximo, sendo um em cada metade da imagem. A imagem [B] apresenta o ter¸co m´edio da face, limitado pelas retas verticais laterais, identificando o ponto de m´aximo da proje¸c˜ao vertical da regi˜ao e, finalmente, na imagem [C], na mesma regi˜ao identificada no passo anterior, s˜ao encontrados dois pontos de m´aximo nas proje¸c˜oes horizontais, uma em cada metade da face. Tais pontos, junta-mente com a reta horizontal, determinam os pontos onde a busca pelos olhos ´e iniciada. Tal t´ecnica obteve uma precis˜ao de 95% de acerto na identifica¸c˜ao da regi˜ao dos olhos, conforme resultados apresentado por [22].

Ap´os realizada a detec¸c˜ao, um outro conjunto de pontos de borda, que se aproxima de uma circunferˆencia nas duas regi˜oes dos olhos, ´e utilizado para a detec¸c˜ao das ´ıris. A fim de reduzir o n´umero de falsos positivos, s˜ao considerados o diˆametro esperado da ´ıris e tamb´em a existˆencia de uma diferen¸ca de tonalidade significativa entre pontos externos e internos da borda, conforme apresentado na Figura 9.

Figura 9: Modelo utilizado na identifica¸c˜ao da regi˜ao da ´ıris [22].

(27)

permite uma taxa de identifica¸c˜ao da ´ıris em imagens com boa ilumina¸c˜ao frontal de at´e 87%.

(28)

3

TRABALHOS CORRELATOS

Esta se¸c˜ao apresenta os trabalhos correlatos de sistemas de rastreamento ocular uti-lizados como base de estudos neste trabalho. A se¸c˜ao 3.1 aborda o sistema ITU Gaze Tracker, desenvolvido pelo grupo de pesquisas ITU GazeGroup [35]; a se¸c˜ao 3.2 versa sobre o produto comercial Tobii, desenvolvido pela empresa Tobii Technology [36]; a se¸c˜ao 3.3 apresenta o produto comercial EAS Binocular, desenvolvido pela empresa LC Technologies Inc. [30]; a se¸c˜ao 3.4 apresenta um trabalho que utilizou como base o tra-balho apresentado na subse¸c˜ao 2.4.1, visando identificar melhorias no processo, tornando o sistema mais robusto.

3.1

ITU Gaze Tracker

Pesquisas relacionadas `a rastreamento ocular e controle de visada s˜ao temas em cons-tante evolu¸c˜ao em diferentes trabalhos. Um desses trabalhos ´e 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ˆameras capturando os olhos do usu´ario, 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¸c˜ao das caracter´ısticas da imagem, como, por exemplo, o centro da pupila e/ou o centro da ´ıris. Uma etapa de fixa¸c˜ao dos olhos ´e adicionada para minimizar os ru´ıdos durante o Processamento da Imagem. Ap´os a finaliza¸c˜ao das etapas de Processamento de Imagem, ´e iniciado o processo de calibra¸c˜ao do usu´ario, que tem como objetivo fazer o mapeamento entre a posi¸c˜ao da pupila com as coordenadas na tela.

Figura 10: Sistema de rastreamento ocular [35].

(29)

usabilidade, conforme descrito por [27]. A aplica¸c˜ao Gaze Tracker possui as seguintes caracter´ısticas: a obten¸c˜ao da dire¸c˜ao do olhar e pontos n˜ao visualizados pelo usu´ario. Trata-se de um c´odigo aberto e baseia-se em equipamentos de baixo custo, obtendo os mesmos resultados de rastreadores oculares comerciais. Os requisitos para utiliza¸c˜ao da aplica¸c˜ao s˜ao umawebcam ou cˆamera de v´ıdeo com vis˜ao noturna e ilumina¸c˜ao infraver-melho.

Utilizando a biblioteca OpenCV [23], para Processamento de Imagens, os passos uti-lizados no Processamento de Imagens capturadas a partir de uma cˆamera s˜ao descritos por [37], sendo a cˆamera posicionada para capturar apenas os olhos do usu´ario em infra-vermelho.

Para determinar o centro do olho mostrado na Figura 11, ´e executada uma seg-menta¸c˜ao na imagem extraindo os pontos de contorno entre a pupila e a ´ıris. Os pontos encontrados s˜ao transformados em uma elipse usando o procedimento RANSAC (RAN-dom SAmple Consensus) [38] para eliminar os falsos positivos. A Figura 11 mostra como ´e realizada a captura do olho do usu´ario, detalhando a tela de configura¸c˜ao do sistema ITU Gaze Tracker, sendo poss´ıvel configurar, por exemplo, o tamanho da ´area da pupila do usu´ario e o do brilho da cˆamera infravermelho.

(30)

A Figura 12 apresenta outro exemplo de configura¸c˜ao que o sistema permite fazer, apresentando uma configura¸c˜ao considerada “boa”, quando os parˆametros n˜ao est˜ao con-figurados muito abaixo e nem muito alto (esquerda) e uma outra configura¸c˜ao considerada “ruim”, pois os parˆametros foram configurados com seus valores m´aximos.

Figura 12: Modelos de configura¸c˜ao da ´area da pupila, configura¸c˜ao boa (esquerda) e configura¸c˜ao ruim (direita) [27].

A precis˜ao dos rastreadores ´e calculada a partir do ˆangulo visual, em que o tamanho de umpixel S e a distˆancia do usu´ario em rela¸c˜ao a telaD precisam ser pr´e-determinados. O c´alculo de precis˜ao em graus ´e feito por meio da Equa¸c˜ao 3:

Ao = 180

π .2.tan −1

Apx

2 .S D

!

(3)

Equa¸c˜ao 3: C´alculo de precis˜ao em graus.

O c´alculo da distˆancia entre as posi¸c˜oes oculares detectadas e a posi¸c˜ao do poss´ıvel alvo produz uma taxa de erros em pixels, e sua precis˜ao ´e calculada por meio da Equa¸c˜ao 4:

Apx= M

X

i=1

PN j=1

||Ti−Pi,j||

N M

!

(4)

Equa¸c˜ao 4: Distˆancia entre as posi¸c˜oes oculares.

Apx ´e a precis˜ao em pixels, e a distˆancia entre os olhos ´e feita pela amostra de P i, e

(31)

O desenvolvimento do sistemaITU Gaze Tracker teve como objetivo a captura e ras-treamento ocular, e seu processo parte da detec¸c˜ao de um ´unico olho do usu´ario, sendo necess´arias duas lˆampadas infravermelho iluminando os olhos do usu´ario. 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¸c˜ao dos testes do ITU Gaze Tracker, sendo apresentado o monitor adaptado com uma cˆamera infravermelho na base. O usu´ario deve ficar a uma distˆancia 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¸c˜ao ao sistemaTobii T60, por´em os resultados foram muito satisfat´orios tratando-se de um sistema de baixo custo. A Figura 14 mostra a diferen¸ca entre os sistemas, ap´os a utiliza¸c˜ao e an´alise dos resultados de ambos. Os c´ırculos vermelhos mostram o erro m´edio potencial do sistema Tobii T60, e os c´ırculos amarelos mostram os resultados com ITU Gaze Tracker.

3.2

Tobii T60

O produtoTobii T60 [11] consiste de um produto comercial, em que um monitor de 17o

(32)

Figura 14: O potencial erro m´edio do Tobii T60 (c´ırculo vermelho) e o ITU Gaze Tracker (c´ırculo externo amarelo) ilustrado em um screenshot da p´agina do NY Times. [27]

modelo permite o movimento da cabe¸ca do usu´ario em at´e 70cm, sendo necess´ario que a cabe¸ca permane¸ca centralizada ao monitor.

O T60 integra um processador dedicado, cujo objetivo ´e o de n˜ao sobrecarregar o computador. O desempenho do sistema ´e relatado com uma latˆencia de 33ms a partir da exposi¸c˜ao do usu´ario `a cˆamera de capta¸c˜ao da imagem. A Figura 15 apresenta o projeto Tobii modelo T60, sendo um monitor com uma cˆamera de captura infravermelha adaptada na base.

(33)

3.3

EAS Binocular

O produtoEAS Binocular possui as seguintes caracter´ısticas: - captura de imagens em infravermelho; - taxa de atualiza¸c˜ao de 120Hz; - captura e processamento dos dois olhos de forma independente; - captura 3D da localiza¸c˜ao ocular; - detec¸c˜ao do diˆametro da pupila; - modos de calibra¸c˜ao 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ˆamera de captura infravermelho adaptado a base do monitor.

Figura 16: Produto EAS Binocular da empresa LC Technologies, Inc [30].

O sistema EAS Binocular ´e utilizado na realiza¸c˜ao de testes comparativos com o sistema proposto neste trabalho, processo detalhado no cap´ıtulo 6.

3.4

Robustez em um Sistema de Detec¸

ao e Rastreamento

Ocu-lar

A melhoria da pesquisa realizada por [22], que deu origem a um sistema mais robusto constituiu, um dos primeiros passos deste trabalho de mestrado.

(34)

os requisitos de hardware e software.

A taxa de melhora apresentada, em rela¸c˜ao ao sistema utilizado como base, est´a relaci-onada `a melhora no processo de detec¸c˜ao das regi˜oes da face e dos olhos, o qual, diferente do modelo apresentado por [22] na se¸c˜ao 2.4.1, realizou trˆes modifica¸c˜oes nesse processo, limitando a regi˜ao de busca dos olhos.

A Figura 17 apresenta a primeira modifica¸c˜ao (m´etodo A) implementada no sistema proposto por [22], apresentado no trabalho [39], com objetivo de alterar apenas os pro-cessos de detec¸c˜ao da face e detec¸c˜ao dos olhos.

Figura 17: Diagrama de Fluxo da Implementa¸c˜ao A.

A segunda modifica¸c˜ao (m´etodo B) no sistema proposto por [22], exibida na Figura 18, mant´em o processo original de detec¸c˜ao da face e dos olhos, e aplica a modifica¸c˜ao ap´os a primeira detec¸c˜ao da ´ıris, definindo uma regi˜ao de interesse em torno dos olhos, para realizar uma busca local da regi˜ao da ´ıris. O objetivo dessa modifica¸c˜ao ´e limitar o processamento apenas a uma regi˜ao de interesse.

Figura 18: Diagrama de Fluxo da Implementa¸c˜ao B.

Na terceira modifica¸c˜ao (m´etodo C), apresentada na Figura 19, combina-se o m´etodo A (Figura 17) com a regi˜ao em torno dos olhos do m´etodo B (Figura 18) para realizar uma busca local da ´ıris. O processo de identifica¸c˜ao da regi˜ao da ´ıris, devido ao seu desempenho satisfat´orio proposto por [22], foi mantido no trabalho proposto por [39].

(35)

A Figura 20 mostra o resultado da implementa¸c˜ao, a partir do diagrama de fluxo da implementa¸c˜ao C, exibindo as marca¸c˜oes das regi˜oes de interesse processadas a partir da imagem capturada pelawebcam.

Figura 20: Implementa¸c˜ao do modelo apresentado no trabalho [39].

A Tabela 1 mostra o ganho e a perda de desempenho dos m´etodos implementados por [39], tomando como base o tempo total (detec¸c˜ao de ´ıris e calibra¸c˜ao do sistema) dos resultados obtidos com o m´etodo [22], tempos aplicados a testes realizados com dois usu´arios.

Tabela 1: Desempenho dos m´etodos A, B e C em rela¸c˜ao ao m´etodo proposto por [22] (tempo total).

Usu´ario 1 Usu´ario 2

M´etodo A -24% -4%

M´etodo B 16% 13%

(36)

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¸c˜ao 4.1 apresenta o detalhamento do macro fluxo do modelo proposto neste trabalho.

4.1

Descri¸

ao do Macro Fluxo

A utiliza¸c˜ao de regi˜oes de interesse [26] permite o Processamento de Imagens com alta resolu¸c˜ao, em tempo real, sem a perda de desempenho. Uma imagem com alta resolu¸c˜ao possui um n´umero maior de pixel tornando a detec¸c˜ao de objetos mais precisa e robusta.

(37)

Figura 21: Fluxo macro do modelo proposto neste trabalho.

`

(38)

4.1.1 Captura do frame da webcam

O modelo proposto por [22] realiza a captura do frame em uma resolu¸c˜ao m´axima de 640x480 pixels, com uma taxa de 15fps. Neste trabalho, a captura de frames pela

webcam ´e feita com uma qualidade n˜ao inferior a 720p, ou seja, captura ´e realizada com resolu¸c˜ao m´ınima de 1280x720pixels com uma taxa de 30fps. Para que o desempenho do computador n˜ao seja um fator negativo no Processamento da Imagem, s˜ao processadas apenas as regi˜oes de interesse, eliminado o problema de desempenho encontrado no modelo proposto por [22], que faz o processamento em toda a imagem para cadaframe capturado.

Para a pr´oxima etapa do processo, a imagem ´e convertida para uma imagem em escala de cinza e realizada a equaliza¸c˜ao do histograma, demonstrado na Figura 22.

(39)

4.1.2 Detec¸c˜ao da Regi˜ao da Face

Nesta etapa recebe-se como parˆametro de entrada a imagem em escala de cinza e realiza-se a detec¸c˜ao da regi˜ao da face. Para a detec¸c˜ao da face ´e utilizada a t´ecnica apresentada por [16] e como parˆametro de entrada um arquivo XML contendo os Clas-sificadores Haar, conforme descrito na biblioteca do OpenCV [40]. Com a regi˜ao da face delimitada, uma estimativa da regi˜ao dos olhos ´e extra´ıda da imagem, servindo de parˆametro de entrada para a detec¸c˜ao dos olhos.

A t´ecnica segue as caracter´ısticas apresentadas na se¸c˜ao 2.3.1, que utiliza trˆes contri-bui¸c˜oes: Imagem Integral; Algoritmo de aprendizagem baseado em AdaBoost [32] e um m´etodo de combina¸c˜ao de classificadores de complexidade baseados emHaar-like features

[41], ou seja, extra¸c˜ao de atributos da imagem digital na detec¸c˜ao de objetos, criando um filtro em cascata eficiente.

(40)

Figura 23: Representa¸c˜ao da sequencia de busca de atributos na imagem.

O algoritmo proposto por [41], trata regi˜oes de 24x24pixels, e a imagem ´e escaneada em 11 diferentes escalas, cada uma ´e 1.25 vezes maior que a anterior. A Figura 24 apresenta os atributos utilizados pelo primeiro classificador.

Figura 24: Representa¸c˜ao da utiliza¸c˜ao de atributos utilizados por [41].

(41)

das imagens n˜ao-face e aceitar perto de 100% das imagens de regi˜oes da face. O pr´oximo classificador utiliza dez atributos. Os pr´oximos dois classificadores usam 25 atributos cada, e s˜ao seguidos por trˆes classificadores com 50 atributos. Os pr´oximos classificadores usam quantidades variadas de atributos.

Os classificadores s˜ao organizados no formato de uma ´arvore de decis˜ao degenerada, que consiste no detector em cascata. O funcionamento dessa estrutura ocorre pela passa-gem de todas as sub janelas de uma imapassa-gem por diversos classificadores, sendo os primeiros mais simples que os seguintes. Ap´os a obten¸c˜ao de um resultado positivo na execu¸c˜ao do primeiro classificador, a janela segue para o pr´oximo, continuando seu processo at´e ser rejeitada, ou ent˜ao, chegar ao final da cascata. Podendo ser rejeitada em qualquer uma das etapas, o detector entende que n˜ao 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].

(42)

A Figura 26 apresenta a regi˜ao de interesse da face a partir do Processamento da Imagem de entrada, esta regi˜ao ´e utilizada como parˆametro de entrada para as pr´oximas etapas, sendo desconsiderada do processamento a ´area n˜ao demarcada. Esse processo pro-porciona um ´otimo desempenho e torna poss´ıvel a utiliza¸c˜ao de imagens de alta resolu¸c˜ao.

Figura 26: Regi˜ao de interesse da face.

A Figura 27 apresenta o pseudoc´odigo do processo de detec¸c˜ao da regi˜ao da face, exi-bindo os parˆametros utilizados para cada etapa do processo at´e a delimita¸c˜ao da regi˜ao de interesse e o processo de exibi¸c˜ao da regi˜ao de interesse na imagem original.

4.1.3 Detec¸c˜ao da Regi˜ao dos Olhos

A delimita¸c˜ao da regi˜ao de interesse da face ´e utilizada como base para a detec¸c˜ao da regi˜ao dos olhos. O processo de detec¸c˜ao ocular utiliza a t´ecnica de [16]. Ap´os a realiza¸c˜ao da detec¸c˜ao ocular, uma nova delimita¸c˜ao da regi˜ao de interesse ´e aplicada nas bordas de cada olho. Nesse processo s˜ao delimitadas duas novas regi˜oes de interesse, sendo uma para o olho esquerdo e outra para o olho direito.

(43)

Figura 27: Pseudoc´odigo do processo de detec¸c˜ao da face.

parˆametro de entrada cont´em o arquivo XML com os Classificadores Haar, para a regi˜ao dos olhos, conforme descrito na biblioteca do OpenCV [40]. A identifica¸c˜ao da regi˜ao dos olhos serve de parˆametro de entrada para a identifica¸c˜ao da regi˜ao da ´ıris que, por sua vez, tamb´em ´e processada para os dois olhos de forma independente.

A Figura 28 exibe a demilita¸c˜ao da regi˜ao de interesse do olho esquerdo ap´os o processo de detec¸c˜ao. A regi˜ao delimitada, apresentada na figura, ´e o parˆametro de entrada para a detec¸c˜ao da ´ıris, sendo ignorada toda a ´area n˜ao demarcada neste processo.

(44)

apresen-Figura 28: Regi˜ao de interesse do olho esquerdo.

tada na figura, conforme descrito anteriormente, ´e o parˆametro de entrada para a detec¸c˜ao da ´ıris, sendo tamb´em ignorada toda a ´area n˜ao demarcada neste processo.

(45)

A Figura 30 apresenta o pseudoc´odigo do processo de detec¸c˜ao do olho esquerdo, exi-bindo os parˆametros utilizados para cada etapa do processo at´e a delimita¸c˜ao da regi˜ao de interesse e o processo de exibi¸c˜ao da regi˜ao de interesse na imagem original. Para o olho direito, um processo similar ´e executado, diferenciando apenas nos parˆametros utilizados para detec¸c˜ao e calculo das regi˜oes.

Figura 30: Pseudoc´odigo do processo de detec¸c˜ao da regi˜ao do olho esquerdo.

4.1.4 Busca pela Regi˜ao da ´Iris

(46)

descrita por [25]. A utiliza¸c˜ao desta t´ecnica tem como objetivo a busca de c´ırculos na regi˜ao de interesse de cada olho. A detec¸c˜ao da ´ıris ´e feita de maneira individual, ou seja, ´e feita a detec¸c˜ao da ´ıris do lado esquerdo independentemente da detec¸c˜ao do lado direito.

A Figura 31 apresenta o resultado da t´ecnica apresentada por [25], utilizando a t´ecnica da Transformada de Hough.

Figura 31: Detec¸c˜ao da ´ıris, apresentada por [25], utilizando a Transformada de Hough.

O processo de detec¸c˜ao da ´ıris leva em considera¸c˜ao a regi˜ao 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´a detectados.

Para obter uma melhor precis˜ao na detec¸c˜ao da ´ıris, em conjunto com a t´ecnica Trans-formada de Hough, descrita por [25], a detec¸c˜ao das bordas da regi˜ao de interesse se fez necess´aria a fim de delimitar a regi˜ao de busca da ´ıris a partir da regi˜ao dos olhos. Esse processo torna poss´ıvel a identifica¸c˜ao do centro da pupila, tornando a detec¸c˜ao e rastre-amento da ´ıris mais robusta.

(47)

do canto de cada olho, os quais tˆem as suas posi¸c˜oes determinadas pela detec¸c˜ao do centro da pupila.

Figura 32: Regi˜ao de interesse da ´ıris do lado esquerdo.

A Figura 32 mostra o processo ap´os a detec¸c˜ao da regi˜ao dos olhos e a delimita¸c˜ao dos pontos de interesse na imagem, sendo realizado o Processamento da Imagem a fim de buscar e a detectar da ´ıris, apenas na regi˜ao demarcada no processo anterior.

A Figura 33 segue o mesmo processamento utilizado para a Figura 32, sendo efetuada a busca e detec¸c˜ao da ´ıris apenas ne regi˜ao delimitada no processo anterior.

Figura 33: Regi˜ao de interesse da ´ıris do lado direito.

(48)

´ı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¸c˜ao, permitindo a parametriza¸c˜ao, ou talvez, algum tipo de adapta¸c˜ao para qualquer um dos olhos, sem que o mesmo interfira no processamento do outro.

4.1.5 Calibra¸c˜ao do Sistema

Para garantir uma precis˜ao satisfat´oria das a¸c˜oes a serem realizadas pelo usu´ario, como, por exemplo, a movimenta¸c˜ao do ponteiro do mouse, foi adicionado `a aplica¸c˜ao um processo de calibra¸c˜ao. Tal processo exige, ap´os a primeira intera¸c˜ao do usu´ario durante a detec¸c˜ao da ´ıris, que o mesmo fixe o olhar para pontos definidos pela aplica¸c˜ao, com o objetivo de armazenar os limites de cada um dos quatro lados do monitor, sendo eles os pontos de m´aximo e m´ınimo dos eixosX e Y.

As coordenadas s˜ao utilizadas para determinar a precis˜ao do movimento do mouse visto que, neste trabalho, tais coordenadas s˜ao extra´ıdas de forma independente, ou seja, s˜ao extra´ıdas para cada olho separadamente. Esse processo torna o movimento do pon-teiro mais preciso, pois a detec¸c˜ao de forma conjunta causa falhas de posicionamento e pouca precis˜ao durante o processo de posicionamento do ponteiro do mouse.

O processo de calibra¸c˜ao foi separado em fases distintas, sendo que cada uma orienta o usu´ario a fixar o olhar para cada um dos pontos indicados na tela. As fases da calibra¸c˜ao 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.

(49)

4.1.6 Rastreamento da ´Iris

Ap´os a calibra¸c˜ao realizada e os limites identificados, o processamento ´e retomado para a etapa inicial, por´em com as regi˜oes de interesse j´a demarcadas durante a primeira intera¸c˜ao. O centro da ´ıris ´e demarcado para ser utilizado como referˆencia para a pr´oxima etapa do processo, sua posi¸c˜ao em rela¸c˜ao `a imagem ´e transformada a partir de uma ma-triz de transforma¸c˜ao em uma posi¸c˜ao(x, y)proporcional ao tamanho da ´area de trabalho utilizada. Tal processo ´e base para a realiza¸c˜ao da movimenta¸c˜ao do ponteiro do mouse.

A Figura 34 apresenta o pseudoc´odigo do processo de detec¸c˜ao da ´ıris, exibindo os parˆametros utilizados para cada etapa do processo at´e a delimita¸c˜ao da regi˜ao de interesse e o processo de exibi¸c˜ao da regi˜ao de interesse na imagem original. O processo se repete para detec¸c˜ao da ´ıris em ambos os olhos, direito e esquerdo, n˜ao havendo diferen¸ca de parˆametros ou configura¸c˜ao personalizada para ambos os olhos.

(50)

O processo de rastreamento da ´ıris aplicada neste trabalho, consiste em uma busca local realizada para cadaframe capturado pela cˆamera. Devido a delimita¸c˜ao das regi˜oes de interesse realizada nos processos anteriores de detec¸c˜ao da face e detec¸c˜ao da regi˜ao dos olhos, a retomada do processo de detec¸c˜ao da ´ıris n˜ao possui custo computacional elevado.

Os estados atuais da detec¸c˜ao da ´ıris s˜ao armazenados em vari´aveis de controle, com objetivo de aumentar a robustez da aplica¸c˜ao em uma poss´ıvel falha em alguma das etapas do processo, o sistema realiza a retomado do processo inicial a partir dos parˆametros armazenados no processamento do frame anterior, tornando o sistema tolerante a falhas, n˜ao necessitando realizar todas as etapas do Processamento de Imagens, o que poderia acarretar em um custo computacional desnecess´ario.

4.1.7 Movimento do Mouse

A partir de todo o processo de detec¸c˜ao das caracter´ısticas da regi˜ao da face com limita¸c˜ao das regi˜oes de interesse, ´e poss´ıvel manipular essas informa¸c˜oes de v´arias ma-neiras, como, por exemplo, controle do clique do mouse a partir do piscar de olhos do usu´ario, conforme descrito por [42] e [43]. Desta maneira, s˜ao desenvolvidos sistemas com base na detec¸c˜ao da ´ıris do usu´ario e o controle do mouse a partir dos movimentos dos olhos.

O posicionamento do ponteiro do mouse ´e calculado a partir dos limites das regi˜oes estabelecidas pelo processo de calibra¸c˜ao. Tal processo tem como objetivo identificar os limites da ´area de vis˜ao do usu´ario, a fim de melhorar a precis˜ao dos movimentos do ponteiro do mouse.

(51)

Figura 35: Modelo de c´alculo de limites das posi¸c˜oes x,y.

Para gera¸c˜ao do ∆x e ∆y, s˜ao considerados o posicionamento dos dois olhos do usu´ario, ent˜ao ´e calculada a m´edia sobre os valores a partir da diferen¸ca entre a m´edia das posi¸c˜oes. A Equa¸c˜ao 5 apresenta o c´alculo realizado para o ∆x.

∆x= XseL+XseR

2 −

XsdL+XsdR

2 (5)

Equa¸c˜ao 5: C´alculo do ∆x.

Sendo XseL a posi¸c˜ao X superior esquerda relacionada ao olho esquerdo, XseR a posi¸c˜ao X superior esquerda relacionada ao olho direito, XsdL a posi¸c˜ao X superior di-reita relacionada ao olho esquerdo e XsdR a posi¸c˜ao X superior direita relacionada ao olho direito.

A Equa¸c˜ao 6 apresenta o c´alculo para o ∆y.

∆y=

Y seL+Y seR

2 −

Y ieL+Y ieR

2

Y sdL+Y sdR

2 −

Y idL+Y idR

2

(6)

Equa¸c˜ao 6: C´alculo do ∆y.

SendoY seLa posi¸c˜ao Y superior esquerda do olho esquerdo,Y seRa posi¸c˜aoY supe-rior esquerda do olho direito,Y ieL a posi¸c˜aoY inferior esquerda do olho esquerdo,Y ieR

(52)

esquerdo, Y sdR a posi¸c˜ao Y superior direita do olho direito, Y idL a posi¸c˜ao Y inferior direita do olho esquerdo eY idR a posi¸c˜aoY inferior direita do olho esquerdo.

O c´alculo dos pontos ∆x e ∆y s˜ao armazenados para posterior utiliza¸c˜ao no processo de movimenta¸c˜ao do mouse, tal que, para cara posicionamento ocular capturado em cada

frame processado pela aplica¸c˜ao, os valores de ∆x e ∆y s˜ao utilizados para mapear a tela do usu´ario, em rela¸c˜ao `a imagem capturada.

A posi¸c˜ao central, capturada no in´ıcio do processo de calibra¸c˜ao, ´e utilizado para realizar o movimento do mouse, sendo que, sua posi¸c˜ao ´e armazenada em cada frame

processado. O posicionamento X e Y capturados no frame, ´e comparado com o valor capturado no frame anterior, e ent˜ao, o ponteiro do mouse ´e movimentado, tendo seu posicionamento X e Y acrescido e/ou decrescido de 20 pixels, sendo ent˜ao, realizado o movimento do ponteiro do mouse.

4.1.8 Acionamento do Click do Mouse

(53)

5

DESENVOLVIMENTO DA APLICAC

¸ ˜

AO

Este cap´ıtulo versa sobre o desenvolvimento da aplica¸c˜ao baseado no modelo proposto. O desenvolvimento do sistema de software deste trabalho consiste no processamento de regi˜oes espec´ıficas da imagem, mais precisamente nas regi˜oes mais importantes para os resultados esperados do processo.

A aplica¸c˜ao foi desenvolvida com objetivo de validar as t´ecnicas descritas no cap´ıtulo 4, realizando testes com o sistema-base e sistemas comerciais e, tamb´em a apresenta¸c˜ao de casos de testes apenas da aplica¸c˜ao desenvolvida neste trabalho. A se¸c˜ao 5.1 apresenta a metodologia de desenvolvimento de software utilizada; a se¸c˜ao 5.2 descreve o escopo do desenvolvimento da aplica¸c˜ao; a se¸c˜ao 5.3 detalha o processo de an´alise de requisitos; a se¸c˜ao 5.4 versa sobre os recursos de hardware e software utilizados para o desenvolvimento da aplica¸c˜ao. Finalmente a se¸c˜ao 5.5 aborda o processo de implementa¸c˜ao da aplica¸c˜ao desenvolvida.

5.1

Metodologia de Desenvolvimento da Aplica¸

ao

A metodologia utilizada para suportar o desenvolvimento da aplica¸c˜ao ´e a metodologia baseada em Prototipa¸c˜ao.

Prototipa¸c˜ao (ou modelo Evolutivo), conforme definido por [44], ´e classificada como um Modelo de Processo de Software, ou seja, ela determina a maneira precisa de como ser˜ao as atividades e dinˆamicas da cria¸c˜ao do software. O desenvolvimento ´e feito obede-cendo a realiza¸c˜ao das diferentes etapas de an´alise de requisitos, projeto, codifica¸c˜ao e os testes.

Devido `a complexidade no levantamento de requisitos, se faz necess´aria a utiliza¸c˜ao de um prot´otipo do sistema, sendo que um prot´otipo ´e uma vers˜ao inicial de um sistema de software, utilizado para apresentar conceitos e realiza¸c˜ao de testes experimentais.

(54)

• Levantamento de requisitos: Os prot´otipos de sistema permitem que os usu´arios

realizem experiˆencias para ver como o sistema ap´oia seu trabalho. Podem gerar novos requisitos e identificar pontos positivos e negativos do software.

• Valida¸c˜ao de requisitos: O prot´otipo pode revelar erros e omiss˜oes nos

requi-sitos propostos. Uma fun¸c˜ao descrita em uma especifica¸c˜ao pode parecer ´util e bem-definida. Contudo, quando essa fun¸c˜ao ´e utilizada com outras, os usu´arios muitas vezes acham que sua vis˜ao inicial era incorreta e incompleta. A especifica¸c˜ao de sistema pode, ent˜ao, ser modificada para refletir sua compreens˜ao alterada dos requisitos.

A Figura 36 apresenta o modelo de desenvolvimento utilizando a metodologia de pro-totipa¸c˜ao da Engenharia de Software.

Figura 36: Modelo de prototipa¸c˜ao [44].

(55)

de prot´otipos, apresentando as fases do desenvolvimento de um prot´otipo, seguindo a metodologia de prototipa¸c˜ao.

Figura 37: Processo de desenvolvimento de prot´otipos [45].

5.2

Descri¸

ao do Desenvolvimento da Aplica¸

ao

Para o desenvolvimento da aplica¸c˜ao de rastreamento ocular proposto neste trabalho, foi criado um fluxo de atividades no qual ´e detalhada a sequˆencia 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¸c˜ao da aplica¸c˜ao segue uma sequˆencia de tarefas a serem executadas, conforme ilustrado na imagem.

(56)

5.3

An´

alise de Requisitos

Segundo a IEEE [46], a an´alise de requisitos ´e um processo que envolve o estudo das necessidades do usu´ario para se encontrar uma defini¸c˜ao correta ou completa do sistema ou requisito de software.

O processo de an´alise de requisitos neste trabalho tem como objetivo, englobar as tarefas de especifica¸c˜ao de requisitos, consolidando fun¸c˜oes e apresentando a modelagem da aplica¸c˜ao, apresentando ferramentas que facilitar˜ao 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¸c˜ao do usu´ario com o sistema, mostrando tamb´em as intera¸c˜oes entre os m´odulos do sistema.

(57)

Na primeira intera¸c˜ao com o usu´ario, o sistema ir´a realizar a inicializa¸c˜ao dos parˆametros iniciais, sendo eles: - configura¸c˜oes para captura de imagens pela cˆamera (altura, largura, frames por segundo); - arquivos xml de configura¸c˜ao das regi˜oes da face para detec¸c˜ao; - arquivo xml de configura¸c˜ao das regi˜oes dos olhos para detec¸c˜ao. Seguido das etapas de processamento de detec¸c˜ao e delimita¸c˜ao de regi˜oes de interesse da face, dos olhos e da ´ıris. Ap´os a conclus˜ao das etapas de processamento, ´e ent˜ao inicializada a interface de calibra¸c˜ao, seguida pela interface de rastreamento ocular, permitindo ao usu´ario a uti-liza¸c˜ao do sistema.

A Figura 40 apresenta o Diagrama de Sequˆencia do sistema proposto, a fim de ilustrar a troca de mensagens entre o usu´ario e entre os m´odulos do sistema durante toda a sua execu¸c˜ao.

Figura 40: Diagrama de Sequˆencia do sistema.

(58)

A Figura 41 apresenta o Diagrama de Pacotes do sistema proposto, desenvolvidos de forma independente. O pacote de apresenta¸c˜ao cont´em as interfaces para os usu´arios, tendo como dependˆencia os pacotes de regras e Rastreamento Ocular. O pacote de Ras-treamento Ocular cont´em toda a l´ogica de rasRas-treamento ocular, que s˜ao: posicionamento da ´ıris; movimento do mouse, tendo como dependˆencia apenas o pacote de Regras. Por fim, o pacote de Regras possui a l´ogica de processamento de regi˜oes de interesse da face, dos olhos e da ´ıris que, conforme ilustrado na Figura 41, ´e um conjunto de classes inde-pendentes, 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 ´e constitu´ıdo baseado na modelagem de desen-volvimento de sistema orientados a objetos.

(59)
(60)

5.4

Projeto

Para a codifica¸c˜ao 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¸c˜ao.

A Tabela 2 apresenta os equipamentos de hardware utilizados para o desenvolvimento deste projeto de desenvolvimento do software.

Tabela 2: Descri¸c˜ao dos equipamentos utilizados.

Equipamento Modelo Configura¸c˜ao

Notebook Sony Vaio SVS15115FBB Processador Intel Core i7, 6GB RAM, HD 750GB

Monitor Benq XL24210T 24 polegadas e resolu¸c˜ao FULL

HD

A captura em tempo real das imagens foi feita a partir de umawebcam com capacidade m´axima de captura de 720p com 30fps.

5.5

Implementa¸

ao

A partir da especifica¸c˜ao e an´alise de requisitos realizada anteriormente, realizou-se o desenvolvimento de um prot´otipo de uma aplica¸c˜ao de rastreamento ocular com as seguintes funcionalidades:

• sele¸c˜ao da cˆamera de captura;

• inicializa¸c˜ao da captura;

• inicializa¸c˜ao da calibra¸c˜ao;

• controles de detec¸c˜ao dos olhos;

(61)

– detec¸c˜ao do olho direito;

• controles de detec¸c˜ao da ´ıris;

– detec¸c˜ao da ´ıris esquerda;

– detec¸c˜ao da ´ıris direita;

• controle do mouse;

– controle do mouse vertical;

– controle do mouse horizontal.

A Figura 43 apresenta a tela inicial do prot´otipo desenvolvido neste trabalho, que consiste em um ambiente de visualiza¸c˜ao do processamento da imagem cujas op¸c˜oes de configura¸c˜ao e parametriza¸c˜ao s˜ao exibidas na coluna `a direita. O prot´otipo permite que seja iniciada a captura da imagem, permite tamb´em a possibilidade de validar o proces-samento de cada etapa, como, por exemplo; verificar o procesproces-samento da imagem apenas para um dos olhos e/ou apenas para uma das ´ıris. O sistema permite tamb´em a ini-cializa¸c˜ao da calibra¸c˜ao e a valida¸c˜ao 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).

(62)

Para a calibra¸c˜ao do sistema, foi desenvolvido o modelo baseado no sistema EyeGaze. O sistema apresenta uma s´erie de pontos na tela para que o usu´ario siga os mesmos com os olhos. A Figura 44 apresenta a tela de calibra¸c˜ao do sistemaEyeGaze. O sistema per-mite a visualiza¸c˜ao da regi˜ao da ´ıris capturada em infravermelho nas janelas superiores apresentadas na imagem.

(63)

O processo de calibra¸c˜ao do sistema desenvolvido neste trabalho inicia-se com duas mensagens apresentadas para o usu´ario, preparando o mesmo para o in´ıcio da calibra¸c˜ao. A Figura 45 apresenta a primeira mensagem e a Figura 46 exibe a segunda mensagem. Ap´os a exibi¸c˜ao das mensagens, ´e iniciada a calibra¸c˜ao dos pontos. A Figura 47 apresenta a tela de calibra¸c˜ao de pontos desenvolvida e o processo de calibra¸c˜ao finalizado, sendo que todos os pontos est˜ao sendo exibidos.

Figura 45: Primeira mensagem no in´ıcio da calibra¸c˜ao.

(64)

Figura 47: Tela de calibra¸c˜ao da aplica¸c˜ao desenvolvida neste trabalho.

Ap´os o processo de calibra¸c˜ao, a aplica¸c˜ao est´a apta para iniciar a movimenta¸c˜ao do mouse a partir do movimento dos olhos do usu´ario. Para valida¸c˜ao desta etapa do pro-cesso, uma interface foi desenvolvida para digita¸c˜ao de n´umeros, sendo que este processo tamb´em foi baseado no sistema EyeGaze. A Figura 48 apresenta a tela de digita¸c˜ao de n´umeros do sistema EyeGaze, seguida pela Figura 49 que apresenta a tela de digita¸c˜ao de n´umeros desenvolvida para valida¸c˜ao do modelo proposto neste trabalho.

(65)

Figura 49: Tela de digita¸c˜ao de n´umeros desenvolvida neste trabalho.

5.5.1 Testes

Imagem

Figura 1: Representa¸c˜ao da IHC como parte da Intera¸c˜ao Humano-Computador.
Figura 8: Modelo utilizado na identifica¸c˜ao da regi˜ao dos olhos [22].
Figura 9: Modelo utilizado na identifica¸c˜ao da regi˜ao da ´ıris [22].
Figura 12: Modelos de configura¸c˜ao da ´area da pupila, configura¸c˜ao boa (esquerda) e configura¸c˜ao ruim (direita) [27].
+7

Referências

Documentos relacionados

Essa modalidade consiste em um “estudo profundo e exaustivo de um ou de poucos objetos, com contornos claramente definidos, permitindo seu amplo e detalhado

Seria somente em 2002, passados mais de dez anos da Re- forma Psiquiátrica, que, como foi reconhecido oficialmente por docu- mento do Ministério da Saúde (2005), em concordância com

Em que pese ausência de perícia médica judicial, cabe frisar que o julgador não está adstrito apenas à prova técnica para formar a sua convicção, podendo

The general framework of proposed principles can be summarized in the following manner: (i) globalized, transnational AML action through common standards, international

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

publicação em que Machado de Assis estava inserido, as formulações originais de suas obras e as condições e disposições do regime de produção oferecido pela interação entre

As análises serão aplicadas em chapas de aços de alta resistência (22MnB5) de 1 mm de espessura e não esperados são a realização de um mapeamento do processo

Os instrutores tiveram oportunidade de interagir com os vídeos, e a apreciação que recolhemos foi sobretudo sobre a percepção da utilidade que estes atribuem aos vídeos, bem como