• Nenhum resultado encontrado

Resumo. 1. Introdução

N/A
N/A
Protected

Academic year: 2021

Share "Resumo. 1. Introdução"

Copied!
6
0
0

Texto

(1)

Técnicas que Utilizam Processamento de Imagens para Detecção e Classificação

da Direção do Olhar

Sheyla de Farias Gomes, Helton Maia Peixoto,

Allan de M. Martins, José Alfredo F. Costa

Universidade Federal do Rio Grande do Norte

E-mails: [sheyla,helton,allan]@dca.ufrn.br;

alfredo@dee.ufrn.br

Resumo

A visão possui muitos sensores responsáveis pela captação de informações que são enviadas ao cérebro. O olhar reflete a sua atenção, intenção e interesse. Sendo assim, a detecção da direção do olhar é uma alternativa promissora para a comunicação com a máquina. A aplicação de técnicas para detecção da direção do olhar tem a possibilidade de melhorar significativamente a capacidade de interação dos portadores de deficiências motoras com os computadores. O objetivo deste trabalho consiste em apresentar um sistema que utiliza técnicas de processamento digital de imagens para classificar a direção do olhar. Os resultados mostram as simulações realizadas com as técnicas de captura, processamento e classificação da direção do olhar em uma imagem.

Palavras-chave: Interação homem-máquina, processamento digital de imagens, detecção da direção do olhar.

1. Introdução

Com o crescimento tecnológico dos últimos anos, a facilidade da informatização, através dos computadores, tem se tornado parte do cotidiano de milhões de pessoas. Desenvolver recursos de interação entre pessoas com necessidades especiais e a máquina seria uma maneira concreta de neutralizar os obstáculos causados pela deficiência e buscar sua inclusão social [1,6,7,10,12].

Para os portadores de necessidades especiais, a comunicação apresenta um grande desafio em transmitir informação, trocar idéias e compartilhar sentimentos. Muitos dispositivos e sistemas já estão disponíveis para ajudá-los a melhorar sua comunicação com a máquina, adaptar-se ao ambiente e interagir mais efetivamente na sociedade, seja através de softwares de reconhecimento e sintetização de voz, seja através de mouses e teclados adaptados a um determinado tipo de deficiência. Entretanto, essas técnicas não conseguem englobar muitos desses deficientes, frente às dificuldades em obter acesso a recursos computacionais, como é o caso dos tetraplégicos e dos indivíduos com deficiência auditiva. Um dos benefícios

da aplicação das técnicas de detecção da direção do olhar é a possibilidade de melhorar significativamente a interação dos portadores de deficiências motoras em utilizar computadores, permitindo que até pessoas cujos movimentos se limitem ao globo ocular tenham a capacidade de utilizarem computadores [8].

Dentre os cinco sentidos de percepção, a visão é a que adquire o maior volume de informações que são enviadas ao cérebro. Sendo assim, a detecção da direção do olhar é uma alternativa promissora para a comunicação com a máquina, além de ser uma forma de comunicação natural e mais rápida do que qualquer outra forma de comunicação que o ser humano possui.

A informação extraída através dos movimentos do globo ocular pode ser usada para selecionar e ativar um ícone, um item de menu na tela do computador, para registrar o interesse do usuário por determinado conteúdo de uma página da internet, enfim, tornar possível a interatividade com a máquina.

O rastreamento dos olhos é a técnica usada para detectar a posição para onde a pessoa está olhando. Seu conceito baseia-se em focar o olho do usuário e estimar a direção do seu olhar. Essa estimação pode ser feita tanto no espaço 3D, pela determinação de um vetor correspondente à linha de visão do usuário, quanto em 2D, determinando o ponto observado sobre uma superfície de interesse em particular (um painel ou a tela do monitor, por exemplo) [7].

Vários sistemas que permitem a interação homem-máquina através da visão humana já foram desenvolvidos. Entretanto, para o rastreamento dos olhos, a maioria requer o uso de equipamentos especiais como eletrodos instalados próximos aos olhos, lentes de contato e capacetes [6,10], como mostra a Fig. 1. Tais sistemas são conhecidos como intrusivos, uma vez que os aparelhos entram em contato direto com a pele ou olho do usuário, o que pode provocar certo desconforto e restringir o seu tempo de utilização [6].

Técnicas baseadas em visão computacional contornam essa limitação estimando o olhar a partir do processamento de imagens capturadas da face ou do olho das pessoas [9,11,14]. Tipicamente, procuram-se nas imagens pontos característicos como a pupila, a íris, a esclera ou mesmo reflexos gerados por fontes de luz, os quais são usados como referência na determinação da direção do olhar [7]. Normalmente, nesses sistemas, são usadas câmeras com diodos emissores de luz infravermelha, que facilitam a

(2)

detecção das pupilas humanas e câmeras filmadoras com foco automático, como ilustra a Fig. 2. Apesar de fornecerem bons resultados, tais equipamentos possuem um custo elevado, dificultando o acesso à utilização [6].

Fig. 2. Câmera com diodos emissores de luz infravermelha.

A qualidade das webcams modernas aliada ao seu baixo custo é uma alternativa interessante para a captura de imagens em sistemas voltados para a detecção da direção do olhar. Nesse contexto, este trabalho apresenta técnicas de interação homem-máquina, através da visão humana, fazendo uso de técnicas como processamento digital de imagens para a classificação da direção do olhar, utilizando uma simples webcam como dispositivo de captura.

2. Detecção da direção do olhar

As técnicas de processamento digital de imagens utilizadas neste trabalho servem para detectar a região dos olhos em uma imagem digitalizada. O diagrama em blocos da Fig. 3 ilustra a arquitetura do sistema implementado.

Fig. 3. Arquitetura do sistema implementado.

2.1. Aquisição

A aquisição da imagem tem como finalidade representar a imagem real do usuário em uma forma digital que pode ser convenientemente processada pelo computador.

A imagem analógica (real) é representada por uma função intensidade de luz bidimensional f(x,y), que precisa ser amostrada e quantizada para ser digitalizada [3]. A amostragem consiste em discretizar as coordenadas espaciais (x,y) em uma matriz de pontos elementares, onde cada ponto recebe o nome de pixel. A quantização consiste na representação de cada pixel por um valor que indica a intensidade de brilho, denominado nível de cinza. A quantidade de níveis de cinza depende da quantidade de bits usada na representação de cada pixel.

Dependendo do dispositivo de captura utilizado, os sistemas podem ser classificados como intrusivos ou não intrusivos. Os sistemas intrusivos empregam dispositivos especiais como óculos e eletrodos para adquirir a imagem. Os sistemas não intrusivos empregam câmeras no processo de aquisição. Segundo Moretto [6], as técnicas intrusivas possuem uma taxa de acerto da localização dos olhos maior que os sistemas não intrusivos, uma vez que a localização do olho é facilitada. Entretanto, não possuem fácil acesso pelos usuários e possuem custo elevado.

Alguns sistemas não intrusivos para detectar a direção do olhar utilizam um processo prévio de ajuste de valores para cada usuário, chamado de calibração. Esses valores consistem em características de diferentes usuários, como por exemplo, a distância do usuário com relação à câmera [6]. Neste trabalho, no entanto, não serão utilizados estes ajustes, a pretensão é facilitar o manuseio dos equipamentos que fazem parte do processo.

2.2. Conversão para níveis de cinza

Normalmente, a imagem capturada por uma câmera é colorida e salva no formato de cores RGB, que corresponde a componentes espectrais das cores primárias vermelha, verde e azul, respectivamente. A imagem no formato RGB dificulta o processamento, uma vez que na detecção das

Fig. 1. Equipamentos especiais que permitem a interação homem-máquina através da visão humana. a) Óculos; b)

(3)

bordas é provável que ocorra realce irrelevante em certas partes da imagem, como a pele, por exemplo. Isso ocorre porque as intensidades nos planos R, G e B serão alteradas diferentemente, resultando na mudança das intensidades relativas entre elas [2,3]. Sendo assim, é necessária a conversão da imagem para níveis de cinza.

Na conversão para níveis de cinza ocorre uma translação das cores originais para níveis intermediários entre o preto, que está na origem do plano, e o branco, que é o valor mais distante da origem da imagem. A conversão é feita através da Eq. (1), que é executada para cada pixel da imagem.

114

,

0

*

587

,

0

*

299

,

0

*

( , ) ( , ) ) , ( ) , ( ' y x azul y x verd y x verm y x

P

P

P

P

=

+

+

em que P’ é o ponto da nova imagem em níveis de cinza e Pverm, Pverd e Pazul são os pontos da imagem original RGB

[3].

2.3. Detecção da face

O recorte da imagem é feito para eliminar as informações desnecessárias que podem aparecer no ambiente, através de uma função apresentada na literatura [13]. Em qualquer ambiente podem ocorrer variações, no entanto, as características da face permanecem constantes. Isso torna mais tranqüila a extração do olho apenas. A grande quantidade de informações desnecessárias provenientes dos dados externos à região da face são fatores que podem impedir a clareza dos dados durante o processamento das imagens. Contudo, a idéia foi utilizar a câmera sem distinções das movimentações prévias e utilizá-la do mesmo modo para os futuros usuários.

As imagens para essa fase do processamento são do mesmo tamanho e em nível de cinza, visto que a resolução para todas as imagens é a mesma. Nas aplicações práticas de sistemas de reconhecimento de faces, é notória a apresentação de algumas dificuldades de processamento como a utilização de imagens reais, obtidas em ambientes não controlados. Assim, essa etapa de pré-processamento deve ser capaz de trabalhar a imagem para que ela fique apta aos futuros tratamentos. Isto inclui técnicas de redimensionamento, também utilizadas nessa fase.

2.4. Delimitação da região dos olhos

A delimitação da região dos olhos é feita manualmente obtendo-se uma matriz de tamanho 30 x 20 pixels para cada figura. Para o treinamento, foram utilizadas 60 imagens e, para validação, 20 imagens, todas essas de pessoas diferentes.

É interessante ressaltar que as imagens, tanto para treinamento quanto para validação, dificultam o aprendizado da máquina quando são aplicadas imagens de usuários diferentes.

3. Metodologia

As redes neurais artificiais visam o desenvolvimento de aplicações computacionais capazes de armazenar conhecimentos adquiridos para resolver problemas, obtendo assim novos conhecimentos através da experiência [4]. Os sistemas simulam a estrutura do cérebro, sendo capazes de desenvolver o que chamamos de inteligência, utilizando a capacidade dos computadores de aprenderem e, através de erros, reconhecerem padrões. As redes neurais são processadores distribuídos paralelamente, com habilidades caracterizadas em aprender, usando uma estrutura de simulações do cérebro [5].

Existem vários métodos de aprendizado utilizando redes neurais, porém, este trabalho limita-se a utilizar o Aprendizado Supervisionado.

As redes neurais que utilizam aprendizado supervisionado caracterizam-se por sucessivas apresentações entre a rede de padrões de entrada e seus respectivos correspondentes de saída. A correção dos erros é ajustada pela tendência a buscar um determinado valor mínimo. Ocorre uma lei de aprendizagem que trabalha com os padrões de saída e leva o erro a buscar um determinado valor mínimo, utilizando um conjunto de treinamentos que contém os dados de entrada (e suas respectivas respostas) [5].

Para este trabalho, foram utilizados três tipos de combinações entre redes e dois algoritmos de aprendizado entre máquinas. As redes foram nomeadas de redes Multilayer Perceptron (MLP) 1, 2 e 3.

Cada imagem foi devidamente normalizada e distribuída como entrada para a rede e assim utilizada para as futuras comparações. A saída foi previamente definida com apenas quatro posições, definidas como: esquerda, direita, em baixo e em cima.

Para a primeira rede, utilizou-se o backpropagation como algoritmo de treinamento. Esse algoritmo possui dois passos essenciais. No primeiro passo, um padrão é apresentado à camada de entrada, obtendo uma resposta na camada de saída. No segundo, a saída obtida é comparada à desejada. O erro calculado é propagado da saída até a camada de entrada, e os pesos das unidades das camadas internas vão sendo modificados. Uma variação do algoritmo backpropagation é o algoritmo Rprop (Resilient backpropagation), que elimina o problema da derivada próxima de zero (corrige os pesos apenas com o sinal da derivada). Este algoritmo é utilizado nas redes MLP-2 e MLP-3.

Todas as redes neurais utilizadas fazem uso da função de ativação tangente sigmóide; a diferença entre elas vai estar no número de camadas ocultas e de neurônios nestas camadas. A rede MLP-1, por exemplo, apresenta apenas uma camada oculta com dez neurônios. (ver Fig. 4).

(4)

Fig. 4. Estrutura da rede neural MLP-1.

Para as redes MLP-2 e MLP-3, foi utilizado o algoritmo de treinamento Resilient backpropagation, além de terem sido feitas algumas alterações na configuração, em busca de um melhor desempenho. A rede MLP-2 possui vinte neurônios na camada oculta, como mostrado na Fig. 5.

Fig. 5. Estrutura da rede neural MLP-2.

De acordo com os testes realizados, observou-se que o aumento das camadas ocultas tornava mais rápido o treinamento de uma rede específica, melhorando seu desempenho em comparação às outras. Sendo assim, a rede MLP-3 utiliza o mesmo algoritmo de treinamento da rede MLP-2, mas ela faz uso de duas camadas ocultas, uma com cinqüenta e outra com dez neurônios, o que foi responsável pelo aumento da velocidade de treinamento. A configuração da rede MLP-3 é apresentada na Fig. 6.

Fig. 6. Estrutura da rede neural MLP-3.

3.1. Treinamento da rede

Para a realização dos testes, foi utilizado o software MATLAB 2007. O treinamento realizado com o algoritmo backpropagation, utilizado na rede MLP-1, apresentou uma tempo de execução considerável, porém, com resultados significativos, mostrados na Fig. 7. Apesar da rede MLP-1 utilizar 56 épocas e a MLP-2 necessitar de 207 épocas para finalizar o treinamento, a rede MLP-2 se sobressaiu no tempo, melhorando os resultados, em termos de convergência, o que pode ser atribuído à quantidade de neurônios da camada oculta e ao algoritmo de treinamento utilizado. A Rede MLP-3 precisou de 165 épocas para a finalização do treinamento, sendo seu resultado o mais satisfatório, em comparação às redes MLP-1 e MLP-2 (ver Fig. 9).

Fig. 7. Treinamento da rede MLP-1.

Fig. 8. Treinamento da rede MLP-2.

(5)

3.2. Imagens obtidas

Para classificar a posição do olho, o sistema inicia com a obtenção da imagem e sua conversão para níveis de cinza. Logo após, a imagem passa por um processo de detecção da face; o recorte da imagem é feito através dos valores obtidos no procedimento anterior, buscando a eliminação de informações desnecessárias ao treinamento das redes, como mostrado na Fig. 10.

Fig. 10. a) Imagem capturada; b) Imagem em níveis de cinza; c) Resultado da detecção da face; d) Recorte da imagem.

As imagens utilizadas como entrada para o treinamento das redes consistem de delimitações apenas dos olhos dos usuários. Essas imagens possuem uma determinada complexidade, como tratado anteriormente, pois foram utilizados vários usuários para treinamento e validação.

Fig. 11. Alguns exemplos utilizados na rede.

3.3. Validação e resultados

Foram utilizados os seguintes parâmetros como critérios de parada para o treinamento das redes: erro = 10-7, ou tempo máximo de execução em minutos. Segue os resultados de cada rede neural.

MLP-1: Convergiu com erro = 10-1, número de épocas = 56 e tempo de execução = 90 min. Foram obtidos resultados significativos nas posições “Em Cima” e “Direita”.

MLP-2: Convergiu com erro = 10-7, número de épocas = 207 e tempo de execução de 4 min e 35 s. Essa rede obteve resultados bastante significativos quando se leva em consideração a capacidade de generalização.

MLP-3: Convergiu com erro = 10-7, número de épocas = 160 e tempo de execução de 4 min e 11 s. Essa rede teve um desempenho muito bom para esquerda e direita, no entanto, ela teve apenas 40% de acertos na direção “Em cima” e similaridade em “Em cima” e “Em baixo” nos resultados de classificação.

É interessante ressaltar também que as imagens “Em cima” e “Em baixo” apresentamsimilaridade nos resultados de classificação, sendo, portanto, necessário um conjunto de treinamento maior, para a obtenção de resultados mais precisos. As Tab. 1, 2 e 3 mostram as matrizes de confusão (porcentagem de acertos) para as redes MLP-1, MLP-2 e MLP-3, respectivamente.

Tab. 1. Matriz de confusão da rede MLP-1.

MLP-1 Em cima Em baixo Esquerda Direita Acertos

Em cima 3 2 0 0 60%

Em baixo 1 2 1 1 40%

Esquerda 1 2 2 0 40%

Direita 0 1 0 4 80%

Tab. 2. Matriz de confusão da rede MLP-2.

MLP-2 Em cima Em baixo Esquerda Direita Acertos

Em cima 3 1 0 1 60%

Em baixo 1 3 0 1 60%

Esquerda 0 1 4 0 80%

Direita 0 2 0 3 60%

Tab. 3. Matriz de confusão da rede MLP-3.

MLP-3 Em cima Em baixo Esquerda Direita Acertos

Em cima 2 2 0 1 40%

Em baixo 0 3 1 1 60%

Esquerda 0 1 4 0 80%

(6)

4. Conclusão

A detecção da direção do olhar apresenta-se como uma promissora ferramenta na interação homem-máquina, uma vez que permite que pessoas com deficiências motoras tenham acesso ao computador. O estudo propôs uma seqüência de sistemas para detectar a direção do olhar. Utilizou-se uma simples webcam como dispositivo de captura, técnicas de processamento digital de imagens para determinar o rastreamento dos olhos e redes neurais MLP para a classificação. A vantagem desses sistemas deve-se ao seu baixo custo e simplicidade. Os resultados obtidos apontam a eficácia das técnicas neste tipo de aplicação. Em trabalhos futuros, pretende-se determinar a região dos olhos automaticamente e melhorar a matriz de confusão dos resultados encontrados, bem como fazer comparações com outros classificadores, desenvolvendo técnicas e aprimorando dispositivos que não necessitam de periféricos de entrada, utilizando para essa interação, apenas os movimentos do globo ocular.

5. Agradecimentos

À professora Dra. Suzete Elida, do Centro Federal de Educação Tecnológica da Paraíba, pelas críticas e sugestões na fase inicial do trabalho. Ao professor MSc. Rafael Marrocos, quanto aos experimentos e comparações relacionadas às novas indicações da parte final de implementação.

Esse trabalho foi desenvolvido com o suporte parcial do CNPq.

6. Referências

[1] F. Corno, L. Farinetti, I. Signorile. “A cost-effective solution for eye-gaze assistive technology”. ICME2002: IEEE International Conference on Multimedia and Expo, Lausanne, Switzerland, 2002.

[2] L. M. G. Fonseca. “Processamento Digital de Imagens”. INPE – Instituto de Pesquisas Espaciais, 111p, 2000. [3] Gonzalez, R.C. Woods, R.E. Processamento de Imagens Digitais. Edgard Blucher, 2000.

[4] K. Grauman, M. Betke, J. Gips, G. R. Bradski. “Communication via Eye Blinks – Detection and duration analysis in real time”. Proc. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Lih ue, HI, Vol. 1 pp.:I-1010 - I-1017 2001.

[5] Hankin, S. Redes Neurais Princípios e Prática. Porto Alegre: Bookman, 2001.

[6] E. G. Moretto. “Rastreamento da posição dos olhos para detecção da direção do olhar”. Universidade Católica Dom Bosco, 2004.

[7] C. H. Morimoto, D. Koons, A. Amit, M. Flickner. “Pupil detection and tracking using multiple light sources”. Image and Vision Computing, The Netherlands, v. 18, n. 4, p. 331-336, 2000.

[8] S. C. Navega. “Inteligência Artificial: Presente, Passado e Futuro”. Intelliwise Research and Training. Set, 2001. [9] O’Gorman, Lawrence. Document image analysis. Los Alamitos: IEEE Computer Society Press, 1995.

[10] H. Pistori, J. J. Neto. “Utilização de tecnologia adaptativa na detecção da direção do olhar”. Spc Magazine, Lima, Peru, v. 2, n. 2, 2003.

[11] J. E. R. Queiroz, H. M. Gomes. “Introdução ao Processamento Digital de Imagens”. Departamento de Sistemas e Computação. Universidade Federal de Campina Grande, 2001.

[12] M. Spivey, B. Pederson. “Offline tracking of eyes and more with a simple webcam”.

[13] The MathWorks: Anonymous FTP server. Image Processing toolbox for use with MATLAB. Disponível em: <http://www.mathworks.com/products/image/ >. Acessado em 06 de Agosto de 2008.

[14] J. M. R. S. Tavares. “Análise de movimento de corpos deformáveis usando visão computacional”, in Faculdade de Engenharia. Julho, 2000. Universidade do Porto.

Referências

Documentos relacionados

Desse modo, o presente artigo tem por objetivo realizar a avaliação do Sistema Saber, um sistema web utilizado na administração das escolas estaduais do Estado

Larval immersion tests with ivermectin in populations of the cattle tick Rhipicephalus Boophilus microplus Acari: Ixodidae from State of São Paulo, Brazil.. In: Hayes WJ,

Com a apresentação deste cenário, a contribuição da investigação se valida em importância, visto que oferece uma via de acesso para o ensino de geociências contemplando a

Portanto, a intenção deste trabalho é buscar o conhecimento acerca dos aceleradores escolhidos para realização dos testes, comparando o seu desempenho, velocidade e

Este artigo descreve a atividade antiviral de dois extratos etanólicos de própolis de duas diferentes origens frente ao adenovírus canino tipo 2 CAV-2, calicivírus felino FCV e vírus

uma forma eficiente de realizar a interseção entre duas esferas e duas cascas esféricas no R 3 , desejamos investigar o efeito de acrescentarmos mais uma casca esférica extra

Após, consegui contrato pelo estado e fui trabalhar em São Vendelino, em um grupo escolar com um quinto ano, tendo 36 alunos, sendo que dois alunos eram mais

Após ter criado um novo projeto gráfico, uma tela em branco deverá se abrir juntamente com a barra de ferramentas para edição.. Dê um duplo clique na área