IMPRIMIR VOLTAR
B. Engenharias - 1. Engenharia - 8. Engenharia Elétrica
RECONHECIMENTO DE GESTOS EM TEMPO-REAL UTILIZANDO REDES NEURAIS ARTIFICIAIS
Ticiano Augusto Callai Bragatto 1
Marcus Vinícius Lamar 1
(1. Universidade Federal do Paraná)
INTRODUÇÃO:
Este projeto visa o desenvolvimento de um sistema de tradução automática da Língua Brasileira dos Sinais (LIBRAS). Aproximadamente 2% da população brasileira apresenta algum tipo de deficiência auditiva e usam a LIBRAS como primeira língua. O sistema possibilita uma maior inclusão destas pessoas nos processos sociais, econômicos e políticos do país. Sistemas que possam ver e ouvir substituirão os dispositivos pouco naturais, como teclados e mouse, melhorando a interatividade dos usuários e aumentando as possibilidades de controle de máquinas e sistemas. Para que o sistema possa detectar e reconhecer gestos são cumpridas três etapas: captura, tratamento da imagem e processamento das informações obtidas. Nesta fase inicial, o usuário deve usar uma luva colorida para facilitar o processamento e localização da mão. Na captura, a imagem é recebida de uma câmera ligada ao computador e é alocada na memória do computador. A seguir, esta imagem, que pode ter milhões de cores é transformada em uma imagem contendo apenas sete cores: as seis cores pertencentes a luva e o preto, que representa pontos descartados pelo sistema. Com mais algumas funções de tratamento de imagens aplicadas, obtém-se a mão isolada. A partir da imagem da mão isolada um vetor de vinte características é calculado a fim de modelar sua postura em um determinado instante de tempo. Estes vetores de características são utilizados em uma Rede Neural Artificial (RNA) treinada a fim de reconhecer o gesto executado.
METODOLOGIA:
O sistema foi desenvolvido em Microsoft VC 6.0, para windows, em conjunto com OpenCV, uma biblioteca de funções de visão computacional de código aberto da Intel.. Para cada quadro capturado, uma função é chamada. Dentro desta função estão todas as etapas de tratamento e processamento da imagem. Como o OpenCV tem suporte para Linux e MacOS, a migração do sistema a qualquer um destes dois se dá facilmente. Com a imagem capturada, detectam-se as sete cores de interesse, utilizam-se dois filtros morfológicos – um de erosão e um de dilatação – para limpar o ruído da imagem e melhor definir as regiões de interesse. Das regiões restantes, apagam-se as de área menor que 200 pontos. É aplicado um modelo morfológico matemático da mão, baseado nas distâncias entre os centros dos dedos e palma. Se a maior distância obtida for menor ou igual a sete vezes a menor, tem-se um conjunto de regiões válido, isolando-se assim a mão. Com a mão isolada, calculam-se quatro características para cada dedo. Duas destas características são as coordenadas do centro do dedo em relação à média dos centros dos cinco dedos – isso indica se a mão esta com a palma ou costas virada para a câmera. Outro valor indica a inclinação deste dedo e a última indica a razão entre largura e altura de cada região – representando a postura de um dedo: se ele está dobrado ou esticado, bem como de perfil ou de frente. Com este vetor de características, uma Rede Neural Artificial previamente treinada classificará os gestos.
RESULTADOS:
Os resultados aqui apresentados têm como principais medidas o Índice de Complexidade Computacional(ICC) – elaborado e criado dentro deste projeto, o ICC, dá valores numéricos à operações, resultando em uma medida numérica para este problema. O ICC foi criado com base nos resultados de performance de 13 computadores, com tipos diferentes de processadores, de velocidades e de sistemas operacionais. A segunda medida é a taxa de quadros, quantidade de quadros que o sistema consegue processar em um segundo(fps). Na classificação, o Classificador por Distância Euclidiana (CDE) apresenta um ICC por ponto de 78,5, enquanto a RNA 62,05. Os filtros morfológicos de Erosão e Dilatação têm ICC por ponto de respectivamente 24,2 e 33,1. Os dois filtros juntos são responsáveis por 4,37% do processamento. A etapa mais demorada no processamento da imagem é fazer a classificação dos pontos em uma das 7 possibilidades. Essa etapa consome 29 % de todo o tempo necessário. A rede utilizada reconhece com 99,23% de acerto em gestos estáticos – isto é, as posturas manuais em um universo de 26 gestos (alfabeto manual da LIBRAS) – usando um conjunto de gestos não apresentados o treinamento.
CONCLUSÕES:
O sistema processa gestos na taxa de 27,56 fps, o que é mais do que adequado para a tradução de gestos em tempo real. O sistema, em uma versão anterior, era implementado utilizando Borland C++ Builder e dois componentes para captura e tratamento / exibição da imagem. Neste formato, não era possível a mudança fácil de sistema operacional e a velocidade em mesmas condições era de 7,92 fps. Migrar o sistema para outro ambiente de desenvolvimento, com ferramentas diferentes consumiu tempo mas se mostrou uma decisão correta, tendo em vista o aumento na velocidade de processamento e a possibilidade de disponibilizar o trabalho em diversas plataformas. A base da ferramenta foi criada, porém, vários pontos ainda têm que ser testados, principalmente com relação à classificação e modelagem matemática dos gestos. A LIBRAS conta com mais de 2000 gestos diferentes, deste modo como a RNA deve ser treinada com o conjunto inteiro, é extremamente caro computacionalmente treinar uma nova rede cada vez que um gesto novo deve ser aprendido pelo sistema. Uma possibilidade que começa a ser estudada é o uso de SVM (Support Vector Machine), uma nova técnica de inteligência artificial usada para reconhecimento de padrões ainda pouco difundida, principalmente no Brasil.
Instituição de fomento: CNPq – Conselho Nacional de Desenvolvimento Científico e Tecnológico
Trabalho de Iniciação Científica  
Palavras-chave: Língua Brasileira dos Sinais; Visão Computacional; Processamento de Vídeo.
Anais da 58ª Reunião Anual da SBPC - Florianópolis, SC - Julho/2006