tiari: uma tiari: uma interfaceinterfaceinterface para ... · algumas aplicações de realidade...
TRANSCRIPT
Universidade Federal de Pernambuco
Centro de Informática
Pós-graduação em Ciência da Computação
TIARI: Uma TIARI: Uma TIARI: Uma TIARI: Uma InterfaceInterfaceInterfaceInterface para Entrada de Texto em para Entrada de Texto em para Entrada de Texto em para Entrada de Texto em
Sistemas de Realidade AumentadaSistemas de Realidade AumentadaSistemas de Realidade AumentadaSistemas de Realidade Aumentada por
Isabel Wanderley da Silveira
Dissertação submetida ao
Centro de Informática da
Universidade Federal de
Pernambuco, como requisito
parcial para obtenção do grau
de Mestre em Ciência da
Computação.
Dissertação orientada por
Djamel F. H. SadokDjamel F. H. SadokDjamel F. H. SadokDjamel F. H. Sadok
Professor Adjunto do Centro de Informática da
Universidade Federal de Pernambuco
Co-orientada por
Veronica TeichriebVeronica TeichriebVeronica TeichriebVeronica Teichrieb
Pesquisadora Visitante do Centro de Informática da
Universidade Federal de Pernambuco
Recife, Agosto de 2007.
ii
A Deus, meus pais, avó, Tay, amigos e marido
pelo amor e paciência durante este período
de desenvolvimento desta dissertação
iii
AgradecimentosAgradecimentosAgradecimentosAgradecimentos
Gostaria de agradecer a todas as pessoas que me ajudaram a construir este
trabalho e que me deram forças e confiaram em mim nos momentos de tristeza e
fraqueza que passei durante este período de elaboração desta dissertação. Em especial
ao Grupo de Pesquisa em Realidade Virtual e Multimídia (GRVM) que me deu total
apoio ao longo deste trabalho. Gostaria de destacar Joma, João Grandão, Mouse, Luiz,
Daliton e Judith, todos pertencentes ao GRVM, que deram uma ajuda muito grande no
desenvolvimento deste trabalho de mestrado, sem eles nada disso seria possível. Queria
agradecer também à paciência e disposição dos que me ajudaram a fazer meus testes de
usabilidade, sem eles meus resultados não seriam possíveis. Gostaria de agradecer
também ao meu orientador, Djamel, por ter acreditado em meu trabalho. Meu maior
agradecimento gostaria de fazer à minha co-orientadora Vt que sempre confiou em mim
e me deu forças e total apoio para conseguir concluir bem esta dissertação, sem ela nada
disso seria possível.
Também gostaria de homenagear meus pais e minha avó que sempre me deram
todo apoio necessário em relação aos meus estudos, sempre me estimulando e dando
forças quando eu precisei. Além deles, gostaria de agradecer à minha melhor amiga,
Tay, que em todos os momentos me apoiou e me deu forças para continuar e alcançar o
objetivo desejado através desta dissertação de mestrado.
Além destas queridas pessoas citadas acima, gostaria de fazer agradecimento ao
meu marido, Eduardo Dominoni, a quem eu recorri em vários momentos de angústia e
quem me confortou e me ajudou a conseguir esta vitória. Gostaria de homenagear nesta
dissertação meus amigos mais próximos, Yzmurph, Fernando, Nyx, Joule, Dedeko,
Coelhinho, Van, Belz, Jó, Nando e todos os outros que também sempre me deram apoio
e carinho quando eu precisei. Por fim, gostaria de agradecer ao pessoal da Meantime
pelo apoio e força ao longo destes anos de mestrado.
iv
ResumoResumoResumoResumo
Interfaces de Realidade Aumentada sobrepõem informações virtuais em cenas
do mundo real, aumentando a realidade do usuário pela interação tanto com os objetos
virtuais quanto os reais. Para permitir a interação do usuário com estas aplicações,
vários tipos de interface vêm sendo propostos com a finalidade de fazer com que esta
interação seja feita de forma simples, eficiente e intuitiva.
Algumas aplicações de Realidade Aumentada têm a necessidade de entrada de
texto, e com isso diversas formas de entrada de texto foram propostas, como teclados
virtuais, teclados pinch, gestos, entre outros. Porém, algumas destas formas de interação
são caras, incômodas ou difíceis de serem utilizadas por usuários leigos. Portanto, o
objetivo dessa dissertação foi propor uma interface para dar suporte à entrada de texto
neste tipo de sistemas. Esta interface, chamada TIARI (Text Input Augmented Reality
Interface), consiste em uma interface que mescla um teclado virtual, gestos e a
utilização de uma interface bare hand com marcadores fiduciais.
Para auxiliar no desenvolvimento da TIARI, diversas bibliotecas utilizadas na
construção de aplicações baseadas em vídeo com marcadores foram estudadas, a fim de
serem escolhidas as mais adequadas à sua implementação. A TIARI utiliza marcadores
fiduciais pequenos na mão do usuário, portanto uma biblioteca para fazer a detecção
destes marcadores foi utilizada, o ARTag. Além dela, foi utilizada, também, uma
biblioteca para captura de vídeo e para renderização dos objetos 3D, o OpenCV e o
OGRE com o sistema de renderização OpenGL. Além destas, pode-se destacar como
base no desenvolvimento da TIARI o OgreAR, responsável por facilitar o
desenvolvimento de aplicações de RA, criando uma camada de abstração para as
bibliotecas de detecção de marcadores e captura de vídeo.
A fim de validar a interface desenvolvida, TIARI foi integrada a um sistema de
Realidade Aumentada existente, o mivaDesk, que é um desktop virtual 3D. Além disto,
TIARI foi avaliada através de um estudo de usabilidade realizado, onde a interface foi
comparada a um teclado soft existente no mivaDesk. Como resultado desse estudo, a
TIARI foi avaliada como de fácil utilização, e apresentou uma média de digitação mais
v
alta que o teclado soft do mivaDesk. Porém, comparando-se a TIARI ao teclado
convencional de layout QWERTY ela obteve um desempenho baixo.
Palavras Chaves: Realidade Aumentada, Interface de Interação, Entrada de Texto,
Avaliação de Usabilidade.
vi
AbstractAbstractAbstractAbstract
Augmented Reality interfaces overlap virtual information in a real world scene,
augmenting the user’s reality by interacting with virtual and real objects. To make this
interaction possible, lots of interfaces were developed trying to make this interaction
simple, efficient and intuitive.
Some Augmented Reality applications need text input and interfaces like virtual
keyboards, pinch keyboards, gestures, and others were proposed to make this interaction
possible. However, some of these ways to interact are expensive, unconfortable or hard
to be used by non expert users. So, this dissertation proposes a new interface for text
input in Augmented Reality applications. This interface, called TIARI (Text Input
Augmented Reality Interface) is a mixture of a virtual keyboard, gestures and a bare-
hand interface using fiducial markers.
To help on TIARI’s development, some libraries commonly used on the
development of video based applications that use markers were studied, in order to
choose the best ones to implement this kind of application. TIARI uses small fiducial
markers in the user’s hand, so the ARTag marker detection library was used. Besides
this, a video capture and a render library were used: OpenCV and OGRE using the
OpenGL render system. In addition to this, an important library called OgreAR was
used as TIARI’s base. This library is responsible for making the development of
Augmented Reality applications easier, creating an abstraction layer to the marker
detection and video capture libraries.
To validate the developed interface, TIARI was integrated with an existent
application, a 3D virtual desktop called mivaDesk. To evaluate TIARI’s usability, a
usability study was made using TIARI and the soft keyboard existent in mivaDesk. As a
result of this evaluation, TIARI was evaluated as easy to use and presented a higher
typing rate compared to the mivaDesk soft keyboard. However, in a comparison made
with a traditional QWERTY keyboard, TIARI got a low performance.
Keywords: Augmented Reality, Interaction Interface, Text Input, Usability Evaluation.
vii
SumárioSumárioSumárioSumário
Agradecimentos ............................................................................................................. iii
Resumo ........................................................................................................................... iv
Abstract .......................................................................................................................... vi
Lista de Figuras ............................................................................................................. ix
Lista de Tabelas ............................................................................................................. xi
Lista de Tabelas ............................................................................................................. xi
Acrônimos ..................................................................................................................... xii
Capítulo 1Capítulo 1Capítulo 1Capítulo 1 .................................................................................................................... 13
Introdução ..................................................................................................................... 13
1.1. Motivação ...................................................................................................... 13 1.2. Objetivo ......................................................................................................... 14 1.3. Organização do Documento........................................................................... 14
Capítulo 2Capítulo 2Capítulo 2Capítulo 2 .................................................................................................................... 16
Sistemas de Realidade Aumentada Interativos ......................................................... 16
2.1. Conceitos Básicos de RA............................................................................... 16 2.2. Interfaces de Visualização e de Interação...................................................... 18
2.2.1. Interfaces de Visualização ..................................................................................................19 2.2.1.1. Interfaces Translúcidas ............................................................................................19 2.2.1.2. Interfaces Baseadas em Monitor .............................................................................21 2.2.1.3. Interfaces Espacialmente Imersivas ........................................................................22 2.2.1.4. Interfaces Baseadas em Projetores..........................................................................23
2.2.2. Interfaces de Interação........................................................................................................24 2.2.2.1. Interfaces Tradicionais de RV .................................................................................24 2.2.2.2. Interfaces Bare Hand ................................................................................................25 2.2.2.3. Interfaces Tangíveis..................................................................................................27 2.2.2.4. Interfaces Móveis ......................................................................................................28 2.2.2.5. Interfaces Colaborativas ..........................................................................................30
2.3. Técnicas para Entrada de Texto..................................................................... 32 2.3.1. Baseadas em Teclado..........................................................................................................33 2.3.2. Baseadas em Caneta ...........................................................................................................37 2.3.3. Baseadas em Gestos............................................................................................................39 2.3.4. Baseadas em Reconhecimento de Voz ...............................................................................39 2.3.5. Considerações sobre a Aplicação das Técnicas ..................................................................40
2.4. Aplicações de RA com Suporte a Entrada de Texto...................................... 41 2.5. Bibliotecas para o Desenvolvimento de Aplicações de RA........................... 44
2.5.1. Bibliotecas para Detecção de Marcadores ..........................................................................45 2.5.1.1. ARToolkit.......................................................................................................................46 2.5.1.2. ARTag ............................................................................................................................47 2.5.1.3. ARToolkitPlus ................................................................................................................49
viii
2.5.2. Bibliotecas para Captura de Vídeo .....................................................................................50 2.5.2.1. DSVideoLib....................................................................................................................50 2.5.2.2. OpenCV..........................................................................................................................51 2.5.3. Bibliotecas para Renderização............................................................................................51 2.5.3.1. OpenGL ..........................................................................................................................51 2.5.3.2. DirectX ...........................................................................................................................52 2.5.3.3. OGRE .............................................................................................................................52 2.5.4. Biblioteca para Desenvolvimento de Aplicações de RA: OgreAR.....................................54
2.6. Considerações Finais ..................................................................................... 55
Capítulo 3Capítulo 3Capítulo 3Capítulo 3 .................................................................................................................... 57
TIARI – Text Input Augmented Reality Interface....................................................... 57
3.1. Contexto de Uso............................................................................................. 57 3.2. Metodologia Adotada .................................................................................... 58 3.3. Modelo ........................................................................................................... 59 3.4. Implementação............................................................................................... 62 3.5. Estudo de Caso: mivaDesk ............................................................................ 67 3.6. Considerações Finais ..................................................................................... 71
Capítulo 4Capítulo 4Capítulo 4Capítulo 4 .................................................................................................................... 73
Avaliação de Usabilidade da Interface TIARI........................................................... 73
4.1. Introdução ...................................................................................................... 73 4.2. Método Utilizado ........................................................................................... 74 4.3. Resultados...................................................................................................... 75 4.4. Considerações Finais ..................................................................................... 78
Capítulo 5Capítulo 5Capítulo 5Capítulo 5 .................................................................................................................... 80
Conclusão ...................................................................................................................... 80
5.1. Principais Contribuições ................................................................................ 82 5.2. Dificuldades Encontradas .............................................................................. 83 5.3. Trabalhos Futuros .......................................................................................... 85
Referências Bibliográficas ........................................................................................... 87
Anexo A ......................................................................................................................... 91
Anexo B.......................................................................................................................... 95
Anexo C ......................................................................................................................... 96
Anexo D ......................................................................................................................... 97
Anexo E........................................................................................................................ 101
ix
Lista de FigurasLista de FigurasLista de FigurasLista de Figuras
Figura 1. Continuidade Virtual...................................................................................... 17 Figura 2. Marcadores fiduciais. ..................................................................................... 18 Figura 3. Display Translúcido Ótico. ............................................................................ 19 Figura 4. Display Translúcido Baseado em Vídeo........................................................ 20 Figura 5. Display Translúcido Ótico: (a) Imagem ghosted sem oclusão mútua; (b)
Imagem com a oclusão correta. ............................................................................... 20 Figura 6. HMD com câmera acoplada utilizado na TIARI. .......................................... 21 Figura 7. Display Baseado em Monitor......................................................................... 22 Figura 8. Ambiente Blue-c que utiliza um Display Espacialmente Imersivo. .............. 22 Figura 9. Ambiente para utilização de uma Interface Baseada em Projetor. ................ 23 Figura 10. Aplicação Magic Table. ............................................................................... 24 Figura 11. Luva de gestos utilizada na TIARI. ............................................................. 25 Figura 12. Luva com marcadores. ................................................................................. 25 Figura 13. Aplicação HandSmart. ................................................................................. 26 Figura 14. Interface bare hand utilizada na TIARI: (a) Luva com marcadores para
tracking; (b) Interface do teclado............................................................................. 26 Figura 15. Marcadores para detecção durante a interação. ........................................... 28 Figura 16. A interface tangível I/O Brush. .................................................................... 28 Figura 17. Wearable Computer. .................................................................................... 29 Figura 18. Plataforma miva. .......................................................................................... 30 Figura 19. Colaboração Face a Face.............................................................................. 31 Figura 20. Videoconferência através de Colaboração Remota. .................................... 32 Figura 21. Teclado em miniatura................................................................................... 33 Figura 22. Teclado com poucas teclas........................................................................... 34 Figura 23. Teclado chord............................................................................................... 35 Figura 24. Chording Gloves. ......................................................................................... 35 Figura 25. Teclado Pinch: (a) Luvas pinch; (b) Ambiente virtual. ............................... 36 Figura 26. Teclado Soft. ................................................................................................ 36 Figura 27. ARKB (Augmented Reality Keyboard)....................................................... 37 Figura 28. Técnica de reconhecimento de caracteres Graffiti. ...................................... 38 Figura 29. Técnica de reconhecimento de palavras Cirrin. ........................................... 38 Figura 30. Utilização da técnica de “tinta digital” no Virtual Notepad......................... 38 Figura 31. Interface baseada em teclado pinch utilizada em aplicação militar. ............ 42 Figura 32. ARLib: (a) Forma de busca de livros. (b) Grafitti Pad. ............................... 42 Figura 33. Aplicação ARLib. ....................................................................................... 43 Figura 34. Aplicação MagicMeeting............................................................................. 43 Figura 35. Teclado soft do mivaDesk. .......................................................................... 44 Figura 36. Fluxo de aplicações de RA baseadas em vídeo com marcadores fiduciais. 45 Figura 37. Marcadores fiduciais baseados em template utilizados pelo ARToolkit. .... 46 Figura 38. Fluxo de funcionamento do ARToolkit. ...................................................... 47 Figura 39. Padrões de marcadores baseados em ID do ARTag. ................................... 48 Figura 40. Detecção de marcadores: (a) e (b) com ARToolkit; (c) com ARTag. ......... 49 Figura 41. Marcadores do ARToolkitPlus. ................................................................... 49 Figura 42. Arquitetura do OGRE. ................................................................................. 53 Figura 43. Arquitetura do OgreAR................................................................................ 54 Figura 44. Processo interativo de design de interfaces.................................................. 58
x
Figura 45. Visualização do teclado deslizante da TIARI. ............................................. 60 Figura 46. Dispositivos utilizados na TIARI................................................................. 60 Figura 47. Digitação com a TIARI................................................................................ 61 Figura 48. Detecção de marcadores com a ponta dos dedos. ........................................ 61 Figura 49. Layout do teclado TIARI. ............................................................................ 62 Figura 50. Bibliotecas utilizadas pela TIARI. ............................................................... 63 Figura 51. Arquitetura da TIARI................................................................................... 64 Figura 52. Diagrama de classes da TIARI. ................................................................... 65 Figura 53. Problema de detecção de marcadores. ......................................................... 66 Figura 54. Problema de oclusão de marcadores. ........................................................... 66 Figura 55. Arquitetura do mivaDesk. ............................................................................ 68 Figura 56. Diagrama de classes da TIARI e mivaDesk integrados............................... 70 Figura 57. Gráfico da média de digitação das frases..................................................... 75 Figura 58. Resultado da análise de conforto do usuário................................................ 77
xi
ListaListaListaLista de de de de Tabelas Tabelas Tabelas Tabelas
Tabela 1. Video See-Through HMD X Optical See-Through HMD............................. 21
xii
AcrônimosAcrônimosAcrônimosAcrônimos
API Application Programming Interface
ASCII American Standard Code for Information Interchange
CAD Computer-Aided Design
COM Component Object Model
CV Continuidade Virtual
DV Digital Video
HMD Head Mounted Display
GNU GNU's Not Unix
GPL GNU General Public License
LGPL Lesser General Public License
PDA Personal Digital Assistant
RA Realidade Aumentada
RM Realidade Mista
RV Realidade Virtual
SID Spatially Immersive Displays
SGI Silicon Graphics, Inc
SO Sistema Operacional
TIARI Text Input Augmented Reality Interface
TUI Tangible User Interface
USB Universal Serial Bus
VA Virtualidade Aumentada
WoW Window on the World
Capítulo 1Capítulo 1Capítulo 1Capítulo 1
Introdução
Nos sistemas de Realidade Virtual (RV) [6] o usuário vê e interage com um
mundo completamente virtual, enquanto nos sistemas de Realidade Aumentada (RA) o
usuário visualiza o mundo real e objetos virtuais simultaneamente [3][4]. Apesar de ser
uma área recente, RA vem crescendo bastante ao longo dos últimos anos e várias
aplicações vêm sendo desenvolvidas utilizando este conceito. Uma necessidade
observada em algumas destas aplicações é a entrada de texto, sendo este o tema
principal de estudo deste trabalho. Neste capítulo são mostradas as motivações, o
escopo onde está inserido e o objetivo final deste trabalho, bem como a forma de
organização do documento.
1.1.1.1.1.1.1.1. MotivaçãoMotivaçãoMotivaçãoMotivação
Aplicações de RA vêm se destacando cada vez mais em diversas áreas de
aplicação como a medicina, entretenimento, aplicações militares, dentre outras. Uma
necessidade observada em alguns tipos de aplicações de RA é a entrada de texto, em sua
maioria entrada de textos simples, como anotações, labels, entre outras. A partir desta
necessidade, algumas interfaces para resolver este problema foram propostas e várias
técnicas para entrada de texto foram desenvolvidas, como teclados, utilização de gestos,
reconhecimento de voz, dentre outras técnicas bastante conhecidas.
A maior parte das ferramentas de RA que necessitam desta funcionalidade
utiliza teclados virtuais ou teclados reais reduzidos para permitir esta interação. Porém,
existem outras propostas de interface com a finalidade de melhorar a usabilidade da
mesma e fazer com que a forma de interação do usuário com o sistema seja simples,
prática e não atrapalhe as atividades normais desenvolvidas ao longo da utilização da
aplicação. Não são muitas estas outras propostas de interface e algumas delas são
difíceis de utilizar e requerem um tempo considerável para os usuários aprenderem a
Capítulo 1 – Introdução 14
utilizá-las. Portanto, esta dissertação de mestrado irá focar no problema de entrada de
texto em sistemas de RA, propondo uma forma simples de realizar este tipo de
interação.
1.2.1.2.1.2.1.2. OOOObjetivobjetivobjetivobjetivo
O objetivo deste trabalho se concentra em desenvolver e avaliar uma interface
para entrada de texto em sistemas de RA. O desenvolvimento desta interface tem como
propósito a criação de uma nova forma de entrada de texto neste tipo de sistemas que
possa ser avaliada e comparada a alguns modelos anteriormente propostos. Durante o
trabalho foram estudadas e analisadas algumas bibliotecas de desenvolvimento
utilizadas em sistemas de RA, e algumas foram utilizadas para a conclusão deste. A
interface desenvolvida, chamada TIARI (Text Input Augmented Reality Interface),
também foi validada e integrada a uma aplicação de RA já desenvolvida pelo Grupo de
Pesquisa em Realidade Virtual e Multimídia, do Centro de Informática da Universidade
Federal de Pernambuco.
Além desta integração, outro objetivo deste trabalho é a realização de um estudo
de usabilidade da TIARI, fazendo-se uma análise qualitativa junto aos usuários e
também um comparativo entre a utilização desta e de uma interface para entrada de
texto já existente na aplicação na qual a interface foi integrada.
1.3.1.3.1.3.1.3. Organização do DOrganização do DOrganização do DOrganização do Documentoocumentoocumentoocumento
Neste capítulo foi apresentada a motivação, juntamente com o objetivo deste
trabalho de mestrado. O capítulo 2 contempla alguns conceitos básicos sobre RA e
algumas aplicações que os utilizam, mostrando também aplicações que necessitam de
entrada de texto, o estado da arte em relação a interfaces para interação neste tipo de
sistema, algumas bibliotecas utilizadas para desenvolvimento de aplicações de RA e por
fim algumas técnicas utilizadas para entrada de texto neste tipo de sistema.
Os capítulos seguintes mostram o resultado obtido durante este trabalho de
mestrado. No capítulo 3 são mostradas a modelagem conceitual e implementação da
interface desenvolvida, bem como um estudo de caso escolhido para validar a utilização
da mesma. Esta validação da interface se encontra mais detalhada ao longo do capítulo
Capítulo 1 – Introdução 15
4, onde são mostradas avaliações da interface desenvolvida, bem como a metodologia
utilizada para avaliação e os resultados finais obtidos, fazendo um comparativo com
relação a uma interface já existente no estudo de caso.
Por fim, o capítulo 5 contempla conclusões obtidas ao longo deste trabalho,
trabalhos futuros que podem ser propostos para melhorar e dar continuidade ao
desenvolvimento e aprimoramento deste trabalho e as contribuições relevantes do
mesmo para a comunidade científica.
Capítulo 2Capítulo 2Capítulo 2Capítulo 2
Sistemas de Realidade Aumentada Interativos
Este capítulo contempla o estado da arte em relação à área de RA, com foco na
parte de interfaces, ferramentas de desenvolvimento e técnicas utilizadas para entrada de
texto. Primeiramente são mostrados alguns conceitos básicos de RA e interfaces
utilizadas para realizar a interação do usuário com o sistema, bem como aplicações que
as utilizam. Também são abordadas técnicas utilizadas para entrada de texto nestes
sistemas, mostrando vantagens e desvantagens e um pequeno estudo comparativo já
realizado entre estas diversas técnicas. Por fim, serão mostradas algumas ferramentas
utilizadas no desenvolvimento de aplicações de RA e como estas ferramentas foram
escolhidas para o desenvolvimento da TIARI.
2.1.2.1.2.1.2.1. Conceitos BConceitos BConceitos BConceitos Básicos de RAásicos de RAásicos de RAásicos de RA
Nos sistemas de Realidade Virtual o usuário interage com um mundo
completamente virtual [6]. Os sistemas de Realidade Aumentada [3][4] representam
uma extensão dos sistemas de RV. Nestes sistemas, objetos virtuais são integrados a um
mundo real fazendo com que, ao invés do ambiente ser substituído por um ambiente
virtual, ele é complementado com objetos virtuais. Os objetos virtuais e reais co-existem
na visão do usuário, podendo este interagir com ambos os objetos [11]. Existem,
também, os sistemas de Virtualidade Aumentada (VA) que integram objetos reais em
um mundo virtual, permitindo que o usuário no mundo virtual possa visualizar alguma
parte do mundo real. Milgram et al. propôs um conceito de Continuidade Virtual (CV)
[35] que mostra como os mundos real e virtual co-existem. Os sistemas de Realidade
Mista (RM), localizados no centro da CV, incluem os conceitos de RA e VA, e podem
ser visualizados através da Figura 1.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 17
Figura 1. Continuidade Virtual.
Aplicações que utilizam o conceito de RA vêm sendo cada vez mais exploradas
em diversas áreas de atuação: medicina, engenharia, entretenimento, treinamentos
militares, entre outros [51][65][33][16]. Por exemplo, um cirurgião pode receber
informações virtuais durante uma cirurgia médica sobre um determinado procedimento
e o paciente, pode visualizar um volume 3D para implantes, entre várias outras
possibilidades [3].
Estas aplicações que utilizam RA requerem que o ponto de vista do usuário seja
preciso em relação ao mundo real e virtual, pois o usuário não pode ter uma quebra de
continuidade na interação e visualização dos objetos virtuais no mundo real. Isto se dá
pelo fato de que o usuário não consegue utilizar o sistema de uma forma consistente
caso ele não tenha uma homogeneidade entre a visualização dos objetos reais e virtuais.
Esta sincronização entre os mundos virtual e real está diretamente ligada ao sistema de
rastreamento (tracking) utilizado, pois este provê informações precisas de um
referencial no mundo real utilizado para fazer a composição com os objetos virtuais.
Existem três condições que um sistema de tracking deve satisfazer [3]: o tracker
deve ser preciso suficiente para captar pequenas variações de grau na orientação e
poucos milímetros na posição dependendo dos requisitos da aplicação, a latência do
tracker combinada com a do motor gráfico deve ser muito baixa e o tracker deve
funcionar a longas distâncias, principalmente em ambientes abertos. A posição e
orientação podem ser rastreadas utilizando marcadores visuais registrados, hardware
magnético, sistemas de posicionamento através de satélites ou sensores mecânicos. Uma
forma bastante utilizada são os marcadores fiduciais que consistem em padrões que são
montados no ambiente e automaticamente detectados em imagens digitais utilizando um
algoritmo de detecção de marcadores [22]. Eles são bastante utilizados em RA,
navegação de robôs e aplicações em geral que requerem a posição relativa entre a
câmera e um objeto. Este tipo de tracker é utilizado na TIARI e pode ser visualizado
através da Figura 2.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 18
Figura 2. Marcadores fiduciais.
Parâmetros de calibração de câmera também são muito importantes para alinhar
as coordenadas dos mundos real e virtual. Uma calibração precisa é importante
principalmente em sistemas de visualização 3D, pois a renderização dos objetos virtuais
no mundo real deve estar de acordo com a perspectiva e profundidade da cena real. Em
casos onde esta calibração não esteja bem feita, o usuário pode se sentir desorientado
com objetos virtuais erroneamente posicionados [54].
Além destes requisitos técnicos vistos acima, uma parte importante neste tipo de
sistema é a interação do usuário com o mesmo. Ela deve ser feita de uma forma simples
e natural, tornando este tópico um tema bastante explorado nesta área. Um aspecto
importante desta interação é fazer com que o usuário realize as suas tarefas
normalmente e interaja com os objetos reais e virtuais simultaneamente [59]. Para o
usuário realizar esta interação, ele necessita de dispositivos de entrada e saída para
fornecer dados ao sistema e receber feedback do mesmo. Essa interação do usuário, com
os sistemas de RA, pode ser realizada através de vários tipos de interface, como
interfaces tangíveis (Tangible User Interface – TUI), interfaces colaborativas,
dispositivos móveis, entre outras que serão mostradas nas seções a seguir.
2.2.2.2.2.2.2.2. InterfacesInterfacesInterfacesInterfaces de Visualização e de Interação de Visualização e de Interação de Visualização e de Interação de Visualização e de Interação
As interfaces utilizadas na interação do usuário com um sistema de RA podem
ser classificadas em dois tipos: as que provêm a visualização do mundo aumentado e as
utilizadas para o usuário interagir de fato com o sistema, fornecendo informações que
serão processadas e tendo seu resultado exibido através das interfaces de visualização.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 19
Nesta seção serão mostradas várias interfaces de visualização utilizadas em sistemas de
RA, bem como as interfaces utilizadas para o usuário interagir com os mesmos.
2.2.1. Interfaces de Visualização
As interfaces de visualização são responsáveis pela exibição dos objetos virtuais,
que deverão ser renderizados de forma integrada ao mundo real. Estas interfaces podem
ser Head Mounted Displays (HMDs), óculos, telas, monitores ou até mesmo superfícies
onde são projetados objetos virtuais [3]. Estas interfaces podem ser classificadas em: (a)
Translúcidas (See-Through), (b) Baseadas em Monitor (Monitor Based), (c)
Espacialmente Imersivas (Spatially Immersive) e (d) Baseadas em Projetores (Projector
Based).
O tipo de interface de visualização escolhido no desenvolvimento da TIARI foi
o display translúcido (See-Through) baseado em vídeo. Este tipo foi escolhido por ser
considerado o mais adequado visto que a TIARI foi projetada para ser utilizada também
em sistemas de RA que permitem a mobilidade do usuário. Esta forma de visualização
será mais bem detalhada ao longo desta seção, bem como as outras formas de
visualização mencionadas anteriormente.
2.2.1.1. Interfaces Translúcidas
Os See-Through Displays ou Displays Translúcidos são caracterizados por
permitirem ao usuário visualizar todo o mundo ao seu redor através do dispositivo, que
utiliza uma tela translúcida. Este tipo de interface dá ao usuário uma maior sensação de
realidade, pois a imagem do mundo real é exibida diretamente ao usuário sem passar por
nenhum tipo de alteração da imagem, por exemplo, por filtros gráficos. Existem dois
tipos de Displays Translúcidos: (a) Display Translúcido Ótico e (b) Display Translúcido
Baseado em Vídeo e podem ser visualizados através da Figura 3 e Figura 4.
Figura 3. Display Translúcido Ótico.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 20
Figura 4. Display Translúcido Baseado em Vídeo.
O Display Translúcido Ótico [3] utiliza espelhos com a finalidade de combinar o
mundo real e o virtual. O mesmo funciona posicionando combinadores óticos na frente
do olho do usuário. Estes combinadores óticos refletem parte da luz do mundo real para
o olho do usuário permitindo a visualização do mundo real e são utilizados para fazer a
junção dos objetos virtuais enviados ao monitor. Os combinadores óticos reduzem a
quantidade de luz recebida pelo usuário do mundo real. Estes combinadores são como
espelhos levemente prateados e permitem que apenas alguma quantidade de luz do
mundo real atravesse o espelho, fazendo com que eles também possam refletir a luz do
monitor para o usuário. Um grande problema deste tipo de dispositivo é que ele gera
imagens ghosted, ou seja, imagens semitransparentes que sobrepõem as imagens reais,
não permitindo a detecção de oclusão entre os objetos. Este problema pode ser
visualizado na Figura 5 [30], onde na figura (a) aparecem as imagens sobrepostas
utilizando um Display Translúcido Ótico e na figura (b) como os objetos deveriam ser
visualizados se a oclusão mútua fosse detectada corretamente.
(a) (b)
Figura 5. Display Translúcido Ótico: (a) Imagem ghosted sem oclusão mútua; (b) Imagem com a oclusão
correta.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 21
Por outro lado, o Display Translúcido Baseado em Vídeo (Video See-Through
Display) [3], bastante utilizado, é composto por um HMD com uma ou duas câmeras
acopladas. O vídeo capturado destas câmeras é combinado com as imagens criadas,
misturando o real com o virtual e exibindo ao usuário através dos monitores. Este tipo
de dispositivo é bastante utilizado em aplicações de RA e foi a interface de visualização
utilizada nesta dissertação. A imagem do mundo real é capturada através de uma
webcam acoplada a um HMD, após isso as imagens do mundo virtual e real são
combinadas pela aplicação e mostradas ao usuário através do HMD. O dispositivo
utilizado nesta dissertação para validação e avaliação da TIARI pode ser visualizado
através da Figura 6.
Figura 6. HMD com câmera acoplada utilizado na TIARI.
A Tabela 1, mostrada abaixo, apresenta um estudo comparativo entre estes dois
tipos de Displays Translúcidos.
Característica Optical See-Through HMD Video See-Through HMD
Visualização do mundo real
Transparente Opaco
Hardware para combinar as imagens
Combinador ótico e não necessita de CPU
Hardware acelerador ou combinador de vídeo
Qualidade da imagem real
Movimentação suave e alta definição
Movimentação atrasada e baixa definição
Qualidade da composição
Ghosted com iluminação reduzida e difícil de fazer oclusão dos objetos
Composição exata com remoção e adição de objetos
Tabela 1. Video See-Through HMD X Optical See-Through HMD.
2.2.1.2. Interfaces Baseadas em Monitor
Diferentemente dos Displays Translúcidos, os Displays de RA Baseados em
Monitor (Monitor Based AR Displays), também chamados de WoW (Window On the
World), são dispositivos que o usuário não “veste”. O resultado da junção dos mundos
real e virtual é exibido para ele através de um monitor [35]. Câmeras capturam a
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 22
imagem do ambiente e, da mesma forma que no Video See-Through Display, um
combinador de vídeo junta as imagens geradas com a imagem capturada do mundo real
para mostrar ao usuário. Opcionalmente, as imagens podem ser mostradas em stereo
mode utilizando-se um par de óculos stereo. A Figura 7 mostra um exemplo deste tipo
de Display.
Figura 7. Display Baseado em Monitor.
2.2.1.3. Interfaces Espacialmente Imersivas
Existem ainda os Spatially Immersive Displays (SID) ou Displays Espacialmente
Imersivos, que são compostos por várias telas de projeção dispostas ao redor do usuário
criando uma sensação de imersão efetiva. As telas de projeção mostram o ambiente
onde o usuário se encontra e projetam os objetos virtuais para integrá-los ao mundo real.
O ponto positivo desta abordagem é a forte imersão do usuário no ambiente e o fato de
não se fazer necessário o uso de um HMD, que pode ser incômodo. Entretanto, esta
interface possui uma limitação referente à movimentação do usuário, pois ele fica
limitado ao local onde foi montado o SID. Isto faz com que aplicações que necessitam
de mobilidade não possam utilizar esta abordagem adequadamente. Um projeto que
utiliza esse tipo de interface de visualização é o Blue-c [36], que é um ambiente de
imersão para design e colaboração entre usuários conectados, e pode ser visualizado na
Figura 8.
Figura 8. Ambiente Blue-c que utiliza um Display Espacialmente Imersivo.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 23
2.2.1.4. Interfaces Baseadas em Projetores
Outra forma de visualização são as interfaces que utilizam projetores para fazer
a integração dos objetos virtuais com o mundo real. Este tipo de interface geralmente
utiliza câmeras, em conjunto com o sistema de projeção, para captar a interação do
usuário com o sistema. Uma vantagem de se utilizar essa abordagem de projetores para
visualização é a maior facilidade para exibição dos objetos virtuais, pois eles seriam de
toda forma projetados em alguma superfície para o usuário [46]. Como a visualização
baseada em projetores necessita de uma superfície ou objeto para projetar a cena, podem
existir algumas superfícies onde a projeção não é possível devido a problemas de
oclusão. As cenas também são afetadas em relação à luminosidade, cor e textura do
ambiente no qual estão sendo projetadas. Além disto, outra questão associada é a
mobilidade, pois esses sistemas são montados em um ambiente previamente preparado
para a aplicação.
Apesar dos pontos negativos mencionados, está é uma abordagem muito
interessante e várias aplicações importantes vêm sendo criadas, como a Magic Table
[8][64]. Nesta aplicação o usuário escreve em um quadro branco com um pincel
atômico e ele pode ter uma cópia virtual de tudo que escreveu. O material escrito é
capturado através de uma câmera e projetado de volta no quadro branco sobrepondo a
escrita original e mantendo a cor da caneta. Estes objetos virtuais podem então ser
manipulados, podendo ser aumentados, duplicados, movidos ou escondidos. A Figura 9
mostra o ambiente para a utilização desta aplicação e a Figura 10 ilustra a aplicação
sendo utilizada.
Figura 9. Ambiente para utilização de uma Interface Baseada em Projetor.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 24
Figura 10. Aplicação Magic Table.
2.2.2. Interfaces de Interação
As interfaces de interação são aquelas utilizadas pelo usuário para interagir com
o sistema, entrando dados necessários para que ele possa realizar a tarefa desejada. Os
sistemas de RA geralmente possuem uma ou mais interfaces de interação e uma
interface para visualização para que o usuário visualize os objetos reais e virtuais ao
mesmo tempo.
Para a criação da TIARI foram combinadas algumas interfaces de interação para
dar suporte à entrada de texto. Nela são utilizadas uma interface tradicional de RV
representada por uma luva de reconhecimento de gestos e uma interface bare hand
utilizando marcadores fiduciais. Estas formas de interface, bem como outras estudadas,
serão mais bem detalhadas ao longo desta seção.
2.2.2.1. Interfaces Tradicionais de RV
Nos sistemas de RA também podem ser utilizados dispositivos projetados, a
priori, para os ambientes de RV. Dispositivos como luvas, joysticks, tapetes com
sensores, dispositivos de tracking, entre outros, são muito utilizados em aplicações de
RA. Luvas, por exemplo, oferecem uma maneira prática de enviar gestos aos sistemas.
Ao invés de interagir com um teclado, o usuário pode gesticular com as mãos e o
sistema reconhecer este movimento realizando a tarefa correspondente àquela ação. Na
concepção da TIARI uma luva que permite reconhecimento de gestos é utilizada e pode
ser visualizada através da Figura 11. Os gestos reconhecidos pela luva dão suporte à
funcionalidade que faz com que partes do teclado sejam mostradas à medida que o
usuário as solicita. O modelo e funcionamento da TIARI serão mais bem detalhados no
Capítulo 3, proporcionando uma melhor compreensão da função desta luva.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 25
Figura 11. Luva de gestos utilizada na TIARI.
Em RA também são muito utilizadas luvas com marcadores para identificar
pontos de referência para detecção do movimento da mão. Um exemplo deste tipo de
luva é ilustrado na Figura 12, e esta técnica de utilização de marcadores será mais bem
detalhada ao longo desta seção.
Figura 12. Luva com marcadores.
2.2.2.2. Interfaces Bare Hand
A forma de interação bare hand utiliza gestos para enviar informações ao
sistema fazendo com que o usuário interaja através das mãos sem necessariamente ter
um dispositivo ou fios anexados a elas. O sistema é controlado diretamente pelos
movimentos das mãos do usuário, reconhecendo os gestos feitos. Um algoritmo de
localização da posição dos dedos e da mão é utilizado para detectar os movimentos do
usuário em tempo real [7]. Fazer uma apresentação, utilizar a mão como controle
remoto, controlar a mão de um robô, operar dispositivos móveis com espaço limitado
são alguns cenários onde este tipo de interação pode ser utilizado.
Aplicações foram construídas para demonstrar a usabilidade deste tipo de
interação, como por exemplo, o HandSmart [1], que é uma aplicação que simula um
telefone na mão do usuário onde ele utiliza um HMD para visualização e interage com o
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 26
sistema através dos dedos para discar o número desejado. Esta aplicação pode ser
visualizada através da Figura 13.
Figura 13. Aplicação HandSmart.
Esta forma de interação foi utilizada na TIARI para a exibição das letras do
teclado a serem digitadas. As letras são mostradas na mão do usuário para que ele possa
digitar. Porém, ao invés de ser utilizada a detecção das partes do dedo do usuário, a
TIARI utiliza marcadores fiduciais colados em uma luva para fazer o tracking da
posição e orientação para exibir os objetos virtuais (teclado) e para detectar a letra
digitada utiliza a informação de oclusão destes marcadores pelo usuário. Esta luva com
marcadores pode ser visualizada através da Figura 14 (a), bem como as teclas que são
mostradas ao usuário (Figura 14 (b)). Maiores detalhes sobre as funcionalidades e
funcionamento da TIARI estão contemplados no Capítulo 3.
(a) (b)
Figura 14. Interface bare hand utilizada na TIARI: (a) Luva com marcadores para tracking; (b) Interface
do teclado.
Algumas das maiores vantagens de se utilizar esse tipo de interação são: os
sistemas podem utilizar dispositivos pequenos operados a certa distância; o número de
partes mecânicas do dispositivo pode ser diminuído fazendo com que ele tenha uma
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 27
maior durabilidade; interfaces de fácil usabilidade podem ser desenvolvidas; um tipo de
interação bem natural pode ser obtido quando utilizado junto com um reconhecedor de
voz, por exemplo.
2.2.2.3. Interfaces Tangíveis
As interfaces tangíveis são interfaces onde os usuários utilizam objetos reais,
instrumentos, superfícies e espaços como interfaces para interagir com os sistemas
[60][61]. A manipulação de objetos reais faz com que a interação do usuário com o
sistema seja bastante intuitiva, pois é uma forma natural de interação. Neste caso, estes
objetos são mapeados, um a um, nas operações dos objetos virtuais.
Interfaces de RA tangíveis são aquelas onde: (1) cada objeto virtual é registrado
a um objeto físico real; (2) o usuário interage com objetos virtuais manipulando os
objetos físicos correspondentes. RA tangível permite misturar o espaço físico onde
vivemos e o espaço virtual que nós visualizamos e interagirmos com informações
digitais [9]. Isto resulta em um conceito de espaço aumentado onde a informação digital
e os objetos podem ser manipulados como se fossem todos reais.
Um conjunto muito utilizado de interfaces tangíveis utiliza marcadores para
rastrear a posição dos objetos. Marcadores são objetos destacados no mundo real e que
são utilizados como referência para interação com o sistema. Um marcador pode ser um
papel com um determinado padrão impresso, pode ser uma bolinha colorida, uma caneta
com a ponta colorida, entre outros; apenas é necessário algo que possa ser identificado e
diferenciado dos objetos reais. É necessário pouco processamento sobre os marcadores,
afinal são objetos fáceis de serem identificados no mundo real, fazendo com que esta
estratégia seja muito boa para sistemas de RA móveis.
Marcadores de papel são muito utilizados, pois são de baixo custo, fáceis de
serem confeccionados, versáteis e podem ser colocados em qualquer lugar. Um padrão é
colocado em um marcador para ser identificado e isto torna possível o rastreamento
deste papel. Marcadores podem ser também aplicados a formas 3D, como cubos,
pirâmides ou esferas. Isto pode influenciar ou até melhorar a forma de interação do
usuário com o marcador, dando espaço a mais uma forma mais intuitiva de interação do
usuário com o sistema. Este tipo de interface vem sendo bastante utilizado em
aplicações de RA devido à facilidade e a simplicidade de seu uso e um exemplo de
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 28
marcadores pode ser visualizado na Figura 15. Cabe ressaltar que a interface TIARI
desenvolvida neste trabalho também aplica os conceitos de interfaces tangíveis
mencionados aqui, como pode ser observado na Figura 14 (a).
Figura 15. Marcadores para detecção durante a interação.
Várias aplicações vêm sendo desenvolvidas em várias áreas utilizando-se este
tipo de interface. Um exemplo de interface tangível é o I/O Brush [50], que é uma
ferramenta para desenho que captura texturas, cores e movimentos do mundo real para
pintar sobre uma tela. O pincel, que se parece com um pincel real, tem uma câmera com
luzes e sensores de toque embutidos nele. A Figura 16 mostra o I/O Brush.
Figura 16. A interface tangível I/O Brush.
2.2.2.4. Interfaces Móveis
Os dispositivos móveis podem ser vistos como interfaces de visualização e de
interação ao mesmo tempo. Eles permitem que o usuário possa fazer atividades que não
seriam possíveis em um sistema comum, como por exemplo, o usuário poder através do
seu PDA (Personal Digital Assistant) visualizar informações sobre um determinado
quadro em uma visitação a um museu.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 29
Com a popularização e aumento da capacidade dos dispositivos móveis, como
telefones celulares, handhelds, notebooks, eles tornaram-se interfaces muito utilizadas.
Na área de RA sua utilização também tem crescido bastante. Os dois tipos de interfaces
móveis mais utilizados são os Wearable Computers e os dispositivos móveis.
Wearable Computers são aqueles que o usuário leva consigo de uma forma
natural, sem causar muito incômodo pelo peso, forma, ou posição de uso [1]. Para isso,
eles devem poder ser usados quando o usuário está em movimento e com pelo menos
uma das mãos livres. Eles devem estar sempre disponíveis, ou seja, devem estar num
estado que garanta pronta resposta a qualquer instante. Além disso, embora a tendência
seja fazer com que estes equipamentos tenham algum poder de decisão (inteligência
artificial), eles devem sempre permitir o controle pelo usuário. Uma grande contribuição
dos Wearable Computers é na área de entretenimento. Este tipo de equipamento é muito
utilizado para jogos e para que pessoas interajam num ambiente social como, por
exemplo, em um museu onde o usuário pode utilizar um Wearable Computer enquanto
passeia e visualiza vários tipos de informações. Um exemplo de Wearable Computer
pode ser visualizado através da Figura 17.
Figura 17. Wearable Computer.
A TIARI foi validada utilizando um Wearable Computer denominado miva [56],
pois a aplicação à qual ela foi integrada, o mivaDesk [55], utiliza este dispositivo como
plataforma e pode ser visualizado através da Figura 18. Como a TIARI foi projetada
para suportar sistemas que possuem a característica de mobilidade, ela se configura
também como uma interface móvel. Mais detalhes sobre esta aplicação e sobre o
modelo da TIARI podem ser encontrados no Capítulo 3.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 30
Figura 18. Plataforma miva.
Os dispositivos móveis, da mesma forma que os Wearable Computers, podem
dar suporte a vários tipos de aplicações de RA. A diferença básica entre eles é que o
usuário não precisa carregar o dispositivo móvel junto ao seu corpo. Os dispositivos
móveis são aparelhos comuns no cotidiano das pessoas, como por exemplo, handhelds,
laptops, PDAs e telefones celulares. A classe mais comum de dispositivos móveis é a
dos telefones celulares. Esta classe de dispositivos vem crescendo bastante, pois os
modelos mais novos já possuem uma capacidade de processamento mais elevada e
recursos importantes para aplicações de RA, como câmeras embutidas e telas maiores.
2.2.2.5. Interfaces Colaborativas
Os sistemas de RA Colaborativa, campo que vem crescendo bastante na área,
permitem que os usuários possam interagir entre si estando ou não no mesmo espaço
físico. Os ambientes onde os usuários interagem em um mesmo espaço físico são
chamados de Colaboração Face a Face (Face-To-Face Collaboration). Já em situações
onde os usuários estão em locais completamente distintos este tipo de colaboração é
chamada de Colaboração Remota (Remote Collaboration). Cinco características
principais foram identificadas nos sistemas de RA Colaborativa [10], e são citados
abaixo:
� Virtualidade: objetos que não existem no mundo real podem ser
visualizados e examinados por todos os usuários.
� Aumento: objetos reais podem ser aumentados através de informações
anexadas a eles como, por exemplo, anotações.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 31
� Cooperação: vários usuários podem se ver e cooperar de uma forma
natural.
� Independência: cada usuário controla seu ponto de vista
independentemente.
� Individualidade: as informações visualizadas podem ser customizadas para
cada usuário.
Nos sistemas de Colaboração Face a Face, os usuários podem interagir através
dos objetos virtuais ou de objetos reais, por exemplo, utilizando interfaces tangíveis.
Um exemplo deste tipo de colaboração utilizando-se objetos virtuais é um ambiente
onde os usuários utilizam um HMD para visualizar os objetos virtuais e o ambiente
onde estão inseridos, e onde os objetos virtuais são apresentados aos vários usuários
para que possam interagir com os mesmos. Todos os usuários visualizam o mesmo
objeto, dando a sensação de o objeto virtual ser um objeto real. A Figura 19 ilustra um
ambiente deste tipo.
Figura 19. Colaboração Face a Face.
Os sistemas que utilizam Colaboração Remota fazem com que usuários tenham a
experiência de colaborar de forma remota com objetos compartilhados. Este tipo de
sistema pode ser utilizado para áudio-vídeo conferências, jogos on-line, filmagem de
cenas para TV, dentre outras aplicações. Neste tipo de sistema, os usuários podem
visualizar uns aos outros através de uma tela ou HMD. Um exemplo deste tipo de
interação é um sistema de videoconferência onde é utilizado um HMD para poder
visualizar os outros usuários em marcadores dispostos no seu ambiente de trabalho. As
pessoas que participam desta conferência aparecem projetadas no mundo real para o
usuário. A Figura 20 ilustra um ambiente de videoconferência baseada em RA.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 32
Figura 20. Videoconferência através de Colaboração Remota.
2.3.2.3.2.3.2.3. TécnicasTécnicasTécnicasTécnicas para Entrada de Texto para Entrada de Texto para Entrada de Texto para Entrada de Texto
A funcionalidade de entrada de texto, na maior parte das interfaces utilizadas em
aplicações de RA é inexistente, pois desenvolver técnicas usáveis e eficientes para
entrada de texto é uma tarefa complexa, fazendo com que os desenvolvedores evitem
este tipo de interação em suas aplicações [29][12]. Porém, isto não significa que este
tipo de interface é menos importante. Existem cenários em RA onde a entrada de texto é
importante, e alguns deles estão listados abaixo:
� Anotações – em um sistema de RA móvel, o usuário pode ter a
necessidade de fazer anotações referentes a um determinado objeto.
� Entrada de informações para o sistema – em um sistema de desktop
virtual 3D, a exemplo do mivaDesk [55], se faz necessário entrar o nome
de um contato a ser armazenado na agenda.
� Comunicação entre usuários – em um sistema colaborativo os usuários
podem querer se comunicar através de mensagens de texto, por exemplo,
em um sistema de chat entre visitantes de um museu.
� Alteração do valor de parâmetros – aplicações que requerem entrada de
números para determinar valores de configuração de parâmetros (por
exemplo, aplicações de CAD (Computer-Aided Design), configuração de
parâmetros em jogos, entre outros).
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 33
Algumas técnicas para entrada de texto foram propostas e classificadas [12].
Estas técnicas dividem-se em quatro grupos: baseadas em teclado, caneta, gestos ou
reconhecimento de voz. A TIARI é uma interface baseada em teclado, pois utiliza a
metáfora de um teclado real. Estas técnicas serão detalhadas e discutidas ao longo desta
seção.
2.3.1. Baseadas em Teclado
As técnicas que se enquadram nesta categoria utilizam um teclado físico ou a
metáfora de um teclado real. Apesar de ser possível utilizar um teclado convencional em
aplicações de RA, ele não é aconselhável, pois como a maioria das aplicações de RA
requer mobilidade este tipo de interface não é muito adequado devido ao seu peso e
tamanho. Algumas técnicas baseadas em teclado que serão discutidas nesta subseção
são: teclados em miniatura, teclados com poucas teclas, teclados chord, teclados pinch e
teclados soft.
A técnica de teclado em miniatura consiste em utilizar um teclado de tamanho
reduzido para que o usuário consiga carregar ou “vestir” o mesmo. Esta técnica tem a
vantagem de utilizar o layout QWERTY [39], o que facilita a utilização por parte dos
usuários, sendo assim bastante popular entre alguns tipos de dispositivos móveis, como
os PDAs. Este tipo de teclado pode ser carregado em uma das mãos ou vestido no
antebraço do usuário e um exemplo deste tipo de interface pode ser visualizado através
da Figura 21. Como este tipo de teclado possui as teclas menores, a digitação não pode
ser feita normalmente utilizando-se os 10 dedos, fazendo com que esta técnica não tenha
a mesma usabilidade de um teclado convencional com o qual os usuários estão
acostumados.
Figura 21. Teclado em miniatura.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 34
Para minimizar este problema originado pelo tamanho pequeno das teclas, foi
proposta uma evolução da técnica de teclado em miniatura, que é a técnica de teclado
com poucas teclas. Esta técnica tem como objetivo fazer com que o teclado caiba na
mão do usuário a partir da redução de teclas do mesmo. Um exemplo bastante
conhecido deste tipo de teclado são os teclados utilizados em telefones celulares, como
o ilustrado na Figura 22. Nesta técnica, uma tecla representa vários caracteres em uma
determinada ordem e para o usuário digitar um caractere ele aperta a tecla associada ao
caractere desejado até que o mesmo seja mostrado.
Figura 22. Teclado com poucas teclas.
Outra técnica utilizada é a do teclado chord ou de acordes, que é um dispositivo
desenvolvido com o objetivo de prover todas as funcionalidades de um teclado
convencional, porém com bem menos teclas. A digitação de um caractere é feita através
de uma combinação de teclas pressionadas ao mesmo tempo, analogamente a um acorde
feito no piano, o que originou o nome desta técnica. Um exemplo deste dispositivo pode
ser visualizado através da Figura 23, possuindo 12 teclas e não requerendo mais de
duas teclas pressionadas ao mesmo tempo. Este tipo de teclado vem sendo estudado em
várias aplicações que requerem mobilidade, porém em um estudo de usabilidade
realizado por Bowman et al. [14] ela mostrou-se com o pior desempenho, o maior
número de erros e a menos indicada pelos usuários. Entretanto, este estudo com os
usuários não foi feito por um longo período, havendo a possibilidade de este
desempenho melhorar ao longo de várias tentativas dos usuários.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 35
Figura 23. Teclado chord.
Outro exemplo baseado em acordes é a chamada Chording Glove [49], uma luva
similar ao teclado chord que possui sensores na ponta dos dedos e os acordes são
formados quando a ponta dos dedos toca uma superfície. Esta luva é composta por três
partes: sensores dos dedos, botões de shift e teclas de funcionalidades. Os sensores dos
dedos servem para detectar quando o dedo está sendo pressionado sobre alguma
superfície. Já os botões de shift são utilizados para alternar entre as funções de caixa
alta, numeração e comandos de controle. E, por fim, as teclas de funcionalidades são
teclas que se encontram atrás da mão de uma forma alcançável pela outra mão. Esta
luva pode ser visualizada na Figura 24.
Figura 24. Chording Gloves.
Além destas, outra técnica proposta foi a do teclado pinch ou de pinça, que foi
desenvolvida a princípio para entrada de textos em sistemas de RV [13]. Esta técnica
utiliza luvas pinch que são luvas que conseguem detectar quando dois dedos estão se
tocando (Figura 25 (a)). O conceito básico dela é funcionar como uma pinça feita entre
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 36
o polegar e outro dedo da mão do usuário, representando uma tecla pressionada (Figura
25 (b)). Por exemplo, a letra ‘a’ é representada através de uma pinça entre o dedo
mínimo e o polegar e a letra ‘s’ através de uma pinça entre o dedo anelar e o polegar.
Caso o usuário queira digitar uma letra que não esteja contemplada com as 4 possíveis
pinças, como por exemplo, a letra ‘g’ ele gira a mão direita para selecionar as letras
internas. Para o usuário escolher a linha do teclado que quer utilizar para digitação ele
move sua mão para junto e para longe de seu corpo, escolhendo a linha mais abaixo ou
mais acima, respectivamente.
(a) (b)
Figura 25. Teclado Pinch: (a) Luvas pinch; (b) Ambiente virtual.
Por fim, os teclados soft são outra opção para entrada de texto. Este teclado é um
dispositivo virtual implementado em software onde o usuário pressiona teclas virtuais
ao invés de teclas reais para a entrada de caracteres, e pode ser visualizado através da
Figura 26. Uma das maiores desvantagens deste tipo de teclado é que o usuário não tem
feedback háptico, ou seja, a interface não dá feedback sensorial ao usuário.
Figura 26. Teclado Soft.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 37
Um exemplo de teclado soft utilizado em sistemas de RA é o ARKB
(Augmented Reality Keyboard) [32] que detecta a posição dos dedos do usuário
utilizando marcadores na ponta dos dedos, fazendo assim a digitação dos caracteres
desejados. Este teclado pode ser visualizado através da Figura 27.
Figura 27. ARKB (Augmented Reality Keyboard).
A TIARI utiliza esta técnica de entrada de texto baseada em teclado através da
aplicação mista de um teclado em miniatura, um teclado soft e um teclado com poucas
teclas. A característica de teclado em miniatura vem da diminuição do tamanho do
teclado existente; além desta, também possui características de um teclado com poucas
teclas, visto que só mostra 9 teclas por vez, e possui um teclado considerado um teclado
soft que é um layout completo do teclado que fica sendo visualizado pelo usuário no
canto direito de sua tela, dando um melhor entendimento de qual parte do teclado ele
está utilizando. O modelo da TIARI será apresentado ao longo do Capítulo 3.
2.3.2. Baseadas em Caneta
A entrada de texto também pode ser feita utilizando-se interfaces baseadas em
canetas onde o usuário possui uma caneta e uma superfície para escrever. Esta técnica
pode utilizar duas abordagens: a que reconhece a escrita e traduz em caracteres digitais
ou a que não reconhece e apenas guarda a imagem do texto escrito, também conhecida
como “tinta digital” [12].
A entrada de texto baseada em reconhecimento de escrita é em vários casos
bastante similar ao reconhecimento de gestos. Sua unidade básica é o stroke ou traço,
que é o movimento iniciado quando a caneta toca a superfície e finalizado quando a
caneta é retirada da mesma. Vários esquemas de reconhecimento foram propostos. O
Graffiti [24] é uma técnica que reconhece caractere a caractere baseado em um stroke
feito pelo usuário, e pode ser visualizado na Figura 28.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 38
Figura 28. Técnica de reconhecimento de caracteres Graffiti.
Outras técnicas como o Cirrin [34] e o Quikwriting [41], que reconhecem
palavras, também são utilizadas para esta finalidade. Por exemplo, no Cirrin um stroke
começa na área central de um círculo e se move por regiões que possuem caracteres,
formando assim as palavras. O seu funcionamento pode ser observado na Figura 29.
Figura 29. Técnica de reconhecimento de palavras Cirrin.
A outra forma de entrada de texto utilizando-se caneta é a de “tinta digital”, que
é uma técnica onde a imagem escrita não é reconhecida em caracteres digitais e sim, sua
imagem é armazenada para futura visualização. A desvantagem de se utilizar esta
técnica é que o usuário não tem como fazer buscas sobre os textos digitados e é muito
difícil de ser editada. Porém, como é bastante natural, esta técnica pode ser aplicada em
vários sistemas, a exemplo do Virtual Notepad [44], ilustrado na Figura 30.
Figura 30. Utilização da técnica de “tinta digital” no Virtual Notepad.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 39
2.3.3. Baseadas em Gestos
Como muitas interações em sistemas de RA são feitas com as mãos, é natural
considerar técnicas para entrada de texto que tirem proveito da posição, orientação e
movimentação da mão [12]. Apesar de apresentar algumas dificuldades técnicas como a
calibração de dados da luva e o reconhecimento do gesto, ela pode ser considerada uma
poderosa forma de interação para entrada de texto nestes sistemas. Pode-se ter este
reconhecimento de gestos utilizando três formas: linguagem de símbolos, gestos
numéricos e gestos instantâneos.
A linguagem de símbolos, amplamente utilizada, é bastante descritiva e permite
que os usuários “falem” rapidamente. Um projeto chamado GloveTalk [21] desenvolveu
um sistema que funciona como um sintetizador de fala. Esta aplicação é baseada no
reconhecimento de gestos pelo sistema produzindo a fala correspondente em tempo real.
Porém, o maior problema desta abordagem é que apenas uma pequena parte da
população conhece a linguagem de sinais, fazendo com que esta técnica seja restrita a
um conjunto pequeno de pessoas.
Para entrada numérica em um sistema, gestos numéricos são uma forma ideal de
interação, pois utilizam os dedos para representar os números de 0 a 9. Estes gestos são
universais e podem ser utilizadas uma ou duas mãos. Porém, esta técnica ainda é pouco
aplicada [12].
As duas formas de interação acima mencionadas requerem um contínuo
reconhecimento dos gestos utilizando uma luva ou alguma forma de se detectar os
ângulos das juntas da mão. Entretanto, dispositivos instantâneos como luvas pinch, por
exemplo, podem prover gestos limitados, especialmente quando um tracker é conectado
à luva. O teclado pinch mostrado anteriormente é um exemplo de utilização desta
técnica.
2.3.4. Baseadas em Reconhecimento de Voz
Além das técnicas citadas acima, a voz também pode ser utilizada para entrada
de texto em sistemas de RA. Esta técnica tem vários aspectos positivos: a mão do
usuário fica livre para poder realizar outras atividades, permite entrada de grande
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 40
quantidade de texto de uma forma precisa e eficiente e é uma forma natural do usuário
interagir.
Porém, esta técnica é raramente utilizada em sistemas de RA, pois embora esta
tecnologia venha evoluindo bastante, alguns estudos relatam que reconhecimento de voz
é lento, não possui a precisão necessária e requer treino para ser utilizada, fazendo com
que não seja considerada suficientemente boa para este tipo de interação [12]. Outros
motivos que levam a não utilização deste tipo de técnica é a falta de privacidade, o
barulho gerado no ambiente, o problema de incomodar as outras pessoas, a estranheza
que muitas pessoas sentem em falar com uma máquina, entre outros. Além disto, uma
pesquisa mostra que usuários preferem digitar e pensar, a falar e pensar [12].
Para entrada de texto, podem-se considerar três formas de interação:
reconhecimento de um caractere, reconhecimento de palavras e entrada de texto via voz
sem reconhecimento. No caso do reconhecimento de um caractere, o usuário necessita
falar caractere por caractere até formar as suas frases, o que faz com que este tipo de
interação não seja muito utilizado, pois é uma forma muito lenta e “chata” para entrada
de texto. Já o reconhecimento de palavras se mostra uma forma mais interessante para
entrada de texto, pois o usuário pode falar as frases com mais naturalidade. Esta técnica
é mais fácil de ser aceita, porém mais suscetível a erros de reconhecimento. Por fim, o
não reconhecimento, também conhecido como voz digital, é algo análogo ao conceito
de “digital ink” ou “tinta digital” citado anteriormente. Nesta técnica apenas a voz é
gravada, sendo muito complicado fazer uma edição posterior destes dados, pois como
não está em formato apropriado o computador não pode interpretar o que foi falado para
poder fazer uma alteração posterior.
2.3.5. Considerações sobre a Aplicação das Técnicas
Testes de usabilidade com estas várias técnicas de entrada de texto foram feitos e
um conjunto de boas práticas é apresentado abaixo [12]:
� Utilizar o layout QWERTY caso a entrada de texto não seja freqüente ou
a maioria dos usuários é iniciante;
� Feedback háptico é um componente importante do teclado, então
teclados com botões físicos devem ser usados sempre que possível. Se
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 41
forem utilizados teclados virtuais, colocar as teclas em uma superfície
física;
� Não se esquecer do conforto do usuário;
� Não assumir que reconhecimento de voz é a melhor técnica;
� Considerar técnicas e dispositivos especializados, e um layout não-
padrão apenas se os usuários vão entrar texto frequentemente;
� Utilizar digital ink quando a velocidade for o aspecto mais importante de
usabilidade.
2.4.2.4.2.4.2.4. AplicaçõesAplicaçõesAplicaçõesAplicações de RA com Suporte a Entrada de Textode RA com Suporte a Entrada de Textode RA com Suporte a Entrada de Textode RA com Suporte a Entrada de Texto
Nesta seção serão mostradas algumas aplicações que necessitam de entrada de
texto e as interfaces projetadas para as mesmas. As aplicações aqui mostradas são
aplicações que utilizam interfaces baseadas em teclados, visto que a TIARI utiliza esta
técnica que é o foco desta dissertação de mestrado.
Uma aplicação bastante interessante com necessidade de entrada de texto e que
faz uso de anotações é utilizada em um cenário colaborativo para facilitar tarefas de
logística para contingente militar em alto mar [58]. Um técnico de manutenção faz uma
requisição urgente para a troca de uma hélice de helicóptero. O funcionário do depósito
recebe esta requisição, encontra a hélice no depósito através de indicadores virtuais que
mostram sua localização e então ele envia a hélice desejada, adicionando uma anotação
a ela para indicar sua urgência. Seu supervisor checa esta anotação feita, entra em
contato com o solicitante e o procedimento é continuado. Em outros momentos desta
aplicação também são feitas anotações ao longo do processo por outras pessoas
envolvidas. A forma que esta aplicação faz a entrada de texto é através de uma luva
pinch com botões físicos nas pontas dos dedos, onde dois ou mais dedos precisam ser
pressionados ao mesmo tempo, gerando uma combinação de 49 possíveis caracteres a
serem digitados. Esta luva pode ser visualizada através da Figura 31 juntamente com a
tabela com de combinações de dedos para digitar os caracteres. Por exemplo, se o
usuário tocar o polegar e o indicador da mão direita e simultaneamente pressionar o
polegar e o dedo médio da mão esquerda o caractere ‘V’ é digitado. Esta interface foi
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 42
desenvolvida para ambientes que necessitam de digitação de mensagens pequenas até
160 caracteres, utiliza um subconjunto do conjunto de caracteres ASCII (American
Standard Code for Information Interchange) e suporta várias abreviações e linguagem
especializada.
Figura 31. Interface baseada em teclado pinch utilizada em aplicação militar.
Outra aplicação que necessita entrada de texto utiliza a entrada de texto para
fazer buscas de livros em uma biblioteca real, o ARLib [62][47]. O usuário utiliza um
teclado virtual ou um Graffiti Pad [24] (Figura 32) que é visualizado para fazer buscas
por autor, título, etc. A aplicação faz a busca e indica a prateleira onde o livro se
encontra. Então o usuário se locomove pela biblioteca até a prateleira desejada e quando
a visualiza, a área onde o livro se encontra é selecionada e mostrada ao usuário. Esta
aplicação pode ser vista através da Figura 33.
(a) (b)
Figura 32. ARLib: (a) Forma de busca de livros. (b) Grafitti Pad.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 43
Figura 33. Aplicação ARLib.
Outro exemplo de aplicação que necessita de entrada de texto é o MagicMeeting
[48], um sistema colaborativo que utiliza interfaces tangíveis para fazer reuniões,
apresentações, etc. Os usuários utilizam esta aplicação em um ambiente especial para a
mesma, que é uma sala de reunião com uma mesa para até 4 pessoas, como pode ser
visualizado na Figura 34. Nesta aplicação os usuários utilizam uma interface tangível
chamada de “prato de bolo” ou cake platter e é neste prato que os objetos 3D são
compartilhados entre os participantes da reunião. Nesta aplicação, entrada de texto se
faz necessária para fazer anotações sobre alguns pontos importantes, colocar labels nos
objetos ou até mesmo anotar contatos de algum cliente em comum. A entrada de texto
neste sistema pode ser feita através de teclados tradicionais, um teclado virtual existente
utilizado com ajuda de um mouse convencional ou utilizando reconhecimento de voz.
Figura 34. Aplicação MagicMeeting.
Por fim, uma aplicação que necessita de entrada de texto é o desktop virtual 3D
chamado mivaDesk [55]. Este desktop virtual possui algumas aplicações que necessitam
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 44
de entrada de texto, tais como agenda de compromissos e agenda telefônica. Para fazer
esta entrada de texto, o mivaDesk possui um teclado virtual onde o usuário digita os
caracteres movendo um cursor na tela movendo sua mão. A detecção deste movimento é
feita através de um tracker anexado a uma luva de gestos e para fazer a digitação da
tecla desejada um gesto parecido com o clique de um mouse é feito. Esta aplicação, bem
como o teclado soft utilizado podem ser vistas através da Figura 35. Esta aplicação é
objeto do estudo de caso desta dissertação e será mais bem detalhada no próximo
capítulo.
Figura 35. Teclado soft do mivaDesk.
2.5.2.5.2.5.2.5. BibliotecasBibliotecasBibliotecasBibliotecas para o Desenvolvimento de Aplica para o Desenvolvimento de Aplica para o Desenvolvimento de Aplica para o Desenvolvimento de Aplicações ções ções ções
de RAde RAde RAde RA
Conforme visto na seção anterior, a TIARI é uma interface baseada em vídeo
que utiliza marcadores fiduciais para o posicionamento dos objetos 3D no mundo. Este
modelo de aplicação de RA que utiliza interfaces baseadas em vídeo e marcadores
fiduciais é bastante utilizado nesta área e segue um fluxo de funcionamento básico que
pode ser visualizado através da Figura 36. Primeiramente, a imagem do mundo real é
capturada utilizando um sensor de imagem, geralmente associado a alguma biblioteca
que faz o papel de repassar essa imagem à aplicação. Após isso, a aplicação busca na
imagem o padrão dos marcadores fiduciais, também geralmente com o auxílio de
alguma biblioteca de detecção de marcadores. Uma vez que estes marcadores são
detectados, a posição e orientação dos mesmos são calculadas para servir de referência
aos objetos virtuais que serão mostrados ao usuário. Por fim, a renderização dos objetos
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 45
virtuais é feita a partir desses dados obtidos e a cena real com os objetos virtuais
misturados é exibida ao usuário.
Figura 36. Fluxo de aplicações de RA baseadas em vídeo com marcadores fiduciais.
Como pode ser observado, para facilitar o desenvolvimento de aplicações de
RA, várias ferramentas são utilizadas para agrupar funcionalidades comuns a este tipo
de sistema como, por exemplo, calibração de câmera, detecção de movimentos do
usuário e dos marcadores, renderização de objetos virtuais, etc. Estas bibliotecas foram
desenvolvidas utilizando várias linguagens de programação diferentes e com propósitos
diversos; algumas delas são voltadas para prototipagem, outras para dispositivos
móveis, outras para aplicações colaborativas, entre outros tipos. As ferramentas são
muito úteis para o desenvolvimento de aplicações, pois diminuem a taxa de erros de
desenvolvimento e o tempo gasto nesta atividade.
A classe de ferramentas mais utilizada em aplicações de RA é baseada em
detecção de marcadores 2D, para fazer o posicionamento dos objetos virtuais. Nesta
seção serão detalhadas algumas ferramentas baseadas em detecção de marcadores
bastante utilizadas. Também serão mostradas algumas ferramentas estudadas para
captura de vídeo e renderização de objetos 3D, partes importantes no desenvolvimento
de aplicações de RA. Por fim, será mostrada uma biblioteca utilizada para facilitar o
desenvolvimento de aplicações de RA que faz a abstração de bibliotecas de detecção de
marcadores, captura de vídeo e renderização de objetos 3D, o OgreAR.
2.5.1. Bibliotecas para Detecção de Marcadores
A TIARI requer detecção de marcadores pequenos, pois da forma que a interface
foi projetada, o usuário precisa conseguir ver 9 marcadores em sua mão. Algumas
bibliotecas foram pesquisadas e testadas com este propósito de utilização de marcadores
menores que o tamanho comum. Após alguns testes, concluiu-se que o ARTag possuía
os marcadores mais adequados, portanto eles foram utilizados na TIARI. Nesta seção
serão mostradas as bibliotecas estudadas para detecção de marcadores, que são
bibliotecas amplamente utilizadas em aplicações de RA.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 46
2.5.1.1. ARToolkit
Uma das bibliotecas mais utilizadas é o ARToolkit [2], desenvolvida pelo Dr.
Hirokazu Kato e seus colegas da Universidade de Osaka, a priori para dar suporte a
aplicações colaborativas [27]. O ARToolkit é uma biblioteca de código aberto, escrita
em C, que utiliza uma técnica onde é calculada em tempo real a posição e orientação de
uma câmera relativa a marcadores fiduciais físicos para que os objetos virtuais possam
ser renderizados precisamente. Estes marcadores são impressos geralmente em papel e
definidos como uma imagem de um quadrado de borda preta contendo um padrão na
parte interna. Exemplos deste tipo de marcadores, chamado baseado em template,
podem ser visualizados através da Figura 37.
Figura 37. Marcadores fiduciais baseados em template utilizados pelo ARToolkit.
Algumas das características dessa biblioteca são: tracking de posição e
orientação dos marcadores através da captura da cena por uma câmera; utilização de
marcadores baseados em um padrão que é representado por um quadrado com bordas
pretas e um template interno; permite utilizar qualquer marcador desde que ele seja um
quadrado com bordas pretas; possibilita calibrar a câmera de uma forma fácil; dá
suporte a aplicações de RA em tempo real dado seu desempenho; multi-plataforma (SGI
IRIX, Linux, Mac OS e Windows); possui código fonte livre e completo, e para o
funcionamento do ARToolkit são necessários apenas um computador, uma câmera
acoplada e alguns marcadores de papel.
O sistema de detecção de marcadores do ARToolkit é bastante simples.
Primeiramente, ele detecta as bordas dos quadrados identificando que aquela imagem
corresponde a um marcador. Após isso, é identificado o conteúdo interno do marcador e
o ARToolkit compara com os padrões de marcadores previamente conhecidos,
identificando, assim, qual marcador está sendo visualizado para poder fazer a
renderização do objeto virtual desejado naquela posição. A Figura 38 ilustra o fluxo de
funcionamento.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 47
Figura 38. Fluxo de funcionamento do ARToolkit.
O ARToolkit é adequado para vários tipos de aplicação, porém possui alguns
pontos negativos que podem impedir sua utilização em alguns casos. A utilização de
correlação entre imagens para verificar e identificar marcadores causa uma alta taxa de
falso positivo (detectar marcadores onde não existem) e falso negativo (não detectar
marcadores que estão presentes), o que se caracteriza como um ponto negativo da
biblioteca. Para tentar contornar estes problemas de falso positivo e falso negativo, o
usuário precisa capturar protótipos de cada marcador através da câmera com a
iluminação do ambiente para chegar a um ponto de equilíbrio entre estas taxas. Por fim,
o desempenho diminui à medida que mais marcadores são utilizados, pois quando um
marcador é detectado ele é comparado a todos os padrões existentes. O ARToolkit foi
utilizado durante o desenvolvimento da TIARI, mas a medida que o tamanho dos
marcadores foi diminuído a biblioteca não conseguiu reconhecê-los, tornando o uso do
ARToolkit inadequado para este trabalho.
Existe, também, o JARToolkit [26] que é uma versão do ARToolkit para a
linguagem de programação Java. O JARToolkit utiliza a Java Native Interface (JNI)
para acessar as funcionalidades do ARToolkit, podendo assim acessar algumas
funcionalidades do ARToolkit. Esta biblioteca não foi testada neste trabalho, pois a
TIARI foi desenvolvida utilizando a linguagem C++.
2.5.1.2. ARTag
Esta biblioteca foi desenvolvida pelo National Research Council of Canada e
consiste em um sistema de detecção de marcadores baseado no ARToolkit [22]. Foi
escrita na linguagem de programação C e não possui código fonte aberto, dificultando
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 48
sua utilização. Entretanto, existe uma versão fechada disponível que pode ser utilizada
para fins de estudo e pesquisa.
Seu objetivo principal é aprimorar o mecanismo utilizado no ARToolkit,
minimizando o problema de falso positivo e falso negativo muito freqüente no mesmo.
Para conseguir essa menor taxa de erros, o ARTag utiliza outra abordagem de
reconhecimento, chamada de baseada em ID. Ao invés dos marcadores serem
correlacionados com imagens previamente identificadas (templates), seus padrões
internos são reconhecidos através de um método digital que consiste em dividir o
interior do marcador em uma grade 6x6 onde são identificados valores binários
correspondentes à imagem, de forma que cada marcador gera um identificador único. O
ARTag identifica 2002 marcadores diferentes e existe uma ordem de prioridade de
melhores marcadores disponibilizada aos desenvolvedores. Exemplos de padrões de
marcadores do ARTag podem ser visualizados através da Figura 39.
Figura 39. Padrões de marcadores baseados em ID do ARTag.
O ARTag tem uma boa imunidade em relação à iluminação e oclusão dos
marcadores, ou seja, ele se comporta bem em relação à variações de luminosidade e
também quando parte do marcador está fora da área de visualização da câmera. Uma
comparação entre a detecção dos marcadores do ARTag e do ARToolkit com uma
determinada iluminação foi feita, e o ARTag comportou-se bem melhor em relação a
esta detecção já que ele conseguiu detectar todos os marcadores existentes [23]. Esta
comparação pode ser visualizada através da Figura 40. Nas figuras (a) e (b) são
mostrados marcadores do ARToolkit para serem reconhecidos, já na figura (c) são
mostrados marcadores do ARTag na mesma quantidade e nas mesmas condições de
posicionamento e iluminação para serem reconhecidos. Pode-se observar que todos os
marcadores do ARTag foram encontrados, enquanto vários marcadores do ARToolkit
não foram reconhecidos. A biblioteca ARTag vem sendo bastante utilizada para
detecção de marcadores pequenos e em ambientes onde a luminosidade não é ideal,
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 49
condição essencial para a TIARI. Após testes realizados com outras bibliotecas foi
verificado que o ARTag se comportava melhor com o tipo de marcadores escolhido,
sendo assim utilizados no desenvolvimento da TIARI.
(a) (b) (c)
Figura 40. Detecção de marcadores: (a) e (b) com ARToolkit; (c) com ARTag.
2.5.1.3. ARToolkitPlus
O ARToolkitPlus, desenvolvido pela Graz University of Technology, é uma
biblioteca de código fonte aberto baseada no ARToolkit [63]. O código fonte possui
várias otimizações e tem como proposta gerar aplicações eficientes para dispositivos
móveis como PDAs e Smartphones. Os marcadores utilizados são similares aos do
ARToolkit, porém com o padrão interno similar ao ARTag, possuindo uma codificação
que pode gerar 512 identificadores diferentes e que podem ser visualizados na Figura
41. Esta biblioteca permite que os marcadores tenham um tamanho variado de borda.
Sendo assim, a borda pode ser diminuída para que o espaço interno aumente, fazendo
com que marcadores menores possam ser detectados.
Figura 41. Marcadores do ARToolkitPlus.
Além disso, a confusão entre marcadores é diminuída, pois o ARToolkitPlus
utiliza uma técnica de threshold adaptativo, que consiste em perceber alterações de
iluminação capturadas por uma câmera, de forma que a detecção dos marcadores não
seja prejudicada. Outra funcionalidade provida é a capacidade de realizar compensação
em câmeras que geram uma diminuição da luminância radial da imagem, conhecida
como radial luminance falloff. Este fato ocorre em algumas câmeras, onde a imagem
capturada possui bordas escuras fazendo com que essas regiões não sejam detectadas.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 50
Durante o desenvolvimento da TIARI o ARToolkitPlus também foi testado,
porém mesmo com a diminuição das bordas dos marcadores foi apresentada uma alta
taxa de falso negativo durante a detecção. O ARToolkitPlus comportou-se melhor do
que o ARToolkit, porém como o ARTag mostrou-se mais estável ele não foi utilizado.
2.5.2. Bibliotecas para Captura de Vídeo
Para fazer a captura da imagem do mundo real onde serão adicionados os objetos
virtuais, duas bibliotecas foram estudadas com o intuito de facilitar o desenvolvimento
desta parte da aplicação. As bibliotecas estudadas foram o DSVideoLib e o OpenCV,
uma vez que são bastante utilizadas atualmente em RA [42][28][17]. O DSVideoLib
apresentou problemas de compatibilidade com a biblioteca de detecção de marcadores
utilizada na TIARI, o ARTag. Portanto, a TIARI utiliza o OpenCV como biblioteca de
captura de vídeo.
2.5.2.1. DSVideoLib
O DSVideoLib [43][42] é uma biblioteca livre sob licença GPL (GNU General
Public License) que provê fácil acesso à captura de vídeo, independente do dispositivo
de captura. Esta biblioteca é baseada na API do DirectShow, escrita em C++ e foi
desenvolvida para ser utilizada em ambientes Windows 32 bits. A biblioteca
DirectShow é uma biblioteca que faz acesso aos device drivers das câmeras para fazer a
captura de vídeo, porém ela utiliza o Component Object Model (COM) que requer
programação de muito baixo nível, fazendo com que sua utilização seja dificultada.
Portanto, a DSVideoLib tenta diminuir esta dificuldade de programação, ajudando os
desenvolvedores a fazer aplicações que necessitam de entrada de vídeo em tempo real
através de vários dispositivos de captura diferentes (câmeras DV (Digital Video) e
webcams USB, por exemplo) sem necessidade de conhecimento prévio do modelo
COM.
Para o desenvolvimento da TIARI a DSVideoLib não foi utilizada devido a um
problema de compatibilidade com o ARTag, pois este último funciona apenas utilizando
OpenGL e como o DSVideoLib faz uso do DirectShow (parte do DirectX) ele mostrou-
se incompatível com esta biblioteca.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 51
2.5.2.2. OpenCV
OpenCV (Open Source Computer Vision) [40] é uma biblioteca desenvolvida
pela Intel com a finalidade de tratar problemas de visão computacional em tempo real. É
uma biblioteca que possui código fonte aberto, escrita em C/C++ e independente de
sistema operacional, hardware e gerenciador de janelas. Possui funcionalidades de
captura, carregamento e gravação de imagens e vídeos, processamento básico de
imagens, calibração de câmera, entre outras funcionalidades bastante utilizadas no
desenvolvimento de aplicações para RA.
Esta biblioteca tem aplicação em diversas áreas, como interação homem-
máquina, identificação de objetos, segmentação e reconhecimento, reconhecimento de
face, reconhecimento de gestos, tracking de movimentos, determinação da
movimentação rígida da câmera (ego motion), entendimento de movimentos, estruturas
de movimentos e robótica móvel [15].
No desenvolvimento da TIARI, a biblioteca OpenCV foi utilizada por questões
de compatibilidade com a biblioteca de marcadores utilizada, o ARTag, que não
funcionou corretamente ao fazer a integração com o DSVideoLib, biblioteca estudada
em primeira instância. Na TIARI é utilizada apenas a parte de captura de câmera do
OpenCV; a parte de processamento de imagens, por exemplo, não é utilizada neste
trabalho.
2.5.3. Bibliotecas para Renderização
Outra parte importante nas aplicações de RA é como os objetos virtuais são
renderizados junto às imagens do mundo real que foram capturadas. Para facilitar o
desenvolvimento desta parte da aplicação, bibliotecas para renderização de objetos 3D
foram utilizadas. Foram estudadas bibliotecas bastante utilizadas em aplicações
multimídia: OpenGL e DirectX. Além dessas, foi estudada uma biblioteca que serve de
abstração entre essas duas anteriormente citadas: o OGRE. Para a construção da TIARI,
estas bibliotecas foram utilizadas de forma integrada, com exceção do DirectX.
2.5.3.1. OpenGL
O OpenGL é uma biblioteca de código aberto, escrita em C/C++, focada no
desenvolvimento de aplicações gráficas multi-plataforma, 2D e 3D [37]. Esta biblioteca
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 52
foi desenvolvida em 1992 pela Silicon Graphics Inc e se tornou a biblioteca mais
utilizada atualmente para desenvolvimento de vários tipos de aplicações gráficas como
aplicações CAD, jogos, multimídia, visualizações científicas, entre outras.
Esta biblioteca possui uma API (Application Programming Interface) com
funções de renderização de objetos 2D e 3D, criação de luzes, materiais, texturas,
efeitos atmosféricos, entre outras facilidades para o desenvolvimento de aplicações. Ela
é bastante utilizada em sistemas de RA para fazer a renderização dos objetos 3D que são
integrados ao mundo real.
Na TIARI, o OpenGL é a base da renderização dos objetos 3D. Acima dele
outras bibliotecas são utilizadas, mas de fato quem cuida da renderização dos objetos
3D é o OpenGL. Esta biblioteca foi utilizada porque, além de ser bastante completa, o
ARTag utiliza o OpenGL como biblioteca auxiliar, não oferecendo, por exemplo,
integração com o DirectX.
2.5.3.2. DirectX
O Microsoft DirectX é uma coleção de APIs para realizar tarefas relacionadas a
aplicações multimídia, especialmente desenvolvimento de jogos em plataformas
Windows [5]. Esta biblioteca, desenvolvida pela Microsoft desde 1995, é utilizada por
outros softwares comerciais, principalmente na área de engenharia, por seu alto
desempenho na renderização de modelos 3D de alta qualidade, dando suporte aos mais
desenvolvidos hardwares de aceleração 3D. O DirectX é uma biblioteca escrita em
C/C++ que pode ser utilizada comercialmente, porém seu código fonte é fechado e
proprietário da Microsoft. Ele também é utilizado para fazer a renderização dos objetos
virtuais em aplicações de RA e várias aplicações vêm sendo desenvolvidas utilizando-se
esta biblioteca. Como mencionado na seção anterior, o DirectX não é suportado pela
interface TIARI uma vez que o ARTag utiliza apenas o OpenGL.
2.5.3.3. OGRE
A biblioteca OGRE (Object-Oriented Graphics Rendering Engine) [19] é um
motor gráfico 3D de código aberto sob licença LGPL (GNU Lesser General Public
License), escrita em C++ , que tem a finalidade de proporcionar uma forma mais fácil e
intuitiva para os desenvolvedores produzirem aplicações utilizando aceleração de
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 53
hardware 3D. Esta biblioteca abstrai detalhes de implementação específicos de
bibliotecas gráficas como DirectX e OpenGL e provê uma interface baseada nos objetos
do mundo e outras classes mais intuitivas de serem utilizadas. Esta biblioteca não possui
funcionalidades de sons, rede, inteligência artificial, física, entre outras, sendo focada na
parte gráfica e é disponibilizada para um número considerável de plataformas, incluindo
Windows, Linux e MacOS. Os programas que utilizam a OGRE podem rodar em
qualquer uma dessas plataformas sem sofrer nenhuma mudança.
Figura 42. Arquitetura do OGRE.
A arquitetura do OGRE pode ser vista através da Figura 42. A principal classe
do OGRE é a classe Root, responsável por instanciar as demais classes e prover acesso
às mesmas. O OGRE possui classes de gerenciamento que têm o papel de gerenciar os
elementos do sistema, como recursos, a cena, etc. O ResourceManager, ou
gerenciador de recursos, é responsável pela manipulação dos recursos disponíveis na
aplicação. A classe responsável pelos elementos da cena é chamada de
SceneManager, ou gerenciador de cena. O SceneManager está associado a um
RenderSystem, que é o responsável por fazer a renderização da cena utilizando uma
biblioteca de renderização como OpenGL ou DirectX. Outra classe importante é a
PlatformManager, que encapsula as funcionalidades nativas do sistema
operacional, como manipulação de entradas, temporização e gerenciamento de
interfaces gráficas.
O OGRE, por ser uma biblioteca bastante madura, de código aberto e possuir
essa independência de SO e de sistema de renderização (Direct, OpenGL, etc), é
utilizada na TIARI. Ele é utilizado para fazer a renderização dos objetos virtuais e
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 54
também faz parte do OgreAR, biblioteca para ajudar no desenvolvimento de aplicações
de RA utilizada pela TIARI e que será mais detalhada ao longo da próxima seção.
2.5.4. Biblioteca para Desenvolvimento de Aplicações de RA: OgreAR
A biblioteca OgreAR [18] permite a criação de aplicações de RA portáveis
utilizando um motor gráfico de renderização de alto nível. O motor de renderização
utilizado é o OGRE [19]. Por ser uma biblioteca de código aberto e multi-plataforma, o
OgreAR foi desenvolvido utilizando o OGRE como biblioteca para manipulação de
objetos tridimensionais, além de ter uma camada de abstração para reconhecimento de
marcadores e aquisição de imagem. Seu objetivo é garantir a portabilidade entre
diferentes plataformas, que utilizam bibliotecas específicas para realizar tais tarefas. A
Figura 43 apresenta a arquitetura do OgreAR.
Figura 43. Arquitetura do OgreAR.
A detecção de marcadores é independente de biblioteca (ARToolKit,
ARToolKitPlus, ARTag, etc), pois ela é utilizada através de uma camada de abstração
onde a aplicação utiliza um PatternDetector baseado em uma biblioteca de
detecção de marcadores, desde que esta seja encapsulada numa classe que estenda
PatternDetector. O OgreAR vem com uma implementação para as bibliotecas
ARToollkit e ARToolkitPlus. Além destes PatternDetectors, a biblioteca dispõe
de um detector de padrão nulo, que serve apenas para testes do usuário ou exibição
única de dados da câmera sem detecção de padrão.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 55
A captura de imagem é abstraída pela interface FrameGrabber, que é
implementada utilizando uma biblioteca de acesso à câmera, como o DsVideoLib ou
OpenCV, por exemplo. O OgreAR vem com uma implementação para utilização da
biblioteca DSVideoLib. A exibição da imagem na aplicação que utiliza o OgreAR
também é uma funcionalidade presente na mesma. Da mesma forma que a parte de
captura de vídeo, a exibição do vídeo é feita através de um FrameListener,
elemento básico de aplicações do OGRE. Para que esta funcionalidade seja integrada à
aplicação basta adicionar o ARFrameListener à aplicação através do método
Root::addFrameListener do OGRE. O ARFrameListener deve ser
associado sempre a um PatternDetector, que pode ser modificado pelo usuário a
qualquer momento da execução do programa.
A detecção de padrões do OgreAR funciona baseada em eventos, assim como
todo o sistema de interação do OGRE. Para receber estes eventos e manipular os dados
dos marcadores identificados, o usuário deve implementar uma interface chamada
DetectionListener. Esta possui apenas o método itemDetected que recebe
um parâmetro do tipo AREvent, evento responsável por agregar informações como
posição, orientação e identificação dos marcadores detectados.
A arquitetura da TIARI é baseada na do OgreAR e será mais bem detalhada ao
longo do Capítulo 3.
2.6.2.6.2.6.2.6. ConConConConsiderações Finaissiderações Finaissiderações Finaissiderações Finais
Conforme foi visto ao longo deste capítulo, os sistemas de RA são aqueles onde
objetos virtuais são adicionados ao mundo real, aumentando desta forma a realidade do
usuário. Nas aplicações de RA o usuário interage com o sistema através de interfaces de
visualização e de interação. As interfaces de visualização fornecem um feedback do
sistema ao usuário, pois é através delas que o usuário visualiza os mundos real e virtual
misturados. Por outro lado, nas interfaces de interação o usuário provê dados ao sistema
para poder realizar as tarefas desejadas. Estas interfaces devem estar presentes neste tipo
de aplicação de uma forma simples e intuitiva ao usuário. Neste contexto, a interface de
visualização utilizada nesta dissertação de mestrado para validar a interface de entrada
de texto desenvolvida, denominada TIARI, é um display translúcido baseado em vídeo.
Capítulo 2 – Sistemas de Realidade Aumentada Interativos 56
Em relação às interfaces de interação, a TIARI é baseada em várias formas de interação
conhecidas. A primeira delas é a interação por gestos realizada através de uma luva, que
é uma interface tradicionalmente usada em RV, além de uma interface do tipo bare
hand baseada em marcadores, pois o usuário vê teclas de um teclado projetadas em sua
mão em cima dos marcadores reconhecidos. A TIARI também é considerada uma
interface móvel, pois foi projetada a priori para sistemas de RA móveis.
Algumas aplicações de RA têm um requisito específico, que é o foco desta
dissertação de mestrado: a entrada de texto. Algumas técnicas para resolver este
problema foram vistas ao longo deste capítulo, e a mais utilizada é a baseada em
teclado. A TIARI utiliza esta técnica através da aplicação mista de um teclado em
miniatura, um teclado soft e um teclado com poucas teclas.
Por fim, foram mencionadas algumas bibliotecas para desenvolvimento de
aplicações de RA, sendo elas classificadas em bibliotecas para detecção de marcadores,
captura de vídeo e renderização de objetos 3D. Como a TIARI utiliza marcadores para
rastrear a posição e orientação da mão do usuário onde é exibido o teclado, algumas
bibliotecas para fazer este rastreamento foram estudadas. Destas bibliotecas o ARTag
foi selecionado, pois se mostrou estável em relação à detecção de marcadores menores e
menos suscetível a variações nas condições de luminosidade do ambiente. Para fazer a
captura de vídeo a biblioteca OpenCV foi utilizada, pois obteve um melhor desempenho
na TIARI, além de se comportar bem com o ARTag. Em relação às bibliotecas de
renderização de objetos 3D foram utilizados, de forma integrada, o OGRE (motor de
renderização de alto nível de abstração), o OgreAR (biblioteca de abstração de
funcionalidades - detecção de marcadores, captura de vídeo e renderização - de RA) e o
OpenGL (biblioteca de renderização de baixo nível).
Capítulo 3Capítulo 3Capítulo 3Capítulo 3
TIARI – Text Input Augmented Reality Interface
Este capítulo contempla a concepção, a modelagem e o desenvolvimento da
TIARI, a interface para entrada de texto em sistemas de RA proposta nesta dissertação.
Primeiramente, o contexto onde será utilizada a interface é detalhado, após isso a
metodologia de desenvolvimento utilizada, a modelagem da TIARI, o modelo
arquitetural utilizado para o desenvolvimento são apresentados e, por fim, as bibliotecas
utilizadas na implementação da mesma são especificadas. Além disso, é detalhada a
aplicação utilizada como estudo de caso, o desktop virtual 3D, chamado mivaDesk, bem
como a integração da TIARI com o mesmo.
3.1.3.1.3.1.3.1. ContextoContextoContextoContexto de de de de UUUUsosososo
A TIARI, Text Input Augmented Reality Interface, está focada em aplicações de
RA móveis, pois em uma grande parte das aplicações de RA esta característica de
mobilidade está fortemente presente. Outro ponto relevante considerado para a
concepção da mesma foi o tamanho do texto utilizado nestas aplicações, considerando-
se em média 200 caracteres, visto que a utilização da interface está planejada para
sistemas onde não se precisa fazer uma entrada de texto extensa, e sim anotações,
cadastros em agendas telefônicas e comentários curtos. Como TIARI será utilizada para
textos pequenos, ela abrange apenas um subconjunto dos caracteres de um teclado
convencional: letras, enter, espaço e backspace. Não foi contemplada na interface a
capitalização de letras, digitação de números, movimentação através de setas, tabulação,
acentos gráficos e pontuação, e ela foi projetada a priori para escrever textos na língua
portuguesa, visto que ela inclui a tecla de cedilha (ç).
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 58
3.2.3.2.3.2.3.2. MetodologMetodologMetodologMetodologia Aia Aia Aia Adotadadotadadotadadotada
A metodologia utilizada no desenvolvimento da TIARI é baseada no conceito de
design centrado no usuário. O design centrado no usuário é uma atividade que requer
etapas de análise de requisitos dos usuários onde se tenta entender o domínio do
problema, etapas de concepção e especificação que, a partir de dados coletados na etapa
anterior, procuram criar modelos de interação para a nova interface, e ainda uma etapa
de prototipação seguida de uma avaliação feita através de utilização do sistema
prototipado pelos usuários [38].
Este método propõe uma constante melhoria ao longo do desenvolvimento da
interface, pois utilizando esse processo de especificação, prototipação e avaliação pode
se chegar a um resultado mais satisfatório. A Figura 44 mostra as etapas do processo de
design interativo de desenvolvimento de interfaces centrado no usuário.
Figura 44. Processo interativo de design de interfaces.
A fase de análise tem como objetivo identificar os usuários finais da interface,
especificando e entendendo o processo pelo qual realizam sua tarefa, tentando extrair
suas necessidades que devem contextualizar todas as etapas seguintes. Segundo Nielsen
[38], esta etapa tem grande importância na fase inicial do desenvolvimento, pois se
caracteriza como principal fonte de informação para a concepção da mesma.
Após a fase de análise é feita a especificação do sistema, que deve permitir que o
usuário atinja sua meta, realizando as tarefas de maneira interativa e precisa. Uma
especificação descreve um modelo de interação onde o usuário utiliza funções providas
pelo sistema, visualiza informações ou fornece dados para o próprio sistema.
Já na fase de prototipação é realizada a construção de uma interface primária,
através da qual se procura obter uma avaliação dos conceitos concebidos nas fases
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 59
anteriores. A avaliação do protótipo é realizada com base em contextos de utilização e
definida utilizando critérios somativos determinados pelo avaliador da interface.
Por fim, tem-se a fase de avaliação da interface que é um importante passo no
processo de design, pois é através dela que se consegue estimar o sucesso ou insucesso
da solução proposta, tanto em termos de funcionalidade quanto em termos de interação.
As avaliações de interface podem ser classificadas como formativas ou somativas [45]
[25]. As formativas são aquelas que são feitas durante o processo de design, permitindo
a identificação e conserto de um problema de interação antes que a aplicação seja
terminada, ou até mesmo antes de ser implementada. As somativas, por sua vez, avaliam
o produto já terminado.
Ao longo do desenvolvimento da TIARI foram realizados alguns ciclos de
especificação, prototipação e avaliação. Antes de ser iniciada a implementação foi feita
uma especificação inicial de alguns layouts que TIARI poderia utilizar. Após isto uma
prototipação em papel destas formas [52] foi realizada e avaliada junto a alguns
usuários. Esta avaliação encontra-se mais bem detalhada no Anexo A. Além disto, ao
longo do desenvolvimento da TIARI algumas modificações foram feitas baseadas
também em protótipos e avaliações informais conduzidas com algumas pessoas. Então,
ao longo do desenvolvimento foram feitas essas análises formativas e ao final do
processo, quando se chegou a um modelo mais maduro, foi feita uma análise somativa
com alguns usuários e será detalhada ao longo do Capítulo 4.
3.3.3.3.3.3.3.3. ModeloModeloModeloModelo
A TIARI utiliza uma combinação das abordagens bare hand com utilização de
marcadores, teclado e luva tradicional de RV com reconhecimento de gestos (ver
Figura 11 e Figura 14 no Capítulo 2). O conceito mais básico da interface vem da idéia
de um teclado deslizante. O teclado não é exibido por inteiro ao usuário, e sim dividido
em três partes, aonde o usuário vai paginando através destas e digitando as letras
desejadas. O usuário sempre pagina para a parte mais a direita do teclado de uma forma
circular, conforme pode ser visto através da Figura 45.
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 60
Figura 45. Visualização do teclado deslizante da TIARI.
A interface TIARI é composta de basicamente três partes: a luva com os
marcadores onde as letras do teclado aparecem, o teclado soft que aparece no display do
usuário indicando qual parte do teclado está sendo visualizada e a luva que possui as
funcionalidades de chavear entre as partes do teclado. Os dispositivos utilizados na
TIARI podem ser visualizados através da Figura 46.
Figura 46. Dispositivos utilizados na TIARI.
O usuário interage com a TIARI da seguinte forma: após vestir a luva de gestos
na mão direita e a luva com marcadores na mão esquerda, ele pode habilitar o teclado na
aplicação para iniciar a digitação. Quando ele habilita o teclado, na tela aparece um
teclado soft com a primeira parte do teclado selecionada e quando o usuário olha para os
marcadores que estão na luva esquerda aparecem as teclas da primeira parte do teclado
para que ele possa digitar (Figura 45 (a)). Para digitar um caractere, o usuário
simplesmente move o dedo fazendo a oclusão da letra desejada e espera durante um
pequeno tempo (700 milisegundos) para que ela apareça na tela (Figura 47). Caso a
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 61
letra desejada esteja em outra parte do teclado, o usuário faz um gesto fechando e
abrindo a mão direita e então a parte seguinte do teclado é exibida.
Figura 47. Digitação com a TIARI.
Esta técnica de detecção da letra digitada é uma técnica baseada em oclusão de
marcadores e se chama detecção de marcadores com a ponta dos dedos (Tip Point
Marker Detection) [31] e consiste em fazer uma varredura dos marcadores da esquerda
para a direita e de cima para baixo identificando, assim, o marcador mais acima e à
direita que foi ocluso, como pode ser visto na Figura 48 [31].
Figura 48. Detecção de marcadores com a ponta dos dedos.
Para a definição do layout a ser utilizado, uma avaliação de usabilidade
formativa foi realizada com algumas pessoas. Primeiramente, uma avaliação inicial foi
feita utilizando-se prototipação em papel [52]. Três layouts foram propostos para o
experimento: o layout de teclado QWERTY, um layout com as letras em ordem
alfabética, e um terceiro layout em ordem alfabética contendo as vogais no início e a
consoante y. Um resumo sobre este experimento está detalhado no Anexo A.
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 62
O experimento resultou na observação de que o layout que possui as letras em
ordem alfabética era o mais fácil de ser utilizado pelas pessoas, pois elas conseguiam
memorizar a localização das letras no teclado como um todo com maior facilidade. O
layout escolhido, portanto, foi o teclado em ordem alfabética. Além disto, a partir de
algumas observações feitas durante este estudo de usabilidade, o layout do teclado
original foi um pouco alterado. Os pontos alterados foram os seguintes: em todas as
partes do teclado as teclas de espaço, enter e backspace são mostradas e os acentos e
pontuação foram removidos do layout. Estas alterações deveram-se ao fato de que os
usuários raramente se lembravam de utilizar os acentos e quando o faziam achavam
desconfortável a posição que eles se encontravam. Além disto, a maioria dos usuários
achou ruim o fato de ter que ficar paginando pelo teclado para poder digitar espaço,
enter e backspace, pois eram teclas constantemente utilizadas. Portando, o layout final
utilizado na TIARI pode ser visualizado através da Figura 49.
Figura 49. Layout do teclado TIARI.
3.4.3.4.3.4.3.4. ImplementaçãoImplementaçãoImplementaçãoImplementação
A interface TIARI foi desenvolvida em C++, utilizando algumas bibliotecas para
auxiliar em seu desenvolvimento. Várias bibliotecas foram estudadas e testadas a fim de
encontrar as que fossem mais adequadas a este tipo de aplicação e visando, também, a
integração futura com a aplicação mivaDesk [55], que foi o estudo de caso real utilizado
para a validação da interface.
A escolha da biblioteca de detecção de marcadores foi feita em relação ao tipo
de marcadores utilizados, que deveriam ser marcadores menores, pois eles precisariam
caber na palma da mão do usuário. Portanto, foram feitos testes iniciais com a biblioteca
ARToolkit [2], por ser a biblioteca mais utilizada na área de RA para detecção de
marcadores. Porém, esta biblioteca não se mostrou adequada para detecção de
marcadores pequenos, pois quando o tamanho dos marcadores era diminuído, o
ARToolkit não conseguia detectar a presença dos mesmos. Então, foram feitos testes
com o ARToolkitPlus [63] que oferece suporte a marcadores de tamanho menor,
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 63
utilizando marcadores com identificadores internos e bordas mais finas. Contudo, estes
marcadores mostraram-se instáveis em relação à luminosidade do ambiente e a taxa de
falso negativo (marcadores que estavam sendo visualizados e não eram detectados) era
bastante elevada. Por fim, foram feitos testes com a biblioteca ARTag [22] que se
mostrou satisfatória em relação à detecção de marcadores menores e menos instável em
relação às condições de luminosidade do ambiente. Logo, esta biblioteca foi utilizada
para implementar a detecção dos marcadores da TIARI.
A fim de realizar a captura da imagem do mundo real através de uma câmera, foi
utilizado o módulo de captura de câmera da biblioteca OpenCV [15], que se mostrou
uma biblioteca simples e de qualidade para este tipo de atividade. Para os testes com a
câmera foram utilizadas webcams com resolução de 320x240 pixels e estas se
comportaram bem para o experimento da interface. Também foram feitos testes com a
biblioteca DSVideoLib, porém ela não funcionou corretamente quando integrada à
biblioteca ARTag para detecção de marcadores.
Com relação à renderização dos objetos virtuais foi utilizada a biblioteca OGRE,
juntamente com o OgreAR [18]. Esta biblioteca foi modificada para utilizar, também, as
duas bibliotecas descritas anteriormente (ARTag e OpenCV), pois fornecia suporte
apenas ao ARToolkit e ARToolkitPlus para detecção de marcadores e fazia a captura de
vídeo através da biblioteca DSVideoLib. Conforme visto anteriormente na Seção 2.5.4,
o OgreAR abstrai a biblioteca de renderização utilizada (OpenGL ou DirectX), porém o
ARTag tem uma peculiaridade de que ele necessita de funções do OpenGL para
funcionar corretamente, fazendo com que o OgreAR não funcionasse no modo de
renderização que utiliza DirectX. Logo, foi utilizado o OgreAR utilizando apenas
OpenGL para dar suporte à parte de renderização dos objetos virtuais. Um diagrama
ilustrando as bibliotecas utilizadas para desenvolvimento da interface TIARI pode ser
visualizado através da Figura 50.
Figura 50. Bibliotecas utilizadas pela TIARI.
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 64
Para fazer a integração das novas bibliotecas ao OgreAR, dando suporte a
detecção de marcadores com o ARTag e captura de vídeo com o OpenCV, foram
implementadas classes referentes à detecção de marcadores e captura de vídeo. A
detecção de marcadores é feita através de uma camada de abstração do OgreAR
chamada PatternDetector, que foi estendida para dar suporte aos marcadores do
ARTag, tendo-se assim o ARTagAdapter. Além disto, tem-se o módulo de captura de
câmera que também é abstraído através de uma interface chamada FrameGrabber,
que no caso da TIARI foi implementada utilizando-se a biblioteca OpenCV, tendo-se
assim o OpenCVFrameGrabber. A Figura 51 ilustra a arquitetura da TIARI, que se
baseia na arquitetura do OgreAR, e nela podem ser vistas essas novas classes
implementadas.
Figura 51. Arquitetura da TIARI.
No módulo da TIARI que realiza de fato as funcionalidades da interface, a
detecção dos marcadores e a renderização das teclas é feita através do
ARTagListener, uma classe que implementa a interface DetectionListener
do OgreAR, que tem como papel receber eventos de detecção de marcadores,
relacionando-se, assim, com o ARTagAdapter do OgreAR. O ARTagListener
recebe os eventos de marcadores detectados tendo suas posições e orientações para
poder fazer a renderização das teclas através do OGRE. Esta classe também é
responsável por fazer a verificação da tecla pressionada pelo usuário, que é feita através
de detecção de marcadores com a ponta dos dedos (vide Figura 48), utilizando uma
classe auxiliar de timer, a Win32Timer, que é responsável por calcular o tempo que os
marcadores ficaram oclusos para poder reconhecer a digitação de uma letra, visto que
uma letra é considerada digitada após ficar 700 milisegundos oclusa. Estas classes
podem ser visualizadas no diagrama de classes contido na Figura 52.
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 65
Figura 52. Diagrama de classes da TIARI.
Além da funcionalidade referente à digitação da tecla em si, a TIARI possui o
módulo referente ao layout do teclado escolhido, o teclado soft mostrado na tela, e a
mudança da parte do teclado visualizada pelo usuário que é feita através de gestos
capturados pela luva. A TIARI possui o seu layout do teclado especificado em um
arquivo de configuração, pois como foram feitos alguns testes de usabilidade em relação
ao layout ao longo do desenvolvimento, esta funcionalidade facilitou a alteração do
layout sem ser necessário compilar novamente a TIARI. Portanto, a classe responsável
por este carregamento do layout, pela troca da parte do teclado corrente e pela exibição
do teclado soft na tela do usuário com a parte do teclado selecionada é a
TIARIApplication. Por fim, a classe responsável pela comunicação entre a TIARI
e a luva de gestos é a TIARIFrameListener que captura através da API de
comunicação com a luva o gesto realizado e avisa à TIARIApplication que o
teclado deve ser chaveado para outra parte. Estas classes podem ser vistas na Figura 52.
Durante o desenvolvimento da TIARI, alguns problemas foram detectados e
impõem algumas limitações ao uso da interface. Um deles é em relação aos marcadores
utilizados. Dependendo da luminosidade do ambiente e da distância que o usuário os
coloca em relação à câmera, eles são exibidos de forma intermitente, aparecendo e
sumindo, conforme pode ser visualizado na Figura 53. Isto ocorre porque o ARTag não
consegue capturar a posição e orientação correta destes marcadores, fazendo com que
qualquer alteração de luminosidade ou balançar da mão cause uma variação na
orientação dos marcadores levando as teclas que estão projetadas sobre eles a terem essa
sensação de movimento. Este problema foi minimizado com um pequeno aumento do
tamanho dos marcadores utilizados, porém o problema não foi completamente
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 66
solucionado. Acredita-se que utilizando câmeras mais precisas e uma resolução mais
alta, pois foi utilizada a resolução de 320x240 pixels, este problema possa ser
contornado por completo.
Figura 53. Problema de detecção de marcadores.
Outro problema é referente à oclusão dos marcadores quando se está digitando.
Como a detecção da digitação de um caractere é feita por oclusão através da técnica de
detecção de marcador com a ponta dos dedos [31], quando o usuário digita um caractere
que está acima de outros, as teclas que estão abaixo ficam também oclusas e não são
mais mostradas ao usuário. Por exemplo, ao digitar a letra ‘A’ na primeira parte do
teclado (Figura 54) pode-se observar que algumas letras não são mais mostradas. Isto
gera um problema para o usuário, pois ao invés dele visualizar o teclado que estava
sendo visto, ele vai ver apenas os marcadores sem as letras, o que pode confundir um
pouco o usuário em relação às letras que estavam naquelas posições. Porém, para suprir
esse problema existe o teclado soft que fica sendo visualizado no display do usuário
mostrando a parte do teclado selecionada e as letras que ela possui para que ele possa se
orientar numa situação como essa.
Figura 54. Problema de oclusão de marcadores.
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 67
3.5.3.5.3.5.3.5. Estudo de Caso: Estudo de Caso: Estudo de Caso: Estudo de Caso: mmmmivaDeskivaDeskivaDeskivaDesk
O mivaDesk [55] é um desktop virtual 3D, móvel e interativo, que roda em uma
plataforma móvel, chamada miva (mobile, interactive, virtual and autonomous) [56].
Esta plataforma é formada por um wearable computer desenvolvido para dar suporte às
características de mobilidade e autonomia do sistema e é uma plataforma focada em
aplicações de RA. A plataforma miva pode ser visualizada através da Figura 18. Esta
plataforma é formada basicamente por uma placa de processamento em miniatura, um
HMD com câmera acoplada (Video See-Through HMD), adaptadores de rede (bluetooth
e wi-fi), uma luva de gestos e um tracker. O usuário veste em suas costas uma caixa de
acrílico contendo todos os componentes do wearable computer, o HMD com a câmera e
a luva de gestos.
É nesta plataforma miva [56] que a aplicação mivaDesk roda, provendo ao
usuário uma mesa de trabalho virtual que contém os recursos mais utilizados de um
desktop, integrando-os a um telefone celular. Estes recursos oferecidos pelo mivaDesk
são: agenda de compromissos, agenda telefônica, calendário, transferência de arquivos e
serviço de telefonia. Neste desktop virtual, a entrada de texto é frequentemente utilizada,
fazendo com que ele possua um teclado virtual para que isto possa ser realizado. A
interação é feita através deste teclado soft representando um teclado convencional com
layout QWERTY. Este teclado está ilustrado na Figura 35.
Como o mivaDesk é uma aplicação desenvolvida utilizando a plataforma miva,
sua arquitetura é baseada na camada de aplicação do miva e pode ser visualizada através
da Figura 55. Nesta arquitetura podem-se destacar os seguintes módulos:
� Window Manager ou o gerenciador de janelas, responsável por criar e
destruir todas as janelas utilizadas na aplicação.
� Input, que é o módulo responsável por lidar com os dispositivos de
entrada. Ele captura a entrada de dados do usuário e repassa ao módulo
controlador responsável por se comunicar com o StateManager.
� StateManager ou o gerenciador de estados contém toda a lógica da
aplicação e é o responsável por receber os eventos vindos do usuário e
fazer as ações necessárias àquele evento.
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 68
� Output/Renderer é o módulo responsável pela exibição do resultado final
da aplicação, ou seja, a imagem do mundo real aumentado. Ele é
responsável por renderizar os objetos 3D utilizando OpenGL ou DirectX,
por exemplo. Este módulo utiliza o OGRE como biblioteca de abstração
do sistema de renderização.
� Resource Database são os recursos existentes na aplicação: texturas,
modelos 3D dos objetos virtuais, materiais, sons, etc.
Figura 55. Arquitetura do mivaDesk.
Como forma de avaliar e comparar a TIARI a uma forma de entrada de texto já
existente, a TIARI foi integrada ao mivaDesk para ser utilizada no lugar do teclado soft
já existente na aplicação. Um comparativo entre a utilização das duas interfaces foi
realizado através de testes de usabilidade das mesmas e está descrito no Capítulo 4.
Para realizar esta integração, algumas adaptações na estrutura de implementação
da TIARI e do mivaDesk tiveram que ser feitas, pois o mivaDesk não foi implementado
visando esta integração futura e a TIARI quando foi desenvolvida não foi projetada com
base na arquitetura do miva. Portanto, foram necessárias alterações tanto na arquitetura
da TIARI quanto na do mivaDesk.
Em um primeiro momento, para realizar a integração destas duas aplicações,
ambas precisaram ser compiladas para a mesma versão do Visual Studio, pois a TIARI
havia sido desenvolvida no Visual Studio 2005 por conta do ARTag que estava
projetado para esta versão, enquanto o mivaDesk foi desenvolvido com o Visual Studio
2003. Como o mivaDesk e a TIARI utilizavam a biblioteca OGRE com versões
diferentes, o mivaDesk diretamente e a TIARI através do OgreAR, também teve que ser
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 69
gerada uma nova versão do OgreAR integrando a versão do OGRE utilizada pelo
mivaDesk para manter a compatibilidade entre as aplicações.
Como o mivaDesk não dava suporte ao OgreAR, e sim apenas o OGRE, foi feita
a integração do mivaDesk com o OgreAR inicialmente. A biblioteca para captura de
câmera era a DSVideoLib e esta era utilizada diretamente na aplicação do mivaDesk
através da classe MivaDeskBackground que era responsável por capturar a imagem
do mundo real e exibi-la ao usuário. Porém, como esta função já estava presente no
OgreAR, esta classe foi removida e em seu lugar foi integrado o FrameGrabber do
OgreAR. Em um primeiro momento foi utilizado o FrameGrabber do OgreAR que
utilizava a DSVideoLib como biblioteca para captura de câmera. Porém, após a
integração da parte que contemplava a detecção de marcadores com o ARTag, esta parte
de captura de câmera ficou com seu desempenho bastante reduzido (a quantidade de
frames por segundo caiu consideravelmente) e as funcionalidades realizadas pelo
ARTag não funcionavam, o que levou à troca do FrameGrabber para o do OpenCV,
o OpenCVFrameGrabber, originalmente utilizado pela TIARI.
Após a integração do módulo da captura de câmera e a integração com o
OgreAR, foi iniciada a integração de fato com a TIARI. Em um primeiro momento, uma
análise da arquitetura da TIARI foi feita e houve a necessidade de uma pequena
mudança nela para facilitar a integração com o mivaDesk. A classe
TIARIApplication foi incorporada à classe TIARIFrameListener e ao invés
de herdarem das classes de exemplo do OGRE ExampleApplication e
ExampleFrameListener elas implementam direto a interface FrameListener.
Este FrameListener, por sua vez, foi adicionado à classe que trata do
comportamento do mivaDesk que é o MivaDeskStateManager para inserir a lógica
de funcionamento da TIARI na aplicação mivaDesk. Além disto, a classe da TIARI
responsável pela detecção dos marcadores teve seu nome alterado por questões de
legibilidade, sendo renomeada de ARTagListener para
TIARIDetectionListener; seu comportamento não foi alterado. Dadas essas
mudanças, o diagrama de classes final da TIARI, com as classes mais importantes do
mivaDesk, pode ser visto através da Figura 56.
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 70
Figura 56. Diagrama de classes da TIARI e mivaDesk integrados.
Quando a TIARI foi integrada ao mivaDesk, um problema em relação ao
posicionamento dos objetos virtuais que representavam as teclas nos marcadores foi
detectado. Os objetos não ficavam na posição correta em relação aos marcadores. Isto
foi gerado por um conflito entre a matriz de projeção da TIARI e a do mivaDesk, pois
uma estava sobrepondo as configurações da outra. Então, foi utilizada a matriz de
projeção da TIARI no mivaDesk. Porém, isto gerou um problema na detecção da
posição do apontador do mouse quando clicava em algum objeto 3D no mivaDesk, que
não localizava o objeto desejado. Então, este problema foi contornado utilizando a
matriz da TIARI e a matriz do mivaDesk em conjunto, fazendo com que quando um
objeto 3D recebesse um clique de mouse, as matrizes fossem trocadas e depois
voltassem ao original. Esta solução melhorou a detecção de clique de mouse nos objetos
3D, porém foi observado que mesmo assim alguns objetos ainda continuaram
apresentando um pouco de imprecisão em relação a estas posições.
Após a TIARI ser integrada ao mivaDesk de fato, para facilitar a realização dos
testes de usabilidade, foi adicionada uma aplicação de notepad ao mivaDesk para
permitir a digitação de textos nele, já que o mivaDesk não possuía este tipo de
aplicação. As aplicações já existentes no mivaDesk não foram utilizadas, pois nenhuma
dava suporte à digitação de textos maiores e como o procedimento de realização do
experimento necessitava que o usuário digitasse 3 frases, isto não seria possível através
destas. Este experimento está detalhado ao longo do Capítulo 4.
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 71
3.6.3.6.3.6.3.6. ConConConConsiderações Finaissiderações Finaissiderações Finaissiderações Finais
Neste capítulo foi detalhada a concepção, arquitetura e implementação da
TIARI. Esta interface foi projetada para utilização em sistemas de RA que permitem a
mobilidade do usuário e que têm a necessidade de entrada de textos pequenos, fazendo
com que ela possua um subconjunto de teclas de um teclado convencional.
Durante a construção da TIARI foi utilizada uma metodologia de
desenvolvimento centrada no usuário. Foram feitas avaliações durante a implementação,
incluindo uma fase de prototipação em papel para a escolha do layout de teclado a ser
utilizado, concluindo-se que o layout que continha letras em ordem alfabética era o mais
adequado.
A TIARI baseia-se em uma idéia de teclado deslizante onde o usuário vê partes
do teclado e alterna entre elas para digitar as letras desejadas. Ela utiliza o conceito de
interfaces bare hand com utilização de marcadores, além de um teclado soft e uma luva
tradicional de RV com utilização de gestos. Para se realizar a digitação de uma tecla, foi
utilizada a técnica de detecção de marcadores com a ponta dos dedos (Tip Pont Marker
Detection).
Na implementação da TIARI foram utilizadas bibliotecas para auxiliar na
captura de câmera, detecção de marcadores e renderização de objetos 3D. Como base de
sua arquitetura, a TIARI utiliza o OgreAR, uma biblioteca que facilita o
desenvolvimento de aplicações de RA, criando uma camada de abstração para as
bibliotecas acima citadas. Foi feita uma atualização no OgreAR para utilização das
bibliotecas utilizadas que ele não fornecia suporte: o ARTag para detecção de
marcadores e o OpenCV para captura de vídeo.
Além disto, a TIARI foi integrada a um sistema de RA existente, o mivaDesk,
que é um desktop virtual 3D. Para realizar esta integração, alterações nas estruturas das
duas aplicações tiveram que ser feitas. O mivaDesk foi integrado ao OgreAR, uma
mudança na forma de captura de vídeo utilizada foi feita, fazendo com que o mivaDesk
utilizasse o OpenCV integrado ao OgreAR ao invés da biblioteca DSVideoLib
anteriormente utilizada. Por fim, foi adicionada ao mivaDesk uma aplicação de notepad
Capítulo 3 – TIARI (Text Input Augmented Reality Interface) 72
para facilitar os testes de usabilidades realizados. Estes testes serão detalhados ao longo
do próximo capítulo.
Capítulo 4Capítulo 4Capítulo 4Capítulo 4
Avaliação de Usabilidade da Interface TIARI
Este capítulo descreve a avaliação somativa da interface TIARI com base na
observação da utilização da mesma por alguns usuários. É descrito o método utilizado,
os experimentos realizados e a análise dos resultados obtidos. Além disto, um
comparativo é feito em relação à utilização do teclado previamente existente no estudo
de caso, o mivaDesk.
4.1.4.1.4.1.4.1. IntroduçãoIntroduçãoIntroduçãoIntrodução
Como forma de avaliar a interface desenvolvida junto aos usuários, faz-se
necessária a realização de testes de usabilidade para serem identificadas falhas e pontos
de melhoria na interface e ser avaliado o grau de aceitação da mesma. Um ponto que
pode ser medido é a velocidade de digitação na utilização da interface. Esta métrica é
fundamental para o grau de satisfação do usuário, pois os usuários quando necessitam
fazer entrada de texto não o querem fazer de uma forma lenta, já que para eles a forma
mais natural de se fazer este tipo de interação é através da voz. Existem várias formas de
avaliação para interfaces de entrada de texto, porém todas possuem um conjunto de
métricas em comum, como por exemplo, a taxa de digitação, o conforto do usuário, o
grau de aprendizagem, a taxa de erros, entre outros [14][57].
Além desta coleta de métricas, é importante que elas sejam comparadas a outras
interfaces similares para avaliar de fato como ela se comporta em relação a outras
formas de entrada de texto. Desta forma, para a avaliação da TIARI também foi feita
uma avaliação do teclado existente na aplicação a qual ela foi integrada, o mivaDesk.
Além disso, foi feita uma comparação à taxa de digitação padrão de um teclado
convencional de layout QWERTY comumente utilizado. As próximas seções descrevem
melhor o método utilizado para avaliação das interfaces, seus resultados e comparativos.
Capítulo 4 – Avaliação de Usabilidade da Interface TIARI 74
4.2.4.2.4.2.4.2. MétodoMétodoMétodoMétodo Utilizad Utilizad Utilizad Utilizadoooo
O processo de avaliação consistiu em uma avaliação somativa feita ao final do
desenvolvimento da interface TIARI. Foram avaliadas comparativamente duas
interfaces para entrada de texto: a TIARI, proposta nesta dissertação, e o teclado soft já
existente na aplicação mivaDesk.
Para a realização do experimento, foram escolhidos participantes entre um grupo
de pessoas familiarizados com interfaces de interação convencionais (mouse, teclado,
monitor). O procedimento para avaliação da interface consistiu de quatro fases:
realização de um tutorial para aprendizagem da interface, digitação de textos para
observação utilizando as duas interfaces, coleta das métricas utilizadas para a avaliação
e, por fim, um questionário visando avaliar a taxa de conforto do usuário utilizando a
interface. Este procedimento utilizado foi definido com base em uma avaliação feita por
outra interface para entrada de texto, chamada Chording Gloves [49].
Na primeira fase do experimento, o usuário participou de um tutorial que explica
o funcionamento básico da interface. O objetivo desta fase foi permitir que o usuário
conhecesse a interface a ser utilizada e aprendesse a utilizar as funcionalidades básicas
da mesma que seriam digitar um caractere, paginar para outra parte do teclado para
digitar outros caracteres e utilizar as teclas de backspace, enter e espaço. O passo-a-
passo do tutorial utilizado nos experimentos pode ser visto no Anexo B.
A fase seguinte foi a digitação de 3 frases utilizando-se as duas intefaces e a
coleta de métricas para comparação das mesmas. A métrica utilizada nesta avaliação
para comparar as interfaces foi a velocidade de digitação das frases, medidas em
caractere digitado por segundo (cps). O experimento foi feito através de observação,
onde os usuários utilizaram a TIARI e logo após o teclado soft do mivaDesk. Durante a
utilização das interfaces o tempo era cronometrado e anotado. Como o experimento foi
feito através de observação e marcação dos tempos de digitação manualmente, a taxa de
erros de digitação não pôde ser medida em ambas as interfaces.
Os textos utilizados para a digitação em ambas as interfaces foram os mesmos,
escolhidos de forma que possuissem letras em todas as partes do teclado e de uma forma
Capítulo 4 – Avaliação de Usabilidade da Interface TIARI 75
que houvesse um chaveamento razoável entre as partes do teclado para que validassem
este conceito proposto. As frases utilizadas no experimento foram as seguintes:
� "Valorizar o homem vale mais que enriquecer"
� "Aqui jaz Xavier Bonifacio Portugal"
� "Vale mais um inimigo sabio que um amigo ignorante"
Para finalizar a avaliação com os usuários, após concluirem a utilização das duas
interfaces, eles responderam um questionário que mede a taxa de conforto de utilização
da interface em relação ao cansaço do braço, cansaço da mão, cansaço do pescoço,
tontura e náusea. Para cada um destes itens foi dada uma nota de 0 (zero) a 10 (dez)
pontos para avaliar problemas físicos relacionados às interfaces, onde a nota zero
significa não ter sentido nenhum incômodo e a nota dez sentido um alto nível de
desconforto. Além destes itens, o usuário também pôde acrescentar observações e
opiniões sobre a interface, podendo assim, sugerir melhorias para a mesma. O
questionário de satisfação dos usuários pode ser visto no Anexo C.
4.3.4.3.4.3.4.3. ResultadosResultadosResultadosResultados
As interfaces TIARI e teclado soft do mivaDesk foram utilizadas por 7 pessoas,
todas estudantes universitários, com média de idade de 23 anos, todos homens. A
duração total dos experimentos foi em média 35 minutos, estes distribuídos em 6.18
minutos em média para o tutorial, 13.4 minutos em média para digitação com a TIARI e
15.42 minutos em média para a digitação com o teclado soft do mivaDesk, tempo
durante o qual foram coletadas as métricas.
Média Digitação
0,0000
0,1000
0,2000
0,3000
1 2 3 4 5 6 7
usuários
cara
cte
res p
or
seg
un
do
(cp
s)
TIARI
mivaDesk
Figura 57. Gráfico da média de digitação das frases.
Capítulo 4 – Avaliação de Usabilidade da Interface TIARI 76
A média de digitação com a TIARI foi de 0.23 cps (caracteres por segundo) ou
13.83 cpm (caracteres por minuto) e com o teclado soft do mivaDesk foi 0.188 cps ou
11.28 cpm. Isto mostra que a TIARI teve uma taxa de digitação 18.47% superior ao
teclado existente na aplicação mivaDesk. O gráfico com a média de digitação das frases
pode ser visualizado através da Figura 57. Através deste gráfico, pode-se observar que
em todos os casos a média de digitação da TIARI foi superior a do teclado soft existente
na aplicação mivaDesk. Os dados coletados durante o experimento podem ser vistos em
detalhes no Anexo D e os gráficos das médias de digitação por frase podem ser vistos
no Anexo E.
Porém, além deste fato de que a TIARI obteve um desempenho melhor que o
teclado do mivaDesk, ela obteve uma baixa performance em relação ao teclado
convencional de layout QWERTY. Segundo Soukoreff et al. [53] a média de digitação
para pessoas não familiares ao teclado QWERTY é de 8.9 ppm (palavras por minuto) e
30.1 ppm para pessoas experientes. No caso da TIARI, ela possui uma taxa de 2.76
ppm, fazendo-se a conversão através da fórmula proposta por Soukoreff et al.. A
fórmula de conversão entre cps e ppm é dada abaixo:
Pode-se concluir, então, que mesmo a TIARI possuindo uma taxa de digitação
mais elevada que a do teclado soft do mivaDesk, ainda assim, não possui uma taxa de
digitação comparável a um teclado convencional de layout QWERTY. O principal fator
que leva a TIARI a possuir esta baixa taxa de digitação e que foi observado ao longo
dos experimentos realizados é o fato da instabilidade na detecção dos marcadores. Este
problema na detecção faz com que teclas sejam digitadas sem o usuário ter realmente as
digitado ou a não detecção de uma tecla que deveria ser digitada. Por exemplo, se a
tecla backspace ficar sendo identificada como uma tecla digitada por problemas na
detecção dos marcadores, as palavras que já foram escritas podem acabar sendo
apagadas por causa disto. Este problema da instabilidade na detecção dos marcadores
acontece devido a vários fatores que vão desde o nível de iluminação da sala onde ela é
utilizada ao tipo de câmera e resolução utilizados. Como no desenvolvimento da TIARI
foi utilizada uma webcam com resolução de 320x240 pixels, que é uma baixa resolução,
isto pode ter sido um fator decisivo no resultado final da avaliação. Infelizmente não foi
Capítulo 4 – Avaliação de Usabilidade da Interface TIARI 77
possível ser avaliada outra resolução de câmera, pois a biblioteca OpenCV utilizada não
funciona corretamente com resoluções de câmera maiores que esta. Lembrando que esta
resolução de câmera não deve ser confundida com a resolução da janela. Portanto, se
fosse possível utilizar uma resolução de câmera mais alta, possivelmente a detecção dos
marcadores seria bem melhor e isto faria com que a instabilidade dos marcadores
diminuísse, aumentando, assim, a taxa de digitação da TIARI.
Um outro ponto relevante em relação à taxa de digitação dos dois teclados
comparados é o tracker que foi utilizado para a digitação com o teclado soft do
mivaDesk. Este possui um problema de calibração e algumas vezes identificava
movimentos sem que estes tivessem acontecido. Por exemplo, as vezes o tracker movia
o ponteiro do mouse para uma direção mesmo o usuário estando com a mão parada. Isto
também dificultou a digitação com este teclado, diminuindo, assim, a sua taxa de
digitação final.
Em relação ao conforto do usuário, foi observado que a maior parte das pessoas
sentiu algum desconforto em relação ao cansaço de seu braço e de sua mão. O problema
da detecção dos marcadores possivelmente foi o causador deste desconforto, pois para
que os marcadores não ficassem muito instáveis, o usuário precisava ficar com o braço
levantado e próximo à câmera. Isto fazia com que logo nas primeiras digitações o
usuário se cansasse de ficar com o braço levantado, tornando a TIARI um pouco
desconfortável. O gráfico com o resultado da avaliação de conforto pode ser visto
através da Figura 58.
0
1
2
3
4
5
6
7
8
9
10
Cansaço
braço
Cansaço
mão
Cansaço
pescoço
Tontura Náusea
no
tas
Figura 58. Resultado da análise de conforto do usuário.
Capítulo 4 – Avaliação de Usabilidade da Interface TIARI 78
Além desta questão do cansaço do braço, várias pessoas apresentaram cansaço
do pescoço e tontura. Isto ocorreu por causa do HMD que foi utilizado durante os
experimentos (ver Figura 6). Este HMD, apesar de ser um modelo amplamente
comercializado, mostrou-se pesado e bastante desconfortável de vestir, pois o elástico
que o prende à cabeça do usuário precisa ficar bem justo se não ele escorrega e cai.
Outro problema com o HMD utilizado é o fato de que as telas que exibem o ambiente
aumentado ao usuário não possuem uma boa definição (resolução de 800x600 pixels e
as telas virtuais distantes dos olhos do usuário), fazendo com que partes da aplicação
fiquem praticamente ilegíveis aos usuários. A maior parte das pessoas que participou do
experimento se queixou em relação à leitura do texto digitado que ocorreu por conta da
resolução do display. Por fim, outro problema deste HMD é que seu design possui uma
brecha nos óculos onde o usuário consegue ver o mundo real, diminuindo a sensação de
imersão do usuário.
Durante o experimento também foi observado que os usuários logo se
familiarizaram com o layout escolhido. No começo os usuários ainda paravam um
pouco para buscar as letras, porém logo eles já sabiam exatamente em que parte do
teclado elas se encontravam. Além disto, durante a utilização da TIARI algumas letras
ficavam escondidas pela janela do notepad utilizado no experimento e mesmo assim os
usuários conseguiam digitar, pois eles já sabiam a localização das letras. Além do que
alguns também utilizavam o teclado soft presente na tela para se orientar em relação à
localização das letras. Em geral, as pessoas gostaram da TIARI e a maior parte das
reclamações foi devida ao problema na detecção dos marcadores.
Por fim, os usuários deram sugestões de melhoria para a TIARI. A mais
solicitada foi que as teclas especiais fossem feitas através de outros gestos capturados
pela luva. Além dessa sugestão, outras como a adição de som, movimentação dentro do
texto através de cursores, e diminuição do tamanho dos marcadores foram sugeridas e
estão listadas, juntamente a outras melhorias identificadas ao longo deste trabalho, no
próximo capítulo na seção de trabalhos futuros.
4.4.4.4.4.4.4.4. ConsideraConsideraConsideraConsiderações Finaisções Finaisções Finaisções Finais
Este capítulo descreveu a análise somativa da TIARI que teve como objetivo a
identificação de falhas e pontos de melhoria e avaliação da aceitação da TIARI,
Capítulo 4 – Avaliação de Usabilidade da Interface TIARI 79
comparando-a com um outro tipo de teclado existente, o teclado soft. O procedimento
foi feito em quatro etapas: um tutorial feito com o usuário, a digitação de 3 frases com
os dois teclados, a coleta dos tempos de digitação e por fim, o usuário respondeu um
questionário de conforto de utilização da TIARI. Este questionário tem como propósito
medir o grau de conforto da interface baseado em cinco métricas: cansaço da mão,
cansaço do braço, cansaço do pescoço, tontura e náusea.
O experimento foi realizado com 7 pessoas levando em média 35 minutos para
ser concluído. Como resultado deste, foram obtidas as médias de digitação com a TIARI
e com o teclado soft do mivaDesk que foram 13.83 cpm e 11.28 cpm, respectivamente.
Isto conclui que a TIARI apresentou-se em média 18.47% mais rápida que o outro
teclado analisado. Apesar desta performance alta em relação ao teclado soft, pode ser
observado que a TIARI possui um baixo desempenho em relação a um teclado
convencional de layout QWERTY, pois o mesmo possui uma média de digitação de 8.9
ppm para leigos e 30.1 ppm para usuários experientes, enquanto a TIARI possui apenas
2.76 ppm. Esta baixa performance tem como principal fator a instabilidade de detecção
dos marcadores que gera muitos problemas durante a digitação pelo usuário. Este
problema é gerado por fatores como pouca iluminação e baixa resolução de câmera.
Em relação ao conforto de utilização da interface, as pessoas apresentaram
cansaço nas mãos e nos braços, o que foi gerado pelo problema citado acima, pois os
usuários precisavam colocar os marcadores próximos à câmera para que eles fossem
detectados corretamente. Além disto, alguns usuários apresentaram problemas de
cansaço do pescoço e náusea. Isto deve-se ao HMD que foi utilizado durante os
experimentos que se mostrou bastante desconfortável e pesado.
No geral, os usuários gostaram de utilizar a TIARI, achando-a interessante e
fácil de usar. Seu layout foi facilmente memorizado pelos usuários. Ao longo do
experimento foram sugeridas melhorias, tais como adição de som, utilização de mais
gestos e diminuição no tamanho dos marcadores. Estas, entre outras melhorias
detectadas ao longo deste trabalho, serão melhor discutidas ao longo do próximo
capítulo.
Capítulo 5Capítulo 5Capítulo 5Capítulo 5
Conclusão
Esta dissertação apresentou a concepção, desenvolvimento e avaliação de uma
nova interface para entrada de texto em sistemas de RA chamada TIARI (Text Input
Augmented Reality Interface). Esta interface foi projetada com o objetivo de tratar o
problema de entrada de texto neste tipo de sistemas, tentando facilitar e simplificar seu
uso.
O cenário de uso desta interface foi definido como o cenário de aplicações de
RA com características de mobilidade e para digitação de textos curtos como anotações,
labels, digitação em agendas, entre outros. Para a concepção da interface, várias formas
de interação foram estudadas, sendo escolhidas para compor a TIARI a bare hand com
utilização de marcadores fiduciais, uma luva de RV que permite detecção de gestos e
um teclado virtual. Para chegar a este modelo, também, técnicas existentes de entrada de
texto foram estudadas e entre estas foi escolhida a forma de interação mais utilizada que
é a baseada em teclado. Portanto, a TIARI pode ser classificada como um misto entre
um teclado em miniatura, teclado com poucas teclas e teclado soft.
Como a TIARI é uma interface baseada em vídeo que utiliza marcadores
fiduciais, seu fluxo de funcionamento se dá através da captura de vídeo, detecção de
marcadores, renderização dos objetos e exibição do resultado final ao usuário. Para
ajudar no seu desenvolvimento foram estudadas bibliotecas para ajudar em cada uma
dessas fases do funcionamento da aplicação. Para a captura e exibição do vídeo foi
utilizado o OpenCV e para detecção de marcadores foi utilizado o ARTag, por causa do
bom desempenho do mesmo para fazer a detecção de marcadores pequenos, requisito
necessário para a construção da TIARI. Por fim, para ajudar na renderização dos objetos
3D foi utilizado o OGRE, juntamente com o OpenGL. Esses últimos foram utilizados de
Capítulo 5 – Conclusão 81
uma forma integrada com as bibliotecas de captura de vídeo e detecção de marcadores,
através do OgreAR, uma biblioteca desenvolvida para facilitar o desenvolvimento de
aplicações de RA.
O modelo da TIARI baseia-se na idéia de um teclado deslizante que é mostrado
por partes. O usuário pagina entre as partes do teclado através da luva de gestos, vendo
apenas uma parte do teclado e digitando a letra desejada através de uma técnica de
detecção de marcadores com a ponta do dedo (Tip Point Marker Detection).
A arquitetura de implementação da TIARI baseia-se na biblioteca OgreAR. Esta
teve que ser alterada para poder dar suporte às bibliotecas utilizadas na TIARI para
detecção de marcadores (ARTag) e captura de vídeo (OpenCV). Além disto, para
validar a interface desenvolvida, a TIARI foi integrada a um sistema de RA existente, o
mivaDesk, um desktop virtual 3D. Durante esta integração, mudanças na arquitetura do
mivaDesk e da TIARI foram feitas para dar suporte a esta integração, fazendo com que
o mivaDesk passasse a utilizar a arquitetura do OgreAR e mudasse a biblioteca utilizada
para captura e exibição de vídeo para utilizar o OpenCV. Cabe ressaltar que a utilização
do OgreAR é bastante importante neste desenvolvimento, porque o desenvolvimento de
aplicações de RA utilizando bibliotecas de alto nível como o OgreAR e o OGRE se
torna bastante facilitado. Comumente bibliotecas de baixo nível, que não permitem uma
boa produtividade durante o desenvolvimento, são aplicadas.
Por fim, um estudo de usabilidade foi feito para avaliar a efetividade da TIARI e
um comparativo com o teclado soft previamente existente na aplicação mivaDesk foi
realizado. Deste estudo, concluiu-se que a TIARI se mostrou uma boa interface, tendo
uma média de tempo de digitação melhor que a do teclado soft. Porém, fazendo-se uma
comparação com a média de tempo de digitação com um teclado convencional de layout
QWERTY, foi observado que a TIARI apresentou um desempenho baixo. Este baixo
desempenho foi causado por um principal fator que foi o problema da instabilidade na
detecção dos marcadores utilizados. Este problema pode ser melhorado com a utilização
de uma resolução de câmera maior, podendo, assim, aumentar consideravelmente o
desempenho da TIARI.
Além disto, foram identificados problemas com relação ao conforto dos usuários
ao utilizar a TIARI. Basicamente foram relatados problemas em relação ao cansaço da
Capítulo 5 – Conclusão 82
mão e do braço decorrentes também do problema de detecção dos marcadores, pois o
usuário precisava ficar com o braço levantado para posicionar os marcadores próximos
da câmera, causando um desconforto e cansaço do pescoço. Além disto, os usuários
relataram sentirem náusea, ocasionada pelo HMD utilizado durante este estudo que se
mostrou desconfortável e pesado.
Após esta avaliação, algumas melhorias e sugestões foram enumeradas e serão
mostradas com mais detalhes ao longo deste capítulo, bem como as principais
contribuições deste trabalho.
5.1.5.1.5.1.5.1. Principais CPrincipais CPrincipais CPrincipais Contribuiçõesontribuiçõesontribuiçõesontribuições
Como uma das principais contribuições deste trabalho pode-se destacar o estudo
realizado sobre interação em sistemas de RA, voltado principalmente para entrada de
texto, foco principal desta dissertação. Além disso, o estudo comparativo entre
bibliotecas de detecção de marcadores, captura de vídeo e renderização de objetos 3D
também é uma contribuição relevante deste trabalho.
A maior contribuição deste trabalho foi a interface desenvolvida, a TIARI, pois é
um novo conceito de entrada de texto proposto, utilizando uma mistura de várias
abordagens de interação conhecidas. O conceito da interface, apesar de estar voltado
para aplicações de RA, poderia ser estendido a um dispositivo novo para entrada de
texto. Por exemplo, poder-se-ia trocar os marcadores utilizados por botões físicos, o que
geraria uma nova forma de teclado que poderia ser utilizado no lugar de um teclado
convencional para qualquer tipo de aplicação que tivesse o requisito de entrada de textos
pequenos. Além disto, vale salientar que a TIARI pode ser considerada uma solução de
baixo custo visto que utiliza marcadores de papel para o teclado utilizado. A luva de
gestos utilizada ainda tem um certo custo, porém como sua funcionalidade é única, ela
poderia ser substituída por um outro dispositivo que tivesse a mesma função, barateando
mais ainda a solução.
Além disto, a validação da arquitetura do OgreAR e a extensão da mesma para
dar suporte a mais duas bibliotecas (ARTag e OpenCV) é uma contribuição deste
trabalho de mestrado. Bibliotecas de abstração com o OgreAR auxiliam no
desenvolvimento de sistemas de RA, aumentando sua produtividade. Contribuições em
Capítulo 5 – Conclusão 83
relação à aplicação do mivaDesk também foram feitas, pois ele foi integrado à TIARI e
sua arquitetura foi melhorada para utilizar o OgreAR, fazendo com que ele tenha a
possibilidade de trabalhar com vários tipos de marcadores, por exemplo, sem haver a
necessidade de modificação do código da aplicação. Também, ainda em relação ao
mivaDesk, uma nova aplicação de notepad foi adicionada ao mesmo.
Por fim, os estudos de usabilidade da TIARI e do teclado soft do mivaDesk e o
comparativo feito são contribuições relevantes deste trabalho. Este comparativo mostra
o desempenho da TIARI em relação ao teclado soft existente, além de ser comparada a
um teclado convencional. Avaliações desta natureza ainda não são comumente
encontradas em estudos de RA, e constituem um componente importante no
desenvolvimento de interfaces que de fato melhoram as condições de trabalho do
usuário.
5.2.5.2.5.2.5.2. Dificuldades EncontradasDificuldades EncontradasDificuldades EncontradasDificuldades Encontradas
Durante este trabalho de mestrado, algumas dificuldades para a implementação
da TIARI foram enfrentadas e serão discutidas ao longo desta seção.
A maior dificuldade encontrada foi em relação aos marcadores e à biblioteca de
detecção utilizada. Como já visto anteriormente, os marcadores utilizados precisavam
ser pequenos e por este motivo foi escolhida a biblioteca de detecção de marcadores
ARTag, que obteve um melhor comportamento para este caso. Porém, o ARTag, apesar
de ser livre, não possui código fonte aberto, o que dificultou a resolução de alguns
problemas. Além disso, uma dificuldade encontrada em relação ao ARTag é que ele só
funciona corretamente quando utilizado em conjunto com o OpenGL, fazendo com que
outras bibliotecas de renderização não pudessem ser utilizadas neste trabalho. Por conta
desta limitação do sistema de renderização suportado, o ARTag mostrou problemas ao
integrá-lo com outras bibliotecas de captura de vídeo, como o DSVideoLib que é uma
biblioteca baseada no DirectShow que utiliza, por sua vez, o DirectX, não suportado
pelo ARTag.
Outro problema relevante e que causou impacto nos resultados da avaliação de
desempenho da TIARI foi a questão da biblioteca de câmera utilizada. Como o OpenCV
não funciona corretamente quando utilizado com resoluções acima de 320x240 pixels, a
Capítulo 5 – Conclusão 84
detecção dos marcadores foi prejudicada. Como a imagem não tem uma definição
maior, muitas vezes os marcadores não são detectados pela biblioteca ARTag. Outro
fator ainda em relação à captura de vídeo é a luminosidade que altera bastante o
comportamento da biblioteca em relação à detecção dos marcadores, apresentando
problemas quando utilizada em ambientes mais escuros.
Além deste, houveram problemas relacionados com a integração do OgreAR
com o ARTag. Como já mencionado, o ARTag funciona apenas com OpenGL, portanto
quando foi feita a integração do mesmo com o OgreAR, o OgreAR passou a ser
dependente de sistema de renderização. Além disto, tem-se um problema em relação à
matriz de projeção retornada pelo OgreAR quando utilizado com o ARTag, pois na
classe que implementa a funcionalidade de detecção de marcadores existe um método
que retorna a matriz de projeção dos objetos para ser calculada sua posição e orientação.
Contudo, esta matriz não é obtida de forma correta através do ARTag, tendo-se assim,
uma matriz de projeção fixa a partir das configurações de câmera de 320x240 pixels
utilizada. Caso esta resolução seja alterada no futuro este método deve ser alterado para
que possa retornar a matriz correta, sendo assim um ponto de falta de flexibilidade da
biblioteca.
Por fim, após a integração da TIARI com o mivaDesk, este último apresentou
problemas com relação a detecção do clique do mouse nos objetos 3D. Este problema
ocorreu pela utilização de duas matrizes de projeção diferentes, uma já existente no
mivaDesk e a outra retornada pelo OgreAR para fazer o posicionamento das teclas. O
clique nos objetos 3D no mivaDesk é realizado através de uma técnica de mouse
picking, implementada pelo próprio OGRE, que funciona da seguinte forma: quando a
pessoa clica na tela o OGRE obtém o ponto de origem da câmera e junta com o ponto
onde a pessoa clicou, criando um raio. Então, o OGRE lança esse raio pela cena e
calcula a intersecção dele com os objetos 3D, retornando uma lista de objetos que
colidiram com o raio, ou seja, onde o clique do mouse foi feito. O problema é que o
OGRE detecta primariamente a colisão, ou seja, usa apenas um sistema de axis aligned
bounding box [20]. Sendo assim, para garantir que o clique foi realmente feito em cima
do objeto, a técnica de colisão deve ser refinada com algum outro algoritmo mais
sofisticado como, por exemplo, detectar a colisão com a própria malha do objeto (que é
muito caro de se fazer computacionalmente). Como a matriz de projeção foi alterada, o
Capítulo 5 – Conclusão 85
problema que pode estar acontecendo é que o OGRE pode estar gerando o raio de
colisão em um sistema de coordenadas e fazendo a interseção com os objetos em outro.
5.3.5.3.5.3.5.3. Trabalhos FuturosTrabalhos FuturosTrabalhos FuturosTrabalhos Futuros
Como trabalhos futuros dessa dissertação de mestrado, pode-se destacar a adição
de feedback háptico na TIARI. Isto faria com que os usuários tivessem uma sensação
física ao digitar uma tecla, podendo assim fazer digitações sem ter que olhar para o
teclado ao digitar as letras. Além disso, outra forma de feedback que ajudaria neste
ponto seria a utilização de sons indicando a digitação de uma tecla e a mudança da parte
de um teclado. Isto também poderia permitir ao usuário digitar sem ter que olhar para a
interface e ter uma maior segurança na digitação. Ainda com relação a esta questão de
feedback sonoro, as letras digitadas poderiam ser escutadas pelos usuários, o que
permitiria a utilização da interface por pessoas com um pouco de deficiência visual.
Outro ponto de melhoria para a usabilidade da TIARI seria a adição de um
dicionário que completasse automaticamente as palavras à medida que o usuário fosse
digitando seu texto. Isto aumentaria o desempenho na digitação dos textos desejados,
pois palavras seriam sugeridas à medida que os usuários digitassem. Este dicionário
poderia ter suporte a várias línguas diferentes, conforme a configuração desejada pelo
usuário.
Além disto, uma melhoria no layout poderia ser feita dando suporte a números,
acentuação, pontuação e à movimentação com setas pelo texto. Isto não foi contemplado
no layout atual da TIARI, porém poderia ser adicionada uma nova parte do teclado que
tivesse estas teclas e esta parte poderia ser ativada através de algum novo gesto
adicionado à interface. Em relação à adição de novos gestos na TIARI, durante os
estudos de usabilidade várias pessoas sugeriram que as teclas especiais (enter,
backspace e espaço) pudessem ser acionadas através de gestos. Isto levaria a uma sobra
de mais 9 teclas o que poderia contemplar algumas dessas outras teclas sugeridas acima.
Além destas melhorias na questão da usabilidade da TIARI, poderiam ser feitas
melhorias no código e na arquitetura da mesma para facilitar a integração dela a outras
aplicações de RA. Por exemplo, poderia ser mais bem definida sua arquitetura e serem
criadas interfaces de abstração para a TIARI que pudessem ser utilizadas como se fosse
Capítulo 5 – Conclusão 86
um teclado convencional. Também seria interessante após estas alterações validar a
TIARI em outra aplicação que tivesse necessidade de entrada de texto e fazer mais
comparativos com outras interfaces para avaliar melhor seu desempenho, como por
exemplo, um comparativo em relação à performance dos teclados com poucas teclas
comumente utilizados em telefones celulares.
Por fim, como trabalhos futuros estariam as correções de alguns problemas
encontrados durante o desenvolvimento, como os ajustes na matriz de projeção utilizada
na TIARI. Também, um trabalho importante seria a alteração da TIARI para utilizar
vídeos com resoluções mais altas que 320x240 pixels, fazendo com que a detecção de
marcadores melhorasse, e consequentemente seu desempenho. Além do estudo
relacionado à melhoria da detecção de marcadores, também poderiam ser trabalhos
futuros um estudo sobre outras alternativas de tracking 3D para aumentar a robustez da
detecção de marcadores fiduciais
Referências BibliográficasReferências BibliográficasReferências BibliográficasReferências Bibliográficas
[1] Antoniac, Peter. Augmented Reality Based User Interface for Mobile Applications and Services. Tese de doutorado, Universidade de Oulu, Finlândia. Junho, 2005.
[2] ARToolkit. http://www.hitl.washington.edu/artoolkit. Último acesso em 01/2006.
[3] Azuma, Ronald T. A Survey of Augmented Reality. Presence: Teleoperators and Virtual
Environments, vol. 6, no. 4, pp. 355-385. Agosto, 1997.
[4] Azuma, Ronald T.; Baillot, Yohan; Behringer, Reinhold; Feiner, Steven; Julier, Simon; MacIntyre, Blair. Recent Advances in Augmented reality. IEEE Computer Graphics and
Applications, vol. 21, pp. 34-47. Dezembro, 2001.
[5] Bargen, B.; Donnelly, P. Inside DirectX, Microsoft Press. 1998.
[6] Beier, Klaus-Peter. Virtual Reality: A Short Introduction. http://www-vrl.umich.edu/intro/, último acesso em 04/04/2006.
[7] Bérard, François; Hardenberg, Christian. Bare-Hand Human-Computer Interaction. Workshop on
Perceptive user interfaces, vol. 15, pp. 1-8. 2001.
[8] Bérard, François. The Magic Table: Computer-Visio Based Augmentation of a Whiteboard for Creative Meetings. IEEE Workshop on Projector Camera Systems. 2003.
[9] Billinghurst, Mark; Grasset, R.; Looser J. Designing Augmented Reality Interfaces. ACM
SIGGRAPH Computer Graphics, vol. 39, no. 1, pp. 17-22. Fevereiro, 2005.
[10] Billinghurst, Mark; Kato, Hirokazu. Collaborative Augmented Reality. Communications of the
ACM, vol. 45, no. 7, pp. 64-70. Julho, 2002.
[11] Bimber, Oliver; Raskar, Ramesh. Spatial Augmented Reality: Merging Real and Virtual Worlds. Wellesley, Massachusetts: A K Peters, pp. 369. 2005.
[12] Bowman, Doug A.; Kruijff, Ernst; LaViola, Joseph J.; Poupyrev, Ivan. 3D User Interfaces: Theory and Practice. Addison-Wesley Professional, capítulo 9. Julho, 2004.
[13] Bowman, Doug A.; Ly, Vinh Q.; Campbell, Joshua M. Pinch Keyboard: Natural Text Input for Immersive Virtual Environments. Technical Report TR-01-15, Computer Science, Virginia Tech. 2001.
[14] Bowman, D.; Rhoton, C.; Pinho. M. Text Input Techniques for Immersive Virtual Environments: an Empirical Comparison. Human Factors and Ergonomics Society Annual Meeting, pp. 2154-2158. 2002.
[15] Bradski, Gary. The OpenCV Library. Dr. Dobb’s Journal - Computer Security. Novembro, 2000.
[16] Donath D.; Beetz J.; Grether K.; Petzold F.; Seichter H. Augmented Reality Techniques for Design and Revitalization in Existing Built Environments. 21st Annual Conference of the Association for Computer-Aided Design in Architecture, pp.322-329. Outubro, 2001.
[17] Doswell, Jayfus T.; Blake, M. Brian; Butcher-Green, Jerome. Mobile Augmented Reality System Architecture for Ubiquitous e-Learning. Fourth IEEE International Workshop on Wireless, Mobile and Ubiquitous Technology in Education - (WMTE'06), pp. 121-123. 2006.
[18] Farias, Thiago; Lima; João Paulo; Teichrieb, Veronica; Kelner, Judith. OgreAR: construção de aplicações de realidade aumentada utilizando bibliotecas de alto nível. Workshop sobre Aplicações de Realidade Virtual, pp. 61-64. 2006.
[19] Farias, Thiago; Pessoa, Saulo; Teichrieb, Veronica; Kelner, Judith. Tutorial: Engine Gráfico Ogre. Brazilian Games and Digital Entertainment Workshop, pp. 1-13. Novembro, 2005.
[20] Farias, Thiago; Silva, Daliton; Teichrieb, Veronica; Kelner, Judith. O engine gráfico OGRE. Brazilian Symposium on Computer Games and Digital Entertainment, tutorial. 2006.
[21] Fels, S. S.; Hinton, G. E. Glove-talk: A neural network interface between a data-glove and a
Referências Bibliográficas 88
speech synthesizer. IEEE Trans. Neural Networks, vol. 4, pp. 2-8. Janeiro, 1993.
[22] Fiala, M. ARTag. An Improved Marker System Based on ARToolkit. National Research
Council of Canada, Technical Report. Julho, 2004.
[23] Fiala, M. Fiducial marker systems for augmented reality: Comparison between artag and artoolkit. MIRAGE 2005 :Computer Vision/Computer Graphics Collaboration for Model-based Imaging, Rendering, image Analysis and Graphical special Effects, INRIA Rocquencourt. Março, 2005.
[24] Fleetwood, M. D.; Byrne, M. D.; Centgraf, P.; Dudziak, K. Q.; Lin, B.; Mogilev, D.. An Evaluation of Text-Entry in Palm OS - Graffiti and the Virtual Keyboard. Human Factors and Ergonomics Society 46th Annual Meeting, pp. 597-601. 2002.
[25] Hartson, H. “Human-Computer Interaction: Interdisciplinary roots and trends”. Journal of System and Software. 1998.
[26] JARToolkit. http://jerry.c-lab.de/jartoolkit. Último acesso em 01/2006.
[27] Kato, H.; Billinghurst, M. Marker Tracking and HMD Calibration for a Video-Based Augmented Reality Conferencing System. International Workshop on Augmented Reality, IEEE Computer Society, pp. 85-94. 1999.
[28] Kim, Kiyoung; Lee, Minkyung; Park, Youngmin; Woo, Woontack; Lee, Jongweon. ARPushPush: Augmented reality game in indoor environment. 2nd International Workshop on Pervasive Gaming Applications. 2005.
[29] Kim, Sooyoung; Jounghyun Gerard. Using Keyboards with Head Mounted Displays. Proceedings of the 2004 ACM SIGGRAPH international conference on Virtual Reality continuum
and its applications in industry, pp. 336-343. Junho, 2004.
[30] Kiyokawa, Kiyoshi; Ohno, Hiroyuki; Kurata, Yoshinori. Occlusive optical see-through displays in a collaborative setup. International Conference on Computer Graphics and Interactive Techniques, ACM SIGGRAPH, pp. 74-74. 2002.
[31] Lee, Gun A.; Billinghurst, Mark; Kim, Gerard Jounghyun. Occlusion based interaction methods for tangible augmented reality environments. ACM SIGGRAPH international conference on Virtual Reality continuum and its applications in industry, pp. 419-426. Junho, 2004.
[32] Lee, Minkyung; Woo, Woontack. ARKB: 3D vision-based Augmented Reality Keyboard. International Conference on Artificial Reality and Telexistence. Dezembro, 2003.
[33] Livingston, Mark A.; Rosenblum, Lawrence J.; Julier Simon J.; Brown, Dennis; Baillot, Yohan; Swan II, J. Edward; Gabbard Joseph L.; Hix, Deborah. An Augmented Reality System For Military Operations in Urban Terrain. The Interservice/Industry Training, Simulation & Education Conference (I/ITSEC). 2002.
[34] Mankoff, Jennifer; Abowd, Gregory D.; Cirrin: a word-level unistroke keyboard for pen input. 11th annual ACM symposium on User interface software and technology, pp. 213-214. 1998.
[35] Milgram, Paul; Kishino, Fumio. A Taxonomy of Mixed Reality Visual Displays. Institute of
Electronics, Information and Communication Engineers Transactions on Information and
Systems, Special issue on Networked Reality. Dezembro, 1994.
[36] M. Gross, S. Wurmlin, M. Naef, E. Lamboray, C. Spagno, A. Kunz, E. Koller-Meier, T. Svoboda, L. Van Gool, S. Lang, K. Strehlke, A. Vande Moere, O. Staadt, “blue-c: A spatially immersive display and 3D video portal for telepresence”, ACM Transactions on Graphics, 2003.
[37] Neider, Jackie; Davis, Tom; Woo, Mason. OpenGL Programming Guide - The Official Guide to Learning OpenGL, Version 1.1, Addison-Wesley, Reading, MA, USA. 1997.
[38] Nielsen, J. Usability Engineering. Academic Press. 1993.
[39] Noyes, J. The QWERTY keyboard: A review. Int. J. Man-Machine Studies vol. 18, pp. 265-281. 1983.
[40] Open Source computer vision (OpenCV) library. Intel Corporation, 2005. http://www.intel.com/technology/computing/opencv/index.htm. Último acesso 05/2007.
[41] Perlin, Ken. Quikwriting: continuous stylus-based text entry. 11th annual ACM symposium on
Referências Bibliográficas 89
User interface software and technology, pp. 215-216. 1998.
[42] Pintaric, T. A flexible DirectShow input module for ARToolkit. Augmented Reality Toolkit Workshop, 2003. IEEE International, pp. 74. Outubro, 2003.
[43] Pintaric, T. http://www.ims.tuwien.ac.at/~thomas/dsvideolib.php. Último acesso em 05/2007.
[44] Poupyrev, I.; Tomokazu, N.; Weghorst, S. Virtual Notepad: Handwriting in Immersive VR. Virtual Reality Annual International Symposium, pp. 126. 1998.
[45] Preece, J.; Rogers, Y.; Sharp, E., Benyon, D.; Holland, S.; Carey, T. Human-Computer Interaction. Addison-Wesley. 1994.
[46] Raskar, Ramesh; Low, Kok-Lim. Interacting with spatially augmented reality. Computer graphics, virtual reality, visualization and interaction in Africa, 1st international conference on Computer graphics, virtual reality and visualization, pp.101 - 108. 2001.
[47] Reitmayr, Gerhard; Schmalstieg, Dieter. Location based Applications for Mobile Augmented Reality. 4th Australasian User Interface Conference, pp. 65-73. Fevereiro, 2003.
[48] Regenbrecht, H.; Wagner, M.; Baratoff, G. MagicMeeting: A collaborative tangible Augmented reality system. Virtual Reality Systems Development and Applications, vol.6 no.3, pp. 151-166. Outubro, 2002.
[49] Rosenberg, R; Slater, M. The chording glove: a glove-based text input device. Systems, Man and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, pp. 186-191. Maio, 1999.
[50] Ryokai, K., Marti, S., Ishii, H., I/O Brush: Drawing with Everyday Objects as Ink. Proceedings of Conference on Human Factors in Computing Systems (CHI '04). Abril, 2004.
[51] Schnaider, Michael; Schwald, Bernd; Seibert, Helmut; Weller, Tanja. Medarpa - A Medical Augmented Reality System for Minimal-Invasive Interventions. 11th Annual Medicine Meets Virtual Reality (MMVR) Conference. Janeiro, 2003.
[52] Snyder, C. Paper Prototyping: The Fast and Easy Way to Design and Refine User Interfaces. Morgan Kaufmann Publishers. 2003.
[53] Soukoreff, R. W.; MacKenzie, I. S. Theoretical upper and lower bounds on typing speed using a stylus and soft keyboard. Behaviour & Information Technology, vol. 14, pp. 370-379. 1995.
[54] Summers, Valerie A.; Booth, Kellogg S.; Calvert, Tom; Graham, Evan; MacKenzie, Christine L. Calibration for augmented reality experimental testbeds. Symposium on Interactive 3D Graphics, pp. 155-162. 1999.
[55] Teixeira, João Marcelo; Moura, Guilherme; Silva, Daliton; Costa, Luiz Henrique; Bastos, Nacha; Teichrieb, Veronica; Kelner, Judith. A case study on the development of 3D user interfaces for mobile platforms. Symposium on Virtual and Augmented Reality. Maio, 2007.
[56] Teixeira, João Marcelo; Silva, Daliton; Moura, Guilherme; Costa, Luiz Henrique; Teichrieb, Veronica; Kelner, Judith. miva: constructing a wearable platform prototype. Symposium on Virtual and Augmented Reality, pp. 68-76. 2007.
[57] Thomas, B.; Tyerman, S.; Grimmer, K. Evaluation of Text Input Mechanisms for Wearable Computers. Virtual Reality: Research, Development and Applications, vol 3, pp. 187-199. 1998.
[58] Thomas, B. H.; Piekarski, W. Glove Based User Interaction Techniques for Augmented Reality in an Outdoor Environment. Virtual Reality: Research, Development, and Applications. 2002.
[59] Trevisan, D.; Vanderdonckt, J.; Macq, B. Analyzing Interac-tion in Augmented Reality Systems. ACM Multimedia 2002 International Workshop on Immersive Telepresence ITP’2002, pp. 56-59. 2002.
[60] Ullmer, B.; Ishii, H. The metaDESK: Models and Prototypes for Tangible User Interfaces. Proceedings of Symposium on User Interface Software and Technology, pp. 223-2321. 1997.
[61] Ullmer, B. & Ishii, H. Emerging Frameworks for Tangible User Interfaces. J. Carrol (ed)
Human Computer Interaction in the New Millennium, Addison-Wesley, pp. 579-601. 2001.
[62] Umlauf, Eike J.; Piringer, Harald; Reitmayr, Gerhard; Schmalstieg, Dieter. ARLib: The Augmented Library. IEEE First International Augmented Reality Toolkit Workshop (ART02).
Referências Bibliográficas 90
Setembro, 2002.
[63] Wagner, Daniel; Schmalstieg, Dieter. ARToolKitPlus for Pose Tracking on Mobile Devices. 12th Computer Vision Winter Workshop (CVWW'07). Fevereiro, 2007.
[64] Watts, Leon. The Magic Board, an Augmented Reality Interactive Device Based on Computer Vision. Symposium on Designing Interactive Systems, pp. 406-416. Abril, 2000.
[65] Webster, A.; Feiner, S.; MacIntyre, B.; Massie, B.; Krueger, T. Augmented reality in architectural construction, inspection and renovation. ASCE third congress on computing in civil engineering, pp. 913-919.
Anexos 91
Anexo AAnexo AAnexo AAnexo A
1o Experimento Para Definição da Interface Número de Pessoas: 06 Duração: 4h Objetivo: Avaliar 3 layouts de teclado diferentes baseado no feedback do usuário e marcação de tempo para digitação de algumas frases através da técnica de avaliação de interface paper prototyping (prototipação em papel), que foi escolhida com o objetivo de avaliar a interface antes mesmo de ser desenvolvida. O teclado avaliado consiste em um teclado proposto para ser utilizado em sistemas de Realidade Aumentada e ele representa um teclado comum, porém exibindo ao usuário apenas uma parte do teclado; para visualizar as outras partes o usuário precisa fazer um gesto. O teclado está dividido em 3 partes dispostas em 3 retângulos contendo 3x4 letras. Procedimento: Este experimento foi conduzido por 2 pessoas e o usuário que estava utilizando a interface. Uma pessoa era responsável pela troca de telas da interface (utilizando papéis, conforme mostrado abaixo) e a outra anotava os tempos de digitação de cada sentença, bem como comentários feitos pelo usuário. As frases utilizadas para o experimento foram construídas tentando utilizar o maior número de letras para avaliar como o usuário se comportaria para digitar letras que estão em partes diferentes do teclado. Foram utilizadas frases diferentes para cada interface e o usuário digitava a frase primeiramente, e seu tempo era medido, depois digitava uma frase diferente e, por fim, a frase inicial mais uma vez, e seu tempo era comparado com o tempo inicial para avaliar se houve uma melhora, pois o usuário já estaria familiarizado com a interface. As frases escolhidas para o experimento foram: Layout 1:
a) “Obrigado por sua ajuda” b) “Aqui jaz Xavier Bonifácio Portugal”
Layout 2:
a) “As quatro estações do ano” b) “A câmera de vídeo com zoom”
Layout 3:
a) “Nosso número de fax mudou” b) “Valorizar o homem vale mais que enriquecer”
Layouts de teclado avaliados: 1) QWERTY Esta interface foi proposta com o intuito de avaliar se este layout, como é o layout padrão de teclados, é uma boa opção já que o usuário está familiarizado com o mesmo.
2) Ordem Alfabética Esta interface foi proposta utilizando-se a premissa de que o usuário está familiarizado com a ordem alfabética e seria fácil saber a ordem em que seriam mostradas as teclas.
Anexos 92
3) Contendo as vogais e a letra y no início e o restante das consoantes em ordem alfabética Esta interface foi proposta pelo mesmo motivo da anterior, porém levando-se em consideração o fato de que as vogais e a letra y serem bastante utilizadas fazendo com que o usuário as encontre mais facilmente, pois estariam todas agrupadas em um mesmo local.
Resultados: 1) Tempos:
Layout Frase Tempo (min)
Obrigado por sua ajuda 2:00 Aqui jaz Xavier Bonifácio Portugal 1:34
1
Obrigado por sua ajuda 1:09 As quatro estações do ano 0:52 A câmera de vídeo com zoom 0:53
2
As quatro estações do ano 0:45 Nosso número de fax mudou 1:01 Valorizar o homem vale mais que enriquecer 1:39
3
Nosso número de fax mudou 1:02 Comentários: - Sentiu falta da funcionalidade de voltar a tela. - O espaço deveria estar mais fácil, pois sempre é utilizado. - A quebra das letras no layout QWERTY dificulta encontrar a posição de cada letra. - Preferiu o 2º layout, pois fica mais simples de encontrar as letras. - No 3º layout achou ruim as vogais no começo pois tem que fazer muitas trocas de tela para digitar as palavras. Achou este o pior layout. - Sugestão para melhoria do 3º layout: deixar as vogais e espaço fixos e correr apenas as consoantes. 2) Tempos:
Layout Frase Tempo (min)
Obrigado por sua ajuda 1:17 Aqui jaz Xavier Bonifácio Portugal 1:27
1
Obrigado por sua ajuda 0:43 As quatro estações do ano 0:53 A câmera de vídeo com zoom 0:52
2
As quatro estações do ano 0:41 Nosso número de fax mudou 1:07 Valorizar o homem vale mais que enriquecer 1:56
3
Nosso número de fax mudou 1:02 Comentários:
Anexos 93
- Achou o 1º layout difícil de encontrar as letras e teve dificuldade de encontrar a letra “L”. - Achou o 2º layout o melhor e o 3º o pior, pois sempre tinha que ficar voltando para digitar as vogais. 3) Tempos:
Layout Frase Tempo (min)
Obrigado por sua ajuda 1:29 Aqui jaz Xavier Bonifácio Portugal 1:46
1
Obrigado por sua ajuda 0:56 As quatro estações do ano 1:02 A câmera de vídeo com zoom 1:03
2
As quatro estações do ano 0:55 Nosso número de fax mudou 1:32 Valorizar o homem vale mais que enriquecer 2:12
3
Nosso número de fax mudou 1:15 Comentários: - Sentiu falta da visualização das próximas letras. - Deveria ter um movimento para o espaço. - Poderia utilizar a luva na outra mão. 4) Tempos:
Layout Frase Tempo (min)
Obrigado por sua ajuda 1:25 Aqui jaz Xavier Bonifácio Portugal 1:42
1
Obrigado por sua ajuda 0:52 As quatro estações do ano 1:27 A câmera de vídeo com zoom 0:59
2
As quatro estações do ano 1:01 Nosso número de fax mudou 1:16 Valorizar o homem vale mais que enriquecer 2:08
3
Nosso número de fax mudou 1:05 Comentários: - Até agora só ele utilizou os acentos do teclado, as outras pessoas não perceberam que havia disponíveis os acentos. - Achou que seria interessante a funcionalidade de voltar. - Achou o 3º layout o pior. 5) Tempos:
Layout Frase Tempo (min)
Obrigado por sua ajuda 1:29 Aqui jaz Xavier Bonifácio Portugal 1:32
1
Obrigado por sua ajuda 1:17 As quatro estações do ano 1:39 A câmera de vídeo com zoom 0:58
2
As quatro estações do ano 1:19 Nosso número de fax mudou 1:18 Valorizar o homem vale mais que enriquecer 2:00
3
Nosso número de fax mudou 1:05 Comentários: - Apesar de saber o layout QWERTY teve dificuldade de encontrar as letras. - Não notou os acentos. - Achou o 2º layout melhor que o 1º. - Preferiu o 3º layout, pois achou que as sílabas simples (por ex: “de”) ficaram próximas. - Achou que talvez visualizando o todo o QWERTY fosse melhor.
Anexos 94
- Não utilizou acentos e teve dificuldade de utilizar o espaço. 6) Tempos:
Layout Frase Tempo (min)
Obrigado por sua ajuda 1:01 Aqui jaz Xavier Bonifácio Portugal 1:18
1
Obrigado por sua ajuda 0:51 As quatro estações do ano 1:15 A câmera de vídeo com zoom 1:03
2
As quatro estações do ano 0:50 Nosso número de fax mudou 1:23 Valorizar o homem vale mais que enriquecer 2:07
3
Nosso número de fax mudou 1:09 Comentários: - Achou o 3º layout muito ruim.
Anexos 95
Anexo BAnexo BAnexo BAnexo B
Tutorial para avaliação da TIARI Este tutorial irá ajudar no entendimento de utilização da TIARI. Após vestir a luva de gestos, o HMD e a luva com marcadores, por favor, seguir os seguintes passos nesta ordem: 1) Digite a letra 'A' colocando o seu dedo indicador em cima da letra 'A' e aguardando que ela apareça na tela. 2) Digite a letra 'D' da mesma forma. 3) Passe a parte seguinte do teclado fazendo um movimento de fechar e abrir a mão direita. Note que a parte seguinte do teclado é exibida. Agora digite a letra 'L'. 4) Agora passe a parte seguinte do teclado da mesma forma feita anteriormente e digite a letra 'U'. 5) Note que no lado direito de todas as partes do teclado algumas teclas “especiais” são repetidas. Digite um espaço. 6) Delete os últimos caracteres digitados. 7) Digite um enter. 8) Digite a letra 'D'. 9) Delete todos os caracteres. 10) Digite a palavra "FINOS" e enter. 11) Digite a palavra "DINHEIRO" e enter. 12) Digite a palavra "AVELUDADO" e enter. 13) Digite a frase "Obrigado por sua ajuda".
Anexos 96
Anexo CAnexo CAnexo CAnexo C
Questionário de avaliação da TIARI Idade: __________ Sexo: ( ) M ( ) F Profissão: ______________________________ 1) Que nota de 0 (zero) a 10 (dez) você dá para o cansaço do seu braço durante a utilização da TIARI (zero significa sem cansaço e 10 significa muito cansado)? _____________ 2) Que nota de 0 (zero) a 10 (dez) você dá para o cansaço da sua mão durante a utilização da TIARI (zero significa sem cansaço e 10 significa muito cansado)? _____________ 3) Que nota de 0 (zero) a 10 (dez) você dá para o cansaço do seu pescoço durante a utilização da TIARI (zero significa sem cansaço e 10 significa muito cansado)? _____________ 4) Que nota de 0 (zero) a 10 (dez) você dá para o nível de tontura que você sentiu durante a utilização da TIARI (zero significa sem tontura e 10 significa muito tonto)? _____________ 5) Que nota de 0 (zero) a 10 (dez) você dá para o nível de náusea que você sentiu durante a utilização da TIARI (zero significa sem náusea e 10 significa com bastante náusea)? _____________ Comentários e sugestões de melhoria: _____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Muito obrigada pela sua participação e colaboração com esta dissertação de mestrado!
Anexos 97
Anexo DAnexo DAnexo DAnexo D
Detalhamento do experimento de avaliação da TIARI 1) Idade: 19 Sexo: M Profissão: Estudante
Tempos:
Interface Frase Tempo (min)
TUTORIAL 5:35 Valorizar o homem vale mais que enriquecer 2:46 Aqui jaz Xavier Bonifacio Portugal 1:50
TIARI
Vale mais um inimigo sábio que um amigo ignorante 3:39 Valorizar o homem vale mais que enriquecer 2:41 Aqui jaz Xavier Bonifacio Portugal 3:39
Teclado mivaDesk
Vale mais um inimigo sábio que um amigo ignorante 4:49 Notas da avaliação de conforto: Cansaço dos braços: 2 Cansaço das mãos: 0 Cansaço do pescoço: 2 Tontura: 0 Náusea: 0 Comentários: - Não sentiu tontura, mas após um tempo utilizando o HMD teve um pouco de dor de cabeça - Deixar a luva com os marcadores na posição cansa mais o braço do que apontar a letra na digitação. Talvez se o papel ficasse perpendicular à mão, cansasse menos. 2) Idade: 20 Sexo: M Profissão: Estudante Tempos:
Interface Frase Tempo (min)
TUTORIAL 5:03 Valorizar o homem vale mais que enriquecer 4:31 Aqui jaz Xavier Bonifacio Portugal 2:09
TIARI
Vale mais um inimigo sábio que um amigo ignorante 2:43 Valorizar o homem vale mais que enriquecer 6:33 Aqui jaz Xavier Bonifacio Portugal 3:12
Teclado mivaDesk
Vale mais um inimigo sábio que um amigo ignorante 4:02 Notas da avaliação de conforto: Cansaço dos braços: 8 Cansaço das mãos: 3 Cansaço do pescoço: 7 Tontura: 1 Náusea: 0 Comentários: - Fazer um gesto para ser utilizadas as funções de espaço e backspace - Achou fácil decorar a seqüência das letras no teclado 3) Idade: 23 Sexo: M Profissão: Estudante
Tempos:
Anexos 98
Interface Frase Tempo (min)
TUTORIAL 5:57 Valorizar o homem vale mais que enriquecer 5:23 Aqui jaz Xavier Bonifacio Portugal 2:24
TIARI
Vale mais um inimigo sábio que um amigo ignorante 4:05 Valorizar o homem vale mais que enriquecer 4:46 Aqui jaz Xavier Bonifacio Portugal 2:14
Teclado mivaDesk
Vale mais um inimigo sábio que um amigo ignorante 5:42 Notas da avaliação de conforto: Cansaço dos braços: 7 Cansaço das mãos: 2 Cansaço do pescoço: 0 Tontura: 1 Náusea: 0 Comentários: - A detecção dos marcadores poderia depender menos de fatores externos como iluminação e posição - As teclas especiais poderiam estar associadas a gestos pois tanto aumentaria espaço para mais caracteres quanto agilizaria o trabalho 4) Idade: 23 Sexo: M Profissão: Estudante
Tempos:
Interface Frase Tempo (min)
TUTORIAL 6:45 Valorizar o homem vale mais que enriquecer 3:04 Aqui jaz Xavier Bonifacio Portugal 2:38
TIARI
Vale mais um inimigo sábio que um amigo ignorante 2:48 Valorizar o homem vale mais que enriquecer 5:06 Aqui jaz Xavier Bonifacio Portugal 3:02
Teclado mivaDesk
Vale mais um inimigo sábio que um amigo ignorante 2:35 Notas da avaliação de conforto: Cansaço dos braços: 7 Cansaço das mãos: 6 Cansaço do pescoço: 8 Tontura: 9 Náusea: 0 Comentários: - No começo a velocidade de digitação pareceu lenta, depois ficou mais fácil e já dava para antecipar a letra seguinte. - As teclas especiais no canto direito atrapalham um pouco, sendo ativadas sem querer. - Talvez aumentando o tempo de ativação das teclas especiais atrapalhasse menos. - A mão esquerda ficou cansada de segurar os marcadores na posição. 5) Idade: 24 Sexo: M Profissão: Estudante
Tempos:
Interface Frase Tempo (min)
TUTORIAL 5:34 Valorizar o homem vale mais que enriquecer 4:52 Aqui jaz Xavier Bonifacio Portugal 3:10
TIARI
Vale mais um inimigo sábio que um amigo ignorante 4:14 Valorizar o homem vale mais que enriquecer 5:20 Teclado
mivaDesk Aqui jaz Xavier Bonifacio Portugal 3:20
Anexos 99
Vale mais um inimigo sábio que um amigo ignorante 4:44 Notas da avaliação de conforto: Cansaço dos braços: 9 Cansaço das mãos: 9 Cansaço do pescoço: 8 Tontura: 8 Náusea: 7 Comentários: - É melhor segurar os marcadores mais para perto da ponta dos dedos, pois assim não é necessário movimentar todo o braço para deslocar os marcadores para dentro do campo de visão. - Poderia haver um som e dizer a letra digitada pois cansa muito ficar mudando a vista do teclado para o campo de texto e vice-versa. - As teclas mais utilizadas (espaço, enter e backspace) poderiam ter atalhos que poderiam ser gestos (similar ao que muda a parte do teclado). - Falta a funcionalidade de mover o cursor para os lados e entre as linhas de texto. 6) Idade: 26 Sexo: M Profissão: Estudante pesquisador Tempos:
Interface Frase Tempo (min)
TUTORIAL 7:09 Valorizar o homem vale mais que enriquecer 2:39 Aqui jaz Xavier Bonifacio Portugal 3:07
TIARI
Vale mais um inimigo sábio que um amigo ignorante 3:11 Valorizar o homem vale mais que enriquecer 3:10 Aqui jaz Xavier Bonifacio Portugal 4:10
Teclado mivaDesk
Vale mais um inimigo sábio que um amigo ignorante 3:30 Notas da avaliação de conforto: Cansaço dos braços: 5 Cansaço das mãos: 3 Cansaço do pescoço: 8 Tontura: 2 Náusea: 0 Comentários: - O tamanho do marcador interfere na janela de escrita. 7) Idade: 23 Sexo: M Profissão: Estudante designer Tempos:
Interface Frase Tempo (min)
TUTORIAL 7:14 Valorizar o homem vale mais que enriquecer 3:09 Aqui jaz Xavier Bonifacio Portugal 1:28
TIARI
Vale mais um inimigo sábio que um amigo ignorante 3:53 Valorizar o homem vale mais que enriquecer 4:10 Aqui jaz Xavier Bonifacio Portugal 2:12
Teclado mivaDesk
Vale mais um inimigo sábio que um amigo ignorante 4:02 Notas da avaliação de conforto: Cansaço dos braços: 8 Cansaço das mãos: 2 Cansaço do pescoço: 0 Tontura: 0 Náusea: 0
Anexos 100
Comentários: - O backspace fica se ativando sozinho. - Por ser precária a identificação dos marcadores, a gente precisa aproximar muito da câmera. Acho que uma câmera melhor pode resolver este problema.
Anexos 101
Anexo EAnexo EAnexo EAnexo E
Gráficos de média de digitação na TIARI por frase digitada
Frase 1
0,0000
0,0500
0,1000
0,1500
0,2000
0,2500
0,3000
ca
racte
res
po
r seg
un
do
(cp
s) TIARI
mivaDesk
Frase 2
0,0000
0,1000
0,2000
0,3000
0,4000
0,5000
cara
cte
res p
or
seg
un
do
(cp
s) TIARI
mivaDesk
Frase 3
0,0000
0,0500
0,1000
0,1500
0,2000
0,2500
0,3000
0,3500
ca
rac
tere
s p
or
seg
un
do
(cp
s) TIARI
mivaDesk