Escolar Documentos
Profissional Documentos
Cultura Documentos
Faculdade de Cincias
Departamento de Informtica
PROJETO
MESTRADO EM INFORMTICA
2013
UNIVERSIDADE DE LISBOA
Faculdade de Cincias
Departamento de Informtica
PROJETO
MESTRADO EM INFORMTICA
Trabalho orientado pela Professora Doutora Ana Paula Boler Cludio e co-orientado pelo
Professor Doutor Paulo Jorge Cunha Vaz Dias Urbano
2013
Agradecimentos
Para mim no seria possvel ter concretizado esta tese sem um conjunto de pessoas que me
rodearam durante esta realizao pessoal e acadmica. Agradeo em primeiro lugar aos meus pais
pelas condies que me criaram para desenvolver este trabalho, especialmente minha me pela
sua preciosa ajuda com o seu contributo e conselhos.
O meu especial obrigado vai para os meus orientadores, a Doutora Ana Paula Cludio e
Doutor Paulo Urbano que me apoiaram com a sua orientao e tive a sua compreenso durante
este percurso. Tenho a certeza que produzi um documento muito mais cientfico do que aquele que
existiria sem a sua participao.
Um obrigado tambm especial ao Jos Maria Dinis, porque no mbito desta tese, foram muito
importantes os seus ensinamentos e explicaes. Tambm quero agradecer alm do grande amigo
que o Marcos, tambm contribuiu para esta tese, juntamente com o Guns, o Tiago Antunes, o
Fasca e o Rafael que deram-me uma ajuda fundamental no meu percurso curricular.
Por ltimo, no menos importante, agradeo minha namorada pelo apoio e muita pacincia
que teve comigo.
Resumo
Em Portugal existem 33 mil surdos que usam a Lngua Gestual Portuguesa como sua lngua
materna. Esta lngua tem um lxico, regras sintticas e semnticas, tal como uma lngua oral. Os
intrpretes qualificados da LGP escasseiam, pelo que faz sentido recorrer a avatares capazes de
reproduzir esta lngua. As principais vantagens no uso de avatares so que a animao de um gesto
pode ser facilmente manipulada e reutilizada. Estas propriedades tornam possvel a combinao
exponencial de gestos de palavras em frases de lngua gestual, ao contrrio do vdeo que teria de
ser refeito totalmente sempre que se entenda alterar ou adicionar um gesto.
Recentemente tm proliferado as tecnologias de baixo custo, com especial destaque para o
sensor Microsoft Kinect , que permitem a aquisio de dados do movimento humano. Embora os
dados recolhidos pelo sensor sejam limitados ao nvel dos dedos, tornam o processo de captura de
movimentos muito mas acessvel e prtico do que os sistemas convencionais.
Neste sentido, explorei um conjunto de tcnicas para a aquisio do movimento humano e
traduo do mesmo para um personagem virtual. Como resultado dessa explorao, adotei uma
abordagem hbrida que utiliza o sensor Kinect para gravar o movimento corporal e facial,
enquanto o movimento dos dedos animado manualmente numa ferramenta de animao.
Foi desenvolvida uma prova de conceito que usa um avatar como intrprete gestual que de
uma forma divertida introduz conceitos bsicos de LGP dirigido a surdos e ouvintes, e em
particular a crianas. Os resultados da avaliao foram muito interessantes e mostraram que til
uma aplicao deste gnero.
10
11
Abstract
In Portugal there are 33,000 deaf people that use Portuguese Sign Language (PSL) as their
mother language. This language has a lexicon, a syntactic and semantic rules such as an oral
language. The qualified interpreters of PSL are scarce, so it makes sense to use avatars capable of
reproducing this language. The main advantages in the use of avatars are the ease of manipulation
and reusability of their animation. These properties make it possible to exponential combine sign
gestures to create sentences, unlike the video which has to be totally remade whenever it is
necessary to change or add a sign.
Recently the dissemination of low-cost technologies, with special attention to the Microsoft
Kinect sensor, which allows the acquisition of motion data. Although the collected data is not
accurate on finger level precision, makes the process of motion capture more accessible and
practical than the conventional systems.
In this sense, we explored a set of techniques to translate human movement into a 3D
character. As a result of this development, I adopted a hybrid approach that uses the Kinect sensor
to record the body and facial movement, while the finger movement is animated with a manual
method by a software animation tool.
It was developed a proof of concept that uses an avatar as an sign language interpreter that in
a enjoyable environment, introduces basic concepts of SPL designed to deaf and hearing people,
and in particular to children. The results of the evaluation were very interesting and showed that it
is useful an application of this genre.
Keywords: portuguese sign language, PSL, avatar, animation, motion capture, children,
education, kinect.
12
13
Contedo
Lista de Figuras ......................................................................................................... 19
Lista de Tabelas ........................................................................................................ 23
Listagens................................................................................................................... 25
Captulo 1
Introduo ............................................................................................ 26
2.1 Conceitos............................................................................................................... 31
2.1.1 Lngua Gestual Portuguesa ........................................................................... 31
2.1.2 Avatar ........................................................................................................... 33
2.1.3
2.1.4
Captulo 3
5.5.3
5.5.4
17
18
Lista de Figuras
Figura 1 - Modelo com texturas ............................................................................................................................ 34
Figura 2- Malha poligonal do avatar ..................................................................................................................... 34
Figura 3 Esqueleto do avatar .............................................................................................................................. 35
Figura 4 Ator com fato de velcro elstico e marcadores (sistema tico) (Dinis 2012)........................................ 37
19
20
21
22
Lista de Tabelas
23
24
Listagens
Listagem 1 - Criao de sesso atravs de cookie explcito (front-end) .............................................................. 106
Listagem 2 Criao de sesso e redirecionamento por FormsAuthentication .................................................. 106
Listagem 3 Lista de PageMethods ou mtodos AJAX utilizados no front-end .................................................. 107
Listagem 4 Cdigo para fazer uma pesquisa (front-end) ................................................................................. 109
Listagem 5 - Cdigo para alternar entre vdeo com loop activou ou inativo ....................................................... 110
Listagem 6 - Cdigo de definio de DragSources e DropTargets ..................................................................... 111
Listagem 7 Cdigo para processar a ao do utilizador quando tenta arrastar uma palavra para o espao
respetivo do Compositor de Frases ...................................................................................................................... 112
Listagem 8 Cdigo para fazer o menino assistente falar (em Adivinhar gesto) ............................................ 113
Listagem 9 Algoritmo para atribuir o valor do slider velocidade de vdeo do flowplayer, evitando o
comportamento estranho da atribuio direta entre o valor do slider e vdeo................................................... 115
25
Captulo 1
Introduo
Num contexto digital os avatares personificam um utilizador ou agente. So personagens
virtuais que representam graficamente entidades que tm usualmente, mas no exclusivamente,
aparncia humana. Os avatares ou personagens computorizadas tm vindo a ser aplicados numa
panplia de reas distintas, nomeadamente, na psicoterapia, indstria cinematogrfica e de
videojogos, redes sociais, publicidade, entre outras.
Por seu turno, a tecnologia de captura de movimentos (motion capture) tem permitido animar
estes personagens virtuais de forma mais natural dotando-os de movimentos credveis. Esta
tecnologia utiliza cmeras especiais e cenrios prprios para capturar o movimento humano. Este
trabalho focou-se numa rea particular de aplicao dos avatares: um intrprete virtual para
expressar Lngua Gestual.
Este projeto foi realizado no mbito da cadeira de Projeto de Engenharia Informtica no DILabMAg (Departamento de Informtica- Laboratrio de Modelao de Agentes).
1.1
Motivao
Os media eletrnicos, tais como a televiso, filmes e Internet so fontes de valor
incalculvel de informao e entretenimento, mas para um nmero significativo de pessoas, as
deficincias auditivas tornam difcil o desfrutar do mundo digital que a maioria toma como
garantido.1
Existem alguns mtodos para tornar acessvel a pessoas surdas, a informao divulgada no
mundo eletrnico. De todos os mtodos, o mais utilizado a legendagem 2. A leitura de legendas
muito til para pessoas com dificuldades auditivas ou que ficaram surdas ao longo da vida. No
entanto, as pessoas surdas congnitas ( nascena) tm dificuldades em compreender a lngua
escrita, e acham muito difcil interpretar as legendas. Esta situao deve-se ao facto de o surdo
26
congnito ter mais dificuldade do que uma pessoa ouvinte em estabelecer a relao entre as
palavras escritas e o sentido de abstrao das mesmas (Power e Power s.d.). Para a maioria dos
surdos, a lngua gestual a sua lngua materna, ou seja, uma vez que a sua primeira lngua, a
lngua que usam naturalmente. Esta lngua bastante diferente de uma lngua oral, tendo um
lxico e uma gramtica prprios. Os intrpretes qualificados de Lngua Gestual escasseiam pelo
que faz sentido recorrer a personagens virtuais ou avatares.
A computao grfica tem vindo a evoluir ao longo dos anos. A qualidade grfica dos
avatares est continuamente a aproximar-se de uma representao cada mais vez realista de
humanos verdadeiros. Este cenrio cria a oportunidade para aplicaes com personagens mais
expressivas, mais apelativas, qualidades determinantes para a usabilidade e aceitao da aplicao
por parte do pblico-alvo. Uma das vantagens do uso de avatares em relao ao vdeo a fcil
manipulao do avatar e do ambiente 3D onde est inserido.
Tradicionalmente, a expresso da Lngua Gestual em formato eletrnico faz-se recorrendo ao
vdeo. Existem vantagens e desvantagens no uso de avatares em detrimento do vdeo. A
desvantagem o tempo de produo da animao do avatar em comparao com a rapidez de
gravao de um gesto em vdeo. Todavia, a principal vantagem que a animao de um gesto
pode ser manipulada e reutilizada muito mais facilmente do que um vdeo. Estas caractersticas
permitem formar frases atravs da combinao de vrios gestos atmicos (i.e. gestos de palavras),
permite tambm a troca de intrprete virtual por outro distinto, ou at mesmo alterao das suas
roupas e adereos, enquanto para o vdeo isto no possvel sem ser refeito ou filmado de novo.
Uma vez que os avatares residem num ambiente virtual 3D, vo de encontro natureza
tridimensional da prpria Lngua Gestual, logo, este ambiente torna possvel a visualizao e
compreenso do gesto em ngulos diferentes. Assim abrem-se portas a aplicaes mais interativas
e a novos cenrios de aplicaes em relao ao uso do vdeo.
At h bem pouco tempo, a captura de movimentos era suportada exclusivamente por uma
tecnologia bastante cara. Sendo necessrio equipamento dispendioso, espao prprio, recursos
humanos especializados e caros para operar uma sesso de captura. O aparecimento recente de
novas tecnologias, com especial destaque para o Microsoft Kinect , muito menos dispendiosas,
veio tornar acessvel a captura de movimentos num ambiente vulgar e produzir animaes para um
avatar com movimentos mais realistas do que a tradicional animao 3D.
1.2
Objetivos
Este projeto tem como objetivo fundamental conceber um avatar animado que personifique
um intrprete virtual da Lngua Gestual Portuguesa (LGP). As etapas necessrias so a gerao do
modelo do avatar, passando pela animao do prprio com gestos de Lngua Gestual Portuguesa, e
desenvolver uma aplicao que suporte a interao com este personagem virtual.
27
O conjunto de gestos produzido neste trabalho ser representativo de uma prova de conceito, e
obtido por um processo de animao assistido por uma tecnologia de captura de movimentos de
baixo-custo. Pretende-se tambm chegar combinao de gestos atmicos de modo a formar
frases simples em LGP.
1.3
Microsoft Kinect , e por outro, recorrendo a animao manual para descrever a configurao da
mo do gesto. Foram produzidos gestos para representar pronomes pessoais, pronomes
interrogativos, verbos, substantivos, entre outros. A partir deste conjunto foram feitas algumas
combinaes de gestos atmicos de modo a produzir animaes de frases em LGP.
De forma a demonstrar as funcionalidades acima conseguidas, foi criada uma aplicao Web
denominada Os meus primeiros gestos, que permite consultar, procurar palavras, ver a traduo do
seu significado em LGP, compor frases selecionando palavras ou gestos atmicos, e testar os
conhecimentos do utilizador atravs de um modo para adivinhar palavras. De modo a estender as
funcionalidades da aplicao anterior, foi desenvolvida outra aplicao Web do tipo Backoffice ou
gestor de contedos, destinada a superutilizadores para gerir os contedos da aplicao principal.
No desenvolvimento desta tese tambm resultaram como investigao e trabalho preliminar,
as seguintes ferramentas de software:
Dois plugins para a aplicao MotionBuilder (Autodesk 2011): o primeiro denominase Soletrar Palavras em LGP, converte qualquer letra introduzida por um utilizador
para um gesto de LGP; o segundo denomina-se Poses Animator e serve para carregar
num avatar gestos estticos de LGP (i.e. gestos de letras) que tenham sido
armazenados previamente num ficheiro no formato prprio da aplicao, alm de que
consegue produzir uma animao em tempo real de transies de entre vrios gestos
estticos armazenados em ficheiro.
Duas aplicaes Desktop: a primeira faz o seguimento (tracking) automtico da pose
corporal, juntamente com o tracking assistido pelo utilizador da pose 3D dos dedos, e
por conseguinte, converte essa informao capturada para pose de um esqueleto em
MotionBuilder; a segunda permite visualizar um esqueleto a mover-se conforme os
movimentos feitos por um utilizador atravs do sensor Kinect.
28
Dois algoritmos de hand tracking3 atravs do sensor Kinect: o primeiro utiliza Depth
Segmentation para detetar as mos, e o segundo utiliza a posio das articulaes das
mos fornecida diretamente pelo sensor.
1.4
Metodologia de desenvolvimento
A metodologia usada neste projeto foi o processo de desenvolvimento iterativo (DoIT 2005).
As iteraes ao longo do projeto foram:
1. Desenvolvimento de um prottipo composto por um plugin para Soletrar Palavras
em LGP (3.3 ) e por um subconjunto de frases em LGP feitas a partir da
combinao de gestos atmicos.
Visita APS de modo a avaliar o prottipo desenvolvido (4.1.2 ).
2. Criao de um novo avatar e a sua reavaliao por surdos, com o intuito de chegar
a um personagem virtual mais adequado ao utilizador (4.2 ).
3. Criao de uma aplicao Web que apresente contedos em LGP (Captulo 5).
Teste da aplicao com utilizadores (Captulo 6).
A principal vantagem desta metodologia envolver o utilizador no processo de
desenvolvimento. Em vez de esperar at que a aplicao se torne num produto final, fase em que
cada alterao tem um impacto muito grande, os problemas foram identificados e resolvidos nas
fases intermdias. Problemas como rigor insuficiente na animao, escolha de avatar inadequado
para o objetivo, entre outros. Outra vantagem deste mtodo foi que em cada iterao as metas do
projeto foram reavaliadas, conforme o insight obtido em cada iterao.
1.5
Estrutura do documento
Este documento composto por 7 captulos, estruturados da forma que a seguir se apresenta.
O captulo 1 apresenta uma vista geral do trabalho aqui descrito, bem como os objetivos
principais e as razes que motivaram este projeto.
O captulo 2 comea por apresentar um conjunto de conceitos relevantes ao entendimento dos
temas abordados na tese. Em seguida, apresenta uma perspetiva geral do estado da arte, relatando
os projetos relacionados com as reas de Lngua Gestual e Avatares.
29
30
Captulo 2
Conceitos e Trabalho Relacionado
Este captulo apresenta os conceitos fundamentais do contexto desta tese, bem como alguns
trabalhos relacionados. Os primeiros trabalhos apresentados consistem em projetos de referncia
que cruzam as reas de Avatares e Lngua Gestual. Em seguida destaca-se um tipo particular de
projetos, os dicionrios de gestos, pois estes representam o grupo de aplicaes que mais se
aproxima da aplicao final desta tese. O captulo concludo com uma comparao entre os
trabalhos deste grupo, confrontando-se algumas das caractersticas mais importantes de cada um.
2.1
Conceitos
2.1.1 Lngua Gestual Portuguesa
A maioria dos pases com um nmero significativo de surdos congnitos tem uma lngua
gestual prpria. Em Portugal4 existe a Lngua Gestual Portuguesa (LGP), no Brasil existe a Lngua
Brasileira de Sinais (LIBRAS) e nos Estados Unidos existe a American Sign Language (ASL),
referindo apenas alguns exemplos.
No contexto da lngua gestual, define-se por gesto, um movimento ou sequncia de
movimentos necessrios representao de uma ideia. A execuo de um gesto pode ser
decomposta em trs componentes: movimento dos membros superiores, configurao e orientao
das mos, e expresso facial. O indivduo que gestua 5, isto , que executa gestos, ter de ter
sempre uma mo dominante (usualmente a direita), a sua mo principal e mais natural realizao
a lngua gestual.
As lnguas gestuais no so reprodues da lngua escrita e falada. Cada lngua gestual utiliza
expresses faciais e movimento corporal para criar uma linguagem prpria: com caractersticas
sintticas, gramaticais e semnticas, idnticas s das lnguas faladas. A lngua gestual impe
Para mais informaes sobre o contexto socio-cultural dos surdos portuguesa consultar o Anexo 1.
A palavra gestua (verbo gestuar) um termo especfico que significa transformar em gesto.
31
Conceitos gramaticais
A marcao do gnero realizada somente nos seres animados. utilizado o prefixo
mulher para marcar o gnero feminino, enquanto o masculino geralmente caracterizado pela
32
ausncia da marca homem. Para exemplificar o feminino, considere-se a palavra rainha, esta
traduzida pelo gesto mulher seguido do gesto rei. Todavia existem excees, por exemplo,
palavras como pai / me, ou carneiro / ovelha, tm um gesto distinto para cada gnero.
A concordncia de nmero pode ser realizada por vrias maneiras: repetio do gesto; por
redobro (i.e. realizao do gesto por ambas as mos); incorporao de um nmero (por ex.: LIVRO
CINCO); ou por incorporao do sufixo muitos. Normalmente, nestas situaes os gestos so
acompanhados de reforo da expresso facial.
Para a marcao do tempo verbal utilizado por sufixao o gesto de passado ou futuro
forma infinitiva do verbo, marcando o respetivo tempo verbal.
Os tipos de frase interrogativa e exclamativa requerem o uso da expresso facial durante toda
a frase. No caso da interrogativa, esta pode ser combinada com pronomes interrogativos que
surgem no final da frase. Como exemplo, a frase em LP Onde Vais?, ficaria em LGP TU IR
ONDE?. Quanto marcao da forma negativa, pode-se acrescentar o gesto no no fim da frase,
ou realizar-se simultaneamente a frase e o movimento natural da cabea referente a no.
Portugus Gestual
O Portugus Gestual (PG) utiliza o vocabulrio da LGP numa estrutura frsica igual da LP.
Serve unicamente para mostrar a ordem dos gestos com a sintaxe do Portugus, e no transmite de
maneira vlida o pensamento de um surdo congnito. O PG considerado um sistema artificial,
destinada a ouvintes, ao contrrio da LGP que uma lngua natural. Em cada lngua gestual existe
este sistema equivalente, por exemplo, no Reino Unido, existe o Sign Supported English (SSE),
que utiliza o vocabulrio da lngua gestual britnica com a estrutura frsica da lngua inglesa.
2.1.2 Avatar
A palavra avatar tem origem no Hindusmo e serve para designar a representao terrestre
de uma divindade. Em computao, avatar consiste na representao grfica do utilizador ou alterego deste. Certos autores (Damer, Judson e Dove 1999) tm uma definio mais ampla de avatar e
definem-nos como personagens, jogadores, atores virtuais, cones ou seres humanos virtuais.
Um avatar pode ter ou no aparncia humana, e ter uma forma tridimensional como nos jogos de
computador, ou uma forma bidimensional comum nos fruns da Internet. Nos mundos virtuais,
nomeadamente nos jogos, o avatar um personagem interativo. Em muitos casos, todos os aspetos
do personagem podem ser parametrizados como o tipo de musculatura, cabelo, pele ou roupa. Um
exemplo de um mundo virtual repleto de avatares o jogo Second Life (da Silva 2010).
Para percebermos como se anima um avatar inserido num mundo virtual, preciso primeiro
compreender a estrutura interna de um personagem virtual. Os pargrafos seguintes apresentam o
conceito de avatar no contexto da animao.
33
Um avatar um modelo grfico, cuja representao grfica assenta numa malha poligonal.
Esta malha, tambm conhecida como mesh, representa uma estrutura modelada a partir de formas
elementares geomtricas. No final da modelao da mesh obtm-se a superfcie que d forma
personagem (Figura 1). Em seguida necessrio representar o seu aspeto exterior, aplicando
materiais.
Os materiais so elementos que representam as propriedades de cor, intensidade de reflexo,
sombra, transparncia, etc. Um exemplo de material o vidro de um copo. Este material
definido pelo conjunto de todas propriedades ticas que fazem o vidro ter um aspeto transparente e
reflexivo. Na Figura 1, vemos o resultado da aplicao dos materiais malha ou superfcie do
personagem. Uma vez que a natureza de um material plana, necessrio um mapa de texturas
que molde o material no plano 2D para a fisionomia tridimensional do objeto alvo. Este mapa de
texturas consiste num mapa de coordenadas que a partir de uma imagem 2D envolve o objeto
3D.
De modo a que um avatar se consiga mover, necessrio criar o seu esqueleto. O esqueleto
composto por um conjunto de ossos e articulaes. As articulaes so os vrtices ou pontos
suscetveis de rotaes e translaes nos vrios eixos. ligao dos vrtices entre si, chamam-se
segmentos rgidos ou ossos. O conjunto de articulaes forma uma estrutura hierarquizada (Figura
3), onde cada articulao conhece, caso se aplique, a sua articulao pai e filho. Por exemplo, tanto
para o lado esquerdo como direito, a articulao do cotovelo tem como pai a articulao do ombro,
e o pulso como articulao filho.
34
lngua oral que esteja armazenada, o avatar gestua o equivalente na lngua gestual. Este mtodo
utilizado nos projetos Simon-the-Signer, TESSA e Visia apresentados no trabalho relacionado.
A segunda baseia-se numa anlise lingustica do gesto. Nestes casos, realizada uma anlise
paramtrica dos elementos constituintes de cada gesto. Esses elementos so depois armazenados,
numa entrada correspondente ao gesto, o que pode incluir o equivalente numa lngua oral,
designadamente uma palavra. No geral, os parmetros analisados so a configurao, local da
articulao e da orientao das mos, movimento corporal e expresso facial. Deste modo, pode-se
gerar os movimentos do avatar diretamente a partir da descrio lingustica, ou seja, o sistema
compe o gesto a partir da soma das instrues do valor de cada parmetro (Martins, Ferreira e
Mineiro 2012). Este foi o mtodo utilizado pelo projeto eSign, descrito mais frente no estado da
arte.
Animao facial
O processo de animao facial usualmente realizado por Blendshapes ou Facial Bone Rig. O
ltimo recorre criao dos ossos da face que mais tarde so animados atravs da definio dos
valores de translao e rotao em cada osso. A grande vantagem deste mtodo que a mesma
animao pode ser utilizada para personagens distintas, desde que a fisiologia facial seja similar.
A tcnica de animao por blendshapes utiliza uma srie de morph targets pr-estabelecidos.
Cada morpth target armazena uma verso deformada da mesh com a expresso facial definida.
Durante a animao, a pose da cara na posio neutra interpolada com a posio dos vrtices
definidos por cada morph target. Geralmente, os valores de cada morph target vo de 0 a 1. Este
mtodo apresenta um nvel mais elevado de fidelidade nas expresses faciais do que o mtodo
anterior. No entanto, envolve muito mais trabalho manual na criao dos morph targets, e que por
sua vez, so especficos a cada personagem.
mtodo mais realista para capturar as expresses faciais; em jogos de computador como Grand
Theft Auto IV, Guitar Hero; nomeando apenas alguns exemplos.
A tecnologia (Figura 4) permite capturar a posio dos membros do corpo do indivduo, at
informaes mais complexas como movimento das mos, dedos ou movimentos faciais. No geral,
capturam-se separadamente os movimentos corporais dos movimentos faciais, devido s
circunstncias e subtilezas dos ltimos (Dinis 2012). O termo hand-over refere-se ao processo de
adio da animao de dedos e mos, a uma captura j realizada para o corpo atravs de, por
exemplo, uma luva de captura de movimentos (Measurand Inc. 2011).
O motion capture um processo complexo e composto por vrios passos sequenciais. Os
seguintes passos so usados numa captura com um sistema tico (Naugle 1999):
1. Preparao do estdio;
2. Calibrao dos sensores e volume da captura;
3. Captura ou gravao do movimento;
4. Tratamento de dados;
5. Ps-produo dos dados, ou seja, aplicao dos dados a objetos bi ou tridimensionais.
As vantagens principais desta tcnica so a rapidez no processo de animao e o resultado
realista que traz s animaes em detrimento da animao manual por keyframe. A sua maior
desvantagem ser dispendioso em termos de equipamento, software e pessoal especializado.
Figura 4 Ator com fato de velcro elstico e marcadores (sistema tico) (Dinis 2012)
Microsoft Kinect
Microsoft Kinect uma cmera lanada em 2010 originalmente apenas como acessrio da
consola de jogos Microsoft Xbox . A cmera (Figura 5) capaz de fazer o reconhecimento: das
articulaes do utilizador, reconhecimento facial; e reconhecimento de voz. Mais tarde em 2012
foi lanado uma verso especfica para PC. O Kinect est equipado com uma cmera de cor RGB,
um sensor de infravermelhos, um emissor de luz infravermelha, e quatro microfones.
38
requisitos mnimos apontados, no foi possvel testar a aplicao dada a taxa de imagens por
segundo ser inferior a 1. Pelas observaes feitas nos vdeos de demonstrao, o FORTH faz o
tracking para a mo e dedos muito bem, sem perder o tracking, mesmo com dedos oclusos (Figura
8). No entanto, verificou-se que o utilizador faz sempre gestos muito lentos, sugerindo que o
tracking se perderia se aumentasse a velocidade do movimento. Dadas as observaes e as
limitaes tcnicas encontradas, este sistema tambm no pode ajudar a desenvolver a soluo
para uma captura de movimentos ao nvel dos dedos
Leap Motion
O Leap Motion focado para a captura do movimento das mos e dedos do utilizador.
uma pequena unidade desenhada para ser posicionada em baixo e frente do monitor. Tem um
alcance de 22 cm2. Em seguida, mostra-se na
Tabela 1 uma comparao entre as caractersticas deste sensor e do sensor Microsoft Kinect .
Microsoft Kinect
Vantagens
Deteo de dedos
Alcance curto
No tem deteo
esqueleto nem face
Desvantagens
Leap Motion
do
Durante os testes com as aplicaes j includas no SDK, conclui-se que apesar de ter uma boa
deteo de dedos no resolve a problemtica das ocluses entre eles, perdendo a localizao do
dedo quando existe uma ocluso ou quando se faz o movimento de aduo dos dedos. Torna-se
um sistema invivel na sua aplicao lngua gestual pois todos os gestos tm configuraes de
dedos que provocam a ocluso de outros, ou que fazem o movimento de aduo. Outra limitao
do sistema, semelhante encontrada no sistema 3Gear, que ambos se focam na deteo das
pontas dos dedos, e no tm em conta as restantes articulaes dos dedos.
Portanto, a minha escolha tecnolgica recaiu sobre o sensor Microsoft Kinect, porque alm
de ter tracking do esqueleto e suporte ao tracking das expresses faciais, permite o acesso aos
dados de profundidade, tornando possvel desenvolver algoritmos de tracking com base nesses
dados.
2.2
Trabalhos Relacionados
2.2.1 CopyCat
CopyCat (Lee, Henderson e Brashear 2005) um jogo interativo em que o utilizador controla
uma personagem atravs da realizao de gestos de Lngua Gestual Americana (ASL). O jogo
(Figura 9) desenhado para crianas surdas onde se pretende que estas melhorem as suas
capacidades lingusticas atravs da prtica de ASL. Primeiro, o utilizador assiste a um vdeo de
um intrprete humano a executar gestos em ASL, e por sua vez, o utilizador tem de imitar os
gestos que visualizou.
Figura 11 -- Abecedrio 3D
exibindo letra F (Deusdado 2002)
43
2.2.3 Simon-the-Signer
Este trabalho e os das seces 2.2.4 e 2.2.5 foram subsidiados pela Unio Europeia como
continuao do projeto ViSiCAST (Ralph, et al. 2000). Todos eles tiveram como objetivo
melhorar o acesso informao e servios por parte dos cidados surdos recorrendo a um
intrprete virtual. Foram utilizadas tcnicas de captura de movimentos para reproduzir os gestos
no avatar, sendo recolhidos por trs canais diferentes (Figura 14):
Luvas com 18 sensores resistivos para capturarem as posies dos dedos das mos;
Para as expresses faciais foi usada uma cmera com filtro de infravermelhos e 18
refletores posicionados na face do intrprete.
O Simon-the-Signer (Farzad, et al. 1999), tambm conhecido por SignAnim, um avatar que
traduz em tempo real, contedos noticiosos em Sign Support English, a partir de texto em Ingls
(Figura 15).
A partir de uma base de dados de gestos, suportada pela tcnica de captura de movimentos, o
sistema estabelece a associao entre palavra e animao do gesto, conseguindo traduzir
diretamente texto em lngua gestual. Este processo de sntese do gesto similar quele que se
pretende implementar.
A lngua gestual escolhida no SignAnim foi o Sign Support English (SSE). Ao contrrio das
lnguas gestuais naturais, o SEE mantm a ordem das palavras da lngua oral, facilitando o
processo de traduo. No entanto, essa deciso teve implicaes negativas na aceitao do sistema
por parte do pblico-alvo, uma vez que a SSE no adotada pela maioria da comunidade surda do
Reino Unido. Por essa razo, os trabalhos desenvolvidos posteriormente (seces 2.2.4, 2.2.5 e
2.2.6), no utilizaram essa Lngua Gestual.
interessante notar que Farzad, et al. durante os testes, verifica que na tica dos surdos a
concatenao de vrios vdeo-clips de gestos, no uma soluo prtica, passando a cit-lo:
Um grupo de teste da comunidade local de surdos, comentou que os saltos entre clipes de
vdeo so intrusivos: consequentemente eles consideraram a leitura aborrecida e difcil.
2.2.4 TESSA
Este trabalho (Stephen Cox, et al. 2002) tem como objetivo facilitar a comunicao entre
surdos e funcionrios, num posto de correio. Este sistema reconhece o discurso oral do
funcionrio, fazendo a sua traduo para gestos em Lngua Gestual Britnica utilizando um avatar.
O processo de sntese de gestos similar ao do sistema anterior descrito (Simon-the-Signer). O
sistema TESSA foi inicialmente desenvolvida pela UEA (University of East Anglia) em parceria
com a empresa TeleVirtual Ltd. e com a colaborao do servio de Correios britnico.
Uma das vantagens do uso de avatares em relao ao vdeo a fcil manipulao do avatar e
do ambiente 3D onde est inserido. O TESSA tira proveito dessas caractersticas, permitindo
definir o melhor ngulo ou o nvel de zoom, na apresentao do avatar, assim como tambm,
alterar a sua identidade.
Durante a avaliao do sistema, o reconhecimento dos gestos foi razovel para um conjunto
de frases, e bom, para um conjunto de palavras, contudo, o nvel de satisfao foi medocre. Com
base nestes resultados, refora-se a ideia de que alm da elevada qualidade grfica do avatar,
necessria uma animao facial e corporal credvel, para que o sistema atinja nveis de satisfao
elevados na tica dos surdos.
2.2.5 Visia
O projeto Visia (Verlinden, Tijsseling e Frowein 2002) uma aplicao Web que utiliza um
intrprete virtual, para anunciar em Lngua Gestual a previso do estado do tempo. semelhante
ao projeto Simon-the-Signer, mas em vez de traduzir contedos noticiosos, traduz informao
45
meteorolgica. Alm disso, traduz o texto de vrias lnguas, designadamente, Ingls, Alemo ou
Holands, para a respetiva lngua gestual natural (BSL, DGS e NGT). necessria a instalao de
um plugin, apenas disponvel para o browser Internet Explorer, onde esto includos os ficheiros
de movimento que representam os gestos, obtidos por captura de movimentos.
O Visia teve uma viso mais elevada no que toca sntese do gesto utilizada em Simon-theSigner e TESSA. Ao passo que os sistemas anteriores estabelecem a relao direta entre a palavra
e a animao do gesto, Visia estabelece a relao entre a informao descritiva do gesto e a
animao deste. Os autores criaram o SiGML (Signing Gesture Markup Language), um sistema
que codifica os elementos que descrevem o gesto, designadamente a configurao da mo, da
expresso facial, e configurao do movimento. O seu objetivo codificar a informao descritiva
do gesto, e no o seu significado, tornando-se um sistema independente da regio da lngua
gestual.
O interface da aplicao Visia (Figura 16) pretende ser simples, no entanto, no contempla
uma forma de manipular a velocidade da animao. Este um fator importante para utilizadores
que no se adaptem ao intrprete virtual e que tenham dificuldades em seguir a velocidade dos
gestos.
Figura 16- Avatar Visia e interface da aplicao (Verlinden, Tijsseling e Frowein 2002)
2.2.6 eSign
A aplicao eSign (Zwitserlood, et al. 2005) tem como objetivo traduzir o contedo das
pginas Web para lngua gestual. O sistema composto por duas componentes. A primeira
consiste num avatar capaz de ser integrado em qualquer pgina Web, e que existe para traduzir
qualquer contedo que o autor da pgina queira traduzir. A segunda componente consiste numa
aplicao Desktop, que serve para criar o vocabulrio em lngua gestual que o avatar ter acesso.
Esta aplicao a continuao do projeto ViSiCAST, e usa muito da experincia adquirida nesse
projeto.
46
A principal diferena para os projetos anteriores (2.2.3, 2.2.4, 2.2.5), que o eSign no recorre
ao processo de captura de movimentos para suportar a animao. O processo de animao
consistiu em produzir em tempo real o movimento de um gesto esttico para outro. Por um lado,
este processo envolve algoritmos de Inverse Kinematics para definir os valores das rotaes das
articulaes do modelo para cada postura. Por outro lado, envolve algoritmos de interpolao entre
posturas, para definir a transio de uma pose para outra, de uma forma credvel de acordo com a
biomecnica do movimento humano (Kennaway 2002).
Analogamente ao Visia, o eSign utilizou SiGML para relacionar os gestos com a animao,
que por sua vez, guiam o avatar com os movimentos necessrios composio do gesto. De igual
modo ao sistema Visia, necessrio instalar um plugin para o browser de forma a visualizar o
avatar a traduzir a informao do Website. O interface da aplicao (Figura 17) permite ao
utilizador controlar certos aspetos do avatar como a posio da cmara virtual e parmetros visuais
como luz, entre outros.
A principal vantagem que eSign apresentou por no recorrer tcnica de captura de
movimentos foi um custo menos elevado no processo de animao. Todavia, a grande
desvantagem foi a elevada complexidade em desenvolver animaes realistas. O grande avano
que este projeto deu ao estado-da-arte, foi a descoberta de um mtodo que permite criar gestos de
Lngua Gestual sem a necessidade de produzir o gesto numa ferramenta de animao. O avatar
aparenta estar melhor graficamente que os usados nos trabalhos anteriores, mas infelizmente no
foram encontrados resultados da avaliao feita ao sistema. Seria interessante comparar os
resultados de Visia que utiliza a captura de movimentos, com esta soluo que no usa essa
abordagem.
47
Figura 18 - Curso de Lngua Gestual: contedos do primeiro ao terceiro nvel (esq. para a direita)
O DVD da aplicao pode ser utilizado tanto na televiso, como no computador, contudo, no
computador possvel alm de visualizar as aulas, no final de cada lio, realizar exerccios para
passar lio seguinte. No fim de todos os exerccios, o utilizador tem acesso a um exame final.
Ao longo do percurso didtico possvel consultar a classificao, e aps o exame final, imprimir
o certificado. A Figura 19 mostra um exemplo de exerccio e a tabela de classificao.
2.3
Dicionrios Gestuais
2.3.1 Spread the Sign
O Spread the Sign um dicionrio internacional online, cuja nica funcionalidade
apresentar vdeos de palavras de Lngua Gestual para 20 pases distintos. Tem lnguas gestuais
como: sueca, inglesa, americana, alem, francesa, espanhola, portuguesa, entre outras. O
dicionrio contm at ao momento 7194 vdeos para LGP. Esta plataforma um projeto
internacional da Unio Europeia, no mbito do programa Leonardo da Vinci (Programa Leonardo
48
da Vinci 2008). O dicionrio est disponvel tambm como aplicao para iPhone e Android com
a mesma funcionalidade que o Website. Na Figura 20 apresentam-se os interfaces para Website e
Android:
A Figura 22 representa o interface que permite fazer a consulta de um gesto. Inclui a descrio
da articulao, frases de exemplo em contexto, gestos alternativos e dicas de memorizao. A
Figura 21 mostra o construtor de frases aps a introduo de uma frase pelo utilizador. A frase
introduzida decomposta em vrias palavras que podem ser alteradas ou ordenadas. O vdeo que
49
traduz a frase em ASL composto pela concatenao de gestos de cada palavra na ordem da
lngua oral e no da lngua gestual.
A funcionalidade listas de palavras serve para agrupar um determinado conjunto de conceitos
numa lista. A partir desta, possvel fazer algumas coisas interessantes como consultar
sequencialmente o seu vocabulrio com vista memorizao, criar flash cards, ou quizzes. Um
quiz corresponde a um conjunto de perguntas aleatrias, alternando entre dois tipos de questes. O
utilizador convidado a adivinhar dado um vdeo de um gesto, qual a sua palavra
correspondente, ou o processo inverso, dada uma palavra o utilizador tem de adivinhar qual o
gesto correto. Um flash card essencialmente conjunto de gestos que o utilizador visualiza um
gesto, apreende-o, e depois visualiza a palavra respetiva. Em seguida, passa ao prximo gesto e
repete o processo. uma ferramenta que serve de memorizao e permite preparar o utilizador
para os quizzes.
Composio
de Frases
os conhecimentos
LGP
X
X
Verso
mobile
Avatar
X
X
X
2.4
Sumrio
Neste captulo, deu-se uma viso geral sobre os conceitos essenciais ao entendimento dos
temas abordados. Destacaram-se os projetos relacionados com os temas desta tese,
designadamente, a Lngua Gestual e Avatares. Por fim, identificaram-se alguns Dicionrios
Gestuais, analisando-se as suas caractersticas mais relevantes.
Composio de frases atravs da concatenao de vdeo no a mais indicada para surdos em (Farzad, et al.
1999).
51
Captulo 3
Investigao e Testes Prvios
No geral, este trabalho enquadra tecnologias relativamente recentes, como o sensor Microsoft
Kinect, por sua vez, so abordados desafios ainda no trvias, especialmente neste captulo, como
o finger tracking. Estes motivos conduziram a uma abordagem de trabalho exploratria, levando
ao desenvolvimento de algoritmos, aplicaes, e redefinio de metas ao longo do decorrer da
tese.
Este captulo, inicia-se pela apresentao dos motivos da escolha do MotionBuilder como
software de animao. Em seguida, apresenta e compara dois tipos de animao: a animao pelo
mtodo manual, que resultou num avatar que soletra palavras em LGP; e na animao assistida
pela captura de movimentos, focada para a interpretao de palavras de LGP.
O captulo concludo, com a investigao de um mtodo de finger tracking que
complemente a captura de movimentos do corpo obtida pelo Kinect, com a posio tridimensional
dos dedos ao longo do movimento. Esta abordagem resultou na investigao de um mtodo de
finger tracking semiautomtico, que envolve a ajuda do utilizador para detetar as articulaes dos
dedos.
3.1
52
3.2
53
3.3
Esta aplicao gera uma animao em tempo real de um avatar a traduzir para gestos de LGP
cada letra introduzida pelo utilizador e foi desenvolvida em Python como um plugin 7 do
MotionBuilder.
Em primeiro lugar criei os gestos de todas as letras de A a Z no MotionBuilder. Modelei cada
gesto definindo a configurao dos braos, mos e dedos. Cada gesto foi armazenado como uma
Pose 8 . Alm disso, criei uma pose neutra usada para a posio inicial do avatar durante a
animao. O avatar utilizado foi um dos modelos existentes no MotionBuilder designado por Mia.
Aps a criao da biblioteca de gestos ou poses, foi necessrio aceder a cada uma, atravs da
linguagem de scripting Python e construir dinamicamente uma animao. Para tal, defini uma
keyframe para cada letra, com um intervalo de 5 frames. Ao executar a animao, o software faz
automaticamente a passagem da pose de uma frame para a pose da frame seguinte. O valor de 5
frames para o intervalo entre as letras, foi obtido empiricamente como um timo valor para uma
animao fluda.
Foi desenvolvido um interface simples (Figura 25) que inclui uma caixa de texto para o
utilizador escrever uma palavra, e um boto para gerar a animao a partir do texto que o
utilizador pretende ver soletrado.
O conceito de plugin tambm conhecido no contexto do MotionBuilder como Tool. Consiste em vrias
instrues de cdigo escritas usualmente em Python para desempenhar uma ou vrias tarefas de forma automtica.
8
54
Conclu ao longo do desenvolvimento desta soluo que modelar um gesto para cada letra do
alfabeto uma tarefa muito demorada. Por conseguinte, modelar algo mais sofisticado como
palavras seria ainda mais trabalhoso, pelo que faz sentido recorrer a um sistema que torne o
processo de produo de gestos mais eficiente. O caminho seguinte foi usar um sensor de
movimentos para capturar o movimento apenas corporal, mas desta vez pretendo animar gestos de
palavras em vez de letras.
3.4
55
Captura do movimento
Ligao do avatar aos dados do Kinect
Tratamento de dados
Adio da animao da mo e dedos animao corporal do avatar
56
O primeiro passo deste processo gravar o movimento do gesto atravs do plugin que envia a
informao do Kinect para o MotionBuilder.
A tarefa seguinte consiste em fazer a ligao dos dados capturados ao avatar que se quer
animar. Para isso faz-se a Characterization9 do Stick Figure (esqueleto controlado pelos dados do
Kinect) e posteriormente define-se esse personagem como Input Source no avatar.
Aps a ligao do avatar aos dados vindos do Kinect, procede-se ao Data Cleaning, isto , ao
processo de tratamento de dados. Este passo existe, porque os dados capturados 99% no podem
ser integrados diretamente no avatar. Por este motivo, o Data Cleaning tem dois objetivos. O
primeiro determinar a posio correta de cada articulao no conjunto de instantes da captura.
Isto necessrio quando o sensor no deteta com exatido a posio do osso durante o movimento
(Figura 29), ou no caso extremo da articulao no estar a ser temporariamente detetada. O
segundo objetivo corrigir aquelas posies que aparentam estar bem no esqueleto do Stick
Figure, mas ao passarem para o esqueleto do avatar no tm a mesma correspondncia. Isto
acontece porque a fisionomia do esqueleto do Stick Figure, apesar de prxima, no exatamente
igual fisionomia do esqueleto do avatar. Este tipo de falha inclui as posies quando o
movimento real faz o brao ou a mo passar muito junto ao corpo, e no avatar essa extremidade
trespassa o corpo do personagem (Figura 30).
O ltimo passo o chamado hand-over manual. Este passo consiste em fazer a animao
manual da mo por cima da animao capturada com o Kinect. Isto resulta em duas animaes
sobrepostas, ou seja, por um lado temos a animao do corpo capturada com o Kinect, e por outro,
uma animao da mo feita manualmente por keyframes. Este passo usa intensamente a animao
manual, pois necessrio definir a configurao e orientao da mo num intervalo temporal.
preciso ter um bom entendimento da descrio do gesto, perceber as pequenas nuances do
movimento, de modo a se atingir a definio da pose correta no instante correto. Especialmente
neste passo, fiz pequenos ajustes tendo em conta o gesto no todo, e no apenas na soma das suas
partes. Quer isto dizer, por exemplo, que por vezes necessrio aumentar a velocidade do
57
movimento, por vezes diminuir, ou realar outros pormenores de modo a produzir um gesto
fidedigno. Sem alterar muito o original, se no corre-se o risco de ficar pouco fludo e robtico.
.
Figura 31 - Comparao entre animao assistida por Kinect (esq.) e animao manual (dir.)
O uso de animaes assistidas por Kinect tem a grande vantagem de obter resultados mais
realistas que recorrendo a animaes manuais. Por um lado, exige-se algum trabalho,
designadamente com o tratamento de dados de forma a corrigir falhas na captura; por outro lado,
compensatrio, dado o resultado realista da animao.
Apesar da animao obtida por edio manual, esse fator est dependente do nvel de
experincia do animador e da complexidade do gesto. Todavia, este tipo de animao pouco
natural difcil, dada a complexidade da biomecnica humana. O recurso ao Kinect tambm
vantajoso, porque diminui o tempo necessrio na criao de animaes caso o gesto no tenha
muitas falhas nas posies durante a captura. No caso do gesto para a expresso Ondas do Mar,
este tinha muitas falhas e fez com que na mdia o tempo de produo fosse igual para as duas
abordagens. Deste teste concluiu-se que possvel fazer uma captura de movimentos com o sensor
Kinect e animar um avatar com esse movimento. No entanto, o sensor tem tracking nativo do
movimento do corpo e da face, mas no dos dedos. No mbito da lngua gestual, a configurao da
mo uma componente essencial na descrio do gesto. O passo seguinte envolveu investigar
quais os dados necessrios transposio do movimento dos dedos, para um modelo da mo
tridimensional.
58
3.5
O prximo plugin desenvolvido para o MotionBuilder tem como objetivo testar a informao
necessria para determinar a configurao da mo num avatar, e foi desenhado tendo em conta trs
requisitos: carregar uma postura num avatar a partir de um ficheiro, salvar para ficheiro a pose do
avatar ativo, e produzir uma animao a partir da leitura de vrios ficheiros. Antes de iniciar o seu
desenvolvimento, fiz uma anlise estrutura de ficheiros com extenso BVH10. Verifiquei que a
informao essencial para definir uma postura representada para cada articulao pelas
coordenadas de translao e rotao em torno dos trs eixos principais (i.e. x, y e z).
Em seguida apresento os interfaces da aplicao a que chamei Poses Animator:
O interface da Figura 32 permite carregar ficheiros de gestos, para isso basta carregar no boto
Browse, escolher o ficheiro, e por fim carregar na opo Load File. O gesto contido no ficheiro ir
ser carregado para o avatar que est a ser utilizado como ativo no MotionBuilder. Tecnicamente,
esta operao l as coordenadas de translao e rotao, e define os seus valores para cada
articulao do avatar. possvel ver o contedo de cada ficheiro, carregando na opo Peek
Content como se pode ver na Figura 34Erro! A origem da referncia no foi encontrada..
O interface da Figura 33 permite armazenar gestos estticos (i.e. gestos de letras) em ficheiro,
salvando as coordenadas de todas as articulaes do avatar. possvel escolher as articulaes que
se pretender armazenar, selecionando-as primeiro no personagem, e em seguida clica-se na opo
Save. Da aparece a opo para escolher a pasta e o nome do ficheiro que se pretende salvar.
10
*.bvh um formato de dados prprio para captura de movimentos, pois armazena informao hierrquica dos ossos de um
esqueleto tal como informao do seu movimento. Um software de animao que trabalhe com este formato, consegue
mapear a informao do esqueleto e do seu movimento, e associ-los a um esqueleto de outro personagem.
59
Figura 34 - Poses Animator: interface para visualizar e editar o contedo do ficheiro de gestos
60
3.6
3.7
11
As elipses so uma melhor forma de apresentar o resultado da 2 abordagem, por isso neste teste deixou-se a
vista dos pontos brancos de fora.
63
AForge.NET
AForge.NET uma framework de processamento de imagem e inteligncia artificial. A
abordagem do teste anterior realizada por Stegmueller, utilizava os dados de profunidade do
Kinect. Uma vez que esses dados ao nvel dos dedos no so muito precisos, a minha abordagem
passou por tentar obter o contorno dos dedos atravs da imagem de cor RGB.
O primeiro passo consistiu em retirar os pixis que no correspondiam aos pontos da mo ou
brao. Ento apliquei um filtro de profundidade para tudo que estivesse a 70mm de distncia da
articulao da mo, ficaria a preto. O valor de 70mm foi um valor que restringiu mais o intervalo
de profundidade usado anteriormente (seco 3.6 ), mas empiricamente gerou melhores resultados
pois geralmente detetava a mo e o brao como pretendia.
Para detetar os contornos foi aplicado um algoritmo chamado Canny Edge Detector. Este
algoritmo pinta a branco os contornos dos objetos de uma imagem de entrada e tudo o que no
seja contorno, pinta a preto. Para destacar mais os contornos, adicionei um pouco de claridade
imagem de entrada do Canny, imagem que tem de estar em tom de cinza. Os resultados do
algoritmo podem ser vistos nas Figuras 40, 41 e 42 para vrios gestos de letras de LGP.
64
Figura 40 - Deteo de contornos para gesto da letra A (esq.) e gesto da letra F (direita)
Figura 41 - Deteo de contornos para gesto da letra B (esq.) e gesto da letra D (direita)
Figura 42- Deteo de contornos para configurao de mo em garra (usada na LGP, lado
esq.) e gesto para letra V (dir.)
O algoritmo eficaz a detetar a silhueta da mo, todavia, relativamente deteo do contorno
dos dedos no se apresenta to eficaz.
Letra A H distino do contorno para 4 dedos, exceto o dedo do polegar que est oculto.
de notar que o algoritmo Canny no teve nesta situao a melhor entrada de dados para o gesto,
pois o filtro de profundidade cortou alguns dos pixels na margem dos dedos mindinho e anelar.
65
Letra F Os dedos mindinho, anelar e do meio esto sobrepostos, da ser muito difcil ao
algoritmo distinguir os contornos para estes dedos. Alm disso, o contorno do resto dos dedos est
impreciso e pouco claro.
Letra B A distino dos contornos no muito clara ou precisa e volta a acontecer
ocluso dos dedos.
Letra D No h distino dos contornos em vrios dedos.
Configurao mo em garra Excelente distino de todos os dedos (configurao de mo
usada em LGP).
Letra V Sofre do mesmo problema que no gesto para a letra A, em relao ao corte de
pixels. A distino est boa apenas para dedo indicador e dedo do meio.
Nas configuraes dos gestos existem muitas ocluses, da o algoritmo desenvolvido por
Stegmueller tambm no foi eficaz na deteo dos dedos, pois as pontas dos dedos estavam quase
sempre escondidas. Embora seja possvel fazer melhoramentos relativamente definio de
contornos, possivelmente ajustando as configuraes de entrada do algoritmo Canny, a deteo
dos dedos nunca ir ser perfeita. Quando houver ocluso, o dedo no aparece na imagem, e
simplesmente no h contorno. Uma das solues possveis seria adivinhar, ou seja, obter um
algoritmo que tenha alguma flexibilidade e consiga prever a posio natural dos dedos quando se
encontram ocultos.
Fazer o tracking dos dedos com um algoritmo de forma automtica teria de ser algo bastante
bem feito para ser usado no mbito deste projeto. O mbito deste trabalho lida com gestos da LGP
que inclui configuraes de mos bastante complexas. Se for desenvolvido um algoritmo simples
para tratar esta situao este ter falhas, porque no resolver as ocluses e consecutivamente no
ser til. Por conseguinte, o passo seguinte foi realizar uma abordagem completamente diferente,
usando um sistema de finger tracking semiautomtico, ou seja, o processo de deteo envolve o
utilizador para marcar as posies das articulaes dos dedos. A seguir descrevo esta abordagem e
os problemas encontrados.
3.8
ser a evoluo da classe de aplicaes Windows Forms, est dotada de mais controlos de utilizador
e mais fceis de usar que o seu tipo de aplicao predecessor. Em seguida apresento os interfaces
da aplicao:
Figura 43 - Pose Estimation: ecr inicial (esq.) e ecr depois de tirada a foto (direita)
A imagem da esquerda da Figura 43 representa o ecr inicial da aplicao onde se v o
utilizador a exibir um gesto para a cmera. Neste interface, o utilizador tira a foto fazendo o gesto
aps o software detetar o esqueleto do utilizador. Aps tirar a foto no interface inicial, o utilizador
passa ao interface seguinte representado na imagem da direita da Figura 43.
Este interface permite ao utilizador mapear as articulaes dos dedos de cada mo, ou seja,
associar os pontos da imagem s articulaes dos ossos da falange, falanginha, falangeta e ponta
do dedo. Os crculos coloridos em cima da mo situados em baixo da foto capturada pelo sensor,
representam os marcadores para cada articulao, dos quais o utilizador pode arrastar cada um
para cima da foto. Em alternativa tambm pode clicar em cima de um ponto qualquer da foto e
automaticamente o marcador posicionado nessa posio segundo uma ordem preestabelecida
para cada articulao. Uma vez que o sensor Kinect pode estar longe, como o caso do exemplo
apresentado, e tambm para resolver a sobreposio dos dedos num gesto, foi adicionada a
funcionalidade de Zoom imagem. Na Figura 44 pode-se ver essa funcionalidade aps a marcao
das articulaes pelo utilizador:
Figura 47 - Pose Estimation: marcao de articulaes para o gesto relativo letra C em LGP
68
Kinect Skeleton 3D
A aplicao permite visualizar um esqueleto a mover-se conforme os movimentos feitos por
um humano atravs do sensor Kinect. As articulaes do esqueleto esto representadas atravs de
figuras geomtricas como esferas ou cubos. Para gerar grficos 3D, necessitei de uma API grfica
e optei por escolher a biblioteca WPF 3D, que j vem includa em qualquer aplicao WPF, por
causa da sua abstrao da complexidade e pelo seu nvel de desempenho grfico suficiente para o
que pretendia.
Nesta aplicao o utilizador pode optar por fazer tracking em modo normal ou modo sentado.
O modo normal faz tracking do esqueleto completo e o modo sentado faz tracking apenas das
articulaes do tronco superior.
69
Existem dois tipos de rotaes existentes no SDK do Kinect: absolutas e hierrquicas. Permiti
ao utilizador escolher entre elas quando define o tipo de movimento para Rotao. Em seguida
descrevo o algoritmo para definir os valores de rotao nas articulaes para os dois tipos de
rotao:
71
3.9
Sumrio
Este captulo consistiu na investigao de vrias reas, nomeadamente, de animao, captura
de movimentos, hand tracking, processamento de imagem e finger tracking.
O captulo abordou um conjunto de tcnicas ou tentativas de usar o Microsoft Kinect, para a
captura de movimentos aplicada concretizao de gestos de LGP. Numas vezes a animao
realizada totalmente manual, noutras assistida pelo sensor Kinect. Como este se revelou
limitado, adotei um mtodo hibrido, atravs da captura de movimentos do corpo com o sensor,
juntamente com a animao manual da configurao da mo.
73
Captulo 4
Gerao e animao do Avatar
Neste captulo apresenta-se a componente do trabalho realizado, relativa gerao e animao
das personagens virtuais que se integraram na aplicao final. Alm disso, complementa a
investigao anterior sobre a captura de movimentos, mas desta vez, capturando a componente em
falta interpretao da LGP, a expresso facial.
Em seguida, cada fase do trabalho descrita em seguida, comparada com a iterao do
processo de desenvolvimento respetiva.
4.1
Figura 53 - Soletrar palavras em LGP com palavras predefinidas (esq.) e Avatar utilizado (dir.)
74
Frase em LGP
Eu vou escola.
EU ESCOLA IR
ELE VORA IR
Eu no vou escola.
EU ESCOLA IR NO
Composio de Frases
Nesta fase foi necessrio juntar os gestos atmicos ou palavras numa s animao. Deste
processo resultaram 6 animaes, logo, 6 frases. Usando o menu Story do MotionBuilder foi
possvel criar vrias Tracks (contentores de animaes), e usar cada uma para formar uma frase.
Em cada Track juntou-se todos os gestos atmicos ordenados segundo as regras gramaticais da
LGP.
Ao concatenar as animaes preciso sobrepor a animao de um gesto com a animao do
gesto anterior. Tambm chamado de blend entre gestos, este processo consiste na interpolao
entre as duas animaes ou gestos. O MotionBuilder trata do processo de blend automaticamente
gerando uma animao fluda e consistente. O nvel de consistncia e fluidez est dependente de
dois factores: da diferena entre as duas animaes, logo, neste caso particular, depende da
diferena da posio das mos entre as animaes; e do tempo definido de blending, isto , do
tempo definido para a sobreposio entre as duas animaes. Estes dois fatores foram ajustados
para cada animao, de modo a obter cada animao com a melhor qualidade possvel.
Foram capturadas tambm duas animaes acessrias para marcar o incio e o fim do gesto.
Uma vez que cada gesto comea e acaba com as mos ao nvel da cintura, juntou-se a cada frase,
uma animao inicial e uma animao final. A animao inicial faz a passagem do estado inicial
do avatar (posio de descanso) para o incio do gesto enquanto a animao final faz a passagem
do fim do gesto para a posio de descanso do avatar.
A estrutura utilizada para compor as frases foi sujeito-objeto-verbo (SOV) segundo a mesma
regra utilizada no dicionrio de Lngua Gestual Portuguesa (Baltazar 2010).
Na imagem do lado esquerdo da Figura 54, pode ver-se o menu Story que permite compor
frases. Cada Track tem o nome de Frase 1, Frase 2 e assim sucessivamente. Em cada Track
residem os gestos ordenados sequencialmente segundo a sintaxe da LGP. Na Frase 1 podemos ver
os gestos Incio do Gesto seguido de Ol, Bom dia, Tudo bem e Fim do Gesto. Para
efeitos demonstrativos no se realizou o blending dos gestos para se interpretar claramente o que
so os retngulos coloridos (as palavras), porm na Frase 2 j se pode visualizar o blending entre
os gestos e constata-se que graficamente os retngulos coloridos sobrepem-se ou intersetam-se
entre si. Depois de desenvolvidos as duas funcionalidades descritas, passou-se sua avaliao
com utilizadores surdos.
Objetivos
A avaliao do primeiro prottipo teve trs objetivos principais:
1. Testar a qualidade grfica das animaes e dos avatares;
2. Testar a facilidade de interpretao das animaes;
3. Fomentar a discusso para a criao de uma aplicao til de LGP
O teste com utilizadores foi dividido em duas partes.
A primeira parte envolveu a utilizao da aplicao Soletrar Palavras em LGP e pretendeu
testar o desempenho do nosso intrprete virtual a soletrar palavras em LGP.
Na segunda parte, apresentou-se um conjunto de frases e pretendeu-se avaliar o desempenho
de um avatar a traduzir frases predefinidas para LGP.
Mtricas
77
Questionrios
Os questionrios usados na avaliao podem ser consultados no Anexo 3 para o primeiro teste
e no Anexo 4 para o segundo teste.
Resultados
Comemos o teste e os surdos ficaram entusiasmados pelo avatar da Figura 53. Ao apresentar
a primeira palavra (embora), os surdos sentiram muita confuso e no conseguiram perceber.
Queixaram-se que a animao estava muito rpida e alm disso, no conseguiam visualizar bem o
contraste entre o brao e a mo do avatar. Diminuir a velocidade de animao, tornou possvel a
interpretao. Aps 4 tentativas conseguiram interpretar a primeira palavra.
Passmos segunda palavra que era Portugal, que foi reconhecida ao fim de duas
tentativas. Ao longo do teste identificaram outro problema. Nas letras cujo gesto implica
direcionar a mo para baixo, como por exemplo, nas letras M e N, a animao no estava
correta, pois o brao afastava-se demasiado da posio correta. A posio correta posicionar a
mo no centro do corpo frente dos pulmes.
No segundo teste, o avatar utilizado era diferente (Figura 54). Os surdos confirmaram que este
avatar era mais adequado pois era mais fcil interpretar os gestos devido s mos estarem mais
expostas e contrastantes do resto do corpo. De seis frases apenas trs foram reconhecidas. Das
frases reconhecidas a primeira foi reconhecida mais facilmente que as restantes, enquanto as
outras duas tiveram de ser repetidas.
Foram identificados 6 causas para o no reconhecimento:
78
Cinco das seis frases utilizadas usavam a estrutura frsica SOV, no entanto, os surdos
afirmaram que essa no era a ordem correta para os elementos da frase, mas sim OSV (objetosujeito-verbo). Outro motivo foi a utilizao de gestos como gato e ir que foram executados
como se faz no Porto e que so diferentes dos que os surdos usam habitualmente na regio de
Lisboa. Outra causa foi que alguns gestos como ir no estavam bem animados, e no caso do
gesto ir o gesto entrava em 3 frases. Para os gestos Escola e vora, a mo dominante era a
esquerda, enquanto para o resto dos outros gestos a mo dominante era a direita. No correto
fazer a alternncia da mo dominante durante a execuo dos gestos.
4.2
mais qualidade e mais adequado execuo de gestos no mbito de uma aplicao infantil.
Posteriormente, procedeu-se reavaliao do resultado por utilizadores surdos.
vrtices do modelo. No entanto, este mtodo demonstrou-se pouco prtico, pois era muito
demorado e pouco eficaz, visto que era necessrio alterar uma grande quantidade de vrtices e por
sua vez, algumas alteraes malha provocavam irregularidades indesejadas na forma/dimenso
do personagem. O mtodo utilizado passou por usar um Mask Modifier. Este mtodo consiste em
esconder um conjunto de vrtices. Criou-se um Vertex Group, que basicamente como o nome
indica um grupo de vrtices, agrupou-se apenas os vrtices responsveis pelos pontos da malha
que esto por baixo da roupa e aplicou-se um modificador do tipo Mask a esse grupo. Depois de
corrigido os problemas referidos, decidi criar um terceiro avatar. Neste caso foi criado uma
menina caucasiana recorrendo ao software DAZ Studio. A razo para ter usado outra ferramenta,
foi a necessidade de criar um avatar com uma aparncia completamente diferente dos personagens
anteriores, tanto ao nvel de estrutura fsica, como roupa, e por isso no se recorreu ao
MakeHuman como nos outros avatares. A exportao do DAZ Studio para MotionBuilder no
trouxe nenhum problema.
Resultados
(a)
(b)
81
(c)
Figura 56 Foto dos avatares: (a) Artur - (b) Mimi - (c) Nucha
Foram concebidos trs avatares j com esqueleto de diferentes raas, e a sua importao foi
testada com sucesso pelo software de animao MotionBuilder. Os trs avatares estavam
preparados para serem animados. A prxima fase foi decidir qual dos trs seria o melhor avatar na
perspetiva do pblico-alvo. Ento contactei de novo a Associao Portuguesa de Surdos para saber
qual dos trs seria o melhor modelo no papel de comunicador de LGP no mbito de uma aplicao
infantil. A APS voltou a contactar os surdos que estiveram presentes na avaliao do primeiro
prottipo e validaram que o avatar Nucha seria o mais indicado para o objetivo.
O prximo passo consistiu na ltima iterao do projeto e teve trs objetivos: animar o avatar
escolhido com vrias palavras e frases; investigar a captura e animao facial; desenvolver uma
aplicao que expusesse as funcionalidades do avatar como intrprete gestual.
4.3
animao, e no refletiam a qualidade por mim desejada. Decidi capturar de novo todos os gestos,
exceto os dois que j se encontravam com a mo dominante a esquerda, e produzir para cada um a
animao de mos e dedos. Alm disso, capturei mais 22 gestos novos.
Os novos gestos incluram gestos para novas cidades, animais, cores, profisses, frutas,
verbos, pronomes interrogativos, entre outros. A escolha das novas palavras foi pensada j com a
ideia de quais as frases que poderiam ser feitas com a combinao dessas palavras. Alm disso,
para estender os conceitos de sintaxe do primeiro prottipo (marcao de gnero, negao de
frase, tempo verbal), foram capturados pronomes interrogativos para gerar frases interrogativas e
capturei a palavra muitos, para gerar palavras no plural em LGP. Relembro que uma das formas
de marcar o plural em LGP, pela adio da palavra muitos depois do substantivo.
A produo de 20 gestos desde a captura at ao gesto final, demora cerca de 10 horas, sendo
despendida uma mdia de meia hora para cada gesto. O passo seguinte envolveu fazer um teste
captura facial e integr-la num avatar.
83
Figura 57 Faceshift: expresses faciais: feliz (esq.), surpreendido (direita), zangado (baixo)
Na Figura 57 nota-se que a pose facial para as expresses feliz e surpreendido so bem
capturadas, mas expresso de zangado no bem capturada. Algumas expresses no so tao bem
capturadas como outras. A Figura 57 demonstra que o Faceshift consegue apresentar um avatar e
at importar um avatar externo e anim-lo com os dados da captura em tempo real. No entanto, os
avatares existentes por defeito no software apenas tm face e peito, pelo que importou-se um
avatar externo para testar a animao facial no MotionBuilder.
O Faceshift permite utilizar blendshapes para animar as expresses faciais. Os avatares
utilizados at ao momento no tinham blendshapes e uma vez que a plataforma online Project
Pinocchio (Autodesk 2013) gera muito facilmente avatares j com estes elementos, ento decidi
criar um avatar com esta ferramenta e importar para o Faceshift. Para integrar um avatar externo
no Faceshift necessrio mapear as blendshapes do avatar com as blendshapes que o software
est espera. O software tem um editor (Figura 58) que permite fazer esta associao, onde se v
de um lado a blendshape do software e a sua representao grfica na face de um modelo humano,
e do outro lado, as blendshapes do avatar e a sua representao grfica na face do avatar.
Figura 59 Gesto Ol em LGP: incio do gesto sem expresso facial (esq.) e a meio do
gesto v-se a expresso facial
4.3.3 Aplicao
A aplicao concebida chama-se Os meus primeiros gestos e est descrita no prximo
captulo.
4.4
Sumrio
Este captulo enumerou as trs iteraes que descrevem a metodologia utilizada para realizar
os objetivos desta tese. O captulo comeou por abordar o desenvolvimento de um prottipo
inicial e a sua avaliao por utilizadores. Em seguida, o captulo descreveu o processo de criao
de trs avatares, onde um deles foi escolhido por surdos para colmatar as falhas do avatar utilizado
anteriormente. Por fim, apresentou-se o teste feito captura facial, mostrando o processo desde a
captura da expresso facial, passando pela sua integrao num avatar, at expresso facial ser
incorporada numa animao efetuada anteriormente para o corpo, incluindo mos e dedos.
85
Captulo 5
Os meus primeiros gestos
O trabalho realizado previamente pode ser aplicado em vrios contextos possveis. Este
captulo inicia-se pela motivao que levou elaborao de um conceito particular de aplicao.
O captulo descreve todo o processo de desenvolvimento de uma prova de conceito, uma
aplicao Web, que pretende introduzir conceitos bsicos de LGP e que foi desenhada
principalmente para crianas.
5.1
Motivao
Antes de passar ao desenvolvimento da aplicao, fiz uma breve pesquisa sobre como as
crianas surdas so ensinadas na escola. Li acerca da dificuldade que os alunos tinham em
aprender o portugus escrito. Li tambm que os mtodos de ensino da componente escrita tinham
em comum a associao de imagens aos conceitos ou ideias que se queriam transmitir ao surdo
(Camargo 2011) (Baptista 2010). Conclu que uma aplicao para ensinar conceitos bsicos de
Lngua Gestual Portuguesa, tem necessariamente de correlacionar o conceito que se quer ensinar a sua palavra escrita com a sua representao visual e o gesto respetivo em LGP.
Durante a reunio com surdos na Associao Portuguesa de Surdos (Avaliao com surdos na
Associao Portuguesa de Surdos), surgiu a ideia de criar uma aplicao que introduzisse
conceitos bsicos de LGP a crianas, com vrios temas como cores, profisses, etc. Como diz
Deusdado, a consulta de dicionrios para o ensino da LGP no suficiente, sendo que o aluno
deve um papel mais ativo e no processo de aprendizagem e no meramente s visualizao de
gestos. Com esse objetivo, decidi incluir uma componente, distinta dos dicionrios tradicionais,
que teste os conhecimentos do utilizador, atravs de um jogo simples de associao entre palavras
e gestos, e uma forma divertida de compor palavras em frases de LGP.
5.2
87
88
5.3
Pblico-alvo
Esta aplicao destina-se a dois pblicos-alvo distintos. Por um lado, destina-se a surdos,
principalmente crianas, que tenham LGP como primeira lngua, mas que sintam dificuldade em
associar o significado das palavras sua representao escrita. Por outro lado, destina-se a
ouvintes do qual se pressupe que a sua primeira lngua seja o portugus, mas que no tenham
conhecimentos de lngua gestual portuguesa e com o uso da aplicao aprendam a executar os
gestos para palavras e frases simples.
5.4
Engenharia de Requisitos
Para especificar as funcionalidades de Os primeiros gestos elaborei um documento com o
levantamento de requisitos. Como complemento desde documento foram desenhados alguns
diagramas de Casos de Uso de forma a elucidar os requisitos e ajudar na anlise do problema.
Recorri ao software Sybase PowerDesigner para criar estes artefactos por ser uma aplicao muito
completa em termos de funcionalidades virada para a documentao.
Requisitos no funcionais
Os requisitos no funcionais da aplicao front-end so:
O utilizador pode usar todas as funcionalidades do front-end sem se autenticar (Figura 64).
Contudo, foi planeado estrategicamente a possibilidade de autenticao com vista evoluo
futura do sistema. O exemplo que se implementou para demonstrar o potencial, foi a possibilidade
de um utilizador ter ar acesso a diferentes gestos e/ou temas diferentes de outro utilizador.
Nota: A funcionalidade de registo no foi contemplada propositadamente. necessrio
primeiro definir inequivocamente o contexto e a finalidade da autenticao. Existem vrias
possibilidades de uso: filtrar utilizadores comuns de utilizadores premium, ou seja, que pagaram
para obter mais contedos; ser usada no contexto aluno-professor, onde os alunos so orientados
por um professor que define como objeto de estudo, um conjunto de gestos. Portanto, aps a
definio clara do contexto da autenticao, procede-se criao de um interface de registo
adequado ao seu objetivo.
92
5.5
Desenho do Sistema
Esta seco comea por apresentar uma vista geral do sistema atravs da definio da
arquitetura utilizada. Nesta vista faz-se a definio dos componentes fsicos do sistema e as suas
relaes.
Em seguida, apresento o modelo ou a estrutura de dados que serviu de base implementao
da persistncia de dados do sistema. Apresenta-se um diagrama de classes onde esto modeladas
as entidades e as suas relaes da aplicao front-end. Tambm foram identificados os ficheiros
javascript implementados no lado do browser.
93
Por fim, descrevo o processo e os resultados do mtodo utilizado para o design e conceo
das interfaces.
Front-end e Backoffice
Estes so os componentes que so executados atravs de um browser e fazem a interface ao
utilizador (Figura 68). O front-end a aplicao Web principal enquanto o Backoffice ou Gestor de
Contedos uma aplicao Web de suporte. Cada aplicao tem como funo capturar os inputs
do utilizador, enviar pedidos ao servidor Web e apresentar a informao recebida.
Tecnologias Usadas
Usei HTML 5, CSS3, JavaScript, AJAX
Servidor Web
O servidor Web responsvel pelo processamento dos pedidos da aplicao Web. Este
componente implementa a lgica de negcio, e sua funo receber o pedido feito pela aplicao
Web, process-lo e enviar a resposta. Para concretizar esta tarefa faz pedidos base de dados.
Tecnologias Usadas
ASP.NET, C#
94
Base de Dados
Este o componente que permite a persistncia de dados do sistema. Realiza todas as tarefas
de leitura e escrita dos dados atravs de um SGBD (Sistema de Gestor de Base de Dados).
Tecnologias Usadas
Microsoft SQL Server
96
A classe Database trata de fazer pedidos base de dados e retornar essa informao.
A classe SentenceQuery a classe que gere os pedidos do front-end relativamente a frases,
designadamente, retorna frases aleatrias (visualizar Sugestes de frases) ou responde aos pedidos
do componente Compositor de Frases.
A classe UserCookie trata de gerir os cookies utilizados na aplicao, designadamente tem a
funo de criar ou ler um cookie.
97
Daniel um mido de 6 anos e surdo. Ele gosta muito de brincar com os seus Gormities e
o heri preferido dele o Super-Homem, porque este diferente dos outros tal como ele.
Tem um computador com Internet que usa muitas vezes para jogar.
Ao contrrio dos seus pais que so ouvintes, Daniel surdo de nascena, no entanto, fala
lngua gestual portuguesa que aprendeu espontaneamente em contacto com pessoas proficientes
na lngua. Anda no 1 ano de escola onde est a aprender lngua portuguesa, a sua segunda
lngua.
um mido um pouco fechado e o ensino da sua escola bilingue (Lngua Portuguesa e
LGP).
Personagem 2
Manuel tem 29 anos de idade e vive em Lisboa. um jovem alegre e bem-humorado. Tirou
uma licenciatura em Engenharia Civil, mas at agora no encontrou emprego na rea. Trabalha
como comercial numa loja de vender telemveis.
Gosta muito de ler e ir ao cinema. Joga todas as semanas no Euro milhes mas o nico
prmio que ganhou foram 10 euros. Um dos seus sonhos comprar um iate e ir viver para a
Austrlia.
98
No se d muito bem com computadores, pois s teve o seu primeiro computador aos 18
anos.
Manuel foi tio h pouco tempo de um menino surdo.
Cenrios
Cenrio 1
Daniel entra na aplicao. Seleciona a opo Adivinhar. O sistema apresenta um ecr com
vrios temas. Daniel escolhe o tema das cores. O sistema retorna uma lista de vrias cores em
que cada cor acompanhada de uma imagem. Ele seleciona a cor roxa. O sistema apresenta
vrias animaes de gestos. Daniel escolhe uma delas, mas no corresponde cor certa. Sistema
avisa utilizador que gesto no corresponde palavra e diz que aquele gesto para a cor
vermelha. Daniel volta a tentar, e seleciona outro gesto. O sistema avisa utilizador que est certo
e volta ao menu da listagem de cores.
Prottipos
Nesta seco apresento os vrios prottipos construdos durante o design de interfaces tanto
de baixa fidelidade (BF) em papel, como os de alta fidelidade (AF). descrito o mtodo de
conceo dos prottipos e a evoluo do seu design.
Prottipos de baixa fidelidade
No esboo do lado esq. da Figura 72 est representado o interface inicial da aplicao que
serve de entrada ao sistema e define partida, o modo que o utilizador pretende utilizar a
aplicao. A aplicao pode ser usada como dicionrio, ou como teste aos conhecimentos (modo
exerccio/adivinhar).
99
Figura 73 Prottipo de BF: interface principal iterado esq. e interface vdeo direita
Na Figura 73 est representado um click numa suposta palavra e a mudana do interface em
reao a essa ao. No esboo da direita, vemos o aparecimento do controlo de vdeo a sobreporse por cima dos outros elementos. Esta deciso deveu-se inteno de criar um interface que
permita ver um vdeo de uma palavra e ao mesmo tempo ter disponvel o mximo nmero de
palavras passveis de serem selecionadas. Tambm se verificou a expanso do menu Compositor
de Frases que permite combinar palavras atravs de um menu de escolha de palavras.
O desenho do controlo de vdeo e do Compositor de Frases foi iterado vrias vezes para
chegarem sua melhor localizao espacial no interface como se apresenta na Figura 74:
100
Figura 76 Interface para visualizar vdeo (baixa esq. vs. alta fidelidade direita)
101
A Figura 76 mostra a introduo de uma barra arrastvel que define a velocidade do vdeo.
Tambm se verifica a adio de dois botes HD e SD que permitem ver o vdeo em alta-definio
ou qualidade standard respetivamente, mas que no prottipo de AF inicial ainda no tinham sido
desenhados.
Prottipos de alta fidelidade
At chegar ao design mais satisfatrio, o design de interfaces dos prottipos de alta fidelidade
implicou vrias iteraes. Surgiram vrias solues alternativas de desenho pelo que foi escolhido
em cada situao, o design que achei mais eficaz, coerente e fcil de usar para o utilizador.
Sabendo que um dos pblicos-alvo so crianas, procurou-se a criao de interfaces
interativas e cativantes. Era necessrio construir um interface colorido e com cores vivas. A
experincia do pblico-alvo com computadores no muito grande e tambm de modo a conceber
um interface intuitivo e fcil de usar, pretendi criar um interface simples, mas funcional.
Design grfico
Exemplo
ComingKiddo
GoldPanda
KiddySans
Os meus primeiros gestos
CuteLove
e fcil de usar. Na Figura 77 mostra-se algumas solues de design alternativas que obtive, e a
soluo escolhida:
Botes de Opes
Os botes de opes encontram-se no canto superior direito da aplicao e permitem efetuar
login/logout, ver definies da aplicao e voltar ao interface inicial.
As solues alternativas de design que encontrei foram (Figura 78):
103
5.6
Implementao
Em seguida, sero descritas as funcionalidades implementadas tanto do front-end como para o
backoffice do ponto de vista tcnico. Comeo por fazer um apanhado das bibliotecas / APIs que
foram utilizadas para facilitar o desenvolvimento ou necessrias para implementar determinada
funcionalidade. Em seguida, descrevem-se as funcionalidades, acompanhadas de algumas
screenshots dos elementos ou controlos mais importantes. Identificam-se tambm os problemas
encontrados mais relevantes.
104
Interface de Autenticao
Foi implementado o sistema de autenticao nas duas aplicaes: front-end e backoffice
(Figura 80).
105
Gesto da sesso
Em relao gesto da sesso, esta realizada por mtodos distintos para o front-end e
backoffice.
O front-end utiliza um cookie, criado no lado do Servidor (Listagem 1) aps validar a
autenticao, e envia na resposta ao cliente o cookie preenchido comos dados relativos ao
username, userid e perfil. A classe responsvel pela gesto da sesso a classe UserCookie.
106
5.6.3 Front-end
A API Twitter Bootstrap revelou-se muito interessante: uma API simples cujos controlos
tm um look and feel bastante atrativo, e que foi adotada desde o incio da implementao para
criar interfaces sofisticadas. Esta biblioteca cross-browser, e apesar de no ser ainda um
requisito desenvolver para mobile, os seus controlos adaptam-se visualmente s medidas de
diferentes dispositivos como PC, telemvel, etc.
Outra API usada foi a ASP.NET AJAX de modo a criar interfaces interativas. Quase 100% dos
controlos utilizam AJAX. Os mtodos usados para comunicar entre cliente-servidor via AJAX
foram enumerados na Listagem 3:
string UpdateNavTabs(string id)
string UpdateLeftBar(string text, string themeId, string videoType)
string UpdateContentBar(string text, string themeId, string videoType)
Pode ser consultada uma descrio mais detalhada acerca de cada mtodo no Anexo 7.
As chamadas camada de dados usaram as funes do ASP.NET ADO.NET.
Modo Dicionrio
O modo dicionrio constitui o interface com mais interatividade e funcionalidades da
aplicao. Tem funcionalidade de pesquisa, drag and drop, tabs para mudar de tema,
funcionalidade de ver vdeo para palavra ou frase, e compositor de frases.
Comecei por criar a estrutura de espaos ou zonas atravs de HTML/CSS. O interface foi
separado por 3 grandes divs: logo, contentBar e leftBar. logo onde fica o logotipo e os botes de
107
opes. leftBar o espao para a lista de palavras e pesquisa, enquanto contentBar foi o espao
onde se situa a maioria da interao, designadamente ver vdeo e compor frases (ver Figura 81).
contentBar listagem de
de palavras
gestos
Figura 82 Botes de opes: voltar ao interface inicial, ver definies, e fazer login/logout
A aplicao tem uma configurao (Figura 82) que permite alternar entre a visualizao de
vdeos com humanos, ou ento visualizao de animaes com avatar. Quando usada a
configurao de gestos com avatar, caso no haja animao com avatar disponvel para uma
determinada palavra, fornecido o vdeo com humanos, caso exista no sistema.
Lista de Palavras
A lista de palavras permite uma pesquisa por gestos (Figura 83). Foi feito de modo que basta
o utilizador escrever, a pesquisa feita automaticamente em background e os resultados so
apresentados ao utilizador sem necessidade de carregar enter.
Para isso associou-se o evento KeyUp da caixa de texto da pesquisa ao mtodo
SendClick(event) presente na Listagem 4 que por sua vez chama mtodos AJAX:
function SearchClick(event) {
108
if (loop) {
document.getElementById("videoFlow").setAttribute("loop", "")
flowplayer().play()
}
else
document.getElementById("videoFlow").removeAttribute("loop")
12
13
109
loop = !loop;
}
Listagem 5 - Cdigo para alternar entre vdeo com loop activou ou inativo
Tambm se implementou com recurso a um slider do AJAX Control Toolkit, um controlo para
gerir a velocidade do vdeo, como se verifica na Figura 84. Considerei usar um slider da biblioteca
jQueryUI, mas achei esteticamente melhor o do AJAX Control Toolkit, e alm disso j estava a
usar esta biblioteca para outras funcionalidades.
14
110
Caso o utilizador no saiba a ordem frsica da composio de frases em LGP, pode visualizar
sugestes de frases que apresentam uma comparao entre frases em LGP e frases em LP. Para
isso o utilizador basta carregar no hyperlink chamado sugestes aqui.
Sugestes de frases
preciso definir como DragSource e DropTarget os elementos que queremos trabalhar como
elementos arrastveis e elementos que possuam capacidade de serem alvo de Drops. O cdigo
responsvel por isso est apresentado na Listagem 6.
<script type="text/javascript">
111
Quando um elemento arrastado e entra numa zona de Drop, chamado uma funo AJAX
atravs de PageMethods para saber se aquele elemento pode ser deixado cair ali ou no. Se o
elemento dropable, e o utilizador deixa cair o objeto, ento definimos a imagem que corresponde
palavra para imagem de background do quadrado onde estamos a fazer drop.
Para saber se o elemento dropable ou no, lido a resposta que o servidor enviou.
Resposta do Servidor
if (dt.Rows.Count > 0)
{
foreach (DataSets.Sentence_DataSet.SentenceRow row in dt.Rows)
{
var words = row["LGP"].ToString().Split(';');
if ((words.Length - 1) == wordsNumber) // means that the sentence matched the words submited by the user
return new SentenceQueryResult(row["LGP"].ToString(), row["LP"].ToString(), row["TIPO"].ToString(),
row["ORDEM"].ToString(), row["VIDEONAME"].ToString());
}
return new SentenceQueryResult(); //means there is one or more rows with the words user submited or combination
of words
}
return null;
Listagem 7 Cdigo para processar a ao do utilizador quando tenta arrastar uma palavra para o espao
respetivo do Compositor de Frases
Caso no exista frases no sistema que tenham a combinao das palavras que o utilizador est
a tentar construir, o objeto retornado a null. Caso exista, um incio de frase com as palavras que
o utilizador est a tentar combinar, retornado s a instncia da classe com os seus atributos a
null. Caso a frase combinada esteja completa o servidor retorna uma instncia da classe com todos
os seus atributos preenchidos corretamente.
112
Depois de uma resposta positiva do servidor, ou seja, aps o utilizador ter construdo uma
frase correta e completa, so habilitados o boto para traduzir a frase em LGP e apresentado a
verso em Portugus da frase como se pode ver na Figura 85:
Listagem 8 Cdigo para fazer o menino assistente falar (em Adivinhar gesto)
A primeira linha do cdigo para definir o contedo da div que contm a mensagem e a
segunda para mostrar o popup.
Ver Vdeo
113
Ao contrrio do painel utilizado para mostrar e esconder o vdeo no Ver Vdeo, no modo
Adivinhar no se usou esse painel. Ento recorri a um componente chamado Animated Collapsible
DIV15 que serviu para esconder o espao onde se vai mostrar os gestos. um componente similar
ao usado no Compositor de Frases. O painel encontra-se colapsado antes de o utilizador escolher a
palavra que quer adivinhar, aps a escolha da palavra, o painel abre-se e apresentado o espao
onde o utilizador visualiza o vdeo e escolhe qual dos gestos apresentados corresponde palavra.
Usou-se o controlo de vdeo flowplayer j referido anteriormente, mas desta vez temos uma
playlist com vrios vdeos.
Playlist
A playlist de vdeos construda dinamicamente. A escolha da palavra implica que um dos
vdeos a ser visualizados seja o que corresponde ao gesto. O resto dos vdeos so vdeos
escolhidos aleatoriamente, mas que faam parte do mesmo tema que a palavra.
5.6.4 Backoffice
O Backoffice foi implementado usando ASP.NET Dynamic Data. Esta framework permite
facilmente criar aplicaes Web que faam operaes CRUD (create, read, update, delete) nas
tabelas da base de dados. A framework automaticamente transforma o contedo de uma tabela, em
HTML, e gera automaticamente o interface para gerir os dados de cada tabela.
Esta ferramenta facilitou muito o processo de desenvolvimento do Gestor de Contedos. Aps
a utilizao da ferramenta, bastou fazer o design grfico e implementar o sistema de autenticao.
15
114
/* Catch 'change' event of the Slider (speed slider) - and set the speed of the animation. however doesn't set
imediately, it waits some time first using a timer */
$addHandler($get("txtSpeed"), "change", SliderChanged);
if (timerOn == false) {
timerOn = true
//start timer
window.setTimeout(ChangeVideoSpeed, 200)
}
speedTimes.push(slideValue) //add to array
}
function ChangeVideoSpeed() {
var last = speedTimes.pop();
speedTimes = [];
flowplayer().speed(last);
timerOn = false
}
Listagem 9 Algoritmo para atribuir o valor do slider velocidade de vdeo do flowplayer, evitando o
comportamento estranho da atribuio direta entre o valor do slider e vdeo
115
5.7
Resultados
Algumas screenshots do sistema tanto para o front-end como para o backoffice encontram-se
no Anexo 8.
5.8
Sumrio
O captulo descreve exaustivamente todo o processo de desenvolvimento de uma prova de
conceito, designada por Os meus primeiros gestos, que consiste numa aplicao Web com o
objetivo de introduzir conceitos bsicos de LGP, desenhada principalmente para crianas.
116
Captulo 6
Avaliao de Os meus primeiros gestos
Este captulo tem como objetivo apresentar os resultados da avaliao com utilizadores
realizada aplicao Os meus primeiros gestos em particular ao seu front-end.
6.1
Objetivo
A avaliao da aplicao teve trs objetivos fundamentais:
6.2
Participantes
Participaram 3 pessoas, duas surdas e uma ouvinte proficiente em LGP. O conjunto era
composto por uma mulher com 25 anos, um homem com 34 e outro com 37.
6.3
Mtricas
As mtricas para avaliao basearam-se em questionrios que medem a usabilidade da
aplicao atravs da execuo de tarefas delegadas a cada participante. As tarefas foram
117
Escala
1- Pouco Fcil
5- Muito Fcil
1- Pouco til
5- Muito til
1- Pouco Fcil
5- Muito Fcil
Sim / No / Talvez
Pequeno/Grande/Bom
Pergunta
Facilidade na execuo de tarefas
Facilidade no uso da pesquisa
Modo Adivinhar interessante?
Modo Adivinhar divertido?
Escala
1- Pouco Fcil
5- Muito Fcil
1- Pouco Fcil
51515-
Muito Fcil
Pouco Interessante
Muito Interessante
Pouco Divertido
Muito Divertido
Sim / No
Sim / Secundrio / No
vale a pena
118
Pergunta
Utilidade da aplicao
Experincia de utilizao / facilidade
O avatar interessante?
Visual atrativo?
Qualidade dos gestos
Se fosse adicionado expresso facial
como achas que ficaria a qualidade dos
gestos?
Escala
1515151515-
Pouco til
Muito til
Muito M
Muito Boa
Nada
Muito
Nada
Muito
Muito Mau
Muito Bom
1- Muito Mau
5- Muito Bom
6.4
Mtodo
Na primeira parte o utilizador seguiu o primeiro guio, cujas tarefas testavam as
funcionalidades do dicionrio, e que pode ser consultado no Anexo 9. Enquanto na segunda parte,
o segundo guio (Anexo 11) tinha tarefas de forma a testar a vertente de adivinhar palavras
da aplicao. Na terceira parte no houve guio, apenas um questionrio. O participante realizava
tarefa a tarefa medida que ia lendo o guio. No fim da leitura de cada guio, o participante
respondia a um questionrio. Finalmente, aps ter testado tudo, respondeu a um questionrio com
questes gerais sobre a aplicao.
Conforme os participantes iam realizando os testes, fui fazendo perguntas quando me
apercebia de dificuldades para perceber o que poderia ser melhorado.
Questionrio
Os questionrios usados na avaliao podem ser consultados no Anexo 10 para o primeiro
questionrio, no Anexo 12 para o segundo e no Anexo 13 para o terceiro.
6.5
Resultados
Nesta seco apresentam-se os resultados dos questionrios, as observaes feitas ao longo do
teste, assim como tambm a anlise dos anteriores.
119
Teste ao Dicionrio
Facilidade de combinao de
gestos
4,3
4,7
4,3
1
O teste s funcionalidades gerais do modo Dicionrio revela bons resultados uma vez que
todos os valores do grfico (Figura 86) esto acima de 4,3.
Facilidade de execuo de tarefas este indicador representa que no modo geral a vertente de
Dicionrio da aplicao tem boa usabilidade (4,3), porm, este valor ainda pode, e deve ser
melhorado. Uma abordagem possvel a melhoria da usabilidade do Compositor de Frases, que
por conseguinte, aumenta a usabilidade do dicionrio em geral. Alm disso vai de encontro com as
observaes realizadas a um dos participantes.
Um dos surdos testados no conseguiu compreender como se iniciava o processo de combinar
gestos, isto , no compreendeu imediatamente que tinha de se arrastar as palavras. Depois de
perceber, achou muito fcil o processo de arrastar, porm, esta situao levantou a necessidade de
que preciso melhorar os indicadores informativos (textuais e principalmente visuais) de como
compor frases. O prprio surdo apontou uma das causas para esta situao, isso est descrito em
nota de rodap e ser usado como guideline a futuros desenvolvimentos16.
Foi quase unnime por parte dos participantes que o Compositor de Frases muito til no
contexto da aprendizagem de LGP. Isto um indicador que deve se apostar nesta ferramenta, e
que a sua evoluo deve ser uma prioridade.
Os indicadores apresentados revelam que esta componente da aplicao (dicionrio) foi bem
desenhada e implementada. Deduzo que o uso extensivo da tecnologia AJAX para atualizar o
16
O surdo ao incio no compreendeu que tinha de arrastar a palavra para compor a frase, apesar da informao
textual existente de propsito para aujudar iniciantes. Depois de discutir sobre isto com ele, o surdo disse que os
surdos no ligam a texto, e focam-se principalmente nas muito mais nas imagens do que um ouvinte.
120
contedo do interface, juntamente com o javascript desenvolvido para a interao, contribuiu para
este resultado.
Deve existir 2 tipos de qualidade vdeo?
No
33%
Sim
67%
Sim
100%
Estas perguntas (Figura 87) foram feitas para validar se a funcionalidade de ver vdeo em altadefinio tinha utilidade ou no, e se a dimenso da janela de vdeo, uma vez que os surdos so
muitos visuais, tambm estaria adequada. Pelos resultados nos grficos foram decises bem
tomadas.
4,0
4,0
4,0
3,0
1
participantes, estes referiram que necessrio melhorar o design de alguns botes porque
confundem o utilizador, nomeadamente, os botes que marca a respostam correta ou errada. Ainda
sugeriram acrescentar um pouco mais de interatividade como adicionar um elemento surpresa
sendo o prprio sistema a escolher o gesto para adivinhar.
No Adivinhar gesto ao veres vdeo, achas
secundrio?
No
Importante
Opo
Slowmotion
Secundrio
Opo Loop
No vale a
pena
25%
50%
25%
Pelos dados dos grficos da Figura 89, revela-se a necessidade de melhorar com mais
funcionalidades o controlo de vdeo no Adivinhar gesto. Em termos de fullscreen, a pergunta
surgiu para compreender as necessidades do pblico-alvo e saber era necessrio implementar esta
funcionalidade, s existente no Adivinhar gesto.
4,3
3,7
Visual atrativo?
4,3
Avatar interessante?
4,7
Experincia/facilidade de utilizao?
3,8
Utilidade da aplicao
4,7
1
122
Na Figura 90, a resposta pergunta Qualidade dos gestos se tivessem expresso facial?
permite saber at que ponto importante a expresso facial, relativamente qualidade dos gestos
j implementados que no tem essa caracterstica. O conjunto das respostas deste questionrio
permite-me resumir a aplicao desta forma:
Pontos fortes
Pontos fracos
Relativamente aos pontos fracos, os gestos devem ser validados por um surdo experiente
antes da divulgao ao pblico. A facilidade de utilizao da aplicao apenas boa, derivado dos
problemas identificados no modo Adivinhar. Depois de corrigidos esses problemas, penso que a
experincia de utilizao ficar muito boa.
A pergunta sobre Qualidade dos gestos se tivessem expresso facial? tem como objetivo
estimar qual a diferena que faz para um surdo ver o avatar com e sem expresso facial. Desta
forma possvel traar se um objetivo prioritrio, a adio de expresso facial. Depois de falar
com um participante, ele disse que as expresses faciais aplicadas s palavras so indiferentes,
porm, nas frases a expresso facial j faz toda a diferena tanto no sentido da frase, como no
nvel de satisfao retirado pela animao.
O aspeto do interface da aplicao foi considerado bom, quase muito bom, logo, no uma
prioridade a curto-prazo melhorar essa vertente.
6.6
Sumrio
Este captulo apresentou os resultados da avaliao por utilizadores. Os resultados
evidenciaram os pontos fracos e fortes da aplicao Os meus primeiros gestos.
123
Captulo 7
Concluso
Os objetivos traados para o trabalho descrito nesta tese foram:
1. Conceber um avatar animado capaz de produzir gestos de Lngua Gestual Portuguesa,
cujo processo de animao assistido pela captura de movimentos
2. Combinar gestos atmicos de modo a produzir frases simples em LGP;
3. Desenvolver uma aplicao que ilustre as vantagens do uso de avatares como
intrpretes virtuais de LGP.
O primeiro objetivo desta tese consistia na gerao de um avatar e a manipulao do seu
esqueleto com o intuito de produzir animaes de gestos de Lngua Gestual Portuguesa. No
domnio da animao, esta pode ser feita, pelo menos de duas formas: manipulao manual
recorrendo a um software de animao; ou recorrendo a sensores de movimentos para captura de
dados de movimento e posterior integrao destes no modelo virtual. A ltima forma resulta em
animaes com movimentos mais credveis e realistas que a anterior.
O objetivo ideal seria recorrer totalmente tcnica de captura de movimentos para reproduzir
um gesto nas trs componentes essenciais da interpretao de uma lngua gestual, nomeadamente,
corpo, mos e face. O sensor de movimentos Microsoft Kinect, uma tecnologia recente e em
evoluo, permitiu implementar o processo de captura de movimentos de um humano, e a
converso desse movimento para um avatar. Todavia, este sensor no tem suporte nativo captura
da localizao dos dedos, o que implicou a investigao de um meio para lidar com esse desafio.
A conceo de um algoritmo capaz de detetar as articulaes dos dedos em tempo real,
suficientemente robusto para ter em conta as ocluses existentes nas vrias configuraes
possveis da mo, no era um desafio trivial, sendo objeto de estudo de outras teses (Oikonomidis,
Kyriazis e Argyros 2011). Este processo no sendo um objetivo essencial, levou a investigao
noutra direo. Procurou-se um mtodo semiautomtico que envolvesse a participao do
utilizador para detetar os dedos, marcando numa foto a posio das articulaes de cada dedo.
124
conceitos bsicos de LGP, como palavras, frases simples, a sua construo frsica e uma
componente didtica para teste de conhecimentos. O pblico-alvo abrangente na medida em que
pode ajudar qualquer indivduo que queira obter conhecimentos bsicos de LGP, designadamente
crianas ou adultos. Porm, tambm pretende ajudar na associao de conceitos a palavras da
Lngua Portuguesa, destinado sobretudo a crianas surdas. A aplicao no pretende ensinar LGP,
nem substituir nenhum professor no seu ensino, mas complementar a aprendizagem atravs de
uma ferramenta divertida, e em simultneo constituir um dicionrio de gestos online.
A avaliao desta aplicao revelou resultados muito interessantes, e conclui que uma
aplicao com muitas potencialidades.
Como etapa final, investigou-se como capturar e integrar expresses faciais num avatar e
integrou-se em algumas palavras, designadamente nos pronomes interrogativos, as expresses de
surpresa.
Durante o desenvolvimento da tese, conclu que as grandes vantagens do uso de avatares em
detrimento do vdeo so:
O uso de um elemento original e cativante, um boneco animado como intrprete de
LGP
A vantagem da combinao (exponencial) de gestos atmicos de modo a formar frases
A grande desvantagem o tempo de produo de um gesto. Enquanto em vdeo se demora
apenas o tempo de execuo do prprio gesto, em animao, embora esteja dependente da
complexidade do gesto e da experincia do animador, verifiquei um tempo de produo de meia
hora para a animao de cada gesto.
7.1
Dificuldades encontradas
A maior dificuldade foi encontrar o caminho que levou soluo final do projeto. A natureza
da investigao sugeriu-me vrios caminhos medida que fui avanando neste trabalho. A minha
experincia anterior incidiu em projetos prticos com objetivos predefinidos e fixos. Por essa
razo foi difcil passar para uma metodologia de investigao, que assume a redefinio de
objetivos e metas conforme os resultados que vo sendo obtidos. Avatares em LGP um tema
vasto com uma grande diversidade de aplicaes, e a abrangncia deste domnio constituiu para
mim o maior desafio.
A animao 3D uma rea menos focada na Licenciatura e Mestrado em Engenharia
Informtica. Seria interessante ter usufrudo de mais disciplinas na rea de modelao e animao
3D.
O contacto com tecnologias recentes, como o Kinect e o Leap Motion, deu-me a oportunidade
de investigar reas pouco exploradas e em perceber at onde possvel chegar com este hardware
.
126
O mundo surdo muito diferente do mundo dos ouvintes. A perceo do mundo por parte dos
surdos implica maneiras diferentes de pensar, e por conseguinte, tm necessidades diferentes. O
que achamos certo para os surdos pode ser completamente diferente. Por outro lado, a
comunicao com surdos tem de ser acompanhada por intrpretes (salvo algumas excees), o que
gera barreiras na comunicao e cria obstculos na compreenso do pblico-alvo. A burocracia
envolvente ao contato com surdos pode ser complicada. Quando contactei com a APS, o processo
tornou-se demorado, foi necessrio delegar um intrprete e depois agendar conforme a
disponibilidade de todos. Observei que por vezes, foi um pouco difcil chegar comunidade, pois
realizei algumas tentativas de contato com surdos que no foram bem-sucedidas.
7.2
Opinio Crtica
Considero que ainda h muito trabalho para fazer no desenvolvimento da aplicao. Foi
desenvolvida uma prova de conceito que demonstra que o sistema tem utilidade, mas necessrio
carregar vrias palavras, vrios temas, para de facto se tornar num produto fora do laboratrio.
Foi demonstrado pelos resultados da avaliao que a funcionalidade de compor frases com gestos
muito interessante, portanto, esse deve ser um dos caminhos prioritrios. No entanto, a aplicao
pode evoluir muito mais, com adio de novas funcionalidades e jogos. Um dos pblicos-alvo de
Os meus primeiros gestos so as crianas, logo, a aplicao deve ser testada por elas.
O Microsoft Kinect um sensor focado para o tracking do corpo, e no para as mos ou
dedos, isto implica, a animao por um mtodo hbrido, sendo o ideal a utilizao de um mtodo
que capture alm do corpo, tambm a posio dos dedos, por exemplo, com luvas. Por vezes, o
tracking tem falhas e isto obriga que seja feito um trabalho intenso de tratamento de dados para
tornar a captura numa animao usvel num avatar. A tecnologia utilizada pode evoluir para
sistemas com melhor desempenho de tracking, e assim, permitir a captura da posio dos dedos e
tornar as animaes ainda mais credveis e com um tempo de produo inferior.
Algo a explorar melhor, ser a componente do rosto. Na LGP esta componente importante
particularmente nas frases, logo, para ter uma aplicao com mais qualidade na interpretao de
LGP, preciso estender esta animao a mais palavras e inclu-la em mais frases com expresses
bem destacadas.
7.3
Trabalho futuro
Resolver os problemas identificados na ltima avaliao por utilizadores.
Permitir a criao dinmica de frases sem que estas tenham de existir j predefinidas
no sistema.
127
Otimizar o processo de captura de gestos, por exemplo: estudar a opo iPi Soft que
usa dois Kinects e depois importar a animao para o MotionBuilder. Com duas
cmeras os dados podero no ter que ser sujeitos a tanto tratamento, logo, menos
tempo no pipeline da produo da animao e ao mesmo tempo animaes mais
fluidas.
Otimizar a aplicao com a criao de um sistema de cache, no browser ou no
servidor. De modo a prepara-la para grande quantidade de dados.
Carregar a aplicao com muitos dados. Adicionar vrios gestos, palavras, gestos, e
temas.
Garantir a operabilidade da aplicao em vrios browsers.
Testar o sistema com crianas surdas.
Estar atento a novas tecnologias, e aguardar a chegada da segunda verso do Kinect
esperada para 2014, mais poderosa que o primeiro.
Utilizar um avatar diferente dos que foi desenvolvido, e fazer a migrao da animao
para esse, de modo a dar a escolha ao utilizador do avatar que pretende ver.
Criar novos jogos, diferentes do Adivinhar gesto.
Reconhecer o gesto, tutorial. Gesto correto e gesto incorreto. Traduzir texto em LGP.
Filmes de animao com avatares mesmo surdos, combinando as frases.
Estudar a entoao nos gestos, e introduzir uma componente ao gesto para dar
personalidade a cada avatar em tempo real, alterando pequenos movimentos ou
adicionando pequenas animaes aleatrias. Um exemplo seria aumentar ou diminuir
a velocidades dos gestos para dar a entender que o avatar revela personalidade,
cansao ou outros fatores interessantes
Fazem falta no mundo surdo aplicaes Web dirigidas a eles. No s dicionrios, ou
aplicaes de suporte ao ensino, mas aplicaes que faam a ponte entre servios e
surdos. Por exemplo, aplicaes que traduzam texto para LGP, ou aplicaes que
traduzam voz para LGP: A tecnologia de animao do avatar desenvolvida at aqui,
pode partir como base para esses projetos.
128
129
Bibliografia
Associao
de
Surdos
da
Alta
Estremadura.
s.d.
http://associacaosurdosaltaestremadura.org/index.php?id=44&_lang=PT (acedido em
10 de Janeiro de 2013).
Autodesk. Maya. 2011. http://www.autodesk.com/products/autodesk-maya (acedido em 22 de
Setembro de 2012).
.
MotionBuilder
Software.
2011.
http://www.autodesk.com/products/motionbuilder/
Alessandra.
Libras
na
Educao
Infantil.
de
Julho
de
2011.
130
Biblioteca
Digital
IPB.
2002.
https://bibliotecadigital.ipb.pt/bitstream/10198/1211/1/TeseMestrado_Leonel.pdf
(acedido em 5 de Maro de 2013).
Dinis, Jos Maria Cardoso Carneiro. Noo de captura de movimento e a sua utilizao no
meio artstico. 2012.
DoIT.
Software
Development
Methodology
of
New
Hampshire.
2005.
Yu.
Vocaloid
Promotion
Video
Project.
2008.
Leonor.
LGP,
Comunidade
Cultura
Surda.
29
de
Abril
de
2013.
132
Stegmueller,
Stefan.
Candescent
NUI.
18
de
Maro
de
2012.
Curso
de
Lngua
Gestual
Portuguesa
em
DVD.
2009.
Lngua
gestual
portuguesa.
2007.
133
134
ANEXOS
135
136
137
Fase 1 - Soletrar:
Palavras
Palavra 1
Palavra 2
Palavra 3
Palavra 4
Palavra 5
Que palavra
reconheceu?
Qualidade
Observaes
2 Onde imagina ver aplicado um exemplo deste tipo? (ensino a crianas? Por exemplo como?)
3 O que seria bom melhorar? (animao, boneco em si, expressividade do boneco, realismo, cenrio de
fundo mais adequado)
138
Fase 2 - Frases:
Frases
Frase 1
Frase 2
Frase 3
Frase 4
Frase 5
Frase 6
Qualidade
Observaes
139
Fase 2 - Frases
2 Onde imagina ver aplicado um exemplo deste tipo? (ensino a crianas? Por exemplo como?)
3 O que seria bom melhorar? (animao, boneco em si, expressividade do boneco, realismo, cenrio de
fundo mais adequado)
5 Comparando o exemplo anterior com este, o que achou da mudana do boneco? Qual o
melhor?
140
Actor
Pr-condio
Descrio
Criana
Utilizador selecionou modo consulta
Alternativas
Ps-condio
Caso de Uso
Sumrio
Actor
Pr-condio
Descrio
Ps-condio
Tabela 9 Descrio formal do caso de uso Adivinhar gesto para uma determinada palavra
142
Caso de Uso
Sumrio
Actor
Pr-condio
Descrio
Ps-condio
143
UpdateNavTabs
Este mtodo vai buscar contedo da div dos temas, do qual string id corresponde id do tema que
o utilizador seleccionou.
UpdateLeftBar
Este mtodo vai buscar o contedo para a div da seco da lista de palavras, do qual string text
corresponde string de procura que utilizador escreveu, string themeId corresponde ao id do tema
activo, e string videoType corresponde ao tipo de vdeo que o utilizador pretende visualizar.
UpdateContentBar
Este mtodo vai buscar o contudo da div principal, onde se seleciona as palavras, do qual
string text corresponde string de procura que utilizador escreveu, string themeId corresponde ao id do
tema activo, e string videoType corresponde ao tipo de vdeo que o utilizador pretende visualizar.
144
isValidWord
Este mtdo verifica se a frase que o utilizador est a tentar combinar corresponde a alguma
combinao de palavras existentes, do qual string[] words corresponde a um array com as palavras
que o utilizador sequencialmente combinou no compositor.
Se no corresponder, retorna null, se corresponder mas no combinar com a frase completa,
retorna uma instncia de SentenceQuery.
Se corresponder a uma frase completa, ento retorna uma instncia de
atributos correctamente preenchidos.
SentenceQuery
com os
GetRandomWords
Este mtodo retorna uma lista de frases aleatrias das frases existentes no sistema, do qual
rows corresponde ao nmero de frases que se pretende receber.
int
GetRandomGestures
Este mtodo retorna um array de objetos GestureVideo contendo vdeos de gestos aleatrios, do
qual string differentFrom corresponde palavra que utilizador quer adivinhar, string differentFromVideo ao
vdeo da palavra que utilizador quer adivinhar, string themeId ao id do tema que a palavra
corresponde, string videoType ao tipo de vdeo que o utilizador pretender ver e string rows o nmero de
vdeos com que vamos misturar/baralhar o vdeo certo.
145
147
148
Tarefas:
Comea por Entrar no modo dicionrio
149
Este questionrio pretende saber a tua opinio sobre o website Os meus primeiros gestos.
2. Sexo:
Masculino
Feminino
3. Profisso: ___________________________
Muito Fcil
No
Talvez
grande
Est bom
150
Compositor de Frases
Muito til
Muito Fcil
151
Tarefas:
1) V quantas frutas tem a aplicao (se quiseres v o gesto para uma delas).
3) Seleciona o tema das Cores e faz uma pesquisa como quisesses encontrar a palavra
Verde.
4) Carrega na palavra Verde e tenta adivinhar qual dos gestos corresponde a essa palavra
5) Agora tenta adivinhar o gesto para a palavra Pssaro, mas desta vez falha na primeira
tentativa.
FIM
152
Muito Fcil
Muito Fcil
Sim
O qu: ?
Modo Exerccio
___________________________
_______________________________
_______________________________
_______________________________
_______________________________
Muito Interessante
4. Achaste divertido?
Pouco Divertido
Muito Divertido
153
5. Achas que era necessrio no Adivinhar gesto, veres algum vdeo em cmara lenta?
Sim
No
6. A opo Full Screen ao ver um vdeo, achas que uma opo importante ou
secundria:
Importante
Secundria
No vale a pena
154
1. A aplicao til:
Pouco til
Muito til
Muito Boa
3. O avatar interessante?
Nada
Muito
3.1.Porqu?
_______________________________________________________________
___________________________________
Muito
155
Muito Bons
Muito Bom
7. Observaes...
___________________________________________________________________________
_______________________________________________________________________________
______________________________________________________________________________
156
157