II Seminário ATIID - Acessibilidade, TI e Inclusão Digital, São Paulo-SP, 23-24/09/2003 MOUSE-CÂMERA ATIVADO PELO MOVIMENTO DA CABEÇA Nelise DIAS, Jefferson OSOWSKY, Humberto Remigio GAMBA, Percy NOHAMA [email protected] RESUMO: este artigo apresenta um sistema de controle do cursor do mouse pelo movimento da cabeça de uma pessoa que está posicionada na frente do monitor de um microcomputador. No topo desse monitor, coloca-se uma câmera de vídeo colorida com saída padrão NTSC que fica capturando imagens do usuário. Essas imagens são processadas utilizando-se técnicas de processamento digital de imagem, sendo que o objetivo final é relacionar, de modo proporcional, os movimentos de cabeça do usuário (identificados por um círculo azul pintado sobre uma testeira) com o cursor do mouse. As imagens capturadas têm 320 pixels de largura por 240 de altura, montadas no modelo de cor RGB. O algoritmo de localização de círculo foi implementado por meio da Transformada de Hough contendo como parâmetros de entrada: 10 ≤ r ≤ 25 pixels e 15 ≤ θ ≤ 75 graus. Os resultados preliminares vêm demonstrando eficiência no controle da posição do cursor na tela computador. INTRODUÇÃO Estima-se que 2 milhões de pessoas convivem com lesões medulares (SCI) e a cada 49 min uma outra sofre nova lesão (NSCIA, 2003). Desse total, 48,7% ficam tetraplégicos. Para facilitar a realização de suas atividades diárias e propiciar uma vida mais produtiva e feliz, em casa, na escola ou no trabalho, urge criar novos utensílios, dispositivos e equipamentos para esses usuários. Sendo, hoje, o computador um meio de lazer, estudo, trabalho e comunicação, novas ferramentas vêm sendo criadas para melhorar sua acessibilidade (Foggiatto, 2002) e torná-lo mais eficiente nas novas tarefas que surgem. OBJETIVOS Com a impossibilidade de utilizar os membros superiores, as pessoas tetraplégicas ficam privadas do uso dos computadores pessoais. Visando criar um novo dispositivo de entrada independente das mãos, projetou-se um sistema de controle para cursor de mouse por meio do movimento da cabeça de um usuário posicionado à frente de um computador rodando no sistema operacional Windows 95 (ou superior). Sobre o monitor, coloca-se uma câmera de vídeo colorida (padrão NTSC) que captura imagens da cabeça do usuário e, utilizando técnicas de processamento digital de imagens (PDI), converte-as em informações necessárias para que o cursor do mouse se desloque na direção solicitada. Outros dispositivos similares podem ser encontrados no mercado internacional, porém, com tecnologias diferentes da descrita neste projeto: (1) HeadMouse, da Origin Instruments Corp., utiliza dois sensores de infravermelho (IR) distanciados em alguns centímetros para emitir sinais IR que são refletidos pela cabeça do usuário e II Seminário ATIID - Acessibilidade, TI e Inclusão Digital, São Paulo-SP, 23-24/09/2003 recebidos pelo equipamento que calcula o deslocamento que o mouse deve realizar e (2) Smart-Nav, da NaturalPoint Inc. utiliza diodos emissor de luz posicionados na fronte do usuário. A luz emitida é adquirida por uma câmera que está sobre o monitor e um algoritmo calcula a posição do cursor. METODOLOGIA No projeto desenvolvido, uma fita, do tipo testeira esportiva, é colocada na cabeça do usuário. No centro desta fita, há um círculo pintado de azul, que é o ponto de referência que a câmera de vídeo deve procurar quando captura uma imagem. Esta busca pelo centróide é realizada utilizando técnicas de PDI. Uma vez localizada a coordenada, o cursor do mouse é deslocado para a sua nova posição, que é proporcional ao deslocamento do centróide do círculo na imagem capturada. A figura 1 ilustra o sistema implementado. Qualquer movimento da cabeça, horizontal e/ou vertical, desloca o círculo fixado na testeira. Como a câmera de vídeo está recebendo imagens do usuário, este deslocamento refletir-se-á nas imagens, fazendo com que o centróide do círculo mude de coordenada. Esta mudança afetará, proporcionalmente, a posição do cursor do mouse na tela do computador. A figura 2 exemplifica este conceito. O clique simples do mouse é emulado quando o usuário fica pelo menos n segundos sem mover a cabeça e o duplo clique quando fica n+1 segundos. Figura 1: Sistema para controlar o mouse pelo movimento da cabeça. O círculo azul colocado no usuário é a referência das imagens capturaras pela câmera de vídeo sobre o monitor. Técnicas de PDI determinam seu centróide na imagem que proporcionalmente movimenta o cursor do mouse na tela para a posição desejada. A figura 3 mostra todos os algoritmos aplicados nas imagens até se chegar ao objetivo final. RESULTADOS E DISCUSSÃO O aplicativo desenvolvido para o mouse foi montado em linguagem de programação C++. Utilizou-se uma câmera de vídeo colorida WAT-202B da Watec Inc. e uma placa de captura de sinal de vídeo, frame grabber CPH050 da Tview Inc., sendo executado num computador IBM/PC com processador Pentium IV, 1,700 GHz, e 256 Mbytes de memória RAM. As imagens capturadas tinham 320 pixels de largura por 240 de altura, montadas no modelo de cor RGB. O algoritmo de localização de círculos pela Transformada de Hough tinha os seguintes parâmetros de entrada: 10 ≤ r ≤ 25 pixels e 15 ≤ θ ≤ 75 graus. Para o clique do mouse, adotou-se n=2 s. O tempo de processamento de todas as etapas do sistema foi inferior a 67 ms, por isso, foi possível obter uma taxa de captura de frames de 15/s. II Seminário ATIID - Acessibilidade, TI e Inclusão Digital, São Paulo-SP, 23-24/09/2003 Figura 2: Reflexo do movimento da cabeça no cursor do mouse na tela. Uma diferença dx no centróide é relacionada à um deslocamento αdx no cursor e uma diferença dy causa um deslocamento βdy. As constantes α e β determinam a sensibilidade do sistema. As imagens da direita e da esquerda são invertidas porque a câmera de vídeo captura imagens espelhadas. Figura 3: Procedimentos de PDI para localizar o centróide do círculo azul colocado na cabeça do usuário. Segmentação da Cor Azul Imagens coloridas são formadas pela combinação de n canais de informação (Gonzalez, 1993), onde n geralmente é igual a 3. As imagens digitalizadas sempre utilizam o modelo de cor conhecido por RGB, onde R representa o canal vermelho, G o canal verde e B o canal azul. Contudo, este tipo não é o mais adequado para realizar segmentação. Por este motivo, é realizado uma conversão de RGB para HSI, onde H representa a matiz da cor, S sua saturação e I sua intensidade (brilho). O valor da matiz do pixel é dado em graus, sendo que 0º significa vermelho, 60º amarelo, 120º verde, e assim por diante. Para localizar regiões da imagem com pixels da cor azul, é necessário apenas procurar matizes que tenham valores próximos de 240º. Uma nova imagem é então gerada, onde pixels azul são marcados como brancos e os outros como pixels pretos. Localização do Círculo A partir de uma imagem binarizada onde os pixels brancos sejam tratados como objetos e pixels pretos como fundo, a técnica proposta por Hough (Gonzalez, 1993) e Parker (Parker, 1997), chamada atualmente de Transformada de Hough, é reconhecida como sendo uma das mais eficazes na localização de formas geométricas existentes em imagens. Formas II Seminário ATIID - Acessibilidade, TI e Inclusão Digital, São Paulo-SP, 23-24/09/2003 geométricas circulares podem ser identificadas através da equação (1). (1) ρ = K ± k 2 − C , para k 2 − C ≥ 0 , onde K = x ⋅ cos(θ ) + y ⋅ sin(θ ) e C = x 2 + y 2 − r 2 A coordenada (x, y) faz referência a qualquer pixel branco na imagem. A variável r representa o raio do círculo a ser localizado que deve variar num intervalo predeterminado, de acordo com as dimensões da imagem. A distância ρ e o ângulo θ representam a coordenada polar do centroíde do círculo em relação à posição (0, 0) da imagem, canto superior-esquerdo. O ângulo também deve variar dentro de um intervalo específico. O resultado desta transformada é um array 3D, onde uma dimensão é representada por r, outra por θ e a última por ρ. Neste array, os elementos de coordenada (r, θ, ρ) que tiverem valores mais elevados são identificados como círculos de raio r, e coordenada ρ). O polar do centróide (θ, processamento é finalizado quando se converte a coordenada do centróide de representação polar para retangular. Até o presente, foram realizados testes somente com pessoas do próprio laboratório, sem qualquer problema motor e os resultados vêm sendo promissores. AGRADECIMENTOS Os autores agradecem ao CNPq pelo auxílio e bolsas de pesquisa. REFERÊNCIAS GONZALEZ, R.C.; WOODS R.E. Digital (1993) Image Processing. Boston, Addison-Wesley Publishing. NSCIA (2003) About Spinal Cord Injury. www.spinalcord.org; disponível em 2003/07/03. PARKER, J.R. (1997) Algorithms for Image Processing and Computer Vision. New Jersey, Wiley Computer Publishing. FOGGIATTO, M.N.S.; OSOWSKY, J. GAMBA, H.R. NOHAMA, P. (2002) Mouse Ativado pelo Movimento dos Olhos. Anais do XVIII Congresso Brasileiro de Engenharia Biomédica; 5:232-236. Importante: Qualquer citação deste texto ou partes dele, sob qualquer forma ou meio, deve obrigatoriamente incluir, além do título e autor, a menção de "Anais do II Seminário ATIID, São Paulo-SP, 2324/09/2003" disponíveis online em: http://www.fsp.usp.br/acessibilidade