desenvolvimento de uma nova interface gestual … · ii resumo este trabalho apresenta o...

35
TICIANO AUGUSTO CALLAI BRAGATTO GRR20023959 DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL USANDO PROCESSAMENTO DIGITAL DE VÍDEO PARA CONTROLE INTERATIVO DE SISTEMAS COMPUTACIONAIS EM TEMPO REAL Relatório final de atividades do Projeto Final de Curso do Curso de Engenharia Elétrica, Setor de Tecnologia, Universidade Federal do Paraná Orientador: Prof. Dr. Evélio Martín Garcia Fernández Co-Orientador: Prof. Marcus Vinícius Lamar, Ph. D. CURITIBA 2006

Upload: truongkhuong

Post on 11-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

TICIANO AUGUSTO CALLAI BRAGATTO

GRR20023959

DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL

USANDO PROCESSAMENTO DIGITAL DE VÍDEO PARA CONTROLE

INTERATIVO DE SISTEMAS COMPUTACIONAIS EM TEMPO REAL

Relatório final de atividades do Projeto Final de Curso do Curso de Engenharia Elétrica, Setor de Tecnologia, Universidade Federal do Paraná

Orientador: Prof. Dr. Evélio Martín Garcia Fernández

Co-Orientador: Prof. Marcus Vinícius Lamar, Ph. D.

CURITIBA

2006

Page 2: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

ii

RESUMO

Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina,

que possibilita substituir o dispositivo apontador tradicional (mouse) pelo movimento e

mudança de posturas da mão. Ao mesmo tempo propõe a implementação de um

ambiente virtual que utiliza as duas mãos, criando uma experiência com múltiplos

apontadores. Isto é feito utilizando-se diversas técnicas de Visão Computacional – para

extrair algumas características da imagem - e Inteligência Artificial, para reconhecer

as características e classificá-las. Para operar o sistema necessita de apenas uma

webcam. O movimento do apontador é segue o movimento da mão, e os cliques são

executados conforme uma das quatro possíveis posturas é feita.

Page 3: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

iii

SUMÁRIO

RESUMO ................................................................................................................................... ii SUMÁRIO................................................................................................................................. iii ÍNDICE DE FIGURAS ............................................................................................................. iv 1. INTRODUÇÃO ..................................................................................................................... 1 2. REVISÃO BIBLIOGRÁFICA .............................................................................................. 3

2.1. TRABALHOS ANTERIORES .................................................................................. 3 2.2. CARACTERÍSTICAS IMPORTANTES................................................................... 5

3. SISTEMA PROPOSTO......................................................................................................... 7 3.1. CONDIÇÕES DE CONTORNO DO SISTEMA..................................................... 10 3.2. SUBTRAÇÃO DE FUNDO..................................................................................... 12 3.3. SEGMENTAÇÃO DE COR DE PELE ................................................................... 14

3.3.1. Criação do Modelo de Tom de Pele ................................................................. 14 3.3.2. Detecção de Tom de Pele ................................................................................. 15

3.4. LOCALIZAÇÃO E RASTREAMENTO DAS MÃOS ........................................... 16 3.5. CLASSIFICAÇÃO DE POSTURA ......................................................................... 19 3.6. TRADUÇÃO PARA MOVIMENTO E CLIQUES DE MOUSE............................ 21

4. RESULTADOS OBTIDOS................................................................................................. 22 4.1. CAPTURA DO SINAL DE VÍDEO ........................................................................ 22 4.2. SUBTRAÇÃO DE FUNDO..................................................................................... 22 4.3. SEGMENTAÇÃO DE COR DE PELE ................................................................... 23 4.4. LOCALIZAÇÃO E RASTREAMENTO DAS MÃOS ........................................... 24 4.5. CLASSIFICAÇÃO DE POSTURA ......................................................................... 25 4.6. TRADUÇÃO EM MOVIMENTOS E CLIQUES DE MOUSE............................... 26 4.7. ESTUDO DE CASO 1: APONTADOR ÚNICO..................................................... 27 4.8. ESTUDO DE CASO 2: APONTADOR MÚLTIPLO ............................................. 27

5. CONCLUSÃO ..................................................................................................................... 28 5.1. TRABALHOS FUTUROS....................................................................................... 29

REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 30

Page 4: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

iv

ÍNDICE DE FIGURAS

FIGURA 1 – FLUXOGRAMA GERAL DO SISTEMA........................................................... 9 FIGURA 2 – A) IMAGEM ORIGINAL; B) IMAGEM DE FUNDO; C) QUADRO DIFERENÇA; D) DIFERENÇA EM ESCALA DE CINZA; E) MÁSCARA BINÁRIA ...... 13 FIGURA 3 – (A) MÁSCARA ANTES E (B) DEPOIS DA SEGMENTAÇÃO DE CORES 16 FIGURA 4 – (A) REGIÕES EXISTENTES E (B) REGIÕES PÓS FILTRAGEM ................ 17 FIGURA 5 – ÁREAS DE CALIBRAÇÃO.............................................................................. 18 FIGURA 6 – POSTURAS MANUAIS: A) MÃO ABERTA; B) MÃO FECHADA; C) MÃO LATERAL VERTICAL; E D) MÃO LATERAL HORIZONTAL......................................... 20 FIGURA 7– VALORES DE LIMIAR (A)10; (B)20; (C) 30(VALOR USADO); (D)40; (E)80; (F)120; (G)170 E (H)220.......................................................................................................... 23 FIGURA 8 – VALORES DE LIMIAR EM FUNÇÃO DE DISTÂNCIA MODELO (A)0,5; (B)1; (C)2; (D)3; (E)4; (F)5; (G)6 E (H)7. ............................................................................... 24 FIGURA 9 – RASTREAMENTO DA MÃO EM 4 QUADROS CONSECUTIVOS A)1; B) 2; C) 3 E D) 4 ........................................................................................................................... 25

Page 5: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

1

1. INTRODUÇÃO

Hoje em dia, a interação humana com os computadores e máquinas

inteligentes se faz principalmente com o uso de dispositivos como teclado, mouse,

touch-pad, tela sensível ao toque, etc. No entanto o uso de tais dispositivos não é a

forma natural dos humanos se comunicarem entre si. O uso de voz e gestos é a nossa

forma natural de comunicação, portanto o estudo e desenvolvimento de modelos que

permitam que computadores entendam essas formas naturais é de grande interesse

quando visamos à criação de máquinas que tenham interfaces mais amigáveis e

intuitivas.

O estudo de processamento de voz com a finalidade de reconhecimento e

síntese, facilitando a comunicação auditiva intuitiva com as máquinas, já está sendo

desenvolvido desde a segunda metade de século passado, tendo sido atingido um grau

de desenvolvimento aceitável[1]. No entanto, uma forma de interação visual intuitiva

ainda é um desafio para os cientistas. Pesquisas neste campo envolvem o uso de

técnicas de Visão computacional que são extremamente complexas

computacionalmente, exigindo computadores com grande poder de processamento,

que apenas começaram a surgir no início deste século. Assim sendo, o uso de Visão

Computacional no desenvolvimento de novos métodos de iteratividade com máquinas

inteligentes é um campo que está apenas iniciando, havendo muita pesquisa ainda por

fazer. É neste ponto que se encaixa o presente projeto de graduação.

Este projeto visa a proposição e desenvolvimento de um novo paradigma de

HCI (Human Computer Interface). Inicialmente, é proposto a utilização de dois

apontadores simultâneos, ao invés de apenas um único apontador, técnica esta já

mundialmente aceita pela comunidade desde a década de 70, quando do surgimento do

mouse, e usado em todos os sistemas de interface gráfica com o usuário, tais como o

Windows, Linux, MacOS, Solaris, etc. O uso de dois apontadores pode melhorar

muito a produtividade e acesso aos sistemas, tanto em aplicações específicas como

CAD e Ambientes Virtuais, quanto na própria manipulação do Sistema Operacional

Page 6: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

2

Gráfico utilizado. No entanto este trabalho não visa discutir sobre essas possibilidades,

sendo HCI uma área de pesquisa específica emergente da Ciência da Computação.

Este trabalho tem por objetivo desenvolver uma solução tecnicamente viável para a

sua implementação baseada nos paradigmas de Visão Computacional.

Este trabalho está estruturado da seguinte maneira: No capítulo 2 é feita a

revisão bibliográfica, visando apresentar ao leitor o estado-da-arte das técnicas de

Visão Computacional, que serão utilizadas no decorrer deste trabalho. O capítulo 3 é

dedicado a apresentação e detalhamento técnico do sistema implementado. Os

resultados obtidos são apresentados e discutidos no capítulo 4. O capítulo 5 apresenta

as conclusões deste trabalho e indica as possibilidades de trabalhos futuros.

Page 7: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

3

2. REVISÃO BIBLIOGRÁFICA

Os trabalhos publicados que apresentam objetivos semelhantes aos deste

projeto, estão localizados principalmente na área de Visão Computacional aplicada ao

reconhecimento e rastreamento de objetos. Uma das principais aplicações é a tradução

da Linguagem dos Sinais, cujo objetivo é realizar o reconhecimento dos gestos

manuais e classificá-los de acordo com a gramática usada. Para esta aplicação, técnicas

de rastreamento e classificação de posturas manuais estão sendo desenvolvidas. Tais

técnicas também se aplicam no presente projeto. As técnicas básicas de Processamento

de Imagens e Vídeo também são necessárias ao sucesso deste projeto, de modo que

são apresentados também artigos que propõem e discutem técnicas de subtração de

fundo, identificação e classificação de cores, rastreamento de objetos e classificação de

silhuetas,

2.1. TRABALHOS ANTERIORES

Nos sistemas de reconhecimento de gestos, que usam apenas uma câmera,

tendo como produto uma imagem 2D, alguns parâmetros como posição dos dedos,

contornos e cor são extraídos e utilizados em outras etapas.

O trabalho de Staner et al [2] utiliza uma segmentação simples da cor da

mão sobre fundo preto e são empregados modelos de Markov para reconhecer algumas

posturas da mão. Já o trabalho de Sato et al [3] utiliza uma câmera infravermelha para

capturar a mão, que tem algumas posturas simples reconhecidas.

Outra categoria de sistemas é especialista na utilização de feições dos dedos

e mãos, a fim de reconhecer posturas mais complexas. Nesta área, destacam-se os

trabalhos que se baseiam na silhueta. Para determinação desta, são usados diversos

algoritmos. A silhueta pode ser modelada através de correlação(Heap[4] e Hall et al

[5]) ou também utilizando um ambiente controlado e algumas heurísticas(Segen[6]).

Outra técnica utilizada para o reconhecimento de gestos é utilizar imagens de

Page 8: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

4

um conjunto de treino para modelar as posturas a serem classificadas. Laptev et al

[7]utiliza funções gaussianas para representar o conjunto de regiões que forma a mão.

Também se destaca outro tipo de modelamento estatístico, baseado em HMM (Hidden

Markov Models), conforme pode ser visto nos trabalhos de Lee et al [8], Vogler et al

[9] e Wilson et al [10]. Já o trabalho de Viveck [11] utiliza a transformada inversa de

Laplace em conjunto com Redes Neurais Artificiais.

Estes trabalhos citados anteriormente, levam em conta a postura manual

como um todo, visando a tradução desta com fins de interagir e simular o mouse ou o

teclado (no caso de alfabetos). Porém, estas técnicas nem sempre apresentam a

precisão necessária a um apontador. Por isto existe um segundo grupo de trabalhos,

que têm foco em reconhecimento de dedos, uma vez que a ponta de um dedo é um

indicador de posição mais preciso que o centro de mão, por exemplo.

Tradicionalmente, os sistemas baseados na detecção dos dedos são utilizados

para construir interfaces que simulem funções básicas do mouse ou do teclado. Muitos

desses sistemas podem ser considerados como sendo uma especialização dos sistemas

de reconhecimento de gestos, pois a princípio eles utilizam as técnicas descritas na

seção anterior, mas a detecção dos dedos é importante para a interação. Muitos desses

sistemas, para poder reconhecer os dedos, utilizam diversas abordagens que exploram

características da mão e os dedos, assim como das imagens.

Neste campo, um dos trabalhos pioneiros é o de Quek et al[12], que

apresenta um sistema simples, onde a mão, com apenas o dedo indicador em riste deve

ser posicionada paralela ao teclado. É feita uma detecção de tom de pele e o ponto

mais alto é considerado a ponta do dedo e do mouse. Os eventos de clique são gerados

quando o usuário pressiona uma tecla.

Um trabalho importante na área de detecção de tom de pele é o de Kulessa et

al [13], onde é mostrado que é de grande dificuldade implementar um modelo de cor

que não seja invariante a variações de iluminação, fundamentando uma das principais

limitações em sistemas que utilizem unicamente as informações de cor.

Alguns sistemas, para facilitar a etapa de segmentação utilizam câmeras

Page 9: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

5

infravermelhas, permitindo uma separação mais robusta das mãos. No trabalho de

Ukita et al [14] os dedos são modelados como semicírculos, que são utilizados em um

processo de correlação com imagens modelo, com a finalidade de desenhar linhas na

tela. Já Oka et al [15] modela as pontas dos dedos como círculos, faz a correlação e,

com o movimento dos dedos reconhece algumas figuras geométricas, que são

interpretadas e transformadas em comandos.

Outra modalidade de classificação consiste em trabalhar na silhueta da mão,

procurando picos, nesta silhueta, que representam as pontas dos dedos. Normalmente

estes sistemas fazem a modelagem do contorno utilizando curvas B-Splines ou

contornos ativos (Snakes) e o rastreamento destes pontos é feito com algoritmos como

Kalman ou Condensation. Os trabalho de Hall et al[5] e MacKornick et al[16] utilizam

estas técnicas e posterior detecção dos dedos.

2.2. CARACTERÍSTICAS IMPORTANTES

O trabalho de Imagawa et al [17] tem como objetivo localizar e seguir a mão

mesmo quando ela se sobrepõe à face, trabalhando e trat ando este problema.

Primeiramente, a imagem passa por um segmentador de cor, que separa

todos os pontos da imagem como sendo ou pele ou fundo, usando um classificador

baseado em crominância. Filtros morfológicos de dilatação e erosão são usados e, com

um limiar de tamanho, regiões pequenas são apagadas.

Com as regiões restantes, um classificador baseado em histograma é

aplicado, que possibilita a percepção de mudanças de intensidade na cor da pele. Estes

dados são utilizados então, em conjunto com um filtro de Kalman para fazer o

rastreamento das mãos, e uma segmentação mais apurada.

Já no trabalho de Girondel et al[18], se utilizam métodos diferentes para

subtração de fundo, detecção de pele, localização das mãos e rastreamento, com o

objetivo final atingido de criar uma ferramenta de submersão do usuário em uma

mistura de mundos real e virtual.

Page 10: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

6

Neste trabalho, um fundo estático é definido e subtraído de todos os quadros

seguintes. A classificação dos pontos em tom de pele é feita usando as crominâncias e

quatro limiares, para separar os pontos em tom de pele e não.

A localização da face e das mãos acontece por análise de critérios, usando

uma série de listas ordenadas (componentes mais alto, maiores regiões, etc.) que

também contém informações de rastreamento de quadros anteriores.Com base nestas

listas, em todo o frame são selecionadas três regiões – duas mãos e a face.

A detecção de cores, em especial a cor da pele humana, é um assunto

amplamente pesquisado pela comunidade científica e com diversos trabalhos [19] que

apresentam bons resultados. A grande questão nesta área é escolher a melhor razão

entre qualidade e velocidade.

O artigo de Kjeldsen et al[20] apresenta um detector de cores baseado em

uma estrutura de histograma e um classificador chamado de Color Predicate, que

apresentou bons resultados. Este classificador usa as informações de tonalidade,

saturação e intensidade de cada pixel, para classificá-lo. Os pontos considerados tom

de pele são computados para a atualização do classificador, o que diminui a velocidade

porém adapta lentamente o sistema a mudanças de iluminação.

Após obter o mapa binário da imagem que indica se a cor é pele ou não, o

sistema considera mão a maior região presente. O contorno desta região é extraído e

usado em uma Rede Neural Artificial para classificar a postura.

Page 11: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

7

3. SISTEMA PROPOSTO

A fim de viabilizar o uso de dois apontadores simultâneos, novas técnicas de

interfaceamento de hardware poderiam ser propostas. No entanto isso implicaria na

necessidade de aquisição de novo hardware pelos usuários desejosos em utilizar esta

nova tecnologia, o que certamente, impediria a sua disseminação em massa e acesso a

classe de mais baixa renda da população. Mas, hoje em dia o uso de webcam de baixo

custo, que utiliza a interface USB 1.1, já está muito difundido tanto em grandes

empresas quanto em land houses e usuários particulares. Entretanto, seu uso se

restringe essencialmente à utilização para comunicação visual, através do uso de

programas como o MSN Menseger, SKYPE, Yahoo Menseger, e tantos outro já

bastante populares.

Mesmo com a enorme popularização das webcams, seu uso como um

dispositivo visual de interação do usuário com o computador é muito pouco explorado.

O principal objetivo deste projeto é o desenvolvimento de um sistema capaz de

permitir a interação natural entre usuário e computador, usando a movimentação de

suas mãos, em detrimento ao clássico dispositivo apontador padrão (mouse),

permitindo deste modo a criação de um sistema apontador totalmente inovador. Como

grande diferencial, tem-se o objetivo de se utilizar ambas as mãos, como se o usuário

dispusesse de dois dispositivos apontadores, dando a ele uma experiência de grau mais

elevado em termos de interação homem-máquina.

No entanto, como 100% dos sistemas existente hoje em dia não estão

preparados para absorver esta nova tecnologia de imediato, propomos inicialmente que

o apontador já existente nos Sistemas Operacionais seja controlado pelos movimentos

de uma das mãos, dando ao usuário a idéia e sensação de uso, e que este vislumbre as

possibilidades da nova interface. A seguir desenvolvemos uma aplicação virtual que

utiliza as duas mãos para demonstrar suas capacidades estendidas.

Para simular o apontador clássico (mouse), o sistema deve utilizar uma API

(Application Programming Interface) do sistema operacional MS Windows®, neste

Page 12: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

8

caso, para gerar as interrupções e fazer com que o restante do sistema operacional

receba os mesmos sinais gerados por um movimento real do mouse.

Os sistemas operacionais utilizados atualmente não suportam múltiplos

dispositivos apontadores, então esta experiência se dará em um ambiente virtual, que

funciona como uma demonstração das potencialidades da utilização de múltiplos

apontadores.

O sistema foi implementado utilizando-se o programa VISUAL C, e baseia-

se em duas fases: fase de calibração e a fase de utilização. Na fase de calibração, é

requisitado ao usuário que defina seu ambiente de utilização, tais como o cenário de

fundo, nível de iluminação, etc; e dados que o identifiquem, através do modelamento

da cor de sua pele, ajustando-se o sistema de forma a otimizar seu desempenho. Ainda

nessa fase o usuário precisa escolher se irá utilizar o ambiente clássico com um

apontador, através do uso de apenas uma das mãos, ou irá experimentar o ambiente

com múltiplos apontadores, que faz o uso de ambas as mãos.

O diagrama de fluxograma do sistema é apresentado na Figura 1.

Page 13: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

9

FIGURA 1 – FLUXOGRAMA GERAL DO SISTEMA

Page 14: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

10

O sistema é composto basicamente pelos blocos de:

• Subtração de Fundo: Separa os objetos da frente, do fundo da cena,

definindo o que será analisado;

• Segmentação de Cor de Pele: Percorre os pontos dos objetos da frente,

classificando-os como sendo tom de pele ou não;

• Localização das Mãos: Dentre todas as regiões que possuem pontos

que parecem tom de pele, uma ou duas são escolhidas;

• Rastreamento: Funciona em conjunto com a etapa anterior, analisando

as possibilidades de movimento da mão e prevendo possíveis

movimentos, para aumentar as chances de escolha correta da região;

• Classificação de Postura: Com uma ou duas regiões selecionadas,

classifica a postura da mão nas possibilidades treinadas, e;

• Tradução para movimento e cliques de mouse: Converte o movimento

e postura de uma das mãos em movimento e cliques do mouse ou de

ambas as mãos para o ambiente virtual do protótipo.

Por se tratar de um protótipo, várias condições de contorno devem ser

cumpridas para que o sistema funcione de maneira satisfatória. A seção seguinte

enumera, descreve e justifica estas condições de contorno.

3.1. CONDIÇÕES DE CONTORNO DO SISTEMA

As principais condições limitadoras assumidas no desenvolvimento do

sistema, neste protótipo, são:

• Fundo estático: a câmera deve permanecer imóvel durante o período

de utilização. Esta limitação visa reduzir a complexidade

computacional da etapa de localização de objetos de interesse.

Sistemas adaptativos, onde a posição da câmera possa ser ajustada na

fase de utilização, podem ser desenvolvidos, sendo no entanto

Page 15: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

11

necessário um hardware com maior capacidade de processamento do

que os existentes hoje em dia. Assim sendo, na fase de calibração é

solicitado ao usuário que capture o cenário ou ambiente no qual o

sistema será utilizado, para que técnicas de subtração de fundo

possam ser eficientemente empregadas ;

• Determinação do tom de pele do usuário: Embora tenha-se visto na

revisão bibliográfica que vários pesquisadores indicam que o tom de

pele é praticamente inalterável de pessoa para pessoa, independente

de sua origem étnica, observou-se que para obter tal grau de

independência é necessário um processamento muito complexo da

imagem e análise de cores. A fim de simplificar este protótipo, na fase

de calibração o usuário deve exibir sua mão para o dispositivo

calibrador, na distância aproximada de utilização do sistema, a fim de

determinar a área da palma da qual o sistema estima os parâmetros

que determinam o modelo para sua cor de pele;

• Ocultar braços e ante-braços: Para que não haja má demarcação das

áreas de mão, confundindo-as com braços e ante-braços, é necessário,

que estes estejam e permaneçam cobertos, por casaco ou camisa, de

preferência de coloração diferente da pele do usuário. Modelos que

permitam identificar a localização da mão podem ser utilizados a fim

de determinar o limite entre o pulso e o ante-braço, no entanto esse

foco está fora no escopo deste trabalho, neste primeiro momento, e;

• Para iniciar a localização e rastreamento das mãos, colocá-las em

retângulos demarcados, definidos pelo dispositivo calibrador. Tal

atitude garante ao sistema a escolha correta de regiões iniciais para o

rastreamento.

Page 16: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

12

3.2. SUBTRAÇÃO DE FUNDO

O sistema foi desenvolvido utilizando-se da biblioteca de código aberto

dedicada à Visão Computacional OpenCV[21], amplamente utilizada e mantida

atualizada pelos maiores grupos de pesquisa na área. Esta biblioteca possui muitas

funções implementadas de modo otimizado, o que permite ao desenvolvedor escolher

entre usar uma rotina já existente ou mesmo implementar uma nova, agregando mais

valores e funcionalidades a esta biblioteca..

Para realizar a subtração de fundo, inicialmente, é realizada a diferença entre

duas imagens – quadro atual e fundo previamente definido pelo usuário, de forma a

evidenciar as diferenças existentes no quadro atual quando comparado com o quadro

de fundo. A imagem resultante possui faixa dinâmica de -255 a 255 para cada

componente de cor RGB, fora portanto do padrão visualizável. Esta imagem é então

convertida para tons de cinza (0-255) através da Equação 3.1

onde Pgray corresponde à imagem diferença convertida para tons de cinza. A esta

imagem é aplicada uma comparação pixel a pixel com um limiar pré-definido

empiricamente, resultando em uma imagem binária (máscara), contendo pixels de

valores 0 ou 1, indicando se o pixel pertence ao fundo ou ao objeto, respectivamente.

A figura 2 mostra os resultados parciais e final desta etapa do

processamento.

( ) ( ) ( ) ( ), , ,, 1286

x y x y x ygray

R G BP x y

+ += + (3.1)

Page 17: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

13

A) B)

C) D)

E)

FIGURA 2 – A) IMAGEM ORIGINAL; B) IMAGEM DE FUNDO; C) QUADRO DIFERENÇA; D) DIFERENÇA EM ESCALA DE CINZA; E) MÁSCARA BINÁRIA

A imagem resultante, chamada de máscara binária, determina a área de

interesse para todo o resto do sistema, uma vez que os demais procedimentos

necessitam serem aplicados apenas aos objetos ditos de frente, e não aos detalhes

Page 18: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

14

pertencentes ao fundo.

3.3. SEGMENTAÇÃO DE COR DE PELE

Para determinar as regiões, pertencentes a área de interesse previamente

definida pela subtração de fundo, que possuem pixels de cor similar ao tom da pele,

são necessárias 2 etapas: Definição do modelo de cor de pele e etapa de classificação

da cor do pixel. A primeira executada apenas uma vez, para que seja criado o modelo

de tom de pele do usuário, e a outra executada a cada quadro capturado e processado.

3.3.1. Criação do Modelo de Tom de Pele

No início da execução do programa, o usuário exibe a palma de sua mão, ajustando-a

dentro de uma região de calibração, à distância que é pretendida a utilização do

sistema, conforme visto na figura 2.A. O sistema automaticamente detecta a presença

da mão, uma vez que a mesma é diferente do fundo previamente definido, e extrai os

pixels que serão utilizados na geração do modelo de cor de pele. Estes pixels são

colocados em uma lista de tamanho i alocada dinamicamente na memória.

Faz-se a média para os valores R, G e B, divididos pela soma destes valores

de acordo com a Eq. 3.2, desta lista, conforme as equações 3.3, 3.4 e 3.5, obtendo-se

um modelo de tom de pele no espaço RBG normalizado.

BGRS ++= (3.2)

0

1 ix

Rx

RMod

i S=

= ∑ (3.3)

0

1 ix

Gx

GMod

i S=

= ∑ (3.4)

0

1 ix

Bx

BMod

i S=

= ∑ (3.5)

Com este modelo médio, percorre-se novamente todos os pontos

classificados como pele, desta vez calculando-se a média das distâncias, de acordo

Page 19: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

15

com a Equação 3.6, entre os pontos colhidos e o modelo obtido previamente.

2 2 2

0

1 ix x x

Dist R G Bx

R G BMod Mod Mod Mod

i S S S=

= − + − + −

∑ (3.6)

Essa média obtida é chamada de Distância Modelo (ModDist) e é o quarto

parâmetro, junto com o modelo R,G e B, a ser usado na detecção de cor de pele.

3.3.2. Detecção de Tom de Pele

Uma vez criado o modelo, cada pixel selecionado na etapa de subtração do

fundo é comparado com este modelo através da Equação 3.7.

2

),(2

),(2

),(

−+

−+

−= B

yxG

yxR

yx ModS

BMod

S

GMod

S

RDist (3.7)

O critério de classificação é baseado na distância Euclidiana do pixel ao

modelo obtido, de acordo com a Eq. 3.8

1, .

0, .Dist

PeleDist

seDist ModMask

seDist Mod

αα

≤= >

(3.8)

Se esta distância (Dist) do pixel for menor que a distância modelo (ModDist)

escalonada por um fator α, o pixel é classificado como sendo tom de pele, sendo

atribuído o valor “1” à máscara. Caso a distância seja maior, o pixel é descartado, por

não ser tom de pele, sendo atribuído o valor “0”. O parâmetro de tolerância α é

definido através do cálculo do desvio padrão das distâncias do modelo.

A Figura 3 mostra a máscara binária antes e após a segmentação de cores.

Page 20: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

16

(A) (B)

FIGURA 3 – (A) MÁSCARA ANTES E (B) DEPOIS DA SEGMENTAÇÃO DE CORES

Pode-se notar que a segmentação foi muito bem sucedida, resultando que as

grandes regiões conexas representam com fidelidade regiões de pele. Com exceção da

grande região branca que aparece na parte inferior esquerda que corresponde à sombra,

que devido a iluminação local e cor da parede, possui coloração próxima ao tom da

pele. Porém o algoritmo de rastreamento aplicado em seguida, ainda assim é capaz de

distinguir corretamente as regiões correspondentes às mãos do usuário.

3.4. LOCALIZAÇÃO E RASTREAMENTO DAS MÃOS

Após as etapas anteriores, é necessário separar as regiões conexas, para

decidir quais as duas regiões correspondentes às mãos.

Para fazer esta separação, primeiramente aplicam-se operações morfológicas

de abertura e fechamento de modo a conectar e reduzir o número de pequenas regiões.

A seguir, um algoritmo de detecção de bordas é utilizado sobre as regiões conexas.

Devido à complexidade desnecessária nesta aplicação da análise da silhueta, um

modelamento da região pelo menor retângulo de contém é feito.

Porém, ainda assim existem algumas regiões pequenas, que são indesejadas e

não são eliminadas pelas etapas anteriores. Para eliminá-las, aplica-se um limiar de

tamanho, que remove as regiões cuja soma de altura e largura de seu retângulo seja

Page 21: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

17

menor que 70 pontos, valor este empiricamente definido observando-se o tamanho

mínimo da mão em uma aplicação real.

A figura 4 mostra o resultado da segmentação e desta filtragem por tamanho.

(A) (B)

FIGURA 4 – (A) REGIÕES EXISTENTES E (B) REGIÕES PÓS FILTRAGEM

Com estas regiões restantes, tem-se que escolher as relevantes,

correspondentes às mãos para aplicar o pós-processamento de classificação de postura

e tradução para sinais de mouse.

Para cada mão, é criada uma estrutura de dados, que contém os dados da

posição anterior e atual, postura anterior e atual, e um flag de status, que pode ser

“Sem Mão”, “Mão OK” e “Mudaram Informações”.

Ambas estruturas, para as mãos direita e esquerda, iniciam a execução do

programa com status “Sem Mão”, que significa que a mão ainda não foi encontrada.

Para a localização inicial das mãos, é necessário que o usuário as posicione

dentro das duas áreas de calibração definidas, que podem ser vistas na figura 5 em azul

e amarelo.

Quando uma região adentra um destes quadrados, é feita a checagem de

tamanho, definindo-se que a mão pode ser no máximo 40 % maior que o retângulo,

para que seja fixada a distância mínima de operação do sistema. Se a região tiver um

tamanho adequado, ela é transformada em mão, equivalente à cor do

Page 22: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

18

retângulo(amarela – mão direita e azul – mão esquerda).

Então, o status desta mão passa para “Mão OK” e a mesma passará a ser

rastreada a partir do quadro seguinte.

FIGURA 5 – ÁREAS DE CALIBRAÇÃO

Isto possibilita saber quais os dois, de todos os objetos selecionados nas

etapas anteriores são efetivamente as mãos do usuário. O procedimento para

localização e rastreamento é o mesmo para ambas as mãos, logo, será discutido o

procedimento utilizando-se apenas uma mão, de modo a deixar a explicação mais

clara.

A partir do próximo quadro, todas as regiões são percorridas, medindo-se a

distância entre esta e a posição atual da mão. A região que tiver menor distância,

representa a nova posição da mão. A posição anterior é atualizada como sendo a atual

e esta recebe a nova posição.

Uma linha é desenhada entre as posições atual e anterior para que o usuário

possa acompanhar o movimento da centróide da mão para fins de visualização e

avaliação das técnicas.

Page 23: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

19

3.5. CLASSIFICAÇÃO DE POSTURA

Para este protótipo, cada uma das mãos pode assumir apenas 4 posturas

diferentes, correspondendo à postura natural, e mais 3 posturas associadas a tipos de

cliques diferentes para cada apontador.

A fim de reduzir a complexidade computacional, e por conseguinte os

requerimentos mínimos de hardware para a execução do sistema, e aumentar a

robustez do classificador, a identificação da postura é feita com base na razão η entre

altura e largura do retângulo obtido da etapa de modelamento, segundo a Equação 3.9

AB

η = (3.9)

onde A corresponde a dimensão vertical e B a dimensão horizontal do retângulo

modelado.

As quatro posturas adotadas neste protótipo podem ser vistas na figura 6,

juntamente com sua detecção de bordas e seus retângulos modelos correspondentes.

Page 24: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

20

A) B)

C) D)

FIGURA 6 – POSTURAS MANUAIS: A) MÃO ABERTA; B) MÃO FECHADA; C) MÃO LATERAL VERTICAL; E D) MÃO LATERAL HORIZONTAL

A classificação das posturas apresentadas na Figura 6, segue as condições

apresentadas na Equação 3.10,

onde MLH, corresponde à postura Mão Lateral Horizontal mostrada pela Fig. 6(D);

MA, corresponde à Mão Aberta mostrada na Fig. 6(A); MF, corresponde à postura

Mão Fechada apresentada na Fig. 6(B); e MLV, corresponde à postura Mão Lateral

, 0.6, 0.6 1.2

, 1.2 1.7, 1.7

MLH paraMF para

PosturaMA paraMLV para

ηη

ηη

< ≤ <= ≤ < ≥

(3.10)

Page 25: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

21

Vertical mostrada pela Fig. 6(C).

3.6. TRADUÇÃO PARA MOVIMENTO E CLIQUES DE MOUSE

Com as etapas anteriores executadas, estando o sistema sendo executado

como controlador apontador único, os movimentos e posturas da mão são traduzidos

em movimentos e cliques de mouse. Devido a diferença existente entre a resolução da

imagem capturada, tipicamente formato SIF 352x288 pixels, e a resolução da área de

trabalho do sistema, tipicamente 1024x768 pixels, o movimento necessita ser

escalonado. Este escalonamento é dado pela razão da resolução da imagem capturada

pela resolução usada no sistema operacional.

Já a postura de mão aberta (MA) representa a operação livre, sem nenhum

botão sendo pressionado. A mão fechada (MF), por sua vez, executa um duplo-clique

no botão esquerdo do mouse, ser usado para abrir arquivos e programas.

Alternar a postura para mão lateral vertical (MLV) possui o significado de

pressionar o botão esquerdo do mouse, sem soltá-lo. Mexendo a mão com esta postura,

simula a execução do comando arrastar, utilizado para mudar ícones de lugar ou

selecionar texto. Deixando de executar esta postura, faz com que o botão esquerdo do

mouse seja liberado, interrompendo a operação prévia.

De mesma forma, a postura MLH (Mão Lateral Horizontal) simula o botão

direito. Com uma mudança rápida para esta postura e novamente para mão aberta

permite, por exemplo, abrir menus de contexto.

Todos estes comandos são passados aos Sistemas Operacionais compatíveis

com Windows XP, utilizando uma função do SDK (Software Development Kit)

fornecido pela Microsoft, que simula as chamadas de interrupção de dispositivos

SendInput. Esta função pode simular tanto interrupções provenientes do mouse quanto

do teclado, permitindo, assim, que seja desenvolvida uma interface de interação

totalmente independente dos recursos de hardware existentes atualmente

Page 26: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

22

4. RESULTADOS OBTIDOS

Os resultados aqui apresentados correspondem aos obtidos com o protótipo

desenvolvido durante este trabalho e descrito no Capítulo 3. São apresentados os

resultados alcançados em cada etapa do processamento separadamente. Uma análise

do desempenho dos dois casos de aplicação do sistema, a saber, um único apontador

controlando o mouse e uma aplicação com múltiplos apontadores, são feitas no final

deste capítulo.

4.1. CAPTURA DO SINAL DE VÍDEO

Para efetuar a captura dos sinais de vídeo foram usadas APIs disponíveis

nativamente na biblioteca openCV. O formato SIF, cuja resolução de 352x288 pixels

no formato RGB com 24bits/pixel, se mostrou leve computacionalmente para a

execução de todo o processamento proposto do sinal de vídeo em tempo real,

atingindo o limite de captura da câmera de 30fps, em um computador SEMPROM

2.2GHz com 512MB de memória RAM.

4.2. SUBTRAÇÃO DE FUNDO

A etapa de subtração de fundo é importante a fim de tornar o sistema robusto

em situações onde tenhamos um cenário bastante detalhado e com cores similares aos

tons de pele. Conforme explicado no Capítulo 3, o usuário inicialmente define a

imagem de fundo a ser usada nesta etapa.Cada quadro é subtraído desta imagem e

aplicado um limiar de modo a classificar o pixel como pertencente ao fundo ou a um

objeto. A grande variação que pode ser obtida aqui se deve à definição deste limiar na

para criação da máscara dos objetos.

A imagem 7 mostra a diferença na máscara binária para diversos valores de

limiar.

Page 27: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

23

(A) (B) (C) (D)

(E) (F) (G) (H)

FIGURA 7– VALORES DE LIMIAR (A)10; (B)20; (C) 30(VALOR USADO); (D)40; (E)80; (F)120; (G)170 E (H)220.

Pode-se perceber que, para valores inferiores a 30, fica notável a presença de

grande quantidade de ruído, tornando as regiões menos corretamente delimitadas.

Assim sendo, arbitramos este valor como o limiar. Deste modo, os pontos da imagem

diferença em escala de cinza, apresentados na figura 2.(D), que tiverem valores

menores que 30 são considerados como pertencentes ao fundo, e mostrados na cor

preta, e os que tiverem valores maiores ou iguais a 30, são considerados objetos da

frente, mostrados na cor branca na Figura 7.

Devemos notar que a escolha deste limiar influencia significativamente os

resultados das etapas seguintes, portanto ele deve ser analisado a cada inicialização do

aplicativo na etapa de calibração do sistema. Neste trabalho, não nos preocupamos em

desenvolver uma metodologia de cálculo desse limiar, embora vejamos claramente sua

necessidade.

4.3. SEGMENTAÇÃO DE COR DE PELE

Esta seção exibe os resultados da segmentação, demonstrando a variação dos

resultados devido à mudança da quantidade de distâncias modelo.

A variação nesta etapa é proveniente da Distância Modelo definida no

Capítulo 3. A figura 8 mostra 8 possibilidades desta distância, e seu resultado na

Page 28: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

24

máscara binária.

(A) (B) (C) (D)

(E) (F) (G) (H)

FIGURA 8 – VALORES DE LIMIAR EM FUNÇÃO DE DISTÂNCIA MODELO (A)0,5; (B)1; (C)2; (D)3; (E)4; (F)5; (G)6 E (H)7.

Em condições ideais e com um espaço amostral considerável, a própria

Distância Modelo, sem uso do fator de escalonamento α, seria suficiente para obter um

elevado índice de acerto na classificação da cor de um pixel em cor de pele ou não. O

escalonamento da Distância Modelo usando um valor de α igual a 3, aumenta a

robustez do sistema, sem afetar sua velocidade.

4.4. LOCALIZAÇÃO E RASTREAMENTO DAS MÃOS

A figura 9 mostra as mãos sendo rastreadas no modo de operação de

múltiplos apontadores, demonstrando a funcionalidade deste módulo.

Page 29: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

25

A) B)

C) D)

FIGURA 9 – RASTREAMENTO DA MÃO EM 4 QUADROS CONSECUTIVOS A)1; B) 2; C) 3 E D) 4

Para a definição exata da posição dos apontadores, linhas amarela e azul, na

tela é utilizada a centróide do retângulo modelo obtido a partir dos contornos

mostrados na Figura 9 para cada mão.

A operação do sistema multi apontador apresenta a limitação de que para se

identificar corretamente a mão esquerda e direita, é necessário que as duas nunca se

cruzem. Técnicas mais avançadas de rastreamento, que consideram também o fluxo

ótico, permitem superar esta limitação ao preço de um maior custo computacional.

4.5. CLASSIFICAÇÃO DE POSTURA

Para poder mensurar a qualidade do classificador de posturas proposto, fez se

um experimento no qual um conjunto de posturas é gerado e cada quadro é

Page 30: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

26

classificado manualmente. A classificação manual é comparada com o resultado

obtido automaticamente em termos de percentuais de acerto. Foi criada uma seqüência

de teste contendo 200 quadros, com 50 quadros de cada postura. Nesse experimento, o

classificador acertou 83% das posturas. Este resultado, será melhorado sabendo que

uma postura não se altera rapidamente entre dois quadros consecutivos, dada a

velocidade de movimentação humana ser limitada.

4.6. TRADUÇÃO EM MOVIMENTOS E CLIQUES DE MOUSE

Como o sistema alcança uma taxa de execução muito alta, é necessário

desenvolver um dispositivo de controle para a interpretação das informações.

As regiões das mãos não são detectadas da mesma forma em todos os

quadros, o que provoca pequenas mudanças na localização das centróides destas

regiões. Estas mudanças fazem com que o apontador fique se movimentando, quase

aleatoriamente, em torno de um ponto central. A fim de reduzir este efeito indesejável,

criado pelo ruído de todo o sistema de processamento de imagens , implementaram-se

dois filtros passa-baixas FIR de média móvel de 10ª ordem, Equação 4.1de modo a

suavizar as variações de alta freqüência existentes na posição do apontador.

9

0

1( )

10i

i

H z z−

=

= ∑ (4.1)

Os filtros são aplicados temporalmente aos sinais x e y, posição horizontal e

vertical do apontador na tela. Com isso, obteve -se uma boa estabilização e com isso

maior precisão na movimentação do apontador pela tela. O preço pago foi um maior

tempo de atualização da posição, mas que devido à alta velocidade do sistema não

chega a incomodar o usuário.

Page 31: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

27

4.7. ESTUDO DE CASO 1: APONTADOR ÚNICO

A fim de validar efetivamente o desenvolvimento deste projeto, o sistema

controlador do apontador único baseado em Visão Computacional, foi implementado

no Sistema Operacional Windows XP, com uma webcam USB 1.1. O sistema

mostrou-se estável e preciso, possibilitando o uso da mão direita para controlar a

posição do mouse, além de permitir cliques dos botões direito, esquerdo e duplo

clique. Aplicativos como Word e Paint foram controlados com resultados satisfatórios

durante os testes.

4.8. ESTUDO DE CASO 2: APONTADOR MÚLTIPLO

Um ambiente de ponteiro múltiplo não é comum hoje em dia nas aplicações

existentes. Assim sendo, desenvolveu-se um ambiente capaz de ser acionado com esse

novo tipo de dispositivo. O ambiente trata-se de um mini aplicativo de desenho na tela.

Os resultados obtidos foram satisfatórios, uma vez que nenhum usuário está

acostumado com essa nova dimensão de controle de apontadores,

Page 32: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

28

5. CONCLUSÃO

Desenvolveu-se nesse projeto uma nova concepção de controle do

dispositivo apontador em sistemas operacionais gráficos, baseado em interface visual.

O uso de uma simples webcam possibilita um novo meio de interação do usuário com

a máquina através do controle gestual da posição do apontador e cliques gerados por

ele. Como diferencial, provou-se ser possível, sem custo adicional de hardware,

desenvolver um novo conceito de múltiplos apontadores, controlados pelas mãos do

usuário, abrindo as portas para que aplicações inovadoras sejam criadas.

O sistema foi desenvolvido em linguagem ANSI C em ambiente Windows,

sendo, no entanto, facilmente portável para outros Sistemas Operacionais com

interface gráfica com o usuário, tais como Linux e MacOS. Utilizou-se a biblioteca de

código aberto openCV de forma a otimizar os recursos e reduzir o tempo de

desenvolvimento e implementação.

O processamento do sinal de vídeo é efetuado em tempo-real, a fim de retirar

a influência do cenário através da subtração de fundo ; identificação de tons de pele

utilizando um modelo bastante simples baseado em distância Euclidiana e modelo de

cor RGB normalizado; detecção e classificação da postura da mão através de um

modelo retangular da mão. A interface entre a etapa de processamento de vídeo e

controle do(s) apontador(es) do sistema depende intrinsecamente do sistema

operacional utilizado,

As aplicações desenvolvidas basearam-se em dois estudos de casos:

• Utilizando o apontador convencional, porém controlado visualmente pelos

gestos de uma mão do usuário. Aplicaram-se os conceitos e resultados do

processamento do sinal de vídeo para o controle genérico do mouse no sistema

Windows XP, podendo-se comandar quaisquer programas instalados de

maneira natural.

• Criação de um ambiente específico para a validação do conceito de múltiplos

apontadores controlados visualmente pelos gestos de ambas as mãos do usuário.

Page 33: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

29

Desenvolveu-se um pequeno aplicativo gráfico que demonstra as

potencialidades da interface multi-apontador controlada por gestos.

O protótipo desenvolvido obteve sucesso, indicando o pleno cumprimento

dos objetivos determinados no início deste projeto, realizando as tarefas de

processamento de vídeo em tempo real, a 30quadros por segundo, para controle de

apontadores.

5.1. TRABALHOS FUTUROS

Como trabalhos futuros podemos destacar o desenvolvimento de técnicas

mais robustas de rastreamento da mão. Aprimoramento das técnicas de classificação

de posturas manuais de forma a dispensar o uso do teclado como dispositivo de

entrada de dados. Criação de aplicativos tais como controle de ambientes de realidade

virtual, tele medicina, CADs, que tirem proveito do conceito de interface controlada

por multi-apontadores. O desenvolvimento de formas de controle de mais de dois

apontadores seria também uma extensão natural deste projeto.

Page 34: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

30

REFERÊNCIAS BIBLIOGRÁFICAS

[1] SHIMIZU, Y.; KAJITA, S.; TAKEDA, K.; ITAKURA, F., "Speech recognition based on space diversity using distributed multi -microphone," Acoustics, Speech, and Signal Processing, 2000. ICASSP '00. Proceedings. 2000 IEEE International Conference on , vol.3, no.pp.1747-1750 vol.3, 2000.

[2] STANER, T.; PENTLAND, A., “Real -Time American Sign Language

recognition from video using hidden Markov models”, International Symposium on Computer Vision, Coral Gables, USA, 1995.

[3] SATO, Y.; KOBAYASHI, Y. ; KOIKE, H., “Fast Tracking of Hands and

Fingertips in Infrared Images for Augmented Desk Interface”. International Conference on Automatic Face and Gesture Recognition, Grenoble, 2000.

[4] HEAP, T., “Real Time Hand Tracking and Gesture Recognition using

Smart Snakes,” In Interface to Real and Virtual Worlds, Montpellier, 1995. [5] HALL, D.; CROWLEY, J., “Tracking Fingers and Hands with a Rigid

Contour Model in an Augmented Reality,” International Workshop on Managing Interactions in Smart Environments, 1999.

[6] SEGEN, J., “GestureVR: Vision-Based 3D Hand interface for Spatial

Interaction,” ACM Multimedia Conference, Bristol, 1998. [7] LAPTEV, I.; LINDEBERG, T., “Tracking of Multi -State Hand Models

Using Particle Filtering and a Hierarchy of Multi -Scale Image Features,” Technical report ISRN, 2000.

[8] LEE, H.; KIM, J., “An HMM-based threshold model approach for

gesture recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence, 1999.

[9] VOLGER, C.; METAXAS, D., “Towards scalability in ASL recognition:

Breaking down sings into phonemes,” In Gesture Workshop, 1999. [10] WILSON, A.; BOBICK, A., “Parametric hidden markov models for

gesture recognition”. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1999.

[11] VIVECK, A.; MEGGIOLARO, M., “Sign language recognition using

competitive learning in the HAVNET neural network,” MIT, 2000.

Page 35: DESENVOLVIMENTO DE UMA NOVA INTERFACE GESTUAL … · ii RESUMO Este trabalho apresenta o desenvolvimento de uma nova interface homem-máquina, que possibilita substituir o dispositivo

31

[12] QUECK, F.; MYSLIWIEC, T.; ZHAO, M., “Finger Mouse: A freehand pointing interface,” International Workshop on Automatic Face and Gesture Recognition, Zurich, 1995.

[13] KULESSA, T.; HOCH, M., “Efficient Color Segmentation under Varying

Illumination Conditions,” IEEE Image and Multidimensional Digital Signal Processing Workshop, 1998.

[14] UKITA, N.; KIDODE, M., “Wearable Virtual Tablet: Fingertip Drawing

on a Portable Plane-Object using an Active-Infrared Camera,” International Conference on Intelligent User Interfaces, 2004.

[15] OKA, K.; SATO, Y.; KOIKE, H., “Real-time Tracking of Multiple

Fingertips and Gesture Recognition for Augmented Desk Interface Systems,” In IEEE Automatic Face and Gesture Recognition, Washington, D.C. May 2002.

[16] MACCORMICK, J.; ISARD, M., “Partitioned sampling, articulated

objects and interface-quality hand tracking.” European Conference on Computer Vision, 2000.

[17] K. IMAGAWA, S. LU, S. IGI, "Color-Based Hands Tracking System for

Sign Language Recognition," International Conference on Automatic Face and Gesture Recognition , p. 462, 1998.

[18] V. GIRONDEL, L. BONNAUD, A. CAPLIER, “Hands Detection and

Tracking For Interactive Multimedia Applications,” International Conference on Computer Vision and Graphics, 2002.

[19] VEZHNEVETS V., SAZONOV V., ANDREEVA A., "A Survey on Pixel -

Based Skin Color Detection Techniques". Proc. Graphicon-2003, pp. 85-92, Moscow, Russia, September 2003.

[20] R. KJELDSEN, J. KENDER, "Finding skin in color images," International

Conference on Automatic Face and Gesture Recognition, p. 312, 1996. [21] INTEL. Open Computer Vision Library 1.0. 2006. Biblioteca de Funções de

Programação, Disponível em http://sourceforge.net/projects/opencvlibrary/.