You are on page 1of 6

O EMPREGO DE REALIDADE AUMENTADA NA VIABILIZAÇÃO DA

COMUNICAÇÃO EM LIBRAS

José Remo Ferreira Brega1


Antônio Carlos Sementille1
Ildeberto Aparecido Rodello2
Elvis Fusco3
Daniel Peixoto da Silva1
Flávio Henrique Furlanetto1
Leonardo Henrique da Silva Ruiz1
1
Laboratório de Sistemas de Tempo Real (LSTR) - Departamento de Computação (DCo) - Universidade Estadual
Paulista (Unesp) -Av. Luiz E. C. Coube 14-01 - Vargem Limpa - Tel (014) 3201 6000 R 6420 - Caixa Postal 473 - CEP
17.033-360 - Bauru - SP - Brasil
{remo,semente}@fc.unesp.br
2
Faculdade de Economia, Administração e Contabilidade de Ribeirão Preto (FEA-RP). - Av. Bandeirantes 3900 •
Monte Alegre • Tel (016) 3602 3896 CEP 14040-900 •Ribeirão Preto - SP – Brasil
rodello@fearp.usp.br
3
Centro Universitário Eurípides de Marília (UNIVEM) - Fundação Eurípides Soares da Rocha (FEM) -Av. Hygino
Muzzi Filho, 529 - Tel (014) 3402 0833 - Caixa Postal 2041 CEP 17.525-901 - Marília - SP - Brasil
fusco@univem.edu.br

Resumo – Este artigo apresenta uma solução utilizando ambiente tridimensional, sintético gerado por computador e o
Realidade Aumentada para estabelecer uma comunicação usuário pode interagir em tempo real.
em LIBRAS entre avatares humanóides. Este tipo de Este mundo virtual pode ser combinado com imagens
comunicação possui um caráter tridimensional e no seu capturadas do mundo real, chegando a uma definição de
modelo completo necessita das expressões faciais dos Realidade Misturada [2]. Dependendo desta forma de
interlocutores. Nesta solução, além dos movimentos combinação pode-se chegar a vertentes da Realidade
gesticulares, foram adicionadas as faces dos usuários, Misturada, que vai desde um ambiente totalmente real,
através da captura em tempo real. passando pela Realidade Aumentada (onde há a inserção de
objetos virtuais dentro do ambiente real), pela Virtualidade
Aumentada (onde há a inserção de objetos reais em
Palavras-Chave – Avatares, Jartoolkit, Java3D, LIBRAS. ambientes virtuais), até se chegar a um ambiente totalmente
virtual.
Abstract - This paper presents solution using a Augmented
reality to establish a communication between LIBRAS
humanoid avatars. This communication has a three-
dimensional character and its full model needs the facial
expressions of speakers. Therefore, in addition to mimic
movements have been added over the capture in real time the
faces of users.

Keywords – Avatars, Jartoolkit, Java3D, LIBRAS.

1 INTRODUÇÃO

Figura 1: Escala da Virtualidade [3]


Segundo Kirner e Tori [1], a Realidade Virtual (RV) é
uma interface avançada do usuário para acessar aplicações
executadas no computador. Esta aplicação deve conter um
Em um ambiente virtual, um agente pode ser definido determinada ótica ou perspectiva. Por exemplo, o sinal
como a representação da figura humana virtual, criada e ÁRVORE em LIBRAS representa o tronco da árvore através
comandada por computador e um avatar é um humano virtual do antebraço e os galhos e as folhas através da mão aberta e
controlado pelo usuário [4]. Ambos podem ser representados do movimento interno dos seus dedos. Porém, o sinal para o
por ícones 2D, filmes, formas 3D, e até por corpos completos mesmo conceito em CSL (língua de sinais chinesa)
[5]. representa apenas o tronco com as duas mãos semiabertas e
O objetivo deste artigo é, utilizando-se da combinação de os dedos dobrados de forma circular. Em LIBRAS, o sinal
imagens reais e virtuais, apresentar o uso de um avatar CARRO/DIRIGIR é icônico porque representa o ato de
humanóide imerso em um ambiente virtual, com algumas dirigir, porém, é também convencional porque em outras
características reais, fornecidas por imagens capturadas línguas de sinais não toma necessariamente este aspecto dos
através de uma câmera digital, resolver a dificuldade de referentes ‘carro’ e ‘ato de dirigir’ como motivação de sua
geração de movimentos em LIBRAS. forma, mas sim outros.
Conforme [7] a LIBRAS, como toda língua de sinais, é
3. LIBRAS uma língua de modalidade gestual-visual porque utiliza,
como canal ou meio de comunicação, movimentos gestuais e
As línguas de sinais são utilizadas pela maioria das pessoas expressões faciais que são percebidos pela visão; portanto,
deficientes auditivas. No Brasil, existem duas línguas de diferencia da Língua Portuguesa, que é uma língua de
sinais: a língua brasileira de sinais Kaapor – LSKB, utilizada modalidade oral-auditiva por utilizar, como canal ou meio de
pelos índios da tribo Kaapor, cuja maioria é surda, e a língua comunicação, sons articulados que são percebidos pelos
brasileira de sinais - LIBRAS, que é utilizada nos centros ouvidos. Mas as diferenças não estão somente na utilização
urbanos. A língua portuguesa, no caso dos deficientes de canais diferentes, estão também nas estruturas gramaticais
auditivos, é considerada uma segunda língua [6]. Em 24 de de cada língua.
abril de 2002 a LIBRAS foi reconhecida como meio legal de
comunicação e expressão das comunidades surdas do Brasil 3.2 Estrutura Lingüística da LIBRAS

3.1 A LIBRAS e sua natureza 3D A LIBRAS é dotada de uma gramática constituída a partir
de elementos constitutivos das palavras ou itens lexicais e de
As línguas de sinais são línguas naturais porque, como as um léxico (o conjunto das palavras da língua) que se
línguas orais, sugiram espontaneamente da interação entre estruturam a partir de mecanismos morfológicos, sintáticos e
pessoas e devido à sua estrutura permitem a expressão de semânticos que apresentam especificidade, mas seguem
qualquer conceito - descritivo, emotivo, racional, literal, também princípios básicos gerais. Estes são usados na
metafórico, concreto, abstrato - enfim, permitem a expressão geração de estruturas lingüísticas de forma produtiva,
de qualquer significado decorrente da necessidade possibilitando a produção de um número infinito de
comunicativa e expressiva do ser humano. construções a partir de um número finito de regras. É dotada
As línguas de sinais distinguem-se das línguas orais também de componentes pragmáticos convencionais,
porque se utilizam de um meio ou canal visual-espacial e não codificados no léxico e nas estruturas da LIBRAS e de
oral auditivo. Assim, articulam-se espacialmente e são princípios pragmáticos que permitem a geração de implícitos
percebidas visualmente, ou seja, usam o espaço e as sentidos metafóricos, ironias e outros significados não
dimensões que ele oferece na constituição de seus literais. Estes princípios regem também o uso adequado das
mecanismos “fonológicos”, morfológicos, sintáticos e estruturas lingüísticas da LIBRAS, isto é, permitem aos seus
semânticos para veicular significados, os quais são usuários usar estruturas nos diferentes contextos que se lhes
percebidos pelos seus usuários através das mesmas apresentam de forma a corresponder às diversas funções
dimensões espaciais. Daí o fato de muitas vezes lingüísticas que emergem da interação do dia a dia e dos
apresentarem formas icônicas, isto é, formas linguísticas que outros tipos de uso da língua. [7]
tentam copiar o referente real em suas características visuais.
Esta iconicidade, mais evidente, nas estruturas das línguas de 3.3 O Sinal e seus parâmetros
sinais do que nas orais, deve-se ao fato de que o espaço
parece ser mais concreto e palpável do que o tempo, O que é denominado de palavra ou item lexical nas
dimensão utilizada pelas línguas orais-auditivas quando línguas orais-auditivas, são denominados sinais nas línguas
constituem suas estruturas através de seqüências sonoras que, de sinais [7]. Estes são formados a partir da combinação do
basicamente, se transmitem temporalmente. (BRITO, 2003) movimento das mãos com um determinado formato em um
Entretanto, as formas icônicas das línguas de sinais não determinado lugar, podendo este lugar ser uma parte do
são universais ou o retrato fiel da realidade. Cada língua de corpo ou um espaço em frente ao corpo. Estas articulações
sinais representa seus refentes, ainda que de forma icônica, das mãos, que podem ser comparadas aos fonemas e às vezes
convencionalmente, porque cada uma vê os objetos, seres e aos morfemas, são chamadas de parâmetros, portanto, nas
eventos representados em seus sinais ou palavras sob uma
línguas de sinais podem ser encontrados os seguintes
parâmetros:
1. configuração das mãos: são formas das mãos, que
podem ser da datilologia (alfabeto manual) ou outras
formas feitas pela mão predominante (mão direita para
os destros), ou pelas duas mãos do emissor ou
sinalizador. Os sinais APRENDER, LARANJA e
ADORAR têm a mesma configuração de mão.
2. ponto de articulação: é o lugar onde incide a mão
predominante configurada, podendo esta tocar alguma
parte do corpo ou estar em um espaço neutro vertical
(do meio do corpo até à cabeça) e horizontal (à frente
do emissor). Os sinais TRABALHAR, BRINCAR,
CONSERTAR são feitos no espaço neutro e os sinais
ESQUECER, APRENDER e PENSAR são feitos na Figura 2: Estrutura do Sistema Proposto
testa.
3. movimento: os sinais podem ter um movimento ou não.
Os sinais citados acima tem movimento, com exceção Foi escolhida a API DirectX da Microsoft [8], que possui
de PENSAR que, como os sinais AJOELHAR, EM-PÉ, um subconjunto de bibliotecas, as quais contém ferramentas
não tem movimento; para vários campos do desenvolvimento de aplicações
4. orientação: os sinais podem ter uma direção e a multimídia, a saber:
inversão desta pode significar idéia de oposição, • DirectDraw – biblioteca para gráficos 2D;
contrário ou concordância número-pessoal, como os • Direct3D – biblioteca para gráficos 3D;
sinais QUERER E QUERER-NÃO; IR e VIR; • DirectSound – biblioteca para reprodução e manipulação
5. Expressão facial e/ou corporal: muitos sinais, além de efeitos sonoros;
dos quatro parâmetros mencionados acima, em sua • DirectInput – biblioteca para manipulação de
configuração têm como traço diferenciador também a dispositivos de entrada (teclado,mouse,etc);
expressão facial e/ou corporal, como os sinais • DirectShow – biblioteca para reprodução de vídeo;
ALEGRE e TRISTE. Há sinais feitos somente com a
• DirectPlay – biblioteca para rede.
bochecha como LADRÃO, ATO-SEXUAL.
Na combinação destes quatro parâmetros, ou cinco, tem-
4 CAPTURA DAS IMAGENS
se o sinal. Falar com as mãos é, portanto, combinar estes
elementos que formam as palavras e estas formam as frases
em um contexto. Para a captura das imagens foi utilizada uma câmera
Para conversar, em qualquer língua, não basta conhecer analógica Panasonic PalmCorder PV - IQ244 e uma placa de
as palavras, é preciso aprender as regras de combinação captura PixelView BT848+ 4C (Figura 3). Nesta captura das
destas palavras em frases. imagens reais foi utilizado o DirectShow, que provê métodos
independentes de hardware para que desenvolvedores de
software acessem serviços de renderização, armazenamento
3 AMBIENTE PROPOSTO e manipulação de vídeo e áudio originários de fontes locais
ou de redes. Este DirectShow fornece uma variedade de
formatos (MPEG, AVI, WAV) para entrada comprimida ou
Para desenvolvimento desta proposta foram utilizados: 1.
não.
Computador: AMD Duron, 256Mbytes de memória RAM,
com Placa de Captura PixelView(PV-BT878P+ (REV 4C));
2. Sistema Operacional: Windows 2000; 3. DirectX 8.1
SDK; Microsoft .NET, Edit Plus, Dependency Walker; e 4.
Ferramentas: Java2 SDK 1.4.2, Java3D 1.3.1 para DirectX,
ARToolkitDirectShow2.52, JARToolkit2.0.
A estrutura do ambiente desenvolvido é apresentada pela
Figura 2.

Figura 3: Sistema de Captura utilizado

Tal escolha se deu pelos seguintes motivos:


• A utilização de classes do DirectShow como base do Para tanto, é utilizado o JNI, uma característica do JAVA,
código de captura de imagens pela ferramenta adotada - que oferece a possibilidade do reaproveitamento de códigos
JARToolkit; nativos (outras linguagens) dentro da linguagem JAVA.
• A existência de filtros próprios para sinais analógicos; e Nesse caso, aproveitando todo o código na linguagem C++
• O driver da placa de captura se encaixa no modelo (ARToolkit) em JAVA.
WDM (Windows Driver Model) do DirectShow. A seguir está descrita a estrutura geral de classes do
JARToolkit (Tabela 1):
A utilização de dispositivos analógicos tornou necessária a
produção de um código de captura de imagens diferenciado. Tabela 1
Apesar de, internamente, o DirectShow reconhecer todos os Classes do JARToolkit
dispositivos existentes em um computador (analógicos ou Classe Descrição
digitais), a sua manipulação é diferenciada. JARtoolkit Interface com o código nativo (ARToolkit).
Para suportar características adicionais como close ARPattern Encapsula um padrão a ser reconhecido pelo
ARToolkit.
caption, sinais de rádio e TV, não existentes em dispositivos
JARFrameGrabber Captura o vídeo usando o DirectX.
digitais, o stream de vídeo de um dispositivo analógico é
JARPictureSource Detecta diferentes entradas de vídeo.
organizado de modo diferente. Para tanto se deve separá-lo JARVideo Pacote de suporte à captura de diferentes
de modo correto a fim de se construir uma aplicação de tipos de vídeo.
vídeo. Para dispositivos com tal suporte foi desenvolvido um
modelo diferenciado dentro do ambiente Windows chamado O uso do JARToolkit prevê a sua utilização conjunta com
de WDM. outros pacotes especiais para JAVA, como o JAVA3D [10].
Esse modelo tem como vantagens: Para estes casos foram desenvolvidos classes e métodos
• Reconhecer automaticamente a maioria dos dispositivos especiais, a fim de possibilitar o máximo aproveitamento das
de captura presentes no mercado; ferramentas utilizadas (Tabela 2).
• Apresentar características singulares de cada dispositivo;
• Oferecer um conjunto de funções que permitem um Tabela 2
controle maior sobre o dispositivo de captura; Classes Desenvolvidas
• Ter sido criado para ser compatível com todas as versões Classe Descrição
do sistema operacional Windows. JARtoolkit3D Para a utilização com Java3D.
Assim, foi possível capturar imagens a taxas de 15 Encapsula uma interface com as outras
frames/segundo, com uma qualidade muito superior a de classes do JARTookit.
ARPatternTransformGroup Transforma um padrão em um objeto
câmeras digitais (webcams). possível de ser manipulado em Java3D.
Uma vez capturado e tratado de forma apropriada pelas ARBehavior Gerencia as atualizações de todos os
camadas mais baixas (DirectX), o sinal de vídeo é passado componentes do Java3D e JARToolkit
para a camada da aplicação JAVA para ser manipulado em tempo real.
conforme o desejo do usuário.
Nesse ponto, o usuário tem total controle sobre cada pixel 6 FUNCIONAMENTO
do vídeo capturado, tendo a liberdade de alterá-lo de
qualquer maneira. Dessa forma, pode-se criar espelhamento, 6.1 Aplicação do movimento humano ao avatar
desfocagem, filtros de cor, negativo e movimento, selecionar
partes do vídeo e até mesmo chromakeying.
Com o reconhecimento de padrões junto ao corpo humano
nos frames de vídeo capturado, foi possível obter sua
5 JARTOOLKIT movimentação na forma matemática (matriz de
transformação) e aplicá-la aos membros do avatar,
reproduzindo assim, os movimentos humanos em um
Com a utilização da ferramenta escolhida, o JARToolkit
ambiente virtual.
[9], é possível desenvolver aplicações utilizando o vídeo
Para se conseguir uma representação matricial dos
capturado, de forma simples e eficiente, disponibilizando
movimentos espaciais dos marcadores (3D), foram utilizadas
inúmeras possibilidades para o desenvolvimento de
técnicas de visão computacional.
aplicações de realidade virtual e realidade aumentada.
Consiste de um pacote de código aberto desenvolvido com
6.2 Texturização da face e recorte do frame de vídeo
a finalidade de proporcionar aos programadores JAVA todos
os recursos existentes no ARToolkit (C++) e utilizados em
conjunto com bibliotecas gráficas como OpenGL e DirectX, A obtenção das coordenadas do marcador da face através
permitindo assim, o desenvolvimento de forma simples, de da captura do padrão no frame possibilitou o recorte do
aplicações de realidade virtual mais robustas. frame de vídeo de maneira a texturizar a face do avatar.
Para tanto, foi necessário entender como as técnicas de
visão computacional transformam a imagem 3D em 2D e aquisição das imagens (conversão do sinal analógico/digital)
mantém, ainda, a noção de profundidade. pela placa de captura, contrariando o que era esperado.
Em uma primeira etapa, ocorre a conversão de sistemas
cartesianos. O sistema de coordenadas do mundo real é
transformado em coordenadas de um sistema virtual
(câmera). Tal transformação, resulta na obtenção de matrizes
que exprimem a movimentação do ponto no espaço.
O processo matemático realizado nessa etapa gera um erro
relativo em relação ao valor real, que é minimizado através
de cálculos iterativos.
A segunda parte desse processo representa a
transformação linear dos dados obtidos, ou seja, a
transformação das coordenadas do mundo real (3D) em
coordenadas do plano (2D).
Nessa etapa, informações como a matriz de calibração da
câmera utilizada e funções de distorção são usadas a fim de
transformar a posição de um ponto no espaço em posição no
plano, mantendo a noção de perspectiva.
Uma vez definidas as coordenadas de projeção, pode-se
determinar as coordenadas do ponto na imagem capturada
(coordenadas no frame de vídeo), a partir dos parâmetros de
distorção da imagem na transformação linear 3D-2D (do
mundo real para a tela do computador):
Fazendo esses cálculos foi possível encontrar as
coordenadas do marcador da face no frame de vídeo e
recortá-lo, afim de texturizar a face do avatar.
Para um rosto do avatar padrão, a texturização do vídeo
não trouxe resultados adequados. Um objeto que formaria a
cabeça do avatar, apesar de parecer liso e arredondado, foi
testado e como é formado por milhões de figuras geométricas
quadradas, ocorreram grandes deformações. Para a obtenção
de um melhor resultado, a cabeça do avatar foi trocada por
uma tela plana de 100 X 100 pixels (Figura 4) .

7. CONCLUSÕES

Em relação a comunicação estabelecida em LIBRAS a


proposta se mostrou extremamente promissora. Os sinais Figura 4 : Avatar em movimento com textura do usuário aplicada na
face
gerados com os movimentos dos usuários são completados
A ferramenta JARToolkit demonstrou ser bastante
com os gestos da face, atendendo a comunicação total nesta
versátil, atendendo as expectativas quanto a geração e
linguagem.
manipulação do vídeo em aplicações JAVA, embora sua
Neste sentido seria interessante encaminhar esta
documentação seja escassa e confusa.
ferramenta para grupos de deficientes auditivos que
O desenvolvimento de marcadores foi concluído com
poderiam verificar sua validade.
êxito, sendo os mesmos reconhecidos em todos os testes
Em relação aos aspectos computacionais: apesar da
realizados, possibilitando assim a marcação da pessoa real
dependência com o sistema operacional Windows e com o
que serviu como modelo para a aplicação e reprodução dos
driver do fabricante da placa de captura adaptado para o
movimentos humanos no avatar.
modelo WDM de aquisição de imagens, a utilização do
As dificuldades na movimentação do avatar através da
pacote DirectX superou as expectativas com relação ao sinal
aplicação das matrizes, calculadas para os membros do
capturado (qualidade X perda na conversão de sinal),
mesmo deveu-se, principalmente, aos seguintes fatores: a
segundo o objetivo de utilizar soluções de baixo custo.
distância do ator em relação à câmera e a iluminação do
A montagem de todo o sistema para a utilização da
ambiente real. Esses fatores mostraram-se determinantes para
captura analógica de sinal de vídeo proporcionou uma
o reconhecimento correto dos padrões na análise dos frames,
qualidade maior da imagem capturada, se comparada às
acarretando em uma instabilidade da reprodução dos
opções digitais testadas (webcam), sem perda expressiva na
movimentos no avatar.
Filtros matemáticos, como cálculo das normas das
matrizes, distância entre pontos, erro relativo, que foram
utilizados para minimizar a instabilidade no movimento
resultante do erro nos cálculos iterativos produziram um
resultado satisfatório.
Porém, na utilização de vários marcadores ao mesmo
tempo numa mesma cena, a uma distância mínima requerida
para a movimentação da pessoa e a captura da sua face
diminuíram a eficiência dos mesmos.
Todo o problema da texturização seria minimizado se, ao
criar-se o cenário, com as respectivas texturas no editor de
objetos 3D, este pudesse ser transportado para o JAVA3D
trazendo com ele as informações de textura. Tal
possibilidade foi descartada, devido à ausência de plugin´s
eficazes para tal função.

REFERÊNCIAS BIBLIOGRÁFICAS
[1] KIRNER, C., TORI R. ;“Realidade Virtual Conceitos e
Tendências”, Editora Mania de Livro, 2004.
[2] MILGRAM, P et. al. “Augmented Reality: A Class of
Displays on the Reality-Virtuality Continuum”
Telemanipulador and Telepresence Technologies, SPIE,
V2351, 1994.
[3] Åkesson, Karl-Petter, “Augmented Virtuality: A method
to automatically augment virtual worlds with video images”,
http://www.sics.se/~kalle/projects/Master_Thesis/augmented
_virtuality.pdf, Acesso em 039 de outubro de 2008, 2008.
[4] BADLER, N. I., “Virtual Humans for Animation,
Ergonomics, and Simulation”, IEEE Workshop on Non-Rigid
and Articulated Motion, Porto Rico, 1997.
[5] THALMANN, N. M., “Digital Actors for Interactive
Television”, Proc. IEEE, August 1995
[6] CAMPOS, Márcia Borba et. al. SIGNSIM: uma
ferramenta para auxílio à aprendizagem da língua brasileira
de sinais. In: V Congresso Ibero-Americano de informática
na Educação – RIBIE – Chile, 2000.
[7] BRITO, Lucinda Ferreira. A Língua Brasileira de Sinais.
Disponível em
http://www.ines.org.br/ines_livros/fasc7_principal.htm.
Acesso em 13 maio 2003, 2003.
[8] DirectX Disponível em
http://msdn.microsoft.com/directx/ Acesso em 03 de outubro
de 2008, 2008.
[9] JARToolKit – A Java binding to the ARToolkit INES).
Disponível em http://jerry.c-lab.de/jartoolkit/ Acesso em 19
de outubro de 2006, 2006.
[10] Java3D API. . Disponível em
http://java.sun.com/products/java-media/3D/ Acesso em 03
de outubro de 2008, 2008.

You might also like