PAULO ROBERTO SILVA CHAGAS JÚNIOR

Tamanho: px
Começar a partir da página:

Download "PAULO ROBERTO SILVA CHAGAS JÚNIOR"

Transcrição

1 UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO PAULO ROBERTO SILVA CHAGAS JÚNIOR Avaliação de arquiteturas de Redes Neurais Convolucionais para classificação de imagens de gráficos Belém 2018

2 Paulo Roberto Silva Chagas Júnior Avaliação de arquiteturas de Redes Neurais Convolucionais para classificação de imagens de gráficos Dissertação de Mestrado apresentada como um dos requisitos para obtenção do grau de Mestre em Ciência da Computação. Programa de Pós- Graduação em Ciência da Computação. Instituto de Ciências Exatas e Naturais. Universidade Federal do Pará. Orientador Prof. Dr. Jefferson Magalhães de Morais Coorientador Prof. Dr. Bianchi Serique Meiguins Belém 2018

3 Paulo Roberto Silva Chagas Júnior Avaliação de arquiteturas de Redes Neurais Convolucionais para classificação de imagens de gráficos Data da defesa: Belém, 26 de fevereiro de 2018 Conceito: Dissertação de Mestrado apresentada para obtenção do grau de Mestre em Ciência da Computação. Programa de Pós-Graduação em Ciência da Computação. Instituto de Ciências Exatas e Naturais. Universidade Federal do Pará. Prof. Dr. Jefferson Magalhães de Morais Orientador Programa de Pós-Graduação em Ciência da Computação UFPA Prof. Dr. Bianchi Serique Meiguins Coorientador Programa de Pós-Graduação em Ciência da Computação UFPA Prof. Dr. Dionne Monteiro Membro Externo Faculdade de Computação UFPA Prof. Dr. Filipe de Oliveira Saraiva Membro Interno Programa de Pós-Graduação em Ciência da Computação UFPA

4

5

6 Dedico este trabalho aos meus pais, Paulo Roberto e Maria Lucileia, que sempre estiveram ao meu lado, me orientando e incentivando nos caminhos que tomei.

7 AGRADECIMENTOS Agradeço ao meu orientador Prof. Jefferson Magalhães de Morais e ao meu coorientador Prof. Bianchi Serique Meiguins por me aceitarem como orientando, e me ajudarem a crescer não só academicamente, mas como ser humano também. Obrigado por todo o apoio e confiança. Agradeço aos meus pais, Paulo Roberto e Maria Lucileia por todo carinho, paciência e dedicação que tiveram comigo. Não chegaria em lugar nenhum sem eles. Agradeço ao meu irmão Lucas por sempre estar apoiando e proporcionando boas risadas e pizzas. Agradeço a todos os amigos do Laboratório de Visualização da Informação (LABVIS), que cresceu bastante desde minha entrada ainda na graduação, mas que continua como uma família. Em especial, agradeço aos amigos de dentro e fora do laboratório Alexandre (AleShow), Anderson, Brunelli, Elvis, Eric, Gustavo, Hugo, Rodrigo, Ronald e Tiago, por proporcionarem boas risadas, auxílios e sempre estarem dispostos a ajudar. Agradeço também ao amigo Rafael que contribuiu bastante na elaboração deste trabalho. Agradeço à minha namorada Juliana, por todo encorajamento, apoio, carinho, risadas e paciência nessa etapa. Agradeço ao amigo Leandro, que sempre incentivou e ajudou bastante ao longo da minha jornada acadêmica. Por fim agradeço a todos amigos, familiares, conhecidos, professores, e todos que contribuíram direta ou indiretamente para o desenvolvimento deste trabalho.

8 O treino nunca mente. (Capitão Tetsu, da série Diamond no Ace)

9 PUBLICAÇÕES Referentes a este trabalho Chagas, P., De Freitas, A. A., Akiyama, R. D., Miranda, B. P., De Araujo, T. D. O., Dos Santos, C. G. R.,... & De Morais, J. M. (2017, July). Architecture Proposal for Data Extraction of Chart Images Using Convolutional Neural Network. In st International Conference Information Visualisation (IV) (pp ). IEEE. Demais publicações durante o mestrado Freitas, A. A. de; Araújo, T. D. O. ; Chagas, P. ; Miranda, B.; Murakami, B. A. F. ; Santos, C. G. R. ; Mota, M. P.; Meiguins, B. S.. Analyzing the benefits of the combined interaction of head and eye tracking in 3D visualization information. In: Brazilian Symposium on Human Factors in Computer System, p Santos, C.G., Araújo, T., Chagas, P.R., Neto, N.; Meiguins, B.S., Recognizing and exploring azulejos on historic buildings' facades by combining computer vision and geolocation in Mobile augmented reality applications. Journal of Mobile Multimedia, 13(1-2), pp Santos, C., Araújo, T., Silva, E., Chagas, P., Morais, J.; Meiguins, B., Recognizing Azulejos of Texture Pattern Combining Computer Vision Techniques with Global Positioning System. Homci, M., Chagas, P., Miranda, B., Freire, J., Viégas, R., Pires, Y., Meiguins, B.; Morais, J., 2016, November. A new strategy based on feature selection for fault classification in transmission lines. In Ibero-American Conference on Artificial Intelligence (pp ). Springer, Cham.

10 RESUMO Em uma era onde a quantidade de dados disponíveis cresce continuamente, formas de representar esses dados se fazem necessárias para que o ser humano possa entendê-los e fazer inferências a partir dos mesmos. No entanto, nem sempre é possível acessar esses dados, de modo que em vários cenários somente os gráficos estão disponíveis para análise. Assim, métodos automáticos de extração de dados de imagens de gráficos se fazem necessários, permitindo um posterior tratamento desses dados recuperados. Nesse contexto, o processo de extração de dados dos gráficos pode ser dividido em duas etapas: classificação e extração. Este trabalho foca na etapa de classificação, propondo uma avaliação de Redes Neurais Convolucionais para esta tarefa. Para treinamento e teste, foi utilizada uma base de imagens geradas automaticamente e de forma aleatória, para 10 tipos de gráficos (Arco, Área, Barra, Coordenadas Paralelas, Linha, Matriz, Pizza, Scatter Plot, Sunburst e Treemap). Da mesma forma, imagens foram coletadas da internet para compor uma base de validação, de modo que se possa verificar se os classificadores conseguem generalizar as características dos 10 tipos de gráficos de forma satisfatória treinando somente com imagens sintetizadas. Para validar a metodologia proposta, testes sistemáticos foram realizados utilizando diferentes arquiteturas de Redes Neurais Convolucionais que estão presentes na literatura (VGG-19, Resnet-50 e Inception-V3), e comparando as mesmas com classificadores convencionais (K-Nearest Neighbor, Naive Bayes, Support Vector Machine e Random Forest) combinados com o método de extração de características HOG. Os resultados mostraram que os modelos Resnet-50 e Inception- V3 obtiveram as maiores acurácias na base de validação, com 77,76% e 76,77% respectivamente. Além disso, as matrizes de confusão foram analisadas a fim de verificar não só as diferenças em desempenho dos classificadores, mas também como cada um se comporta para cada classe. Palavras-chave: Classificação de imagens de gráficos, Visualização da Informação, Deep Learning, Redes Neurais Convolucionais.

11 ABSTRACT In an age where the amount of available data grows continuously, ways of representing this data are necessary for the human being to understand them and make inferences from them. However, it is not always possible to access this data, so in many scenarios, only the chart images are available for analysis. Thus, automatic methods of extracting data from chart images are necessary, allowing a later treatment of this recovered data. In this context, the data extraction process from chart images can be divided into two steps: classification and extraction. This work focuses on the classification stage, proposing an evaluation of Convolutional Neural Networks for this task. For training and testing, a database of randomly generated images was used for 10 types of charts (Arc, Area, Bar, Parallel Coordinates, Line, Matrix, Pizza, Scatter Plot, Sunburst, and Treemap). Similarly, images were collected from the internet to compose a validation dataset, so it can be verified if the classifiers can generalize the characteristics of 10 chart types in a satisfactory way by training only with synthesized images. In order to validate the proposed methodology, systematic tests were performed using different Convolutional Neural Network architectures (VGG-19, Resnet-50 and Inception-V3) and comparing them with conventional classifiers (K-Nearest Neighbor, Naive Bayes, Support Vector Machine and Random Forest) combined with the HOG feature extraction method. The results showed that Resnet-50 and Inception-V3 models obtained the highest accuracy in the validation dataset, with 77.76% and 76.77%, respectively. In addition, the confusion matrices were analyzed in order to verify not only the differences in performance of the classifiers but also how each one behaves for each class. Key-words: Chart Image Classification, Information Visualization, Deep Learning, Convolutional Neural Networks.

12 SUMÁRIO LISTA DE ABREVIATURAS E SIGLAS LISTA DE ILUSTRAÇÕES LISTA DE TABELAS INTRODUÇÃO Justificativa Objetivos Metodologia Organização do Trabalho REFERENCIAL TEÓRICO Visualização da Informação Visão Computacional Classificação Convencional Deep Learning e Redes Neurais Convolucionais Redes Neurais Convolucionais Trabalhos Relacionados METODOLOGIA PROPOSTA Base de imagens de gráficos Técnicas utilizadas para Classificação Convencional Extração de Características WEKA... 52

13 3.2.3 Classificadores convencionais Seleção dos parâmetros do modelo Arquiteturas de CNN Keras e Tensorflow Seleção das arquiteturas Transfer Learning e Fine-tuning Treinamento por Mini-batch EXPERIMENTOS E RESULTADOS Discussões acerca do treinamento das CNNs CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS Considerações finais Trabalhos futuros REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICE... 83

14 LISTA DE ABREVIATURAS E SIGLAS CNN HOG OCR PCA SGD SVM Convolutional Neural Network Histogram of Oriented Gradients Optical Character Recognition Principal Component Analysis Stochastic Gradient Descent Support Vector Machine

15 LISTA DE ILUSTRAÇÕES Figura 1. Exemplo de gráficos em mídias do cotidiano Figura 2. Exemplo de a) um gráfico de barra, e b) os elementos visuais específicos que devem ser detectados para extração Figura 3. Exemplo de dois gráficos de linha com características diferentes. a) possui linha e nenhuma legenda, enquanto que b) possui múltiplas linhas, diferentes contornos e presença de legenda Figura 4. Fluxograma de desenvolvimento do trabalho Figura 5. Aplicações de visão computacional para a) OCR, e b) detecção e segmentação de objetos Figura 6. Processo de classificação de imagens, destacando etapa de extração de características Figura 7. Exemplo de um modelo de deep-learning, ilustrando uma arquitetura de 3 camadas Figura 8. Arquitetura do Perceptron Figura 9. Exemplo de convolução de Rede Neural Convolucional, onde se tem a imagem I, o kernel K, e o resultado da convolução I K Figura 10. Exemplo de operação de pooling. Regiões de tamanho 2x2 e passo de 2 pixels são selecionadas, de modo que pode-se selecionar a média dessa região ou o máximo Figura 11. Metodologia proposta para avaliação e comparação dos classificadores. 42

16 Figura 12. Exemplos de gráficos de barra gerados neste trabalho Figura 13. Exemplos de gráficos de barra gerados neste trabalho Figura 14. Exemplos de gráficos de pizza gerados neste trabalho Figura 15. Exemplos de gráficos de scatter plot gerados neste trabalho Figura 16. Exemplos de gráficos de diagrama de arco gerados neste trabalho Figura 17. Exemplos de gráficos de área gerados neste trabalho Figura 18. Exemplos de coordenadas paralelas gerados neste trabalho Figura 19. Exemplos de matrizes gerados neste trabalho Figura 20. Exemplos de sunbursts gerados neste trabalho Figura 21. Exemplos de treemaps gerados neste trabalho Figura 22. Exemplos de a) um gráfico de pizza, b) HOG features extraídas com CellSize 40x40, e c) HOG features extraídas com CellSize 2x Figura 23. Exemplos de gráficos de pizza e barra (esquerda), e as respectivas HOG features extraídas dos gráficos (direita), considerando CellSize 28x Figura 24.Arquitetura LeNet-5, destacando as operações aplicadas ao longo da rede Figura 25. Comparação entre acurácias de diferentes arquiteturas de CNN Figura 26. Arquitetura do Inception-V3, destacando a) top-layers, e b) últimas camadas onde o fine-tuning será aplicado Figura 27. Dois gráficos de barra presentes na base de validação Figura 28. Acurácia no treinamento do modelo VGG-19, que pode ser divido em: a) treino das top-layers, e b) fine-tuning das últimas camadas da rede Figura 29. Acurácia no treinamento do modelo Inception-V3, que pode ser divido em: a) treino das top-layers, e b) fine-tuning das últimas camadas da rede

17 Figura 30. Acurácia no treinamento do modelo Resnet-50, que pode ser divido em: a) treino das top-layers, e b) fine-tuning das últimas camadas da rede

18 LISTA DE TABELAS Tabela 1. Número de trabalhos que usaram cada tipo de gráfico Tabela 2. Quantidade de gráficos gerados artificialmente e de imagens coletadas da internet Tabela 3 Parâmetros usados na seleção do modelo Tabela 4 Parâmetros usados para treinamento dos modelos de CNN Tabela 5 Resultados da comparação dos modelos de CNN com os classificadores convencionais Tabela 6. Matriz de confusão para classificação da base de validação utilizando o modelo Inception-V Tabela 7. Matriz de confusão para classificação da base de validação utilizando o modelo Resnet Tabela 8. Acurácia de cada classe para classificação da base de validação utilizando o modelo Resnet

19 1. INTRODUÇÃO Nos últimos anos tem ocorrido um aumento exponencial na quantidade de dados, não só a partir de diferentes tipos de fontes, mas também em formatos variados. O conjunto de informações que o ser humano possui acesso tem aumentado não só na velocidade que as mesmas são coletadas, mas também em versatilidade. Isto implica no problema de como representar esses dados de maneira útil para que o usuário possa utilizá-los de forma eficiente (KHAN e KHAN, 2011), já que a tarefa de analisar informação se torna mais difícil à medida que o volume de dados cresce (SHNEIDERMAN, 1996). Nessa conjuntura, técnicas de visualização da informação (como gráficos de barra, linha, pizza, entre outras) são ferramentas importantes na análise e interpretação desses dados, já que representações visuais são mais fáceis de se interpretar do que dados brutos (SHNEIDERMAN, 1996). Isso se deve ao fato de que nesses gráficos se busca mapear os dados abstratos de maneira concisa e objetiva. Essas visualizações são amplamente utilizadas em diversos tipos de documentos, e estão relacionadas aos mais variados assuntos do nosso cotidiano, estando presentes em vários tipos de mídia, como jornais, revistas e na internet. A Figura 1 ilustra exemplos desses gráficos, onde se pode observar gráficos de barra 1.a), e pizza 1.b). 16

20 a) b) Com o crescimento da área de Visualização da Informação, uma grande quantidade de técnicas de visualização de dados vem sendo desenvolvida (KHAN e KHAN, 2011). Nesse sentido, o tipo de visualização escolhido pode ter um efeito direto nas inferências que podem ser extraídas a partir dos dados (FRANCISCANI JR, SANTOS, et al., 2014). Assim, em uma situação tradicional, os dados brutos devem ser analisados e, dependendo do contexto, são escolhidos determinados tipos de visualização que melhor se adequem para o entendimento e solução desse problema, sendo uma abordagem bastante útil para auxiliar a tomada de decisões. Se os dados estão disponíveis, alterar o formato das visualizações e inspecionar esses dados utilizando diferentes técnicas é um processo com passos definidos, geralmente sendo sumarizado na aplicação de algum pré-processamento (se necessário), na aplicação de uma ou mais técnicas de visualização, e na realização de uma posterior avaliação. No entanto, os dados nem sempre estão disponíveis, de modo que em vários cenários somente as imagens de gráficos podem ser acessadas, dificultando uma posterior análise refinada das informações por alguém que não possui os dados brutos originais. Apesar de ser possível extrair dados a partir de representações visuais manualmente, isto é uma tarefa trabalhosa e por vezes complexa dependendo do usuário, da técnica e da quantidade de dados. Portanto, métodos automáticos baseados em visão computacional são necessários para extrair os dados presentes em uma imagem. Figura 1. Exemplo de gráficos em mídias do cotidiano. Fonte: a) b) Extrair dados automaticamente de um gráfico é, por si só, uma tarefa difícil, devido à 17

21 variedade e complexidade dos mesmos (MISHCHENKO e VASSILIEVA, 2011). O processo de extração de dados de imagens de gráficos, também referenciado como análise de gráficos (TANG, LIU, et al., 2016), pode ser dividido basicamente em dois passos (SAVVA, KONG, et al., 2011): classificação e extração. Dada uma imagem, o primeiro passo é determinar (isto é, classificar) qual tipo de gráfico ela está representando (por exemplo: gráfico de barra, linha, pizza, entre outros). Posteriormente, os dados são extraídos seguindo um algoritmo de extração específico para cada tipo de gráfico. O problema de classificação de imagens de gráficos tem sua importância principalmente por ser uma etapa essencial do processo de análise de gráficos. Esta etapa é necessária pois cada tipo de gráfico possui elementos visuais característicos, de modo que a extração de dados relacionados a tais elementos deve ocorrer de forma diferenciada para cada classe de gráfico. A Figura 2 ilustra um exemplo de gráfico de barra e os respectivos elementos visuais que devem ser considerados na tarefa de extração. Pode-se notar que os dados estão correlacionados à altura das barras e os rótulos da visualização (destacados em vermelho, como título, eixos, entre outros), no entanto essa associação varia dependendo do tipo de gráfico. Por exemplo, em um gráfico de pizza a abordagem não seria encontrar dados correlacionados à altura das barras, mas sim ao tamanho do arco das fatias da visualização.????? a) b) Figura 2. Exemplo de a) um gráfico de barra, e b) os elementos visuais específicos que devem ser detectados para extração. Fonte: 18

22 A integração de um módulo de classificação de imagens de gráficos em uma ferramenta de análise de gráficos abre possibilidade para diversos tipos de aplicações, como por exemplo: integração de um módulo de análise de gráficos em assistentes virtuais; aplicações voltadas para auxiliar usuários que possuem deficiência visual e/ou cognitiva no processo de entendimento de um gráfico; utilização dos dados extraídos para gerar novas visualizações que melhorem a percepção do usuário; ou até mesmo redesenhar o gráfico mas com melhores diretrizes de design (como disposição dos elementos, esquema de cores, etc.). Desta forma, estudos na área de análise de gráficos têm ganhado destaque, assim como na área de classificação de gráficos, por ser uma etapa importante do processo geral. Este trabalho foca na etapa de classificação das imagens de gráficos, propondo o uso de Redes Neurais Convolucionais (LECUN, BOTTOU, et al., 1998) (Convolutional Neural Network - CNN). Para realizar este estudo, arquiteturas de Redes Neurais Convolucionais foram selecionadas dentre as várias disponíveis na literatura e consideradas como estado-daarte na área de classificação de imagens (CANZIANI, PASZKE e CULURCIELLO, 2016). A fim de verificar a capacidade de generalização do modelo, essas arquiteturas foram comparadas com técnicas de classificação convencional de imagens, que diferentemente dos modelos de CNN, utilizam um método de extração de características independente e anterior à classificação. Para composição da base de dados utilizada no treinamento dos classificadores, imagens de gráficos foram geradas de forma automática, definindo não só elementos visuais, mas também a distribuição dos dados de forma aleatória. Os classificadores adotados no trabalho irão utilizar uma base distinta para treino e teste, ambas geradas seguindo o processo definido anteriormente. Depois do treinamento, uma etapa de validação dos modelos é executada utilizando uma base de imagens coletadas de diversas fontes disponíveis publicamente na internet. Dessa forma, considerando as diferenças que podem existir entre imagens geradas aleatoriamente seguindo um determinado padrão visual e as coletadas da internet, busca-se verificar a capacidade de generalização dos classificadores para cada tipo de gráfico. 1.1 Justificativa Recentemente, técnicas de processamento de imagem e aprendizado de máquina para 19

23 classificação de imagens de gráficos têm atraído a atenção da comunidade científica (PRASAD, SIDDIQUIE, et al., 2007; HUANG, ZONG e TAN, 2007; MISHCHENKO e VASSILIEVA, 2011; SAVVA, KONG, et al., 2011; TAM, KOTHARI e CHEN, 2017). A classificação de imagens de gráficos é complexa devido às variações não só entre diferentes tipos de gráficos, mas também entre gráficos do mesmo tipo, podendo variar em distribuição dos dados, disposição dos elementos na tela (como legenda, eixos, etc.), entre outras características. A Figura 3 ilustra dois gráficos de linha que, apesar de serem do mesmo tipo, possuem diferenças consideráveis, como número de linhas, presença e tipo de marcadores dos pontos, entre outras características. Além disso, alguns elementos visuais podem aparecer em mais de um tipo de gráfico, dificultando a generalização das classes pelo classificador. Portanto, o classificador deve ser capaz de generalizar as características específicas de cada tipo de gráfico, mesmo que tais características possam variar consideravelmente na mesma classe de gráfico. a) b) Figura 3. Exemplo de dois gráficos de linha com características diferentes. a) possui linha e nenhuma legenda, enquanto que b) possui múltiplas linhas, diferentes contornos e presença de legenda. De um modo geral, um algoritmo de aprendizado de máquina busca encontrar uma estrutura ou padrões em um conjunto de dados, e a representação desses dados podem fazer uma grande diferença no sucesso do processo de aprendizado (BENGIO, 2012). Existem diferentes práticas para compor representações desses dados, e a opção convencional quando se trata de imagem é desenvolver manualmente um extrator de características, o que requer um conhecimento do processo de extração e do domínio do problema (LECUN, BENGIO e HINTON, 2015). No entanto, descobrir o que é uma boa representação para determinado problema é outra linha de pesquisa que possui um vasto potencial. Consequentemente, esse 20

24 processo de implementação manual de um extrator de características pode ser evitado se características de alto-nível das classes em questão puderem ser aprendidas automaticamente utilizando um procedimento de aprendizado de propósito geral, isto é, que não seja específico para um determinado domínio (LECUN, BENGIO e HINTON, 2015). Nesse contexto, as Redes Neurais Convolucionais são um tipo de rede neural que tem se destacado bastante na área de classificação de imagens e detecção de objetos (SPANHOL, OLIVEIRA, et al., 2016; LIU, GAO, et al., 2017; YEUNG, LI e CHUNG, 2017; YIN, WU e ZHENG, 2016), alcançando resultados promissores para esse tipo de tarefa. Seu sucesso pode ser atribuído à habilidade de aprender representações de alto nível da imagem, não sendo necessário criar um extrator de características de baixo nível para cada problema (OQUAB, BOTTOU, et al., 2014). Além disso, as características obtidas pelas CNNs contém informações de mais alto nível dos gráficos em relação às características obtidas por extratores projetados à mão, sendo mais robustas às variações dos tipos de gráficos e ruídos nas imagens (TANG, LIU, et al., 2016). Para o escopo deste trabalho foi definido que somente arquiteturas mais robustas e consolidadas no estado-da-arte seriam avaliadas no contexto de classificação de imagens de gráficos, sendo uma das principais contribuições em relação aos trabalhos relacionados. Como pode ser visto, as duas abordagens de classificação (convencional e por Redes Neurais Convolucionais) possuem propostas bem distintas, de modo que extrair características apropriadas do conjunto de gráficos é primordial para a solução do problema em questão. Assim, para fins de comparação, os classificadores devem ser treinados utilizando uma mesma base de imagens de gráficos. No entanto, nos trabalhos relacionados, não foi encontrada uma base padrão de imagens de gráficos, de modo que a abordagem utilizada na maioria dos casos é coletar imagens da internet. Com isso, este trabalho propõe utilizar uma base de imagens geradas automaticamente a partir de dados aleatórios, assim como disponibilizar essa base publicamente na internet. Isso implica em uma base compostas de imagens variadas, mas de layout padronizado. Portanto, a fim de avaliar as arquiteturas de CNN, este trabalho busca responder as seguintes hipóteses: Hipótese 1: considerando as peculiaridades do problema de classificação de gráficos e o fato de uma base gerada automaticamente ser utilizada no treinamento, as arquiteturas de CNN generalizam melhor as características das classes de gráfico 21

25 em relação aos métodos tradicionais de classificação. A fim de responder essa hipótese, uma base de imagens coletadas da internet será utilizada somente para validar os modelos treinados. Assim, partindo de um treino com imagens padronizadas e validando com imagens da internet, pode-se verificar o quanto foi generalizado das características de cada tipo de gráfico. Hipótese 2: visto que determinados tipos de gráficos podem possuir características visuais muito similares a outros, os tipos de gráficos podem influenciar no desempenho dos classificadores, assim como tais semelhanças serão confirmadas na avaliação dos modelos. Para responder essa hipótese, testes serão feitos com diferentes tipos de gráficos, que vão desde os mais simples até visualizações mais complexas e que vão validar a capacidade de diferenciação dos modelos. 1.2 Objetivos O objetivo principal deste trabalho é avaliar sistematicamente arquiteturas de Redes Neurais Convolucionais para classificação de imagens de gráficos, comparando as mesmas com técnicas convencionais de classificação. Para alcançar esse objetivo, os seguintes objetivos específicos podem ser definidos: Compor uma base de imagens de gráficos gerados de forma automática e aleatória, para treinamento e teste dos modelos; Avaliar a acurácia das arquiteturas de CNN comparando com métodos convencionais de classificação; Analisar a matriz de confusão da etapa de validação das arquiteturas de CNN, a fim de verificar a capacidade de generalização dos modelos e quais tipos de gráfico os classificadores mais se confundiram. 1.3 Metodologia A metodologia apresentada neste trabalho é baseada no escopo da avaliação de arquiteturas de Redes Neurais Convolucionais para classificação de imagens de gráficos. Além disso, visto que o problema de classificação de gráficos tem como ponto de grande importância a extração de características dessas imagens, este estudo também compara abordagens de classificação 22

26 convencional, a fim de verificar como as diferentes formas de representação dos dados influenciam no desempenho dos modelos. Este trabalho adotou as etapas definidas no fluxograma mostrado na Figura 4. Assim, as etapas vão desde o levantamento bibliográfico para definição dos tipos de gráficos e dos classificadores utilizados, até a aplicação de algoritmos para treinamento, teste e validação dos diferentes modelos de aprendizado, seguida da avaliação dos resultados obtidos. Figura 4. Fluxograma de desenvolvimento do trabalho. 1.4 Organização do Trabalho Este trabalho está organizado em 5 capítulos: Introdução, Referencial Teórico, Metodologia Proposta, Experimentos e Resultados, e Considerações Finais e Trabalhos Futuros. 1. Introdução (página 15): apresenta uma visão geral do trabalho, abordando as 23

27 motivações e justificativa do mesmo; 2. Referencial Teórico (página 2524): aborda conceitos necessários para melhor compreensão do trabalho, mostrando uma revisão das áreas envolvidas e os trabalhos mais relevantes para o desenvolvimento deste trabalho; 3. Metodologia Proposta (página 41): apresenta a metodologia proposta para classificação de imagens de gráficos, abordando a base de dados e as técnicas utilizadas para o treinamento dos modelos; 4. Experimentos e Resultados (página 2464): exibe os resultados obtidos, apresentando discussões acerca do processo de treinamento e da capacidade de generalização dos modelos; 5. Considerações Finais e Trabalhos Futuros (página 74): aponta conclusões acerca dos experimentos e os respectivos resultados, e apresenta propostas de trabalhos futuros. 24

28 2. REFERENCIAL TEÓRICO A fim de auxiliar a compreensão deste trabalho, este capítulo apresenta os principais conceitos e trabalhos relacionados acerca das áreas envolvidas no desenvolvimento deste estudo. 2.1 Visualização da Informação A tarefa de visualização pode ser conceituada como a formação de um modelo mental para compreensão de algo (SPENCE, 2014). Visualização da informação (InfoVis), expande esse conceito para o contexto da compreensão de dados, de modo que pode ser definida como uma interface visual que proporciona ao usuário a descoberta de informações a partir desse conjunto de dados (KHAN e KHAN, 2011). Desse modo, o principal propósito da InfoVis é amplificar o desempenho cognitivo (SPENCE, 2014) por meio de representações gráficas que proporcionem a análise e descoberta de informações de uma forma entendível e eficiente, simplificando a interpretação dos dados (KHAN e KHAN, 2011). Assim, diferentes técnicas de visualização foram desenvolvidas (KHAN e KHAN, 2011), e a escolha da técnica a ser aplicada depende da tarefa e do tipo de dado do problema em questão (SHNEIDERMAN, 1996). Visto que este trabalho foca na classificação de imagens de gráficos, a escolha das técnicas abordadas neste estudo possuem grande influência nos resultados a serem obtidos. Apesar de existir uma taxonomia de dados proposta por Shneiderman (1996), com respectivas visualizações que são consideradas mais adequadas para cada tipo de dado, neste trabalho, os tipos de gráficos foram definidos baseado exclusivamente nas técnicas convencionais de visualização mais frequentes nos trabalhos relacionados e na inclusão de técnicas que implicariam em um conjunto de tipos de gráficos visualmente similares entre si. Os seguintes 25

29 tipos de gráfico foram selecionados: Gráfico de Arco, Gráfico de Área, Gráfico de Barra, Coordenadas Paralelas, Gráfico de Linha, Matriz, Gráfico de Pizza, Scatter Plot, Sunburst e Treemap. Esses gráficos serão detalhados mais adiante. 2.2 Visão Computacional O problema deste trabalho se encontra na área da Visão Computacional, uma linha de pesquisa que tem como principal objetivo encontrar informações úteis a partir de objetos reais e cenas detectadas em imagens (SHAPIRO e STOCKMAN, 2000). É uma área essencial no contexto atual devido ao crescimento da quantidade de dados visuais que ocorreu nos últimos anos. Isso se deve principalmente ao fato de que diferentes tipos de sensores têm se tornado cada vez mais acessíveis ao usuário comum, assim como formas de compartilhar e ter acesso a esses dados. A visão, seja computacional ou animal, pode ser definida em dois componentes (MOINDROT, 2017): Dispositivo sensor: captura o máximo de detalhes possíveis de uma imagem. Em geral, uma câmera captura imagens de forma similar ao olho humano e transmite as informações para o computador. Nesta etapa, a câmera possui um melhor desempenho que os humanos, já que elas podem capturar dados infravermelhos, imagens mais distantes ou com uma maior precisão. Dispositivo de interpretação: deve processar a informação da imagem e extrair significados a partir da mesma. O ser humano consegue resolver esse tipo de tarefa em múltiplos passos ao longo de diferentes partes do cérebro. No entanto, a visão computacional ainda possui um atraso em relação ao ser humano nesse domínio. Visto que dados visuais estão presentes em diferentes tipos de cenários, a área de visão computacional proporciona diversas aplicações como detecção de faces, reconhecimento óptico de caracteres (Optical Character Recognition - OCR), detecção e segmentação de objetos (veja Figura 5), entre outras. 26

30 a) b) Figura 5. Aplicações de visão computacional para a) OCR, e b) detecção e segmentação de objetos. Fonte: a) b) Dentre as diferentes tarefas intrínsecas à área de visão computacional, este trabalho se encaixa no problema de classificação de imagens. A tarefa de classificação geralmente entra em vários tipos de cenários como uma etapa inicial antes de algum tipo de seleção ou tomada de decisões. Isso também se aplica ao problema deste trabalho, visto que a classificação de imagens de gráficos serve como etapa anterior ao processo de extração de dados, agindo como mecanismo de escolha de um determinado algoritmo de extração. Assim, o objetivo da classificação é identificar características, padrões ou estruturas relevantes em uma imagem, utilizando as mesmas para atribuir uma determinada classe para uma imagem (SOLOMON e BRECKON, 2011). O processo de aprendizado utilizado neste trabalho foi o Aprendizado Supervisionado. Nesse tipo de metodologia, tem-se uma base de dados rotulados, isto é, a base é composta por elementos (geralmente chamados de instâncias) que possuem uma determinada classe, de modo que o modelo irá tentar aprender as características desse conjunto de dados de tal forma que seja possível fazer a predição da classe de uma nova instância com classe a priori desconhecida (SOLOMON e BRECKON, 2011). Esse processo de aprendizagem do classificador sobre uma determinada base é chamado de treinamento. Um modelo possui uma boa capacidade de generalização se o mesmo for capaz de classificar corretamente novas instâncias distintas às do treino. 27

31 2.3 Classificação Convencional Visto que a tarefa de classificação consiste em, dado um conjunto de dados rotulados, passar informações para um determinado classificador, os dados das imagens devem ser representados de alguma forma que o algoritmo de classificação possa diferenciar as classes de forma eficiente. No processo de classificação convencional tem-se um conjunto de dados na forma [Xi, Yi] (FORSYTH e PONCE, 2012), onde cada vetor de características Xi consiste em medições de diferentes propriedades (também chamadas de features) de cada imagem, e Yi são as respectivas classes de cada imagem. A principal dificuldade desta abordagem está na escolha de boas características para compor esse vetor de características, de modo que a resolução desse problema consiste em construir características que destaquem variações entre classes, e suprimam diferenças entre elementos da mesma classe (FORSYTH e PONCE, 2012). Esse processo é chamado de extração de características (feature extraction), o qual visa extrair informações relevantes para classificação (SHAPIRO e STOCKMAN, 2000). Assim, para cada amostra de treinamento, N características serão calculadas para compor um vetor N-dimensional de características x = [x 1, x 2,, x N ] (SOLOMON e BRECKON, 2011). Para tal, técnicas de Processamento de Imagem podem ser aplicadas para extração dessas características, como cor, textura, bordas, formas, gradientes, descritores de região da imagem, entre outras. Algumas características são apropriadas para aplicação em diversos domínios, funcionando como descritores de propósito geral, no entanto a maioria dos problemas possuem propriedades específicas a serem exploradas. Considerando a proposta deste trabalho, o classificador deve ser treinado utilizando uma base de imagens de gráficos devidamente rotuladas, onde neste caso, o rótulo é o tipo do gráfico. Assim, após o treino, o classificador deve ser capaz de classificar novos gráficos com uma determinada acurácia. A Figura 6 ilustra o processo tradicional de treinamento no contexto de classificação de imagens de gráficos, mostrando duas imagens de exemplo na etapa de extração de características, de modo que a partir de uma é gerado um vetor de características. O que vale destacar nesse tipo de processo é que o método de extração de características ocorre de forma independente do classificador. 28

32 Base de Dados Imagem_1 Tipo_A Imagem_2 Imagem_3 Imagem_4 Tipo_A Tipo_B Tipo_B Extração de características Classificador (Treinamento) Modelo treinado... Exemplo Figura 6. Processo de classificação de imagens, destacando etapa de extração de características. 2.4 Deep Learning e Redes Neurais Convolucionais Apesar das técnicas convencionais de classificação ainda serem bastante relevantes para a área de visão computacional, elas possuem uma desvantagem em comum: as mesmas dependem de um ser humano para projetar as características a serem extraídas e para escolher os classificadores que funcionam bem para um problema específico. Desta forma, alguns métodos que podem ser eficientes para resolver um determinado problema, podem não possuir o mesmo desempenho quando aplicados em outros cenários. O processo de extração de características que sejam boas para uma tarefa específica requer uma quantidade de habilidade e conhecimento do domínio, implicando na questão de como descobrir a melhor forma de representar os dados (LECUN, BENGIO e HINTON, 2015). Deep-Learning (ou Aprendizado Profundo) é uma abordagem que se tornou um dos pilares da pesquisa moderna na área de visão computacional, propondo uma arquitetura de várias 29

33 camadas de aprendizado, sem a necessidade de uma criação de features construídas manualmente. Algoritmos baseados em deep-learning buscam explorar estruturas desconhecidas na distribuição dos dados de entrada a fim de descobrir boas representações dos mesmos, geralmente a partir de múltiplos níveis de aprendizado, de modo que características de mais alto nível são definidas em termos de características de baixo nível (BENGIO, 2012). Em essência, esses métodos de aprendizado profundo são baseados em arquiteturas de múltiplos níveis hierárquicos de representação obtidos pela composição de módulos simples e não-lineares organizados em sucessivas camadas. Dessa forma, a representação dos dados é transformada a cada nível da arquitetura (isto é, a cada camada), partindo da imagem inicial como entrada do algoritmo até representações de mais alto nível de abstração (LECUN, BENGIO e HINTON, 2015). O principal diferencial da estratégia de deep-learning é que as características de cada camada são aprendidas automaticamente, permitindo que o sistema possa aprender funções complexas diretamente dos dados brutos, sem a dependência de um processo de extração de características construído separadamente (BENGIO, 2009). No contexto de classificação, o aprendizado hierárquico possibilita a obtenção de representações que destaquem aspectos importantes para discriminação dos dados e abstração de variações irrelevantes (LECUN, BENGIO e HINTON, 2015). A Figura 7 exemplifica uma arquitetura de deep-learning bem simples composta de 3 camadas de modo que se pode observar que a cada camada, diferentes características são aprendidas. Além disso, é possível notar que as características são aprendidas em nível hierárquico. Por exemplo, considerando uma base de imagens de faces, as camadas mais baixas tendem a aprender formas mais simples como contornos e linhas. A segunda camada opera utilizando as representações da camada anterior extraindo partes de objetos compostos por um pequeno número de contornos. A terceira camada atua com as representações anteriores, aprendendo objetos inteiros que podem ser descritos como coleções de um pequeno número de partes de objetos. Com múltiplas camadas não-lineares (por exemplo uma profundidade de 3 a 20), um sistema pode implementar funções extremamente complexas a partir de seus dados de entrada, as quais são ao mesmo tempo sensíveis a detalhes nas variações entre classes, e insensíveis a grandes variações irrelevantes como fundo da imagem, pose, iluminação e objetos próximos (LECUN, BENGIO e HINTON, 2015). 30

34 Modelo Características aprendidas da base Camada 3 Objetos Camada 2 Partes de objetos Camada 1 Contornos Pixels de entrada Figura 7. Exemplo de um modelo de deep-learning, ilustrando uma arquitetura de 3 camadas. Fonte: Modificado de Goodfellow, Redes Neurais Convolucionais Rede Neural Convolucional (Convolutional Neural Network - CNN) pode ser definida como um tipo de arquitetura de deep-learning que possui a operação de convolução em pelo menos uma camada (GOODFELLOW, BENGIO e COURVILLE, 2016). Esse modelo processa dados na forma de múltiplos arrays (GOODFELLOW, BENGIO e COURVILLE, 2016), utilizando dados de entrada em seu formato original. A vantagem disso é que dados como sinais (dados unidimensionais), imagens ou áudios (dados bidimensionais), vídeos ou imagens volumétricas (dado tridimensionais), e outras formatos, não perdem sua dimensionalidade através da transformação dos mesmos em um vetor. Visto que esse tipo de arquitetura é especializado em processar dados multidimensionais (GOODFELLOW, BENGIO e COURVILLE, 2016), o mesmo alcançou bons resultados em 31

35 aplicações de classificação de imagens, se consolidando como estado-da-arte em tarefas de visão computacional (RUSSAKOVSKY, DENG, et al., 2015). Nesse contexto, em termos de arquitetura, uma rede neural convencional possui desempenho inferior ao de uma CNN principalmente porque as convencionais não escalam bem para imagens (KARPATHY, 2016). A Figura 8 ilustra o módulo básico de operação de uma rede neural convencional, o Perceptron (ROSENBLATT, 1957). Nesse módulo, cada elemento dos dados de entrada possui um peso associado, de modo que quanto mais importante a entrada é, maior o peso tende a ser. Por fim, a saída do Perceptron é a soma ponderada dos dados de entrada, seguindo de uma função de não-linearidade para evitar o problema da singularidade que a soma gera, melhorando a capacidade de generalização do modelo. Função de não-linearidade h entrada(imagem) saída Figura 8. Arquitetura do Perceptron. Fonte: Dessa forma, um Perceptron pode ser descrito através da Equação 1: y = h(w. x + θ) (1) De um modo geral, uma rede neural é composta de várias camadas totalmente conectadas, cada uma composta de vários Perceptrons, também chamados de neurônios em uma rede neural. O procedimento de treinamento consiste na atualização dos pesos através da retropropagação da derivada do erro, processo também chamado de backpropagation (GOODFELLOW, BENGIO e COURVILLE, 2016). Nesse contexto, redes neurais 32

36 convencionais não escalam bem para imagens completas como entrada. Por exemplo, se considerarmos uma imagem de tamanho apenas de 32x32x3 (32 pixels de largura, 32 de altura, e 3 canais de cor), e visto que as camadas são totalmente conectadas (isto é, todos os neurônios de uma camada estão conectados a todos da próxima camada), somente a camada inicial teria que possuir = 3072 pesos, isso sem considerarmos as camadas seguintes. Assim, é possível notar que para imagens de tamanhos maiores o número de pesos tende a aumentar rapidamente. As Redes Neurais Convolucionais contornam esse problema tomando vantagem do fato da entrada ser uma imagem, utilizando neurônios de volume tridimensional, comprimindo a arquitetura em uma forma mais sensível. Desta forma, os neurônios possuem largura, altura e profundidade, e se conectam somente em partes da camada anterior (não sendo totalmente conectados). Apesar disso, uma CNN simples ainda é, como uma rede neural tradicional, uma sequência de camadas, de modo que cada camada transforma os dados a partir de uma função derivável. Nas primeiras aplicações práticas de CNN, LeCun e colaboradores construíram uma arquitetura de Rede Neural Convolucional (essa arquitetura ficou conhecida como LeNet-5), para reconhecimento de dígitos (LECUN, BOSER, et al., 1990) (LECUN, BOTTOU, et al., 1998), obtendo resultados que alcançaram o estado-da-arte. A fim de explicar o funcionamento e os componentes básicos de uma CNN, a seguir estão listadas as operações que compõem uma arquitetura básica de CNN. Camada de convolução: calcula a saída dos neurônios conectados a regiões locais da entrada. A entrada de cada camada é chamada de feature map (ou mapa de características), e o conjunto de pesos é chamado de filter bank (ou kernels). Cada saída é computada a partir do produto vetorial dos filtros com as regiões do mapa de características, utilizando um determinado passo para percorrê-lo por completo. A Figura 9 ilustra um exemplo de convolução, onde pode-se notar que a matriz resultante possui dimensão menor devido ao janelamento usado na aplicação da função kernel. Matematicamente, essa aplicação dos filtros sobre o feature map é uma convolução discreta, daí o nome do modelo de rede neural. Assim, o valor de feature (resultado da convolução) na localização (i, j) no k-ésimo feature map da l- 33

37 ésima camada, segue o mesmo modelo da Equação 1, e é calculado pela Equação 2. l z i,j,k l = w T l k x i,j + θ k l (2) Figura 9. Exemplo de convolução de Rede Neural Convolucional, onde se tem a imagem I, o kernel K, e o resultado da convolução I K. Fonte: Função de ativação: adiciona não-linearidade para que a rede possa detectar features não-lineares. Um exemplo de função bastante utilizada em CNNs é a Rectified Linear Unit (ReLU) (NAIR e HINTON, 2010), que toma um valor como argumento e retorna o máximo entre esse valor e 0 (max (0, x)). Camada de subamostragem: também chamado de pooling, busca alcançar invariância de deslocamento através da redução da resolução dos feature maps. De um modo geral, seleciona-se uma região do feature map e uma aplicação de subamostragem é realizada, como média (average pooling) ou máximo (max pooling). A Figura 10 ilustra um feature map e as operações de average pooling e max pooling, resultando em um feature map de resolução inferior. 34

38 Figura 10. Exemplo de operação de pooling. Regiões de tamanho 2x2 e passo de 2 pixels são selecionadas, de modo que pode-se selecionar a média dessa região ou o máximo. Fonte: Camada totalmente conectada: após várias camadas de convolução e subamostragem, a camada totalmente conectada no fim serve para utilizar as features aprendidas e realizar uma discriminação de mais alto nível. Por fim, no cenário de classificação, para extrair as probabilidades de cada classe geralmente se utiliza a operação softmax (GU, WANG, et al., 2015). Assim, uma arquitetura de CNN se diferencia da outra principalmente pela profundidade da rede (isto é, o número de camadas) e pelas operações que são aplicadas ao longo das camadas. Em geral, quanto mais camadas, melhor o aprendizado, no entanto isso gera um custo computacional maior e tende a causar overfitting (situação em que o classificador se comporta bem para a base de treinamento mas não consegue bons resultados para classificação de elementos fora dessa base de dados). Da mesma forma que redes neurais convencionais, o treinamento de uma CNN também é um problema de otimização. Os pesos devem ser atualizados de tal forma que a função do erro seja minimizada. 2.5 Trabalhos Relacionados Esta seção apresenta os trabalhos mais relevantes para a elaboração e o desenvolvimento deste trabalho. Alguns trabalhos tiveram maior importância, influenciando a escolha dos classificadores e métodos de treinamento, enquanto que outros apresentam trabalhos 35

39 relacionados, de modo que foi possível destacar principalmente trabalhos que abordaram classificação convencional de imagens de gráficos e metodologias que utilizaram CNNs para classificação de imagens de gráficos. Considerando classificadores convencionais, a tarefa de classificação de imagens depende consideravelmente da escolha da técnica de extração de características. Portanto, vários estudos foram feitos utilizando diferentes abordagens para extrair features relevantes das imagens de gráficos. Huang, Zong e Tan (2007), introduzem o problema de classificação de imagens de gráficos como parte de análise de gráficos (chart analysis). Para treinamento e reconhecimento, detectores de forma foram usados para representar uma imagem como um bag of features obtido a partir das formas encontradas. Nesse trabalho, a tarefa de classificação de imagens é vista como um problema de multi-instance learning, e uma versão modificada do algoritmo Diverse Density foi utilizada para resolver essa questão. Um fator de correlação de cada forma é calculado para cada tipo de imagem, de modo que os coeficientes aprendidos são utilizados para classificar uma imagem nova, a partir da identificação de formas com um coeficiente alto. Os autores utilizaram 4 tipos de gráficos (barra, pizza, linha, e donut), e alcançaram uma acurácia média de 76,762%. Este trabalho foi importante pois destacou o problema de classificação de imagens de gráficos no processo de análise de gráficos, e mostrou uma abordagem de extração de características para implementação dessa tarefa. Prasad et al. (2007) propôs uma classificação de vários tipos de imagens de gráficos utilizando features baseadas em forma e relacionamentos espaciais. Para treinamento, features baseadas em segmentação, curva, HOG (Histogram of Oriented Gradients) (DALAL e TRIGGS, 2005), e SIFT (Scale-Invariant Feature Transform) (LOWE, 1999) são extraídas de cada imagem, de forma que a similaridade entre imagens é calculada a partir do algoritmo de Pyramid Match. O algoritmo Support Vector Machine (SVM) é utilizado para classificação baseado nesses valores de similaridade. Foram utilizados 5 tipos de gráficos (barra, pizza, scatter plot, e surface), e a acurácia média alcançada foi de 83,8%. A importância desse trabalho está na análise das features extraídas, mostrando diferentes possibilidades de técnicas para comparação com modelos de CNN neste trabalho. Mishchenko e Vassilieva (2011) desenvolveram um framework para extração automática 36

40 de dados numéricos a partir de imagens de gráficos, convertendo os dados extraídos para o formato Extensible Markup Language (XML). Nesse estudo, a classificação é feita utilizando uma abordagem baseada em modelo. Esse método consiste em modelar componentes gráficos específicos de cada tipo de gráfico e parear os dados de entrada com esses modelos para cada tipo de gráfico, realizando um procedimento de consenso. Esse trabalho utilizou 4 classes de gráficos (área, coluna, linha, e pizza) e teve uma acurácia média de 90%. Esse estudo foi interessante pois mostrou outra abordagem de extração de características e uma forma de tratar os dados extraídos do gráfico. Savva et al. (2011) apresentaram o sistema ReVision, que recebe imagens de gráficos como entrada e automaticamente gera novas visualizações com o objetivo de melhorar a percepção da representação visual. A metodologia desse trabalho pode ser dividida em três etapas: classificação dos gráficos, extração dos dados e redesenho da visualização a partir dos dados extraídos. O trabalho aplica técnicas de visão computacional para extração de features da imagem e de elementos textuais especificamente, e aprendizado de máquina para identificação do tipo de gráfico, utilizando o classificador SVM. Para o processo de treino, foi utilizada uma base de dados de 10 categorias de gráficos (área, barra, linha, mapa, pareto, pizza, radar, scatter plot, tabela, e diagrama de Venn). Os resultados apontaram uma acurácia de classificação de 80%. Esse trabalho foi interessante para a pesquisa pois abordou o pipeline completo de classificação e extração, dando direcionamentos importantes para definição da metodologia, desde a criação de uma base de dados com tipos de gráficos bem variados até a etapa final de extração. Como foi mostrado, diferentes abordagens podem ser utilizadas no processo de classificação convencional de imagens de gráficos. No entanto, Redes Neurais Convolucionais tem se destacado em várias tarefas na área de visão computacional, de modo que alguns trabalhos utilizaram CNNs para classificar imagens de gráficos. Tang et al. (2016) desenvolveram um framework chamado DeepChart para classificação de gráficos através da combinação de Redes Neurais Convolucionais e Deep Belief Networks (Redes de Aprendizado Profundo). O modelo de CNN funciona como um extrator de características, de modo que as features obtidas da camada totalmente conectada são utilizadas como entrada na Deep Belief Network. A base de dados utilizada contém 5 tipos de gráficos 37

41 (barra, fluxograma, linha, pizza, e scatter plot), e o resultado final demonstra que o framework proposto alcançou uma acurácia média de 75,4%. Este artigo foi importante pois mostrou uma aplicação de Redes Neurais Convolucionais para classificação de gráficos, e apresentou uma metodologia bem definida para testes e validação do modelo proposto. Jung et al. (2017) apresentam o ChartSense, um sistema interativo para classificação e extração de dados a partir de imagens de gráficos. Para classificação, esse trabalho propôs utilizar um modelo de Redes Neurais Convolucionais, e para isso, foi feita uma comparação de três arquiteturas de CNN: LeNet (LECUN, BOTTOU, et al., 1998), AlexNet (KRIZHEVSKY, SUTSKEVER e HINTON, 2012) e GoogLeNet (SZEGEDY, LIU, et al., 2015). Os autores utilizaram a mesma base do ReVision, mas eles coletaram mais imagens da internet para criar uma base maior. Utilizando a base expandida, eles alcançaram como maior acurácia o valor de 91,3% e a arquitetura GoogLeNet. Esse trabalho foi essencial, pois inspirou a proposta de comparar arquiteturas de CNN, e neste trabalho foi decidido em focar somente em arquiteturas mais robustas Poco e Heer (2017) investigam como recuperar automaticamente codificações visuais de uma imagem de gráfico, usando elementos textuais deduzidos. Elementos textuais são detectados e então classificados de acordo com o que cada um representa numa imagem (como eixos, título, legenda, etc.). Finalmente, o conteúdo textual é recuperado usando OCR. Uma base de imagens foi construída a partir de imagens coletadas da internet e de imagens geradas automaticamente utilizando a gramática Vega (SATYANARAYAN, MORITZ, et al., 2017), resultando em uma base de 4 classes (área, barra, linha, e scatter plot). Assim, para classificação, um modelo AlexNet foi utilizado, e o modelo treinado foi validado utilizando a base do ReVision, resultando em uma acurácia de 94%. Além disso, os autores mesclaram a base que eles criaram com a base do ReVision, obtendo uma acurácia média de 98% com essa nova base. Esse trabalho foi a maior inspiração para o uso de imagens geradas automaticamente, tanto que esta dissertação utilizou essa proposta de usar o Vega para geração de gráficos. Na tarefa de classificação de gráficos, não existe uma base de imagens para benchmark aceita pela comunidade para treinamento e comparação de algoritmos. A maioria dos trabalhos relacionados coletou imagens da internet, no entanto, nem todas as bases de dados estão publicamente disponíveis, impedindo a replicação dos experimentos nas mesmas condições. Da 38

42 mesma forma, os tipos de gráficos utilizados variam bastante entre os trabalhos. A Tabela 1 apresenta os tipos de gráficos ordenados pelo número de vezes que foram utilizados nos trabalhos relacionados, assim como os respectivos trabalhos. Portanto, outra contribuição deste trabalho é utilizar uma base de imagens de gráficos sintéticos, assim como em (POCO e HEER, 2017), gerados a partir de dados definidos aleatoriamente. Tabela 1. Número de trabalhos que usaram cada tipo de gráfico. Número de Tipo de gráfico Referências trabalhos Barra 8 Linha 7 Pizza (2D/3D) 6 Scatter Plot 5 SAVVA, KONG, et al., 2011; TAM, KOTHARI e CHEN, 2017; HUANG, ZONG e TAN, 2007; MISHCHENKO e VASSILIEVA, 2011; PRASAD, SIDDIQUIE, et al., 2007; POCO e HEER, 2017; JUNG, KIM, et al., 2017; TANG, LIU, et al., 2016 SAVVA, KONG, et al., 2011; HUANG, ZONG e TAN, 2007; MISHCHENKO e VASSILIEVA, 2011; PRASAD, SIDDIQUIE, et al., 2007; POCO e HEER, 2017; JUNG, KIM, et al., 2017; TANG, LIU, et al., 2016 SAVVA, KONG, et al., 2011; HUANG, ZONG e TAN, 2007; MISHCHENKO e VASSILIEVA, 2011; PRASAD, SIDDIQUIE, et al., 2007; JUNG, KIM, et al., 2017; TANG, LIU, et al., 2016 SAVVA, KONG, et al., 2011; PRASAD, SIDDIQUIE, et al., 2007; POCO e HEER, 2017; JUNG, KIM, et al., 2017; TANG, LIU, et al.,

43 Área 4 SAVVA, KONG, et al., 2011; MISHCHENKO e VASSILIEVA, 2011; POCO e HEER, 2017; JUNG, KIM, et al., 2017 Mapa, Pareto, Radar, Tabela, Diagrama de Veen 2 SAVVA, KONG, et al., 2011; JUNG, KIM, et al., 2017 Bolha, Coordenadas Paralelas, Treemaps 1 TAM, KOTHARI e CHEN, 2017 Coluna 1 MISHCHENKO e VASSILIEVA, 2011 Donut 1 HUANG, ZONG e TAN, 2007 Flow 1 TANG, LIU, et al., 2016 Surface 1 PRASAD, SIDDIQUIE, et al., 2007 Foi possível notar que alguns trabalhos já aplicaram CNNs para classificação de imagens de gráficos, no entanto, tais trabalhos não fizeram uso de arquiteturas mais robustas. Canziani, Paszke e Culurciello (2016) compararam diferentes arquiteturas de CNN disponíveis na literatura, utilizando a base ImageNet (DENG, DONG, et al., 2009). Comparando esses resultados com as CNNs utilizadas para classificação de imagens de gráfico até então, é visível que existem arquiteturas mais complexas e de melhor desempenho que podem ser testadas. Logo, este estudo propõe a avaliação desses modelos mais robustos e a comparação deles com classificadores convencionais. 40

44 3. METODOLOGIA PROPOSTA Este capítulo explica com mais detalhes a metodologia citada anteriormente, apresentando a base de dados e os classificadores que foram utilizados neste trabalho. A Figura 11 detalha a metodologia proposta, de modo é possível observar que na primeira etapa, treino e teste são realizados utilizando a base gerada automaticamente, e na segunda etapa a validação é realizada utilizando imagens coletadas da internet. Dessa forma, é possível analisar quando os modelos conseguem generalizar os tipos de gráficos a partir de imagens sintéticas apenas, demonstrando a robustez dos mesmos. A Figura 11 também apresenta os classificadores convencionais e as arquiteturas de CNN utilizadas neste trabalho. A escolha de cada um será abordada com mais detalhes nas próxima subseções. 3.1 Base de imagens de gráficos Visto que não foi encontrada nenhuma base de dados para classificação de imagens de gráficos, este trabalho propõe a construção de uma base de imagens de gráficos geradas automaticamente a fim de avaliar a robustez dos classificadores. A base de dados é composta de duas partes: a primeira é gerada automaticamente e de forma aleatória com o Vega; e a segunda é composta de imagens coletadas da internet. Durante o desenvolvimento deste trabalho foi realizado um estudo dos tipos de gráficos mais utilizados nos trabalhos relacionados (veja Tabela 1), de modo que foram selecionados os 5 tipos mais frequentes e que são considerados técnicas comuns de visualização dos dados (KHAN e KHAN, 2011): gráficos de Área, Barra, Linha, Pizza e Pontos de dispersão. Então, mais 5 tipos foram escolhidos: diagramas de Arco, Coordenadas Paralelas, Matrizes, Sunbursts, e Treemaps, pois os mesmos possuem características visuais que se assemelham às 5 classes iniciais, de modo que os classificadores devem diferenciar classes que são diferentes mas são 41

45 visualmente semelhantes. Fase de treino e teste Base de dados gerada com o Vega Classificadores Convencionais KNN Naive Bayes SVM Random Forest Redes Neurais Convolucionais VGG-19 Resnet-50 Inception-V3 Fase de Validação Base de dados composta de imagens coletadas da internet Modelos treinados Avaliação Final Figura 11. Metodologia proposta para avaliação e comparação dos classificadores. A base gerada utilizando o Vega é dividida em conjuntos de treino e teste. O conjunto de treino é composto de imagens, e o de teste possui 2412 imagens. A Tabela 2 mostra em detalhes o número de imagens de cada conjunto, assim como o número de imagens de cada classe de gráfico. A fim de gerar gráficos bem diversificados, foi utilizada uma rotina em JavaScript para modificar a distribuição dos dados de forma aleatória, variando entre as seguintes distribuições de variáveis aleatórias: Normal (Gaussiana), Qui-quadrado, Poisson e Uniforme. Além disso, elementos visuais de cada tipo de gráfico foram modificados a fim de 42

46 gerar imagens bem variadas. Todos os gráficos gerados estão disponíveis no Github 1. Tabela 2. Quantidade de gráficos gerados artificialmente e de imagens coletadas da internet. Tipo de gráfico Gráficos gerados sinteticamente Gráficos coletados da internet Treino Teste Validação Barra Linha Pizza Scatter Plot Diagrama de Arco Área Coordenadas Paralelas Matriz Sunburst Treemap TOTAL A base de validação possui um total de 2683 imagens coletadas do Google Imagens 2, utilizando o plugin do Google Chrome Fatkun Batch Download Image. Algumas imagens tiveram que ser removidas ou editadas a fim de manter a base de dados com um número razoável

47 de imagens. Imagens desenhadas à mão, com muito ruído, e imagens de resolução muito baixa (geralmente abaixo de 80x80) foram removidas manualmente. Além disso, imagens com vários gráficos foram recortadas, isolando um gráfico por imagem. Grandes blocos de texto e outro elementos não relacionados a gráficos (como janelas de software, partes de apresentação de slides, tabelas, etc.) foram removidos também, a fim de manter somente gráficos nas imagens. As imagens coletadas da internet podem possuir ruídos e padrões visuais diferentes dos gráficos gerados pelo Vega. Desta forma, é possível avaliar se os modelos treinados conseguem generalizar bem os elementos visuais das classes de gráficos a partir das imagens sintéticas. Os tópicos a seguir mostram os tipos de gráficos utilizados neste trabalho, descrevendo brevemente os mesmos e as variáveis visuais modificadas aleatoriamente nos mesmos. 1. Gráfico de Barra: esse tipo de gráfico geralmente é utilizado para representação de dados discretos, de modo que a dimensão de cada valor é ilustrada pela altura da barra. Variáveis modificadas: orientação das barras (horizontal e vertical), cor e número de barras, presença ou não de grupos (o que implica na presença ou não de legenda), posição dos títulos e presença ou não de grade. A Figura 12 mostra exemplos de gráficos gerados utilizando essas variações. Figura 12. Exemplos de gráficos de barra gerados neste trabalho. 2. Gráfico de Linha: neste tipo, os pontos estão dispersos no plano e conectados por linhas. Variáveis modificadas: presença ou não de marcador do ponto, tipo de 44

48 contorno da linha (contínua ou pontilhada), cor das linhas, tipo de união dos pontos (linha reta ou ondulada por interpolação), número de linhas, número de pontos por linha, posição do título, e presença ou não de legenda, grade e rótulo dos eixos. A Figura 13 ilustra exemplos de gráficos gerados com essa metodologia. Figura 13. Exemplos de gráficos de barra gerados neste trabalho. 3. Gráfico de Pizza: os dados são divididos em fatias, cada um representando a proporção de um todo. Variáveis modificadas: número de grupos (fatias), posição dos rótulos das fatias, cor das fatias, raio interno (que gera um furo dentro da pizza) e posição da legenda. A Figura 14 ilustra exemplos de gráficos de pizza gerados neste trabalho utilizando essas variações. Figura 14. Exemplos de gráficos de pizza gerados neste trabalho. 4. Gráfico de pontos de dispersão (scatter plot): mostra um conjunto de dados representados num plano cartesiano, de modo que duas variáveis são representadas, 45

49 uma em cada eixo. Variáveis modificadas: cor do ponto (caso tenha grupo), número de pontos, posição da legenda, e presença ou não do rótulo dos eixos. A Figura 15 mostra exemplos de gráficos gerados nessas condições. Figura 15. Exemplos de gráficos de scatter plot gerados neste trabalho. 5. Diagrama de Arco: utilizado para ilustrar relações entre nós, de modo que os mesmos estão dispostos no eixo horizontal, e as relações são representadas por arcos ligando esses nós. Variáveis modificadas: quantidade de grupos, cores dos grupos, número de elementos por grupo, tipo de ligações, presença ou não de título. A Figura 16 ilustra exemplos de gráficos gerados a partir desses parâmetros. Figura 16. Exemplos de gráficos de diagrama de arco gerados neste trabalho. 6. Gráfico de Área: utilizado para representar dados quantitativos, de modo que os dados são ilustrados em uma área abaixo de uma linha, de modo que tal área é 46

50 geralmente preenchida com algum tipo de cor ou textura. Variáveis modificadas: número de áreas (linhas), tipo de número de pontos por linha, tipo de união dos pontos (linha reta ou ondulada por interpolação), presença ou não de título, legenda, grade e rótulo dos eixos. A Figura 17 mostra exemplos de gráficos de área gerados. Figura 17. Exemplos de gráficos de área gerados neste trabalho. 7. Coordenadas Paralelas: utilizada principalmente para plotar dados multidimensionais. Cada atributo é representado por um eixo vertical, e um elemento da base é ilustrado por uma linha que conecta os valores de cada atributo desse elemento. Variáveis modificadas: quantidade de elementos, quantidade de atributos, intervalo dos atributos. A Figura 18 ilustra exemplos desse tipo de gráfico. Figura 18. Exemplos de coordenadas paralelas gerados neste trabalho. 8. Matriz: é utilizada para visualizar uma rede tratando nós por linhas e colunas, de 47

51 forma que as células coloridas representam uma ligação entre os respectivos nós. Geralmente são utilizadas redes de grafos não-orientados, logo a matriz gerada é simétrica e mais densa na diagonal. Variáveis modificadas: quantidade de grupos, cores dos grupos, número de elementos por grupo e tipo de ligações. A Figura 19 mostra exemplos de matrizes geradas. Figura 19. Exemplos de matrizes gerados neste trabalho. 9. Sunburst: é um tipo de visualização radial utilizada para representar dados hierárquicos, de modo que cada partição ilustra um nível hierárquico. Variáveis modificadas: quantidade de elementos, número de elementos se conectando ao nó raiz e tamanho dos elementos (partições). A Figura 20 ilustra exemplos de sunbursts gerados com essas características. Figura 20. Exemplos de sunbursts gerados neste trabalho. 10. Treemap: utilizado para representar dados hierárquicos em forma de retângulos 48

52 alinhados cada um possuindo ou não rótulo. Variáveis modificadas: quantidade de elementos, número de elementos se conectando ao nó raiz, tamanho dos elementos (partições), e presença ou não de rótulo (somente para treemaps com poucos elementos, para não poluir o gráfico). A Figura 21 ilustra exemplos de treemaps gerados com essas características. Figura 21. Exemplos de treemaps gerados neste trabalho. É possível notar que existem classes que possuem variáveis visuais em comum ou semelhantes como pontos, linhas e arcos, retângulos e barras, círculos, de modo que é esperado que os classificadores confundam certos tipos de gráficos. Assim, o estudo visa analisar a capacidade de generalização dos mesmos utilizando para treinamento somente a base sintética. 3.2 Técnicas utilizadas para Classificação Convencional A fim de verificar quanto a representação dos dados pode influenciar na acurácia do modelo, os modelos de CNN serão comparados com métodos convencionais de classificação. Esses métodos possuem extração de características e classificação feitos de forma independente Extração de Características Classificadores convencionais não conseguem realizar o treinamento utilizando diretamente dados multidimensionais. Assim, features devem ser extraídas de modo que a imagem original ou suas propriedades possam ser representadas em uma forma compacta 49

53 apropriada para classificação (SOLOMON e BRECKON, 2011). Diferentes atributos podem ser extraídos para composição do vetor de características, como contornos, linhas, formas, entre outros. Dependendo do domínio do problema, features específicas podem ser extraídas. Um exemplo que pode ser visto nos trabalhos relacionados é o processo de extração de características do ReVision (SAVVA, KONG, et al., 2011), que utiliza não só features da imagem de um modo geral, mas também features dos elementos textuais encontrados na figura. Isso é feito pois a posição dos textos na imagem pode indicar alguma propriedade específica de um tipo de gráfico. No entanto, como este trabalho foca na avaliação das Redes Neurais Convolucionais, foi decidido utilizar para fins de comparação somente um algoritmo de propósito geral. Existem vários algoritmos descritores de características que funcionam bem para propósitos gerais (KRIG, 2016). Neste estudo, o método HOG foi escolhido para realizar a extração de características, devido ao seu amplo uso em detecção de objetos e reconhecimento de seres humanos (DALAL e TRIGGS, 2005) (STALLKAMP, SCHLIPSING, et al., 2012) (GIANNAKOPOULOS, FOUFOULAS, et al., 2015). O método HOG representa uma imagem utilizando features de forma baseada na distribuição local da intensidade dos gradientes e orientação dos contornos. Em síntese, células de tamanho fixo são selecionadas, e setas de orientação partindo do centro da célula são calculadas, de modo que a intensidade e orientação das setas é feita de acordo com os contornos da imagem na região delimitada pelas células. Para extração das características, a função extracthogfeatures do MATLAB foi utilizada. Essa função tem como principal parâmetro o CellSize, que define o tamanho da célula que o HOG atua. Para capturar informação espacial de maior escala o CellSize deve ser aumentado, de modo que aumentar muito o tamanho da célula implica em perda de detalhes de menor escala da imagem. A Figura 22 ilustra um gráfico de pizza, e os HOG features extraídos da imagem, variando o CellSize. Pode-se notar que com um CellSize menor, capturam-se mais detalhes da imagem, no entanto, o número de atributos do vetor de características cresce rapidamente. Por exemplo, redimensionando a imagem para 200x200 (pixels) e tomando o CellSize como 40x40 (pixels), o vetor de características possui 576 atributos, e o de tamanho 2x2 gera um vetor de atributos, que é considerado um número muito elevado para um 50

54 classificador convencional. a) b) c) Figura 22. Exemplos de a) um gráfico de pizza, b) HOG features extraídas com CellSize 40x40, e c) HOG features extraídas com CellSize 2x2. Visto que o tamanho do CellSize implica diretamente no tamanho do vetor de características, logo no desempenho do classificador também buscou-se selecionar um tamanho em que houvesse um equilíbrio entre tamanho do vetor e a acurácia do modelo. Assim, diferentes combinações de CellSize foram feitas, e usadas como dados de treinamento de um classificador Random Forest (que é um classificador robusto e rápido), somente para verificar a acurácia do modelo. Seguindo essa metodologia, a combinação que mostrou melhores resultados foi redimensionando a imagem para 200x200 e aplicando a função extracthogfeatures com CellSize de tamanho 28x28, gerando um vetor de características de 1296 atributos, que é um tamanho bem mais razoável que A Figura 23 mostra dois gráficos e as respectivas HOG features extraídas, considerando o CellSize 28x28. Pode-se observar que com esse tamanho de CellSize ainda é possível visualizar a forma do gráfico e a orientação de elementos visuais importantes, como barras e círculos. 51

55 Figura 23. Exemplos de gráficos de pizza e barra (esquerda), e as respectivas HOG features extraídas dos gráficos (direita), considerando CellSize 28x WEKA No contexto de aprendizado de máquina, além de se ter um conhecimento da base de dados, é necessário analisar qual modelo se adapta melhor ao problema em questão. Assim, visto que esse trabalho é uma avaliação comparativa, diferentes métodos convencionais de classificação foram utilizados. Para tal, foi utilizado o software WEKA 3 (Waikato Environment for Knowledge Analysis) (FRANK, HALL e WITTEN, 2016), que é um pacote que engloba diferentes técnicas de aprendizado de máquina, contendo ferramentas para pré-processamento, classificação, regressão, clusterização, regras de associação e visualização. Esse pacote foi escolhido pois o mesmo é escrito em Java, é distribuído livremente sob os termos da licença GNU 4, roda praticamente em qualquer plataforma, e possui os classificadores convencionais utilizados neste trabalho. 3 Versão GPL

56 Os dados a serem processados no WEKA devem estar no formato Attribute-Relation File Format (ARFF), que utiliza marcadores para definir seções específicas para determinado tipo de informação dos dados. Os seguintes marcadores são indica o nome da relação, ou seja, o nome da base de indica o nome de um determinado atributo, seguido do tipo que ele pode indica o início da descrição dos dados, ou seja, os valores dos atributos especificados anteriormente. Assim, as HOG features extraídas de cada imagem no MATLAB devem estar organizadas no formato ARFF, para que o WEKA possa processar esses dados. Foram gerados três arquivos ARFF, um contendo features das imagens da base treino, um das features das imagens de teste, e o último contendo as features das imagens da base de validação Classificadores convencionais Para o processo de treino, teste e validação, alguns classificadores convencionais que estão disponíveis no WEKA foram utilizados. A escolha destes classificadores foi baseada no fato de que estes são representações populares de diferentes paradigmas de aprendizado (WITTEN, FRANK, et al., 2016). Os classificadores são todos pertencentes ao pacote de mineração de dados WEKA: KNN (K-Nearest Neighbours), Naive Bayes, Random Forest e SVM (Support Vector Machine). As seções seguintes apresentam uma breve introdução sobre o funcionamento dos classificadores K-Nearest Neighbours É um dos algoritmos mais simples voltados para classificação, que possui como base a ideia de agrupar objetos com características semelhantes. O método de classificação consiste em comparar o elemento a ser classificado com todas as instâncias da base de treino e selecionar os k vizinhos mais próximos, onde k é definido pelo usuário, utilizando uma medida de similaridade. A partir dos k elementos mais próximos, a classe mais comum entre eles é atribuída ao elemento que será classificado. Esse processo de selecionar a classe mais comum também é chamado de procedimento de votação. Este trabalho utilizou a classe IBK do WEKA, 53

57 que possui como principal parâmetro o K, que define o número de vizinhos a serem selecionados. Além disso, a distância Euclidiana (DEZA e DEZA, 2009) foi adotada como medida de similaridade entre duas instâncias Naive Bayes É um tipo de classificador probabilístico baseado no Teorema de Bayes, que calcula a probabilidade de ocorrência de um evento A, dada a ocorrência de um evento B (RISH, 2001). Esse classificador parte do pressuposto de que os atributos são mutuamente independentes, o que na prática é geralmente falso. Apesar disso, o classificador Naive Bayes geralmente apresenta bons resultados, principalmente para quantidades pequenas de dados. Visto que é um método que se baseia totalmente em estimações estatísticas, o mesmo não possui nenhum parâmetro. Este trabalho utilizou a classe NaiveBayes do WEKA Random Forest É um classificador que faz parte da categoria chamada de Aprendizado por consenso (Ensemble Classifier). Esse tipo de aprendizado se baseia no uso de mais um método de aprendizado, buscando obter resultados melhores do que um método sozinho conseguiria. No caso de Random Forest, várias árvores de decisão são geradas a partir de amostras aleatórias, formando uma floresta (BREIMAN, 2001). Cada árvore faz a classificação de forma isolada, e a classe mais votada entre os modelos é escolhida. Esse classificador é implementado no WEKA pela classe RandomForest e o parâmetro mais importante é o I, que define o número de árvores aleatórias a serem geradas Support Vector Machine SVM é um tipo de algoritmo baseado na teoria de aprendizado estatístico, o qual tem como principal objetivo encontrar um hiperplano que separe, com margem máxima, elementos de classes diferentes da base de dados (BISHOP, 2007). Um ponto importante desse algoritmo é a função kernel, que busca mapear os dados de entradas em um espaço de maior dimensão, a fim de facilitar o cálculo do hiperplano que separa os exemplos de diferentes classes. Este trabalho utilizou como kernel a função de base radial (Radial Basis Function - RBF) por recomendação de. Hsu, Chang e Lin (2016). A classe LibSVM (CHANG e LIN, 2011) foi utilizada, onde os 54

58 principais parâmetros são: K, que define o kernel; C (custo), que é o parâmetro de penalidade do erro; e G (gamma), que define a largura da função kernel Seleção dos parâmetros do modelo De um modo geral, o melhor desempenho de um determinado classificador para uma base de dados específica só pode ser alcançado ajustando-se exaustivamente os parâmetros do algoritmo. Esta tarefa é chamada de seleção de parâmetros (model selection), e consiste em variar os parâmetros do modelo a fim de encontrar a melhor configuração dos mesmos. Uma estratégia comum para realizar a seleção de parâmetros é definir um intervalo de valores para cada parâmetro, selecionando os valores que implicam no melhor modelo, seguindo uma determinada métrica de avaliação. Neste trabalho a métrica utilizada foi a acurácia. Para a seleção de parâmetros, duas classes do WEKA foram utilizadas: CVParameterSelection e GridSearch. A classe CVParameterSelection varia os parâmetros de forma linear, e foi utiliza com os classificadores KNN, e Random Forest. Visto que o algoritmo do KNN seleciona a classe mais votada entre K instâncias, geralmente se utiliza um valor ímpar para evitar empate. Assim, o valor de K foi variado de 1 a 15, com um passo de 2, ou seja, testando só os números ímpares. Para o Random Forest, de um modo geral a acurácia é diretamente proporcional ao número de árvores aleatórias, mas até certo ponto. Oshiro, Perez e Baranauskas (2012) mostram que a acurácia cresce com I, mas a taxa de erro tende a convergir. Além disso, foi apontado que, para grandes volumes de dados, as taxas de erro para valores de I a partir de 64 são muito próximas. Assim, os autores sugerem que um intervalo de 64 a 128 árvores é suficiente para alcançar um bom equilíbrio entre acurácia e custo computacional. A classe GridSearch permite uma variação dos parâmetros mais elaborada, sendo utilizada com o SVM porque este varia os parâmetros em potências de 2. Hsu, Chang e Lin (2016) fazem recomendações sobre aplicações práticas do SVM, sugerindo os intervalos de 2 5,, 2 15 para C, e 2 15,, 2 3 para G. A Tabela 3 sumariza todos os parâmetros e os respectivos intervalos de valores para cada um. 55

59 Tabela 3 Parâmetros usados na seleção do modelo. Classificador Parâmetro Intervalo KNN K 1, 3, 5,, 15 Random Forest I 64, 65, 66,, 128 SVM C 2-5,, 2 15 G 2-15,, Arquiteturas de CNN Este trabalho foca na avaliação das arquiteturas de Redes Neurais Convolucionais para classificação de imagens de gráficos, de modo que serão utilizadas arquiteturas mais robustas que as utilizadas na literatura. Como foi explicado anteriormente, uma arquitetura básica de CNN geralmente é composta de várias camadas de convolução seguidas de uma função de ativação e uma camada de subamostragem, ligadas por fim a uma camada totalmente conectada. A própria arquitetura LeNet-5 possui somente essas operações, que podem ser visualizadas na Figura 24. Entrada da camada Camada de Convolução Camada de Subamostragem Camada de Convolução Camada de Subamostragem Camada totalmente conectada Figura 24.Arquitetura LeNet-5, destacando as operações aplicadas ao longo da rede. Fonte: Modificado de No entanto, muitos avanços já foram feitos na área, gerando diferentes organizações de camadas, operações, e por consequência, diferentes arquiteturas (GU, WANG, et al., 2015). Desde a vitória do primeiro modelo de CNN na competição ImageNet em 2012 (RUSSAKOVSKY, DENG, et al., 2015), modelo chamado de AlexNet (KRIZHEVSKY, 56

60 SUTSKEVER e HINTON, 2012), vários outros modelos de CNN foram submetidos nos anos seguintes buscando implementar arquiteturas mais robustas e complexas. Nessa competição, o principal objetivo é alcançar a acurácia mais alta para um problema de classificação de uma base de imagens de mais de classes. Assim, visto a complexidade da base de dados, as CNNs ganharam destaque principalmente por apresentarem bons resultados nessa competição. Portanto, foi necessário selecionar um conjunto de arquiteturas, e formas viáveis de utilizá-las para o problema de classificação de imagens de gráficos Keras e Tensorflow Dado que métodos de Deep Learning são capazes de resolver problemas mais complexos e de maior sofisticação, construir esses modelos é um desafio tão importante quanto. Nesse cenário, diferentes bibliotecas e frameworks têm surgido com o intuito de facilitar o processo de criação, implementação e replicação desses modelos. A escolha do framework depende de diversos fatores como tipo de problema, nível de habilidade do usuário, custo computacional, etc. Neste trabalho, foi decidido utilizar o framework Tensorflow (GOOGLEBRAIN, 2015), que foi desenvolvido pelo time do Google Brain e disponibilizado em open-source em De forma prática, é uma biblioteca Python, que encapsula várias funções matemáticas voltadas para Aprendizado de máquina e Deep Learning, permitindo execução em múltiplas CPUs ou GPUs. Esse framework foi escolhido para este trabalho principalmente por ser uma das bibliotecas mais populares (baseado na sua atividade no Github e no StackOverflow), o que permite um bom processo de desenvolvimento, dado o suporte da comunidade. Além disso, visto que o propósito deste estudo é utilizar arquiteturas bem definidas na literatura e não implementar modelos do zero, optou-se por utilizar o Keras (CHOLLET, 2015), uma biblioteca que roda em uma camada acima do Tensorflow, funcionando como uma interface que permite a implementação de modelos complexos de forma mais simplificada do que seria utilizando o Tensorflow sozinho. Outro fator que motivou a escolha dessa biblioteca é que ela já possui implementações de alguns modelos de CNN considerados robustos e referenciados na literatura como estado-da-arte em classificação de imagens. 57

61 3.3.2 Seleção das arquiteturas Com a evolução das arquiteturas, uma tendência comum é tornar as redes mais profundas, o que aumenta a capacidade de aprendizado e melhora a representação das features, mas dificulta o treinamento e torna o modelo mais propício ao overfitting. Assim, vários métodos foram e vêm sendo desenvolvidos a fim de solucionar esses problemas, melhorando o desempenho do classificador. A fim de selecionar as arquiteturas a serem utilizadas neste trabalho, tomou-se como base o trabalho de Canziani, Paszke e Culurciello (2016), no qual os autores realizam uma comparação entre diferentes arquiteturas de CNN, utilizando a base do ImageNet. A Figura 25 ilustra as acurácias obtidas por cada arquitetura, onde vale destacar o progresso feito ao longo dos trabalhos na área de Redes Neurais Convolucionais. Figura 25. Comparação entre acurácias de diferentes arquiteturas de CNN. Fonte: Modificado de Canziani, Paszke e Culurciello, Para escolha das arquiteturas, foram selecionadas somente as que tiveram acurácia acima de 70%, que foram VGGNet, Resnet e Inception, com as respectivas variações de cada arquitetura (VGG-16, VGG-19, Resnet-34, Resnet-50, Resnet-101, Inception-V3 e Inception- V4). Essas variações do modelo são atualizações como número de camadas, ou melhoramentos em algum bloco específico da rede original. Por fim, entre essas arquiteturas, foram escolhidas 58

62 as que estão disponíveis no Keras, que são: VGG-19 (SIMONYAN e ZISSERMAN, 2014), Resnet-50 (HE, ZHANG, et al., 2016) e Inception-V3 (SZEGEDY, VANHOUCKE, et al., 2016) Transfer Learning e Fine-tuning Na prática, é muito raro treinar uma CNN completamente do zero, isto é, com inicialização aleatória dos pesos, porque em alguns casos é difícil ter uma base de dados de tamanho suficiente, tempo e recursos computacionais disponíveis para um treinamento extensivo (KARPATHY, 2016). Em geral, treinar uma CNN requer uma grande quantidade de dados, assim, uma abordagem comum é pré-treinar a CNN em uma base suficientemente grande e então retreinar o classificador na base de dados de um problema específico. Essa estratégia é chamada de transfer learning, e busca melhorar a capacidade de generalização em um domínio alvo, explorando o que foi aprendido em um domínio de origem (GOODFELLOW, BENGIO e COURVILLE, 2016). Para este trabalho, o domínio alvo que será utilizado para o modelo ser retreinado é o domínio de classificação de imagens de gráfico. Este processo de retreinar é também chamado de fine-tuning (ou ajuste fino), onde algumas (ou todas) camadas são retreinadas de modo que o modelo pré-treinado se adapte para a nova base de dados. Nesse contexto, quando um modelo é treinado com imagens naturais (não-artificiais), é observado que as features são adaptadas gradualmente de gerais para específicas conforme o nível das camadas vai ficando mais profundo. Isso significa que camadas mais iniciais tendem a ser mais apropriadas para tarefas mais gerais (como detecção de formas básicas, por exemplo) e as últimas camadas são mais especializadas em características de uma base específica (YOSINSKI, CLUNE, et al., 2014). Desta forma, uma abordagem de transfer-learning é pre-treinar a rede com imagens naturais, congelar as camadas iniciais e retreinar somente as últimas utilizando a base de dados do domínio alvo. Uma outra abordagem seria retreinar o modelo todo, isto é, todas as camadas e não só as últimas, no entanto, treinar somente as últimas tende a evitar o overfitting (YOSINSKI, CLUNE, et al., 2014) e reduzir o custo computacional assim como o tempo de execução. 59

63 A base ImageNet é uma escolha frequente para pré-treinamento de classificadores, devido ao seu tamanho e por ser composta de imagens naturais. Já que treinar uma CNN com essa base requer geralmente semanas, é comum compartilhar publicamente os pesos aprendidos ou checkpoints de treinamento, de modo que outros pesquisadores possam carregar o modelo e utilizar para fine-tuning. O Keras também disponibiliza no próprio repositório no Github os pesos aprendidos das arquiteturas selecionadas, assim é possível carregar um modelo prétreinado e fazer um ajuste fino com a base de dados de imagens geradas automaticamente de forma aleatória. Portanto, o processo de treinamento consiste em duas fases: treino das top-layers e finetuning. Primeiramente, o modelo pré-treinado é carregado, mas sem as camadas totalmente conectadas no final da rede, também chamadas de top-layers. Esta camada é removida porque o modelo foi pré-treinado no ImageNet, então a saída das camadas totalmente conectadas estava com o número de classes da base do ImageNet. Assim, adiciona-se uma nova camada totalmente conectada que possui o número de saídas adequado para o problema deste trabalho, que é 10, visto que este estudo está tratando de 10 tipos de gráficos. Depois disso, somente a camada totalmente conectada é treinada, mantendo-se os pesos restantes da rede intactos. Isso é feito para não ocorrer uma variação muito brusca nos pesos, já que se espera que os mesmos estejam relativamente bons. Em segundo lugar, as últimas camadas convolucionais são treinadas até o final da rede. Desta forma, somente as camadas mais especializadas para o problema de classificação de imagens de gráficos passam por um ajuste fino. A Figura 26 mostra a arquitetura do Inception- V3, destacando-se as duas partes do modelo que serão treinadas: a) top-layers composta pelas camadas totalmente conectadas, e b) últimas camadas convolucionais até o final da rede, incluindo as top-layers. 60

64 Convolução Average Pooling Max Pooling Concatenação Dropout Camada totalmente conectada Softmax b) a) Figura 26. Arquitetura do Inception-V3, destacando a) top-layers, e b) últimas camadas onde o finetuning será aplicado. Fonte: Modificado de Para a etapa de fine-tuning das últimas camadas das arquiteturas, é necessário definir um limiar, o qual serve para apontar a partir de qual camada deve ser feito o processo de ajuste fino. Em termos de implementação, as camadas possuem um índice associado, que é um valor numérico (i.e., layer 1, layer 2, e assim por diante). Não existe uma metodologia padrão para definir esse limiar, e neste trabalho ele foi definido de acordo com o tamanho da rede. Para a arquitetura VGG-19, visto que ela não é uma arquitetura muito grande, possuindo 24 camadas, optou-se por treinar a partir da camada 17, que é onde começa o último bloco antes da camada totalmente conectada. Para os modelos Resnet-50 e Inception-V3, já que os mesmos são bem mais profundos (com 176 e 313 camadas, respectivamente), possuindo centenas de camadas, foi decidido treinar a partir das camadas 141 e 249, respectivamente. Logo, para os modelos VGG-19, Resnet-50 e Inception-V3 foram treinadas respectivamente 7, 35 e 64 camadas Treinamento por Mini-batch O processo de treinamento adotado neste trabalho foi o baseado em mini-batches. Neste método, os pesos da Rede Neural Convolucional são atualizados a cada mini-batch de n amostras (RUDER, 2016). Esta atualização que acontece para cada batch é chamada de passo ou step. Uma época (epoch) ocorre quando todas as imagens da base de treino são iteradas, a partir de vários passos, pelo classificador. Desta forma, o número de passos por época pode ser definido através da Equação 3: 61

65 Passos por época = número de amostras de treino/tamanho do batch + 1 (3) Para definir o processo de treino, alguns parâmetros tiveram que ser ajustados. Tais parâmetros e seus respectivos valores foram modificados seguindo as recomendações de Bengio (2012) e Ruder (2016). Esses trabalhos fazem uma visão geral dos parâmetros que são importantes, e indicam valores os quais podem ser testados. A Tabela 4 apresenta os parâmetros do treinamento dos modelos. Tabela 4 Parâmetros usados para treinamento dos modelos de CNN. Parâmetro Treinando as fullyconnected layers Fine-tuning Optimizer RMSprop SGD Learning Rate Decay Rate Momentum Tamanho do mini-batch Épocas Passos por época A escolha dos algoritmos otimizadores (optimizers) se deu por conta dessses algoritmos serem bastante comuns para esse tipo de problema, seguindo as recomendações da documentação do Keras 5. Nas recomendações práticas da documentação, o optimizer RMSprop geralmente é utilizado para treinar redes neurais tradicionais ou camadas totalmente conectadas; e o optimizer SGD (Stochastic Gradient Descent) é dito como uma boa opção padrão para treino de modelos de CNN. Apesar do algoritmo original do SGD ter como base a atualização dos

66 pesos da rede a cada amostra de treino, no contexto de treinamento utilizando mini-batches, o termo Mini-batch gradient descent é geralmente chamado de SGD também. Para a taxa de aprendizado (learning rate), Bengio (2012) sugere valores entre 1 e 10-6, mas destaca que não é um intervalo fixo. Neste trabalho, a taxa de aprendizado foi definida inicialmente em e foi ajustada empiricamente conforme os dados de convergência da acurácia iam sendo analisados. O parâmetro Taxa de Decaimento (Decay Rate) também foi definido empiricamente. Ruder (2016) sugere 0.9 como um bom valor para o parâmetro Momentum. Bengio (2012) sugere tamanhos de batch maiores que 10, considerando 32 como um bom valor padrão. No entanto consideramos suficiente para este trabalho o uso de batches de tamanho 16. O número de passos por época foi calculado segundo a Equação 3. Por fim, o número de épocas também foi definido empiricamente. Foi decidido colocar um número de épocas baixo porque cada época possui 754 passos, implicando em 754 atualizações de pesos por época, logo, não foi necessário um número elevado de épocas. Isso é comprovado analisando os logs das acurácias de cada época, de modo que nas primeiras épocas a acurácia subia rapidamente, convergindo para um valor constante depois de algumas épocas (o que será discutido na seção dos resultados). O número de épocas foi definido menor para o treino das top-layers porque essa etapa é usada somente como aquecimento (ou warming up) da rede, a fim de atualizar os pesos das camadas totalmente conectadas, mas sem distorcer muito os pesos do resto da rede. A técnica de parada antecipada (early stopping) poderia ter sido aplicada, de modo que o treino seria finalizado quando não houvesse melhoria na acurácia em um certo número de épocas consecutivas. No entanto, foi decidido monitorar a acurácia dos modelos até a última época. 63

67 4. EXPERIMENTOS E RESULTADOS Esta seção tem como objetivo descrever os experimentos realizados e discutir os resultados obtidos utilizando a metodologia proposta na seção anterior. Como foi definido anteriormente, o objetivo principal deste trabalho é realizar uma avaliação de arquiteturas robustas de Redes Neurais Convolucionais para classificação de imagens de gráficos. Para tal, as arquiteturas serão comparadas não somente entre si, mas também com classificadores convencionais, a fim de verificar o quanto a representação das features dos modelos de deep-learning influencia no processo de aprendizado. Apesar das imagens da base de teste serem um conjunto totalmente à parte da base de treino, elas ainda são bastante semelhantes entre si, visto que ambas as bases foram geradas no Vega sob as mesmas condições, ou seja, sob as mesmas variações de parâmetros. Nesse sentido, espera-se que acurácia na base de teste seja alta. Por outro lado, base de validação, por ser totalmente composta de imagens coletadas da internet, não segue os padrões visuais do Vega. Isso implica que existem imagens na base de validação que podem ser bem diferentes de uma do mesmo tipo na base de treino. Assim, espera-se verificar especificamente o quanto cada classificador consegue aprender usando somente imagens do Vega. A Figura 27 ilustra exemplos de duas imagens de gráficos de barra coletadas da internet, que possuem um padrão visual diferente do encontrado no Vega. Figura 27. Dois gráficos de barra presentes na base de validação. 64

SEMINÁRIO DOS ARTIGOS:

SEMINÁRIO DOS ARTIGOS: SEMINÁRIO DOS ARTIGOS: Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning End-to-End Text Recognition with Convolutional Neural Networks Fernanda Maria Sirlene

Leia mais

RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO

RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO Fernanda Maria Sirlene Pio SUMARIO Introdução Trabalhos Relacionados Metodologia Experimentos Conclusão Referências 2 INTRODUÇÃO Reconhecimento de Padrões

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.6. Deep Learning 2.6.1. O Problema da Extração de Características

Leia mais

Redes Neurais Convolucionais

Redes Neurais Convolucionais André Gustavo Hochuli Orientadores: Dr. Luiz E. S. Oliveira/Dr. Alceu Britto Programa de Pós-Graduação em Informática Departamento de Informática UFPR Neurônio Artificial Redes Neurais - Vetor de Caracteristícas

Leia mais

Redes Neurais Convolucionais

Redes Neurais Convolucionais André Gustavo Hochuli Orientador: Prof. Dr. Luiz Eduardo Soares de Oliveira Programa de Pós-Graduação em Informática Departamento de Informática UFPR http://www.inf.ufpr.br/aghochuli/caffe/ Redes Neurais

Leia mais

Descritores de Imagens

Descritores de Imagens Descritores de Imagens André Tavares da Silva PPGCA/UDESC Outubro de 2017 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 1 / 18 Descritores Locais e Frameworks SIFT SURF Viola-Jones

Leia mais

Face Recognition using RGB-D Images

Face Recognition using RGB-D Images Face Recognition using RGB-D Images Helder C. R. de Oliveira N.USP: 7122065 Polyana Nunes N.USP: 9043220 Sobre o Artigo Publication: 2013 IEEE Sixth International Conference Author(s) Goswami, G. (Índia

Leia mais

Region Based CNNs. Francisco Calaça Xavier. Programa de pós-graduação em Ciências da Computação Mestrado e Doutorado. Instituto de Informática UFG

Region Based CNNs. Francisco Calaça Xavier. Programa de pós-graduação em Ciências da Computação Mestrado e Doutorado. Instituto de Informática UFG Region Based CNNs Francisco Calaça Xavier Programa de pós-graduação em Ciências da Computação Mestrado e Doutorado Instituto de Informática UFG Prof. Anderson Soares Agenda O problema Estado da arte R-CNN

Leia mais

Conceitos de Aprendizagem de Máquina e Experimentos. Visão Computacional

Conceitos de Aprendizagem de Máquina e Experimentos. Visão Computacional Conceitos de Aprendizagem de Máquina e Experimentos Visão Computacional O que você vê? 2 Pergunta: Essa imagem tem um prédio? Classificação 3 Pergunta: Essa imagem possui carro(s)? Detecção de Objetos

Leia mais

Objetivos. 1. O método desenvolvido usa características de pares de pixeis para fazer estatísticas e formar

Objetivos. 1. O método desenvolvido usa características de pares de pixeis para fazer estatísticas e formar Introdução Comidas podem apresentar deformações e variações em sua forma, além de conter muitos ingredientes, nem todos visíveis; Métodos tradicionais de reconhecimento requerem a detecção de características

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem (Redes Neurais - Complementar) Prof. a Joseana Macêdo

Leia mais

Introdução ao Reconhecimento. Prof. Dr. Geraldo Braz Junior

Introdução ao Reconhecimento. Prof. Dr. Geraldo Braz Junior Introdução ao Reconhecimento Prof. Dr. Geraldo Braz Junior O que você vê? 2 Pergunta: Essa imagem tem um prédio? Classificação 3 Pergunta: Essa imagem possui carro(s)? Detecção de Objetos Vários 4 Pergunta:

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Principais tópicos Aprendizado profundo André C P L F de Carvalho Posdoutorando: Isvani Frias-Blanco ICMC-USP Introdução Redes profundas Aprendizado profundo Redes autodecodificadoras

Leia mais

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes. HP UFCG Analytics Abril-Maio 2012 Um curso sobre Reconhecimento de Padrões e Redes Neurais Por Herman Martins Gomes hmg@dsc.ufcg.edu.br Programa Visão Geral (2H) Reconhecimento Estatístico de Padrões (3H)

Leia mais

Aprendizado de Máquina. Combinando Classificadores

Aprendizado de Máquina. Combinando Classificadores Universidade Federal do Paraná (UFPR) Departamento de Informática (DInf) Aprendizado de Máquina Combinando Classificadores David Menotti, Ph.D. web.inf.ufpr.br/menotti Introdução O uso de vários classificadores

Leia mais

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION - VGG

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION - VGG Exemplo de Implementação - 16 VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION - VGG Edjalma Queiroz da Silva Programa de pós-graduação em Ciências da Computação Mestrado e Doutorado

Leia mais

GoogLeNet - Going Deeper with Convolutions

GoogLeNet - Going Deeper with Convolutions - Going Deeper with Convolutions Heyde Francielle do Carmo França Prof. Dr. Anderson Soares Instituto de Informática Universidade Federal de Goiás 02 de Dezembro de 2016 1 / 35 Sumário I 1 2 3 2 / 35 3

Leia mais

READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING

READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING Fernanda Maria Sirlene READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING NIPS Workshop on Deep Learning and Unsupervised

Leia mais

JAI 6 - Deep Learning Teoria e Prática

JAI 6 - Deep Learning Teoria e Prática JAI 6 - Deep Learning Teoria e Prática Cristina Nader Vasconcelos Universidade Federal Fluminense CNNs Câmeras estão por toda parte! crisnv@ic.uff.br Aquisição de imagens digitais crisnv@ic.uff.br 3 Representação

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 01 Motivação, áreas de aplicação e fundamentos Max Pereira Nem todo conhecimento tem o mesmo valor. O que torna determinado conhecimento mais importante que

Leia mais

Reconhecimento de Modelos de Veículos

Reconhecimento de Modelos de Veículos Reconhecimento de Modelos de Veículos Fernando Benedito Veras Magalhães January 15, 2018 1 Introdução Em 2017, 2,1 milhões de automóveis, incluindo picapes e furgões, foram vendidos no Brasil. A variedade

Leia mais

JAI 6 - Deep Learning Teoria e Prática

JAI 6 - Deep Learning Teoria e Prática JAI 6 - Deep Learning Teoria e Prática Esteban Clua e Cristina Nader Vasconcelos Universidade Federal Fluminense Fundamentos Computação baseada em modelos crisnv@ic.uff.br 2 Computação baseada em aprendizado

Leia mais

Descritores de Imagem

Descritores de Imagem Descritores de Imagem André Tavares da Silva 31 de março de 2014 1 Descritores de imagem (continuação) 1.1 Frameworks de detecção de objetos SIFT (scale-invariant features transform) (Lowe, 1999) SIFT

Leia mais

Tópicos Especiais em Reconhecimento de Padrões [2COP329] Mestrado em Ciência da. Sylvio Barbon Jr

Tópicos Especiais em Reconhecimento de Padrões [2COP329] Mestrado em Ciência da. Sylvio Barbon Jr Tópicos Especiais em Reconhecimento de Padrões [2COP329] Mestrado em Ciência da Computação Sylvio Barbon Jr barbon@uel.br (2/20) Tema Aula 1 Introdução ao Reconhecimento de Padrões 1 Introdução 2 Referências

Leia mais

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas Wrapper Filtros Muitos algoritmos de AM são projetados de modo a selecionar os

Leia mais

Roberto Lotufo Big Data Brasil São Paulo, 23 de junho de 2018

Roberto Lotufo Big Data Brasil São Paulo, 23 de junho de 2018 Roberto Lotufo roberto@neuralmind.ai Big Data Brasil São Paulo, 23 de junho de 2018 Classificação dedo falso/dedo vivo Desempenho atual: 200ms Intel I5 99% acurácia LivDet 2015 - Fingerprint Liveness Competition

Leia mais

2 Reconhecimento Facial

2 Reconhecimento Facial 2 Reconhecimento Facial Em termos gerais, o reconhecimento facial é o processo pelo qual se mede o grau de similaridade entre duas imagens faciais com o proposito de identificar a um indivíduo ou de verificar

Leia mais

Aplicação de Histograma de Gradientes Orientados para detecção de hidrômetros em imagens de fundo complexo

Aplicação de Histograma de Gradientes Orientados para detecção de hidrômetros em imagens de fundo complexo Aplicação de Histograma de Gradientes Orientados para detecção de hidrômetros em imagens de fundo complexo Juliana Patrícia Detroz Professor: André Tavares da Silva Universidade do Estado de Santa Catarina

Leia mais

scikit-learn: Aprendizado de máquina 101 com Python

scikit-learn: Aprendizado de máquina 101 com Python scikit-learn: Aprendizado de máquina 101 com Python Luciana Fujii Campus Party BH 2016 1 / 30 Introdução Aprendizado de máquina Aprendizado de máquina é o campo da ciência da computação que dá aos computadores

Leia mais

Universidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Introdução

Universidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Introdução Universidade Federal do Paraná Departamento de Informática Reconhecimento de Padrões Introdução Luiz Eduardo S. Oliveira, Ph.D. http://lesoliveira.net Objetivos Introduzir os conceito básicos de reconhecimento

Leia mais

Determinação de vícios refrativos oculares utilizando Support Vector Machines

Determinação de vícios refrativos oculares utilizando Support Vector Machines Determinação de vícios refrativos oculares utilizando Support Vector Machines Giampaolo Luiz Libralão, André Ponce de Leon F. de Carvalho, Antonio Valerio Netto, Maria Cristina Ferreira de Oliveira Instituto

Leia mais

Reconhecimento de texturas utilizando padrão binário local e classificador knn.

Reconhecimento de texturas utilizando padrão binário local e classificador knn. Reconhecimento de texturas utilizando padrão binário local e classificador knn. Vinicius Santos Andrade 1 Resumo. Através de uma imagem é possível obter inúmeras informações. Portanto, é cada vez mais

Leia mais

Reconhecimento de Sinais de Trânsito Utilizando Deep Learning

Reconhecimento de Sinais de Trânsito Utilizando Deep Learning Reconhecimento de Sinais de Trânsito Utilizando Deep Learning Marcos Vinícius Oliveira Sobrinho 1, Matheus Chaves Menezes 1, Chrystian Gustavo Martins Nascimento 1, Geraldo Braz Júnior 2 1 Curso de Ciência

Leia mais

Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva

Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva Visão computacional Juliana Patrícia Detroz Orientador: André Tavares Silva Visão computacional Tentativa de replicar a habilidade humana da visão através da percepção e entendimento de uma imagem; Fazer

Leia mais

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais Introdução à Mineração de Dados com Aplicações em Ciências Espaciais Escola de Verão do Laboratório Associado de Computação e Matemática Aplicada Rafael Santos Dia 2: 1 /59 Programa Dia 1: Apresentação

Leia mais

Sistema de Reconhecimento de Logotipos

Sistema de Reconhecimento de Logotipos Sistema de Reconhecimento de Logotipos Fellipe Duarte, Saulo T. Oliveira {duartefellipe,sto}@cos.ufrj.br Relatório Técnico, Introdução ao Processamento de Imagens Programa de Engenharia de Sistemas e Computação

Leia mais

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo Estudo de comparação do descritor de imagens coloridas BIC empregando diferentes abordagens de classificação de detecção de bordas: Canny e Operador Laplaciano Diego Martin Mancini Orientador: Prof. Paulo

Leia mais

3 Técnica Baseada em Treinamento e Cascata de Classificadores

3 Técnica Baseada em Treinamento e Cascata de Classificadores 3 Técnica Baseada em Treinamento e Cascata de Classificadores 3.1. Introdução A utilização de algoritmos para a extração de características de objetos e a geração de classificadores em cascata capazes

Leia mais

3 Redes Neurais Artificiais

3 Redes Neurais Artificiais 3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida

Leia mais

Reconhecimento de Faces Utilizando Redes Neurais MLP

Reconhecimento de Faces Utilizando Redes Neurais MLP Reconhecimento de Faces Utilizando Redes Neurais MLP Autor: Adilmar Coelho Dantas 1, Orientador: Márcia Aparecida Fernandes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do

Leia mais

Object Tracking. Fernando Medeiros Dufour Ciência da Computação - UFPR Tópicos em Visão Computacional

Object Tracking. Fernando Medeiros Dufour Ciência da Computação - UFPR Tópicos em Visão Computacional Object Tracking Fernando Medeiros Dufour Ciência da Computação - UFPR Tópicos em Visão Computacional Índice 1. Introdução a. Problema b. Aplicações c. Dificuldades d. Datasets 2. Redes Neurais Convolucionais

Leia mais

TÍTULO: IDENTIFICAÇÃO DE CARACTERES APRESENTADOS A UMA CÂMERA POR MEIO DO MOVIMENTO DOS DEDOS DA MÃO DE UM SER HUMANO

TÍTULO: IDENTIFICAÇÃO DE CARACTERES APRESENTADOS A UMA CÂMERA POR MEIO DO MOVIMENTO DOS DEDOS DA MÃO DE UM SER HUMANO Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: IDENTIFICAÇÃO DE CARACTERES APRESENTADOS A UMA CÂMERA POR MEIO DO MOVIMENTO DOS DEDOS DA MÃO

Leia mais

Redes Convolucionais Aplicadas em Visão Computacional

Redes Convolucionais Aplicadas em Visão Computacional Redes Convolucionais Aplicadas em Visão Computacional Marcos José Canêjo Estevão de Azevêdo mjcea@cin.ufpe.br Sumário História Evolução Tipos Aplicações Considerações Finais 2 História Surgiram em 1980

Leia mais

Redes Neurais Artificiais - Introdução. Visão Computacional

Redes Neurais Artificiais - Introdução. Visão Computacional Redes Neurais Artificiais - Introdução Visão Computacional Inspiração 2 Inspiração 3 Inspiração Atividade seletivanas conexões Soma os impulsos e passa a diante 4 Inspiração As conexões entre os dendritos

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Redes Neurais Biológicas 2. Neurônio Artificial 3. Rede Neural Artificial 4. Keras 1 Redes Neurais Biológicas

Leia mais

Visão Computacional. Prof. Leandro Augusto Frata Fernandes TCC Introdução à Ciência da Computação (2012.

Visão Computacional. Prof. Leandro Augusto Frata Fernandes TCC Introdução à Ciência da Computação (2012. Visão Computacional Prof. Leandro Augusto Frata Fernandes laffernandes@ic.uff.br TCC-00.169 Introdução à Ciência da Computação (2012.1) Visão Humana Responsável por cerca de 75% de nossa percepção O ato

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Introdução 1 Introdução Aprendizado de Máquina Extração de conhecimento. Automatização de tarefas. Tomada de Decisões.

Leia mais

Uma Abordagem Genética Para Redes Neurais Convolucionais

Uma Abordagem Genética Para Redes Neurais Convolucionais Uma Abordagem Genética Para Redes Neurais Convolucionais Roberto M. Pinheiro Pereira 1, Lucas Bezerra Maia 1, Polyana Bezerra Da Costa 1, Jordan Boaz Rodrigues 1, Geraldo Braz Junior 1 João D. S. De Almeida,

Leia mais

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa INFORMAÇÕES DO ACADÊMICO Nome: Kleber Padovani de Souza Curso: Engenharia de Computação Semestre: R.A.: Título do plano de trabalho: Extração de atributos da imagem através de momentos de imagem. Nome

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Marcelo K. Albertini 24 de Julho de 2014 2/34 Conteúdo Perceptron Gradiente descendente Redes multicamadas Retropropagação de erros 3/34 Modelos conexionistas Humanos Tempo de

Leia mais

detecção de voz cantada em sinais de áudio polifônicos

detecção de voz cantada em sinais de áudio polifônicos detecção de voz cantada em sinais de áudio polifônicos Aplicações, Abordagens e Desafios Shayenne Moura 23. April 2018 Instituto de Matemática e Estatística Universidade de São Paulo o problema Detecção

Leia mais

Métodos de Deep Learning Aplicados a Candlestick como Estratégia de Investimento

Métodos de Deep Learning Aplicados a Candlestick como Estratégia de Investimento Métodos de Deep Learning Aplicados a Candlestick como Estratégia de Investimento Maio/2019 Felipe Dias Paiva Carolina M. Roma INTRODUÇÃO A previsão dos retornos das ações é considerada uma das tarefas

Leia mais

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES Universidade Federal do Rio de Janeiro Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia Programa de Engenharia de Sistemas e Computação Rio de Janeiro, RJ Brasil RECONHECIMENTO

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina A necessidade de inserir aprendizado nas máquinas surgiu após a construção dos Sistemas Especialistas (SEs). Os primeiros SEs não possuíam mecanismo de aprendizado e tornavam-se

Leia mais

Reconstrução 3D com auxílio de segmentações múltiplas

Reconstrução 3D com auxílio de segmentações múltiplas ! Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Reconstrução 3D com auxílio de segmentações múltiplas Rafael Francisco Cavalcanti Campos Gouveia Proposta de

Leia mais

Classificadores Lineares

Classificadores Lineares Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica Classificadores Lineares David Menotti www.inf.ufpr.br/menotti/ci171-182 Hoje Funções Discriminantes Lineares Perceptron Support

Leia mais

Mineração de Dados - II

Mineração de Dados - II Tópicos Especiais: INTELIGÊNCIA DE NEGÓCIOS II Mineração de Dados - II Sylvio Barbon Junior barbon@uel.br 10 de julho de 2015 DC-UEL Sylvio Barbon Jr 1 Sumário Etapa II Algoritmos Básicos Weka: Framework

Leia mais

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP) Universidade Federal do Paraná (UFPR) Departamento de Informática (DInf) Aprendizado de Máquinas Multi-Layer Perceptron (MLP) David Menotti, Ph.D. web.inf.ufpr.br/menotti Redes Neuronais Cérebro humano.

Leia mais

Image Descriptors: color

Image Descriptors: color Image Descriptors: color Image Processing scc0251 www.icmc.usp.br/ moacir moacir@icmc.usp.br ICMC/USP São Carlos, SP, Brazil 2011 Moacir Ponti Jr. (ICMCUSP) Image Descriptors: color 2011 1 / 29 Agenda

Leia mais

Reconhecimento de Padrões

Reconhecimento de Padrões Reconhecimento de Padrões André Tavares da Silva andre.silva@udesc.br Duda e Hart Capítulo 1 Reconhecimento de Padrões (imagem) Objetivo: Interpretar um conjunto de dados através de um mapeamento (classificação)

Leia mais

Mapas Auto Organizáveis SOMs Mapas de Kohonen

Mapas Auto Organizáveis SOMs Mapas de Kohonen Mapas Auto Organizáveis SOMs Mapas de Kohonen PSI 2886 Princípios de Neurocomputação Edição de 2008 1 PSI 5886 Prof. Emilio Self Organizing Maps de Kohonen Estes slides foram usados nas aulas #8 e #9 na

Leia mais

SEMINÁRIO Visão Computacional Aluno: Afonso Pinheiro

SEMINÁRIO Visão Computacional Aluno: Afonso Pinheiro SEMINÁRIO Visão Computacional Aluno: Afonso Pinheiro Detecting Pedestrians Using Patterns of Motion and Appearance *Paul Viola *Michael J. Jones *Daniel Snow Por que detectar pedestres? http://conexaopenedo.com.br/2016/02/sistema-consegue-detectar-pedestres-em-tempo-real/

Leia mais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais Universidade de São Paulo Biblioteca Digital da Produção Intelectual - BDPI Departamento de Ciências de Computação - ICMC/SCC Comunicações em Eventos - ICMC/SCC 2015 Identificação de Pontos Perceptualmente

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Alessandro L. Koerich Programa de Pós-Graduação em Informática Pontifícia Universidade Católica do Paraná (PUCPR) Horários Aulas Sala 3 CCET [quinta-feira, 8:20 12:00] Atendimento

Leia mais

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO Aluno: Larissa Lages de Oliveira (llo@cin.ufpe.br) Orientador: Daniel Carvalho da Cunha (dcunha@cin.ufpe.br)

Leia mais

Person Re-Identification. Autor: Guilherme Zasyeki Machado

Person Re-Identification. Autor: Guilherme Zasyeki Machado Person Re-Identification Autor: Guilherme Zasyeki Machado Sumário - Introdução ao problema - Visão geral ao processo de Re-Identificação - Evolução estado da arte - Datasets disponíveis - Análise estado

Leia mais

10º Congresso Interinstitucional de Iniciação Científica CIIC a 04 de agosto de 2016 Campinas, São Paulo ISBN

10º Congresso Interinstitucional de Iniciação Científica CIIC a 04 de agosto de 2016 Campinas, São Paulo ISBN Um Estudo de Descritores e Classificadores para Reconhecimento de Bagas de Café Pedro Henrique Ferreira Stringhini 1 ; Thiago Teixeira Santos 2 Nº 16605 RESUMO Métodos de reconhecimento de frutos baseados

Leia mais

Workshop de Inteligência Artificial e Redes Neurais

Workshop de Inteligência Artificial e Redes Neurais Workshop de Inteligência Artificial e Redes Neurais Matheus Facure Alves Sumário 1 Introdução 2 Aprendizado de Máquina Essencial 3 Deep Learning 4 Código 5 Considerações Finais Desmistificando Aprendizado

Leia mais

Classificação Hierárquica Multirrótulo Utilizando Redes Neurais Artificiais

Classificação Hierárquica Multirrótulo Utilizando Redes Neurais Artificiais Classificação Hierárquica Multirrótulo Utilizando Redes Neurais Artificiais Ricardo Cerri Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo cerri@icmc.usp.br Roteiro Introdução

Leia mais

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC André Caceres Carrilho Mauricio Galo Renato César dos Santos Curitiba,

Leia mais

O reconhecimento facial é dividido em três etapas: i) detecção da face, ii) extração de características e iii) reconhecimento da face.

O reconhecimento facial é dividido em três etapas: i) detecção da face, ii) extração de características e iii) reconhecimento da face. ESTUDO SOBRE MÉTODOS DE RECONHECIMENTO FACIAL EM FOTOGRAFIAS DIGITAIS Ana Elisa SCHMIDT¹, Elvis Cordeiro NOGUEIRA² ¹ Orientadora e docente do IFC-Campus Camboriú; ² Aluno do curso de Bacharelado em Sistemas

Leia mais

Múltiplos Classificadores

Múltiplos Classificadores Universidade Federal do Paraná (UFPR) Bacharelado em Informátia Biomédica Múltiplos Classificadores David Menotti www.inf.ufpr.br/menotti/ci171-182 Hoje Múltiplos classificadores Combinação de classificadores

Leia mais

Redes Neurais Convolucionais de Profundidade para Reconhecimento de Textos em Imagens de CAPTCHA

Redes Neurais Convolucionais de Profundidade para Reconhecimento de Textos em Imagens de CAPTCHA Redes Neurais Convolucionais de Profundidade para Reconhecimento de Textos em Imagens de CAPTCHA Vitor Arins Pinto 1 1 Departamento de Informática e Estatística - Universidade Federal de Santa Catarina

Leia mais

Sketch to Photo Matching: A Feature-based Approach (Klare and Jain [2010])

Sketch to Photo Matching: A Feature-based Approach (Klare and Jain [2010]) Sketch to Photo Matching: A Feature-based Approach (Klare and Jain [2010]) Marco Antonio de A. Silva Programa de Pós-Graduação em Ciência da Computação - PPGCC Departamento de Computação - DECOM Universidade

Leia mais

INF011 - Seminários de Pesquisa II

INF011 - Seminários de Pesquisa II INF011 - Seminários de Pesquisa II Doutorando: Erick Toshio Yamamoto Orientador: Prof. Dr. Ricardo Suyama Professor da Disciplina: Prof. Dr. João Henrique Kleinschmidt Santo André, 02 de maio de 2018 Agenda

Leia mais

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Francisco A. Rodrigues Departamento de Matemática Aplicada e Estatística - SME Tópicos 1. Seleção de atributos 2. Redução de

Leia mais

Consultas por Similaridade em Domínios de Dados Complexos

Consultas por Similaridade em Domínios de Dados Complexos Consultas por Similaridade em Domínios de Dados Complexos Guilherme Felipe Zabot Orientador: Profº Dr Caetano Traina Jr Roteiro Objetivo Introdução Dados Complexos Representação de Dados Complexos Extração

Leia mais

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ Marcela Ribeiro Carvalho marcela@enecar.com.br IFG/Câmpus Goiânia Hipólito Barbosa Machado Filho hipolito.barbosa@ifg.edu.br IFG/Câmpus Goiânia Programa Institucional

Leia mais

O Algoritmo de Treinamento: Máquina de Aprendizado Extremo (Extreme Learning Machine - ELM)

O Algoritmo de Treinamento: Máquina de Aprendizado Extremo (Extreme Learning Machine - ELM) O Algoritmo de Treinamento: Máquina de Aprendizado Extremo (Extreme Learning Machine - ELM) Thiago Henrique Cupertino SCE5809 - Redes Neurais 23 de Novembro de 2010 Conteúdo Introdução Desvantagens do

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 14 Support Vector Machines (SVM) 2016.1 Prof. Augusto Baffa Formas de Aprendizado Aprendizado Supervisionado Árvores de Decisão. K-Nearest

Leia mais

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Tópicos Especiais: Inteligência Artificial REDES NEURAIS Tópicos Especiais: Inteligência Artificial REDES NEURAIS Material baseado e adaptado do Cap. 20 do Livro Inteligência Artificial de Russell & Norvig Bibliografia Inteligência Artificial Russell & Norvig

Leia mais

Classificação e Predição de Dados - Profits Consulting - Consultoria Empresarial - Serviços SAP- CRM Si

Classificação e Predição de Dados - Profits Consulting - Consultoria Empresarial - Serviços SAP- CRM Si Classificação e Predição de Dados - Profits Consulting - Consultoria Empresarial - Serviços SAP- CRM Si Classificação de Dados Os modelos de classificação de dados são preditivos, pois desempenham inferências

Leia mais

Eduardo Vargas Ferreira

Eduardo Vargas Ferreira Universidade Federal do Paraná Laboratório de Estatística e Geoinformação - LEG Considerações finais Eduardo Vargas Ferreira Como obter boas predições 1 Entenda os dados: explore as características, crie

Leia mais

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

Occupancy grid based graph-slam using the distance transform, SURF features and SGD Occupancy grid based graph-slam using the distance transform, SURF features and SGD Autores: Arturo Gil, Miguel Juliá, Óscar Reinoso Artur Segal Kaim Agenda Introdução Arquitetura Resultados Trabalho futuro

Leia mais

Protótipo de Software para Reconhecimento de Impressões Digitais

Protótipo de Software para Reconhecimento de Impressões Digitais Protótipo de Software para Reconhecimento de Impressões Digitais Aluno: Alex Sandro da Silva Orientador: Paulo de Tarso Mendes Luna Semestre - 99/1 Roteiro da Apresentação INTRODUÇÃO CONCEITOS BÁSICOS

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS MÁQUINA DE VETOR DE SUPORTE (SUPPORT VECTOR MACHINES) Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 Introdução Poderosa metodologia para resolver problemas de aprendizagem

Leia mais

Descoberta de conhecimento em redes sociais e bases de dados públicas

Descoberta de conhecimento em redes sociais e bases de dados públicas Descoberta de conhecimento em redes sociais e bases de dados públicas Trabalho de Formatura Supervisionado Bacharelado em Ciência da Computação - IME USP Aluna: Fernanda de Camargo Magano Orientadora:

Leia mais

Agregação de Algoritmos de Aprendizado de Máquina (AM) Professor: Eduardo R. Hruschka Estagiário PAE: Luiz F. S. Coletta

Agregação de Algoritmos de Aprendizado de Máquina (AM) Professor: Eduardo R. Hruschka Estagiário PAE: Luiz F. S. Coletta Agregação de Algoritmos de Aprendizado de Máquina (AM) Professor: Eduardo R. Hruschka Estagiário PAE: Luiz F. S. Coletta (luizfsc@icmc.usp.br) Sumário 1. Motivação 2. Bagging 3. Random Forest 4. Boosting

Leia mais

Multiple Layer Perceptron

Multiple Layer Perceptron Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica Multiple Layer Perceptron David Menotti www.inf.ufpr.br/menotti/ci171-182 Hoje Multiple Layer Perceptron (MLP) Backpropagation

Leia mais

11º Congresso Interinstitucional de Iniciação Científica CIIC a 04 de agosto de 2017 Campinas, São Paulo ISBN

11º Congresso Interinstitucional de Iniciação Científica CIIC a 04 de agosto de 2017 Campinas, São Paulo ISBN DETECÇÃO DE FRUTOS EM CAMPO POR APRENDIZADO DE MÁQUINA Andreza Aparecida dos Santos¹; Thiago Teixeira Santos 2 Nº 17603 RESUMO Métodos de reconhecimento de frutos utilizando diferentes descritores e classificadores

Leia mais

Máquinas de Vetores de Suporte Aplicadas à Classificação de Defeitos em Couro Bovino

Máquinas de Vetores de Suporte Aplicadas à Classificação de Defeitos em Couro Bovino Máquinas de Vetores de Suporte Aplicadas à Classificação de Defeitos em Couro Bovino Ricardo Cezar Bonfim Rodrigues 24 de abril de 2006 1 Antecedentes e Justificativa Hoje, em diversos processos industriais,

Leia mais

Inteligência Artificial Redes Neurais

Inteligência Artificial Redes Neurais Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação jpn@jarley.com Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre

Leia mais

Representação e Descrição. Guillermo Cámara-Chávez

Representação e Descrição. Guillermo Cámara-Chávez Representação e Descrição Guillermo Cámara-Chávez Introdução Objetos ou Segmentos são representados como uma coleção de pixels em uma imagem Para o reconhecimento do objeto é necessário descrever as propriedades

Leia mais

SLAM Visual. Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP

SLAM Visual. Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP SLAM Visual Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP Divisão da apresentação 1. Introdução O que é SLAM? Classificação adotada 2. Principais

Leia mais

MouseCam: aplicação de controle do mouse via câmera

MouseCam: aplicação de controle do mouse via câmera MouseCam: aplicação de controle do mouse via câmera Introdução ao Processamento de Imagens COS756 PESC/COPPE/UFRJ 2013 1 Renan Garrot garrot@cos.ufrj.br 1. Introdução O processo de tracking por vídeo consiste

Leia mais

Detecção e Correção Automáticas de Olhos Vermelhos

Detecção e Correção Automáticas de Olhos Vermelhos Setor de Tecnologia da Universidade Federal do Paraná Curso de Engenharia Elétrica TE 072 Processamento Digital de Sinais Detecção e Correção Automáticas de Olhos Vermelhos Trabalho elaborado pelo aluno

Leia mais

PCC146 RECONHECIMENTO DE PADRÕES Trabalho Pacial

PCC146 RECONHECIMENTO DE PADRÕES Trabalho Pacial Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Programa de Pós-Graduação em Ciência da Computação PCC146 RECONHECIMENTO DE PADRÕES Trabalho Pacial Eduardo Luz Rensso Mora

Leia mais

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS 7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS Autor(es) LIDIA MARTINS DA SILVA Orientador(es) ANA ESTELA ANTUNES DA SILVA 1. Introdução

Leia mais