• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2019

Share "RECONHECIMENTO DE PRODUTOS POR IMAGEM UTILIZANDO PALAVRAS VISUAIS E REDES NEURAIS CONVOLUCIONAIS"

Copied!
155
0
0

Texto

(1)

DISSERTAÇÃO DE MESTRADO

RECONHECIMENTO DE PRODUTOS

POR IMAGEM UTILIZANDO

PALAVRAS VISUAIS E REDES

NEURAIS CONVOLUCIONAIS

UNIVERSIDADE DO ESTADO DE SANTA CATARINA

UDESC

CENTRO DE CIÊNCIAS TECNOLÓGICAS

CCT

CURSO DE MESTRADO EM COMPUTAÇÃO APLICADA

GUILHERME DEFREITAS JURASZEK

(2)

RECONHECIMENTO DE PRODUTOS POR IMAGEM

UTILIZANDO PALAVRAS VISUAIS E REDES

NEURAIS CONVOLUCIONAIS

Dissertação apresentada ao Pro-grama de Pós-Graduação em Com-putação Aplicada da Universidade do Estado de Santa Catarina, como requisito parcial para obtenção do grau de Mestre em Computação Aplicada.

Orientador: Alexandre Gonçalves Silva

Coorientador: André Tavares da Silva

JOINVILLE, SC

(3)

J95r Juraszek, Guilherme Defreitas

Reconhecimento de produtos por imagem utilizando palavras visuais e redes neurais convolucionais / Guilherme Defreitas Juraszek. – 2014.

151 p. : il. ; 21 cm

Orientador: Alexandre Gonçalves Silva Coorientador: André Tavares da Silva Bibliografia: 113-117 p.

Dissertação (mestrado) – Universidade do Estado de Santa Catarina, Centro de Ciências Tecnológicas, Programa de Pós-Graduação em Computação Aplicada, Joinville, 2014.

1. Aprendizado de máquina. 2. Máquina de vetor de suporte 3. Redes neurais convolucionais. 4. Visão computacional. I. Silva, Alexandre Gonçalves. II. Silva, André Tavares da. III. Universidade do Estado de Santa Catarina. Programa de Pós-Graduação em Computação Aplicada. IV. Título.

(4)
(5)
(6)

Ao Professor Dr. Alexandre Gonçalves Silva pela orientação e todas as contribuições ao trabalho. Ao Professor Dr. André Tavares da Silva pela coorientação e auxílios prestados durante o desenvolvimento. À CAPES, pelo auxílio financeiro durante a realização do tra-balho.

À UDESC-PPGCA, pelas oportunidades que o programa traz ao mestrando na aquisição e geração de conhecimento.

(7)
(8)

JURASZEK, Guilherme Defreitas. Reconhecimento de produtos por imagem utilizando palavras visuais e redes neurais convo-lucionais. 2014. 151 p. Dissertação (Mestrado em Computação Apli-cada - Área: Processamento Gráfico (Graphics)). Universidade do Es-tado de Santa Catarina. Programa de Pós-Graduação em Computação Aplicada. Joinville, 2014.

A popularização de equipamentos como câmeras e celulares equipados com câmeras resultou em um grande volume de informações no for-mato de imagens e vídeos disponibilizadas na internet. O crescimento no volume de informação digital disponível nestes formatos 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 forma-tos de mídia. Neste trabalho são comparadas as técnicas de reconhe-cimento utilizando palavras visuais por meio de descritores artificiais

Bag of Visual WordsouBag of Features(BOVW), reconhecimento

uti-lizando redes neurais convolucionais (CNN) e reconhecimento usando descritores naturais obtidos através de uma rede neural convolucional previamente treinada em uma base distinta. As técnicas são aplica-das no problema de reconhecimento de produtos a partir da análise de imagens. Tais técnicas podem ser aplicadas em uma ampla gama de sistemas como reconhecimento de produtos utilizando dispositivos mó-veis, obtenção de informações de produtos visualizados utilizando um óculos de realidade aumentada, reconhecimento de produtos em vídeos, entre outros. A técnica BOVW é demonstrada com base nos descrito-res artificiais SIFT, SURF e MSER com extração de características densa e por meio de pontos de interesse. São estudados os algoritmos

KMeans e Floresta de Caminhos Ótimos não Supervisionada

(9)

criada pelo autor (RecogProd). São avaliados ainda como o tamanho da imagens, quantidade de categorias e escolha dos parâmetros influen-ciam na acurácia do resultado. Os resultados mostram que a utilização de uma CNN (Overfeat), previamente treinada em uma grande base

de imagens, como um descritor natural para extração de um vetor de características e treinamento de um classificador SVM, apresentou a melhor acurácia com 0,855 na base Caltech101 e 0,905 na base criada, RecogProd, em uma escala de 0 a 1. A CNN criada e treinada pelo autor apresentou o segundo melhor resultado com 0,710 utilizando o espaço de cores RGB na RecogProd e 0,540 utilizando o espaço de cores YUV na base Caltech101. A CNN treinada com imagens utilizando os espaço de cores RGB e YUV apresentaram acurácias muito próximas em am-bas as am-bases de treinamento porém, o treinamento utilizando YUV foi muito mais rápido. A técnica BOVW apresentou uma acurácia inferior à CNN como descritor natural e a CNN em ambas as bases testadas. Nos experimentos, com diversos tamanhos de categorias (5, 10, 15 e 36) da RecogProd, a CNN como descritor natural apresentou novamente a melhor acurácia. Os resultados mostram ainda que, conforme o número de categorias é aumentado, a CNN como descritor natural apresentou uma queda menor na acurácia em relação às demais técnicas avaliadas. Foi observado ainda que em uma base com 5 categorias a CNN como descritor natural alcançou a acurácia de 1,0, sendo capaz de classificar todos os exemplos corretamente.

(10)

The popularization of electronic devices like cameras and smartphones resulted in an increasing volume of images and videos available on the internet. This scenario allowed researchers to explore new search and retrieval techniques to use, not only the wide available text, but also extract information directly from images and videos. In this work three image recognition techniques have been compared, the Bag of Features or Bag of Visual Words (BOVW) using artificial descriptors, Convolu-tional Neural Networks (CNN) and CNN as a natural descriptor where the descriptors are obtained from a large pre-trained CNN in a diff

er-ent dataset. The techniques are applied in the image recognition prob-lem using image analysis. Those techniques can be applied in products search applications using smartphones, smart glasses, products recog-nition in videos and others. The BOVW technique is demonstrated using the artificial descriptors SIFT, SURF and MSER, with dense and interest points based extraction. The algorithms KMeans and un-supervised Optimum-Path Forest (OPF-U) are used for clustering and supervised Optimum-Path Forest (OPF-S) and Support Vector Ma-chines (SVM) are used for classification. The second technique uses a convolutional neural network (CNN) with three convolutional layers. The third technique uses the Overfeat, a large pre-trained CNN in the ImageNet dataset, for extraction of a characteristic vector of the new image dataset. This characteristic vector act as a natural descriptor and is then classified using OPF-S and SVM. The accuracy, total time of processing, time for clustering (KMeans and OPF-U), time for clas-sification (OPF-S and SVM) are evaluated in the Caltech 101 dataset and in a dataset created by the author with images of products (Recog-Prod). It is evaluated how image size, category size and overall param-eters affect the accuracy of the studied techniques. The results showed

that the CNN (Overfeat), pre-trained in a different large dataset, used

(11)

in the best accuracy among the other tested techniques. The CNN as a natural descriptor is also the most robust, since as the number of the categories is increased, and resulted in a lower accuracy decay among the others. In the experiments with a dataset with 5 categories the CNN as natural descriptor was able to recognize all the images correctly.

(12)

Figura 1 – Exemplo de diferentes produtos pertencentes a uma mesma categoria (cafeteiras). . . 22 Figura 2 – Exemplo de simplificação utilizando a magnitude e

orientação do gradiente extraído em volta do ponto de interesse (LOWE, 2004). . . 28 Figura 3 – Exemplos de regiões máximas detectadas em

diferen-tes escalas (retas epipolares em amarelo). (MATAS et al., 2002) . . . 30 Figura 4 – Exemplos de regiões máximas detectadas em

dife-rentes ângulos de captura (MATAS et al., 2002) . . 30 Figura 5 – Pirâmide de escalas com 5 iterações. . . 31 Figura 6 – Comparativo de separação utilizando SVM e RNA.

(a) Separação usando SVM (b) Separação usando RNA 32 Figura 7 – Exemplo de rede MLP. . . 34 Figura 8 – Organização dos campos receptivos em uma CNN. . 37 Figura 9 – Compartilhamento dos parâmetros para criação de

um mapa de características. . . 37 Figura 10 – Rede neural convolucional com dois estágios

(LE-CUN; KAVUKCUOGLU; FARABET, 2010). . . 38 Figura 11 – Exemplo de convolução . . . 39 Figura 12 – Exemplo de redução utilizando filtro M AX 2◊2 e

deslocando 2◊2 (sem sobreposição). . . 40

(13)

OPF. (a) Grafo completo. (b) Floresta de caminhos ótimos após o treinamento com dois protótipos. A entrada (x,y) corresponde ao custo e ao rótulo atri-buído. (c) Exemplo de teste no momento da classifi-cação conectado a todos os nós. (d) Exemplo de teste com atribuição da classe após a classificação (PAPA; FALCãO; SUZUKI, 2009) . . . 44 Figura 15 – Extração de descritores de forma densa e baseada em

pontos de interesse. (a) Descritores extraídos através de ponto de interesse. (b) Descritores extraídos de forma densa. . . 46 Figura 16 – Exemplo ilustrando a localização de descritores em

diferentes imagens mas que correspondem a uma mesma característica. . . 47 Figura 17 – Divisão da imagem na pirâmide espacial

(LAZEB-NIK; SCHMID; PONCE, 2006). . . 52 Figura 18 – Modelo do sistema de reconhecimento utilizando

KMe-ans e OPF-U para agrupamento e SVM e OPF-S para classificação. . . 60 Figura 19 – Modelo do algoritmo de reconhecimento CNN. . . . 63 Figura 20 – Exemplo de treinamento de uma CNN em uma base

A. . . 64 Figura 21 – Reutilização da CNN pré-treinada para treinamento

de uma nova baseB. . . 64 Figura 22 – Exemplos de imagens de 3 classes da base Caltech 101. 67 Figura 23 – Categorias e exemplos e imagens da base RecogProd. 68 Figura 24 – Acurácia na base Caltech101. . . 74 Figura 25 – Acurácia na base RecogProd. . . 78 Figura 26 – Kmeans+SVM - Descritores x Tamanho da imagem

x Acurácia na base Caltech101. . . 79 Figura 27 – Kmeans+OPF-S - Descritores x Tamanho da

ima-gem x Acurácia na base Caltech101. . . 80 Figura 28 – OPF-U+SVM - Descritores x Tamanho da imagem

x Acurácia na base Caltech101. . . 80 Figura 29 – OPF-U+OPF-S - Descritores x Tamanho da imagem

x Acurácia na base Caltech101. . . 81 Figura 30 – Kmeans+SVM - Descritores x Tamanho da imagem

x Acurácia na base RecogProd. . . 82 Figura 31 – Kmeans+OPF-S - Descritores x Tamanho da

(14)

◊Acurácia na base RecogProd. . . 83

Figura 33 – OPF-U+OPF-S - Descritores ◊ Tamanho da ima-gem◊Acurácia na base RecogProd. . . 84 Figura 34 – Tempo de treinamento e acurácia da CNN na base

Caltech101 utilizando imagens no espaço de cores YUV. . . 86 Figura 35 – Tempo de treinamento e acurácia da rede neural

convolucional na base Caltech101 utilizando imagens RGB. . . 86 Figura 36 – Tempo de treinamento e acurácia da rede neural

convolucional na base RecogProd utilizando imagens YUV. . . 87 Figura 37 – Tempo de treinamento e acurácia da rede neural

convolucional na base RecogProd utilizando imagens RGB. . . 87 Figura 38 – Filtros obtidos após o treinamento da rede neural.

(a) Filtros da CNN YUV na base Caltech101. (b) Filtros da CNN RGB na base Caltech101. (c) Filtros da CNN YUV na base RecogProd. (d) Filtros da CNN RGB na base RecogProd. . . 88 Figura 39 – Imagem utilizada nos exemplos de resultado da

con-volução na base Caltech101. . . 88 Figura 40 – Resultado da convolução dos filtros na primeira

ca-mada convolucional da CNN YUV (a) e RGB (b) na base Caltech101. . . 89 Figura 41 – Imagem utilizada nos exemplos de resultado da

con-volução na base RecogProd. . . 89 Figura 42 – Resultado da convolução dos filtros na primeira

ca-mada convolucional da CNN YUV (a) e RGB (b) na base RecogProd. . . 90 Figura 43 – Acurácia das técnicas estudadas na base RecogProd

com 5, 10, 15 e 36 categorias. . . 92 Figura 44 – F1 das técnicas estudadas na base RecogProd com

5, 10, 15 e 36 categorias. . . 92 Figura 45 – Tempo total de treinamento na base Caltech101. . . 93 Figura 46 – Tempo total de treinamento na base RecogProd. . . 94 Figura 47 – Tempo classificação na base RecogProd com 5, 10,

15 e 36 categorias. . . 95 Figura 48 – Tempo total na base RecogProd com 5, 10, 15 e 36

(15)

gem na base RecogProd. . . 97 Figura 50 – Acurácia na base RecogProd com os tamanhos de

dicionários avaliados. . . 99 Figura 51 – Acurácia na base Caltech101 com os tamanhos de

dicionários avaliados. . . 100 Figura 52 – Tempo de treinamento doKMeansnas bases avaliadas.101 Figura 53 – Tempo de treinamento do classificador na base

Re-cogProd. . . 101 Figura 54 – Tempo de treinamento do classificador na base

(16)

Tabela 1 – Resultados do comparativo entre variações de redes neurais convolucionais (JARRETT; KAVUKCUO-GLU; LECUN, 2009). . . 54 Tabela 2 – Agrupadores e classificadores analisados. . . 59 Tabela 3 – Descritores analisados. . . 59 Tabela 4 – Arquitetura da rede neural convolucional proposta. . 61 Tabela 5 – Arquitetura Overfeat da CNN menor (SERMANET

et al., 2013) . . . 65 Tabela 6 – Arquitetura Overfeat da CNN maior (SERMANET

et al., 2013) . . . 65 Tabela 7 – Tamanhos de dicionários utilizados nos experimentos. 70 Tabela 8 – Resultados - BOVW KMeans+SVM na base

Cal-tech101. . . 71 Tabela 9 – Resultados - BOVW KMeans+OPF na base

Cal-tech101. . . 71 Tabela 10 – Resultados - BOVW OPF-U+OPF-S na base

Cal-tech101. . . 72 Tabela 11 – Resultados - BOVW OPF-U+SVM na base Caltech101. 72 Tabela 12 – Resultados - CNN na base Caltech101. . . 73 Tabela 13 – Resultados - Overfeatna base Caltech101. . . 73

Tabela 14 – Resultados - BOVW KMeans+SVM na base Recog-Prod (36 categorias). . . 75 Tabela 15 – Resultados - BOVW KMeans+OPF-S na base

Re-cogProd (36 categorias). . . 76 Tabela 16 – Resultados - BOVW OPF+SVM na base RecogProd

(36 categorias). . . 76 Tabela 17 – Resultados - BOVW OPF+OPF na base RecogProd

(17)

gorias), . . . 77 Tabela 20 – Acurácia na base RecogProd com os diversos

tama-nhos de dicionário avaliados. . . 99 Tabela 21 – Acurácia na base Caltech101 com os diversos

tama-nhos de dicionário avaliados. . . 100 Tabela 22 – Tempo de treinamento do agrupador KMeans na

base Caltech101. . . 102 Tabela 23 – Tempo de treinamento do agrupador KMeans na

base RecogProd. . . 102 Tabela 24 – Tempo de treinamento do classificador na base

Re-cogProd. . . 103 Tabela 25 – Tempo de treinamento do classificador na base

Cal-tech101. . . 103 Tabela 26 – Tempo total de processamento nas bases Caltech101

e na base RecogProd . . . 104 Tabela 27 – Parâmetros testados para o OPF-U e OPF-S na base

Caltech 101. . . 119 Tabela 28 – Parâmetros testados para o OPF-U e SVM na base

Caltech 101, . . . 122 Tabela 29 – Parâmetros testados para o OPF-U e OPF-S na base

criada. . . 125 Tabela 30 – Parâmetros testados para o OPF-U e SVM na base

criada, . . . 128 Tabela 31 – Parâmetros testados para o OPF-U e OPF-S na base

criada com 5 categorias . . . 130 Tabela 32 – Parâmetros testados para o OPF-U e SVM na base

criada com 5 categorias . . . 133 Tabela 33 – Parâmetros testados para o OPF-U e OPF-S na base

criada com 10 categorias . . . 136 Tabela 34 – Parâmetros testados para o OPF-U e SVM na base

criada com 10 categorias . . . 139 Tabela 35 – Parâmetros testados para o OPF-U e OPF-S na base

criada com 15 categorias . . . 141 Tabela 36 – Parâmetros testados para o OPF-U e SVM na base

(18)

AI Inteligencia Artificial (Artificial Intelligence)

BOVW Conjunto de Palavras Visuais ouBag of Visual Words

CBIR Sistemas de Recuperação de Imagens por Conteúdo

(Content-Based Image Retrieval)

CNN Rede Neural Convolucional

ML Aprendizado de Máquina (Machine Learning)

OPF-S Floresta de Caminhos Ótimos Supervisionada

OPF-U Floresta de Caminhos Ótimos não Supervisionada

RGB Espaço de cor que utiliza, na formação de cores, as componentes Vermelha (Red), Verde (Green) e Azul (Blue)

SVM Máquina de Vetor de Suporte (Support Vector Ma-chines)

(19)
(20)

Derivada parcial

σ Desvio Padrão

e Número de Euler

(21)
(22)

1 INTRODUÇÃO . . . 21

1.1 Objetivos . . . 23 1.1.1 Geral . . . 23 1.1.2 Específicos . . . 23 1.2 Escopo . . . 24 1.3 Resultados Esperados . . . 24 1.4 Estrutura do Texto . . . 25

2 CONCEITOS . . . 27

2.1 Scale Invariant Feature Transform(SIFT) . . . 27

2.2 Maximally Stable Extremal Regions(MSER) . . . 28

2.3 Speed-Up Robust Features(SURF) . . . 29

2.4 Support Vector Machines(SVM) . . . 32

2.5 Multilayer Perceptron(MLP) . . . 33

2.6 Redes Neurais Convolucionais (CNN) . . . 35 2.7 Floresta de Caminhos Ótimos (Optimum-path Forest

- OPF) . . . 43

2.8 KMeans . . . 44

2.9 Conjunto de Palavras Visuais (Bag of Visual Words) (BOVW) . . . 45

3 TRABALHOS RELACIONADOS . . . 49

3.1 Algoritmos de estágio único . . . 50 3.2 Algoritmos de dois ou mais estágios . . . 52

4 DESENVOLVIMENTO DA SOLUÇÃO . . . 57

4.1 Conjunto de Palavras Visuais . . . 57 4.2 Rede Neural Convolucional . . . 59 4.3 CNN como Descritor Natural . . . 62 4.4 Avaliação . . . 65 4.5 Bases de Imagens . . . 66 4.5.1 Caltech . . . 66

4.5.2 Base criada - RecogProd . . . 66

4.6 Implementação . . . 67

5 EXPERIMENTOS, RESULTADOS E DISCUSSÕES 69

(23)

5.5 Acurácia das técnicas BOVW, CNN e CNN como des-critor natural na base RecogProd com 5, 10, 15 e 36 categorias. . . 91 5.6 Tempo de processamento geral . . . 93 5.7 Tempo de classificação . . . 95 5.8 Tempo de consulta de uma nova imagem . . . 97 5.9 Tamanho do dicionário de palavras visuais . . . 97

6 CONSIDERAÇÕES FINAIS . . . 107

6.1 Conclusões . . . 107 6.2 Trabalhos Futuros . . . 110

Referências . . . 113 APÊNDICE A Apêndice A . . . 119 APÊNDICE B Apêndice B . . . 149

(24)

1

INTRODUÇÃO

A popularização de equipamentos como câmeras e celulares equipados com câmeras resultou em um grande volume de informações no formato de imagens e vídeos disponibilizadas na internet. O cres-cente 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.

(25)

a resolver um determinado problema sem ser explicitamente progra-mado para tal tarefa (SIMON, 2013). Para que a definição anterior faça sentido é necessário também definir o significado de aprender. Um programa de computador aprende através de uma experiênciaE a

res-peito de um conjunto de tarefasT mensuráveis por uma métricaP se

o seu desempenho na tarefa T, medida pela métrica P melhora com a experiência E (MITCHELL, 1997). Algoritmos de aprendizado de máquina são utilizados amplamente com destaque nas áreas de pro-cessamento natural de linguagem, visão computacional e mineração de dados. Este trabalho mostra a utilização de três técnicas de aprendizado de máquina aplicadas ao reconhecimento de imagens, mais especifica-mente, no reconhecimento de produtos por imagem. A Figura 1 mostra alguns exemplos de produtos correspondentes a uma mesma categoria porém, com características como cor, forma e textura extremamente diferenciadas.

Figura 1 – Exemplo de diferentes produtos pertencentes a uma mesma categoria (cafeteiras).

Fonte: produção do próprio autor.

(26)

sis-temas 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 pro-dutos em vídeos, entre outros. A primeira técnica de reconhecimento de palavras visuais proposta utiliza os descritores artificiais SIFT, SURF e MSER na extração de características de forma densa e através de pontos de interesse. São estudados os algoritmos KMeans e floresta de cami-nhos ótimos não supervisionada (OPF-U) na etapa de agrupamento e criação do dicionário de palavras visuais e Máquinas de Vetor de Su-porte (SVM) e Floresta de Caminhos Ótimos supervisionada (OPF-S) na etapa de classificação. A segunda técnica utiliza uma rede neural de três camadas convolucionais seguidas de duas camadas totalmente co-nectadas. A terceira técnica consiste no uso de uma CNN, previamente treinada na base de imagens ImageNet, de cinco camadas convoluci-onais seguidas de três camadas totalmente conectadas. Um vetor de características é extraído da última camada convolucional para cada imagem da nova base de imagens a ser analisada. Este vetor atua como um descritor natural e é classificado utilizando SVM e OPF-S.

1.1 Objetivos

Nas subseções a seguir são descritos o objetivo geral e os obje-tivos específicos deste trabalho.

1.1.1

Geral

O objetivo deste trabalho é determinar das três técnicas (BOVW, CNN e CNN como descritor natural) e suas variações analisadas é a melhor, para o reconhecimento de produtos por imagem em relação a acurácia, tempo total de processamento, tempo de classificação, varia-ções no tamanho de imagem e variavaria-ções na quantidade de classes.

1.1.2

Específicos

1. Identificar qual das três técnicas (BOVW, CNN e CNN como descritor natural) oferece melhor acurácia.

2. Identificar qual das três técnicas oferece menor tempo de proces-samento para treinamento.

(27)

4. Identificar qual o melhor descritor entre SIFT, SURF e MSER na técnica de BOVW.

5. Identificar como o tamanho da imagem influencia na acurácia do reconhecimento.

6. Identificar como a quantidade de imagens e a quantidade de des-critores influenciam na acurácia e no tempo de classificação na técnica BOVW.

7. Identificar como o tamanho do dicionário de palavras visuais influ-encia na acurácia e no tempo de classificação na técnica BOVW.

1.2 Escopo

O escopo do trabalho está limitado ao Processamento Grá-fico, com o objetivo de efetuar o reconhecimento de uma imagem de acordo com a sua categoria com ênfase no reconhecimento de produtos. Os experimentos realizados utilizam uma base pública (Caltech101) de trabalhos relacionados e uma base criada pelo autor (RecogProd) uti-lizando imagens de produtos em sites de comércio eletrônico. As bases de imagens existentes na literatura não possuem o foco em produtos ou possuem um tamanho elevado, incompatível com aos recursos disponí-veis para a realização do trabalho.

1.3 Resultados Esperados

(28)

desafio. Os resultados dos experimentos poderão ser um indício de que esta técnica pode, ou não, realizar uma transferência de conhecimento, onde os filtros aprendidos em um treinamento anterior são genéricos o suficiente para serem usados na classificação de novas bases de imagens.

1.4 Estrutura do Texto

(29)
(30)

2

CONCEITOS

Neste capítulo são explicados os algoritmos utilizados no de-senvolvimento do trabalho. Mais especificamente os descritores SIFT, MSER e SURF, os algoritmos de classificação supervisionados SVM, OPF supervisionado, redes neurais MLP e redes neurais convolucionais e os algoritmos de classificação não supervisionados OPF e KMeans.

2.1

Scale Invariant Feature Transform

(SIFT)

O algoritmo SIFT consiste em um método para extração de características distintas e invariantes para o reconhecimento de pontos em um objeto em imagens de diferentes ângulos. Os descritores extraí-dos são invariantes à escala e rotação e possuem uma boa tolerância a ruídos, distorções decorrentes de diferentes perspectivas e mudanças de iluminação (LOWE, 2004). Lowe (2004), ainda descreve uma fór-mula para identificação de objetos utilizando um comparativo com um banco de descritores extraídos de outras imagens usando um algoritmo de vizinhos próximos. A implementação do descritor é dividida em duas partes, o detector de pontos de interesse e a representação do ponto de interesse através de um vetor, sendo este considerado o descritor pro-priamente dito. As etapas de processamento são:

Detecção de extremos: Identificação de possíveis pontos de interesse

utilizando a diferença de Gaussianas aplicadas a diversas escalas da imagem. Este procedimento permite encontrar pontos de in-teresse invariantes à escala e à orientação.

(31)

Atribuição de orientação: Uma ou mais orientações são atribuídas

a cada ponto chave escolhido de acordo com o gradiente local da imagem.

Extração do descritor: Os gradientes locais ao redor do ponto de interesse são mensurados e uma representação simplificada é ex-traída contendo um vetor de 128 posições. A Figura 2 mostra uma representação simplificada de um descritor de 2◊2 obtido

através de sub regiões de tamanho 4◊4. No algoritmo proposto

no artigo é utilizado um descritor de tamanho 4◊4 obtido através

de uma região de tamanho 16◊16 com 8 orientações possíveis,

resultando em 128 posições.

Figura 2 – Exemplo de simplificação utilizando a magnitude e orien-tação do gradiente extraído em volta do ponto de interesse (LOWE, 2004).

2.2

Maximally Stable Extremal Regions

(MSER)

(32)

de um formato fixo, como a distância Euclidiana, normalmente não re-sultam em uma boa acurácia. O algoritmo localiza pontos extremos na imagem buscando identificar regiões conexas a partir da intensidade do brilho dos pixels. O MSER aplica limiares de diferentes valores e

de-tecta regiões de bordas com grande variação de intensidade. De acordo com o autor, o conceito proposto pelo MSER pode ser explicado infor-malmente imaginando uma imagem em tons de cinzaI e um conjunto de limiares tonde o conjunto corresponde a todos os limiares possíveis para a imagem I. Dada a imagem e um limiar, todos os pixels abaixo do limiar são considerados brancos e todos os pixels acima do limiar são considerados pretos. Ao observar sequencialmente as imagens It a

primeira imagem será totalmente preta, seguida de uma imagem com alguns pontos pretos que crescem para cada imagem conforme o limiar é aumentado. Por fim, a imagem será completamente branca. O con-junto de todos os componentes conectados em todos os limiares forma o conjunto de regiões máxima. A junção de dois componentes conectados é interpretada como o término do componente menor e a inclusão dos

seuspixelsno componente maior. Após uma avaliação de estabilidade,

apenas regiões que aparecem em uma grande quantidade de diferentes limiares são selecionadas. O algoritmo MSER apresenta semelhanças com o algoritmo watershed (BEUCHER; LANTUéJOUL, 1979), po-rém no watershed o objetivo é encontrar os limiares onde diferentes componentes conexos se juntam, e no MSER o objetivo é encontrar um conjunto de limiares onde um grupo de componentes conexos perma-nece estável (sem grandes mudanças). A detecção das regiões máximas ocorre em diferentes escalas. O algoritmo MSER realiza apenas a de-tecção dos pontos de interesse denominados regiões máximas. Após a detecção do MSER, cada região máxima estável deve ser descrita uti-lizando um descritor robusto a variações de rotação como o SIFT. A Figura 3 mostra um exemplo de regiões máximas estáveis detectadas em duas imagens de diferentes escalas. Na Figura 4 é possível observar as regiões máximas detectadas em duas imagens obtidas de diferentes ângulos.

2.3

Speed-Up Robust Features

(SURF)

(33)

Figura 3 – Exemplos de regiões máximas detectadas em diferentes es-calas (retas epipolares em amarelo). (MATAS et al., 2002)

Figura 4 – Exemplos de regiões máximas detectadas em diferentes ân-gulos de captura (MATAS et al., 2002)

(34)

possibilitam o cálculo de forma mais eficiente. As etapas de localização de pontos máximos com pirâmides de escalas e a seleção dos pontos máximos através da análise conjunta com imagens em escalas vizinhas acontecem de forma semelhante ao SIFT. A pirâmide de escalas con-siste na redução da imagem em 50% do seu tamanho por um número pré determinado de iterações, conforme mostrado na Figura 5. Com o objetivo de extrair características invariantes à rotação, o algoritmo de-termina a orientação das variações de tonalidade realizando convoluções em uma área ao redor do ponto de interesse. O raio da área analisada esta relacionado à escala em que o ponto de interesse foi localizado na pirâmide de escalas da etapa anterior. Para extrair as informações que melhor descrevem esta área em volta do ponto de interesse, o SURF utiliza convoluções a partir do o método Haar Wavelet. A extração das informações de orientação resultam em um vetor de 64 posições que descrevem o ponto de interesse. Como as informações deste vetor fo-ram extraídas tendo como base a orientação do ponto de interesse, o mesmo padrão pode ser encontrado caso a imagem seja rotacionada.

Figura 5 – Pirâmide de escalas com 5 iterações.

Fonte: produção do próprio autor.

(35)

"apren-didos"por uma rede neural convolucional. Tais filtros não são fórmulas matemáticas fixas e sofrem mudanças em seus valores de acordo com os dados nos quais foram treinados. Redes neurais convolucionais serão estudadas mais à frente neste capítulo.

2.4

Support Vector Machines

(SVM)

OSupport Vector Machines (SVM) é um algoritmo de

apren-dizado supervisionado proposto por Cortes e Vapnik (CORTES; VAP-NIK, 1995). O algoritmo infere, a partir de um conjunto de exemplos rotulados, uma função capaz de predizer os rótulos de novos exemplos desconhecidos. O algoritmo estabelece essa função linear com o obje-tivo de maximizar a margem entre os dados no hiperplano, conforme o exemplo da Figura 6a. Um dos benefícios da SVM em relação às demais redes neurais, como Multilayer Perceptron (MLP), está na realização da divisão do hiperplano considerando a distância entre os exemplos de treinamento. A divisão do hiperplano estabelecida por uma rede neural artificial não considera a distância entre as margens entre a função de decisão e os exemplos de treinamento. Na SVM a função de decisão é calculada com o objetivo de criar uma margem mais justa entre os vetores de suporte, como mostrado na Figura 6. O posicionamento da função de divisão considerando a distância entre os vetores proporciona uma melhor acurácia na classificação de novos exemplos.

(a) (b)

Figura 6 – Comparativo de separação utilizando SVM e RNA. (a) Se-paração usando SVM (b) SeSe-paração usando RNA

Fonte: produção do próprio autor.

(36)

o SVM utiliza os exemplos de treinamento que ficam localizados na fronteira entre as classes no hiperplano como referência. Estes exem-plos são chamados de vetores de suporte. Para efetuar a classificação de novos exemplos são necessários apenas os vetores de suporte, podendo os demais exemplos utilizados durante a etapa de treinamento serem descartados. Apesar de aumentar a eficiência na classificação de dados linearmente separáveis no uso prático, sua utilização fica comprometida pois dificilmente os dados são separados de forma linear. Para tornar possível a separação dos dados não lineares de forma linear a SVM utiliza os kernels para efetuar manipulações nos dados tornando-os li-nearmente separáveis. A utilização correta doskernelsexige um conhe-cimento da distribuição dos dados. Existem diversos tipos de kernels

disponíveis, entre eles estão o linear, polinomial, gaussiano ou radial e

sigmoid.

2.5

Multilayer Perceptron

(MLP)

As redes Multilayer Perceptron MLP são formadas por con-juntos de neurônios artificiais organizados em uma ou mais camadas intermediárias como mostrado na Figura 7. Redes com dois ou mais neurônios artificiais na camada intermediária podem ser utilizadas para a classificação de problemas não lineares (BRAGA; CARVALHO; LU-DEMIR, 2000).

Os principais componentes são a camada de entrada, camada oculta ou intermediária e camada de saída. A camada de entrada é responsável por receber os dados, não acontecendo nenhum processa-mento, sendo os dados apenas repassados para a camada intermediária. A camada intermediária é composta por uma ou mais camadas com um ou mais nós (neurônios artificiais). Nesta camada é aplicada uma fun-ção de ativafun-ção não linear, a qual determina se o neurônio irá propagar a informação ou não com base nos estímulos recebidos da camada ante-rior multiplicado pelos pesos obtidos durante a etapa de treinamento. Duas funções comuns utilizadas são a tangente hiperbólica, demons-trada na Equação 2.1 com resultado variando entre -1 e 1 e a função logística, demonstrada na Equação 2.2 com resultado variando entre 0 e 1.

φ(vi) =tanh(vi) (2.1)

(37)

x1

x2

x3

x4

y1

y2

Camada de

entrada

Camada

Intermediária

Camada de

Saída

Figura 7 – Exemplo de rede MLP.

Fonte: produção do próprio autor.

Os pesos representam o conhecimento da rede. A última camada, cha-mada de cacha-mada de saída, recebe as informações das cacha-madas interme-diárias e produz a resposta. O formato da resposta da rede pode variar de acordo com o problema sendo comum a utilização da saída de cada neurônio como 0 ou 1. Em um problema de classificação cada neurônio de saída corresponde a uma categoria. Em uma rede com 5 neurônios de saída podemos considerar o vetor [1,0,0,0,0] como sendo categoria 1, [0,1,0,0,0] como sendo categoria 2, [0,0,1,0,0] como categoria 3 e as-sim por diante. Na seção de redes neurais convolucionais estudada na seção 2.6 é descrita uma rede onde a saída consiste em um vetor com a probabilidade de uma imagem pertencer às possíveis categorias.

(38)

Nas redes MLP é utilizado o algoritmo backpropagation (ALPAYDIN,

2010) para efetuar os ajustes destes pesos. Após o treinamento, a rede pode ser utilizada para a classificação de novos exemplos. Caso seja incluída uma nova categoria nos dados de treinamento é necessário efetuar todo o treinamento da rede novamente (BRAGA; CARVALHO; LUDEMIR, 2000).

Apesar de serem úteis em diversos problemas de classificação, as redes MLP não funcionam de forma eficiente em problemas de clas-sificação de imagens quando a própria esta é utilizada como entrada da rede 1. A imagem utilizada para entrada na rede neural normalmente

possui uma grande dimensionalidade, uma imagem de 230◊230 pixels resulta em uma entrada da rede com 52.900 dimensões. A quantidade de dimensões na entrada da rede MLP totalmente conectada resulta em um crescimento exponencial de pesos na rede, dificultando o treina-mento e aumentando a quantidade de processatreina-mento necessária. Outro problema encontrado ocorre em função de que em uma rede MLP cada neurônio artificial está conectado através de um peso independente en-tre as camadas. Esta característica presente na arquitetura da MLP dificulta o reconhecimento de objetos em diferentes locais da imagem. Se a rede MLP foi treinada para reconhecer um objeto que aparece no canto esquerdo das imagens, ela dificilmente será capaz de identificar o mesmo objeto quando ele estiver presente no canto direito de uma outra imagem.

2.6 Redes Neurais Convolucionais (CNN)

Redes neurais convolucionais (CNN) são arquiteturas biologi-camente inspiradas capazes de serem treinadas e aprenderem represen-tações invariantes a escala, translação, rotação e transformações afins (LECUN; KAVUKCUOGLU; FARABET, 2010). Uma das questões chave no reconhecimento de padrões em imagens consiste em saber qual é a melhor forma de representar as características dos dados a serem reconhecidos de forma robusta e invariante à iluminação, orien-tação, pose, oclusão entre outros. Apesar de diversos descritores terem sido desenvolvidos para extrair estas características de forma artificial é desejável que um sistema de reconhecimento seja capaz de extrair esta representação de forma automática através dos dados brutos, no caso de reconhecimento de imagens, as próprias imagens.

(39)

No trabalho de Hubel e Wiesel (1968), experimentos realiza-dos com gatos e macacos mostraram que o córtex visual é organizado em um conjunto hierárquico de células sensíveis a pequenas sub re-giões chamadas campos receptivos. Hubel categoriza as células como simples, complexas e super complexas de acordo com o padrão de es-tímulo a qual são ativadas. Células simples são ativadas quando são apresentados padrões simples para o animal, como linhas. As células complexas e super complexas são ativadas quando padrões mais elabo-rados, compostos de combinações de padrões simples, são apresentados ao animal. A partir do estudo de Hubel surge a hipótese de que uma boa representação interna deve ser hierárquica, onde ospixels formam arestas, as arestas formam padrões, os padrões combinados dão origem a partes, as partes combinadas formam os objetos e os objetos formam cenas (LECUN; KAVUKCUOGLU; FARABET, 2010). Esta estrutura sugere que o mecanismo de reconhecimento necessita de diversos es-tágios de treinamento empilhados uns nos outros, um para cada nível de hierarquia. As CNN surgiram para representar este tipo de arquite-tura. As CNN compõem um dos tipos de algoritmos da área conhecida

comodeep learning e são projetadas para uso com dados em duas

di-mensões tornando-as uma boa candidata para a solução de problemas envolvendo reconhecimento de imagens (AREL; ROSE; KARNOWSKI, 2010).

As CNN são arquiteturas multiestágios capazes de serem trei-nadas. Os campos receptivos são altamente correlacionados à localidade do estímulo na imagem capturada. As CNN utilizam este conceito for-çando um padrão de conectividade entre as camadas de neurônios arti-ficiais. A Figura 8 mostra esta organização onde uma camadaiestá co-nectada a uma uma pequena sub região da camadai≠1. Neste exemplo a camadam≠1 corresponde a imagem de entrada. A camada superior

mpossui um campo receptivo de tamanho 3, onde cada neurônio recebe

o estímulo de 3 neurônios da camada anterior. A camadam+ 1 é

seme-lhante à camada anterior, possuindo um campo receptivo de tamanho 3 com relação à camada anterior porém, com um campo receptivo de tamanho 5 com relação à imagem de entrada.

Considerando esta analogia, cada campo receptivo é conside-rado um filtro não linear onde seus pesos devem ser aprendidos para que o neurônio seja ativado apenas quando um determinado estímulo estiver presente na área onde o filtro foi aplicado.

(40)

Camada m-1 Camada m Camada m+1

Figura 8 – Organização dos campos receptivos em uma CNN.

Fonte: produção do próprio autor.

características compartilha os mesmos parâmetros. A Figura 9 mostra o compartilhamento dos parâmetros. Esta estratégia garante que uma determinada característica será detectada pelo mapa de características independentemente da sua posição da imagem (ou mapa) de entrada.

Camada m-1 Camada m

mapa de características

Figura 9 – Compartilhamento dos parâmetros para criação de um mapa de características.

Fonte: produção do próprio autor.

As entradas de dados de cada estágio são um conjunto de mapas de características (features maps). Quanto aplicada utilizando imagens

coloridas, a entrada do primeiro estágio consiste nos três canais de co-res da imagem. Cada vetor de duas dimensões passa a funcionar como um mapa de características. Na saída de cada estágio, cada mapa cor-responde a convolução do mapa de entrada por um filtro. A aplicação do filtro no mapa destaca algumas características. Cada filtro é respon-sável por destacar uma característica diferente. No primeiro estágio os filtros destacam linhas e gradientes em diferentes orientações.

(41)

camadak, os filtros determinados por um conjunto de pesosWk e um

termo debiasbk e o operador de convoluçãoú, a Equação 2.3 (LECUN;

KAVUKCUOGLU; FARABET, 2010) mostra a obtenção do mapa de característicahk para uma função não linearf.

hkij =f((Wkúx)ij+bk) (2.3)

Cada estágio é composto por três etapas, filtragem (filter bank layer),

etapa não linear (non-linearity layer) e etapa de redução (feature

po-oling layer) que representa o campo receptivo. Uma CNN pode ser

composta de um ou mais estágios onde cada um contém as três etapas. A Figura 10 mostra uma CNN com um único mapa de característi-cas de entrada (ex: uma imagem em tons de cinza) com dois estágios convolucionais C1+S1 e C2+S2.

Figura 10 – Rede neural convolucional com dois estágios (LECUN; KA-VUKCUOGLU; FARABET, 2010).

A etapa de filtragem realiza a convolução dos filtrosWk

i,

corres-pondente aoi-ésimo filtro da camadakde tamanhol1◊l2na imagem.

Cada filtro detecta uma característica particular em todas as localiza-ções na imagem de entrada. Na primeira camada a imagem de entrada

Imn, sendo m a altura en o comprimento, é representada através de

um um conjunto de mapas de características, um para cada canal de cor.

Na Figura 11 é realizado um exemplo de convolução no qual a máscara é transladada em posições em que se encontra integralmente no domínio dos pixels (e, portanto, reduzindo a imagem resultante). É possível observar que o filtro aplicado realça áreas onde existe uma grande diferença nos valores de forma vertical, como em um canto de um objeto por exemplo.

(42)

utili-*

=

1

-1 -1

-1

-1

-1

-1

5

5

9 24

5

1

1

2

2

2

1

1

1

1

1

1

c1 = 1.(-1)+1.(-1)+1.5+1.(-1)+1.(-1)+1.5+1.(-1)+1.(-1)+1.5 = 9 c2 = 1.(-1)+1.(-1)+2.5+1.(-1)+1.(-1)+2.5+1.(-1)+1.(-1)+2.5 = 24

Figura 11 – Exemplo de convolução

Fonte: produção do próprio autor.

zam a função de unidade linear retificada (rectified linear unit) (ReLU) descrita na Equação 2.5. Outro exemplo utilizado com frequência é a função tangente hiperbólica descrita na Equação 2.6 e função sigmoid

descrita na Equação 2.7 sendozrepresentado na Equação 2.4.

z= (WT úx) +b (2.4)

relu(z) =max(0, z) (2.5)

tanh(z) =ezez

ez+ez (2.6)

sigm(z) = 1

1 +ez (2.7)

A etapa redução (também chamada subsampling) calcula a média ou

máximo de uma vizinhança pré-determinada em cada um dos mapas de características. O resultado é um outro mapa com resolução menor que proporciona invariação a pequenas translações. Zeiler e Fergus (ZEI-LER; FERGUS, 2013) demonstram um novo método para redução com base da distribuição das ativações em cada região. A Figura 12 mostra a aplicação da redução utilizando uma função M AX que seleciona o maior número em uma vizinhança 2◊2 sem sobreposição.

(43)

)

=

(

9

36 6

6

1

24 1

5

6

6

6

1

1

1

1

1

1

1

36

10

f

Figura 12 – Exemplo de redução utilizando filtroM AX 2◊2 e deslo-cando 2◊2 (sem sobreposição).

Fonte: produção do próprio autor.

no treinamento de um classificador totalmente conectado, com tama-nho de saída correspondente à quantidade de categorias ou classes. O resultado do classificador passa então pela funçãosoftmax descrita na Equação 2.8 que garante que a soma de todas as probabilidades de saída da MLP resulta em 1, ondeY corresponde ao vetor de saída da MLP. A resposta final de qual categoria pode ser obtida através da seleção do item com maior probabilidade descrita na Equação 2.10.

sof tmax(yi) =

ezi q

j‘Ye

zj (2.8)

logsof tmax(yi) =log(sof tmax(yi)) (2.9)

yn=argmaxP(Y =i|xn, W, b) (2.10)

Uma das formas de efetuar o treinamento da rede é utilizando o algo-ritmo de gradiente descendente estocástico (stochastic gradient descent

- SGD) para minimizar a diferença entre a saída da CNN e a saída desejada. O algoritmo SGD procura encontrar o valor mínimo de uma função utilizando um processo iterativo com base no gradiente. O gra-diente de uma função é definido por um vetor de derivadas parciais. Como o gradiente sempre aponta para o valor máximo, e o objetivo é encontrar o valor mínimo da função, atualizam-se os valores com base no valor negativo do gradiente. Esta estratégia eventualmente levará ao valor mínimo global de uma função convexa. O algoritmo abaixo demonstra as etapas do SGD.

(44)

2. Gradiente: Calcule o gradiente da estimativa vi = Òf(xi) onde

Òf(xi) corresponde às derivadas parciais.

3. Atualização: Atualize os valores utilizandoxi+1=xiαvi. Onde

αé um parâmetro de taxa de aprendizado (oulearning rate) de-finido manualmente para acelerar a atualização dos novos valores a cada iteração.

4. Iteração: Repetir as etapas 2 e 3 até a função chegar próxima a zero.

A diferença (ou erro) entre a saída da CNN e a saída desejada é obtida através da fórmulaNegative Log Likelihood (NLL) demonstrada na Equação 2.11. Utilizando o erro fornecido pela NLL são calculados os os gradientes e aplicados a cada camada utilizando o algoritmo de

back-propagation. Todos os parâmetros são atualizados durante a etapa de

treinamento para cada imagem da base de treinamento. LeCun (1998) detalha o procedimento de treinamento. A arquitetura da CNN é defi-nida através da quantidade blocos contendo as três etapas demonstra-das (convolução pelos filtros, aplicação da função não linear e redução). A literatura não especifica uma arquitetura padrão, a quantidade de camadas necessárias está diretamente relacionado com do número de hierarquias de características necessário para representar e reconhecer a base de imagens a ser trabalhada. Uma base de imagens com cate-gorias altamente distintas precisam de uma representação interna mais simples, enquanto bases onde diferentes categorias são muito pareci-das necessitam de uma nível de representações internas maior para ser capaz de distinguir uma categoria da outra.

l(xn, Tn) =≠log(P(Y =tn|xn, W, b)) (2.11)

Devido à grande quantidade de parâmetros de uma CNN é possível a ocorrência do problema de overfitting. O overfitting ocorre quando a

(45)

técnica proposta por (HINTON et al., 2012) chamadaDropout procura

desativar aleatoriamente um conjunto de neurônios a cada iteração de treinamento. Com menos ativações é reduzido o problema deoverfitting

forcando cada camada da rede a se especializar em uma determinada característica de forma mais distinta. A Figura 13 mostra um exemplo dos filtros aprendidos com e sem a utilização doDropout. É possível ob-servar que, utilizando esta técnica, as características aprendidas pelos filtros serão muito mais distintas.

Figura 13 – Exemplo de filtros aprendidos na base MNIST (a) sem dro-pout (b) utilizandoDropout (HINTON et al., 2012).

De acordo com o autor, o Dropout pode ser utilizado nas ca-madas totalmente conectadas de uma CNN e/ou em conjunto com as camadas convolucionais após a convolução dos filtros.

(46)

2.7 Floresta de Caminhos Ótimos (Optimumpath Forest

-OPF)

O OPF é um framework baseado em grafos com o objetivo de realizar a segmentação do espaço de características no contexto de reconhecimento de padrões. A motivação principal para criação deste

framework é oferecer algoritmos que possuam um melhor desempenho

na etapa de treinamento se comparado a outros classificadores como máquinas de vetor de suporte e redes neurais perceptron multicamadas. No classificador supervisionado desenvolvido por Papa et. al.

(2009) o vetor de características do problema de reconhecimento de pa-drões é representado como um nó em um grafo. O objetivo principal é particionar este grafo agrupando cada amostra na partição correspon-dente à classe a qual ela pertence. Todas as amostras de uma mesma classe devem ser agrupadas em uma mesma partição. O primeiro passo para utilizar o classificador baseado em OPF é escolher a relação de ad-jacência entres os nós. As principais são grafos completos e grafos KNN. Na relação baseada em grafos completos todos os nós estão interconec-tados, sendo esta, a versão mais utilizada. Na relação com grafos KNN é utilizado um algoritmo baseado nos k-vizinhos mais próximos para determinar a ligação entre os nós. A segunda etapa consiste na escolha dos nós iniciais, chamados nós protótipos, que iniciarão o processo de competição, conquistando os nós vizinhos, para determinar o partici-onamento do grafo. A conquista dos nós vizinhos consiste em atribuir a classe do protótipo ao nó conquistado. A escolha dos nós protóti-pos pode acontecer de forma aleatória ou baseada em alguma outra heurística como por exemplos os nós mais próximos do centro de zo-nas de maior densidade no grafo. É necessário escolher pelo menos um protótipo por classe, visto que é o protótipo que será responsável por representar aquela classe no momento do particionamento do grafo. O processo de conquista ocorre através da comparação de resultado en-tre o protótipo e o nó a ser analisado de acordo com o uma função e distância ou custo. Após o treinamento classificador é uma floresta de caminhos ótimos composta por diversas árvores de caminhos ótimos onde cada uma corresponde a uma classe. Cada exemplo de treinamento pertence a uma árvore de caminho ótimo onde a raiz é o protótipo mais fortemente conectado. A Figura 14 mostra a atribuição dos custos, o treinamento e classificação utilizando o OPF.

(47)

Figura 14 – Exemplo de treinamento e classificação utilizando OPF. (a) Grafo completo. (b) Floresta de caminhos ótimos após o treinamento com dois protótipos. A entrada (x,y) cor-responde ao custo e ao rótulo atribuído. (c) Exemplo de teste no momento da classificação conectado a todos os nós. (d) Exemplo de teste com atribuição da classe após a classificação (PAPA; FALCãO; SUZUKI, 2009)

testes.

2.8

KMeans

O algoritmo de agrupamento KMeans foi primeiramente em-pregado por MacQueen (1967) onde o objetivo principal foi particionar um grupo de n observações em um conjunto de grupos de tamanho

k onde cada observação pertença grupo mais próximo da média. Dado um conjunto de observações (x1, x2, .., xn) onde cada observação

(48)

quadrados de cada grupo confome a Equação 2.12. a Srgmin k ÿ i=1 k ÿ

xj‘Si

ÎxjµiÎ

2 (2.12)

ondeµi é a média das observações do grupoSi.

A implementação mais comum acontece de forma iterativa e realiza duas etapas, atribuição e atualização. Dado um grupo inicial de tamanho k de médias m1, m2, ..., mk o algoritmo executa as duas

etapas até a convergência (quando as atribuições não mudam mais após a atualização das médias ou a quantidade de mudanças estiver abaixo de um limiar pré-definido). Na etapa de atribuição cada observação é atribuída a um grupo conforme a Equação 2.13.

Si(t)={xp:

. . .xpm

(t)

i . . . 2 6 . . .xpm

(t)

j

. . . 2

j,16j6k} (2.13) ondexpé atribuído a um grupo S(t).

Na etapa de atualização são calculadas as novas médias como sendo os centroides das observações do grupo conforme a Equação 2.14.

m(it+1)= - 1 --S

(t)

i

-ÿ

xj‘S(t)

i

xj (2.14)

NoKMeans, assim como nos demais métodos similares, não existe

ga-rantia da convergência para um mínimo global. Para minimizar este problema é possível efetuar um número n de execuções (normalmente 10) inicializando o algoritmo aleatoriamente e selecionando a iniciali-zação dos grupos que resulta na melhor classificação. Outro problema enfrentado é o fato de o algoritmo ter uma complexidade exponencial no pior caso, resultando em um tempo de convergência muito elevado em determinadas bases de dados. Para reduzir este problema o número de iterações é limitado a um valor máximo.

2.9 Conjunto de Palavras Visuais (

Bag of Visual Words

) (BOVW)

No algoritmo de conjunto de palavras visuais (bag of visual

words oubag of features) (BOVW) cada imagem é representadas por

(49)

Figura 15 – Extração de descritores de forma densa e baseada em pon-tos de interesse. (a) Descritores extraídos através de ponto de interesse. (b) Descritores extraídos de forma densa.

Fonte: produção do próprio autor.

Após a extração dos descritores é realizada uma etapa de quan-tização, normalmente utilizando o algoritmo de agrupamento de dados

KMeansonde descritores que representam uma mesma área devem ser

agrupados em um mesmo conjunto. A Figura 16 mostra um exemplo de diversos descritores de imagens diferentes que corresponde a uma característica semelhante.

(50)

Figura 16 – Exemplo ilustrando a localização de descritores em dife-rentes imagens mas que correspondem a uma mesma ca-racterística.

Fonte: produção do próprio autor.

ao número de classes, cada uma responsável por determinar se o vetor pesquisado pertence ou não a uma classe específica. Outra abordagem menos utilizada treina cada máquina de vetor de suporte entre duas classes de imagens e ao término do treinamento, cada máquina de ve-tor de suporte poderá identificar entre duas classes.

Além da abordagem tradicional onde cada imagem gera um vetor contendo o histograma de palavras para a imagem toda,

Lazeb-nik et. al. (2006) descrevem uma abordagem alternativa dividindo a

(51)
(52)

3

TRABALHOS RELACIONADOS

Os trabalhos encontrados na literatura podem ser classificados entre dois grupos de acordo com seus objetivos principais: (i) a recupe-ração de imagens semelhantes através da extrecupe-ração de características e da comparação de descritores utilizando uma função de distância; (ii) o reconhecimento ou classificação de objetos em uma imagem. Os tra-balhos relacionados ao primeiro grupo são conhecidos como Sistemas de Recuperação de Imagens por Conteúdo (Content-Based Image

Re-trieval - CBIR). Torres e Falcão (2006) mostram algumas abordagens

(53)

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 (LIU; ROSENBERG; ROWLEY, 2007) descrevem em seu artigo um algoritmo para a criação de agrupamentos ( clus-ters) contendo milhares de imagens semelhantes utilizandok-vizinhos

mais próximos (KNN). Além da utilização de informações retiradas da própria imagem, os mecanismos de busca utilizam informações sobre a credibilidade da página na qual a imagem está inserida, adquirida atra-vés do conteúdo textual, atualizações, links de referências, entre outros fatores, como indicativos de agrupamento de imagens e retorno de bus-cas (JING; BALUJA, 2008). Além de auxiliar na busca por imagens em uma pesquisa, algumas técnicas de agrupamento e identificação de padrões são usadas com o objetivo de identificar e remover conteúdo adulto dos resultados das buscas. Esta análise leva em consideração questões como a coloração da pele e detecção de rostos. A classifica-ção ocorre por uma SVM treinada com os dados extraídos das imagens (ROWLEY; JING; BALUJA, 2006). Diferentes requisitos e caracterís-ticas das imagens do domínio trabalhado podem resultar na utilização de técnicas diferentes para extração das características e classificação.

Os trabalhos para reconhecimento e classificação de objetos em uma imagem utilizam descritores ou filtros para a extração de carac-terí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 ca-tegorias: algoritmos de estágio de extração de características único e algoritmos de dois ou mais estágios (JARRETT; KAVUKCUOGLU; LECUN, 2009).

3.1 Algoritmos de estágio único

A utilização dos valores de intensidade dos pixels não

ofere-cem um bom resultado quando combinados com um classificador linear (WALLRAVEN; CAPUTO; GRAF, 2003) para o reconhecimento de imagens. Wallraven, Caputo e Graf (2003) demonstram ainda que des-critores baseados em características locais superam desdes-critores globais baseados em cores quando combinados com um classificador linear.

(54)

encontrado é que a quantidade de pontos chaves pode ser muito grande em imagens com uma resolução alta. Uma forma de obter um vetor de características fixo é realizar a quantização e criação de um histo-grama com base em características dos pontos chaves. Esta abordagem é descrita na seção 4.2. Apesar de ser uma técnica simples, durante o processo de quantização e criação do histograma com base nos descri-tores, informações como localização e correlação são perdidas.

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 características de regiões da imagem,

agrupando-as de acordo com as suas semelhanças. Características seme-lhantes 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 uti-lizar o algoritmoKMeans(HARTIGAN; WONG, 1979) 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 su-pervisionada do OPF (AFONSO et al., 2012). O estudo mostra ainda a obtenção do tamanho do dicionário de forma automática pelo OPF não supervisionado.

Na abordagem BOVW, as informações relacionadas à localiza-ção são perdidas. Para explorar esta informalocaliza-ção (LAZEBNIK; SCH-MID; PONCE, 2006) divide a imagem em sub regiões e extrai o histo-grama de palavras de cada região na técnica conhecida como Pyramid

Match Kernel SVM (PMK-SVM). Quanto maior for o número de

(55)

o número de regiões subdivididas, maior a resolução da localização das características na imagem. Quanto maior a resolução da localização, maior também o tamanho do vetor de características.

As características foram extraídas de forma densa, onde a ima-gem é dividida em grade e o descritor SIFT é extraído de todas as áreas da imagem e não somente dos pontos de interesse. A extração de características de forma densa é mais eficiente na classificação de cenas (LI; PERONA, 2005).

Figura 17 – Divisão da imagem na pirâmide espacial (LAZEBNIK; SCHMID; PONCE, 2006).

3.2 Algoritmos de dois ou mais estágios

A possibilidade de treinar redes neurais com múltiplas camadas intermediárias despertou o surgimento de diversos algoritmos agrupa-dos em uma área conhecida comodeep learning.

(56)

que deve ser destacada é a capacidade de aprender representações em níveis hierárquicos semânticos mais elevados. Os experimentos reali-zados por Jarret et. al. (2009) mostram que a utilização de norma-lização e de uma função de ativação retificada, neste caso a função "abs(tanh(x))", melhoram significativamente o desempenho na

classi-ficação. São efetuados ainda comparativos inicializando os filtros da rede convolucional de forma aleatória e não supervisionada. A Tabela 1 mostra o resultado do comparativo de desempenho de uma rede de uma (Single Stage System) e duas (Two Stage System) camadas con-volucionais. A utilização de uma função retificada é identificada por

Rabs. A utilização de normalização de contraste local é identificada por

N. Na etapa de redução são comparados omax poolingPM, que reduz

a dimensionalidade com base no valor máxima de uma vizinhança e o

average pooling PA que efetua a redução com base na média dos

va-lores. São comparados os filtros da rede neural inicializados de forma aleatória R ou de forma não supervisionada U. Jarret et. al. (2009)

ainda efetuam um comparativo referente ao ajuste fino da rede convo-lucional representado por+. Na rede com o ajuste fino a rede inteira é

treinada em uma base supervisionada, mesmo quanto utilizando filtros não supervisionados. Na rede sem o ajuste fino os filtros não sofrem al-terações, sendo efetuado o treinamento apenas das camadas totalmente conectadas do final da rede.

É possível observar que a rede neural convolucional com a fun-ção de retificafun-ção resultou em um aumento significativo no desempe-nho passando de 18,5% (N ePA) para 54,2% (N,PA ePabs) na rede

de uma 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 vêm sendo utilizadas a vários anos no reconhecimento de imagens, tento obtido grande sucesso no reco-nhecimento de caracteres (CUN et al., 1990). Estudos mais recentes utilizando redes neurais convolucionais conhecidas como Deep

Convo-lutional Neural Networks (CNN) obtiveram o novo estado da arte no

reconhecimento de objetos em bases CIFAR-10 e NORB (CIRESAN; MEIER; SCHMIDHUBER, 2012).

De forma geral as CNN são treinadas de forma supervisionada, mas trabalhos sugerem que o pré-treinamento da CNN com filtros ob-tidos de forma não supervisionada apresentam um melhor resultado (KAVUKCUOGLU et al., 2012).

(57)

Tabela 1 – Resultados do comparativo entre variações de redes neurais convolucionais (JARRETT; KAVUKCUOGLU; LECUN, 2009).

rede neural possuir muitos parâmetros e poucos exemplos para trei-namento pode sofrer de um problema conhecido como overfitting. O

overfitting ocorre quando a rede neural aprende o suficiente para

clas-sificar os exemplos de treinamento de forma muito precisa, mas falha ao classificar novos exemplos. Para reduzir a chance disto ocorrer, são utili-zadas 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 da-dos. Abordagens mais sofisticadas, utilizando uma técnica denominada

Dropout, obtiveram uma taxa de erro de 16,6% na base CIFAR-10,

com-parado ao estado da arte anterior de 18,5% utilizando apenas o aumento de dados (HINTON et al., 2012). Zeiler e Fergus (2013) mostram que a seleção de ativações de forma estocástica na etapa depooling 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 e Fergus (2013), as estratégias de Stochastic Pooling eDropout

podem ser combinadas para a obtenção de resultados ainda melhores. Tang (TANG, 2013) aborda ainda a substituição da função softmax

(58)

o erro de 11,68% sem utilizar o aumento de dados e 9,35% utilizando com translações e espelhamento horizontal das imagens.

No trabalho realizado por Sermanet et al. (2013) é apresento

umframeworkutilizando CNN para efetuar o reconhecimento,

localiza-ção e deteclocaliza-ção de imagens sendo o vencedor do campeonatoImageNet

Large Scale Visual Recognition Challenge2013 (ILSVRC2013). A base

ILSVRC2013 consiste em 1,2 milhão de imagens divididas em 1000 ca-tegorias.

(59)
(60)

4

DESENVOLVIMENTO DA SOLUÇÃO

Nesta seção são detalhados os algoritmos implementados com o objetivo de efetuar a identificação de produtos a partir de uma ima-gem. São detalhadas as abordagens utilizando a estratégia de conjunto de palavras visuais, redes neurais convolucionais e redes neurais convo-lucionais como descritores naturais.

4.1 Conjunto de Palavras Visuais

O algoritmo utilizando a estratégia de conjuntos de palavras visuais (BOVW) possui cinco etapas, sendo elas: 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 as imagens são redimensionadas para um tamanho máximo mantendo as proporções. Desta forma a imagem é redimensionada até que o nu-mero de linhas ou colunas possuam o tamanho máximo sendo o outro, menor, ajustado proporcionalmente ao tamanho da imagem original. Os tamanhos avaliados foram de 64, 128, 256 e 512pixels. 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 identificação de pontos de interesse e algoritmos descritores. O extrator denso corresponde à divisão da ima-gem em uma grade de 16◊16pixelse 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.

Referências

Documentos relacionados

2016: SEMINÁRIO EM ANTA GORDA: INÍCIO DO PLEITO PARA CÂMARA SETORIAL E PROGRAMA Seminário e reuniões na SEAPI para construção.. do

◦ Os filtros FIR implementados através de estruturas não recursivas têm menor propagação de erros. ◦ Ruído de quantificação inerente a

Os candidatos reclassificados deverão cumprir os mesmos procedimentos estabelecidos nos subitens 5.1.1, 5.1.1.1, e 5.1.2 deste Edital, no período de 15 e 16 de junho de 2021,

Desta maneira, observando a figura 2A e 2C para os genótipos 6 e 8, nota-se que os valores de captura da energia luminosa (TRo/RC) são maiores que o de absorção (ABS/RC) e

Após a implantação consistente da metodologia inicial do TPM que consiste em eliminar a condição básica dos equipamentos, a empresa conseguiu construir de forma

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Diante das consequências provocadas pelas intempé- ries climáticas sobre a oferta de cana-de-açúcar para a indústria, a tendência natural é que a produção seja inferior

Effects of the bite splint 15-day treatment termination in patients with temporomandibular disorder with a clinical history of sleep bruxism: a longitudinal single-cohort