Download PDF
ads:
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
200
8
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
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
200
8
ads:
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
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 most
ravam
nebulosas
.
Em especial
aos
meus pais, Nelson e Ana Maria (in memorian), pelos
ensinamentos, incansáveis durante toda a vida.
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
classifica
m 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
-
Chav
e:
Visão Computacional, Interação Humano-
Computador
(IHC), Posturas de mão, Redes Neurais, Humanos Virtuais.
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.
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,;MYSLIWI
EC; 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) alg
oritmo 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; GEORGANA
S; 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
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
Fig
ura 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; M
USSE, 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 bin
arizaçã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 utili
zando 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
Figura 37: A i
nteraçã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 fu
ndo 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
Figu
ra 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
-
pos
turas 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
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
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
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 virt
uais
................................
................................
..
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 Erro
49
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 Re
rilient 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
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çõe
s do modelo
................................................................
................................
..
85
6 Considerações finais e trabalhos futuros
................................
................................
.......
87
Referências
Anexo
-
Publicações
RESUMO
26
1 Introdução
O reconhecimento de padrões está engajado no campo da V
isão
C
omputacional
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 pap
el
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áv
eis
a uma que ofereça maior funcionalidade ou desempenho do sis
tema.
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 comportam
entos.
Agora, com a massificação de dispositivos como
webcam
s,
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 d
e 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
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 Si
nos
.
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.
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
sistema
s
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 objet
ivos 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;
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 Neurai
s 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.
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 esfocada em trabalhos
rel
ativos
à
interação do usuário com hum
anos 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,
segmenta
dores 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
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 adeq
uada par
a 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 Computaci
onal.
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 do
s
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)
relata
vam
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-
re
ais , gerados pelo computador.
32
Figura 1: Data Glove expondo os dispositivos internos (ZIMMERMANN; LANIER;
B
LANCHARD; 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
modelo
s 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 baseado
s 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
Finge
r
Mouse
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.
33
Figura
2:
Configuração inicial proposta
por Queck, Mysliwiec e Zhao
, teclado e máscara
de teclado ut
ilizada
(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
orie
ntação para reconhecer diferentes posturas da mão
(FREEMAN; ANDERSON;
BEARDSLEY, 1998)
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 c
urvas
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 con
torno 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)
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:
Demonst
raçã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)
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) algor
i
tmo 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
Weka
1
.
Figur
a 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 vid
eogame.
1
http://www.cs.waikato.ac.nz/ml/
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 trei
namento
. 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
finito
s, para a classificação. A mão pode ser classificada em quatro categorias
de
gesto
s
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
j
oysticks
.
Figura
10
: Contornos das mãos em diferentes fundos e com diferentes condiç
ões de
luminosidade
(
MANRESA
; VARONA; MAS; PERALES,
2005
).
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 um
a
ú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
co
m
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.
Baseado
s
na
cascata
de
classificadores
(Figura 12), uma estrutura paralela é aplicada para classificar
dife
rentes posturas mão.
39
Figura 12: Resultados da detecção da postura dois dedos
(
CHEN; GEORGANAS
;
PETRIU
, 20
07)
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.
40
Figura 13: Ilustra
os
gestos previstos num intervalo de 0,5 segundos entre eles
(
CHAN
;
LAU;
LI, 2008).
41
2.2
Inter
ação com grupos de hu
manos 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.
Muss
e 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
um
a
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 R
NAs
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)
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.
43
3 Fundamentos
Tendo como base a literatura existente, e a estratégia que se pretende adotar neste
trab
alho, serão apresentados neste capítulo fundamentos sobre as Redes Neurais Artificiais
e sobre subtração de b
ackground
. 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íve
is
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ôn
ios
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 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
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
nodo
s
(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.
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 x
j na entrada da sinapse j conectada ao neurônio k é multiplicado pelo peso sináptico
W
kj. 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
46
treinar a rede. Existem diversas topologias de RNAs que distinguem-se pelo 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
sinapse
s com a camada de saída em
sentido único, ou seja, esta rede é sempre alimentada adiante
(Figu
ra 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ó
camad
a 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.
47
A Figura 20
mostra uma rede
fe
edforward
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
,
exclusi
vamente 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 para
da
, com a última iteração a ser dada
como a saída para o nodo (RIEDMILLER; BRAUN, 19
93).
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 i
teraçã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-
Supervis
io
nado
49
(HAYKIN, 2002) (EBERHART , 1996) (O
SÓ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.
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.
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 d
o 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,
segund
o (RUMELHA
RT
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.
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 a
tualizaçã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, co
nseqüentem
ente, 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, utiliz
ando
-se o algoritmo de retropropagação de erro, o erro quadrático médio
(mean squar
ed
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
53
onde
p é o mero de padrões fornecidos como entrada para a RNA, s é o número de
neurônios na camada de saída da rede, t
ij
é o valor objetivo para o neurônio i da camada de
saída dado um padrão de entrada j, e x
ij
é 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 re
de.
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
overtraini
ng, 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)
54
3.2
Técnicas de Subtração de fundo
Quando câmeras estáticas são empregadas, uma técnica comum para extrair objeto
s
em movimento é a subtração de fundo (
background subtraction)
. Basicamente, ela consiste
em se obter um modelo matemático do fundo (modelo do backgroun
d)
da cena, e subtrair
cada quadro da seqüência de imagens por este modelo. Pontos que atingem um
determ
inado 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.
Treina
mento: 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 mo
delo de fundo.
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.
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)
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
pixel
s 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) (F
igura
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 pi
xels
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
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? (W
hat
), 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 (F
igura
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
: Resultado
s obtidos com o método W4
(HARITAOGLU; DAVIS, 2000)
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 propos
ta
por
(
JACQ
U
ES
;
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
pixel
s é adotado para detectar e eliminar regiões de s
ombra.
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 (CUCCHI
ARA 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 e
xplora
mos
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
fundam
entos na apresentação do modelo proposto por conta deste trabalho.
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
sistema
s de simulação
de
h
umanos
v
irtuais
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
;
BUXTO
N,
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 q
uadro
-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 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 human
os
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
image
ns
correspondente
s
à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
imagen
s
durante a etapa de processamento, e deve ser escolhido visando uma boa
60
separação entre as diferentes posturas. O conjunto de dados resultante é
enviado
quadro
-a-
q
uadro
à RNA,
onde
se
a
classificação da postura utiliz
ada
, 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 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
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
pixel
s, 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
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
necessi
dade 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
Stu
dio 2005.
A seguir, as etapas envolvidas no método proposto são descritas com maiores
d
etalhes.
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.
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
pixel
s. Para diferenciar
a região da imagem pert
encente à 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 foi possível uma boa distinção entre as intensidades da cor da
pele da mão e
m 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
pixel
s 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ão
s devem estar.
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.
65
4.2.2
Segmentação por subtração de bac
kground
Uma segunda abordagem para extração das mãos é a utilização de cnicas de
subtração de
backg
r
ound
. Conforme descrito no Capítulo 3, 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
du
rante um determinado período de tempo para distinguir
pixel
s em movimento
de
pixel
s 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:
,),(
m
kAyxI
onde
121
242
121
16
1
A
.
(4.1)
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
std
R
L
yx
yxI
std
),(
),(
e
high
L
yx
yxI
),(
),(
,
onde
),(
),(
yx
yxI
std
R
denota o desvio padrão das razões em uma região retangular de
tamanho 3 x 3 centrada em (
x,y
)
,
std
L é o limiar que controla o desvio máximo permitido
em uma região de sombra (foi usado
std
L = 0.05), e
high
L é um limiar que impede que
regiões muito escuras sejam erroneamente classificadas como sombras (foi usado
high
L
=
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
mel
horias 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)
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.
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
N
ky
N
N
k
Nx
x
yy
x
yxBkP
)1(
0
),()(
, para
1
,...,
0 Nk
,
N
N
lx
N
N
l
Ny
y
xx
y
yxBlP
)1(
0
),()(
, para
1
,...,
0 Nl ,
o
nde
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 vet
or
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)
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 3
4
.
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 ded
os = 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
a
s 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
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 utilizad
as
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
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 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 supervisiona
do. 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 T
abela 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 resul
tados
, 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 r
ede 9.
72
Execução
Épocas
Treino
Teste
R
ede1
Step 1000 MSE:
0.018623551262749567
0.15270731608072916
R
ede2
Step 1000 MSE:
0.03425416946411133
0.17964818318684897
R
ede3
Step 1000 MSE:
0.021111102634006076
0.3000764634874132
R
ede4
Step 1000 MSE:
0.01424997
6476033528
0.21736282348632813
R
ede5
Step 1000 MSE:
0.040007519192165795
0.19174628363715276
R
ede6
Step 1000 MSE:
0.01416572994656033
0.24733030531141492
R
ede7
Step 1000 MSE:
0.014689216613769531
0.17121610853407118
R
ede8
Step 1000 MSE:
0.0259913910759
81987
0.2148279995388455
R
ede9
Step 1000 MSE:
0.02205216301812066
0.2381883748372396
R
ede10
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
R
ede1
Step 1000 MSE:
0.010080315272013347
0.10994441562228732
R
ede2
Step 1000 MSE:
0.010090399848090278
0.13670039706759982
R
ede3
Step 1000 MSE:
0.005202996465894911
0.13060415479871962
R
ede4
Step 1000 MSE:
0.0023330487145317926
0.1454690890842014
R
ede5
Step
1000 MSE:
0.00272970093621148
0.12717302958170573
R
ede6
Step 1000 MSE:
0.00713078498840332
0.12945120069715713
R
ede7
Step 1000 MSE:
0.0055176321665445964
0.14626825968424478
R
ede8
Step 1000 MSE:
0.013432250552707248
0.14580540974934897
R
ede9
Step 1000
MSE:
0.015933024088541668
0.10367241753472223
R
ede10
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 à realid
ade 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 dificultan
do 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 exec
utada
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 some
nte 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
ins
tabilidade.
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
i
1000
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
M
odelagem de
Ambientes e H
umanos
V
irtuais
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 possibilida
de de
serem
simulado
s
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
74
movimentação. A T
abela
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 a
gente
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 se
rve como estím
ulo para o agrupamento de humanos
virtuais em formação militar (
versão anterior do modelo)
(JUNIOR; JUNG; MUSSE;
OSÓRIO; KEHL, 2007)
75
Implementamos um protótipo em versão inicial utilizando a comunicação através
de
socket
s
.
Por terem produz
idos
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
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 u
tilização das duas mãos.
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 m
odelo.
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
contr
olado, 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)
Obje
tivando que o protótipo rodasse em ambientes menos controlados, passou-se a
desenvolver um modelo esten
dido 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 s
eçã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 é
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
b
ackgroud
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, util
izamos
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
contribu
iu 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
79
e mão grande -
home
m). 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 ferr
amenta
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.
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
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.
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
83
Figura
45
:
Log da evolução do
MSE
em 1000 épocas
-
post
uras 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
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%.
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
backgrou
nd pode não funcionar
eficientemente, gerando uma segmentação errônea das mãos.
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
backgrou
nd 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.
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
pa
ra 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
me
rcado 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
88
de computadores mais potentes, que atualmente estão disponíveis no mercado, também
pode
contribu
ir
para a aumentar a velocidade de processamento do algoritmo proposto.
Apesar dos resultados promissores demonstrados pela técnica proposta, diversas
possibilidades
para trabalhos futuros que podem trazer melhorias significativas à 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 confo
rtá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.
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.
BROGA
N, D. C.; JOHNSON, N. L. Realistic humanwalking paths. Proceedings of
Computer animation and social Agents, IEEE Computer Society, p. 94
101, 2003.
CADOZ
, C.;
WANDERLEY
, M. M.. Gesture-Music. In M. Wanderley and M. Battier
:
Trends in Gestural Control o
f
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. 233
242, 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.
1337
1341, October 2003.
13
DE PAULA, L. R. P., BONINI, R., AND DE MIRANDA, F. R.. Camera kombat -
Interação Livre p
ara Jogos.
SBGAMES
-
V Brazilia
n Symposium on Comput
er 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, 19
98.
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/JavaN
NS/
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
Modelli
ng. 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
lekt
rotechnik und Informatik der
Technischen Universität Berlin. 2001.
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. 809
830, 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 pan
ic.
Nature, v. 407, p. 487
490, 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
JACQ
ES, 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. 189
196, 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 Conf
erenc
e on Automatic Face and Gesture
Recognition,
1996.
P
ages 151
-
156.
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, pages399
403, New Zealand, 2004.
MACCORMICK, J. and ISARD, M., Partitioned sampling, articulated objects and
interface
-
quality hand tracking. European Conferenc
e 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.
;
ROSENBE
RG
,
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 Co
mputaçã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.
OS
ORIO, 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.
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):62
69, 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 725
730,
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. 25
34, 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 586
591, San Francisco, CA, 1993.
ROSIN, P. L.; ELLIS, T. Image difference threshold strategies and shadow detection. 6
th
British Machine Vision Conf., Birmingham, p. 347
356, 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 user
s hand and
its applications for hci. IEEE Virtual Reality Conference 2001 (VR
01), page 79, March
2001.
SNNS
- The Stuttgart Neural Network Simulator. University of Stutt
gart
Institute for
Parallel and Distributed H
igh 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 Compu
ter
Graphics and Applications, 14:30
39, 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, Departa
mento de Informática, 2005.
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. 243
252, 2004.
ZIMMERMANN, T. G., LANIER J., BLANCHARD, C., BRYSON, S., HARVILL, Y.: A
hand gesture interface device. I
n In Proceedings ACM Conf. Human Factors in Computing
Systems and Graphics Interface, pages 189
192, 1987
WANG, L.; HU, W.; TAN, T. Recent developments in human motion analysis. Pattern
Recognition, v. 36, p. 585
601, 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.
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.
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo