You are on page 1of 6

Interface Homem-Máquina para Movimentação Bidimensional de Objeto Através de

Reconhecimento de Posturas Corporais por Visão Computacional – Projeto


Labirinto

Alex Torquato Souza Carneiro Karla Rodrigues Brito Renan Pacheco Silva
Ciência da Computação Ciência da Computação Ciência da Computação
Universidade Ibirapuera - UNIb Universidade Ibirapuera - UNIb Universidade Ibirapuera - UNIb
São Paulo - SP, Brasil São Paulo - SP, Brasil São Paulo - SP, Brasil
Email: alextcarneiro@gmail.com Email: karla.r.brito@gmail.com Email: renan silva31@yahoo.com.br

Resumo—Este artigo propõe e avalia uma metodologia metodologia proposta neste artigo para a implementação da
para controlar o movimento bidimensional de um objeto em interface homem-máquina e as restrições adotadas para a
tempo-real utilizando uma interface de visão computacional. A utilização da mesma, a Seção IV apresenta o resultado obtido
validação da metodologia é feita em um protótipo funcional de
uma aplicação de entretenimento digital desenvolvido em um e a Seção V faz as conclusões e expõe as expectativas futuras
ambiente de simulação. relacionadas ao projeto desenvolvido.
Keywords-visão computacional; reconhecimento de posturas II. M ATERIAIS E FUNDAMENTOS
corporais; interatividade.
O projeto Labirinto abordado neste artigo como ambiente
I. I NTRODUÇÃO para validação da metodologia proposta consiste de um
sistema dividido em cinco etapas, baseado em trabalhos de
Visão computacional é um conceito que tem permitido um dos autores [1], [2], conforme apresentado na Figura 1.
a pesquisa de diversas inovações no contexto do entreteni-
mento digital, principalmente no que diz respeito à interface
de interação do usuário com o sistema.
Em especial, a área de jogos digitais tem sido expressiva-
mente beneficiada pelas inovações nas interfaces de intera-
ção com o usuário por visão computacional, inclusive com
produtos e aplicações disponíveis comercialmente, como por
exemplo o Kinectr fabricado pela empresa Microsoftr e o
PlayStation 3r fabricado pela empresa Sonyr .
Este artigo propõe e analisa uma metodologia para a
implementação de uma interface homem-máquina de baixo
custo concebida para a plataforma PC (personal computer)
baseada em visão computacional com a finalidade de ser
utilizada para fazer a movimentação bidimensional de um
objeto a partir do reconhecimento de posturas corporais
do usuário, esta metodologia é aplicada na elaboração de
um sistema de entretenimento interativo entitulado projeto
Labirinto. Além da proposta da metodologia para uma
interface homem-máquina baseada em visão computacional,
este artigo também tem o objetivo de apresentar um sistema
funcional desenvolvido em um ambiente de hardware e
software que podem ser adquiridos sem a necessidade de
nenhum investimento em dispositivos ou aplicações não
Figura 1. Diagrama do sistema proposto.
disponham de recursos específicos de interatividade, como
o Kinectr ou algum software de interatividade.
A Seção II deste artigo apresenta o sistema proposto e Cada etapa do sistema apresentado na Figura 1 corres-
define os fundamentos teóricos conforme utilizados para a ponde a um passo da metodologia proposta e é detalhada a
elaboração deste artigo, a Seção III apresenta e analisa a seguir.
A. Ambiente de simulação e desenvolvimento 
1, se f (x, y) ∈ Rd
Os algoritmos e métodos apresentados nesta seção estão L(x, y) = , (1)
0, se f (x, y) ∈
/ Rd
implementados em um computador da marca CCEr , com a
seguinte configuração: em que L(x, y) é o rótulo correspondente ao pixel da posição
r (x, y) e Rd denota o conjunto de valores de pixels cor-
• processador Intel CoreT M i3 1,6GHz 32bits,
• 2GB de memória RAM, e respondentes ao objeto ou região de interesse. Usualmente,
• 500GB de HD. o conjunto Rd consiste de uma região determinada por
O ambiente de simulação utilizado consiste no software limiares, por isto este algoritmo é denominado segmentação
Scilab1 e a API SIVp (Scilab Image and Video Processing por limiarização [4].
toolbox). Uma vez isolada a região de interesse da imagem, o passo
seguinte é extrair atributos que descrevam as propriedades
B. Captura das imagens utilizadas no processo de reconhecimento das posturas.
As imagens são capturadas através de uma webcam da
D. Extração de atributos geométricos
marca Chaoqr de 1,3 MPixels de resolução no padrão de
cores RGB 24 bits. As imagens são armazenadas como três Os descritores geométricos adotados neste projeto são
matrizes sendo uma para cada canal de cor R, G e B. A os Momentos Invariantes de Hu, baseados nos Momentos
figura a seguir apresenta a disposição dos valores de cada Centrados, os quais consistem em um conjunto de seis
matriz da imagem. atributos e apresentam invariabilidade à rotação, translação
e distância do objeto em análise com relação ao dispositivo
de captura de imagens [3], [4], [5].
O Momento Centrado de ordem pq em uma imagem
f (x, y) é definido por [5]
Z ∞Z ∞
µpq = (x − x̄)p (y − ȳ)q f (x, y)dxdy, (2)
−∞ −∞

em que [x̄ ȳ]T corresponde à posição do centro de massa


da imagem f (x, y) e as componentes x̄ e ȳ são definidas
por
R∞ R∞
xf (x,y)dxdy
x̄ = R−∞ −∞
∞ R∞ e
R ∞ R ∞ f (x,y)dxdy
−∞ −∞
. (3)
yf (x,y)dxdy
ȳ = R−∞ −∞
∞ R∞
f (x,y)dxdy
−∞ −∞

A partir da definição dos momentos centrados, define-se


Figura 2. Disposição dos valores em cada matriz da imagem. os Momentos Invariantes de Hu como apresentado a seguir

Cada elemento da matriz da imagem apresentada na φ1 = µ20 + µ02 ,


Figura 2 corresponde a um valor de 8 bits, que representa um
número inteiro dentro do intervalo [0, 255]. O passo seguinte φ2 = (µ02 − µ20 )2 + 4µ211 ,
consiste em fazer a segmentação da região de interesse da
imagem. φ3 = (µ30 − 3µ12 )2 + (µ03 − 3µ21 )2 ,

C. Segmentação da região de interesse φ4 = (µ30 + µ12 )2 + (µ03 + µ21 )2 ,


Por se tratar de um sistema de baixo custo, o algoritmo (4)
de segmentação escolhido é a limiarização simples aplicada φ5 = (µ30 − 3µ12 )(µ30 + µ12 )× 
em cada um dos canais de cor da imagem. A limiarização (µ30 + µ12 )2 − 3(µ03 + µ21 )2
é a técnica de segmentação mais difundida em aplicações +(µ03 − 3µ21 )(µ03 + µ21 )× 
de processamento digital de imagens. O processo de seg- (µ03 + µ21 )2 − 3(µ30 + µ12 )2 ,
mentação por limiarização isola os objetos ou regiões de 
interesse rotulando cada pixel da imagem f (x, y) de acordo φ6 = (µ20 − µ02 ) (µ30 + µ12 )2 − (µ03 + µ21 )2 +
com o seu valor, conforme apresentado a seguir 4µ11 (µ30 + µ12 )(µ03 + µ21 ).
1O Scilab é desenvolvido como software livre e está disponível no site: O vetor x = [φ1 φ2 φ3 φ4 φ5 φ6 ]T corresponde a entrada
http://www.scilab.org/. dos classificadores usados na identificação dos padrões.
E. Reconhecimento das posturas corporais identificado, o objeto sofre uma movimentação que con-
O reconhecimento das posturas é realizado através do al- siste na atualização de sua posição atual incrementando ou
goritmo de classificação supervisionada de Distâcia Mínima decrementando uma das componentes do vetor de posição.
ao Centróide (DMC). O algoritmo de DMC é implementado Para este artigo, são utilizados quatro posturas que quando
em duas etapas: treinamento e teste. A etapa de treinamento identificadas correspondem às direções cima, baixo, direita
consiste em tomar o conjunto de dados previamente conhe- e esquerda.
cidos, organizados em uma tabela, sendo a última coluna Na seção seguinte são descritos os conceitos e métodos
referente à classe que compreende o conjunto de dados, e apresentados nesta seção.
calcular o centróide de cada classe, conforme apresentado a III. M ETODOLOGIA PROPOSTA
seguir
O primeiro passo da metodologia é a elaboração de
T uma interface mínima para o usuário conforme o exemplo
m i = [φ̄1 φ̄2 φ̄3 φ̄4 φ̄5 φ̄6 i] (5)
apresentado na figura a seguir.
para uma classe i. A Figura 3 mostra como é criada a curva
de decisão para um problema em quesão analisados dados
T
de duas componentes m i = φ̄1 φ̄2 i que correspondem
a duas classes.

Figura 4. Interface de interação com o usuário.


Figura 3. Resultado do treinamento do algoritmo de DMC para um
conjunto de dados de duas componentes.
A imagem da Figura 4 é composta por quatro diferentes
elementos dispostos segundo uma matriz de posições. A
O teste do algoritmo consiste em apresentar um conjunto próxima figura apresenta os quatro elementos utilizados na
de dados que não tenha sido usado na etapa de treinamento elaboração da tela de interface com o usuário.
x e atribuir a este a classe correspondente ao centróide mais A interface tem a função de apresentar ao usuário o objeto,
próximo valendo-se para isto de uma métrica de distância apresentado na Figura 5(b), que movimenta-se ao longo de
previamente estabelecida, para este artigo é utilizada a um labirinto virtual. No caso da aplicação desenvolvida, o
distância euclidiana objetivo é fazer com que o objeto chegue à bandeira, Figura
5(d), desviando dos blocos, Figura 5(c).
c = arg min {kx − m i k} , (6) Uma vez que a interface está concluída e funcional, é feita
∀i
a validação da comunicação entre a webcam e o software
caso a classe real do conjunto de dados x seja conhecida,
Scilab, a qual é feita através da biblioteca SIVp2 (Scilab
é possível contabilizar os erros e acertos do classificador e
Image and Video Processing toolbox).
assim determinar a expectativa de acerto [5], [6].
Estando as imagens provenientes da webcam disponíveis
Após o reconhecimento da postura, o passo seguinte do
para manipulação pelo Scilab, é preciso determinar como
sistema é a movimentação do objeto.
a segmentação por limiarização deve ser implementada.
F. Movimentação do objeto Empiricamente, obteve-se que a forma mais eficiente de
A posição do objeto em um dado momento t é dada 2 A biblioteca SIVp também é desenvolvida como software livre e está
pelo vetor p(t) = [px (t) py (t)]T , a depender do padrão disponível para instalação pelo próprio Scilab.
permite a extração de caracteríticas locais da região segmen-
tada.
Para o reconhecimento das posturas, adota-se duas etapas
para o sistema de classificação a primeira para treinamento
do sistema, em que são calculados os centróides do classi-
(a) (b) ficador, e a segunda de utilização do sistema, nesta etapa
acontece a movimentação do objeto.
A etapa de treinamento do classificador consiste em o
usuário apresentar as diferentes posturas para que o sis-
tema associe-as com cada direção do movimento, conforme
ilustrado na figura a seguir.
(c) (d)

Figura 5. Elementos utilizados na elaboração da tela de interface com o


usuário.

segmentar a região vermelha da imagem, que corresponde à (a)


região de interesse, é data pelas equações

1, se fR (x, y) > 122
LR (x, y) = , (7)
0, se fR (x, y) ≤ 122
para o canal de cor R,

1, se fG (x, y) < 122 (b)
LG (x, y) = , (8)
0, se fG (x, y) ≥ 122
para o canal de cor G, e

1, se fB (x, y) < 122
LB (x, y) = , (9)
0, se fB (x, y) ≥ 122
para o canal de cor B. A aplicação da segmentação gera (c)
três imagens binárias, uma para cada canal de cor, as quais
são submetidas a uma intersecção das áreas rotuladas com
o valor 1.
Após segmentada, a região vermelha é dividida em quatro
quadrantes, conforme apresentado na figura a seguir.

(d)

Figura 7. Posturas apresentadas para o sistema que correspondem às


movimentações (a) para cima, (b) para baixo, (c) para direita e (d) para
esquerda.

Após o treinamento dos classificadores, o sistema está


pronto para ser utilizado para o reconhecimento das posturas
utilizadas para mover o objeto.
A movimentação do objeto é feita seguindo a seguinte
Figura 6. Região vermelha segmentada e dividida em quatro quadrantes. lógica acerca das coordenadas px (t) e py (t) da posição do
objeto:
Os momentos invariantes de Hu são então calculados para • cima: py (t) = py (t − 1) − 1;

cada quadrante da região segmentada, obtendo-se assim um • baixo: py (t) = py (t − 1) + 1;

vetor de 24 dimensões para descrever a postura apresentada • direita: px (t) = px (t − 1) + 1;

para o sistema, esta abordagem mostrou-se mais adequada • esquerda: px (t) = px (t − 1) − 1.

para o classificador de distância mínima ao centróide pois O sistema considera também os limites da imagem e se
a posição para a qual o objeto está indo está livre, pois se
houver um bloco, apresentado na Figura 5(c), o objeto não
pode deslocar-se para esta posição.
O último passo da metodologia é verificar uma condição
de finalização do sistema, em que determina-se que o
objetivo da aplicação é fazer com que o objeto alcance a (a)
posição marcada com uma bandeira, apresentada na Figura
5(d).
A. Restrições da metodologia proposta
Como a proposta deste artigo consiste em um sistema de
baixo custo, é necessário adotar restrições com relação ao
(b)
uso do sistema, as quais são elencadas a seguir:
• sempre o classificador precisa ser treinado antes do uso Figura 8. Resultado da segmentação da região vermelha, (a) imagem de
entrada e (b) resultado da segmentação.
do sistema, para isto é preciso realizar todas as posturas
corporais antes de começar o uso do sistema,
• o classificador é capaz de reconhecer quatro posturas
corporais, sendo cada uma destas criado pelo usuário
e associado a uma direção para a qual o objeto é
movimentado,
• o classificador pode sofrer confusões caso existam
posturas parecidas, portanto é fortemente recomendável
que as posturas sejam abertas e estáticas,
• para a segmentação, é necessário que o usuário esteja
vestindo uma camisa vermelha, preferencialmente de
mangas compridas,
• como a segmentação é feita pela identificação da cor
vermelha, não deve haver nenhuma outra região ver-
melha no ambiente além da roupa do usuário,
• a iluminação deve estar adequada para que a câmera
possa capturar a cor vermelha de modo que o algoritmo
de segmentação seja capaz de isolá-la.
Figura 9. Sistema final em funcionamento.
O descumprimento de quaisquer das restrições mencionadas
pode ocasionar o mau funcionamento do sistema, fazendo
com que o objeto não seja movimentado corretamente.
Na próxima seção são apresentados os resultados obtidos A execução do sistema ocorre de forma natural, sem
nos testes do sistema proposto. interrupções devido ao processamento e as posturas são
reconhecidas sem haver confusão.
IV. R ESULTADOS FINAIS
V. C ONCLUSÕES
O sistema desenvolvido fornece dois resultados, sendo o
primeiro relativo à segmentação das regiões vermelhas e Neste artigo, são avaliadas a metodologia e a viabilidade
o outro relativo ao reconhecimento das posturas e conse- de se implementar uma interface de interação homem-
quentemente relacionado à movimentação do objeto. máquina de baixo custo baseada em posturas corporais para
movimentação bidimensional de um objeto. A proposta é
A. Resultado da segmentação avaliada em um ambiente de simulação para implementação
A Figura 8 apresenta o resultado de segmentação obtido dos algoritmos.
com a aplicação do algoritmo apresentado na seção III. Mesmo sem fazer uso de dispositivos nem aplicações
Com o processo de segmentação concluído e avaliado, específicas de interatividade, os resultados obtidos com-
resta apenas avaliar o sistema por completo. provam a eficácia da metodologia proposta, mostrando ser
possível controlar com precisão a movimentação de um
B. Resultado do reconhecimento das posturas objeto em quatro direções. Todavia é válido considerar que a
O sistema desenvolvido reconhece as quatro posturas segmentação de regiões vermelhas não é robusta pois podem
e associa-as corretamente às direções correspondentes. A haver outros objetos vermelhos no ambiente, assim sendo é
Figura 9 apresenta o sistema final em pleno funcionamento. interessante buscar outros elementos da imagem para sofrer
a segmentação, como pele humana ou algum objeto como
uma placa com marcadores.
Um benefício substancial observado durante os testes
realizados é a flexibilidade apresentada pelo sistema de
reconhecimento de posturas, o que pode ser explorado de
acordo com as limitações motoras do usuário.
Para o futuro, as expectativas compreendem agregar uma
posição de repouso na qual o objeto não sofre movimen-
tação, desenvolver uma interface visual mais amigável para
o usuário, possibilitar o uso de outros elementos da imagem
para a interação através da câmera e traduzir a aplicação
desenvolvida para uma linguagem de programação tal como
C/C++, Java ou Python.
AGRADECIMENTOS
Os autores deste artigo agradecem à Universidade Ibi-
rapuera pelo espaço disponibilizado para a elaboração e
divulgação dos trabalhos realizados ao longo deste projeto e
os coordenadores do curso de Ciência da Computação pelo
apoio e incentivo dados para as pesquisas desenvolvidas.
R EFERÊNCIAS
[1] A. T. S. Carneiro, Sistema de Reconhecimento do Alfabeto da
LIBRAS por Visão Computacional e Redes Neurais, Dis-
sertação de mestrado. Universidade Federal do Ceará (UFC),
2010.

[2] A. T. S. Carneiro, P. C. Cortez, R. C. S. Costa Reconhecimento


de Gestos da LIBRAS com Classificadores Neurais a partir dos
Momentos Invariantes de Hu, Anais do 1o Congresso Re-
gional de Design de Interação - Interaction South-America’09,
p.193-198, 2009.

[3] M. K.- Hu, Visual Pattern Recognition by Moment Invariants,


Ire Transactions On Information Theory, p.179-187, 1962.

[4] R. C. Gonzalez and R. E. Woods, Digital Image Processing,


3rd ed. New Jersey, USA: Prentice Hall, 2008.

[5] J. S. Marques, Reconhecimento de Padrões: Métodos Estatís-


ticos e Neuronais, 2a ed. Lisboa, Portugal: Ensino da Ciência
e da Tecnologia, 2005.

[6] S. Haykin, Neural Networks: A Comprehensive Foundation,


2nd ed. New Jersey, USA: Prentice Hall, 1999.

You might also like