Reconhecimento de Produtos por Imagem Utilizando Palavras Visuais e Redes Neurais Convolucionais

Documentos relacionados
RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO

SEMINÁRIO DOS ARTIGOS:

Descritores de Imagens

Redes Neurais Convolucionais

Identificação de Produtos por Imagem Utilizando o Algoritmo SURF

Face Recognition using RGB-D Images

GoogLeNet - Going Deeper with Convolutions

Redes Neurais Convolucionais

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

Descritores de Imagem

Image Descriptors: local features

Reconhecimento de Modelos de Veículos

Uma Abordagem Genética Para Redes Neurais Convolucionais

Descritores de Imagens

JAI 6 - Deep Learning Teoria e Prática

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

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

RECONHECIMENTO DE PRODUTOS POR IMAGEM UTILIZANDO PALAVRAS VISUAIS E REDES NEURAIS CONVOLUCIONAIS GUILHERME DEFREITAS JURASZEK

READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING

Análise do Uso de Descritores Locais e Classificadores no Reconhecimento de Cédulas de Real

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

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

SIFT (Scale-invariant feature transform), SURF (Speeded up robust features)

2. Redes Neurais Artificiais

Anotador automático de placas de publicidade em vídeos esportivos

Um Estudo sobre Diferente Tipos de Funções de Custo Para Redes Neurais Convolucionais

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

Person Re-Identification. Autor: Guilherme Zasyeki Machado

Caracterização de Imagens via Redes Neurais Artificiais

Aprendizado de Máquina

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

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

Aprendizagem de Máquina

introdução ao deep learning

Sistema de Reconhecimento de Logotipos

Inteligência Artificial

"Análise de Extratores de Característica para Reconhecimento de Face"

SEMINÁRIO Visão Computacional Aluno: Afonso Pinheiro

Reconhecimento de Instâncias (parte 2)

Descritores de Imagem (exemplos)

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

Reconhecimento de Caracteres em Imagens com Ruído

Classificação de Faces de Personagens de Mangá

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

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

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

Processamento De Imagem. Descritores de Cor

Making an image worth a thousand visual words

Color Eyes Detector. Duarte Petiz. DCC/FCUP

Redes Neurais Convolucionais Aplicadas à Preensão Robótica

INF011 - Seminários de Pesquisa II

Detecção de pessoas em um ambiente industrial utilizando imagens de profundidade e classificadores profundos

Deep Learning para Classificação de Imagens

First-person activity recognition. Matheus A. Nerone

Detecção de Faces Humanas em Imagens Coloridas Utilizando Redes Neurais Artificiais

Reconhecimento de Sinais de Trânsito Utilizando Deep Learning

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

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

Um comparativo entre arquiteturas de redes neurais profundas aplicadas no reconhecimento de imagens

Métodos de Segmentação de Imagem para Análise da Marcha

Extração de atributos usando o método LBP - Local Binary Pattern

Inteligência Artificial

Introdução a Visão Computacional. Prof. Dr. Geraldo Braz Junior DEINF - UFMA

Reconhecimento de Faces Utilizando Redes Neurais MLP

Feature Description (SIFT + SURF) Prof. Dr. Geraldo Braz Junior

Trabalho Final de Sistemas Inteligentes

Projetos finais. Grupo 3

Aprendizado de Máquina. Combinando Classificadores

Aprendizagem de Máquina

Classificação de Gênero com Diferentes Técnicas de Aprendizado de Máquina

Extração de características de imagens. Descritores de cor

SIFT - Scale Invariant Feature Transform

Redes Convolucionais Aplicadas em Visão Computacional

Brazilian License Plate Character Recognition using Deep Learning

Biometria Multimodalidade Íris + Face. Luiz Antonio Zanlorensi Junior

Classificação de espécies de peixe utilizando redes neurais convolucional

Um sistema para extração automática de keyframes a partir de fluxos de vídeo direcionado à reconstrução tridimensional de cenários virtuais

Mapeamento de ambientes e processamento visual utilizando Kinect

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

Descritores de Imagem (introdução)

Image Descriptors: color

Aprendizagem de Máquina

Recuperação de Imagem por Conteúdo considerando a Percepção Visual Humana

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES

RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA

Reconhecimento Ótico de Caracteres em Placas Veiculares

Reconhecimento de Gestos

Mapas Auto Organizáveis SOMs Mapas de Kohonen

INF 1771 Inteligência Artificial

Mineração de Textos na Web

Detecção de fraudes em hidrômetros através da utilização de técnicas de reconhecimento de padrões

Abstract. 2. Material e Métodos. 1. Introdução

Análise Quantitativa de Tecidos em Úlceras de Perna

Um Estudo sobre Vetores de Descritores Localmente Agregados para Diagnóstico de Câncer de Mama

SIMPLES: UM DESCRITOR DE CARACTERÍSTICAS LOCAIS RÁPIDO E SIMPLES

Reconhecimento de Alimentos utilizando Histograma de Cor e SIFT

Aprendizado de Máquina (Machine Learning)

7 Resultados e Discussão

Metodologia de Identificação de Cédulas Monetárias para Deficientes Visuais Monetary Notes Identification Methodology for Visually Impaired

Transcrição:

Reconhecimento de Produtos por Imagem Utilizando Palavras Visuais e Redes Neurais Convolucionais Guilherme Defreitas Juraszek 1 Alexandre Gonçalves Silva 2 André Tavares da Silva 1 Resumo: Este trabalho consiste no reconhecimento de imagens de produtos, com base em três métodos: palavras visuais por meio de descritores artificiais Bag of Visual Words (BOVW), redes neurais convolucionais (CNN) e descritores naturais (obtidos através de uma rede neural previamente treinada em uma base distinta). Na técnica BOVW são comparados os descritores SIFT e SURF, extraídos de forma densa e utilizando MSER, agrupados com KMeans e Floresta de Caminhos Ótimos não Supervisionada (OPF-U) e classificados com Máquinas de Vetor de Suporte (SVM) e Floresta de Caminhos Ótimos Supervisionada (OPF-S). São avaliadas as acurácias obtidas na base Caltech 101 e em uma base de produtos com 12 mil imagens em 36 categorias. A CNN como um descritor natural, em conjunto com o classificador SVM, apresentou a melhor acurácia com 0,856 na base Caltech101 e 0,906 na base criada (escala de 0 a 1). A CNN modelada sem treinamento prévio obteve a acurácia de 0,540 na base Caltech101 e 0,710 na base criada. Ambas as CNN testadas, com treinamento prévio e sem, obtiveram uma acurácia superior à técnica BOVW. 1 Departamento de Ciência da Computação (DCC) Universidade do Estado de Santa Catarina (UDESC) {dcc6gdj,atavares@joinville.udesc.br} 2 Departamento de Informática e Estatística (INE) Universidade Federal de Santa Catarina (UFSC) {alexandre.silva@inf.ufsc.br}

Abstract: In this work three methods are evaluated to recognize images of products: bag of visual words using artificial descriptors (BOVW), convolutional neural networks (CNN) and natural descriptors (obtained using a pre-trained CNN in a different dataset). In the BOVW the SIFT and SURF descriptors are compared, densely extracted and using MSER, clustered with KMeans and unsupervised Optimum-Path Forest (OPF-U) and classified with Support Vector Machines (SVM) and supervised Optimum-Path Forest (OPF-S). The accuracy is evaluated in the Caltech101 dataset and in a new dataset with 12 thousand images of products in 36 categories. The CNN as a natural descriptor with a SVM classifier obtained the best accuracy with 0,856 in the Caltech101 dataset and 0,906 in the created dataset (scale from 0 to 1). The CNN modeled without previous training obtained the accuracy 0,540 in the Caltech101 and 0,710 in the created dataset. Both CNNs, with and without previous training, resulted in a better accuracy than the BOVW method. 1 Introdução A popularização de equipamentos como câmeras e equipamentos com câmeras resultou em um grande volume de informações no formato de imagens e vídeos disponibilizadas na internet. O crescente volume de dados digitais em forma de imagens e vídeos demanda a criação de novas soluções de buscas baseadas não apenas em texto, mas capazes de extraírem informações relevantes diretamente desses formatos de mídia. O processo de identificação visual de objetos é trivial para o cérebro humano, porém extremamente difícil para os computadores. Um objeto tridimensional real pode ser representado através de uma grande quantidade de imagens bidimensionais conforme a sua variação de posição, orientação, tamanho, luz e contexto [17]. Condições adicionais como variações intra-classes, oclusões e deformações geram um número ainda maior de possibilidades, dificultando o reconhecimento. Outra característica dos problemas envolvendo reconhecimento e aprendizagem é a mudança constante das variáveis envolvidas. Um sistema desenvolvido para identificar um determinado objeto pode sofrer uma mudança dos requisitos, sendo necessário identificar outros objetos que não estavam previstos no escopo inicial. Este trabalho demonstra a utilização de três técnicas de aprendizado de máquina aplicados ao reconhecimento de padrões, mais especificamente, no reconhecimento de produtos por imagem. Tais técnicas podem ser aplicadas em uma ampla gama de sistemas como reconhecimento de produtos utilizando dispositivos móveis como smartphones, obtenção de informações de produtos visualizados utilizando um óculos de realidade aumentada, reconhecimento de produtos em vídeos, entre outros. Na primeira técnica é avaliado o reconhecimento de imagens utilizando palavras visuais com os descritores artificiais SIFT e SURF. São avaliadas a localização de pontos de interesse com MSER e de forma densa. São estudados os 2

algoritmos KMeans e floresta de caminhos ótimos não supervisionada (OPF-U) na etapa de agrupamento e criação do dicionário de palavras visuais. Já na etapa de classificação são avaliados os classificadores baseados em Máquinas de Vetor de Suporte (SVM) e em Floresta de Caminhos Ótimos supervisionada (OPF-S). A segunda técnica utiliza uma rede neural de três camadas convolucionais seguidas de duas camadas totalmente conectadas. Na terceira técnica consiste no uso de uma CNN (Overfeat) [21], previamente treinada na base de imagens ImageNet, de cinco camadas convolucionais, seguidas de três camadas totalmente conectadas. Um vetor de características, que atua como um descritor natural, é extraído da última camada convolucional e é classificado utilizando SVM e OPF-S. 2 Trabalhos Relacionados Os trabalhos encontrados na literatura podem ser classificados entre dois grupos de acordo com seus objetivos principais: (i) a recuperação de imagens semelhantes através da extração de características e a comparação de descritores utilizando uma função de distância; (ii) o reconhecimento ou classificação de objetos em uma imagem. Os trabalhos relacionados ao primeiro grupo são conhecidos como Sistemas de Recuperação de Imagens por Conteúdo (Content-Based Image Retrieval - CBIR). Torres e Falcão [23] mostram algumas abordagens comuns em sistemas CBIR onde um vetor é extraído das imagens de acordo com características como forma, textura, distribuição das cores. Em Datta et al. [5] são estudados 300 trabalhos de contribuições em sistemas CBIR onde o autor destaca um crescimento da utilização de técnicas de aprendizado de máquina combinados com descritores artificiais para a obtenção de melhores resultados em sistemas CBIR aplicados em diversas áreas. Os descritores SIFT [14], FAST [19], ORB [20], MSER [15] e SURF [2] são alguns exemplos de descritores artificiais locais utilizados em algoritmos pertencentes, tanto em sistemas CBIR, quanto em sistemas de reconhecimento. Um bom descritor deve fornecer informações sobre uma imagem capaz de identificar pontos semelhantes, mesmo quando duas imagens diferentes do mesmo objeto são comparadas. Um descritor deve extrair características que sejam invariantes à iluminação, rotação, escala, translação e deformações através de diferentes ângulos de visão. Mikolajczyk at al. [16] realizam um comparativo entre diversas técnicas para detecção de regiões de interesse em imagens de diferentes perspectivas e mostram um bom desempenho do algoritmo MSER. Liu et al [13] descrevem em seu artigo um algoritmo para a criação de agrupamentos (clusters) contendo milhares de imagens semelhantes utilizando k-vizinhos mais próximos (KNN). Os trabalhos para reconhecimento e classificação de objetos em uma imagem utilizam descritores ou filtros para a extração de características, seguida de uma etapa de quantização e agrupamento para redução da dimensionalidade e, por último, uma etapa de classificação. Estes algoritmos podem, por sua vez, serem subdivididos em duas categorias: algoritmos de 3

estágio de extração de características único e algoritmos de dois ou mais estágios [9]. Em uma primeira categoria enquadram-se algoritmos que possuem apenas uma etapa de extração de características. A técnica de BOVW, derivada da técnica amplamente utilizada na extração de informações de documento de texto (conhecida como bag of words), consiste em extrair descritores de regiões da imagem agrupando-os de acordo com as suas semelhanças. A quantidade de descritores possui um tamanho variável de acordo com a quantidade de pontos chaves considerados estáveis na imagem. Com o objetivo de criar um vetor de tamanho fixo, é realizada a quantização e criação de um histograma com base em características destes descritores. Características semelhantes devem ser marcadas como pertencentes a um mesmo grupo, que são denominados palavras. O conjunto de palavras encontrado forma um dicionário, no qual todos os descritores da imagem são rotulados. Após a rotulação é extraído um histograma que consiste na contagem de palavras de cada tipo na imagem. O histograma forma um vetor de características onde a distância entre imagens de uma mesma classe deve ser menor do que a distância entre imagens de diferentes classes. A última etapa é responsável pelo treinamento de um classificador para que este aprenda a distinguir entre as diferentes classes com base no histograma. O processo de encontrar o dicionário de palavras pode utilizar o algoritmo KMeans [7] onde o número de palavras precisa ser informado. Um estudo utilizando a versão não supervisionada do algoritmo de Floresta de Caminhos Ótimos (OPF), como substituto do KMeans, mostrou bons resultados comparando a etapa de classificação entre um classificador bayesiano e a versão supervisionada do OPF [1]. O estudo mostra ainda a obtenção do tamanho do dicionário de forma automática pelo OPF não supervisionado. Wallraven e Caputo [24] demonstram que descritores baseados em características locais superam descritores globais baseados em cores quando combinados com um classificador linear de objetos enquanto a extração de descritores de forma densa é mais eficiente na classificação de cenas [12]. Informações como a localização das palavras na imagem também podem ser utilizadas [11]. A segunda categoria consiste em algoritmos que utilizam dois ou mais estágios na etapa de extração de características. O objetivo principal é aprender não apenas a distinguir as classes com base em descritores artificiais, mas aprender os próprios descritores com base nos dados brutos, no caso de imagens, os próprios valores dos pixels. Estudos realizados por Jarret et. al [9] mostram que algoritmos de dois estágios obtiveram um desempenho similar à técnica BOVW, mesmo em bases com poucos exemplos como a Caltech 101. Outra vantagem importante que deve ser destacada é a capacidade de aprender representações em níveis hierárquicos semânticos mais elevados. Jarret et. al. mostram que a utilização de normalização e de uma função de ativação retificada, neste caso a abs(tanh(x)), melhoram significativamente o desempenho na classificação. São efetuados ainda comparativos inicializando os filtros da rede convolucional de forma aleatória e não supervisionada. A rede neural convolucional com a função de retificação resultou em um aumento significativo no desempenho passando de 18, 5% (N e P A ) para 54, 2% (N, P A e P abs ) na rede de uma 4

camada convolucional utilizando filtros não supervisionados e ajuste fino (U + ). Um ganho expressivo também é observado em uma arquitetura com duas camadas convolucionais. Redes neurais convolucionais vem sendo utilizadas a anos no reconhecimento de imagens, tento obtido grande sucesso no reconhecimento de caracteres [4]. Estudos mais recentes utilizando redes neurais convolucionais (CNN) conhecidas como Deep Convolutional Neural Networks obtiveram o novo estado da arte no reconhecimento de objetos em bases CIFAR-10 e NORB [3]. De forma geral as CNN são treinadas de forma supervisionada, mas trabalhos sugerem que o pré-treinamento da CNN com filtros obtidos de forma não supervisionada apresentam um melhor resultado [10]. A criação de camadas intermediárias em redes neurais resulta no crescimento no números de parâmetros a serem treinados. Para reduzir a chance de overfitting são utilizadas abordagens como aumento dos exemplos de treinamentos através da inclusão de imagens existentes levemente modificadas artificialmente com rotações e escalas. Esta técnica é conhecida como aumento de dados. Abordagens mais sofisticadas, utilizando uma técnica de regularização denominada dropout, obtiveram uma taxa de erro de 16,6% na base CIFAR-10, comparado ao estado da arte anterior de 18,5% utilizando apenas o aumento de dados [8]. Zeiler et. al [25] demonstram que a seleção de ativações de forma estocástica na etapa de pooling em uma técnica denominada Stochastic Pooling pode melhorar ainda mais os resultados atingindo 15,12% de erro na base CIFAR-10. De acordo com Zeiler, as estratégias de Stochastic Pooling e Dropout podem ser combinadas para a obtenção de resultados ainda melhores. Tang [22] aborda ainda a substituição da função softmax, normalmente utilizada em redes neurais convolucionais, por máquinas de vetor de suporte e reporta a taxa de erro de 11,9%. Goodfellow et. al. [6] propõe um novo método chamado Maxout combinado com o Dropout, obtendo o erro de 11,68% sem utilizar o aumento de dados e 9,35% utilizando translações e espelhamento horizontal das imagens. Sermanet et al. [21] utilizam redes neurais convolucionais para efetuar não apenas o reconhecimento, mas também a detecção e localização de imagens, sendo os vencedores do campeonato ImageNet Large Scale Visual Recognition Challenge 2013 (ILSVRC2013). No trabalho realizado por Razavian et. al. [18] a CNN Overfeat [21] é utilizada para extração de um descritor de diferentes bases de imagens na qual a CNN não foi originalmente treinada. Os descritores são então classificados utilizando um classificador linear SVM. Os resultados demonstram um desempenho compatível com o estado da arte, mesmo se comparado com algoritmos treinados especificamente na base analisada utilizando imagens segmentadas manualmente, procedimento que não é necessário quando utilizada a CNN. 5

3 Experimentos Nesta seção são detalhados os algoritmos implementados com o objetivo de efetuar a identificação de produtos a partir de uma imagem. As abordagens de conjunto de palavras visuais, redes neurais convolucionais e redes neurais convolucionais como descritores naturais são apresentadas. 3.1 Conjunto de Palavras Visuais O algoritmo utilizando a estratégia de conjuntos de palavras visuais (BOVW) possui cinco etapas: pré-processamento, extração de características, agrupamento, criação do histograma (ou vetor de características) e classificação. Na etapa de pré-processamento a imagem é redimensionada até que um dos lados possua o tamanho máximo sendo o outro, menor, ajustado proporcionalmente ao tamanho da imagem original. Os tamanhos avaliados foram de 64, 128, 256 e 512 pixels. Nesta etapa as imagens são convertidas do formato de cores RGB para escala em tons de cinza variando de 0 a 255. Na segunda etapa é realizada a extração das características utilizando a combinação de identificação de pontos de interesse e algoritmos descritores conforme a Tabela 2. O extrator denso corresponde à divisão da imagem em uma grade de 16 16 pixels e a extração de um vetor descritor de cada quadrante da grade. Nos demais, são extraídos os descritores apenas dos pontos de interesse identificados pelos algoritmos MSER, SIFT ou SURF. Os descritores extraídos são então agrupados de acordo com uma função de distância entre eles. Os algoritmos agrupadores avaliados foram o KMeans e o OPF não supervisionado (OPF-U) utilizando em ambos a distância Euclidiana. Esta etapa é responsável pela criação do dicionário de palavras onde descritores semelhantes são agrupados em uma única representação lógica chamada de palavra visual. Diante da grande quantidade de descritores extraídos e do tamanho das bases (algumas com mais de 10 mil imagens), o agrupamento de todos os descritores na infra-estrutura disponível para experimento tornaria a execução inviável. Para a realização dos experimentos foram selecionadas aleatoriamente 500 imagens de cada base para a extração dos descritores. Dentre todos os descritores extraídos, foram selecionados aleatoriamente 5000. O algoritmo KMeans exige a especificação de um parâmetro informando o tamanho do dicionário a ser criado, ou seja, qual a quantidade de palavras visuais o dicionário possui. O algoritmo OPF-U estabelece o número de palavras visuais automaticamente, porém, necessita de outros parâmetros adicionais detalhados na seção de implementação mais adiante. A obtenção dos parâmetros do algoritmo OPF-U que resultam no melhor tamanho de dicionário é obtida através de experimentações. Com o objetivo de efetuar uma comparação mais justa entre o OPF-U e o KMeans, é efetuado um comparativo utilizando o melhor tamanho de dicionário obtido nas experimentações do OPF-U no comparativo do KMeans. Desta forma ambos os algoritmos são executados com o mesmo tamanho 6

de dicionário. Com o dicionário de palavras visuais criado é necessário extrair todos os descritores de todas as imagens da base de treinamento, identificar a qual palavra visual o descritor pertence e, ao término deste processo, criar um histograma contendo a quantidade de cada palavra visual na imagem analisada. Este histograma é um vetor onde cada posição corresponde a uma palavra visual e seu valor corresponde à quantidade de palavras visuais daquele tipo na imagem. O processamento é realizado em todas as imagens de treinamento e o resultado é um histograma para cada imagem. A última etapa consiste no treinamento de um classificador linear para que através do histograma de palavras visuais possa ser determinada a categoria na qual a imagem pertence. São avaliados os classificadores lineares SVM e OPF supervisionado (OPF-S). Dada sua natureza aleatória, na seleção das imagens e dos descritores, todos os experimentos são executados três vezes, sendo também analisados seus desvios padrões. A Tabela 1 mostra a combinação de algoritmos de agrupamento e classificadores analisados. Tabela 1. Agrupadores e classificadores analisados. Agrupador KMeans KMeans OPF-U OPF-U Classificador SVM OPF-S SVM OPF-S Cada um dos experimentos da Tabela 1 é executado com o conjunto de descritores mostrado na Tabela 2. Tabela 2. Descritores analisados. Extrator de pontos de interesse SIFT MSER Denso SURF Denso Descritor SIFT SIFT SIFT SURF SURF 7

3.2 Rede Neural Convolucional O segundo algoritmo implementado consiste em uma rede neural com três camadas convolucionais, cada uma contendo a convolução, ativação não linear utilizando a função Rectified Linear Unit (ReLU) max(x, 0) e a redução através do Maxpooling. As duas últimas camadas são compostas por neurônios totalmente conectados. A Tabela 3 mostra a arquitetura da CNN proposta. Tabela 3. Arquitetura da rede neural convolucional proposta. Camada 1 2 3 4 5 Tipo de estágio Conv Conv Conv Total Total Tam. de entrada 3 52 256 512 256 Num. de canais 52 256 512 256 n. o de categorias Tam. do filtro 5 5 5 5 3 3 - - Tam. de redução 2 2 2 2 2 2 - - A primeira camada convolucional tem como entrada os 3 canais de cores da imagem (RGB ou YUV). É realizada a convolução por 52 filtros, a associação entre o canal de cor e o filtro a ser realizada a convolução é atribuída aleatoriamente de forma que cada canal de cor seja processado por pelo menos um filtro. Após a convolução é aplicada a função ReLU seguida da redução através do valor máximo de vizinhança 2 2. O processo se repete na camada convolucional 2 com 256 filtros e na camada convolucional 3 com 512 filtros. Após o processamento da camada convolucional 3 são obtidos 512 mapas de tamanho 1 1. Esses mapas são reorganizados em um vetor para treinamento de uma rede neural totalmente conectada com 256 neurônios de saída onde é aplicado o Dropout em 50% das conexões. A última etapa consiste em uma rede neural totalmente conectada entre as 256 ativações e o número de neurônios correspondente a quantidade de classes na base a ser processada (36 na base criada e 101 na base Caltech101). Para o treinamento da CNN foi utilizada a função Softmax e o algoritmo backpropagation. Inspirado no trabalho de Dundar 3 os experimentos são realizados utilizando os espaços de cores RGB e YUV. No com YUV, no canal Y, é realizada uma normalização local utilizando um filtro de tamanho 7. Os canais U e V são normalizados realizando a subtração pela média e a divisão pelo desvio padrão. Os experimentos com RGB realizam a normalização dos canais R, G e B subtraindo a média e dividindo pelo desvio padrão. 3 https://www.youtube.com/watch?v=n6hpqwq7inw 8

3.3 CNN como Descritor Natural As CNN dispõem de uma propriedade ainda pouco explorada conhecida como transferência de conhecimento. Esta propriedade remete ao fato de uma CNN poder ser treinada em uma base de imagens A (pesos ajustados para classificação da base A) sendo os pesos do aprendizado (e filtros nas CNN) considerados genéricos o suficiente para serem usados no treinamento de uma nova base B. Inspirado no trabalho de Razavian et al. [18] é realizado um experimento reutilizando a CNN Overfeat [21], previamente treinada na grande base de imagens ImageNet, para extrair um descritor para cada imagem da nova base. Após a extração, os descritores são classificados usando os classificadores lineares SVM e OPF-S conforme o algoritmo. Treinar uma nova CNN de mesmo tamanho seria inviável com os recursos computacionais disponíveis para a execução deste trabalho sendo assim, visto que os códigos e arquivos de pesos da rede pré-treinada CNN Overfeat [21] foram disponibilizados pelos autores para fins acadêmicos, estes serão utilizados para a extração do vetor de características para o treinamento do classificador linear. A CNN Overfeat é disponibilizada em duas versões, uma menor, com execução mais rápida e uma maior com uma acurácia superior. Este trabalho utiliza a CNN menor, com arquitetura mostrada na Tabela 4, com 5 camadas convolucionais e 3 camadas conectadas. Tabela 4. Arquitetura Overfeat da CNN menor [21] Camada 1 2 3 4 5 6 7 8 Tipo de estágio Conv+Max Conv+Max Conv Conv Conv+Max Total Total Total Tam. de entrada 231x231 24x24 12x12 12x12 12x12 6x6 1x1 1x1 Num. de canais 96 256 512 1024 1024 3072 4096 1000 Tam. do filtro 11x11 5x5 3x3 3x3 3x3 - - - Tam. de redução 2x2 2x2 - - 2x2 - - - As imagens da nova base a ser classificada, em formato RGB, são processadas pela rede e a saída da sexta camada é capturada. Um vetor com 4096 posições é considerado o descritor natural. Ao término da extração dos descritores naturais de todas as imagens, são treinados os classificadores SVM e OPF-S. 4 Resultados Nesta seção são apresentados os resultados dos experimentos das três técnicas avaliadas nas base Caltech101 e na base de imagens de produtos criada neste projeto. 9

4.1 Acurácia na base Caltech101 Nesta seção trata-se o processamento da base Caltech101. Na Tabela 5 são mostrados os melhores resultados obtidos com a técnica BOVW (Kmeans + SVM, KMeans + OPF-S, OPF-U + OPF-S e OPF-U + SVM), os resultados da CNN treinada exclusivamente nestas bases e os resultados da CNN previamente treinada (Overfeat) utilizada como descritor natural e classificada com OPF-S e SVM. São mostradas a acurácia, o desvio padrão e na coluna observação são incluídas informações sobre o algoritmo de localização de pontos de interesse, descritores e tamanho de imagens utilizado. As técnicas CNN e CNN Overfeat com os classificadores SVM e OPF-S foram executadas uma única vez devido ao elevado tempo necessário para treinamento, no caso da CNN, e extração das características na CNN Overfeat. A Figura 1 mostra um gráfico com os comparativos dos melhores resultados entre as técnicas BOVW, CNN e CNN como um descritor natural, onde fica evidente a superioridade, na acurácia, da CNN Overfeat (0,856), utilizada como um descritor natural, em conjunto com o classificador SVM. Tabela 5. Acurácia dos experimentos na base Caltech101. Técnica Acurácia Desvio Padrão Observação BOVW KMeans + SVM 0,467667 0,020034 MSER + SIFT + 256 BOVW KMeans + OPF-S 0,358353 0,010089 Denso + SIFT + 512 BOVW OPF-U + OPF-S 0,251732 0,062174 Denso + SIFT + 512 BOVW OPF-U + SVM 0,269438 0,005812 Denso + SIFT + 512 CNN RGB 0,480000 - CNN YUV 0,540000 - Overfeat + SVM 0,855658 - Overfeat + OPF-S 0,695150-4.2 Acurácia na base criada Nesta seção são apresentados os resultados obtidos no processamento da base criada neste projeto com 12 mil imagens em 36 categorias. A Tabela 6 mostra os resultados das técnicas abordadas. O resultado mostra novamente uma acurácia superior (0,906) da técnica CNN utilizada como um descritor natural (Overfeat) em conjunto com o classificador SVM. O resultado mostra também a superioridade da CNN criada em relação à técnica BOVW. A técnica BOVW utilizando OPF-U (não supervisionado) para agrupamento demonstrou o pior resultado dentre as avaliadas (acurácia de 0,329). A Figura 2 mostra, em um gráfico, as acurácias. diferença na acurácia obtida pelas técnicas. É possível observar a gradativa 10

Figura 1. Acurácia na base Caltech101. Acurácia 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 OVERFEAT+SVM Caltech101 - Acurácia x Agrupador+Classificador OVERFEAT+OPF CNN RGB CNN YUV Kmeans+SVM (MSER+SIFT+256) Kmeans+OPF-S (Denso+SIFT+512) OPF-U+OPF-S (Denso+SIFT+512) OPF-U+SVM (Denso+SIFT+512) Classificador+Agrupador Tabela 6. Acurácia dos experimentos na base criada pelo autor. Técnica Acurácia Desvio Padrão Observação BOVW KMeans + SVM 0,587963 0,020849 MSER + SIFT + 512 BOVW KMeans + OPF-S 0,499074 0,011226 Denso + SIFT + 128 BOVW OPF-U + OPF-S 0,329630 0,018908 Denso + SIFT + 256 BOVW OPF-U + SVM 0,328704 0,016973 Denso + SIFT + 512 CNN RGB 0,710000 - CNN YUV 0,690000 - Overfeat + SVM 0,905556 - Overfeat + OPF-S 0,695150-5 Conclusão A utilização de uma CNN pré-treinada em uma base anterior resultou na melhor acurácia entre as técnicas avaliadas. Este resultado mostra que é possível realizar uma transferência de conhecimento onde os pesos de uma CNN treinada em uma base distinta podem ser utilizados com sucesso para classificação em uma base diferente apenas treinando a última 11

Acurácia 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 OVERFEAT+SVM OVERFEAT+OPF Figura 2. Acurácia na base criada. Base criada (36 cat.) - Acurácia x Agrupador+Classificador CNN RGB CNN YUV Kmeans+SVM (MSER+SIFT+512) Classificador+Agrupador Kmeans+OPF-S (Denso+SIFT+128) OPF-U+OPF-S (Denso+SURF+256) OPF-U+SVM (Denso+SURF+512) camada de classificação, neste caso, a SVM. A CNN criada e treinada exclusivamente a partir das imagens da base mostrou uma acurácia superior à técnica BOVW, porém inferior à CNN Overfeat. Apesar das bases possuírem uma quantidade de imagens pequena, se comparada à ImageNet na qual a CNN Overfeat foi treinada, a utilização da regularização Dropout possibilitou o treinamento sem a ocorrência de overfitting. A CNN criada não mostrou uma diferença significativa na acurácia quando treinada a partir de imagens no padrão RGB e imagens no padrão YUV. De forma geral, todos os comparativos utilizando o classificador OPF (supervisionado e não supervisionado) obtiveram uma acurácia inferior à técnica equivalente. A diferença foi maior nas técnicas do tipo BOVW onde o agrupamento realizado utilizando o OPF-U obteve uma acurácia significativamente menor do que quando o agrupamento foi realizado com o KMeans. Os resultados obtidos no experimentos em ambas as bases mostraram um comportamento semelhante. A ordem de melhor acurácia pelas técnicas abordadas se manteve. A CNN Overfeat como descritor natural obteve a melhor acurácia, com 0,856 na Caltech101 e 0,906 na base criada. A segunda melhor técnica foi a CNN criada e treinada manualmente 12

obtendo 0,540 na Caltech101 e 0,710 na base criada. Dentre as três técnicas a que resultou na pior acurácia foi a BOVW obtendo 0,467 na base Caltech101 e 0,587 na base criada. Ambas utilizando o agrupador KMeans e o classificador SVM em conjunto com descritores SIFT localizador a partir do MSER. Referências [1] Luis C. S. Afonso, João. P. Papa, Luciene P. Papa, Aparecido Nilceu Marana, and Anderson Rocha. Automatic visual dictionary generation through optimum-path forest clustering. In ICIP, pages 1897 1900. IEEE, 2012. [2] Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool. Speeded-up robust features (surf). Comput. Vis. Image Underst., 110(3):346 359, June 2008. [3] Dan Ciresan, Ueli Meier, and Jurgen Schmidhuber. Multi-column deep neural networks for image classification. In IN PROCEEDINGS OF THE 25TH IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR 2012, pages 3642 3649, 2012. [4] Le Cun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Handwritten digit recognition with a back-propagation network. In Advances in Neural Information Processing Systems, pages 396 404. Morgan Kaufmann, 1990. [5] Ritendra Datta, Dhiraj Joshi, Jia Li, and James Z. Wang. Image retrieval: ideas, influences, and trends of the new age. ACM COMPUTING SURVEYS, 2008. [6] Ian J. Goodfellow, David Warde-Farley, Mehdi Mirza, Aaron C. Courville, and Yoshua Bengio. Maxout networks. CoRR, abs/1302.4389, 2013. [7] J. A. Hartigan and M. A. Wong. Algorithm AS 136: A k-means clustering algorithm. Applied Statistics, 28(1):100 108, 1979. [8] Geoffrey E. Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. CoRR, abs/1207.0580, 2012. [9] Kevin Jarrett, Koray Kavukcuoglu, and Yann Lecun. What is the best multi-stage architecture for object recognition? IEEE 12th International Conference on Computer Vision, 2009. [10] Koray Kavukcuoglu, Pierre Sermanet, Y lan Boureau, Karol Gregor, Michaël Mathieu, and Yann Lecun. Learning convolutional feature hierarchies for visual recognition, 2012. 13

[11] Svetlana Lazebnik, Cordelia Schmid, and Jean Ponce. Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories. In Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition - Volume 2, CVPR 06, pages 2169 2178, Washington, DC, USA, 2006. IEEE Computer Society. [12] Fei-Fei Li and Pietro Perona. A bayesian hierarchical model for learning natural scene categories. In Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 05) - Volume 2 - Volume 02, CVPR 05, pages 524 531, Washington, DC, USA, 2005. IEEE Computer Society. [13] Ting Liu, Charles Rosenberg, and Henry A. Rowley. Clustering billions of images with large scale nearest neighbor search. In Proceedings of the Eighth IEEE Workshop on Applications of Computer Vision, WACV 07, pages 28, Washington, DC, USA, 2007. IEEE Computer Society. [14] David G. Lowe. Distinctive image features from scale-invariant keypoints. Int. J. Comput. Vision, 60(2):91 110, November 2004. [15] J. Matas, O. Chum, M. Urban, and T. Pajdla. Robust wide baseline stereo from maximally stable extremal regions. In Proceedings of the British Machine Vision Conference, pages 36.1 36.10. BMVA Press, 2002. doi:10.5244/c.16.36. [16] K. Mikolajczyk, T. Tuytelaars, C. Schmid, A. Zisserman, J. Matas, F. Schaffalitzky, T. Kadir, and L. Van Gool. A comparison of affine region detectors. Int. J. Comput. Vision, 65(1-2):43 72, November 2005. [17] Nicolas Pinto, David D. Cox, and James J. Dicarlo. Why is real-world visual object recognition hard. PLoS Computational Biology, 2008. [18] Ali Sharif Razavian, Hossein Azizpour, Josephine Sullivan, and Stefan Carlsson. Cnn features off-the-shelf: an astounding baseline for recognition. CoRR, abs/1403.6382, 2014. [19] Edward Rosten and Tom Drummond. Machine learning for high-speed corner detection. In In European Conference on Computer Vision, pages 430 443, 2006. [20] Ethan Rublee, Vincent Rabaud, Kurt Konolige, and Gary Bradski. Orb: An efficient alternative to sift or surf. In Proceedings of the 2011 International Conference on Computer Vision, ICCV 11, pages 2564 2571, Washington, DC, USA, 2011. IEEE Computer Society. [21] Pierre Sermanet, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus, and Yann LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. CoRR, abs/1312.6229, 2013. 14

[22] Yichuan Tang. Deep learning using support vector machines. CoRR, abs/1306.0239, 2013. [23] Ricardo Da Silva Torres and Alexandre Xavier Falc ao. Content based image retrieval theory and applications. Revista de Informática Teórica e Aplicada, 13:161 185, 2006. [24] Christian Wallraven, Barbara Caputo, and Arnulf Graf. Recognition with local features: the kernel recipe. In Proceedings of the Ninth IEEE International Conference on Computer Vision - Volume 2, ICCV 03, pages 257, Washington, DC, USA, 2003. IEEE Computer Society. [25] Matthew D. Zeiler and Rob Fergus. Stochastic pooling for regularization of deep convolutional neural networks. CoRR, abs/1301.3557, 2013. 15