visualização de dados projetados no espaço de ...paula/pdf/2017_08_relatoriofinal_fapesp... ·...

35
Universidade Estadual de Campinas Faculdade de Engenharia Elétrica e de Computação Visualização de Dados Projetados no Espaço de Componentes Principais utilizando Realidade Virtual Relatório Científico Final de Iniciação Científica, fomentado pela Fundação de Amparo à Pesquisa do Estado de São Paulo. Projeto FAPESP #2016/23004-0 Bolsista: Gustavo Granela Plensack Orientadora: Prof.a Dra. Paula Dornhofer Paro Costa Campinas, 25 de Agosto de 2017

Upload: nguyenbao

Post on 14-Feb-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Universidade Estadual de Campinas

Faculdade de Engenharia Elétrica e de Computação

Visualização de Dados Projetados no Espaço de

Componentes Principais utilizando Realidade

Virtual

Relatório Científico Final de Iniciação Científica, fomentado pela Fundaçãode Amparo à Pesquisa do Estado de São Paulo.

Projeto FAPESP #2016/23004-0

Bolsista: Gustavo Granela Plensack

Orientadora: Prof.a Dra. Paula Dornhofer Paro Costa

Campinas, 25 de Agosto de 2017

Informações Gerais do Projeto• Título do projeto:

Visualização de Dados Projetados no Espaço de Componentes Prin-cipais utilizando Realidade Virtual

• Nome do bolsista:

Gustavo Granela Plensack

• Instituição sede do projeto:

Faculdade de Engenharia Elétrica e de Computação da UniversidadeEstadual de Campinas

• Orientador(a):

Prof.a Dra. Paula Dornhofer Paro Costa

• Número do projeto de pesquisa:

2016/23004-0

• Período de vigência:

01/01/2017 a 31/07/2017

• Período coberto por este relatório científico:

01/01/2017 a 31/07/2017

i

Resumo

A era do “Big Data” é caracterizada pela disponibilidade de uma grande quantidade dedados sobre os mais variados fenômenos naturais e socioeconômicos. Dentre as váriasformas de análise dos dados, a análise visual apresenta contribuição significativa para oentendimento e a modelagem dos fenômenos. A pesquisa na área de visualização tembuscado combinar o poder computacional das máquinas modernas com a capacidadehumana de detecção visual de padrões. Em particular, a tecnologia de realidade virtual,cada vez mais acessível ao usuário comum, vem sendo explorada como uma ferramentacapaz de oferecer a visualização imersiva dos dados. O objetivo deste projeto foi explorara utilização do ambiente virtual para visualização de dados de alta dimensionalidadeprojetados num espaço tridimensional de componentes principais obtidos a partir deparâmetros definidos interativamente pelo usuário. Para o presente estudo utilizamos oaparato de realidade virtual Oculus Rift. Como forma de avaliar o trabalho e recepçãodeste tipo de ferramenta pelos usuários, foi realizada uma sessão de testes com usuários,onde estes puderam utilizar a ferramenta e relatar suas experiências por meio de umquestionário.

ii

Abstract

The "Big Data" era is characterized by the availability of a large amount of data relatedto a wide variety of phenomena, from human, natural and economical events. In this con-text, the ability of modeling and understanding the universe around us is closely relatedto the extraction of knowledge from these datasets. Among the theories and computa-tional tools for extracting data information, the research in the visualization area hassought to combine the computational power of modern machines with the human capac-ity for visual detection of patterns. In particular, virtual reality technology, increasinglyaccessible to the average user, has been explored as a tool capable of offering immersivevisualization of data. The objective of this project is to explore the use of the virtualworld to visualize high dimensional datasets projected into a three-dimensional space ofprincipal components obtained from parameters defined interactively by the user. Forthe present study we will use the Oculus Rift virtual reality headset. This project wasalso tested by a group of users in order to evaluate their experience in virtual reality. Inthis test, the users must use the application and evaluate their experience with a survey.

Indexing Terms: Big Data, Immersive Data-Visualization, Principal Component Anal-ysis, Virtual Reality.

iii

Sumário

Informações Gerais do Projeto i

Resumo ii

Abstract iii

1 Apresentação 1

2 Introdução 2

3 Relatório de Atividades 53.1 Diretrizes do projeto da Ferramenta de Visualização Científica de Dados 53.2 Plataforma de Realidade Virtual . . . . . . . . . . . . . . . . . . . . . . . 73.3 Linguagem e Interface de Desenvolvimento . . . . . . . . . . . . . . . . . 8

3.3.1 Tratamento de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 83.3.2 Ambiente de RV . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.4 Desenvolvimento do Tratamento de Dados . . . . . . . . . . . . . . . . . 103.5 Desenvolvimento Ambiente de Realidade Virtual . . . . . . . . . . . . . . 13

3.5.1 Quantidade de pontos de entrada limite . . . . . . . . . . . . . . 133.5.2 Entrada de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.5.3 Interface Homem-Máquina . . . . . . . . . . . . . . . . . . . . . . 143.5.4 Ambientes de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.5.5 Painel Interativo . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Análise dos Resultados 184.1 Detalhamento da Metodologia Experimental . . . . . . . . . . . . . . . . 184.2 Apresentação e discussão dos resultados . . . . . . . . . . . . . . . . . . . 19

4.2.1 Identificação do Usuário . . . . . . . . . . . . . . . . . . . . . . . 204.2.2 Avaliação da Experiência em RV . . . . . . . . . . . . . . . . . . . 224.2.3 Sugestões dos Usuários . . . . . . . . . . . . . . . . . . . . . . . . 24

4.3 problemas apresentados durante o teste . . . . . . . . . . . . . . . . . . . 25

i

5 Conclusão 27

6 Agradecimentos 28

ii

1 ApresentaçãoEste documento tem como o maior objetivo apresentar, analisar e avaliar os resultadosdo projeto 2016/23004-0, entitulado “Visualização de Dados Projetados no Espaço deComponentes Principais utilizando Realidade Virtual”. No âmbito deste projeto algunsdos tópicos mais relevantes a serem discutidos e apresentados à comunidade científica sãoas diretrizes que o projeto seguiu, a escolha da plataforma de desenvolvimento, funcio-nalidades desenvolvidas, possibilidades para aprimoração da ferramenta e, finalmente, adiscussão dos resultados da avaliação com usuários.

1

2 IntroduçãoA humanidade vive definitivamente em uma época de grande disponibilidade de dados,também conhecido como era do Big Data. A quantidade de dados à nossa disposição ésem sombra de dúvidas a maior e mais variada da história humana. Tamanha disponibi-lidade, cria uma grande questão: “Como transformar dados em conhecimento usando avisualização mais apropriada?”. Esta pergunta traz em si a motivação dos cientistas dedados que atuam no campo de Visual Analytics, que é responsável pelo desenvolvimentode teorias e ferramentas computacionais para a extração de informação de dados à partirda visualização dos mesmos.

De forma geral, as ferramentas computacionais desenvolvidas para análise de dadosbuscam combinar o conhecimento e os mecanismos de percepção humanos com a capa-cidade computacional superior de processamento das máquinas. Esta combinação buscaamplificar e acelerar a aquisição de novos conhecimentos. Neste contexto, surgem ostrabalhos que focam nas abordagens e técnicas de extração de conhecimento de conjun-tos massivos de dados, reunidos numa área que comumente referenciada como KDD, doinglês Knowledge Discovery in Databases. Dentre estas técnicas, destacam-se: aprendiza-gem de máquina, reconhecimento de padrões, gerenciamento de base de dados, estatística,inteligência artificial, visualização de dados e HPC (do inglês, High Performance Com-puting)[2].

Neste contexto, a extração de conhecimento a partir dos dados é entendida como aidentificação de padrões:

• Inovadores: Não identificados anteriormente;

• Úteis: Cuja descoberta traz benefício ao sistema/usuário;

• Válidos: Observáveis mesmo com a introdução de novos dados à base;

• Compreensíveis: Padrões suficientemente claros e simples, facilitando o entendi-mento do fenômeno envolvido.

Após a detecção dos padrões citados acima, deve-se naturalmente partir para a mo-delagem dos fenômenos à partir dos dados, criação de estruturas de dados bem definidasou outras descrições de alto nível. Este processo de aquisição de conhecimento a partir

2

do processamento de dados massivos é uma manifestação de KDD. Este processo tipica-mente consiste numa série de passos que incluem desde a seleção do conjunto de dadosaté a aquisição de conhecimento à partir da aquisição de parâmetros. Sua apresentaçãoé feita com mais riqueza de detalhes na Figura 2.1.

Figura 2.1: Visão geral dos passos que constituem o processo de KDD (Adaptado deFayaad et al.,1996)

No processo acima, é interessante destacar que quando tratamos de “Big Data” alémdos desafios impostos pela etapa de processamento dos dados, onde uma quantidademuito grande de dados deve ser analisada, temos os desafios impostos pela alta comple-xidade dos mesmos. Uma vez que conjuntos de dados multidimensionais frequentementecombinam medidas numéricas, imagens, sinais espectrais, séries temporais, rótulos cate-góricos, texto, etc. As maiores oportunidades e desafios do que conhecemos como “Ciênciados Dados” identificar as correlações e conexões entre as variáveis de fontes e naturezasdiversas [1].

Neste contexto, a visualização de dados é frequentemente apontada como uma dasprincipais pontes entre os dados e a intuição humana. Na Figura 2.1, ferramentas devisualização podem ser empregadas na etapa de seleção de dados, auxiliando, por exem-plo, na identificação de outliers ou na detecção de padrões de ruídos que podem serfacilmente filtrados durante a etapa de pré-processamento. Apoiando-se também sobrea capacidade do sistema visual humano no reconhecimento de padrões, a visualização dedados é considerada uma das ferramentas importantes da etapa de mineração dos dados,ou “data mining”. Finalmente, visualizações devidamente projetadas ajudam a “contara história” dos dados, facilitando a comunicação do conhecimento adquirido durante oprocesso KDD.

No entanto, a visão humana é biologicamente otimizada para visualizar o mundotrês dimensões, fato que impõe limitações às projeções de dados de alta complexidade

3

e alta dimensionalidade. A visualização de dados multidimensionais, via de regra, exigea redução de dimensionalidade por meio da projeção dos dados em espaços de até trêsdimensões. Dentre as muitas abordagens para a redução de dimensionalidade, a análisede componentes principais, ou PCA (do inglês, Principal Component Analysis), que évastamente empregada na área de reconhecimento de padrões por sua eficácia na deter-minação das direções do espaço multidimensional nas quais os dados apresentam maiorvariância [6].

De acordo com o que foi discutido nesta seção, o projeto de iniciação científica docu-mentado neste relatório trata o desenvolvimento de uma ferramenta de redução de dimen-sionalidade e projeção de dados baseada na análise PCA, com subsequente visualizaçãonum ambiente de Realidade Virtual (RV). As etapas para a concepção desta ferramenta,bem como os resultados da avaliação com o usuário estão descritas nas próximas seções.

4

3 Relatório de AtividadesNesta seção apresentamos as diretrizes adotadas para o projeto, incluindo os requisitosconsiderados na plataforma de realidade virtual a ser empregada, os princípios norteadorespara o desenvolvimento da ferramenta proposta e os fundamentos para a escolha daplataforma para a prototipagem e desenvolvimento do projeto. Como o apresentado noplano de trabalho modificado entregue à FAPESP no começo do ano de 2017, os resultadosFase de Estudos são apresentados na Seção 3.1. As atividades da Fase de Projeto sãorelatadas nas seções 3.2 e 3.3, onde são apresentadas e justificadas as plataformas deimplementação. Finalmente, a Fase de Desenvolvimento é discutida nas seções 3.4 e 3.5.

3.1 Diretrizes do projeto da Ferramenta de Vi-

sualização Científica de Dados

Esta aplicação seguiu em sua concepção o modelo de visualização imersiva apresentadona seção 2. Este tipo de ferramenta visa amparar processos de KDD, detalhado na Figura2.1. A aplicação realiza todos os passos do KDD quando combinamos o tratamento dosdados com o ambiente de realidade virtual.

Por se tratar de uma ferramenta de visualização cientíica de dados, o processo deKDD seguiu o paradigma conhecido como Information Seeking Mantra [7, 3], ilustradopela Figura 3.1.

Figura 3.1: Diagrama expositivo do método descrito pelo Paradigma da Exploração Vi-sual, figura baseada no conteúdo exposto em:[7, 3].

Como o apresentado na figura 3.1, o Information Seeking Mantra é descrito por 7etapas. Cada uma dessas etapas será explicada com mais detalhes abaixo:

1. Overview do Conjunto: Esta etapa é o ponto de partida para a exploração dosdados. O objetivo principal dela é fornecer ao usuário uma visão global do conjunto

5

com o qual ele está trabalhando. Para que essa experiência possa ser completa, éfundamental a existência de ferramentas de navegação;

2. Zoom aos Pontos de Interesse: A principal função dessa etapa é permitirque o usuário tenha o poder de determinar qual a parte do conjunto de dados émais relevante e merece uma análise mais detalhada. Novamente é fundamental aexistência de uma ferramenta de navegação que permita ao usuário realizar essatarefa;

3. Filtragem dos Dados: Esta etapa tem como principal característica facilitar adescoberta de padrões através do KDD. Com filtragem pode-se entender como aretirada de informações que não possuem valor para a análise desejada. Dessa formabusca-se focar a análise sobre determinado conjunto. No caso do presente estudo,a PCA será uma das formas de filtragem;

4. Detalhes Sob Demanda: A principal função dessa etapa é permitir que o usuárioreceba informações adicionais sobre os conjuntos estudados, mas apenas quando es-sas forem requisitadas. Com isso, busca-se tornar os detalhes disponíveis, mas semcausar "poluição visual". Novamente, para implementação desse passo é fundamen-tal a existência de uma Interface Homem Máquina (IHM) associada à ferramentade navegação;

5. Análise de Relações: Esta etapa deve permitir a criação de relações de relaçõesentre os dados. Por exemplo a associação de uma "label"a itens ou partes dife-rentes de um mesmo conjunto. Assim o usuário pode pesquisar apenas por essas"labels"quando for realizar alguma busca mais específica no banco de dados;

6. Histórico de Ações: É muito importante manter um histórico das ações realizadaspelo usuário pois permite que ele desfaça alguma decisão caso esse realize algumpasso indesejado, bem como permite conhecer o caminho que usou para chegar atédeterminado ponto. Essa é uma facilidade que visa unicamente amparar ao usuárioe tornar o uso da ferramenta mais eficiente;

7. Extração de Informações: Essa etapa deve permitir que subcnjuntos sejamextraídos do conjunto. Seja através da geração de uma imagem desse conjunto,gráfico, ou até mesmo um arquivo para que essa informação seja compartilhada ouutilizada por outro software. Essa etapa é também uma facilidade que visa amparar

6

o usuário e também tornar o uso da ferramenta mais eficiente. Esta etapa não foiimplementadas devido ao caráter de protótipo da aplicação desenvolvida;

3.2 Plataforma de Realidade Virtual

Como o presente estudo envolve o desenvolvimento de uma ferramenta de visualizaçãocientífica de dados imersiva, é importante que seja escolhida de uma plataforma adequadapara a sua implementação. Tal escolha deve atender alguns requisitos mínimos paraproporcionar ao usuário essa experiência [4]. Os requisitos mais relevantes são:

• A implementação de um ambiente virtual imersivo não deve permitir que o usuárioreceba estímulos visuais do mundo real. Dessa forma, evitando que o mesmo sejaexposto a estímulos visuais contraditórios enquanto usa a ferramenta;

• O sistema de renderização gráfica deve ter uma taxa mínima de 20 a 30 Hz parapoder proporcionar ao usuário uma experiência visual satisfatória;

• O sistema de localização do aparelho deve reportar periodicamente a orientação dacabeça, permitindo que o sistema seja capaz de compreender o que o usuário estáobservando/manipulando;

• Para a criação de um Ambiente Virtual (AR) é fundamental a existência de umbanco de dados para que o sistema possa ser implementado, bem como um sistemade manutenção para atualizá-lo após as ações do usuário.

Buscando atender aos requisitos mínimos definidos acima e os que foram definidospara este estudo na seção 2, temos como plataformas possíveis os headsets de RV, mesasvirtuais, paredes virtuais e displays panorâmicos [4]. Dentre essas opções, plataformasde headsets de RV merecem ser destacadas. As principais razões são:

1. Escalabilidade: Esse tipo de equipamento é uma tecnologia recente, em ascensãoe que permite grande liberdade para o desenvolvedor, cujo o potencial ainda nãofoi totalmente explorado;

2. Custo: O custo dos headsets de RV está relativamente mais acessível quando com-parado as outras opções, o que faz desse tipo de tecnologia algo realmente aplicávelna vida das pessoas caso prove algum benefício;

7

3. Principal aplicação: Headsets de RV apresentam aplicações em sistemas de jogoseletrônicos. Para poderem atuar nesse nicho, é necessário que possuam alta capaci-dade de renderização e definição de imagem bem como proporcionar interatividadeatravés de modelos de Interfaces Homem-Máquina (IHM) bastante intuitivas.

Tais razões tornam a plataforma dos headsets de VR adequados ao presente estudo.A escolha da marca utilizada foi baseada numa matriz de decisão. A cada quesito queo dispositivo atingiu o primeiro lugar (destacado em negrito) ele recebeu três pontos,segundo dois pontos e terceiro um ponto. O dispositivo escolhido foi o que obteve maiorpontuação, veja a matriz de decisão a exposta na Tabela 3.1.

Sony Playstation VR HTC Vive Oculus RiftCusto[US $] 399 799 599

Comunidade Desenvolvedora Restrita Mediana GrandeCampo de visão [graus] 100 110 110

Compatibilidade PS4 PC PCTotal 7 9 11

Tabela 3.1: Matriz de decisão das plataformas headset de RV disponíveis no mercado.

Conforme os parâmetros discutidos até esse ponto e o que foi apresentado na Tabela3.1, fica evidente que a plataforma mais interessante para o desenvolvimento do AVimersivo é o Oculus Rift.

3.3 Linguagem e Interface de Desenvolvimento

A escolha da linguagem e do ambiente de desenvolvimento são questões fundamentaispara um projeto de software. No entanto, estas devem ser feitas de acordo com asnecessidades de cada área da aplicação. Neste projeto, existem duas grandes áreas ondese concentram o desenvolvimento de software: o tratamento de dados e a implementaçãodo ambiente de RV. Apesar de trabalharem em conjunto, como mostra o esquema daFigura 3.2, cada uma destas áreas possui necessidades diferentes, que serão descritas nassubseções a seguir.

3.3.1 Tratamento de Dados

O tratamento de dados é um processo bastante importante no contexto da “Ciência deDados”. No âmbito deste projeto, a seção de tratamento de dados envolve os seguintespassos:

8

Figura 3.2: Esquemático das Iterações que compõe as duas áreas de software deste pro-jeto. Nela podemos identificar as relações entre o Tratamento de Dados e o Ambiente deRV.

• a obtenção dos mesmos a partir do banco de dados;

• execução do processo tipicamente referenciado como data cleaning ou data wran-gling, eliminando-se, por exemplo, valores registrados erroneamente ou Not-A-Number (NAN);

• aplicação da análise PCA;

• formatação dos dados para que os mesmos possam ser apresentados pela interfacede realidade virtual.

No contexto deste trabalho, adotamos a linguagem Python 2.7 por sua rápida curva deaprendizado e facilidade de prototipagem rápida, associada às bibliotecas Numpy, CSV,Scikit-Learn, e Pandas.

As documentações dessas bibliotecas estão disponíveis em:

• Numpy: https://docs.scipy.org/doc/

• CSV: https://docs.python.org/3.0/library/csv.html

9

• Scikit-Learn:http://scikit-learn.org/stable/documentation.html

• Pandas https://pandas.pydata.org/pandas-docs/stable/

3.3.2 Ambiente de RV

A implementação do ambiente de realidade virtual é também parte fundamental desteprojeto. Espera-se que o ambiente de RV englobe bem mais do que apenas a virtualizaçãodos pontos de dados, mas também apresente uma IHM satisfatória que permita ao usuárionavegar pelo ambiente e formas de interação com os pontos.

Uma das atividades da Fase de Estudos do projeto, foi a investigação da ferramentamais adequada para implementação da visualização dos dados no ambiente de RealidadeVirtual. Inicialmente, foi cogitada a plataforma VTK para essa tarefa, no entanto, apósinvestigação mais aprofundada, foi possível averiguar que, apesar de já existirem iniciati-vas da comunidade de desenvolvimento bibliotecas do VTK voltadas para a visualizaçãode dados em RV, elas ainda estão em estágio inicial de desenvolvimento, não apresen-tando uma eficiência compatível com as ferramentas concorrentes discutidas na Matrizde Decisão apresentada na Tabela 3.2.

Assim, seguindo uma estratégia semelhante à adotada na escolha do hardware derealidade virtual, procuramos realizar uma análise das ferramentas existentes, baseandonossa decisão em uma nova Matriz de Decisão.

OpenGL Unity3D Unreal Engine 4Custo Licensa [US $/mês] Nenhum 125 Nenhum*

Comunidade Desenvolvedora Mediana Grande GrandeIHM Necessário Implementar Possui Padrão Possui PadrãoTotal 6 6 9

Tabela 3.2: Matriz de decisão das plataformas de implementação de RV mais usadas nacomunidade.(*)Caso não haja monetização sobre a aplicação desenvolvida.

Após análise dos critérios apresentados na Tabela 3.2 , adotou-se a ferramenta UnrealEngine 4 (UE4).

3.4 Desenvolvimento do Tratamento de Dados

O tratamento apresentado nesta seção ilustra apenas os passos desenvolvidos para otratamento do dataset usado no protótipo. Por isso ressaltamos que no caso de uma

10

aplicação mais generalista, onde seria possível gerar visualizações de conjuntos diferentes,seriam necessários passos diferentes e/ou complementares.

No caso do sistema piloto, seguimos conforme o apresentado na Seção 3.3.1. A ro-tina implementada usando Python 2.7 deve ser capaz de limpar o dataset e fornecer osdados no formato para que estes possam ser utilizados pelo UE4. Representando assimo processo de KDD até a mineração dos dados. Este funcionamento é ilustrado pelaFigura 3.3.

Figura 3.3: Esquemático da interação da rotina de tratamento dos dados com Bancode Dados. Note que a rotina é responsável por importar os dados do banco de dadosoriginal (1) e pelas duas etapas do tratamento dos dados: a aplicação da análise decomponentes principais e seleção de colunas onde todos os dados estão disponíveis. Estesdados processados são disponibilizados em (2).

Na Figura 3.3 podemos identificar dois bancos de dados: Os dados originários dobanco de dados raw data(1) e os dados tratados (2). A rotina de tratamento de dadosindicada em “Script do Tratamento de Dados” deve seguir os seguintes passos:

1. Importar: os dados são importados à partir de um arquivo do tipo CSV, por serum formato exportável e importável na quase totalidade das ferramentas de análise

11

e processamento de dados e sua manipulação ser simples. A importação é feita coma biblioteca Pandas e a análise dos valores NaN é feita com a biblioteca Numpy.

2. Limpeza dos Dados: Uma etapa típica de todo processo de análise de dados éa etapa de “limpeza dos dados” (data cleaning). Tal operação de eliminação dedados que podem ser considerados “ruídos” da informação pode ter vários níveis desofisticação. No contexto da análise de dados do INMET (Instituto Nacional deMetereologia), observou-se a existência de vários campos com valores NaN, repre-sentando medidas faltantes ou medidas registradas de maneira errônea. Apesar deexistirem alternativas de interpolação dos dados, entendemos que este tipo de al-ternativa deveria ser oferecida como uma opção adicional da ferramenta ao usuárioem momento futuro de desenvolvimento e optou-se por excluir as linhas com valoresNaN. Esta tarefa é facilmente executada com a biblioteca Numpy.

3. Escrita do Banco de Dados Original Tratado: Com os tratamentos descritosnos passos 2 e 3, temos o banco de dados com os valores originais com exceçãodos valores NaN. Estes dados em si já são úteis para a aplicação e podem serapresentados no ambiente de RV. O formato de saída é também CSV, que pode sergerado sem dificuldades pela biblioteca CSV.

4. Aplicação da Análise de Componentes Principais: Este é um dos passoscentrais da análise proposta neste trabalho. Conforme o discutido na seção 2, aanálise de componentes principais é a ferramenta matemática usada para a detecçãode dos eixos de maior variância dos dados e para a redução do número de dimensõesa serem observadas, cuidando-se para que a perda de informação não seja radical [6].O resultado da análise PCA foi colocado em um outro arquivo CSV. A aplicaçãodo PCA foi amparado pela biblioteca Scikit-Learn e a criação do arquivo CSV pelabiblioteca CSV.

As funções desenvolvidas para implementação destes passos foram planejadas parafutura integração com a ferramenta.

Ao final do processo obtém-se o conjunto de dados pré-processo para projeção no AR,após importação no ambiente Unreal (UE4).

12

3.5 Desenvolvimento Ambiente de Realidade Vir-

tual

Conforme o discutido na Seção 3.3.2, a implementação do ambiente de realidade virtualfoi realiza usando a engine de jogos Unreal Engine 4 (UE4). Seu desenvolvimento foipensado para usar os dados resultantes do tratamento e estar sempre de acordo com oparadigma de interação apresentado na Seção 3.1.

Observou-se claramente que o desenvolvimento de aplicaçõs utilizando os óculos deRV é um tópico ainda escasso de documentação. Por este motivo, grande parte dodesenvolvimento foi baseada em documentos online disponibilizados pela distribuidorado UE4, fóruns de discussão e tutoriais em vídeos online.

Durante o desenvolvimento, optou-se por modularizar o projeto. Os passos que leva-ram ao desenvolvimento da aplicação final serão apresentados nas subseções à seguir.

3.5.1 Quantidade de pontos de entrada limite

Este primero passo teve como objetivo avaliar se a quantidade de pontos existentes nodataset estava dentro da capacidade de renderização da máquina utilizada. O motivodeste teste é que a máquina disponível para a implementação do projeto possuía asespecificações mínimas para o desenvolvimento em RV.

Dessa forma, caso a quantidade de pontos renderizadados fosse muito elevada, observou-se que a capacidade computacional da máquina, mais especificamente as especificações daplaca de vídeo, não era suficiente para uma execução sem “travamento”, não preservandoas características discutidas na Seção 3.2.

O dataset utilizado para os testes foram os dados mensais da estação metereológicada cidade de Chapecó-SC, que possibilitou que a quantidade de pontos renderizados nãoultrapassasse 300 amostras, ou seja, 300 pontos com 12 dimensões cada. Os dados sem tra-tamento estão disponíveis em: http://www.inmet.gov.br/projetos/rede/pesquisa/inicio.php.As 12 dimensões são resultantes do tratamento descrito na Seção 3.4.

3.5.2 Entrada de dados

Uma das dificuldades encontradas foi a impossibilidade de trabalhar com colunas dinâ-micas no ambiente UE4, tendo sido necessária a implementação de um padrão de entradapreviamente definido.

13

Sendo assim, foram criados assim dois padrões de dados em formato CSV: os dadosoriginais e os dados PCA, com 12 dimensões e 4 dimensões respectivamente. Estes dadossão oriundos do tratamento de dados descrito em 3.4.

3.5.3 Interface Homem-Máquina

A interface Homem-Máquina (IHM) desenvolvida deve ser intuitiva e eficiente, sendoparte fundamental para a execução dos paradigmas de interação resumidos no InformationSeeking Mantra [7].

Neste projeto, a interface implementada favoreceu a execução de tarefas de navegaçãodescritas nos passos (1) Overview do Conjunto, (2) Zoom aos Pontos de Interesse e (4)Detalhes sob Demanda, discutidos na Seção 3.1.

Como uma alternativa à modalidade de interação baseada na seleção de teclas especiaisdo teclado e combinação de botões do mouse, investiu-se na interação realizada pelo usode um joystick de videogame. Assim, as operações de zoom, movimentação e seleção depontos no ambiente virtua puderam ser executadas por meio do uso de um controle devideogame XBOX-ONE (Microsoft c©), como indicado na Figura 3.4.

3.5.4 Ambientes de Uso

A criação de múltiplos ambientes, ou níveis de uso, foi pensada como sendo uma formade proporcionar ao usuário um uso guiado da aplicação. Para isso, foram desenvolvidostrês níveis:

1. Nível Introdutório: O nível introdutório deve apresentar apenas apresentar asinformações do projeto e permitir ao usuário escolher fazer ou não o tutorial (videFigura 3.5).

2. Nível de Tutorial: Este nível dá ao usuário as instruções básicas de como utilizara ferramenta, no que diz respeito a navegação e à interação com o painel.

3. Aplicação: Este nível representa a aplicação em si discutida nas seções anterioresdeste relatório. As figuras 3.6 e 3.7 representam algumas das visões obtidas pelousuário no ambiente virtual no nível da aplicação.

A conexão entre estes 3 níveis é apresentada pela Figura 3.8.

14

Figura 3.4: Esquemático do Controle de XBOX-ONE fornecido pela própria Microsoft.Apesar da grande quantidade de teclas e analógicos, foram usadas apenas três: O Di-recional Analógico Esquerdo (1), o Gatilho Direito (11) e o Gatilho Esquerdo (14). Naimplementação, o Gatilho Direito é responsável pela interação com os elementos do pai-nel. O Gatilho Esquerdo é responsável troca dos elementos apresentados nos eixos, apartir do reset da projeção. E finalmente, a navegação é a combinação do uso do Ana-lógico Esquerdo, que trata da translação, com a rotação do corpo do próprio usuáriodentro do ambiente de Realidade Virtual. Imagem feita a partir de imagens disponíveisem http://support.xbox.com/pt-BR/xbox-one/accessories/xbox-one-wireless-controller.

Figura 3.5: Captura de Tela da Aplicação. Nesta captura é apresentando o Nível inicialda Aplicação. Como o descrito na seção 3.5.4,ele possui apenas um painel inicial com asinformações gerais do projeto e a opção de realizar o tutorial ou ir direto para a aplicação.

15

Figura 3.6: Captura de Tela do painel Principal. Conforme o discutido na Seção 3.5.5,é possível identificar neste painel a presença dos botões para seleção da projeção, dascaixas de combinação para determinação do conteúdo de cada eixo e também das caixasde seleção para ativação das ferramentas.

Figura 3.7: Captura de Tela da Aplicação. Nesta captura é apresentando um pontode dado do tipo PCA apresentando as suas informações, na imagem os eixos x,y e zequivalem as componentes 3, 1 e 4 respectivamente.

16

Figura 3.8: Esquemático das Iterações que compõe o Ambiente de Realidade Virtual.

3.5.5 Painel Interativo

Para a implementação dos passos (3) Filtragem dos Dados e (5) Análise de Relações,descritos na Seção 3.1, é necessário implementar uma interface que seja capaz de ativara análise de componentes principais ao mesmo que permita selecionar quais campos dedados serão visualizados. Uma implementação bastante lógica e amigável ao usuáriodestas funcionalidades é um painel dentro do ambiente de realidade virtual. Este devecontar com as seguintes capacidades:

• Seleção do Tipo de Análise: Esta função deve permitir ao usuário visualizaros dados originais e os dados analisados com o PCA. Permitindo a troca de umaanálise para a outra sempre que o usuário desejar.

• Seleção dos valores dos Eixos: A escolha do que é colocado em cada um doseixos é uma das necessidades básica para a execução do passo de análise de relaçõese dá ao usuário o poder de escolher as características da visualização.

• Ferramentas Auxiliares de Análise: Analisar um conjunto de dados pode sersignificativamente mais simples se contarmos com ferramentas para nos auxiliarnesta tarefa. Julgamos úteis a implementação de duas ferramentas: A renderizaçãodos planos X,Y e Z para localizar o usuário e a renderização de um texto comas informações de cada um dos pontos quando olhamos para ele. Ambas estasferramentas são normalmente desativadas, podendo ser ativadas sob a demanda dousuário.

Diante do que foi discutido nos tópicos acima, chegamos naturalmente na implemen-tação do painel apresentado na Figura 3.6.

17

4 Análise dos ResultadosComo o apresentado na proposta de trabalho apresentada à FAPESP no começo de 2017,a avaliação da ferramenta foi baseada num teste exploratório da mesma. Neste teste ousuário foi convidado a explorar os recursos disponibilizados pela ferramenta desenvolvidae responder um questionário relatando sua experiência. O detalhamento do processoexperimental, apresentação e discussão dos resultados, problemas apresentados duranteo teste e sugestões dos usuários são apresentados nas próximas seções.

4.1 Detalhamento da Metodologia Experimental

Não existem ainda protocolos universalmente aceitos para avaliação da experiência deusuários no ambiente de RV. Fatores como o tipo de hardware utilizado e a forma devisualização podem levar a experiências significativamente diversas e difíceis de seremcomparadas objetivamente [5].

Neste trabalho foi adotada uma avaliação de caráter subjetivo, onde os usuários res-pondiam questões em escala de Likert e questões abertas onde os participantes podiamjustificar suas respostas ou tecer comentários sobre a ferramenta.

O teste realizado foi dividido nas seguintes etapas:

1. Introdução do Teste: Em uma conversa inicial, os participantes eram apresen-tados ao ambiente de teste e eram esclarecidos sobre os objetivos da avaliação.Neste momento, os participantes também eram questionados sobre experiências an-teriores com RV, histórico de enjoos e/ou familiarização com tecnologias de jogos.Tais informações foram registradas formalmente ao final do teste no questionáriorespondido pelos participantes.Duração: 2-3 Minutos.

2. Ajuste do Aparato de RV: Para que a resolução da imagem ficasse boa é funda-mental o ajuste do ângulo de visão do usuário e eventual uso de lentes com correçãode miopia no Oculus Rift1. Isso deve ser feito para cada usuário através do ajusteda fixação do aparato na cabeça. Duração: 2-3 Minutos.

1O ajuste da lente é possível somento do Kit do Oculus Rift DK2.

18

3. Início Teste e Exploração: Neste estágio, nenhuma informação era fornecida aousuário, ao menos que este pedisse ajuda. O usuário estava livre para explorar aferramenta e as múltiplas formas de visualização. Duração: Livre.

4. Resposta do Questionário: O usuário deveria responder ao questionário e apre-sentar suas opniões sobre a ferramenta. Dados e projeto disponíveis em:https://goo.gl/8RbPzM. Duração: Livre.

Durante a avaliação, o usuário era exposto à ferramenta e era convidado a explorá-la.Evitando-se guiar a experiência do usuário com a ferramenta, o tutorial desenvolvido tevecomo principal objetivo fornecer informações básicas ao usuário e prover independênciano uso dos mecanismos de interação antes da exploração da aplicação (Seção 3.5.4). Ousuário só era guiado quando o mesmo se encontrava desorientado. Era possível acompa-nhar a experiência do usuário numa tela de computador onde a aplicação era executada,veja a Figura 4.10.

4.2 Apresentação e discussão dos resultados

Os resultados e discussões realizadas se baseiam no formulário apresentado aos usuáriosda ferramenta2. O questionário seguia o roteiro:

1. Identificação do Usuário: Este seção inicial do questionário permite traçar operfil da população que participou do teste, com ele buscou-se identificar o usuárioe também foi perguntado ao usuário se este conhecia o que era a análise PCA.

2. Avaliação da Experiência em RV: Nesta seção do questionário o usuário eraperguntado sobre a sua experiência em RV. As perguntas feitas buscavam verificara qualidade da experiência do usuário, avaliar a eficiência do tutorial, a forma derepresentação dos dados, benefícios do uso da RV e finalmente sensação de enjoodurante o uso. Todas as perguntas possuíam uma primeira parte com questões dealternativas (escala de Likert) e um campo para comentários ou justificativa.

3. Espaço de Sugestões e Críticas: Nesta seção o usuário era convidado a darsugestões e fazer críticas sobre a aplicação. A idéia desta seção é usar a opinião dousuário para futuras implementações.

Seguindo o roteiro descrito anteriormente, apresentaremos e discutiremos os dadosnas subseções a seguir.

2Disponível em: https://goo.gl/forms/JdLFQHs9MMBWc3U93

19

4.2.1 Identificação do Usuário

Como o descrito no início da Seção 4.2 o questionário se inicia com a caracterização dousuário.

Pela observação dos gráficos das Figuras 4.1, 4.2, 4.3 e 4.4, podemos notar que apopulação analisada é predominante masculina, jovem, sem experiência prévia em RV ecom algum grau de familiarização com a análise de componentes principais.

Figura 4.1: Como pode ser observado neste gráfico, é notável que a maior parte dapopulação é composta por jovens-adultos, que totalizam 41,2% (em azul). A segundafaixa etária mais presente é a de jovens-jovens, que totalizam 35,3% (em amarelo). Amenor parcela da população se declarou de fato adulta e totaliza 23,5% da amostra (emvermelho).

Figura 4.2: De acordo com o gráfico nota-se que a maior parte da população de usuáriosavaliados é constituída por indivíduos autodeclarados do sexo masculino, totalizando72,2% da população. A população feminina representa 27,8% dos usuários.

20

Figura 4.3: De acordo com o gráfico nota-se que a maior parte da população de usuá-rios nota-se que 61,1% dos usuários não possuíam até o momento da avaliação desteexperimento nenhuma experiência prévia.

Figura 4.4: De acordo com o gráfico nota-se que a população de usuários é bastante hete-rogênea no que diz respeito à familiarização com a técnica da análise PCA. Em amarelo,evidenciamos que 38,9% dos usuários não possui “Nenhuma” familiarização com a téc-nica. Em vermelho, evidenciamos que 33,3% dos usuários “Possuem conhecimento básico”. Em azul, evidenciamos que 27,8% dos usuários apresentam “Grande familiaridade” como conceito da análise PCA. Esta população é interessante, pois 61,1% apresenta algumtipo de conhecimento sobre a técnica de análise PCA. Dados de familiarização com aanálise PCA são autodeclarados pelo usuário.

21

4.2.2 Avaliação da Experiência em RV

Os itens abaixo apresentam uma análise individualizada das perguntas do questionárioque procuraram avaliar a experiência dos participantes no uso da ferramenta. Para asquestões cujas respostas foram baseadas na escala de Likert, com opções de 1 a 5, utili-zamos a métrica MOS (Mean Opinion Score) como indicador médio das respostas.

• Utilidade do Tutorial: A Figura 4.5 apresenta a distribuição de votos referenteà avaliação da utilidade do tutorial no uso da ferramenta. O MOS obtido paraesta questão foi 4,44, mostrando que o tutorial foi relevante para que o usuárioentendesse os mecanismos de uso da ferramenta. Ainda sim foram sugeridas algumasmodificações, como por exemplo alongar o tutorial. Apenas um usuário relatou queo tutorial foi importante, mas a ajuda do instrutor foi também de alta relevância.

Figura 4.5: Distribuição de respostas obtida para a avaliação da eficácia do tutorial nouso da ferramenta, com (1) “Não. O tutorial foi confuso, atrapalhou no entendimento douso da ferramenta.” e (5) “Sim. O tutorial foi essencial para o entendimento do uso daferramenta.”

• Grau de Compreensão da Representação Dados: A Figura 4.6 apresentaa distribuição de votos referente à avaliação da utilidade do tutorial no uso daferramenta. O MOS obtido para esta questão foi 4,16. Mostrado que de formageral a representaçaõ proposta foi bem recebida pelos usuários.

• Avaliação da Experiênia em RV: A Figura 4.7 apresenta a distribuição de votosreferente à avaliação da utilidade do tutorial no uso da ferramenta. O MOS obtidopara esta questão foi 4,22. Alguns usuários míopes relataram problemas com o uso

22

Figura 4.6: Distribuição de respostas obtida para a avaliação da eficácia do tutorial nouso da ferramenta, com (1) “Não. Tive grandes dificuldades de entender a representaçãoutilizada.” e (5) “Sim. Compreendi facilmente a representação dos dados na projeçãovirtual.”

do aparato de RV. Um usuário destacou que viu nas RV um ótimo campo para estetipo de ferramenta.

• Auxílio ao Entendimento de Dados: A Figura 4.8 apresenta a distribuição devotos referente à avaliação da utilidade do tutorial no uso da ferramenta. O MOSobtido para esta questão foi 3,77. Ao observarmos a distribuição de votos, é possívelafirmar que a maioria dos usuários acredita que a a visualização proposta trouxealgum benefício à compreensão dos dados. Porém, é importante destacar algunscomentários dos participantes: “Um pouco difícil avaliar, pois visualizei apenas umtipo de gráfico. Pode ser que outros tipos de gráficos a realidade virtual tragamais benefícios. Com o tipo de gráfico que foi apresentado, achei indiferente.” e“Em relação à PCA notei um grande benefício, sendo possível avaliar relações depotência entre as componentes de forma bem simples e intuitiva, fornecendo esti-mativas (mesmo estas sendo um tanto quanto heurísticas) sem que seja necessárioum grande conhecimento prévio à experiência.”.Nesses comentários fica explícito umponto discutido em [5]: A melhor forma de visualização de um conjunto de dadosvaria de acordo com o tipo do dado que está sendo observado.

• Sensibilidade: Esta questão não buscou avaliar o uso da ferramenta em si, mas asensação de enjoo nos usuários durante a experiência. Por isso nesta questão não foiusado o critério MOS. Veja no gráfico da Figura 4.9. Sendo assim, podemos concluirque a ferramenta de RV tem a incidência de enjoo semelhante à experiências como

23

Figura 4.7: Distribuição de respostas obtida para a avaliação da eficácia do tutorial nouso da ferramenta, com (1) “Péssima” e (5) “Excelente”

brinquedos de parques de diversão.

Com base nos resultados e discussões apresentados anteriormente, podemos concluirque a avaliação da ferramenta foi positiva e os usuários mostraram-se confiantes no po-tencial da mesma.

4.2.3 Sugestões dos Usuários

Como apresentado na Seção 4.2, o formulário de avaliação conta com uma área de suges-tões. Algumas delas serão apresentadas à seguir.

• Uso de aparato de RV capaz de corrigir altos graus de miopia.

• Ferramenta de Zoom com o usuário parado, uma vez que o zoom é feito apenas coma translação do usuário.

• Inclusão de ferramentas de manipulação de unidades e escala.

• Utilizar outras formas de análise de dados, principalmente algumas não lineares-como: Non linear PCA e abordagem com auto encoders não lineares (com redesneurais, por exemplo).

Estas foram as sugestões consideradas mais relevantes apresentadas pelos usuários esão de grande utilidade para a criação de uma segunda versão do protótipo.

24

Figura 4.8: Distribuição de respostas obtida para a avaliação da eficácia do tutorial nouso da ferramenta, com (1) “Complicou muito o entendimento” e (5) “Auxiliou muito oentendimento”

Figura 4.9: Incidência de leve sensação de enjoo nos participantes da pesquisa.

4.3 problemas apresentados durante o teste

Os problemas identificados durante o teste foram relacionados à limitações do Hardware.

• Pelo fato do Oculus Rift possuir cabos, alguns usuários relataram verbalmente quesentiam “medo” de tropeçar nos cabos enquanto rotacionavam seus corpos.

• Usuários míopes relataram dificuldades com o Hardware, pois o mesmo não apre-senta correção para olhos com alta graduação de miopia. Usuários que possuiamarmações menores conseguiram usar seus óculus durante o teste.

25

Figura 4.10: Foto tirada durante a execução do teste, observe que usuário possui espaçosuficiente para rotacionar o corpo. Note também no canto inferior direito a tela docomputador, que permite acompanhar a experiência do usuário.

26

5 ConclusãoConforme proposto no plano de trabalho entregue a FAPESP no início de 2017, o projeto2016/23004-0 buscou apresentar um protótipo de ferramenta de visualização de dadosno ambiente virtual a fim de avançar o conhecimento na área de Visual Analytics ampa-rada nas novas tecnologias de RV. Os trabalhos desenvolvidos levaram à uma ferramentaprotótipo para a visualização de dados em RV, esta foi avaliada e testada por diversosusuários.

Os resultados da avaliação subjetiva realizada apontam que os esforços nessa direçãosão promissores mas que ainda existem vários ajustes a serem realizados visando a otimi-zação do uso do hardware, o projeto adequado de interfaces gráficas no ambiente virtuale avanços no entendimento da percepção humana em ambientes imersivos.

Entende-se que o presente trabalho representa um passo inicial no emprego das tec-nologias de RV no campo da Visual Analytics, uma vez que nesta pesquisa foram apre-sentadas plataformas de hardware e software capazes de criar uma experiência em RVsatisfatória para a maior parte dos usuários e um protótipo onde estas foram empregadasde forma a implementar esquemas de interação comuns ao processo de descoberta deinformação a partir da exploração de dados (Information Seeking Mantra).

As direções futuras a serem adotadas para uma continuação do presente trabalhodevem endereçar as sugestões dos usuários apresentadas na Seção 4.2.3, permitir novasmodalidades de tratamento e visualização de bancos de dados, além de explorar novasformas de visualização.

27

6 Agradecimentos

À Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP), pelaconcessão de bolsa e financiamento do projeto e aos voluntários participantes da avaliaçãodo projeto.

28

Referências bibliográficas[1] Ciro Donalek, S. George Djorgovski, Alex Cioc, Aiping Wang, Juyong Zhang, Eliza-

beth Lawler, Stacy Yeh, Ashish Mahabal, Mike Graham, Andrew Drake, and others.Immersive and collaborative data visualization using virtual reality platforms. InBig Data (Big Data), 2014 IEEE International Conference on, pages 609–614. IEEE,2014.

[2] Usama Fayyad, Gregory Piatetsky-Shapiro, and Padhraic Smyth. From data miningto knowledge discovery in databases. AI magazine, 17(3):37, 1996.

[3] Daniel A Keim. Information visualization and visual data mining. IEEE transactionson Visualization and Computer Graphics, 8(1):1–8, 2002.

[4] Michal Koutek. Scientific visualization in virtual reality: interaction techniques andapplication development. PhD thesis, TU Delft, Delft University of Technology, 2003.

[5] Bireswar Laha and Doug A Bowman. Identifying the benefits of immersion in virtualreality for volume data visualization. In Immersive visualization revisited workshopof the IEEE VR conference, pages 1–2, 2012.

[6] Jonathon Shlens. A tutorial on principal component analysis. CoRR, abs/1404.1100,2014.

[7] Ben Shneiderman. The eyes have it: A task by data type taxonomy for informationvisualizations. In Visual Languages, 1996. Proceedings., IEEE Symposium on, pages336–343. IEEE, 1996.

29