frameworkdistribuÍdoderecuperaÇÃode ... · vellone, matheus p.. content-based interface...

51
MATHEUS PEVIANI VELLONE FRAMEWORK DISTRIBUÍDO DE RECUPERAÇÃO DE IMAGEM POR CONTEÚDO BASEADO EM WORKFLOWS E WEBSERVICES LONDRINA–PR 2016

Upload: others

Post on 08-Aug-2020

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

MATHEUS PEVIANI VELLONE

FRAMEWORK DISTRIBUÍDO DE RECUPERAÇÃO DEIMAGEM POR CONTEÚDO BASEADO EM WORKFLOWS

E WEBSERVICES

LONDRINA–PR

2016

Page 2: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 3: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

MATHEUS PEVIANI VELLONE

FRAMEWORK DISTRIBUÍDO DE RECUPERAÇÃO DEIMAGEM POR CONTEÚDO BASEADO EM WORKFLOWS

E WEBSERVICES

Trabalho de Conclusão de Curso apresentadoao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel emCiência da Computação.

Orientador: Prof. Dr. Daniel dos Santos Kas-ter

LONDRINA–PR

2016

Page 4: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

Matheus Peviani VelloneFramework distribuído de recuperação de imagem por conteúdo baseado em

workflows e webservices/ Matheus Peviani Vellone. – Londrina–PR, 2016-49 p. : il. (algumas color.) ; 30 cm.

Orientador: Prof. Dr. Daniel dos Santos Kaster

– Universidade Estadual de Londrina, 2016.

1. Palavra-chave1. 2. Palavra-chave2. I. Orientador. II. Universidade xxx. III.Faculdade de xxx. IV. Título

CDU 02:141:005.7

Page 5: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

MATHEUS PEVIANI VELLONE

FRAMEWORK DISTRIBUÍDO DE RECUPERAÇÃO DEIMAGEM POR CONTEÚDO BASEADO EM WORKFLOWS

E WEBSERVICES

Trabalho de Conclusão de Curso apresentadoao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel emCiência da Computação.

BANCA EXAMINADORA

Prof. Dr. Daniel dos Santos KasterUniversidade Estadual de Londrina

Orientador

Prof. Dr. Segundo Membro da BancaUniversidade/Instituição do Segundo

Membro da Banca

Prof. Dr. Terceiro Membro da BancaUniversidade/Instituição do Terceiro

Membro da Banca

Prof. Ms. Quarto Membro da BancaUniversidade/Instituição do Quarto

Membro da Banca

Londrina–PR, 05 de Fevereiro de 2016 de2016

Page 6: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 7: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

Dedico este trabalho primeiramente a Deus,por ser essencial em minha vida, meu guia e socorro

presente na hora da angústia, ao meu pai Carlos,minha mãe Cláudia e aos meus irmãos, amigos e meu

orientador Kaster.

Page 8: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 9: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

AGRADECIMENTOS

Agradeço a Deus por cada dia de vida, pela força, pelas oportunidades e por todascoisas que Ele tem feito por mim durante toda a minha vida. Sem Ele eu não estaria ondeestou hoje.

Agradeço à minha mãe Cláudia e meu pai Carlos que sempre me ajudaram a metornar o que sou hoje. Eles que sempre estiveram a minha disposição e sempre restaurandoas minhas esperanças e nunca deixaram de me amar. Aos meus irmãos Gustavo e Heitoragradeço pelos dias divertidos e pela união que possuímos.

Agradeço aos membros da Família Shoulder (André Minoro Fusioka, GuilhermeSakaji Kido e Saulo Martiello Mastelini, o adotado) pelo apoio, amizade, diversão e con-vivência. Agradeço também aos outros amigos que conheci durante o curso (Kenji, Fred,Gustavo, Ricardo, Jonas, Kátia, Coréia, Deryk, Ito, Will, Hugo, Feeder, Garbim, Ches-sus, Jhones, Azeite) que mesmo tendo diminuído contato com alguns sou grato por tê-losconhecido. Agradeço também ao Luis Fernando Milano Oliveira pelas ajudas que contri-buiram para o desenvolvimento deste trabalho.

Além dos amigos da faculdade, agradeço aos meus amigos “pré-faculdade” pelaamizade verdadeira: Pedro “Borin2010” Henrique Vidal Borin, Rodrigo “Guilo” PorfírioMagalhães, Vinícius “Manfrex” Henrique Manfredini, Brendon “Tuti” Yuri Damini e Luiz“Engrenagem” Eduardo Lopes Baldo.

Por último mas não menos importante agradeço ao meu orientador Daniel dos San-tos Kaster, por toda paciência, pelos conselhos, pelos puxões de orelha e pela companhiapois eu sei que só estou aqui hoje pelo esforço dele.

Page 10: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 11: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

“Sabemos que Deus age em todas as coisaspara o bem daqueles que o amam, dos que

foram chamados de acordo com o seu propósito.(Bíblia Sagrada, Romanos 8, 28)

Page 12: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 13: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

VELLONE, MATHEUS P.. Framework distribuído de recuperação de imagempor conteúdo baseado em workflows e webservices. 49 p. Trabalho de Conclusãode Curso (Bacharelado em Ciência da Computação) – Universidade Estadual de Londrina,Londrina–PR, 2016.

RESUMO

É crescente a utilização de imagens dentro da área médica em sistemas de tomadas dedecisões, como a realização de diagnõsticos. Em casos onde o volume destas imagens émuito alto, o sistema perde muito desempenho se não for processado distribuidamente.Para isto, existem ferramentas aptas a ajudar e simplificar este passo. Neste trabalhoé proposto um framework que trabalha distribuído sobre o Spark que além de fazer ogerenciamento das informações distribuidamente, providencia alta tolerância à falhas. Osistema proposto também se utiliza de webservices e workflows para permitir a execuçãode pipelines de tarefas de forma simples.

Palavras-chave: Seleção de características. Workflow. Spark. Spark MLlib. Framework.CBIR.

Page 14: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 15: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices . 49 p. Final Project (Bachelor ofScience in Computer Science) – State University of Londrina, Londrina–PR, 2016.

ABSTRACT

There is a growing use of images on the medical area of decision-making systems, suchas making diagnoses. In cases where the volume of these images is too high, the systemloses much performance if not processed distributed. For this, there are tools able to helpand simplify this step. This paper proposes a framework that works distributed on theSpark that in addition to making the management of distributed information, provideshigh fault tolerance. The proposed system also uses web services and workflows to allowthe simple execution of tasks pipelines.

Keywords: Feature Selection. Workflow. Spark. Spark MLlib. Framework. CBIR.

Page 16: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 17: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

LISTA DE ILUSTRAÇÕES

Figura 1 – Exemplo de gráfico de Precision x Recall . . . . . . . . . . . . . . . . . 24Figura 2 – Verbos HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Figura 3 – Componentes de uma URL . . . . . . . . . . . . . . . . . . . . . . . . 25Figura 4 – Ferramentas Utilizadas no framework . . . . . . . . . . . . . . . . . . . 26Figura 5 – Exemplo de um simples Workflow no Taverna . . . . . . . . . . . . . . 27Figura 6 – Diagrama dos WebServices . . . . . . . . . . . . . . . . . . . . . . . . . 32Figura 7 – Diagrama classe Utils - Webservice . . . . . . . . . . . . . . . . . . . . 32Figura 8 – Teste de qualidade I - Extrator CEDD - Algoritmo Chi Quadrado . . . 40Figura 9 – Teste de qualidade II - Extrator CEDD - Algoritmo PCA . . . . . . . . 40Figura 10 – Teste de qualidade III - Extrator ColorHistogram - Algoritmo Chi Qua-

drado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Figura 11 – Teste de qualidade IV - Extrator ColorHistogram - Algoritmo PCA . . 41Figura 12 – Teste de qualidade V - Extrator FCTH - Algoritmo Chi Quadrado . . . 41Figura 13 – Teste de qualidade VI - Extrator FCTH - Algoritmo PCA . . . . . . . 41Figura 14 – Teste de qualidade VII - Extrator Haralick - Algoritmo Chi Quadrado . 42Figura 15 – Teste de qualidade VIII - Extrator Haralick - Algoritmo PCA . . . . . 42Figura 16 – Teste de qualidade IX - Extrator Moments - Algoritmo Chi Quadrado . 42Figura 17 – Teste de qualidade X - Extrator Moments - Algoritmo PCA . . . . . . 43Figura 18 – Resultados dos testes de performance . . . . . . . . . . . . . . . . . . . 43

Page 18: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 19: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

LISTA DE ABREVIATURAS E SIGLAS

API Application Programming Interface

BEFS Back-elimination Feature Selection

CBIR Content-based image retrieval

HTTP HyperText Transfer Protocol

IR Information Retrieval

PCA Principal Component Analisys

RDD Resilient Distributed Datasets

REST REpresentational State Transfer

SOAP Simple Object Access Protocol

URL Uniform Resource Locator

WSDL Web Service Definition Language

Page 20: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 21: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2 FUDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . 232.1 Conceitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.1.1 Seleção de características . . . . . . . . . . . . . . . . . . . . . . . 232.1.2 Precision × Recall . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.1.3 REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2 Ferramentas Externas . . . . . . . . . . . . . . . . . . . . . . . . . 262.2.1 Taverna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2.2 Apache Axis2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.3 Spark JobServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.4 Apache Spark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3 Trabalhos Correlatos . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3 FRAMEWORK PROPOSTO . . . . . . . . . . . . . . . . . . . 313.1 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.1.1 Servidor Web Services . . . . . . . . . . . . . . . . . . . . . . . . . 313.1.2 Servidor de Processamento . . . . . . . . . . . . . . . . . . . . . . 323.2 Vantagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.1 Algoritmos Testados . . . . . . . . . . . . . . . . . . . . . . . . . . 354.1.1 Chi Quadrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.1.2 Principal Component Analisys . . . . . . . . . . . . . . . . . . . . 354.2 Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.3 Ambiente Computacional . . . . . . . . . . . . . . . . . . . . . . . 364.4 Planejamento dos Testes . . . . . . . . . . . . . . . . . . . . . . . 364.4.1 Testes de Qualidade . . . . . . . . . . . . . . . . . . . . . . . . . . 364.4.2 Testes de Desempenho . . . . . . . . . . . . . . . . . . . . . . . . . 38

5 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.0.3 Resultados de qualidade . . . . . . . . . . . . . . . . . . . . . . . . 395.1 Resultados de desempenho . . . . . . . . . . . . . . . . . . . . . . 40

6 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Page 22: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 23: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

21

1 INTRODUÇÃO

Com a facilidade na aquisição de imagens, grande quantidades de imagens estãodisponíveis em inúmeros domínios. Em várias aplicações, usuários querem, ou precisam,efetuar uma busca de imagens de forma eficiente em um grande volume de dados, porémé muito difícil representar uma imagem por meio de palavras, o que dificulta esta busca[1]. É nesta área que sistemas CBIR (Content-based Image Retrieval, ou Recuperação deImagens por conteúdo) atuam: quando usuários desejam recuperar imagens que comparti-lham alguns elementos visuais com a imagem de busca que não possui nenhuma descriçãotextual. Para ser um sistema viável, os sistemas CBIR devem combinar técnicas de visãocomputacional para gerar descrições ricas da imagem, e uma estrutura de indexação efi-ciente [2]. Este passo da geração das descrições da imagem é conhecido como extração decaracterísticas.

Os sistemas CBIR se baseiam em tais vetores de características e é comum que otamanho destes vetores sejam da ordem de centenas de elementos [3]. Quanto maior a di-mensão do vetor, mais informações irrelevantes e redundantes podem existir, que quandoremovidas podem aumentar a precisão e o desempenho de sistemas CBIR e de classifica-ção. Para retirar estes dados dos vetores de características existe um processo chamadoseleção de características, que geralmente envolve um algoritmo de busca e uma funçãodistância. O algoritmo de busca gera e compara possíveis subvetores de característicaspor meio da função distância que atua como medidora de efetividade de cada subvetor.O melhor subvetor de características encontrado deste modo é a saída do algoritmo deseleção de característica [4].

As imagens podem apresentar conteúdos de diversos tipos logo, a mesma sequên-cia de execução (mesmo extrator e seletor de características) aplicada em dois conjuntosde imagens diferentes apresenta resultados divergentes. Por isso é necessária muita ex-perimentação para adquirir o conhecimento da combinação de algoritmos que apresentamelhor resultado. Para facilitar estas experimentações, é proposto no trabalho o desenvol-vimento de um framework que permite, por meio de uma interface simples e amigável, amontagem destas sequências de execução e a utilização de algoritmos complexos de umamaneira fácil. O framework conta com um processamento distribuído através da arquite-tura Spark [5], que surge como solução para processamento de Big Data fornecendo umamaneira fácil de escalar clusters para o número de máquinas necessárias.

Espera-se com o trabalho testar a eficiência do framework proposto quanto à mon-tagem dos frameworks e a facilidade de sua execução e, através deste framework, avaliartambém a qualidade e o desempenho de alguns dos algoritmos implementados.

Page 24: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

22

A Seção 2 apresenta conceitos necessários para o compreendimento do trabalho,descreve as ferramentas externas utilizadas na execução e desenvolvimento do frameworkproposto e cita alguns trabalhos correlatos. A Seção 3 apresenta detalhes sobre a organi-zação e implementação do framework proposto e as vantagens da sua utilização. A Seção4 detalha os algoritmos testados, os datasets e o ambiente computacional utilizados nostestes além do planejamento dos testes. A Seção 5 apresenta e discute os resultados obti-dos por meio dos testes executados. E por fim, a Seção 6 apresenta as conclusões obtidaspor meio dos resultados e os trabalhos futuros do trabalho.

Page 25: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

23

2 FUDAMENTAÇÃO TEÓRICA

2.1 Conceitos

2.1.1 Seleção de características

A seleção de características busca amenizar e/ou eliminar os efeitos de um fenô-nemo chamado “Maldição da Dimensionalidade”[3, 6]. Este fenômeno está relacionadoà dimensionalidade apresentada por vetores de características que, neste trabalho, é ovetor de caratecrísticas extraído de cada imagem. Silva[3] cita três consequências desta“maldição”, que se agravam conforme tal o número de características aumenta:

1. esparsidade das instâncias resultando em nivelamento das distância entre elas, atra-palhando o processo de treinamento da função de classificação de novos elementos,

2. aumento exponencial do espaço de busca para tarefas de Aprendizado de Máquinaque reflete em maior tempo de execução,

3. e irrelevâncias, correlações e redundância das características. Estas característicasagem como ruído.

2.1.2 Precision × Recall

Em tarefas de recuperação de informações com classificação binária (relevante enão relevante), a curva Precision × Recall se torna muito útil pois apresenta a relaçãoentre a fração das instâncias recuperadas que são relevantes (precision) e a fração dasinstâncias relevantes que são recuperadas (recall).

Baeza-Yates Ricardo; Ribeiro-Neto[7] definem Precision e Recall com um exem-plo: um usuário deseja localizar, recuperar e classificar documentos em um conjunto dedocumentos de acordo com a informação desejada. Em algum lugar neste conjunto existeao menos um documento relevante. Para avaliar o quão bem um sistema de image re-trieval combina a busca do usuário com o conjunto verifica-se a relação entre o númerode documentos relevantes no conjunto e os documentos que já foram recuperados. Estarelação é chamada “Recall”. O valor do Recall é aproximadamente a intersecção ∩ entreo número de documentos recuperados (𝑅𝑒𝑐) e o número de documentos relevantes (𝑅𝑒𝑙)dividido pelo número de relevantes (𝑅𝑒𝑙).

𝑅𝑒𝑐𝑎𝑙𝑙 = |𝑅𝑒𝑐 ∩ 𝑅𝑒𝑙||𝑅𝑒𝑙|

(2.1)

Page 26: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

24

Voltando ao exemplo de Baeza-Yates, qualquer pessoa que já utilizou um sistemade busca sabe que nem todos os documentos recuperados são os documentos desejados.Essa medida de desempenho para a fração dos documentos recuperados que são relevantesé chamada “Precision”. Utilizando as mesmas definições de antes:

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = |𝑅𝑒𝑐 ∩ 𝑅𝑒𝑙||𝑅𝑒𝑐|

(2.2)

Com base no elemento buscado e no dataset utilizado para a busca, é possívelgerar um precision para cada recall, possibilitando a construção de uma curva. A área sobessa curva representa a qualidade da busca realizada, e essa área é calculada de acordocom a integral da equação 2.3. Resultados que são próximos a 1 (solução ótima) indicamque a busca obteve resultados bons, no exemplo de Baeza-Yates, isso significaria que osdocumentos relevantes do conjunto foram recuperados antes dos documentos irrelevantes.Conforme o valor da área do gráfico se aproxima de 0, o resultado vai se invertendo.

𝐴𝑟𝑒𝑎 =∫︁ 1

0𝑓(𝑥)𝑑𝑥 (2.3)

A Figura 1 exemplifica um gráfico Precision × Recall. Pode-se notar que o gráficonomeado “Sem FeatureSelection” possui uma área sob a curva (integral) maior do que ográfico nomeado “Com FeatureSelection”, sendo assim, podemos concluir que a seleçãode características para este exemplo não melhorou o resultado.

Figura 1 – Exemplo de gráfico de Precision x Recall

Page 27: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

25

2.1.3 REST

A arquitetura de software REST se utiliza dos verbos HTTP (GET, POST, PUTe DELETE). Metsch et al.[8] define tais verbos HTTP de acordo com a Imagem 2.

Figura 2 – Verbos HTTP

Em conjunto com os verbos HTTP, a arquitetura REST também utiliza uma URL,cuja composição é demonstrada na Imagem 3. A junção destes dois elementos resultam emalguma ação em sistemas que possuem esta arquitetura, também chamados de sistemasRESTful.

Figura 3 – Componentes de uma URL

Um ponto importante de sistemas RESTful é que as chamadas REST são suporta-das por todas as linguagens de programação e não exigem muito processamento, fazendocom que a portabilidade de um sistema que faça estas chamadas seja imensa e que os seusrequisitos sejam baixos.

Page 28: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

26

Figura 4 – Ferramentas Utilizadas no framework

2.2 Ferramentas Externas

Nesta seção são descritas as ferramentas utilizadas no framework e o seu papeldesempenhado no framework. A Imagem 4 representa a organização das ferramentas.

2.2.1 Taverna

Taverna1 é um conjunto de ferramentas de workflows de código aberto2 projetadopara combinar Web Services distríbuidos e/ou ferramentas de análises de pipelines com-plexas [9]. O Taverna oferece uma interface gráfica fácil de ser manuseada que permitea criação de workflows como o da Imagem 5, que é uma representação de um workflowcomplexo construído no Taverna.

Neste trabalho o Taverna foi utilizado como manipulador de workflows: nele forammontados workflows que estruturaram os pipelines que foram invocados via web service(descrito na Seção 2.2.2).

1 <http://www.taverna.org.uk/>2 <https://github.com/taverna/>

Page 29: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

27

Figura 5 – Exemplo de um simples Workflow no Taverna

2.2.2 Apache Axis2

O Apache Axis23 é um middleware4 de código aberto5 para Web Services, mensa-gens SOAP e WSDL.

O Axis2 providencia abstrações e serviços que são utilizados em todos aspectosda pilha que compõe os Web Services. Perera et al.[10] enumera algumas funcionalidadeschaves providenciadas pelo Axis2:

1. Um framework para desenvolver, implantar, invocar e manusear Web Services

2. Framework para modelagem de diferentes padrões de troca de mensagens

3. Interações síncronas e assíncronas

4. Suporte para endereçamento Web Service

5. Suporte REST

Neste trabalho, o Axis2 foi utilizado como servidor das chamadas web services(originadas dos workflows da Seção 2.2.1). Após receber um chamada de web service, eleexecutava um código relativo à chamada recebida que invocava um novo job no Spark-JobServer 2.2.3.

2.2.3 Spark JobServer

O Spark JobServer6 pode ser considerado um middleware entre uma aplicação e oSpark (Seção 2.2.4). O JobServer possui alguns conceitos internos, são eles:3 <http://axis.apache.org/axis2/java/core/index.html>4 Middleware é toda aplicação que faz a mediação entre duas aplicações.5 <https://github.com/apache/axis2-java>6 <https://github.com/spark-jobserver/spark-jobserver>

Page 30: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

28

1. Jar: são os próprios arquivos com extensão .jar (comuns na linguagem Java). CadaJar representa uma aplicação.

2. Context: são configurações de execução,

3. Jobs: são serviços que executam processamento. Em outras palavras, jobs são ins-tâncias dos jars que rodam sobre algum context.

4. Data: são dados brutos que podem ser armazenados e gerenciados pelo Spark Job-Server.

Ele providencia uma interface RESTful para submissão e gerenciamento de jobs que édetalhada na Tabela 2.2.3.

Recurso Verbo HTTP URL Explicação

Jar GET /jars Lista todos os Jars e o horário do último upload.POST /jars/<nome> Faz upload de um novo Jar com o nome especificado.

Context

GET /contexts Lista todos os contextos disponíveis.POST /contexts/<nome> Cria um novo contexto de acordo com o nome especificado.DELETE /contexts/<nome> Deleta o contexto com o nome especificado.PUT /contexts?reload=reboot Finaliza todos contextos e carrega apenas contextos de configuração.

Jobs

GET /jobs Lista os últimos N jobs.POST /jobs Inicia um novo job.GET /jobs/<jobID> Recupera o resultado de um job específico.DELETE /jobs/<jobID> Finaliza o job especificado.GET /jobs/<jobID>/config Recupera a configuração de um job.

DataGET /data Lista os uploads de arquivos mais recentes que ainda não foram deletados.POST /data/<prefixo> Faz upload de um novo arquivo. O caminho completo do arquivo no servidor é retornado.DELETE /data/<nome_do_arquivo> Deleta o arquivo especificado. height

Tabela 1 – API RESTful do Spark JobServer

Neste trabalho, a cada chamada web service recebida executa uma chamada RESTpara o JobServer que inicia o processamento do que foi requisitado.

2.2.4 Apache Spark

Apache Spark7 é uma plataforma de código aberto para processamento de dadosem grande escala adequada para tarefas de aprendizado de máquina [11]. O Spark oferecesuporte nativo à linguagem de programação Scala e possui API’s para as linguagens Javae Python.

O Apache Spark vem ganhando espaço no meio acadêmico desde que se tor-nou open-source, o que possibilitou o desenvolvimento de novas funcionalidades comoo SparkSQL [12] e também uma biblioteca própria de aprendizado de máquina [11] que éo estudo de caso deste trabalho.

2.3 Trabalhos Correlatos

Na literatura existem muitos trabalhos como [13, 14] que comparam e estudam asdiferenças entre os mais diversos seletores de características. A performance dos modelos7 <http://spark.apache.org/>

Page 31: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

29

de classificação dependem da seleção das características mais relevantes. Remover carac-terísticas redundantes diminuem o tamanho do vetor e as vantagens desta redução não éalgo novo [15, 16, 17]:

∙ Reduz o risco de sobreajuste e, portanto, melhora a capacidade de generalização domodelo e melhora a previsibilidade;

∙ Requer menos poder computacional pois trabalha com menos características, le-vando ao aumento do poder de processamento.

Shilaskar e Ghatol[18] compara três modelos de algoritmos: FFI, FFS e BEFS.Seu estudo envolve estudo de algoritmos de seleção de características para diagnósticosmédicos de doenças cardiovasculares. A conclusão obtida pelo autor foi que:

∙ a maior acurácia foi obtida com o algoritmo FFS,

∙ o menor subvetor obtido foi com o algoritmo FFS para dados de arritmia e doençascardíacas.

Quando as características foram ranqueadas em ordem reversa de significância, a perfor-mance do BEFS foi menor do que utilizando o ranqueamento normal.

Porém nenhum destes trabalhos relatam experiências de seleção de característicasem sistemas distribuídos. Entretanto, existem muitos trabalhos de Big Data relacionadoà computação distribuída ou até mesmo a respeito do Spark, como é o caso de [19, 20].

No trabalho [21] os autores realizam um estudo comparativo entre o Apache Sparke outras soluções mais populares. Com um 1 TB de dados de imagens astronômicas, e 512núcleos de processamento, o experimento obteve um speedup de 3,5x.

A plataforma Hadoop também foi empregado como solução para problemas re-lacionados ao armazenamento e processamento de imagens médicas dentro de hospitais[22], onde além da melhora de performance, foi constatada a confidencialidade dos dadosinternos.

Fora do ambiente médico, Jai-Andaloussi et al.[23] se propôs a estudar o desem-penho do processamento distribuído na plataforma Hadoop com aplicação de sistemasCBIR em imagens genéricas, sem domínio especificado.

Page 32: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 33: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

31

3 FRAMEWORK PROPOSTO

Este Capítulo é dividido em: Desenvolvimento (Seção 3.1) e Vantagens(Seção 3.2)

O framework proposto neste trabalho foi desenvolvido na linguagem Scala e Javae dividido em 2 partes.

3.1 Desenvolvimento

O framework é separado em duas camadas:

∙ Servidor de Web Services e

∙ Servidor de Processamento.

3.1.1 Servidor Web Services

Esta parte do framework é responsável por receber as chamadas web services ori-ginadas dos workflows montados pelos utilizadores do sistema. Tendo recebido essas cha-madas, uma chamada é feita para o JobServer que inicializa o processamento na próximacamada: o servidor de processamento.

Esta camada involve diretamente o Axis2 e o Spark JobServer e indiretamente oTaverna.

Cada classe desta camada representa um “tipo” de serviço oferecido por meio deWeb Service, com exceção da classe “WebService” que é uma interface com informaçõessobre como acessar o JobServer e um método que realiza a chamada REST (definição naseção 2.1.3).

∙ Context: serviços para criação e deleção de contextos no JobServer,

∙ PreProcessing: serviços para realizar pré-processamento nas imagens,

∙ FeatureExtraction: serviços de extração de características das imagens,

∙ FeatureSelection: serviços de seleção de características.

As Figuras 6 e 7 representam os diagramas de classes das classes citadas acima.

Page 34: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

32

Figura 6 – Diagrama dos WebServices

Figura 7 – Diagrama classe Utils - Webservice

3.1.2 Servidor de Processamento

Esta parte do framework é responsável por receber chamadas dizendo qual algo-ritmo deve ser aplicado e sobre quais arquivos estes algoritmos devem ser executados.

Os testes realizados no Spark (descrito na Seção 4.4) foram executados nesta ca-mada do framework.

3.2 Vantagens

Pelo fato do framework operar através de webservices e workflows, uma série devantagens já podem ser destacadas:

∙ fácil invocação, visto que praticamente todas linguagens de programação suportamchamadas remotas,

∙ fácil utilização, pois workflows são intuitivos e fácil de serem utilizados e tambémpodem ser executados sobre um site, permitindo a montagem de sistemas a partirde qualquer dispositivo.

Page 35: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

33

A distribuição do processamento, realizada através do Spark, providencia um am-biente facilmente adaptável à execução do algoritmo, utilizando, de maneira adequada,todos os recursos disponíveis a fim de oferecer alto poder de processamento.

Page 36: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 37: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

35

4 METODOLOGIA

Neste Capítulo será apresentado a metodologia utilizada para a execução dos tes-tes. Na Seção 4.1 são definidos os algoritmos seleção e transformação de característicasavaliados neste trabalho. A Seção 4.2 fala sobre os datasets utilizados nos experimentos.O ambiente computacional onde foram executados os testes é descrito na Seção 4.3.

4.1 Algoritmos Testados

Todos algoritmos utilizados nos testes deste trabalho estão disponíveis tanto nabiblioteca de machine learning do Spark: a MLlib [11], quanto no software Weka.

Para avaliar o desempenho de cada um dos algoritmos serão gerados gráficos Pre-cision × Recall contendo, em uma mesma imagem, gráficos referentes a cada algoritmoexecutado.

4.1.1 Chi Quadrado

O algoritmo do Chi Quadrado é um método estatístico que mede o grau de in-dependência entre o atributo e a classe a qual pertence através da distribuição 𝜒2. Pararealizar a seleção das características utilizando este método, os atributos são ranqueadosde acordo com o grau de independência e as N melhores características são selecionadaspara representar o vetor.

4.1.2 Principal Component Analisys

O PCA é um método de transformação de características. O PCA é uma técnicaestatística que linearmente transforma um conjunto de atributos em um conjunto menorde atributos não correlacionados que representa grande parte da informação do conjuntooriginal [24].

4.2 Datasets

O conjunto de dados utilizado para os testes contém 171 imagens de pulmão eprovém do Hospital das Clínicas da Faculdade de Medicina de Ribeirão Preto. As imagensde pulmão estão divididas em 6 classes distintas: Consolidação, Enfisema, Espessamento,Favo de Mel, Normal, e Vidro Fosco, ou seja, o dataset já é classificado.

O dataset utilizado nos testes de desempenho (descrito na Seção 4.4) foram geradosaleatoriamente no software Weka. Este dataset foi gerado com 250.000 entradas, cadauma com 250 atributos numéricos simulando a saída de um extrator de características e

Page 38: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

36

o atributo classe com valor de 0 a 24, totalizando 25 classes. O dataset em disco ocupava370 MB.

4.3 Ambiente Computacional

Os testes foram executados em um cluster composto por 5 máquinas situadasno Laboratório do Departamento de Computação (DC) da UEL. As configurações dasmáquinas não são muito divergentes. Informações a respeito das configurações médias decada máquina podem ser encontradas na Tabela 2.

Frequência - Processador 2.8GHz 3̃.1GHzCapacidade - Memória RAM 3̃ GB RAMFrequência - Memória RAM 1333MHz

Tabela 2 – Configuração média das máquinas

Em todas máquinas o sistema operacional foi o Ubuntu 14.04 LTS versão 64 bits.A versão utilizada do Spark foi a 2.6.0 e o Java foi a 1.8. O sistema de arquivos NFSfoi utilizado para permitir que todos os computadores do ambiente acessassem os mes-mos arquivos com baixo custo e fácil implementação. Quatro das cinco máquinas foramconfiguradas como slaves e uma destas como master e slave.

4.4 Planejamento dos Testes

Foram realizados dois tipos de testes: de qualidade e de desempenho.

4.4.1 Testes de Qualidade

Os testes foram feitos de modo que são gerados 31 curvas de Precision × Recallpor algoritmo testado, todas elas agrupadas em um único gráfico:

∙ uma curva para o dataset original, antes da execução de qualquer algoritmo deseleção de características, para possibilitar a visualização da ação da seleção decaracterísticas,

∙ outra curva para o algoritmo de seleção de caraterísticas testado resultando emvetores com metade (1/2) dos atributos originais e

∙ a última curva para mesmo o algoritmo tendo como saída em vetores com 1/4 dosatributos originais.

1 O número de curvas por gráfico ficou fixo em 3 devido ao efeito visual confuso que era gerado nográfico caso o número fosse maior.

Page 39: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

37

Para a realização dos testes dos algoritmos de seleção/redução de características,no quesito qualidade, foi executado o passo da extração das características. Os extratoresforam executados em um dataset com 171 imagens distintas de coluna classificadas. Osalgoritmos de extração utilizados foram:

∙ CEDD [25], extrator de borda e cor,

∙ ColorHistogram, extrator de cor,

∙ FCTH [26], extrator de cor e textura,

∙ Haralick [27], extrator de textura,

∙ Moments [28], extrator estatístico.

Cada um dos extratores operam de um jeito único, gerando vetores completamentediferentes. Após realizada o processo da extração, foram notadas as seguintes caracterís-ticas para cada extrator:

∙ CEDD:

– 144 atributos além o atributo classe.

– Poucos atributos possuíam valores diferentes de zero.

∙ ColorHistogram:

– 64 atributos além o atributo classe.

– Poucos atributos possuíam valores diferentes de zero.

∙ FCTH:

– 192 atributos além o atributo classe.

– Poucos atributos possuíam valores diferentes de zero.

∙ Haralick:

– 14 atributos além o atributo classe.

– Todos valores de atributos diferentes de zero.

∙ Moments:

– 4 atributos além o atributo classe.

– Todos valores de atributos diferentes de zero.

Os testes envolvem a combinação destes 5 extratores com os dois algoritmos ava-liados (ChiQuadrado e PCA) nas duas plataformas (Weka e Spark), totalizando assim 20testes.

Page 40: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

38

4.4.2 Testes de Desempenho

Os testes de desempenho foram executados utilizando o dataset sintético que foigerado aleatoriamente pelo software Weka(descrito na Seção 4.2).

Os algoritmos utilizados para a comparação dos desempenhos foram: ChiSquare-dAttributEval presente no Weka e ChiSquare presente na MLlib. Ambos algoritmos foramexecutados com os parâmetros padrões, exceto pelo número de atributos a serem selecio-nados, que foi alterado para corresponder metade dos atributos presentes no dataset.

Foram executados testes em:

∙ 1 máquina com execução local (Weka),

∙ 1 máquina com execução distribuída (Spark),

∙ 3 máquinas com execução distribuída (Spark),

∙ 4 máquinas com execução distribuída (Spark),

∙ 5 máquinas com execução distribuída (Spark).

Page 41: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

39

5 RESULTADOS

Neste capítulo são apresentados os resultados obtidos a partir da execução dostestes descritos na Seção 4.4.

5.0.3 Resultados de qualidade

Esta seção trás os resultados obtidos com os testes especificados.

Como os datasets utilizados para mensurar a qualidade dos algoritmos é pequeno,o tempo de execução foi desconsiderado, pois esses mesmos algoritmos foram avaliadosno quesito desempenho na seção seguinte. Todos os testes descritos na Seção 4.4 foramexecutados e segue abaixo as imagens dos gráficos resultantes dos testes de qualidade.

Existem 3 cenários que podem ser encontrados nestes gráficos:

1. Quando a seleção/transformação de características aumenta a área sob a curva emcomparação ao dataset original, que representa que o resultado melhorou em 2aspectos: área maior (melhor qualidade dos resultados) e vetor de característicasmenor (melhor desempenho).

2. Quando o algoritmo aplicado não altera a curva, ou seja, o algoritmo eliminouatributos que não influenciavam no resultado.

3. Quando o algoritmo piora os resultados, diminuindo a área sob a curva, que ocorrequando atributos que representam a classe são retirados ou modificados de tal formaque perdem sua relação com a classe.

Existe ainda outro ponto a ser observado nas curvas. Para exemplificar, podemosutilizar o exemplo de Baeza-Yates Ricardo; Ribeiro-Neto[7] na Seção 2.1.2 do usuário quebusca por documentos. Este usuário, quando realiza a busca, tem contato com a primeirapágina, e se na primeira página não existem documentos relevantes, o usuário continuaa busca na segunda página. Por isso, os primeiros documentos recuperados podem serconsiderados mais importantes, pois são os documentos mais próximos do qual se busca.Nos gráficos, esse exemplo é representado por uma curva que começa com imagem próximoa 1.

As figuras da esquerda representam os resultados obtidos no Spark e os resulta-dos da direita os resultados obtidos no Weka.

A maioria das curvas não sofreu grande alterações se comparado ao dataset originalpois 3 dos 5 extratores utilizados nos experimentos geraram datasets com muitos 0’s. Sendoassim, os métodos de seleção/transformação de características simplesmente filtravam tais

Page 42: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

40

Figura 8 – Teste de qualidade I - Extrator CEDD - Algoritmo Chi Quadrado

Figura 9 – Teste de qualidade II - Extrator CEDD - Algoritmo PCA

Figura 10 – Teste de qualidade III - Extrator ColorHistogram - Algoritmo Chi Quadrado

atributos, não trazendo melhorias quanto à qualidade do resultado, somente melhorando oresultado quanto ao desempenho, uma vez que o número de atributos do dataset é menor.

5.1 Resultados de desempenho

É importante ressaltar que durante o teste de performance no Weka, o softwarenão foi capaz de abrir1 o dataset pois existe um parâmetro de inicialização padrão quelimita o máximo de memória RAM que pode ser alocado ao processo em 1GB. Para tornar1 Esperou-se 30 minutos pela abertura do dataset.

Page 43: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

41

Figura 11 – Teste de qualidade IV - Extrator ColorHistogram - Algoritmo PCA

Figura 12 – Teste de qualidade V - Extrator FCTH - Algoritmo Chi Quadrado

Figura 13 – Teste de qualidade VI - Extrator FCTH - Algoritmo PCA

o teste possível, este valor foi alterado para 3GB. Esta mudança afetou a performancedos testes executados no Weka de modo significativo, a ver pelo tempo de abertura dodataset: cerca de 3 minutos. Porém, se avaliarmos um caso real que possua um grandedataset da casa dos terabytes (reforçando que o tamanho do dataset utilizado neste testefoi de 370MB) o software Weka se torna inviável para execuções locais.

Todos os tempos contidos nessa seção correspondem ao tempo de execução doalgoritmo somado ao tempo de abertura do dataset.

O fato do Spark distribuído em 3, 4 e 5 nós ter perdido em desempenho para asexecuções locais ocorre devido a necessidade do algoritmo ChiQuadrado trocar mensa-

Page 44: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

42

Figura 14 – Teste de qualidade VII - Extrator Haralick - Algoritmo Chi Quadrado

Figura 15 – Teste de qualidade VIII - Extrator Haralick - Algoritmo PCA

Figura 16 – Teste de qualidade IX - Extrator Moments - Algoritmo Chi Quadrado

gens entre os nós que estão processando para estabelecer toda a estatística por trás doalgoritmo.

Como no ambiente de testes todas as máquinas estavam conectadas via rede ca-beada por meio de um switch não muito potente, foi medido um outro tempo: de umamáquina rodando o Spark com apenas um nó, pois a causa do aumento do tempo de pro-cessamento poderia ser o switch. O resultado deste teste foi a execução total do algoritmoem 1 minuto e 1 segundo, quebrando a hipótese de que o algoritmo do Spark pudesseestar erroneamente implementado e mostrando que o motivo do tempo de processamentoaumentar conforme o número de nós aumenta é a rede que interliga os computadores.

Page 45: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

43

Figura 17 – Teste de qualidade X - Extrator Moments - Algoritmo PCA

Figura 18 – Resultados dos testes de performance

Page 46: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 47: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

45

6 CONCLUSÃO

As tarefas de aprendizado de máquina da biblioteca MLlib do Spark requeremmais do que máquinas potentes, uma infraestrutura de rede que permita a alta troca demensagens entre os nós. Isso ocorre por conta da distribuição da programação, pois todosos nós devem se comunicar para estabelecerem limiares e valores necessários para cálculosde importância dos atributos que estão sendo trabalhados.

Foi constatado o alto potencial do framework proposto devido à facilidade ofe-recida para a montagem dos pipelines sem a necessidade de conhecimento aprofundadosobre os algoritmos, contando também com o processamento distribuído. Isso possibilitoutestar a eficiência da combinação de extratores e seletores de características e datasets demaneira simples e fácil. Sendo assim os objetivos da pesquisa foram atingidos verificandoa eficiência da biblioteca MLlib contida no Spark que atua distribuidamente e também oresultado da distribuição da programação, embora o ambiente de teste não tenha sido omelhor possível.

Como trabalhos futuros podemos avaliar outros experimentos com extratores maisdiversificados, assim como mais métodos de seleção/transformação de características eas combinações entre ambos. Para avaliar o real desempenho da execução distribuída énecessário que seja realizado um teste em um ambiente propício para lidar com o problemada intensa troca de mensagens citado no trabalho.

Page 48: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project
Page 49: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

47

REFERÊNCIAS

[1] MARÉE, R.; GEURTS, P.; WEHENKEL, L. Content-based image retrievalby indexing random subwindows with randomized trees. In: AL., Y. Y. et(Ed.). Proc. 8th Asian Conference on Computer Vision (ACCV), LNCS.Springer-Verlag, 2007. (LNCS, v. 4844), p. 611–620. Disponível em: <http://www.montefiore.ulg.ac.be/services/stochastic/pubs/2007/MGW07b>.

[2] DATTA, R. et al. Image retrieval: Ideas, influences, and trends of the new age. ACMComput. Surv., ACM, New York, NY, USA, v. 40, n. 2, p. 5:1–5:60, maio 2008.ISSN 0360-0300. Disponível em: <http://doi.acm.org/10.1145/1348246.1348248>.

[3] SILVA, S. F. d. Seleção de características por meio de algoritmos genéticos paraaprimoramento de rankings e de modelos de classificação. 2011. Tese (Doutoradoem Ciências de Computação e Matemática Computacional) - Instituto de CiênciasMatemáticas e de Computação, University of São Paulo, São Carlos, 2011. Disponívelem: <http://www.teses.usp.br/teses/disponiveis/55/55134/tde-19072011-151501/>.

[4] SERPICO, S.; BRUZZONE, L. A new search algorithm for feature selection inhyperspectral remote sensing images. Geoscience and Remote Sensing, IEEETransactions on, v. 39, n. 7, p. 1360–1367, Jul 2001. ISSN 0196-2892.

[5] CHOWDHURY, M.; ZAHARIA, M.; STOICA, I. Performance and Scalability ofBroadcast in Spark. p. 1–10, 2010. Disponível em: <http://www.mosharaf.com/wp-content/uploads/mosharaf-spark-bc-report-spring10.pdf>.

[6] TRUNK, G. V. A problem of dimensionality: A simple example. Pattern Analysisand Machine Intelligence, IEEE Transactions on, PAMI-1, n. 3, p. 306–307, July1979. ISSN 0162-8828.

[7] BAEZA-YATES RICARDO; RIBEIRO-NETO, B. Modern Information Retrieval.first. [S.l.]: Addison Wesley, 1999.

[8] METSCH, T. et al. Open Cloud Computing Interface - RESTful HTTP Rendering.October, 2011.

[9] WOLSTENCROFT, K. et al. The taverna workflow suite: designing and executingworkflows of web services on the desktop, web or in the cloud. Nucleic AcidsResearch, 2013. Disponível em: <http://nar.oxfordjournals.org/content/early/2013/05/02/nar.gkt328.abstract>.

[10] PERERA, S. et al. Axis2, middleware for next generation Web Services. Proceedings- ICWS 2006: 2006 IEEE International Conference on Web Services, p. 831–840,2006. ISSN 0-7695-2669-1.

[11] MENG, X. et al. Mllib: Machine learning in apache spark. CoRR, abs/1505.06807,2015. Disponível em: <http://arxiv.org/abs/1505.06807>.

Page 50: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

48

[12] ARMBRUST, M. et al. Spark sql: Relational data processing in spark. In:Proceedings of the 2015 ACM SIGMOD International Conference on Managementof Data. New York, NY, USA: ACM, 2015. (SIGMOD ’15), p. 1383–1394. ISBN978-1-4503-2758-9. Disponível em: <http://doi.acm.org/10.1145/2723372.2742797>.

[13] YANG, Y.; PEDERSEN, J. O. A Comparative Study on Feature Selection in TextCategorization. Proceedings of the Fourteenth International Conference on MachineLearning (ICML’97), p. 412–420, 1997. ISSN 1976-3700.

[14] SáNCHEZ-MAROñO, N.; ALONSO-BETANZOS, A.; TOMBILLA-SANROMáN,M. Filter methods for feature selection – a comparative study. In: YIN,H. et al. (Ed.). Intelligent Data Engineering and Automated Learning -IDEAL 2007. Springer Berlin Heidelberg, 2007, (Lecture Notes in ComputerScience, v. 4881). p. 178–187. ISBN 978-3-540-77225-5. Disponível em:<http://dx.doi.org/10.1007/978-3-540-77226-2_19>.

[15] GUTLEIN, M. et al. Large-scale attribute selection using wrappers. In:Computational Intelligence and Data Mining, 2009. CIDM ’09. IEEE Symposiumon. [S.l.: s.n.], 2009. p. 332–339.

[16] SAMB, M. L. et al. A Novel RFE-SVM-based Feature Selection Approach forClassification. v. 43, p. 27–36, 2012.

[17] MALDONADO, S.; WEBER, R.; BASAK, J. Simultaneous feature selectionand classification using kernel-penalized support vector machines. InformationSciences, v. 181, n. 1, p. 115 – 128, 2011. ISSN 0020-0255. Disponível em:<http://www.sciencedirect.com/science/article/pii/S0020025510004287>.

[18] SHILASKAR, S.; GHATOL, A. Feature selection for medical diagnosis:Evaluation for cardiovascular diseases. Expert Systems with Applications,v. 40, n. 10, p. 4146–4153, 2013. ISSN 09574174. Disponível em: <http://dx.doi.org/10.1016/j.eswa.2013.01.032>.

[19] SHORO, A. G.; SOOMRO, T. R. Big Data Analysis : Apache Spark Perspective.v. 15, n. 1, 2015.

[20] BANSOD, A. Efficient Big Data Analysis with Apache Spark in HDFS. n. 6, p.313–316, 2015.

[21] ZHANG, Z. et al. Scientific computing meets big data technology: Anastronomy use case. CoRR, abs/1507.03325, 2015. Disponível em: <http://arxiv.org/abs/1507.03325>.

[22] GU, C.; GAO, Y. A content-based image retrieval system based on hadoopand lucene. In: Cloud and Green Computing (CGC), 2012 Second InternationalConference on. [S.l.: s.n.], 2012. p. 684–687.

[23] JAI-ANDALOUSSI, S. et al. Medical content based image retrieval by usingthe hadoop framework. In: Telecommunications (ICT), 2013 20th InternationalConference on. [S.l.: s.n.], 2013. p. 1–5.

[24] DUNTEMAN, G. H. PRINCIPAL COMPONENTS ANALYSIS. first. [S.l.]:SAGE-USA, 1989. v. 69.

Page 51: FRAMEWORKDISTRIBUÍDODERECUPERAÇÃODE ... · VELLONE, MATHEUS P.. Content-Based Interface Retrieval Distributed fra-mework based on workflows and webservices. 49 p.Final Project

49

[25] CHATZICHRISTOFIS, S. A.; BOUTALIS, Y. S. CEDD: color and edge directivitydescriptor: a compact descriptor for image indexing and retrieval. Springer-Verlag,p. 312–322, may 2008. Disponível em: <http://dl.acm.org/citation.cfm?id=1788524.1788559>.

[26] CHATZICHRISTOFIS, S. A.; BOUTALIS, Y. S. FCTH: Fuzzy Color andTexture Histogram - A Low Level Feature for Accurate Image Retrieval. In:2008 Ninth International Workshop on Image Analysis for Multimedia InteractiveServices. IEEE, 2008. p. 191–196. ISBN 978-0-7695-3344-5. Disponível em:<http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4556917>.

[27] KITANOVSKI, I. et al. Comparison of feature extraction algorithms formammography images. In: 2011 4th International Congress on Image and SignalProcessing. IEEE, 2011. v. 2, p. 888–892. ISBN 978-1-4244-9306-7. Disponível em:<http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6100285>.

[28] GLETSOS, M. et al. A computer-aided diagnostic system to characterize CTfocal liver lesions: design and optimization of a neural network classifier. IEEETransactions on Information Technology in Biomedicine, v. 7, n. 3, p. 153–162, sep2003. ISSN 1089-7771. Disponível em: <http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1229853>.