visão computacional e interface homem- máquina na animação...

86
Nelson Ferreira de Souza Junior Visão Computacional e Interface Homem- Máquina na Animação de Grupos de Humanos Virtuais São Leopoldo - RS 2008

Upload: vandien

Post on 19-Dec-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Nelson Ferreira de Souza Junior

Visão Computacional e Interface Homem-

Máquina na Animação de Grupos de

Humanos Virtuais

São Leopoldo - RS

2008

Page 2: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Livros Grátis

http://www.livrosgratis.com.br

Milhares de livros grátis para download.

Page 3: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Nelson Ferreira de Souza Junior

Visão Computacional e Interface Homem-

Máquina na Animação de Grupos de

Humanos Virtuais

Dissertação submetida a avaliação como requisito parcial para a obtenção do grau de Mestre em Computação Aplicada.

Orientador: Cláudio Rosito Jung

São Leopoldo - RS

2008

Page 4: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Dados Internacionais de Catalogação na Publicação (CIP)

(Bibliotecária Cristiane Dias

CRB 10/1029)

S729v Souza Júnior, Nelson Ferreira de Visão Computacional e Interface Homem-Máquina na Animação de Grupos

de Humanos Virtuais. / por Nelson Ferreira de Souza Júnior

São Leopoldo: PPICA da UNISINOS, 2008.

f. 95

Dissertação (Mestrado)

Universidade do Vale do Rio do Sinos. Ciência Exatas e Tecnológicas. Programa de Pós Graduação em Computação Aplicada, 2008. Orientação Prof. Dr. Cláudio Rosito Jung; Co-Orientação Prof. Dr. Fernando Santos Osório

1. Interação Homem-Máquina 2. Humanos Virtuais 3. Redes Neurais I. Título

CDU: 004.94

Page 5: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Agradecimentos

À minha amada e sempre presente esposa Aline, pelo incentivo e apoio

incondicional. Pela paciência, por suprir a falta, ocupando todas as lacunas

durante este tempo.

Aos meus amados filhos por serem o motivo desta jornada.

Aos professores Cláudio Rosito Jung (Orientador) e Soraia Raupp Musse, pelos

ensinamentos, dedicação e disposição de sempre. Por abrir as portas, acreditar

nesta conquista e principalmente pela compreensão nas horas difíceis.

Ao amigo Rogério pelo auxílio nos estudos quando as coisas se mostravam

nebulosas.

Em especial aos meus pais, Nelson e Ana Maria (in memorian), pelos

ensinamentos, incansáveis durante toda a vida.

Page 6: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Resumo

Este trabalho apresenta um modelo para a identificação de posturas de

mãos utilizando técnicas de Visão Computacional associadas a Redes Neurais,

sem que haja a necessidade de utilização de artefatos como luvas ou dedais.

Tem como intenção servir de interface na interação com aplicações de

simulação, em tempo real.

Neste modelo, as posturas das mãos são adquiridas através de imagens

capturadas a partir de uma câmera de topo. As mão são isoladas utilizando

técnicas de processamento de imagens, e vetores de feição são extraídos para

alimentarem RNAs

Rede Neurais Artificiais, que analisam as métricas e

classificam as posturas correspondentes dentro de um conjunto de posturas pré-

estabelecidas. Depois da etapa de classificação, as posturas identificadas são

enviadas a uma ferramenta de simulação de humanos virtuais onde pode ser

validada visualmente a interação com o usuário, que não faz uso de dispositivos

tradicionais como mouse e teclado. Tal ferramenta de simulação foi utilizada

por este modelo, para reproduzir, através das imagens processadas, os eventos

de interação do usuário com a interface.

Palavras-Chave: Visão Computacional, Interação Humano-

Computador (IHC), Posturas de mão, Redes Neurais, Humanos Virtuais.

Page 7: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Abstract

This paper presents a model for hand posture identification using

computing techniques associated to Artificial Neural Networks regardless of

the use of any extra markers such as gloves or thimbles. It aims at being an

interface for the interaction with other simulation applications in real time.

In this model, hand postures are acquired through images captured by a

top-down camera. The hands are isolated using image processing techniques

and feature vectors are extracted to serve as input to ANNs

Artificial Neural

Networks which analyze the metrics and classify the correspondent postures

inside a pre-established postures set. After classification step, the hand postures

identified are sent to a human virtual simulation tool where the interaction with

the user can be visually validated regardless the use of traditional devices such

as the mouse or keyboard. Such tool was used by this model in order to

reproduce through the processed images the interaction events between user

and interface.

Key words: Computing vision, human-computer interaction (HCI),

hand postures, neural networks, virtual humans.

Page 8: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Lista de Figuras

Figura 1: Data Glove expondo os dispositivos internos (ZIMMERMANN; LANIER;

BLANCHARD; BRYSON; HARVILL, 1987) ................................................................... 32

Figura 2: Configuração inicial proposta por Queck, Mysliwiec e Zhao, teclado e máscara de

teclado utilizada (QUECK,;MYSLIWIEC; ZHAO, 1995) .................................................. 33

Figura 3: ( a ) - Orientação da mão utilizada para dirigir um robô; ( b ) - Diferença de imagens

pode ser utilizada para inferir direção e movimento ; ( c ) - Histogramas de orientação para

reconhecer diferentes posturas da mão (FREEMAN; ANDERSON; BEARDSLEY, 1998)33

Figura 4: Câmera de topo capturando imagem e algoritmo detectando o contorno da mão.

(MACCORMICK; ISARD, 2000) ....................................................................................... 34

Figura 5: Setup experimental, modelo proposto por Sato e Saito (SATO; SAITO, 2001) .. 34

Figura 6: Demonstração do evento de clique padrão do mouse. Algum tempo, no mesmo local

mantendo a postura, determina o evento (HANDENBERG, 2001). ................................... 35

Figura 7: Detecção da ponta dos dedos em interação através de forma geométrica. (OKA;

SATO; KOIKE, 2002) ......................................................................................................... 35

Figura 8: (a) algoritmo em busca da ponta do dedo; (b) ponta do dedo detectada (UKITA;

KIDODE, 2004) ................................................................................................................... 36

Figura 9: Detecção de duas diferentes posturas (MACKIE; MCCANE, 2004) .................. 36

Figura 10: Contornos das mãos em diferentes fundos e com diferentes condições de

luminosidade (MANRESA; VARONA; MAS; PERALES, 2005). .................................... 37

Figura 11: Exemplo de interação do usuário com o sistema, que pretende incentivar a atividade

física (DE PAULA; BONINI; MIRANDA, 2006). ............................................................. 38

Figura 12: Resultados da detecção da postura "dois dedos" (CHEN; GEORGANAS; PETRIU,

2007) .................................................................................................................................... 39

Figura 13: Ilustra os gestos previstos num intervalo de 0,5 segundos entre eles (CHAN; LAU;

LI, 2008). ............................................................................................................................. 40

Figura 14: Usuário interagindo com multidão de humanos virtuais em um teatro (MUSSE;

OSÓRIO, 2000) ................................................................................................................... 41

Page 9: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Figura 15: Postura de mão utilizada para instruir ação de bater palmas (MUSSE; OSÓRIO,

2000) .................................................................................................................................... 41

Figura 16: Interface onde o designer descreve as trajetórias (ULICNY; CIECHOMSKI;

THALMANN, 2004) ........................................................................................................... 42

Figura 17: Rede Neural Artificial como uma "caixa preta" (Eberhart, 1996) ..................... 44

Figura 18: Estrutura geral de um neurônio de uma RNA (HAYKIN, 2002). ...................... 45

Figura 19: RNA feedforward de uma camada (GALLANT, 1993) ..................................... 46

Figura 20: RNA feedforward multicamada (GALLANT, 1993) ........................................ 47

Figura 21: Representação de uma rede neural recorrente (GALLANT, 1993) ................... 48

Figura 22: Perceptron de Múltiplas Camadas ...................................................................... 50

Figura 23: Gráfico de uma superfície de erro de uma RNA (GALLAGHER, 2000). ......... 51

Figura 24: Parada antecipada, baseada em validação cruzada (HAYKIN, 2002) ............... 53

Figura 25: Figura que ilustra a utilização da técnica Chroma-Key (Wikipedia) ................. 55

Figura 26: Método PFinder em interação com o usuário (WREN, 1997) ........................... 56

Figura 27: Resultados obtidos com o método W4 (HARITAOGLU; DAVIS, 2000) ......... 57

Figura 28: Remoção de sombra em extensão ao método W4 (JACQES; JUNG; MUSSE, 2005).

58

Figura 29: Arquitetura do sistema proposto ......................................................................... 60

Figura 30: Requisitos básicos do Sistema. Notebook padrão PC, webcam e tripé (JUNIOR;

JUNG; MUSSE; OSÓRIO; KEHL, 2007.) .......................................................................... 62

Figura 31. a) Canal azul da imagem adquirida; b) Resultado da binarização; c) Resultado do

fechamento morfológico; d) Resultado final (restrito ao bounding box)........................... 64

Figura 32: Ilustra o controle do fundo da cena capturada em superfície clara facilitando o

contraste com a mão. ............................................................................................................ 64

Figura 33: Extração das mãos utilizando um fundo mais complexo ................................... 67

Figura 34: Exemplos de posturas a serem reconhecidas ...................................................... 69

Figura 35: Projeções em x e y de uma imagem de postura de mão aberta binarizada ......... 69

Figura 36: Topologia da rede 22-22-6 criada a partir do JavaNNS ..................................... 70

Page 10: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Figura 37: A interação do usuário serve como estímulo para o agrupamento de humanos

virtuais em formação militar (versão anterior do modelo) (JUNIOR; JUNG; MUSSE; OSÓRIO;

KEHL, 2007) ........................................................................................................................ 74

Figura 38: Arquitetura de funcionamento de um socket ...................................................... 75

Figura 39: Ambiente com fundo menos controlado, utilizando subtração de backgroud e

remoção de sombras ............................................................................................................. 78

Figura 40: Exemplos de postura com maior ocorrência de erros na etapa de classificação.80

Figura 41: Matriz de Confusão - RNA escolhida para posturas da mão direita .................. 80

Figura 42: Log da evolução do MSE em 1000 épocas. ....................................................... 81

Figura 43: Gráfico da evolução do MSE para as 1000 épocas iniciais. ............................... 81

Figura 44: Matriz de Confusão - RNA escolhida para posturas da mão esquerda .............. 82

Figura 45: Log da evolução do MSE em 1000 épocas - posturas da mão esquerda ............ 83

Figura 46: Gráfico da evolução do MSE para as 1000 épocas iniciais - posturas da mão

esquerda ............................................................................................................................... 83

Figura 47: Testes com o protótipo com mãos de tamanhos diferentes ................................ 84

Figura 48: Diferença na altura e ângulo da câmera - regulagens levemente diferentes ....... 85

Figura 49: Diferentes fontes de luminosidade podem gerar resultados não satisfatórios no

processo de segmentação ..................................................................................................... 86

Page 11: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Lista de Tabelas

Tabela 1: Configuração do hardware utilizado .................................................................... 61

Tabela 2: Relação entre as posturas e as respectivas classes. .............................................. 69

Tabela 3: Resultados obtidos com dez execuções da RNA da mão direita ......................... 72

Tabela 4: Resultados obtidos das dez execuções da RNA da mão esquerda ....................... 72

Tabela 5: Relação de ações executadas pelo simulador através de posturas de mãos ......... 74

Tabela 6: Resultados da etapa de validação/testes da Rede Neural - SVR 2007 ................. 77

Page 12: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Abreviaturas

ANN - Artificial Neural Network

IHC - Interaction Human-Computing ou Interação humano-computador

MLP - Multi Layer Perceptron

MSE - Mean Square Error

PC - Personal Computer ou Computador Pessoal

RBV - Rede Brasileira de Visualização

RNA - Redes Neurais Artificiais

RPROP - Resileint Propagation

SSE - Sun of Squared Error

USB - Universal Serial Bus

Page 13: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Sumário

Lista de Figuras .................................................................................................................... 19

Lista de Tabelas ................................................................................................................... 22

Abreviaturas ......................................................................................................................... 23

1 Introdução .................................................................................................................... 26

1.1 O Problema .................................................................................................................. 27

1.2 Objetivos Gerais ........................................................................................................... 28

1.3 Objetivos Específicos ................................................................................................... 28

2 Revisão Bibliográfica ................................................................................................... 30

2.1 Interfaces Homem-Máquina e Visão Computacional .................................................. 30

2.2 Interação com grupos de humanos virtuais .................................................................. 41

3 Fundamentos ................................................................................................................ 43

3.1 Redes Neurais Artificiais - RNAs ................................................................................ 43

3.1.1 Arquitetura das Redes Neurais Artificiais ................................................................ 45

3.1.1.1 Redes Feedforward de uma camada....................................................................... 46

3.1.1.2 Redes Feedforward Multicamada .......................................................................... 46

3.1.1.3 Redes Recorrentes .................................................................................................. 47

3.1.2 O processo de aprendizagem das RNAs ................................................................... 48

3.1.3 O Perceptron de Múltiplas Camadas e o Aprendizado por Retropropagação de Erro49

3.1.3.1 Algoritmo de Retropropagação de Erro (Error Back-Propagation) ....................... 50

3.1.3.2 O algoritmo de propagação resiliente ou Rerilient Propagation - RPROP ............ 52

3.1.4 Generalização das RNAs .......................................................................................... 52

3.2 Técnicas de Subtração de fundo .................................................................................. 54

3.2.1 Técnicas Utilizadas ................................................................................................. 55

4 Método proposto .......................................................................................................... 59

Page 14: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

4.1 Recursos utilizados ...................................................................................................... 61

4.2 Segmentação da mão .................................................................................................... 62

4.2.1 Ambiente controlado ................................................................................................. 63

4.2.2 Segmentação por subtração de background .............................................................. 65

4.3 Definição das posturas e seleção do vetor de feições .................................................. 67

4.4 Detecção das posturas e gestos usando Redes Neurais ................................................ 70

4.5 Interface com o simulador ........................................................................................... 73

5 Resultados experimentais ............................................................................................. 77

5.1 Limitações do modelo .................................................................................................. 85

6 Considerações finais e trabalhos futuros ....................................................................... 87

Referências

Anexo - Publicações

RESUMO

Page 15: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

26

1 Introdução

O reconhecimento de padrões está engajado no campo da Visão Computacional e

Inteligência Artificial de forma muito importante, a fim de alcançar e realizar a "máquina

inteligente". Em particular, o reconhecimento de padrões desempenha um papel

importante no que diz respeito à Interação Homem-Máquina baseados em Visão

Computacional.

Interfaces alternativas de interação com o computador vêm sendo desenvolvidas e

testadas ao longo dos anos para diversas aplicações. Algumas dessas interfaces são caras e

de difícil acesso, enquanto outras, nem tão práticas a ponto de dispensar o mouse e o

teclado.

Neste contexto, apenas os jogos conseguiram popularizar o Joystick como interface

refletindo na comercialização do dispositivo em larga escala e por preços acessíveis. Uma

razão para isso é que um elemento imprescindível à aceitação de uma interface pelo

usuário é a sua simplicidade. É sabido, que a eficiência do usuário é diretamente

influenciada pela interface e, normalmente, o usuário opta por interfaces de interação mais

agradáveis a uma que ofereça maior funcionalidade ou desempenho do sistema.

Sistemas de interação baseados em Visão Computacional utilizam câmeras a fim de

capturar imagens, com o objetivo de extrair destas imagens padrões e comportamentos.

Agora, com a massificação de dispositivos como webcams, temos uma oportunidade barata

de substituir os dispositivos tradicionais por algo mais confortável, onde os velhos mouse e

teclado poderão servir apenas como complementares. No caso de conseguirmos interfaces

realmente mais naturais, poderíamos criar ambientes interativos onde crianças com

dificuldade de aprendizagem, pessoas portadoras de deficiências físicas ou com

dificuldades de movimentação fossem beneficiadas.

Neste trabalho, faremos uso de uma interface que propõe a aquisição de imagens de

posturas de mãos sobre uma superfície de observação, através de uma webcam. Estas

Page 16: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

27

imagens após processadas via técnicas de Visão Computacional, resultarão em dados de

entrada para uma RNA a fim de identificar posturas pré-determinadas e classificá-las.

Depois da etapa de classificação, as posturas são enviadas por meio de instruções ou

comandos a uma aplicação apta a interagir em tempo real com o usuário.

1.1 O Problema

Uma interface de interação em meio computacional é responsável pelo

mapeamento das ações do usuário sobre dispositivos de entrada, traduzindo-as em

requisições de processamento para a aplicação, que é responsável pela apresentação

adequada dos resultados que foram produzidos. Então, tendo como objetivo colocar a

prova o método que está sendo descrito, é preciso utilizar uma aplicação específica que

possa fazer uso dos recursos providos por esta interface. Para isso, utilizaremos um

ambiente de simulação de Humanos Virtuais denominado VHSimul, que está sendo

desenvolvido no Laboratório de Humanos Virtuais da Pontifícia Universidade Católica do

Rio Grande do Sul

PUC/RS, em conjunto com o CROMOS

Laboratório de Simulação

de Humanos Virtuais, da Unisinos

Universidade do Vale do Rio dos Sinos.

Nesse ambiente, o objetivo é simular diferentes interações do usuário com humanos

virtuais em locais previamente modelados. A partir disso, uma série de comportamentos e

interações serão definidas como, por exemplo, seleção de agentes e movimentações que os

grupos de humanos virtuais poderão executar em função do tempo.

As interações e a movimentação dos agentes no sistema de simulação estão

relacionadas diretamente às posturas de mão do usuário que, sobre uma superfície, serão

adquiridas como seqüência de imagens, através de uma Webcam, pré-processadas e

classificadas a partir de Redes Neurais Artificiais dando origem a instruções e comandos

que serão enviados para a aplicação de simulação.

Page 17: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

28

1.2 Objetivos Gerais

A motivação maior para o desenvolvimento deste trabalho é a utilização de técnicas

de visão computacional para a construção de uma interface barata de interação entre o

usuário e o computador, baseada em posturas de mãos, e que seja totalmente confiável. É

importante que estas técnicas possam prover recursos e servir como uma interface natural e

intuitiva na interação com outros sistemas de computação, e que possam rodar em tempo

real .

Também queremos demonstrar a viabilidade de uso de RNAs

Redes Neurais

Artificiais em interfaces baseadas em Visão Computacional, contando simultaneamente

com a utilização junto a sistemas de simulação de grupos de humanos virtuais.

1.3 Objetivos Específicos

Para desenvolver o sistema de interação baseado em visão computacional, há

diversos objetivos parciais que devem ser atingidos:

Adquirir imagens de posturas de mãos através de uma câmera top-down;

Utilizar procedimentos de subtração de fundo da cena e detecção de

sombras para extrair as mãos;

Processar as imagens adquiridas a ponto de extrair delas vetores de feições;

Construir uma RNA a partir de ferramentas gráficas e proceder a sua

exportação para linguagem C++

Proceder à integração do ambiente MATLAB aos scripts C++ gerados;

Gerar as bases de treinamento e validação da RNA em procedimentos

idênticos aos utilizados na execução do protótipo;

Treinar a RNA para que ela seja capaz de diferenciar e classificar as

diferentes posturas adotadas;

Page 18: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

29

Enviar de forma transparente os dados extraídos das imagens para a RNA

bem como ser transparente no envio do resultado da classificação à

ferramenta de simulação de Humanos Virtuais;

Integrar os diversos ambientes em um único e simples protótipo

No capítulo que segue serão apresentados alguns trabalhos considerados como

estado da arte no que diz respeito à Interação Homem-Máquina baseada em Visão

Computacional, utilizando gestos ou posturas de mãos. Também será feita uma revisão

geral da literatura sobre interação com grupos de humanos virtuais. No capítulo 3 serão

descritos fundamentos de RNAs

Redes Neurais Artificiais e fundamentos de subtração de

Background. O capítulo 4 descreve o modelo proposto dando ênfase à segmentação das

imagens e definição das posturas, à seleção e extração das feições das imagens, à

classificação das posturas através das RNAs, e a interface com o simulador de humanos

virtuais. Os resultados por conta dos experimentos com o modelo apresentado estarão

descritos no capítulo 5, e as conclusões apresentadas no capítulo 6.

Page 19: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

30

2 Revisão Bibliográfica

Este capítulo está dividido em duas seções: a primeira apresenta uma visão geral a

respeito de Interfaces Homem-Máquina utilizando Visão Computacional, ao mesmo tempo

em que comenta a respeito do estado da arte. A segunda seção está focada em trabalhos

relativos à interação do usuário com humanos virtuais ou grupos de humanos virtuais.

O objetivo principal deste capítulo é apresentar e comentar brevemente alguns

trabalhos importantes que serviram de referência à técnica proposta, no que diz respeitos

aos assuntos centrais deste trabalho.

2.1 Interfaces Homem-Máquina e Visão Computacional

Pesquisas relacionadas à interação Homem-Máquina baseada em Visão

Computacional têm se desenvolvido muito nos últimos anos. No que diz respeito à

interação utilizando as mãos, muito sistemas têm se dedicado ao reconhecimento de gestos

e posturas, mas não existe um que seja amplamente utilizado (TRUYENQUE, 2005).

O que mais chama a atenção quando o assunto em pauta é o estado da arte em

Visão Computacional é que ainda não existe nenhum modelo de percepção visual passível

de ser aplicado na prática ou que tenha sido aplicado em grande escala ou que pudesse ser

utilizado genericamente. O que existe hoje são diversos métodos para resolver algumas

tarefas bem definidas nas quais as ténicas são bastante especializadas. O que acontece na

realidade é que, para resolvermos uma determinada demanda de interpretação de imagens

utilizamos um conjunto de algoritmos bastante específicos, que são respectivamente

responsáveis por realizar subtarefas limitadas dentro do processo de interpretação dessa

imagem. Esses algoritmos são divididos em grupos, como filtros de contraste, detectores

de bordas de objetos, segmentadores de imagens em regiões, classificadores de texturas e

assim por diante. Normalmente a solução para um problema específico passa pela

execução de uma série desses algoritmos especializados, um após o outro, para chegarmos

Page 20: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

31

a um resultado satisfatório que funcionará para um conjunto de imagens com

características muito específicas, podendo deixar de funcionar satisfatoriamente para

algumas outras. Isto significa que, em sistemas de visão computacional, a generalização

para situações mais complexas pode ser difícil, uma vez que os computadores são pré-

programados para resolver uma tarefa particular adequada para condições específicas.

Nesta seção serão relacionados trabalhos que serviram de referência à técnica aqui

apresentada, abordando interfaces de interação entre pessoas e o computador, bem como

interfaces projetadas que utilizam técnicas de Visão Computacional.

Uma definição básica para delimitar o escopo deste trabalho de pesquisa passa pela

definição de postura e gesto (CADOZ; WANDERLEY, 2000). Alguns autores consideram

postura (de mãos) como o oposto ao gesto (MULDER, 1998). Assim, uma postura seria

estática, um gesto, dinâmico. Uma postura seria a fotografia de um gesto em um

determinado instante. O problema desta definição é que ela não leva em conta as forças

envolvidas na sustentação da postura, como a transição entre uma postura e outra.

Em sistemas de reconhecimento de gestos ou posturas, uma das fases mais

importantes é a de aquisição de dados, porque ela é a responsável pelas medidas dos

mesmos. Os dados podem ser adquiridos, por exemplo, através de sensores ópticos,

acústicos e eletromagnéticos. Essas medidas servirão para comparar e distinguir os gestos

ou posturas adotadas. No que diz respeito aos dispositivos de aquisição de dados, citamos

as duas correntes mais importantes: a das luvas instrumentadas e a da visão por

computador.

Zimmermann at al, (ZIMMERMANN; LANIER; BLANCHARD; BRYSON;

HARVILL, 1987) já relatavam o desenvolvimento de um dispositivo para ser colocado nas

mãos, que fornece ao computador as informações do gesto em tempo real, dando a ele sua

posição e orientação. Esta luva, como foi concebida, incorporava uma série de tecnologias

como sensores analógicos, sensores magnéticos, componentes capazes de medir a

dobradura do dedo entre outros. Este modelos 3D permitiriam que fossem manipulados

objetos não-reais , gerados pelo computador.

Page 21: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

32

Figura 1: Data Glove expondo os dispositivos internos (ZIMMERMANN; LANIER;

BLANCHARD; BRYSON; HARVILL, 1987)

Segundo Sturman e Zeltzer (STURMAN; ZELTZER, 1994) algumas das pesquisas

em interface e relacionadas aos gestos são baseadas em elementos marcadores nas mãos.

Esses elementos podem ser luvas de realidade virtual ou outros tipos de elementos ou

dispositivos que são usados pelos usuários a fim de que se detectem gestos, posturas e

posições em relação a pontos de referência.

Os sistemas de reconhecimento de gestos da mão, segundo Pavlovic (PAVLOVIC;

SHARMA, 1997), podem ser classificados em dois grupos. Os baseados em modelos 3D

são definidos através de um conjunto de parâmetros que descrevem todos os seus graus de

liberdade, e os 2D são baseados na aparência da imagem.

Outros trabalhos foram realizados usando-se técnicas de mãos limpas ou apenas

de mão livres, ou seja, baseiam-se em métodos onde não há a necessidade de vestirem-se

as mãos com dispositivos, sejam eles mecânicos, magnéticos ou ópticos. Um desses

métodos sem revestimentos ou dispositivos conectados às mãos foi utilizado por Queck,

Mysliwiec e Zhao (QUECK; MYSLIWIEC; ZHAO, 1995) utilizando uma câmera de topo.

O sistema FingerMouse lança mão de uma máquina de estados finito e de segmentação

baseada em cor de pele para a detecção de mãos como apontador que substituísse o mouse,

sobre um teclado utilizado como fundo da cena.

Page 22: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

33

Figura 2: Configuração inicial proposta por Queck, Mysliwiec e Zhao, teclado e máscara

de teclado utilizada (QUECK,;MYSLIWIEC; ZHAO, 1995)

Algumas técnicas para a interação através de visão são descritas por Freeman e

Anderson (FREEMAN; ANDERSON; BEARDSLEY, 1998). Figura 3 (a) mostra como a

orientação da mão, que é o conjunto de pixels diferentes do fundo, é utilizada para dirigir

um robô. A Figura 3 (b) mostra como a diferença de imagens pode ser utilizada para inferir

direção e movimento, e no outro exemplo, Figura 3 ( c ), mostra como os chamados

histogramas de orientação dos pixels são utilizados para reconhecer diferentes posturas da

mão.

( a ) ( b ) ( c )

Figura 3: ( a ) - Orientação da mão utilizada para dirigir um robô; ( b ) - Diferença de

imagens pode ser utilizada para inferir direção e movimento ; ( c )

Histogramas de

orientação para reconhecer diferentes posturas da mão (FREEMAN; ANDERSON;

BEARDSLEY, 1998)

Page 23: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

34

Trabalhos como os de Hall e Crowley (HALL; CROWLEY, 1999) e de

Maccormick e Isard (MACCORMICK; ISARD, 2000) detectam o contorno da mão, ou a

silhueta da mão através de curvas B-Splines ou Snakes (Figura 4). Depois, são utilizadas

técnicas para a detecção e o seguimento dos contornos, onde são detectados os pontos que

representam as pontas dos dedos.

Figura 4: Câmera de topo capturando imagem e algoritmo detectando o contorno da mão.

(MACCORMICK; ISARD, 2000)

Sato e Saito (SATO; SAITO, 2001) propuseram um modelo para seguir a

movimentação da mão do usuário, em 3D, e reconhecer o gesto de mão em tempo real.

Eles utilizaram múltiplas câmeras com a finalidade de determinar a posição e orientação da

mão do usuário. Tal método identifica gestos pré-determinados usando uma rede neural

treinada anteriormente.

Figura 5: Setup experimental do modelo proposto por Sato e Saito (SATO; SAITO, 2001)

Page 24: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

35

(HANDENBERG, 2001) Apresenta um sistema que utiliza a diferença de imagens

na segmentação e então, na correlação, utiliza círculos para procurar a posição dos dedos.

Interações em forma de postura, como o clique padrão e o clique direito do mouse são

implementados.

Figura 6:

Demonstração do evento de clique padrão do mouse. Algum tempo, no mesmo

local mantendo a postura, determina o evento (HANDENBERG, 2001).

No trabalho de Oka (OKA; SATO; KOIKE, 2002) as pontas dos dedos são

modeladas como sendo círculos. O movimento dos dedos detectados é utilizado para

reconhecer algumas figuras geométricas que são utilizadas como comandos na interação

(Figura 7).

Figura 7: Detecção da ponta dos dedos em interação através de forma geométrica. (OKA;

SATO; KOIKE, 2002)

Page 25: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

36

Outros sistemas facilitam a segmentação utilizando câmeras infravermelhas, o que

permite uma segmentação mais acurada das mãos. No trabalho de Ukita e Kidode

(UKITA ; KIDODE, 2004) é mostrado um sistema que utiliza o dedo para desenhar, em

que os dedos são modelados como sendo semicírculos, os quais são utilizados no processo

de correlação.

Figura 8:

(a) algoritmo em busca da ponta do dedo; (b) ponta do dedo detectada (UKITA ;

KIDODE, 2004)

Mackie e McCane (MACKIE; MCCANE, 2004) apresentaram um sistema capaz de

reconhecer gestos e posturas em mãos livres (Figura 9). É um sistema de estimativa de

posições que pode ser aplicado a Interfaces Virtuais e Interfaces de Realidade Aumentada.

Aqui, utilizaram árvores de decisão (QUINLAN, 1996) em um ambiente de aprendizado

Weka1.

Figura 9: Detecção de duas diferentes posturas (MACKIE; MCCANE, 2004)

Manresa et. al, (MANRESA; VARONA; MAS; PERALES, 2005) apresentam um

algoritmo para monitorar e reconhecer gestos e posturas para interagir com um videogame.

1 http://www.cs.waikato.ac.nz/ml/

Page 26: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

37

Tal algoritmo baseia-se em três etapas principais: segmentação da mão,

monitoramento da mão e reconhecimento das características do gesto. Para a segmentação

da mão usam características de cor de pele e suas variantes onde o usuário tem o tom de

pele adquirido durante um processo de treinamento. Para evitar erros na segmentação foi

incluído um processo de monitoramento. A partir do processo de monitoramento que são

extraídas as características dos gestos que servem de entradas a uma máquina de estados

finitos, para a classificação. A mão pode ser classificada em quatro categorias de gestos ou

uma das quatro opções de direção que dão diferentes movimentos.

No campo dos jogos, De Paula e colaboradores (DE PAULA; BONINI;

MIRANDA, 2006) descrevem o Camera Kombat. É um jogo de lutas que dispensa o uso

de dispositivos tradicionais de interação, utiliza técnicas de visão computacional e uma

webcam. Durante a partida os jogadores fazem seus movimentos em frente a uma webcam,

o avatar que representa o jogador executa alguma tarefa de ataque quando uma seqüência

de movimentos é detectada. Não existe necessidade de contato físico entre os jogadores

(Figura 11), e as seqüências de movimentos são pré-cadastradas. Na fase de segmentação

dos jogadores são utilizadas técnicas de subtração de fundo e os gestos são reconhecidos

com auxílio da técnica de fecho convexo. Segundo os autores, este tipo de abordagem

apresenta um elevado nível de atividade física e é mais atraente ao consumo do que

dispositivos tradicionais de interação como o teclado, o mouse e joysticks.

Figura 10: Contornos das mãos em diferentes fundos e com diferentes condições de

luminosidade (MANRESA; VARONA; MAS; PERALES, 2005).

Page 27: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

38

Figura 11: Exemplo de interação do usuário com o sistema, que pretende incentivar a

atividade física (DE PAULA; BONINI; MIRANDA, 2006).

Uma abordagem estatística para reconhecer gestos de mão em tempo real com uma

única webcam como o dispositivo de entrada, baseado na classificação dos gestos, é

proposta por Chen (CHEN; GEORGANAS; PETRIU, 2007). É composta por dois níveis: o

primeiro nível implementa o reconhecimento de posturas através de recursos Haar-Like,

que se concentra mais nas informações dentro de uma certa

área da imagem ao invés de cada pixel, e com algoritmo de aprendizagem AdaBoost para

melhorar a classificação a precisão para alcançar desempenho em tempo real; o segundo

implementa o reconhecimento de gestos, com base em analise sintática. Baseados na

cascata de classificadores (Figura 12), uma estrutura paralela é aplicada para classificar

diferentes posturas mão.

Page 28: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

39

Figura 12: Resultados da detecção da postura dois dedos

(CHEN; GEORGANAS;

PETRIU, 2007)

Chan et. al (CHAN; LAU; LI, 2008) Apresentam um método para modelar e

prever movimentos da mão humana considerando as limitações físicas dos movimentos

dos dedos, a fim de lidar com o problema de alta latência da rede Internet, para beneficiar

aplicações que requerem o compartilhamento remoto de gestos de mãos. Classificam as

limitações em estáticas e dinâmicas e concentram sua modelagem no estado de transição

entre a movimentação. A Figura 13 ilustra a previsão de gestos num intervalo de 0,5

segundos entre eles.

Page 29: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

40

Figura 13: Ilustra os gestos previstos num intervalo de 0,5 segundos entre eles (CHAN;

LAU; LI, 2008).

Page 30: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

41

2.2 Inter ação com grupos de humanos virtuais

O objetivo desta seção é apresentar alguns dos poucos trabalhos encontrados

relacionados a grupos de humanos virtuais, no que diz respeito à interação e a forma como

estes indivíduos são controlados pelo usuário.

Musse e Osório (MUSSE; OSÓRIO, 2000) apresentam um sistema para fornecer a

interação facilitada do usuário com multidões de humanos virtuais, e detectam as posturas

das mãos com a ajuda de uma DataGlove, onde uma RNA é responsável pela classificação

e reconhecimento da postura (Figura 14). As posturas das mãos são reconhecidas fazendo

uso do NeuSim (OSORIO, 1999) que é um simulador de RNAs baseado no algoritmo de

aprendizagem Cascade-Correlation (FAHLMAN, 1990).

Figura 14: Usuário interagindo com multidão de humanos virtuais em um teatro (MUSSE;

OSÓRIO, 2000)

Figura 15: Postura de mão utilizada para instruir ação de bater palmas (MUSSE; OSÓRIO,

2000)

Page 31: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

42

Ulicny et al (ULICNY; CIECHOMSKI; THALMANN, 2004) propõem uma

ferramenta (Crowdbrush) que distribui, modifica e controla os membros de uma multidão

em tempo real. O designer trabalha em um ambiente 2D, utilizando o mouse e o teclado

para manipular os objetos correspondentes em 3D. Pode-se incluir ou remover membros da

multidão, alterar suas aparências, animação, configurar um comportamento de alto nível,

pré-determinar trajetórias para a multidão, ou enviar eventos para um subsistema de

comportamentos. A Figura 16 exibe uma multidão seguindo as trajetórias especificadas

pelo designer. Este trabalho é um excelente exemplo de controle de multidões baseada em

intervenção com o usuário (user-based).

Figura 16: Interface onde o designer descreve as trajetórias (ULICNY; CIECHOMSKI;

THALMANN, 2004)

Neste capítulo foram apresentadas importantes referências relacionadas aos

assuntos tratados neste trabalho, principalmente no que diz respeito a Interfaces Homem-

Máquina utilizando Visão Computacional à interação do usuário com Humanos Virtuais ou

Grupos de Humanos Virtuais.

O capítulo que segue apresentará, de forma sintética, fundamentos sobre as Redes

Neurais Artificiais, ao mesmo tempo em que explora conceitos e técnicas de subtração de

background.

Page 32: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

43

3 Fundamentos

Tendo como base a literatura existente, e a estratégia que se pretende adotar neste

trabalho, serão apresentados neste capítulo fundamentos sobre as Redes Neurais Artificiais

e sobre subtração de background. Em particular, serão abordados conceitos, vantagens,

aplicações e técnicas utilizadas.

3.1 Redes Neurais Artificiais - RNAs

As representações a respeito das Redes Neurais Artificiais

RNAs

estão

fortemente ligadas ao conhecimento relativo ao cérebro humano. Elas foram inspiradas nas

redes neurais biológicas e comportam-se como modelos simplificados do sistema nervoso

central (HAYKIN, 2002). Elas possuem a capacidade de aprender e generalizar funções

através de uma experiência anterior. São estruturas compostas por unidades processadoras

simples, distribuídas e paralelas, que tem o objetivo de armazenar conhecimento e depois,

torná-los disponíveis para uso.

As redes neurais também são encontradas na literatura como neurocomputadores,

redes conexionistas, entre outros (HAYKIN, 2002). Trata-se de uma estrutura

extremamente interligada de unidades computacionais, denominadas por neurônios ou

nodos, que possuem capacidade de aprendizagem. Pode ser comparada ao cérebro humano

em dois aspectos (HAYKIN, 2002).

1. O conhecimento é adquirido pela rede a partir do meio ambiente através de

mecanismos de aprendizagem;

2. A força das conexões entre as unidades processadoras são minimizadas ou

maximizadas de forma a armazenar melhor o conhecimento adquirido.

A denominação Neurônio ou Nodo é dada à unidade processadora de uma rede

neural, que é implementada através de uma função matemática. Durante o processo de

Page 33: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

44

aprendizagem, realizado através de um algoritmo de aprendizagem ou treino, a força ou

peso das conexões é ajustada de forma a atingir um dado estado de conhecimento da rede

ou uma forma ordenada para alcançar um objetivo desejado. Depois de executado o

processo de aprendizagem, as RNAs tornam-se robustas ferramentas que respondem

adequadamente às entradas, até mesmo com ruídos ou totalmente desconhecidas durante o

seu treino ou aprendizagem.

As redes neurais artificiais podem ser implementadas ou simuladas através de

componentes eletrônicos. Em geral, as redes neurais são sistemas de processamento de

informações que podem ser compreendidas como caixas pretas (EBERHART 1996),

cujas entradas são fornecidas e saídas são obtidas (Figura 17).

Figura 17: Rede Neural Artificial como uma caixa preta (Eberhart, 1996)

Uma RNA é, de uma forma simples, um conjunto de unidades computacionais,

denominadas neurônios, células ou nodos, que possuem alguma memória local, e um

conjunto de conexões entre esses nodos (GALLANT, 1993). Um nodo representa uma

unidade de processamento, que é a chave para a operação de uma RNA. Eles exercem um

papel de comparador e produzem uma saída quando o efeito cumulativo das entradas

excede um dado valor limite.

Cada ligação entre os nodos, conhecida como conexão ou sinapse, tem a si

associados valores numéricos aos quais se atribui à denominação pesos. Na medida em que

o tempo passa, cada unidade examina as suas entradas e a partir destas calcula um valor

numérico chamado ativação. Esse valor de ativação é passado então ao longo das outras

conexões, que levam as outras células.

Page 34: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

45

Figura 18: Estrutura geral de um neurônio de uma RNA (HAYKIN, 2002).

Na figura 18 identificam-se elementos básicos do modelo de neurônio artificial:

1) Um conjunto de sinapses ou conexões, cada uma, caracterizada por um peso próprio.

Um sinal xj na entrada da sinapse j conectada ao neurônio k é multiplicado pelo peso sináptico

Wkj. O primeiro índice (k) se refere ao neurônio e o segundo (j) ao terminal de entrada da

sinapse à qual o peso se conecta.

2) Um somador, para somar os sinais de entrada, ponderados pelas respectivas sinapses

do neurônio.

3) Uma função de ativação não linear (f) para restringir a amplitude da saída do

neurônio. Tipicamente, o intervalo normalizado da amplitude da saída de um neurônio é escrito

como o intervalo unitário fechado [0,1] ou, alternativamente, [-1,1].

Este modelo inclui também um bias aplicado externamente, que tem o efeito de

aumentar ou diminuir a entrada líquida da função de ativação, dependendo se é positivo (> 0)

ou negativo (< 0).

3.1.1 Arquitetura das Redes Neurais Artificiais

A arquitetura de uma RNA define a forma como os seus neurônios estão

organizados e está intimamente ligada aos algoritmos de aprendizagem utilizados para

Page 35: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

46

treinar a rede. Existem diversas topologias de RNAs que distinguem-se pelo número de

camadas e pelo arranjo de conexões entre seus neurônios. Em geral enquadram-se em três

categorias (GALLANT, 1993), descritas a seguir:

3.1.1.1 Redes Feedforward de uma camada

É a forma mais simples de uma rede em camadas, onde temos uma camada de

entrada que se comunica diretamente através das sinapses com a camada de saída em

sentido único, ou seja, esta rede é sempre alimentada adiante (Figura 19), por isso

denominada de rede feedforward ou acíclica. É considerada de uma camada, uma vez que

os neurônios da camada de entrada apenas fazem o repasse do sinal e não desempenham

nenhum processamento. Então o termo unicamada se refere à camada de saída, a qual é a

única responsável pelo tratamento do sinal de entrada.

Figura 19: RNA feedforward de uma camada (GALLANT, 1993)

3.1.1.2 Redes Feedforward Multicamada

As redes neurais feedforward multicamadas se distinguem das redes com uma só

camada por apresentarem uma ou mais camadas intermediárias entre a entrada e a saída da

rede. Estas camadas são denominadas camadas ocultas, cujos nodos computacionais são

chamados correspondentemente de neurônios ocultos. A razão para a presença de

neurônios ocultos é proporcionar às redes neurais a capacidade de extrair estatísticas de

ordem mais elevada sobre os dados de entrada. Este tipo de arquitetura é particularmente

valioso quando se tem uma camada de entrada muito grande.

Page 36: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

47

A Figura 20 mostra uma rede feedforward multicamada 2-3-2. Esta rede neural

possui 2 (dois) neurônios na camada de entrada da rede, 3 (três) na segunda camada

(oculta) e 2 (dois) na terceira (saída). Uma RNA é considerada totalmente ligada ou

conectada quando todo neurônio de uma camada qualquer estiver conectado a todos os

neurônios da camada subseqüente, caso contrário, é denominada parcialmente ligada.

Figura 20: RNA feedforward multicamada (GALLANT, 1993)

3.1.1.3 Redes Recorrentes

Redes Neurais Recorrentes são diferentes das feedforward por apresentarem pelo

menos um laço de retro-alimentação, como ilustra a Figura 21. Quando uma saída de um

elemento influência de algum modo a entrada para esse mesmo elemento, criando-se assim

um ou mais ciclos. Assim que uma ou mais conexões cíclicas são incluídas numa rede, esta

passa a ter um comportamento não linear, podendo ser utilizadas para modelar novas

funções cognitivas tais como as de memória associativa e/ou temporal (BOSE; LIANG,

1996). Assim, as saídas não são função, exclusivamente das ligações entre nodos, mas

também de uma dimensão temporal; i.e, existe presença de um cálculo recursivo, que

obedecerá naturalmente a uma certa condição de parada, com a última iteração a ser dada

como a saída para o nodo (RIEDMILLER; BRAUN, 1993).

Page 37: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

48

Figura 21: Representação de uma rede neural recorrente (GALLANT, 1993)

3.1.2 O processo de aprendizagem das RNAs

A mais importante propriedade das Redes Neurais Artificiais é a capacidade de

aprender a partir do contexto onde estão inseridas, para melhorar o seu desempenho através

deste aprendizado. Mas para que uma RNA possa aprender é preciso apresentar-lhe uma

quantidade de exemplos de forma seqüencial e iterativa. Este processo denomina-se treino,

onde a cada iteração os pesos sinápticos e o bias são ajustados. Isso se repete até que a rede

alcance o seu objetivo. Segundo (HAYKIN, 2002), aprendizagem no âmbito das redes

neurais pode ser definida como processos pelos quais parâmetros livres da rede são

adaptados e estimulados pelo ambiente em questão, ao longo de vários ciclos, onde a forma

pela qual a modificação dos parâmetros ocorre, determina o tipo de aprendizagem.

(GALLANT, 1993) também fala da seqüência de eventos que envolvem o

aprendizado de uma rede neural:

A RNA é estimulada por informação que emana de um dado ambiente ou

universo de discurso em que se desenvolve;

Certos parâmetros livres, normalmente os pesos das conexões, são alterados

em resultado desse estímulo;

A RNA responde de uma nova forma a estímulos que emanem do ambiente,

em virtude das alterações sofridas pela sua estrutura interna.

Existem três estratégias ou paradigmas de aprendizagem para as redes neurais: o

Supervisionado, Semi-Supervisionado ou De Reforço e o Não-Supervisionado

Page 38: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

49

(HAYKIN, 2002) (EBERHART , 1996) (OSÓRIO, 1999). Mencionaremos aqui apenas os

paradigmas Supervisionado e Não-Supervisionado:

Supervisionado

Método bastante popular onde são fornecidas respostas

exatas à rede. A rede aprende a partir de um conjunto de casos onde cada

caso, também chamado de exemplo ou caso de treino, é composto por um

vetor de entrada e por um vetor de resposta ou saída. Durante o processo de

aprendizagem, é executada uma comparação entre o valor desejado com o

valor de saída da rede, originando um erro. O erro resultante é utilizado para

de alguma forma ajustar os pesos da rede. Uma chamada do procedimento

de treino é composta por ajustes iterativos ou em lote para todos os casos de

treino. A aprendizagem é então conseguida quando, após várias iterações, o

erro é reduzido para valores aceitáveis;

Não-Supervisionado

Também chamado de auto-organização, é uma

abordagem onde não é fornecida ao sistema qualquer indicação sobre a

resposta certa. Assim, a aprendizagem da RNA é feita pela descoberta de

similaridades nos dados de entrada, que são agrupados estatisticamente ou

segundo seu comportamento, de acordo com os casos de treino. Exemplos

típicos deste tipo de aprendizagem são as redes de Kohonen (KOHAVI,

1995).

3.1.3 O Perceptron de Múltiplas Camadas e o Aprendizado por

Retropropagação de Erro

A Figura 22 apresenta uma Rede Neural Artificial conhecida como Perceptron de

Múltiplas Camadas, tida como exemplo de uma rede totalmente conectada. Isso significa

que um neurônio artificial de qualquer camada está conectado a todos os neurônios da

camada anterior. Ela faz com que o sinal progrida através da rede, para frente, de camada

em camada.

Page 39: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

50

Figura 22: Perceptron de Múltiplas Camadas

3.1.3.1 Algoritmo de Retropropagação de Erro (Error Back-Propagation)

É o algoritmo de aprendizagem supervisionado mais popular e que vem sendo

muito utilizado em conjunto com pereceptrons multicamadas na solução de diversos

problemas (HAYKIN , 2002). Este algoritmo se mantém como um marco para a

comunidade das RNAs uma vez que ele e seus derivados constituem um método muito

eficiente de computação para treinamento de redes MLPs.

Basicamente o algoritmo Back-Propagation consiste em dois passos através das

diferentes camadas da rede neural. Na etapa de propagação, é fornecido um vetor de

entrada aos neurônios da camada de entrada da RNA e seu sinal se propaga para frente, no

sentido das conexões sinápticas, através de cada uma das camadas da rede. Quando esse

sinal atinge a camada de saída da RNA, um vetor de saída é produzido pela rede. Na etapa

de propagação não existem alterações dos pesos sinápticos da rede. Na fase de

retropropagação é onde ocorrem os ajustes dos pesos sinápticos da RNA, de acordos com

regras de correção de erro, que calculam a diferença entre o vetor de resposta real

fornecido pela rede e a resposta alvo associado ao vetor de entrada fornecido. A rede

obtém assim um sinal de erro que se retropropaga pela rede, camada por camada, no

sentido contrário ao das conexões sinápticas, com a finalidade de ajustar os pesos

sinápticos da RNA e fazer com que a resposta real se mova para mais perto da resposta

desejada para o respectivo vetor de entrada.

Page 40: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

51

O treinamento de uma RNA pode ser visto, então, como uma busca pela

minimização do erro, entre a saída esperada e a saída obtida para um determinado padrão

de entrada, através do ajuste dos pesos sinápticos. Cada problema a ser resolvido por uma

RNA apresenta uma superfície característica, que representa a relação entre os pesos e o

erro na saída da rede. A busca pela minimização do erro da RNA constitui-se, dessa forma,

na busca pelo mínimo global de uma superfície (que é o ponto de menor erro possível para

a rede - idealmente igual a zero). Cada valor de erro da RNA corresponde a um conjunto

de valores para os pesos de todas as sinapses da RNA. É nessa superfície multidimensional

- onde o erro da rede, e cada um dos pesos sinápticos, correspondem às dimensões do

espaço em que a superfície se encontra - que a busca pelo erro mínimo é efetuada. Um

exemplo de superfície de erro para dois pesos pode ser observado na Figura 23

(GALLAGHER, 2000).

Figura 23: Gráfico de uma superfície de erro de uma RNA (GALLAGHER, 2000).

A busca pelo mínimo global na superfície de erros pode se dar através do método

de descida do gradiente que, segundo (RUMELHART at al., 1986), minimiza os quadrados

das diferenças entre os valores de saída desejado e o real da RNA, em busca do menor erro

mínimo global, ou a minimização da função de erro, através de uma superfície

multidimensional definida pelos pesos sinápticos e pelas magnitudes dos erros para cada

conjunto de pesos.

Page 41: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

52

3.1.3.2 O algoritmo de propagação resiliente ou Rerilient Propagation

RPROP

O RPROP é um aprimoramento da técnica de aprendizagem por retropropagação de

erro (RIEDMILLER, 1993). Esta melhoria apresenta uma adaptação direta na alteração dos

pesos, baseados em informações de gradiente locais. Introduz, para cada peso o seu valor

de atualização ji que determina apenas o tamanho da alteração no respectivo peso. Este

valor individual de atualização ji evolui durante o processo de aprendizado, baseado

apenas no sinal local da função de erro E, baseado em regras de aprendizado.

Um dos aspectos da descida do gradiente é que pesos muito distantes da camada de

saída são menos modificados e, conseqüentemente, aprendem mais lentamente.

Utilizando então o RPROP, o tamanho da atualização dos pesos depende apenas da

seqüência de troca de sinais das derivadas parciais, não dependendo da sua magnitude.

Dessa forma, com os pesos distantes da camada de saída tendo a mesma oportunidade de

aprendizado daqueles próximos à camada de saída, o aprendizado é distribuído de maneira

homogênea pela RNA, o que garante uma maior eficiência na aprendizagem da RNA.

3.1.4 Generalização das RNAs

Para garantir determinado grau de generalização para o aprendizado de uma RNA

pode-se utilizar técnicas como a validação cruzada. Ela permite o desenvolvimento de uma

boa generalização a partir de um conjunto de dados de treinamento (HAYKIN, 2002). Na

validação cruzada o conjunto de dados para treinamento, com seus respectivos vetores de

saída é dividido em dois subconjuntos: o conjunto de treino; e o conjunto de validação ou

teste.

Durante a etapa de treinamento de uma RNA do tipo perceptron de múltiplas

camadas, utilizando-se o algoritmo de retropropagação de erro, o erro quadrático médio

(mean squared error

MSE) inicia com um valor alto, decresce rapidamente e continua a

descer de modo mais lento enquanto a RNA busca um mínimo local na superfície do erro.

O MSE para uma rede de múltiplas camadas do tipo perceptron e definido por

Page 42: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

53

onde p é o número de padrões fornecidos como entrada para a RNA, s é o número de

neurônios na camada de saída da rede, tij é o valor objetivo para o neurônio i da camada de

saída dado um padrão de entrada j, e xij é o valor estimado (fornecido pela RNA) para o

neurônio i da camada de saída dado um padrão de entrada j.

É difícil determinar em qual época n deve-se suspender o treino quando se busca

uma boa generalização para a rede. Deve-se evitar que a RNA fique exaustivamente

adaptada aos dados de treino. Por isso, efetuam-se processos de treinamento e validação

chamados de treinamento com parada antecipada, que viabiliza a verificação da época mais

adequada para suspender o treinamento da rede.

Figura 24: Parada antecipada, baseada em validação cruzada (HAYKIN, 2002)

A Figura 24 ilustra a curva de aprendizado durante o treino, a partir da qual

poderíamos permitir que a RNA melhorasse seus resultados ao continuar ser treinada para

além do ponto mínimo da curva de aprendizado na validação. Porém, a partir deste ponto,

pode ocorrer um super aprendizado ou overtraining, i.e., a rede se especializa demais

nos dados de treinamento e, ao invés de generalizar, passa a decorar sugerindo que um

ponto mínimo na curva de aprendizado na validação seja utilizado adequadamente para a

suspensão da fase de treino da RNA (HAYKIN, 2002).

(3.1)

Page 43: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

54

3.2 Técnicas de Subtração de fundo

Quando câmeras estáticas são empregadas, uma técnica comum para extrair objetos

em movimento é a subtração de fundo (background subtraction). Basicamente, ela consiste

em se obter um modelo matemático do fundo (modelo do background) da cena, e subtrair

cada quadro da seqüência de imagens por este modelo. Pontos que atingem um

determinado limiar são associados aos objetos em movimento (foreground), e os demais

são associados ao fundo da imagem (background) (JACQUES, 2006). Em geral, as

técnicas de subtração de fundo seguem três etapas: treinamento, classificação e

atualização.

Treinamento: Consiste na estimativa de um modelo para o fundo (modelo

do background). Em alguns sistemas, é calculado dinamicamente, na

medida em que decorre o processo.

Classificação: É a etapa onde é definido se cada pixel (x,y) pertence ao

fundo da cena ou a algum objeto do foreground. É baseada na comparação

de cada quadro com o modelo de fundo.

Atualização: é responsável por manter a coerência do modelo de fundo,

tentando tratar eventuais mudanças como, de iluminação ou de geometria,

que possam ocorrer no modelo de fundo.

Há diversas abordagens para cada uma das etapas acima, e algumas técnicas de

subtração de fundo existentes na literatura serão brevemente descritas a seguir.

Page 44: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

55

3.2.1 Técnicas Utilizadas

Os primeiros métodos que surgiram para remoção de fundo foram os não-

estatísticos. A implementação desses métodos é simples e o resultado da segmentação é

relativamente bom para casos em que a variação de luz é mais suave e o fundo é estático.

São também conhecidos como Subtração Básica de Fundo (HALL et al, 2005). Esses

métodos pioneiros baseiam-se na diferenciação direta de quadros consecutivos em relação

a um limiar (OTSU, 1979)

Na mesma linha, o grupo de Cucchiara (CUCCHIARA et al., 1996) utiliza a

mediana, referente a sucessivas imagens capturadas durante um treinamento prévio para

representar o modelo de fundo. Nesses métodos não adaptativos, o modelo de fundo não

sofre atualizações após ser calculado. A etapa de classificação desses métodos funciona

com cada pixel da imagem do novo quadro, onde este é subtraído pelo pixel

correspondente do modelo.

Uma técnica bastante popular utilizada em grande escala na televisão é o Chroma-

Key (Wikipedia) (Figura 25). Consiste em colocar uma imagem sobre outra anulando uma

cor padrão. É muito comum serem utilizados tecidos de uma única cor, que cobrem a

região do fundo da cena, e utilizam luminosidade controlada para que essa cor mantenha

suas características. Apesar de ser uma solução razoável ao que se propõe, o Chroma-Key

acaba sendo pouco utilizado em problemas cotidianos de visão computacional. A luz

controlada e fundo estático de uma cor está longe de ser uma realidade em cenas do nosso

dia-a-dia.

Figura 25: Figura que ilustra a utilização da técnica Chroma-Key (Wikipedia)

Page 45: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

56

Uma proposta de subtração de background que combina informação de cor e

informação do gradiente para detecção de foreground, tratamento de sombras e valores de

pixels contendo pouca informação de cor foi introduzida por McKenna et al (MCKENNA

et al., 2000). Detecta regiões, pessoas e grupos de pessoas; cria modelos de aparência de

pessoas para que elas possam ser rastreadas também em situações de oclusão.

A abordagem estatística das técnicas de Subtração de Fundo permitiu construir

modelos de fundo mais sofisticados, que pudessem representar melhor a cena e as

mudanças que ocorrem nelas. Um dos pioneiros nessa abordagem foi o método Pfinder

(WREN, 1997) (Figura 26) que utiliza uma distribuição normal ou gaussiana para modelar

o fundo. A idéia do Pfinder é inicialmente realizar uma etapa de treinamento. Durante essa

etapa, é necessária a ausência total de objetos em movimento na cena. Assim, cada pixel (i,

j) do fundo é modelado de maneira independente, pois é calculado para cada um a sua

média (i, j)

e sua matriz de covariância. De posse desses dados, o método busca encontrar

uma função densidade de probabilidade Gaussiana nos últimos n valores dos pixels do

treinamento. Para evitar o recálculo constante da probabilidade Gaussiana, foram definidas

algumas equações para que os valores da média e covariância sejam atualizados

dinamicamente a cada quadro após o treinamento.

Figura 26: Método PFinder em interação com o usuário (WREN, 1997)

O método Pfinder é uma abordagem limitada e com resultados nem tão

satisfatórios. Apresenta alguns problemas que são: não suportar mudanças na iluminação,

não permitir mais de um único objeto em movimento e esperar mudanças lentas na

geometria do fundo. Este método serviu, entretanto, como base para os métodos de

Page 46: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

57

subtração de fundo que surgiram depois dele, como o Spfinder (AZARBAYJANI ; WREN;

PENTLAND, 1996) que utilizava câmeras em estéreo e o LOTS (BULT, 2001), criado

para aplicativos militares propondo mudanças para que o método se torne mais robusto,

principalmente para a camuflagem.

Um importante método proposto por Haritaoglu et al (HARITAOGLU; DAVIS,

2000) surgiu mais ou menos na mesma época do PFinder. Chamado W4, recebeu essa

denominação devido ao fato de que o sistema se propõe a resolver as quatro questões: o

que eles fazem? (What), onde eles atuam? (Where), quando eles atuam? (When) e quem

são eles? (Who). É um modelo estatístico de background, que utiliza imagens em tons de

cinza, e representa cada pixel por valores mínimo e máximo de intensidade, e diferença

máxima de intensidade entre quadros consecutivos, durante o período de aprendizado. O

sistema W4 é aplicado em vigilância visual para detectar e rastrear múltiplas pessoas, e

monitorar suas atividades em ambientes abertos. Opera com uma câmera capturando

imagens em tons de cinza ou infra-vermelho, uma vez que durante a noite se tem muito

pouca informação de cor. O W4 não faz nenhum tratamento para sombras. Utiliza uma

combinação de análise de forma e tracking para localizar pessoas e suas partes (cabeça,

mãos, pés e tronco) e para criar modelos de aparência de pessoas para que elas possam ser

rastreadas também em situações de oclusão. O sistema pode determinar quando uma região

de foreground contém múltiplas pessoas e consegue segmentar as pessoas para

acompanhá-las individualmente (Figura 27). Detecta também pessoas carregando um

objeto; cria modelos de aparência para os objetos para identificá-los em quadros futuros, e

reconhece quando uma pessoa deposita ou retira um objeto da cena (JACQUES, 2006).

Figura 27: Resultados obtidos com o método W4 (HARITAOGLU; DAVIS, 2000)

Page 47: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

58

Este método possui os mesmos problemas do Pfinder, além de não tratar sombras

(que são erroneamente detectadas como objetos em movimento). Uma extensão do método

W4, com tratamento de sombras, foi proposta por (JACQUES; JUNG; MUSSE, 2005).

Alguns resultados dessa técnica são ilustrados na Figura 28.

Figura 28: Remoção de sombra em extensão ao método W4 (JACQES; JUNG; MUSSE,

2005).

Outra abordagem para subtração de fundo com remoção de sombra foi proposta em

(JACQUES; JUNG; MUSSE 2006). Tal método utiliza a mediana temporal como modelo

de fundo, e explora a consistência espacial na etapa de classificação. O cálculo de

variâncias locais de razões de pixels é adotado para detectar e eliminar regiões de sombra.

Esse método é bastante rápido, requer apenas imagens monocromáticas e apresenta bons

resultados.

Deve-se salientar que existem várias outras técnicas de subtração de fundo com

remoção de sombra, mas a grande maioria explora informação de cor (CUCCHIARA et al.,

2003), (ELGAMAL et al., 2002), (KAEWTRAKULPONG; BOWDEN, 2003). Entretanto,

optou-se neste trabalho utilizar a técnica de (JACQUES; JUNG; MUSSE 2006), devido á

boa relação entre custo computacional, flexibilidade, desempenho e disponibilidade do

código.

Neste capítulo exploramos assuntos especialmente ricos como Redes Neurais

Artificiais e Subtração de Backgroud, onde seus conceitos e técnicas podem ser aplicados

em outros modelos. No capítulo 4 veremos particularmente, a aplicação destes

fundamentos na apresentação do modelo proposto por conta deste trabalho.

Page 48: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

59

4 Método proposto

O método apresentado neste capítulo propõe uma interface de interação do usuário

com o computador através do reconhecimento de padrões em imagens de posturas de

mãos, baseado em Visão Computacional, utilizando recursos das RNAs. Tem como

objetivo prover uma interface genérica a ser utilizada por outros sistemas de computação

em tempo real, e poderá ser integrado a sistemas de simulação de humanos virtuais para

fins de validação visual da interação e validação dos resultados.

No que diz respeito à interação homem-computador, o termo tempo real é muito

freqüentemente substituído pelo termo fortemente acoplado. Neste contexto, Fitzmaurice

et.al. (FITZMAURICE; ISHII; BUXTON, 1995) descrevem essa expressão como: Os

sistemas fortemente acoplados possuem uma perfeita sincronização entre suas

representações física e virtual, os objetos físicos são detectados continuamente em tempo

real . Entretanto, o termo perfeitamente sincronizado também exige uma tradução, dada

por ele como: Em aplicações reais sempre há uma latência (delay) entre a modificação do

mundo físico e a adaptação da representação virtual no computador.

A técnica apresentada consiste basicamente na aquisição quadro-a-quadro de

imagens de mãos do usuário, através de uma câmera de topo posicionada acima da

superfície observada. Nesta área, o usuário empostará suas mãos utilizando as posturas

previamente adotadas, a fim de interagir com a aplicação. Posturas pré-determinadas são

realizadas podendo-se utilizar ambas as mãos, tendo sido convencionadas funções

específicas para cada uma delas. Sendo assim, a mão esquerda poderá determinar

estrategicamente eventos quaisquer (dentro do contexto da interação com os humanos

virtuais), e à mão direita poderá ditar direções e a movimentação dos agentes, por exemplo.

Depois de postadas as mãos sobre a superfície e capturadas as imagens correspondentes às

posturas, técnicas de processamento de imagens tratarão de segmentar a cena adquirida de

forma a extrair os objetos de interesse (no caso, as mãos). Um vetor de informações para

cada mão será extraído com as características das imagens processadas naquele instante.

Este vetor de feições será composto por uma série de atributos ou métricas originadas das

imagens durante a etapa de processamento, e deve ser escolhido visando uma boa

Page 49: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

60

separação entre as diferentes posturas. O conjunto de dados resultante é enviado quadro-a-

quadro à RNA, onde se dá a classificação da postura utilizada, através do treinamento

prévio da rede neural. O próximo passo então é avaliar a consistência temporal das

respostas produzidas pela RNA, e remeter ao simulador de Humanos Virtuais as saídas

para que lá sejam tratadas e convertidas em comandos ou instruções necessárias para a

interação com os agentes virtuais.

Para melhor representar o modelo, o diagrama mostrado na Figura 29 subdivide as

etapas do processo, em fases distintas, como segue:

Fase 1

Etapa de aquisição e processamento das imagens através

técnicas de visão computacional;

Fase 2

Etapa do processo onde são aplicadas técnicas de treinamento e

classificação vias Redes Neurais Artificiais;

Fase 3 - Etapa onde os dados extraídos através do processo de

classificação interagem com a aplicação de simulação de humanos

virtuais.

Figura 29: Arquitetura do sistema proposto

Treinamento RNA

Classificador RNA

Aplicação de simulação de humanos

virtuais

Fase 2 Redes Neurais

Fase 3 Simulação de humanos virtuais

Fase 1 Visão Computacional

Aquisição e processamento das imagens

Page 50: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

61

4.1 Recursos utilizados

Na execução deste trabalho alguns recursos de hardware e de software foram

necessários. Listados brevemente, são comentadas suas particularidades, na medida em que

se faz necessário.

Com o objetivo não impactar significativamente sobre o hardware utilizado

atualmente nos microcomputadores domésticos fizemos uso durante o projeto, de um

notebook considerado padrão de comercialização nos dias de hoje. A Tabela 1 descreve

sucintamente as características do hardware utilizado.

Configuração utilizada nos experimentos do modelo

Processador 1.8 Ghz

Memória Principal 1 Gb

Disco Rígido 40 Gb

Webcam USB Resolução mínima 640x480

Tripé para máquina fotográfica Convencional com regulagem de altura

Tabela 1: Configuração do hardware utilizado

Para capturar as imagens que serviram de entradas ao sistema foi utilizada uma

câmera de topo, por permitir um campo de visão perpendicular à superfície de observação

(Figura 30). Com a finalidade de manter o objetivo inicialmente traçado, de um hardware

facilmente encontrado e por preços acessíveis, utilizamos durante os experimentos uma

webcam com resolução total de 640 x 480 pixels, de interface USB 2.0 (para permitir

maior velocidade na aquisição das imagens), afixada a aproximadamente 75 cm de altura

da superfície de observação. Esta superfície de observação é a área capaz de ser capturada

pela webcam, onde as posturas deverão ser executadas.

Alguns ambientes de software foram utilizados durante os experimentos. Na etapa

de aquisição e processamento das imagens, foi utilizado o Matlab, da Mathworks em sua

Page 51: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

62

versão R2006a (HANSELMAN; LITTLEFIELD, 2003). Em seguida, se fez necessária a

utilização do JavaNNS - Java Neural Network Simulator (JAVANNS, 2005) para criação

das RNAs em ambiente gráfico, e do SNNS2C - Stuttgart Neural Network Simulator

(SNNS, 1995) para a exportação das redes neurais para a linguagem C. Quando da

necessidade de integração entre os scripts Matlab e a customização dos procedimentos para

execução com as redes foi utilizado o ambiente de desenvolvimento Microsoft Visual

Studio 2005. A seguir, as etapas envolvidas no método proposto são descritas com maiores

detalhes.

Figura 30: Requisitos básicos do Sistema. Notebook padrão PC, webcam e tripé (JUNIOR;

JUNG; MUSSE; OSÓRIO; KEHL, 2007.)

4.2 Segmentação da mão

A primeira etapa necessária para a identificação das posturas é a segmentação das

mãos do usuário. Neste trabalho, comentaremos a segmentação das mãos em dois

contextos:

Em ambientes controlados, com fundo homogêneo e controle de

iluminação.

Em ambientes parcialmente controlados, com fundo genérico, e menor

controle de iluminação.

Page 52: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

63

4.2.1 Ambiente controlado

A fim de verificar a viabilidade técnica e, para extrair preliminarmente alguns

resultados, foi utilizado nos experimentos iniciais um ambiente bastante controlado. As

posturas foram executadas sobre uma superfície clara e homogênea, com iluminação o

mais uniforme possível, e o usuário utilizava uma camisa de manga de cor clara. Estes

requisitos tinham como objetivo produzir maior contraste entre as mãos e o fundo

facilitando o processo de segmentação da mão, a fim de possibilitar a extração de um vetor

de características ou feições para cada postura de mão.

Uma câmera posicionada por sobre a cena provendo uma visão de cima para baixo

(top-down) capturava imagens das posturas em cores, em 320×240 pixels. Para diferenciar

a região da imagem pertencente à mão foi usado apenas o canal de cor azul da câmera, pois

fornece uma baixa reflectância da cor da pele da mão em relação ao fundo claro. Apenas

com essas providências já foi possível uma boa distinção entre as intensidades da cor da

pele da mão em relação ao restante da imagem. Em seguida foi utilizado um simples limiar

adaptativo para identificar a região da mão (OTSU, 1979), assumindo que as mãos são

mais escuras do que as outras estruturas na cena.

Embora a simples limiarização forneça uma boa separação entre mãos e demais

estruturas, alguns artefatos devidos ao ruído e sombras permanecem. Em particular, as mão

segmentadas podem apresentar buracos, que podem ser preenchidos através de operadores

morfológicos. Em particular, foi aplicado sobre a imagem segmentada um fechamento

morfológico (GONZALEZ; WOODS, 2002) utilizando um elemento estruturante em

formato de diamante, com raio igual a n pixels estimado com base na dimensão das

imagens capturadas. Foram utilizados nos experimentos valores para n entre 2 e 4, tendo o

valor intermediário apresentado melhor resultado.

Mesmo depois do fechamento morfológico, algumas pequenas regiões isoladas

foram consideradas como sendo parte da mão. Porém, essas regiões classificadas

erroneamente são consideravelmente menores do que a área da mão propriamente.

Consideramos então a mão como elementos conexos da imagem e que possui a maior área.

Para extrair as duas mãos, analisam-se separadamente os semi-planos esquerdo e direito da

imagem, onde as respectivas mãos devem estar.

Page 53: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

64

Com estes procedimentos chegamos ao nosso objeto de interesse. A partir dele será

extraída uma moldura ou bounding box utilizado posteriormente para a obtenção dos

valores que servirão de entradas às RNAs para a classificação das posturas. A Figura 31

ilustra os passos descritos para a extração da imagem binária da mão.

Figura 31. a) Canal azul da imagem adquirida; b) Resultado da binarização; c)

Resultado do fechamento morfológico; d) Resultado final (restrito ao bounding box).

Embora os resultados obtidos com esta abordagem tenham sido satisfatórios, a

técnica descrita não é muito genérica. O fundo da cena deve ser claro e consideravelmente

uniforme (Figura 32) o que, limita sua aplicação prática.

Figura 32: Ilustra o controle do fundo da cena capturada em superfície clara facilitando o

contraste com a mão.

A seguir, é descrita uma abordagem considerada mais genérica, uma vez que não

necessita de controle total do fundo da cena.

Page 54: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

65

4.2.2 Segmentação por subtração de background

Uma segunda abordagem para extração das mãos é a utilização de técnicas de

subtração de background. Conforme descrito no Capítulo 3, há diversas técnicas existentes

de subtração de background, cujo objetivo principal é diferenciar o fundo estático de

objetos em movimento. Neste trabalho, foi escolhida a técnica proposta por (JACQES;

JUNG; MUSSE, 2006), por sua simplicidade, flexibilidade (pois não requer informação de

cor), e disponibilidade de código (obtido diretamente com os autores). Além disso, a

técnica oferece identificação e tratamento de sombras, que podem comprometer o resultado

da identificação das mãos. Tal técnica é descrita brevemente a seguir.

No primeiro instante do processo, é utilizado um filtro da mediana temporal em

cada pixel durante um determinado período de tempo para distinguir pixels em movimento

de pixels estáticos. O valor da mediana (x,y) em cada pixel é adotado como sendo o valor

esperado do fundo da cena. Ainda no treinamento, é estimado o desvio padrão (x,y) do

ruído da câmera para cada pixel da imagem. Entretanto, objetos em movimento tendem a

afetar significativamente a estimativa do desvio padrão. Assumindo que a maior parte dos

pixels no período de treinamento não contém objetos em movimento, o histograma de

(x,y) deve apresentar um pico grande próximo da origem, relacionado às estimativas

corretas do desvio padrão. Assim, é computado um valor m, que corresponde à posição do

primeiro pico no histograma de (x,y).

No período de teste, é calculada a diferença entre cada nova imagem I(x,y)

capturada pela câmera e o modelo de fundo (x,y). Além disso, como pixels relacionados a

objetos em movimento tendem a aparecer em blocos conexos (e não isolados), um

processo de coerência espacial é empregado. Mais especificamente, um pixel (x,y) faz parte

do fundo se:

,),( mkAyxI

onde

121

242

121

16

1A .

(4.1)

Page 55: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

66

O símbolo

denota a convolução, e k é uma constante que controla o desvio

máximo permitido da mediana (foi usado o valor k = 6, conforme sugerido pelos autores).

Pixels que não satisfazem a Equação acima são marcados como objetos em movimento.

Para identificação de sombras, a razão entre a imagem capturada pela câmera e o

modelo de fundo é explorada. De fato, a hipótese dos autores é que, em regiões de sombra,

tal razão é aproximadamente constante. Assim, um pixel (x,y) está em região de sombra se

stdR Lyx

yxIstd

),(

),(

e highLyx

yxI

),(

),(,

onde ),(

),(

yx

yxIstdR

denota o desvio padrão das razões em uma região retangular de

tamanho 3 x 3 centrada em (x,y), stdL é o limiar que controla o desvio máximo permitido

em uma região de sombra (foi usado stdL = 0.05), e highL é um limiar que impede que

regiões muito escuras sejam erroneamente classificadas como sombras (foi usado highL =

0.5).

Salienta-se que, assim como no processo de limiarização simples descrito na Seção

anterior, o resultado da subtração de fundo também apresenta ruído. Dessa forma, os

mesmos operadores morfológicos descritos na Seção anterior são empregados, assim como

o procedimento de escolher o componente conexo com maior área como sendo a mão. A

Figura 33 mostra o resultado da segmentação da mão em ambiente menos controlado e

ilustra as melhorias no processo de segmentação das mãos, onde foi utilizado a subtração

de background, com relação ao modelo que utiliza fundo branco e uniforme.

(4.2)

Page 56: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

67

Figura 33: Extração das mãos utilizando um fundo mais complexo

4.3 Definição das posturas e seleção do vetor de feições

Baseado nos estudos realizados durante este trabalho e tendo como suporte os

resultados obtidos nos experimentos anteriores, algumas posturas de mãos foram

selecionadas para possível utilização durante os testes com o protótipo. Inicialmente foi

dada a preferência à ergonomicidade entre as posturas, ou seja, as posturas mais fáceis de

serem realizadas em detrimento às mais difíceis. O objetivo aqui é maximizar o bem-estar

humano e o desempenho geral do sistema.

Igualmente, existe a necessidade de coerência entre as ações e movimentação dos

agentes na ferramenta de simulação e as posturas utilizadas pelo usuário durante a

interação. As funções e comandos atribuídos ao simulador de humanos virtuais devem

remeter a um comando de mão intuitivo, de fácil aprendizagem e memorização por parte

do usuário.

Page 57: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

68

Em seguida, outros critérios foram utilizados a fim de restringir o universo de

estudo. Para que o sistema apresente uma baixa taxa de erros na classificação, é necessário

que se escolha um conjunto de feições adequado para representar as posturas selecionadas.

Tais feições devem ser semelhantes ao máximo nas realizações da mesma postura, e

significativamente distintas para posturas diferentes. De fato, os problemas de definição

das posturas e seleção das feições dependem um do outro.

Com base no conjunto inicial de posturas de mão, cujo principal fator de

diferenciação era a posição dos dedos, optou-se por calcular as projeções vertical e

horizontal da imagem binarizada de cada mão para compor o vetor de feições. Outras

feições consideradas relevantes foram as dimensões do bounding box ao redor de cada

postura, principalmente para caracterizar a postura de mão fechada. Mais especificamente,

se B(x,y) representa a imagem binária de uma mão restrita a seu bounding box cujas

dimensões são yx NN , então as projeções vertical e horizontal são dadas,

respectivamente, por

N

Nky

N

Nk

Nxx

yy

x

yxBkP

)1(

0

),()( , para 1,...,0 Nk ,

N

Nlx

N

Nl

Nyy

xx

y

yxBlP

)1(

0

),()( , para 1,...,0 Nl ,

onde N representa a discretização empregada nas projeções. Foram utilizados nos

experimentos dez intervalos na discretização (ou seja, N = 10), gerando vinte valores de

projeções. Além disso, a largura e a altura do bounding box, também são incluídas no vetor

de características, gerando um total de vinte e duas feições. Este vetor de informações

características é enviado a uma Rede Neural Artificial como entrada, para treinamento e

posterior classificação.

Com base em um conjunto de posturas consideradas ergonômicas, foi selecionado

um subconjunto contendo aquelas que apresentaram o menor erro nas saídas das RNAs de

(4.3)

(4.4)

Page 58: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

69

acordo com as feições descritas acima. Foram então utilizadas seis posturas para cada uma

das mãos. A Figura 34 mostra as posturas selecionadas, enquanto a Figura 35 ilustra as

projeções, horizontal e vertical para a imagem binária relativa à postura de mão aberta

(terceira imagem da esquerda para a direita) da Figura 34.

Figura 34: Exemplos de posturas a serem reconhecidas

As imagens na Figura 31 pertencem respectivamente às classes adotadas como

saídas para a rede neural designada para as posturas da mão direita, como mostra a Tabela

2.

Postura Classe

0 dedos = mão fechada 1 0 0 0 0 0 1 dedo = dedo mínimo 0 1 0 0 0 0 5 dedos = mão aberta 0 0 1 0 0 0 1 dedo = dedo polegar 0 0 0 1 0 0 2 dedos = polegar + mínimo 0 0 0 0 1 0 1 dedo = indicador 0 0 0 0 0 1

Tabela 2: Relação entre as posturas e as respectivas classes.

Figura 35: Projeções em x e y de uma imagem de postura de mão aberta binarizada

0

500

1000

1500

2000

2500

3000

1 2 3 4 5 6 7 8 9 10

0

500

1000

1500

2000

2500

1 2 3 4 5 6 7 8 9 10

Page 59: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

70

Salienta-se que algumas outras características poderiam ter sido extraídas das

imagens, e adicionadas no vetor de feições. Por exemplo, a densidade de preto e branco da

imagem, a alternância entre pretos e brancos, etc. Entretanto, isso não se fez necessário,

uma vez que os resultados obtidos através das redes neurais foram excelentes em resposta

às feições utilizadas. Além disso, as respostas visuais ao processo funcionaram

razoavelmente bem, e adicionar mais etapas no processamento das imagens poderia

impactar diretamente no custo computacional do modelo.

4.4 Detecção das posturas e gestos usando Redes Neurais

Para o reconhecimento das posturas descritas na Seção anterior, foram utilizadas

duas redes neurais do tipo MLP, cada uma delas com a função específica de classificar

posturas de uma das mãos. Ambas possuem 22 neurônios na camada de entrada da rede, 22

neurônios na camada oculta e 6 neurônios na camada da rede responsável pela saída. Esta

configuração 22-22-6 foi escolhida por ter apresentado o melhor resultado em comparação

com outras topologias testadas previamente.

Figura 36: Topologia da rede 22-22-6 criada a partir do JavaNNS

As redes neurais concebidas neste estudo foram criadas a partir de uma ferramenta

de modelagem chamada JavaNNS. Este programa possui uma interface gráfica que facilita

a visualização da arquitetura da rede neural e auxilia na configuração dos parâmetros

Page 60: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

71

utilizados nas simulações. Ajuda também na visualização dos logs e dos gráficos do erro

de aprendizado (e.g. MSE - Mean Squared Error, SSE - Sum of Squared Errors). A Figura

36 mostra a arquitetura utilizada para as redes neurais modeladas para este estudo.

O treinamento das redes também foi feito através do JavaNNS. As bases de treino

foram geradas automaticamente por um processo específico e independente, baseado na

fase de processamento das imagens. Essa base contém os vetores de características para

cada postura onde cada uma das 6 posturas (classes) possui um número igual de exemplos

em cada uma das bases.

Para o processo de aprendizagem, foi escolhido o algoritmo de aprendizagem

supervisionado RPROP - Resilient Propagation baseado no algoritmo Back-Propagation,

pelo fato de ter um melhor desempenho em um número menor de épocas. Foram utilizados

nos experimentos com este modelo apenas 1000 épocas.

Uma quantidade muito grande de dados foi gerada em momentos distintos, e foi

utilizada a validação cruzada para estimar e validar significativamente as taxas de

acertos/erros. De um total de 7.200 padrões, 75% do conjunto total dos dados compõem a

base de dados de treino, enquanto 25% do total compõem a base de teste ou validação. Na

base de treino, foram utilizados 5400 padrões (6 classes x 900 imagens por classe) durante

o aprendizado supervisionado. Na base de dados de teste, foram utilizadas 1800 imagens (6

classes x 300 imagens por classe) durante a etapa de validação da rede. Os 5400 padrões

que compõem a base de dados de treino serviram para ajustar os pesos da rede, enquanto

que os 1800 padrões que compõem a massa de dados de teste forneceram a avaliação do

desempenho do classificador.

Foram feitas dez rodadas de execuções diferentes, utilizando a semente randômica

diferente a cada rodada, dando origem a dez redes neurais devidamente treinadas e que

sofreram a avaliação do software SNNS e Analyse. As Tabela 3 e 4 mostram os resultados

obtidos nas dez execuções das redes, uma para cada mão.

Após o processo de análise dos resultados, as redes que obtiveram o menor erro

durante a etapa de validação foram escolhidas para serem utilizadas durante os

experimentos. Para ser utilizada com a mão direita foi adotada a rede 1, enquanto a rede da

mão esquerda tem como melhor resultado a rede 9.

Page 61: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

72

Execução Épocas Treino Teste

Rede1 Step 1000 MSE: 0.018623551262749567 0.15270731608072916 Rede2 Step 1000 MSE: 0.03425416946411133 0.17964818318684897 Rede3 Step 1000 MSE: 0.021111102634006076 0.3000764634874132 Rede4 Step 1000 MSE: 0.014249976476033528 0.21736282348632813 Rede5 Step 1000 MSE: 0.040007519192165795 0.19174628363715276 Rede6 Step 1000 MSE: 0.01416572994656033 0.24733030531141492 Rede7 Step 1000 MSE: 0.014689216613769531 0.17121610853407118 Rede8 Step 1000 MSE: 0.025991391075981987 0.2148279995388455 Rede9 Step 1000 MSE: 0.02205216301812066 0.2381883748372396 Rede10 Step 1000 MSE: 0.03337131924099392 0.20755196465386286

Tabela 3: Resultados obtidos com dez execuções da RNA da mão direita

Execução Épocas Treino Teste

Rede1 Step 1000 MSE: 0.010080315272013347 0.10994441562228732 Rede2 Step 1000 MSE: 0.010090399848090278 0.13670039706759982 Rede3 Step 1000 MSE: 0.005202996465894911 0.13060415479871962 Rede4 Step 1000 MSE: 0.0023330487145317926 0.1454690890842014 Rede5 Step 1000 MSE: 0.00272970093621148 0.12717302958170573 Rede6 Step 1000 MSE: 0.00713078498840332 0.12945120069715713 Rede7 Step 1000 MSE: 0.0055176321665445964 0.14626825968424478 Rede8 Step 1000 MSE: 0.013432250552707248 0.14580540974934897 Rede9 Step 1000 MSE: 0.015933024088541668 0.10367241753472223 Rede10 Step 1000 MSE: 0.00478118896484375 0.12233692593044705

Tabela 4: Resultados obtidos das dez execuções da RNA da mão esquerda

O processo descrito acima identifica, a cada quadro capturado pela câmera, a

postura da mão do usuário. Para a identificação dos gestos, analisa-se a evolução temporal

das posturas detectadas. Sendo assim, existe a possibilidade de identificação de posturas de

maneira equivocada, uma vez que os quadros correspondentes às transições entre as

posturas também são submetidas ao processo de extração de características. Essas

transições entre posturas, ou posturas intermediárias podem ser classificadas erroneamente

pelas redes neurais gerando resultados que não corresponderiam à realidade e a intenção do

usuário. Ainda, mudanças rápidas de luminosidade ou pequenas sombras que surgem

rapidamente sobre a superfície durante a interpretação das posturas, e após a geração do

modelo do fundo da cena, podem também resultar em ruídos dificultando a interação.

Para que esses ruídos ou transições entre posturas sem controle não fossem

repassados diretamente à aplicação de simulação de humanos virtuais, é utilizado um

método de coerência temporal com o objetivo de aguardar que a postura a ser executada

Page 62: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

73

pelo usuário se estabilize, e somente após estar imóvel pro algum tempo, repassar a classe

respectiva à aplicação de destino. Neste modelo, validamos uma quantidade mínima

exigida para posturas classificadas como pertencendo à mesma classe, para somente depois

enviá-la via sockets para a aplicação. Objetivamente, uma postura classificada é adotada

como válida apenas depois de ter se mantido estável por mais de i quadros consecutivos.

Valores maiores para i geram resultados mais estáveis, mas com maior atraso. Por

outro lado, valores menores para i geram menor atraso, mas maior instabilidade.

Experimentalmente, constatou-se que i = 3 fornece um bom compromisso entre tempo de

resposta e estabilização da postura. Deve-se notar que, se o vídeo for processado a uma

taxa de f quadros por segundo, então o atraso entre a mudança efetiva da postura e sua

estabilização detectada é de f

i1000 milisegundos. No caso ideal de processamento a 30

quadros por segundo, tal atraso fica em 100 milisegundos (na prática, a velocidade de

processamento é menor, como será descrito no capítulo 6).

4.5 Interface com o simulador

Em conjunto com especialistas e desenvolvedores do Laboratório de Modelagem de

Ambientes e Humanos Virtuais da Pontifícia Universidade Católica do Rio Grande do Sul,

responsáveis pela ferramenta de simulação de Humanos Virtuais denominada VHSimul,

foram listadas algumas possibilidades de interação que podem ser passados ao simulador

através das posturas de mão. Existe a possibilidade de serem simulados através da interface

proposta a movimentação de câmeras, a movimentação de humanos virtuais, apontamentos

e eventos de mouse, funções de rendering, de interface entre outros.

Com a finalidade de restringir o universo de possibilidades e proporcionar uma

experiência realmente válida em termos de funcionalidade e resultados da interação, optou-

se por usar na aplicação os comando ou funções mais utilizadas no simulador. Perfazem

um total de doze ações a serem simuladas, dentre elas eventos de mouse e eventos de

Page 63: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

74

movimentação. A Tabela 5 abaixo descreve exemplos de comandos que podem ser

simulados pela ferramenta de humanos virtuais para cada uma das possíveis posturas mãos.

Comandos ou funções simuladas

Mão esquerda Mão direita

Criar agente Movimentar agente/grupo para frente

Deletar agente Movimentar agente/grupo para trás

Selecionar agente Movimentação agente/grupo a direita

Selecionar próximo agente Movimentação agente/grupo a esquerda

Selecionar todos os agentes Movimentação de câmera para frete

Deletar seleção Movimentação de câmera para trás

Tabela 5: Exemplos de ações que podem ser executadas pelo simulador através de posturas

de mãos

A interação do usuário com o sistema, executada através de uma postura,

processada através de técnicas de visão e classificada pelas redes neurais artificiais, deve

ser encaminhada à aplicação de simulação de humanos virtuais (Figura 37) para a resposta

visual ao estímulo capturado através da câmera.

Figura 37: A interação do usuário serve como estímulo para o agrupamento de humanos

virtuais em formação militar (versão anterior do modelo) (JUNIOR; JUNG; MUSSE;

OSÓRIO; KEHL, 2007)

Page 64: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

75

Implementamos um protótipo em versão inicial utilizando a comunicação através

de sockets. Por terem produzidos resultados satisfatórios, as versões mais recentes mantêm

o mesmo tipo de comunicação entre os processos, que viabiliza a comunicação através de

rede de computadores, como ilustra a Figura 38. Dessa forma os processos podem ser

executados em máquinas diferentes e utilizando plataformas heterogêneas. Elas apenas

necessitam utilizar o mesmo esquema de endereçamento, protocolo e serviços de rede.

Dentro da arquitetura pretendida, um Servidor (máquina onde esta rodando o

simulador de humanos virtuais) cria um Socket , que fica aguardando que um Cliente

(máquina atualmente responsável pela interface) inicie a comunicação e fique mandando

mensagens para esta área. Estas mensagens, enviadas via Socket, nada mais são dos que as

classes de posturas classificadas pelas redes neurais.

Figura 38: Arquitetura de funcionamento de um socket

Os resultados visuais por conta da utilização do usuário com ambas as mãos não

foram produzidos até o presente momento. Isso se dá, uma vez que a implementação para a

integração entre a interface proposta e a ferramenta de simulação de humanos virtuais

ainda não chegou ao seu término. Porém, julgamos possível reproduzir os mesmos

resultados obtidos com as versões anteriores do protótipo. Na versão ilustrada pela Figura

Page 65: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

76

37 acima, a interação do usuário com apenas uma mão obteve excelentes resultados.

Portanto, são esperados os mesmos resultados para a versão estendida do modelo, que está

sendo apresentado aqui, onde as duas mãos do usuário são utilizadas durante a interação.

A seguir, serão apresentados os resultados produzidos por conta dos experimentos

com modelo proposto, utilizando inicialmente um protótipo utilizando apenas uma mão.

Em seguida, os resultados preliminares conseguidos com aplicação do modelo estendido

para a utilização das duas mãos.

Page 66: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

77

5 Resultados experimentais

Este capítulo descreve os resultados obtidos por conta da técnica proposta, explora

os resultados obtidos pela segmentação e pelo uso das redes neurais, e comenta algumas

limitações encontradas no modelo.

Primeiramente, alguns resultados foram obtidos com a implementação de um

protótipo utilizando a segmentação da mão em ambientes controlados (conforme descrito

na seção 4.3.1), e utilizando apenas uma mão. Embora tal protótipo exija um ambiente

controlado, ele produziu uma classificação robusta, conforme ilustrado na Tabela 6. Um

artigo relativo a este protótipo denominado Animando Humanos Virtuais em Tempo-Real

Usando Visão Computacional e Redes Neurais

foi publicado e apresentado na

conferência SVR 2007 - IX Symposium on Virtual and Augmented Reality , em 2007.

O resumo desse artigo se encontra no Anexo A deste documento.

Tabela 6: Resultados da etapa de validação/testes da Rede Neural - SVR 2007

(JUNIOR; JUNG; MUSSE; OSÓRIO; KEHL, 2007)

Objetivando que o protótipo rodasse em ambientes menos controlados, passou-se a

desenvolver um modelo estendido onde não fosse necessária a exigência de fundo branco e

homogêneo. Foi utilizado um algoritmo de subtração de fundo para segmentação das mãos

(ver seção 4.3.2), e foi incluída a análise das duas mãos ao invés de apenas uma. O modelo

de segmentação via subtração de fundo utilizado neste trabalho (Figura 39) mostrou que é

Page 67: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

78

possível lidar com alguns problemas, tais como: a superfície de observação pouco

controlada, e sombras geradas no primeiro plano. Embora alguns problemas ainda tenham

persistido, os modelos de detecção e segmentação das mãos tiveram resultados

satisfatórios.

Figura 39: Ambiente com fundo menos controlado, utilizando subtração de backgroud e

remoção de sombras

Para garantir uma boa generalização por parte das redes neurais, utilizou-se uma

técnica denominada validação cruzada ou cross-validation , onde os dados de entrada das

redes neurais foram divididos em 2 bases de dados denominadas base de treinamento e

base de testes/validação. Então, com a finalidade de instruir as redes neurais no

aprendizado supervisionado durante a etapa de treinamento, utilizamos um total de 10.800

imagens, adquiridas em momentos bem distintos, em diferentes condições de

luminosidade, posicionamento da câmera e superfície de fundo. Cada uma das mãos

contribuiu com 5400 imagens de posturas onde três pessoas/usuários, com mãos de

diferentes tamanhos participaram do processo (mão pequena - criança, mão média - mulher

Page 68: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

79

e mão grande - homem). Cada uma destas pessoas forneceu 300 imagens para cada uma

das posturas escolhidas. A base de dados de treinamento das redes neurais foi então

composta por 300 imagens de cada postura, de um total de seis posturas, totalizando 1800

padrões por usuário (300 imagens x 6 posturas x 3 usuários = 5.400 imagens x 2 mãos =

10.800 padrões).

Da mesma forma, para ser utilizada na etapa de validação/teste com as redes

neurais foi gerada uma base de dados contendo 3.600 imagens, destas 1.800 para cada uma

das mãos. Cada um dos três usuários contribuiu com 100 imagens de mãos para cada uma

das posturas escolhidas. Cada usuário foi responsável pelo total de 600 imagens, somando

1800 padrões a serem utilizados para validar o aprendizado das redes neurais artificiais

(100 imagens x 6 posturas x 3 usuários = 1.800 imagens x 2 mãos = 3.600 padrões).

A Figura 40 mostra os resultados por conta da RNA responsável pela classificação

das posturas relativas à mão direita.

De um total de 1800 padrões submetidos à validação (após executada a etapa de

treinamento), 1794 foram classificados corretamente, representando 99,67% de sucesso,

enquanto que em apenas 6 ocorrências não houve a exata classificação (Figura 41). Os

dados extraídos através da ferramenta Analyze detalham também os resultados conseguidos

pela RNA escolhida para classificar as posturas da mão direita, relacionando os problemas

encontrados com a postura da classe nº 4 onde 294 padrões foram classificados com êxito

de um total de 300.

Page 69: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

80

Figura 40: Exemplos de postura com maior ocorrência de erros na etapa de classificação.

Figura 41: Matriz de Confusão

RNA escolhida para posturas da mão direita

Page 70: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

81

A Figura 42 mostra o log da evolução do erro médio quadrático, para as 1000

épocas inicias, e o gráfico desta evolução é mostrado na Figura 43, extraído a partir do

software JavaNNS.

Figura 42: Log da evolução do MSE em 1000 épocas.

Figura 43: Gráfico da evolução do MSE para as 1000 épocas iniciais.

Os resultados por conta da RNA designada à classificação das posturas da mão

esquerda estão dispostos abaixo, tendo sido obtidos nas mesmas condições da rede

responsável pela classificação das posturas da mão direita. Assim, 5.400 posturas formam

a base de dados de treino e 1.800 posturas mantém a base de dados de validação,

fornecidas pelos três usuários participantes dos experimentos.

Page 71: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

82

A Figura 44 fornece a Matriz de Confusão, a Figura 45 mostra a evolução do MSE

através de seu log e a Figura 45 mostra o gráfico da evolução do MSE para a rede da mão

esquerda em 1000 épocas. Como se pode perceber, houve 100% de acerto na classificação

da mão esquerda.

Figura 44: Matriz de Confusão

RNA escolhida para posturas da mão esquerda

Page 72: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

83

Figura 45: Log da evolução do MSE em 1000 épocas - posturas da mão esquerda

Figura 46: Gráfico da evolução do MSE para as 1000 épocas iniciais

posturas da mão

esquerda

Foi possível validar visualmente a interação do usuário com o protótipo do

sistema antes mesmo da integração ao simulador de humanos virtuais. As saídas

resultantes desta interação são impressas em uma tela de interface textual, onde os dados

Page 73: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

84

ali disponíveis são: as posturas classificadas pelas redes neurais, e os comandos resultantes

dessa classificação (só é adotada como comando uma postura após estar estável

3

quadros simultâneos classificando a mesma postura). Os comandos, resultantes desta

interação em função do tempo, estão diretamente relacionados aos padrões obtidos nas

saídas das RNAs.

Quando testada a interação de diferentes usuários, onde as dimensões das mãos são

significativas, o comportamento do sistema se mostrou estável. Foram utilizadas para a

geração dos resultados com o protótipo mãos pequenas, mãos médias e mãos grandes de

diferentes usuários. O resultado visual desta interação se mostrou satisfatório. A Figura 47

mostra os testes com a utilização de mãos de tamanhos diferentes, onde uma criança

interage com o protótipo.

Figura 47: Testes com o protótipo com mãos de tamanhos diferentes

No que diz respeito ao posicionamento da câmera, notou-se que pequenas

diferenças de altura e de angulação não repercutiram significativamente nos resultados

obtidos, salientando que não houve variações propositadas de altura da câmera durante a

aquisição das imagens de treino. Durante os experimentos (Figura 48), procurou-se manter

esta diferença no ângulo e na altura da câmera inferiores a 20%.

Page 74: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

85

Figura 48: Diferença na altura e ângulo da câmera - regulagens levemente diferentes

5.1 Limitações do modelo

Algumas limitações por parte do modelo foram identificadas, e poderão ser

reavaliadas em trabalhos e experimentos futuros. Basicamente, as dificuldades encontradas

estão diretamente relacionadas ao ambiente, onde a posição e a quantidade das fontes

emissoras de luz podem produzir resultados diferentes em termos de sombras. Quando o

modelo se depara com sombras mais homogêneas, o processo de remoção é executado com

sucesso. Por outro lado, diferentes fontes emissoras de luminosidade e com intensidades

diferentes podem produzir inúmeras sombras, dificultando o processo de remoção.

Modificando os parâmetros utilizados na técnica de remoção de sombras adotada neste

trabalho, as sombras podem ser removidas com sucesso, porém o resultado da segmentação

(Figura 49) passa a ser de qualidade inferior impactando diretamente na imagem adquirida.

Outra dificuldade encontrada durante os estudos se dá quando o fundo da cena

ou superfície de observação é homogêneo e muito parecido com a cor das mãos e a sua

textura. Nesse caso, o modelo subtração do background pode não funcionar

eficientemente, gerando uma segmentação errônea das mãos.

Page 75: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

86

Figura 49: Diferentes fontes de luminosidade podem gerar resultados não satisfatórios no

processo de segmentação

Também se deve salientar que a oscilação ou a movimentação indesejada da câmera

após a geração do modelo do background exige que a aplicação seja reiniciada, uma vez

que torna o fundo da cena diferente daquele que anteriormente foi adquirido para a geração

do modelo.

Page 76: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

87

6 Considerações finais e trabalhos futuros

Este trabalho apresentou uma proposta de interação homem-computador através da

análise de posturas de mãos utilizando visão computacional e redes neurais artificiais.

Inicialmente, uma câmera de topo captura uma seqüência de imagens das mãos, que são

identificadas através de um processo de limiarização ou técnicas de subtração de

background. Um vetor de feições baseado em projeções horizontais e verticais da imagem

binária representando cada mão é então utilizado para treinar uma RNA no período de

treinamento. No período de operação, os vetores de feição são calculados e fornecidos para

a RNA, que classifica a postura conforme o aprendizado no período de treinamento. A

evolução temporal das posturas é então explorada para identificação de gestos, que são

utilizados como comandos de entrada para outros aplicativos.

Os resultados experimentais indicaram que a técnica proposta apresenta uma ótima

taxa de acertos nas posturas identificadas pela RNA, e alguma flexibilidade em termos de

variação do tamanho das mãos e altura da câmera entre o período de treinamento e de

operação. De fato, os testes realizados indicaram uma taxa de acerto de 99,67% na

classificação para a mão direita, e 100% para a mão esquerda na base de dados utilizada

para validação. Entretanto, deve-se salientar que a presença de iluminação variável e/ou

não-uniforme pode comprometer o processo de segmentação das mãos, degradando assim

o resultado do classificador. Além disso, os equipamentos encontrados atualmente no

mercado apresentam configuração igual ou melhor à utilizada neste trabalho (notebook

com processador de 1.8Ghz, memória RAM de 1GB, disco rígido de 40GB, e webcam

USB 2.0), indicando a aplicabilidade do método proposto. Em termos de custo

computacional, o protótipo implementado em MATLAB no equipamento mencionado

apresentou uma velocidade de execução média de 2,5 quadros por segundo, o que gera um

atraso de 1,2 segundos entre a troca efetiva da postura e sua identificação pelo sistema

(conforme descrito na Seção 4.4). Embora este atraso possa comprometer a interação em

tempo-real com o aplicativo, espera-se que a implementação em linguagens compiladas

(como C ou C++) deva reduzir significativamente o tempo de execução. Além disso, o uso

Page 77: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

88

de computadores mais potentes, que atualmente estão disponíveis no mercado, também

pode contribuir para a aumentar a velocidade de processamento do algoritmo proposto.

Apesar dos resultados promissores demonstrados pela técnica proposta, há diversas

possibilidades para trabalhos futuros que podem trazer melhorias significativas à técnica,

gerando resultados ainda mais robustos. Dentre essas melhorias, poderíamos citar:

Estudar novas feições para caracterizar as posturas, de modo que posturas

mais intuitivas e confortáveis possam ser identificadas com robustez.

Utilizar informação colorida na subtração de background, visando melhorar

a detecção de sombras.

Explorar modelos de cor de pele, para aprimorar a segmentação das mãos.

Estender o modelo para trabalhar em espaço 3D (possivelmente com a

utilização de duas ou mais câmeras);

Implementar o modelo proposto em linguagens compiladas (como C ou

C++), visando reduzir o tempo de execução.

Page 78: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

12

Referências

ALVES, F. O. Reconhecimento Inteligente de Sinais de Trânsito Brasileiros. Unisinos: Informática, Trabalho de Conclusão de Curso (TCC). São Leopoldo, RS, 2004.

AZARBAYJANI , A.: WREN, C.; PENTLAND, A. "Real-Time 3D Tracking of the human body". s.l. : Proc. IMAGE'COM, 1996.

BALLARD, D. H.; BROWN, C. M. Computer Vision. Englewood Cliffs, Prentice- Hall, 1982.

BOSE, N. K.; LIANG, P. Neural Network Fundamentals with Graphs, Algorithms and Applications, McGraw-Hill, 1996.

BOULT, T. E., et al. "Into the woods: Visual Surveillance of noncooperative and camouflaged targets in complex outdoor settings". Proceedings of the IEEE. October 2001, pp. 1382-1402.

BROGAN, D. C.; JOHNSON, N. L. Realistic humanwalking paths. Proceedings of Computer animation and social Agents, IEEE Computer Society, p. 94101, 2003.

CADOZ, C.; WANDERLEY, M. M.. Gesture-Music. In M. Wanderley and M. Battier: Trends in Gestural Control of Music. Paris: IRCAM - Centre Pompidou, 2000.

CHAN, A; LAU, R.; Li, L.. Hand Motion Prediction for Distributed Virtual Environments. IEEE Transactions on Visualization and Computer Graphics, Vol. 14, No. 1, January/February 2008

CHEN, Q; GEORGANAS N. D.; PETRIU E. M. Real-time Vision-based Hand Gesture Recognition Using Haar-like Features. Instrumentation and Measurement. Technology Conference

IMTC 2007 Warsaw, Poland, May 1-3, 2007

CHENNEY, S. Flow tiles. Eurographics/ACM SIGGRAPH Symposium on Computer Animation, p. 233242, 2004.

CUCCHIARA, R., et al. "Detecting Objects, Shadows and Ghosts in Video Streams by Exploiting". Italy : D.S.I. - University of Modena and Reggio Emilia, 1996.

CUCCHIARA, R. et al. Detecting moving objects, ghosts, and shadow in video streams. IEEE Transactions on Pattern Analysis and Machine Intelligence, v. 25, n. 10, p. 13371341, October 2003.

Page 79: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

13

DE PAULA, L. R. P., BONINI, R., AND DE MIRANDA, F. R.. Camera kombat - Interação Livre para Jogos. SBGAMES - V Brazilian Symposium on Computer Games and Digital, 2006.

EBERHART, Russ. Computational intelligence PC Tools. - Boston : AP Professional, 1996. xxvii, 464 p.

FAHLMAN, S. E.; LEBIERE, C. The Cascade-Correlation Learning Architecture. Carnegie Mellon University - CMU, Computer Science Technical Report - CMU-CS-90-100. February 1990. http://www.cs.cmu.edu/Reports/index.html .

FREEMAN, W., ANDERSON, D. and BEARDSLEY, P., Computer Vision for Interactive Computer Graphics. IEEE Computer Graphics and Applications, 1998.

FISCHER, I., HENNECKE F., BANNES C., and ZE, A.. Javanns - java neural network simulator - user manual, version 1.1, 2005. http://wwwa.informatik.unituebingen.de/downloads/JavaNNS/

FITZMAURICE, G., ISHII, H. and BUXTON, W., Bricks: Laying the Foundations of Graspable User Interfaces. ACM conference on Computer-Human Interaction, 1995.

GALLAGHER, M. R.. Multi-layer Perceptron Error Surfaces: Visualization, Structure and Modelling. Doctor of Philosophy (PhD) Thesis. Department of Computer Science and Electrical Engineering - University of Queensland - Australia. 225 p. il. 2000.

GALLNAT, S Neural Network Learning and Expert Systems. MIT Press, Cambridge. USA, 1993

GONZALEZ, R. C.; WOODS, R. E.. Digital Image Processing. Addison-Wesley, Reading, MA, USA, 3 edition, 1992.

GONZALES, R.C., WOODS, R. E. Digital Image Processing, 2nd ed., New Jersey: Prentice-Hall, 2002.

HALL, D., et al. Beijing : "Comparison of target detection algorithms using adaptive background models . Proc. 2nd Joint IEEE Int. Workshop on Visual Surveillance and Performance Evaluation of Tracking and Surveillance, (VS-PETS), October 2005. pp 113-120.

HALL, D. and CROWLEY, J., Tracking Fingers and Hands with a Rigid Contour Model in an Augmented Reality, International Workshop on Managing Interactions in Smart Environments, 1999.

HANDENBERG, C., Fingertracking and Handposture Recognition for eal-Time Human-Computer Interaction, Master These at Fachbereich lektrotechnik und Informatik der Technischen Universität Berlin. 2001.

Page 80: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

14

HARITAOGLU, D. H. I.; DAVIS, L. S. W4: Who? when? where? what? a real time system for detecting and tracking people. In: FG 98: Proceedings of the 3rd. Internacional Conference on Face & Gesture Recognition. Washington, DC, USA: IEEE Computer Society, 1998. p. 222. ISBN 0-8186-8344-9.

HARITAOGLU, D. H. I.; DAVIS, L. S. W4: Real-time surveillance of people and their activities. PAMI, v. 22, n. 8, p. 809830, August 2000.

HAYKIN, S. Redes Neurais

Princípios e Prática, 2.ed. Porto Alegre: Bookman, 2001. 900p.

HAYKIN, S. Redes neurais: princípios e prática. - 2. ed.

Porto Alegre : Artes Médicas, 2002. 900 p

HELBING, D.; FARKAS, I.; VICSEK, T. Simulating dynamical features of escape panic. Nature, v. 407, p. 487490, 2000.

HONG, D. and WOO, W., A Background Subtraction for a Vision-based User Interface, ICICS-PCM 2003, Singapore, December 2003.

HORN, B. K. P. "Robot Vision". s.l. : Massachusetts Institute of Technology, 1986.

HU, W., et al. "A Survey on Visual Surveillance of Object Motion and Behaviors". s.l. : IEEE Trans. SMC, August, 2004. Vol. 34, 3. pp. 334-353.

JACQES, C.S.J., JUNG, C. R., MUSSE, S. R Background Subtraction Model Adapted to Illumination Changes, IEEE International Conference on Image Processing, Atlanta, USA. Proceedings of the IEEE International Conference on Image Processing. IEEE Press, 2006. p.1817

1820

JACQES, C.S.J. Utilizando visão computacional para simular comportamentos de multidões de humanos virtuais. Dissertação de Mestrado em Computação Aplicada. Unisinos, São Leopoldo, 2006.

JACQES, C.S.J., JUNG, C. R., MUSSE, S. R "Background Subtraction and Shadow Detection in Grayscale Video Sequences", in Proceedings of SIBGRAPI, Natal, Brazil, October 2005, pp. 189196, IEEE Press.

JAVANNS: Java Neural Network Simulator University of Tübingen. Available at http://www-ra.informatik.unituebingen.de/software/JavaNNS/, 2005.

JUNIOR, N. F. S., JUNG, C. R., MUSSE, S. R, OSÓRIO, F. S, KEHL, T. " Animando Humanos Virtuais em Tempo-Real usando Visão Computacional e Redes Neurais ". IX Symposium on Virtual and Augmented Reality, 2007.

KJELDSEN, R; KENDER. J. Toward the use of gesture in traditional user Interfaces. In Proc. of IEEE International Conference on Automatic Face and Gesture Recognition, 1996. Pages 151-156.

Page 81: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

15

KOHAVI, R. J. G., LONG R. , MANLEY, D & PFLEGER K (1994), MLC++ A machine learning library in C++ in Tools with Artificial Intelligence IEEE Computer Society Press, pp 740-743

MACKI, J.; MCCANE, B. Finger detection with decision trees. In proceedings of Image and Vision Computing, pages399403, New Zealand, 2004.

MACCORMICK, J. and ISARD, M., Partitioned sampling, articulated objects and interface-quality hand tracking. European Conference on Computer Vision, 2000.

MANRESA, C.; VARONA, J.; MAS, R.; PERALES, F. J.. Hand Tracking and Gesture Recognition for Human-Computer Interaction. Electronic Letters on Computer Vision and Image Analysis 5(3): 96-104, 2005

HUNT, B.; LIPSMAN, R.; ROSENBERG, J.; COOMBES, K.; OSBORN, J.; STUCK G. A Guide to MATLAB for Beginners and Experienced Users, 2001 - Information on this title: www.cambridge.org/9780521803809

HANSELMAN, D.; LITTLEFIELD B. - MATL AB 6: Curso completoPrentice Hall, 2003. - http://www.mathworks.com

MITCHELL, T. Machine Learning. WCB / McGrall-Hill - Computer Science Series, Boston, MA, 1997.

MULDER, A. Design of Virtual Three-Dimensional Instruments for Sound Control. PhD. thesis. Burnaby, BC, Canada: Simon Fraser University, 1998.

MUSSE, S. R.; OSÓRIO F. S., F. GARAT, M. GOMEZ, and D. Thalmann. Interaction with virtual human crowds using artificial neural networks to recognize hands postures. In Proceedings of III Workshop on Virtual Reality, pages 107 118, Gramado, RS, Brazil, 2000.

NEVES, J., CORTEZ, P. An Artificial Neural Network

Genetic Based Approach for Time Series Forecasting. In: Brazilian Symposium on Neural Networks, 4, 1997. Proceedings... Sociedade Brasileira de Computação, Belo Horizonte - MG, 1997. p.9-13.

OKA, K.; SATO, Y.; KOIKE, H., Real-time Tracking of Multiple Fingertips and Gesture Recognition for Augmented Desk Interface ystems, In IEEE Automatic Face and Gesture Recognition, Washington, .C. May 2002.

OSORIO, F. S.; AMY, B. INSS: A Hybrid System for Constructive Machine Learning . NeuroComputing 28(1999) 191-205. Elsevier Science, Amsterdam.

OSÓRIO, F. S.; VIEIRA, R.. Sistemas Híbridos Inteligentes. Tutorial apresentado no ENIA'99 - Encontro Nacional de Inteligência Artificial - XIX Congresso Nacional da Sociedade Brasileira da Computação (SBC). 61 p. il. 1999.

OSÓRIO, F. S.; BITTENCOURT, J.R. Sistemas Inteligentes Baseados em Redes Neurais Artificiais Aplicados ao Processamento de Imagens. I Workshop de Inteligência Artificial.

Page 82: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

16

Departamento de Informática - Universidade de Santa Cruz do Sul (UNISC). 28 p. il. Junho de 2000.

OTSU, N. A threshold selection method from gray-level histograms. IEEE Transactions on Systems, Man and Cybernetics, 9(1):6269, 1979.

PAVLOVIC, V., SHARMA, R. and HUANG, T., Visual Interpretation of Hand Gestures for Human-Computer Interaction: A Review, IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 1997.

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

QUINLAN, J. R.. Bagging, boosting and c4.5. In In Proceedings of the Thirteenth National Conference on Artificial Intelligence, pages 725730, Menlo Park, CA, 1996.

REZENDE, S. O.. Sistemas inteligentes: fundamentos e aplicações. Ed. Manole, São Paulo, 2003.

REYNOLDS, C. W. Flocks, herds and schools: a distributed behavioral model. SIGGRAPH, v. 21, n. 21, p. 2534, July 1987.

RIEDMILLER, M. and BRAUN, H. A direct adaptive method for faster backpropagation learning: The RPROP algorithm. In Proc. of the IEEE Intl. Conf. on Neural Networks, pages 586591, San Francisco, CA, 1993.

ROSIN, P. L.; ELLIS, T. Image difference threshold strategies and shadow detection. 6th

British Machine Vision Conf., Birmingham, p. 347356, 1995.

RUMELHART, D., HINTON, G., and WILLIAMS, R. Learning Internal Representations by Error Propagation - In: Parallel Distributed Processing. Cambridge: MIT Press, vol.1 edition, 1986.

SATO, H. K. Y.; SAITO, M. Real-time input of 3d pose and gestures of a users hand and its applications for hci. IEEE Virtual Reality Conference 2001 (VR01), page 79, March 2001.

SNNS - The Stuttgart Neural Network Simulator. University of Stuttgart

Institute for Parallel and Distributed High Performance Systems (IPVR), 1995.

SOILLE, Pierre. Morphological Image Analysis

Principles and Applications. Berlin: Springer, 1999.

STURMAN, D. J., ZELTZER D:. A survey of glove-based input. IEEE Computer Graphics and Applications, 14:3039, January 1994.

TRUYENQUE, M. A. Q. Uma Aplicação de Visão Computacional que Utiliza Gestos da Mão para Interagir com o Computador, Dissertação (mestrado)

Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática, 2005.

Page 83: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

17

UKITA, N. and KIDODE, M., Wearable Virtual Tablet: Fingertip Drawing on a Portable Plane-Object using an Active-Infrared Camera. International Conference on Intelligent User Interfaces, 2004.

ULICNY, B.; CIECHOMSKI, P. de H.; THALMANN, D. Crowdbrush: Interactive authoring of real-time crowd scenes. Eurographics/ACM SIGGRAPH Symposium on Computer Animation, p. 243252, 2004.

ZIMMERMANN, T. G., LANIER J., BLANCHARD, C., BRYSON, S., HARVILL, Y.: A hand gesture interface device. In In Proceedings ACM Conf. Human Factors in Computing Systems and Graphics Interface, pages 189192, 1987

WANG, L.; HU, W.; TAN, T. Recent developments in human motion analysis. Pattern Recognition, v. 36, p. 585601, 2003.

WEKA Machine learning project homepage, http://www.cs.waikato.ac.nz/~ml/ (August 2004)

WREN, C. R., et al. "PFinder: real-time tracking of the human body". IEEE Transactions on Pattern Analysis and Machine Intelligence. 1997, Vol. 19, no. 7, pp. 780-785.

Page 84: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

18

Anexo - Publicações

Segue o resumo do artigo Animando Humanos Virtuais em Tempo-Real Usando Visão Computacional e Redes Neurais, desenvolvido no decorrer deste trabalho, submetido e aceito no SVR 2007 - IX Symposium on Virtual and Augmented Reality, em 2007.

RESUMO

Este artigo propõe o desenvolvimento de um modelo para animação de grupos de

humanos virtuais em tempo real, controlados através de posturas de mão, que são

identificadas por Redes Neurais. O trabalho também inclui pesquisa na área de visão

computacional para detecção de características de imagens que são enviadas a redes

neurais para treinamento e posterior identificação de posturas. Estas são enviadas, em um

sistema cliente-servidor, para serem estímulos de movimento a uma ferramenta de

animação de grupos de humanos virtuais. Este artigo descreve detalhes técnicos deste

modelo, apresenta os resultados obtidos e discute trabalhos futuros.

Page 85: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Livros Grátis( http://www.livrosgratis.com.br )

Milhares de Livros para Download: Baixar livros de AdministraçãoBaixar livros de AgronomiaBaixar livros de ArquiteturaBaixar livros de ArtesBaixar livros de AstronomiaBaixar livros de Biologia GeralBaixar livros de Ciência da ComputaçãoBaixar livros de Ciência da InformaçãoBaixar livros de Ciência PolíticaBaixar livros de Ciências da SaúdeBaixar livros de ComunicaçãoBaixar livros do Conselho Nacional de Educação - CNEBaixar livros de Defesa civilBaixar livros de DireitoBaixar livros de Direitos humanosBaixar livros de EconomiaBaixar livros de Economia DomésticaBaixar livros de EducaçãoBaixar livros de Educação - TrânsitoBaixar livros de Educação FísicaBaixar livros de Engenharia AeroespacialBaixar livros de FarmáciaBaixar livros de FilosofiaBaixar livros de FísicaBaixar livros de GeociênciasBaixar livros de GeografiaBaixar livros de HistóriaBaixar livros de Línguas

Page 86: Visão Computacional e Interface Homem- Máquina na Animação ...livros01.livrosgratis.com.br/cp057727.pdf · Interfaces alternativas de interação com o computador vêm sendo desenvolvidas

Baixar livros de LiteraturaBaixar livros de Literatura de CordelBaixar livros de Literatura InfantilBaixar livros de MatemáticaBaixar livros de MedicinaBaixar livros de Medicina VeterináriaBaixar livros de Meio AmbienteBaixar livros de MeteorologiaBaixar Monografias e TCCBaixar livros MultidisciplinarBaixar livros de MúsicaBaixar livros de PsicologiaBaixar livros de QuímicaBaixar livros de Saúde ColetivaBaixar livros de Serviço SocialBaixar livros de SociologiaBaixar livros de TeologiaBaixar livros de TrabalhoBaixar livros de Turismo