68
RELATÓRIO 1 Projeto: KANGÛERA: Olho Local – Mão Distante. WEBLAB sobre operação de mão mecatrônica baseada em visão. Processo FAPESP No. 2006/06597-5 Linha de Fomento: Auxílio Pesquisa – Programa Tecnologia da Informação no Desenvolvimento da Internet Avançada Período do projeto: 01/07/2007 a 30/06/2009 Período deste relatório: 01/07/2007 a 30/06/2008 Instituição: EESC – Escola de Engenharia de São Carlos - USP Equipe: Prof. Dr. Adilson Gonzaga – Coordenador Prof. Dr. Glauco A. P. Caurin Prof. Dr. Evandro L. L. Rodrigues Profa. Dra. Maria Stela V. de Paiva Msc. Antonio Henrique Figueira Louro - Doutorando Msc. Will Ricardo dos Santos Machado – Doutorando Msc. Valdinei Luis Belini – Doutorando Leonardo Marques Pedro - Mestrando Leandro Cuenca Massaro - Graduando Christoffer Tenório Emidio de Souza - Graduando

RELATÓRIO 1 - iris.sel.eesc.usp.briris.sel.eesc.usp.br/weblab/faq/RELATORIO_1_r3.pdf · usa a representação explícita da cinemática existente nas juntas da mão e dos dedos

Embed Size (px)

Citation preview

RELATÓRIO 1 Projeto: KANGÛERA: Olho Local – Mão Distante. WEBLAB sobre operação de

mão mecatrônica baseada em visão. Processo FAPESP No. 2006/06597-5 Linha de Fomento: Auxílio Pesquisa – Programa Tecnologia da Informação no Desenvolvimento da Internet Avançada Período do projeto: 01/07/2007 a 30/06/2009 Período deste relatório: 01/07/2007 a 30/06/2008 Instituição: EESC – Escola de Engenharia de São Carlos - USP Equipe: Prof. Dr. Adilson Gonzaga – Coordenador Prof. Dr. Glauco A. P. Caurin Prof. Dr. Evandro L. L. Rodrigues Profa. Dra. Maria Stela V. de Paiva Msc. Antonio Henrique Figueira Louro - Doutorando Msc. Will Ricardo dos Santos Machado – Doutorando Msc. Valdinei Luis Belini – Doutorando Leonardo Marques Pedro - Mestrando Leandro Cuenca Massaro - Graduando Christoffer Tenório Emidio de Souza - Graduando

INDICE Resumo 3

Organização do Relatório 3

1 Introdução 4

2 Objetivos 9

3 Materiais e Métodos 9

3.1 Mão Distante 10

3.1.1 Simulação da mão robótica 14

3.1.2 Modelagem do Sistema 20

3.1.3 Fabricação da Mão Mecânica 23

3.1.4 Prototipagem da Mão 25

3.1.5 Fabricação dos Moldes 26

3.1.6 Implementação 27

3.1.7 Estudo Cinemático da Mão 29

3.1.8 Modelagem da Mão 30

3.1.9 Projeto dos Controladores 33

3.2 Olho Local 35

3.2.1 Rastreamento de mão “model-based” 36

3.2.2 Reconhecimento de gestos “appearance-based” 40

3.2.3 Estimação de Pose de mão “single-view”. 41

3.2.4 Detectores e Descritores de Feições Locais. 42

3.2.5 Scale Invariant Feature Transform” (SIFT). 45

4 Resultados 49

4.1 Mão Distante 49

4.2 Olho Local. 51

4.2.1 Resultados com a aplicação do método SIFT. 51

4.2.2 Análise da aplicabilidade do método SIFT no

reconhecimento de gestos 55

5 Conclusões 59

6 Observações Adicionais 61

7 Próximas Etapas do Projeto 62

Referências Bibliográficas 63

Anexos 68

2

RESUMO

Apresentam-se neste relatório as atividades desenvolvidas durante o primeiro ano de

atividades do projeto. Os trabalhos desenvolvidos nesta primeira etapa podem ser

divididos em duas atividades principais, uma primeira frente de trabalho desenvolvida

no Laboratório de Visão Computacional – LAVI, responsável pela análise de

metodologias de extração de informações geométricas de postura de uma mão real a

partir dos dados de imagens. Uma segunda atividade a cargo da equipe do Laboratório

de Mecatrônica voltada a construção, montagem e colocação em operação de uma mão

robótica com 5 dedos e 12 graus de liberdade.

ORGANIZAÇÃO DO RELATÓRIO

O texto foi estruturado apresentado inicialmente uma breve introdução seguida dos

objetivos do trabalho. No item 3 são apresentados os procedimentos adotados pela

equipe divididos em duas partes: uma descrição dos trabalhos desenvolvidos com a mão

robótica (3.1) e outra voltada para o processamento de imagens (3.2). Os resultados

iniciais obtidos nas duas frentes de trabalho são apresentadas no item 4. As conclusões

são apresentadas no item 5 e finalmente tecemos algumas observações sobre o

andamento do projeto nos itens 6 e 7.

As referências bibliográficas utilizadas durante esta fase são listadas no final e em

seqüência apresentamos um Anexo com atividades resultantes do trabalho dos

participantes neste projeto de pesquisa.

3

1. Introdução.

Ultimamente tem sido dada uma grande ênfase na pesquisa em Interação Homem-

Computador (IHC), para criar interfaces mais adaptadas ao emprego direto das

habilidades naturais humanas de comunicação e manipulação. A adoção de

sensoriamento direto em IHC permitirá o fomento de uma grande quantidade de

aplicações em ambientes de computação mais sofisticados, como os sistemas de

realidade aumentada e realidade virtual. O desenvolvimento desses sistemas envolve o

tratamento de problemas de pesquisa desafiadores, incluindo técnicas de entrada e saída,

estilos de interação e métodos de avaliação. No domínio dos dispositivos de entrada, a

abordagem de sensoriamento direto requer a captura e a interpretação de movimentos da

cabeça, fixação dos olhos, mão(s), braços ou mesmo do corpo inteiro.

A mão, devido a sua funcionalidade em comunicação e manipulação, é a ferramenta

de interação de propósito geral mais efetiva do corpo humano. Vários estilos de

interação tendem a importar essas funcionalidades para permitir a criação de uma

interface intuitiva e natural. A linguagem de gestos, formada por posturas de mão

(gestos estáticos) e padrões de movimentos (gestos dinâmicos), tem sido empregada

para implementar comandos e interfaces de controle (LENMAN et al.,2002)(NIELSEN

et al.,2003). As gesticulações, movimentos espontâneos de mãos e braços que

acompanham a fala, vêm sendo usadas nas interfaces de usuário multiformes1

(BILLINGHURST ,1998) (QUEK et al.,2002). Nos ambientes virtuais, as interfaces

para a manipulação de objetos (BUCHMANN et al.,2004) utilizam a mão em tarefas de

navegação, seleção e manipulação. Em muitas aplicações de controle local e remoto de

máquinas complexas e manipuladores, a mão serve como um dispositivo de controle

1 Interfaces de usuário multiforme – emprego de vários modos de comunicação, por exemplo, discurso+gesticulação.

4

eficiente com muitos graus de liberdade2 (STURMAN,1992). Algumas aplicações

imersivas de realidade virtual, como simulação cirúrgica (LIU et al.,2003) e sistemas de

treinamento, apresentam manipulação complexa de objetos.

Atualmente, os dispositivos mais eficientes para captura de movimentos da mão são

os de sensoriamento eletromecânico e magnético (data gloves). Estes são usados na mão

para medir sua localização espacial, bem como os ângulos das juntas dos dedos,

fornecendo em tempo real e independente de aplicação, um conjunto bem completo de

medições, permitindo importar toda a funcionalidade da mão na IHC. Porém,

apresentam várias desvantagens, como o alto custo, a falta de naturalidade no uso da

mão e a necessidade de utilizar procedimentos complexos na calibração e inicialização

para realizar medições precisas.

A visão computacional representa uma alternativa promissora ao “data glove”, com

potencial para fornecer uma interação mais natural, não obstrutiva e sem contato. No

entanto, vários desafios como precisão, velocidade de processamento e generalização

precisam ser superados para que o uso dessa tecnologia seja largamente difundido. A

recuperação de movimentos da mão, com a captura completa de todos os seus DOF, a

partir de imagens com auto-oclusões3 inevitáveis é um problema altamente complexo e

computacionalmente intensivo. Isto resultou em implementações em visão

computacional totalmente diferentes daquelas baseadas em “data-gloves”.

A habilidade de rastrear múltiplos objetos articulados é muito importante para várias

áreas, incluindo robôs autônomos ou teleoperados, supervisão visual e análise de

movimentos humanos.

2 O termo ‘graus de liberdade’ será referido neste documento como DOF (Degree of Freedom) 3 Oclusões ocorrem quando um objeto ou parte dele fica fora da cena ou escondido atrás de um outro objeto. No caso de auto-oclusões, um objeto formado de múltiplas partes articuladas, como é o caso da mão humana, poderá apresentar uma ou mais partes escondidas atrás das outras.

5

Para rastreamento e estimação de pose, duas abordagens principais podem ser

identificadas na literatura. A primeira, conhecida como rastreamento “model-based” ou

generativo (STENGER et al.,2001) (STENGER et al.,2001) (PAVLOVIC et al.,1997),

usa a representação explícita da cinemática existente nas juntas da mão e dos dedos. O

termo “model-based” se deve à utilização de um modelo 3D da mão humana, o qual é

projetado sobre a imagem. A diferença entre as feições4 projetadas do modelo e as

feições existentes na imagem é minimizada através de ajustes nos parâmetros

cinemáticos do modelo.

A segunda abordagem tem sido a mais usada na modelagem do movimento da mão.

Esta é conhecida como “appearance-based” ou abordagem discriminativa (PAVLOVIC

et al.,1997) (CROWLEY et al.,2000), a qual se baseia em dados de treinamento para

criar um mapeamento entre as observações na imagem e as poses tridimensionais. Esses

modelos têm sido aplicados com sucesso na construção de classificadores para detectar

elementos de vocabulários de linguagens gestuais. Porém, a informação de movimento

3D fornecida por esses sistemas é limitada a estimações grosseiras das posições das

pontas dos dedos e das orientações dos dedos e da palma obtidas através do uso de

feições específicas à aparência. Recentemente, muitos métodos têm sido sugeridos para

estimar a pose da mão, os quais vêm sendo chamados coletivamente “single-view pose

estimation” (ROSALES et al.,2001) (SHIMADA et al,2001). Nesses métodos um

modelo 3D da mão é usado para gerar um banco de aparências 2D, as quais são

comparadas com as feições retiradas de cada imagem de entrada. Com base numa

função de erro de casamento5, uma ou mais poses são retornadas.

A visão baseada em modelo 3D parece ser uma direção promissora para a estimação

de pose de mão, porém alguns problemas ainda precisam ser solucionados: 4 Os termos “feições” e “características” são usados como tradução da palavra “feature” e consideradas como sinônimos no corpo deste texto. 5 A idéia de casamento está relacionada com a idéia de comparação.

6

• Problema da alta dimensionalidade – o modelo cinemático da mão, gera um

espaço de estados muito grande tornando a busca por parâmetros, que

minimizem o erro entre a projeção do modelo e a imagem, uma tarefa muito

custosa e infactível em tempo real. Para atacar esse problema podem-se

incorporar duas idéias de redução de dimensionalidade. Uma é baseada em

estudos biomecânicos que revelam uma série de restrições ao movimento que

a mão humana normal está submetida (restrições ósseas e musculares) e

muitas destas ainda não foram equacionadas (PAVLOVIC et al.,1997)

(KUCH; HUANG,1994) (LEE; KUNII, 1993) (LIN et al., 2000). A outra

baseada em operadores estatísticos como análise de componentes principais

(PCA) (LIN et al., 2000) (KATO et al., 2006) e a análise de componentes

independentes (ICA) (KATO et al., 2006).

• Problema da calibração do modelo – em muitas aplicações a precisão é

importante, porém não é possível ser obtida com modelos gerais construídos

manualmente. Além da imprecisão, as imperfeições no modelo da mão podem

causar falhas no rastreamento. A calibração automática do modelo da mão não

é uma tarefa fácil, mas sem uma solução para este problema não será possível

usar os algoritmos para uma larga faixa de aplicações. Tal problema começou

a chamar a atenção dos pesquisadores há pouco tempo (LIEN , 2005).

• Múltiplas câmeras - o uso de múltiplas imagens está em sua maioria limitado

a sistemas baseados em marcadores6. A maioria dos sistemas, que não usam

este artifício de marcação, foi projetada para funcionar com uma única câmera

e grande parte desta maioria tende a manter a posição global da mão fixa com

respeito à câmera. Se for requerida uma interação mais flexível, sem pose fixa

6 Para facilitar a segmentação e localização das juntas dos dedos costuma-se utilizar marcas coloridas em luvas comuns ou diretamente na pele.

7

(em tarefas de manipulação de objetos, por exemplo), o emprego de múltiplas

câmeras poderia ser necessário. Outra razão para o uso de múltiplas câmeras é

a diminuição da quantidade de oclusões ou a facilitação no trato desse

problema. Além disso, a tarefa de rastreamento se torna mais robusta com a

associação do modelo 3D à restrição epipolar7 do par de imagens estéreo

(YANG; ZHANG, 2001). Uma outra razão seria na segmentação da mão em

imagens 2D, que geralmente é realizada com base na cor da pele. A utilização

da informação de profundidade obtida com as imagens em estéreo tornaria o

módulo de segmentação mais robusto, diferenciando objetos com cor de pele

através de um limiar baseado em medidas de profundidade.

A motivação para o desenvolvimento desta pesquisa é firmada na assertiva que “o

uso de gestos humanos é uma maneira natural de comunicação entre as pessoas,

resultando em um modo natural de interação com computadores”. Além disso, a

possibilidade de operação em tempo real de equipamentos à distância, algumas vezes

instalados em locais inseguros e perigosos, sem o contato humano e com realimentação

visual, é motivadora e desafiadora em seus problemas técnicos e científicos.

Este projeto colaborativo – WEBLAB – foi proposto baseado na experiência

anterior dos pesquisadores do LAVI – Laboratório de Visão Computacional do

Departamento de Engenharia Elétrica, na área de Processamento de Imagens e

Reconhecimento de Padrões e também dos pesquisadores do Laboratório de

Mecatrônica do Departamento de Engenharia Mecânica no desenvolvimento de mãos

artificiais, ambos da EESC – Escola de Engenharia de São Carlos da USP.

7 Veja a definição de epipolar no item aspectos gerais da visão estéreo.

8

Kangûera é uma palavra em Tupi que significa “osso fora do corpo” uma alusão, neste

projeto, ao formato antropomórfico da mão mecatrônica e ao fato da mesma estar

distante do controle de movimento. A rede do Projeto Kyatera providencia a conexão

entre o olho-local, uma “webcam” localizada em um ponto, e a mão-distante, uma mão

mecatrônica antropomórfica, em outro ponto da rede.

2. Objetivos.

O objetivo deste projeto é estudar, desenvolver e integrar metodologias de

reconhecimento do movimento da mão humana através de técnicas de Visão

Computacional e controlar uma mão mecatrônica antropomórfica instalada em outro

ponto da rede de computadores.

A proposta geral do projeto é reconhecer, através de imagens em tempo real, alguns

gestos simples de mãos humanas e reproduzir estes mesmos gestos na mão mecatrônica

localizada em um ponto qualquer da rede. O sistema básico proposto será desenvolvido

como uma camada de baixo nível que garanta o reconhecimento de um determinado

conjunto de movimentos da mão humana e permita a colaboração futura em aplicações

que utilizem a rede Kyatera implantada.

3. Materiais e Métodos.

Como este é um projeto colaborativo e multidisciplinar, os pesquisadores dos

dois laboratórios envolvidos, o Laboratório de Visão Computacional e o Laboratório de

Mecatrônica, desenvolveram nesta primeira fase, o assunto de competência de cada um.

9

As atividades estão aqui relatadas nos dois tópicos constituintes do projeto: Mão

Distante e Olho Local.

3.1 Mão Distante.

A mão robótica antropomórfica Kangûera é uma versão artificial de uma mão

humana direita de um homem com tamanho aproximado de 50% superior àquele

apresentado pela média dos exemplares humanos. Especificamente, todos os dedos da

mão robótica são formados pelas falanges proximal, medial e distal, juntas articuláveis e

metacarpos, como ocorre com a estrutura de uma mão humana. Os cinco dedos são

articuláveis com movimentos totalmente independentes e foram construídos a partir de

uma resina industrial, permitindo a reprodução das configurações funcionais da mão

humana. A figura 1 ilustra os principais componentes da mão robótica Kangûera.

(a) Mão robótica antropomórfica Kangûera

(b) Estrutura mecânica da mão

c) Motor de corrente contínua e o módulo de controle (EPOS)

Figura 1: Mão robótica antropomórfica Kangûera.

A figura 1(a) ilustra a montagem da mão robótica composta pelas falanges,

juntas e metacarpos dos cinco dedos completamente articuláveis construídos a partir de

10

uma resina industrial. Todos os movimentos de cada um dos dedos são desenvolvidos

por meio de cabos sintéticos, que se comportam como os tendões da mão humana,

acionados por pequenos servo-motores de corrente contínua. Por outro lado, a figura

1(b) ilustra a estrutura mecânica completa para a sustentação da mão bem como o

alojamento dos pequenos atuadores elétricos. Finalmente, a última figura exibe a

fixação de um servo-motor juntamente com o seu módulo de controle. Esses dois

importantes componentes pertencem a uma linha dedicada de produtos da empresa suíça

Maxon Motors. Devido às atrativas características de facilidade de utilização técnica

esses módulos são devidamente denominados de Easy POsitioning System (EPOS).

Dentre essas importantes peculiaridades podem-se citar o reduzido tamanho

físico ocupado por esses motores, além de um duplo conjunto de redutores planetários e

um “encoder” estrategicamente embutidos em sua compacta estrutura cilíndrica. Além

disso, os módulos de controle EPOS permitem a realização de mudanças precisas na

posição angular do eixo de cada um dos motores como também alterações da sua

velocidade e ajustes da corrente de alimentação de acordo com a necessidade. A figura

2 ilustra as fotos do servo-motor e o seu respectivo estágio de controle EPOS.

(a) Servo-motor de corrente contínua (Maxon)

(b) Módulo de controle dos motores da linha EPOS (Maxon);

Figura 2: Componentes empregados para a realização dos movimentos dos dedos da mão

robótica.

11

De acordo com a quantidade de servo-motores empregados no completo controle

de movimentos da mão robótica Kangûera este projeto utiliza um total de doze módulos

de controle da linha EPOS.

Todas as juntas de cada um dos dedos da mão robótica são controladas por

intermédio de cabos sintéticos extremamente finos com 0,32mm de diâmetro. A

alteração dos ângulos dessas juntas permite que a atual versão da mão robótica

Kangûera apresente um total de doze graus de liberdade, incluindo a existência de uma

estratégica dependência de movimentos entre os dedos anelar e mínimo.

Uma ilustração de detalhes construtivos e funcionais é mostrada na figura 3(a).

Ela ilustra a falange distal do dedo indicador com destaque para os pequenos guias

cilíndricos localizados ao longo da estrutura das falanges de todos os dedos para a

passagem e orientação dos cabos sintéticos que atuam como os tendões da mão humana.

Com o objetivo de oferecer um comparativo entre as dimensões dos dedos e aquelas

apresentadas pelos cabos sintéticos, a figura 3(b) mostra a falange medial do dedo

indicador com o fino cabo tensor ilustrado em primeiro plano.

(a) (b) Figura 3: (a) Falange distal do dedo indicador com destaque para os guias do cabo tensor;

(b) Falange medial do indicador com o cabo sintético de 0,32mm para o movimento dos dedos.

12

No estágio atual de desenvolvimento da mão robótica Kangûera, a configuração

dos dedos é estabelecida por meio de uma interface gráfica desenvolvida no ambiente

de trabalho Matlab. Embora ainda esteja em plena fase de desenvolvimento, a figura 4

ilustra uma captura de tela desta interface gráfica.

Figura 4: Captura de tela da interface gráfica para o controle da mão robótica Kangûera desenvolvida no ambiente MATLAB. Esta interface permite realizar as

alterações dos ângulos das juntas de cada um dos dedos da mão robótica.

As barras de rolagem localizadas à direta da interface permitem realizar

alterações dos ângulos de cada uma das juntas para os dedos indicados pelas legendas

desses controles. Ainda sobre estas possibilidades de alterações, a numeração que

acompanha as alterações indica a faixa de valores permitida para os ângulos de cada

uma das juntas.

Adicionalmente, esta interface também exibe o ângulo atual de cada uma das

juntas dos respectivos dedos bem como a posição final desejada. A taxa de transmissão

da ordem de 115 Kbps entre esta interface e a EPOS de controle mestre permite que o

13

sistema robótico desenvolva movimentos rápidos o suficiente para acompanhar a

dinâmica do processo.

A comunicação eletrônica entre o primeiro módulo de controle EPOS,

denominado Mestre, com a interface gráfica ocorre por intermédio do conhecido

protocolo serial RS232. Embora o Matlab permita o suporte para a comunicação serial

mencionado, ele não abrange a totalidade de dispositivos comercialmente disponíveis

que empregam esse protocolo. Como resultado, foi necessário desenvolver um “driver”

específico para capacitar a interface gráfica com o recurso de comunicação com a EPOS

mestre. Do total dos doze módulos EPOS empregados para o completo controle da mão

Kangûera os onze módulos restantes foram conectados ao módulo mestre por meio de

uma estrutura suportada pelo protocolo de comunicação CANopen embutido em cada

uma das unidades EPOS. Nesta configuração, a EPOS que estabeleceu o acesso à rede

dos módulos por intermédio da interface gráfica atuou como um “gateway” dentro dessa

pequena rede de comunicação.

3.1.1 Simulação da mão robótica.

O simulador adotado nos trabalhos com a mão robótica antropomórfica

Kangûera é conhecido como GraspIt! (MILLER, 2001). Originalmente desenvolvido na

Columbia University (EUA) este simulador é um ambiente de trabalho completo para

síntese e análise de configurações de mãos robóticas envolvidas em agarrar e manipular

objetos.

De fato, a partir de modelos de mãos robóticas previamente disponíveis em seu

banco de dados, é possível criar um cenário completo do ambiente desejado por meio da

inclusão de mãos robóticas, objetos e obstáculos normalmente encontrados em

ambientes humanos. A partir dos arquivos que descrevem o sistema robótico e os itens

14

do cenário o software é capaz de analisar a configuração dos dedos da mão robótica

para agarrar um determinado objeto e resultar em um índice de qualidade para aquele

processo de manipulação específico. Além da sua eficiência, o simulador também

contém ferramentas para a detecção de colisões entre o objeto a ser manipulado e os

dedos da mão robótica utilizada. Adicionalmente, o sistema de simulação também

permite escolher as propriedades físicas do material que descreve o objeto.

Uma vantagem atrativa que diferencia o simulador GraspIt! em relação aos

demais ambientes de trabalho de mesma categoria consiste no fato de que o simulador

pode importar uma plataforma robótica completa e um modelo do ambiente no qual o

sistema robótico atuará. Isto permite um planejamento mais preciso em aplicações que

envolvem o processo de agarrar um objeto em cenários mais próximos aos reais.

Outra característica que os modernos simuladores de sistemas robóticos não

apresentam são a habilidade de modelar de forma precisa o contato e o modelo para o

atrito existente entre o objeto e os dedos da mão robótica. Especificamente, o processo

de agarrar objetos empregando mãos robóticas envolve o estabelecimento e o

rompimento de contatos entre os segmentos articulados dos dedos da mão robótica e um

ou mais objetos no ambiente. Assim como ocorre com outros sistemas de simulação, um

simulador desta natureza deve permitir que o projetista encontre condições para criar

protótipos e diferentes testes do projeto da mão robótica.

Outra vantagem obtida na utilização deste simulador consiste na possibilidade de

desenvolver uma elevada quantidade de experimentos com a alteração de algumas

condições e parâmetros do sistema sem necessitar construir o protótipo real.

O simulador GraspIt! pode importar uma grande variedade de diferentes

protótipos de robôs e mãos robóticas bem como modelos de ambientes com objetos de

15

uso cotidiano. Todos esses elementos contam com a possibilidade de manipulação

dentro de um espaço de trabalho virtual em três dimensões.

Algumas características importantes do simulador Graspit! são:

• Uma biblioteca de robôs que inclui diversos modelos de mãos robóticas, um braço

Puma e uma base móvel simplificada;

• Uma definição flexível de robôs que torna possível a importação de novos projetos

de robôs;

• A habilidade de conectar robôs para a construção de uma plataforma de

manipulação;

• A habilidade de importar modelos de obstáculos para construir um ambiente de

trabalho completo para os robôs;

• Uma interface interativa intuitiva, bem como uma interface externa para o

MATLAB;

• Um sistema rápido de detecção de colisão e também determinação de contatos;

• Rotinas de análises de fixação que calculam a qualidade de uma fixação durante a

sua simulação;

• Métodos de visualização que podem mostrar o ponto fraco de uma fixação e criar

projeções do grasp wrench space;

• Um sistema dinâmico que calcula os movimentos do robô e do objeto sob a

influência de forças externas e de contatos;

• Gerador de trajetórias simples e algoritmos de controle que calculam as forças nas

juntas necessárias para permitirem a trajetória.

A simulação do cenário real no ambiente GraspIt! é composta por elementos do

mundo real formados por corpos rígidos ou robôs, os quais impõem limitações de como

16

esses corpo podem se mover um em relação aos outros. A figura 5 resume os

diferentes tipos de corpos definidos dentro do sistema de simulação Graspit!.

Figura 5: (a) Tipos de corpos definidos dentro do GraspIt! e seus dados associados. Sub-classes herdam as propriedades dos tipos acima delas. (b) A definição da classe robótica e seus tipos de dados associados. Esta definição pode manipular uma extensa variedade de robôs, mas se um robô em particular tem características especiais ou tem seus próprios métodos, então ele pode ser definido como uma sub-classe de um robô ou mão robótica

existente.

Uma descrição básica de um corpo consiste em um ponteiro para a geometria

desse corpo, uma especificação do material utilizado, uma lista de contatos e uma

transformada que especifica a posição relativa do corpo em relação ao sistema de

coordenada inercial (pertencente ao mundo real). A geometria do corpo, definida no

ambiente de modelagem 3D Open Inventor8, é obtida a partir de um arquivo CAD do

modelo. O material empregado para modelar os objetos é um item de um conjunto de

tipos de materiais pré-definidos e é usado no cálculo do coeficiente de atrito entre dois

corpos em contato. A versão atual do software permite que o corpo seja formado por

apenas um tipo de material.

8 O Open Inventor é uma API 3D e formato de objectos 3D da SGI que oferece uma solução abrangente

para os problemas interativos da programação gráfica. Apresenta uma programação baseada em modelos

3D com uma base de dados, o que simplifica drasticamente o processo.

17

A dinâmica do corpo herda todas as propriedades de um corpo e define a massa

do objeto bem como a localização do centro de massa relativa ao sistema de

coordenadas do objeto e seu tensor inercial. Ela também inclui os parâmetros de estado

da dinâmica do objeto, q e v, os quais especificam, respectivamente, a posição e a

velocidade de um sistema de coordenadas localizado no centro de massa em relação ao

sistema de coordenada inercial. Os dois tipos de corpos dinâmicos são associados,

enquanto que o mesmo não ocorre com os objetos que serão agarrados. Os itens que

serão agarrados são praticamente transparentes e permitem mostrar a posição de

qualquer contato como também indicar qualquer força dinâmica de contato. A razão

para a distinção entre os corpos e dinâmica desses consiste no fato de que alguns corpos

são considerados obstáculos, enquanto eles forem elementos do sistema de detecção de

colisão. Para poderem fornecer contatos sobre outros corpos, eles não podem fazer parte

dos cálculos da dinâmica e, dessa forma, permanecem estáticos. Isto permite criar um

cenário bastante complexo e, ao mesmo tempo, completo sem que os obstáculos

participem do processo de cálculo da dinâmica envolvida.

Os autores do software tentaram criar definições de um robô o mais geral

possível para permitir uma ampla variedade de protótipos de robôs possa ser importada.

A figura 5(b) mostrada acima resume a definição de um robô. Essencialmente, um robô

consiste de uma base, um número qualquer de cadeias cinemáticas e uma lista de seus

graus de liberdade (DOF). Cada cadeia cinemática contém uma lista de seus links, uma

lista de suas juntas e uma matriz de transformação que permite a localização do sistema

de coordenadas da base em relação ao sistema de coordenadas da base do robô. Cada

junta pode ser prismática ou de revolução e também conter limites sobre suas possíveis

posições bem como uma transformada Denavit-Hartenberg (DH) localizando o sistema

de coordenadas relativo à junta anterior na lista. Esta transformada é calculada a partir

18

dos quatros parâmetros de DH associados à junta. Os graus de liberdade de cada uma

das juntas são definidos separadamente devido ao fato de ser comum projetos de mãos

robóticas empregarem juntas acopladas controladas por outras juntas. Quando um

usuário importa um robô para o ambiente de simulação o sistema realiza uma leitura do

arquivo de configuração que especifica todos esses parâmetros e importa cada um dos

corpos rígidos que compõem o robô, estabelecendo suas posições baseado nos valores

inicias do DOF.

Uma mão robótica é um tipo especial de robô que pode desenvolver diversas

configurações de objetos bem como suas análises. Conforme mencionado, este software

também inclui um método de auto-grasp responsável pelo fechamento das juntas da

mão em uma velocidade pré-estabelecida. Cada uma das juntas pára quando elas

alcançam seus limites ou quando um corpo que o segue na cadeia cinemática toca um

objeto ou outro dedo.

A habilidade de adicionar novos projetos de robôs é um aspecto benéfico desse

sistema de simulação. A especificação dos parâmetros exigidos pelo arquivo de

configuração e também para a criação de uma conexão dos arquivos que descrevem a

geometria dos robôs é um processo relativamente simples. O software incorpora

modelos de uma garra paralela, um robô Puma 560 e outro móvel Nomadics XR4000.

Adicionalmente, por meio da colaboração de outros centros de pesquisa, também é

possível incorporar modelos descritos por projeto auxiliado por computador (Computer

Aided design - CAD). A figura 6 ilustra os modelos de robôs disponíveis no ambiente

do simulador.

19

Figura 6: Modelos de robôs mãos robóticas: (a) Garra paralela; (b) Barrett; (c) DLR; (d) Robonaut; (e) Rutgers; (f) Robô Puma 560 e (g) Robô móvel Nomadics XR4000.

3.1.2 Modelagem do Sistema

Para se fazer a modelagem do acionamento, um estudo do comportamento dos cabos

envolvidos fez-se necessário. Este estudo visa relacionar esta movimentação com a

movimentação angular das juntas da garra antropomórfica.

Para desenvolver o mecanismo de acionamento da garra antropomórfica, um modelo

matemático que relaciona o comprimento dos cabos ao ângulo de rotação das juntas foi

adotado. Ao invés de se usar um método para encontrar esta relação graficamente,

através de métodos numéricos, correlacionando as variáveis de entrada (rotação do

motor) e as variáveis de saída (rotação das juntas e deslocamento dos cabos), derivou-se

uma relação analítica entre estas variáveis, através de relações geométricas.

20

Figura 7: Foco no cabo de uma junta.

O que se pode observar é uma relação entre os comprimentos indicados na figura 7,

onde “a” e “b” são constantes e “c” é o comprimento do cabo entre os pontos de

fixação. A distância “a” é a distância entre o centro de giro da junta e o ponto de fixação

do cabo no link fixo. A distância “b” é a distância entre o centro de giro da junta e o

ponto de fixação do cabo no link em movimento.

Como se pode observar, estas três arestas formam um triângulo, mostrado na figura

8.

Figura 8: Triângulo sobre a junta.

Através da Lei dos Cossenos é possível encontrar uma relação entre o comprimento

“c” do cabo, os comprimentos “a” e “b” e o ângulo “o” que representa o ângulo entre as

arestas (“ θ+= 0oo ”, onde 0o é o ângulo inicial entre “a” e “b” quando o ângulo da

junta é igual a zero eθ é o ângulo de rotação da junta).

21

)cos(***2222 obabac −+=

Portanto:

)cos(***222 obabac −+=

Esta equação relaciona o comprimento do cabo e o ângulo da junta.

Buscando relacionar o ângulo da junta linearmente com o ângulo do motor, procura-

se um perfil de “came” que emule esta equação. Através de relações geométricas a

relação de 1:1 é obtida.

Observando-se que o cabo será conectado diretamente no mecanismo de

acionamento, deduz-se que a variação do comprimento do cabo está diretamente ligada

ao raio e a variação do ângulo do

motor (ver figura 9).

Figura 9: Relação raio, ângulo do motor e comprimento do cabo.

Logo,

csorcs

Δ=Δ=ΔΔ=Δ

*

onde “s” é o comprimento do arco, “r” é o raio do mecanismo, “o” é o ângulo de

rotação do motor e “c” é o comprimento do cabo.

Para pequenos incrementos de “o” tem-se a seguinte relação:

dodc

dodsr ==

22

O que resulta em uma equação para o “came” que relaciona o raio em função do

ângulo do motor (conseqüentemente o ângulo da junta).

A equação final é:

)cos(***2

)sin(**22 obaba

obar−+

=

A partir desta equação, basta definir os pontos de fixação dos cabos para se obter o

perfil do “came”.

Um protótipo para o teste do modelo foi construído o que resultou no “came”

mostrado na figura 10.

Figura 10: Foto do “came” (à direita) e desenho do came feito no Solid Edge (à esquerda)

3.1.3 Fabricação da Mão Mecânica

Os itens relativos ao processo de fabricação da mão são: a) desenho inicial de toda a

mão, b) correção de alguns detalhes no projeto e, c) prototipagem da mão.

O desenho da mão foi desenvolvido utilizando o software Solid Edge da empresa

UGS.

23

Os “cames” também foram projetados nesta etapa. Além do software Solid Edge, o

pacote computacional Matlab também foi utilizado.

A figura 11 representa a montagem da mão.

Figura 11: Montagem da mão

Um ponto que vale ressaltar nesta etapa é a inclusão de um novo grau de liberdade a

cada um dos dedos. Este novo grau de liberdade utiliza uma junta de dois graus de

liberdade desenvolvida no laboratório e, é responsável pelo movimento lateral dos

dedos conforme mostra a figura 12.

Figura 12: Junta de dois graus de liberdade

24

O programa Matlab foi utilizado para encontrar-se o perfil do “came” e, para

analisar-se a variação do comprimento do cabo com o ângulo de rotação da junta.

3.1.4 Prototipagem da Mão

O processo de prototipagem foi realizado no Núcleo de Prototipagem Rápida, que é

uma empresa de São Carlos. A máquina de prototipagem é mostrada na figura 13 e a

figura 14 apresenta a mão prototipada. A tecnologia para fabricação da mão foi a FDM

utilizando como material o plástico ABS.

Alguns problemas ocorreram nesta etapa devido ao tamanho de algumas peças.

Estas peças foram redesenhadas e corrigidos os problemas a prototipagem foi realizada.

Figura 13: Máquina de prototipagem.

25

Figura 14: Peças da mão após a prototipagem

3.1.5 Fabricação dos Moldes

O material utilizado na confecção dos moldes foi o silicone. As figuras 15, 16 e 17

mostram o processo.

Figura 15: Molde sendo fabricado

26

Figura 16: Molde solidificado

Figura 17: Foto de todos os moldes

3.1.6 Implementação.

Para a implementação dos “cames” na mão, foi desenvolvido um sistema de medida

tanto para o posicionamento das juntas da mão, quanto do nível de tensão presente nos

cabos.

Utilizando-se uma câmera fotográfica a posição de cada junta foi analisada com um

simples algoritmo. Antes de se adquirir as imagens e realizar os testes, três pontos

27

foram marcados na mão como referência para o processamento como mostra a figura

18.

Figura 18: Pontos de marcação para o processamento de imagem

O algoritmo desenvolvido em MatLab varre a imagem buscando estes três

pontos. Encontrado estes três pontos, o algoritmo calcula o centróide deles e, a partir da

posição em x e y do centróide, interliga-os formando duas retas. A partir do coeficiente

angular entre as retas encontra-se o ângulo de rotação das juntas.

Todos os pontos são marcados na linha central de cada peça, sendo que o segundo

ponto é marcado no centro de giro da junta.

Para melhorar a medida, a câmera é fixada para que todas as medições sejam feitas a

partir da mesma posição.

A fim de se analisar o comportamento da tensão nos cabos em função do

posicionamento, um sistema de medição foi desenvolvido, similar ao desenvolvido por

Salisbury (1982), deslocando-se o cabo de sua trajetória normal sem interferir no

sistema.

28

Figura 19: Célula de carga.

Utiliza-se como sensor para a medição da força uma célula de carga com “strain

gauges” conforme mostra a figura 19. Este sistema converte a força exercida sobre a

célula de carga em uma variação de tensão elétrica devido à variação da resistência

elétrica presente nos “strain gauges”. A partir do sistema de medição verifica-se a

variação da tensão de acordo com a modificação da força sobre a célula de carga.

Para a utilização do sistema, deve-se calibrá-lo antes com pesos conhecidos e, a

partir desta calibração relacionar a tensão elétrica com a tensão sobre os cabos.

Para realizar o movimento de cada junta, serão utilizados na próxima etapa, motores

Maxon adquiridos para este projeto. Estes motores já possuem “encoders” e redução.

3.1.7 Estudo Cinemático da Mão

Baseando-se em um método similar ao de Denavit-Hartenberg, foram definidos os

sistemas de coordenadas e a metodologia para o desenvolvimento da cinemática.

O software utilizado para este desenvolvimento foi o Mathematica, que apresenta

ferramentas de cálculo de matrizes homogêneas bem integradas.

29

Para o calculo da cinemática inversa, utilizou-se o método numérico de Newton-

Raphson para sistemas não lineares.

3.1.8 Modelagem da Mão

Durante a modelagem da mão robotica, verificou-se que a dinâmica dos atuadores é

muito superior à dinâmica da mão, portanto somente esta foi considerada. Este

procedimento simplificou o estudo dos controladores, pois permitiu o desacoplamento

do modelo.

Todo o desenvolvimento dos controladores e simulação foi realizado no pacote de

desenvolvimento Matlab.

O ambiente de desenvolvimento Simulink e MATLAB, oferece uma ferramenta

poderosa, o Real TimeWorkshop (RTW) que é uma extensão da capacidade encontrada

no Simulink e MATLAB de prover a prototipagem rápida de aplicações de software em

tempo real em uma grande variedade de sistemas.

O Real Time Workshop constrói aplicações dos diagramas do Simulink para

prototipagem, testes e desenvolvimento de sistemas de tempo real em uma variedade de

plataformas computacionais. O RTW pode gerar diretamente o código que hospeda os

compiladores, dispositivos de entrada e saída, modelos de memórias, modos de

comunicação e outras características que a aplicação pode exigir. O ambiente Tornado

por sua vez está preparado para trabalhar com o RTW. Quando instalado os serviços do

sistema VxWorks, o processo de desenvolvimento está pronto para ser realizado.

A plataforma MVME162 é uma plataforma ideal para monitoramento e aplicações

de controle. A plataforma MVME162 permite que um OEM (Original Equipment

Manufacturer) minimize gastos de engenharia, enquanto integra de forma incremental

aplicações de hardware e software. Para tanto, a plataforma MVME possui uma

30

variedade de MPUs, memória e opções de interface como ponto flutuante, Ethernet,

SCSI e VME. Isso resulta em um ambiente flexível que pode se adaptar a um variado

número de requisitos de aplicação (ver figura 20).

Figura 20: Plataforma MVME162

Neste trabalho o conjunto de controladores para um manipulador robótico possui

múltiplos graus de liberdade e são independentes para cada dedo da mão robótica. Cada

controlador multivariável é responsável pelo controle de 3 graus de liberdade

independentes.

O objetivo destes controladores é posicionar a ponta de cada dedo da mão robótica

artificial de forma precisa, possibilitando assim a manipulação de objetos. Este sistema

lida com as características não-lineares típicas de um sistema mecatrônico complexo. O

modelo simulado Kangûera é mostrado na figura 21.

O controlador foi simulado usando o pacote de software Matlab, implemantado e

testado em um computador industrial com barramento padrão VME utilizando

ferramentas de desenvolvimento em software de tempo real, sistemas I/O para aquisição

e amplificação de sinais experimentalmente. Foram utilizados ainda servomotores DC

no acionamento, sensores de posição para realimentação.

31

Figura 21: O modelo KANGÛERA, com o dedo indicador sendo evidenciado

Diversos controladores foram estudados, buscando-se um que melhor se adaptasse

às características da mão.

O primeiro objeto de estudo foram os métodos de cinemática direta e inversa para

manipuladores robóticos, depois a modelagem de sistemas robóticos e controle clássico.

Também foram necessários estudos sobre modelagem de incertezas em modelos e

análise de robustez, controladores MIMO como o LQG e o H∞ e os controladores H∞

não linear via representação quase-LPV. (CRAIG, 2000) (CRUZ, 2002) (FRANKLIN et

al.,1995) (SKOGESTAD;POSTLETHWAITE, 1995) ( ZHOU,2001)

(SIQUEIRA,2004).

.

32

3.1.9 Projeto dos Controladores

Para o desenvolvimento dos controladores, buscou-se simplificar ao máximo o

modelo da mão, diminuindo assim a ordem do controlador. Foi desenvolvido um

controlador robusto para um grau de liberdade.

Para a simplificação dos modelos, determina-se a faixa de operação do modelo.

Através desta faixa, são realizados estudos de resposta em freqüência (gráfico de bode)

com as mais diversas simplificações.

Para desenvolvimento do controle LQG em Matlab, utilizou-se um sistema SISO

representado por uma junta de um dedo.

Após o caso SISO do LQG, desenvolveu-se o controle LQG para o caso MIMO, ou

seja, para toda a mão. No caso MIMO, a ferramenta utilizada para a análise do sistema

foi o diagrama de bode dos valores singulares.

O próximo controlador desenvolvido foi o H∞. Seguiu-se a mesma metodologia do

controlador LQG, realizando-se primeiramente o controlador para o caso SISO e após

para o caso MIMO. Entretanto, necessitou-se estudar e modelar todas as incertezas do

sistema, tanto SISO como MIMO, antes de se desenvolver o controlador.

A resposta do sistema SISO H∞ foi melhor que a do sistema SISO LQG. Já no caso

MIMO H∞, a resposta foi muito similar ao MIMO LQG.

Para poder utilizar estes controladores no Real Time Workshop foi necessário

discretizar os controladores.

Para se testar os controladores, foram simuladas entradas com e sem ruído, como se

comandos estivessem sendo enviados para os motores da mão. O sistema simulado,

tanto para o caso SISO, tanto para o caso MIMO, apresentou uma resposta satisfatória,

seguindo o sinal de entrada e, rejeitando os ruídos introduzidos.

33

O Real Time Workshop foi utilizado para testar o sistema em uma plataforma real a

fim de controlar um motor, simulando assim o controle de uma junta. A figura 22

mostra a bancada de testes.

Figura 22: Bancada Experimental para testes dos Sistemas SISO

Para realização dos testes finais com o controlador H∞ modificou-se a planta para

um robô IBM SCARA modelo 7545 presente no laboratório. Realizou-se toda a

modelagem do robô, tanto da cinemática, quanto da dinâmica do sistema. O controlador

utilizado neste sistema foi o controle H∞ não linear via representação quase-LPV. Por

fim, foi implementado o controlador no Real Time Workshop controlando-se o robô

com esta ferramenta.

34

3.2 Olho Local.

A metodologia adotada pelo grupo de pesquisadores que buscam o

reconhecimento dos gestos, até esta fase do projeto foi a de determinar a melhor

abordagem ao problema de rastreamento da mão através de imagens de vídeo. A

experiência anterior (RIBEIRO; GONZAGA, 2006) (SILVA; GONZAGA, 2007)

(PEREIRA et al., 2007) demonstrou que o uso de GMM (Gaussian Mixture Model) para

a segmentação de objetos em seqüências de vídeo é aplicável ao problema no que se

refere ao tempo de processamento. No entanto, alguns problemas detectados nesta

abordagem como, por exemplo, a necessidade de existência do movimento sob pena de

não segmentação, a influência da iluminação e a necessidade de aplicação de um estágio

de rastreamento, fez com que os estudos se encaminhassem na busca de métodos mais

modernos e mais eficientes.

Os trabalhos em rastreamento de mão através de visão computacional podem ser

divididos em duas linhas de pesquisa, “model-based” e “appearance-based”. As

abordagens “model-based” utilizam um modelo tridimensional articulado da mão

humana para o rastreamento. O modelo é projetado na imagem e uma função erro é

computada, avaliando-se a qualidade de cada casamento. Os parâmetros do modelo,

então, são adaptados para que esse erro de casamento seja minimizado. Costuma-se

assumir que a configuração no frame anterior é conhecida e apenas uma pequena

atualização nos parâmetros é necessária. Portanto, a inicialização do modelo tem sido

um grande obstáculo, já que não existe um frame anterior. Na maioria dos casos o

modelo é alinhado manualmente no primeiro frame.

Na abordagem “appearance-based”, o problema é formulado como um problema de

classificação. Um conjunto de características da mão é rotulado com uma determinada

pose de mão e um classificador é treinado a partir desse conjunto de mãos rotuladas.

35

Essas técnicas têm sido empregadas em tarefas de reconhecimento de gestos, onde o

número de poses aprendidas tem sido relativamente limitado.

Recentemente, o limite entre essas duas abordagens tem se tornado obscuro. Em

muitos artigos (ROSALES et al.,2001) (SHIMADA et al,2001) (ATHITSOS;

SCLAROFF, 2001) (ATHITSOS; SCLAROFF, 2002) (ATHITSOS; SCLAROFF,

2003), os modelos 3D foram usados para gerar um conjunto discreto de aparências 2D,

as quais são casadas com as imagens. Essas aparências são usadas para gerar uma

quantidade arbitrária de dados de treinamento. Uma correspondência entre o vetor de

poses 3D e as aparências 2D é dada automaticamente pela projeção do modelo. O

mapeamento inverso pode ser encontrado simplesmente através do reconhecimento

“appearance-model”, isto é, a pose estimada é dada pela aparência 2D com o “melhor

casamento”. Esses métodos têm potencial para resolver muitos dos problemas inerentes

ao rastreamento baseado em modelo.

3.2.1 Rastreamento de mão “model-based”

Um sistema de rastreamento baseado em modelo geralmente é constituído de

uma quantidade de componentes descritos na figura 23. O modelo geométrico da mão é,

geralmente, construído manualmente, mas também pode ser obtido através de métodos

de reconstrução. Modelos que têm sido usados para rastreamento são baseados em

porções planares (WU et al., 2001) (ZHOU; HUANG, 2003), malhas de polígonos

deformáveis (HEAP; HOGG, 1996) ou cilindros generalizados (REHG; KANADE,

1994a) (REHG; KANADE, 1994b). Em muitos trabalhos os parâmetros da forma da

mão são estimados juntamente com os parâmetros de movimento, adaptando o modelo

da mão a cada usuário (SHIMADA; SHIRAI, 1996). A estrutura cinemática

fundamental é baseada na biomecânica da mão. No entanto, o projeto anatômico coloca

36

certas restrições no movimento da mão. Essas restrições têm sido exploradas de

maneiras diferentes para reduzir o espaço de busca. Algumas restrições são os limites

dos ângulos das juntas. Os ângulos das juntas de um mesmo dedo, bem como de

diferentes dedos não são totalmente independentes.

Em cada frame da seqüência de imagens, é executada uma busca no espaço de

estados para encontrar valores de parâmetros que minimizem o erro de casamento. Tal

erro pode ser considerado como uma medida de similaridade entre grupos de feições do

modelo e grupos de feições extraídos das imagens de entrada. A busca é inicializada no

primeiro frame, e como uma previsão não está disponível, um procedimento de

inicialização separado é necessário. Na fase de busca, a operação básica é o cálculo do

erro de casamento entre as feições extraídas das imagens de entrada e as feições geradas

pelo modelo. Se múltiplas câmeras forem usadas, o erro de casamento em todas as

câmeras poderá ser combinado sem resolver qualquer problema de correspondência

entre as imagens (GAVRILA; DAVIS, 1996). Uma abordagem menos comum é o uso

de feições 3D que podem ser obtidas usando sistemas de múltiplas câmeras ou sensores

de profundidade.

Os módulos principais do sistema mostrado na figura 23 são: inicialização, previsão,

extração de feições e busca. Os dois primeiros módulos não são totalmente tratados na

literatura.

Muitos sistemas resolvem o problema da inicialização de forma manual ou

assumindo uma configuração inicial conhecida (mão aberta sem qualquer oclusão). Tal

inicialização tem algumas conseqüências indesejáveis, por exemplo, quando o alvo é

perdido o usuário é solicitado a colocar sua mão novamente na configuração inicial.

37

Frame k

Extração de Feições

Cálculo do Erro

Busca

Cálculo das feições do Modelo

Frame 0

Inicialização

Previsão

Feições doModelo

Estado Atualizado

Pose Prevista

Melhor Estado

Feições Observadas

Estimação da Pose

Figura 23: Componentes do rastreamento de mão baseado em modelo 3D.

O esquema da figura 23 tem sido estudado intensivamente no contexto de

rastreamento do corpo humano. Dois tipos de sistemas surgiram. O primeiro é baseado

em busca local e mantém o rastro, apenas, da melhor estimação de cada frame. Este tipo

de sistema tem sido chamado de rastreamento de única hipótese. Porém, não funciona

bem em seqüências longas, devido a algumas imperfeições na função erro. Falhas no

rastreamento resultam de falso mínimo local, singularidades e descontinuidades

originadas a partir de fundos complexos9, auto-oclusões e dinâmica de movimento

complexa (DEUTSCHER et al., 1999) (HEAP; HOGG, 1998).

O segundo tipo, conhecido por rastreamento de múltiplas hipóteses, tem a

capacidade de tratar todas essas imperfeições. A idéia básica é manter múltiplas

estimações de pose para cada frame. Se a melhor estimação falhar, o sistema poderá

continuar em seu rastreamento utilizando outras estimações. Esta idéia é capturada de

9 Entende-se por fundos complexos, a parte da cena que fica por trás do objeto de interesse e está composta por vários outros objetos de diferentes formas e cores.

38

melhor forma através de filtragem Bayesiana, a qual usa as observações disponíveis

para computar a função de densidade de probabilidade posterior das configurações da

mão.

Os pioneiros a usar o rastreamento de mão articulada 3D foram Regh e Kanade

(REHG; KANADE, 1994a) (REHG; KANADE, 1994b) (REHG; KANADE, 1995) com

seu sistema de rastreamento DigitEyes. O rastreamento foi realizado através da

minimização de uma função custo usada para medir o quanto o modelo estava alinhado

com a imagem.

Delamarre e Faugeras (1998) adotaram uma abordagem baseada em imagens em

estéreo para rastrear a mão. Um algoritmo de correlação foi usado para estimar um

mapa denso de profundidades. Em cada frame um modelo 3D foi ajustado a este mapa

de profundidades usando o algoritmo “iterative closest points” (ICP). A informação de

profundidade ajudou a segmentar a mão de um fundo complexo. No entanto, os mapas

de disparidade obtidos com o algoritmo de correlação não foram muito precisos, visto

que nas mãos não existem feições marcantes (por exemplo, textura e vértices).

Wu e Huang (1999) usaram técnicas diferentes para reduzir a dimensionalidade do

espaço de busca. Primeiro, as restrições no movimento dos dedos foram impostas, como

a dependência linear dos ângulos das juntas dos dedos. Segundo, o espaço de estados foi

particionado em parâmetros de pose global e parâmetros de movimento dos dedos (pose

local). Esses conjuntos de parâmetros foram estimados em um algoritmo iterativo de

dois passos. A limitação deste método reside na necessidade dos dedos estarem visíveis

em cada frame.

Numa outra abordagem, Wu, Lin e Huang (2001) (LIN et al.,2002) obtiveram as

correlações dos ângulos das juntas através de uma “data-glove”. Foi observado que as

articulações da mão são altamente restritas e que poucas componentes principais podem

39

capturar a maioria dos movimentos. A partir dos dados de treinamento o espaço de

estados foi reduzido de 20 para 7 dimensões, perdendo, apenas, cinco por cento da

informação. O movimento dos dedos foi descrito através da união de segmentos de retas

nesse espaço de dimensões reduzidas. Esta estrutura foi utilizada para gerar uma

distribuição no esquema de um filtro de partículas.

Shimada e Shirai (1996) (SHIMADA et al., 1995) (SHIMADA et al., 1998)

usaram uma abordagem baseada em silhueta10 para rastrear entradas originadas por uma

única câmera. As posições das ‘formas parecidas com dedos’ foram extraídas das

silhuetas e casadas com as projeções do modelo 3D. Um conjunto de possíveis vetores

de pose foi mantido e cada um destes foi atualizado com um filtro de Kalman estendido.

A partir daí, um caminho ótimo foi encontrado para toda a seqüência de imagens. A

dificuldade neste método está em identificar as ‘formas parecidas com dedos’ durante o

movimento irrestrito da mão, principalmente no caso de auto-oclusões.

3.2.2 Reconhecimento de gestos “appearance-based”

Os métodos baseados em aparência têm sido usados, tradicionalmente, para

reconhecer gestos. Costuma-se colocá-los como um problema de reconhecimento de

padrões, que pode ser particionado em componentes como os da figura 24. Esses

métodos, em geral, são descritos como métodos “bottom-up”, pois características de

baixo nível são usadas para inferir informações de alto nível. Os principais problemas

que precisam ser resolvidos são: a segmentação da mão em um fundo qualquer e quais

características devem ser extraídas da região segmentada. A classificação, em sua

maioria, é feita usando-se classificador de vizinho mais próximo ou outros métodos de

10 Silhueta, neste contexto pode ser considerada como imagem binária (preto e branco).

40

classificação. Geralmente, o classificador é treinado a partir de um conjunto de

exemplos e associa a imagem de entrada a uma possível categoria.

Imagem de Entrada

Segmentação

Extração de Feições

Classificação

Figura 24: Componentes de um sistema baseado em aparência.

3.2.3 Estimação de Pose de mão “single-view”.

Esta é a abordagem mais moderna entre as três. Estima-se a pose de mão a partir

de uma única observação (single view). Um modelo de mão tridimensional é usado para

gerar aparências 2D, as quais são casadas com a imagem. O mapeamento entre a pose

3D e a aparência 2D é dado diretamente pela projeção do modelo sobre a imagem, como

mostra a figura 25. Shimada e outros (2001) apresentam um sistema baseado em

silhuetas para estimar a pose da mão a partir de uma única observação. Um descritor de

formas foi extraído e casado com uma quantidade de modelos pré-computados, os quais

foram gerados por um modelo 3D da mão. Um total de 125 poses, cada uma em 128

observações diferentes, foi armazenado, totalizando 16000 formas. Para evitar uma

busca exaustiva para cada frame, uma rede de transição foi construída entre os modelos

de forma. A cada passo, um conjunto de hipóteses é mantido e, apenas, a vizinhança de

cada uma é pesquisada. Um desempenho de tempo real foi obtido com um cluster de 6

41

PCs. Foi utilizada iluminação infravermelho com filtros (lentes) correspondentes a fim

de melhorar a segmentação baseada em cor.

Rosales e outros (2001) estimaram a pose 3D da mão a partir de silhuetas numa

única observação (single-view). A silhueta foi obtida através de segmentação de cor e

momentos de forma foram usados como características. A silhueta foi casada com um

grande número de modelos gerados pela projeção de um modelo 3D em 2400

configurações diferentes a partir de 86 pontos de observação (totalizando 206400

formas). O mapeamento, a partir do espaço de características, foi treinado com

silhuetas-exemplo geradas pelo modelo 3D.

Imagem de Entrada

Segmentação

Extração de Feições

Computação da Função Erro

Modelo 3D

Projeção do Modelo

Banco de Observações

Classificação/ Ranking

Figura 25: Componentes de um sistema de estimação de pose (single-view).

3.2.4 Detectores e Descritores de Feições Locais.

Recentemente uma nova abordagem vem ganhando força no cenário da visão

computacional, podendo ser usada em várias aplicações, tais como casamento de

imagens em estéreo, junção de imagens de uma mesma paisagem para criar imagens

42

panorâmicas, detecção de objetos em imagens estáticas e em vídeo e recuperação de

imagens em banco de dados de imagens. Esta abordagem pode utilizar uma ou mais

informações, tais como brilho, cor, gradiente de brilho, textura, curvatura, etc. relativas

à vizinhança de cada um dos vários pontos salientes extraídos de uma imagem. Isto é, a

abordagem é constituída por dois estágios. O primeiro faz a extração dos pontos

salientes e o segundo faz a descrição das propriedades da vizinhança de cada um dos

pontos. Têm-se, então, detectores e descritores de feições locais. Porém, para que esses

detectores/descritores possam ser usados da forma mais geral possível, as descrições

precisam agregar o máximo de informações sobre as diferentes variações e deformações

que a região descrita possa sofrer, ou seja, deseja-se que tais descrições sejam

invariantes (ou covariantes) a alterações na iluminação, na rotação, no tamanho (escala)

ou em qualquer outra propriedade geométrica ou de reflexão. Porém, ao se aumentar o

detalhamento ou a complexidade da descrição, mais tempo de processamento

computacional será exigido.

As saliências podem ser, por exemplo, regiões de alto brilho circundadas por uma

vizinhança de baixo brilho ou vice-versa (usualmente chamadas de “blobs”), ou regiões

com alta curvatura (que podem representar cantos) ou qualquer diferença entre níveis de

cinza ou de cor (representando fronteiras entre regiões, objetos ou sombras). Essas

características salientes embutidas na imagem precisam ser extraídas e para fazê-lo é

necessário, antes de qualquer coisa, saber se aquele tipo de característica (ou feição) irá

representar adequadamente o seu objeto de interesse e se ela continuará a existir caso

ocorram transformações na imagem (como rotação, escala, etc.).

Uma vez descoberto o tipo de feição adequada, o passo seguinte é realizar a sua

extração usando alguma operação matemática sensível ao tipo de feição. Por exemplo, o

operador Laplaciano pode ser considerado como uma generalização da derivada

43

segunda em duas ou mais dimensões, por isso é apropriado para detectar se um

determinado ponto da função possui valor menor, maior ou igual à média dos valores de

sua vizinhança. Com essa idéia é possível detectar máximos e mínimos locais, que

numa imagem representariam os centros de “blobs”.

Devido a esses extratores de saliências não serem perfeitos e por serem sensíveis a

ruídos é comum que ocorra uma fase de refinamento subseqüente para garantir que

apenas os pontos salientes sejam utilizados.

A partir deste ponto inicia-se o processo de descrição, a análise das propriedades da

imagem ao redor dos pontos salientes detectados. Essas propriedades são diversas e

podem ser associadas para assegurar uma descrição mais discriminante e mais fiel. Um

dos descritores mais usados atualmente, o SIFT (Scale Invariant Feature Transform)

(LOWE, 2004) descreve a região com um histograma das orientações dos gradientes

dessa região.

Uma forma de promover a qualidade de invariante à escala a uma feição é descrevê-

la em diferentes tamanhos. O método espaço-escala é uma forma de “simular” a redução

do tamanho dos “objetos” na imagem através de um processo semelhante à difusão do

calor. A difusão pode ser feita com base em núcleos Gaussianos que “colocam” a

imagem em diferentes escalas, como se a imagem fosse observada a diferentes

distâncias.

A tendência atual do uso de feições locais (TUYTELAARS; MIKOLAJCZYK,

2006) é a representação do conteúdo da imagem de forma robusta e flexível com o

objetivo final de compreender a imagem. Feições locais invariantes é um novo

paradigma, não apenas um método para selecionar posições interessantes na imagem ou

para acelerar a análise, mas para uma nova representação da imagem que permite

descrever objetos ou suas partes sem a necessidade de segmentação. Até os objetos

44

semi-oclusos podem ser detectados. Devido a grande quantidade de pontos descritos na

imagem, existe uma grande probabilidade de um objeto ser descrito por vários

descritores de região, permitindo que o objeto seja encontrado mesmo que parte de seu

corpo esteja oculto atrás de um outro objeto.

3.2.5 “Scale Invariant Feature Transform” (SIFT).

Embora existam vários outros descritores de feições locais (TANG, 2007)

(SCHMID et al., 2000) (SEBE; LEW, 2003) (ZULIANI et al., 2004)

(MIKOLAJCZYK; SCHMID, 2004) (MIKOLAJCZYK; SCHMID, 2005)

(MIKOLAJCZYK et al., 2005) [44-51], escolheu-se o SIFT como o ponto de partida

para a busca de um esquema adequado de detecção e rastreamento da mão, neste

trabalho.

O SIFT tem sua origem na necessidade de lidar com o reconhecimento de objetos

em cenas reais repletas com objetos de todos os tipos onde o perigo de oclusões é

grande e na “recente” pesquisa sobre o uso de “dense local features”. O SIFT

transforma essas cenas reais em um conjunto denso de vetores de feições locais

(descritores). Cada um desses vetores é invariante à translação, rotação e escala e

parcialmente invariante à iluminação e a projeções 3D ou afim. Essas feições são

eficientemente identificadas usando um processo de filtragem em estágios. O primeiro

estágio identifica as posições chave no espaço-escala através da busca por posições de

máximo ou mínimo de uma função diferença de Gaussianas (DoG), a qual é uma

aproximação do Laplaciano da Gaussiana (LoG). Cada ponto detectado é usado para

gerar um vetor de feições que descreve uma região local da imagem amostrada em

relação aos eixos de coordenadas espaço-escala, isto é, os pontos têm uma localização

tanto nas coordenadas espaciais (x,y) quanto no eixo das escalas (σ) e o vetor de

45

características descreve a vizinhança em torno desses pontos em relação a cada escala

utilizada do espaço-escala. Com essa descrição em várias escalas obtém-se a invariância

à escala.

A invariância parcial a variações locais, como projeções afim ou 3D é obtida através

da borradura das posições do gradiente da imagem (baseado no comportamento das

células complexas do córtex visual dos mamíferos). Permite-se que a posição da

característica varie em uma pequena região enquanto a orientação e a freqüência

espacial são mantidas.

Cada posição chave recebe uma orientação canônica de tal forma que os descritores

se tornam invariantes à rotação. Para que a descrição seja o mais estável possível em

relação à variação de iluminação ou de contraste, a orientação é determinada por picos

em histogramas das orientações dos gradientes locais.

Pode-se resumir o SIFT nos seguintes passos:

1. Detecção de extremos no espaço-escala: uma busca realizada em todas as

escalas e posições da imagem implementada de forma eficiente usando-se

diferenças de Gaussianas para identificar os extremos, os quais são prováveis

pontos de interesse invariantes à escala e orientação.

2. Localização dos pontos chave: um modelo detalhado é ajustado a cada posição

de um extremo para determinar sua localização e escala. Dependendo da

estabilidade deste extremo, o mesmo poderá ser considerado um ponto chave

(“keypoint”).

3. Associação de orientação: uma ou mais orientações são associadas a cada

localização de ponto chave baseadas nas direções dos gradientes locais. Todas as

operações futuras serão realizadas sobre os dados da imagem transformados em

46

relação à orientação, escala e posição associadas para cada característica

(feição), fornecendo desta forma a invariância a essas transformações.

4. Descritor de ponto chave: os gradientes locais são medidos na escala selecionada

em torno de cada ponto chave. Estes são transformados em uma representação

que permite distorções significantes da forma local e variações na iluminação.

Métodos promissores como o SIFT (Scale Invariant Feature Transform), proposto

por Lowe (2004), e o SURF (Speeded Up Robust Features), proposto por Bay et al.

(2006), não se propõem apenas em detectar pontos de interesse, mas também em

criar e utilizar uma abordagem baseada em descritores de regiões invariantes.

Os trabalhos de Bauer et al. (2007) e Ballesta et al. (2007) basearam-se na

avaliação do desempenho de alguns dos principais métodos de detecção e descrição de

regiões salientes, comparando a proposta da implementação original do SIFT, SIFT++,

LTI-Lib SIFT, Harris, SUSAN (Smallest Univalue Segment Assimilating Nucleus),

SURF e o SURF-d. No trabalho de Bauer et al. (2007) os algoritmos foram submetidos

a um conjunto de testes com o objetivo de avaliar suas invariâncias em relação a

rotação, mudança de escala, ruído, mudança das condições de iluminação e mudança de

perspectiva. Ballesta et al. (2007) avaliou a compatibilidade dos detectores quando

usados como extratores de pontos de referência em sistemas de visão baseados

simultaneamente em localização e mapeamento, também conhecidos como visual

SLAM. Esta análise foi realizada com base na repetibilidade dos pontos em relação às

mudanças de perspectiva de visualização e escala no espaço 2D e 3D.

O gráfico ilustrado na figura 26 representa o desempenho das diferentes

implementações dos algoritmos descritos na legenda do gráfico, relacionando o número

de classificações corretas e a variação do nível de iluminação dos objetos presentes nas

47

imagens. O nível 0 representa imagens mais escuras, onde dificilmente qualquer ponto

chave será encontrado, exceto pelo SIFT++. Neste experimento, as mudanças de

iluminação não foram geradas artificialmente, mas sim através da aquisição das imagens

obtidas com iluminação natural em certos intervalos de tempo, variando-se a iluminação

do ambiente de acordo com o por do sol.

Figura 26: Resultados do teste de invariância em relação à alteração das condições de iluminação.

Fonte: (BAUER et al., 2007)

48

4. Resultados.

4.1 Mão Distante.

O resultado do controle LQG utilizando-se um sistema SISO representado por

uma junta de um dedo em malha fechada está demonstrado na figura 27.

Figura 27: Diagrama de Bode do LQG SISO

Este controlador atinge parcialmente as especificações definidas previamente para

este sistema. No caso MIMO, a ferramenta utilizada para a análise do sistema foi o

diagrama de bode dos valores singulares. A resposta do sistema de controle LQG para o

caso MIMO, ou seja, para toda a mão está na figura 28.

Figura 28: Digrama de Bode dos valores singulares LQG MIMO.

49

Para este controlador MIMO, pode-se observar que o sistema atingiu as

especificações pré-definidas.

Diversas entradas foram testadas, simulando entradas para movimentação das

juntas da mão. Ruídos foram introduzidos no sistema, para simular possíveis falhas na

comunicação dos sensores e outras interferências. A resposta do sistema é mostrada nas

figuras 29 e 30.

Figura 29: Resposta Teste H∞ com ruído: referência (amarelo), simulado (verde) e real (roxo)

Figura 30: Resposta Teste H∞ com ruído: referência (amarelo), simulado (verde) e real

(roxo)

50

4.2 Olho Local.

4.2.1 Resultados com a aplicação do método SIFT.

Com o objetivo de se avaliar o método SIFT para o rastreamento da mão em

“frames” de vídeo para aplicação neste trabalho, foram realizados experimentos que

permitissem uma avaliação de sua robustez e aplicabilidade.

O objetivo é avaliar o quão invariante o método SIFT é em relação a alteração

das condições de iluminação do ambiente onde as imagens são adquiridas. Para isto, foi

utilizado o banco de imagens ALOI (Amsterdam Library of Object Images), que

apresenta um conjunto de imagens de 1.000 objetos obtidos em diferentes

circunstâncias, totalizando 110.250 imagens geradas para diferentes fins

(GEUSEBROEK et al., 2005).

Img. lamp. 1 Img. lamp. 2 Img. lamp. 3 Img. lamp. 4

Img. lamp. 5 Img. lamp. 6 Img. lamp. 7 Img. lamp. 8

Img. lamp. 9 Img. lamp. 10 Img. lamp. 11 Img. lamp. 12

Figura 31: Imagens utilizadas neste experimento para avaliar a robustez do método SIFT em relação às mudanças de iluminação.

51

Para analisar a influência do brilho e a característica do método SIFT em

imagens de objetos que apresentam bordas não lineares, foram escolhidas as imagens de

uma lâmpada, obtidas em diferentes níveis de intensidade de iluminação, conforme

ilustrado na figura 31. As características inerentes a variação das condições de

iluminação são descritas por Geusebroek et al. (2005). Este experimento baseou-se na

comparação entre a imagem 1 e as demais imagens, sendo a imagem 1 obtida com um

maior nível de iluminação e as demais com o nível de iluminação reduzido

gradativamente.

Analisando-se as correspondências dos pontos chaves, obtidos pelo método

SIFT ilustrados na figura 32, pode-se observar que, aparentemente, ocorrem poucos

erros de classificação, mesmo na comparação envolvendo a imagem da lâmpada mais

iluminada e a imagem da lâmpada menos iluminada, figura 33(l). Entretanto, através da

realização de uma análise quantitativa dessas comparações, cujos dados são descritos na

tabela 1, observa-se que a quantidade de classificações incorretas é relativamente grande

se for considerado o fator precisão.

Tabela 1 – Resultados das classificações das imagens ilustradas na figura 32.

52

(a) Img lamp. 1 com Img. lamp. 1 (b) Img lamp. 1 com Img. lamp. 2

(c) Img lamp. 1 com Img. lamp. 3 (d) Img lamp. 1 com Img. lamp. 4

(e) Img lamp. 1 com Img. lamp. 5 (f) Img lamp. 1 com Img. lamp. 6

(g) Img lamp. 1 com Img. lamp. 7 (h) Img lamp. 1 com Img. lamp. 8

(i) Img lamp. 1 com Img. lamp. 9 (j) Img lamp. 1 com Img. lamp. 10

(k) Img lamp. 1 com Img. lamp. 11 (l) Img lamp. 1 com Img. lamp. 12

Figura 32: Comparação entre a imagem 1 e as demais imagens.

53

A tabela 1 descreve a quantidade de classificações corretas e incorretas em cada

comparação, relaxando o fator de precisão de ± 0 pixels (Precisão 100%) a ± 16 pixels

de vizinhança em relação à vertical e à horizontal. Observando-se a linha da tabela que

descreve o resultado da comparação entre a imagem 1 e a imagem 2 (1-2),

considerando-se 100% de precisão, é possível constatar que o método classifica

corretamente apenas 7 pontos chaves e incorretamente 76 pontos chaves. Em relação à

comparação entre a imagem 1 e a imagem 12 (1-12), considerando-se Precisão de ± 16

pixels, última linha e penúltima coluna da tabela, é possível constatar que o método

classifica corretamente apenas 38 pontos chaves e incorretamente 30 pontos chaves.

Classificações Corretas

0,010,020,030,040,050,060,070,080,090,0

100,0

Exato ± 1 ± 2 ± 3 ± 5 ± 7 ± 10 ± 16

Proximidade entre Pixels

% a

cert

o

1 - 11 - 21 - 3'1 - 41 - 51 - 61 - 71 - 81 - 91 - 101 - 111 - 12

Figura 33: – Comparação entre a imagem 1 e as demais imagens.

A figura 33 ilustra os percentuais de acerto das classificações obtidos através dos

dados descritos na tabela 1. A análise deste gráfico permite constatar que quanto mais

rígido for o fator de precisão, característica imprescindível de alguns sistemas baseados

em visão computacional, pior será o desempenho do algoritmo.

54

4.2.2 Análise da aplicabilidade do método SIFT no reconhecimento

de gestos

O objetivo deste experimento é avaliar a aplicabilidade do SIFT ao

reconhecimento de gestos. Para analisar a robustez do método em relação às imagens

adquiridas em ambientes não ideais, o experimento baseou-se na utilização de imagens

adquiridas com um fundo complexo em um ambiente sem as condições ideais de

iluminação.

Figura 34: Imagens de gestos das mãos

A figura 34 ilustra uma seqüência de imagens obtidas através de seqüência de

vídeo gerado por uma webcam de baixa resolução espacial (352x288), adquiridas de

55

acordo com um intervalo de tempo de aquisição aleatório, e realização de gestos e

movimentos também aleatórios.

Baseado em uma análise subjetiva da figura 35, pode-se observar que devido ao

fato do método SIFT ter identificado diversos pontos chaves nos dedos e nas mãos,

existe uma grande possibilidade da viabilidade da sua utilização na aplicação de

reconhecimento de gestos, mesmo em casos em que as imagens não são adquiridas em

condições controladas.

Figura 35: Imagens com vetores que representam graficamente a orientação dos pontos chaves localizados em cada imagem através do SIFT.

Para verificar a robustez do método em relação localização de pontos chaves nas

imagens subseqüentes foi realizado um experimento para avaliar a correspondência

56

desses pontos em cada uma das imagens, comparando-se as imagens do frame atual com

as imagens do frame anterior.

Figura 36: Ilustração de correspondências entre as imagens adquiridas.

57

A figura 36 demonstra a correspondência dos pontos chaves ilustrados na figura

35 em relação à comparação das imagens do “frame” atual (n) com as imagens do

“frame” anterior (n-1). Através dessas imagens pode-se observar que quando a diferença

do movimento do frame atual em relação ao frame anterior não é tão grande, o

algoritmo permite o mapeamento de boa parte dos pontos chaves presentes em ambas as

imagens. Portanto, quanto maior a quantidade de “frames” adquiridos por segundo,

maior será a quantidade de correspondência de pontos chaves localizados. Também se

pode constatar que, em casos em que o fundo se faz presente nas imagens, será

necessário a utilização de alguma outra metodologia que permita a realização do

processo de subtração do fundo ou uma abordagem que permita desconsiderar os pontos

chaves que não apresentam movimento inter-frame.

No entanto, gestos que ocasionam deformação no objeto, como o movimento de

um ou mais dedos fechando sobre a palma, reduzem sensivelmente o número de

casamento de pontos chaves, em alguns casos, nenhum ponto chave recuperado pelo

SIFT, foi localizado entre dois “frames” consecutivos.

58

5. Conclusões.

Relativamente à Mão-Distante, o presente trabalho mostrou uma solução

diferenciada para o acionamento da mão robótica artificial. O sistema apresentou um

bom desempenho no posicionamento das juntas, além de prover um desacoplamento das

equações cinemáticas da mão.

A folga do sistema foi diminuída consideravelmente, eliminando a necessidade de

molas no acionamento. A tensão, apesar de variar com a movimentação, apresenta

valores baixos, tornando mais confiável o sistema, pois valores baixos de tensão

conservam melhor a integridade dos cabos de acionamento.

O posicionamento da mão robótica, apesar dos erros observados, apresentou um

resultado satisfatório, pois é um grande avanço se comparado ao sistema com molas,

que para apresentar resultados parecidos, precisam ter as molas calibradas corretamente

e, mesmo assim apresentam problemas durante a volta da mão a sua posição inicial

(histerese da mola).

Conclui-se que este sistema é uma boa escolha de acionamento para uma mão

robótica artificial, podendo ser implementado em diversas garras.

A utilização dos controladores robustos é uma boa alternativa para sistemas

robóticos, em que a incerteza e os distúrbios sobre os modelos são de grande influência,

entretanto deve-se estudar melhor a planta para a aplicação.

Os estudos referentes à metodologia SIFT para o rastreamento da imagem da

mão nas seqüências de vídeo demonstrou que apesar desta metodologia estar sendo

amplamente estudada atualmente e com aplicações significativas na área de detecção de

objetos independentes de transformações na escala, rotação e translação, o mesmo é

59

sensível a variações de iluminação e como os pontos chaves (“key features”) detectados

pelo método não priorizam obrigatoriamente pontos de bordas e de curvatura de bordas,

sua aplicação em gestos de mão parece não ser a mais apropriada.

Nossos estudos vêm corroborar com um artigo recentemente publicado por

Wang e Wang (2008) que afirmam o mesmo que nossas conclusões. De acordo com os

autores, o problema parece estar no estágio de reconhecimento e “matching” usado por

Lowe (2004) e não na detecção dos “key features”.

Na figura 37 tem-se a quantidade de pontos chaves detectados e na figura 38 a

quantidade de pontos chaves casados.

Figura 37: de (a) até (e) são detectadas 67, 57, 63, 70 e 85 “key features” respectivamente.(WANG;WANG,2008)

Figura 38: Casamento de pontos chaves com o SIFT. A maioria dos pares de imagens apresentam menos de 5 “key points” casados. .(WANG;WANG,2008)

60

Em vista disso, nossos estudos agora convergem para a proposta de uma nova

metodologia que busque solucionar o problema e permita sua implementação em tempo

real. Uma proposta interessante e que não foi ainda aplicada ao problema de

rastreamento da mão para o reconhecimento de gestos, mantém a abordagem de espaço-

escala e favorece os pontos de bordas e de curvaturas, é a utilizada por Barcelos et al

(2003) que aplica Equações Diferenciais Parciais na geração do espaço-escala. Um dos

autores, o Prof. Maurilio Boaventura da UNESP de Rio Preto, interessou-se por nosso

trabalho e está colaborando com o grupo de pesquisa. Esperamos que esta nova solução

possa ser uma grande contribuição nesta área específica de reconhecimento de gestos

em seqüências de vídeo e possa ser eficientemente aplicada na segunda fase deste

projeto de pesquisa.

6. Observações Adicionais

Do andamento observado até o momento do projeto induz a acreditarmos que as

propostas iniciais serão cumpridas por completo. Desafio principal deste segundo ano

representa a integração das atividades desenvolvidas em separado pelos dois grupos.

Cabe ressaltar que o computador industrial solicitado para efetuar o acionamento da

mão ainda não teve a sua importação concluída devido às exigências impostas pelo setor

de importação da FAPESP. Assim todo o acionamento da mão é feito até o momento

em um ambiente distinto do proposto originalmente, no caso um PC convencional.

Além disso, também os motores de acionamento dos movimentos da mão tiveram

sensível atraso na importação, somente tendo chegado quase no final desta primeira fase

do projeto.

61

7. Próximas Etapas do Projeto.

i) Definição, implementação e teste do protocolo de comunicação na rede

Kyatera. Esta atividade está sendo desenvolvida por dois alunos de Iniciação

Científica e deverá gerar o mecanismo de interface entre a Mão-Distante e o

Olho-Local. O protocolo deverá providenciar no cliente (olho-local), meios

para que os dados extraídos das imagens dos gestos possam ser transportados

através da rede e no servidor (mão-distante) deverá providenciar a passagem

de parâmetros de controle dos motores que movimentam os dedos.

ii) Término de montagem e testes da mão mecatrônica.

iii) Implementação do rastreamento e extração de características dos gestos

realizados por uma mão humana e passagem dos parâmetros para a interface

de rede que realizará a comunicação com os controladores dos motores da

mão.

iv) Ampliação do “site” do projeto que permita a colaboração de futuros

trabalhos e pesquisadores do WebLab em desenvolvimento.

O “site” pode ser acessado no endereço http://iris.sel.eesc.usp.br/weblab

62

Referências Bibliográficas. ATHITSOS, V.; SCLAROFF, S. 3D hand pose estimation by finding appearance-based matches in a large database of training views. In IEEE Workshop on Cues in Communication, 100.106, December 2001. ATHITSOS, V.; SCLAROFF, S. An appearance-based framework for 3D hand shape classification and camera viewpoint estimation. In IEEE Conference on Face and Gesture Recognition, 45.50, Washington DC, May 2002. ATHITSOS, V.; SCLAROFF, S. Estimating 3D hand pose from a cluttered image. In Proc. Conf. Computer Vision and Pattern Recognition, volume II, 432.439, Madison, WI, June 2003. BALLESTA, M.; GIL, A.; REINOSO, O.; MOZOS, O. M. Evaluation of interest point detectors for visual SLAM, International Journal of Factory Automation, Robotics and Soft Computing, vol. 4, pp. 86-95, 2007.

BAUER, J.; S¨UNDERHAUF, N.; PROTZEL, P. Comparing Several Implementations of Two Recently Published Feature Detectors. In Proc. of the International Conference on Intelligent and Autonomous Systems, IAV, Toulouse, France, 2007.

BARCELOS, C.A.Z.; BOAVENTURA, M.; SILVA, E.C., JR.; A well-balanced flow equation for noise removal and edge detection, IEEE Transactions on Image Processing, Volume 12, Issue 7, July 2003 Page(s):751 – 763.

BILLINGHURST, M. Put that where? Voice and gesture at the graphics interface, SIGGRAPH Computer Graphics 32 (4) (1998) 60–63. BUCHMANN,V.; VIOLICH, S.; BILLINGHURST,M.; COCKBURN,A. FingARtips: Gesture based direct manipulation in augmented reality, in: GRAPHITE ’04: 2nd International Conference on Computer Graphics and Interactive Techniques in Australasia and South East Asia, ACM Press, New York, NY, USA, 2004, pp. 212–221. CRAIG, J.J. Introduction to Robotics: Mechanics and Control,2000 CROWLEY,J.L.; COUTAZ,J.; B´ERARD,F. Perceptual user interfaces: Things that see, Communications of the ACM 43 (3) (2000) 54. CRUZ, J.J. Controlador Robusto Multivariável, 2002 DELAMARRE, Q.; FAUGERAS, O. D. Finding pose of hand in video images: a stereo based approach. In Proc. 3rd Int. Con. on Automatic Face and Gesture Recogntion, 585.590, Nara, Japan, April 1998. DEUTSCHER, J.; NORTH, B.; BASCLE, B.; BLAKE, A. Tracking through singularities and discontinuities by random sampling, in: Seventh IEEE International Conference on Computer Vision, 1999, pp. 1144–1149.

63

FRANKLIN, G.F.; POWELL, J.D.; EDMAMI-NAEINI. Feedback Control of Dynamic Systems, 1995 GAVRILA, D.M.; DAVIS, L.S. 3D Model-based tracking of humans in action: a multi-view approach, in: IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 1996, pp. 73–80. GEUSEBROEK, J.-M.; BURGHOUTS, G. J.; E SMEULDERS, A. W. M. International Journal of Computer Vision, Springer Science + Business Media, Inc. Manufactured in The Netherlands, 61(1), 103–112, 2005. HEAP, A.J.; HOGG, D.C. Towards 3-D hand tracking using a deformable model. In 2nd International Face and Gesture Recognition Conference, 140.145, Killington, VT, October 1996. HEAP, T.; HOGG, D. Wormholes in shape space: tracking through discontinuous changes in shape, in: Sixth IEEE International Conference on Computer Vision, Bombay , India, 1998, pp. 344–349. KATO, M.; CHEN, Y-W; XU, G. Articulated Hand Motion Tracking Using ICA-based Motion Analysis and Particle Filtering. Journal of Multimedia, vol. 1, no. 3, june 2006. KUCH,J.J.; HUANG,T.S. Human computer interaction via the human hand: A hand model, in: Twenty-Eighty Asilomar Conference on Signal, Systems, and Computers, 1994, pp. 1252– 1256. LEE, J.; KUNII, T. Constraint-based hand animation, in: Models and Techniques in Computer Animation, Springer, Tokyo, 1993, pp. 110–127. LENMAN, S.; BRETZNER,L.; THURESSON,B. Using marking menus to develop command sets for computer vision based hand gesture interfaces, in: NordiCHI’02: Second Nordic Conference on Human-Computer Interaction, ACM Press, New York, NY, USA, 2002, pp. 239–242. LIEN, C. A scalable model-based hand posture analysis system, Machine Vision and Applications 16 (3) (2005) 157–169. LIN, J.; WU, Y.; HUANG, T.S. Modeling the constraints of human hand motion, in: IEEE Human Motion Workshop, 2000, pp. 121–126. LIN, J.; WU, Y.; HUANG, T.S. Capturing human hand motion in image sequences. In Proc. of IEEE Workshop on Motion and Video Computing, 99.104, Orlando, FL, December 2002. LIU,A.; TENDICK,F.; CLEARY,K.; KAUFMANN,C.; A survey of surgical simulation: Applications, technology, and education, Presence: Teleoperators and Virtual Environments 12 (6) (2003) 599–614.

64

LOWE, D.G. Distinctive Image Features from Scale-Invariant Keypoints.Computer Science Department University of British Columbia Vancouver, B.C., Canada. [email protected]. January 5, 2004. http://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf. MIKOLAJCZYK, K.; SCHMID, C. Harris-Affine & Hessian Affine, Scale and Affine invariant interest point detectors. In IJC V 60(1):63-86, 2004. MIKOLAJCZYK, K.; SCHMID, C. A performance evaluation of local descriptors. In PAMI 27(10):1615-1630 2005. MIKOLAJCZYK,K.; TUYTELAARS,T.; SCHMID,C.; ZISSERMAN,A.; MATAS,J.; SCHAFFALITZKY,F.; KADIR,T.; VAN GOOL,L. A comparison of affine region detectors. In IJCV 65(1/2):43-72, 2005. MILLER A. T., "GraspIt!: A Versatile Simulator for Robotic Grasping", Ph.D. Thesis, Department of Computer Science, Columbia University, June 2001. NIELSEN, M.; ST¨ORRING,M; MOESLUND,T.B.; GRANUM,E. A procedure for developing intuitive and ergonomic gesture interfaces for HCI, in: 5th International Gesture Workshop, 2003, pp. 409–420 PAVLOVIC,V.I.; SHARMA,R.; HUANG,T.S. Visual interpretation of hand gestures for human-computer interaction: A review, IEEE Transactions on Pattern Analysis and Machine Intelligence 19 (7) (1997) 677–695. PEREIRA, L. A. L.; OLIVEIRA, M. S.; GONZAGA, A.; PIZOLATO JR., J. C.; GONÇALVES, C. Reconhecimento de tipos de movimento humano baseado no método GMM, Revista de Ciências Exatas e Tecnologia:2007, Valinhos, Vol II, no. 2, Novembro 2007, Anhanguera Publicações, ISSN 1980-1793, p.87-90. QUEK,F.; MCNEILL,D.; BRYLL,R.; DUNCAN,S.; MA,X.-F.; KIRBAS,C.; MCCULLOUGH,R.E.; ANSARI,R. Multimodal human discourse: gesture and speech, ACM Transactions on Computer-Human Interaction 9 (3) (2002) 171–193. REHG, J.; KANADE, T. Digiteyes: Vision-based hand tracking for human computer interaction, in: Workshop on Motion of Non-Rigid and Articulated Bodies, 1994a, pp.16–24. REHG, J.; KANADE, T. Visual tracking of high DOF articulated structures: an application to human hand tracking. In Proc. 3rd European Conf. on Computer Vision, volume II, 35.46, May 1994b. REHG, J.; KANADE, T. Model-based tracking of self-occluding articulated objects. In Proc. 5th Int. Conf. on Computer Vision, 612.617, Cambridge, MA, June 1995. RIBEIRO, H. L.; GONZAGA, A. Hand Image Segmentation in Video Sequence by GMM: a comparative analysis, In: PROCEEDINGS OF SIBGRAPI 2006, XIX BRAZILIAN

65

SYMPOSIUM ON COMPUTER GRAPHICS AND IMAGE PROCESSING, 8-11 October 2006, Manaus, AM, Brazil, ISBN: 0-7695-2686-1, p.357-364. ROSALES,R.; ATHITSOS,V.; SIGAL,L.; SCARLOFF,S. 3D hand pose reconstruction using specialized mappings. In Proc. 8th Int. Conf. on Computer Vision, volume I, 378.385, Vancouver, Canada, July 2001. SALISBURY J . K., Kinematics and Force Analysis of Articulated Hands, Ph.D. Thesis, Stanford University, Report No. STAN-CS-82-921, July 1982. SCHMID, C.; MOHR, R.; BAUCKHAGE, C. Evaluation of Interest Point Detectors. International Journal of Computer Vision 37(2), 151–172, 2000. SEBE, N.; LEW, M. S. Comparing salient point detectors. Pattern Recognition Letters 24 (2003) 89–96. SHIMADA, N.; KIMURA,K.; SHIRAI,Y. Hand gesture recognition using computer vision based on model-matching method. In 6th International Conference on Human-Computer Interaction, Yokohama, Japan, July 1995. SHIMADA, N.; KIMURA,K.; SHIRAI,Y. Real-time 3-D hand posture estimation based on 2-D appearance retrieval using monocular camera. In Proc. Int. Workshop on Recognition, Analysis and Tracking of Faces and Gestures in Real-time Systems, 23.30, Vancouver, Canada, July 2001. SHIMADA, N.; Y. SHIRAI, Y. 3-D hand pose estimation and shape model refinement from a monocular image sequence. In Proc. of Int. Conf. on Virtual Systems and Multimedia, 423.428, Gifu, Japan, September 1996. SHIMADA, N.; SHIRAI, Y.; KUNO, Y.; MIURA, J. Hand gesture estimation and model refinement using monocular camera. In Proc. 3rd Int. Conf. on Automatic Face and Gesture Recognition, 268 . 273, Nara, Japan, April 1998. SILVA, E. A. ; GONZAGA, A. Controle de Fluxo de Veículos através da Segmentação de Movimentos usando Modelo de Misturas de Gaussianas, In: CBR&C 2007 – 5O. CONGRESSO BRASILEIRO DE RODOVIAS E CONCESSÕES, 04-06 Outubro 2007, Campinas, SP, CD-ROM,Trabalho 13, 11p. SIQUEIRA, A.A.G. Controle H∞ não linear de Robôs Manipuladores Subatuado. Tese (Doutorado) – EESC, 2004 SKOGESTAD , S.; POSTLETHWAITE, I. Multivariable Feedback Control, 1990 ZHOU, K. Robust and Optimal Control, 2001 STENGER,B.; MENDONCA, P.R.S.; CIPOLLA,R. Model-based 3D tracking of an articulated hand, IEEE Computer Society Conference on Computer Vision and Pattern Recognition 02 (2001) 310. STURMAN,D.J. Whole hand input, Ph.D. thesis, MIT (February 1992).

66

TANG, K. T. Mathematical Methods for Engineers and Scientists 3: Fourier Analysis, Partial Differential Equations and Variational Methods. Pg302-304. Springer-Verlag Berlin Heidelberg 2007. TUYTELAARS, T.; MIKOLAJCZYK, K. A Survey on Local Invariant Features. [email protected]; [email protected]. Tutorial EECV May 2006. YANG, R.; ZHANG, Z. Model-based Head Pose Tracking with Stereovision. http://research.microsoft.com/˜zhang/ Octubre 2001.Technical Report. MSR-TR-2001-102. WANG, C-C; WANG, K-C. Hand Posture Recognition Using Adaboost with SIFT for Human Robot Interaction, S. Lee, I.H. Suh, and M.S. Kim (Eds.): Recent Progress in Robotics, LNCIS 370, Springer-Verlag Berlin Heidelberg 2008, pp. 317–329, 2008. WU, Y.; HUANG, T.S.. Capturing articulated human hand motion: A divide-and conquer approach. In Proc. 7th Int. Conf. on Computer Vision, volume I, 606-611, Corfu, Greece, September 1999. WU, Y; LIN,J.Y.; HUANG,T.S. Capturing natural hand articulation. In Proc. 8th Int. Conf. on Computer Vision, volume II, 426.432, Vancouver, Canada, July 2001. ZHOU, H.; HUANG, T.S. Tracking articulated hand motion with eigen-dynamics analysis. In Proc. 9th Int. Conf. on Computer Vision, volume II, 1102.1109, Nice, France, October 2003. ZULIANI, M.; KENNEY, C.; MANJUNATH, B. S.. A Mathematical Comparison of Point Detectors. Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPRW’04)1063-6919/04 IEEE.

67

ANEXOS

1) Entrevista do Prof. Glauco A. P. Caurin ao Jornal da USP, divulgando o

trabalho.

2) Página Principal do “site” do projeto. (http://iris.sel.eesc.usp.br/weblab)

3) Publicação de trabalho de IC no SIICUSP

4) Submissão de artigo para a Revista Multimedia Tools and Aplications ( O

trabalho está em reavaliação para re-submissão) Este trabalho havia sido

submetido anteriormente ao início deste projeto. Agora, com o apoio da

FAPESP, está sendo re-escrito conforme pareceres dos revisores e será re-

submetido.

68