Liste non exhaustive des services disponibles dans la plateforme WebLab :
RELATÓRIO 1 - iris.sel.eesc.usp.briris.sel.eesc.usp.br/weblab/faq/RELATORIO_1_r3.pdf · usa a...
-
Upload
vuongnguyet -
Category
Documents
-
view
214 -
download
0
Transcript of RELATÓRIO 1 - iris.sel.eesc.usp.briris.sel.eesc.usp.br/weblab/faq/RELATORIO_1_r3.pdf · usa a...
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