• Nenhum resultado encontrado

A influência dos modelos de cor para algoritmos de detecção de bordas baseados em redes neurais convolucionais

N/A
N/A
Protected

Academic year: 2021

Share "A influência dos modelos de cor para algoritmos de detecção de bordas baseados em redes neurais convolucionais"

Copied!
102
0
0

Texto

(1)

Tiago José dos Santos

A INFLUÊNCIA DOS MODELOS DE COR PARA ALGORITMOS DE

DETECÇÃO DE BORDAS BASEADOS EM REDES NEURAIS

CONVOLUCIONAIS

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br www.cin.ufpe.br/~posgraduacao

Recife 2018

(2)

Tiago José dos Santos

A INFLUÊNCIA DOS MODELOS DE COR PARA ALGORITMOS DE

DETECÇÃO DE BORDAS BASEADOS EM REDES NEURAIS

CONVOLUCIONAIS

Trabalho apresentado ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Univer-sidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.

Área de Concentração: Visão Computacional Orientador: Carlos Alexandre Barros de Mello Co-Orientador: Cleber Zanchettin

Recife 2018

(3)

Catalogação na fonte

Bibliotecária Monick Raquel Silvestre da S. Portes, CRB4-1217

S237i Santos, Tiago José dos

A influência dos modelos de cor para algoritmos de detecção de bordas baseados em redes neurais convolucionais / Tiago José dos Santos. – 2018.

101 f.: il., fig.

Orientador: Carlos Alexandre Barros de Mello.

Dissertação (Mestrado) – Universidade Federal de Pernambuco. CIn, Ciência da Computação, Recife, 2018.

Inclui referências.

1. Inteligência artificial. 2. Redes neurais convolucionais. I. Mello, Carlos Alexandre Barros de (orientador). II. Título.

006.3 CDD (23. ed.) UFPE- MEI 2018-142

(4)

Tiago Jose dos Santos

A Influência dos Modelos de Cor para Algoritmos de Detecção de Bordas Baseados em Redes Neurais Convolucionais

Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Federal de Pernambuco, como requisito parcial para a obtenção do título de Mestre em Ciência da Computação.

Aprovado em: 27/08/2018.

BANCA EXAMINADORA

__________________________________________ Prof. Dr. Leandro Maciel Almeida

Centro de Informática / UFPE

__________________________________________ Prof. Dr. Byron Leite Dantas Bezerra Escola Politécnica de Pernambuco / UPE __________________________________________

Prof. Dr. Carlos Alexandre de Barros Melo Centro de Informática/UFPE

(5)

Dedico esse trabalho a minha esposa que tanto me incentivou para o término desse trabalho. Aos meus pais que, desde de pequeno, sempre deram o melhor de si para me educar. Ao meu orientador que, desde o primeiro período da graduação, me auxilia a trilhar o caminho acadêmico.

(6)

AGRADECIMENTOS

Primeiramente agradeço a Deus, pois sem ele nós não somos nada. A ele devo minha concepção e meu respirar. Agradeço aos meus pais Rosenildo José dos Santos e Dione Fernandes dos Santos, pais amorosos que sempre se sacrificaram para prover o melhor possível para mim e minha irmã Tais José dos Santos, a quem também agradeço por todo o suporte. Agradeço a minha esposa Dafiny de Paula Gomes da Silva, companheira desde os meus 15 anos de idade, com quem pude crescer, evoluir e com quem espero viver até o fim dos meus dias.

Quero também agradecer ao meu orientador Carlos Alexandre Barros de Mello, com quem pude aprender desde o primeiro período da graduação como trilhar meu caminho aca-dêmico. Um orientador que por muitas vezes parecia se preocupar com minha carreira mais do que eu mesmo. A Diogo Costa, com quem pude trabalhar como fiel escudeiro acadêmico e aprender muito. Ao meu co-orientador Cleber Zanchettin que se juntou a Carlos para auxiliar no desenvolvimento do meu mestrado. Aos professores Leandro Maciel Almeida e Byron Leite Bezerra por aceitarem participar da banca do meu mestrado.

Agradeço aos amigos André Olivino, Brugo Gomes, Jefferson Medeiros, Vanessa Ogg e Wilson Limeira. Amizade que pretendo levar para a vida inteira e com quem pude vencer o gigante chamado graduação.

Não poderia deixar de agradecer a Nvidia pela doação da placa gráfica utilizada para desenvolvimento deste trabalho. Também gostaria de agradecer a empresa onde trabalho Docu-ment Solutions que cedeu suas dependências e placa gráfica para desenvolviDocu-mento inicial desse trabalho.

(7)

"Ninguém é tão grande que não possa aprender, nem tão pequeno que não possa ensinar."(O Livro dos Pensamentos, 2012).

(8)

RESUMO

O sentido da visão tem um papel importante na forma como o ser humano entende o mundo. Dessa forma, a representação e o processamento de informação visual é de grande importância para o ser humano. A área de Visão Computacional busca, através do uso de informação visual, geralmente descrita na forma de imagens, extrair informação útil para o desempenho automático de tarefas. Essa extração automática de informação, por meio da análise de imagens, é uma tarefa difícil que geralmente é dividida em problemas menores. O processo de segmentação de imagens é um desses problemas com a finalidade de dividir a imagem em seus objetos constituintes. A detecção automática de bordas é uma forma de segmentação que visa salientar todos os pixels da imagem que representem uma região de fronteira entre objetos da imagem ou até partes internas de um determinado objeto. O processo de detecção de bordas, historicamente, passou pelo uso de máscaras de convolução até o aprendizado de características, manualmente desenvolvidas, para classificação ou extração de pontos de borda em uma imagem. Com a evolução das placas gráficas foi possível diminuir o tempo de resposta dos algoritmos e permitir o avanço e difusão do uso de Redes Neurais Profundas em diversas áreas. A Rede Neural Convolucional é um tipo de rede profunda, atualmente muito utilizada para o processo de detecção de bordas, tendo como entrada uma imagem, ou partes dela, descritas, no geral, pelo modelo de cor RGB. Considerando esse contexto, o presente trabalho busca prover uma análise quantitativa da influência do uso de diferentes modelos de cor para descrever as imagens de entrada de algoritmos de detecção de bordas baseados no uso de Redes Neurais Convolucionais. Para realização dessa análise são utilizados os modelos de cor RGB, LAB, LUV, HSV, YO1O2 e dRdGdB. As arquiteturas Holistically-Nested Edge Detection (HED) e Convolutional Encoder Decoder Network(CEDN), caracterizadas pelo uso de Redes Neurais Convolucionais, são utilizadas como método detector de borda a ser avaliado. O Berkeley Segmentation Data Set and Benchmarks(BSDS) é responsável pela avaliação quantitativa dos resultados obtidos. Por fim, toda análise é realizada sobre as imagens das bases BSDS500 e PASCAL Context. Os experimentos sugerem que os resultados do processo de detecção de bordas tendem a ser semelhantes quando se realiza o treinamento das Redes Neurais Convolucionais com pesos aleatoriamente inicializados, independentemente do modelo de cor utilizado. Para a arquitetura Holistically-Nested Edge Detection, o uso de modelos de cor diferentes do RGB resultou em uma melhoria significativa para o caso de transferência de aprendizado e ajuste fino dos pesos.

(9)

ABSTRACT

The vision sense has an important role in the way how human beings understand the world. In this way, the representation and processing of visual information has a great importance to human being. Computer Vision seeks, through use of visual data usually described on the form of digital image, to extract useful information in order to perform tasks automatically. This automatic extraction of information, through image analysis, is a difficult task that usually is divided into smaller tasks. Image segmentation is one of these tasks which aims to divide an image into its basic objects. Automatic edge detection is a type of segmentation that aims to salient all pixels of an image that represent a boundary region between objects of the image or even internal parts of an object. The history of edge detection process began with the use of convolutional masks and evolved until the use of feature learn, manually designed, to classification or extraction of edge points in an image. With evolution of graphics cards, it was possible to decrease the response time of algorithms and to allow the advances achieved by Deep Neural Networks. Convolutional Neural Networks are a type of Deep Network, currently widely used to edge detection process, having as input an image, or parts of it, usually described in RGB color model. Considering this context, this work seeks to provide quantitative analysis of the influence in the use of different color models to describe the input images of edge detection algorithms based on Convolutional Neural Networks. To perform this analysis, the following color models are used: RGB, LAB, LUV, HSV YO1O2 and dRdGdB. The architectures Holistically-Nested Edge Detection (HED) e Convolutional Encoder Decoder Network (CEDN), which are characterized by the use of Convolutional Neural Networks, are used as edge detection algorithm to be evaluated. The Berkeley Segmentation Data Set and Benchmarks (BSDS) is responsible by qualitative evaluation of the results. Finally, all analysis are performed on the BSDS500 and PASCAL Context images. Experiments suggest that the results of edge detection process tend to be similar when training the Convolutional Neural Network with weights randomly initialized, regardless of the color model used. For the architecture Holistically-Nested Edge Detection, the use of color models other than RGB has resulted in a significant improvement to the case of transfer learning and fine-tuning of weights.

(10)

LISTA DE ACRÔNIMOS

RNC Redes Neurais Convolucionais

PCA Principal Component Analysis

NN Nearest Neighbor

SVM Support Vector Machine

CEDN Convolutional Encoder Decoder Network COB Convolutional Oriented Boundaries HED Holistically-Nested Edge Detection

RGB Red Green Blue

HSV Hue Saturation Value

HSL Hue Saturation Lightness

HSI Hue Saturation Intensity

CIE Commission Internationale de l’Éclairage

BSDS Berkeley Segmentation Data Set and Benchmarks

ODS Optimal Dataset Scale

OIS Optimal Image Scale

AP Average Precision

FC Fully Connected

LRN Local Response Normalization

BN Batch Normalization

ReLU Rectified Linear Unit

DSN Deeply-Supervised Nets

UCM Ultrametric Contour Map

GPU Graphics Processing Unit

ILSVRC ImageNet Large-Scale Visual Recognition Challenge

VP Verdadeiro Positivo

FP Falso Positivo

FN Falso Negativo

VN Verdadeiro Negativo

(11)

SUMÁRIO

1

INTRODUÇÃO

. . . 13 1.1 MOTIVAÇÃO . . . 16 1.2 OBJETIVOS . . . 17 1.3 ESTRUTURA DA DISSERTAÇÃO . . . 17

2

CONCEITOS BÁSICOS

. . . 19 2.1 MODELOS DE COR. . . 19 2.1.1 RGB . . . 19

2.1.2 Modelos Perceptualmente Uniformes . . . 20

2.1.2.1 LAB . . . 22

2.1.2.2 LUV . . . 22

2.1.3 HSV . . . 23

2.1.4 YO1O2 . . . 25

2.1.5 dRdGdB . . . 25

2.2 REDES NEURAIS CONVOLUCIONAIS . . . 26

2.2.1 AlexNet . . . 28 2.2.2 VGG . . . 29 2.2.3 ResNet . . . 31 2.3 CONCLUSÃO . . . 34

3

ESTADO DA ARTE

. . . 35 3.1 N4-FIELDS . . . 35 3.1.1 Arquitetura . . . 35 3.1.2 Detalhes de Implementação . . . 36 3.1.3 Resultados . . . 37 3.2 DEEPEDGE . . . 37 3.2.1 Arquitetura . . . 38 3.2.2 Detalhes de Implementação . . . 39 3.2.3 Resultados . . . 40 3.3 PIXEL-WISE CONTOUR. . . 40 3.3.1 Arquitetura . . . 40 3.3.2 Detalhes de Implementação . . . 40 3.3.3 Resultados . . . 41

(12)

3.4 DEEPCONTOUR . . . 41

3.4.1 Arquitetura . . . 41

3.4.2 Detalhes de Implementação . . . 43

3.4.3 Resultados . . . 43

3.5 HED - HOLISTICALLY-NESTED EDGE DETECTION . . . 43

3.5.1 Arquitetura . . . 44

3.5.2 Detalhes de Implementação . . . 46

3.5.3 Resultados . . . 46

3.6 CEDN - CONVOLUTIONAL ENCODER DECODER NETWORK . . . 48

3.6.1 Arquitetura . . . 49

3.6.2 Detalhes de Implementação . . . 49

3.6.3 Resultados . . . 50

3.7 COB - CONVOLUTIONAL ORIENTED BOUNDARIES . . . 51

3.7.1 Arquitetura . . . 51

3.7.2 Detalhes de Implementação . . . 52

3.7.3 Resultados . . . 53

3.8 ANÁLISE COMPARATIVA . . . 53

3.8.1 Rede Neural Convolucional nas Arquiteturas . . . 54

3.8.2 Avaliação das Arquiteturas . . . 56

3.9 CONCLUSÃO . . . 58

4

METODOLOGIA

. . . 60 4.1 MODELOS DE COR. . . 60 4.2 BENCHMARK . . . 61 4.2.1 Parâmetros. . . 61 4.2.2 Avaliação . . . 62 4.3 BASES DE DADOS . . . 63 4.3.1 BSDS500 . . . 64 4.3.2 PASCAL Context . . . 65 4.4 ARQUITETURAS . . . 66 4.5 CONCLUSÃO . . . 67

(13)

5

EXPERIMENTOS, RESULTADOS E DISCUSSÃO

. . . 69

5.1 ARQUITETURA HOLISTICALLY-NESTED EDGE DETECTION - HED . . 69

5.1.1 HED × BSDS500 . . . 69

5.1.2 HED × PASCAL Context . . . 72

5.1.3 HED × PASCAL Context Sem Transferência de Aprendizado . . . 74

5.1.4 Discussão . . . 78

5.2 ARQUITETURA CONVOLUTIONAL ENCODER DECODER NETWORK -CEDN. . . 79

5.2.1 CEDN × PASCAL Context - Encoder Com Pesos Fixos não Otimizados . . . 80

5.2.2 CEDN × PASCAL Context - Encoder Com Pesos Fixos e Otimizados . . . . 82

5.2.3 CEDN × PASCAL Context - Encoder Com Pesos Aleatórios e Otimizados . . 85

5.2.4 Discussão . . . 88 5.3 CONCLUSÃO . . . 89

6

CONCLUSÃO

. . . 92 6.1 CONTRIBUIÇÕES . . . 93 6.2 TRABALHOS FUTUROS. . . 94

REFERÊNCIAS

. . . 95

(14)

13 13 13

1

INTRODUÇÃO

A visão tem um papel fundamental no modo como os seres humanos entendem e se relacionam com o mundo. É claramente aceito que o sentido da visão desponta como um dos mais importantes. Portanto, a representação e o processamento da informação visual têm relevância em nosso meio de vida. Visão Computacional é uma área do conhecimento que visa, através do uso de informação visual, geralmente descrita na forma de imagens, extrair informação útil para realização de tarefas como análise de imagens médicas, detecção e reconhecimento de objetos, dentre outras (DAVIES, 2012). Por se tratar de tarefas complexas, elas são subdivididas em passos menores. No geral, o processo de segmentação de imagens é um desses passos, sendo um fator chave para o sucesso ou falha dessas tarefas.

O processo de segmentação de imagem tem como objetivo dividir uma imagem em obje-tos que satisfaçam algum critério de homogeneidade. Entre as muitas estratégias de segmentação, existe a detecção de bordas. Uma borda pode ser percebida pelo sistema visual humano como um limite separador de objetos em uma cena. Isso pode ser relacionado, por exemplo, com diferenças de cor, brilho ou textura. Dessa forma, o processo de detecção automática de bordas visa salientar os pontos separadores de um objeto ou de partes de um objeto. A aplicação da detecção de bordas se estende por diversas tarefas, tais como análise de imagens médicas (LU et al., 2011), detecção (ZITNICK; DOLLÁR, 2014) (JURIE et al., 2007) e reconhecimento (SHOTTON; BLAKE; CIPOLLA, 2008) de objetos, entendimento de cena (BARRON; MALIK, 2013), entre outras (AMER et al., 2015) (HOIEM; EFROS; HEBERT, 2011). A Figura 1.1 apresenta uma imagem de exemplo e o resultado do processo de detecção de bordas aplicado a ela.

Figura 1.1: À esquerda, imagem 2008_006781 da base PASCAL Context (MOTTAGHI et al., 2014) e, à direita, padrão ouro para a detecção de bordas sobre a imagem.

Historicamente os algoritmos de detecção de bordas, de forma simples, podem ser classificados em três grandes grupos. O primeiro diz respeito às abordagens clássicas que têm como base o uso de máscaras de convolução. O segundo tipo traz abordagens que utilizam

(15)

14 extração de características desenvolvidas manualmente para compor o resultado da detecção de bordas. O terceiro grupo utiliza classificadores para realização da detecção de bordas, ainda com uso de características desenvolvidas manualmente.

O primeiro tipo de abordagem para detecção de bordas utiliza a operação de convolução (GONZALEZ; WOODS, 2006), definida para o domínio discreto 2D pela Equação 1.1, como princípio básico. O processo ocorre com uma máscara h[n1, n2] convoluindo com uma imagem g[n1, n2], resultando em uma imagem filtrada ( f [n1, n2]) com os pontos de bordas salientados. As máscaras Sobel e Prewitt (GONZALEZ; WOODS, 2006) são exemplos de máscaras utilizadas por essa abordagem para extração de bordas por meio do método do Gradiente (GONZALEZ; WOODS, 2006) que visa salientar as bordas por meio da extração da derivada de primeira ordem. O algoritmo de Canny (CANNY, 1986) também é um exemplo clássico desse primeiro tipo de abordagem para detecção de bordas.

f[n1, n2] = (g ∗ h)[n1, n2] = ∞

m1=−∞ ∞

m2=−∞ g[m1, m2]h[n1− m1, n2− m2] = ∞

m1=−∞ ∞

m2=−∞ g[n1− m1, n2− m2]h[m1, m2]  1.1

O segundo tipo de abordagem compõe o resultado da detecção de bordas através da combinação linear de características. Essas características são extraídas por meio da aplicação de funções desenvolvidas para salientar os pontos de bodas presentes na imagem. Nesse tipo de abordagem, diversos aspectos da imagem são analisados para geração das características, tais como cor, brilho, textura, entre outros. Os algoritmos Pb (MARTIN; FOWLKES; MALIK, 2004), gPb (MAIRE et al., 2008) e gPb-ucm (ARBELAEZ et al., 2011) são exemplos de técnicas desse tipo de abordagem.

O terceiro tipo de abordagem visa salientar os pontos de borda, ainda utilizando caracte-rísticas extraídas pela aplicação de funções, mas agora como fonte de dados para o processo de classificação, processo esse que visa atribuir uma classe a um elemento descrito por um conjunto de informações fornecidas como entrada (MITCHELL, 1997) (DUDA; HART; STORK, 2000). Nesse tipo de abordagem de detecção de bordas, existe o formato de classificação pixel-a-pixel no qual cada pixel possui seu vetor de características para classificação direta. Outro formato utiliza características extraídas de partes da imagem para casamento com instâncias do conjunto de treinamento. Essas instâncias representam partes do padrão ouro que possuem uma borda, passando pelo centro e, por sua vez, são combinadas para compor o resultado final da detecção de bordas. Exemplos para esse tipo de abordagem são os algoritmos BEL (DOLLÁR; TU; BELONGIE, 2006), Sketch Tokens (LIM; ZITNICK; DOLLÁR, 2013) e Structured Edges (DOLLÁR; ZITNICK, 2013) (DOLLÁR; ZITNICK, 2015), sendo o algoritmo Structured Edges o mais proeminente, utilizando um conjunto de Árvores de Decisão (MITCHELL, 1997) para detecção de bordas.

(16)

15 As Redes Neurais Artificias são aproximadores de funções (BEALE; JACKSON, 1990) (HAYKIN, 2007) caracterizadas por um conglomerado de neurônios artificiais ligados entre si que visam, no geral, minimizar uma função custo ao se analisar os neurônios de saída. Mesmo sendo um aproximador de funções, as Redes Neurais Artificias podem ser utilizadas como um classificador ao se limiarizar o valor de saída de um neurônio, conforme ocorre em LI et al. (2008), MEHRARA; ZAHEDINEJAD; POURMOHAMMAD (2009) e LU et al. (2011) que, limiarizando o único de neurônio de saída, utilizam o formato de classificação pixel-a-pixel para realizar a detecção de bordas. Com o avanço do poder computacional, devido ao crescimento tecnológico das GPUs (do inglês Graphics Processing Unit - Unidade de Processamento Gráfico), viabilizou-se o uso de Redes Neurais Artificiais profundas (GOODFELLOW; BENGIO; A., 2016), ampliando o estudo na área e disseminando o uso de formatos de redes como, por exemplo, as Redes Neurais Convolucionais (KRIZHEVSKY; SUTSKEVER; HINTON, 2012) (ZEILER; FERGUS, 2014) (SIMONYAN; ZISSERMAN, 2015) (SZEGEDY et al., 2015) (SZEGEDY et al., 2015) (HE et al., 2016). Dessa forma, o processo de detecção de bordas também evoluiu do uso de classificadores clássicos para o uso de Redes Neurais Convolucionais (RNC). A princípio, para extração automática de características, com o intuito de posterior uso de classificadores clássicos, evoluindo ao processo de completa extração do resultado final por parte da RNC.

Redes Neurais Convolucionais (LECUN et al., 1998) são um tipo particular de Rede Neural Artificial desenvolvida especialmente para explorar as características espaciais presentes nos dados de entrada (imagens, no caso de detecção de bordas). De forma simples, uma RNC pode ser descrita como um aglomerado hierárquico de filtros de convolução cujos valores dos pesos são aprendidos. Esses filtros de convolução podem, ou não, estar interligados a camadas totalmente conectadas de neurônios artificiais clássicos. Dentre as arquiteturas de detecção de bordas que se encaixam nesse cenário, tem-se a DeepNets (KIVINEN; WILLIAMS; HEESS, 2014) como uma das precursoras, utilizando características extraídas de forma não supervisionada, por meio de uma variante da Máquina Restrita de Boltzmann, como entrada para as camadas convolucionais. Outras arquiteturas que se destacam são N4-Fields (GANIN; LEMPITSKY, 2015), DeepEdge (BERTASIUS; SHI; TORRESANI, 2015), Pixel-wise Contour (HWANG; LIU, 2015), DeepContour (SHEN et al., 2015), HED (XIE; TU, 2015) (XIE; TU, 2017), CEDN (YANG et al., 2016) e COB (MANINIS et al., 2016) (MANINIS et al., 2017).

Independentemente da tarefa desempenhada, seja a detecção de borda ou qualquer outra tarefa da área de Visão Computacional, a imagem deve ser descrita de alguma forma. O formato comumente utilizado é uma matriz no qual cada posição está associada a um escalar ou a um vetor. Esse vetor ou escalar pode estar associado a um valor captado por sensor ou representar uma cor do espectro visível. Por ser um fenômeno produzido pela presença da luz (VELHO; FRERY; GOMES, 2014), a cor pode ser descrita pela combinação dos comprimentos de onda que a compõe. Contudo, existem aplicações em que essa não é a melhor abordagem para se descrever uma imagem, nesse contexto, utilizam-se os chamados modelos de cor. Cada modelo de cor visa, através de um valor n-dimensional, descrever uma cor de maneira pertinente para uma aplicação.

(17)

1.1. MOTIVAÇÃO 16 Entre essas aplicações estão a descrição de cor em monitores, comumente realizada utilizando o modelo de cor RGB (KOSCHAN; ABIDI, 2008), a especificação de cor por pessoas através de modelos de interface como o HSV (KOSCHAN; ABIDI, 2008) (VELHO; FRERY; GOMES, 2014), dentre outras.

1.1 MOTIVAÇÃO

As principais e mais robustas técnicas de detecção de bordas atuais são baseadas em RNC (GANIN; LEMPITSKY, 2015) (BERTASIUS; SHI; TORRESANI, 2015) (HWANG; LIU, 2015) (SHEN et al., 2015) (XIE; TU, 2017) (YANG et al., 2016) (MANINIS et al., 2017). Nessas técni-cas, a forma mais comum de entrada é através de uma imagem representada pelo modelo RGB (R do inglês red -vermelho-, G do inglês green -verde- e B do inglês blue -azul-). Contudo, alguns estudos de metodologias clássicas, para suas respectivas áreas, têm apresentado melhores resulta-dos quando utilizado modelos de cores diferentes do RGB. Esses esturesulta-dos analisam a influência dos modelos de cor em tarefas como segmentação de face (SANCHEZ-CUEVAS; AGUILAR-PONCE; TECPANECATL-XIHUITL, 2013), segmentação de cenas naturais (CORREA-TOME; SANCHEZ-YANEZ; AYALA-RAMIREZ, 2011), análise de imagens para gerenciamento de irrigação (GARCÍA-MATEOS et al., 2015), entre outros (DU; AI; LAO, 2012).

A exploração de modelos de cor diferente do RGB junto com uso de RNC é quase não utilizada, possivelmente pelo poder de generalização que uma RNC possui, desestimulando a análise de outros modelos de cor. Contudo, ainda existem poucos trabalhos como o de LI; FAN; WANG (2015) que comparam ao menos um modelo de cor além do RGB, ou como os de PAN; JIANG (2017), ENGILBERGE; COLLINS; SÜSSTRUNK (2017) e HONG et al. (2015) que não comparam, mas utilizam um modelo de cor diferente do RGB para, respectivamente, detecção de saliência, representação de cor e reconhecimento de face.

No que diz respeito a algoritmos de detecção de bordas que utilizam RNC, em (XIE; TU, 2015), os resultados sobre a base de imagens NYU-RGBD (SILBERMAN; FERGUS, 2011) alcançaram melhores valores para as medidas avaliadoras quando a imagem de entrada estava representada pela junção do modelo de cor RGB e a característica HHA (GUPTA et al., 2014), extraída do canal de profundidade (D) das imagens. A base NYU-RGBD é composta por imagens em RGB e um canal D que provê um mapa de profundidade da cena. Embora a HHA não seja um modelo de cor, os resultados em XIE; TU (2015) sugerem que mudanças no formato de entrada da RNC podem trazer resultados melhores para as medidas avaliadoras, especialmente quando se utiliza uma quantidade reduzida de imagens.

Dessa forma, a exploração de modelos de cor diferentes do RGB é importante para avaliar a possibilidade de obtenção de melhores resultados no processo de detecção de borda. Outro ponto importante a se avaliar é se a simples mudança de um modelo de cor pode fazer com que a RNC convirja mais rápido, economizando tempo de treinamento, que, embora tenha diminuído bastante com o avanço das GPUs, ainda é bastante custoso, podendo chegar a semanas

(18)

1.2. OBJETIVOS 17 de treinamento (HE et al., 2016).

1.2 OBJETIVOS

Inserido nesse contexto, a presente dissertação tem como objetivo geral uma análise da influência dos modelos de cor para algoritmos de detecção de bordas que tenham como base o uso de RNC. O benchmark BSDS (ARBELAEZ et al., 2011) é utilizado como método avaliador através das medidas ODS, OIS e AP. Os experimentos são conduzidos sobre duas bases de imagens: BSDSD500 (ARBELAEZ et al., 2011) e PASCAL Context (MOTTAGHI et al., 2014). Ambas as bases compostas por imagens coloridas de cenas reais com padrões ouro anotados por seres humanos. As arquiteturas apresentadas em XIE; TU (2015) e YANG et al. (2016) são utilizadas como método detector de bordas, principalmente pela característica completamente convolucional (sem camadas totalmente conectadas). Os modelos de cor utilizados são: o RGB (o modelo de cor mais amplamente utilizado), os modelos perceptualmente uniformes LAB e LUV (CHEN; CRANTON; FIHN, 2012), o modelo perceptual HSV (VELHO; FRERY; GOMES, 2014) e dois modelos recentes, o YO1O2 (SANTILLAN; TEROL-VILLALOBOS; HERRERA-RUIZ, 2008) (utilizado em um algoritmo de segmentação) e dRdGdB (COSTA; MELLO; SANTOS, 2013) (baseado em diferenças cromáticas).

Com essa metodologia, o presente trabalho busca analisar se o uso de diferentes modelos de cor pode trazer algum nível significativo de melhoria para o processo de detecção de bordas, tendo como referência o avanço dos resultados do estado da arte sobre cada base de imagens utilizando como método avaliador o BSDS. Outro ponto importante é se essa melhoria, uma vez que significativa, é alcançada em menos iterações que os demais modelos de cor analisados. Tendo em vista esse objetivo, tem-se como sub-objetivos:

 A comparação e estudo das principais técnicas de detecção de bordas baseadas no

uso de Redes Neurais Convolucionais;

 Avaliar os modelos de cor mencionados considerando o uso, ou não, de transferência

de aprendizado para as Redes Neurais Convolucionais;

 Dado os modelos de cor analisados, sugerir os mais e menos indicados para uso no

formato da imagem de entrada de técnicas de detecção de bordas baseadas no uso de Redes Neurais Convolucionais.

1.3 ESTRUTURA DA DISSERTAÇÃO

Este trabalho é dividido em seis capítulos. O segundo capítulo apresenta os conceitos básicos necessários para compreensão da análise proposta pela dissertação, dessa forma, são abordados os modelos de cor utilizados (RGB, LAB, LUV, HSV, YO1O2 e dRdGdB), bem como os modelos de Redes Neurais Convolucionais (AlexNet, VGG e ResNet) utilizadas como base

(19)

1.3. ESTRUTURA DA DISSERTAÇÃO 18 para as arquiteturas de detecção de bordas descritas no capítulo seguinte. No terceiro capítulo é exposto um resumo do estado da arte contendo sete das principais arquiteturas de detecção de bordas que possuem como base o uso de Redes Neurais Convolucionais: N4-Fields, DeepEdge, Pixel-wise Contour, DeepContour, HED, CEDN e COB. Os artefatos utilizados para compor a análise proposta (método avaliador, bases, etc) são descritos no quarto capítulo. Os resultados obtidos são exibidos e discutidos no quinto capítulo e, por fim, o trabalho é encerrado no sexto capítulo com as conclusões, contribuições e sugestões de trabalhos futuros.

(20)

19 19 19

2

CONCEITOS BÁSICOS

O presente capítulo apresenta conceitos básicos para o entendimento de todo o trabalho. Primeiro é apresentado um conjunto de modelos de cor expondo suas principais características. O segundo ponto expõe modelos de Redes Neurais Convolucionais (RNC) utilizados como base em arquiteturas de detecção automática de bordas (Capítulo 3).

2.1 MODELOS DE COR

Cor é uma das características utilizadas pelo ser humano para descrever, caracterizar e reconhecer objetos (JEREMY M. WOLFE; LEVI, 2009). Além disso, a cor é usualmente associada a um significado, auxiliando no entendimento de uma cena. A cor é um fenômeno perceptual produzido devido à presença de luz (VELHO; FRERY; GOMES, 2014), consequen-temente, a cor pode ser descrita como a combinação de comprimentos de onda. Para diversas aplicações, essa não é a forma mais conveniente de descrição, por isso, uma outra representação matemática é necessária. Dessa forma, as cores podem ser associadas a valores n-dimensionais provenientes de um modelo de cor. Cada modelo de cor, por usa vez, é concebido para uso em um determinado contexto.

Dentre tantos contextos de modelos cor, seis modelos foram escolhidos para uso na análise proposta por esta dissertação. Esses modelos são apresentados no decorrer das próximas subseções.

2.1.1 RGB

O modelo de cor RGB (GONZALEZ; WOODS, 2006) (KOSCHAN; ABIDI, 2008) (VELHO; FRERY; GOMES, 2014) é um modelo tricromático criado em 1931 pelo CIE (Com-mission Internationale de l’Éclairage). Ele é um modelo aditivo no qual as cores primárias são o vermelho (do inglês red - R), verde (do inglês green - G) e azul (do inglês blue - B). A composição de duas cores primárias gera uma cor secundária, sendo elas: ciano (união de verde e azul), magenta (união de vermelho e azul) e amarelo (união de vermelho e verde). A cor branca é a composição dos valores máximos de cada cor primária. A cor preta, por outro lado, é o resultado da ausência desses componentes. O modelo RGB está presente em grande parte das aplicações, tais como processamento gráfico, armazenamento e em monitores (VELHO; FRERY; GOMES, 2014).

O modelo RGB é caracterizado por um plano tridimensional de valores positivos, com cada eixo variando, de forma discreta, no intervalo [0, 255], quando considerada uma codificação de 8-bits por canal (eixo), ou variando, de forma contínua, no intervalo [0, 1]. A Figura 2.1 apresenta o cubo que representa o modelo RGB. As cores primárias (vermelho, verde e azul)

(21)

2.1. MODELOS DE COR 20 estão localizadas no ponto máximo sobre cada eixo. Por sua vez, as cores secundárias (ciano, magenta e amarelo) estão localizadas nos vértices do cubo, presentes nos respectivos planos formados por cada par de cores primárias. Os tons de cinza (cores acromáticas - R = G = B) se encontram na diagonal que liga a origem (preto) ao vértice de valor máximo para cada eixo (branco).

255

255

255

Figura 2.1: Sólido do modelo RGB disposto no espaço tridimensional, considerando uma codificação de 8-bits ([0, 255]) por eixo (canal).

A Figura 2.2 apresenta as cores primárias, secundárias e duas acromáticas (branco e preto) do modelo RGB, com seus respectivos nomes e coordenadas no cubo RGB com uma codificação de 8-bits por canal. Essas seis cores são utilizadas, no decorrer da discussão de modelos de cor, como referência para exemplificação dos valores assumidos para cada modelo de cor.

Vermelho Verde Azul Branco

(255; 0; 0) (0; 255; 0) (0; 0; 255) (255; 255; 255)

Ciano Magenta Amarelo Preto

(0; 255; 255) (255; 0; 255) (255; 255; 0) (0; 0; 0)

Figura 2.2: Cores primárias (vermelho, verde e azul), secundárias (ciano, magenta e amarelo) e acromáticas (branco e preto) do modelo RGB com seus respectivos nomes e

pontos, considerando uma codificação de 8-bits ([0, 255]) por canal.

2.1.2 Modelos Perceptualmente Uniformes

Em 1976, a CIE criou dois modelos de cor perceptualmente uniformes: LAB e LUV (CHEN; CRANTON; FIHN, 2012) (KOSCHAN; ABIDI, 2008) (VELHO; FRERY; GOMES,

(22)

2.1. MODELOS DE COR 21 2014). Ambos foram criados com o objetivo de prover a mesma variação perceptual entre duas cores, por isso são classificados como modelos perceptualmente uniformes. Os modelos LAB e LUV são bastantes utilizados em aplicações de processamento de cor, principalmente quando cores similares são analisadas (KOSCHAN; ABIDI, 2008). Essa característica de uniformidade com a percepção da variação de cor pode ser exemplificada quando são analisados dois pares de tons de cinza (no modelo RGB) com mesma variação entre eles (Figura 2.3): o primeiro par, mais próximo do preto (Figura 2.3a) e o segundo, mais próximo do branco (Figura 2.3b).

Na Figura 2.3, embora a diferença entre cada par de tons de cinza seja de 15 unidades (para cada canal) no modelo RGB, o sistema visual humano percebe melhor a diferença entre o par mais próximo ao branco (Figura 2.3b). Essa diferença perceptual é refletida na componente L do modelo LAB (ou do modelo LUV) que apresenta uma diferença de 5,2 para o par da Figura 2.3b em contrapartida ao par da Figura 2.3a que apresenta uma diferença de 4,3.

RGB(0; 0; 0) RGB(15; 15; 15) LAB(0; 0; 0) LAB(4, 3; 0; 0) (a) RGB(240; 240; 240) RGB (255; 255; 255) LAB(94, 8; 0; 0) LAB(100; 0; 0) (b)

Figura 2.3: Comparação da diferença perceptual entre tons de cinza, próximos ao preto e ao branco.

Ambos os modelos LAB e LUV são derivados do modelo padrão XYZ, também criado pelo CIE, e são decompostos em componentes de crominância e luminância (GONZALEZ; WOODS, 2006), no qual a luminância é definida pela Equação 2.1, Y é a segunda componente do modelo XYZ e Yné o valor da componente Y para a cor branca de referência.

L=      116  Y Yn 13 − 16 se x =YY n > 0, 008856 903, 3  Y Yn  se x =YY n 6 0, 008856  2.1

A conversão do modelo RGB para o XYZ é definida pela Equação 2.2, no qual se espera que as componentes R, G e B estejam codificadas no intervalo de [0, 1].

   X Y Z   =    0, 49 0, 18 0, 00 0, 31 0, 81 0, 01 0, 20 0, 01 0, 99       R G B     2.2

(23)

2.1. MODELOS DE COR 22

2.1.2.1 LAB

O LAB é um modelo perceptualmente uniforme para combinações subtrativas de cores. Os canais AB são as componentes de crominância do modelo, representando dois pares de cores oponentes (A para vermelho-verde e B para amarelo-azul). A obtenção das componentes AB é definida pela Equação 2.3, sendo f (t) expressa pela Equação 2.4.

a= 500 h f  X Xn  − fYY n i b= 200hfYY n  − fZZ n i  2.3 f(t) =    t13 se x = Y Yn > 0, 008856 7, 787t +11616 se x = ZZ n ≤ 0, 008856  2.4

Nas Equações 2.3 e 2.4, X , Y e Z são as componentes do modelo de cor XYZ. O ponto tricromático (Xn,Yn, Zn) representa a cor branca de referência.

A Figura 2.4 apresenta os pontos do modelo de cor LAB para cada uma das cores expostas na Figura 2.2.

Vermelho Verde Azul Branco

(53, 2; 80, 1; 67, 2) (87, 7; −86, 2; 83, 2) (32, 3; 79, 2; −108) (100; 0; 0)

Ciano Magenta Amarelo Preto

(91, 1; −48, 1; −14, 1) (60, 3; 98, 3; −60, 8) (97, 1; −21, 6; 94, 5) (0; 0; 0)

Figura 2.4: Cores primárias (vermelho, verde e azul), secundárias (ciano, magenta e amarelo) e acromáticas (branco e preto) do RGB com seus respectivos nomes e pontos no

modelo LAB.

2.1.2.2 LUV

Em oposição ao modelo LAB, o LUV foi criado para combinações aditivas de cores, tendo os canais UV como as componentes de crominância. Eles representam um par de cores oponentes (U para vermelho-verde e V para amarelo-azul). As componentes UV são obtidas através da Equação 2.5, sendo u,v,e u,nv,ndefinidas, respectivamente, pela Equações 2.6 e 2.7.

(24)

2.1. MODELOS DE COR 23 u= 13L. (u,− u,n) v= 13L. (v,− v,n)  2.5 u,= X+15Y +3Z4X v,=X+15Y +3Z9Y  2.6 u,n= 4Xn Xn+15Yn+3Zn v,n= 9Yn Xn+15Yn+3Zn  2.7

A Figura 2.5 apresenta os pontos do modelo de cor LUV para cada uma das cores expostas na Figura 2.2.

Vermelho Verde Azul Branco

(53, 2; 175; 37, 7) (87, 7; −83, 1; 107) (32, 3; −9, 4; −130) (100; 0; 0)

Ciano Magenta Amarelo Preto

(91, 1; −70, 5; −15, 2) (60, 3; 84, 1; −109) (97, 1; 7, 71; 107) (0; 0; 0)

Figura 2.5: Cores primárias (vermelho, verde e azul), secundárias (ciano, magenta e amarelo) e acromáticas (branco e preto) do RGB com seus respectivos nomes e pontos no

modelo LUV.

2.1.3 HSV

O HSV (KOSCHAN; ABIDI, 2008) (VELHO; FRERY; GOMES, 2014) é um exemplo clássico de modelo de interface. Os modelos de interface são caracterizados, no geral, pela descrição da cor através da tonalidade (matiz), saturação e intensidade da cor. São modelos implicitamente utilizados em paleta de cores. Dessa forma, o modelo HSV é composto por duas componentes de crominância (HS) e uma componente de luminância (V). A componente H (do inglês hue) provê a informação da matiz da cor, a saturação é dada pela componente S (do inglês saturation) e está associada com a pureza da cor, a componente V (do inglês value) fornece a informação de intensidade da cor.

(25)

2.1. MODELOS DE COR 24 hexagonal no qual H é o ângulo ao redor do eixo vertical variando em [0, 2π). A base hexagonal é dada pela projeção do cubo RGB quando o eixo vertical é a diagonal de tons de cinza (que leva do preto ao branco). Dessa forma, os principais ângulos são: 0 - vermelho, π

3 - amarelo, 2π

3 -verde, π - ciano, 4π3 - azul e 5π3 - magenta. A componente S é a distância radial ao eixo vertical variando em [0, 1] e V é o valor sobre o eixo vertical, assumindo o valor 0 para a cor preta e 1 para a cor branca.

0º 60º 120º 180º 240º 300º S V H Figura 2.6: Sólido do modelo HSV.

Considerando os valores das componentes do modelo RGB codificadas em [0, 1], a conversão para o modelo HSV é dada pela Equação 2.8, na qual M é o valor máximo entre as componentes do modelo RGB (M = max (R, G, B)) e m é o valor mínimo (m = min (R, G, B)).

Conforme a Equação 2.8, os tons de cinza (R = G = B) não possuem valor de H definido, pois, dado S = 0, qualquer ponto sempre estará sobre o eixo vertical independentemente do valor de H. Dessa forma, convenciona-se que, quando R = G = B, o valor da componente H é 0, conforme mostra a Figura 2.7 ao retratar os pontos da cor branca e preta do modelo HSV.

H=                      π 3 G−B M−m  se M = R e G ≥ B π 3 G−B M−m + 2π se M = R e G < B π 3 B−R M−m +2π3 se M = G π 3 R−G M−m +4π3 se M = B Não definido se R = G e G = B S=    M−m M  se M 6= 0 0 se M = 0 V = M  2.8

A Figura 2.7 apresenta os pontos do modelo de cor HSV para cada uma das cores expostas na Figura 2.2.

(26)

2.1. MODELOS DE COR 25

Vermelho Verde Azul Branco

(0; 1; 1) 2π3; 1; 1 4π3 ; 1; 1 (0; 0; 1)

Ciano Magenta Amarelo Preto

(π; 1; 1) 5π3; 1; 1 π

3; 1; 1



(0; 0; 0) Figura 2.7: Cores primárias (vermelho, verde e azul), secundárias (ciano, magenta e amarelo) e acromáticas (branco e preto) do RGB com seus respectivos nomes e pontos no

modelo HSV.

2.1.4 YO1O2

O modelo de cor YO1O2 (SANTILLAN; TEROL-VILLALOBOS; HERRERA-RUIZ, 2008) é composto por uma componente de luminância (Y) e duas componentes cromáticas (O1O2). A componente Y é dada pela combinação linear de cada componente do modelo RGB, conforme a Equação 2.9. Y = 2R + 4G + B 7  2.9 As componentes O1O2 são baseadas nas diferenças entre cores oponentes, conforme Equação 2.10. O1= R − G O2= 2B − R − G  2.10 O modelo YO1O2 foi criado para resolver alguns problemas dos modelos perceptuais, como HSI, HSV, HSL (VELHO; FRERY; GOMES, 2014) (KOSCHAN; ABIDI, 2008), dado o fato do uso do YO1O2 ocorrer no formato de luminância, saturação e matiz. Esse formato é apli-cado pelos autores para segmentação de regiões utilizando morfologia matemática GONZALEZ; WOODS (2006) e funções críticas (SANTILLAN; TEROL-VILLALOBOS; HERRERA-RUIZ, 2008).

A Figura 2.8 apresenta os pontos do modelo de cor YO1O2 para cada uma das cores expostas na Figura 2.2.

2.1.5 dRdGdB

Em alguns casos, a borda entre dois objetos só é percebida devido a composição das componentes do modelo de cor. Isso é particularmente verdade no modelo RGB. Algumas

(27)

2.2. REDES NEURAIS CONVOLUCIONAIS 26

Vermelho Verde Azul Branco

(72, 9; 255; −255) (146; −255; −255) (36, 4; 0; 510) (255; 0; 0)

Ciano Magenta Amarelo Preto

(182; −255; 255) (109; 255; 255) (219; 0; −510) (0; 0; 0)

Figura 2.8: Cores primárias (vermelho, verde e azul), secundárias (ciano, magenta e amarelo) e acromáticas (branco e preto) do RGB com seus respectivos nomes e pontos no

modelo YO1O2.

bordas não são percebidas se cada componente for observada separadamente, mas ficam claras pelas cores geradas pela combinação dessas componentes (Figura 2.9). Esse fato foi a inspiração para o modelo de cor dRdGdB (COSTA; MELLO; SANTOS, 2013) que é baseado em diferenças cromáticas. A principal ideia por trás do modelo é compor novos canais baseados nas diferenças entre as componentes do modelo RGB. Cada nova componente deve conter informação sobre as bordas que são perceptíveis na imagem RGB colorida, apenas por conta da composição das componentes. A conversão do RGB para dRdBGdB é dada pela Equação 2.11.

dR= (R − G) + (R − B) dG= (G − R) + (G − B) dB= (B − R) + (B − G)  2.11

A Figura 2.10 apresenta os pontos do modelo de cor dRdGdB para cada uma das cores expostas na Figura 2.2.

2.2 REDES NEURAIS CONVOLUCIONAIS

Na presente seção, são apresentados três modelos de Redes Neurais Convolucionais: AlexNet (KRIZHEVSKY; SUTSKEVER; HINTON, 2012), VGG (SIMONYAN; ZISSERMAN, 2015) e ResNet (HE et al., 2016). O entendimento desses modelos é essencial para a leitura do Capítulo 3 no qual são apresentadas algumas arquiteturas de detecção de bordas que usam como base esses três modelos. Esses três modelos possuem resultados notórios na ImageNet Large-Scale Visual Recognition Challenge(ILSVRC) (RUSSAKOVSKY et al., 2015), por isso, são bastante utilizados como base para resolução de diversos problemas.

A ILSVRC é uma competição anual constituída por diversas categorias como localização e classificação de objetos. A competição de classificação de objetos (utilizada, no decorrer desta seção, para expressar a qualidade dos modelos de RNC de forma quantitativa) é composta por

(28)

2.2. REDES NEURAIS CONVOLUCIONAIS 27

(a)

(b)

(c) (d) (e)

Figura 2.9: (a) Imagem BSDS500-69020 no modelo RGB; (b) parte das costas do canguru, no qual é possível ver a diferença entre a pele e a grama. Essa diferença é mais

difícil de ser percebida em cada canal de forma separada: (c) canal vermelho, (d) canal verde e (e) canal azul.

Vermelho Verde Azul Branco

(510; −255; −255) (−255; 510; −255) (−255; −255; 510) (0; 0; 0)

Ciano Magenta Amarelo Preto

(−510; 255; 255) (255; −510; 255) (255; 255; −510) (0; 0; 0)

Figura 2.10: Cores primárias (vermelho, verde e azul), secundárias (ciano, magenta e amarelo) e acromáticas (branco e preto) do RGB com seus respectivos nomes e pontos no

modelo dRdGdB.

imagens de objetos dispostos em 1.000 categorias. Duas medidas são utilizadas na competição de classificação: a porcentagem do erro, quando a RNC prediz que o objeto da imagem de entrada está contido (i) em uma lista com cinco opções de classes (TOP-5) ou (ii) em uma única opção (TOP-1). A base de imagens utilizada na ILSVRC é a ImageNet (DENG et al., 2009) que possui

(29)

2.2. REDES NEURAIS CONVOLUCIONAIS 28 mais de 15 milhões de imagens distribuídas em mais de 20.000 categorias.

Alguns conceitos chave são necessários para o entendimento da presente seção, como o uso de operações de convolução (DUMOULIN; VISIN, 2016), a utilização de diferentes valores de stride, padding (pad) e pooling (average-pool, max-pool, center-pool). O trabalho desenvolvido por ALOM et al. (2018) traz uma análise histórica sobre o tema Deep Learning, abordando diversos conceitos como: as técnicas de regularização Dropout (SRIVASTAVA et al., 2014), LRN (do inglês Local Response Normalization - Normalização da Resposta Local) (JARRETT et al., 2009), Batch Normalization (BN) (IOFFE; SZEGEDY, 2015) e funções de ativação como a Rectified Linear Unit (ReLU) (NAIR; HINTON, 2010). Convidamos o leitor a acessar essas referências já que esse detalhamento não é foco desta Dissertação.

2.2.1 AlexNet

As Redes Neurais Convolucionais (RNC) não surgiram com a Alexnet (KRIZHEVSKY; SUTSKEVER; HINTON, 2012), visto que existem trabalhos precursores como o de LECUN et al. (1998). Mas a AlexNet, conjuntamente com o crescimento tecnológico das GPUs (do inglês Graphics Processing Unit - Unidade de Processamento Gráfico), efetivamente demonstrou o poder de uma RNC com seu resultado na competição ILSVRC de 2012.

A AlexNet é uma RNC composta por cinco camadas convolucionais (conv), três total-mente conectadas (FC, do inglês Fully Connected) e uma saída do tipo Softmax com 1.000 classes, conforme mostra a Figura 2.11. A função de ativação ReLU é aplicada às saídas de cada camada convolucional e totalmente conectada. Dois métodos de regularização são utilizados: Dropout e LRN. O método LRN é aplicado às respostas das funções de ativação da primeira, segunda e quinta camadas convolucionais. Por sua vez, o método Dropout é aplicado às respostas das funções de ativação das duas primeiras camadas totalmente conectadas. Três reduções de volume ocorrem por parte do uso do operador de pooling, selecionando o valor máximo em uma janela de tamanho 3 × 3 com stride 2. O uso da operação de max-pool ocorre após o uso do método LRN, nas duas primeiras camadas convolucionais, e na saída da função de ativação da quinta camada convolucional.

Os autores da AlexNet a treinaram em duas GPUs NVIDIA GTX 580 com 3GB de memória, utilizando, como método de otimização, o gradiente descendente estocástico com momento 0,9 e um decaimento de peso de 5 × 10−4 durante 90 épocas. O tamanho do mini-batch utilizado foi de 128. A taxa de aprendizado foi inicializada com 10−2 e dividia por 10 cada vez que o erro de validação estabilizava, tendo ocorrido em três momentos. A inicialização dos pesos de cada camada ocorreu de maneira aleatória com distribuição Gaussiana com µ = 0 e σ = 10−2. Os valores dos vieses (biases) das camadas totalmente conectadas, da segunda, quarta e quinta camadas convolucionais, são inicializados com 1 e os das demais camadas com 0. Os valores dos hiperparâmetros do método de regularização LRN foram: k = 2, n = 5, α = 10−4 e β = 7, 5 × 10−2. Para o método Dropout foi utilizado o valor de 0, 5 para a probabilidade de

(30)

2.2. REDES NEURAIS CONVOLUCIONAIS 29

Figura 2.11: Modelo da RNC AlexNet conforme apresentado em KRIZHEVSKY; SUTSKEVER; HINTON (2012).

inibição da saída do neurônio.

No que diz respeito às imagens de entrada, tanto no treinamento como na avaliação, elas são pré-processadas subtraindo o valor médio da base de imagens para cada pixel de cada canal. Foi utilizado um aumento sintético de imagens ao se extrair diferentes partes (compatíveis com o tamanho de entrada da RNC) das imagens da base e aplicando translações, reflexões e alteração das intensidades dos canais da imagem RGB. Para a avaliação, cinco partes da imagem e suas respectivas reflexões horizontais são utilizadas: as que contêm as quatro quinas e uma central. O resultado é dado pela média dos valores na camada de saída.

A RNC Alexnet foi submetida à competição ILSVRC de 2012 e obteve a primeira colocação na categoria de classificação ao utilizar um conjunto de sete RNCs, alcançando um erro de 36,7% para a classificação TOP-1 e 15,4% para a TOP-5 no conjunto de validação e 15,3% para o TOP-5 no conjunto de teste.

2.2.2 VGG

Em SIMONYAN; ZISSERMAN (2015) os autores trazem um estudo relacionado à profundidade de uma RNC, analisando seis modelos chamados de VGG. O diferencial desses modelos está no uso de filtros de convolução com tamanho máximo de 3 × 3. A justificativa dos autores para uso desse tamanho máximo de filtro está no fato de uma sequência de três filtros de tamanho 3 × 3 ter a mesma efetividade que um único filtro de tamanho 7 × 7 ao enxergar a mesma área da imagem. Além disso, o uso de três funções de ativação ReLU (aplicada à resposta de cada filtro), ao invés de uma (no caso de um filtro único de tamanho 7 × 7), aumenta o poder discriminativo da RNC e requer menos parâmetros. A necessidade de menos parâmetros é comprovada ao se analisar uma sequência de três filtros de tamanho 3 × 3 com profundidade C tanto para entrada como para saída (3 × [32C2] = 27C2parâmetros). Em contrapartida, um filtro de tamanho 7 × 7, com a mesma profundidade C de entrada e saída, possui 49C2 parâmetros ([72C2] = 49C2).

(31)

2.2. REDES NEURAIS CONVOLUCIONAIS 30 convolucionais o formato conv{tamanho do filtro}-{número de saídas} e evidenciado, em negrito, a diferença relativa ao modelo anterior. Todas as camadas convolucionais operam com stride 1 e as que possuem filtro de tamanho 3 × 3 realizam um pad de tamanho 1 com o objetivo de manter igual o tamanho da entrada e da saída. O método de regularização Dropout é aplicado às respostas das funções de ativação das duas primeiras camadas totalmente conectadas (FC).

Tabela 2.1: Variações no modelo da RNC VGG.

A A-LRN B C D E

11 Camadas 11 Camadas 13 Camadas 16 Camadas 16 Camadas 19 Camadas Imagem (224 224 RGB)

conv3-64 conv3-64 conv3-64 conv3-64 conv3-64 conv3-64

LRN conv3-64 conv3-64 conv3-64 conv3-64

max-pool- 2 × 2 com stride 2

conv3-128 conv3-128 conv3-128 conv3-128 conv3-128 conv3-128

conv3-128 conv3-128 conv3-128 conv3-128

max-pool- 2 × 2 com stride 2

conv3-256 conv3-256 conv3-256 conv3-256 conv3-256 conv3-256

conv3-256 conv3-256 conv3-256 conv3-256 conv3-256 conv3-256

conv1-256 conv3-256 conv3-256

conv3-256 max-pool- 2 × 2 com stride 2

conv3-512 conv3-512 conv3-512 conv3-512 conv3-512 conv3-512

conv3-512 conv3-512 conv3-512 conv3-512 conv3-512 conv3-512

conv1-512 conv3-512 conv3-512

conv3-256 max-pool- 2 × 2 com stride 2

conv3-512 conv3-512 conv3-512 conv3-512 conv3-512 conv3-512

conv3-512 conv3-512 conv3-512 conv3-512 conv3-512 conv3-512

conv1-512 conv3-512 conv3-512

conv3-512 max-pool- 2 × 2 com stride 2

FC - 4096 FC - 4096 FC - 1000 Softmax- 1000

Os modelos da VGG foram treinados em um sistema com 4 GPU NVIDIA Titan Black, utilizando, como método de otimização, o gradiente descendente estocástico com momento 0,9 e um decaimento de peso de 5 × 10−4durante 74 épocas. O tamanho do mini-batch utilizado foi de 256. A taxa de aprendizado foi inicializada com 10−2 e dividia por 10 cada vez que o erro de validação estabilizava, tendo ocorrido em três momentos. A inicialização dos pesos ocorreu de maneira totalmente aleatória para modelo A (Tabela 2.1), os demais modelos tinham as quatro primeiras camadas convolucionais e as camadas totalmente conectadas inicializadas com os pesos aprendidos no modelo A, com as demais camadas sendo inicializadas aleatoriamente. Para os pesos das camadas que foram inicializadas aleatoriamente foi utilizado uma distribuição

(32)

2.2. REDES NEURAIS CONVOLUCIONAIS 31 Gaussiana com µ = 0 e σ = 10−2. Os vieses (biases) foram inicializados com 0. Para o método de regularização Dropout foi utilizado o valor de 0, 5 para a probabilidade de inibição da saída do neurônio.

No que diz respeito às imagens de entrada, tanto no treinamento como na avaliação, elas são pré-processadas subtraindo o valor médio de cada canal do RGB (o valor médio do canal R para todas as imagens da base, sendo da mesma forma para o canal G e B). O aumento sintético de imagens segue princípios semelhantes ao da AlexNet, tendo como principal diferença a alteração da dimensão da imagem, de forma aleatória, no intervalo [256, 512]. Para avaliação, além do espelhamento das imagens, conforme a AlexNet, são utilizadas três escalas da imagem. O resultado é dado pela média dos valores na camada de saída.

A RNC VGG foi submetida à competição ILSVRC de 2014 e obteve a segunda colocação na categoria de classificação ao utilizar um conjunto de sete RNCs (três do tipo D, duas do tipo C e duas to tipo E), alcançando um erro de 24,7% para o TOP-1 e 7,5% para o TOP-5 no conjunto de validação 7,3% para o TOP-5 no conjunto de teste. A VGG também obteve a primeira colocação na categoria de localização.

2.2.3 ResNet

Em HE et al. (2016) os autores propõem cinco modelos de RNC, chamados de ResNet, e avaliam seu desempenho, analisando sua profundidade, comparando quando se é, ou não, utilizado o aprendizado residual. O aprendizado residual é exemplificado no diagrama da Figura 2.12b, no qual, ao invés de fazer um conjunto de camadas convolucionais aprender diretamente a função H(x) (Figura 2.12a), faz-se o conjunto de camadas convolucionais aprender a função H(x) − x = F(x). O caso geral para essa abordagem é exemplificado pela Figura 2.12c, tendo H(x) − W x = F(x) e W x uma projeção linear de x. Na prática, W x só é utilizado quando há mudança na profundidade ou no tamanho (divisão por 2 da altura e largura) de F(x) em relação a x. A implementação de W x ocorre com o uso de uma camada convolucional um filtro de tamanho 1 × 1 e stride 2 para o caso de mudança nas dimensões.

Conv Conv ReLU 𝑥 𝐻 𝑥 (a) Conv Conv ReLU 𝑥 𝐹 𝑥 + 𝑥 𝐹 𝑥 (b) Conv Conv ReLU 𝑥 𝑊𝑥 𝐹 𝑥 + 𝑊𝑥 𝐹 𝑥 (c) Figura 2.12: Diagrama do aprendizado residual.

(33)

2.2. REDES NEURAIS CONVOLUCIONAIS 32 (ResNet50), 100 (ResNet) e 151 (ResNet152) camadas convolucionais, apenas uma camada totalmente conectada (FC) e uma saída do tipo Softmax com 1.000 classes. Cada um dos modelos possui cinco agrupamentos lógicos de camadas convolucionais, sendo o primeiro agrupamento igual para todos os modelos e contendo apenas uma camada convolucional com 64 filtros de tamanho 7 × 7, stride 2 e pad 3. Os demais agrupamentos possuem quantidades variadas de camadas convolucionais para cada modelo. As saídas de cada camada convolucional passam pelo processo de Batch Normalization (BN) para regularização dos dados. A função de ativação ReLU é aplicada apenas nas saídas de cada agrupamento (última camada convolucional do agrupamento). Em todos os modelos só existem duas operações de pooling: uma selecionando o valor máximo em uma janela de tamanho 3 × 3 com stride 2, localizada após o primeiro agrupamento lógico, e outra selecionando a média dos valores em uma janela de tamanho 7 × 7 com stride 1 localizada antes da camada totalmente conectada. As demais reduções de volume são realizadas por camadas convolucionais com stride 2 dividindo pela metade as dimensões da entrada.

Na Figura 2.13, é exibido um resumo do modelo ResNet18, tendo cada agrupamento lógico uma cor diferente e omitindo algumas operações como a aplicação do BN, aplicação da função de ativação ReLU e a soma explícita dos valores de x ou W x. Um resumo de cada variação da ResNet pode ser visualizado na Tabela 2.2. Cada matriz contendo duas ou três camadas convolucionais deve ser interpretado como um bloco de camadas convolucionais que apresenta o aprendizado residual. O multiplicador "x A"de cada matriz dita a quantidade de repetições sequenciais desses blocos.

Tabela 2.2: Variações no modelo da RNC ResNet.

Grupo Saída 18 camadas 34 camadas 50 camadas 101 camadas 152 camadas

Imagem 224 × 244

conv1 112 ×

112 7 × 7, stride 2, pad 3

conv2_x 56 × 56 3 × 3 max-pool, stride 2

3 × 3, 64 3 × 3, 64  × 2 3 × 3, 64 3 × 3, 64  × 3   1 × 1, 64 3 × 3, 64 1 × 1, 256  × 3   1 × 1, 64 3 × 3, 64 1 × 1, 256  × 3   1 × 1, 64 3 × 3, 64 1 × 1, 256  × 3 conv3_x 28 × 28 3 × 3, 1283 × 3, 128  × 2 3 × 3, 128 3 × 3, 128  × 4   1 × 1, 128 3 × 3, 128 1 × 1, 512  × 4   1 × 1, 128 3 × 3, 128 1 × 1, 512  × 4   1 × 1, 128 3 × 3, 128 1 × 1, 512  × 8 conv4_x 14 × 14 3 × 3, 2563 × 3, 256  × 2 3 × 3, 256 3 × 3, 256  × 6   1 × 1, 256 3 × 3, 256 1 × 1, 1024  × 6   1 × 1, 256 3 × 3, 256 1 × 1, 1024  × 23   1 × 1, 256 3 × 3, 256 1 × 1, 1024  × 36 conv5_x 7 × 7 3 × 3, 5123 × 3, 512  × 2 3 × 3, 512 3 × 3, 512  × 3   1 × 1, 512 3 × 3, 512 1 × 1, 2048  × 3   1 × 1, 512 3 × 3, 512 1 × 1, 2048  × 3   1 × 1, 512 3 × 3, 512 1 × 1, 2048  × 3 1 × 1 7 × 7 average-pool, stride 1 FC 1000 Softmax1000

Os modelos da ResNet foram treinados, utilizando o método de otimização do gradiente descendente estocástico com momento 0,9 e um decaimento de peso de 10−4durante 6 × 105

(34)

2.2. REDES NEURAIS CONVOLUCIONAIS 33

conv_1_1 – 7 x 7; 64; 2; 3

max-pool – 3 x 3; 2; 0

conv_2_1 – 3 x 3; 64; 1; 1

conv_2_2 – 3 x 3; 64; 1; 1

conv_2_3 – 3 x 3; 64; 1; 1

conv_2_4 – 3 x 3; 64; 1; 1

conv_3_1 – 3 x 3; 128; 2; 1

conv_3_2 – 3 x 3; 128; 1; 1

conv_3_3 – 3 x 3; 128; 1; 1

conv_3_4 – 3 x 3; 128; 1; 1

conv_4_1 – 3 x 3; 256; 2; 1

conv_4_2 – 3 x 3; 256; 1; 1

conv_4_3 – 3 x 3; 256; 1; 1

conv_4_4 – 3 x 3; 256; 1; 1

conv_5_1 – 3 x 3; 512; 2; 1

conv_5_2 – 3 x 3; 512; 1; 1

conv_5_3 – 3 x 3; 512; 1; 1

Imagem (224 x 224)

conv_5_4 – 3 x 3; 512; 1; 1

average-pool – 7 x 7; 1; 0

FC 1000

softmax - 1000

conv – 1 x 1; 64; 1; 0

conv – 1 x 1; 128; 2; 0

conv – 1 x 1; 256; 2; 0

conv – 1 x 1; 512; 2; 0

Conv_X_Y – H x W; A saídas; stride B; pad C

Legenda:

Figura 2.13: Modelo da RNC ResNet de 18 camadas.

iterações. O tamanho do mini-batch utilizando foi de 256. A taxa de aprendizado foi inicializada com 0,1 e dividida por 10 a cada vez que o erro de validação estabilizava. A inicialização dos pesos ocorreu com o método desenvolvido por HE et al. (2015). No que diz respeito às imagens de entrada, o pré-processamento é o mesmo realizado na AlexNet (subtração pelo valor médio da

(35)

2.3. CONCLUSÃO 34 base de imagens para cada pixel de cada canal). O aumento sintético das imagens de treinamento segue o mesmo formato da VGG de mudança de dimensão para um valor aleatório contido no intervalo [256, 480]. A imagem é cortada para o tamanho de entrada, podendo ser espelhada. Para avaliação, foi utilizada a mesma abordagem da Alexnet, usando cinco partes da imagem (as que contêm as quatro quinas e a área central) e suas respectivas reflexões. Além disso, as imagens sofrem uma mudança de dimensão para 224, 256, 384, 480 e 640. O resultado final é dado pela média dos valores de saída.

A RNC ResNet foi submetida a competição ILSVRC de 2015 e obteve a primeira colocação em todas as categorias da competição ao utilizar um conjunto de seis modelos: dois da ResNet152 e um para cada uma das demais variações (ResNet18, ResNet34, ResNet50 e ResNet101). O erro alcançado pelo conjunto foi de 3,57% para o TOP-5 no conjunto de teste. O uso de uma única ResNet152 (4,49% para o TOP-5 no conjunto de validação) já se mostrou superior a RNCs como a AlexNet e VGG.

2.3 CONCLUSÃO

O presente capítulo abordou dois temas básicos para o entendimento da dissertação: o conjunto de seis modelos de cor, utilizados no decorrer da dissertação para realização da análise proposta, e três modelos Redes Neurais Convolucionais utilizadas como modelo base para as arquiteturas de detecção de bordas descritas no próximo capítulo.

A explanação dos modelos de cor RGB, LAB, LUV, HSV, YO1O2 e dRdGdB visam expor as principais características de cada modelo, bem como a obtenção de cada um, tendo como origem o modelo RGB. Dessa forma, espera-se que seja possível avaliar os resultados da análise proposta por essa dissertação considerando as características de cada modelo de cor.

Em relação aos modelos de Redes Neurais Convolucionais abordados no presente capí-tulo, embora existam outros modelos, a explanação da AlexNet, VGG e ResNet visa possibilitar o melhor entendimento do capítulo que aborda as arquiteturas de detecção de bordas baseadas em Redes Neurais Convolucionais (Capítulo 3), uma vez que cada uma dessas arquiteturas tem como base um dos três modelos abordados nesse capítulo.

(36)

35 35 35

3

ESTADO DA ARTE

O presente capítulo apresenta as principais arquiteturas que utilizam, de alguma forma, redes neurais convolucionais (RNC) com o objetivo de realizar a detecção automática de bordas. No total, sete arquiteturas são apresentas: N4-Fields, DeepEdge, Pixel-wise Contour (Pixel-wise Deep Learning for Contour Detection), DeepContour, HED (Holistically-Nested Edge Detection), CEDN (Convolutional Encoder Decoder Network) e COB (Convolutional Oriented Boundaries).

3.1 N

4

-FIELDS

A arquitetura N4-Fields (GANIN; LEMPITSKY, 2015) foi proposta com a motivação de detectar bordas utilizando duas técnicas bastante conhecidas: Redes Neurais Convolucionais (RNC) e Vizinho mais Próximo, técnicas que originaram o nome da arquitetura (Convolucional Neural Networks e Nearest Neighbor - N4).

A N4-Fields pode ser dividida em três grandes etapas. Na primeira etapa, partes da imagem são fornecidas como entrada para a RNC, gerando como saída um vetor de características n-dimensional. Com o uso da técnica do vizinho mais próximo, na segunda etapa, busca-se o vetor de característica que mais se assemelha, dentro do conjunto de treinamento, ao vetor n-dimensional extraído na primeira etapa. Essa busca visa associar uma parte da imagem de entrada a uma parte do mapa de bordas. O valor de um pixel no resultado final, obtido na terceira etapa, é dado pela média dos mapas de bordas da sobreposição de partes da imagem de entrada que contém o pixel em questão.

3.1.1 Arquitetura

Dada uma imagem, a primeira etapa da arquitetura N4-Fields visa, através do uso de uma RNC, mapear uma parte P da imagem em uma representação intermediária f (A(P)), no qual A(P) é o mapa de bordas desejado para a região central de P e f é uma função aplicada a esse mapa de bordas. Dessa forma, o uso da RNC é descrito pela expressão:

RNC(P) = f (A(P)) . 3.1

Dado o conjunto de treinamento {(RNC(Pi); A(Pi))|i = 1, ..., T }, a segunda etapa da arquitetura N4-Fields é caracterizada pelo uso do algoritmo do Vizinho mais Próximo – NN (do inglês Nearest Neighbor) – para buscar, no conjunto de treinamento, o mapa de bordas A(Pk) tal que k = argminTi=1kRNC(Pi) − RNC(P)k. Dessa forma, a segunda etapa é descrita pela expressão:

(37)

3.1. N4-FIELDS 36

F(P) = A(Pk) = NN(RNC(P)|{(RNC(Pi); A(Pi))|i = 1, ..., T }) .



3.2 Por fim, na terceira etapa, ocorre a determinação do valor final de um pixel no mapa de bordas resultante. Dada uma parte P da imagem de tamanho M × M, existe uma janela de tamanho N × N (N < M) que contém o pixel (x, y), alvo da detecção de borda. O valor do pixel (x, y) no mapa de bordas resultante é dado pela média dos N2mapeamentos F (conforme Equação 3.2) que contêm o pixel (x, y) conforme:

F(I)[x, y] = 1

N2

i, j:|i−x|≤N/2 | j−y|≤N/2

F(I(i, j|M))[x − i, y − j] . 3.3

A transformação F(I)[x,y] representa o valor final no mapa de bordas para o pixel (x, y) da imagem I, I(i, j|M) representa uma parte P da imagem I centrada em (i, j), de tamanho M× M, e F(I(i, j|M))[x − i, y − j] representa um pixel do resultado da transformação F no qual (x − i, y − j) assume o papel de pixel central.

3.1.2 Detalhes de Implementação

A RNC utilizada na arquitetura N4-Fields é uma modificação do framework desenvolvido por Alex Krizhevsky1, conforme Figura 3.1.

conv 7 x 7 (norma L2) 96 saídas ReLu max-pool 2 x 2 conv 5 x 5 128 saídas ReLu max-pool 2 x 2 conv 5 x 5 256 saídas ReLu FC 768 saídas ReLu Dropout FC 768 saídas ReLu Dropout FC 16 saídas ReLu

Figura 3.1: Modelo da RNC utilizada na arquitetura N4-Fields.

O treinamento da RNC é supervisionado e visa o aprendizado da função f sobre o mapa de bordas A(P) (Equação 3.1). Ao utilizar pedaços da imagem de tamanho 34 × 34 (M = 34) e 16 × 16 (N = 16) a função f tem principalmente o papel de diminuição da dimensionalidade sem perda da representatividade, de modo que a aplicação de f , na arquitetura N4-Fields, resulta em um vetor de dimensionalidade 16.

Duas abordagens são utilizadas para a função f . Na primeira abordagem, f é a aplicação direta da técnica PCA (do inglês Principal Component Analysis) sobre o mapa de bordas de parte da imagem (PCA(A(P))). Na segunda abordagem, f é a aplicação da técnica PCA sobre a representação X (A(P)) = (v1, v2, ..., vL), no qual L = N

2

2 e vié definido como a relação entre o i-ésimo par de pixels (pl, pm), assumindo valor 1 quando A(P)[pl] = A(P)[pm] ou 0 caso contrário.

No que diz respeito aos parâmetros de treinamento, a inicialização dos pesos é realizada aleatoriamente com o uso da distribuição Gaussiana com µ = 0 e σ = 10−2. O Algoritmo

(38)

3.2. DEEPEDGE 37 utilizado no treinamento é o gradiente descendente estocástico com valor de momento igual a 0, 9. A taxa de aprendizado inicial é de η = 10−3. Duas técnicas de regularização são utilizadas, dropout (SRIVASTAVA et al., 2014) nas duas primeiras camadas totalmente conectadas e a norma L2 nos filtros da primeira camada.

3.1.3 Resultados

Os testes da arquitetura N4-Fields foram realizados com o uso de um comitê composto por três RNCs em três escaladas de imagens (escala original, metade e o dobro) sobre as bases de imagens: BSDS500 (ARBELAEZ et al., 2011), NYU-RGBD (SILBERMAN; FERGUS, 2011) e DRIVE (STAAL et al., 2004).

Para a avaliação da arquitetura N4-Fields sobre a base BSDS500 (Tabela 3.1a - valores relatados pelos autores em GANIN; LEMPITSKY (2015)), foi utilizado o Berkeley Segmentation Data Set and Benchmarks(BSDS), benchmark da própria base de imagens. O benchmark é detalhado na Seção 4.2 e a base BSDS500 é detalhada na Seção 4.3.1.

Os resultados da avaliação da arquitetura N4-Fields sobre a base NYU-RGBD (Tabela 3.1b - valores relatados pelos autores em GANIN; LEMPITSKY (2015)) também foram obtidos com uso do Berkeley Segmentation Data Set and Benchmarks (BSDS). A base NYU-RGBD é composta por 1.449 imagens coloridas de cenas de interiores com o diferencial de conter uma quarta componente (D) que provê a informação de profundidade na cena.

Tabela 3.1: Avaliação da arquitetura N4-Fields sobre as bases BSDS500 e NYU-RGBD.

N4-Fields ODS OIS AP

f = PCA(A(P)) 0,75 0,76 0,77

f = PCA(X (A(P))) 0,75 0,77 0,78

(a) BSDS500

N4-Fields ODS OIS AP

f = PCA(A(P)) 0,61 0,62 0,56

f = PCA(X (A(P))) 0,63 0,64 0,58

(b) NYU RGBD

Os resultados mostram melhor representatividade de f quando utilizado a abordagem PCA(X (A(P))), sendo maior evidenciado nos resultados sobre a base NYU-RGBD.

A base DRIVE é composta por 40 imagens coloridas de tamanho 768 × 584 pixels de retinas humanas. Cada imagem possui um mapa dos vasos sanguíneos segmentados manualmente. O teste da arquitetura N4-Fields sobre a base DRIVE consistiu em extrair a área sob a curva Precision-Recall, alcançando o valor, relatado pelos autores em GANIN; LEMPITSKY (2015), de 0,89.

3.2 DEEPEDGE

A arquitetura DeepEdge (BERTASIUS; SHI; TORRESANI, 2015) foi concebida com o objetivo de tratar a detecção de bordas, no nível de pixel, como um problema de regressão e classificação. Partes da imagem em diferentes escalas servem como entrada de uma RNC para

(39)

3.2. DEEPEDGE 38 extração hierárquica de vetores de características. Esses vetores são submetidos a um processo de mudança de dimensionalidade e por fim são fornecidos como entrada para duas redes distintas do tipo totalmente conectadas, uma com papel de regressão e outra com o papel de classificação.

3.2.1 Arquitetura

O primeiro passo da arquitetura DeepEdge consiste em aplicar o algoritmo de Canny (CANNY, 1986) para determinar pontos candidatos a borda. Para cada ponto candidato, são extraídas K partes da imagem com tamanhos distintos tendo como ponto central o próprio ponto candidato. As K partes da imagem, de um determinado ponto candidato, são redimensionadas (227 × 227) e submetidas, de forma paralela, à entrada de uma RNC. O alvo do processo de detecção de bordas, na arquitetura DeepEdge, é o pixel central de cada parte.

No decorrer da explanação da arquitetura DeepEdge, é considerado o uso de K = 1 para facilitar o entendimento. O uso de K > 1 acarreta em um aumento dimensional igual a K nos volumes dos vetores.

O papel da RNC sobre as partes da imagem é, primeiramente, o de extração hierárquica de características. Para esse fim, a RNC é inicialmente constituída pelas camadas convolucionais da RNC AlexNet (KRIZHEVSKY; SUTSKEVER; HINTON, 2012). A saída de cada camada convolucional gera um vetor de características tridimensional: Conv1 (55 × 55 × 96), Conv2 (27 × 27 × 256), Conv3 (13 × 13 × 384), Conv4 (13 × 13 × 384) e Conv5 (6 × 6 × 256).

Após o processo de extração de características, ocorre uma redução no volume dos vetores através da seleção de um sub-volume concêntrico ao volume original (coluna Sub-volume da Tabela 3.2). Com os Sub-volumes reduzidos, os vetores de características são submetidos a três processos de pooling: max, average e center pooling. O resultado são cinco vetores de dimensão 1 × 1 × F × 3, no qual F (terceira coluna da Tabela 3.2) é o valor original da terceira dimensão de cada vetor.

Tabela 3.2: Dimensão dos vetores de características extraídos na arquitetura DeepEdge com as respectivas reduções de volume quando considerado apenas uma parte da imagem

como entrada.

Camada Volume de saída Sub-volume F

Conv1 55 × 55 × 96 7 × 7 × 96 96

Conv2 27 × 27 × 256 5 × 5 × 256 256

Conv3 13 × 13 × 384 3 × 3 × 384 384

Conv4 13 × 13 × 384 3 × 3 × 384 384

Conv5 6 × 6 × 256 3 × 3 × 256 256

Por fim, os cinco vetores de características são a entrada para duas sub-redes distintas. Ambas as sub-redes são constituídas por três camadas totalmente conectadas: a primeira com 1.024 neurônios, a segunda com 512 e a camada de saída com apenas um neurônio. Cada sub-rede é treinada com papéis distintos: regressão e classificação. A sub-rede com o papel

Referências

Documentos relacionados

Os Oficiais de Registro Civil das Pessoas Na- turais do Estado de São Paulo também têm competência para os atos notariais de reconhecimento de firma, autenticação de cópia

hospitalizados, ou de lactantes que queiram solicitar tratamento especial deverão enviar a solicitação pelo Fale Conosco, no site da FACINE , até 72 horas antes da realização

Em 1979, o Centro Nacional de Referências Culturais, sob a denominação de Fundação Pró-Memória, se fundiu com o Instituto do Patrimônio Histórico e Artístico Nacional,

O efetivo pagamento da(s) RECEITA(S) FIXA(S) estará condicionado ao início da operação comercial da(s) USINA(S), devendo os recursos financeiros associados a este

Considerando a importância do assunto, a variabilidade existente nas características físicas e a ausência de dados na literatura especializada referente a

forficata recém-colhidas foram tratadas com escarificação mecânica, imersão em ácido sulfúrico concentrado durante 5 e 10 minutos, sementes armazenadas na geladeira (3 ± 1

O Conselho Federal de Psicologia (CFP) apresenta à categoria e à sociedade em geral o documento de Referências Técnicas para a Prática de Psicólogas(os) em Programas de atenção

Essa modalidade consiste em um “estudo profundo e exaustivo de um ou de poucos objetos, com contornos claramente definidos, permitindo seu amplo e detalhado